claude-all-hands 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1561) hide show
  1. package/.claude/agents/code-simplifier.md +52 -0
  2. package/.claude/agents/curator.md +195 -117
  3. package/.claude/agents/documentor.md +147 -0
  4. package/.claude/agents/planner.md +127 -125
  5. package/.claude/agents/researcher.md +59 -32
  6. package/.claude/agents/surveyor.md +81 -0
  7. package/.claude/agents/worker.md +74 -0
  8. package/.claude/commands/audit-docs.md +94 -0
  9. package/.claude/commands/continue.md +120 -0
  10. package/.claude/commands/create-docs.md +100 -0
  11. package/.claude/commands/create-skill.md +107 -0
  12. package/.claude/commands/create-specialist.md +111 -0
  13. package/.claude/commands/curator-audit.md +4 -0
  14. package/.claude/commands/debug.md +183 -0
  15. package/.claude/commands/plan.md +209 -61
  16. package/.claude/commands/validate.md +11 -0
  17. package/.claude/commands/whats-next.md +119 -0
  18. package/.claude/envoy/envoy +11 -14
  19. package/.claude/envoy/package-lock.json +1388 -0
  20. package/.claude/envoy/package.json +29 -0
  21. package/.claude/envoy/src/cli.ts +126 -0
  22. package/.claude/envoy/src/commands/base.ts +216 -0
  23. package/.claude/envoy/src/commands/gemini.ts +999 -0
  24. package/.claude/envoy/src/commands/git.ts +639 -0
  25. package/.claude/envoy/src/commands/index.ts +73 -0
  26. package/.claude/envoy/src/commands/knowledge.ts +187 -0
  27. package/.claude/envoy/src/commands/perplexity.ts +129 -0
  28. package/.claude/envoy/src/commands/plan/core.ts +134 -0
  29. package/.claude/envoy/src/commands/plan/findings.ts +446 -0
  30. package/.claude/envoy/src/commands/plan/gates.ts +672 -0
  31. package/.claude/envoy/src/commands/plan/index.ts +135 -0
  32. package/.claude/envoy/src/commands/plan/lifecycle.ts +648 -0
  33. package/.claude/envoy/src/commands/plan/plan-file.ts +138 -0
  34. package/.claude/envoy/src/commands/plan/prompts.ts +285 -0
  35. package/.claude/envoy/src/commands/plan/protocols.ts +166 -0
  36. package/.claude/envoy/src/commands/repomix.ts +99 -0
  37. package/.claude/envoy/src/commands/tavily.ts +220 -0
  38. package/.claude/envoy/src/commands/xai.ts +168 -0
  39. package/.claude/envoy/src/lib/design.ts +41 -0
  40. package/.claude/envoy/src/lib/feedback-schemas.ts +154 -0
  41. package/.claude/envoy/src/lib/findings.ts +215 -0
  42. package/.claude/envoy/src/lib/gates.ts +572 -0
  43. package/.claude/envoy/src/lib/git.ts +132 -0
  44. package/.claude/envoy/src/lib/index.ts +188 -0
  45. package/.claude/envoy/src/lib/knowledge.ts +594 -0
  46. package/.claude/envoy/src/lib/markdown.ts +75 -0
  47. package/.claude/envoy/src/lib/observability.ts +262 -0
  48. package/.claude/envoy/src/lib/paths.ts +130 -0
  49. package/.claude/envoy/src/lib/plan-io.ts +117 -0
  50. package/.claude/envoy/src/lib/prompts.ts +231 -0
  51. package/.claude/envoy/src/lib/protocols.ts +314 -0
  52. package/.claude/envoy/src/lib/repomix.ts +133 -0
  53. package/.claude/envoy/src/lib/retry.ts +138 -0
  54. package/.claude/envoy/src/lib/watcher.ts +167 -0
  55. package/.claude/envoy/tsconfig.json +21 -0
  56. package/.claude/hooks/scripts/scan_agents.py +62 -0
  57. package/.claude/hooks/scripts/scan_commands.py +50 -0
  58. package/.claude/hooks/scripts/scan_skills.py +46 -70
  59. package/.claude/hooks/scripts/validate_artifacts.py +128 -0
  60. package/.claude/hooks/startup.sh +26 -24
  61. package/.claude/protocols/bug-discovery.yaml +55 -0
  62. package/.claude/protocols/debugging.yaml +51 -0
  63. package/.claude/protocols/discovery.yaml +53 -0
  64. package/.claude/protocols/implementation.yaml +84 -0
  65. package/.claude/settings.json +37 -97
  66. package/.claude/skills/brainstorming/SKILL.md +54 -0
  67. package/.claude/skills/claude-code-patterns/SKILL.md +24 -11
  68. package/.claude/skills/commands-development/SKILL.md +630 -0
  69. package/.claude/skills/commands-development/references/arguments.md +252 -0
  70. package/.claude/skills/commands-development/references/patterns.md +796 -0
  71. package/.claude/skills/commands-development/references/tool-restrictions.md +376 -0
  72. package/.claude/skills/discovery-mode/SKILL.md +108 -0
  73. package/.claude/skills/git-ops/SKILL.md +48 -18
  74. package/.claude/skills/hooks-development/SKILL.md +332 -0
  75. package/.claude/skills/hooks-development/references/command-vs-prompt.md +269 -0
  76. package/.claude/skills/hooks-development/references/examples.md +658 -0
  77. package/.claude/skills/hooks-development/references/hook-types.md +463 -0
  78. package/.claude/skills/hooks-development/references/input-output-schemas.md +469 -0
  79. package/.claude/skills/hooks-development/references/matchers.md +470 -0
  80. package/.claude/skills/hooks-development/references/troubleshooting.md +587 -0
  81. package/.claude/skills/implementation-mode/SKILL.md +171 -0
  82. package/.claude/skills/orchestration-idols/SKILL.md +45 -27
  83. package/.claude/skills/research-tools/SKILL.md +68 -88
  84. package/.claude/skills/skills-development/SKILL.md +192 -0
  85. package/.claude/skills/skills-development/references/api-security.md +226 -0
  86. package/.claude/skills/skills-development/references/be-clear-and-direct.md +531 -0
  87. package/.claude/skills/skills-development/references/common-patterns.md +595 -0
  88. package/.claude/skills/skills-development/references/core-principles.md +437 -0
  89. package/.claude/skills/skills-development/references/executable-code.md +175 -0
  90. package/.claude/skills/skills-development/references/iteration-and-testing.md +474 -0
  91. package/.claude/skills/skills-development/references/recommended-structure.md +168 -0
  92. package/.claude/skills/skills-development/references/skill-structure.md +372 -0
  93. package/.claude/skills/skills-development/references/use-xml-tags.md +466 -0
  94. package/.claude/skills/skills-development/references/using-scripts.md +113 -0
  95. package/.claude/skills/skills-development/references/using-templates.md +112 -0
  96. package/.claude/skills/skills-development/references/workflows-and-validation.md +510 -0
  97. package/.claude/skills/skills-development/templates/router-skill.md +73 -0
  98. package/.claude/skills/skills-development/templates/simple-skill.md +33 -0
  99. package/.claude/skills/skills-development/workflows/add-reference.md +96 -0
  100. package/.claude/skills/skills-development/workflows/add-script.md +93 -0
  101. package/.claude/skills/skills-development/workflows/add-template.md +74 -0
  102. package/.claude/skills/skills-development/workflows/add-workflow.md +120 -0
  103. package/.claude/skills/skills-development/workflows/audit-skill.md +138 -0
  104. package/.claude/skills/skills-development/workflows/create-domain-expertise-skill.md +605 -0
  105. package/.claude/skills/skills-development/workflows/create-new-skill.md +191 -0
  106. package/.claude/skills/skills-development/workflows/get-guidance.md +121 -0
  107. package/.claude/skills/skills-development/workflows/upgrade-to-router.md +161 -0
  108. package/.claude/skills/skills-development/workflows/verify-skill.md +204 -0
  109. package/.claude/skills/subagents-development/SKILL.md +325 -0
  110. package/.claude/skills/subagents-development/references/context-management.md +567 -0
  111. package/.claude/skills/subagents-development/references/debugging-agents.md +714 -0
  112. package/.claude/skills/subagents-development/references/error-handling-and-recovery.md +502 -0
  113. package/.claude/skills/subagents-development/references/evaluation-and-testing.md +374 -0
  114. package/.claude/skills/subagents-development/references/orchestration-patterns.md +591 -0
  115. package/.claude/skills/subagents-development/references/subagents.md +508 -0
  116. package/.claude/skills/subagents-development/references/writing-subagent-prompts.md +517 -0
  117. package/.claude/statusline.sh +24 -0
  118. package/bin/cli.js +131 -108
  119. package/package.json +5 -1
  120. package/.claude/agents/explorer.md +0 -70
  121. package/.claude/agents/parallel-worker.md +0 -104
  122. package/.claude/commands/curation-fix.md +0 -68
  123. package/.claude/commands/new-branch.md +0 -11
  124. package/.claude/commands/parallel-discovery.md +0 -51
  125. package/.claude/commands/parallel-orchestration.md +0 -81
  126. package/.claude/commands/plan-checkpoint.md +0 -12
  127. package/.claude/envoy/.venv/.requirements.txt +0 -2
  128. package/.claude/envoy/.venv/bin/Activate.ps1 +0 -241
  129. package/.claude/envoy/.venv/bin/activate +0 -66
  130. package/.claude/envoy/.venv/bin/activate.csh +0 -25
  131. package/.claude/envoy/.venv/bin/activate.fish +0 -64
  132. package/.claude/envoy/.venv/bin/httpx +0 -8
  133. package/.claude/envoy/.venv/bin/normalizer +0 -8
  134. package/.claude/envoy/.venv/bin/pip +0 -8
  135. package/.claude/envoy/.venv/bin/pip3 +0 -8
  136. package/.claude/envoy/.venv/bin/pip3.9 +0 -8
  137. package/.claude/envoy/.venv/bin/pyrsa-decrypt +0 -8
  138. package/.claude/envoy/.venv/bin/pyrsa-encrypt +0 -8
  139. package/.claude/envoy/.venv/bin/pyrsa-keygen +0 -8
  140. package/.claude/envoy/.venv/bin/pyrsa-priv2pub +0 -8
  141. package/.claude/envoy/.venv/bin/pyrsa-sign +0 -8
  142. package/.claude/envoy/.venv/bin/pyrsa-verify +0 -8
  143. package/.claude/envoy/.venv/bin/websockets +0 -8
  144. package/.claude/envoy/.venv/lib/python3.9/site-packages/_distutils_hack/__init__.py +0 -128
  145. package/.claude/envoy/.venv/lib/python3.9/site-packages/_distutils_hack/override.py +0 -1
  146. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types/__init__.py +0 -432
  147. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types/test_cases.py +0 -151
  148. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types-0.7.0.dist-info/INSTALLER +0 -1
  149. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types-0.7.0.dist-info/METADATA +0 -295
  150. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types-0.7.0.dist-info/RECORD +0 -10
  151. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types-0.7.0.dist-info/WHEEL +0 -4
  152. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types-0.7.0.dist-info/licenses/LICENSE +0 -21
  153. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/__init__.py +0 -111
  154. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_backends/__init__.py +0 -0
  155. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_backends/_asyncio.py +0 -3007
  156. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_backends/_trio.py +0 -1384
  157. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/__init__.py +0 -0
  158. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_asyncio_selector_thread.py +0 -167
  159. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_contextmanagers.py +0 -200
  160. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_eventloop.py +0 -229
  161. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_exceptions.py +0 -153
  162. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_fileio.py +0 -797
  163. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_resources.py +0 -18
  164. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_signals.py +0 -27
  165. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_sockets.py +0 -991
  166. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_streams.py +0 -52
  167. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_subprocesses.py +0 -202
  168. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_synchronization.py +0 -753
  169. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_tasks.py +0 -163
  170. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_tempfile.py +0 -616
  171. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_testing.py +0 -78
  172. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_typedattr.py +0 -81
  173. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/__init__.py +0 -58
  174. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/_eventloop.py +0 -420
  175. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/_resources.py +0 -33
  176. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/_sockets.py +0 -405
  177. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/_streams.py +0 -239
  178. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/_subprocesses.py +0 -79
  179. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/_tasks.py +0 -117
  180. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/_testing.py +0 -65
  181. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/from_thread.py +0 -570
  182. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/functools.py +0 -347
  183. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/lowlevel.py +0 -195
  184. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/py.typed +0 -0
  185. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/pytest_plugin.py +0 -302
  186. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/streams/__init__.py +0 -0
  187. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/streams/buffered.py +0 -188
  188. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/streams/file.py +0 -154
  189. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/streams/memory.py +0 -325
  190. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/streams/stapled.py +0 -147
  191. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/streams/text.py +0 -176
  192. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/streams/tls.py +0 -424
  193. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/to_interpreter.py +0 -246
  194. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/to_process.py +0 -264
  195. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/to_thread.py +0 -74
  196. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio-4.12.0.dist-info/INSTALLER +0 -1
  197. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio-4.12.0.dist-info/METADATA +0 -96
  198. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio-4.12.0.dist-info/RECORD +0 -92
  199. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio-4.12.0.dist-info/WHEEL +0 -5
  200. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio-4.12.0.dist-info/entry_points.txt +0 -2
  201. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio-4.12.0.dist-info/licenses/LICENSE +0 -20
  202. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio-4.12.0.dist-info/top_level.txt +0 -1
  203. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools/__init__.py +0 -718
  204. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools/_cached.py +0 -247
  205. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools/_cachedmethod.py +0 -128
  206. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools/func.py +0 -102
  207. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools/keys.py +0 -62
  208. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools-6.2.2.dist-info/INSTALLER +0 -1
  209. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools-6.2.2.dist-info/METADATA +0 -156
  210. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools-6.2.2.dist-info/RECORD +0 -16
  211. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools-6.2.2.dist-info/WHEEL +0 -5
  212. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools-6.2.2.dist-info/licenses/LICENSE +0 -20
  213. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools-6.2.2.dist-info/top_level.txt +0 -1
  214. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi/__init__.py +0 -4
  215. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi/__main__.py +0 -12
  216. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi/cacert.pem +0 -4678
  217. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi/core.py +0 -83
  218. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi/py.typed +0 -0
  219. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi-2025.11.12.dist-info/INSTALLER +0 -1
  220. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi-2025.11.12.dist-info/METADATA +0 -78
  221. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi-2025.11.12.dist-info/RECORD +0 -14
  222. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi-2025.11.12.dist-info/WHEEL +0 -5
  223. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi-2025.11.12.dist-info/licenses/LICENSE +0 -20
  224. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi-2025.11.12.dist-info/top_level.txt +0 -1
  225. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/__init__.py +0 -48
  226. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/__main__.py +0 -6
  227. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/api.py +0 -669
  228. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/cd.py +0 -395
  229. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/cli/__init__.py +0 -8
  230. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/cli/__main__.py +0 -381
  231. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/constant.py +0 -2015
  232. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/legacy.py +0 -80
  233. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/md.cpython-39-darwin.so +0 -0
  234. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/md.py +0 -635
  235. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/md__mypyc.cpython-39-darwin.so +0 -0
  236. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/models.py +0 -360
  237. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/py.typed +0 -0
  238. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/utils.py +0 -414
  239. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/version.py +0 -8
  240. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer-3.4.4.dist-info/INSTALLER +0 -1
  241. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer-3.4.4.dist-info/METADATA +0 -764
  242. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer-3.4.4.dist-info/RECORD +0 -35
  243. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer-3.4.4.dist-info/WHEEL +0 -6
  244. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer-3.4.4.dist-info/entry_points.txt +0 -2
  245. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer-3.4.4.dist-info/licenses/LICENSE +0 -21
  246. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer-3.4.4.dist-info/top_level.txt +0 -1
  247. package/.claude/envoy/.venv/lib/python3.9/site-packages/distutils-precedence.pth +0 -1
  248. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup/__init__.py +0 -46
  249. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup/_catch.py +0 -138
  250. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup/_exceptions.py +0 -336
  251. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup/_formatting.py +0 -602
  252. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup/_suppress.py +0 -55
  253. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup/_version.py +0 -34
  254. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup/py.typed +0 -0
  255. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup-1.3.1.dist-info/INSTALLER +0 -1
  256. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup-1.3.1.dist-info/METADATA +0 -159
  257. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup-1.3.1.dist-info/RECORD +0 -18
  258. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup-1.3.1.dist-info/WHEEL +0 -4
  259. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup-1.3.1.dist-info/licenses/LICENSE +0 -73
  260. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/__init__.py +0 -53
  261. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_cloud_sdk.py +0 -153
  262. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_constants.py +0 -5
  263. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_credentials_async.py +0 -171
  264. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_credentials_base.py +0 -75
  265. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_default.py +0 -739
  266. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_default_async.py +0 -288
  267. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_exponential_backoff.py +0 -164
  268. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_helpers.py +0 -554
  269. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_jwt_async.py +0 -164
  270. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_oauth2client.py +0 -167
  271. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_refresh_worker.py +0 -109
  272. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_service_account_info.py +0 -80
  273. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/aio/__init__.py +0 -25
  274. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/aio/_helpers.py +0 -62
  275. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/aio/credentials.py +0 -143
  276. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/aio/transport/__init__.py +0 -144
  277. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/aio/transport/aiohttp.py +0 -190
  278. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/aio/transport/sessions.py +0 -268
  279. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/api_key.py +0 -76
  280. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/app_engine.py +0 -180
  281. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/aws.py +0 -861
  282. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/compute_engine/__init__.py +0 -22
  283. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/compute_engine/_metadata.py +0 -379
  284. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/compute_engine/credentials.py +0 -558
  285. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/credentials.py +0 -665
  286. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/crypt/__init__.py +0 -98
  287. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/crypt/_cryptography_rsa.py +0 -151
  288. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/crypt/_helpers.py +0 -0
  289. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/crypt/_python_rsa.py +0 -175
  290. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/crypt/base.py +0 -127
  291. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/crypt/es256.py +0 -175
  292. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/crypt/rsa.py +0 -30
  293. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/downscoped.py +0 -512
  294. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/environment_vars.py +0 -88
  295. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/exceptions.py +0 -108
  296. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/external_account.py +0 -708
  297. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/external_account_authorized_user.py +0 -433
  298. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/iam.py +0 -136
  299. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/identity_pool.py +0 -552
  300. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/impersonated_credentials.py +0 -705
  301. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/jwt.py +0 -878
  302. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/metrics.py +0 -154
  303. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/pluggable.py +0 -453
  304. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/py.typed +0 -2
  305. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/__init__.py +0 -104
  306. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/_aiohttp_requests.py +0 -398
  307. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/_custom_tls_signer.py +0 -283
  308. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/_http_client.py +0 -115
  309. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/_mtls_helper.py +0 -446
  310. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/_requests_base.py +0 -53
  311. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/grpc.py +0 -337
  312. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/mtls.py +0 -129
  313. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/requests.py +0 -597
  314. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/urllib3.py +0 -449
  315. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/version.py +0 -15
  316. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/__init__.py +0 -25
  317. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_adapters.py +0 -55
  318. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_api_client.py +0 -1840
  319. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_api_module.py +0 -29
  320. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_automatic_function_calling_util.py +0 -325
  321. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_base_transformers.py +0 -26
  322. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_base_url.py +0 -50
  323. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_common.py +0 -778
  324. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_extra_utils.py +0 -618
  325. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_live_converters.py +0 -1424
  326. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_local_tokenizer_loader.py +0 -223
  327. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_mcp_utils.py +0 -117
  328. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_operations_converters.py +0 -298
  329. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_replay_api_client.py +0 -686
  330. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_test_api_client.py +0 -149
  331. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_tokens_converters.py +0 -480
  332. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_transformers.py +0 -1368
  333. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/batches.py +0 -2461
  334. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/caches.py +0 -1489
  335. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/chats.py +0 -531
  336. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/client.py +0 -403
  337. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/errors.py +0 -202
  338. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/files.py +0 -1019
  339. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/live.py +0 -1165
  340. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/live_music.py +0 -197
  341. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/local_tokenizer.py +0 -395
  342. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/models.py +0 -7335
  343. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/operations.py +0 -498
  344. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/pagers.py +0 -262
  345. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/py.typed +0 -1
  346. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/tokens.py +0 -362
  347. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/tunings.py +0 -1970
  348. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/types.py +0 -16507
  349. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/version.py +0 -16
  350. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/__init__.py +0 -36
  351. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/_client.py +0 -625
  352. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/_client_async.py +0 -286
  353. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/_credentials_async.py +0 -118
  354. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/_id_token_async.py +0 -285
  355. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/_reauth_async.py +0 -328
  356. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/_service_account_async.py +0 -132
  357. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/challenges.py +0 -281
  358. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/credentials.py +0 -614
  359. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/gdch_credentials.py +0 -251
  360. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/id_token.py +0 -370
  361. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/py.typed +0 -2
  362. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/reauth.py +0 -369
  363. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/service_account.py +0 -881
  364. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/sts.py +0 -176
  365. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/utils.py +0 -168
  366. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/webauthn_handler.py +0 -82
  367. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/webauthn_handler_factory.py +0 -16
  368. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/webauthn_types.py +0 -156
  369. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_auth-2.43.0.dist-info/INSTALLER +0 -1
  370. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_auth-2.43.0.dist-info/METADATA +0 -181
  371. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_auth-2.43.0.dist-info/RECORD +0 -154
  372. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_auth-2.43.0.dist-info/WHEEL +0 -6
  373. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_auth-2.43.0.dist-info/licenses/LICENSE +0 -201
  374. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_auth-2.43.0.dist-info/top_level.txt +0 -1
  375. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_genai-1.47.0.dist-info/INSTALLER +0 -1
  376. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_genai-1.47.0.dist-info/METADATA +0 -1864
  377. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_genai-1.47.0.dist-info/RECORD +0 -74
  378. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_genai-1.47.0.dist-info/REQUESTED +0 -0
  379. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_genai-1.47.0.dist-info/WHEEL +0 -5
  380. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_genai-1.47.0.dist-info/licenses/LICENSE +0 -202
  381. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_genai-1.47.0.dist-info/top_level.txt +0 -1
  382. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/__init__.py +0 -62
  383. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_abnf.py +0 -132
  384. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_connection.py +0 -659
  385. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_events.py +0 -369
  386. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_headers.py +0 -282
  387. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_readers.py +0 -250
  388. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_receivebuffer.py +0 -153
  389. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_state.py +0 -365
  390. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_util.py +0 -135
  391. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_version.py +0 -16
  392. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_writers.py +0 -145
  393. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/py.typed +0 -1
  394. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11-0.16.0.dist-info/INSTALLER +0 -1
  395. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11-0.16.0.dist-info/METADATA +0 -202
  396. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11-0.16.0.dist-info/RECORD +0 -29
  397. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11-0.16.0.dist-info/WHEEL +0 -5
  398. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11-0.16.0.dist-info/licenses/LICENSE.txt +0 -22
  399. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11-0.16.0.dist-info/top_level.txt +0 -1
  400. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/__init__.py +0 -141
  401. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_api.py +0 -94
  402. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/__init__.py +0 -39
  403. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/connection.py +0 -222
  404. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/connection_pool.py +0 -420
  405. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/http11.py +0 -379
  406. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/http2.py +0 -592
  407. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/http_proxy.py +0 -367
  408. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/interfaces.py +0 -137
  409. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/socks_proxy.py +0 -341
  410. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_backends/__init__.py +0 -0
  411. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_backends/anyio.py +0 -146
  412. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_backends/auto.py +0 -52
  413. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_backends/base.py +0 -101
  414. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_backends/mock.py +0 -143
  415. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_backends/sync.py +0 -241
  416. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_backends/trio.py +0 -159
  417. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_exceptions.py +0 -81
  418. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_models.py +0 -516
  419. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_ssl.py +0 -9
  420. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/__init__.py +0 -39
  421. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/connection.py +0 -222
  422. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/connection_pool.py +0 -420
  423. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/http11.py +0 -379
  424. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/http2.py +0 -592
  425. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/http_proxy.py +0 -367
  426. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/interfaces.py +0 -137
  427. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/socks_proxy.py +0 -341
  428. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_synchronization.py +0 -318
  429. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_trace.py +0 -107
  430. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_utils.py +0 -37
  431. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/py.typed +0 -0
  432. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore-1.0.9.dist-info/INSTALLER +0 -1
  433. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore-1.0.9.dist-info/METADATA +0 -625
  434. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore-1.0.9.dist-info/RECORD +0 -68
  435. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore-1.0.9.dist-info/WHEEL +0 -4
  436. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore-1.0.9.dist-info/licenses/LICENSE.md +0 -27
  437. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/__init__.py +0 -105
  438. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/__version__.py +0 -3
  439. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_api.py +0 -438
  440. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_auth.py +0 -348
  441. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_client.py +0 -2019
  442. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_config.py +0 -248
  443. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_content.py +0 -240
  444. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_decoders.py +0 -393
  445. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_exceptions.py +0 -379
  446. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_main.py +0 -506
  447. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_models.py +0 -1277
  448. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_multipart.py +0 -300
  449. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_status_codes.py +0 -162
  450. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_transports/__init__.py +0 -15
  451. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_transports/asgi.py +0 -187
  452. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_transports/base.py +0 -86
  453. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_transports/default.py +0 -406
  454. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_transports/mock.py +0 -43
  455. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_transports/wsgi.py +0 -149
  456. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_types.py +0 -114
  457. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_urlparse.py +0 -527
  458. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_urls.py +0 -641
  459. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_utils.py +0 -242
  460. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/py.typed +0 -0
  461. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx-0.28.1.dist-info/INSTALLER +0 -1
  462. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx-0.28.1.dist-info/METADATA +0 -203
  463. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx-0.28.1.dist-info/RECORD +0 -54
  464. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx-0.28.1.dist-info/WHEEL +0 -4
  465. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx-0.28.1.dist-info/entry_points.txt +0 -2
  466. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx-0.28.1.dist-info/licenses/LICENSE.md +0 -12
  467. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/__init__.py +0 -45
  468. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/codec.py +0 -122
  469. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/compat.py +0 -15
  470. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/core.py +0 -437
  471. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/idnadata.py +0 -4309
  472. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/intranges.py +0 -57
  473. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/package_data.py +0 -1
  474. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/py.typed +0 -0
  475. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/uts46data.py +0 -8841
  476. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna-3.11.dist-info/INSTALLER +0 -1
  477. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna-3.11.dist-info/METADATA +0 -209
  478. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna-3.11.dist-info/RECORD +0 -22
  479. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna-3.11.dist-info/WHEEL +0 -4
  480. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna-3.11.dist-info/licenses/LICENSE.md +0 -31
  481. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/__init__.py +0 -13
  482. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/__main__.py +0 -31
  483. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/__init__.py +0 -19
  484. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/build_env.py +0 -294
  485. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cache.py +0 -287
  486. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/__init__.py +0 -4
  487. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/autocompletion.py +0 -163
  488. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/base_command.py +0 -214
  489. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/cmdoptions.py +0 -1009
  490. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/command_context.py +0 -27
  491. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/main.py +0 -70
  492. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/main_parser.py +0 -87
  493. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/parser.py +0 -292
  494. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/progress_bars.py +0 -250
  495. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/req_command.py +0 -453
  496. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/spinners.py +0 -157
  497. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/status_codes.py +0 -6
  498. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/__init__.py +0 -112
  499. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/cache.py +0 -216
  500. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/check.py +0 -47
  501. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/completion.py +0 -91
  502. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/configuration.py +0 -266
  503. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/debug.py +0 -204
  504. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/download.py +0 -139
  505. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/freeze.py +0 -84
  506. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/hash.py +0 -55
  507. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/help.py +0 -41
  508. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/index.py +0 -139
  509. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/install.py +0 -750
  510. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/list.py +0 -337
  511. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/search.py +0 -164
  512. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/show.py +0 -234
  513. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/uninstall.py +0 -100
  514. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/wheel.py +0 -176
  515. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/configuration.py +0 -403
  516. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/distributions/__init__.py +0 -21
  517. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/distributions/base.py +0 -38
  518. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/distributions/installed.py +0 -22
  519. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/distributions/sdist.py +0 -95
  520. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/distributions/wheel.py +0 -34
  521. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/exceptions.py +0 -397
  522. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/index/__init__.py +0 -2
  523. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/index/collector.py +0 -534
  524. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/index/package_finder.py +0 -982
  525. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/index/sources.py +0 -224
  526. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/locations/__init__.py +0 -408
  527. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/locations/_distutils.py +0 -169
  528. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/locations/_sysconfig.py +0 -219
  529. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/locations/base.py +0 -52
  530. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/main.py +0 -13
  531. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/metadata/__init__.py +0 -48
  532. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/metadata/base.py +0 -242
  533. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/metadata/pkg_resources.py +0 -153
  534. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/__init__.py +0 -2
  535. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/candidate.py +0 -31
  536. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/direct_url.py +0 -220
  537. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/format_control.py +0 -84
  538. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/index.py +0 -32
  539. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/link.py +0 -288
  540. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/scheme.py +0 -31
  541. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/search_scope.py +0 -126
  542. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/selection_prefs.py +0 -46
  543. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/target_python.py +0 -111
  544. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/wheel.py +0 -92
  545. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/__init__.py +0 -2
  546. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/auth.py +0 -316
  547. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/cache.py +0 -69
  548. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/download.py +0 -184
  549. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/lazy_wheel.py +0 -210
  550. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/session.py +0 -454
  551. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/utils.py +0 -96
  552. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/xmlrpc.py +0 -60
  553. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/__init__.py +0 -0
  554. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/__init__.py +0 -0
  555. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/metadata.py +0 -35
  556. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/metadata_legacy.py +0 -74
  557. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/wheel.py +0 -38
  558. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/wheel_legacy.py +0 -110
  559. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/check.py +0 -153
  560. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/freeze.py +0 -277
  561. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/__init__.py +0 -2
  562. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/editable_legacy.py +0 -47
  563. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/legacy.py +0 -132
  564. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/wheel.py +0 -803
  565. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/prepare.py +0 -655
  566. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/pyproject.py +0 -183
  567. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/req/__init__.py +0 -94
  568. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/req/constructors.py +0 -474
  569. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/req/req_file.py +0 -528
  570. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/req/req_install.py +0 -846
  571. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/req/req_set.py +0 -190
  572. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/req/req_tracker.py +0 -130
  573. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/req/req_uninstall.py +0 -629
  574. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/__init__.py +0 -0
  575. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/base.py +0 -18
  576. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/legacy/__init__.py +0 -0
  577. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/legacy/resolver.py +0 -453
  578. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__init__.py +0 -0
  579. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/base.py +0 -144
  580. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py +0 -555
  581. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/factory.py +0 -700
  582. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py +0 -142
  583. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/provider.py +0 -197
  584. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/reporter.py +0 -69
  585. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/requirements.py +0 -166
  586. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/resolver.py +0 -272
  587. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/self_outdated_check.py +0 -187
  588. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/__init__.py +0 -0
  589. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/_log.py +0 -38
  590. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/appdirs.py +0 -35
  591. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/compat.py +0 -63
  592. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/compatibility_tags.py +0 -168
  593. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/datetime.py +0 -11
  594. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/deprecation.py +0 -104
  595. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/direct_url_helpers.py +0 -79
  596. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/distutils_args.py +0 -42
  597. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/encoding.py +0 -36
  598. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/entrypoints.py +0 -27
  599. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/filesystem.py +0 -182
  600. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/filetypes.py +0 -28
  601. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/glibc.py +0 -92
  602. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/hashes.py +0 -165
  603. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/inject_securetransport.py +0 -36
  604. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/logging.py +0 -391
  605. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/misc.py +0 -828
  606. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/models.py +0 -47
  607. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/packaging.py +0 -89
  608. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/parallel.py +0 -101
  609. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/pkg_resources.py +0 -40
  610. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/setuptools_build.py +0 -173
  611. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/subprocess.py +0 -281
  612. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/temp_dir.py +0 -260
  613. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/unpacking.py +0 -267
  614. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/urls.py +0 -65
  615. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/virtualenv.py +0 -111
  616. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/wheel.py +0 -189
  617. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/vcs/__init__.py +0 -15
  618. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/vcs/bazaar.py +0 -96
  619. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/vcs/git.py +0 -506
  620. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/vcs/mercurial.py +0 -158
  621. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/vcs/subversion.py +0 -329
  622. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/vcs/versioncontrol.py +0 -722
  623. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/wheel_builder.py +0 -360
  624. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/__init__.py +0 -111
  625. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/appdirs.py +0 -633
  626. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__init__.py +0 -11
  627. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/_cmd.py +0 -57
  628. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/adapter.py +0 -133
  629. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/cache.py +0 -39
  630. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/__init__.py +0 -2
  631. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py +0 -146
  632. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py +0 -33
  633. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/compat.py +0 -29
  634. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/controller.py +0 -376
  635. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/filewrapper.py +0 -80
  636. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/heuristics.py +0 -135
  637. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/serialize.py +0 -188
  638. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/wrapper.py +0 -29
  639. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/__init__.py +0 -3
  640. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/__main__.py +0 -12
  641. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/cacert.pem +0 -4257
  642. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/core.py +0 -76
  643. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__init__.py +0 -83
  644. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/big5freq.py +0 -386
  645. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/big5prober.py +0 -47
  646. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/chardistribution.py +0 -233
  647. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/charsetgroupprober.py +0 -107
  648. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/charsetprober.py +0 -145
  649. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/cli/__init__.py +0 -1
  650. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/cli/chardetect.py +0 -84
  651. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/codingstatemachine.py +0 -88
  652. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/compat.py +0 -36
  653. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/cp949prober.py +0 -49
  654. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/enums.py +0 -76
  655. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/escprober.py +0 -101
  656. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/escsm.py +0 -246
  657. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/eucjpprober.py +0 -92
  658. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/euckrfreq.py +0 -195
  659. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/euckrprober.py +0 -47
  660. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/euctwfreq.py +0 -387
  661. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/euctwprober.py +0 -46
  662. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/gb2312freq.py +0 -283
  663. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/gb2312prober.py +0 -46
  664. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/hebrewprober.py +0 -292
  665. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/jisfreq.py +0 -325
  666. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/jpcntx.py +0 -233
  667. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langbulgarianmodel.py +0 -4650
  668. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langgreekmodel.py +0 -4398
  669. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langhebrewmodel.py +0 -4383
  670. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langhungarianmodel.py +0 -4650
  671. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langrussianmodel.py +0 -5718
  672. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langthaimodel.py +0 -4383
  673. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langturkishmodel.py +0 -4383
  674. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/latin1prober.py +0 -145
  675. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/mbcharsetprober.py +0 -91
  676. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/mbcsgroupprober.py +0 -54
  677. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/mbcssm.py +0 -572
  678. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/metadata/__init__.py +0 -0
  679. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/metadata/languages.py +0 -310
  680. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/sbcharsetprober.py +0 -145
  681. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/sbcsgroupprober.py +0 -83
  682. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/sjisprober.py +0 -92
  683. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/universaldetector.py +0 -286
  684. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/utf8prober.py +0 -82
  685. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/version.py +0 -9
  686. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/__init__.py +0 -6
  687. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/ansi.py +0 -102
  688. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/ansitowin32.py +0 -258
  689. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/initialise.py +0 -80
  690. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/win32.py +0 -152
  691. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/winterm.py +0 -169
  692. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__init__.py +0 -23
  693. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/__init__.py +0 -6
  694. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/misc.py +0 -41
  695. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/shutil.py +0 -764
  696. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/sysconfig.cfg +0 -84
  697. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/sysconfig.py +0 -786
  698. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/tarfile.py +0 -2607
  699. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/compat.py +0 -1120
  700. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/database.py +0 -1339
  701. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/index.py +0 -509
  702. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/locators.py +0 -1300
  703. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/manifest.py +0 -393
  704. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/markers.py +0 -130
  705. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/metadata.py +0 -1058
  706. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/resources.py +0 -358
  707. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/scripts.py +0 -423
  708. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/t32.exe +0 -0
  709. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/t64.exe +0 -0
  710. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/util.py +0 -1965
  711. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/version.py +0 -739
  712. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/w32.exe +0 -0
  713. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/w64.exe +0 -0
  714. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/wheel.py +0 -1056
  715. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distro.py +0 -1230
  716. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__init__.py +0 -35
  717. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_ihatexml.py +0 -289
  718. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_inputstream.py +0 -918
  719. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_tokenizer.py +0 -1735
  720. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/__init__.py +0 -5
  721. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/_base.py +0 -40
  722. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/py.py +0 -67
  723. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_utils.py +0 -159
  724. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/constants.py +0 -2946
  725. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__init__.py +0 -0
  726. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/alphabeticalattributes.py +0 -29
  727. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/base.py +0 -12
  728. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/inject_meta_charset.py +0 -73
  729. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/lint.py +0 -93
  730. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/optionaltags.py +0 -207
  731. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/sanitizer.py +0 -916
  732. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/whitespace.py +0 -38
  733. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/html5parser.py +0 -2795
  734. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/serializer.py +0 -409
  735. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/__init__.py +0 -30
  736. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/genshi.py +0 -54
  737. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/sax.py +0 -50
  738. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/__init__.py +0 -88
  739. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/base.py +0 -417
  740. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/dom.py +0 -239
  741. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/etree.py +0 -343
  742. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/etree_lxml.py +0 -392
  743. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/__init__.py +0 -154
  744. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/base.py +0 -252
  745. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/dom.py +0 -43
  746. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/etree.py +0 -131
  747. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/etree_lxml.py +0 -215
  748. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/genshi.py +0 -69
  749. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/__init__.py +0 -44
  750. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/codec.py +0 -117
  751. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/compat.py +0 -16
  752. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/core.py +0 -409
  753. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/idnadata.py +0 -2050
  754. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/intranges.py +0 -58
  755. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/package_data.py +0 -2
  756. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/uts46data.py +0 -8438
  757. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/__init__.py +0 -54
  758. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/_version.py +0 -1
  759. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/exceptions.py +0 -48
  760. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/ext.py +0 -193
  761. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/fallback.py +0 -1087
  762. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__about__.py +0 -26
  763. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__init__.py +0 -25
  764. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/_manylinux.py +0 -301
  765. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/_musllinux.py +0 -136
  766. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/_structures.py +0 -67
  767. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/markers.py +0 -304
  768. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/requirements.py +0 -146
  769. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/specifiers.py +0 -828
  770. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/tags.py +0 -484
  771. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/utils.py +0 -136
  772. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/version.py +0 -504
  773. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__init__.py +0 -6
  774. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/build.py +0 -127
  775. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/check.py +0 -207
  776. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/colorlog.py +0 -115
  777. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/compat.py +0 -42
  778. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/dirtools.py +0 -44
  779. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/envbuild.py +0 -171
  780. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/__init__.py +0 -17
  781. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py +0 -349
  782. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/meta.py +0 -92
  783. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/wrappers.py +0 -371
  784. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pkg_resources/__init__.py +0 -3296
  785. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pkg_resources/py31compat.py +0 -23
  786. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/progress/__init__.py +0 -177
  787. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/progress/bar.py +0 -91
  788. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/progress/counter.py +0 -41
  789. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/progress/spinner.py +0 -43
  790. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pyparsing.py +0 -7107
  791. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__init__.py +0 -154
  792. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__version__.py +0 -14
  793. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/_internal_utils.py +0 -42
  794. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/adapters.py +0 -533
  795. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/api.py +0 -159
  796. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/auth.py +0 -305
  797. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/certs.py +0 -18
  798. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/compat.py +0 -76
  799. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/cookies.py +0 -549
  800. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/exceptions.py +0 -127
  801. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/help.py +0 -132
  802. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/hooks.py +0 -34
  803. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/models.py +0 -966
  804. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/packages.py +0 -16
  805. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/sessions.py +0 -781
  806. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/status_codes.py +0 -123
  807. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/structures.py +0 -105
  808. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/utils.py +0 -1013
  809. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/__init__.py +0 -26
  810. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/compat/__init__.py +0 -0
  811. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/compat/collections_abc.py +0 -6
  812. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/providers.py +0 -124
  813. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/reporters.py +0 -37
  814. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/resolvers.py +0 -473
  815. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/structs.py +0 -165
  816. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/six.py +0 -998
  817. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__init__.py +0 -517
  818. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/_asyncio.py +0 -92
  819. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/_utils.py +0 -68
  820. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/after.py +0 -46
  821. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/before.py +0 -41
  822. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/before_sleep.py +0 -58
  823. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/nap.py +0 -43
  824. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/retry.py +0 -213
  825. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/stop.py +0 -96
  826. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/tornadoweb.py +0 -59
  827. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/wait.py +0 -191
  828. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tomli/__init__.py +0 -6
  829. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tomli/_parser.py +0 -703
  830. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tomli/_re.py +0 -83
  831. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__init__.py +0 -85
  832. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/_collections.py +0 -337
  833. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/_version.py +0 -2
  834. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/connection.py +0 -539
  835. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/connectionpool.py +0 -1067
  836. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/__init__.py +0 -0
  837. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py +0 -36
  838. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +0 -0
  839. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +0 -519
  840. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +0 -396
  841. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/appengine.py +0 -314
  842. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py +0 -130
  843. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +0 -511
  844. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/securetransport.py +0 -922
  845. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/socks.py +0 -216
  846. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/exceptions.py +0 -323
  847. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/fields.py +0 -274
  848. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/filepost.py +0 -98
  849. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/__init__.py +0 -5
  850. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
  851. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py +0 -51
  852. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/six.py +0 -1077
  853. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py +0 -24
  854. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py +0 -160
  855. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/poolmanager.py +0 -536
  856. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/request.py +0 -170
  857. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/response.py +0 -821
  858. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__init__.py +0 -49
  859. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/connection.py +0 -150
  860. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/proxy.py +0 -56
  861. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/queue.py +0 -22
  862. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/request.py +0 -143
  863. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/response.py +0 -107
  864. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/retry.py +0 -602
  865. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/ssl_.py +0 -495
  866. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/ssltransport.py +0 -221
  867. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/timeout.py +0 -268
  868. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/url.py +0 -432
  869. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/wait.py +0 -153
  870. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/vendor.txt +0 -22
  871. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/__init__.py +0 -342
  872. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/labels.py +0 -231
  873. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/mklabels.py +0 -59
  874. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/tests.py +0 -153
  875. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/x_user_defined.py +0 -325
  876. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/py.typed +0 -4
  877. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/INSTALLER +0 -1
  878. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/LICENSE.txt +0 -20
  879. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/METADATA +0 -92
  880. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/RECORD +0 -795
  881. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/REQUESTED +0 -0
  882. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/WHEEL +0 -5
  883. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/entry_points.txt +0 -5
  884. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/top_level.txt +0 -1
  885. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/__init__.py +0 -3288
  886. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/__init__.py +0 -0
  887. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/appdirs.py +0 -608
  888. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__about__.py +0 -27
  889. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__init__.py +0 -26
  890. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/_compat.py +0 -38
  891. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/_structures.py +0 -86
  892. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/_typing.py +0 -48
  893. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/markers.py +0 -328
  894. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/requirements.py +0 -145
  895. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/specifiers.py +0 -863
  896. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/tags.py +0 -751
  897. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/utils.py +0 -65
  898. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/version.py +0 -535
  899. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/pyparsing.py +0 -5742
  900. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/extern/__init__.py +0 -73
  901. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/tests/data/my-test-package-source/setup.py +0 -6
  902. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/__init__.py +0 -2
  903. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/__init__.py +0 -1
  904. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/ber/__init__.py +0 -1
  905. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/ber/decoder.py +0 -2189
  906. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/ber/encoder.py +0 -954
  907. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/ber/eoo.py +0 -28
  908. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/cer/__init__.py +0 -1
  909. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/cer/decoder.py +0 -149
  910. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/cer/encoder.py +0 -331
  911. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/der/__init__.py +0 -1
  912. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/der/decoder.py +0 -120
  913. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/der/encoder.py +0 -126
  914. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/native/__init__.py +0 -1
  915. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/native/decoder.py +0 -244
  916. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/native/encoder.py +0 -285
  917. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/streaming.py +0 -234
  918. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/compat/__init__.py +0 -4
  919. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/compat/integer.py +0 -13
  920. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/debug.py +0 -146
  921. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/error.py +0 -116
  922. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/__init__.py +0 -1
  923. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/base.py +0 -699
  924. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/char.py +0 -288
  925. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/constraint.py +0 -751
  926. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/error.py +0 -11
  927. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/namedtype.py +0 -550
  928. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/namedval.py +0 -192
  929. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/opentype.py +0 -104
  930. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/tag.py +0 -335
  931. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/tagmap.py +0 -96
  932. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/univ.py +0 -3327
  933. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/useful.py +0 -189
  934. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1-0.6.1.dist-info/INSTALLER +0 -1
  935. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1-0.6.1.dist-info/LICENSE.rst +0 -24
  936. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1-0.6.1.dist-info/METADATA +0 -228
  937. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1-0.6.1.dist-info/RECORD +0 -71
  938. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1-0.6.1.dist-info/WHEEL +0 -5
  939. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1-0.6.1.dist-info/top_level.txt +0 -1
  940. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1-0.6.1.dist-info/zip-safe +0 -1
  941. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/__init__.py +0 -2
  942. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/pem.py +0 -58
  943. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc1155.py +0 -96
  944. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc1157.py +0 -126
  945. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc1901.py +0 -22
  946. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc1902.py +0 -129
  947. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc1905.py +0 -135
  948. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2251.py +0 -563
  949. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2314.py +0 -48
  950. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2315.py +0 -294
  951. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2437.py +0 -69
  952. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2459.py +0 -1339
  953. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2511.py +0 -258
  954. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2560.py +0 -225
  955. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2631.py +0 -37
  956. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2634.py +0 -336
  957. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2876.py +0 -56
  958. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2985.py +0 -588
  959. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2986.py +0 -75
  960. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3058.py +0 -42
  961. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3114.py +0 -77
  962. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3125.py +0 -469
  963. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3161.py +0 -142
  964. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3274.py +0 -59
  965. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3279.py +0 -260
  966. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3280.py +0 -1543
  967. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3281.py +0 -331
  968. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3370.py +0 -146
  969. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3412.py +0 -53
  970. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3414.py +0 -28
  971. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3447.py +0 -45
  972. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3537.py +0 -34
  973. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3560.py +0 -74
  974. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3565.py +0 -57
  975. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3657.py +0 -66
  976. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3709.py +0 -207
  977. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3739.py +0 -203
  978. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3770.py +0 -75
  979. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3779.py +0 -137
  980. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3820.py +0 -65
  981. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3852.py +0 -706
  982. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4010.py +0 -58
  983. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4043.py +0 -43
  984. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4055.py +0 -258
  985. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4073.py +0 -59
  986. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4108.py +0 -350
  987. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4210.py +0 -803
  988. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4211.py +0 -396
  989. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4334.py +0 -75
  990. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4357.py +0 -477
  991. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4387.py +0 -23
  992. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4476.py +0 -93
  993. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4490.py +0 -113
  994. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4491.py +0 -44
  995. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4683.py +0 -72
  996. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4985.py +0 -49
  997. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5035.py +0 -199
  998. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5083.py +0 -52
  999. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5084.py +0 -97
  1000. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5126.py +0 -577
  1001. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5208.py +0 -56
  1002. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5275.py +0 -404
  1003. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5280.py +0 -1658
  1004. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5480.py +0 -190
  1005. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5636.py +0 -113
  1006. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5639.py +0 -49
  1007. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5649.py +0 -33
  1008. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5652.py +0 -761
  1009. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5697.py +0 -70
  1010. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5751.py +0 -124
  1011. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5752.py +0 -49
  1012. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5753.py +0 -157
  1013. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5755.py +0 -398
  1014. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5913.py +0 -44
  1015. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5914.py +0 -119
  1016. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5915.py +0 -32
  1017. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5916.py +0 -35
  1018. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5917.py +0 -55
  1019. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5924.py +0 -19
  1020. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5934.py +0 -786
  1021. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5940.py +0 -59
  1022. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5958.py +0 -98
  1023. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5990.py +0 -237
  1024. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6010.py +0 -88
  1025. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6019.py +0 -45
  1026. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6031.py +0 -469
  1027. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6032.py +0 -68
  1028. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6120.py +0 -43
  1029. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6170.py +0 -17
  1030. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6187.py +0 -22
  1031. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6210.py +0 -42
  1032. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6211.py +0 -72
  1033. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6402.py +0 -628
  1034. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6482.py +0 -74
  1035. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6486.py +0 -68
  1036. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6487.py +0 -22
  1037. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6664.py +0 -147
  1038. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6955.py +0 -108
  1039. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6960.py +0 -223
  1040. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7030.py +0 -66
  1041. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7191.py +0 -261
  1042. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7229.py +0 -29
  1043. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7292.py +0 -357
  1044. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7296.py +0 -32
  1045. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7508.py +0 -90
  1046. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7585.py +0 -50
  1047. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7633.py +0 -38
  1048. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7773.py +0 -52
  1049. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7894.py +0 -92
  1050. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7906.py +0 -736
  1051. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7914.py +0 -49
  1052. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8017.py +0 -153
  1053. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8018.py +0 -260
  1054. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8103.py +0 -36
  1055. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8209.py +0 -20
  1056. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8226.py +0 -149
  1057. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8358.py +0 -50
  1058. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8360.py +0 -44
  1059. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8398.py +0 -52
  1060. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8410.py +0 -43
  1061. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8418.py +0 -36
  1062. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8419.py +0 -68
  1063. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8479.py +0 -45
  1064. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8494.py +0 -80
  1065. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8520.py +0 -63
  1066. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8619.py +0 -45
  1067. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8649.py +0 -40
  1068. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8692.py +0 -79
  1069. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8696.py +0 -104
  1070. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8702.py +0 -105
  1071. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8708.py +0 -41
  1072. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8769.py +0 -21
  1073. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules-0.4.2.dist-info/INSTALLER +0 -1
  1074. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules-0.4.2.dist-info/METADATA +0 -73
  1075. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules-0.4.2.dist-info/RECORD +0 -271
  1076. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules-0.4.2.dist-info/WHEEL +0 -5
  1077. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules-0.4.2.dist-info/licenses/LICENSE.txt +0 -24
  1078. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules-0.4.2.dist-info/top_level.txt +0 -1
  1079. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules-0.4.2.dist-info/zip-safe +0 -1
  1080. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/__init__.py +0 -456
  1081. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/__init__.py +0 -0
  1082. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_config.py +0 -383
  1083. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_core_metadata.py +0 -97
  1084. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_core_utils.py +0 -174
  1085. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_dataclasses.py +0 -315
  1086. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_decorators.py +0 -858
  1087. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_decorators_v1.py +0 -174
  1088. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_discriminated_union.py +0 -479
  1089. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_docs_extraction.py +0 -113
  1090. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_fields.py +0 -635
  1091. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_forward_ref.py +0 -23
  1092. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_generate_schema.py +0 -2867
  1093. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_generics.py +0 -543
  1094. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_git.py +0 -27
  1095. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_import_utils.py +0 -20
  1096. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_internal_dataclass.py +0 -7
  1097. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_known_annotated_metadata.py +0 -401
  1098. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_mock_val_ser.py +0 -228
  1099. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_model_construction.py +0 -848
  1100. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_namespace_utils.py +0 -293
  1101. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_repr.py +0 -124
  1102. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_schema_gather.py +0 -209
  1103. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_schema_generation_shared.py +0 -125
  1104. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_serializers.py +0 -53
  1105. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_signature.py +0 -188
  1106. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_typing_extra.py +0 -760
  1107. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_utils.py +0 -446
  1108. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_validate_call.py +0 -140
  1109. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_validators.py +0 -533
  1110. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_migration.py +0 -316
  1111. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/alias_generators.py +0 -62
  1112. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/aliases.py +0 -135
  1113. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/annotated_handlers.py +0 -122
  1114. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/class_validators.py +0 -5
  1115. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/color.py +0 -604
  1116. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/config.py +0 -1288
  1117. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/dataclasses.py +0 -413
  1118. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/datetime_parse.py +0 -5
  1119. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/decorator.py +0 -5
  1120. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/__init__.py +0 -0
  1121. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/class_validators.py +0 -256
  1122. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/config.py +0 -72
  1123. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/copy_internals.py +0 -224
  1124. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/decorator.py +0 -284
  1125. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/json.py +0 -141
  1126. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/parse.py +0 -80
  1127. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/tools.py +0 -103
  1128. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/env_settings.py +0 -5
  1129. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/error_wrappers.py +0 -5
  1130. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/errors.py +0 -189
  1131. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/experimental/__init__.py +0 -1
  1132. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/experimental/arguments_schema.py +0 -44
  1133. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/experimental/missing_sentinel.py +0 -5
  1134. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/experimental/pipeline.py +0 -654
  1135. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/fields.py +0 -1834
  1136. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/functional_serializers.py +0 -451
  1137. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/functional_validators.py +0 -893
  1138. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/generics.py +0 -5
  1139. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/json.py +0 -5
  1140. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/json_schema.py +0 -2854
  1141. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/main.py +0 -1819
  1142. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/mypy.py +0 -1374
  1143. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/networks.py +0 -1331
  1144. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/parse.py +0 -5
  1145. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/plugin/__init__.py +0 -193
  1146. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/plugin/_loader.py +0 -58
  1147. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/plugin/_schema_validator.py +0 -140
  1148. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/py.typed +0 -0
  1149. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/root_model.py +0 -155
  1150. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/schema.py +0 -5
  1151. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/tools.py +0 -5
  1152. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/type_adapter.py +0 -795
  1153. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/types.py +0 -3295
  1154. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/typing.py +0 -5
  1155. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/utils.py +0 -5
  1156. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/__init__.py +0 -142
  1157. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/_hypothesis_plugin.py +0 -391
  1158. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/annotated_types.py +0 -72
  1159. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/class_validators.py +0 -361
  1160. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/color.py +0 -494
  1161. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/config.py +0 -191
  1162. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/dataclasses.py +0 -500
  1163. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/datetime_parse.py +0 -248
  1164. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/decorator.py +0 -264
  1165. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/env_settings.py +0 -350
  1166. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/error_wrappers.py +0 -161
  1167. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/errors.py +0 -646
  1168. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/fields.py +0 -1253
  1169. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/generics.py +0 -400
  1170. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/json.py +0 -112
  1171. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/main.py +0 -1113
  1172. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/mypy.py +0 -949
  1173. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/networks.py +0 -747
  1174. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/parse.py +0 -66
  1175. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/py.typed +0 -0
  1176. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/schema.py +0 -1163
  1177. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/tools.py +0 -92
  1178. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/types.py +0 -1205
  1179. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/typing.py +0 -614
  1180. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/utils.py +0 -806
  1181. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/validators.py +0 -768
  1182. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/version.py +0 -38
  1183. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/validate_call_decorator.py +0 -116
  1184. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/validators.py +0 -5
  1185. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/version.py +0 -113
  1186. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/warnings.py +0 -122
  1187. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic-2.12.5.dist-info/INSTALLER +0 -1
  1188. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic-2.12.5.dist-info/METADATA +0 -1029
  1189. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic-2.12.5.dist-info/RECORD +0 -217
  1190. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic-2.12.5.dist-info/WHEEL +0 -4
  1191. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic-2.12.5.dist-info/licenses/LICENSE +0 -21
  1192. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core/__init__.py +0 -171
  1193. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core/_pydantic_core.cpython-39-darwin.so +0 -0
  1194. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core/_pydantic_core.pyi +0 -1046
  1195. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core/core_schema.py +0 -4435
  1196. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core/py.typed +0 -0
  1197. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core-2.41.5.dist-info/INSTALLER +0 -1
  1198. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core-2.41.5.dist-info/METADATA +0 -180
  1199. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core-2.41.5.dist-info/RECORD +0 -12
  1200. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core-2.41.5.dist-info/WHEEL +0 -4
  1201. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core-2.41.5.dist-info/licenses/LICENSE +0 -21
  1202. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/__init__.py +0 -184
  1203. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/__version__.py +0 -14
  1204. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/_internal_utils.py +0 -50
  1205. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/adapters.py +0 -696
  1206. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/api.py +0 -157
  1207. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/auth.py +0 -314
  1208. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/certs.py +0 -17
  1209. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/compat.py +0 -106
  1210. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/cookies.py +0 -561
  1211. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/exceptions.py +0 -151
  1212. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/help.py +0 -134
  1213. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/hooks.py +0 -33
  1214. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/models.py +0 -1039
  1215. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/packages.py +0 -23
  1216. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/sessions.py +0 -831
  1217. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/status_codes.py +0 -128
  1218. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/structures.py +0 -99
  1219. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/utils.py +0 -1086
  1220. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests-2.32.5.dist-info/INSTALLER +0 -1
  1221. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests-2.32.5.dist-info/METADATA +0 -133
  1222. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests-2.32.5.dist-info/RECORD +0 -43
  1223. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests-2.32.5.dist-info/REQUESTED +0 -0
  1224. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests-2.32.5.dist-info/WHEEL +0 -5
  1225. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests-2.32.5.dist-info/licenses/LICENSE +0 -175
  1226. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests-2.32.5.dist-info/top_level.txt +0 -1
  1227. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/__init__.py +0 -60
  1228. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/asn1.py +0 -52
  1229. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/cli.py +0 -321
  1230. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/common.py +0 -184
  1231. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/core.py +0 -53
  1232. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/key.py +0 -858
  1233. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/parallel.py +0 -96
  1234. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/pem.py +0 -134
  1235. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/pkcs1.py +0 -485
  1236. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/pkcs1_v2.py +0 -100
  1237. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/prime.py +0 -198
  1238. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/py.typed +0 -1
  1239. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/randnum.py +0 -95
  1240. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/transform.py +0 -72
  1241. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/util.py +0 -97
  1242. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa-4.9.1.dist-info/INSTALLER +0 -1
  1243. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa-4.9.1.dist-info/LICENSE +0 -13
  1244. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa-4.9.1.dist-info/METADATA +0 -140
  1245. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa-4.9.1.dist-info/RECORD +0 -41
  1246. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa-4.9.1.dist-info/WHEEL +0 -4
  1247. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa-4.9.1.dist-info/entry_points.txt +0 -8
  1248. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/__init__.py +0 -242
  1249. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_deprecation_warning.py +0 -7
  1250. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/__init__.py +0 -15
  1251. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/_msvccompiler.py +0 -561
  1252. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/archive_util.py +0 -256
  1253. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/bcppcompiler.py +0 -393
  1254. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/ccompiler.py +0 -1123
  1255. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/cmd.py +0 -403
  1256. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__init__.py +0 -31
  1257. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist.py +0 -143
  1258. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist_dumb.py +0 -123
  1259. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist_msi.py +0 -749
  1260. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist_rpm.py +0 -579
  1261. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist_wininst.py +0 -377
  1262. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build.py +0 -157
  1263. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build_clib.py +0 -209
  1264. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build_ext.py +0 -757
  1265. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build_py.py +0 -392
  1266. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build_scripts.py +0 -152
  1267. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/check.py +0 -148
  1268. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/clean.py +0 -76
  1269. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/config.py +0 -344
  1270. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install.py +0 -677
  1271. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_data.py +0 -79
  1272. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_egg_info.py +0 -77
  1273. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_headers.py +0 -47
  1274. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_lib.py +0 -217
  1275. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_scripts.py +0 -60
  1276. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/py37compat.py +0 -30
  1277. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/register.py +0 -304
  1278. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/sdist.py +0 -494
  1279. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/upload.py +0 -214
  1280. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/config.py +0 -130
  1281. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/core.py +0 -234
  1282. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/cygwinccompiler.py +0 -414
  1283. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/debug.py +0 -5
  1284. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/dep_util.py +0 -92
  1285. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/dir_util.py +0 -210
  1286. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/dist.py +0 -1257
  1287. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/errors.py +0 -97
  1288. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/extension.py +0 -240
  1289. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/fancy_getopt.py +0 -457
  1290. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/file_util.py +0 -238
  1291. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/filelist.py +0 -355
  1292. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/log.py +0 -77
  1293. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/msvc9compiler.py +0 -788
  1294. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/msvccompiler.py +0 -643
  1295. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/py35compat.py +0 -19
  1296. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/py38compat.py +0 -7
  1297. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/spawn.py +0 -106
  1298. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/sysconfig.py +0 -573
  1299. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/text_file.py +0 -286
  1300. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/unixccompiler.py +0 -332
  1301. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/util.py +0 -535
  1302. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/version.py +0 -347
  1303. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/versionpredicate.py +0 -166
  1304. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_imp.py +0 -82
  1305. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/__init__.py +0 -0
  1306. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/more_itertools/__init__.py +0 -4
  1307. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/more_itertools/more.py +0 -3825
  1308. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/more_itertools/recipes.py +0 -620
  1309. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/ordered_set.py +0 -488
  1310. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__about__.py +0 -27
  1311. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__init__.py +0 -26
  1312. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/_compat.py +0 -38
  1313. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/_structures.py +0 -86
  1314. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/_typing.py +0 -48
  1315. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/markers.py +0 -328
  1316. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/requirements.py +0 -145
  1317. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/specifiers.py +0 -863
  1318. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/tags.py +0 -751
  1319. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/utils.py +0 -65
  1320. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/version.py +0 -535
  1321. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/pyparsing.py +0 -5742
  1322. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/archive_util.py +0 -205
  1323. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/build_meta.py +0 -281
  1324. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/cli-32.exe +0 -0
  1325. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/cli-64.exe +0 -0
  1326. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/cli.exe +0 -0
  1327. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/__init__.py +0 -8
  1328. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/alias.py +0 -78
  1329. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/bdist_egg.py +0 -456
  1330. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/bdist_rpm.py +0 -31
  1331. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/build_clib.py +0 -101
  1332. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/build_ext.py +0 -328
  1333. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/build_py.py +0 -232
  1334. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/develop.py +0 -193
  1335. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/dist_info.py +0 -36
  1336. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/easy_install.py +0 -2290
  1337. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/egg_info.py +0 -734
  1338. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/install.py +0 -125
  1339. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/install_egg_info.py +0 -62
  1340. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/install_lib.py +0 -122
  1341. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/install_scripts.py +0 -69
  1342. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/launcher manifest.xml +0 -15
  1343. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/py36compat.py +0 -134
  1344. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/register.py +0 -18
  1345. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/rotate.py +0 -64
  1346. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/saveopts.py +0 -22
  1347. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/sdist.py +0 -189
  1348. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/setopt.py +0 -149
  1349. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/test.py +0 -252
  1350. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/upload.py +0 -17
  1351. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/upload_docs.py +0 -202
  1352. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/config.py +0 -749
  1353. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/dep_util.py +0 -25
  1354. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/depends.py +0 -175
  1355. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/dist.py +0 -1150
  1356. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/errors.py +0 -16
  1357. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/extension.py +0 -55
  1358. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/extern/__init__.py +0 -73
  1359. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/glob.py +0 -167
  1360. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/gui-32.exe +0 -0
  1361. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/gui-64.exe +0 -0
  1362. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/gui.exe +0 -0
  1363. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/installer.py +0 -97
  1364. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/launch.py +0 -36
  1365. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/monkey.py +0 -177
  1366. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/msvc.py +0 -1805
  1367. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/namespaces.py +0 -107
  1368. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/package_index.py +0 -1119
  1369. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/py34compat.py +0 -13
  1370. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/sandbox.py +0 -530
  1371. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/script (dev).tmpl +0 -6
  1372. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/script.tmpl +0 -3
  1373. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/unicode_utils.py +0 -42
  1374. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/version.py +0 -6
  1375. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/wheel.py +0 -213
  1376. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/windows_support.py +0 -29
  1377. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/INSTALLER +0 -1
  1378. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/LICENSE +0 -19
  1379. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/METADATA +0 -119
  1380. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/RECORD +0 -296
  1381. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/REQUESTED +0 -0
  1382. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/WHEEL +0 -5
  1383. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/entry_points.txt +0 -56
  1384. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/top_level.txt +0 -3
  1385. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/__init__.py +0 -722
  1386. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/_utils.py +0 -101
  1387. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/after.py +0 -51
  1388. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/asyncio/__init__.py +0 -206
  1389. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/asyncio/retry.py +0 -125
  1390. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/before.py +0 -48
  1391. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/before_sleep.py +0 -72
  1392. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/nap.py +0 -43
  1393. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/py.typed +0 -0
  1394. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/retry.py +0 -282
  1395. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/stop.py +0 -130
  1396. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/tornadoweb.py +0 -63
  1397. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/wait.py +0 -234
  1398. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity-9.1.2.dist-info/INSTALLER +0 -1
  1399. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity-9.1.2.dist-info/METADATA +0 -31
  1400. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity-9.1.2.dist-info/RECORD +0 -31
  1401. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity-9.1.2.dist-info/WHEEL +0 -5
  1402. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity-9.1.2.dist-info/licenses/LICENSE +0 -202
  1403. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity-9.1.2.dist-info/top_level.txt +0 -1
  1404. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_extensions-4.15.0.dist-info/INSTALLER +0 -1
  1405. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_extensions-4.15.0.dist-info/METADATA +0 -72
  1406. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_extensions-4.15.0.dist-info/RECORD +0 -7
  1407. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_extensions-4.15.0.dist-info/WHEEL +0 -4
  1408. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_extensions-4.15.0.dist-info/licenses/LICENSE +0 -279
  1409. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_extensions.py +0 -4317
  1410. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection/__init__.py +0 -0
  1411. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection/introspection.py +0 -587
  1412. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection/py.typed +0 -0
  1413. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection/typing_objects.py +0 -607
  1414. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection/typing_objects.pyi +0 -417
  1415. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection-0.4.2.dist-info/INSTALLER +0 -1
  1416. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection-0.4.2.dist-info/METADATA +0 -49
  1417. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection-0.4.2.dist-info/RECORD +0 -13
  1418. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection-0.4.2.dist-info/WHEEL +0 -4
  1419. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection-0.4.2.dist-info/licenses/LICENSE +0 -21
  1420. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/__init__.py +0 -211
  1421. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/_base_connection.py +0 -165
  1422. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/_collections.py +0 -487
  1423. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/_request_methods.py +0 -278
  1424. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/_version.py +0 -34
  1425. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/connection.py +0 -1099
  1426. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/connectionpool.py +0 -1178
  1427. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/__init__.py +0 -0
  1428. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/emscripten/__init__.py +0 -16
  1429. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/emscripten/connection.py +0 -259
  1430. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/emscripten/emscripten_fetch_worker.js +0 -110
  1431. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/emscripten/fetch.py +0 -726
  1432. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/emscripten/request.py +0 -22
  1433. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/emscripten/response.py +0 -277
  1434. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/pyopenssl.py +0 -564
  1435. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/socks.py +0 -228
  1436. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/exceptions.py +0 -335
  1437. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/fields.py +0 -341
  1438. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/filepost.py +0 -89
  1439. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/http2/__init__.py +0 -53
  1440. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/http2/connection.py +0 -356
  1441. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/http2/probe.py +0 -87
  1442. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/poolmanager.py +0 -651
  1443. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/py.typed +0 -2
  1444. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/response.py +0 -1465
  1445. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/__init__.py +0 -42
  1446. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/connection.py +0 -137
  1447. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/proxy.py +0 -43
  1448. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/request.py +0 -263
  1449. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/response.py +0 -101
  1450. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/retry.py +0 -533
  1451. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/ssl_.py +0 -527
  1452. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/ssl_match_hostname.py +0 -159
  1453. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/ssltransport.py +0 -271
  1454. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/timeout.py +0 -275
  1455. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/url.py +0 -469
  1456. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/util.py +0 -42
  1457. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/wait.py +0 -124
  1458. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3-2.6.0.dist-info/INSTALLER +0 -1
  1459. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3-2.6.0.dist-info/METADATA +0 -156
  1460. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3-2.6.0.dist-info/RECORD +0 -79
  1461. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3-2.6.0.dist-info/WHEEL +0 -4
  1462. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3-2.6.0.dist-info/licenses/LICENSE.txt +0 -21
  1463. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/__init__.py +0 -236
  1464. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/__main__.py +0 -5
  1465. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/__init__.py +0 -0
  1466. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/async_timeout.py +0 -282
  1467. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/client.py +0 -820
  1468. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/compatibility.py +0 -30
  1469. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/connection.py +0 -1237
  1470. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/messages.py +0 -314
  1471. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/router.py +0 -198
  1472. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/server.py +0 -981
  1473. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/auth.py +0 -18
  1474. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/cli.py +0 -178
  1475. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/client.py +0 -389
  1476. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/connection.py +0 -12
  1477. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/datastructures.py +0 -187
  1478. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/exceptions.py +0 -473
  1479. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/extensions/__init__.py +0 -4
  1480. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/extensions/base.py +0 -123
  1481. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/extensions/permessage_deflate.py +0 -697
  1482. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/frames.py +0 -430
  1483. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/headers.py +0 -586
  1484. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/http.py +0 -20
  1485. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/http11.py +0 -427
  1486. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/imports.py +0 -100
  1487. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/__init__.py +0 -11
  1488. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/auth.py +0 -190
  1489. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/client.py +0 -705
  1490. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/exceptions.py +0 -71
  1491. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/framing.py +0 -225
  1492. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/handshake.py +0 -158
  1493. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/http.py +0 -201
  1494. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/protocol.py +0 -1641
  1495. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/server.py +0 -1191
  1496. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/protocol.py +0 -758
  1497. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/py.typed +0 -0
  1498. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/server.py +0 -587
  1499. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/speedups.c +0 -222
  1500. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/speedups.cpython-39-darwin.so +0 -0
  1501. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/speedups.pyi +0 -1
  1502. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/streams.py +0 -151
  1503. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/sync/__init__.py +0 -0
  1504. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/sync/client.py +0 -648
  1505. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/sync/connection.py +0 -1072
  1506. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/sync/messages.py +0 -345
  1507. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/sync/router.py +0 -192
  1508. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/sync/server.py +0 -763
  1509. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/sync/utils.py +0 -45
  1510. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/typing.py +0 -74
  1511. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/uri.py +0 -225
  1512. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/utils.py +0 -51
  1513. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/version.py +0 -92
  1514. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets-15.0.1.dist-info/INSTALLER +0 -1
  1515. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets-15.0.1.dist-info/LICENSE +0 -24
  1516. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets-15.0.1.dist-info/METADATA +0 -179
  1517. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets-15.0.1.dist-info/RECORD +0 -106
  1518. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets-15.0.1.dist-info/WHEEL +0 -5
  1519. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets-15.0.1.dist-info/entry_points.txt +0 -2
  1520. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets-15.0.1.dist-info/top_level.txt +0 -1
  1521. package/.claude/envoy/.venv/pyvenv.cfg +0 -3
  1522. package/.claude/envoy/claude-envoy.py +0 -0
  1523. package/.claude/envoy/commands/__init__.py +0 -1
  1524. package/.claude/envoy/commands/base.py +0 -95
  1525. package/.claude/envoy/commands/parallel.py +0 -439
  1526. package/.claude/envoy/commands/perplexity.py +0 -86
  1527. package/.claude/envoy/commands/plans.py +0 -451
  1528. package/.claude/envoy/commands/tavily.py +0 -156
  1529. package/.claude/envoy/commands/vertex.py +0 -358
  1530. package/.claude/envoy/commands/xai.py +0 -124
  1531. package/.claude/envoy/envoy.py +0 -122
  1532. package/.claude/envoy/pyrightconfig.json +0 -4
  1533. package/.claude/envoy/requirements.txt +0 -2
  1534. package/.claude/hooks/capture-queries.sh +0 -3
  1535. package/.claude/hooks/scripts/enforce_planning.py +0 -118
  1536. package/.claude/hooks/scripts/enforce_rg.py +0 -34
  1537. package/.claude/hooks/scripts/validate_skill.py +0 -81
  1538. package/.claude/plans/feat-npm-package-cli/plan.md +0 -85
  1539. package/.claude/plans/feat-specialist-builder-patterns/plan.md +0 -298
  1540. package/.claude/skills/claude-envoy-curation/SKILL.md +0 -99
  1541. package/.claude/skills/claude-envoy-usage/SKILL.md +0 -38
  1542. package/.claude/skills/command-development/SKILL.md +0 -216
  1543. package/.claude/skills/command-development/examples/simple-commands.md +0 -212
  1544. package/.claude/skills/command-development/references/frontmatter-reference.md +0 -221
  1545. package/.claude/skills/hook-development/SKILL.md +0 -103
  1546. package/.claude/skills/hook-development/examples/command-hooks.md +0 -301
  1547. package/.claude/skills/hook-development/examples/prompt-hooks.md +0 -114
  1548. package/.claude/skills/hook-development/references/event-reference.md +0 -226
  1549. package/.claude/skills/repomix-extraction/SKILL.md +0 -89
  1550. package/.claude/skills/skill-development/SKILL.md +0 -236
  1551. package/.claude/skills/skill-development/examples/complete-skill-examples.md +0 -281
  1552. package/.claude/skills/skill-development/references/progressive-disclosure.md +0 -141
  1553. package/.claude/skills/skill-development/references/writing-style.md +0 -180
  1554. package/.claude/skills/skill-development/scripts/validate-skill.sh +0 -144
  1555. package/.claude/skills/specialist-builder/SKILL.md +0 -348
  1556. package/.claude/skills/specialist-builder/docs/agent-catalog.md +0 -28
  1557. package/.claude/skills/specialist-builder/examples/complete-agent-examples.md +0 -206
  1558. package/.claude/skills/specialist-builder/references/system-prompt-patterns.md +0 -281
  1559. package/.claude/skills/specialist-builder/references/triggering-examples.md +0 -162
  1560. package/.claude/skills/specialist-builder/scripts/validate-agent.sh +0 -137
  1561. /package/.claude/{envoy/.venv/lib/python3.9/site-packages/annotated_types/py.typed → skills/claude-envoy-patterns/SKILL.md} +0 -0
