primary-api-models 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1580) hide show
  1. primary_api_models/__init__.py +53 -0
  2. primary_api_models/account_data.py +62 -0
  3. primary_api_models/commons.py +49 -0
  4. primary_api_models/detailed_instruments.py +11 -0
  5. primary_api_models/detailed_position.py +53 -0
  6. primary_api_models/enhanced_models.py +27 -0
  7. primary_api_models/enums.py +184 -0
  8. primary_api_models/instrument_details.py +48 -0
  9. primary_api_models/listed_instruments.py +14 -0
  10. primary_api_models/market_data.py +25 -0
  11. primary_api_models/order_report.py +34 -0
  12. primary_api_models/order_status.py +11 -0
  13. primary_api_models/positions.py +27 -0
  14. primary_api_models-0.1.0.dist-info/METADATA +7 -0
  15. primary_api_models-0.1.0.dist-info/RECORD +1580 -0
  16. primary_api_models-0.1.0.dist-info/WHEEL +5 -0
  17. primary_api_models-0.1.0.dist-info/top_level.txt +3 -0
  18. tests/conftest.py +6 -0
  19. tests/test_models.py +61 -0
  20. venv/Lib/site-packages/_pytest/__init__.py +13 -0
  21. venv/Lib/site-packages/_pytest/_argcomplete.py +117 -0
  22. venv/Lib/site-packages/_pytest/_code/__init__.py +26 -0
  23. venv/Lib/site-packages/_pytest/_code/code.py +1571 -0
  24. venv/Lib/site-packages/_pytest/_code/source.py +225 -0
  25. venv/Lib/site-packages/_pytest/_io/__init__.py +10 -0
  26. venv/Lib/site-packages/_pytest/_io/pprint.py +673 -0
  27. venv/Lib/site-packages/_pytest/_io/saferepr.py +130 -0
  28. venv/Lib/site-packages/_pytest/_io/terminalwriter.py +258 -0
  29. venv/Lib/site-packages/_pytest/_io/wcwidth.py +57 -0
  30. venv/Lib/site-packages/_pytest/_py/__init__.py +0 -0
  31. venv/Lib/site-packages/_pytest/_py/error.py +119 -0
  32. venv/Lib/site-packages/_pytest/_py/path.py +1475 -0
  33. venv/Lib/site-packages/_pytest/_version.py +24 -0
  34. venv/Lib/site-packages/_pytest/assertion/__init__.py +208 -0
  35. venv/Lib/site-packages/_pytest/assertion/rewrite.py +1202 -0
  36. venv/Lib/site-packages/_pytest/assertion/truncate.py +137 -0
  37. venv/Lib/site-packages/_pytest/assertion/util.py +615 -0
  38. venv/Lib/site-packages/_pytest/cacheprovider.py +646 -0
  39. venv/Lib/site-packages/_pytest/capture.py +1144 -0
  40. venv/Lib/site-packages/_pytest/compat.py +314 -0
  41. venv/Lib/site-packages/_pytest/config/__init__.py +2203 -0
  42. venv/Lib/site-packages/_pytest/config/argparsing.py +578 -0
  43. venv/Lib/site-packages/_pytest/config/compat.py +85 -0
  44. venv/Lib/site-packages/_pytest/config/exceptions.py +15 -0
  45. venv/Lib/site-packages/_pytest/config/findpaths.py +350 -0
  46. venv/Lib/site-packages/_pytest/debugging.py +407 -0
  47. venv/Lib/site-packages/_pytest/deprecated.py +99 -0
  48. venv/Lib/site-packages/_pytest/doctest.py +736 -0
  49. venv/Lib/site-packages/_pytest/faulthandler.py +119 -0
  50. venv/Lib/site-packages/_pytest/fixtures.py +2047 -0
  51. venv/Lib/site-packages/_pytest/freeze_support.py +45 -0
  52. venv/Lib/site-packages/_pytest/helpconfig.py +293 -0
  53. venv/Lib/site-packages/_pytest/hookspec.py +1342 -0
  54. venv/Lib/site-packages/_pytest/junitxml.py +695 -0
  55. venv/Lib/site-packages/_pytest/legacypath.py +468 -0
  56. venv/Lib/site-packages/_pytest/logging.py +960 -0
  57. venv/Lib/site-packages/_pytest/main.py +1203 -0
  58. venv/Lib/site-packages/_pytest/mark/__init__.py +301 -0
  59. venv/Lib/site-packages/_pytest/mark/expression.py +353 -0
  60. venv/Lib/site-packages/_pytest/mark/structures.py +664 -0
  61. venv/Lib/site-packages/_pytest/monkeypatch.py +435 -0
  62. venv/Lib/site-packages/_pytest/nodes.py +772 -0
  63. venv/Lib/site-packages/_pytest/outcomes.py +308 -0
  64. venv/Lib/site-packages/_pytest/pastebin.py +117 -0
  65. venv/Lib/site-packages/_pytest/pathlib.py +1063 -0
  66. venv/Lib/site-packages/_pytest/py.typed +0 -0
  67. venv/Lib/site-packages/_pytest/pytester.py +1791 -0
  68. venv/Lib/site-packages/_pytest/pytester_assertions.py +74 -0
  69. venv/Lib/site-packages/_pytest/python.py +1772 -0
  70. venv/Lib/site-packages/_pytest/python_api.py +819 -0
  71. venv/Lib/site-packages/_pytest/raises.py +1517 -0
  72. venv/Lib/site-packages/_pytest/recwarn.py +367 -0
  73. venv/Lib/site-packages/_pytest/reports.py +694 -0
  74. venv/Lib/site-packages/_pytest/runner.py +580 -0
  75. venv/Lib/site-packages/_pytest/scope.py +91 -0
  76. venv/Lib/site-packages/_pytest/setuponly.py +98 -0
  77. venv/Lib/site-packages/_pytest/setupplan.py +39 -0
  78. venv/Lib/site-packages/_pytest/skipping.py +321 -0
  79. venv/Lib/site-packages/_pytest/stash.py +116 -0
  80. venv/Lib/site-packages/_pytest/stepwise.py +209 -0
  81. venv/Lib/site-packages/_pytest/subtests.py +411 -0
  82. venv/Lib/site-packages/_pytest/terminal.py +1763 -0
  83. venv/Lib/site-packages/_pytest/terminalprogress.py +30 -0
  84. venv/Lib/site-packages/_pytest/threadexception.py +152 -0
  85. venv/Lib/site-packages/_pytest/timing.py +95 -0
  86. venv/Lib/site-packages/_pytest/tmpdir.py +337 -0
  87. venv/Lib/site-packages/_pytest/tracemalloc.py +24 -0
  88. venv/Lib/site-packages/_pytest/unittest.py +632 -0
  89. venv/Lib/site-packages/_pytest/unraisableexception.py +163 -0
  90. venv/Lib/site-packages/_pytest/warning_types.py +172 -0
  91. venv/Lib/site-packages/_pytest/warnings.py +151 -0
  92. venv/Lib/site-packages/annotated_types/__init__.py +432 -0
  93. venv/Lib/site-packages/annotated_types/py.typed +0 -0
  94. venv/Lib/site-packages/annotated_types/test_cases.py +151 -0
  95. venv/Lib/site-packages/build/__init__.py +47 -0
  96. venv/Lib/site-packages/build/__main__.py +654 -0
  97. venv/Lib/site-packages/build/_builder.py +393 -0
  98. venv/Lib/site-packages/build/_compat/__init__.py +0 -0
  99. venv/Lib/site-packages/build/_compat/importlib.py +22 -0
  100. venv/Lib/site-packages/build/_compat/tarfile.py +31 -0
  101. venv/Lib/site-packages/build/_compat/tomllib.py +19 -0
  102. venv/Lib/site-packages/build/_ctx.py +105 -0
  103. venv/Lib/site-packages/build/_exceptions.py +69 -0
  104. venv/Lib/site-packages/build/_types.py +22 -0
  105. venv/Lib/site-packages/build/_util.py +68 -0
  106. venv/Lib/site-packages/build/env.py +507 -0
  107. venv/Lib/site-packages/build/py.typed +0 -0
  108. venv/Lib/site-packages/build/util.py +70 -0
  109. venv/Lib/site-packages/certifi/__init__.py +4 -0
  110. venv/Lib/site-packages/certifi/__main__.py +12 -0
  111. venv/Lib/site-packages/certifi/core.py +83 -0
  112. venv/Lib/site-packages/certifi/py.typed +0 -0
  113. venv/Lib/site-packages/charset_normalizer/__init__.py +48 -0
  114. venv/Lib/site-packages/charset_normalizer/__main__.py +6 -0
  115. venv/Lib/site-packages/charset_normalizer/api.py +988 -0
  116. venv/Lib/site-packages/charset_normalizer/cd.py +454 -0
  117. venv/Lib/site-packages/charset_normalizer/cli/__init__.py +8 -0
  118. venv/Lib/site-packages/charset_normalizer/cli/__main__.py +362 -0
  119. venv/Lib/site-packages/charset_normalizer/constant.py +2050 -0
  120. venv/Lib/site-packages/charset_normalizer/legacy.py +79 -0
  121. venv/Lib/site-packages/charset_normalizer/md.py +936 -0
  122. venv/Lib/site-packages/charset_normalizer/models.py +369 -0
  123. venv/Lib/site-packages/charset_normalizer/py.typed +0 -0
  124. venv/Lib/site-packages/charset_normalizer/utils.py +422 -0
  125. venv/Lib/site-packages/charset_normalizer/version.py +8 -0
  126. venv/Lib/site-packages/colorama/__init__.py +7 -0
  127. venv/Lib/site-packages/colorama/ansi.py +102 -0
  128. venv/Lib/site-packages/colorama/ansitowin32.py +277 -0
  129. venv/Lib/site-packages/colorama/initialise.py +121 -0
  130. venv/Lib/site-packages/colorama/tests/__init__.py +1 -0
  131. venv/Lib/site-packages/colorama/tests/ansi_test.py +76 -0
  132. venv/Lib/site-packages/colorama/tests/ansitowin32_test.py +294 -0
  133. venv/Lib/site-packages/colorama/tests/initialise_test.py +189 -0
  134. venv/Lib/site-packages/colorama/tests/isatty_test.py +57 -0
  135. venv/Lib/site-packages/colorama/tests/utils.py +49 -0
  136. venv/Lib/site-packages/colorama/tests/winterm_test.py +131 -0
  137. venv/Lib/site-packages/colorama/win32.py +180 -0
  138. venv/Lib/site-packages/colorama/winterm.py +195 -0
  139. venv/Lib/site-packages/docutils/__init__.py +341 -0
  140. venv/Lib/site-packages/docutils/__main__.py +103 -0
  141. venv/Lib/site-packages/docutils/core.py +855 -0
  142. venv/Lib/site-packages/docutils/examples.py +123 -0
  143. venv/Lib/site-packages/docutils/frontend.py +1178 -0
  144. venv/Lib/site-packages/docutils/io.py +716 -0
  145. venv/Lib/site-packages/docutils/languages/__init__.py +117 -0
  146. venv/Lib/site-packages/docutils/languages/af.py +58 -0
  147. venv/Lib/site-packages/docutils/languages/ar.py +60 -0
  148. venv/Lib/site-packages/docutils/languages/ca.py +65 -0
  149. venv/Lib/site-packages/docutils/languages/cs.py +60 -0
  150. venv/Lib/site-packages/docutils/languages/da.py +61 -0
  151. venv/Lib/site-packages/docutils/languages/de.py +58 -0
  152. venv/Lib/site-packages/docutils/languages/en.py +60 -0
  153. venv/Lib/site-packages/docutils/languages/eo.py +61 -0
  154. venv/Lib/site-packages/docutils/languages/es.py +58 -0
  155. venv/Lib/site-packages/docutils/languages/fa.py +60 -0
  156. venv/Lib/site-packages/docutils/languages/fi.py +60 -0
  157. venv/Lib/site-packages/docutils/languages/fr.py +58 -0
  158. venv/Lib/site-packages/docutils/languages/gl.py +62 -0
  159. venv/Lib/site-packages/docutils/languages/he.py +62 -0
  160. venv/Lib/site-packages/docutils/languages/it.py +58 -0
  161. venv/Lib/site-packages/docutils/languages/ja.py +60 -0
  162. venv/Lib/site-packages/docutils/languages/ka.py +58 -0
  163. venv/Lib/site-packages/docutils/languages/ko.py +60 -0
  164. venv/Lib/site-packages/docutils/languages/lt.py +60 -0
  165. venv/Lib/site-packages/docutils/languages/lv.py +59 -0
  166. venv/Lib/site-packages/docutils/languages/nl.py +60 -0
  167. venv/Lib/site-packages/docutils/languages/pl.py +60 -0
  168. venv/Lib/site-packages/docutils/languages/pt_br.py +60 -0
  169. venv/Lib/site-packages/docutils/languages/ru.py +58 -0
  170. venv/Lib/site-packages/docutils/languages/sk.py +58 -0
  171. venv/Lib/site-packages/docutils/languages/sv.py +59 -0
  172. venv/Lib/site-packages/docutils/languages/uk.py +58 -0
  173. venv/Lib/site-packages/docutils/languages/zh_cn.py +62 -0
  174. venv/Lib/site-packages/docutils/languages/zh_tw.py +61 -0
  175. venv/Lib/site-packages/docutils/nodes.py +3341 -0
  176. venv/Lib/site-packages/docutils/parsers/__init__.py +115 -0
  177. venv/Lib/site-packages/docutils/parsers/commonmark_wrapper.py +56 -0
  178. venv/Lib/site-packages/docutils/parsers/docutils_xml.py +194 -0
  179. venv/Lib/site-packages/docutils/parsers/null.py +24 -0
  180. venv/Lib/site-packages/docutils/parsers/recommonmark_wrapper.py +174 -0
  181. venv/Lib/site-packages/docutils/parsers/rst/__init__.py +414 -0
  182. venv/Lib/site-packages/docutils/parsers/rst/directives/__init__.py +480 -0
  183. venv/Lib/site-packages/docutils/parsers/rst/directives/admonitions.py +101 -0
  184. venv/Lib/site-packages/docutils/parsers/rst/directives/body.py +329 -0
  185. venv/Lib/site-packages/docutils/parsers/rst/directives/html.py +21 -0
  186. venv/Lib/site-packages/docutils/parsers/rst/directives/images.py +186 -0
  187. venv/Lib/site-packages/docutils/parsers/rst/directives/misc.py +690 -0
  188. venv/Lib/site-packages/docutils/parsers/rst/directives/parts.py +129 -0
  189. venv/Lib/site-packages/docutils/parsers/rst/directives/references.py +28 -0
  190. venv/Lib/site-packages/docutils/parsers/rst/directives/tables.py +523 -0
  191. venv/Lib/site-packages/docutils/parsers/rst/languages/__init__.py +63 -0
  192. venv/Lib/site-packages/docutils/parsers/rst/languages/af.py +107 -0
  193. venv/Lib/site-packages/docutils/parsers/rst/languages/ar.py +99 -0
  194. venv/Lib/site-packages/docutils/parsers/rst/languages/ca.py +130 -0
  195. venv/Lib/site-packages/docutils/parsers/rst/languages/cs.py +110 -0
  196. venv/Lib/site-packages/docutils/parsers/rst/languages/da.py +113 -0
  197. venv/Lib/site-packages/docutils/parsers/rst/languages/de.py +106 -0
  198. venv/Lib/site-packages/docutils/parsers/rst/languages/en.py +115 -0
  199. venv/Lib/site-packages/docutils/parsers/rst/languages/eo.py +118 -0
  200. venv/Lib/site-packages/docutils/parsers/rst/languages/es.py +121 -0
  201. venv/Lib/site-packages/docutils/parsers/rst/languages/fa.py +102 -0
  202. venv/Lib/site-packages/docutils/parsers/rst/languages/fi.py +98 -0
  203. venv/Lib/site-packages/docutils/parsers/rst/languages/fr.py +107 -0
  204. venv/Lib/site-packages/docutils/parsers/rst/languages/gl.py +106 -0
  205. venv/Lib/site-packages/docutils/parsers/rst/languages/he.py +110 -0
  206. venv/Lib/site-packages/docutils/parsers/rst/languages/it.py +98 -0
  207. venv/Lib/site-packages/docutils/parsers/rst/languages/ja.py +119 -0
  208. venv/Lib/site-packages/docutils/parsers/rst/languages/ka.py +89 -0
  209. venv/Lib/site-packages/docutils/parsers/rst/languages/ko.py +111 -0
  210. venv/Lib/site-packages/docutils/parsers/rst/languages/lt.py +109 -0
  211. venv/Lib/site-packages/docutils/parsers/rst/languages/lv.py +108 -0
  212. venv/Lib/site-packages/docutils/parsers/rst/languages/nl.py +113 -0
  213. venv/Lib/site-packages/docutils/parsers/rst/languages/pl.py +100 -0
  214. venv/Lib/site-packages/docutils/parsers/rst/languages/pt_br.py +109 -0
  215. venv/Lib/site-packages/docutils/parsers/rst/languages/ru.py +90 -0
  216. venv/Lib/site-packages/docutils/parsers/rst/languages/sk.py +96 -0
  217. venv/Lib/site-packages/docutils/parsers/rst/languages/sv.py +96 -0
  218. venv/Lib/site-packages/docutils/parsers/rst/languages/uk.py +91 -0
  219. venv/Lib/site-packages/docutils/parsers/rst/languages/zh_cn.py +104 -0
  220. venv/Lib/site-packages/docutils/parsers/rst/languages/zh_tw.py +109 -0
  221. venv/Lib/site-packages/docutils/parsers/rst/roles.py +450 -0
  222. venv/Lib/site-packages/docutils/parsers/rst/states.py +3266 -0
  223. venv/Lib/site-packages/docutils/parsers/rst/tableparser.py +543 -0
  224. venv/Lib/site-packages/docutils/readers/__init__.py +135 -0
  225. venv/Lib/site-packages/docutils/readers/doctree.py +50 -0
  226. venv/Lib/site-packages/docutils/readers/pep.py +55 -0
  227. venv/Lib/site-packages/docutils/readers/standalone.py +65 -0
  228. venv/Lib/site-packages/docutils/statemachine.py +1534 -0
  229. venv/Lib/site-packages/docutils/transforms/__init__.py +196 -0
  230. venv/Lib/site-packages/docutils/transforms/components.py +56 -0
  231. venv/Lib/site-packages/docutils/transforms/frontmatter.py +548 -0
  232. venv/Lib/site-packages/docutils/transforms/misc.py +143 -0
  233. venv/Lib/site-packages/docutils/transforms/parts.py +175 -0
  234. venv/Lib/site-packages/docutils/transforms/peps.py +315 -0
  235. venv/Lib/site-packages/docutils/transforms/references.py +990 -0
  236. venv/Lib/site-packages/docutils/transforms/universal.py +364 -0
  237. venv/Lib/site-packages/docutils/transforms/writer_aux.py +57 -0
  238. venv/Lib/site-packages/docutils/utils/__init__.py +850 -0
  239. venv/Lib/site-packages/docutils/utils/_roman_numerals.py +264 -0
  240. venv/Lib/site-packages/docutils/utils/_typing.py +39 -0
  241. venv/Lib/site-packages/docutils/utils/code_analyzer.py +140 -0
  242. venv/Lib/site-packages/docutils/utils/math/__init__.py +77 -0
  243. venv/Lib/site-packages/docutils/utils/math/latex2mathml.py +1252 -0
  244. venv/Lib/site-packages/docutils/utils/math/math2html.py +3166 -0
  245. venv/Lib/site-packages/docutils/utils/math/mathalphabet2unichar.py +892 -0
  246. venv/Lib/site-packages/docutils/utils/math/mathml_elements.py +482 -0
  247. venv/Lib/site-packages/docutils/utils/math/tex2mathml_extern.py +263 -0
  248. venv/Lib/site-packages/docutils/utils/math/tex2unichar.py +730 -0
  249. venv/Lib/site-packages/docutils/utils/math/unichar2tex.py +808 -0
  250. venv/Lib/site-packages/docutils/utils/punctuation_chars.py +123 -0
  251. venv/Lib/site-packages/docutils/utils/smartquotes.py +1006 -0
  252. venv/Lib/site-packages/docutils/utils/urischemes.py +138 -0
  253. venv/Lib/site-packages/docutils/writers/__init__.py +277 -0
  254. venv/Lib/site-packages/docutils/writers/_html_base.py +1895 -0
  255. venv/Lib/site-packages/docutils/writers/docutils_xml.py +191 -0
  256. venv/Lib/site-packages/docutils/writers/html4css1/__init__.py +964 -0
  257. venv/Lib/site-packages/docutils/writers/html5_polyglot/__init__.py +398 -0
  258. venv/Lib/site-packages/docutils/writers/latex2e/__init__.py +3417 -0
  259. venv/Lib/site-packages/docutils/writers/manpage.py +1353 -0
  260. venv/Lib/site-packages/docutils/writers/null.py +28 -0
  261. venv/Lib/site-packages/docutils/writers/odf_odt/__init__.py +3461 -0
  262. venv/Lib/site-packages/docutils/writers/odf_odt/prepstyles.py +80 -0
  263. venv/Lib/site-packages/docutils/writers/odf_odt/pygmentsformatter.py +106 -0
  264. venv/Lib/site-packages/docutils/writers/pep_html/__init__.py +102 -0
  265. venv/Lib/site-packages/docutils/writers/pseudoxml.py +41 -0
  266. venv/Lib/site-packages/docutils/writers/s5_html/__init__.py +354 -0
  267. venv/Lib/site-packages/docutils/writers/xetex/__init__.py +168 -0
  268. venv/Lib/site-packages/id/__init__.py +114 -0
  269. venv/Lib/site-packages/id/__main__.py +88 -0
  270. venv/Lib/site-packages/id/_internal/oidc/__init__.py +13 -0
  271. venv/Lib/site-packages/id/_internal/oidc/ambient.py +363 -0
  272. venv/Lib/site-packages/id/py.typed +4 -0
  273. venv/Lib/site-packages/idna/__init__.py +45 -0
  274. venv/Lib/site-packages/idna/codec.py +122 -0
  275. venv/Lib/site-packages/idna/compat.py +15 -0
  276. venv/Lib/site-packages/idna/core.py +440 -0
  277. venv/Lib/site-packages/idna/idnadata.py +4367 -0
  278. venv/Lib/site-packages/idna/intranges.py +57 -0
  279. venv/Lib/site-packages/idna/package_data.py +1 -0
  280. venv/Lib/site-packages/idna/py.typed +0 -0
  281. venv/Lib/site-packages/idna/uts46data.py +8384 -0
  282. venv/Lib/site-packages/iniconfig/__init__.py +249 -0
  283. venv/Lib/site-packages/iniconfig/_parse.py +163 -0
  284. venv/Lib/site-packages/iniconfig/_version.py +34 -0
  285. venv/Lib/site-packages/iniconfig/exceptions.py +16 -0
  286. venv/Lib/site-packages/iniconfig/py.typed +0 -0
  287. venv/Lib/site-packages/jaraco/classes/__init__.py +0 -0
  288. venv/Lib/site-packages/jaraco/classes/ancestry.py +76 -0
  289. venv/Lib/site-packages/jaraco/classes/meta.py +85 -0
  290. venv/Lib/site-packages/jaraco/classes/properties.py +241 -0
  291. venv/Lib/site-packages/jaraco/classes/py.typed +0 -0
  292. venv/Lib/site-packages/jaraco/context/__init__.py +422 -0
  293. venv/Lib/site-packages/jaraco/context/py.typed +0 -0
  294. venv/Lib/site-packages/jaraco/functools/__init__.py +722 -0
  295. venv/Lib/site-packages/jaraco/functools/__init__.pyi +123 -0
  296. venv/Lib/site-packages/jaraco/functools/py.typed +0 -0
  297. venv/Lib/site-packages/keyring/__init__.py +17 -0
  298. venv/Lib/site-packages/keyring/__main__.py +4 -0
  299. venv/Lib/site-packages/keyring/backend.py +300 -0
  300. venv/Lib/site-packages/keyring/backends/SecretService.py +120 -0
  301. venv/Lib/site-packages/keyring/backends/Windows.py +168 -0
  302. venv/Lib/site-packages/keyring/backends/__init__.py +0 -0
  303. venv/Lib/site-packages/keyring/backends/chainer.py +71 -0
  304. venv/Lib/site-packages/keyring/backends/fail.py +30 -0
  305. venv/Lib/site-packages/keyring/backends/kwallet.py +164 -0
  306. venv/Lib/site-packages/keyring/backends/libsecret.py +155 -0
  307. venv/Lib/site-packages/keyring/backends/macOS/__init__.py +85 -0
  308. venv/Lib/site-packages/keyring/backends/macOS/api.py +184 -0
  309. venv/Lib/site-packages/keyring/backends/null.py +20 -0
  310. venv/Lib/site-packages/keyring/cli.py +220 -0
  311. venv/Lib/site-packages/keyring/compat/__init__.py +7 -0
  312. venv/Lib/site-packages/keyring/compat/properties.py +169 -0
  313. venv/Lib/site-packages/keyring/compat/py312.py +9 -0
  314. venv/Lib/site-packages/keyring/completion.py +55 -0
  315. venv/Lib/site-packages/keyring/core.py +202 -0
  316. venv/Lib/site-packages/keyring/credentials.py +85 -0
  317. venv/Lib/site-packages/keyring/devpi_client.py +29 -0
  318. venv/Lib/site-packages/keyring/errors.py +67 -0
  319. venv/Lib/site-packages/keyring/http.py +39 -0
  320. venv/Lib/site-packages/keyring/py.typed +0 -0
  321. venv/Lib/site-packages/keyring/testing/__init__.py +0 -0
  322. venv/Lib/site-packages/keyring/testing/backend.py +200 -0
  323. venv/Lib/site-packages/keyring/testing/util.py +68 -0
  324. venv/Lib/site-packages/keyring/util/__init__.py +11 -0
  325. venv/Lib/site-packages/keyring/util/platform_.py +40 -0
  326. venv/Lib/site-packages/markdown_it/__init__.py +6 -0
  327. venv/Lib/site-packages/markdown_it/_compat.py +1 -0
  328. venv/Lib/site-packages/markdown_it/_punycode.py +67 -0
  329. venv/Lib/site-packages/markdown_it/cli/__init__.py +0 -0
  330. venv/Lib/site-packages/markdown_it/cli/parse.py +127 -0
  331. venv/Lib/site-packages/markdown_it/common/__init__.py +0 -0
  332. venv/Lib/site-packages/markdown_it/common/entities.py +5 -0
  333. venv/Lib/site-packages/markdown_it/common/html_blocks.py +69 -0
  334. venv/Lib/site-packages/markdown_it/common/html_re.py +39 -0
  335. venv/Lib/site-packages/markdown_it/common/normalize_url.py +81 -0
  336. venv/Lib/site-packages/markdown_it/common/utils.py +313 -0
  337. venv/Lib/site-packages/markdown_it/helpers/__init__.py +6 -0
  338. venv/Lib/site-packages/markdown_it/helpers/parse_link_destination.py +83 -0
  339. venv/Lib/site-packages/markdown_it/helpers/parse_link_label.py +44 -0
  340. venv/Lib/site-packages/markdown_it/helpers/parse_link_title.py +75 -0
  341. venv/Lib/site-packages/markdown_it/main.py +351 -0
  342. venv/Lib/site-packages/markdown_it/parser_block.py +113 -0
  343. venv/Lib/site-packages/markdown_it/parser_core.py +46 -0
  344. venv/Lib/site-packages/markdown_it/parser_inline.py +215 -0
  345. venv/Lib/site-packages/markdown_it/presets/__init__.py +48 -0
  346. venv/Lib/site-packages/markdown_it/presets/commonmark.py +75 -0
  347. venv/Lib/site-packages/markdown_it/presets/default.py +36 -0
  348. venv/Lib/site-packages/markdown_it/presets/zero.py +44 -0
  349. venv/Lib/site-packages/markdown_it/py.typed +1 -0
  350. venv/Lib/site-packages/markdown_it/renderer.py +356 -0
  351. venv/Lib/site-packages/markdown_it/ruler.py +275 -0
  352. venv/Lib/site-packages/markdown_it/rules_block/__init__.py +28 -0
  353. venv/Lib/site-packages/markdown_it/rules_block/blockquote.py +368 -0
  354. venv/Lib/site-packages/markdown_it/rules_block/code.py +36 -0
  355. venv/Lib/site-packages/markdown_it/rules_block/fence.py +146 -0
  356. venv/Lib/site-packages/markdown_it/rules_block/heading.py +69 -0
  357. venv/Lib/site-packages/markdown_it/rules_block/hr.py +56 -0
  358. venv/Lib/site-packages/markdown_it/rules_block/html_block.py +90 -0
  359. venv/Lib/site-packages/markdown_it/rules_block/lheading.py +86 -0
  360. venv/Lib/site-packages/markdown_it/rules_block/list.py +408 -0
  361. venv/Lib/site-packages/markdown_it/rules_block/paragraph.py +66 -0
  362. venv/Lib/site-packages/markdown_it/rules_block/reference.py +235 -0
  363. venv/Lib/site-packages/markdown_it/rules_block/state_block.py +261 -0
  364. venv/Lib/site-packages/markdown_it/rules_block/table.py +250 -0
  365. venv/Lib/site-packages/markdown_it/rules_core/__init__.py +19 -0
  366. venv/Lib/site-packages/markdown_it/rules_core/block.py +13 -0
  367. venv/Lib/site-packages/markdown_it/rules_core/inline.py +10 -0
  368. venv/Lib/site-packages/markdown_it/rules_core/linkify.py +149 -0
  369. venv/Lib/site-packages/markdown_it/rules_core/normalize.py +19 -0
  370. venv/Lib/site-packages/markdown_it/rules_core/replacements.py +127 -0
  371. venv/Lib/site-packages/markdown_it/rules_core/smartquotes.py +202 -0
  372. venv/Lib/site-packages/markdown_it/rules_core/state_core.py +25 -0
  373. venv/Lib/site-packages/markdown_it/rules_core/text_join.py +53 -0
  374. venv/Lib/site-packages/markdown_it/rules_inline/__init__.py +31 -0
  375. venv/Lib/site-packages/markdown_it/rules_inline/autolink.py +77 -0
  376. venv/Lib/site-packages/markdown_it/rules_inline/backticks.py +72 -0
  377. venv/Lib/site-packages/markdown_it/rules_inline/balance_pairs.py +138 -0
  378. venv/Lib/site-packages/markdown_it/rules_inline/emphasis.py +102 -0
  379. venv/Lib/site-packages/markdown_it/rules_inline/entity.py +53 -0
  380. venv/Lib/site-packages/markdown_it/rules_inline/escape.py +93 -0
  381. venv/Lib/site-packages/markdown_it/rules_inline/fragments_join.py +54 -0
  382. venv/Lib/site-packages/markdown_it/rules_inline/html_inline.py +43 -0
  383. venv/Lib/site-packages/markdown_it/rules_inline/image.py +148 -0
  384. venv/Lib/site-packages/markdown_it/rules_inline/link.py +149 -0
  385. venv/Lib/site-packages/markdown_it/rules_inline/linkify.py +62 -0
  386. venv/Lib/site-packages/markdown_it/rules_inline/newline.py +44 -0
  387. venv/Lib/site-packages/markdown_it/rules_inline/state_inline.py +167 -0
  388. venv/Lib/site-packages/markdown_it/rules_inline/strikethrough.py +173 -0
  389. venv/Lib/site-packages/markdown_it/rules_inline/text.py +23 -0
  390. venv/Lib/site-packages/markdown_it/token.py +178 -0
  391. venv/Lib/site-packages/markdown_it/tree.py +333 -0
  392. venv/Lib/site-packages/markdown_it/utils.py +194 -0
  393. venv/Lib/site-packages/mdurl/__init__.py +18 -0
  394. venv/Lib/site-packages/mdurl/_decode.py +104 -0
  395. venv/Lib/site-packages/mdurl/_encode.py +85 -0
  396. venv/Lib/site-packages/mdurl/_format.py +27 -0
  397. venv/Lib/site-packages/mdurl/_parse.py +304 -0
  398. venv/Lib/site-packages/mdurl/_url.py +14 -0
  399. venv/Lib/site-packages/mdurl/py.typed +1 -0
  400. venv/Lib/site-packages/more_itertools/__init__.py +6 -0
  401. venv/Lib/site-packages/more_itertools/__init__.pyi +2 -0
  402. venv/Lib/site-packages/more_itertools/more.py +5457 -0
  403. venv/Lib/site-packages/more_itertools/more.pyi +963 -0
  404. venv/Lib/site-packages/more_itertools/py.typed +0 -0
  405. venv/Lib/site-packages/more_itertools/recipes.py +1599 -0
  406. venv/Lib/site-packages/more_itertools/recipes.pyi +234 -0
  407. venv/Lib/site-packages/nh3/__init__.py +5 -0
  408. venv/Lib/site-packages/nh3/__init__.pyi +42 -0
  409. venv/Lib/site-packages/nh3/py.typed +0 -0
  410. venv/Lib/site-packages/packaging/__init__.py +15 -0
  411. venv/Lib/site-packages/packaging/_elffile.py +108 -0
  412. venv/Lib/site-packages/packaging/_manylinux.py +262 -0
  413. venv/Lib/site-packages/packaging/_musllinux.py +85 -0
  414. venv/Lib/site-packages/packaging/_parser.py +393 -0
  415. venv/Lib/site-packages/packaging/_structures.py +33 -0
  416. venv/Lib/site-packages/packaging/_tokenizer.py +193 -0
  417. venv/Lib/site-packages/packaging/dependency_groups.py +302 -0
  418. venv/Lib/site-packages/packaging/direct_url.py +325 -0
  419. venv/Lib/site-packages/packaging/errors.py +94 -0
  420. venv/Lib/site-packages/packaging/licenses/__init__.py +186 -0
  421. venv/Lib/site-packages/packaging/licenses/_spdx.py +799 -0
  422. venv/Lib/site-packages/packaging/markers.py +492 -0
  423. venv/Lib/site-packages/packaging/metadata.py +964 -0
  424. venv/Lib/site-packages/packaging/py.typed +0 -0
  425. venv/Lib/site-packages/packaging/pylock.py +905 -0
  426. venv/Lib/site-packages/packaging/requirements.py +129 -0
  427. venv/Lib/site-packages/packaging/specifiers.py +1943 -0
  428. venv/Lib/site-packages/packaging/tags.py +932 -0
  429. venv/Lib/site-packages/packaging/utils.py +296 -0
  430. venv/Lib/site-packages/packaging/version.py +1231 -0
  431. venv/Lib/site-packages/pip/__init__.py +13 -0
  432. venv/Lib/site-packages/pip/__main__.py +24 -0
  433. venv/Lib/site-packages/pip/__pip-runner__.py +50 -0
  434. venv/Lib/site-packages/pip/_internal/__init__.py +18 -0
  435. venv/Lib/site-packages/pip/_internal/build_env.py +606 -0
  436. venv/Lib/site-packages/pip/_internal/cache.py +291 -0
  437. venv/Lib/site-packages/pip/_internal/cli/__init__.py +3 -0
  438. venv/Lib/site-packages/pip/_internal/cli/autocompletion.py +184 -0
  439. venv/Lib/site-packages/pip/_internal/cli/base_command.py +255 -0
  440. venv/Lib/site-packages/pip/_internal/cli/cmdoptions.py +1267 -0
  441. venv/Lib/site-packages/pip/_internal/cli/command_context.py +28 -0
  442. venv/Lib/site-packages/pip/_internal/cli/index_command.py +195 -0
  443. venv/Lib/site-packages/pip/_internal/cli/main.py +85 -0
  444. venv/Lib/site-packages/pip/_internal/cli/main_parser.py +136 -0
  445. venv/Lib/site-packages/pip/_internal/cli/parser.py +358 -0
  446. venv/Lib/site-packages/pip/_internal/cli/progress_bars.py +153 -0
  447. venv/Lib/site-packages/pip/_internal/cli/req_command.py +447 -0
  448. venv/Lib/site-packages/pip/_internal/cli/spinners.py +235 -0
  449. venv/Lib/site-packages/pip/_internal/cli/status_codes.py +6 -0
  450. venv/Lib/site-packages/pip/_internal/commands/__init__.py +139 -0
  451. venv/Lib/site-packages/pip/_internal/commands/cache.py +255 -0
  452. venv/Lib/site-packages/pip/_internal/commands/check.py +66 -0
  453. venv/Lib/site-packages/pip/_internal/commands/completion.py +136 -0
  454. venv/Lib/site-packages/pip/_internal/commands/configuration.py +288 -0
  455. venv/Lib/site-packages/pip/_internal/commands/debug.py +203 -0
  456. venv/Lib/site-packages/pip/_internal/commands/download.py +146 -0
  457. venv/Lib/site-packages/pip/_internal/commands/freeze.py +107 -0
  458. venv/Lib/site-packages/pip/_internal/commands/hash.py +58 -0
  459. venv/Lib/site-packages/pip/_internal/commands/help.py +40 -0
  460. venv/Lib/site-packages/pip/_internal/commands/index.py +166 -0
  461. venv/Lib/site-packages/pip/_internal/commands/inspect.py +92 -0
  462. venv/Lib/site-packages/pip/_internal/commands/install.py +810 -0
  463. venv/Lib/site-packages/pip/_internal/commands/list.py +398 -0
  464. venv/Lib/site-packages/pip/_internal/commands/lock.py +175 -0
  465. venv/Lib/site-packages/pip/_internal/commands/search.py +178 -0
  466. venv/Lib/site-packages/pip/_internal/commands/show.py +231 -0
  467. venv/Lib/site-packages/pip/_internal/commands/uninstall.py +113 -0
  468. venv/Lib/site-packages/pip/_internal/commands/wheel.py +171 -0
  469. venv/Lib/site-packages/pip/_internal/configuration.py +396 -0
  470. venv/Lib/site-packages/pip/_internal/distributions/__init__.py +21 -0
  471. venv/Lib/site-packages/pip/_internal/distributions/base.py +55 -0
  472. venv/Lib/site-packages/pip/_internal/distributions/installed.py +33 -0
  473. venv/Lib/site-packages/pip/_internal/distributions/sdist.py +164 -0
  474. venv/Lib/site-packages/pip/_internal/distributions/wheel.py +44 -0
  475. venv/Lib/site-packages/pip/_internal/exceptions.py +971 -0
  476. venv/Lib/site-packages/pip/_internal/index/__init__.py +1 -0
  477. venv/Lib/site-packages/pip/_internal/index/collector.py +488 -0
  478. venv/Lib/site-packages/pip/_internal/index/package_finder.py +1125 -0
  479. venv/Lib/site-packages/pip/_internal/index/sources.py +287 -0
  480. venv/Lib/site-packages/pip/_internal/locations/__init__.py +440 -0
  481. venv/Lib/site-packages/pip/_internal/locations/_distutils.py +173 -0
  482. venv/Lib/site-packages/pip/_internal/locations/_sysconfig.py +218 -0
  483. venv/Lib/site-packages/pip/_internal/locations/base.py +82 -0
  484. venv/Lib/site-packages/pip/_internal/main.py +12 -0
  485. venv/Lib/site-packages/pip/_internal/metadata/__init__.py +169 -0
  486. venv/Lib/site-packages/pip/_internal/metadata/_json.py +87 -0
  487. venv/Lib/site-packages/pip/_internal/metadata/base.py +685 -0
  488. venv/Lib/site-packages/pip/_internal/metadata/importlib/__init__.py +6 -0
  489. venv/Lib/site-packages/pip/_internal/metadata/importlib/_compat.py +87 -0
  490. venv/Lib/site-packages/pip/_internal/metadata/importlib/_dists.py +229 -0
  491. venv/Lib/site-packages/pip/_internal/metadata/importlib/_envs.py +143 -0
  492. venv/Lib/site-packages/pip/_internal/metadata/pkg_resources.py +298 -0
  493. venv/Lib/site-packages/pip/_internal/models/__init__.py +1 -0
  494. venv/Lib/site-packages/pip/_internal/models/candidate.py +25 -0
  495. venv/Lib/site-packages/pip/_internal/models/direct_url.py +227 -0
  496. venv/Lib/site-packages/pip/_internal/models/format_control.py +78 -0
  497. venv/Lib/site-packages/pip/_internal/models/index.py +28 -0
  498. venv/Lib/site-packages/pip/_internal/models/installation_report.py +57 -0
  499. venv/Lib/site-packages/pip/_internal/models/link.py +617 -0
  500. venv/Lib/site-packages/pip/_internal/models/release_control.py +92 -0
  501. venv/Lib/site-packages/pip/_internal/models/scheme.py +25 -0
  502. venv/Lib/site-packages/pip/_internal/models/search_scope.py +126 -0
  503. venv/Lib/site-packages/pip/_internal/models/selection_prefs.py +56 -0
  504. venv/Lib/site-packages/pip/_internal/models/target_python.py +122 -0
  505. venv/Lib/site-packages/pip/_internal/models/wheel.py +80 -0
  506. venv/Lib/site-packages/pip/_internal/network/__init__.py +1 -0
  507. venv/Lib/site-packages/pip/_internal/network/auth.py +568 -0
  508. venv/Lib/site-packages/pip/_internal/network/cache.py +128 -0
  509. venv/Lib/site-packages/pip/_internal/network/download.py +341 -0
  510. venv/Lib/site-packages/pip/_internal/network/lazy_wheel.py +215 -0
  511. venv/Lib/site-packages/pip/_internal/network/session.py +532 -0
  512. venv/Lib/site-packages/pip/_internal/network/utils.py +98 -0
  513. venv/Lib/site-packages/pip/_internal/network/xmlrpc.py +61 -0
  514. venv/Lib/site-packages/pip/_internal/operations/__init__.py +0 -0
  515. venv/Lib/site-packages/pip/_internal/operations/build/__init__.py +0 -0
  516. venv/Lib/site-packages/pip/_internal/operations/build/build_tracker.py +140 -0
  517. venv/Lib/site-packages/pip/_internal/operations/build/metadata.py +38 -0
  518. venv/Lib/site-packages/pip/_internal/operations/build/metadata_editable.py +41 -0
  519. venv/Lib/site-packages/pip/_internal/operations/build/wheel.py +38 -0
  520. venv/Lib/site-packages/pip/_internal/operations/build/wheel_editable.py +47 -0
  521. venv/Lib/site-packages/pip/_internal/operations/check.py +175 -0
  522. venv/Lib/site-packages/pip/_internal/operations/freeze.py +259 -0
  523. venv/Lib/site-packages/pip/_internal/operations/install/__init__.py +1 -0
  524. venv/Lib/site-packages/pip/_internal/operations/install/wheel.py +745 -0
  525. venv/Lib/site-packages/pip/_internal/operations/prepare.py +747 -0
  526. venv/Lib/site-packages/pip/_internal/pyproject.py +123 -0
  527. venv/Lib/site-packages/pip/_internal/req/__init__.py +103 -0
  528. venv/Lib/site-packages/pip/_internal/req/constructors.py +568 -0
  529. venv/Lib/site-packages/pip/_internal/req/pep723.py +41 -0
  530. venv/Lib/site-packages/pip/_internal/req/req_dependency_group.py +75 -0
  531. venv/Lib/site-packages/pip/_internal/req/req_file.py +631 -0
  532. venv/Lib/site-packages/pip/_internal/req/req_install.py +828 -0
  533. venv/Lib/site-packages/pip/_internal/req/req_set.py +81 -0
  534. venv/Lib/site-packages/pip/_internal/req/req_uninstall.py +639 -0
  535. venv/Lib/site-packages/pip/_internal/resolution/__init__.py +0 -0
  536. venv/Lib/site-packages/pip/_internal/resolution/base.py +20 -0
  537. venv/Lib/site-packages/pip/_internal/resolution/legacy/__init__.py +0 -0
  538. venv/Lib/site-packages/pip/_internal/resolution/legacy/resolver.py +598 -0
  539. venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__init__.py +0 -0
  540. venv/Lib/site-packages/pip/_internal/resolution/resolvelib/base.py +142 -0
  541. venv/Lib/site-packages/pip/_internal/resolution/resolvelib/candidates.py +591 -0
  542. venv/Lib/site-packages/pip/_internal/resolution/resolvelib/factory.py +856 -0
  543. venv/Lib/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py +166 -0
  544. venv/Lib/site-packages/pip/_internal/resolution/resolvelib/provider.py +285 -0
  545. venv/Lib/site-packages/pip/_internal/resolution/resolvelib/reporter.py +98 -0
  546. venv/Lib/site-packages/pip/_internal/resolution/resolvelib/requirements.py +251 -0
  547. venv/Lib/site-packages/pip/_internal/resolution/resolvelib/resolver.py +332 -0
  548. venv/Lib/site-packages/pip/_internal/self_outdated_check.py +255 -0
  549. venv/Lib/site-packages/pip/_internal/utils/__init__.py +0 -0
  550. venv/Lib/site-packages/pip/_internal/utils/_jaraco_text.py +109 -0
  551. venv/Lib/site-packages/pip/_internal/utils/_log.py +38 -0
  552. venv/Lib/site-packages/pip/_internal/utils/appdirs.py +52 -0
  553. venv/Lib/site-packages/pip/_internal/utils/compat.py +85 -0
  554. venv/Lib/site-packages/pip/_internal/utils/compatibility_tags.py +201 -0
  555. venv/Lib/site-packages/pip/_internal/utils/datetime.py +28 -0
  556. venv/Lib/site-packages/pip/_internal/utils/deprecation.py +126 -0
  557. venv/Lib/site-packages/pip/_internal/utils/direct_url_helpers.py +87 -0
  558. venv/Lib/site-packages/pip/_internal/utils/egg_link.py +81 -0
  559. venv/Lib/site-packages/pip/_internal/utils/entrypoints.py +88 -0
  560. venv/Lib/site-packages/pip/_internal/utils/filesystem.py +203 -0
  561. venv/Lib/site-packages/pip/_internal/utils/filetypes.py +24 -0
  562. venv/Lib/site-packages/pip/_internal/utils/glibc.py +102 -0
  563. venv/Lib/site-packages/pip/_internal/utils/hashes.py +150 -0
  564. venv/Lib/site-packages/pip/_internal/utils/logging.py +396 -0
  565. venv/Lib/site-packages/pip/_internal/utils/misc.py +771 -0
  566. venv/Lib/site-packages/pip/_internal/utils/packaging.py +44 -0
  567. venv/Lib/site-packages/pip/_internal/utils/pylock.py +116 -0
  568. venv/Lib/site-packages/pip/_internal/utils/retry.py +45 -0
  569. venv/Lib/site-packages/pip/_internal/utils/subprocess.py +248 -0
  570. venv/Lib/site-packages/pip/_internal/utils/temp_dir.py +294 -0
  571. venv/Lib/site-packages/pip/_internal/utils/unpacking.py +362 -0
  572. venv/Lib/site-packages/pip/_internal/utils/urls.py +55 -0
  573. venv/Lib/site-packages/pip/_internal/utils/virtualenv.py +105 -0
  574. venv/Lib/site-packages/pip/_internal/utils/wheel.py +132 -0
  575. venv/Lib/site-packages/pip/_internal/vcs/__init__.py +15 -0
  576. venv/Lib/site-packages/pip/_internal/vcs/bazaar.py +130 -0
  577. venv/Lib/site-packages/pip/_internal/vcs/git.py +571 -0
  578. venv/Lib/site-packages/pip/_internal/vcs/mercurial.py +186 -0
  579. venv/Lib/site-packages/pip/_internal/vcs/subversion.py +335 -0
  580. venv/Lib/site-packages/pip/_internal/vcs/versioncontrol.py +695 -0
  581. venv/Lib/site-packages/pip/_internal/wheel_builder.py +261 -0
  582. venv/Lib/site-packages/pip/_vendor/__init__.py +117 -0
  583. venv/Lib/site-packages/pip/_vendor/cachecontrol/__init__.py +32 -0
  584. venv/Lib/site-packages/pip/_vendor/cachecontrol/_cmd.py +70 -0
  585. venv/Lib/site-packages/pip/_vendor/cachecontrol/adapter.py +167 -0
  586. venv/Lib/site-packages/pip/_vendor/cachecontrol/cache.py +75 -0
  587. venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/__init__.py +8 -0
  588. venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py +145 -0
  589. venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py +48 -0
  590. venv/Lib/site-packages/pip/_vendor/cachecontrol/controller.py +511 -0
  591. venv/Lib/site-packages/pip/_vendor/cachecontrol/filewrapper.py +121 -0
  592. venv/Lib/site-packages/pip/_vendor/cachecontrol/heuristics.py +157 -0
  593. venv/Lib/site-packages/pip/_vendor/cachecontrol/py.typed +0 -0
  594. venv/Lib/site-packages/pip/_vendor/cachecontrol/serialize.py +146 -0
  595. venv/Lib/site-packages/pip/_vendor/cachecontrol/wrapper.py +43 -0
  596. venv/Lib/site-packages/pip/_vendor/certifi/__init__.py +4 -0
  597. venv/Lib/site-packages/pip/_vendor/certifi/__main__.py +12 -0
  598. venv/Lib/site-packages/pip/_vendor/certifi/core.py +83 -0
  599. venv/Lib/site-packages/pip/_vendor/certifi/py.typed +0 -0
  600. venv/Lib/site-packages/pip/_vendor/dependency_groups/__init__.py +13 -0
  601. venv/Lib/site-packages/pip/_vendor/dependency_groups/__main__.py +65 -0
  602. venv/Lib/site-packages/pip/_vendor/dependency_groups/_implementation.py +209 -0
  603. venv/Lib/site-packages/pip/_vendor/dependency_groups/_lint_dependency_groups.py +59 -0
  604. venv/Lib/site-packages/pip/_vendor/dependency_groups/_pip_wrapper.py +62 -0
  605. venv/Lib/site-packages/pip/_vendor/dependency_groups/_toml_compat.py +9 -0
  606. venv/Lib/site-packages/pip/_vendor/dependency_groups/py.typed +0 -0
  607. venv/Lib/site-packages/pip/_vendor/distlib/__init__.py +33 -0
  608. venv/Lib/site-packages/pip/_vendor/distlib/compat.py +1137 -0
  609. venv/Lib/site-packages/pip/_vendor/distlib/resources.py +358 -0
  610. venv/Lib/site-packages/pip/_vendor/distlib/scripts.py +447 -0
  611. venv/Lib/site-packages/pip/_vendor/distlib/util.py +1984 -0
  612. venv/Lib/site-packages/pip/_vendor/distro/__init__.py +54 -0
  613. venv/Lib/site-packages/pip/_vendor/distro/__main__.py +4 -0
  614. venv/Lib/site-packages/pip/_vendor/distro/distro.py +1403 -0
  615. venv/Lib/site-packages/pip/_vendor/distro/py.typed +0 -0
  616. venv/Lib/site-packages/pip/_vendor/idna/__init__.py +45 -0
  617. venv/Lib/site-packages/pip/_vendor/idna/codec.py +122 -0
  618. venv/Lib/site-packages/pip/_vendor/idna/compat.py +15 -0
  619. venv/Lib/site-packages/pip/_vendor/idna/core.py +437 -0
  620. venv/Lib/site-packages/pip/_vendor/idna/idnadata.py +4309 -0
  621. venv/Lib/site-packages/pip/_vendor/idna/intranges.py +57 -0
  622. venv/Lib/site-packages/pip/_vendor/idna/package_data.py +1 -0
  623. venv/Lib/site-packages/pip/_vendor/idna/py.typed +0 -0
  624. venv/Lib/site-packages/pip/_vendor/idna/uts46data.py +8841 -0
  625. venv/Lib/site-packages/pip/_vendor/msgpack/__init__.py +55 -0
  626. venv/Lib/site-packages/pip/_vendor/msgpack/exceptions.py +48 -0
  627. venv/Lib/site-packages/pip/_vendor/msgpack/ext.py +170 -0
  628. venv/Lib/site-packages/pip/_vendor/msgpack/fallback.py +929 -0
  629. venv/Lib/site-packages/pip/_vendor/packaging/__init__.py +15 -0
  630. venv/Lib/site-packages/pip/_vendor/packaging/_elffile.py +108 -0
  631. venv/Lib/site-packages/pip/_vendor/packaging/_manylinux.py +262 -0
  632. venv/Lib/site-packages/pip/_vendor/packaging/_musllinux.py +85 -0
  633. venv/Lib/site-packages/pip/_vendor/packaging/_parser.py +365 -0
  634. venv/Lib/site-packages/pip/_vendor/packaging/_structures.py +69 -0
  635. venv/Lib/site-packages/pip/_vendor/packaging/_tokenizer.py +193 -0
  636. venv/Lib/site-packages/pip/_vendor/packaging/licenses/__init__.py +147 -0
  637. venv/Lib/site-packages/pip/_vendor/packaging/licenses/_spdx.py +799 -0
  638. venv/Lib/site-packages/pip/_vendor/packaging/markers.py +388 -0
  639. venv/Lib/site-packages/pip/_vendor/packaging/metadata.py +978 -0
  640. venv/Lib/site-packages/pip/_vendor/packaging/py.typed +0 -0
  641. venv/Lib/site-packages/pip/_vendor/packaging/pylock.py +635 -0
  642. venv/Lib/site-packages/pip/_vendor/packaging/requirements.py +86 -0
  643. venv/Lib/site-packages/pip/_vendor/packaging/specifiers.py +1068 -0
  644. venv/Lib/site-packages/pip/_vendor/packaging/tags.py +651 -0
  645. venv/Lib/site-packages/pip/_vendor/packaging/utils.py +158 -0
  646. venv/Lib/site-packages/pip/_vendor/packaging/version.py +792 -0
  647. venv/Lib/site-packages/pip/_vendor/pkg_resources/__init__.py +3676 -0
  648. venv/Lib/site-packages/pip/_vendor/platformdirs/__init__.py +631 -0
  649. venv/Lib/site-packages/pip/_vendor/platformdirs/__main__.py +55 -0
  650. venv/Lib/site-packages/pip/_vendor/platformdirs/android.py +249 -0
  651. venv/Lib/site-packages/pip/_vendor/platformdirs/api.py +299 -0
  652. venv/Lib/site-packages/pip/_vendor/platformdirs/macos.py +146 -0
  653. venv/Lib/site-packages/pip/_vendor/platformdirs/py.typed +0 -0
  654. venv/Lib/site-packages/pip/_vendor/platformdirs/unix.py +272 -0
  655. venv/Lib/site-packages/pip/_vendor/platformdirs/version.py +34 -0
  656. venv/Lib/site-packages/pip/_vendor/platformdirs/windows.py +278 -0
  657. venv/Lib/site-packages/pip/_vendor/pygments/__init__.py +82 -0
  658. venv/Lib/site-packages/pip/_vendor/pygments/__main__.py +17 -0
  659. venv/Lib/site-packages/pip/_vendor/pygments/console.py +70 -0
  660. venv/Lib/site-packages/pip/_vendor/pygments/filter.py +70 -0
  661. venv/Lib/site-packages/pip/_vendor/pygments/filters/__init__.py +940 -0
  662. venv/Lib/site-packages/pip/_vendor/pygments/formatter.py +129 -0
  663. venv/Lib/site-packages/pip/_vendor/pygments/formatters/__init__.py +157 -0
  664. venv/Lib/site-packages/pip/_vendor/pygments/formatters/_mapping.py +23 -0
  665. venv/Lib/site-packages/pip/_vendor/pygments/lexer.py +963 -0
  666. venv/Lib/site-packages/pip/_vendor/pygments/lexers/__init__.py +362 -0
  667. venv/Lib/site-packages/pip/_vendor/pygments/lexers/_mapping.py +602 -0
  668. venv/Lib/site-packages/pip/_vendor/pygments/lexers/python.py +1201 -0
  669. venv/Lib/site-packages/pip/_vendor/pygments/modeline.py +43 -0
  670. venv/Lib/site-packages/pip/_vendor/pygments/plugin.py +72 -0
  671. venv/Lib/site-packages/pip/_vendor/pygments/regexopt.py +91 -0
  672. venv/Lib/site-packages/pip/_vendor/pygments/scanner.py +104 -0
  673. venv/Lib/site-packages/pip/_vendor/pygments/sphinxext.py +247 -0
  674. venv/Lib/site-packages/pip/_vendor/pygments/style.py +203 -0
  675. venv/Lib/site-packages/pip/_vendor/pygments/styles/__init__.py +61 -0
  676. venv/Lib/site-packages/pip/_vendor/pygments/styles/_mapping.py +54 -0
  677. venv/Lib/site-packages/pip/_vendor/pygments/token.py +214 -0
  678. venv/Lib/site-packages/pip/_vendor/pygments/unistring.py +153 -0
  679. venv/Lib/site-packages/pip/_vendor/pygments/util.py +324 -0
  680. venv/Lib/site-packages/pip/_vendor/pyproject_hooks/__init__.py +31 -0
  681. venv/Lib/site-packages/pip/_vendor/pyproject_hooks/_impl.py +410 -0
  682. venv/Lib/site-packages/pip/_vendor/pyproject_hooks/_in_process/__init__.py +21 -0
  683. venv/Lib/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py +389 -0
  684. venv/Lib/site-packages/pip/_vendor/pyproject_hooks/py.typed +0 -0
  685. venv/Lib/site-packages/pip/_vendor/requests/__init__.py +179 -0
  686. venv/Lib/site-packages/pip/_vendor/requests/__version__.py +14 -0
  687. venv/Lib/site-packages/pip/_vendor/requests/_internal_utils.py +50 -0
  688. venv/Lib/site-packages/pip/_vendor/requests/adapters.py +696 -0
  689. venv/Lib/site-packages/pip/_vendor/requests/api.py +157 -0
  690. venv/Lib/site-packages/pip/_vendor/requests/auth.py +314 -0
  691. venv/Lib/site-packages/pip/_vendor/requests/certs.py +17 -0
  692. venv/Lib/site-packages/pip/_vendor/requests/compat.py +90 -0
  693. venv/Lib/site-packages/pip/_vendor/requests/cookies.py +561 -0
  694. venv/Lib/site-packages/pip/_vendor/requests/exceptions.py +151 -0
  695. venv/Lib/site-packages/pip/_vendor/requests/help.py +127 -0
  696. venv/Lib/site-packages/pip/_vendor/requests/hooks.py +33 -0
  697. venv/Lib/site-packages/pip/_vendor/requests/models.py +1039 -0
  698. venv/Lib/site-packages/pip/_vendor/requests/packages.py +25 -0
  699. venv/Lib/site-packages/pip/_vendor/requests/sessions.py +831 -0
  700. venv/Lib/site-packages/pip/_vendor/requests/status_codes.py +128 -0
  701. venv/Lib/site-packages/pip/_vendor/requests/structures.py +99 -0
  702. venv/Lib/site-packages/pip/_vendor/requests/utils.py +1086 -0
  703. venv/Lib/site-packages/pip/_vendor/resolvelib/__init__.py +27 -0
  704. venv/Lib/site-packages/pip/_vendor/resolvelib/providers.py +196 -0
  705. venv/Lib/site-packages/pip/_vendor/resolvelib/py.typed +0 -0
  706. venv/Lib/site-packages/pip/_vendor/resolvelib/reporters.py +55 -0
  707. venv/Lib/site-packages/pip/_vendor/resolvelib/resolvers/__init__.py +27 -0
  708. venv/Lib/site-packages/pip/_vendor/resolvelib/resolvers/abstract.py +47 -0
  709. venv/Lib/site-packages/pip/_vendor/resolvelib/resolvers/criterion.py +48 -0
  710. venv/Lib/site-packages/pip/_vendor/resolvelib/resolvers/exceptions.py +57 -0
  711. venv/Lib/site-packages/pip/_vendor/resolvelib/resolvers/resolution.py +627 -0
  712. venv/Lib/site-packages/pip/_vendor/resolvelib/structs.py +209 -0
  713. venv/Lib/site-packages/pip/_vendor/rich/__init__.py +177 -0
  714. venv/Lib/site-packages/pip/_vendor/rich/__main__.py +245 -0
  715. venv/Lib/site-packages/pip/_vendor/rich/_cell_widths.py +454 -0
  716. venv/Lib/site-packages/pip/_vendor/rich/_emoji_codes.py +3610 -0
  717. venv/Lib/site-packages/pip/_vendor/rich/_emoji_replace.py +32 -0
  718. venv/Lib/site-packages/pip/_vendor/rich/_export_format.py +76 -0
  719. venv/Lib/site-packages/pip/_vendor/rich/_extension.py +10 -0
  720. venv/Lib/site-packages/pip/_vendor/rich/_fileno.py +24 -0
  721. venv/Lib/site-packages/pip/_vendor/rich/_inspect.py +268 -0
  722. venv/Lib/site-packages/pip/_vendor/rich/_log_render.py +94 -0
  723. venv/Lib/site-packages/pip/_vendor/rich/_loop.py +43 -0
  724. venv/Lib/site-packages/pip/_vendor/rich/_null_file.py +69 -0
  725. venv/Lib/site-packages/pip/_vendor/rich/_palettes.py +309 -0
  726. venv/Lib/site-packages/pip/_vendor/rich/_pick.py +17 -0
  727. venv/Lib/site-packages/pip/_vendor/rich/_ratio.py +153 -0
  728. venv/Lib/site-packages/pip/_vendor/rich/_spinners.py +482 -0
  729. venv/Lib/site-packages/pip/_vendor/rich/_stack.py +16 -0
  730. venv/Lib/site-packages/pip/_vendor/rich/_timer.py +19 -0
  731. venv/Lib/site-packages/pip/_vendor/rich/_win32_console.py +661 -0
  732. venv/Lib/site-packages/pip/_vendor/rich/_windows.py +71 -0
  733. venv/Lib/site-packages/pip/_vendor/rich/_windows_renderer.py +56 -0
  734. venv/Lib/site-packages/pip/_vendor/rich/_wrap.py +93 -0
  735. venv/Lib/site-packages/pip/_vendor/rich/abc.py +33 -0
  736. venv/Lib/site-packages/pip/_vendor/rich/align.py +306 -0
  737. venv/Lib/site-packages/pip/_vendor/rich/ansi.py +241 -0
  738. venv/Lib/site-packages/pip/_vendor/rich/bar.py +93 -0
  739. venv/Lib/site-packages/pip/_vendor/rich/box.py +474 -0
  740. venv/Lib/site-packages/pip/_vendor/rich/cells.py +174 -0
  741. venv/Lib/site-packages/pip/_vendor/rich/color.py +621 -0
  742. venv/Lib/site-packages/pip/_vendor/rich/color_triplet.py +38 -0
  743. venv/Lib/site-packages/pip/_vendor/rich/columns.py +187 -0
  744. venv/Lib/site-packages/pip/_vendor/rich/console.py +2680 -0
  745. venv/Lib/site-packages/pip/_vendor/rich/constrain.py +37 -0
  746. venv/Lib/site-packages/pip/_vendor/rich/containers.py +167 -0
  747. venv/Lib/site-packages/pip/_vendor/rich/control.py +219 -0
  748. venv/Lib/site-packages/pip/_vendor/rich/default_styles.py +193 -0
  749. venv/Lib/site-packages/pip/_vendor/rich/diagnose.py +39 -0
  750. venv/Lib/site-packages/pip/_vendor/rich/emoji.py +91 -0
  751. venv/Lib/site-packages/pip/_vendor/rich/errors.py +34 -0
  752. venv/Lib/site-packages/pip/_vendor/rich/file_proxy.py +57 -0
  753. venv/Lib/site-packages/pip/_vendor/rich/filesize.py +88 -0
  754. venv/Lib/site-packages/pip/_vendor/rich/highlighter.py +232 -0
  755. venv/Lib/site-packages/pip/_vendor/rich/json.py +139 -0
  756. venv/Lib/site-packages/pip/_vendor/rich/jupyter.py +101 -0
  757. venv/Lib/site-packages/pip/_vendor/rich/layout.py +442 -0
  758. venv/Lib/site-packages/pip/_vendor/rich/live.py +400 -0
  759. venv/Lib/site-packages/pip/_vendor/rich/live_render.py +106 -0
  760. venv/Lib/site-packages/pip/_vendor/rich/logging.py +297 -0
  761. venv/Lib/site-packages/pip/_vendor/rich/markup.py +251 -0
  762. venv/Lib/site-packages/pip/_vendor/rich/measure.py +151 -0
  763. venv/Lib/site-packages/pip/_vendor/rich/padding.py +141 -0
  764. venv/Lib/site-packages/pip/_vendor/rich/pager.py +34 -0
  765. venv/Lib/site-packages/pip/_vendor/rich/palette.py +100 -0
  766. venv/Lib/site-packages/pip/_vendor/rich/panel.py +317 -0
  767. venv/Lib/site-packages/pip/_vendor/rich/pretty.py +1016 -0
  768. venv/Lib/site-packages/pip/_vendor/rich/progress.py +1715 -0
  769. venv/Lib/site-packages/pip/_vendor/rich/progress_bar.py +223 -0
  770. venv/Lib/site-packages/pip/_vendor/rich/prompt.py +400 -0
  771. venv/Lib/site-packages/pip/_vendor/rich/protocol.py +42 -0
  772. venv/Lib/site-packages/pip/_vendor/rich/py.typed +0 -0
  773. venv/Lib/site-packages/pip/_vendor/rich/region.py +10 -0
  774. venv/Lib/site-packages/pip/_vendor/rich/repr.py +149 -0
  775. venv/Lib/site-packages/pip/_vendor/rich/rule.py +130 -0
  776. venv/Lib/site-packages/pip/_vendor/rich/scope.py +86 -0
  777. venv/Lib/site-packages/pip/_vendor/rich/screen.py +54 -0
  778. venv/Lib/site-packages/pip/_vendor/rich/segment.py +752 -0
  779. venv/Lib/site-packages/pip/_vendor/rich/spinner.py +132 -0
  780. venv/Lib/site-packages/pip/_vendor/rich/status.py +131 -0
  781. venv/Lib/site-packages/pip/_vendor/rich/style.py +792 -0
  782. venv/Lib/site-packages/pip/_vendor/rich/styled.py +42 -0
  783. venv/Lib/site-packages/pip/_vendor/rich/syntax.py +985 -0
  784. venv/Lib/site-packages/pip/_vendor/rich/table.py +1006 -0
  785. venv/Lib/site-packages/pip/_vendor/rich/terminal_theme.py +153 -0
  786. venv/Lib/site-packages/pip/_vendor/rich/text.py +1361 -0
  787. venv/Lib/site-packages/pip/_vendor/rich/theme.py +115 -0
  788. venv/Lib/site-packages/pip/_vendor/rich/themes.py +5 -0
  789. venv/Lib/site-packages/pip/_vendor/rich/traceback.py +899 -0
  790. venv/Lib/site-packages/pip/_vendor/rich/tree.py +257 -0
  791. venv/Lib/site-packages/pip/_vendor/tomli/__init__.py +8 -0
  792. venv/Lib/site-packages/pip/_vendor/tomli/_parser.py +777 -0
  793. venv/Lib/site-packages/pip/_vendor/tomli/_re.py +115 -0
  794. venv/Lib/site-packages/pip/_vendor/tomli/_types.py +10 -0
  795. venv/Lib/site-packages/pip/_vendor/tomli/py.typed +1 -0
  796. venv/Lib/site-packages/pip/_vendor/tomli_w/__init__.py +4 -0
  797. venv/Lib/site-packages/pip/_vendor/tomli_w/_writer.py +229 -0
  798. venv/Lib/site-packages/pip/_vendor/tomli_w/py.typed +1 -0
  799. venv/Lib/site-packages/pip/_vendor/truststore/__init__.py +36 -0
  800. venv/Lib/site-packages/pip/_vendor/truststore/_api.py +341 -0
  801. venv/Lib/site-packages/pip/_vendor/truststore/_macos.py +571 -0
  802. venv/Lib/site-packages/pip/_vendor/truststore/_openssl.py +68 -0
  803. venv/Lib/site-packages/pip/_vendor/truststore/_ssl_constants.py +31 -0
  804. venv/Lib/site-packages/pip/_vendor/truststore/_windows.py +567 -0
  805. venv/Lib/site-packages/pip/_vendor/truststore/py.typed +0 -0
  806. venv/Lib/site-packages/pip/_vendor/urllib3/__init__.py +102 -0
  807. venv/Lib/site-packages/pip/_vendor/urllib3/_collections.py +355 -0
  808. venv/Lib/site-packages/pip/_vendor/urllib3/_version.py +2 -0
  809. venv/Lib/site-packages/pip/_vendor/urllib3/connection.py +572 -0
  810. venv/Lib/site-packages/pip/_vendor/urllib3/connectionpool.py +1140 -0
  811. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__init__.py +0 -0
  812. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py +36 -0
  813. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +0 -0
  814. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +519 -0
  815. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +397 -0
  816. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/appengine.py +314 -0
  817. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py +130 -0
  818. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +518 -0
  819. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/securetransport.py +920 -0
  820. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/socks.py +216 -0
  821. venv/Lib/site-packages/pip/_vendor/urllib3/exceptions.py +323 -0
  822. venv/Lib/site-packages/pip/_vendor/urllib3/fields.py +274 -0
  823. venv/Lib/site-packages/pip/_vendor/urllib3/filepost.py +98 -0
  824. venv/Lib/site-packages/pip/_vendor/urllib3/packages/__init__.py +0 -0
  825. venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
  826. venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py +51 -0
  827. venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/weakref_finalize.py +155 -0
  828. venv/Lib/site-packages/pip/_vendor/urllib3/packages/six.py +1076 -0
  829. venv/Lib/site-packages/pip/_vendor/urllib3/poolmanager.py +540 -0
  830. venv/Lib/site-packages/pip/_vendor/urllib3/request.py +191 -0
  831. venv/Lib/site-packages/pip/_vendor/urllib3/response.py +879 -0
  832. venv/Lib/site-packages/pip/_vendor/urllib3/util/__init__.py +49 -0
  833. venv/Lib/site-packages/pip/_vendor/urllib3/util/connection.py +149 -0
  834. venv/Lib/site-packages/pip/_vendor/urllib3/util/proxy.py +57 -0
  835. venv/Lib/site-packages/pip/_vendor/urllib3/util/queue.py +22 -0
  836. venv/Lib/site-packages/pip/_vendor/urllib3/util/request.py +137 -0
  837. venv/Lib/site-packages/pip/_vendor/urllib3/util/response.py +107 -0
  838. venv/Lib/site-packages/pip/_vendor/urllib3/util/retry.py +622 -0
  839. venv/Lib/site-packages/pip/_vendor/urllib3/util/ssl_.py +504 -0
  840. venv/Lib/site-packages/pip/_vendor/urllib3/util/ssl_match_hostname.py +159 -0
  841. venv/Lib/site-packages/pip/_vendor/urllib3/util/ssltransport.py +221 -0
  842. venv/Lib/site-packages/pip/_vendor/urllib3/util/timeout.py +271 -0
  843. venv/Lib/site-packages/pip/_vendor/urllib3/util/url.py +435 -0
  844. venv/Lib/site-packages/pip/_vendor/urllib3/util/wait.py +152 -0
  845. venv/Lib/site-packages/pip/py.typed +4 -0
  846. venv/Lib/site-packages/pluggy/__init__.py +30 -0
  847. venv/Lib/site-packages/pluggy/_callers.py +169 -0
  848. venv/Lib/site-packages/pluggy/_hooks.py +714 -0
  849. venv/Lib/site-packages/pluggy/_manager.py +523 -0
  850. venv/Lib/site-packages/pluggy/_result.py +107 -0
  851. venv/Lib/site-packages/pluggy/_tracing.py +72 -0
  852. venv/Lib/site-packages/pluggy/_version.py +21 -0
  853. venv/Lib/site-packages/pluggy/_warnings.py +27 -0
  854. venv/Lib/site-packages/pluggy/py.typed +0 -0
  855. venv/Lib/site-packages/py.py +15 -0
  856. venv/Lib/site-packages/pydantic/__init__.py +456 -0
  857. venv/Lib/site-packages/pydantic/_internal/__init__.py +0 -0
  858. venv/Lib/site-packages/pydantic/_internal/_config.py +386 -0
  859. venv/Lib/site-packages/pydantic/_internal/_core_metadata.py +97 -0
  860. venv/Lib/site-packages/pydantic/_internal/_core_utils.py +174 -0
  861. venv/Lib/site-packages/pydantic/_internal/_dataclasses.py +315 -0
  862. venv/Lib/site-packages/pydantic/_internal/_decorators.py +873 -0
  863. venv/Lib/site-packages/pydantic/_internal/_decorators_v1.py +174 -0
  864. venv/Lib/site-packages/pydantic/_internal/_discriminated_union.py +494 -0
  865. venv/Lib/site-packages/pydantic/_internal/_docs_extraction.py +113 -0
  866. venv/Lib/site-packages/pydantic/_internal/_fields.py +729 -0
  867. venv/Lib/site-packages/pydantic/_internal/_forward_ref.py +23 -0
  868. venv/Lib/site-packages/pydantic/_internal/_generate_schema.py +2934 -0
  869. venv/Lib/site-packages/pydantic/_internal/_generics.py +530 -0
  870. venv/Lib/site-packages/pydantic/_internal/_git.py +27 -0
  871. venv/Lib/site-packages/pydantic/_internal/_import_utils.py +20 -0
  872. venv/Lib/site-packages/pydantic/_internal/_internal_dataclass.py +7 -0
  873. venv/Lib/site-packages/pydantic/_internal/_known_annotated_metadata.py +403 -0
  874. venv/Lib/site-packages/pydantic/_internal/_mock_val_ser.py +228 -0
  875. venv/Lib/site-packages/pydantic/_internal/_model_construction.py +868 -0
  876. venv/Lib/site-packages/pydantic/_internal/_namespace_utils.py +293 -0
  877. venv/Lib/site-packages/pydantic/_internal/_repr.py +124 -0
  878. venv/Lib/site-packages/pydantic/_internal/_schema_gather.py +212 -0
  879. venv/Lib/site-packages/pydantic/_internal/_schema_generation_shared.py +125 -0
  880. venv/Lib/site-packages/pydantic/_internal/_serializers.py +53 -0
  881. venv/Lib/site-packages/pydantic/_internal/_signature.py +189 -0
  882. venv/Lib/site-packages/pydantic/_internal/_typing_extra.py +785 -0
  883. venv/Lib/site-packages/pydantic/_internal/_utils.py +446 -0
  884. venv/Lib/site-packages/pydantic/_internal/_validate_call.py +141 -0
  885. venv/Lib/site-packages/pydantic/_internal/_validators.py +534 -0
  886. venv/Lib/site-packages/pydantic/_migration.py +316 -0
  887. venv/Lib/site-packages/pydantic/alias_generators.py +62 -0
  888. venv/Lib/site-packages/pydantic/aliases.py +135 -0
  889. venv/Lib/site-packages/pydantic/annotated_handlers.py +122 -0
  890. venv/Lib/site-packages/pydantic/class_validators.py +5 -0
  891. venv/Lib/site-packages/pydantic/color.py +604 -0
  892. venv/Lib/site-packages/pydantic/config.py +1296 -0
  893. venv/Lib/site-packages/pydantic/dataclasses.py +413 -0
  894. venv/Lib/site-packages/pydantic/datetime_parse.py +5 -0
  895. venv/Lib/site-packages/pydantic/decorator.py +5 -0
  896. venv/Lib/site-packages/pydantic/deprecated/__init__.py +0 -0
  897. venv/Lib/site-packages/pydantic/deprecated/class_validators.py +256 -0
  898. venv/Lib/site-packages/pydantic/deprecated/config.py +72 -0
  899. venv/Lib/site-packages/pydantic/deprecated/copy_internals.py +224 -0
  900. venv/Lib/site-packages/pydantic/deprecated/decorator.py +284 -0
  901. venv/Lib/site-packages/pydantic/deprecated/json.py +141 -0
  902. venv/Lib/site-packages/pydantic/deprecated/parse.py +80 -0
  903. venv/Lib/site-packages/pydantic/deprecated/tools.py +103 -0
  904. venv/Lib/site-packages/pydantic/env_settings.py +5 -0
  905. venv/Lib/site-packages/pydantic/error_wrappers.py +5 -0
  906. venv/Lib/site-packages/pydantic/errors.py +189 -0
  907. venv/Lib/site-packages/pydantic/experimental/__init__.py +1 -0
  908. venv/Lib/site-packages/pydantic/experimental/arguments_schema.py +44 -0
  909. venv/Lib/site-packages/pydantic/experimental/missing_sentinel.py +5 -0
  910. venv/Lib/site-packages/pydantic/experimental/pipeline.py +663 -0
  911. venv/Lib/site-packages/pydantic/fields.py +1892 -0
  912. venv/Lib/site-packages/pydantic/functional_serializers.py +470 -0
  913. venv/Lib/site-packages/pydantic/functional_validators.py +889 -0
  914. venv/Lib/site-packages/pydantic/generics.py +5 -0
  915. venv/Lib/site-packages/pydantic/json.py +5 -0
  916. venv/Lib/site-packages/pydantic/json_schema.py +2911 -0
  917. venv/Lib/site-packages/pydantic/main.py +1838 -0
  918. venv/Lib/site-packages/pydantic/mypy.py +1412 -0
  919. venv/Lib/site-packages/pydantic/networks.py +1332 -0
  920. venv/Lib/site-packages/pydantic/parse.py +5 -0
  921. venv/Lib/site-packages/pydantic/plugin/__init__.py +193 -0
  922. venv/Lib/site-packages/pydantic/plugin/_loader.py +58 -0
  923. venv/Lib/site-packages/pydantic/plugin/_schema_validator.py +143 -0
  924. venv/Lib/site-packages/pydantic/py.typed +0 -0
  925. venv/Lib/site-packages/pydantic/root_model.py +157 -0
  926. venv/Lib/site-packages/pydantic/schema.py +5 -0
  927. venv/Lib/site-packages/pydantic/tools.py +5 -0
  928. venv/Lib/site-packages/pydantic/type_adapter.py +801 -0
  929. venv/Lib/site-packages/pydantic/types.py +3310 -0
  930. venv/Lib/site-packages/pydantic/typing.py +5 -0
  931. venv/Lib/site-packages/pydantic/utils.py +5 -0
  932. venv/Lib/site-packages/pydantic/v1/__init__.py +131 -0
  933. venv/Lib/site-packages/pydantic/v1/_hypothesis_plugin.py +391 -0
  934. venv/Lib/site-packages/pydantic/v1/annotated_types.py +72 -0
  935. venv/Lib/site-packages/pydantic/v1/class_validators.py +361 -0
  936. venv/Lib/site-packages/pydantic/v1/color.py +494 -0
  937. venv/Lib/site-packages/pydantic/v1/config.py +191 -0
  938. venv/Lib/site-packages/pydantic/v1/dataclasses.py +500 -0
  939. venv/Lib/site-packages/pydantic/v1/datetime_parse.py +248 -0
  940. venv/Lib/site-packages/pydantic/v1/decorator.py +264 -0
  941. venv/Lib/site-packages/pydantic/v1/env_settings.py +350 -0
  942. venv/Lib/site-packages/pydantic/v1/error_wrappers.py +161 -0
  943. venv/Lib/site-packages/pydantic/v1/errors.py +646 -0
  944. venv/Lib/site-packages/pydantic/v1/fields.py +1253 -0
  945. venv/Lib/site-packages/pydantic/v1/generics.py +400 -0
  946. venv/Lib/site-packages/pydantic/v1/json.py +112 -0
  947. venv/Lib/site-packages/pydantic/v1/main.py +1130 -0
  948. venv/Lib/site-packages/pydantic/v1/mypy.py +949 -0
  949. venv/Lib/site-packages/pydantic/v1/networks.py +747 -0
  950. venv/Lib/site-packages/pydantic/v1/parse.py +66 -0
  951. venv/Lib/site-packages/pydantic/v1/py.typed +0 -0
  952. venv/Lib/site-packages/pydantic/v1/schema.py +1163 -0
  953. venv/Lib/site-packages/pydantic/v1/tools.py +92 -0
  954. venv/Lib/site-packages/pydantic/v1/types.py +1205 -0
  955. venv/Lib/site-packages/pydantic/v1/typing.py +627 -0
  956. venv/Lib/site-packages/pydantic/v1/utils.py +807 -0
  957. venv/Lib/site-packages/pydantic/v1/validators.py +768 -0
  958. venv/Lib/site-packages/pydantic/v1/version.py +38 -0
  959. venv/Lib/site-packages/pydantic/validate_call_decorator.py +116 -0
  960. venv/Lib/site-packages/pydantic/validators.py +5 -0
  961. venv/Lib/site-packages/pydantic/version.py +113 -0
  962. venv/Lib/site-packages/pydantic/warnings.py +122 -0
  963. venv/Lib/site-packages/pydantic_core/__init__.py +171 -0
  964. venv/Lib/site-packages/pydantic_core/_pydantic_core.pyi +1056 -0
  965. venv/Lib/site-packages/pydantic_core/core_schema.py +4461 -0
  966. venv/Lib/site-packages/pydantic_core/py.typed +0 -0
  967. venv/Lib/site-packages/pygments/__init__.py +82 -0
  968. venv/Lib/site-packages/pygments/__main__.py +17 -0
  969. venv/Lib/site-packages/pygments/cmdline.py +668 -0
  970. venv/Lib/site-packages/pygments/console.py +70 -0
  971. venv/Lib/site-packages/pygments/filter.py +70 -0
  972. venv/Lib/site-packages/pygments/filters/__init__.py +942 -0
  973. venv/Lib/site-packages/pygments/formatter.py +129 -0
  974. venv/Lib/site-packages/pygments/formatters/__init__.py +157 -0
  975. venv/Lib/site-packages/pygments/formatters/_mapping.py +23 -0
  976. venv/Lib/site-packages/pygments/formatters/bbcode.py +108 -0
  977. venv/Lib/site-packages/pygments/formatters/groff.py +170 -0
  978. venv/Lib/site-packages/pygments/formatters/html.py +997 -0
  979. venv/Lib/site-packages/pygments/formatters/img.py +686 -0
  980. venv/Lib/site-packages/pygments/formatters/irc.py +153 -0
  981. venv/Lib/site-packages/pygments/formatters/latex.py +518 -0
  982. venv/Lib/site-packages/pygments/formatters/other.py +160 -0
  983. venv/Lib/site-packages/pygments/formatters/pangomarkup.py +83 -0
  984. venv/Lib/site-packages/pygments/formatters/rtf.py +349 -0
  985. venv/Lib/site-packages/pygments/formatters/svg.py +185 -0
  986. venv/Lib/site-packages/pygments/formatters/terminal.py +127 -0
  987. venv/Lib/site-packages/pygments/formatters/terminal256.py +338 -0
  988. venv/Lib/site-packages/pygments/lexer.py +963 -0
  989. venv/Lib/site-packages/pygments/lexers/__init__.py +362 -0
  990. venv/Lib/site-packages/pygments/lexers/_ada_builtins.py +103 -0
  991. venv/Lib/site-packages/pygments/lexers/_asy_builtins.py +1644 -0
  992. venv/Lib/site-packages/pygments/lexers/_cl_builtins.py +231 -0
  993. venv/Lib/site-packages/pygments/lexers/_cocoa_builtins.py +75 -0
  994. venv/Lib/site-packages/pygments/lexers/_csound_builtins.py +1780 -0
  995. venv/Lib/site-packages/pygments/lexers/_css_builtins.py +558 -0
  996. venv/Lib/site-packages/pygments/lexers/_googlesql_builtins.py +918 -0
  997. venv/Lib/site-packages/pygments/lexers/_julia_builtins.py +411 -0
  998. venv/Lib/site-packages/pygments/lexers/_lasso_builtins.py +5326 -0
  999. venv/Lib/site-packages/pygments/lexers/_lilypond_builtins.py +5184 -0
  1000. venv/Lib/site-packages/pygments/lexers/_lua_builtins.py +285 -0
  1001. venv/Lib/site-packages/pygments/lexers/_luau_builtins.py +62 -0
  1002. venv/Lib/site-packages/pygments/lexers/_mapping.py +603 -0
  1003. venv/Lib/site-packages/pygments/lexers/_mql_builtins.py +1171 -0
  1004. venv/Lib/site-packages/pygments/lexers/_mysql_builtins.py +1384 -0
  1005. venv/Lib/site-packages/pygments/lexers/_openedge_builtins.py +2600 -0
  1006. venv/Lib/site-packages/pygments/lexers/_php_builtins.py +3328 -0
  1007. venv/Lib/site-packages/pygments/lexers/_postgres_builtins.py +739 -0
  1008. venv/Lib/site-packages/pygments/lexers/_qlik_builtins.py +666 -0
  1009. venv/Lib/site-packages/pygments/lexers/_scheme_builtins.py +1609 -0
  1010. venv/Lib/site-packages/pygments/lexers/_scilab_builtins.py +3093 -0
  1011. venv/Lib/site-packages/pygments/lexers/_sourcemod_builtins.py +1151 -0
  1012. venv/Lib/site-packages/pygments/lexers/_sql_builtins.py +106 -0
  1013. venv/Lib/site-packages/pygments/lexers/_stan_builtins.py +761 -0
  1014. venv/Lib/site-packages/pygments/lexers/_stata_builtins.py +457 -0
  1015. venv/Lib/site-packages/pygments/lexers/_tsql_builtins.py +1003 -0
  1016. venv/Lib/site-packages/pygments/lexers/_usd_builtins.py +112 -0
  1017. venv/Lib/site-packages/pygments/lexers/_vbscript_builtins.py +279 -0
  1018. venv/Lib/site-packages/pygments/lexers/_vim_builtins.py +1938 -0
  1019. venv/Lib/site-packages/pygments/lexers/actionscript.py +243 -0
  1020. venv/Lib/site-packages/pygments/lexers/ada.py +144 -0
  1021. venv/Lib/site-packages/pygments/lexers/agile.py +25 -0
  1022. venv/Lib/site-packages/pygments/lexers/algebra.py +300 -0
  1023. venv/Lib/site-packages/pygments/lexers/ambient.py +75 -0
  1024. venv/Lib/site-packages/pygments/lexers/amdgpu.py +54 -0
  1025. venv/Lib/site-packages/pygments/lexers/ampl.py +87 -0
  1026. venv/Lib/site-packages/pygments/lexers/apdlexer.py +593 -0
  1027. venv/Lib/site-packages/pygments/lexers/apl.py +103 -0
  1028. venv/Lib/site-packages/pygments/lexers/archetype.py +315 -0
  1029. venv/Lib/site-packages/pygments/lexers/arrow.py +116 -0
  1030. venv/Lib/site-packages/pygments/lexers/arturo.py +249 -0
  1031. venv/Lib/site-packages/pygments/lexers/asc.py +55 -0
  1032. venv/Lib/site-packages/pygments/lexers/asm.py +1058 -0
  1033. venv/Lib/site-packages/pygments/lexers/asn1.py +178 -0
  1034. venv/Lib/site-packages/pygments/lexers/automation.py +379 -0
  1035. venv/Lib/site-packages/pygments/lexers/bare.py +101 -0
  1036. venv/Lib/site-packages/pygments/lexers/basic.py +656 -0
  1037. venv/Lib/site-packages/pygments/lexers/bdd.py +57 -0
  1038. venv/Lib/site-packages/pygments/lexers/berry.py +99 -0
  1039. venv/Lib/site-packages/pygments/lexers/bibtex.py +159 -0
  1040. venv/Lib/site-packages/pygments/lexers/blueprint.py +173 -0
  1041. venv/Lib/site-packages/pygments/lexers/boa.py +97 -0
  1042. venv/Lib/site-packages/pygments/lexers/bqn.py +112 -0
  1043. venv/Lib/site-packages/pygments/lexers/business.py +625 -0
  1044. venv/Lib/site-packages/pygments/lexers/c_cpp.py +415 -0
  1045. venv/Lib/site-packages/pygments/lexers/c_like.py +738 -0
  1046. venv/Lib/site-packages/pygments/lexers/capnproto.py +74 -0
  1047. venv/Lib/site-packages/pygments/lexers/carbon.py +95 -0
  1048. venv/Lib/site-packages/pygments/lexers/cddl.py +172 -0
  1049. venv/Lib/site-packages/pygments/lexers/chapel.py +139 -0
  1050. venv/Lib/site-packages/pygments/lexers/clean.py +180 -0
  1051. venv/Lib/site-packages/pygments/lexers/codeql.py +80 -0
  1052. venv/Lib/site-packages/pygments/lexers/comal.py +81 -0
  1053. venv/Lib/site-packages/pygments/lexers/compiled.py +35 -0
  1054. venv/Lib/site-packages/pygments/lexers/configs.py +1433 -0
  1055. venv/Lib/site-packages/pygments/lexers/console.py +114 -0
  1056. venv/Lib/site-packages/pygments/lexers/cplint.py +43 -0
  1057. venv/Lib/site-packages/pygments/lexers/crystal.py +364 -0
  1058. venv/Lib/site-packages/pygments/lexers/csound.py +466 -0
  1059. venv/Lib/site-packages/pygments/lexers/css.py +632 -0
  1060. venv/Lib/site-packages/pygments/lexers/d.py +259 -0
  1061. venv/Lib/site-packages/pygments/lexers/dalvik.py +126 -0
  1062. venv/Lib/site-packages/pygments/lexers/data.py +763 -0
  1063. venv/Lib/site-packages/pygments/lexers/dax.py +135 -0
  1064. venv/Lib/site-packages/pygments/lexers/devicetree.py +120 -0
  1065. venv/Lib/site-packages/pygments/lexers/diff.py +169 -0
  1066. venv/Lib/site-packages/pygments/lexers/dns.py +109 -0
  1067. venv/Lib/site-packages/pygments/lexers/dotnet.py +873 -0
  1068. venv/Lib/site-packages/pygments/lexers/dsls.py +970 -0
  1069. venv/Lib/site-packages/pygments/lexers/dylan.py +279 -0
  1070. venv/Lib/site-packages/pygments/lexers/ecl.py +144 -0
  1071. venv/Lib/site-packages/pygments/lexers/eiffel.py +68 -0
  1072. venv/Lib/site-packages/pygments/lexers/elm.py +123 -0
  1073. venv/Lib/site-packages/pygments/lexers/elpi.py +201 -0
  1074. venv/Lib/site-packages/pygments/lexers/email.py +132 -0
  1075. venv/Lib/site-packages/pygments/lexers/erlang.py +526 -0
  1076. venv/Lib/site-packages/pygments/lexers/esoteric.py +300 -0
  1077. venv/Lib/site-packages/pygments/lexers/ezhil.py +76 -0
  1078. venv/Lib/site-packages/pygments/lexers/factor.py +363 -0
  1079. venv/Lib/site-packages/pygments/lexers/fantom.py +251 -0
  1080. venv/Lib/site-packages/pygments/lexers/felix.py +275 -0
  1081. venv/Lib/site-packages/pygments/lexers/fift.py +68 -0
  1082. venv/Lib/site-packages/pygments/lexers/floscript.py +81 -0
  1083. venv/Lib/site-packages/pygments/lexers/forth.py +178 -0
  1084. venv/Lib/site-packages/pygments/lexers/fortran.py +212 -0
  1085. venv/Lib/site-packages/pygments/lexers/foxpro.py +427 -0
  1086. venv/Lib/site-packages/pygments/lexers/freefem.py +893 -0
  1087. venv/Lib/site-packages/pygments/lexers/func.py +110 -0
  1088. venv/Lib/site-packages/pygments/lexers/functional.py +21 -0
  1089. venv/Lib/site-packages/pygments/lexers/futhark.py +105 -0
  1090. venv/Lib/site-packages/pygments/lexers/gcodelexer.py +35 -0
  1091. venv/Lib/site-packages/pygments/lexers/gdscript.py +189 -0
  1092. venv/Lib/site-packages/pygments/lexers/gleam.py +74 -0
  1093. venv/Lib/site-packages/pygments/lexers/go.py +97 -0
  1094. venv/Lib/site-packages/pygments/lexers/grammar_notation.py +262 -0
  1095. venv/Lib/site-packages/pygments/lexers/graph.py +108 -0
  1096. venv/Lib/site-packages/pygments/lexers/graphics.py +794 -0
  1097. venv/Lib/site-packages/pygments/lexers/graphql.py +176 -0
  1098. venv/Lib/site-packages/pygments/lexers/graphviz.py +58 -0
  1099. venv/Lib/site-packages/pygments/lexers/gsql.py +103 -0
  1100. venv/Lib/site-packages/pygments/lexers/hare.py +73 -0
  1101. venv/Lib/site-packages/pygments/lexers/haskell.py +867 -0
  1102. venv/Lib/site-packages/pygments/lexers/haxe.py +941 -0
  1103. venv/Lib/site-packages/pygments/lexers/hdl.py +466 -0
  1104. venv/Lib/site-packages/pygments/lexers/hexdump.py +102 -0
  1105. venv/Lib/site-packages/pygments/lexers/html.py +670 -0
  1106. venv/Lib/site-packages/pygments/lexers/idl.py +284 -0
  1107. venv/Lib/site-packages/pygments/lexers/igor.py +435 -0
  1108. venv/Lib/site-packages/pygments/lexers/inferno.py +95 -0
  1109. venv/Lib/site-packages/pygments/lexers/installers.py +352 -0
  1110. venv/Lib/site-packages/pygments/lexers/int_fiction.py +1370 -0
  1111. venv/Lib/site-packages/pygments/lexers/iolang.py +61 -0
  1112. venv/Lib/site-packages/pygments/lexers/j.py +151 -0
  1113. venv/Lib/site-packages/pygments/lexers/javascript.py +1591 -0
  1114. venv/Lib/site-packages/pygments/lexers/jmespath.py +69 -0
  1115. venv/Lib/site-packages/pygments/lexers/jslt.py +94 -0
  1116. venv/Lib/site-packages/pygments/lexers/json5.py +83 -0
  1117. venv/Lib/site-packages/pygments/lexers/jsonnet.py +169 -0
  1118. venv/Lib/site-packages/pygments/lexers/jsx.py +100 -0
  1119. venv/Lib/site-packages/pygments/lexers/julia.py +294 -0
  1120. venv/Lib/site-packages/pygments/lexers/jvm.py +1807 -0
  1121. venv/Lib/site-packages/pygments/lexers/kuin.py +332 -0
  1122. venv/Lib/site-packages/pygments/lexers/kusto.py +93 -0
  1123. venv/Lib/site-packages/pygments/lexers/ldap.py +155 -0
  1124. venv/Lib/site-packages/pygments/lexers/lean.py +241 -0
  1125. venv/Lib/site-packages/pygments/lexers/lilypond.py +225 -0
  1126. venv/Lib/site-packages/pygments/lexers/lisp.py +3152 -0
  1127. venv/Lib/site-packages/pygments/lexers/macaulay2.py +1847 -0
  1128. venv/Lib/site-packages/pygments/lexers/make.py +212 -0
  1129. venv/Lib/site-packages/pygments/lexers/maple.py +291 -0
  1130. venv/Lib/site-packages/pygments/lexers/markup.py +1659 -0
  1131. venv/Lib/site-packages/pygments/lexers/math.py +21 -0
  1132. venv/Lib/site-packages/pygments/lexers/matlab.py +3307 -0
  1133. venv/Lib/site-packages/pygments/lexers/maxima.py +84 -0
  1134. venv/Lib/site-packages/pygments/lexers/meson.py +139 -0
  1135. venv/Lib/site-packages/pygments/lexers/mime.py +210 -0
  1136. venv/Lib/site-packages/pygments/lexers/minecraft.py +392 -0
  1137. venv/Lib/site-packages/pygments/lexers/mips.py +130 -0
  1138. venv/Lib/site-packages/pygments/lexers/ml.py +958 -0
  1139. venv/Lib/site-packages/pygments/lexers/modeling.py +368 -0
  1140. venv/Lib/site-packages/pygments/lexers/modula2.py +1579 -0
  1141. venv/Lib/site-packages/pygments/lexers/mojo.py +707 -0
  1142. venv/Lib/site-packages/pygments/lexers/monte.py +203 -0
  1143. venv/Lib/site-packages/pygments/lexers/mosel.py +447 -0
  1144. venv/Lib/site-packages/pygments/lexers/ncl.py +894 -0
  1145. venv/Lib/site-packages/pygments/lexers/nimrod.py +199 -0
  1146. venv/Lib/site-packages/pygments/lexers/nit.py +63 -0
  1147. venv/Lib/site-packages/pygments/lexers/nix.py +144 -0
  1148. venv/Lib/site-packages/pygments/lexers/numbair.py +63 -0
  1149. venv/Lib/site-packages/pygments/lexers/oberon.py +120 -0
  1150. venv/Lib/site-packages/pygments/lexers/objective.py +513 -0
  1151. venv/Lib/site-packages/pygments/lexers/ooc.py +84 -0
  1152. venv/Lib/site-packages/pygments/lexers/openscad.py +96 -0
  1153. venv/Lib/site-packages/pygments/lexers/other.py +41 -0
  1154. venv/Lib/site-packages/pygments/lexers/parasail.py +78 -0
  1155. venv/Lib/site-packages/pygments/lexers/parsers.py +798 -0
  1156. venv/Lib/site-packages/pygments/lexers/pascal.py +644 -0
  1157. venv/Lib/site-packages/pygments/lexers/pawn.py +202 -0
  1158. venv/Lib/site-packages/pygments/lexers/pddl.py +82 -0
  1159. venv/Lib/site-packages/pygments/lexers/perl.py +733 -0
  1160. venv/Lib/site-packages/pygments/lexers/phix.py +363 -0
  1161. venv/Lib/site-packages/pygments/lexers/php.py +335 -0
  1162. venv/Lib/site-packages/pygments/lexers/pointless.py +70 -0
  1163. venv/Lib/site-packages/pygments/lexers/pony.py +93 -0
  1164. venv/Lib/site-packages/pygments/lexers/praat.py +303 -0
  1165. venv/Lib/site-packages/pygments/lexers/procfile.py +41 -0
  1166. venv/Lib/site-packages/pygments/lexers/prolog.py +318 -0
  1167. venv/Lib/site-packages/pygments/lexers/promql.py +176 -0
  1168. venv/Lib/site-packages/pygments/lexers/prql.py +251 -0
  1169. venv/Lib/site-packages/pygments/lexers/ptx.py +119 -0
  1170. venv/Lib/site-packages/pygments/lexers/python.py +1204 -0
  1171. venv/Lib/site-packages/pygments/lexers/q.py +187 -0
  1172. venv/Lib/site-packages/pygments/lexers/qlik.py +117 -0
  1173. venv/Lib/site-packages/pygments/lexers/qvt.py +153 -0
  1174. venv/Lib/site-packages/pygments/lexers/r.py +196 -0
  1175. venv/Lib/site-packages/pygments/lexers/rdf.py +468 -0
  1176. venv/Lib/site-packages/pygments/lexers/rebol.py +419 -0
  1177. venv/Lib/site-packages/pygments/lexers/rego.py +57 -0
  1178. venv/Lib/site-packages/pygments/lexers/rell.py +68 -0
  1179. venv/Lib/site-packages/pygments/lexers/resource.py +83 -0
  1180. venv/Lib/site-packages/pygments/lexers/ride.py +138 -0
  1181. venv/Lib/site-packages/pygments/lexers/rita.py +42 -0
  1182. venv/Lib/site-packages/pygments/lexers/rnc.py +66 -0
  1183. venv/Lib/site-packages/pygments/lexers/roboconf.py +81 -0
  1184. venv/Lib/site-packages/pygments/lexers/robotframework.py +551 -0
  1185. venv/Lib/site-packages/pygments/lexers/ruby.py +518 -0
  1186. venv/Lib/site-packages/pygments/lexers/rust.py +222 -0
  1187. venv/Lib/site-packages/pygments/lexers/sas.py +227 -0
  1188. venv/Lib/site-packages/pygments/lexers/savi.py +171 -0
  1189. venv/Lib/site-packages/pygments/lexers/scdoc.py +85 -0
  1190. venv/Lib/site-packages/pygments/lexers/scripting.py +1638 -0
  1191. venv/Lib/site-packages/pygments/lexers/sgf.py +59 -0
  1192. venv/Lib/site-packages/pygments/lexers/shell.py +902 -0
  1193. venv/Lib/site-packages/pygments/lexers/sieve.py +78 -0
  1194. venv/Lib/site-packages/pygments/lexers/slash.py +183 -0
  1195. venv/Lib/site-packages/pygments/lexers/smalltalk.py +194 -0
  1196. venv/Lib/site-packages/pygments/lexers/smithy.py +77 -0
  1197. venv/Lib/site-packages/pygments/lexers/smv.py +78 -0
  1198. venv/Lib/site-packages/pygments/lexers/snobol.py +82 -0
  1199. venv/Lib/site-packages/pygments/lexers/solidity.py +87 -0
  1200. venv/Lib/site-packages/pygments/lexers/soong.py +78 -0
  1201. venv/Lib/site-packages/pygments/lexers/sophia.py +102 -0
  1202. venv/Lib/site-packages/pygments/lexers/special.py +122 -0
  1203. venv/Lib/site-packages/pygments/lexers/spice.py +70 -0
  1204. venv/Lib/site-packages/pygments/lexers/sql.py +1111 -0
  1205. venv/Lib/site-packages/pygments/lexers/srcinfo.py +62 -0
  1206. venv/Lib/site-packages/pygments/lexers/stata.py +170 -0
  1207. venv/Lib/site-packages/pygments/lexers/supercollider.py +94 -0
  1208. venv/Lib/site-packages/pygments/lexers/tablegen.py +177 -0
  1209. venv/Lib/site-packages/pygments/lexers/tact.py +303 -0
  1210. venv/Lib/site-packages/pygments/lexers/tal.py +77 -0
  1211. venv/Lib/site-packages/pygments/lexers/tcl.py +148 -0
  1212. venv/Lib/site-packages/pygments/lexers/teal.py +88 -0
  1213. venv/Lib/site-packages/pygments/lexers/templates.py +2355 -0
  1214. venv/Lib/site-packages/pygments/lexers/teraterm.py +335 -0
  1215. venv/Lib/site-packages/pygments/lexers/testing.py +209 -0
  1216. venv/Lib/site-packages/pygments/lexers/text.py +27 -0
  1217. venv/Lib/site-packages/pygments/lexers/textedit.py +205 -0
  1218. venv/Lib/site-packages/pygments/lexers/textfmts.py +436 -0
  1219. venv/Lib/site-packages/pygments/lexers/theorem.py +410 -0
  1220. venv/Lib/site-packages/pygments/lexers/thingsdb.py +143 -0
  1221. venv/Lib/site-packages/pygments/lexers/tlb.py +59 -0
  1222. venv/Lib/site-packages/pygments/lexers/tls.py +54 -0
  1223. venv/Lib/site-packages/pygments/lexers/tnt.py +270 -0
  1224. venv/Lib/site-packages/pygments/lexers/trafficscript.py +51 -0
  1225. venv/Lib/site-packages/pygments/lexers/typoscript.py +216 -0
  1226. venv/Lib/site-packages/pygments/lexers/typst.py +160 -0
  1227. venv/Lib/site-packages/pygments/lexers/ul4.py +309 -0
  1228. venv/Lib/site-packages/pygments/lexers/unicon.py +413 -0
  1229. venv/Lib/site-packages/pygments/lexers/urbi.py +145 -0
  1230. venv/Lib/site-packages/pygments/lexers/usd.py +85 -0
  1231. venv/Lib/site-packages/pygments/lexers/varnish.py +189 -0
  1232. venv/Lib/site-packages/pygments/lexers/verification.py +113 -0
  1233. venv/Lib/site-packages/pygments/lexers/verifpal.py +65 -0
  1234. venv/Lib/site-packages/pygments/lexers/vip.py +150 -0
  1235. venv/Lib/site-packages/pygments/lexers/vyper.py +140 -0
  1236. venv/Lib/site-packages/pygments/lexers/web.py +24 -0
  1237. venv/Lib/site-packages/pygments/lexers/webassembly.py +119 -0
  1238. venv/Lib/site-packages/pygments/lexers/webidl.py +298 -0
  1239. venv/Lib/site-packages/pygments/lexers/webmisc.py +1006 -0
  1240. venv/Lib/site-packages/pygments/lexers/wgsl.py +406 -0
  1241. venv/Lib/site-packages/pygments/lexers/whiley.py +115 -0
  1242. venv/Lib/site-packages/pygments/lexers/wowtoc.py +120 -0
  1243. venv/Lib/site-packages/pygments/lexers/wren.py +98 -0
  1244. venv/Lib/site-packages/pygments/lexers/x10.py +66 -0
  1245. venv/Lib/site-packages/pygments/lexers/xorg.py +38 -0
  1246. venv/Lib/site-packages/pygments/lexers/yang.py +103 -0
  1247. venv/Lib/site-packages/pygments/lexers/yara.py +69 -0
  1248. venv/Lib/site-packages/pygments/lexers/zig.py +125 -0
  1249. venv/Lib/site-packages/pygments/modeline.py +43 -0
  1250. venv/Lib/site-packages/pygments/plugin.py +74 -0
  1251. venv/Lib/site-packages/pygments/regexopt.py +102 -0
  1252. venv/Lib/site-packages/pygments/scanner.py +104 -0
  1253. venv/Lib/site-packages/pygments/sphinxext.py +247 -0
  1254. venv/Lib/site-packages/pygments/style.py +203 -0
  1255. venv/Lib/site-packages/pygments/styles/__init__.py +61 -0
  1256. venv/Lib/site-packages/pygments/styles/_mapping.py +54 -0
  1257. venv/Lib/site-packages/pygments/styles/abap.py +32 -0
  1258. venv/Lib/site-packages/pygments/styles/algol.py +65 -0
  1259. venv/Lib/site-packages/pygments/styles/algol_nu.py +65 -0
  1260. venv/Lib/site-packages/pygments/styles/arduino.py +100 -0
  1261. venv/Lib/site-packages/pygments/styles/autumn.py +67 -0
  1262. venv/Lib/site-packages/pygments/styles/borland.py +53 -0
  1263. venv/Lib/site-packages/pygments/styles/bw.py +52 -0
  1264. venv/Lib/site-packages/pygments/styles/coffee.py +80 -0
  1265. venv/Lib/site-packages/pygments/styles/colorful.py +83 -0
  1266. venv/Lib/site-packages/pygments/styles/default.py +76 -0
  1267. venv/Lib/site-packages/pygments/styles/dracula.py +90 -0
  1268. venv/Lib/site-packages/pygments/styles/emacs.py +75 -0
  1269. venv/Lib/site-packages/pygments/styles/friendly.py +76 -0
  1270. venv/Lib/site-packages/pygments/styles/friendly_grayscale.py +80 -0
  1271. venv/Lib/site-packages/pygments/styles/fruity.py +47 -0
  1272. venv/Lib/site-packages/pygments/styles/gh_dark.py +113 -0
  1273. venv/Lib/site-packages/pygments/styles/gruvbox.py +118 -0
  1274. venv/Lib/site-packages/pygments/styles/igor.py +32 -0
  1275. venv/Lib/site-packages/pygments/styles/inkpot.py +72 -0
  1276. venv/Lib/site-packages/pygments/styles/lightbulb.py +110 -0
  1277. venv/Lib/site-packages/pygments/styles/lilypond.py +62 -0
  1278. venv/Lib/site-packages/pygments/styles/lovelace.py +100 -0
  1279. venv/Lib/site-packages/pygments/styles/manni.py +79 -0
  1280. venv/Lib/site-packages/pygments/styles/material.py +124 -0
  1281. venv/Lib/site-packages/pygments/styles/monokai.py +112 -0
  1282. venv/Lib/site-packages/pygments/styles/murphy.py +82 -0
  1283. venv/Lib/site-packages/pygments/styles/native.py +70 -0
  1284. venv/Lib/site-packages/pygments/styles/nord.py +156 -0
  1285. venv/Lib/site-packages/pygments/styles/onedark.py +73 -0
  1286. venv/Lib/site-packages/pygments/styles/paraiso_dark.py +124 -0
  1287. venv/Lib/site-packages/pygments/styles/paraiso_light.py +124 -0
  1288. venv/Lib/site-packages/pygments/styles/pastie.py +78 -0
  1289. venv/Lib/site-packages/pygments/styles/perldoc.py +73 -0
  1290. venv/Lib/site-packages/pygments/styles/rainbow_dash.py +95 -0
  1291. venv/Lib/site-packages/pygments/styles/rrt.py +54 -0
  1292. venv/Lib/site-packages/pygments/styles/sas.py +46 -0
  1293. venv/Lib/site-packages/pygments/styles/solarized.py +144 -0
  1294. venv/Lib/site-packages/pygments/styles/staroffice.py +31 -0
  1295. venv/Lib/site-packages/pygments/styles/stata_dark.py +42 -0
  1296. venv/Lib/site-packages/pygments/styles/stata_light.py +42 -0
  1297. venv/Lib/site-packages/pygments/styles/tango.py +143 -0
  1298. venv/Lib/site-packages/pygments/styles/trac.py +66 -0
  1299. venv/Lib/site-packages/pygments/styles/vim.py +67 -0
  1300. venv/Lib/site-packages/pygments/styles/vs.py +41 -0
  1301. venv/Lib/site-packages/pygments/styles/xcode.py +53 -0
  1302. venv/Lib/site-packages/pygments/styles/zenburn.py +83 -0
  1303. venv/Lib/site-packages/pygments/token.py +214 -0
  1304. venv/Lib/site-packages/pygments/unistring.py +153 -0
  1305. venv/Lib/site-packages/pygments/util.py +324 -0
  1306. venv/Lib/site-packages/pyproject_hooks/__init__.py +31 -0
  1307. venv/Lib/site-packages/pyproject_hooks/_impl.py +410 -0
  1308. venv/Lib/site-packages/pyproject_hooks/_in_process/__init__.py +21 -0
  1309. venv/Lib/site-packages/pyproject_hooks/_in_process/_in_process.py +389 -0
  1310. venv/Lib/site-packages/pyproject_hooks/py.typed +0 -0
  1311. venv/Lib/site-packages/pytest/__init__.py +186 -0
  1312. venv/Lib/site-packages/pytest/__main__.py +9 -0
  1313. venv/Lib/site-packages/pytest/py.typed +0 -0
  1314. venv/Lib/site-packages/readme_renderer/__init__.py +13 -0
  1315. venv/Lib/site-packages/readme_renderer/__main__.py +66 -0
  1316. venv/Lib/site-packages/readme_renderer/clean.py +89 -0
  1317. venv/Lib/site-packages/readme_renderer/markdown.py +123 -0
  1318. venv/Lib/site-packages/readme_renderer/py.typed +0 -0
  1319. venv/Lib/site-packages/readme_renderer/rst.py +135 -0
  1320. venv/Lib/site-packages/readme_renderer/txt.py +24 -0
  1321. venv/Lib/site-packages/requests/__init__.py +183 -0
  1322. venv/Lib/site-packages/requests/__version__.py +14 -0
  1323. venv/Lib/site-packages/requests/_internal_utils.py +51 -0
  1324. venv/Lib/site-packages/requests/adapters.py +697 -0
  1325. venv/Lib/site-packages/requests/api.py +157 -0
  1326. venv/Lib/site-packages/requests/auth.py +314 -0
  1327. venv/Lib/site-packages/requests/certs.py +18 -0
  1328. venv/Lib/site-packages/requests/compat.py +106 -0
  1329. venv/Lib/site-packages/requests/cookies.py +561 -0
  1330. venv/Lib/site-packages/requests/exceptions.py +152 -0
  1331. venv/Lib/site-packages/requests/help.py +131 -0
  1332. venv/Lib/site-packages/requests/hooks.py +34 -0
  1333. venv/Lib/site-packages/requests/models.py +1041 -0
  1334. venv/Lib/site-packages/requests/packages.py +23 -0
  1335. venv/Lib/site-packages/requests/sessions.py +834 -0
  1336. venv/Lib/site-packages/requests/status_codes.py +128 -0
  1337. venv/Lib/site-packages/requests/structures.py +99 -0
  1338. venv/Lib/site-packages/requests/utils.py +1083 -0
  1339. venv/Lib/site-packages/requests_toolbelt/__init__.py +34 -0
  1340. venv/Lib/site-packages/requests_toolbelt/_compat.py +302 -0
  1341. venv/Lib/site-packages/requests_toolbelt/adapters/__init__.py +15 -0
  1342. venv/Lib/site-packages/requests_toolbelt/adapters/appengine.py +206 -0
  1343. venv/Lib/site-packages/requests_toolbelt/adapters/fingerprint.py +48 -0
  1344. venv/Lib/site-packages/requests_toolbelt/adapters/host_header_ssl.py +43 -0
  1345. venv/Lib/site-packages/requests_toolbelt/adapters/socket_options.py +129 -0
  1346. venv/Lib/site-packages/requests_toolbelt/adapters/source.py +67 -0
  1347. venv/Lib/site-packages/requests_toolbelt/adapters/ssl.py +66 -0
  1348. venv/Lib/site-packages/requests_toolbelt/adapters/x509.py +196 -0
  1349. venv/Lib/site-packages/requests_toolbelt/auth/__init__.py +0 -0
  1350. venv/Lib/site-packages/requests_toolbelt/auth/_digest_auth_compat.py +29 -0
  1351. venv/Lib/site-packages/requests_toolbelt/auth/guess.py +146 -0
  1352. venv/Lib/site-packages/requests_toolbelt/auth/handler.py +142 -0
  1353. venv/Lib/site-packages/requests_toolbelt/auth/http_proxy_digest.py +103 -0
  1354. venv/Lib/site-packages/requests_toolbelt/cookies/__init__.py +0 -0
  1355. venv/Lib/site-packages/requests_toolbelt/cookies/forgetful.py +7 -0
  1356. venv/Lib/site-packages/requests_toolbelt/downloadutils/__init__.py +0 -0
  1357. venv/Lib/site-packages/requests_toolbelt/downloadutils/stream.py +176 -0
  1358. venv/Lib/site-packages/requests_toolbelt/downloadutils/tee.py +123 -0
  1359. venv/Lib/site-packages/requests_toolbelt/exceptions.py +25 -0
  1360. venv/Lib/site-packages/requests_toolbelt/multipart/__init__.py +31 -0
  1361. venv/Lib/site-packages/requests_toolbelt/multipart/decoder.py +156 -0
  1362. venv/Lib/site-packages/requests_toolbelt/multipart/encoder.py +655 -0
  1363. venv/Lib/site-packages/requests_toolbelt/sessions.py +89 -0
  1364. venv/Lib/site-packages/requests_toolbelt/streaming_iterator.py +116 -0
  1365. venv/Lib/site-packages/requests_toolbelt/threaded/__init__.py +97 -0
  1366. venv/Lib/site-packages/requests_toolbelt/threaded/pool.py +211 -0
  1367. venv/Lib/site-packages/requests_toolbelt/threaded/thread.py +53 -0
  1368. venv/Lib/site-packages/requests_toolbelt/utils/__init__.py +0 -0
  1369. venv/Lib/site-packages/requests_toolbelt/utils/deprecated.py +91 -0
  1370. venv/Lib/site-packages/requests_toolbelt/utils/dump.py +198 -0
  1371. venv/Lib/site-packages/requests_toolbelt/utils/formdata.py +108 -0
  1372. venv/Lib/site-packages/requests_toolbelt/utils/user_agent.py +143 -0
  1373. venv/Lib/site-packages/rfc3986/__init__.py +53 -0
  1374. venv/Lib/site-packages/rfc3986/_mixin.py +373 -0
  1375. venv/Lib/site-packages/rfc3986/abnf_regexp.py +275 -0
  1376. venv/Lib/site-packages/rfc3986/api.py +104 -0
  1377. venv/Lib/site-packages/rfc3986/builder.py +388 -0
  1378. venv/Lib/site-packages/rfc3986/compat.py +59 -0
  1379. venv/Lib/site-packages/rfc3986/exceptions.py +120 -0
  1380. venv/Lib/site-packages/rfc3986/iri.py +161 -0
  1381. venv/Lib/site-packages/rfc3986/misc.py +131 -0
  1382. venv/Lib/site-packages/rfc3986/normalizers.py +171 -0
  1383. venv/Lib/site-packages/rfc3986/parseresult.py +474 -0
  1384. venv/Lib/site-packages/rfc3986/uri.py +160 -0
  1385. venv/Lib/site-packages/rfc3986/validators.py +440 -0
  1386. venv/Lib/site-packages/rich/__init__.py +177 -0
  1387. venv/Lib/site-packages/rich/__main__.py +245 -0
  1388. venv/Lib/site-packages/rich/_emoji_codes.py +3610 -0
  1389. venv/Lib/site-packages/rich/_emoji_replace.py +31 -0
  1390. venv/Lib/site-packages/rich/_export_format.py +76 -0
  1391. venv/Lib/site-packages/rich/_extension.py +10 -0
  1392. venv/Lib/site-packages/rich/_fileno.py +24 -0
  1393. venv/Lib/site-packages/rich/_inspect.py +272 -0
  1394. venv/Lib/site-packages/rich/_log_render.py +94 -0
  1395. venv/Lib/site-packages/rich/_loop.py +43 -0
  1396. venv/Lib/site-packages/rich/_null_file.py +69 -0
  1397. venv/Lib/site-packages/rich/_palettes.py +309 -0
  1398. venv/Lib/site-packages/rich/_pick.py +17 -0
  1399. venv/Lib/site-packages/rich/_ratio.py +153 -0
  1400. venv/Lib/site-packages/rich/_spinners.py +482 -0
  1401. venv/Lib/site-packages/rich/_stack.py +16 -0
  1402. venv/Lib/site-packages/rich/_timer.py +19 -0
  1403. venv/Lib/site-packages/rich/_unicode_data/__init__.py +93 -0
  1404. venv/Lib/site-packages/rich/_unicode_data/_versions.py +23 -0
  1405. venv/Lib/site-packages/rich/_unicode_data/unicode10-0-0.py +611 -0
  1406. venv/Lib/site-packages/rich/_unicode_data/unicode11-0-0.py +625 -0
  1407. venv/Lib/site-packages/rich/_unicode_data/unicode12-0-0.py +637 -0
  1408. venv/Lib/site-packages/rich/_unicode_data/unicode12-1-0.py +636 -0
  1409. venv/Lib/site-packages/rich/_unicode_data/unicode13-0-0.py +648 -0
  1410. venv/Lib/site-packages/rich/_unicode_data/unicode14-0-0.py +661 -0
  1411. venv/Lib/site-packages/rich/_unicode_data/unicode15-0-0.py +671 -0
  1412. venv/Lib/site-packages/rich/_unicode_data/unicode15-1-0.py +670 -0
  1413. venv/Lib/site-packages/rich/_unicode_data/unicode16-0-0.py +683 -0
  1414. venv/Lib/site-packages/rich/_unicode_data/unicode17-0-0.py +691 -0
  1415. venv/Lib/site-packages/rich/_unicode_data/unicode4-1-0.py +425 -0
  1416. venv/Lib/site-packages/rich/_unicode_data/unicode5-0-0.py +430 -0
  1417. venv/Lib/site-packages/rich/_unicode_data/unicode5-1-0.py +433 -0
  1418. venv/Lib/site-packages/rich/_unicode_data/unicode5-2-0.py +461 -0
  1419. venv/Lib/site-packages/rich/_unicode_data/unicode6-0-0.py +469 -0
  1420. venv/Lib/site-packages/rich/_unicode_data/unicode6-1-0.py +480 -0
  1421. venv/Lib/site-packages/rich/_unicode_data/unicode6-2-0.py +480 -0
  1422. venv/Lib/site-packages/rich/_unicode_data/unicode6-3-0.py +481 -0
  1423. venv/Lib/site-packages/rich/_unicode_data/unicode7-0-0.py +507 -0
  1424. venv/Lib/site-packages/rich/_unicode_data/unicode8-0-0.py +515 -0
  1425. venv/Lib/site-packages/rich/_unicode_data/unicode9-0-0.py +598 -0
  1426. venv/Lib/site-packages/rich/_win32_console.py +661 -0
  1427. venv/Lib/site-packages/rich/_windows.py +71 -0
  1428. venv/Lib/site-packages/rich/_windows_renderer.py +56 -0
  1429. venv/Lib/site-packages/rich/_wrap.py +93 -0
  1430. venv/Lib/site-packages/rich/abc.py +33 -0
  1431. venv/Lib/site-packages/rich/align.py +320 -0
  1432. venv/Lib/site-packages/rich/ansi.py +241 -0
  1433. venv/Lib/site-packages/rich/bar.py +93 -0
  1434. venv/Lib/site-packages/rich/box.py +474 -0
  1435. venv/Lib/site-packages/rich/cells.py +352 -0
  1436. venv/Lib/site-packages/rich/color.py +621 -0
  1437. venv/Lib/site-packages/rich/color_triplet.py +38 -0
  1438. venv/Lib/site-packages/rich/columns.py +187 -0
  1439. venv/Lib/site-packages/rich/console.py +2698 -0
  1440. venv/Lib/site-packages/rich/constrain.py +37 -0
  1441. venv/Lib/site-packages/rich/containers.py +167 -0
  1442. venv/Lib/site-packages/rich/control.py +219 -0
  1443. venv/Lib/site-packages/rich/default_styles.py +196 -0
  1444. venv/Lib/site-packages/rich/diagnose.py +39 -0
  1445. venv/Lib/site-packages/rich/emoji.py +93 -0
  1446. venv/Lib/site-packages/rich/errors.py +34 -0
  1447. venv/Lib/site-packages/rich/file_proxy.py +60 -0
  1448. venv/Lib/site-packages/rich/filesize.py +88 -0
  1449. venv/Lib/site-packages/rich/highlighter.py +232 -0
  1450. venv/Lib/site-packages/rich/json.py +139 -0
  1451. venv/Lib/site-packages/rich/jupyter.py +101 -0
  1452. venv/Lib/site-packages/rich/layout.py +442 -0
  1453. venv/Lib/site-packages/rich/live.py +404 -0
  1454. venv/Lib/site-packages/rich/live_render.py +116 -0
  1455. venv/Lib/site-packages/rich/logging.py +305 -0
  1456. venv/Lib/site-packages/rich/markdown.py +802 -0
  1457. venv/Lib/site-packages/rich/markup.py +251 -0
  1458. venv/Lib/site-packages/rich/measure.py +151 -0
  1459. venv/Lib/site-packages/rich/padding.py +141 -0
  1460. venv/Lib/site-packages/rich/pager.py +34 -0
  1461. venv/Lib/site-packages/rich/palette.py +100 -0
  1462. venv/Lib/site-packages/rich/panel.py +317 -0
  1463. venv/Lib/site-packages/rich/pretty.py +1016 -0
  1464. venv/Lib/site-packages/rich/progress.py +1716 -0
  1465. venv/Lib/site-packages/rich/progress_bar.py +223 -0
  1466. venv/Lib/site-packages/rich/prompt.py +400 -0
  1467. venv/Lib/site-packages/rich/protocol.py +41 -0
  1468. venv/Lib/site-packages/rich/py.typed +0 -0
  1469. venv/Lib/site-packages/rich/region.py +10 -0
  1470. venv/Lib/site-packages/rich/repr.py +150 -0
  1471. venv/Lib/site-packages/rich/rule.py +130 -0
  1472. venv/Lib/site-packages/rich/scope.py +92 -0
  1473. venv/Lib/site-packages/rich/screen.py +54 -0
  1474. venv/Lib/site-packages/rich/segment.py +780 -0
  1475. venv/Lib/site-packages/rich/spinner.py +132 -0
  1476. venv/Lib/site-packages/rich/status.py +131 -0
  1477. venv/Lib/site-packages/rich/style.py +796 -0
  1478. venv/Lib/site-packages/rich/styled.py +42 -0
  1479. venv/Lib/site-packages/rich/syntax.py +988 -0
  1480. venv/Lib/site-packages/rich/table.py +1015 -0
  1481. venv/Lib/site-packages/rich/terminal_theme.py +153 -0
  1482. venv/Lib/site-packages/rich/text.py +1363 -0
  1483. venv/Lib/site-packages/rich/theme.py +116 -0
  1484. venv/Lib/site-packages/rich/themes.py +5 -0
  1485. venv/Lib/site-packages/rich/traceback.py +924 -0
  1486. venv/Lib/site-packages/rich/tree.py +257 -0
  1487. venv/Lib/site-packages/twine/__init__.py +54 -0
  1488. venv/Lib/site-packages/twine/__main__.py +54 -0
  1489. venv/Lib/site-packages/twine/auth.py +307 -0
  1490. venv/Lib/site-packages/twine/cli.py +139 -0
  1491. venv/Lib/site-packages/twine/commands/__init__.py +93 -0
  1492. venv/Lib/site-packages/twine/commands/check.py +195 -0
  1493. venv/Lib/site-packages/twine/commands/register.py +87 -0
  1494. venv/Lib/site-packages/twine/commands/upload.py +253 -0
  1495. venv/Lib/site-packages/twine/distribution.py +8 -0
  1496. venv/Lib/site-packages/twine/exceptions.py +175 -0
  1497. venv/Lib/site-packages/twine/package.py +403 -0
  1498. venv/Lib/site-packages/twine/py.typed +0 -0
  1499. venv/Lib/site-packages/twine/repository.py +246 -0
  1500. venv/Lib/site-packages/twine/sdist.py +83 -0
  1501. venv/Lib/site-packages/twine/settings.py +360 -0
  1502. venv/Lib/site-packages/twine/utils.py +387 -0
  1503. venv/Lib/site-packages/twine/wheel.py +81 -0
  1504. venv/Lib/site-packages/typing_extensions.py +4317 -0
  1505. venv/Lib/site-packages/typing_inspection/__init__.py +0 -0
  1506. venv/Lib/site-packages/typing_inspection/introspection.py +587 -0
  1507. venv/Lib/site-packages/typing_inspection/py.typed +0 -0
  1508. venv/Lib/site-packages/typing_inspection/typing_objects.py +607 -0
  1509. venv/Lib/site-packages/typing_inspection/typing_objects.pyi +417 -0
  1510. venv/Lib/site-packages/urllib3/__init__.py +211 -0
  1511. venv/Lib/site-packages/urllib3/_base_connection.py +167 -0
  1512. venv/Lib/site-packages/urllib3/_collections.py +486 -0
  1513. venv/Lib/site-packages/urllib3/_request_methods.py +278 -0
  1514. venv/Lib/site-packages/urllib3/_version.py +24 -0
  1515. venv/Lib/site-packages/urllib3/connection.py +1099 -0
  1516. venv/Lib/site-packages/urllib3/connectionpool.py +1191 -0
  1517. venv/Lib/site-packages/urllib3/contrib/__init__.py +0 -0
  1518. venv/Lib/site-packages/urllib3/contrib/emscripten/__init__.py +17 -0
  1519. venv/Lib/site-packages/urllib3/contrib/emscripten/connection.py +260 -0
  1520. venv/Lib/site-packages/urllib3/contrib/emscripten/fetch.py +726 -0
  1521. venv/Lib/site-packages/urllib3/contrib/emscripten/request.py +22 -0
  1522. venv/Lib/site-packages/urllib3/contrib/emscripten/response.py +281 -0
  1523. venv/Lib/site-packages/urllib3/contrib/pyopenssl.py +563 -0
  1524. venv/Lib/site-packages/urllib3/contrib/socks.py +228 -0
  1525. venv/Lib/site-packages/urllib3/exceptions.py +335 -0
  1526. venv/Lib/site-packages/urllib3/fields.py +341 -0
  1527. venv/Lib/site-packages/urllib3/filepost.py +89 -0
  1528. venv/Lib/site-packages/urllib3/http2/__init__.py +53 -0
  1529. venv/Lib/site-packages/urllib3/http2/connection.py +356 -0
  1530. venv/Lib/site-packages/urllib3/http2/probe.py +87 -0
  1531. venv/Lib/site-packages/urllib3/poolmanager.py +653 -0
  1532. venv/Lib/site-packages/urllib3/py.typed +2 -0
  1533. venv/Lib/site-packages/urllib3/response.py +1493 -0
  1534. venv/Lib/site-packages/urllib3/util/__init__.py +42 -0
  1535. venv/Lib/site-packages/urllib3/util/connection.py +137 -0
  1536. venv/Lib/site-packages/urllib3/util/proxy.py +43 -0
  1537. venv/Lib/site-packages/urllib3/util/request.py +263 -0
  1538. venv/Lib/site-packages/urllib3/util/response.py +101 -0
  1539. venv/Lib/site-packages/urllib3/util/retry.py +557 -0
  1540. venv/Lib/site-packages/urllib3/util/ssl_.py +477 -0
  1541. venv/Lib/site-packages/urllib3/util/ssl_match_hostname.py +153 -0
  1542. venv/Lib/site-packages/urllib3/util/ssltransport.py +271 -0
  1543. venv/Lib/site-packages/urllib3/util/timeout.py +275 -0
  1544. venv/Lib/site-packages/urllib3/util/url.py +469 -0
  1545. venv/Lib/site-packages/urllib3/util/util.py +42 -0
  1546. venv/Lib/site-packages/urllib3/util/wait.py +124 -0
  1547. venv/Lib/site-packages/win32ctypes/__init__.py +8 -0
  1548. venv/Lib/site-packages/win32ctypes/core/__init__.py +60 -0
  1549. venv/Lib/site-packages/win32ctypes/core/_winerrors.py +9 -0
  1550. venv/Lib/site-packages/win32ctypes/core/cffi/__init__.py +11 -0
  1551. venv/Lib/site-packages/win32ctypes/core/cffi/_authentication.py +172 -0
  1552. venv/Lib/site-packages/win32ctypes/core/cffi/_common.py +29 -0
  1553. venv/Lib/site-packages/win32ctypes/core/cffi/_dll.py +30 -0
  1554. venv/Lib/site-packages/win32ctypes/core/cffi/_nl_support.py +18 -0
  1555. venv/Lib/site-packages/win32ctypes/core/cffi/_resource.py +132 -0
  1556. venv/Lib/site-packages/win32ctypes/core/cffi/_system_information.py +32 -0
  1557. venv/Lib/site-packages/win32ctypes/core/cffi/_time.py +18 -0
  1558. venv/Lib/site-packages/win32ctypes/core/cffi/_util.py +105 -0
  1559. venv/Lib/site-packages/win32ctypes/core/compat.py +10 -0
  1560. venv/Lib/site-packages/win32ctypes/core/ctypes/__init__.py +11 -0
  1561. venv/Lib/site-packages/win32ctypes/core/ctypes/_authentication.py +122 -0
  1562. venv/Lib/site-packages/win32ctypes/core/ctypes/_common.py +53 -0
  1563. venv/Lib/site-packages/win32ctypes/core/ctypes/_dll.py +21 -0
  1564. venv/Lib/site-packages/win32ctypes/core/ctypes/_nl_support.py +12 -0
  1565. venv/Lib/site-packages/win32ctypes/core/ctypes/_resource.py +148 -0
  1566. venv/Lib/site-packages/win32ctypes/core/ctypes/_system_information.py +36 -0
  1567. venv/Lib/site-packages/win32ctypes/core/ctypes/_time.py +15 -0
  1568. venv/Lib/site-packages/win32ctypes/core/ctypes/_util.py +78 -0
  1569. venv/Lib/site-packages/win32ctypes/pywin32/__init__.py +12 -0
  1570. venv/Lib/site-packages/win32ctypes/pywin32/pywintypes.py +67 -0
  1571. venv/Lib/site-packages/win32ctypes/pywin32/win32api.py +294 -0
  1572. venv/Lib/site-packages/win32ctypes/pywin32/win32cred.py +145 -0
  1573. venv/Lib/site-packages/win32ctypes/pywintypes.py +13 -0
  1574. venv/Lib/site-packages/win32ctypes/tests/__init__.py +21 -0
  1575. venv/Lib/site-packages/win32ctypes/tests/test_backends.py +36 -0
  1576. venv/Lib/site-packages/win32ctypes/tests/test_win32api.py +304 -0
  1577. venv/Lib/site-packages/win32ctypes/tests/test_win32cred.py +230 -0
  1578. venv/Lib/site-packages/win32ctypes/version.py +1 -0
  1579. venv/Lib/site-packages/win32ctypes/win32api.py +13 -0
  1580. venv/Lib/site-packages/win32ctypes/win32cred.py +13 -0
@@ -0,0 +1,1638 @@
1
+ """
2
+ pygments.lexers.scripting
3
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexer for scripting and embedded languages.
6
+
7
+ :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ import re
12
+
13
+ from pygments.lexer import RegexLexer, include, bygroups, default, combined, \
14
+ words
15
+ from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
16
+ Number, Punctuation, Error, Whitespace, Other
17
+ from pygments.util import get_bool_opt, get_list_opt
18
+
19
+ __all__ = ['LuaLexer', 'LuauLexer', 'MoonScriptLexer', 'ChaiscriptLexer', 'LSLLexer',
20
+ 'AppleScriptLexer', 'RexxLexer', 'MOOCodeLexer', 'HybrisLexer',
21
+ 'EasytrieveLexer', 'JclLexer', 'MiniScriptLexer']
22
+
23
+
24
+ def all_lua_builtins():
25
+ from pygments.lexers._lua_builtins import MODULES
26
+ return [w for values in MODULES.values() for w in values]
27
+
28
+ class LuaLexer(RegexLexer):
29
+ """
30
+ For Lua source code.
31
+
32
+ Additional options accepted:
33
+
34
+ `func_name_highlighting`
35
+ If given and ``True``, highlight builtin function names
36
+ (default: ``True``).
37
+ `disabled_modules`
38
+ If given, must be a list of module names whose function names
39
+ should not be highlighted. By default all modules are highlighted.
40
+
41
+ To get a list of allowed modules have a look into the
42
+ `_lua_builtins` module:
43
+
44
+ .. sourcecode:: pycon
45
+
46
+ >>> from pygments.lexers._lua_builtins import MODULES
47
+ >>> MODULES.keys()
48
+ ['string', 'coroutine', 'modules', 'io', 'basic', ...]
49
+ """
50
+
51
+ name = 'Lua'
52
+ url = 'https://www.lua.org/'
53
+ aliases = ['lua']
54
+ filenames = ['*.lua', '*.wlua']
55
+ mimetypes = ['text/x-lua', 'application/x-lua']
56
+ version_added = ''
57
+
58
+ _comment_multiline = r'(?:--\[(?P<level>=*)\[[\w\W]*?\](?P=level)\])'
59
+ _comment_single = r'(?:--.*$)'
60
+ _space = r'(?:\s+(?!\s))'
61
+ _s = rf'(?:{_comment_multiline}|{_comment_single}|{_space})'
62
+ # A lookahead-safe version of _s that avoids catastrophic backtracking.
63
+ # The _comment_multiline pattern contains [\w\W]*? which, when used
64
+ # inside a lookahead with a * quantifier, causes exponential blowup.
65
+ # This version skips only whitespace; comments between an identifier
66
+ # and a following [.:] or ( are rare enough to sacrifice.
67
+ _s_la = r'\s'
68
+ _name = r'(?:[^\W\d]\w*)'
69
+
70
+ tokens = {
71
+ 'root': [
72
+ # Lua allows a file to start with a shebang.
73
+ (r'#!.*', Comment.Preproc),
74
+ default('base'),
75
+ ],
76
+ 'ws': [
77
+ (_comment_multiline, Comment.Multiline),
78
+ (_comment_single, Comment.Single),
79
+ (_space, Whitespace),
80
+ ],
81
+ 'base': [
82
+ include('ws'),
83
+
84
+ (r'(?i)0x[\da-f]*(\.[\da-f]*)?(p[+-]?\d+)?', Number.Hex),
85
+ (r'(?i)(\d*\.\d+|\d+\.\d*)(e[+-]?\d+)?', Number.Float),
86
+ (r'(?i)\d+e[+-]?\d+', Number.Float),
87
+ (r'\d+', Number.Integer),
88
+
89
+ # multiline strings
90
+ (r'(?s)\[(=*)\[.*?\]\1\]', String),
91
+
92
+ (r'::', Punctuation, 'label'),
93
+ (r'\.{3}', Punctuation),
94
+ (r'[=<>|~&+\-*/%#^]+|\.\.', Operator),
95
+ (r'[\[\]{}().,:;]+', Punctuation),
96
+ (r'(and|or|not)\b', Operator.Word),
97
+
98
+ (words([
99
+ 'break', 'do', 'else', 'elseif', 'end', 'for', 'if', 'in',
100
+ 'repeat', 'return', 'then', 'until', 'while'
101
+ ], suffix=r'\b'), Keyword.Reserved),
102
+ (r'goto\b', Keyword.Reserved, 'goto'),
103
+ (r'(local)\b', Keyword.Declaration),
104
+ (r'(true|false|nil)\b', Keyword.Constant),
105
+
106
+ (r'(function)\b', Keyword.Reserved, 'funcname'),
107
+
108
+ (words(all_lua_builtins(), suffix=r"\b"), Name.Builtin),
109
+ (fr'[A-Za-z_]\w*(?={_s_la}*[.:])', Name.Variable, 'varname'),
110
+ (fr'[A-Za-z_]\w*(?={_s_la}*\()', Name.Function),
111
+ (r'[A-Za-z_]\w*', Name.Variable),
112
+
113
+ ("'", String.Single, combined('stringescape', 'sqs')),
114
+ ('"', String.Double, combined('stringescape', 'dqs'))
115
+ ],
116
+
117
+ 'varname': [
118
+ include('ws'),
119
+ (r'\.\.', Operator, '#pop'),
120
+ (r'[.:]', Punctuation),
121
+ (rf'{_name}(?={_s_la}*[.:])', Name.Property),
122
+ (rf'{_name}(?={_s_la}*\()', Name.Function, '#pop'),
123
+ (_name, Name.Property, '#pop'),
124
+ ],
125
+
126
+ 'funcname': [
127
+ include('ws'),
128
+ (r'[.:]', Punctuation),
129
+ (rf'{_name}(?={_s_la}*[.:])', Name.Class),
130
+ (_name, Name.Function, '#pop'),
131
+ # inline function
132
+ (r'\(', Punctuation, '#pop'),
133
+ ],
134
+
135
+ 'goto': [
136
+ include('ws'),
137
+ (_name, Name.Label, '#pop'),
138
+ ],
139
+
140
+ 'label': [
141
+ include('ws'),
142
+ (r'::', Punctuation, '#pop'),
143
+ (_name, Name.Label),
144
+ ],
145
+
146
+ 'stringescape': [
147
+ (r'\\([abfnrtv\\"\']|[\r\n]{1,2}|z\s*|x[0-9a-fA-F]{2}|\d{1,3}|'
148
+ r'u\{[0-9a-fA-F]+\})', String.Escape),
149
+ ],
150
+
151
+ 'sqs': [
152
+ (r"'", String.Single, '#pop'),
153
+ (r"[^\\']+", String.Single),
154
+ ],
155
+
156
+ 'dqs': [
157
+ (r'"', String.Double, '#pop'),
158
+ (r'[^\\"]+', String.Double),
159
+ ]
160
+ }
161
+
162
+ def __init__(self, **options):
163
+ self.func_name_highlighting = get_bool_opt(
164
+ options, 'func_name_highlighting', True)
165
+ self.disabled_modules = get_list_opt(options, 'disabled_modules', [])
166
+
167
+ self._functions = set()
168
+ if self.func_name_highlighting:
169
+ from pygments.lexers._lua_builtins import MODULES
170
+ for mod, func in MODULES.items():
171
+ if mod not in self.disabled_modules:
172
+ self._functions.update(func)
173
+ RegexLexer.__init__(self, **options)
174
+
175
+ def get_tokens_unprocessed(self, text):
176
+ for index, token, value in \
177
+ RegexLexer.get_tokens_unprocessed(self, text):
178
+ if token is Name.Builtin and value not in self._functions:
179
+ if '.' in value:
180
+ a, b = value.split('.')
181
+ yield index, Name, a
182
+ yield index + len(a), Punctuation, '.'
183
+ yield index + len(a) + 1, Name, b
184
+ else:
185
+ yield index, Name, value
186
+ continue
187
+ yield index, token, value
188
+
189
+ def _luau_make_expression(should_pop, _s, _s_la):
190
+ temp_list = [
191
+ (r'0[xX][\da-fA-F_]*', Number.Hex, '#pop'),
192
+ (r'0[bB][\d_]*', Number.Bin, '#pop'),
193
+ (r'\.?\d[\d_]*(?:\.[\d_]*)?(?:[eE][+-]?[\d_]+)?', Number.Float, '#pop'),
194
+
195
+ (words((
196
+ 'true', 'false', 'nil'
197
+ ), suffix=r'\b'), Keyword.Constant, '#pop'),
198
+
199
+ (r'\[(=*)\[[.\n]*?\]\1\]', String, '#pop'),
200
+
201
+ (r'(\.)([a-zA-Z_]\w*)(?=%s*[({"\'])', bygroups(Punctuation, Name.Function), '#pop'),
202
+ (r'(\.)([a-zA-Z_]\w*)', bygroups(Punctuation, Name.Variable), '#pop'),
203
+
204
+ (rf'[a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*(?={_s_la}*[({{"\'])', Name.Other, '#pop'),
205
+ (r'[a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*', Name, '#pop'),
206
+ ]
207
+ if should_pop:
208
+ return temp_list
209
+ return [entry[:2] for entry in temp_list]
210
+
211
+ def _luau_make_expression_special(should_pop):
212
+ temp_list = [
213
+ (r'\{', Punctuation, ('#pop', 'closing_brace_base', 'expression')),
214
+ (r'\(', Punctuation, ('#pop', 'closing_parenthesis_base', 'expression')),
215
+
216
+ (r'::?', Punctuation, ('#pop', 'type_end', 'type_start')),
217
+
218
+ (r"'", String.Single, ('#pop', 'string_single')),
219
+ (r'"', String.Double, ('#pop', 'string_double')),
220
+ (r'`', String.Backtick, ('#pop', 'string_interpolated')),
221
+ ]
222
+ if should_pop:
223
+ return temp_list
224
+ return [(entry[0], entry[1], entry[2][1:]) for entry in temp_list]
225
+
226
+ class LuauLexer(RegexLexer):
227
+ """
228
+ For Luau source code.
229
+
230
+ Additional options accepted:
231
+
232
+ `include_luau_builtins`
233
+ If given and ``True``, automatically highlight Luau builtins
234
+ (default: ``True``).
235
+ `include_roblox_builtins`
236
+ If given and ``True``, automatically highlight Roblox-specific builtins
237
+ (default: ``False``).
238
+ `additional_builtins`
239
+ If given, must be a list of additional builtins to highlight.
240
+ `disabled_builtins`
241
+ If given, must be a list of builtins that will not be highlighted.
242
+ """
243
+
244
+ name = 'Luau'
245
+ url = 'https://luau-lang.org/'
246
+ aliases = ['luau']
247
+ filenames = ['*.luau']
248
+ version_added = '2.18'
249
+
250
+ _comment_multiline = r'(?:--\[(?P<level>=*)\[[\w\W]*?\](?P=level)\])'
251
+ _comment_single = r'(?:--.*$)'
252
+ _s = r'(?:{}|{}|{})'.format(_comment_multiline, _comment_single, r'\s+')
253
+ # Lookahead-safe version — avoids catastrophic backtracking from
254
+ # [\w\W]*? inside _comment_multiline when combined with * quantifier.
255
+ _s_la = r'\s'
256
+
257
+ tokens = {
258
+ 'root': [
259
+ (r'#!.*', Comment.Hashbang, 'base'),
260
+ default('base'),
261
+ ],
262
+
263
+ 'ws': [
264
+ (_comment_multiline, Comment.Multiline),
265
+ (_comment_single, Comment.Single),
266
+ (r'\s+', Whitespace),
267
+ ],
268
+
269
+ 'base': [
270
+ include('ws'),
271
+
272
+ *_luau_make_expression_special(False),
273
+ (r'\.\.\.', Punctuation),
274
+
275
+ (rf'type\b(?={_s}+[a-zA-Z_])', Keyword.Reserved, 'type_declaration'),
276
+ (rf'export\b(?={_s}+[a-zA-Z_])', Keyword.Reserved),
277
+
278
+ (r'(?:\.\.|//|[+\-*\/%^<>=])=?', Operator, 'expression'),
279
+ (r'~=', Operator, 'expression'),
280
+
281
+ (words((
282
+ 'and', 'or', 'not'
283
+ ), suffix=r'\b'), Operator.Word, 'expression'),
284
+
285
+ (words((
286
+ 'elseif', 'for', 'if', 'in', 'repeat', 'return', 'until',
287
+ 'while'), suffix=r'\b'), Keyword.Reserved, 'expression'),
288
+ (r'local\b', Keyword.Declaration, 'expression'),
289
+
290
+ (r'function\b', Keyword.Reserved, ('expression', 'func_name')),
291
+
292
+ (r'[\])};]+', Punctuation),
293
+
294
+ include('expression_static'),
295
+ *_luau_make_expression(False, _s, _s_la),
296
+
297
+ (r'[\[.,]', Punctuation, 'expression'),
298
+ ],
299
+ 'expression_static': [
300
+ (words((
301
+ 'break', 'continue', 'do', 'else', 'elseif', 'end', 'for',
302
+ 'if', 'in', 'repeat', 'return', 'then', 'until', 'while'),
303
+ suffix=r'\b'), Keyword.Reserved),
304
+ ],
305
+ 'expression': [
306
+ include('ws'),
307
+
308
+ (r'if\b', Keyword.Reserved, ('ternary', 'expression')),
309
+
310
+ (r'local\b', Keyword.Declaration),
311
+ *_luau_make_expression_special(True),
312
+ (r'\.\.\.', Punctuation, '#pop'),
313
+
314
+ (r'function\b', Keyword.Reserved, 'func_name'),
315
+
316
+ include('expression_static'),
317
+ *_luau_make_expression(True, _s, _s_la),
318
+
319
+ default('#pop'),
320
+ ],
321
+ 'ternary': [
322
+ include('ws'),
323
+
324
+ (r'else\b', Keyword.Reserved, '#pop'),
325
+ (words((
326
+ 'then', 'elseif',
327
+ ), suffix=r'\b'), Operator.Reserved, 'expression'),
328
+
329
+ default('#pop'),
330
+ ],
331
+
332
+ 'closing_brace_pop': [
333
+ (r'\}', Punctuation, '#pop'),
334
+ ],
335
+ 'closing_parenthesis_pop': [
336
+ (r'\)', Punctuation, '#pop'),
337
+ ],
338
+ 'closing_gt_pop': [
339
+ (r'>', Punctuation, '#pop'),
340
+ ],
341
+
342
+ 'closing_parenthesis_base': [
343
+ include('closing_parenthesis_pop'),
344
+ include('base'),
345
+ ],
346
+ 'closing_parenthesis_type': [
347
+ include('closing_parenthesis_pop'),
348
+ include('type'),
349
+ ],
350
+ 'closing_brace_base': [
351
+ include('closing_brace_pop'),
352
+ include('base'),
353
+ ],
354
+ 'closing_brace_type': [
355
+ include('closing_brace_pop'),
356
+ include('type'),
357
+ ],
358
+ 'closing_gt_type': [
359
+ include('closing_gt_pop'),
360
+ include('type'),
361
+ ],
362
+
363
+ 'string_escape': [
364
+ (r'\\z\s*', String.Escape),
365
+ (r'\\(?:[abfnrtvz\\"\'`\{\n])|[\r\n]{1,2}|x[\da-fA-F]{2}|\d{1,3}|'
366
+ r'u\{\}[\da-fA-F]*\}', String.Escape),
367
+ ],
368
+ 'string_single': [
369
+ include('string_escape'),
370
+
371
+ (r"'", String.Single, "#pop"),
372
+ (r"[^\\']+", String.Single),
373
+ ],
374
+ 'string_double': [
375
+ include('string_escape'),
376
+
377
+ (r'"', String.Double, "#pop"),
378
+ (r'[^\\"]+', String.Double),
379
+ ],
380
+ 'string_interpolated': [
381
+ include('string_escape'),
382
+
383
+ (r'\{', Punctuation, ('closing_brace_base', 'expression')),
384
+
385
+ (r'`', String.Backtick, "#pop"),
386
+ (r'[^\\`\{]+', String.Backtick),
387
+ ],
388
+
389
+ 'func_name': [
390
+ include('ws'),
391
+
392
+ (r'[.:]', Punctuation),
393
+ (rf'[a-zA-Z_]\w*(?={_s_la}*[.:])', Name.Class),
394
+ (r'[a-zA-Z_]\w*', Name.Function),
395
+
396
+ (r'<', Punctuation, 'closing_gt_type'),
397
+
398
+ (r'\(', Punctuation, '#pop'),
399
+ ],
400
+
401
+ 'type': [
402
+ include('ws'),
403
+
404
+ (r'\(', Punctuation, 'closing_parenthesis_type'),
405
+ (r'\{', Punctuation, 'closing_brace_type'),
406
+ (r'<', Punctuation, 'closing_gt_type'),
407
+
408
+ (r"'", String.Single, 'string_single'),
409
+ (r'"', String.Double, 'string_double'),
410
+
411
+ (r'[|&\.,\[\]:=]+', Punctuation),
412
+ (r'->', Punctuation),
413
+
414
+ (r'typeof\(', Name.Builtin, ('closing_parenthesis_base',
415
+ 'expression')),
416
+ (r'[a-zA-Z_]\w*', Name.Class),
417
+ ],
418
+ 'type_start': [
419
+ include('ws'),
420
+
421
+ (r'\(', Punctuation, ('#pop', 'closing_parenthesis_type')),
422
+ (r'\{', Punctuation, ('#pop', 'closing_brace_type')),
423
+ (r'<', Punctuation, ('#pop', 'closing_gt_type')),
424
+
425
+ (r"'", String.Single, ('#pop', 'string_single')),
426
+ (r'"', String.Double, ('#pop', 'string_double')),
427
+
428
+ (r'typeof\(', Name.Builtin, ('#pop', 'closing_parenthesis_base',
429
+ 'expression')),
430
+ (r'[a-zA-Z_]\w*', Name.Class, '#pop'),
431
+ ],
432
+ 'type_end': [
433
+ include('ws'),
434
+
435
+ (r'[|&\.]', Punctuation, 'type_start'),
436
+ (r'->', Punctuation, 'type_start'),
437
+
438
+ (r'<', Punctuation, 'closing_gt_type'),
439
+
440
+ default('#pop'),
441
+ ],
442
+ 'type_declaration': [
443
+ include('ws'),
444
+
445
+ (r'[a-zA-Z_]\w*', Name.Class),
446
+ (r'<', Punctuation, 'closing_gt_type'),
447
+
448
+ (r'=', Punctuation, ('#pop', 'type_end', 'type_start')),
449
+ ],
450
+ }
451
+
452
+ def __init__(self, **options):
453
+ self.include_luau_builtins = get_bool_opt(
454
+ options, 'include_luau_builtins', True)
455
+ self.include_roblox_builtins = get_bool_opt(
456
+ options, 'include_roblox_builtins', False)
457
+ self.additional_builtins = get_list_opt(options, 'additional_builtins', [])
458
+ self.disabled_builtins = get_list_opt(options, 'disabled_builtins', [])
459
+
460
+ self._builtins = set(self.additional_builtins)
461
+ if self.include_luau_builtins:
462
+ from pygments.lexers._luau_builtins import LUAU_BUILTINS
463
+ self._builtins.update(LUAU_BUILTINS)
464
+ if self.include_roblox_builtins:
465
+ from pygments.lexers._luau_builtins import ROBLOX_BUILTINS
466
+ self._builtins.update(ROBLOX_BUILTINS)
467
+ if self.additional_builtins:
468
+ self._builtins.update(self.additional_builtins)
469
+ self._builtins.difference_update(self.disabled_builtins)
470
+
471
+ RegexLexer.__init__(self, **options)
472
+
473
+ def get_tokens_unprocessed(self, text):
474
+ for index, token, value in \
475
+ RegexLexer.get_tokens_unprocessed(self, text):
476
+ if token is Name or token is Name.Other:
477
+ split_value = value.split('.')
478
+ complete_value = []
479
+ new_index = index
480
+ for position in range(len(split_value), 0, -1):
481
+ potential_string = '.'.join(split_value[:position])
482
+ if potential_string in self._builtins:
483
+ yield index, Name.Builtin, potential_string
484
+ new_index += len(potential_string)
485
+
486
+ if complete_value:
487
+ yield new_index, Punctuation, '.'
488
+ new_index += 1
489
+ break
490
+ complete_value.insert(0, split_value[position - 1])
491
+
492
+ for position, substring in enumerate(complete_value):
493
+ if position + 1 == len(complete_value):
494
+ if token is Name:
495
+ yield new_index, Name.Variable, substring
496
+ continue
497
+ yield new_index, Name.Function, substring
498
+ continue
499
+ yield new_index, Name.Variable, substring
500
+ new_index += len(substring)
501
+ yield new_index, Punctuation, '.'
502
+ new_index += 1
503
+
504
+ continue
505
+ yield index, token, value
506
+
507
+ class MoonScriptLexer(LuaLexer):
508
+ """
509
+ For MoonScript source code.
510
+ """
511
+
512
+ name = 'MoonScript'
513
+ url = 'http://moonscript.org'
514
+ aliases = ['moonscript', 'moon']
515
+ filenames = ['*.moon']
516
+ mimetypes = ['text/x-moonscript', 'application/x-moonscript']
517
+ version_added = '1.5'
518
+
519
+ tokens = {
520
+ 'root': [
521
+ (r'#!(.*?)$', Comment.Preproc),
522
+ default('base'),
523
+ ],
524
+ 'base': [
525
+ ('--.*$', Comment.Single),
526
+ (r'(?i)(\d*\.\d+|\d+\.\d*)(e[+-]?\d+)?', Number.Float),
527
+ (r'(?i)\d+e[+-]?\d+', Number.Float),
528
+ (r'(?i)0x[0-9a-f]*', Number.Hex),
529
+ (r'\d+', Number.Integer),
530
+ (r'\n', Whitespace),
531
+ (r'[^\S\n]+', Text),
532
+ (r'(?s)\[(=*)\[.*?\]\1\]', String),
533
+ (r'(->|=>)', Name.Function),
534
+ (r':[a-zA-Z_]\w*', Name.Variable),
535
+ (r'(==|!=|~=|<=|>=|\.\.\.|\.\.|[=+\-*/%^<>#!.\\:])', Operator),
536
+ (r'[;,]', Punctuation),
537
+ (r'[\[\]{}()]', Keyword.Type),
538
+ (r'[a-zA-Z_]\w*:', Name.Variable),
539
+ (words((
540
+ 'class', 'extends', 'if', 'then', 'super', 'do', 'with',
541
+ 'import', 'export', 'while', 'elseif', 'return', 'for', 'in',
542
+ 'from', 'when', 'using', 'else', 'and', 'or', 'not', 'switch',
543
+ 'break'), suffix=r'\b'),
544
+ Keyword),
545
+ (r'(true|false|nil)\b', Keyword.Constant),
546
+ (r'(and|or|not)\b', Operator.Word),
547
+ (r'(self)\b', Name.Builtin.Pseudo),
548
+ (r'@@?([a-zA-Z_]\w*)?', Name.Variable.Class),
549
+ (r'[A-Z]\w*', Name.Class), # proper name
550
+ (words(all_lua_builtins(), suffix=r"\b"), Name.Builtin),
551
+ (r'[A-Za-z_]\w*', Name),
552
+ ("'", String.Single, combined('stringescape', 'sqs')),
553
+ ('"', String.Double, combined('stringescape', 'dqs'))
554
+ ],
555
+ 'stringescape': [
556
+ (r'''\\([abfnrtv\\"']|\d{1,3})''', String.Escape)
557
+ ],
558
+ 'strings': [
559
+ (r'[^#\\\'"]+', String),
560
+ # note that strings are multi-line.
561
+ # hashmarks, quotes and backslashes must be parsed one at a time
562
+ ],
563
+ 'interpoling_string': [
564
+ (r'\}', String.Interpol, "#pop"),
565
+ include('base')
566
+ ],
567
+ 'dqs': [
568
+ (r'"', String.Double, '#pop'),
569
+ (r'\\.|\'', String), # double-quoted string don't need ' escapes
570
+ (r'#\{', String.Interpol, "interpoling_string"),
571
+ (r'#', String),
572
+ include('strings')
573
+ ],
574
+ 'sqs': [
575
+ (r"'", String.Single, '#pop'),
576
+ (r'#|\\.|"', String), # single quoted strings don't need " escapses
577
+ include('strings')
578
+ ]
579
+ }
580
+
581
+ def get_tokens_unprocessed(self, text):
582
+ # set . as Operator instead of Punctuation
583
+ for index, token, value in LuaLexer.get_tokens_unprocessed(self, text):
584
+ if token == Punctuation and value == ".":
585
+ token = Operator
586
+ yield index, token, value
587
+
588
+
589
+ class ChaiscriptLexer(RegexLexer):
590
+ """
591
+ For ChaiScript source code.
592
+ """
593
+
594
+ name = 'ChaiScript'
595
+ url = 'http://chaiscript.com/'
596
+ aliases = ['chaiscript', 'chai']
597
+ filenames = ['*.chai']
598
+ mimetypes = ['text/x-chaiscript', 'application/x-chaiscript']
599
+ version_added = '2.0'
600
+
601
+ flags = re.DOTALL | re.MULTILINE
602
+
603
+ tokens = {
604
+ 'commentsandwhitespace': [
605
+ (r'\s+', Text),
606
+ (r'//.*?\n', Comment.Single),
607
+ (r'/\*.*?\*/', Comment.Multiline),
608
+ (r'^\#.*?\n', Comment.Single)
609
+ ],
610
+ 'slashstartsregex': [
611
+ include('commentsandwhitespace'),
612
+ (r'/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/'
613
+ r'([gim]+\b|\B)', String.Regex, '#pop'),
614
+ (r'(?=/)', Text, ('#pop', 'badregex')),
615
+ default('#pop')
616
+ ],
617
+ 'badregex': [
618
+ (r'\n', Text, '#pop')
619
+ ],
620
+ 'root': [
621
+ include('commentsandwhitespace'),
622
+ (r'\n', Text),
623
+ (r'[^\S\n]+', Text),
624
+ (r'\+\+|--|~|&&|\?|:|\|\||\\(?=\n)|\.\.'
625
+ r'(<<|>>>?|==?|!=?|[-<>+*%&|^/])=?', Operator, 'slashstartsregex'),
626
+ (r'[{(\[;,]', Punctuation, 'slashstartsregex'),
627
+ (r'[})\].]', Punctuation),
628
+ (r'[=+\-*/]', Operator),
629
+ (r'(for|in|while|do|break|return|continue|if|else|'
630
+ r'throw|try|catch'
631
+ r')\b', Keyword, 'slashstartsregex'),
632
+ (r'(var)\b', Keyword.Declaration, 'slashstartsregex'),
633
+ (r'(attr|def|fun)\b', Keyword.Reserved),
634
+ (r'(true|false)\b', Keyword.Constant),
635
+ (r'(eval|throw)\b', Name.Builtin),
636
+ (r'`\S+`', Name.Builtin),
637
+ (r'[$a-zA-Z_]\w*', Name.Other),
638
+ (r'[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?', Number.Float),
639
+ (r'0x[0-9a-fA-F]+', Number.Hex),
640
+ (r'[0-9]+', Number.Integer),
641
+ (r'"', String.Double, 'dqstring'),
642
+ (r"'(\\\\|\\[^\\]|[^'\\])*'", String.Single),
643
+ ],
644
+ 'dqstring': [
645
+ (r'\$\{[^"}]+?\}', String.Interpol),
646
+ (r'\$', String.Double),
647
+ (r'\\\\', String.Double),
648
+ (r'\\"', String.Double),
649
+ (r'[^\\"$]+', String.Double),
650
+ (r'"', String.Double, '#pop'),
651
+ ],
652
+ }
653
+
654
+
655
+ class LSLLexer(RegexLexer):
656
+ """
657
+ For Second Life's Linden Scripting Language source code.
658
+ """
659
+
660
+ name = 'LSL'
661
+ aliases = ['lsl']
662
+ filenames = ['*.lsl']
663
+ mimetypes = ['text/x-lsl']
664
+ url = 'https://wiki.secondlife.com/wiki/Linden_Scripting_Language'
665
+ version_added = '2.0'
666
+
667
+ flags = re.MULTILINE
668
+
669
+ lsl_keywords = r'\b(?:do|else|for|if|jump|return|while)\b'
670
+ lsl_types = r'\b(?:float|integer|key|list|quaternion|rotation|string|vector)\b'
671
+ lsl_states = r'\b(?:(?:state)\s+\w+|default)\b'
672
+ lsl_events = r'\b(?:state_(?:entry|exit)|touch(?:_(?:start|end))?|(?:land_)?collision(?:_(?:start|end))?|timer|listen|(?:no_)?sensor|control|(?:not_)?at_(?:rot_)?target|money|email|run_time_permissions|changed|attach|dataserver|moving_(?:start|end)|link_message|(?:on|object)_rez|remote_data|http_re(?:sponse|quest)|path_update|transaction_result)\b'
673
+ lsl_functions_builtin = r'\b(?:ll(?:ReturnObjectsBy(?:ID|Owner)|Json(?:2List|[GS]etValue|ValueType)|Sin|Cos|Tan|Atan2|Sqrt|Pow|Abs|Fabs|Frand|Floor|Ceil|Round|Vec(?:Mag|Norm|Dist)|Rot(?:Between|2(?:Euler|Fwd|Left|Up))|(?:Euler|Axes)2Rot|Whisper|(?:Region|Owner)?Say|Shout|Listen(?:Control|Remove)?|Sensor(?:Repeat|Remove)?|Detected(?:Name|Key|Owner|Type|Pos|Vel|Grab|Rot|Group|LinkNumber)|Die|Ground|Wind|(?:[GS]et)(?:AnimationOverride|MemoryLimit|PrimMediaParams|ParcelMusicURL|Object(?:Desc|Name)|PhysicsMaterial|Status|Scale|Color|Alpha|Texture|Pos|Rot|Force|Torque)|ResetAnimationOverride|(?:Scale|Offset|Rotate)Texture|(?:Rot)?Target(?:Remove)?|(?:Stop)?MoveToTarget|Apply(?:Rotational)?Impulse|Set(?:KeyframedMotion|ContentType|RegionPos|(?:Angular)?Velocity|Buoyancy|HoverHeight|ForceAndTorque|TimerEvent|ScriptState|Damage|TextureAnim|Sound(?:Queueing|Radius)|Vehicle(?:Type|(?:Float|Vector|Rotation)Param)|(?:Touch|Sit)?Text|Camera(?:Eye|At)Offset|PrimitiveParams|ClickAction|Link(?:Alpha|Color|PrimitiveParams(?:Fast)?|Texture(?:Anim)?|Camera|Media)|RemoteScriptAccessPin|PayPrice|LocalRot)|ScaleByFactor|Get(?:(?:Max|Min)ScaleFactor|ClosestNavPoint|StaticPath|SimStats|Env|PrimitiveParams|Link(?:PrimitiveParams|Number(?:OfSides)?|Key|Name|Media)|HTTPHeader|FreeURLs|Object(?:Details|PermMask|PrimCount)|Parcel(?:MaxPrims|Details|Prim(?:Count|Owners))|Attached|(?:SPMax|Free|Used)Memory|Region(?:Name|TimeDilation|FPS|Corner|AgentCount)|Root(?:Position|Rotation)|UnixTime|(?:Parcel|Region)Flags|(?:Wall|GMT)clock|SimulatorHostname|BoundingBox|GeometricCenter|Creator|NumberOf(?:Prims|NotecardLines|Sides)|Animation(?:List)?|(?:Camera|Local)(?:Pos|Rot)|Vel|Accel|Omega|Time(?:stamp|OfDay)|(?:Object|CenterOf)?Mass|MassMKS|Energy|Owner|(?:Owner)?Key|SunDirection|Texture(?:Offset|Scale|Rot)|Inventory(?:Number|Name|Key|Type|Creator|PermMask)|Permissions(?:Key)?|StartParameter|List(?:Length|EntryType)|Date|Agent(?:Size|Info|Language|List)|LandOwnerAt|NotecardLine|Script(?:Name|State))|(?:Get|Reset|GetAndReset)Time|PlaySound(?:Slave)?|LoopSound(?:Master|Slave)?|(?:Trigger|Stop|Preload)Sound|(?:(?:Get|Delete)Sub|Insert)String|To(?:Upper|Lower)|Give(?:InventoryList|Money)|RezObject|(?:Stop)?LookAt|Sleep|CollisionFilter|(?:Take|Release)Controls|DetachFromAvatar|AttachToAvatar(?:Temp)?|InstantMessage|(?:GetNext)?Email|StopHover|MinEventDelay|RotLookAt|String(?:Length|Trim)|(?:Start|Stop)Animation|TargetOmega|RequestPermissions|(?:Create|Break)Link|BreakAllLinks|(?:Give|Remove)Inventory|Water|PassTouches|Request(?:Agent|Inventory)Data|TeleportAgent(?:Home|GlobalCoords)?|ModifyLand|CollisionSound|ResetScript|MessageLinked|PushObject|PassCollisions|AxisAngle2Rot|Rot2(?:Axis|Angle)|A(?:cos|sin)|AngleBetween|AllowInventoryDrop|SubStringIndex|List2(?:CSV|Integer|Json|Float|String|Key|Vector|Rot|List(?:Strided)?)|DeleteSubList|List(?:Statistics|Sort|Randomize|(?:Insert|Find|Replace)List)|EdgeOfWorld|AdjustSoundVolume|Key2Name|TriggerSoundLimited|EjectFromLand|(?:CSV|ParseString)2List|OverMyLand|SameGroup|UnSit|Ground(?:Slope|Normal|Contour)|GroundRepel|(?:Set|Remove)VehicleFlags|(?:AvatarOn)?(?:Link)?SitTarget|Script(?:Danger|Profiler)|Dialog|VolumeDetect|ResetOtherScript|RemoteLoadScriptPin|(?:Open|Close)RemoteDataChannel|SendRemoteData|RemoteDataReply|(?:Integer|String)ToBase64|XorBase64|Log(?:10)?|Base64To(?:String|Integer)|ParseStringKeepNulls|RezAtRoot|RequestSimulatorData|ForceMouselook|(?:Load|Release|(?:E|Une)scape)URL|ParcelMedia(?:CommandList|Query)|ModPow|MapDestination|(?:RemoveFrom|AddTo|Reset)Land(?:Pass|Ban)List|(?:Set|Clear)CameraParams|HTTP(?:Request|Response)|TextBox|DetectedTouch(?:UV|Face|Pos|(?:N|Bin)ormal|ST)|(?:MD5|SHA1|DumpList2)String|Request(?:Secure)?URL|Clear(?:Prim|Link)Media|(?:Link)?ParticleSystem|(?:Get|Request)(?:Username|DisplayName)|RegionSayTo|CastRay|GenerateKey|TransferLindenDollars|ManageEstateAccess|(?:Create|Delete)Character|ExecCharacterCmd|Evade|FleeFrom|NavigateTo|PatrolPoints|Pursue|UpdateCharacter|WanderWithin))\b'
674
+ lsl_constants_float = r'\b(?:DEG_TO_RAD|PI(?:_BY_TWO)?|RAD_TO_DEG|SQRT2|TWO_PI)\b'
675
+ lsl_constants_integer = r'\b(?:JSON_APPEND|STATUS_(?:PHYSICS|ROTATE_[XYZ]|PHANTOM|SANDBOX|BLOCK_GRAB(?:_OBJECT)?|(?:DIE|RETURN)_AT_EDGE|CAST_SHADOWS|OK|MALFORMED_PARAMS|TYPE_MISMATCH|BOUNDS_ERROR|NOT_(?:FOUND|SUPPORTED)|INTERNAL_ERROR|WHITELIST_FAILED)|AGENT(?:_(?:BY_(?:LEGACY_|USER)NAME|FLYING|ATTACHMENTS|SCRIPTED|MOUSELOOK|SITTING|ON_OBJECT|AWAY|WALKING|IN_AIR|TYPING|CROUCHING|BUSY|ALWAYS_RUN|AUTOPILOT|LIST_(?:PARCEL(?:_OWNER)?|REGION)))?|CAMERA_(?:PITCH|DISTANCE|BEHINDNESS_(?:ANGLE|LAG)|(?:FOCUS|POSITION)(?:_(?:THRESHOLD|LOCKED|LAG))?|FOCUS_OFFSET|ACTIVE)|ANIM_ON|LOOP|REVERSE|PING_PONG|SMOOTH|ROTATE|SCALE|ALL_SIDES|LINK_(?:ROOT|SET|ALL_(?:OTHERS|CHILDREN)|THIS)|ACTIVE|PASSIVE|SCRIPTED|CONTROL_(?:FWD|BACK|(?:ROT_)?(?:LEFT|RIGHT)|UP|DOWN|(?:ML_)?LBUTTON)|PERMISSION_(?:RETURN_OBJECTS|DEBIT|OVERRIDE_ANIMATIONS|SILENT_ESTATE_MANAGEMENT|TAKE_CONTROLS|TRIGGER_ANIMATION|ATTACH|CHANGE_LINKS|(?:CONTROL|TRACK)_CAMERA|TELEPORT)|INVENTORY_(?:TEXTURE|SOUND|OBJECT|SCRIPT|LANDMARK|CLOTHING|NOTECARD|BODYPART|ANIMATION|GESTURE|ALL|NONE)|CHANGED_(?:INVENTORY|COLOR|SHAPE|SCALE|TEXTURE|LINK|ALLOWED_DROP|OWNER|REGION(?:_START)?|TELEPORT|MEDIA)|OBJECT_(?:(?:PHYSICS|SERVER|STREAMING)_COST|UNKNOWN_DETAIL|CHARACTER_TIME|PHANTOM|PHYSICS|TEMP_ON_REZ|NAME|DESC|POS|PRIM_EQUIVALENCE|RETURN_(?:PARCEL(?:_OWNER)?|REGION)|ROO?T|VELOCITY|OWNER|GROUP|CREATOR|ATTACHED_POINT|RENDER_WEIGHT|PATHFINDING_TYPE|(?:RUNNING|TOTAL)_SCRIPT_COUNT|SCRIPT_(?:MEMORY|TIME))|TYPE_(?:INTEGER|FLOAT|STRING|KEY|VECTOR|ROTATION|INVALID)|(?:DEBUG|PUBLIC)_CHANNEL|ATTACH_(?:AVATAR_CENTER|CHEST|HEAD|BACK|PELVIS|MOUTH|CHIN|NECK|NOSE|BELLY|[LR](?:SHOULDER|HAND|FOOT|EAR|EYE|[UL](?:ARM|LEG)|HIP)|(?:LEFT|RIGHT)_PEC|HUD_(?:CENTER_[12]|TOP_(?:RIGHT|CENTER|LEFT)|BOTTOM(?:_(?:RIGHT|LEFT))?))|LAND_(?:LEVEL|RAISE|LOWER|SMOOTH|NOISE|REVERT)|DATA_(?:ONLINE|NAME|BORN|SIM_(?:POS|STATUS|RATING)|PAYINFO)|PAYMENT_INFO_(?:ON_FILE|USED)|REMOTE_DATA_(?:CHANNEL|REQUEST|REPLY)|PSYS_(?:PART_(?:BF_(?:ZERO|ONE(?:_MINUS_(?:DEST_COLOR|SOURCE_(ALPHA|COLOR)))?|DEST_COLOR|SOURCE_(ALPHA|COLOR))|BLEND_FUNC_(DEST|SOURCE)|FLAGS|(?:START|END)_(?:COLOR|ALPHA|SCALE|GLOW)|MAX_AGE|(?:RIBBON|WIND|INTERP_(?:COLOR|SCALE)|BOUNCE|FOLLOW_(?:SRC|VELOCITY)|TARGET_(?:POS|LINEAR)|EMISSIVE)_MASK)|SRC_(?:MAX_AGE|PATTERN|ANGLE_(?:BEGIN|END)|BURST_(?:RATE|PART_COUNT|RADIUS|SPEED_(?:MIN|MAX))|ACCEL|TEXTURE|TARGET_KEY|OMEGA|PATTERN_(?:DROP|EXPLODE|ANGLE(?:_CONE(?:_EMPTY)?)?)))|VEHICLE_(?:REFERENCE_FRAME|TYPE_(?:NONE|SLED|CAR|BOAT|AIRPLANE|BALLOON)|(?:LINEAR|ANGULAR)_(?:FRICTION_TIMESCALE|MOTOR_DIRECTION)|LINEAR_MOTOR_OFFSET|HOVER_(?:HEIGHT|EFFICIENCY|TIMESCALE)|BUOYANCY|(?:LINEAR|ANGULAR)_(?:DEFLECTION_(?:EFFICIENCY|TIMESCALE)|MOTOR_(?:DECAY_)?TIMESCALE)|VERTICAL_ATTRACTION_(?:EFFICIENCY|TIMESCALE)|BANKING_(?:EFFICIENCY|MIX|TIMESCALE)|FLAG_(?:NO_DEFLECTION_UP|LIMIT_(?:ROLL_ONLY|MOTOR_UP)|HOVER_(?:(?:WATER|TERRAIN|UP)_ONLY|GLOBAL_HEIGHT)|MOUSELOOK_(?:STEER|BANK)|CAMERA_DECOUPLED))|PRIM_(?:TYPE(?:_(?:BOX|CYLINDER|PRISM|SPHERE|TORUS|TUBE|RING|SCULPT))?|HOLE_(?:DEFAULT|CIRCLE|SQUARE|TRIANGLE)|MATERIAL(?:_(?:STONE|METAL|GLASS|WOOD|FLESH|PLASTIC|RUBBER))?|SHINY_(?:NONE|LOW|MEDIUM|HIGH)|BUMP_(?:NONE|BRIGHT|DARK|WOOD|BARK|BRICKS|CHECKER|CONCRETE|TILE|STONE|DISKS|GRAVEL|BLOBS|SIDING|LARGETILE|STUCCO|SUCTION|WEAVE)|TEXGEN_(?:DEFAULT|PLANAR)|SCULPT_(?:TYPE_(?:SPHERE|TORUS|PLANE|CYLINDER|MASK)|FLAG_(?:MIRROR|INVERT))|PHYSICS(?:_(?:SHAPE_(?:CONVEX|NONE|PRIM|TYPE)))?|(?:POS|ROT)_LOCAL|SLICE|TEXT|FLEXIBLE|POINT_LIGHT|TEMP_ON_REZ|PHANTOM|POSITION|SIZE|ROTATION|TEXTURE|NAME|OMEGA|DESC|LINK_TARGET|COLOR|BUMP_SHINY|FULLBRIGHT|TEXGEN|GLOW|MEDIA_(?:ALT_IMAGE_ENABLE|CONTROLS|(?:CURRENT|HOME)_URL|AUTO_(?:LOOP|PLAY|SCALE|ZOOM)|FIRST_CLICK_INTERACT|(?:WIDTH|HEIGHT)_PIXELS|WHITELIST(?:_ENABLE)?|PERMS_(?:INTERACT|CONTROL)|PARAM_MAX|CONTROLS_(?:STANDARD|MINI)|PERM_(?:NONE|OWNER|GROUP|ANYONE)|MAX_(?:URL_LENGTH|WHITELIST_(?:SIZE|COUNT)|(?:WIDTH|HEIGHT)_PIXELS)))|MASK_(?:BASE|OWNER|GROUP|EVERYONE|NEXT)|PERM_(?:TRANSFER|MODIFY|COPY|MOVE|ALL)|PARCEL_(?:MEDIA_COMMAND_(?:STOP|PAUSE|PLAY|LOOP|TEXTURE|URL|TIME|AGENT|UNLOAD|AUTO_ALIGN|TYPE|SIZE|DESC|LOOP_SET)|FLAG_(?:ALLOW_(?:FLY|(?:GROUP_)?SCRIPTS|LANDMARK|TERRAFORM|DAMAGE|CREATE_(?:GROUP_)?OBJECTS)|USE_(?:ACCESS_(?:GROUP|LIST)|BAN_LIST|LAND_PASS_LIST)|LOCAL_SOUND_ONLY|RESTRICT_PUSHOBJECT|ALLOW_(?:GROUP|ALL)_OBJECT_ENTRY)|COUNT_(?:TOTAL|OWNER|GROUP|OTHER|SELECTED|TEMP)|DETAILS_(?:NAME|DESC|OWNER|GROUP|AREA|ID|SEE_AVATARS))|LIST_STAT_(?:MAX|MIN|MEAN|MEDIAN|STD_DEV|SUM(?:_SQUARES)?|NUM_COUNT|GEOMETRIC_MEAN|RANGE)|PAY_(?:HIDE|DEFAULT)|REGION_FLAG_(?:ALLOW_DAMAGE|FIXED_SUN|BLOCK_TERRAFORM|SANDBOX|DISABLE_(?:COLLISIONS|PHYSICS)|BLOCK_FLY|ALLOW_DIRECT_TELEPORT|RESTRICT_PUSHOBJECT)|HTTP_(?:METHOD|MIMETYPE|BODY_(?:MAXLENGTH|TRUNCATED)|CUSTOM_HEADER|PRAGMA_NO_CACHE|VERBOSE_THROTTLE|VERIFY_CERT)|STRING_(?:TRIM(?:_(?:HEAD|TAIL))?)|CLICK_ACTION_(?:NONE|TOUCH|SIT|BUY|PAY|OPEN(?:_MEDIA)?|PLAY|ZOOM)|TOUCH_INVALID_FACE|PROFILE_(?:NONE|SCRIPT_MEMORY)|RC_(?:DATA_FLAGS|DETECT_PHANTOM|GET_(?:LINK_NUM|NORMAL|ROOT_KEY)|MAX_HITS|REJECT_(?:TYPES|AGENTS|(?:NON)?PHYSICAL|LAND))|RCERR_(?:CAST_TIME_EXCEEDED|SIM_PERF_LOW|UNKNOWN)|ESTATE_ACCESS_(?:ALLOWED_(?:AGENT|GROUP)_(?:ADD|REMOVE)|BANNED_AGENT_(?:ADD|REMOVE))|DENSITY|FRICTION|RESTITUTION|GRAVITY_MULTIPLIER|KFM_(?:COMMAND|CMD_(?:PLAY|STOP|PAUSE|SET_MODE)|MODE|FORWARD|LOOP|PING_PONG|REVERSE|DATA|ROTATION|TRANSLATION)|ERR_(?:GENERIC|PARCEL_PERMISSIONS|MALFORMED_PARAMS|RUNTIME_PERMISSIONS|THROTTLED)|CHARACTER_(?:CMD_(?:(?:SMOOTH_)?STOP|JUMP)|DESIRED_(?:TURN_)?SPEED|RADIUS|STAY_WITHIN_PARCEL|LENGTH|ORIENTATION|ACCOUNT_FOR_SKIPPED_FRAMES|AVOIDANCE_MODE|TYPE(?:_(?:[A-D]|NONE))?|MAX_(?:DECEL|TURN_RADIUS|(?:ACCEL|SPEED)))|PURSUIT_(?:OFFSET|FUZZ_FACTOR|GOAL_TOLERANCE|INTERCEPT)|REQUIRE_LINE_OF_SIGHT|FORCE_DIRECT_PATH|VERTICAL|HORIZONTAL|AVOID_(?:CHARACTERS|DYNAMIC_OBSTACLES|NONE)|PU_(?:EVADE_(?:HIDDEN|SPOTTED)|FAILURE_(?:DYNAMIC_PATHFINDING_DISABLED|INVALID_(?:GOAL|START)|NO_(?:NAVMESH|VALID_DESTINATION)|OTHER|TARGET_GONE|(?:PARCEL_)?UNREACHABLE)|(?:GOAL|SLOWDOWN_DISTANCE)_REACHED)|TRAVERSAL_TYPE(?:_(?:FAST|NONE|SLOW))?|CONTENT_TYPE_(?:ATOM|FORM|HTML|JSON|LLSD|RSS|TEXT|XHTML|XML)|GCNP_(?:RADIUS|STATIC)|(?:PATROL|WANDER)_PAUSE_AT_WAYPOINTS|OPT_(?:AVATAR|CHARACTER|EXCLUSION_VOLUME|LEGACY_LINKSET|MATERIAL_VOLUME|OTHER|STATIC_OBSTACLE|WALKABLE)|SIM_STAT_PCT_CHARS_STEPPED)\b'
676
+ lsl_constants_integer_boolean = r'\b(?:FALSE|TRUE)\b'
677
+ lsl_constants_rotation = r'\b(?:ZERO_ROTATION)\b'
678
+ lsl_constants_string = r'\b(?:EOF|JSON_(?:ARRAY|DELETE|FALSE|INVALID|NULL|NUMBER|OBJECT|STRING|TRUE)|NULL_KEY|TEXTURE_(?:BLANK|DEFAULT|MEDIA|PLYWOOD|TRANSPARENT)|URL_REQUEST_(?:GRANTED|DENIED))\b'
679
+ lsl_constants_vector = r'\b(?:TOUCH_INVALID_(?:TEXCOORD|VECTOR)|ZERO_VECTOR)\b'
680
+ lsl_invalid_broken = r'\b(?:LAND_(?:LARGE|MEDIUM|SMALL)_BRUSH)\b'
681
+ lsl_invalid_deprecated = r'\b(?:ATTACH_[LR]PEC|DATA_RATING|OBJECT_ATTACHMENT_(?:GEOMETRY_BYTES|SURFACE_AREA)|PRIM_(?:CAST_SHADOWS|MATERIAL_LIGHT|TYPE_LEGACY)|PSYS_SRC_(?:INNER|OUTER)ANGLE|VEHICLE_FLAG_NO_FLY_UP|ll(?:Cloud|Make(?:Explosion|Fountain|Smoke|Fire)|RemoteDataSetRegion|Sound(?:Preload)?|XorBase64Strings(?:Correct)?))\b'
682
+ lsl_invalid_illegal = r'\b(?:event)\b'
683
+ lsl_invalid_unimplemented = r'\b(?:CHARACTER_(?:MAX_ANGULAR_(?:ACCEL|SPEED)|TURN_SPEED_MULTIPLIER)|PERMISSION_(?:CHANGE_(?:JOINTS|PERMISSIONS)|RELEASE_OWNERSHIP|REMAP_CONTROLS)|PRIM_PHYSICS_MATERIAL|PSYS_SRC_OBJ_REL_MASK|ll(?:CollisionSprite|(?:Stop)?PointAt|(?:(?:Refresh|Set)Prim)URL|(?:Take|Release)Camera|RemoteLoadScript))\b'
684
+ lsl_reserved_godmode = r'\b(?:ll(?:GodLikeRezObject|Set(?:Inventory|Object)PermMask))\b'
685
+ lsl_reserved_log = r'\b(?:print)\b'
686
+ lsl_operators = r'\+\+|\-\-|<<|>>|&&?|\|\|?|\^|~|[!%<>=*+\-/]=?'
687
+
688
+ tokens = {
689
+ 'root':
690
+ [
691
+ (r'//.*?\n', Comment.Single),
692
+ (r'/\*', Comment.Multiline, 'comment'),
693
+ (r'"', String.Double, 'string'),
694
+ (lsl_keywords, Keyword),
695
+ (lsl_types, Keyword.Type),
696
+ (lsl_states, Name.Class),
697
+ (lsl_events, Name.Builtin),
698
+ (lsl_functions_builtin, Name.Function),
699
+ (lsl_constants_float, Keyword.Constant),
700
+ (lsl_constants_integer, Keyword.Constant),
701
+ (lsl_constants_integer_boolean, Keyword.Constant),
702
+ (lsl_constants_rotation, Keyword.Constant),
703
+ (lsl_constants_string, Keyword.Constant),
704
+ (lsl_constants_vector, Keyword.Constant),
705
+ (lsl_invalid_broken, Error),
706
+ (lsl_invalid_deprecated, Error),
707
+ (lsl_invalid_illegal, Error),
708
+ (lsl_invalid_unimplemented, Error),
709
+ (lsl_reserved_godmode, Keyword.Reserved),
710
+ (lsl_reserved_log, Keyword.Reserved),
711
+ (r'\b([a-zA-Z_]\w*)\b', Name.Variable),
712
+ (r'(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d*', Number.Float),
713
+ (r'(\d+\.\d*|\.\d+)', Number.Float),
714
+ (r'0[xX][0-9a-fA-F]+', Number.Hex),
715
+ (r'\d+', Number.Integer),
716
+ (lsl_operators, Operator),
717
+ (r':=?', Error),
718
+ (r'[,;{}()\[\]]', Punctuation),
719
+ (r'\n+', Whitespace),
720
+ (r'\s+', Whitespace)
721
+ ],
722
+ 'comment':
723
+ [
724
+ (r'[^*/]+', Comment.Multiline),
725
+ (r'/\*', Comment.Multiline, '#push'),
726
+ (r'\*/', Comment.Multiline, '#pop'),
727
+ (r'[*/]', Comment.Multiline)
728
+ ],
729
+ 'string':
730
+ [
731
+ (r'\\([nt"\\])', String.Escape),
732
+ (r'"', String.Double, '#pop'),
733
+ (r'\\.', Error),
734
+ (r'[^"\\]+', String.Double),
735
+ ]
736
+ }
737
+
738
+
739
+ class AppleScriptLexer(RegexLexer):
740
+ """
741
+ For AppleScript source code,
742
+ including `AppleScript Studio
743
+ <http://developer.apple.com/documentation/AppleScript/
744
+ Reference/StudioReference>`_.
745
+ Contributed by Andreas Amann <aamann@mac.com>.
746
+ """
747
+
748
+ name = 'AppleScript'
749
+ url = 'https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/introduction/ASLR_intro.html'
750
+ aliases = ['applescript']
751
+ filenames = ['*.applescript']
752
+ version_added = '1.0'
753
+
754
+ flags = re.MULTILINE | re.DOTALL
755
+
756
+ Identifiers = r'[a-zA-Z]\w*'
757
+
758
+ # XXX: use words() for all of these
759
+ Literals = ('AppleScript', 'current application', 'false', 'linefeed',
760
+ 'missing value', 'pi', 'quote', 'result', 'return', 'space',
761
+ 'tab', 'text item delimiters', 'true', 'version')
762
+ Classes = ('alias ', 'application ', 'boolean ', 'class ', 'constant ',
763
+ 'date ', 'file ', 'integer ', 'list ', 'number ', 'POSIX file ',
764
+ 'real ', 'record ', 'reference ', 'RGB color ', 'script ',
765
+ 'text ', 'unit types', '(?:Unicode )?text', 'string')
766
+ BuiltIn = ('attachment', 'attribute run', 'character', 'day', 'month',
767
+ 'paragraph', 'word', 'year')
768
+ HandlerParams = ('about', 'above', 'against', 'apart from', 'around',
769
+ 'aside from', 'at', 'below', 'beneath', 'beside',
770
+ 'between', 'for', 'given', 'instead of', 'on', 'onto',
771
+ 'out of', 'over', 'since')
772
+ Commands = ('ASCII (character|number)', 'activate', 'beep', 'choose URL',
773
+ 'choose application', 'choose color', 'choose file( name)?',
774
+ 'choose folder', 'choose from list',
775
+ 'choose remote application', 'clipboard info',
776
+ 'close( access)?', 'copy', 'count', 'current date', 'delay',
777
+ 'delete', 'display (alert|dialog)', 'do shell script',
778
+ 'duplicate', 'exists', 'get eof', 'get volume settings',
779
+ 'info for', 'launch', 'list (disks|folder)', 'load script',
780
+ 'log', 'make', 'mount volume', 'new', 'offset',
781
+ 'open( (for access|location))?', 'path to', 'print', 'quit',
782
+ 'random number', 'read', 'round', 'run( script)?',
783
+ 'say', 'scripting components',
784
+ 'set (eof|the clipboard to|volume)', 'store script',
785
+ 'summarize', 'system attribute', 'system info',
786
+ 'the clipboard', 'time to GMT', 'write', 'quoted form')
787
+ References = ('(in )?back of', '(in )?front of', '[0-9]+(st|nd|rd|th)',
788
+ 'first', 'second', 'third', 'fourth', 'fifth', 'sixth',
789
+ 'seventh', 'eighth', 'ninth', 'tenth', 'after', 'back',
790
+ 'before', 'behind', 'every', 'front', 'index', 'last',
791
+ 'middle', 'some', 'that', 'through', 'thru', 'where', 'whose')
792
+ Operators = ("and", "or", "is equal", "equals", "(is )?equal to", "is not",
793
+ "isn't", "isn't equal( to)?", "is not equal( to)?",
794
+ "doesn't equal", "does not equal", "(is )?greater than",
795
+ "comes after", "is not less than or equal( to)?",
796
+ "isn't less than or equal( to)?", "(is )?less than",
797
+ "comes before", "is not greater than or equal( to)?",
798
+ "isn't greater than or equal( to)?",
799
+ "(is )?greater than or equal( to)?", "is not less than",
800
+ "isn't less than", "does not come before",
801
+ "doesn't come before", "(is )?less than or equal( to)?",
802
+ "is not greater than", "isn't greater than",
803
+ "does not come after", "doesn't come after", "starts? with",
804
+ "begins? with", "ends? with", "contains?", "does not contain",
805
+ "doesn't contain", "is in", "is contained by", "is not in",
806
+ "is not contained by", "isn't contained by", "div", "mod",
807
+ "not", "(a )?(ref( to)?|reference to)", "is", "does")
808
+ Control = ('considering', 'else', 'error', 'exit', 'from', 'if',
809
+ 'ignoring', 'in', 'repeat', 'tell', 'then', 'times', 'to',
810
+ 'try', 'until', 'using terms from', 'while', 'whith',
811
+ 'with timeout( of)?', 'with transaction', 'by', 'continue',
812
+ 'end', 'its?', 'me', 'my', 'return', 'of', 'as')
813
+ Declarations = ('global', 'local', 'prop(erty)?', 'set', 'get')
814
+ Reserved = ('but', 'put', 'returning', 'the')
815
+ StudioClasses = ('action cell', 'alert reply', 'application', 'box',
816
+ 'browser( cell)?', 'bundle', 'button( cell)?', 'cell',
817
+ 'clip view', 'color well', 'color-panel',
818
+ 'combo box( item)?', 'control',
819
+ 'data( (cell|column|item|row|source))?', 'default entry',
820
+ 'dialog reply', 'document', 'drag info', 'drawer',
821
+ 'event', 'font(-panel)?', 'formatter',
822
+ 'image( (cell|view))?', 'matrix', 'menu( item)?', 'item',
823
+ 'movie( view)?', 'open-panel', 'outline view', 'panel',
824
+ 'pasteboard', 'plugin', 'popup button',
825
+ 'progress indicator', 'responder', 'save-panel',
826
+ 'scroll view', 'secure text field( cell)?', 'slider',
827
+ 'sound', 'split view', 'stepper', 'tab view( item)?',
828
+ 'table( (column|header cell|header view|view))',
829
+ 'text( (field( cell)?|view))?', 'toolbar( item)?',
830
+ 'user-defaults', 'view', 'window')
831
+ StudioEvents = ('accept outline drop', 'accept table drop', 'action',
832
+ 'activated', 'alert ended', 'awake from nib', 'became key',
833
+ 'became main', 'begin editing', 'bounds changed',
834
+ 'cell value', 'cell value changed', 'change cell value',
835
+ 'change item value', 'changed', 'child of item',
836
+ 'choose menu item', 'clicked', 'clicked toolbar item',
837
+ 'closed', 'column clicked', 'column moved',
838
+ 'column resized', 'conclude drop', 'data representation',
839
+ 'deminiaturized', 'dialog ended', 'document nib name',
840
+ 'double clicked', 'drag( (entered|exited|updated))?',
841
+ 'drop', 'end editing', 'exposed', 'idle', 'item expandable',
842
+ 'item value', 'item value changed', 'items changed',
843
+ 'keyboard down', 'keyboard up', 'launched',
844
+ 'load data representation', 'miniaturized', 'mouse down',
845
+ 'mouse dragged', 'mouse entered', 'mouse exited',
846
+ 'mouse moved', 'mouse up', 'moved',
847
+ 'number of browser rows', 'number of items',
848
+ 'number of rows', 'open untitled', 'opened', 'panel ended',
849
+ 'parameters updated', 'plugin loaded', 'prepare drop',
850
+ 'prepare outline drag', 'prepare outline drop',
851
+ 'prepare table drag', 'prepare table drop',
852
+ 'read from file', 'resigned active', 'resigned key',
853
+ 'resigned main', 'resized( sub views)?',
854
+ 'right mouse down', 'right mouse dragged',
855
+ 'right mouse up', 'rows changed', 'scroll wheel',
856
+ 'selected tab view item', 'selection changed',
857
+ 'selection changing', 'should begin editing',
858
+ 'should close', 'should collapse item',
859
+ 'should end editing', 'should expand item',
860
+ 'should open( untitled)?',
861
+ 'should quit( after last window closed)?',
862
+ 'should select column', 'should select item',
863
+ 'should select row', 'should select tab view item',
864
+ 'should selection change', 'should zoom', 'shown',
865
+ 'update menu item', 'update parameters',
866
+ 'update toolbar item', 'was hidden', 'was miniaturized',
867
+ 'will become active', 'will close', 'will dismiss',
868
+ 'will display browser cell', 'will display cell',
869
+ 'will display item cell', 'will display outline cell',
870
+ 'will finish launching', 'will hide', 'will miniaturize',
871
+ 'will move', 'will open', 'will pop up', 'will quit',
872
+ 'will resign active', 'will resize( sub views)?',
873
+ 'will select tab view item', 'will show', 'will zoom',
874
+ 'write to file', 'zoomed')
875
+ StudioCommands = ('animate', 'append', 'call method', 'center',
876
+ 'close drawer', 'close panel', 'display',
877
+ 'display alert', 'display dialog', 'display panel', 'go',
878
+ 'hide', 'highlight', 'increment', 'item for',
879
+ 'load image', 'load movie', 'load nib', 'load panel',
880
+ 'load sound', 'localized string', 'lock focus', 'log',
881
+ 'open drawer', 'path for', 'pause', 'perform action',
882
+ 'play', 'register', 'resume', 'scroll', 'select( all)?',
883
+ 'show', 'size to fit', 'start', 'step back',
884
+ 'step forward', 'stop', 'synchronize', 'unlock focus',
885
+ 'update')
886
+ StudioProperties = ('accepts arrow key', 'action method', 'active',
887
+ 'alignment', 'allowed identifiers',
888
+ 'allows branch selection', 'allows column reordering',
889
+ 'allows column resizing', 'allows column selection',
890
+ 'allows customization',
891
+ 'allows editing text attributes',
892
+ 'allows empty selection', 'allows mixed state',
893
+ 'allows multiple selection', 'allows reordering',
894
+ 'allows undo', 'alpha( value)?', 'alternate image',
895
+ 'alternate increment value', 'alternate title',
896
+ 'animation delay', 'associated file name',
897
+ 'associated object', 'auto completes', 'auto display',
898
+ 'auto enables items', 'auto repeat',
899
+ 'auto resizes( outline column)?',
900
+ 'auto save expanded items', 'auto save name',
901
+ 'auto save table columns', 'auto saves configuration',
902
+ 'auto scroll', 'auto sizes all columns to fit',
903
+ 'auto sizes cells', 'background color', 'bezel state',
904
+ 'bezel style', 'bezeled', 'border rect', 'border type',
905
+ 'bordered', 'bounds( rotation)?', 'box type',
906
+ 'button returned', 'button type',
907
+ 'can choose directories', 'can choose files',
908
+ 'can draw', 'can hide',
909
+ 'cell( (background color|size|type))?', 'characters',
910
+ 'class', 'click count', 'clicked( data)? column',
911
+ 'clicked data item', 'clicked( data)? row',
912
+ 'closeable', 'collating', 'color( (mode|panel))',
913
+ 'command key down', 'configuration',
914
+ 'content(s| (size|view( margins)?))?', 'context',
915
+ 'continuous', 'control key down', 'control size',
916
+ 'control tint', 'control view',
917
+ 'controller visible', 'coordinate system',
918
+ 'copies( on scroll)?', 'corner view', 'current cell',
919
+ 'current column', 'current( field)? editor',
920
+ 'current( menu)? item', 'current row',
921
+ 'current tab view item', 'data source',
922
+ 'default identifiers', 'delta (x|y|z)',
923
+ 'destination window', 'directory', 'display mode',
924
+ 'displayed cell', 'document( (edited|rect|view))?',
925
+ 'double value', 'dragged column', 'dragged distance',
926
+ 'dragged items', 'draws( cell)? background',
927
+ 'draws grid', 'dynamically scrolls', 'echos bullets',
928
+ 'edge', 'editable', 'edited( data)? column',
929
+ 'edited data item', 'edited( data)? row', 'enabled',
930
+ 'enclosing scroll view', 'ending page',
931
+ 'error handling', 'event number', 'event type',
932
+ 'excluded from windows menu', 'executable path',
933
+ 'expanded', 'fax number', 'field editor', 'file kind',
934
+ 'file name', 'file type', 'first responder',
935
+ 'first visible column', 'flipped', 'floating',
936
+ 'font( panel)?', 'formatter', 'frameworks path',
937
+ 'frontmost', 'gave up', 'grid color', 'has data items',
938
+ 'has horizontal ruler', 'has horizontal scroller',
939
+ 'has parent data item', 'has resize indicator',
940
+ 'has shadow', 'has sub menu', 'has vertical ruler',
941
+ 'has vertical scroller', 'header cell', 'header view',
942
+ 'hidden', 'hides when deactivated', 'highlights by',
943
+ 'horizontal line scroll', 'horizontal page scroll',
944
+ 'horizontal ruler view', 'horizontally resizable',
945
+ 'icon image', 'id', 'identifier',
946
+ 'ignores multiple clicks',
947
+ 'image( (alignment|dims when disabled|frame style|scaling))?',
948
+ 'imports graphics', 'increment value',
949
+ 'indentation per level', 'indeterminate', 'index',
950
+ 'integer value', 'intercell spacing', 'item height',
951
+ 'key( (code|equivalent( modifier)?|window))?',
952
+ 'knob thickness', 'label', 'last( visible)? column',
953
+ 'leading offset', 'leaf', 'level', 'line scroll',
954
+ 'loaded', 'localized sort', 'location', 'loop mode',
955
+ 'main( (bunde|menu|window))?', 'marker follows cell',
956
+ 'matrix mode', 'maximum( content)? size',
957
+ 'maximum visible columns',
958
+ 'menu( form representation)?', 'miniaturizable',
959
+ 'miniaturized', 'minimized image', 'minimized title',
960
+ 'minimum column width', 'minimum( content)? size',
961
+ 'modal', 'modified', 'mouse down state',
962
+ 'movie( (controller|file|rect))?', 'muted', 'name',
963
+ 'needs display', 'next state', 'next text',
964
+ 'number of tick marks', 'only tick mark values',
965
+ 'opaque', 'open panel', 'option key down',
966
+ 'outline table column', 'page scroll', 'pages across',
967
+ 'pages down', 'palette label', 'pane splitter',
968
+ 'parent data item', 'parent window', 'pasteboard',
969
+ 'path( (names|separator))?', 'playing',
970
+ 'plays every frame', 'plays selection only', 'position',
971
+ 'preferred edge', 'preferred type', 'pressure',
972
+ 'previous text', 'prompt', 'properties',
973
+ 'prototype cell', 'pulls down', 'rate',
974
+ 'released when closed', 'repeated',
975
+ 'requested print time', 'required file type',
976
+ 'resizable', 'resized column', 'resource path',
977
+ 'returns records', 'reuses columns', 'rich text',
978
+ 'roll over', 'row height', 'rulers visible',
979
+ 'save panel', 'scripts path', 'scrollable',
980
+ 'selectable( identifiers)?', 'selected cell',
981
+ 'selected( data)? columns?', 'selected data items?',
982
+ 'selected( data)? rows?', 'selected item identifier',
983
+ 'selection by rect', 'send action on arrow key',
984
+ 'sends action when done editing', 'separates columns',
985
+ 'separator item', 'sequence number', 'services menu',
986
+ 'shared frameworks path', 'shared support path',
987
+ 'sheet', 'shift key down', 'shows alpha',
988
+ 'shows state by', 'size( mode)?',
989
+ 'smart insert delete enabled', 'sort case sensitivity',
990
+ 'sort column', 'sort order', 'sort type',
991
+ 'sorted( data rows)?', 'sound', 'source( mask)?',
992
+ 'spell checking enabled', 'starting page', 'state',
993
+ 'string value', 'sub menu', 'super menu', 'super view',
994
+ 'tab key traverses cells', 'tab state', 'tab type',
995
+ 'tab view', 'table view', 'tag', 'target( printer)?',
996
+ 'text color', 'text container insert',
997
+ 'text container origin', 'text returned',
998
+ 'tick mark position', 'time stamp',
999
+ 'title(d| (cell|font|height|position|rect))?',
1000
+ 'tool tip', 'toolbar', 'trailing offset', 'transparent',
1001
+ 'treat packages as directories', 'truncated labels',
1002
+ 'types', 'unmodified characters', 'update views',
1003
+ 'use sort indicator', 'user defaults',
1004
+ 'uses data source', 'uses ruler',
1005
+ 'uses threaded animation',
1006
+ 'uses title from previous column', 'value wraps',
1007
+ 'version',
1008
+ 'vertical( (line scroll|page scroll|ruler view))?',
1009
+ 'vertically resizable', 'view',
1010
+ 'visible( document rect)?', 'volume', 'width', 'window',
1011
+ 'windows menu', 'wraps', 'zoomable', 'zoomed')
1012
+
1013
+ tokens = {
1014
+ 'root': [
1015
+ (r'\s+', Text),
1016
+ (r'¬\n', String.Escape),
1017
+ (r"'s\s+", Text), # This is a possessive, consider moving
1018
+ (r'(--|#).*?$', Comment),
1019
+ (r'\(\*', Comment.Multiline, 'comment'),
1020
+ (r'[(){}!,.:]', Punctuation),
1021
+ (r'(«)([^»]+)(»)',
1022
+ bygroups(Text, Name.Builtin, Text)),
1023
+ (r'\b((?:considering|ignoring)\s*)'
1024
+ r'(application responses|case|diacriticals|hyphens|'
1025
+ r'numeric strings|punctuation|white space)',
1026
+ bygroups(Keyword, Name.Builtin)),
1027
+ (r'(-|\*|\+|&|≠|>=?|<=?|=|≥|≤|/|÷|\^)', Operator),
1028
+ (r"\b({})\b".format('|'.join(Operators)), Operator.Word),
1029
+ (r'^(\s*(?:on|end)\s+)'
1030
+ r'({})'.format('|'.join(StudioEvents[::-1])),
1031
+ bygroups(Keyword, Name.Function)),
1032
+ (r'^(\s*)(in|on|script|to)(\s+)', bygroups(Text, Keyword, Text)),
1033
+ (r'\b(as )({})\b'.format('|'.join(Classes)),
1034
+ bygroups(Keyword, Name.Class)),
1035
+ (r'\b({})\b'.format('|'.join(Literals)), Name.Constant),
1036
+ (r'\b({})\b'.format('|'.join(Commands)), Name.Builtin),
1037
+ (r'\b({})\b'.format('|'.join(Control)), Keyword),
1038
+ (r'\b({})\b'.format('|'.join(Declarations)), Keyword),
1039
+ (r'\b({})\b'.format('|'.join(Reserved)), Name.Builtin),
1040
+ (r'\b({})s?\b'.format('|'.join(BuiltIn)), Name.Builtin),
1041
+ (r'\b({})\b'.format('|'.join(HandlerParams)), Name.Builtin),
1042
+ (r'\b({})\b'.format('|'.join(StudioProperties)), Name.Attribute),
1043
+ (r'\b({})s?\b'.format('|'.join(StudioClasses)), Name.Builtin),
1044
+ (r'\b({})\b'.format('|'.join(StudioCommands)), Name.Builtin),
1045
+ (r'\b({})\b'.format('|'.join(References)), Name.Builtin),
1046
+ (r'"(\\\\|\\[^\\]|[^"\\])*"', String.Double),
1047
+ (rf'\b({Identifiers})\b', Name.Variable),
1048
+ (r'[-+]?(\d+\.\d*|\d*\.\d+)(E[-+][0-9]+)?', Number.Float),
1049
+ (r'[-+]?\d+', Number.Integer),
1050
+ ],
1051
+ 'comment': [
1052
+ (r'\(\*', Comment.Multiline, '#push'),
1053
+ (r'\*\)', Comment.Multiline, '#pop'),
1054
+ ('[^*(]+', Comment.Multiline),
1055
+ ('[*(]', Comment.Multiline),
1056
+ ],
1057
+ }
1058
+
1059
+
1060
+ class RexxLexer(RegexLexer):
1061
+ """
1062
+ Rexx is a scripting language available for
1063
+ a wide range of different platforms with its roots found on mainframe
1064
+ systems. It is popular for I/O- and data based tasks and can act as glue
1065
+ language to bind different applications together.
1066
+ """
1067
+ name = 'Rexx'
1068
+ url = 'http://www.rexxinfo.org/'
1069
+ aliases = ['rexx', 'arexx']
1070
+ filenames = ['*.rexx', '*.rex', '*.rx', '*.arexx']
1071
+ mimetypes = ['text/x-rexx']
1072
+ version_added = '2.0'
1073
+ flags = re.IGNORECASE
1074
+
1075
+ tokens = {
1076
+ 'root': [
1077
+ (r'\s+', Whitespace),
1078
+ (r'/\*', Comment.Multiline, 'comment'),
1079
+ (r'"', String, 'string_double'),
1080
+ (r"'", String, 'string_single'),
1081
+ (r'[0-9]+(\.[0-9]+)?(e[+-]?[0-9])?', Number),
1082
+ (r'([a-z_]\w*)(\s*)(:)(\s*)(procedure)\b',
1083
+ bygroups(Name.Function, Whitespace, Operator, Whitespace,
1084
+ Keyword.Declaration)),
1085
+ (r'([a-z_]\w*)(\s*)(:)',
1086
+ bygroups(Name.Label, Whitespace, Operator)),
1087
+ include('function'),
1088
+ include('keyword'),
1089
+ include('operator'),
1090
+ (r'[a-z_]\w*', Text),
1091
+ ],
1092
+ 'function': [
1093
+ (words((
1094
+ 'abbrev', 'abs', 'address', 'arg', 'b2x', 'bitand', 'bitor', 'bitxor',
1095
+ 'c2d', 'c2x', 'center', 'charin', 'charout', 'chars', 'compare',
1096
+ 'condition', 'copies', 'd2c', 'd2x', 'datatype', 'date', 'delstr',
1097
+ 'delword', 'digits', 'errortext', 'form', 'format', 'fuzz', 'insert',
1098
+ 'lastpos', 'left', 'length', 'linein', 'lineout', 'lines', 'max',
1099
+ 'min', 'overlay', 'pos', 'queued', 'random', 'reverse', 'right', 'sign',
1100
+ 'sourceline', 'space', 'stream', 'strip', 'substr', 'subword', 'symbol',
1101
+ 'time', 'trace', 'translate', 'trunc', 'value', 'verify', 'word',
1102
+ 'wordindex', 'wordlength', 'wordpos', 'words', 'x2b', 'x2c', 'x2d',
1103
+ 'xrange'), suffix=r'(\s*)(\()'),
1104
+ bygroups(Name.Builtin, Whitespace, Operator)),
1105
+ ],
1106
+ 'keyword': [
1107
+ (r'(address|arg|by|call|do|drop|else|end|exit|for|forever|if|'
1108
+ r'interpret|iterate|leave|nop|numeric|off|on|options|parse|'
1109
+ r'pull|push|queue|return|say|select|signal|to|then|trace|until|'
1110
+ r'while)\b', Keyword.Reserved),
1111
+ ],
1112
+ 'operator': [
1113
+ (r'(-|//|/|\(|\)|\*\*|\*|\\<<|\\<|\\==|\\=|\\>>|\\>|\\|\|\||\||'
1114
+ r'&&|&|%|\+|<<=|<<|<=|<>|<|==|=|><|>=|>>=|>>|>|¬<<|¬<|¬==|¬=|'
1115
+ r'¬>>|¬>|¬|\.|,)', Operator),
1116
+ ],
1117
+ 'string_double': [
1118
+ (r'[^"\n]+', String),
1119
+ (r'""', String),
1120
+ (r'"', String, '#pop'),
1121
+ (r'\n', Text, '#pop'), # Stray linefeed also terminates strings.
1122
+ ],
1123
+ 'string_single': [
1124
+ (r'[^\'\n]+', String),
1125
+ (r'\'\'', String),
1126
+ (r'\'', String, '#pop'),
1127
+ (r'\n', Text, '#pop'), # Stray linefeed also terminates strings.
1128
+ ],
1129
+ 'comment': [
1130
+ (r'[^*]+', Comment.Multiline),
1131
+ (r'\*/', Comment.Multiline, '#pop'),
1132
+ (r'\*', Comment.Multiline),
1133
+ ]
1134
+ }
1135
+
1136
+ def _c(s):
1137
+ return re.compile(s, re.MULTILINE)
1138
+ _ADDRESS_COMMAND_PATTERN = _c(r'^\s*address\s+command\b')
1139
+ _ADDRESS_PATTERN = _c(r'^\s*address\s+')
1140
+ _DO_WHILE_PATTERN = _c(r'^\s*do\s+while\b')
1141
+ _IF_THEN_DO_PATTERN = _c(r'^\s*if\b.+\bthen\s+do\s*$')
1142
+ _PROCEDURE_PATTERN = _c(r'^\s*([a-z_]\w*)(\s*)(:)(\s*)(procedure)\b')
1143
+ _ELSE_DO_PATTERN = _c(r'\belse\s+do\s*$')
1144
+ _PARSE_ARG_PATTERN = _c(r'^\s*parse\s+(upper\s+)?(arg|value)\b')
1145
+ PATTERNS_AND_WEIGHTS = (
1146
+ (_ADDRESS_COMMAND_PATTERN, 0.2),
1147
+ (_ADDRESS_PATTERN, 0.05),
1148
+ (_DO_WHILE_PATTERN, 0.1),
1149
+ (_ELSE_DO_PATTERN, 0.1),
1150
+ (_IF_THEN_DO_PATTERN, 0.1),
1151
+ (_PROCEDURE_PATTERN, 0.5),
1152
+ (_PARSE_ARG_PATTERN, 0.2),
1153
+ )
1154
+
1155
+ def analyse_text(text):
1156
+ """
1157
+ Check for initial comment and patterns that distinguish Rexx from other
1158
+ C-like languages.
1159
+ """
1160
+ if re.search(r'/\*\**\s*rexx', text, re.IGNORECASE):
1161
+ # Header matches MVS Rexx requirements, this is certainly a Rexx
1162
+ # script.
1163
+ return 1.0
1164
+ elif text.startswith('/*'):
1165
+ # Header matches general Rexx requirements; the source code might
1166
+ # still be any language using C comments such as C++, C# or Java.
1167
+ lowerText = text.lower()
1168
+ result = sum(weight
1169
+ for (pattern, weight) in RexxLexer.PATTERNS_AND_WEIGHTS
1170
+ if pattern.search(lowerText)) + 0.01
1171
+ return min(result, 1.0)
1172
+
1173
+
1174
+ class MOOCodeLexer(RegexLexer):
1175
+ """
1176
+ For MOOCode (the MOO scripting language).
1177
+ """
1178
+ name = 'MOOCode'
1179
+ url = 'http://www.moo.mud.org/'
1180
+ filenames = ['*.moo']
1181
+ aliases = ['moocode', 'moo']
1182
+ mimetypes = ['text/x-moocode']
1183
+ version_added = '0.9'
1184
+
1185
+ tokens = {
1186
+ 'root': [
1187
+ # Numbers
1188
+ (r'(0|[1-9][0-9_]*)', Number.Integer),
1189
+ # Strings
1190
+ (r'"(\\\\|\\[^\\]|[^"\\])*"', String),
1191
+ # exceptions
1192
+ (r'(E_PERM|E_DIV)', Name.Exception),
1193
+ # db-refs
1194
+ (r'((#[-0-9]+)|(\$\w+))', Name.Entity),
1195
+ # Keywords
1196
+ (r'\b(if|else|elseif|endif|for|endfor|fork|endfork|while'
1197
+ r'|endwhile|break|continue|return|try'
1198
+ r'|except|endtry|finally|in)\b', Keyword),
1199
+ # builtins
1200
+ (r'(random|length)', Name.Builtin),
1201
+ # special variables
1202
+ (r'(player|caller|this|args)', Name.Variable.Instance),
1203
+ # skip whitespace
1204
+ (r'\s+', Text),
1205
+ (r'\n', Text),
1206
+ # other operators
1207
+ (r'([!;=,{}&|:.\[\]@()<>?]+)', Operator),
1208
+ # function call
1209
+ (r'(\w+)(\()', bygroups(Name.Function, Operator)),
1210
+ # variables
1211
+ (r'(\w+)', Text),
1212
+ ]
1213
+ }
1214
+
1215
+
1216
+ class HybrisLexer(RegexLexer):
1217
+ """
1218
+ For Hybris source code.
1219
+ """
1220
+
1221
+ name = 'Hybris'
1222
+ aliases = ['hybris']
1223
+ filenames = ['*.hyb']
1224
+ mimetypes = ['text/x-hybris', 'application/x-hybris']
1225
+ url = 'https://github.com/evilsocket/hybris'
1226
+ version_added = '1.4'
1227
+
1228
+ flags = re.MULTILINE | re.DOTALL
1229
+
1230
+ tokens = {
1231
+ 'root': [
1232
+ # method names
1233
+ (r'^(\s*(?:function|method|operator\s+)+?)'
1234
+ r'([a-zA-Z_]\w*)'
1235
+ r'(\s*)(\()', bygroups(Keyword, Name.Function, Text, Operator)),
1236
+ (r'[^\S\n]+', Text),
1237
+ (r'//.*?\n', Comment.Single),
1238
+ (r'/\*.*?\*/', Comment.Multiline),
1239
+ (r'@[a-zA-Z_][\w.]*', Name.Decorator),
1240
+ (r'(break|case|catch|next|default|do|else|finally|for|foreach|of|'
1241
+ r'unless|if|new|return|switch|me|throw|try|while)\b', Keyword),
1242
+ (r'(extends|private|protected|public|static|throws|function|method|'
1243
+ r'operator)\b', Keyword.Declaration),
1244
+ (r'(true|false|null|__FILE__|__LINE__|__VERSION__|__LIB_PATH__|'
1245
+ r'__INC_PATH__)\b', Keyword.Constant),
1246
+ (r'(class|struct)(\s+)',
1247
+ bygroups(Keyword.Declaration, Text), 'class'),
1248
+ (r'(import|include)(\s+)',
1249
+ bygroups(Keyword.Namespace, Text), 'import'),
1250
+ (words((
1251
+ 'gc_collect', 'gc_mm_items', 'gc_mm_usage', 'gc_collect_threshold',
1252
+ 'urlencode', 'urldecode', 'base64encode', 'base64decode', 'sha1', 'crc32',
1253
+ 'sha2', 'md5', 'md5_file', 'acos', 'asin', 'atan', 'atan2', 'ceil', 'cos',
1254
+ 'cosh', 'exp', 'fabs', 'floor', 'fmod', 'log', 'log10', 'pow', 'sin',
1255
+ 'sinh', 'sqrt', 'tan', 'tanh', 'isint', 'isfloat', 'ischar', 'isstring',
1256
+ 'isarray', 'ismap', 'isalias', 'typeof', 'sizeof', 'toint', 'tostring',
1257
+ 'fromxml', 'toxml', 'binary', 'pack', 'load', 'eval', 'var_names',
1258
+ 'var_values', 'user_functions', 'dyn_functions', 'methods', 'call',
1259
+ 'call_method', 'mknod', 'mkfifo', 'mount', 'umount2', 'umount', 'ticks',
1260
+ 'usleep', 'sleep', 'time', 'strtime', 'strdate', 'dllopen', 'dlllink',
1261
+ 'dllcall', 'dllcall_argv', 'dllclose', 'env', 'exec', 'fork', 'getpid',
1262
+ 'wait', 'popen', 'pclose', 'exit', 'kill', 'pthread_create',
1263
+ 'pthread_create_argv', 'pthread_exit', 'pthread_join', 'pthread_kill',
1264
+ 'smtp_send', 'http_get', 'http_post', 'http_download', 'socket', 'bind',
1265
+ 'listen', 'accept', 'getsockname', 'getpeername', 'settimeout', 'connect',
1266
+ 'server', 'recv', 'send', 'close', 'print', 'println', 'printf', 'input',
1267
+ 'readline', 'serial_open', 'serial_fcntl', 'serial_get_attr',
1268
+ 'serial_get_ispeed', 'serial_get_ospeed', 'serial_set_attr',
1269
+ 'serial_set_ispeed', 'serial_set_ospeed', 'serial_write', 'serial_read',
1270
+ 'serial_close', 'xml_load', 'xml_parse', 'fopen', 'fseek', 'ftell',
1271
+ 'fsize', 'fread', 'fwrite', 'fgets', 'fclose', 'file', 'readdir',
1272
+ 'pcre_replace', 'size', 'pop', 'unmap', 'has', 'keys', 'values',
1273
+ 'length', 'find', 'substr', 'replace', 'split', 'trim', 'remove',
1274
+ 'contains', 'join'), suffix=r'\b'),
1275
+ Name.Builtin),
1276
+ (words((
1277
+ 'MethodReference', 'Runner', 'Dll', 'Thread', 'Pipe', 'Process',
1278
+ 'Runnable', 'CGI', 'ClientSocket', 'Socket', 'ServerSocket',
1279
+ 'File', 'Console', 'Directory', 'Exception'), suffix=r'\b'),
1280
+ Keyword.Type),
1281
+ (r'"(\\\\|\\[^\\]|[^"\\])*"', String),
1282
+ (r"'\\.'|'[^\\]'|'\\u[0-9a-f]{4}'", String.Char),
1283
+ (r'(\.)([a-zA-Z_]\w*)',
1284
+ bygroups(Operator, Name.Attribute)),
1285
+ (r'[a-zA-Z_]\w*:', Name.Label),
1286
+ (r'[a-zA-Z_$]\w*', Name),
1287
+ (r'[~^*!%&\[\](){}<>|+=:;,./?\-@]+', Operator),
1288
+ (r'[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?', Number.Float),
1289
+ (r'0x[0-9a-f]+', Number.Hex),
1290
+ (r'[0-9]+L?', Number.Integer),
1291
+ (r'\n', Text),
1292
+ ],
1293
+ 'class': [
1294
+ (r'[a-zA-Z_]\w*', Name.Class, '#pop')
1295
+ ],
1296
+ 'import': [
1297
+ (r'[\w.]+\*?', Name.Namespace, '#pop')
1298
+ ],
1299
+ }
1300
+
1301
+ def analyse_text(text):
1302
+ """public method and private method don't seem to be quite common
1303
+ elsewhere."""
1304
+ result = 0
1305
+ if re.search(r'\b(?:public|private)\s+method\b', text):
1306
+ result += 0.01
1307
+ return result
1308
+
1309
+
1310
+
1311
+ class EasytrieveLexer(RegexLexer):
1312
+ """
1313
+ Easytrieve Plus is a programming language for extracting, filtering and
1314
+ converting sequential data. Furthermore it can layout data for reports.
1315
+ It is mainly used on mainframe platforms and can access several of the
1316
+ mainframe's native file formats. It is somewhat comparable to awk.
1317
+ """
1318
+ name = 'Easytrieve'
1319
+ aliases = ['easytrieve']
1320
+ filenames = ['*.ezt', '*.mac']
1321
+ mimetypes = ['text/x-easytrieve']
1322
+ url = 'https://www.broadcom.com/products/mainframe/application-development/easytrieve-report-generator'
1323
+ version_added = '2.1'
1324
+ flags = 0
1325
+
1326
+ # Note: We cannot use r'\b' at the start and end of keywords because
1327
+ # Easytrieve Plus delimiter characters are:
1328
+ #
1329
+ # * space ( )
1330
+ # * apostrophe (')
1331
+ # * period (.)
1332
+ # * comma (,)
1333
+ # * parenthesis ( and )
1334
+ # * colon (:)
1335
+ #
1336
+ # Additionally words end once a '*' appears, indicatins a comment.
1337
+ _DELIMITERS = r' \'.,():\n'
1338
+ _DELIMITERS_OR_COMENT = _DELIMITERS + '*'
1339
+ _DELIMITER_PATTERN = '[' + _DELIMITERS + ']'
1340
+ _DELIMITER_PATTERN_CAPTURE = '(' + _DELIMITER_PATTERN + ')'
1341
+ _NON_DELIMITER_OR_COMMENT_PATTERN = '[^' + _DELIMITERS_OR_COMENT + ']'
1342
+ _OPERATORS_PATTERN = '[.+\\-/=\\[\\](){}<>;,&%¬]'
1343
+ _KEYWORDS = [
1344
+ 'AFTER-BREAK', 'AFTER-LINE', 'AFTER-SCREEN', 'AIM', 'AND', 'ATTR',
1345
+ 'BEFORE', 'BEFORE-BREAK', 'BEFORE-LINE', 'BEFORE-SCREEN', 'BUSHU',
1346
+ 'BY', 'CALL', 'CASE', 'CHECKPOINT', 'CHKP', 'CHKP-STATUS', 'CLEAR',
1347
+ 'CLOSE', 'COL', 'COLOR', 'COMMIT', 'CONTROL', 'COPY', 'CURSOR', 'D',
1348
+ 'DECLARE', 'DEFAULT', 'DEFINE', 'DELETE', 'DENWA', 'DISPLAY', 'DLI',
1349
+ 'DO', 'DUPLICATE', 'E', 'ELSE', 'ELSE-IF', 'END', 'END-CASE',
1350
+ 'END-DO', 'END-IF', 'END-PROC', 'ENDPAGE', 'ENDTABLE', 'ENTER', 'EOF',
1351
+ 'EQ', 'ERROR', 'EXIT', 'EXTERNAL', 'EZLIB', 'F1', 'F10', 'F11', 'F12',
1352
+ 'F13', 'F14', 'F15', 'F16', 'F17', 'F18', 'F19', 'F2', 'F20', 'F21',
1353
+ 'F22', 'F23', 'F24', 'F25', 'F26', 'F27', 'F28', 'F29', 'F3', 'F30',
1354
+ 'F31', 'F32', 'F33', 'F34', 'F35', 'F36', 'F4', 'F5', 'F6', 'F7',
1355
+ 'F8', 'F9', 'FETCH', 'FILE-STATUS', 'FILL', 'FINAL', 'FIRST',
1356
+ 'FIRST-DUP', 'FOR', 'GE', 'GET', 'GO', 'GOTO', 'GQ', 'GR', 'GT',
1357
+ 'HEADING', 'HEX', 'HIGH-VALUES', 'IDD', 'IDMS', 'IF', 'IN', 'INSERT',
1358
+ 'JUSTIFY', 'KANJI-DATE', 'KANJI-DATE-LONG', 'KANJI-TIME', 'KEY',
1359
+ 'KEY-PRESSED', 'KOKUGO', 'KUN', 'LAST-DUP', 'LE', 'LEVEL', 'LIKE',
1360
+ 'LINE', 'LINE-COUNT', 'LINE-NUMBER', 'LINK', 'LIST', 'LOW-VALUES',
1361
+ 'LQ', 'LS', 'LT', 'MACRO', 'MASK', 'MATCHED', 'MEND', 'MESSAGE',
1362
+ 'MOVE', 'MSTART', 'NE', 'NEWPAGE', 'NOMASK', 'NOPRINT', 'NOT',
1363
+ 'NOTE', 'NOVERIFY', 'NQ', 'NULL', 'OF', 'OR', 'OTHERWISE', 'PA1',
1364
+ 'PA2', 'PA3', 'PAGE-COUNT', 'PAGE-NUMBER', 'PARM-REGISTER',
1365
+ 'PATH-ID', 'PATTERN', 'PERFORM', 'POINT', 'POS', 'PRIMARY', 'PRINT',
1366
+ 'PROCEDURE', 'PROGRAM', 'PUT', 'READ', 'RECORD', 'RECORD-COUNT',
1367
+ 'RECORD-LENGTH', 'REFRESH', 'RELEASE', 'RENUM', 'REPEAT', 'REPORT',
1368
+ 'REPORT-INPUT', 'RESHOW', 'RESTART', 'RETRIEVE', 'RETURN-CODE',
1369
+ 'ROLLBACK', 'ROW', 'S', 'SCREEN', 'SEARCH', 'SECONDARY', 'SELECT',
1370
+ 'SEQUENCE', 'SIZE', 'SKIP', 'SOKAKU', 'SORT', 'SQL', 'STOP', 'SUM',
1371
+ 'SYSDATE', 'SYSDATE-LONG', 'SYSIN', 'SYSIPT', 'SYSLST', 'SYSPRINT',
1372
+ 'SYSSNAP', 'SYSTIME', 'TALLY', 'TERM-COLUMNS', 'TERM-NAME',
1373
+ 'TERM-ROWS', 'TERMINATION', 'TITLE', 'TO', 'TRANSFER', 'TRC',
1374
+ 'UNIQUE', 'UNTIL', 'UPDATE', 'UPPERCASE', 'USER', 'USERID', 'VALUE',
1375
+ 'VERIFY', 'W', 'WHEN', 'WHILE', 'WORK', 'WRITE', 'X', 'XDM', 'XRST'
1376
+ ]
1377
+
1378
+ tokens = {
1379
+ 'root': [
1380
+ (r'\*.*\n', Comment.Single),
1381
+ (r'\n+', Whitespace),
1382
+ # Macro argument
1383
+ (r'&' + _NON_DELIMITER_OR_COMMENT_PATTERN + r'+\.', Name.Variable,
1384
+ 'after_macro_argument'),
1385
+ # Macro call
1386
+ (r'%' + _NON_DELIMITER_OR_COMMENT_PATTERN + r'+', Name.Variable),
1387
+ (r'(FILE|MACRO|REPORT)(\s+)',
1388
+ bygroups(Keyword.Declaration, Whitespace), 'after_declaration'),
1389
+ (r'(JOB|PARM)' + r'(' + _DELIMITER_PATTERN + r')',
1390
+ bygroups(Keyword.Declaration, Operator)),
1391
+ (words(_KEYWORDS, suffix=_DELIMITER_PATTERN_CAPTURE),
1392
+ bygroups(Keyword.Reserved, Operator)),
1393
+ (_OPERATORS_PATTERN, Operator),
1394
+ # Procedure declaration
1395
+ (r'(' + _NON_DELIMITER_OR_COMMENT_PATTERN + r'+)(\s*)(\.?)(\s*)(PROC)(\s*\n)',
1396
+ bygroups(Name.Function, Whitespace, Operator, Whitespace,
1397
+ Keyword.Declaration, Whitespace)),
1398
+ (r'[0-9]+\.[0-9]*', Number.Float),
1399
+ (r'[0-9]+', Number.Integer),
1400
+ (r"'(''|[^'])*'", String),
1401
+ (r'\s+', Whitespace),
1402
+ # Everything else just belongs to a name
1403
+ (_NON_DELIMITER_OR_COMMENT_PATTERN + r'+', Name),
1404
+ ],
1405
+ 'after_declaration': [
1406
+ (_NON_DELIMITER_OR_COMMENT_PATTERN + r'+', Name.Function),
1407
+ default('#pop'),
1408
+ ],
1409
+ 'after_macro_argument': [
1410
+ (r'\*.*\n', Comment.Single, '#pop'),
1411
+ (r'\s+', Whitespace, '#pop'),
1412
+ (_OPERATORS_PATTERN, Operator, '#pop'),
1413
+ (r"'(''|[^'])*'", String, '#pop'),
1414
+ # Everything else just belongs to a name
1415
+ (_NON_DELIMITER_OR_COMMENT_PATTERN + r'+', Name),
1416
+ ],
1417
+ }
1418
+ _COMMENT_LINE_REGEX = re.compile(r'^\s*\*')
1419
+ _MACRO_HEADER_REGEX = re.compile(r'^\s*MACRO')
1420
+
1421
+ def analyse_text(text):
1422
+ """
1423
+ Perform a structural analysis for basic Easytrieve constructs.
1424
+ """
1425
+ result = 0.0
1426
+ lines = text.split('\n')
1427
+ hasEndProc = False
1428
+ hasHeaderComment = False
1429
+ hasFile = False
1430
+ hasJob = False
1431
+ hasProc = False
1432
+ hasParm = False
1433
+ hasReport = False
1434
+
1435
+ def isCommentLine(line):
1436
+ return EasytrieveLexer._COMMENT_LINE_REGEX.match(lines[0]) is not None
1437
+
1438
+ def isEmptyLine(line):
1439
+ return not bool(line.strip())
1440
+
1441
+ # Remove possible empty lines and header comments.
1442
+ while lines and (isEmptyLine(lines[0]) or isCommentLine(lines[0])):
1443
+ if not isEmptyLine(lines[0]):
1444
+ hasHeaderComment = True
1445
+ del lines[0]
1446
+
1447
+ if EasytrieveLexer._MACRO_HEADER_REGEX.match(lines[0]):
1448
+ # Looks like an Easytrieve macro.
1449
+ result = 0.4
1450
+ if hasHeaderComment:
1451
+ result += 0.4
1452
+ else:
1453
+ # Scan the source for lines starting with indicators.
1454
+ for line in lines:
1455
+ words = line.split()
1456
+ if (len(words) >= 2):
1457
+ firstWord = words[0]
1458
+ if not hasReport:
1459
+ if not hasJob:
1460
+ if not hasFile:
1461
+ if not hasParm:
1462
+ if firstWord == 'PARM':
1463
+ hasParm = True
1464
+ if firstWord == 'FILE':
1465
+ hasFile = True
1466
+ if firstWord == 'JOB':
1467
+ hasJob = True
1468
+ elif firstWord == 'PROC':
1469
+ hasProc = True
1470
+ elif firstWord == 'END-PROC':
1471
+ hasEndProc = True
1472
+ elif firstWord == 'REPORT':
1473
+ hasReport = True
1474
+
1475
+ # Weight the findings.
1476
+ if hasJob and (hasProc == hasEndProc):
1477
+ if hasHeaderComment:
1478
+ result += 0.1
1479
+ if hasParm:
1480
+ if hasProc:
1481
+ # Found PARM, JOB and PROC/END-PROC:
1482
+ # pretty sure this is Easytrieve.
1483
+ result += 0.8
1484
+ else:
1485
+ # Found PARAM and JOB: probably this is Easytrieve
1486
+ result += 0.5
1487
+ else:
1488
+ # Found JOB and possibly other keywords: might be Easytrieve
1489
+ result += 0.11
1490
+ if hasParm:
1491
+ # Note: PARAM is not a proper English word, so this is
1492
+ # regarded a much better indicator for Easytrieve than
1493
+ # the other words.
1494
+ result += 0.2
1495
+ if hasFile:
1496
+ result += 0.01
1497
+ if hasReport:
1498
+ result += 0.01
1499
+ assert 0.0 <= result <= 1.0
1500
+ return result
1501
+
1502
+
1503
+ class JclLexer(RegexLexer):
1504
+ """
1505
+ Job Control Language (JCL)
1506
+ is a scripting language used on mainframe platforms to instruct the system
1507
+ on how to run a batch job or start a subsystem. It is somewhat
1508
+ comparable to MS DOS batch and Unix shell scripts.
1509
+ """
1510
+ name = 'JCL'
1511
+ aliases = ['jcl']
1512
+ filenames = ['*.jcl']
1513
+ mimetypes = ['text/x-jcl']
1514
+ url = 'https://en.wikipedia.org/wiki/Job_Control_Language'
1515
+ version_added = '2.1'
1516
+
1517
+ flags = re.IGNORECASE
1518
+
1519
+ tokens = {
1520
+ 'root': [
1521
+ (r'//\*.*\n', Comment.Single),
1522
+ (r'//', Keyword.Pseudo, 'statement'),
1523
+ (r'/\*', Keyword.Pseudo, 'jes2_statement'),
1524
+ # TODO: JES3 statement
1525
+ (r'.*\n', Other) # Input text or inline code in any language.
1526
+ ],
1527
+ 'statement': [
1528
+ (r'\s*\n', Whitespace, '#pop'),
1529
+ (r'([a-z]\w*)(\s+)(exec|job)(\s*)',
1530
+ bygroups(Name.Label, Whitespace, Keyword.Reserved, Whitespace),
1531
+ 'option'),
1532
+ (r'[a-z]\w*', Name.Variable, 'statement_command'),
1533
+ (r'\s+', Whitespace, 'statement_command'),
1534
+ ],
1535
+ 'statement_command': [
1536
+ (r'\s+(command|cntl|dd|endctl|endif|else|include|jcllib|'
1537
+ r'output|pend|proc|set|then|xmit)\s+', Keyword.Reserved, 'option'),
1538
+ include('option')
1539
+ ],
1540
+ 'jes2_statement': [
1541
+ (r'\s*\n', Whitespace, '#pop'),
1542
+ (r'\$', Keyword, 'option'),
1543
+ (r'\b(jobparam|message|netacct|notify|output|priority|route|'
1544
+ r'setup|signoff|xeq|xmit)\b', Keyword, 'option'),
1545
+ ],
1546
+ 'option': [
1547
+ # (r'\n', Text, 'root'),
1548
+ (r'\*', Name.Builtin),
1549
+ (r'[\[\](){}<>;,]', Punctuation),
1550
+ (r'[-+*/=&%]', Operator),
1551
+ (r'[a-z_]\w*', Name),
1552
+ (r'\d+\.\d*', Number.Float),
1553
+ (r'\.\d+', Number.Float),
1554
+ (r'\d+', Number.Integer),
1555
+ (r"'", String, 'option_string'),
1556
+ (r'[ \t]+', Whitespace, 'option_comment'),
1557
+ (r'\.', Punctuation),
1558
+ ],
1559
+ 'option_string': [
1560
+ (r"(\n)(//)", bygroups(Text, Keyword.Pseudo)),
1561
+ (r"''", String),
1562
+ (r"[^']", String),
1563
+ (r"'", String, '#pop'),
1564
+ ],
1565
+ 'option_comment': [
1566
+ # (r'\n', Text, 'root'),
1567
+ (r'.+', Comment.Single),
1568
+ ]
1569
+ }
1570
+
1571
+ _JOB_HEADER_PATTERN = re.compile(r'^//[a-z#$@][a-z0-9#$@]{0,7}\s+job(\s+.*)?$',
1572
+ re.IGNORECASE)
1573
+
1574
+ def analyse_text(text):
1575
+ """
1576
+ Recognize JCL job by header.
1577
+ """
1578
+ result = 0.0
1579
+ lines = text.split('\n')
1580
+ if len(lines) > 0:
1581
+ if JclLexer._JOB_HEADER_PATTERN.match(lines[0]):
1582
+ result = 1.0
1583
+ assert 0.0 <= result <= 1.0
1584
+ return result
1585
+
1586
+
1587
+ class MiniScriptLexer(RegexLexer):
1588
+ """
1589
+ For MiniScript source code.
1590
+ """
1591
+
1592
+ name = 'MiniScript'
1593
+ url = 'https://miniscript.org'
1594
+ aliases = ['miniscript', 'ms']
1595
+ filenames = ['*.ms']
1596
+ mimetypes = ['text/x-minicript', 'application/x-miniscript']
1597
+ version_added = '2.6'
1598
+
1599
+ tokens = {
1600
+ 'root': [
1601
+ (r'#!(.*?)$', Comment.Preproc),
1602
+ default('base'),
1603
+ ],
1604
+ 'base': [
1605
+ ('//.*$', Comment.Single),
1606
+ (r'(?i)(\d*\.\d+|\d+\.\d*)(e[+-]?\d+)?', Number),
1607
+ (r'(?i)\d+e[+-]?\d+', Number),
1608
+ (r'\d+', Number),
1609
+ (r'\n', Text),
1610
+ (r'[^\S\n]+', Text),
1611
+ (r'"', String, 'string_double'),
1612
+ (r'(==|!=|<=|>=|[=+\-*/%^<>.:])', Operator),
1613
+ (r'[;,\[\]{}()]', Punctuation),
1614
+ (words((
1615
+ 'break', 'continue', 'else', 'end', 'for', 'function', 'if',
1616
+ 'in', 'isa', 'then', 'repeat', 'return', 'while'), suffix=r'\b'),
1617
+ Keyword),
1618
+ (words((
1619
+ 'abs', 'acos', 'asin', 'atan', 'ceil', 'char', 'cos', 'floor',
1620
+ 'log', 'round', 'rnd', 'pi', 'sign', 'sin', 'sqrt', 'str', 'tan',
1621
+ 'hasIndex', 'indexOf', 'len', 'val', 'code', 'remove', 'lower',
1622
+ 'upper', 'replace', 'split', 'indexes', 'values', 'join', 'sum',
1623
+ 'sort', 'shuffle', 'push', 'pop', 'pull', 'range',
1624
+ 'print', 'input', 'time', 'wait', 'locals', 'globals', 'outer',
1625
+ 'yield'), suffix=r'\b'),
1626
+ Name.Builtin),
1627
+ (r'(true|false|null)\b', Keyword.Constant),
1628
+ (r'(and|or|not|new)\b', Operator.Word),
1629
+ (r'(self|super|__isa)\b', Name.Builtin.Pseudo),
1630
+ (r'[a-zA-Z_]\w*', Name.Variable)
1631
+ ],
1632
+ 'string_double': [
1633
+ (r'[^"\n]+', String),
1634
+ (r'""', String),
1635
+ (r'"', String, '#pop'),
1636
+ (r'\n', Text, '#pop'), # Stray linefeed also terminates strings.
1637
+ ]
1638
+ }