@@ -1,2189 +0,0 @@
1
- #
2
- # This file is part of pyasn1 software.
3
- #
4
- # Copyright (c) 2005-2020, Ilya Etingof <etingof@gmail.com>
5
- # License: https://pyasn1.readthedocs.io/en/latest/license.html
6
- #
7
- import io
8
- import os
9
- import sys
10
- import warnings
11
-
12
- from pyasn1 import debug
13
- from pyasn1 import error
14
- from pyasn1.codec.ber import eoo
15
- from pyasn1.codec.streaming import asSeekableStream
16
- from pyasn1.codec.streaming import isEndOfStream
17
- from pyasn1.codec.streaming import peekIntoStream
18
- from pyasn1.codec.streaming import readFromStream
19
- from pyasn1.compat import _MISSING
20
- from pyasn1.error import PyAsn1Error
21
- from pyasn1.type import base
22
- from pyasn1.type import char
23
- from pyasn1.type import tag
24
- from pyasn1.type import tagmap
25
- from pyasn1.type import univ
26
- from pyasn1.type import useful
27
-
28
- __all__ = ['StreamingDecoder', 'Decoder', 'decode']
29
-
30
- LOG = debug.registerLoggee(__name__, flags=debug.DEBUG_DECODER)
31
-
32
- noValue = base.noValue
33
-
34
- SubstrateUnderrunError = error.SubstrateUnderrunError
35
-
36
-
37
- class AbstractPayloadDecoder(object):
38
- protoComponent = None
39
-
40
- def valueDecoder(self, substrate, asn1Spec,
41
- tagSet=None, length=None, state=None,
42
- decodeFun=None, substrateFun=None,
43
- **options):
44
- """Decode value with fixed byte length.
45
-
46
- The decoder is allowed to consume as many bytes as necessary.
47
- """
48
- raise error.PyAsn1Error('SingleItemDecoder not implemented for %s' % (tagSet,)) # TODO: Seems more like an NotImplementedError?
49
-
50
- def indefLenValueDecoder(self, substrate, asn1Spec,
51
- tagSet=None, length=None, state=None,
52
- decodeFun=None, substrateFun=None,
53
- **options):
54
- """Decode value with undefined length.
55
-
56
- The decoder is allowed to consume as many bytes as necessary.
57
- """
58
- raise error.PyAsn1Error('Indefinite length mode decoder not implemented for %s' % (tagSet,)) # TODO: Seems more like an NotImplementedError?
59
-
60
- @staticmethod
61
- def _passAsn1Object(asn1Object, options):
62
- if 'asn1Object' not in options:
63
- options['asn1Object'] = asn1Object
64
-
65
- return options
66
-
67
-
68
- class AbstractSimplePayloadDecoder(AbstractPayloadDecoder):
69
- @staticmethod
70
- def substrateCollector(asn1Object, substrate, length, options):
71
- for chunk in readFromStream(substrate, length, options):
72
- yield chunk
73
-
74
- def _createComponent(self, asn1Spec, tagSet, value, **options):
75
- if options.get('native'):
76
- return value
77
- elif asn1Spec is None:
78
- return self.protoComponent.clone(value, tagSet=tagSet)
79
- elif value is noValue:
80
- return asn1Spec
81
- else:
82
- return asn1Spec.clone(value)
83
-
84
-
85
- class RawPayloadDecoder(AbstractSimplePayloadDecoder):
86
- protoComponent = univ.Any('')
87
-
88
- def valueDecoder(self, substrate, asn1Spec,
89
- tagSet=None, length=None, state=None,
90
- decodeFun=None, substrateFun=None,
91
- **options):
92
- if substrateFun:
93
- asn1Object = self._createComponent(asn1Spec, tagSet, '', **options)
94
-
95
- for chunk in substrateFun(asn1Object, substrate, length, options):
96
- yield chunk
97
-
98
- return
99
-
100
- for value in decodeFun(substrate, asn1Spec, tagSet, length, **options):
101
- yield value
102
-
103
- def indefLenValueDecoder(self, substrate, asn1Spec,
104
- tagSet=None, length=None, state=None,
105
- decodeFun=None, substrateFun=None,
106
- **options):
107
- if substrateFun:
108
- asn1Object = self._createComponent(asn1Spec, tagSet, '', **options)
109
-
110
- for chunk in substrateFun(asn1Object, substrate, length, options):
111
- yield chunk
112
-
113
- return
114
-
115
- while True:
116
- for value in decodeFun(
117
- substrate, asn1Spec, tagSet, length,
118
- allowEoo=True, **options):
119
-
120
- if value is eoo.endOfOctets:
121
- return
122
-
123
- yield value
124
-
125
-
126
- rawPayloadDecoder = RawPayloadDecoder()
127
-
128
-
129
- class IntegerPayloadDecoder(AbstractSimplePayloadDecoder):
130
- protoComponent = univ.Integer(0)
131
-
132
- def valueDecoder(self, substrate, asn1Spec,
133
- tagSet=None, length=None, state=None,
134
- decodeFun=None, substrateFun=None,
135
- **options):
136
-
137
- if tagSet[0].tagFormat != tag.tagFormatSimple:
138
- raise error.PyAsn1Error('Simple tag format expected')
139
-
140
- for chunk in readFromStream(substrate, length, options):
141
- if isinstance(chunk, SubstrateUnderrunError):
142
- yield chunk
143
-
144
- if chunk:
145
- value = int.from_bytes(bytes(chunk), 'big', signed=True)
146
-
147
- else:
148
- value = 0
149
-
150
- yield self._createComponent(asn1Spec, tagSet, value, **options)
151
-
152
-
153
- class BooleanPayloadDecoder(IntegerPayloadDecoder):
154
- protoComponent = univ.Boolean(0)
155
-
156
- def _createComponent(self, asn1Spec, tagSet, value, **options):
157
- return IntegerPayloadDecoder._createComponent(
158
- self, asn1Spec, tagSet, value and 1 or 0, **options)
159
-
160
-
161
- class BitStringPayloadDecoder(AbstractSimplePayloadDecoder):
162
- protoComponent = univ.BitString(())
163
- supportConstructedForm = True
164
-
165
- def valueDecoder(self, substrate, asn1Spec,
166
- tagSet=None, length=None, state=None,
167
- decodeFun=None, substrateFun=None,
168
- **options):
169
-
170
- if substrateFun:
171
- asn1Object = self._createComponent(asn1Spec, tagSet, noValue, **options)
172
-
173
- for chunk in substrateFun(asn1Object, substrate, length, options):
174
- yield chunk
175
-
176
- return
177
-
178
- if not length:
179
- raise error.PyAsn1Error('Empty BIT STRING substrate')
180
-
181
- for chunk in isEndOfStream(substrate):
182
- if isinstance(chunk, SubstrateUnderrunError):
183
- yield chunk
184
-
185
- if chunk:
186
- raise error.PyAsn1Error('Empty BIT STRING substrate')
187
-
188
- if tagSet[0].tagFormat == tag.tagFormatSimple: # XXX what tag to check?
189
-
190
- for trailingBits in readFromStream(substrate, 1, options):
191
- if isinstance(trailingBits, SubstrateUnderrunError):
192
- yield trailingBits
193
-
194
- trailingBits = ord(trailingBits)
195
- if trailingBits > 7:
196
- raise error.PyAsn1Error(
197
- 'Trailing bits overflow %s' % trailingBits
198
- )
199
-
200
- for chunk in readFromStream(substrate, length - 1, options):
201
- if isinstance(chunk, SubstrateUnderrunError):
202
- yield chunk
203
-
204
- value = self.protoComponent.fromOctetString(
205
- chunk, internalFormat=True, padding=trailingBits)
206
-
207
- yield self._createComponent(asn1Spec, tagSet, value, **options)
208
-
209
- return
210
-
211
- if not self.supportConstructedForm:
212
- raise error.PyAsn1Error('Constructed encoding form prohibited '
213
- 'at %s' % self.__class__.__name__)
214
-
215
- if LOG:
216
- LOG('assembling constructed serialization')
217
-
218
- # All inner fragments are of the same type, treat them as octet string
219
- substrateFun = self.substrateCollector
220
-
221
- bitString = self.protoComponent.fromOctetString(b'', internalFormat=True)
222
-
223
- current_position = substrate.tell()
224
-
225
- while substrate.tell() - current_position < length:
226
- for component in decodeFun(
227
- substrate, self.protoComponent, substrateFun=substrateFun,
228
- **options):
229
- if isinstance(component, SubstrateUnderrunError):
230
- yield component
231
-
232
- trailingBits = component[0]
233
- if trailingBits > 7:
234
- raise error.PyAsn1Error(
235
- 'Trailing bits overflow %s' % trailingBits
236
- )
237
-
238
- bitString = self.protoComponent.fromOctetString(
239
- component[1:], internalFormat=True,
240
- prepend=bitString, padding=trailingBits
241
- )
242
-
243
- yield self._createComponent(asn1Spec, tagSet, bitString, **options)
244
-
245
- def indefLenValueDecoder(self, substrate, asn1Spec,
246
- tagSet=None, length=None, state=None,
247
- decodeFun=None, substrateFun=None,
248
- **options):
249
-
250
- if substrateFun:
251
- asn1Object = self._createComponent(asn1Spec, tagSet, noValue, **options)
252
-
253
- for chunk in substrateFun(asn1Object, substrate, length, options):
254
- yield chunk
255
-
256
- return
257
-
258
- # All inner fragments are of the same type, treat them as octet string
259
- substrateFun = self.substrateCollector
260
-
261
- bitString = self.protoComponent.fromOctetString(b'', internalFormat=True)
262
-
263
- while True: # loop over fragments
264
-
265
- for component in decodeFun(
266
- substrate, self.protoComponent, substrateFun=substrateFun,
267
- allowEoo=True, **options):
268
-
269
- if component is eoo.endOfOctets:
270
- break
271
-
272
- if isinstance(component, SubstrateUnderrunError):
273
- yield component
274
-
275
- if component is eoo.endOfOctets:
276
- break
277
-
278
- trailingBits = component[0]
279
- if trailingBits > 7:
280
- raise error.PyAsn1Error(
281
- 'Trailing bits overflow %s' % trailingBits
282
- )
283
-
284
- bitString = self.protoComponent.fromOctetString(
285
- component[1:], internalFormat=True,
286
- prepend=bitString, padding=trailingBits
287
- )
288
-
289
- yield self._createComponent(asn1Spec, tagSet, bitString, **options)
290
-
291
-
292
- class OctetStringPayloadDecoder(AbstractSimplePayloadDecoder):
293
- protoComponent = univ.OctetString('')
294
- supportConstructedForm = True
295
-
296
- def valueDecoder(self, substrate, asn1Spec,
297
- tagSet=None, length=None, state=None,
298
- decodeFun=None, substrateFun=None,
299
- **options):
300
- if substrateFun:
301
- asn1Object = self._createComponent(asn1Spec, tagSet, noValue, **options)
302
-
303
- for chunk in substrateFun(asn1Object, substrate, length, options):
304
- yield chunk
305
-
306
- return
307
-
308
- if tagSet[0].tagFormat == tag.tagFormatSimple: # XXX what tag to check?
309
- for chunk in readFromStream(substrate, length, options):
310
- if isinstance(chunk, SubstrateUnderrunError):
311
- yield chunk
312
-
313
- yield self._createComponent(asn1Spec, tagSet, chunk, **options)
314
-
315
- return
316
-
317
- if not self.supportConstructedForm:
318
- raise error.PyAsn1Error('Constructed encoding form prohibited at %s' % self.__class__.__name__)
319
-
320
- if LOG:
321
- LOG('assembling constructed serialization')
322
-
323
- # All inner fragments are of the same type, treat them as octet string
324
- substrateFun = self.substrateCollector
325
-
326
- header = b''
327
-
328
- original_position = substrate.tell()
329
- # head = popSubstream(substrate, length)
330
- while substrate.tell() - original_position < length:
331
- for component in decodeFun(
332
- substrate, self.protoComponent, substrateFun=substrateFun,
333
- **options):
334
- if isinstance(component, SubstrateUnderrunError):
335
- yield component
336
-
337
- header += component
338
-
339
- yield self._createComponent(asn1Spec, tagSet, header, **options)
340
-
341
- def indefLenValueDecoder(self, substrate, asn1Spec,
342
- tagSet=None, length=None, state=None,
343
- decodeFun=None, substrateFun=None,
344
- **options):
345
- if substrateFun and substrateFun is not self.substrateCollector:
346
- asn1Object = self._createComponent(asn1Spec, tagSet, noValue, **options)
347
-
348
- for chunk in substrateFun(asn1Object, substrate, length, options):
349
- yield chunk
350
-
351
- return
352
-
353
- # All inner fragments are of the same type, treat them as octet string
354
- substrateFun = self.substrateCollector
355
-
356
- header = b''
357
-
358
- while True: # loop over fragments
359
-
360
- for component in decodeFun(
361
- substrate, self.protoComponent, substrateFun=substrateFun,
362
- allowEoo=True, **options):
363
-
364
- if isinstance(component, SubstrateUnderrunError):
365
- yield component
366
-
367
- if component is eoo.endOfOctets:
368
- break
369
-
370
- if component is eoo.endOfOctets:
371
- break
372
-
373
- header += component
374
-
375
- yield self._createComponent(asn1Spec, tagSet, header, **options)
376
-
377
-
378
- class NullPayloadDecoder(AbstractSimplePayloadDecoder):
379
- protoComponent = univ.Null('')
380
-
381
- def valueDecoder(self, substrate, asn1Spec,
382
- tagSet=None, length=None, state=None,
383
- decodeFun=None, substrateFun=None,
384
- **options):
385
-
386
- if tagSet[0].tagFormat != tag.tagFormatSimple:
387
- raise error.PyAsn1Error('Simple tag format expected')
388
-
389
- for chunk in readFromStream(substrate, length, options):
390
- if isinstance(chunk, SubstrateUnderrunError):
391
- yield chunk
392
-
393
- component = self._createComponent(asn1Spec, tagSet, '', **options)
394
-
395
- if chunk:
396
- raise error.PyAsn1Error('Unexpected %d-octet substrate for Null' % length)
397
-
398
- yield component
399
-
400
-
401
- class ObjectIdentifierPayloadDecoder(AbstractSimplePayloadDecoder):
402
- protoComponent = univ.ObjectIdentifier(())
403
-
404
- def valueDecoder(self, substrate, asn1Spec,
405
- tagSet=None, length=None, state=None,
406
- decodeFun=None, substrateFun=None,
407
- **options):
408
- if tagSet[0].tagFormat != tag.tagFormatSimple:
409
- raise error.PyAsn1Error('Simple tag format expected')
410
-
411
- for chunk in readFromStream(substrate, length, options):
412
- if isinstance(chunk, SubstrateUnderrunError):
413
- yield chunk
414
-
415
- if not chunk:
416
- raise error.PyAsn1Error('Empty substrate')
417
-
418
- oid = ()
419
- index = 0
420
- substrateLen = len(chunk)
421
- while index < substrateLen:
422
- subId = chunk[index]
423
- index += 1
424
- if subId < 128:
425
- oid += (subId,)
426
- elif subId > 128:
427
- # Construct subid from a number of octets
428
- nextSubId = subId
429
- subId = 0
430
- while nextSubId >= 128:
431
- subId = (subId << 7) + (nextSubId & 0x7F)
432
- if index >= substrateLen:
433
- raise error.SubstrateUnderrunError(
434
- 'Short substrate for sub-OID past %s' % (oid,)
435
- )
436
- nextSubId = chunk[index]
437
- index += 1
438
- oid += ((subId << 7) + nextSubId,)
439
- elif subId == 128:
440
- # ASN.1 spec forbids leading zeros (0x80) in OID
441
- # encoding, tolerating it opens a vulnerability. See
442
- # https://www.esat.kuleuven.be/cosic/publications/article-1432.pdf
443
- # page 7
444
- raise error.PyAsn1Error('Invalid octet 0x80 in OID encoding')
445
-
446
- # Decode two leading arcs
447
- if 0 <= oid[0] <= 39:
448
- oid = (0,) + oid
449
- elif 40 <= oid[0] <= 79:
450
- oid = (1, oid[0] - 40) + oid[1:]
451
- elif oid[0] >= 80:
452
- oid = (2, oid[0] - 80) + oid[1:]
453
- else:
454
- raise error.PyAsn1Error('Malformed first OID octet: %s' % chunk[0])
455
-
456
- yield self._createComponent(asn1Spec, tagSet, oid, **options)
457
-
458
-
459
- class RelativeOIDPayloadDecoder(AbstractSimplePayloadDecoder):
460
- protoComponent = univ.RelativeOID(())
461
-
462
- def valueDecoder(self, substrate, asn1Spec,
463
- tagSet=None, length=None, state=None,
464
- decodeFun=None, substrateFun=None,
465
- **options):
466
- if tagSet[0].tagFormat != tag.tagFormatSimple:
467
- raise error.PyAsn1Error('Simple tag format expected')
468
-
469
- for chunk in readFromStream(substrate, length, options):
470
- if isinstance(chunk, SubstrateUnderrunError):
471
- yield chunk
472
-
473
- if not chunk:
474
- raise error.PyAsn1Error('Empty substrate')
475
-
476
- reloid = ()
477
- index = 0
478
- substrateLen = len(chunk)
479
- while index < substrateLen:
480
- subId = chunk[index]
481
- index += 1
482
- if subId < 128:
483
- reloid += (subId,)
484
- elif subId > 128:
485
- # Construct subid from a number of octets
486
- nextSubId = subId
487
- subId = 0
488
- while nextSubId >= 128:
489
- subId = (subId << 7) + (nextSubId & 0x7F)
490
- if index >= substrateLen:
491
- raise error.SubstrateUnderrunError(
492
- 'Short substrate for sub-OID past %s' % (reloid,)
493
- )
494
- nextSubId = chunk[index]
495
- index += 1
496
- reloid += ((subId << 7) + nextSubId,)
497
- elif subId == 128:
498
- # ASN.1 spec forbids leading zeros (0x80) in OID
499
- # encoding, tolerating it opens a vulnerability. See
500
- # https://www.esat.kuleuven.be/cosic/publications/article-1432.pdf
501
- # page 7
502
- raise error.PyAsn1Error('Invalid octet 0x80 in RELATIVE-OID encoding')
503
-
504
- yield self._createComponent(asn1Spec, tagSet, reloid, **options)
505
-
506
-
507
- class RealPayloadDecoder(AbstractSimplePayloadDecoder):
508
- protoComponent = univ.Real()
509
-
510
- def valueDecoder(self, substrate, asn1Spec,
511
- tagSet=None, length=None, state=None,
512
- decodeFun=None, substrateFun=None,
513
- **options):
514
- if tagSet[0].tagFormat != tag.tagFormatSimple:
515
- raise error.PyAsn1Error('Simple tag format expected')
516
-
517
- for chunk in readFromStream(substrate, length, options):
518
- if isinstance(chunk, SubstrateUnderrunError):
519
- yield chunk
520
-
521
- if not chunk:
522
- yield self._createComponent(asn1Spec, tagSet, 0.0, **options)
523
- return
524
-
525
- fo = chunk[0]
526
- chunk = chunk[1:]
527
- if fo & 0x80: # binary encoding
528
- if not chunk:
529
- raise error.PyAsn1Error("Incomplete floating-point value")
530
-
531
- if LOG:
532
- LOG('decoding binary encoded REAL')
533
-
534
- n = (fo & 0x03) + 1
535
-
536
- if n == 4:
537
- n = chunk[0]
538
- chunk = chunk[1:]
539
-
540
- eo, chunk = chunk[:n], chunk[n:]
541
-
542
- if not eo or not chunk:
543
- raise error.PyAsn1Error('Real exponent screwed')
544
-
545
- e = eo[0] & 0x80 and -1 or 0
546
-
547
- while eo: # exponent
548
- e <<= 8
549
- e |= eo[0]
550
- eo = eo[1:]
551
-
552
- b = fo >> 4 & 0x03 # base bits
553
-
554
- if b > 2:
555
- raise error.PyAsn1Error('Illegal Real base')
556
-
557
- if b == 1: # encbase = 8
558
- e *= 3
559
-
560
- elif b == 2: # encbase = 16
561
- e *= 4
562
- p = 0
563
-
564
- while chunk: # value
565
- p <<= 8
566
- p |= chunk[0]
567
- chunk = chunk[1:]
568
-
569
- if fo & 0x40: # sign bit
570
- p = -p
571
-
572
- sf = fo >> 2 & 0x03 # scale bits
573
- p *= 2 ** sf
574
- value = (p, 2, e)
575
-
576
- elif fo & 0x40: # infinite value
577
- if LOG:
578
- LOG('decoding infinite REAL')
579
-
580
- value = fo & 0x01 and '-inf' or 'inf'
581
-
582
- elif fo & 0xc0 == 0: # character encoding
583
- if not chunk:
584
- raise error.PyAsn1Error("Incomplete floating-point value")
585
-
586
- if LOG:
587
- LOG('decoding character encoded REAL')
588
-
589
- try:
590
- if fo & 0x3 == 0x1: # NR1
591
- value = (int(chunk), 10, 0)
592
-
593
- elif fo & 0x3 == 0x2: # NR2
594
- value = float(chunk)
595
-
596
- elif fo & 0x3 == 0x3: # NR3
597
- value = float(chunk)
598
-
599
- else:
600
- raise error.SubstrateUnderrunError(
601
- 'Unknown NR (tag %s)' % fo
602
- )
603
-
604
- except ValueError:
605
- raise error.SubstrateUnderrunError(
606
- 'Bad character Real syntax'
607
- )
608
-
609
- else:
610
- raise error.SubstrateUnderrunError(
611
- 'Unknown encoding (tag %s)' % fo
612
- )
613
-
614
- yield self._createComponent(asn1Spec, tagSet, value, **options)
615
-
616
-
617
- class AbstractConstructedPayloadDecoder(AbstractPayloadDecoder):
618
- protoComponent = None
619
-
620
-
621
- class ConstructedPayloadDecoderBase(AbstractConstructedPayloadDecoder):
622
- protoRecordComponent = None
623
- protoSequenceComponent = None
624
-
625
- def _getComponentTagMap(self, asn1Object, idx):
626
- raise NotImplementedError
627
-
628
- def _getComponentPositionByType(self, asn1Object, tagSet, idx):
629
- raise NotImplementedError
630
-
631
- def _decodeComponentsSchemaless(
632
- self, substrate, tagSet=None, decodeFun=None,
633
- length=None, **options):
634
-
635
- asn1Object = None
636
-
637
- components = []
638
- componentTypes = set()
639
-
640
- original_position = substrate.tell()
641
-
642
- while length == -1 or substrate.tell() < original_position + length:
643
- for component in decodeFun(substrate, **options):
644
- if isinstance(component, SubstrateUnderrunError):
645
- yield component
646
-
647
- if length == -1 and component is eoo.endOfOctets:
648
- break
649
-
650
- components.append(component)
651
- componentTypes.add(component.tagSet)
652
-
653
- # Now we have to guess is it SEQUENCE/SET or SEQUENCE OF/SET OF
654
- # The heuristics is:
655
- # * 1+ components of different types -> likely SEQUENCE/SET
656
- # * otherwise -> likely SEQUENCE OF/SET OF
657
- if len(componentTypes) > 1:
658
- protoComponent = self.protoRecordComponent
659
-
660
- else:
661
- protoComponent = self.protoSequenceComponent
662
-
663
- asn1Object = protoComponent.clone(
664
- # construct tagSet from base tag from prototype ASN.1 object
665
- # and additional tags recovered from the substrate
666
- tagSet=tag.TagSet(protoComponent.tagSet.baseTag, *tagSet.superTags)
667
- )
668
-
669
- if LOG:
670
- LOG('guessed %r container type (pass `asn1Spec` to guide the '
671
- 'decoder)' % asn1Object)
672
-
673
- for idx, component in enumerate(components):
674
- asn1Object.setComponentByPosition(
675
- idx, component,
676
- verifyConstraints=False,
677
- matchTags=False, matchConstraints=False
678
- )
679
-
680
- yield asn1Object
681
-
682
- def valueDecoder(self, substrate, asn1Spec,
683
- tagSet=None, length=None, state=None,
684
- decodeFun=None, substrateFun=None,
685
- **options):
686
- if tagSet[0].tagFormat != tag.tagFormatConstructed:
687
- raise error.PyAsn1Error('Constructed tag format expected')
688
-
689
- original_position = substrate.tell()
690
-
691
- if substrateFun:
692
- if asn1Spec is not None:
693
- asn1Object = asn1Spec.clone()
694
-
695
- elif self.protoComponent is not None:
696
- asn1Object = self.protoComponent.clone(tagSet=tagSet)
697
-
698
- else:
699
- asn1Object = self.protoRecordComponent, self.protoSequenceComponent
700
-
701
- for chunk in substrateFun(asn1Object, substrate, length, options):
702
- yield chunk
703
-
704
- return
705
-
706
- if asn1Spec is None:
707
- for asn1Object in self._decodeComponentsSchemaless(
708
- substrate, tagSet=tagSet, decodeFun=decodeFun,
709
- length=length, **options):
710
- if isinstance(asn1Object, SubstrateUnderrunError):
711
- yield asn1Object
712
-
713
- if substrate.tell() < original_position + length:
714
- if LOG:
715
- for trailing in readFromStream(substrate, context=options):
716
- if isinstance(trailing, SubstrateUnderrunError):
717
- yield trailing
718
-
719
- LOG('Unused trailing %d octets encountered: %s' % (
720
- len(trailing), debug.hexdump(trailing)))
721
-
722
- yield asn1Object
723
-
724
- return
725
-
726
- asn1Object = asn1Spec.clone()
727
- asn1Object.clear()
728
-
729
- options = self._passAsn1Object(asn1Object, options)
730
-
731
- if asn1Spec.typeId in (univ.Sequence.typeId, univ.Set.typeId):
732
-
733
- namedTypes = asn1Spec.componentType
734
-
735
- isSetType = asn1Spec.typeId == univ.Set.typeId
736
- isDeterministic = not isSetType and not namedTypes.hasOptionalOrDefault
737
-
738
- if LOG:
739
- LOG('decoding %sdeterministic %s type %r chosen by type ID' % (
740
- not isDeterministic and 'non-' or '', isSetType and 'SET' or '',
741
- asn1Spec))
742
-
743
- seenIndices = set()
744
- idx = 0
745
- while substrate.tell() - original_position < length:
746
- if not namedTypes:
747
- componentType = None
748
-
749
- elif isSetType:
750
- componentType = namedTypes.tagMapUnique
751
-
752
- else:
753
- try:
754
- if isDeterministic:
755
- componentType = namedTypes[idx].asn1Object
756
-
757
- elif namedTypes[idx].isOptional or namedTypes[idx].isDefaulted:
758
- componentType = namedTypes.getTagMapNearPosition(idx)
759
-
760
- else:
761
- componentType = namedTypes[idx].asn1Object
762
-
763
- except IndexError:
764
- raise error.PyAsn1Error(
765
- 'Excessive components decoded at %r' % (asn1Spec,)
766
- )
767
-
768
- for component in decodeFun(substrate, componentType, **options):
769
- if isinstance(component, SubstrateUnderrunError):
770
- yield component
771
-
772
- if not isDeterministic and namedTypes:
773
- if isSetType:
774
- idx = namedTypes.getPositionByType(component.effectiveTagSet)
775
-
776
- elif namedTypes[idx].isOptional or namedTypes[idx].isDefaulted:
777
- idx = namedTypes.getPositionNearType(component.effectiveTagSet, idx)
778
-
779
- asn1Object.setComponentByPosition(
780
- idx, component,
781
- verifyConstraints=False,
782
- matchTags=False, matchConstraints=False
783
- )
784
-
785
- seenIndices.add(idx)
786
- idx += 1
787
-
788
- if LOG:
789
- LOG('seen component indices %s' % seenIndices)
790
-
791
- if namedTypes:
792
- if not namedTypes.requiredComponents.issubset(seenIndices):
793
- raise error.PyAsn1Error(
794
- 'ASN.1 object %s has uninitialized '
795
- 'components' % asn1Object.__class__.__name__)
796
-
797
- if namedTypes.hasOpenTypes:
798
-
799
- openTypes = options.get('openTypes', {})
800
-
801
- if LOG:
802
- LOG('user-specified open types map:')
803
-
804
- for k, v in openTypes.items():
805
- LOG('%s -> %r' % (k, v))
806
-
807
- if openTypes or options.get('decodeOpenTypes', False):
808
-
809
- for idx, namedType in enumerate(namedTypes.namedTypes):
810
- if not namedType.openType:
811
- continue
812
-
813
- if namedType.isOptional and not asn1Object.getComponentByPosition(idx).isValue:
814
- continue
815
-
816
- governingValue = asn1Object.getComponentByName(
817
- namedType.openType.name
818
- )
819
-
820
- try:
821
- openType = openTypes[governingValue]
822
-
823
- except KeyError:
824
-
825
- if LOG:
826
- LOG('default open types map of component '
827
- '"%s.%s" governed by component "%s.%s"'
828
- ':' % (asn1Object.__class__.__name__,
829
- namedType.name,
830
- asn1Object.__class__.__name__,
831
- namedType.openType.name))
832
-
833
- for k, v in namedType.openType.items():
834
- LOG('%s -> %r' % (k, v))
835
-
836
- try:
837
- openType = namedType.openType[governingValue]
838
-
839
- except KeyError:
840
- if LOG:
841
- LOG('failed to resolve open type by governing '
842
- 'value %r' % (governingValue,))
843
- continue
844
-
845
- if LOG:
846
- LOG('resolved open type %r by governing '
847
- 'value %r' % (openType, governingValue))
848
-
849
- containerValue = asn1Object.getComponentByPosition(idx)
850
-
851
- if containerValue.typeId in (
852
- univ.SetOf.typeId, univ.SequenceOf.typeId):
853
-
854
- for pos, containerElement in enumerate(
855
- containerValue):
856
-
857
- stream = asSeekableStream(containerValue[pos].asOctets())
858
-
859
- for component in decodeFun(stream, asn1Spec=openType, **options):
860
- if isinstance(component, SubstrateUnderrunError):
861
- yield component
862
-
863
- containerValue[pos] = component
864
-
865
- else:
866
- stream = asSeekableStream(asn1Object.getComponentByPosition(idx).asOctets())
867
-
868
- for component in decodeFun(stream, asn1Spec=openType, **options):
869
- if isinstance(component, SubstrateUnderrunError):
870
- yield component
871
-
872
- asn1Object.setComponentByPosition(idx, component)
873
-
874
- else:
875
- inconsistency = asn1Object.isInconsistent
876
- if inconsistency:
877
- raise error.PyAsn1Error(
878
- f"ASN.1 object {asn1Object.__class__.__name__} is inconsistent")
879
-
880
- else:
881
- componentType = asn1Spec.componentType
882
-
883
- if LOG:
884
- LOG('decoding type %r chosen by given `asn1Spec`' % componentType)
885
-
886
- idx = 0
887
-
888
- while substrate.tell() - original_position < length:
889
- for component in decodeFun(substrate, componentType, **options):
890
- if isinstance(component, SubstrateUnderrunError):
891
- yield component
892
-
893
- asn1Object.setComponentByPosition(
894
- idx, component,
895
- verifyConstraints=False,
896
- matchTags=False, matchConstraints=False
897
- )
898
-
899
- idx += 1
900
-
901
- yield asn1Object
902
-
903
- def indefLenValueDecoder(self, substrate, asn1Spec,
904
- tagSet=None, length=None, state=None,
905
- decodeFun=None, substrateFun=None,
906
- **options):
907
- if tagSet[0].tagFormat != tag.tagFormatConstructed:
908
- raise error.PyAsn1Error('Constructed tag format expected')
909
-
910
- if substrateFun is not None:
911
- if asn1Spec is not None:
912
- asn1Object = asn1Spec.clone()
913
-
914
- elif self.protoComponent is not None:
915
- asn1Object = self.protoComponent.clone(tagSet=tagSet)
916
-
917
- else:
918
- asn1Object = self.protoRecordComponent, self.protoSequenceComponent
919
-
920
- for chunk in substrateFun(asn1Object, substrate, length, options):
921
- yield chunk
922
-
923
- return
924
-
925
- if asn1Spec is None:
926
- for asn1Object in self._decodeComponentsSchemaless(
927
- substrate, tagSet=tagSet, decodeFun=decodeFun,
928
- length=length, **dict(options, allowEoo=True)):
929
- if isinstance(asn1Object, SubstrateUnderrunError):
930
- yield asn1Object
931
-
932
- yield asn1Object
933
-
934
- return
935
-
936
- asn1Object = asn1Spec.clone()
937
- asn1Object.clear()
938
-
939
- options = self._passAsn1Object(asn1Object, options)
940
-
941
- if asn1Spec.typeId in (univ.Sequence.typeId, univ.Set.typeId):
942
-
943
- namedTypes = asn1Object.componentType
944
-
945
- isSetType = asn1Object.typeId == univ.Set.typeId
946
- isDeterministic = not isSetType and not namedTypes.hasOptionalOrDefault
947
-
948
- if LOG:
949
- LOG('decoding %sdeterministic %s type %r chosen by type ID' % (
950
- not isDeterministic and 'non-' or '', isSetType and 'SET' or '',
951
- asn1Spec))
952
-
953
- seenIndices = set()
954
-
955
- idx = 0
956
-
957
- while True: # loop over components
958
- if len(namedTypes) <= idx:
959
- asn1Spec = None
960
-
961
- elif isSetType:
962
- asn1Spec = namedTypes.tagMapUnique
963
-
964
- else:
965
- try:
966
- if isDeterministic:
967
- asn1Spec = namedTypes[idx].asn1Object
968
-
969
- elif namedTypes[idx].isOptional or namedTypes[idx].isDefaulted:
970
- asn1Spec = namedTypes.getTagMapNearPosition(idx)
971
-
972
- else:
973
- asn1Spec = namedTypes[idx].asn1Object
974
-
975
- except IndexError:
976
- raise error.PyAsn1Error(
977
- 'Excessive components decoded at %r' % (asn1Object,)
978
- )
979
-
980
- for component in decodeFun(substrate, asn1Spec, allowEoo=True, **options):
981
-
982
- if isinstance(component, SubstrateUnderrunError):
983
- yield component
984
-
985
- if component is eoo.endOfOctets:
986
- break
987
-
988
- if component is eoo.endOfOctets:
989
- break
990
-
991
- if not isDeterministic and namedTypes:
992
- if isSetType:
993
- idx = namedTypes.getPositionByType(component.effectiveTagSet)
994
-
995
- elif namedTypes[idx].isOptional or namedTypes[idx].isDefaulted:
996
- idx = namedTypes.getPositionNearType(component.effectiveTagSet, idx)
997
-
998
- asn1Object.setComponentByPosition(
999
- idx, component,
1000
- verifyConstraints=False,
1001
- matchTags=False, matchConstraints=False
1002
- )
1003
-
1004
- seenIndices.add(idx)
1005
- idx += 1
1006
-
1007
- if LOG:
1008
- LOG('seen component indices %s' % seenIndices)
1009
-
1010
- if namedTypes:
1011
- if not namedTypes.requiredComponents.issubset(seenIndices):
1012
- raise error.PyAsn1Error(
1013
- 'ASN.1 object %s has uninitialized '
1014
- 'components' % asn1Object.__class__.__name__)
1015
-
1016
- if namedTypes.hasOpenTypes:
1017
-
1018
- openTypes = options.get('openTypes', {})
1019
-
1020
- if LOG:
1021
- LOG('user-specified open types map:')
1022
-
1023
- for k, v in openTypes.items():
1024
- LOG('%s -> %r' % (k, v))
1025
-
1026
- if openTypes or options.get('decodeOpenTypes', False):
1027
-
1028
- for idx, namedType in enumerate(namedTypes.namedTypes):
1029
- if not namedType.openType:
1030
- continue
1031
-
1032
- if namedType.isOptional and not asn1Object.getComponentByPosition(idx).isValue:
1033
- continue
1034
-
1035
- governingValue = asn1Object.getComponentByName(
1036
- namedType.openType.name
1037
- )
1038
-
1039
- try:
1040
- openType = openTypes[governingValue]
1041
-
1042
- except KeyError:
1043
-
1044
- if LOG:
1045
- LOG('default open types map of component '
1046
- '"%s.%s" governed by component "%s.%s"'
1047
- ':' % (asn1Object.__class__.__name__,
1048
- namedType.name,
1049
- asn1Object.__class__.__name__,
1050
- namedType.openType.name))
1051
-
1052
- for k, v in namedType.openType.items():
1053
- LOG('%s -> %r' % (k, v))
1054
-
1055
- try:
1056
- openType = namedType.openType[governingValue]
1057
-
1058
- except KeyError:
1059
- if LOG:
1060
- LOG('failed to resolve open type by governing '
1061
- 'value %r' % (governingValue,))
1062
- continue
1063
-
1064
- if LOG:
1065
- LOG('resolved open type %r by governing '
1066
- 'value %r' % (openType, governingValue))
1067
-
1068
- containerValue = asn1Object.getComponentByPosition(idx)
1069
-
1070
- if containerValue.typeId in (
1071
- univ.SetOf.typeId, univ.SequenceOf.typeId):
1072
-
1073
- for pos, containerElement in enumerate(
1074
- containerValue):
1075
-
1076
- stream = asSeekableStream(containerValue[pos].asOctets())
1077
-
1078
- for component in decodeFun(stream, asn1Spec=openType,
1079
- **dict(options, allowEoo=True)):
1080
- if isinstance(component, SubstrateUnderrunError):
1081
- yield component
1082
-
1083
- if component is eoo.endOfOctets:
1084
- break
1085
-
1086
- containerValue[pos] = component
1087
-
1088
- else:
1089
- stream = asSeekableStream(asn1Object.getComponentByPosition(idx).asOctets())
1090
- for component in decodeFun(stream, asn1Spec=openType,
1091
- **dict(options, allowEoo=True)):
1092
- if isinstance(component, SubstrateUnderrunError):
1093
- yield component
1094
-
1095
- if component is eoo.endOfOctets:
1096
- break
1097
-
1098
- asn1Object.setComponentByPosition(idx, component)
1099
-
1100
- else:
1101
- inconsistency = asn1Object.isInconsistent
1102
- if inconsistency:
1103
- raise error.PyAsn1Error(
1104
- f"ASN.1 object {asn1Object.__class__.__name__} is inconsistent")
1105
-
1106
- else:
1107
- componentType = asn1Spec.componentType
1108
-
1109
- if LOG:
1110
- LOG('decoding type %r chosen by given `asn1Spec`' % componentType)
1111
-
1112
- idx = 0
1113
-
1114
- while True:
1115
-
1116
- for component in decodeFun(
1117
- substrate, componentType, allowEoo=True, **options):
1118
-
1119
- if isinstance(component, SubstrateUnderrunError):
1120
- yield component
1121
-
1122
- if component is eoo.endOfOctets:
1123
- break
1124
-
1125
- if component is eoo.endOfOctets:
1126
- break
1127
-
1128
- asn1Object.setComponentByPosition(
1129
- idx, component,
1130
- verifyConstraints=False,
1131
- matchTags=False, matchConstraints=False
1132
- )
1133
-
1134
- idx += 1
1135
-
1136
- yield asn1Object
1137
-
1138
-
1139
- class SequenceOrSequenceOfPayloadDecoder(ConstructedPayloadDecoderBase):
1140
- protoRecordComponent = univ.Sequence()
1141
- protoSequenceComponent = univ.SequenceOf()
1142
-
1143
-
1144
- class SequencePayloadDecoder(SequenceOrSequenceOfPayloadDecoder):
1145
- protoComponent = univ.Sequence()
1146
-
1147
-
1148
- class SequenceOfPayloadDecoder(SequenceOrSequenceOfPayloadDecoder):
1149
- protoComponent = univ.SequenceOf()
1150
-
1151
-
1152
- class SetOrSetOfPayloadDecoder(ConstructedPayloadDecoderBase):
1153
- protoRecordComponent = univ.Set()
1154
- protoSequenceComponent = univ.SetOf()
1155
-
1156
-
1157
- class SetPayloadDecoder(SetOrSetOfPayloadDecoder):
1158
- protoComponent = univ.Set()
1159
-
1160
-
1161
- class SetOfPayloadDecoder(SetOrSetOfPayloadDecoder):
1162
- protoComponent = univ.SetOf()
1163
-
1164
-
1165
- class ChoicePayloadDecoder(ConstructedPayloadDecoderBase):
1166
- protoComponent = univ.Choice()
1167
-
1168
- def valueDecoder(self, substrate, asn1Spec,
1169
- tagSet=None, length=None, state=None,
1170
- decodeFun=None, substrateFun=None,
1171
- **options):
1172
- if asn1Spec is None:
1173
- asn1Object = self.protoComponent.clone(tagSet=tagSet)
1174
-
1175
- else:
1176
- asn1Object = asn1Spec.clone()
1177
-
1178
- if substrateFun:
1179
- for chunk in substrateFun(asn1Object, substrate, length, options):
1180
- yield chunk
1181
-
1182
- return
1183
-
1184
- options = self._passAsn1Object(asn1Object, options)
1185
-
1186
- if asn1Object.tagSet == tagSet:
1187
- if LOG:
1188
- LOG('decoding %s as explicitly tagged CHOICE' % (tagSet,))
1189
-
1190
- for component in decodeFun(
1191
- substrate, asn1Object.componentTagMap, **options):
1192
- if isinstance(component, SubstrateUnderrunError):
1193
- yield component
1194
-
1195
- else:
1196
- if LOG:
1197
- LOG('decoding %s as untagged CHOICE' % (tagSet,))
1198
-
1199
- for component in decodeFun(
1200
- substrate, asn1Object.componentTagMap, tagSet, length,
1201
- state, **options):
1202
- if isinstance(component, SubstrateUnderrunError):
1203
- yield component
1204
-
1205
- effectiveTagSet = component.effectiveTagSet
1206
-
1207
- if LOG:
1208
- LOG('decoded component %s, effective tag set %s' % (component, effectiveTagSet))
1209
-
1210
- asn1Object.setComponentByType(
1211
- effectiveTagSet, component,
1212
- verifyConstraints=False,
1213
- matchTags=False, matchConstraints=False,
1214
- innerFlag=False
1215
- )
1216
-
1217
- yield asn1Object
1218
-
1219
- def indefLenValueDecoder(self, substrate, asn1Spec,
1220
- tagSet=None, length=None, state=None,
1221
- decodeFun=None, substrateFun=None,
1222
- **options):
1223
- if asn1Spec is None:
1224
- asn1Object = self.protoComponent.clone(tagSet=tagSet)
1225
-
1226
- else:
1227
- asn1Object = asn1Spec.clone()
1228
-
1229
- if substrateFun:
1230
- for chunk in substrateFun(asn1Object, substrate, length, options):
1231
- yield chunk
1232
-
1233
- return
1234
-
1235
- options = self._passAsn1Object(asn1Object, options)
1236
-
1237
- isTagged = asn1Object.tagSet == tagSet
1238
-
1239
- if LOG:
1240
- LOG('decoding %s as %stagged CHOICE' % (
1241
- tagSet, isTagged and 'explicitly ' or 'un'))
1242
-
1243
- while True:
1244
-
1245
- if isTagged:
1246
- iterator = decodeFun(
1247
- substrate, asn1Object.componentType.tagMapUnique,
1248
- **dict(options, allowEoo=True))
1249
-
1250
- else:
1251
- iterator = decodeFun(
1252
- substrate, asn1Object.componentType.tagMapUnique,
1253
- tagSet, length, state, **dict(options, allowEoo=True))
1254
-
1255
- for component in iterator:
1256
-
1257
- if isinstance(component, SubstrateUnderrunError):
1258
- yield component
1259
-
1260
- if component is eoo.endOfOctets:
1261
- break
1262
-
1263
- effectiveTagSet = component.effectiveTagSet
1264
-
1265
- if LOG:
1266
- LOG('decoded component %s, effective tag set '
1267
- '%s' % (component, effectiveTagSet))
1268
-
1269
- asn1Object.setComponentByType(
1270
- effectiveTagSet, component,
1271
- verifyConstraints=False,
1272
- matchTags=False, matchConstraints=False,
1273
- innerFlag=False
1274
- )
1275
-
1276
- if not isTagged:
1277
- break
1278
-
1279
- if not isTagged or component is eoo.endOfOctets:
1280
- break
1281
-
1282
- yield asn1Object
1283
-
1284
-
1285
- class AnyPayloadDecoder(AbstractSimplePayloadDecoder):
1286
- protoComponent = univ.Any()
1287
-
1288
- def valueDecoder(self, substrate, asn1Spec,
1289
- tagSet=None, length=None, state=None,
1290
- decodeFun=None, substrateFun=None,
1291
- **options):
1292
- if asn1Spec is None:
1293
- isUntagged = True
1294
-
1295
- elif asn1Spec.__class__ is tagmap.TagMap:
1296
- isUntagged = tagSet not in asn1Spec.tagMap
1297
-
1298
- else:
1299
- isUntagged = tagSet != asn1Spec.tagSet
1300
-
1301
- if isUntagged:
1302
- fullPosition = substrate.markedPosition
1303
- currentPosition = substrate.tell()
1304
-
1305
- substrate.seek(fullPosition, os.SEEK_SET)
1306
- length += currentPosition - fullPosition
1307
-
1308
- if LOG:
1309
- for chunk in peekIntoStream(substrate, length):
1310
- if isinstance(chunk, SubstrateUnderrunError):
1311
- yield chunk
1312
- LOG('decoding as untagged ANY, substrate '
1313
- '%s' % debug.hexdump(chunk))
1314
-
1315
- if substrateFun:
1316
- for chunk in substrateFun(
1317
- self._createComponent(asn1Spec, tagSet, noValue, **options),
1318
- substrate, length, options):
1319
- yield chunk
1320
-
1321
- return
1322
-
1323
- for chunk in readFromStream(substrate, length, options):
1324
- if isinstance(chunk, SubstrateUnderrunError):
1325
- yield chunk
1326
-
1327
- yield self._createComponent(asn1Spec, tagSet, chunk, **options)
1328
-
1329
- def indefLenValueDecoder(self, substrate, asn1Spec,
1330
- tagSet=None, length=None, state=None,
1331
- decodeFun=None, substrateFun=None,
1332
- **options):
1333
- if asn1Spec is None:
1334
- isTagged = False
1335
-
1336
- elif asn1Spec.__class__ is tagmap.TagMap:
1337
- isTagged = tagSet in asn1Spec.tagMap
1338
-
1339
- else:
1340
- isTagged = tagSet == asn1Spec.tagSet
1341
-
1342
- if isTagged:
1343
- # tagged Any type -- consume header substrate
1344
- chunk = b''
1345
-
1346
- if LOG:
1347
- LOG('decoding as tagged ANY')
1348
-
1349
- else:
1350
- # TODO: Seems not to be tested
1351
- fullPosition = substrate.markedPosition
1352
- currentPosition = substrate.tell()
1353
-
1354
- substrate.seek(fullPosition, os.SEEK_SET)
1355
- for chunk in readFromStream(substrate, currentPosition - fullPosition, options):
1356
- if isinstance(chunk, SubstrateUnderrunError):
1357
- yield chunk
1358
-
1359
- if LOG:
1360
- LOG('decoding as untagged ANY, header substrate %s' % debug.hexdump(chunk))
1361
-
1362
- # Any components do not inherit initial tag
1363
- asn1Spec = self.protoComponent
1364
-
1365
- if substrateFun and substrateFun is not self.substrateCollector:
1366
- asn1Object = self._createComponent(
1367
- asn1Spec, tagSet, noValue, **options)
1368
-
1369
- for chunk in substrateFun(
1370
- asn1Object, chunk + substrate, length + len(chunk), options):
1371
- yield chunk
1372
-
1373
- return
1374
-
1375
- if LOG:
1376
- LOG('assembling constructed serialization')
1377
-
1378
- # All inner fragments are of the same type, treat them as octet string
1379
- substrateFun = self.substrateCollector
1380
-
1381
- while True: # loop over fragments
1382
-
1383
- for component in decodeFun(
1384
- substrate, asn1Spec, substrateFun=substrateFun,
1385
- allowEoo=True, **options):
1386
-
1387
- if isinstance(component, SubstrateUnderrunError):
1388
- yield component
1389
-
1390
- if component is eoo.endOfOctets:
1391
- break
1392
-
1393
- if component is eoo.endOfOctets:
1394
- break
1395
-
1396
- chunk += component
1397
-
1398
- if substrateFun:
1399
- yield chunk # TODO: Weird
1400
-
1401
- else:
1402
- yield self._createComponent(asn1Spec, tagSet, chunk, **options)
1403
-
1404
-
1405
- # character string types
1406
- class UTF8StringPayloadDecoder(OctetStringPayloadDecoder):
1407
- protoComponent = char.UTF8String()
1408
-
1409
-
1410
- class NumericStringPayloadDecoder(OctetStringPayloadDecoder):
1411
- protoComponent = char.NumericString()
1412
-
1413
-
1414
- class PrintableStringPayloadDecoder(OctetStringPayloadDecoder):
1415
- protoComponent = char.PrintableString()
1416
-
1417
-
1418
- class TeletexStringPayloadDecoder(OctetStringPayloadDecoder):
1419
- protoComponent = char.TeletexString()
1420
-
1421
-
1422
- class VideotexStringPayloadDecoder(OctetStringPayloadDecoder):
1423
- protoComponent = char.VideotexString()
1424
-
1425
-
1426
- class IA5StringPayloadDecoder(OctetStringPayloadDecoder):
1427
- protoComponent = char.IA5String()
1428
-
1429
-
1430
- class GraphicStringPayloadDecoder(OctetStringPayloadDecoder):
1431
- protoComponent = char.GraphicString()
1432
-
1433
-
1434
- class VisibleStringPayloadDecoder(OctetStringPayloadDecoder):
1435
- protoComponent = char.VisibleString()
1436
-
1437
-
1438
- class GeneralStringPayloadDecoder(OctetStringPayloadDecoder):
1439
- protoComponent = char.GeneralString()
1440
-
1441
-
1442
- class UniversalStringPayloadDecoder(OctetStringPayloadDecoder):
1443
- protoComponent = char.UniversalString()
1444
-
1445
-
1446
- class BMPStringPayloadDecoder(OctetStringPayloadDecoder):
1447
- protoComponent = char.BMPString()
1448
-
1449
-
1450
- # "useful" types
1451
- class ObjectDescriptorPayloadDecoder(OctetStringPayloadDecoder):
1452
- protoComponent = useful.ObjectDescriptor()
1453
-
1454
-
1455
- class GeneralizedTimePayloadDecoder(OctetStringPayloadDecoder):
1456
- protoComponent = useful.GeneralizedTime()
1457
-
1458
-
1459
- class UTCTimePayloadDecoder(OctetStringPayloadDecoder):
1460
- protoComponent = useful.UTCTime()
1461
-
1462
-
1463
- TAG_MAP = {
1464
- univ.Integer.tagSet: IntegerPayloadDecoder(),
1465
- univ.Boolean.tagSet: BooleanPayloadDecoder(),
1466
- univ.BitString.tagSet: BitStringPayloadDecoder(),
1467
- univ.OctetString.tagSet: OctetStringPayloadDecoder(),
1468
- univ.Null.tagSet: NullPayloadDecoder(),
1469
- univ.ObjectIdentifier.tagSet: ObjectIdentifierPayloadDecoder(),
1470
- univ.RelativeOID.tagSet: RelativeOIDPayloadDecoder(),
1471
- univ.Enumerated.tagSet: IntegerPayloadDecoder(),
1472
- univ.Real.tagSet: RealPayloadDecoder(),
1473
- univ.Sequence.tagSet: SequenceOrSequenceOfPayloadDecoder(), # conflicts with SequenceOf
1474
- univ.Set.tagSet: SetOrSetOfPayloadDecoder(), # conflicts with SetOf
1475
- univ.Choice.tagSet: ChoicePayloadDecoder(), # conflicts with Any
1476
- # character string types
1477
- char.UTF8String.tagSet: UTF8StringPayloadDecoder(),
1478
- char.NumericString.tagSet: NumericStringPayloadDecoder(),
1479
- char.PrintableString.tagSet: PrintableStringPayloadDecoder(),
1480
- char.TeletexString.tagSet: TeletexStringPayloadDecoder(),
1481
- char.VideotexString.tagSet: VideotexStringPayloadDecoder(),
1482
- char.IA5String.tagSet: IA5StringPayloadDecoder(),
1483
- char.GraphicString.tagSet: GraphicStringPayloadDecoder(),
1484
- char.VisibleString.tagSet: VisibleStringPayloadDecoder(),
1485
- char.GeneralString.tagSet: GeneralStringPayloadDecoder(),
1486
- char.UniversalString.tagSet: UniversalStringPayloadDecoder(),
1487
- char.BMPString.tagSet: BMPStringPayloadDecoder(),
1488
- # useful types
1489
- useful.ObjectDescriptor.tagSet: ObjectDescriptorPayloadDecoder(),
1490
- useful.GeneralizedTime.tagSet: GeneralizedTimePayloadDecoder(),
1491
- useful.UTCTime.tagSet: UTCTimePayloadDecoder()
1492
- }
1493
-
1494
- # Type-to-codec map for ambiguous ASN.1 types
1495
- TYPE_MAP = {
1496
- univ.Set.typeId: SetPayloadDecoder(),
1497
- univ.SetOf.typeId: SetOfPayloadDecoder(),
1498
- univ.Sequence.typeId: SequencePayloadDecoder(),
1499
- univ.SequenceOf.typeId: SequenceOfPayloadDecoder(),
1500
- univ.Choice.typeId: ChoicePayloadDecoder(),
1501
- univ.Any.typeId: AnyPayloadDecoder()
1502
- }
1503
-
1504
- # Put in non-ambiguous types for faster codec lookup
1505
- for typeDecoder in TAG_MAP.values():
1506
- if typeDecoder.protoComponent is not None:
1507
- typeId = typeDecoder.protoComponent.__class__.typeId
1508
- if typeId is not None and typeId not in TYPE_MAP:
1509
- TYPE_MAP[typeId] = typeDecoder
1510
-
1511
-
1512
- (stDecodeTag,
1513
- stDecodeLength,
1514
- stGetValueDecoder,
1515
- stGetValueDecoderByAsn1Spec,
1516
- stGetValueDecoderByTag,
1517
- stTryAsExplicitTag,
1518
- stDecodeValue,
1519
- stDumpRawValue,
1520
- stErrorCondition,
1521
- stStop) = [x for x in range(10)]
1522
-
1523
-
1524
- EOO_SENTINEL = bytes((0, 0))
1525
-
1526
-
1527
- class SingleItemDecoder(object):
1528
- defaultErrorState = stErrorCondition
1529
- #defaultErrorState = stDumpRawValue
1530
- defaultRawDecoder = AnyPayloadDecoder()
1531
-
1532
- supportIndefLength = True
1533
-
1534
- TAG_MAP = TAG_MAP
1535
- TYPE_MAP = TYPE_MAP
1536
-
1537
- def __init__(self, tagMap=_MISSING, typeMap=_MISSING, **ignored):
1538
- self._tagMap = tagMap if tagMap is not _MISSING else self.TAG_MAP
1539
- self._typeMap = typeMap if typeMap is not _MISSING else self.TYPE_MAP
1540
-
1541
- # Tag & TagSet objects caches
1542
- self._tagCache = {}
1543
- self._tagSetCache = {}
1544
-
1545
- def __call__(self, substrate, asn1Spec=None,
1546
- tagSet=None, length=None, state=stDecodeTag,
1547
- decodeFun=None, substrateFun=None,
1548
- **options):
1549
-
1550
- allowEoo = options.pop('allowEoo', False)
1551
-
1552
- if LOG:
1553
- LOG('decoder called at scope %s with state %d, working with up '
1554
- 'to %s octets of substrate: '
1555
- '%s' % (debug.scope, state, length, substrate))
1556
-
1557
- # Look for end-of-octets sentinel
1558
- if allowEoo and self.supportIndefLength:
1559
-
1560
- for eoo_candidate in readFromStream(substrate, 2, options):
1561
- if isinstance(eoo_candidate, SubstrateUnderrunError):
1562
- yield eoo_candidate
1563
-
1564
- if eoo_candidate == EOO_SENTINEL:
1565
- if LOG:
1566
- LOG('end-of-octets sentinel found')
1567
- yield eoo.endOfOctets
1568
- return
1569
-
1570
- else:
1571
- substrate.seek(-2, os.SEEK_CUR)
1572
-
1573
- tagMap = self._tagMap
1574
- typeMap = self._typeMap
1575
- tagCache = self._tagCache
1576
- tagSetCache = self._tagSetCache
1577
-
1578
- value = noValue
1579
-
1580
- substrate.markedPosition = substrate.tell()
1581
-
1582
- while state is not stStop:
1583
-
1584
- if state is stDecodeTag:
1585
- # Decode tag
1586
- isShortTag = True
1587
-
1588
- for firstByte in readFromStream(substrate, 1, options):
1589
- if isinstance(firstByte, SubstrateUnderrunError):
1590
- yield firstByte
1591
-
1592
- firstOctet = ord(firstByte)
1593
-
1594
- try:
1595
- lastTag = tagCache[firstOctet]
1596
-
1597
- except KeyError:
1598
- integerTag = firstOctet
1599
- tagClass = integerTag & 0xC0
1600
- tagFormat = integerTag & 0x20
1601
- tagId = integerTag & 0x1F
1602
-
1603
- if tagId == 0x1F:
1604
- isShortTag = False
1605
- lengthOctetIdx = 0
1606
- tagId = 0
1607
-
1608
- while True:
1609
- for integerByte in readFromStream(substrate, 1, options):
1610
- if isinstance(integerByte, SubstrateUnderrunError):
1611
- yield integerByte
1612
-
1613
- if not integerByte:
1614
- raise error.SubstrateUnderrunError(
1615
- 'Short octet stream on long tag decoding'
1616
- )
1617
-
1618
- integerTag = ord(integerByte)
1619
- lengthOctetIdx += 1
1620
- tagId <<= 7
1621
- tagId |= (integerTag & 0x7F)
1622
-
1623
- if not integerTag & 0x80:
1624
- break
1625
-
1626
- lastTag = tag.Tag(
1627
- tagClass=tagClass, tagFormat=tagFormat, tagId=tagId
1628
- )
1629
-
1630
- if isShortTag:
1631
- # cache short tags
1632
- tagCache[firstOctet] = lastTag
1633
-
1634
- if tagSet is None:
1635
- if isShortTag:
1636
- try:
1637
- tagSet = tagSetCache[firstOctet]
1638
-
1639
- except KeyError:
1640
- # base tag not recovered
1641
- tagSet = tag.TagSet((), lastTag)
1642
- tagSetCache[firstOctet] = tagSet
1643
- else:
1644
- tagSet = tag.TagSet((), lastTag)
1645
-
1646
- else:
1647
- tagSet = lastTag + tagSet
1648
-
1649
- state = stDecodeLength
1650
-
1651
- if LOG:
1652
- LOG('tag decoded into %s, decoding length' % tagSet)
1653
-
1654
- if state is stDecodeLength:
1655
- # Decode length
1656
- for firstOctet in readFromStream(substrate, 1, options):
1657
- if isinstance(firstOctet, SubstrateUnderrunError):
1658
- yield firstOctet
1659
-
1660
- firstOctet = ord(firstOctet)
1661
-
1662
- if firstOctet < 128:
1663
- length = firstOctet
1664
-
1665
- elif firstOctet > 128:
1666
- size = firstOctet & 0x7F
1667
- # encoded in size bytes
1668
- for encodedLength in readFromStream(substrate, size, options):
1669
- if isinstance(encodedLength, SubstrateUnderrunError):
1670
- yield encodedLength
1671
- encodedLength = list(encodedLength)
1672
- # missing check on maximum size, which shouldn't be a
1673
- # problem, we can handle more than is possible
1674
- if len(encodedLength) != size:
1675
- raise error.SubstrateUnderrunError(
1676
- '%s<%s at %s' % (size, len(encodedLength), tagSet)
1677
- )
1678
-
1679
- length = 0
1680
- for lengthOctet in encodedLength:
1681
- length <<= 8
1682
- length |= lengthOctet
1683
- size += 1
1684
-
1685
- else: # 128 means indefinite
1686
- length = -1
1687
-
1688
- if length == -1 and not self.supportIndefLength:
1689
- raise error.PyAsn1Error('Indefinite length encoding not supported by this codec')
1690
-
1691
- state = stGetValueDecoder
1692
-
1693
- if LOG:
1694
- LOG('value length decoded into %d' % length)
1695
-
1696
- if state is stGetValueDecoder:
1697
- if asn1Spec is None:
1698
- state = stGetValueDecoderByTag
1699
-
1700
- else:
1701
- state = stGetValueDecoderByAsn1Spec
1702
- #
1703
- # There're two ways of creating subtypes in ASN.1 what influences
1704
- # decoder operation. These methods are:
1705
- # 1) Either base types used in or no IMPLICIT tagging has been
1706
- # applied on subtyping.
1707
- # 2) Subtype syntax drops base type information (by means of
1708
- # IMPLICIT tagging.
1709
- # The first case allows for complete tag recovery from substrate
1710
- # while the second one requires original ASN.1 type spec for
1711
- # decoding.
1712
- #
1713
- # In either case a set of tags (tagSet) is coming from substrate
1714
- # in an incremental, tag-by-tag fashion (this is the case of
1715
- # EXPLICIT tag which is most basic). Outermost tag comes first
1716
- # from the wire.
1717
- #
1718
- if state is stGetValueDecoderByTag:
1719
- try:
1720
- concreteDecoder = tagMap[tagSet]
1721
-
1722
- except KeyError:
1723
- concreteDecoder = None
1724
-
1725
- if concreteDecoder:
1726
- state = stDecodeValue
1727
-
1728
- else:
1729
- try:
1730
- concreteDecoder = tagMap[tagSet[:1]]
1731
-
1732
- except KeyError:
1733
- concreteDecoder = None
1734
-
1735
- if concreteDecoder:
1736
- state = stDecodeValue
1737
- else:
1738
- state = stTryAsExplicitTag
1739
-
1740
- if LOG:
1741
- LOG('codec %s chosen by a built-in type, decoding %s' % (concreteDecoder and concreteDecoder.__class__.__name__ or "<none>", state is stDecodeValue and 'value' or 'as explicit tag'))
1742
- debug.scope.push(concreteDecoder is None and '?' or concreteDecoder.protoComponent.__class__.__name__)
1743
-
1744
- if state is stGetValueDecoderByAsn1Spec:
1745
-
1746
- if asn1Spec.__class__ is tagmap.TagMap:
1747
- try:
1748
- chosenSpec = asn1Spec[tagSet]
1749
-
1750
- except KeyError:
1751
- chosenSpec = None
1752
-
1753
- if LOG:
1754
- LOG('candidate ASN.1 spec is a map of:')
1755
-
1756
- for firstOctet, v in asn1Spec.presentTypes.items():
1757
- LOG(' %s -> %s' % (firstOctet, v.__class__.__name__))
1758
-
1759
- if asn1Spec.skipTypes:
1760
- LOG('but neither of: ')
1761
- for firstOctet, v in asn1Spec.skipTypes.items():
1762
- LOG(' %s -> %s' % (firstOctet, v.__class__.__name__))
1763
- LOG('new candidate ASN.1 spec is %s, chosen by %s' % (chosenSpec is None and '<none>' or chosenSpec.prettyPrintType(), tagSet))
1764
-
1765
- elif tagSet == asn1Spec.tagSet or tagSet in asn1Spec.tagMap:
1766
- chosenSpec = asn1Spec
1767
- if LOG:
1768
- LOG('candidate ASN.1 spec is %s' % asn1Spec.__class__.__name__)
1769
-
1770
- else:
1771
- chosenSpec = None
1772
-
1773
- if chosenSpec is not None:
1774
- try:
1775
- # ambiguous type or just faster codec lookup
1776
- concreteDecoder = typeMap[chosenSpec.typeId]
1777
-
1778
- if LOG:
1779
- LOG('value decoder chosen for an ambiguous type by type ID %s' % (chosenSpec.typeId,))
1780
-
1781
- except KeyError:
1782
- # use base type for codec lookup to recover untagged types
1783
- baseTagSet = tag.TagSet(chosenSpec.tagSet.baseTag, chosenSpec.tagSet.baseTag)
1784
- try:
1785
- # base type or tagged subtype
1786
- concreteDecoder = tagMap[baseTagSet]
1787
-
1788
- if LOG:
1789
- LOG('value decoder chosen by base %s' % (baseTagSet,))
1790
-
1791
- except KeyError:
1792
- concreteDecoder = None
1793
-
1794
- if concreteDecoder:
1795
- asn1Spec = chosenSpec
1796
- state = stDecodeValue
1797
-
1798
- else:
1799
- state = stTryAsExplicitTag
1800
-
1801
- else:
1802
- concreteDecoder = None
1803
- state = stTryAsExplicitTag
1804
-
1805
- if LOG:
1806
- LOG('codec %s chosen by ASN.1 spec, decoding %s' % (state is stDecodeValue and concreteDecoder.__class__.__name__ or "<none>", state is stDecodeValue and 'value' or 'as explicit tag'))
1807
- debug.scope.push(chosenSpec is None and '?' or chosenSpec.__class__.__name__)
1808
-
1809
- if state is stDecodeValue:
1810
- if not options.get('recursiveFlag', True) and not substrateFun: # deprecate this
1811
- def substrateFun(asn1Object, _substrate, _length, _options):
1812
- """Legacy hack to keep the recursiveFlag=False option supported.
1813
-
1814
- The decode(..., substrateFun=userCallback) option was introduced in 0.1.4 as a generalization
1815
- of the old recursiveFlag=False option. Users should pass their callback instead of using
1816
- recursiveFlag.
1817
- """
1818
- yield asn1Object
1819
-
1820
- original_position = substrate.tell()
1821
-
1822
- if length == -1: # indef length
1823
- for value in concreteDecoder.indefLenValueDecoder(
1824
- substrate, asn1Spec,
1825
- tagSet, length, stGetValueDecoder,
1826
- self, substrateFun, **options):
1827
- if isinstance(value, SubstrateUnderrunError):
1828
- yield value
1829
-
1830
- else:
1831
- for value in concreteDecoder.valueDecoder(
1832
- substrate, asn1Spec,
1833
- tagSet, length, stGetValueDecoder,
1834
- self, substrateFun, **options):
1835
- if isinstance(value, SubstrateUnderrunError):
1836
- yield value
1837
-
1838
- bytesRead = substrate.tell() - original_position
1839
- if not substrateFun and bytesRead != length:
1840
- raise PyAsn1Error(
1841
- "Read %s bytes instead of expected %s." % (bytesRead, length))
1842
- elif substrateFun and bytesRead > length:
1843
- # custom substrateFun may be used for partial decoding, reading less is expected there
1844
- raise PyAsn1Error(
1845
- "Read %s bytes are more than expected %s." % (bytesRead, length))
1846
-
1847
- if LOG:
1848
- LOG('codec %s yields type %s, value:\n%s\n...' % (
1849
- concreteDecoder.__class__.__name__, value.__class__.__name__,
1850
- isinstance(value, base.Asn1Item) and value.prettyPrint() or value))
1851
-
1852
- state = stStop
1853
- break
1854
-
1855
- if state is stTryAsExplicitTag:
1856
- if (tagSet and
1857
- tagSet[0].tagFormat == tag.tagFormatConstructed and
1858
- tagSet[0].tagClass != tag.tagClassUniversal):
1859
- # Assume explicit tagging
1860
- concreteDecoder = rawPayloadDecoder
1861
- state = stDecodeValue
1862
-
1863
- else:
1864
- concreteDecoder = None
1865
- state = self.defaultErrorState
1866
-
1867
- if LOG:
1868
- LOG('codec %s chosen, decoding %s' % (concreteDecoder and concreteDecoder.__class__.__name__ or "<none>", state is stDecodeValue and 'value' or 'as failure'))
1869
-
1870
- if state is stDumpRawValue:
1871
- concreteDecoder = self.defaultRawDecoder
1872
-
1873
- if LOG:
1874
- LOG('codec %s chosen, decoding value' % concreteDecoder.__class__.__name__)
1875
-
1876
- state = stDecodeValue
1877
-
1878
- if state is stErrorCondition:
1879
- raise error.PyAsn1Error(
1880
- '%s not in asn1Spec: %r' % (tagSet, asn1Spec)
1881
- )
1882
-
1883
- if LOG:
1884
- debug.scope.pop()
1885
- LOG('decoder left scope %s, call completed' % debug.scope)
1886
-
1887
- yield value
1888
-
1889
-
1890
- class StreamingDecoder(object):
1891
- """Create an iterator that turns BER/CER/DER byte stream into ASN.1 objects.
1892
-
1893
- On each iteration, consume whatever BER/CER/DER serialization is
1894
- available in the `substrate` stream-like object and turns it into
1895
- one or more, possibly nested, ASN.1 objects.
1896
-
1897
- Parameters
1898
- ----------
1899
- substrate: :py:class:`file`, :py:class:`io.BytesIO`
1900
- BER/CER/DER serialization in form of a byte stream
1901
-
1902
- Keyword Args
1903
- ------------
1904
- asn1Spec: :py:class:`~pyasn1.type.base.PyAsn1Item`
1905
- A pyasn1 type object to act as a template guiding the decoder.
1906
- Depending on the ASN.1 structure being decoded, `asn1Spec` may
1907
- or may not be required. One of the reasons why `asn1Spec` may
1908
- me required is that ASN.1 structure is encoded in the *IMPLICIT*
1909
- tagging mode.
1910
-
1911
- Yields
1912
- ------
1913
- : :py:class:`~pyasn1.type.base.PyAsn1Item`, :py:class:`~pyasn1.error.SubstrateUnderrunError`
1914
- Decoded ASN.1 object (possibly, nested) or
1915
- :py:class:`~pyasn1.error.SubstrateUnderrunError` object indicating
1916
- insufficient BER/CER/DER serialization on input to fully recover ASN.1
1917
- objects from it.
1918
-
1919
- In the latter case the caller is advised to ensure some more data in
1920
- the input stream, then call the iterator again. The decoder will resume
1921
- the decoding process using the newly arrived data.
1922
-
1923
- The `context` property of :py:class:`~pyasn1.error.SubstrateUnderrunError`
1924
- object might hold a reference to the partially populated ASN.1 object
1925
- being reconstructed.
1926
-
1927
- Raises
1928
- ------
1929
- ~pyasn1.error.PyAsn1Error, ~pyasn1.error.EndOfStreamError
1930
- `PyAsn1Error` on deserialization error, `EndOfStreamError` on
1931
- premature stream closure.
1932
-
1933
- Examples
1934
- --------
1935
- Decode BER serialisation without ASN.1 schema
1936
-
1937
- .. code-block:: pycon
1938
-
1939
- >>> stream = io.BytesIO(
1940
- ... b'0\t\x02\x01\x01\x02\x01\x02\x02\x01\x03')
1941
- >>>
1942
- >>> for asn1Object in StreamingDecoder(stream):
1943
- ... print(asn1Object)
1944
- >>>
1945
- SequenceOf:
1946
- 1 2 3
1947
-
1948
- Decode BER serialisation with ASN.1 schema
1949
-
1950
- .. code-block:: pycon
1951
-
1952
- >>> stream = io.BytesIO(
1953
- ... b'0\t\x02\x01\x01\x02\x01\x02\x02\x01\x03')
1954
- >>>
1955
- >>> schema = SequenceOf(componentType=Integer())
1956
- >>>
1957
- >>> decoder = StreamingDecoder(stream, asn1Spec=schema)
1958
- >>> for asn1Object in decoder:
1959
- ... print(asn1Object)
1960
- >>>
1961
- SequenceOf:
1962
- 1 2 3
1963
- """
1964
-
1965
- SINGLE_ITEM_DECODER = SingleItemDecoder
1966
-
1967
- def __init__(self, substrate, asn1Spec=None, **options):
1968
- self._singleItemDecoder = self.SINGLE_ITEM_DECODER(**options)
1969
- self._substrate = asSeekableStream(substrate)
1970
- self._asn1Spec = asn1Spec
1971
- self._options = options
1972
-
1973
- def __iter__(self):
1974
- while True:
1975
- for asn1Object in self._singleItemDecoder(
1976
- self._substrate, self._asn1Spec, **self._options):
1977
- yield asn1Object
1978
-
1979
- for chunk in isEndOfStream(self._substrate):
1980
- if isinstance(chunk, SubstrateUnderrunError):
1981
- yield
1982
-
1983
- break
1984
-
1985
- if chunk:
1986
- break
1987
-
1988
-
1989
- class Decoder(object):
1990
- """Create a BER decoder object.
1991
-
1992
- Parse BER/CER/DER octet-stream into one, possibly nested, ASN.1 object.
1993
- """
1994
- STREAMING_DECODER = StreamingDecoder
1995
-
1996
- @classmethod
1997
- def __call__(cls, substrate, asn1Spec=None, **options):
1998
- """Turns BER/CER/DER octet stream into an ASN.1 object.
1999
-
2000
- Takes BER/CER/DER octet-stream in form of :py:class:`bytes`
2001
- and decode it into an ASN.1 object
2002
- (e.g. :py:class:`~pyasn1.type.base.PyAsn1Item` derivative) which
2003
- may be a scalar or an arbitrary nested structure.
2004
-
2005
- Parameters
2006
- ----------
2007
- substrate: :py:class:`bytes`
2008
- BER/CER/DER octet-stream to parse
2009
-
2010
- Keyword Args
2011
- ------------
2012
- asn1Spec: :py:class:`~pyasn1.type.base.PyAsn1Item`
2013
- A pyasn1 type object (:py:class:`~pyasn1.type.base.PyAsn1Item`
2014
- derivative) to act as a template guiding the decoder.
2015
- Depending on the ASN.1 structure being decoded, `asn1Spec` may or
2016
- may not be required. Most common reason for it to require is that
2017
- ASN.1 structure is encoded in *IMPLICIT* tagging mode.
2018
-
2019
- substrateFun: :py:class:`Union[
2020
- Callable[[pyasn1.type.base.PyAsn1Item, bytes, int],
2021
- Tuple[pyasn1.type.base.PyAsn1Item, bytes]],
2022
- Callable[[pyasn1.type.base.PyAsn1Item, io.BytesIO, int, dict],
2023
- Generator[Union[pyasn1.type.base.PyAsn1Item,
2024
- pyasn1.error.SubstrateUnderrunError],
2025
- None, None]]
2026
- ]`
2027
- User callback meant to generalize special use cases like non-recursive or
2028
- partial decoding. A 3-arg non-streaming variant is supported for backwards
2029
- compatiblilty in addition to the newer 4-arg streaming variant.
2030
- The callback will receive the uninitialized object recovered from substrate
2031
- as 1st argument, the uninterpreted payload as 2nd argument, and the length
2032
- of the uninterpreted payload as 3rd argument. The streaming variant will
2033
- additionally receive the decode(..., **options) kwargs as 4th argument.
2034
- The non-streaming variant shall return an object that will be propagated
2035
- as decode() return value as 1st item, and the remainig payload for further
2036
- decode passes as 2nd item.
2037
- The streaming variant shall yield an object that will be propagated as
2038
- decode() return value, and leave the remaining payload in the stream.
2039
-
2040
- Returns
2041
- -------
2042
- : :py:class:`tuple`
2043
- A tuple of :py:class:`~pyasn1.type.base.PyAsn1Item` object
2044
- recovered from BER/CER/DER substrate and the unprocessed trailing
2045
- portion of the `substrate` (may be empty)
2046
-
2047
- Raises
2048
- ------
2049
- : :py:class:`~pyasn1.error.PyAsn1Error`
2050
- :py:class:`~pyasn1.error.SubstrateUnderrunError` on insufficient
2051
- input or :py:class:`~pyasn1.error.PyAsn1Error` on decoding error.
2052
-
2053
- Examples
2054
- --------
2055
- Decode BER/CER/DER serialisation without ASN.1 schema
2056
-
2057
- .. code-block:: pycon
2058
-
2059
- >>> s, unprocessed = decode(b'0\t\x02\x01\x01\x02\x01\x02\x02\x01\x03')
2060
- >>> str(s)
2061
- SequenceOf:
2062
- 1 2 3
2063
-
2064
- Decode BER/CER/DER serialisation with ASN.1 schema
2065
-
2066
- .. code-block:: pycon
2067
-
2068
- >>> seq = SequenceOf(componentType=Integer())
2069
- >>> s, unprocessed = decode(
2070
- b'0\t\x02\x01\x01\x02\x01\x02\x02\x01\x03', asn1Spec=seq)
2071
- >>> str(s)
2072
- SequenceOf:
2073
- 1 2 3
2074
-
2075
- """
2076
- substrate = asSeekableStream(substrate)
2077
-
2078
- if "substrateFun" in options:
2079
- origSubstrateFun = options["substrateFun"]
2080
-
2081
- def substrateFunWrapper(asn1Object, substrate, length, options=None):
2082
- """Support both 0.4 and 0.5 style APIs.
2083
-
2084
- substrateFun API has changed in 0.5 for use with streaming decoders. To stay backwards compatible,
2085
- we first try if we received a streaming user callback. If that fails,we assume we've received a
2086
- non-streaming v0.4 user callback and convert it for streaming on the fly
2087
- """
2088
- try:
2089
- substrate_gen = origSubstrateFun(asn1Object, substrate, length, options)
2090
- except TypeError as _value:
2091
- if _value.__traceback__.tb_next:
2092
- # Traceback depth > 1 means TypeError from inside user provided function
2093
- raise
2094
- # invariant maintained at Decoder.__call__ entry
2095
- assert isinstance(substrate, io.BytesIO) # nosec assert_used
2096
- substrate_gen = Decoder._callSubstrateFunV4asV5(origSubstrateFun, asn1Object, substrate, length)
2097
- for value in substrate_gen:
2098
- yield value
2099
-
2100
- options["substrateFun"] = substrateFunWrapper
2101
-
2102
- streamingDecoder = cls.STREAMING_DECODER(
2103
- substrate, asn1Spec, **options)
2104
-
2105
- for asn1Object in streamingDecoder:
2106
- if isinstance(asn1Object, SubstrateUnderrunError):
2107
- raise error.SubstrateUnderrunError('Short substrate on input')
2108
-
2109
- try:
2110
- tail = next(readFromStream(substrate))
2111
-
2112
- except error.EndOfStreamError:
2113
- tail = b''
2114
-
2115
- return asn1Object, tail
2116
-
2117
- @staticmethod
2118
- def _callSubstrateFunV4asV5(substrateFunV4, asn1Object, substrate, length):
2119
- substrate_bytes = substrate.read()
2120
- if length == -1:
2121
- length = len(substrate_bytes)
2122
- value, nextSubstrate = substrateFunV4(asn1Object, substrate_bytes, length)
2123
- nbytes = substrate.write(nextSubstrate)
2124
- substrate.truncate()
2125
- substrate.seek(-nbytes, os.SEEK_CUR)
2126
- yield value
2127
-
2128
- #: Turns BER octet stream into an ASN.1 object.
2129
- #:
2130
- #: Takes BER octet-stream and decode it into an ASN.1 object
2131
- #: (e.g. :py:class:`~pyasn1.type.base.PyAsn1Item` derivative) which
2132
- #: may be a scalar or an arbitrary nested structure.
2133
- #:
2134
- #: Parameters
2135
- #: ----------
2136
- #: substrate: :py:class:`bytes`
2137
- #: BER octet-stream
2138
- #:
2139
- #: Keyword Args
2140
- #: ------------
2141
- #: asn1Spec: any pyasn1 type object e.g. :py:class:`~pyasn1.type.base.PyAsn1Item` derivative
2142
- #: A pyasn1 type object to act as a template guiding the decoder. Depending on the ASN.1 structure
2143
- #: being decoded, *asn1Spec* may or may not be required. Most common reason for
2144
- #: it to require is that ASN.1 structure is encoded in *IMPLICIT* tagging mode.
2145
- #:
2146
- #: Returns
2147
- #: -------
2148
- #: : :py:class:`tuple`
2149
- #: A tuple of pyasn1 object recovered from BER substrate (:py:class:`~pyasn1.type.base.PyAsn1Item` derivative)
2150
- #: and the unprocessed trailing portion of the *substrate* (may be empty)
2151
- #:
2152
- #: Raises
2153
- #: ------
2154
- #: ~pyasn1.error.PyAsn1Error, ~pyasn1.error.SubstrateUnderrunError
2155
- #: On decoding errors
2156
- #:
2157
- #: Notes
2158
- #: -----
2159
- #: This function is deprecated. Please use :py:class:`Decoder` or
2160
- #: :py:class:`StreamingDecoder` class instance.
2161
- #:
2162
- #: Examples
2163
- #: --------
2164
- #: Decode BER serialisation without ASN.1 schema
2165
- #:
2166
- #: .. code-block:: pycon
2167
- #:
2168
- #: >>> s, _ = decode(b'0\t\x02\x01\x01\x02\x01\x02\x02\x01\x03')
2169
- #: >>> str(s)
2170
- #: SequenceOf:
2171
- #: 1 2 3
2172
- #:
2173
- #: Decode BER serialisation with ASN.1 schema
2174
- #:
2175
- #: .. code-block:: pycon
2176
- #:
2177
- #: >>> seq = SequenceOf(componentType=Integer())
2178
- #: >>> s, _ = decode(b'0\t\x02\x01\x01\x02\x01\x02\x02\x01\x03', asn1Spec=seq)
2179
- #: >>> str(s)
2180
- #: SequenceOf:
2181
- #: 1 2 3
2182
- #:
2183
- decode = Decoder()
2184
-
2185
- def __getattr__(attr: str):
2186
- if newAttr := {"tagMap": "TAG_MAP", "typeMap": "TYPE_MAP"}.get(attr):
2187
- warnings.warn(f"{attr} is deprecated. Please use {newAttr} instead.", DeprecationWarning)
2188
- return globals()[newAttr]
2189
- raise AttributeError(attr)