create-writerkit 1.0.0 → 1.1.1

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 (1020) hide show
  1. package/bin/cli.js +109 -33
  2. package/package.json +4 -3
  3. package/src/interactiveMenu.js +97 -0
  4. package/src/templateProcessor.js +102 -0
  5. package/livro-final/main.tex +0 -51
  6. package/livro-final/memory/memory.json +0 -23
  7. package/livro-final/memory/schema.md +0 -18
  8. package/livro-final/venv/bin/Activate.ps1 +0 -247
  9. package/livro-final/venv/bin/activate +0 -70
  10. package/livro-final/venv/bin/activate.csh +0 -27
  11. package/livro-final/venv/bin/activate.fish +0 -69
  12. package/livro-final/venv/bin/pip +0 -8
  13. package/livro-final/venv/bin/pip3 +0 -8
  14. package/livro-final/venv/bin/pip3.12 +0 -8
  15. package/livro-final/venv/lib/python3.12/site-packages/pip/__init__.py +0 -13
  16. package/livro-final/venv/lib/python3.12/site-packages/pip/__main__.py +0 -24
  17. package/livro-final/venv/lib/python3.12/site-packages/pip/__pip-runner__.py +0 -50
  18. package/livro-final/venv/lib/python3.12/site-packages/pip/__pycache__/__init__.cpython-312.pyc +0 -0
  19. package/livro-final/venv/lib/python3.12/site-packages/pip/__pycache__/__main__.cpython-312.pyc +0 -0
  20. package/livro-final/venv/lib/python3.12/site-packages/pip/__pycache__/__pip-runner__.cpython-312.pyc +0 -0
  21. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/__init__.py +0 -18
  22. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/__pycache__/__init__.cpython-312.pyc +0 -0
  23. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/__pycache__/build_env.cpython-312.pyc +0 -0
  24. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/__pycache__/cache.cpython-312.pyc +0 -0
  25. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/__pycache__/configuration.cpython-312.pyc +0 -0
  26. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/__pycache__/exceptions.cpython-312.pyc +0 -0
  27. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/__pycache__/main.cpython-312.pyc +0 -0
  28. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/__pycache__/pyproject.cpython-312.pyc +0 -0
  29. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-312.pyc +0 -0
  30. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-312.pyc +0 -0
  31. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/build_env.py +0 -311
  32. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cache.py +0 -290
  33. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/__init__.py +0 -4
  34. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/__init__.cpython-312.pyc +0 -0
  35. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-312.pyc +0 -0
  36. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/base_command.cpython-312.pyc +0 -0
  37. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/cmdoptions.cpython-312.pyc +0 -0
  38. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/command_context.cpython-312.pyc +0 -0
  39. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/main.cpython-312.pyc +0 -0
  40. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/main_parser.cpython-312.pyc +0 -0
  41. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/parser.cpython-312.pyc +0 -0
  42. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/progress_bars.cpython-312.pyc +0 -0
  43. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/req_command.cpython-312.pyc +0 -0
  44. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/spinners.cpython-312.pyc +0 -0
  45. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/status_codes.cpython-312.pyc +0 -0
  46. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/autocompletion.py +0 -172
  47. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/base_command.py +0 -236
  48. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/cmdoptions.py +0 -1074
  49. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/command_context.py +0 -27
  50. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/main.py +0 -79
  51. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/main_parser.py +0 -134
  52. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/parser.py +0 -294
  53. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/progress_bars.py +0 -68
  54. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/req_command.py +0 -505
  55. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/spinners.py +0 -159
  56. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/cli/status_codes.py +0 -6
  57. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__init__.py +0 -132
  58. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/__init__.cpython-312.pyc +0 -0
  59. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/cache.cpython-312.pyc +0 -0
  60. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/check.cpython-312.pyc +0 -0
  61. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/completion.cpython-312.pyc +0 -0
  62. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/configuration.cpython-312.pyc +0 -0
  63. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/debug.cpython-312.pyc +0 -0
  64. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/download.cpython-312.pyc +0 -0
  65. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/freeze.cpython-312.pyc +0 -0
  66. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/hash.cpython-312.pyc +0 -0
  67. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/help.cpython-312.pyc +0 -0
  68. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/index.cpython-312.pyc +0 -0
  69. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/inspect.cpython-312.pyc +0 -0
  70. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/install.cpython-312.pyc +0 -0
  71. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/list.cpython-312.pyc +0 -0
  72. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/search.cpython-312.pyc +0 -0
  73. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/show.cpython-312.pyc +0 -0
  74. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/uninstall.cpython-312.pyc +0 -0
  75. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/wheel.cpython-312.pyc +0 -0
  76. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/cache.py +0 -225
  77. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/check.py +0 -54
  78. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/completion.py +0 -130
  79. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/configuration.py +0 -280
  80. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/debug.py +0 -201
  81. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/download.py +0 -147
  82. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/freeze.py +0 -109
  83. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/hash.py +0 -59
  84. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/help.py +0 -41
  85. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/index.py +0 -139
  86. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/inspect.py +0 -92
  87. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/install.py +0 -774
  88. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/list.py +0 -370
  89. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/search.py +0 -174
  90. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/show.py +0 -189
  91. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/uninstall.py +0 -113
  92. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/commands/wheel.py +0 -183
  93. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/configuration.py +0 -383
  94. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/distributions/__init__.py +0 -21
  95. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/__init__.cpython-312.pyc +0 -0
  96. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/base.cpython-312.pyc +0 -0
  97. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/installed.cpython-312.pyc +0 -0
  98. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/sdist.cpython-312.pyc +0 -0
  99. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/wheel.cpython-312.pyc +0 -0
  100. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/distributions/base.py +0 -51
  101. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/distributions/installed.py +0 -29
  102. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/distributions/sdist.py +0 -156
  103. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/distributions/wheel.py +0 -40
  104. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/exceptions.py +0 -728
  105. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/index/__init__.py +0 -2
  106. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/index/__pycache__/__init__.cpython-312.pyc +0 -0
  107. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/index/__pycache__/collector.cpython-312.pyc +0 -0
  108. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/index/__pycache__/package_finder.cpython-312.pyc +0 -0
  109. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/index/__pycache__/sources.cpython-312.pyc +0 -0
  110. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/index/collector.py +0 -507
  111. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/index/package_finder.py +0 -1027
  112. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/index/sources.py +0 -285
  113. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/locations/__init__.py +0 -467
  114. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/locations/__pycache__/__init__.cpython-312.pyc +0 -0
  115. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/locations/__pycache__/_distutils.cpython-312.pyc +0 -0
  116. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/locations/__pycache__/_sysconfig.cpython-312.pyc +0 -0
  117. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/locations/__pycache__/base.cpython-312.pyc +0 -0
  118. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/locations/_distutils.py +0 -172
  119. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/locations/_sysconfig.py +0 -213
  120. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/locations/base.py +0 -81
  121. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/main.py +0 -12
  122. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/metadata/__init__.py +0 -128
  123. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/metadata/__pycache__/__init__.cpython-312.pyc +0 -0
  124. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/metadata/__pycache__/_json.cpython-312.pyc +0 -0
  125. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/metadata/__pycache__/base.cpython-312.pyc +0 -0
  126. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/metadata/__pycache__/pkg_resources.cpython-312.pyc +0 -0
  127. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/metadata/_json.py +0 -84
  128. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/metadata/base.py +0 -702
  129. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__init__.py +0 -6
  130. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__pycache__/__init__.cpython-312.pyc +0 -0
  131. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__pycache__/_compat.cpython-312.pyc +0 -0
  132. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__pycache__/_dists.cpython-312.pyc +0 -0
  133. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__pycache__/_envs.cpython-312.pyc +0 -0
  134. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_compat.py +0 -55
  135. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_dists.py +0 -227
  136. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_envs.py +0 -189
  137. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/metadata/pkg_resources.py +0 -278
  138. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/__init__.py +0 -2
  139. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/__init__.cpython-312.pyc +0 -0
  140. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/candidate.cpython-312.pyc +0 -0
  141. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/direct_url.cpython-312.pyc +0 -0
  142. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/format_control.cpython-312.pyc +0 -0
  143. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/index.cpython-312.pyc +0 -0
  144. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/installation_report.cpython-312.pyc +0 -0
  145. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/link.cpython-312.pyc +0 -0
  146. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/scheme.cpython-312.pyc +0 -0
  147. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/search_scope.cpython-312.pyc +0 -0
  148. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/selection_prefs.cpython-312.pyc +0 -0
  149. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/target_python.cpython-312.pyc +0 -0
  150. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/__pycache__/wheel.cpython-312.pyc +0 -0
  151. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/candidate.py +0 -30
  152. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/direct_url.py +0 -235
  153. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/format_control.py +0 -78
  154. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/index.py +0 -28
  155. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/installation_report.py +0 -56
  156. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/link.py +0 -579
  157. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/scheme.py +0 -31
  158. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/search_scope.py +0 -132
  159. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/selection_prefs.py +0 -51
  160. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/target_python.py +0 -122
  161. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/models/wheel.py +0 -92
  162. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/network/__init__.py +0 -2
  163. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/network/__pycache__/__init__.cpython-312.pyc +0 -0
  164. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/network/__pycache__/auth.cpython-312.pyc +0 -0
  165. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/network/__pycache__/cache.cpython-312.pyc +0 -0
  166. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/network/__pycache__/download.cpython-312.pyc +0 -0
  167. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/network/__pycache__/lazy_wheel.cpython-312.pyc +0 -0
  168. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/network/__pycache__/session.cpython-312.pyc +0 -0
  169. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/network/__pycache__/utils.cpython-312.pyc +0 -0
  170. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/network/__pycache__/xmlrpc.cpython-312.pyc +0 -0
  171. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/network/auth.py +0 -561
  172. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/network/cache.py +0 -106
  173. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/network/download.py +0 -186
  174. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/network/lazy_wheel.py +0 -210
  175. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/network/session.py +0 -520
  176. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/network/utils.py +0 -96
  177. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/network/xmlrpc.py +0 -62
  178. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/__init__.py +0 -0
  179. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/__pycache__/__init__.cpython-312.pyc +0 -0
  180. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/__pycache__/check.cpython-312.pyc +0 -0
  181. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/__pycache__/freeze.cpython-312.pyc +0 -0
  182. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/__pycache__/prepare.cpython-312.pyc +0 -0
  183. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/build/__init__.py +0 -0
  184. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/__init__.cpython-312.pyc +0 -0
  185. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/build_tracker.cpython-312.pyc +0 -0
  186. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/metadata.cpython-312.pyc +0 -0
  187. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/metadata_editable.cpython-312.pyc +0 -0
  188. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/metadata_legacy.cpython-312.pyc +0 -0
  189. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/wheel.cpython-312.pyc +0 -0
  190. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/wheel_editable.cpython-312.pyc +0 -0
  191. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/wheel_legacy.cpython-312.pyc +0 -0
  192. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/build/build_tracker.py +0 -139
  193. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/build/metadata.py +0 -39
  194. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/build/metadata_editable.py +0 -41
  195. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/build/metadata_legacy.py +0 -74
  196. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/build/wheel.py +0 -37
  197. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/build/wheel_editable.py +0 -46
  198. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/build/wheel_legacy.py +0 -102
  199. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/check.py +0 -187
  200. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/freeze.py +0 -255
  201. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/install/__init__.py +0 -2
  202. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/install/__pycache__/__init__.cpython-312.pyc +0 -0
  203. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/install/__pycache__/editable_legacy.cpython-312.pyc +0 -0
  204. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/install/__pycache__/wheel.cpython-312.pyc +0 -0
  205. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/install/editable_legacy.py +0 -46
  206. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/install/wheel.py +0 -734
  207. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/operations/prepare.py +0 -730
  208. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/pyproject.py +0 -179
  209. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/req/__init__.py +0 -92
  210. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/req/__pycache__/__init__.cpython-312.pyc +0 -0
  211. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/req/__pycache__/constructors.cpython-312.pyc +0 -0
  212. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/req/__pycache__/req_file.cpython-312.pyc +0 -0
  213. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/req/__pycache__/req_install.cpython-312.pyc +0 -0
  214. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/req/__pycache__/req_set.cpython-312.pyc +0 -0
  215. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/req/__pycache__/req_uninstall.cpython-312.pyc +0 -0
  216. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/req/constructors.py +0 -576
  217. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/req/req_file.py +0 -554
  218. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/req/req_install.py +0 -923
  219. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/req/req_set.py +0 -119
  220. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/req/req_uninstall.py +0 -649
  221. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/__init__.py +0 -0
  222. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/__pycache__/__init__.cpython-312.pyc +0 -0
  223. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/__pycache__/base.cpython-312.pyc +0 -0
  224. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/base.py +0 -20
  225. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/legacy/__init__.py +0 -0
  226. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/legacy/__pycache__/__init__.cpython-312.pyc +0 -0
  227. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/legacy/__pycache__/resolver.cpython-312.pyc +0 -0
  228. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/legacy/resolver.py +0 -598
  229. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__init__.py +0 -0
  230. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/__init__.cpython-312.pyc +0 -0
  231. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/base.cpython-312.pyc +0 -0
  232. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/candidates.cpython-312.pyc +0 -0
  233. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/factory.cpython-312.pyc +0 -0
  234. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/found_candidates.cpython-312.pyc +0 -0
  235. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/provider.cpython-312.pyc +0 -0
  236. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/reporter.cpython-312.pyc +0 -0
  237. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/requirements.cpython-312.pyc +0 -0
  238. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/resolver.cpython-312.pyc +0 -0
  239. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/base.py +0 -141
  240. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py +0 -597
  241. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py +0 -812
  242. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py +0 -155
  243. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/provider.py +0 -255
  244. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/reporter.py +0 -80
  245. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/requirements.py +0 -166
  246. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/resolver.py +0 -317
  247. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/self_outdated_check.py +0 -248
  248. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__init__.py +0 -0
  249. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  250. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/_jaraco_text.cpython-312.pyc +0 -0
  251. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/_log.cpython-312.pyc +0 -0
  252. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/appdirs.cpython-312.pyc +0 -0
  253. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/compat.cpython-312.pyc +0 -0
  254. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/compatibility_tags.cpython-312.pyc +0 -0
  255. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/datetime.cpython-312.pyc +0 -0
  256. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/deprecation.cpython-312.pyc +0 -0
  257. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/direct_url_helpers.cpython-312.pyc +0 -0
  258. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/egg_link.cpython-312.pyc +0 -0
  259. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/encoding.cpython-312.pyc +0 -0
  260. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/entrypoints.cpython-312.pyc +0 -0
  261. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/filesystem.cpython-312.pyc +0 -0
  262. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/filetypes.cpython-312.pyc +0 -0
  263. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/glibc.cpython-312.pyc +0 -0
  264. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/hashes.cpython-312.pyc +0 -0
  265. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/logging.cpython-312.pyc +0 -0
  266. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/misc.cpython-312.pyc +0 -0
  267. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/models.cpython-312.pyc +0 -0
  268. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/packaging.cpython-312.pyc +0 -0
  269. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/setuptools_build.cpython-312.pyc +0 -0
  270. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/subprocess.cpython-312.pyc +0 -0
  271. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/temp_dir.cpython-312.pyc +0 -0
  272. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/unpacking.cpython-312.pyc +0 -0
  273. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/urls.cpython-312.pyc +0 -0
  274. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/virtualenv.cpython-312.pyc +0 -0
  275. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/wheel.cpython-312.pyc +0 -0
  276. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/_jaraco_text.py +0 -109
  277. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/_log.py +0 -38
  278. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/appdirs.py +0 -52
  279. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/compat.py +0 -63
  280. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/compatibility_tags.py +0 -165
  281. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/datetime.py +0 -11
  282. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/deprecation.py +0 -120
  283. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/direct_url_helpers.py +0 -87
  284. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/egg_link.py +0 -80
  285. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/encoding.py +0 -36
  286. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/entrypoints.py +0 -84
  287. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/filesystem.py +0 -153
  288. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/filetypes.py +0 -27
  289. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/glibc.py +0 -88
  290. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/hashes.py +0 -151
  291. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/logging.py +0 -348
  292. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/misc.py +0 -783
  293. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/models.py +0 -39
  294. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/packaging.py +0 -57
  295. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/setuptools_build.py +0 -146
  296. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/subprocess.py +0 -260
  297. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/temp_dir.py +0 -296
  298. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/unpacking.py +0 -257
  299. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/urls.py +0 -62
  300. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/virtualenv.py +0 -104
  301. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/utils/wheel.py +0 -134
  302. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/vcs/__init__.py +0 -15
  303. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/__init__.cpython-312.pyc +0 -0
  304. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/bazaar.cpython-312.pyc +0 -0
  305. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/git.cpython-312.pyc +0 -0
  306. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/mercurial.cpython-312.pyc +0 -0
  307. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/subversion.cpython-312.pyc +0 -0
  308. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/versioncontrol.cpython-312.pyc +0 -0
  309. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/vcs/bazaar.py +0 -112
  310. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/vcs/git.py +0 -526
  311. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/vcs/mercurial.py +0 -163
  312. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/vcs/subversion.py +0 -324
  313. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/vcs/versioncontrol.py +0 -705
  314. package/livro-final/venv/lib/python3.12/site-packages/pip/_internal/wheel_builder.py +0 -354
  315. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/__init__.py +0 -121
  316. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/__pycache__/__init__.cpython-312.pyc +0 -0
  317. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/__pycache__/six.cpython-312.pyc +0 -0
  318. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/__pycache__/typing_extensions.cpython-312.pyc +0 -0
  319. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__init__.py +0 -28
  320. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/__init__.cpython-312.pyc +0 -0
  321. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/_cmd.cpython-312.pyc +0 -0
  322. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/adapter.cpython-312.pyc +0 -0
  323. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/cache.cpython-312.pyc +0 -0
  324. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/controller.cpython-312.pyc +0 -0
  325. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/filewrapper.cpython-312.pyc +0 -0
  326. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/heuristics.cpython-312.pyc +0 -0
  327. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/serialize.cpython-312.pyc +0 -0
  328. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/wrapper.cpython-312.pyc +0 -0
  329. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/_cmd.py +0 -70
  330. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/adapter.py +0 -161
  331. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/cache.py +0 -74
  332. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/__init__.py +0 -8
  333. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/__init__.cpython-312.pyc +0 -0
  334. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/file_cache.cpython-312.pyc +0 -0
  335. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/redis_cache.cpython-312.pyc +0 -0
  336. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py +0 -181
  337. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py +0 -48
  338. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/controller.py +0 -494
  339. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/filewrapper.py +0 -119
  340. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/heuristics.py +0 -154
  341. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/serialize.py +0 -206
  342. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/cachecontrol/wrapper.py +0 -43
  343. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/certifi/__init__.py +0 -4
  344. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/certifi/__main__.py +0 -12
  345. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/certifi/__pycache__/__init__.cpython-312.pyc +0 -0
  346. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/certifi/__pycache__/__main__.cpython-312.pyc +0 -0
  347. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/certifi/__pycache__/core.cpython-312.pyc +0 -0
  348. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/certifi/cacert.pem +0 -4635
  349. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/certifi/core.py +0 -119
  350. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__init__.py +0 -115
  351. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/__init__.cpython-312.pyc +0 -0
  352. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/big5freq.cpython-312.pyc +0 -0
  353. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/big5prober.cpython-312.pyc +0 -0
  354. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/chardistribution.cpython-312.pyc +0 -0
  355. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/charsetgroupprober.cpython-312.pyc +0 -0
  356. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/charsetprober.cpython-312.pyc +0 -0
  357. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/codingstatemachine.cpython-312.pyc +0 -0
  358. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/codingstatemachinedict.cpython-312.pyc +0 -0
  359. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/cp949prober.cpython-312.pyc +0 -0
  360. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/enums.cpython-312.pyc +0 -0
  361. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/escprober.cpython-312.pyc +0 -0
  362. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/escsm.cpython-312.pyc +0 -0
  363. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/eucjpprober.cpython-312.pyc +0 -0
  364. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/euckrfreq.cpython-312.pyc +0 -0
  365. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/euckrprober.cpython-312.pyc +0 -0
  366. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/euctwfreq.cpython-312.pyc +0 -0
  367. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/euctwprober.cpython-312.pyc +0 -0
  368. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/gb2312freq.cpython-312.pyc +0 -0
  369. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/gb2312prober.cpython-312.pyc +0 -0
  370. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/hebrewprober.cpython-312.pyc +0 -0
  371. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/jisfreq.cpython-312.pyc +0 -0
  372. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/johabfreq.cpython-312.pyc +0 -0
  373. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/johabprober.cpython-312.pyc +0 -0
  374. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/jpcntx.cpython-312.pyc +0 -0
  375. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/langbulgarianmodel.cpython-312.pyc +0 -0
  376. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/langgreekmodel.cpython-312.pyc +0 -0
  377. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/langhebrewmodel.cpython-312.pyc +0 -0
  378. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/langhungarianmodel.cpython-312.pyc +0 -0
  379. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/langrussianmodel.cpython-312.pyc +0 -0
  380. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/langthaimodel.cpython-312.pyc +0 -0
  381. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/langturkishmodel.cpython-312.pyc +0 -0
  382. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/latin1prober.cpython-312.pyc +0 -0
  383. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/macromanprober.cpython-312.pyc +0 -0
  384. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/mbcharsetprober.cpython-312.pyc +0 -0
  385. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/mbcsgroupprober.cpython-312.pyc +0 -0
  386. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/mbcssm.cpython-312.pyc +0 -0
  387. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/resultdict.cpython-312.pyc +0 -0
  388. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/sbcharsetprober.cpython-312.pyc +0 -0
  389. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/sbcsgroupprober.cpython-312.pyc +0 -0
  390. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/sjisprober.cpython-312.pyc +0 -0
  391. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/universaldetector.cpython-312.pyc +0 -0
  392. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/utf1632prober.cpython-312.pyc +0 -0
  393. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/utf8prober.cpython-312.pyc +0 -0
  394. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/__pycache__/version.cpython-312.pyc +0 -0
  395. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/big5freq.py +0 -386
  396. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/big5prober.py +0 -47
  397. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/chardistribution.py +0 -261
  398. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/charsetgroupprober.py +0 -106
  399. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/charsetprober.py +0 -147
  400. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/cli/__init__.py +0 -0
  401. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/cli/__pycache__/__init__.cpython-312.pyc +0 -0
  402. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/cli/__pycache__/chardetect.cpython-312.pyc +0 -0
  403. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/cli/chardetect.py +0 -112
  404. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/codingstatemachine.py +0 -90
  405. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/codingstatemachinedict.py +0 -19
  406. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/cp949prober.py +0 -49
  407. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/enums.py +0 -85
  408. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/escprober.py +0 -102
  409. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/escsm.py +0 -261
  410. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/eucjpprober.py +0 -102
  411. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/euckrfreq.py +0 -196
  412. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/euckrprober.py +0 -47
  413. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/euctwfreq.py +0 -388
  414. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/euctwprober.py +0 -47
  415. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/gb2312freq.py +0 -284
  416. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/gb2312prober.py +0 -47
  417. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/hebrewprober.py +0 -316
  418. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/jisfreq.py +0 -325
  419. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/johabfreq.py +0 -2382
  420. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/johabprober.py +0 -47
  421. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/jpcntx.py +0 -238
  422. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/langbulgarianmodel.py +0 -4649
  423. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/langgreekmodel.py +0 -4397
  424. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/langhebrewmodel.py +0 -4380
  425. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/langhungarianmodel.py +0 -4649
  426. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/langrussianmodel.py +0 -5725
  427. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/langthaimodel.py +0 -4380
  428. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/langturkishmodel.py +0 -4380
  429. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/latin1prober.py +0 -147
  430. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/macromanprober.py +0 -162
  431. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/mbcharsetprober.py +0 -95
  432. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/mbcsgroupprober.py +0 -57
  433. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/mbcssm.py +0 -661
  434. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/metadata/__init__.py +0 -0
  435. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/metadata/__pycache__/__init__.cpython-312.pyc +0 -0
  436. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/metadata/__pycache__/languages.cpython-312.pyc +0 -0
  437. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/metadata/languages.py +0 -352
  438. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/resultdict.py +0 -16
  439. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/sbcharsetprober.py +0 -162
  440. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/sbcsgroupprober.py +0 -88
  441. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/sjisprober.py +0 -105
  442. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/universaldetector.py +0 -362
  443. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/utf1632prober.py +0 -225
  444. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/utf8prober.py +0 -82
  445. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/chardet/version.py +0 -9
  446. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/__init__.py +0 -7
  447. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/__pycache__/__init__.cpython-312.pyc +0 -0
  448. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/__pycache__/ansi.cpython-312.pyc +0 -0
  449. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/__pycache__/ansitowin32.cpython-312.pyc +0 -0
  450. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/__pycache__/initialise.cpython-312.pyc +0 -0
  451. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/__pycache__/win32.cpython-312.pyc +0 -0
  452. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/__pycache__/winterm.cpython-312.pyc +0 -0
  453. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/ansi.py +0 -102
  454. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/ansitowin32.py +0 -277
  455. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/initialise.py +0 -121
  456. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/tests/__init__.py +0 -1
  457. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/tests/__pycache__/__init__.cpython-312.pyc +0 -0
  458. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/tests/__pycache__/ansi_test.cpython-312.pyc +0 -0
  459. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/tests/__pycache__/ansitowin32_test.cpython-312.pyc +0 -0
  460. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/tests/__pycache__/initialise_test.cpython-312.pyc +0 -0
  461. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/tests/__pycache__/isatty_test.cpython-312.pyc +0 -0
  462. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/tests/__pycache__/utils.cpython-312.pyc +0 -0
  463. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/tests/__pycache__/winterm_test.cpython-312.pyc +0 -0
  464. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/tests/ansi_test.py +0 -76
  465. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/tests/ansitowin32_test.py +0 -294
  466. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/tests/initialise_test.py +0 -189
  467. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/tests/isatty_test.py +0 -57
  468. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/tests/utils.py +0 -49
  469. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/tests/winterm_test.py +0 -131
  470. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/win32.py +0 -180
  471. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/colorama/winterm.py +0 -195
  472. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/__init__.py +0 -33
  473. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/__init__.cpython-312.pyc +0 -0
  474. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/compat.cpython-312.pyc +0 -0
  475. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/database.cpython-312.pyc +0 -0
  476. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/index.cpython-312.pyc +0 -0
  477. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/locators.cpython-312.pyc +0 -0
  478. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/manifest.cpython-312.pyc +0 -0
  479. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/markers.cpython-312.pyc +0 -0
  480. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/metadata.cpython-312.pyc +0 -0
  481. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/resources.cpython-312.pyc +0 -0
  482. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/scripts.cpython-312.pyc +0 -0
  483. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/util.cpython-312.pyc +0 -0
  484. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/version.cpython-312.pyc +0 -0
  485. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/wheel.cpython-312.pyc +0 -0
  486. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/compat.py +0 -1138
  487. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/database.py +0 -1359
  488. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/index.py +0 -508
  489. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/locators.py +0 -1303
  490. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/manifest.py +0 -384
  491. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/markers.py +0 -167
  492. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/metadata.py +0 -1068
  493. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/resources.py +0 -358
  494. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/scripts.py +0 -452
  495. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/util.py +0 -2025
  496. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/version.py +0 -751
  497. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distlib/wheel.py +0 -1099
  498. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distro/__init__.py +0 -54
  499. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distro/__main__.py +0 -4
  500. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distro/__pycache__/__init__.cpython-312.pyc +0 -0
  501. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distro/__pycache__/__main__.cpython-312.pyc +0 -0
  502. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distro/__pycache__/distro.cpython-312.pyc +0 -0
  503. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/distro/distro.py +0 -1399
  504. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/idna/__init__.py +0 -44
  505. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/__init__.cpython-312.pyc +0 -0
  506. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/codec.cpython-312.pyc +0 -0
  507. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/compat.cpython-312.pyc +0 -0
  508. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/core.cpython-312.pyc +0 -0
  509. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/idnadata.cpython-312.pyc +0 -0
  510. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/intranges.cpython-312.pyc +0 -0
  511. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/package_data.cpython-312.pyc +0 -0
  512. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/uts46data.cpython-312.pyc +0 -0
  513. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/idna/codec.py +0 -112
  514. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/idna/compat.py +0 -13
  515. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/idna/core.py +0 -400
  516. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/idna/idnadata.py +0 -4246
  517. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/idna/intranges.py +0 -54
  518. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/idna/package_data.py +0 -2
  519. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/idna/uts46data.py +0 -8600
  520. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/msgpack/__init__.py +0 -57
  521. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/msgpack/__pycache__/__init__.cpython-312.pyc +0 -0
  522. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/msgpack/__pycache__/exceptions.cpython-312.pyc +0 -0
  523. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/msgpack/__pycache__/ext.cpython-312.pyc +0 -0
  524. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/msgpack/__pycache__/fallback.cpython-312.pyc +0 -0
  525. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/msgpack/exceptions.py +0 -48
  526. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/msgpack/ext.py +0 -193
  527. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/msgpack/fallback.py +0 -1010
  528. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/__about__.py +0 -26
  529. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/__init__.py +0 -25
  530. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/__about__.cpython-312.pyc +0 -0
  531. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/__init__.cpython-312.pyc +0 -0
  532. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_manylinux.cpython-312.pyc +0 -0
  533. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_musllinux.cpython-312.pyc +0 -0
  534. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_structures.cpython-312.pyc +0 -0
  535. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/markers.cpython-312.pyc +0 -0
  536. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/requirements.cpython-312.pyc +0 -0
  537. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/specifiers.cpython-312.pyc +0 -0
  538. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/tags.cpython-312.pyc +0 -0
  539. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/utils.cpython-312.pyc +0 -0
  540. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/version.cpython-312.pyc +0 -0
  541. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/_manylinux.py +0 -301
  542. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/_musllinux.py +0 -136
  543. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/_structures.py +0 -61
  544. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/markers.py +0 -304
  545. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/requirements.py +0 -146
  546. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/specifiers.py +0 -802
  547. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/tags.py +0 -487
  548. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/utils.py +0 -136
  549. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/packaging/version.py +0 -504
  550. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pkg_resources/__init__.py +0 -3361
  551. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pkg_resources/__pycache__/__init__.cpython-312.pyc +0 -0
  552. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__init__.py +0 -566
  553. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__main__.py +0 -53
  554. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/__init__.cpython-312.pyc +0 -0
  555. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/__main__.cpython-312.pyc +0 -0
  556. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/android.cpython-312.pyc +0 -0
  557. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/api.cpython-312.pyc +0 -0
  558. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/macos.cpython-312.pyc +0 -0
  559. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/unix.cpython-312.pyc +0 -0
  560. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/version.cpython-312.pyc +0 -0
  561. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/windows.cpython-312.pyc +0 -0
  562. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/android.py +0 -210
  563. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/api.py +0 -223
  564. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/macos.py +0 -91
  565. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/unix.py +0 -223
  566. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/version.py +0 -4
  567. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/windows.py +0 -255
  568. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/__init__.py +0 -82
  569. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/__main__.py +0 -17
  570. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/__init__.cpython-312.pyc +0 -0
  571. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/__main__.cpython-312.pyc +0 -0
  572. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/cmdline.cpython-312.pyc +0 -0
  573. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/console.cpython-312.pyc +0 -0
  574. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/filter.cpython-312.pyc +0 -0
  575. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/formatter.cpython-312.pyc +0 -0
  576. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/lexer.cpython-312.pyc +0 -0
  577. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/modeline.cpython-312.pyc +0 -0
  578. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/plugin.cpython-312.pyc +0 -0
  579. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/regexopt.cpython-312.pyc +0 -0
  580. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/scanner.cpython-312.pyc +0 -0
  581. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/sphinxext.cpython-312.pyc +0 -0
  582. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/style.cpython-312.pyc +0 -0
  583. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/token.cpython-312.pyc +0 -0
  584. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/unistring.cpython-312.pyc +0 -0
  585. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/util.cpython-312.pyc +0 -0
  586. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/cmdline.py +0 -668
  587. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/console.py +0 -70
  588. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/filter.py +0 -71
  589. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/filters/__init__.py +0 -940
  590. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/filters/__pycache__/__init__.cpython-312.pyc +0 -0
  591. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatter.py +0 -124
  592. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__init__.py +0 -158
  593. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/__init__.cpython-312.pyc +0 -0
  594. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/_mapping.cpython-312.pyc +0 -0
  595. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/bbcode.cpython-312.pyc +0 -0
  596. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/groff.cpython-312.pyc +0 -0
  597. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/html.cpython-312.pyc +0 -0
  598. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/img.cpython-312.pyc +0 -0
  599. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/irc.cpython-312.pyc +0 -0
  600. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/latex.cpython-312.pyc +0 -0
  601. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/other.cpython-312.pyc +0 -0
  602. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/pangomarkup.cpython-312.pyc +0 -0
  603. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/rtf.cpython-312.pyc +0 -0
  604. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/svg.cpython-312.pyc +0 -0
  605. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/terminal.cpython-312.pyc +0 -0
  606. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/terminal256.cpython-312.pyc +0 -0
  607. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/_mapping.py +0 -23
  608. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/bbcode.py +0 -108
  609. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/groff.py +0 -170
  610. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/html.py +0 -989
  611. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/img.py +0 -645
  612. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/irc.py +0 -154
  613. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/latex.py +0 -521
  614. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/other.py +0 -161
  615. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/pangomarkup.py +0 -83
  616. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/rtf.py +0 -146
  617. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/svg.py +0 -188
  618. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/terminal.py +0 -127
  619. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/terminal256.py +0 -338
  620. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/lexer.py +0 -943
  621. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/__init__.py +0 -362
  622. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/__pycache__/__init__.cpython-312.pyc +0 -0
  623. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/__pycache__/_mapping.cpython-312.pyc +0 -0
  624. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/__pycache__/python.cpython-312.pyc +0 -0
  625. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/_mapping.py +0 -559
  626. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/python.py +0 -1198
  627. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/modeline.py +0 -43
  628. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/plugin.py +0 -88
  629. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/regexopt.py +0 -91
  630. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/scanner.py +0 -104
  631. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/sphinxext.py +0 -217
  632. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/style.py +0 -197
  633. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/styles/__init__.py +0 -103
  634. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/styles/__pycache__/__init__.cpython-312.pyc +0 -0
  635. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/token.py +0 -213
  636. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/unistring.py +0 -153
  637. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pygments/util.py +0 -330
  638. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/__init__.py +0 -322
  639. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/__pycache__/__init__.cpython-312.pyc +0 -0
  640. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/__pycache__/actions.cpython-312.pyc +0 -0
  641. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/__pycache__/common.cpython-312.pyc +0 -0
  642. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/__pycache__/core.cpython-312.pyc +0 -0
  643. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/__pycache__/exceptions.cpython-312.pyc +0 -0
  644. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/__pycache__/helpers.cpython-312.pyc +0 -0
  645. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/__pycache__/results.cpython-312.pyc +0 -0
  646. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/__pycache__/testing.cpython-312.pyc +0 -0
  647. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/__pycache__/unicode.cpython-312.pyc +0 -0
  648. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/__pycache__/util.cpython-312.pyc +0 -0
  649. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/actions.py +0 -217
  650. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/common.py +0 -432
  651. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/core.py +0 -6115
  652. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/diagram/__init__.py +0 -656
  653. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/diagram/__pycache__/__init__.cpython-312.pyc +0 -0
  654. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/exceptions.py +0 -299
  655. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/helpers.py +0 -1100
  656. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/results.py +0 -796
  657. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/testing.py +0 -331
  658. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/unicode.py +0 -361
  659. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyparsing/util.py +0 -284
  660. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/__init__.py +0 -23
  661. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/__pycache__/__init__.cpython-312.pyc +0 -0
  662. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/__pycache__/_compat.cpython-312.pyc +0 -0
  663. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/__pycache__/_impl.cpython-312.pyc +0 -0
  664. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_compat.py +0 -8
  665. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_impl.py +0 -330
  666. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/__init__.py +0 -18
  667. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/__pycache__/__init__.cpython-312.pyc +0 -0
  668. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/__pycache__/_in_process.cpython-312.pyc +0 -0
  669. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py +0 -353
  670. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__init__.py +0 -182
  671. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/__init__.cpython-312.pyc +0 -0
  672. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/__version__.cpython-312.pyc +0 -0
  673. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/_internal_utils.cpython-312.pyc +0 -0
  674. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/adapters.cpython-312.pyc +0 -0
  675. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/api.cpython-312.pyc +0 -0
  676. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/auth.cpython-312.pyc +0 -0
  677. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/certs.cpython-312.pyc +0 -0
  678. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/compat.cpython-312.pyc +0 -0
  679. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/cookies.cpython-312.pyc +0 -0
  680. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/exceptions.cpython-312.pyc +0 -0
  681. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/help.cpython-312.pyc +0 -0
  682. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/hooks.cpython-312.pyc +0 -0
  683. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/models.cpython-312.pyc +0 -0
  684. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/packages.cpython-312.pyc +0 -0
  685. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/sessions.cpython-312.pyc +0 -0
  686. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/status_codes.cpython-312.pyc +0 -0
  687. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/structures.cpython-312.pyc +0 -0
  688. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/utils.cpython-312.pyc +0 -0
  689. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/__version__.py +0 -14
  690. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/_internal_utils.py +0 -50
  691. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/adapters.py +0 -538
  692. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/api.py +0 -157
  693. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/auth.py +0 -315
  694. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/certs.py +0 -24
  695. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/compat.py +0 -67
  696. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/cookies.py +0 -561
  697. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/exceptions.py +0 -141
  698. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/help.py +0 -131
  699. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/hooks.py +0 -33
  700. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/models.py +0 -1034
  701. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/packages.py +0 -16
  702. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/sessions.py +0 -833
  703. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/status_codes.py +0 -128
  704. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/structures.py +0 -99
  705. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/requests/utils.py +0 -1088
  706. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/__init__.py +0 -26
  707. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/__pycache__/__init__.cpython-312.pyc +0 -0
  708. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/__pycache__/providers.cpython-312.pyc +0 -0
  709. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/__pycache__/reporters.cpython-312.pyc +0 -0
  710. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/__pycache__/resolvers.cpython-312.pyc +0 -0
  711. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/__pycache__/structs.cpython-312.pyc +0 -0
  712. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/compat/__init__.py +0 -0
  713. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/compat/__pycache__/__init__.cpython-312.pyc +0 -0
  714. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/compat/__pycache__/collections_abc.cpython-312.pyc +0 -0
  715. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/compat/collections_abc.py +0 -6
  716. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/providers.py +0 -133
  717. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/reporters.py +0 -43
  718. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers.py +0 -547
  719. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/structs.py +0 -170
  720. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__init__.py +0 -177
  721. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__main__.py +0 -274
  722. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/__init__.cpython-312.pyc +0 -0
  723. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/__main__.cpython-312.pyc +0 -0
  724. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_cell_widths.cpython-312.pyc +0 -0
  725. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_emoji_codes.cpython-312.pyc +0 -0
  726. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_emoji_replace.cpython-312.pyc +0 -0
  727. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_export_format.cpython-312.pyc +0 -0
  728. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_extension.cpython-312.pyc +0 -0
  729. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_fileno.cpython-312.pyc +0 -0
  730. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_inspect.cpython-312.pyc +0 -0
  731. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_log_render.cpython-312.pyc +0 -0
  732. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_loop.cpython-312.pyc +0 -0
  733. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_null_file.cpython-312.pyc +0 -0
  734. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_palettes.cpython-312.pyc +0 -0
  735. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_pick.cpython-312.pyc +0 -0
  736. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_ratio.cpython-312.pyc +0 -0
  737. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_spinners.cpython-312.pyc +0 -0
  738. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_stack.cpython-312.pyc +0 -0
  739. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_timer.cpython-312.pyc +0 -0
  740. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_win32_console.cpython-312.pyc +0 -0
  741. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_windows.cpython-312.pyc +0 -0
  742. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_windows_renderer.cpython-312.pyc +0 -0
  743. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_wrap.cpython-312.pyc +0 -0
  744. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/abc.cpython-312.pyc +0 -0
  745. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/align.cpython-312.pyc +0 -0
  746. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/ansi.cpython-312.pyc +0 -0
  747. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/bar.cpython-312.pyc +0 -0
  748. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/box.cpython-312.pyc +0 -0
  749. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/cells.cpython-312.pyc +0 -0
  750. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/color.cpython-312.pyc +0 -0
  751. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/color_triplet.cpython-312.pyc +0 -0
  752. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/columns.cpython-312.pyc +0 -0
  753. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/console.cpython-312.pyc +0 -0
  754. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/constrain.cpython-312.pyc +0 -0
  755. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/containers.cpython-312.pyc +0 -0
  756. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/control.cpython-312.pyc +0 -0
  757. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/default_styles.cpython-312.pyc +0 -0
  758. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/diagnose.cpython-312.pyc +0 -0
  759. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/emoji.cpython-312.pyc +0 -0
  760. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/errors.cpython-312.pyc +0 -0
  761. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/file_proxy.cpython-312.pyc +0 -0
  762. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/filesize.cpython-312.pyc +0 -0
  763. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/highlighter.cpython-312.pyc +0 -0
  764. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/json.cpython-312.pyc +0 -0
  765. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/jupyter.cpython-312.pyc +0 -0
  766. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/layout.cpython-312.pyc +0 -0
  767. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/live.cpython-312.pyc +0 -0
  768. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/live_render.cpython-312.pyc +0 -0
  769. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/logging.cpython-312.pyc +0 -0
  770. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/markup.cpython-312.pyc +0 -0
  771. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/measure.cpython-312.pyc +0 -0
  772. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/padding.cpython-312.pyc +0 -0
  773. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/pager.cpython-312.pyc +0 -0
  774. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/palette.cpython-312.pyc +0 -0
  775. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/panel.cpython-312.pyc +0 -0
  776. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/pretty.cpython-312.pyc +0 -0
  777. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/progress.cpython-312.pyc +0 -0
  778. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/progress_bar.cpython-312.pyc +0 -0
  779. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/prompt.cpython-312.pyc +0 -0
  780. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/protocol.cpython-312.pyc +0 -0
  781. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/region.cpython-312.pyc +0 -0
  782. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/repr.cpython-312.pyc +0 -0
  783. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/rule.cpython-312.pyc +0 -0
  784. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/scope.cpython-312.pyc +0 -0
  785. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/screen.cpython-312.pyc +0 -0
  786. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/segment.cpython-312.pyc +0 -0
  787. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/spinner.cpython-312.pyc +0 -0
  788. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/status.cpython-312.pyc +0 -0
  789. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/style.cpython-312.pyc +0 -0
  790. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/styled.cpython-312.pyc +0 -0
  791. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/syntax.cpython-312.pyc +0 -0
  792. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/table.cpython-312.pyc +0 -0
  793. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/terminal_theme.cpython-312.pyc +0 -0
  794. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/text.cpython-312.pyc +0 -0
  795. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/theme.cpython-312.pyc +0 -0
  796. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/themes.cpython-312.pyc +0 -0
  797. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/traceback.cpython-312.pyc +0 -0
  798. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/tree.cpython-312.pyc +0 -0
  799. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_cell_widths.py +0 -451
  800. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_emoji_codes.py +0 -3610
  801. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_emoji_replace.py +0 -32
  802. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_export_format.py +0 -76
  803. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_extension.py +0 -10
  804. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_fileno.py +0 -24
  805. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_inspect.py +0 -270
  806. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_log_render.py +0 -94
  807. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_loop.py +0 -43
  808. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_null_file.py +0 -69
  809. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_palettes.py +0 -309
  810. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_pick.py +0 -17
  811. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_ratio.py +0 -160
  812. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_spinners.py +0 -482
  813. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_stack.py +0 -16
  814. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_timer.py +0 -19
  815. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_win32_console.py +0 -662
  816. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_windows.py +0 -72
  817. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_windows_renderer.py +0 -56
  818. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/_wrap.py +0 -56
  819. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/abc.py +0 -33
  820. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/align.py +0 -311
  821. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/ansi.py +0 -240
  822. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/bar.py +0 -94
  823. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/box.py +0 -517
  824. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/cells.py +0 -154
  825. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/color.py +0 -622
  826. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/color_triplet.py +0 -38
  827. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/columns.py +0 -187
  828. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/console.py +0 -2633
  829. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/constrain.py +0 -37
  830. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/containers.py +0 -167
  831. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/control.py +0 -225
  832. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/default_styles.py +0 -190
  833. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/diagnose.py +0 -37
  834. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/emoji.py +0 -96
  835. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/errors.py +0 -34
  836. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/file_proxy.py +0 -57
  837. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/filesize.py +0 -89
  838. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/highlighter.py +0 -232
  839. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/json.py +0 -140
  840. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/jupyter.py +0 -101
  841. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/layout.py +0 -443
  842. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/live.py +0 -375
  843. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/live_render.py +0 -113
  844. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/logging.py +0 -289
  845. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/markup.py +0 -246
  846. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/measure.py +0 -151
  847. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/padding.py +0 -141
  848. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/pager.py +0 -34
  849. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/palette.py +0 -100
  850. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/panel.py +0 -308
  851. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/pretty.py +0 -994
  852. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/progress.py +0 -1702
  853. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/progress_bar.py +0 -224
  854. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/prompt.py +0 -376
  855. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/protocol.py +0 -42
  856. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/region.py +0 -10
  857. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/repr.py +0 -149
  858. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/rule.py +0 -130
  859. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/scope.py +0 -86
  860. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/screen.py +0 -54
  861. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/segment.py +0 -739
  862. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/spinner.py +0 -137
  863. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/status.py +0 -132
  864. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/style.py +0 -796
  865. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/styled.py +0 -42
  866. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/syntax.py +0 -948
  867. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/table.py +0 -1002
  868. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/terminal_theme.py +0 -153
  869. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/text.py +0 -1307
  870. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/theme.py +0 -115
  871. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/themes.py +0 -5
  872. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/traceback.py +0 -756
  873. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/rich/tree.py +0 -251
  874. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/six.py +0 -998
  875. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/__init__.py +0 -608
  876. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/__pycache__/__init__.cpython-312.pyc +0 -0
  877. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/__pycache__/_asyncio.cpython-312.pyc +0 -0
  878. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/__pycache__/_utils.cpython-312.pyc +0 -0
  879. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/__pycache__/after.cpython-312.pyc +0 -0
  880. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/__pycache__/before.cpython-312.pyc +0 -0
  881. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/__pycache__/before_sleep.cpython-312.pyc +0 -0
  882. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/__pycache__/nap.cpython-312.pyc +0 -0
  883. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/__pycache__/retry.cpython-312.pyc +0 -0
  884. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/__pycache__/stop.cpython-312.pyc +0 -0
  885. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/__pycache__/tornadoweb.cpython-312.pyc +0 -0
  886. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/__pycache__/wait.cpython-312.pyc +0 -0
  887. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/_asyncio.py +0 -94
  888. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/_utils.py +0 -76
  889. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/after.py +0 -51
  890. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/before.py +0 -46
  891. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/before_sleep.py +0 -71
  892. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/nap.py +0 -43
  893. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/retry.py +0 -272
  894. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/stop.py +0 -103
  895. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/tornadoweb.py +0 -59
  896. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tenacity/wait.py +0 -228
  897. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tomli/__init__.py +0 -11
  898. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tomli/__pycache__/__init__.cpython-312.pyc +0 -0
  899. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tomli/__pycache__/_parser.cpython-312.pyc +0 -0
  900. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tomli/__pycache__/_re.cpython-312.pyc +0 -0
  901. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tomli/__pycache__/_types.cpython-312.pyc +0 -0
  902. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tomli/_parser.py +0 -691
  903. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tomli/_re.py +0 -107
  904. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/tomli/_types.py +0 -10
  905. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/truststore/__init__.py +0 -13
  906. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/__init__.cpython-312.pyc +0 -0
  907. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_api.cpython-312.pyc +0 -0
  908. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_macos.cpython-312.pyc +0 -0
  909. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_openssl.cpython-312.pyc +0 -0
  910. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_ssl_constants.cpython-312.pyc +0 -0
  911. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_windows.cpython-312.pyc +0 -0
  912. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/truststore/_api.py +0 -302
  913. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/truststore/_macos.py +0 -501
  914. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/truststore/_openssl.py +0 -66
  915. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/truststore/_ssl_constants.py +0 -31
  916. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/truststore/_windows.py +0 -554
  917. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/typing_extensions.py +0 -3072
  918. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__init__.py +0 -102
  919. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/__init__.cpython-312.pyc +0 -0
  920. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/_collections.cpython-312.pyc +0 -0
  921. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/_version.cpython-312.pyc +0 -0
  922. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/connection.cpython-312.pyc +0 -0
  923. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/connectionpool.cpython-312.pyc +0 -0
  924. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/exceptions.cpython-312.pyc +0 -0
  925. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/fields.cpython-312.pyc +0 -0
  926. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/filepost.cpython-312.pyc +0 -0
  927. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/poolmanager.cpython-312.pyc +0 -0
  928. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/request.cpython-312.pyc +0 -0
  929. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/response.cpython-312.pyc +0 -0
  930. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/_collections.py +0 -355
  931. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/_version.py +0 -2
  932. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/connection.py +0 -572
  933. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/connectionpool.py +0 -1137
  934. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__init__.py +0 -0
  935. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/__init__.cpython-312.pyc +0 -0
  936. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/_appengine_environ.cpython-312.pyc +0 -0
  937. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/appengine.cpython-312.pyc +0 -0
  938. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/ntlmpool.cpython-312.pyc +0 -0
  939. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/pyopenssl.cpython-312.pyc +0 -0
  940. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/securetransport.cpython-312.pyc +0 -0
  941. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/socks.cpython-312.pyc +0 -0
  942. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py +0 -36
  943. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +0 -0
  944. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-312.pyc +0 -0
  945. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-312.pyc +0 -0
  946. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-312.pyc +0 -0
  947. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +0 -519
  948. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +0 -397
  949. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/appengine.py +0 -314
  950. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py +0 -130
  951. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +0 -518
  952. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/securetransport.py +0 -921
  953. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/socks.py +0 -216
  954. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/exceptions.py +0 -323
  955. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/fields.py +0 -274
  956. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/filepost.py +0 -98
  957. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/__init__.py +0 -0
  958. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/__pycache__/__init__.cpython-312.pyc +0 -0
  959. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/__pycache__/six.cpython-312.pyc +0 -0
  960. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
  961. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/__init__.cpython-312.pyc +0 -0
  962. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/makefile.cpython-312.pyc +0 -0
  963. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/weakref_finalize.cpython-312.pyc +0 -0
  964. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py +0 -51
  965. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/backports/weakref_finalize.py +0 -155
  966. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/six.py +0 -1076
  967. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/poolmanager.py +0 -556
  968. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/request.py +0 -191
  969. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/response.py +0 -879
  970. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__init__.py +0 -49
  971. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/__init__.cpython-312.pyc +0 -0
  972. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/connection.cpython-312.pyc +0 -0
  973. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/proxy.cpython-312.pyc +0 -0
  974. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/queue.cpython-312.pyc +0 -0
  975. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/request.cpython-312.pyc +0 -0
  976. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/response.cpython-312.pyc +0 -0
  977. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/retry.cpython-312.pyc +0 -0
  978. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_.cpython-312.pyc +0 -0
  979. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_match_hostname.cpython-312.pyc +0 -0
  980. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/ssltransport.cpython-312.pyc +0 -0
  981. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/timeout.cpython-312.pyc +0 -0
  982. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/url.cpython-312.pyc +0 -0
  983. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/wait.cpython-312.pyc +0 -0
  984. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/connection.py +0 -149
  985. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/proxy.py +0 -57
  986. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/queue.py +0 -22
  987. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/request.py +0 -137
  988. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/response.py +0 -107
  989. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/retry.py +0 -622
  990. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/ssl_.py +0 -495
  991. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/ssl_match_hostname.py +0 -159
  992. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/ssltransport.py +0 -221
  993. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/timeout.py +0 -271
  994. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/url.py +0 -435
  995. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/util/wait.py +0 -152
  996. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/vendor.txt +0 -24
  997. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/webencodings/__init__.py +0 -342
  998. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/webencodings/__pycache__/__init__.cpython-312.pyc +0 -0
  999. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/webencodings/__pycache__/labels.cpython-312.pyc +0 -0
  1000. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/webencodings/__pycache__/mklabels.cpython-312.pyc +0 -0
  1001. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/webencodings/__pycache__/tests.cpython-312.pyc +0 -0
  1002. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/webencodings/__pycache__/x_user_defined.cpython-312.pyc +0 -0
  1003. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/webencodings/labels.py +0 -231
  1004. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/webencodings/mklabels.py +0 -59
  1005. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/webencodings/tests.py +0 -153
  1006. package/livro-final/venv/lib/python3.12/site-packages/pip/_vendor/webencodings/x_user_defined.py +0 -325
  1007. package/livro-final/venv/lib/python3.12/site-packages/pip/py.typed +0 -4
  1008. package/livro-final/venv/lib/python3.12/site-packages/pip-24.0.dist-info/AUTHORS.txt +0 -760
  1009. package/livro-final/venv/lib/python3.12/site-packages/pip-24.0.dist-info/INSTALLER +0 -1
  1010. package/livro-final/venv/lib/python3.12/site-packages/pip-24.0.dist-info/LICENSE.txt +0 -20
  1011. package/livro-final/venv/lib/python3.12/site-packages/pip-24.0.dist-info/METADATA +0 -88
  1012. package/livro-final/venv/lib/python3.12/site-packages/pip-24.0.dist-info/RECORD +0 -1005
  1013. package/livro-final/venv/lib/python3.12/site-packages/pip-24.0.dist-info/REQUESTED +0 -0
  1014. package/livro-final/venv/lib/python3.12/site-packages/pip-24.0.dist-info/WHEEL +0 -5
  1015. package/livro-final/venv/lib/python3.12/site-packages/pip-24.0.dist-info/entry_points.txt +0 -4
  1016. package/livro-final/venv/lib/python3.12/site-packages/pip-24.0.dist-info/top_level.txt +0 -1
  1017. package/livro-final/venv/pyvenv.cfg +0 -5
  1018. package/teste-injecao/main.tex +0 -62
  1019. package/teste-injecao/memory/memory.json +0 -22
  1020. package/teste-injecao/memory/schema.md +0 -18
@@ -1,1359 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- #
3
- # Copyright (C) 2012-2023 The Python Software Foundation.
4
- # See LICENSE.txt and CONTRIBUTORS.txt.
5
- #
6
- """PEP 376 implementation."""
7
-
8
- from __future__ import unicode_literals
9
-
10
- import base64
11
- import codecs
12
- import contextlib
13
- import hashlib
14
- import logging
15
- import os
16
- import posixpath
17
- import sys
18
- import zipimport
19
-
20
- from . import DistlibException, resources
21
- from .compat import StringIO
22
- from .version import get_scheme, UnsupportedVersionError
23
- from .metadata import (Metadata, METADATA_FILENAME, WHEEL_METADATA_FILENAME,
24
- LEGACY_METADATA_FILENAME)
25
- from .util import (parse_requirement, cached_property, parse_name_and_version,
26
- read_exports, write_exports, CSVReader, CSVWriter)
27
-
28
- __all__ = [
29
- 'Distribution', 'BaseInstalledDistribution', 'InstalledDistribution',
30
- 'EggInfoDistribution', 'DistributionPath'
31
- ]
32
-
33
- logger = logging.getLogger(__name__)
34
-
35
- EXPORTS_FILENAME = 'pydist-exports.json'
36
- COMMANDS_FILENAME = 'pydist-commands.json'
37
-
38
- DIST_FILES = ('INSTALLER', METADATA_FILENAME, 'RECORD', 'REQUESTED',
39
- 'RESOURCES', EXPORTS_FILENAME, 'SHARED')
40
-
41
- DISTINFO_EXT = '.dist-info'
42
-
43
-
44
- class _Cache(object):
45
- """
46
- A simple cache mapping names and .dist-info paths to distributions
47
- """
48
-
49
- def __init__(self):
50
- """
51
- Initialise an instance. There is normally one for each DistributionPath.
52
- """
53
- self.name = {}
54
- self.path = {}
55
- self.generated = False
56
-
57
- def clear(self):
58
- """
59
- Clear the cache, setting it to its initial state.
60
- """
61
- self.name.clear()
62
- self.path.clear()
63
- self.generated = False
64
-
65
- def add(self, dist):
66
- """
67
- Add a distribution to the cache.
68
- :param dist: The distribution to add.
69
- """
70
- if dist.path not in self.path:
71
- self.path[dist.path] = dist
72
- self.name.setdefault(dist.key, []).append(dist)
73
-
74
-
75
- class DistributionPath(object):
76
- """
77
- Represents a set of distributions installed on a path (typically sys.path).
78
- """
79
-
80
- def __init__(self, path=None, include_egg=False):
81
- """
82
- Create an instance from a path, optionally including legacy (distutils/
83
- setuptools/distribute) distributions.
84
- :param path: The path to use, as a list of directories. If not specified,
85
- sys.path is used.
86
- :param include_egg: If True, this instance will look for and return legacy
87
- distributions as well as those based on PEP 376.
88
- """
89
- if path is None:
90
- path = sys.path
91
- self.path = path
92
- self._include_dist = True
93
- self._include_egg = include_egg
94
-
95
- self._cache = _Cache()
96
- self._cache_egg = _Cache()
97
- self._cache_enabled = True
98
- self._scheme = get_scheme('default')
99
-
100
- def _get_cache_enabled(self):
101
- return self._cache_enabled
102
-
103
- def _set_cache_enabled(self, value):
104
- self._cache_enabled = value
105
-
106
- cache_enabled = property(_get_cache_enabled, _set_cache_enabled)
107
-
108
- def clear_cache(self):
109
- """
110
- Clears the internal cache.
111
- """
112
- self._cache.clear()
113
- self._cache_egg.clear()
114
-
115
- def _yield_distributions(self):
116
- """
117
- Yield .dist-info and/or .egg(-info) distributions.
118
- """
119
- # We need to check if we've seen some resources already, because on
120
- # some Linux systems (e.g. some Debian/Ubuntu variants) there are
121
- # symlinks which alias other files in the environment.
122
- seen = set()
123
- for path in self.path:
124
- finder = resources.finder_for_path(path)
125
- if finder is None:
126
- continue
127
- r = finder.find('')
128
- if not r or not r.is_container:
129
- continue
130
- rset = sorted(r.resources)
131
- for entry in rset:
132
- r = finder.find(entry)
133
- if not r or r.path in seen:
134
- continue
135
- try:
136
- if self._include_dist and entry.endswith(DISTINFO_EXT):
137
- possible_filenames = [
138
- METADATA_FILENAME, WHEEL_METADATA_FILENAME,
139
- LEGACY_METADATA_FILENAME
140
- ]
141
- for metadata_filename in possible_filenames:
142
- metadata_path = posixpath.join(
143
- entry, metadata_filename)
144
- pydist = finder.find(metadata_path)
145
- if pydist:
146
- break
147
- else:
148
- continue
149
-
150
- with contextlib.closing(pydist.as_stream()) as stream:
151
- metadata = Metadata(fileobj=stream,
152
- scheme='legacy')
153
- logger.debug('Found %s', r.path)
154
- seen.add(r.path)
155
- yield new_dist_class(r.path,
156
- metadata=metadata,
157
- env=self)
158
- elif self._include_egg and entry.endswith(
159
- ('.egg-info', '.egg')):
160
- logger.debug('Found %s', r.path)
161
- seen.add(r.path)
162
- yield old_dist_class(r.path, self)
163
- except Exception as e:
164
- msg = 'Unable to read distribution at %s, perhaps due to bad metadata: %s'
165
- logger.warning(msg, r.path, e)
166
- import warnings
167
- warnings.warn(msg % (r.path, e), stacklevel=2)
168
-
169
- def _generate_cache(self):
170
- """
171
- Scan the path for distributions and populate the cache with
172
- those that are found.
173
- """
174
- gen_dist = not self._cache.generated
175
- gen_egg = self._include_egg and not self._cache_egg.generated
176
- if gen_dist or gen_egg:
177
- for dist in self._yield_distributions():
178
- if isinstance(dist, InstalledDistribution):
179
- self._cache.add(dist)
180
- else:
181
- self._cache_egg.add(dist)
182
-
183
- if gen_dist:
184
- self._cache.generated = True
185
- if gen_egg:
186
- self._cache_egg.generated = True
187
-
188
- @classmethod
189
- def distinfo_dirname(cls, name, version):
190
- """
191
- The *name* and *version* parameters are converted into their
192
- filename-escaped form, i.e. any ``'-'`` characters are replaced
193
- with ``'_'`` other than the one in ``'dist-info'`` and the one
194
- separating the name from the version number.
195
-
196
- :parameter name: is converted to a standard distribution name by replacing
197
- any runs of non- alphanumeric characters with a single
198
- ``'-'``.
199
- :type name: string
200
- :parameter version: is converted to a standard version string. Spaces
201
- become dots, and all other non-alphanumeric characters
202
- (except dots) become dashes, with runs of multiple
203
- dashes condensed to a single dash.
204
- :type version: string
205
- :returns: directory name
206
- :rtype: string"""
207
- name = name.replace('-', '_')
208
- return '-'.join([name, version]) + DISTINFO_EXT
209
-
210
- def get_distributions(self):
211
- """
212
- Provides an iterator that looks for distributions and returns
213
- :class:`InstalledDistribution` or
214
- :class:`EggInfoDistribution` instances for each one of them.
215
-
216
- :rtype: iterator of :class:`InstalledDistribution` and
217
- :class:`EggInfoDistribution` instances
218
- """
219
- if not self._cache_enabled:
220
- for dist in self._yield_distributions():
221
- yield dist
222
- else:
223
- self._generate_cache()
224
-
225
- for dist in self._cache.path.values():
226
- yield dist
227
-
228
- if self._include_egg:
229
- for dist in self._cache_egg.path.values():
230
- yield dist
231
-
232
- def get_distribution(self, name):
233
- """
234
- Looks for a named distribution on the path.
235
-
236
- This function only returns the first result found, as no more than one
237
- value is expected. If nothing is found, ``None`` is returned.
238
-
239
- :rtype: :class:`InstalledDistribution`, :class:`EggInfoDistribution`
240
- or ``None``
241
- """
242
- result = None
243
- name = name.lower()
244
- if not self._cache_enabled:
245
- for dist in self._yield_distributions():
246
- if dist.key == name:
247
- result = dist
248
- break
249
- else:
250
- self._generate_cache()
251
-
252
- if name in self._cache.name:
253
- result = self._cache.name[name][0]
254
- elif self._include_egg and name in self._cache_egg.name:
255
- result = self._cache_egg.name[name][0]
256
- return result
257
-
258
- def provides_distribution(self, name, version=None):
259
- """
260
- Iterates over all distributions to find which distributions provide *name*.
261
- If a *version* is provided, it will be used to filter the results.
262
-
263
- This function only returns the first result found, since no more than
264
- one values are expected. If the directory is not found, returns ``None``.
265
-
266
- :parameter version: a version specifier that indicates the version
267
- required, conforming to the format in ``PEP-345``
268
-
269
- :type name: string
270
- :type version: string
271
- """
272
- matcher = None
273
- if version is not None:
274
- try:
275
- matcher = self._scheme.matcher('%s (%s)' % (name, version))
276
- except ValueError:
277
- raise DistlibException('invalid name or version: %r, %r' %
278
- (name, version))
279
-
280
- for dist in self.get_distributions():
281
- # We hit a problem on Travis where enum34 was installed and doesn't
282
- # have a provides attribute ...
283
- if not hasattr(dist, 'provides'):
284
- logger.debug('No "provides": %s', dist)
285
- else:
286
- provided = dist.provides
287
-
288
- for p in provided:
289
- p_name, p_ver = parse_name_and_version(p)
290
- if matcher is None:
291
- if p_name == name:
292
- yield dist
293
- break
294
- else:
295
- if p_name == name and matcher.match(p_ver):
296
- yield dist
297
- break
298
-
299
- def get_file_path(self, name, relative_path):
300
- """
301
- Return the path to a resource file.
302
- """
303
- dist = self.get_distribution(name)
304
- if dist is None:
305
- raise LookupError('no distribution named %r found' % name)
306
- return dist.get_resource_path(relative_path)
307
-
308
- def get_exported_entries(self, category, name=None):
309
- """
310
- Return all of the exported entries in a particular category.
311
-
312
- :param category: The category to search for entries.
313
- :param name: If specified, only entries with that name are returned.
314
- """
315
- for dist in self.get_distributions():
316
- r = dist.exports
317
- if category in r:
318
- d = r[category]
319
- if name is not None:
320
- if name in d:
321
- yield d[name]
322
- else:
323
- for v in d.values():
324
- yield v
325
-
326
-
327
- class Distribution(object):
328
- """
329
- A base class for distributions, whether installed or from indexes.
330
- Either way, it must have some metadata, so that's all that's needed
331
- for construction.
332
- """
333
-
334
- build_time_dependency = False
335
- """
336
- Set to True if it's known to be only a build-time dependency (i.e.
337
- not needed after installation).
338
- """
339
-
340
- requested = False
341
- """A boolean that indicates whether the ``REQUESTED`` metadata file is
342
- present (in other words, whether the package was installed by user
343
- request or it was installed as a dependency)."""
344
-
345
- def __init__(self, metadata):
346
- """
347
- Initialise an instance.
348
- :param metadata: The instance of :class:`Metadata` describing this
349
- distribution.
350
- """
351
- self.metadata = metadata
352
- self.name = metadata.name
353
- self.key = self.name.lower() # for case-insensitive comparisons
354
- self.version = metadata.version
355
- self.locator = None
356
- self.digest = None
357
- self.extras = None # additional features requested
358
- self.context = None # environment marker overrides
359
- self.download_urls = set()
360
- self.digests = {}
361
-
362
- @property
363
- def source_url(self):
364
- """
365
- The source archive download URL for this distribution.
366
- """
367
- return self.metadata.source_url
368
-
369
- download_url = source_url # Backward compatibility
370
-
371
- @property
372
- def name_and_version(self):
373
- """
374
- A utility property which displays the name and version in parentheses.
375
- """
376
- return '%s (%s)' % (self.name, self.version)
377
-
378
- @property
379
- def provides(self):
380
- """
381
- A set of distribution names and versions provided by this distribution.
382
- :return: A set of "name (version)" strings.
383
- """
384
- plist = self.metadata.provides
385
- s = '%s (%s)' % (self.name, self.version)
386
- if s not in plist:
387
- plist.append(s)
388
- return plist
389
-
390
- def _get_requirements(self, req_attr):
391
- md = self.metadata
392
- reqts = getattr(md, req_attr)
393
- logger.debug('%s: got requirements %r from metadata: %r', self.name,
394
- req_attr, reqts)
395
- return set(
396
- md.get_requirements(reqts, extras=self.extras, env=self.context))
397
-
398
- @property
399
- def run_requires(self):
400
- return self._get_requirements('run_requires')
401
-
402
- @property
403
- def meta_requires(self):
404
- return self._get_requirements('meta_requires')
405
-
406
- @property
407
- def build_requires(self):
408
- return self._get_requirements('build_requires')
409
-
410
- @property
411
- def test_requires(self):
412
- return self._get_requirements('test_requires')
413
-
414
- @property
415
- def dev_requires(self):
416
- return self._get_requirements('dev_requires')
417
-
418
- def matches_requirement(self, req):
419
- """
420
- Say if this instance matches (fulfills) a requirement.
421
- :param req: The requirement to match.
422
- :rtype req: str
423
- :return: True if it matches, else False.
424
- """
425
- # Requirement may contain extras - parse to lose those
426
- # from what's passed to the matcher
427
- r = parse_requirement(req)
428
- scheme = get_scheme(self.metadata.scheme)
429
- try:
430
- matcher = scheme.matcher(r.requirement)
431
- except UnsupportedVersionError:
432
- # XXX compat-mode if cannot read the version
433
- logger.warning('could not read version %r - using name only', req)
434
- name = req.split()[0]
435
- matcher = scheme.matcher(name)
436
-
437
- name = matcher.key # case-insensitive
438
-
439
- result = False
440
- for p in self.provides:
441
- p_name, p_ver = parse_name_and_version(p)
442
- if p_name != name:
443
- continue
444
- try:
445
- result = matcher.match(p_ver)
446
- break
447
- except UnsupportedVersionError:
448
- pass
449
- return result
450
-
451
- def __repr__(self):
452
- """
453
- Return a textual representation of this instance,
454
- """
455
- if self.source_url:
456
- suffix = ' [%s]' % self.source_url
457
- else:
458
- suffix = ''
459
- return '<Distribution %s (%s)%s>' % (self.name, self.version, suffix)
460
-
461
- def __eq__(self, other):
462
- """
463
- See if this distribution is the same as another.
464
- :param other: The distribution to compare with. To be equal to one
465
- another. distributions must have the same type, name,
466
- version and source_url.
467
- :return: True if it is the same, else False.
468
- """
469
- if type(other) is not type(self):
470
- result = False
471
- else:
472
- result = (self.name == other.name and self.version == other.version
473
- and self.source_url == other.source_url)
474
- return result
475
-
476
- def __hash__(self):
477
- """
478
- Compute hash in a way which matches the equality test.
479
- """
480
- return hash(self.name) + hash(self.version) + hash(self.source_url)
481
-
482
-
483
- class BaseInstalledDistribution(Distribution):
484
- """
485
- This is the base class for installed distributions (whether PEP 376 or
486
- legacy).
487
- """
488
-
489
- hasher = None
490
-
491
- def __init__(self, metadata, path, env=None):
492
- """
493
- Initialise an instance.
494
- :param metadata: An instance of :class:`Metadata` which describes the
495
- distribution. This will normally have been initialised
496
- from a metadata file in the ``path``.
497
- :param path: The path of the ``.dist-info`` or ``.egg-info``
498
- directory for the distribution.
499
- :param env: This is normally the :class:`DistributionPath`
500
- instance where this distribution was found.
501
- """
502
- super(BaseInstalledDistribution, self).__init__(metadata)
503
- self.path = path
504
- self.dist_path = env
505
-
506
- def get_hash(self, data, hasher=None):
507
- """
508
- Get the hash of some data, using a particular hash algorithm, if
509
- specified.
510
-
511
- :param data: The data to be hashed.
512
- :type data: bytes
513
- :param hasher: The name of a hash implementation, supported by hashlib,
514
- or ``None``. Examples of valid values are ``'sha1'``,
515
- ``'sha224'``, ``'sha384'``, '``sha256'``, ``'md5'`` and
516
- ``'sha512'``. If no hasher is specified, the ``hasher``
517
- attribute of the :class:`InstalledDistribution` instance
518
- is used. If the hasher is determined to be ``None``, MD5
519
- is used as the hashing algorithm.
520
- :returns: The hash of the data. If a hasher was explicitly specified,
521
- the returned hash will be prefixed with the specified hasher
522
- followed by '='.
523
- :rtype: str
524
- """
525
- if hasher is None:
526
- hasher = self.hasher
527
- if hasher is None:
528
- hasher = hashlib.md5
529
- prefix = ''
530
- else:
531
- hasher = getattr(hashlib, hasher)
532
- prefix = '%s=' % self.hasher
533
- digest = hasher(data).digest()
534
- digest = base64.urlsafe_b64encode(digest).rstrip(b'=').decode('ascii')
535
- return '%s%s' % (prefix, digest)
536
-
537
-
538
- class InstalledDistribution(BaseInstalledDistribution):
539
- """
540
- Created with the *path* of the ``.dist-info`` directory provided to the
541
- constructor. It reads the metadata contained in ``pydist.json`` when it is
542
- instantiated., or uses a passed in Metadata instance (useful for when
543
- dry-run mode is being used).
544
- """
545
-
546
- hasher = 'sha256'
547
-
548
- def __init__(self, path, metadata=None, env=None):
549
- self.modules = []
550
- self.finder = finder = resources.finder_for_path(path)
551
- if finder is None:
552
- raise ValueError('finder unavailable for %s' % path)
553
- if env and env._cache_enabled and path in env._cache.path:
554
- metadata = env._cache.path[path].metadata
555
- elif metadata is None:
556
- r = finder.find(METADATA_FILENAME)
557
- # Temporary - for Wheel 0.23 support
558
- if r is None:
559
- r = finder.find(WHEEL_METADATA_FILENAME)
560
- # Temporary - for legacy support
561
- if r is None:
562
- r = finder.find(LEGACY_METADATA_FILENAME)
563
- if r is None:
564
- raise ValueError('no %s found in %s' %
565
- (METADATA_FILENAME, path))
566
- with contextlib.closing(r.as_stream()) as stream:
567
- metadata = Metadata(fileobj=stream, scheme='legacy')
568
-
569
- super(InstalledDistribution, self).__init__(metadata, path, env)
570
-
571
- if env and env._cache_enabled:
572
- env._cache.add(self)
573
-
574
- r = finder.find('REQUESTED')
575
- self.requested = r is not None
576
- p = os.path.join(path, 'top_level.txt')
577
- if os.path.exists(p):
578
- with open(p, 'rb') as f:
579
- data = f.read().decode('utf-8')
580
- self.modules = data.splitlines()
581
-
582
- def __repr__(self):
583
- return '<InstalledDistribution %r %s at %r>' % (
584
- self.name, self.version, self.path)
585
-
586
- def __str__(self):
587
- return "%s %s" % (self.name, self.version)
588
-
589
- def _get_records(self):
590
- """
591
- Get the list of installed files for the distribution
592
- :return: A list of tuples of path, hash and size. Note that hash and
593
- size might be ``None`` for some entries. The path is exactly
594
- as stored in the file (which is as in PEP 376).
595
- """
596
- results = []
597
- r = self.get_distinfo_resource('RECORD')
598
- with contextlib.closing(r.as_stream()) as stream:
599
- with CSVReader(stream=stream) as record_reader:
600
- # Base location is parent dir of .dist-info dir
601
- # base_location = os.path.dirname(self.path)
602
- # base_location = os.path.abspath(base_location)
603
- for row in record_reader:
604
- missing = [None for i in range(len(row), 3)]
605
- path, checksum, size = row + missing
606
- # if not os.path.isabs(path):
607
- # path = path.replace('/', os.sep)
608
- # path = os.path.join(base_location, path)
609
- results.append((path, checksum, size))
610
- return results
611
-
612
- @cached_property
613
- def exports(self):
614
- """
615
- Return the information exported by this distribution.
616
- :return: A dictionary of exports, mapping an export category to a dict
617
- of :class:`ExportEntry` instances describing the individual
618
- export entries, and keyed by name.
619
- """
620
- result = {}
621
- r = self.get_distinfo_resource(EXPORTS_FILENAME)
622
- if r:
623
- result = self.read_exports()
624
- return result
625
-
626
- def read_exports(self):
627
- """
628
- Read exports data from a file in .ini format.
629
-
630
- :return: A dictionary of exports, mapping an export category to a list
631
- of :class:`ExportEntry` instances describing the individual
632
- export entries.
633
- """
634
- result = {}
635
- r = self.get_distinfo_resource(EXPORTS_FILENAME)
636
- if r:
637
- with contextlib.closing(r.as_stream()) as stream:
638
- result = read_exports(stream)
639
- return result
640
-
641
- def write_exports(self, exports):
642
- """
643
- Write a dictionary of exports to a file in .ini format.
644
- :param exports: A dictionary of exports, mapping an export category to
645
- a list of :class:`ExportEntry` instances describing the
646
- individual export entries.
647
- """
648
- rf = self.get_distinfo_file(EXPORTS_FILENAME)
649
- with open(rf, 'w') as f:
650
- write_exports(exports, f)
651
-
652
- def get_resource_path(self, relative_path):
653
- """
654
- NOTE: This API may change in the future.
655
-
656
- Return the absolute path to a resource file with the given relative
657
- path.
658
-
659
- :param relative_path: The path, relative to .dist-info, of the resource
660
- of interest.
661
- :return: The absolute path where the resource is to be found.
662
- """
663
- r = self.get_distinfo_resource('RESOURCES')
664
- with contextlib.closing(r.as_stream()) as stream:
665
- with CSVReader(stream=stream) as resources_reader:
666
- for relative, destination in resources_reader:
667
- if relative == relative_path:
668
- return destination
669
- raise KeyError('no resource file with relative path %r '
670
- 'is installed' % relative_path)
671
-
672
- def list_installed_files(self):
673
- """
674
- Iterates over the ``RECORD`` entries and returns a tuple
675
- ``(path, hash, size)`` for each line.
676
-
677
- :returns: iterator of (path, hash, size)
678
- """
679
- for result in self._get_records():
680
- yield result
681
-
682
- def write_installed_files(self, paths, prefix, dry_run=False):
683
- """
684
- Writes the ``RECORD`` file, using the ``paths`` iterable passed in. Any
685
- existing ``RECORD`` file is silently overwritten.
686
-
687
- prefix is used to determine when to write absolute paths.
688
- """
689
- prefix = os.path.join(prefix, '')
690
- base = os.path.dirname(self.path)
691
- base_under_prefix = base.startswith(prefix)
692
- base = os.path.join(base, '')
693
- record_path = self.get_distinfo_file('RECORD')
694
- logger.info('creating %s', record_path)
695
- if dry_run:
696
- return None
697
- with CSVWriter(record_path) as writer:
698
- for path in paths:
699
- if os.path.isdir(path) or path.endswith(('.pyc', '.pyo')):
700
- # do not put size and hash, as in PEP-376
701
- hash_value = size = ''
702
- else:
703
- size = '%d' % os.path.getsize(path)
704
- with open(path, 'rb') as fp:
705
- hash_value = self.get_hash(fp.read())
706
- if path.startswith(base) or (base_under_prefix
707
- and path.startswith(prefix)):
708
- path = os.path.relpath(path, base)
709
- writer.writerow((path, hash_value, size))
710
-
711
- # add the RECORD file itself
712
- if record_path.startswith(base):
713
- record_path = os.path.relpath(record_path, base)
714
- writer.writerow((record_path, '', ''))
715
- return record_path
716
-
717
- def check_installed_files(self):
718
- """
719
- Checks that the hashes and sizes of the files in ``RECORD`` are
720
- matched by the files themselves. Returns a (possibly empty) list of
721
- mismatches. Each entry in the mismatch list will be a tuple consisting
722
- of the path, 'exists', 'size' or 'hash' according to what didn't match
723
- (existence is checked first, then size, then hash), the expected
724
- value and the actual value.
725
- """
726
- mismatches = []
727
- base = os.path.dirname(self.path)
728
- record_path = self.get_distinfo_file('RECORD')
729
- for path, hash_value, size in self.list_installed_files():
730
- if not os.path.isabs(path):
731
- path = os.path.join(base, path)
732
- if path == record_path:
733
- continue
734
- if not os.path.exists(path):
735
- mismatches.append((path, 'exists', True, False))
736
- elif os.path.isfile(path):
737
- actual_size = str(os.path.getsize(path))
738
- if size and actual_size != size:
739
- mismatches.append((path, 'size', size, actual_size))
740
- elif hash_value:
741
- if '=' in hash_value:
742
- hasher = hash_value.split('=', 1)[0]
743
- else:
744
- hasher = None
745
-
746
- with open(path, 'rb') as f:
747
- actual_hash = self.get_hash(f.read(), hasher)
748
- if actual_hash != hash_value:
749
- mismatches.append(
750
- (path, 'hash', hash_value, actual_hash))
751
- return mismatches
752
-
753
- @cached_property
754
- def shared_locations(self):
755
- """
756
- A dictionary of shared locations whose keys are in the set 'prefix',
757
- 'purelib', 'platlib', 'scripts', 'headers', 'data' and 'namespace'.
758
- The corresponding value is the absolute path of that category for
759
- this distribution, and takes into account any paths selected by the
760
- user at installation time (e.g. via command-line arguments). In the
761
- case of the 'namespace' key, this would be a list of absolute paths
762
- for the roots of namespace packages in this distribution.
763
-
764
- The first time this property is accessed, the relevant information is
765
- read from the SHARED file in the .dist-info directory.
766
- """
767
- result = {}
768
- shared_path = os.path.join(self.path, 'SHARED')
769
- if os.path.isfile(shared_path):
770
- with codecs.open(shared_path, 'r', encoding='utf-8') as f:
771
- lines = f.read().splitlines()
772
- for line in lines:
773
- key, value = line.split('=', 1)
774
- if key == 'namespace':
775
- result.setdefault(key, []).append(value)
776
- else:
777
- result[key] = value
778
- return result
779
-
780
- def write_shared_locations(self, paths, dry_run=False):
781
- """
782
- Write shared location information to the SHARED file in .dist-info.
783
- :param paths: A dictionary as described in the documentation for
784
- :meth:`shared_locations`.
785
- :param dry_run: If True, the action is logged but no file is actually
786
- written.
787
- :return: The path of the file written to.
788
- """
789
- shared_path = os.path.join(self.path, 'SHARED')
790
- logger.info('creating %s', shared_path)
791
- if dry_run:
792
- return None
793
- lines = []
794
- for key in ('prefix', 'lib', 'headers', 'scripts', 'data'):
795
- path = paths[key]
796
- if os.path.isdir(paths[key]):
797
- lines.append('%s=%s' % (key, path))
798
- for ns in paths.get('namespace', ()):
799
- lines.append('namespace=%s' % ns)
800
-
801
- with codecs.open(shared_path, 'w', encoding='utf-8') as f:
802
- f.write('\n'.join(lines))
803
- return shared_path
804
-
805
- def get_distinfo_resource(self, path):
806
- if path not in DIST_FILES:
807
- raise DistlibException('invalid path for a dist-info file: '
808
- '%r at %r' % (path, self.path))
809
- finder = resources.finder_for_path(self.path)
810
- if finder is None:
811
- raise DistlibException('Unable to get a finder for %s' % self.path)
812
- return finder.find(path)
813
-
814
- def get_distinfo_file(self, path):
815
- """
816
- Returns a path located under the ``.dist-info`` directory. Returns a
817
- string representing the path.
818
-
819
- :parameter path: a ``'/'``-separated path relative to the
820
- ``.dist-info`` directory or an absolute path;
821
- If *path* is an absolute path and doesn't start
822
- with the ``.dist-info`` directory path,
823
- a :class:`DistlibException` is raised
824
- :type path: str
825
- :rtype: str
826
- """
827
- # Check if it is an absolute path # XXX use relpath, add tests
828
- if path.find(os.sep) >= 0:
829
- # it's an absolute path?
830
- distinfo_dirname, path = path.split(os.sep)[-2:]
831
- if distinfo_dirname != self.path.split(os.sep)[-1]:
832
- raise DistlibException(
833
- 'dist-info file %r does not belong to the %r %s '
834
- 'distribution' % (path, self.name, self.version))
835
-
836
- # The file must be relative
837
- if path not in DIST_FILES:
838
- raise DistlibException('invalid path for a dist-info file: '
839
- '%r at %r' % (path, self.path))
840
-
841
- return os.path.join(self.path, path)
842
-
843
- def list_distinfo_files(self):
844
- """
845
- Iterates over the ``RECORD`` entries and returns paths for each line if
846
- the path is pointing to a file located in the ``.dist-info`` directory
847
- or one of its subdirectories.
848
-
849
- :returns: iterator of paths
850
- """
851
- base = os.path.dirname(self.path)
852
- for path, checksum, size in self._get_records():
853
- # XXX add separator or use real relpath algo
854
- if not os.path.isabs(path):
855
- path = os.path.join(base, path)
856
- if path.startswith(self.path):
857
- yield path
858
-
859
- def __eq__(self, other):
860
- return (isinstance(other, InstalledDistribution)
861
- and self.path == other.path)
862
-
863
- # See http://docs.python.org/reference/datamodel#object.__hash__
864
- __hash__ = object.__hash__
865
-
866
-
867
- class EggInfoDistribution(BaseInstalledDistribution):
868
- """Created with the *path* of the ``.egg-info`` directory or file provided
869
- to the constructor. It reads the metadata contained in the file itself, or
870
- if the given path happens to be a directory, the metadata is read from the
871
- file ``PKG-INFO`` under that directory."""
872
-
873
- requested = True # as we have no way of knowing, assume it was
874
- shared_locations = {}
875
-
876
- def __init__(self, path, env=None):
877
-
878
- def set_name_and_version(s, n, v):
879
- s.name = n
880
- s.key = n.lower() # for case-insensitive comparisons
881
- s.version = v
882
-
883
- self.path = path
884
- self.dist_path = env
885
- if env and env._cache_enabled and path in env._cache_egg.path:
886
- metadata = env._cache_egg.path[path].metadata
887
- set_name_and_version(self, metadata.name, metadata.version)
888
- else:
889
- metadata = self._get_metadata(path)
890
-
891
- # Need to be set before caching
892
- set_name_and_version(self, metadata.name, metadata.version)
893
-
894
- if env and env._cache_enabled:
895
- env._cache_egg.add(self)
896
- super(EggInfoDistribution, self).__init__(metadata, path, env)
897
-
898
- def _get_metadata(self, path):
899
- requires = None
900
-
901
- def parse_requires_data(data):
902
- """Create a list of dependencies from a requires.txt file.
903
-
904
- *data*: the contents of a setuptools-produced requires.txt file.
905
- """
906
- reqs = []
907
- lines = data.splitlines()
908
- for line in lines:
909
- line = line.strip()
910
- # sectioned files have bare newlines (separating sections)
911
- if not line: # pragma: no cover
912
- continue
913
- if line.startswith('['): # pragma: no cover
914
- logger.warning(
915
- 'Unexpected line: quitting requirement scan: %r', line)
916
- break
917
- r = parse_requirement(line)
918
- if not r: # pragma: no cover
919
- logger.warning('Not recognised as a requirement: %r', line)
920
- continue
921
- if r.extras: # pragma: no cover
922
- logger.warning('extra requirements in requires.txt are '
923
- 'not supported')
924
- if not r.constraints:
925
- reqs.append(r.name)
926
- else:
927
- cons = ', '.join('%s%s' % c for c in r.constraints)
928
- reqs.append('%s (%s)' % (r.name, cons))
929
- return reqs
930
-
931
- def parse_requires_path(req_path):
932
- """Create a list of dependencies from a requires.txt file.
933
-
934
- *req_path*: the path to a setuptools-produced requires.txt file.
935
- """
936
-
937
- reqs = []
938
- try:
939
- with codecs.open(req_path, 'r', 'utf-8') as fp:
940
- reqs = parse_requires_data(fp.read())
941
- except IOError:
942
- pass
943
- return reqs
944
-
945
- tl_path = tl_data = None
946
- if path.endswith('.egg'):
947
- if os.path.isdir(path):
948
- p = os.path.join(path, 'EGG-INFO')
949
- meta_path = os.path.join(p, 'PKG-INFO')
950
- metadata = Metadata(path=meta_path, scheme='legacy')
951
- req_path = os.path.join(p, 'requires.txt')
952
- tl_path = os.path.join(p, 'top_level.txt')
953
- requires = parse_requires_path(req_path)
954
- else:
955
- # FIXME handle the case where zipfile is not available
956
- zipf = zipimport.zipimporter(path)
957
- fileobj = StringIO(
958
- zipf.get_data('EGG-INFO/PKG-INFO').decode('utf8'))
959
- metadata = Metadata(fileobj=fileobj, scheme='legacy')
960
- try:
961
- data = zipf.get_data('EGG-INFO/requires.txt')
962
- tl_data = zipf.get_data('EGG-INFO/top_level.txt').decode(
963
- 'utf-8')
964
- requires = parse_requires_data(data.decode('utf-8'))
965
- except IOError:
966
- requires = None
967
- elif path.endswith('.egg-info'):
968
- if os.path.isdir(path):
969
- req_path = os.path.join(path, 'requires.txt')
970
- requires = parse_requires_path(req_path)
971
- path = os.path.join(path, 'PKG-INFO')
972
- tl_path = os.path.join(path, 'top_level.txt')
973
- metadata = Metadata(path=path, scheme='legacy')
974
- else:
975
- raise DistlibException('path must end with .egg-info or .egg, '
976
- 'got %r' % path)
977
-
978
- if requires:
979
- metadata.add_requirements(requires)
980
- # look for top-level modules in top_level.txt, if present
981
- if tl_data is None:
982
- if tl_path is not None and os.path.exists(tl_path):
983
- with open(tl_path, 'rb') as f:
984
- tl_data = f.read().decode('utf-8')
985
- if not tl_data:
986
- tl_data = []
987
- else:
988
- tl_data = tl_data.splitlines()
989
- self.modules = tl_data
990
- return metadata
991
-
992
- def __repr__(self):
993
- return '<EggInfoDistribution %r %s at %r>' % (self.name, self.version,
994
- self.path)
995
-
996
- def __str__(self):
997
- return "%s %s" % (self.name, self.version)
998
-
999
- def check_installed_files(self):
1000
- """
1001
- Checks that the hashes and sizes of the files in ``RECORD`` are
1002
- matched by the files themselves. Returns a (possibly empty) list of
1003
- mismatches. Each entry in the mismatch list will be a tuple consisting
1004
- of the path, 'exists', 'size' or 'hash' according to what didn't match
1005
- (existence is checked first, then size, then hash), the expected
1006
- value and the actual value.
1007
- """
1008
- mismatches = []
1009
- record_path = os.path.join(self.path, 'installed-files.txt')
1010
- if os.path.exists(record_path):
1011
- for path, _, _ in self.list_installed_files():
1012
- if path == record_path:
1013
- continue
1014
- if not os.path.exists(path):
1015
- mismatches.append((path, 'exists', True, False))
1016
- return mismatches
1017
-
1018
- def list_installed_files(self):
1019
- """
1020
- Iterates over the ``installed-files.txt`` entries and returns a tuple
1021
- ``(path, hash, size)`` for each line.
1022
-
1023
- :returns: a list of (path, hash, size)
1024
- """
1025
-
1026
- def _md5(path):
1027
- f = open(path, 'rb')
1028
- try:
1029
- content = f.read()
1030
- finally:
1031
- f.close()
1032
- return hashlib.md5(content).hexdigest()
1033
-
1034
- def _size(path):
1035
- return os.stat(path).st_size
1036
-
1037
- record_path = os.path.join(self.path, 'installed-files.txt')
1038
- result = []
1039
- if os.path.exists(record_path):
1040
- with codecs.open(record_path, 'r', encoding='utf-8') as f:
1041
- for line in f:
1042
- line = line.strip()
1043
- p = os.path.normpath(os.path.join(self.path, line))
1044
- # "./" is present as a marker between installed files
1045
- # and installation metadata files
1046
- if not os.path.exists(p):
1047
- logger.warning('Non-existent file: %s', p)
1048
- if p.endswith(('.pyc', '.pyo')):
1049
- continue
1050
- # otherwise fall through and fail
1051
- if not os.path.isdir(p):
1052
- result.append((p, _md5(p), _size(p)))
1053
- result.append((record_path, None, None))
1054
- return result
1055
-
1056
- def list_distinfo_files(self, absolute=False):
1057
- """
1058
- Iterates over the ``installed-files.txt`` entries and returns paths for
1059
- each line if the path is pointing to a file located in the
1060
- ``.egg-info`` directory or one of its subdirectories.
1061
-
1062
- :parameter absolute: If *absolute* is ``True``, each returned path is
1063
- transformed into a local absolute path. Otherwise the
1064
- raw value from ``installed-files.txt`` is returned.
1065
- :type absolute: boolean
1066
- :returns: iterator of paths
1067
- """
1068
- record_path = os.path.join(self.path, 'installed-files.txt')
1069
- if os.path.exists(record_path):
1070
- skip = True
1071
- with codecs.open(record_path, 'r', encoding='utf-8') as f:
1072
- for line in f:
1073
- line = line.strip()
1074
- if line == './':
1075
- skip = False
1076
- continue
1077
- if not skip:
1078
- p = os.path.normpath(os.path.join(self.path, line))
1079
- if p.startswith(self.path):
1080
- if absolute:
1081
- yield p
1082
- else:
1083
- yield line
1084
-
1085
- def __eq__(self, other):
1086
- return (isinstance(other, EggInfoDistribution)
1087
- and self.path == other.path)
1088
-
1089
- # See http://docs.python.org/reference/datamodel#object.__hash__
1090
- __hash__ = object.__hash__
1091
-
1092
-
1093
- new_dist_class = InstalledDistribution
1094
- old_dist_class = EggInfoDistribution
1095
-
1096
-
1097
- class DependencyGraph(object):
1098
- """
1099
- Represents a dependency graph between distributions.
1100
-
1101
- The dependency relationships are stored in an ``adjacency_list`` that maps
1102
- distributions to a list of ``(other, label)`` tuples where ``other``
1103
- is a distribution and the edge is labeled with ``label`` (i.e. the version
1104
- specifier, if such was provided). Also, for more efficient traversal, for
1105
- every distribution ``x``, a list of predecessors is kept in
1106
- ``reverse_list[x]``. An edge from distribution ``a`` to
1107
- distribution ``b`` means that ``a`` depends on ``b``. If any missing
1108
- dependencies are found, they are stored in ``missing``, which is a
1109
- dictionary that maps distributions to a list of requirements that were not
1110
- provided by any other distributions.
1111
- """
1112
-
1113
- def __init__(self):
1114
- self.adjacency_list = {}
1115
- self.reverse_list = {}
1116
- self.missing = {}
1117
-
1118
- def add_distribution(self, distribution):
1119
- """Add the *distribution* to the graph.
1120
-
1121
- :type distribution: :class:`distutils2.database.InstalledDistribution`
1122
- or :class:`distutils2.database.EggInfoDistribution`
1123
- """
1124
- self.adjacency_list[distribution] = []
1125
- self.reverse_list[distribution] = []
1126
- # self.missing[distribution] = []
1127
-
1128
- def add_edge(self, x, y, label=None):
1129
- """Add an edge from distribution *x* to distribution *y* with the given
1130
- *label*.
1131
-
1132
- :type x: :class:`distutils2.database.InstalledDistribution` or
1133
- :class:`distutils2.database.EggInfoDistribution`
1134
- :type y: :class:`distutils2.database.InstalledDistribution` or
1135
- :class:`distutils2.database.EggInfoDistribution`
1136
- :type label: ``str`` or ``None``
1137
- """
1138
- self.adjacency_list[x].append((y, label))
1139
- # multiple edges are allowed, so be careful
1140
- if x not in self.reverse_list[y]:
1141
- self.reverse_list[y].append(x)
1142
-
1143
- def add_missing(self, distribution, requirement):
1144
- """
1145
- Add a missing *requirement* for the given *distribution*.
1146
-
1147
- :type distribution: :class:`distutils2.database.InstalledDistribution`
1148
- or :class:`distutils2.database.EggInfoDistribution`
1149
- :type requirement: ``str``
1150
- """
1151
- logger.debug('%s missing %r', distribution, requirement)
1152
- self.missing.setdefault(distribution, []).append(requirement)
1153
-
1154
- def _repr_dist(self, dist):
1155
- return '%s %s' % (dist.name, dist.version)
1156
-
1157
- def repr_node(self, dist, level=1):
1158
- """Prints only a subgraph"""
1159
- output = [self._repr_dist(dist)]
1160
- for other, label in self.adjacency_list[dist]:
1161
- dist = self._repr_dist(other)
1162
- if label is not None:
1163
- dist = '%s [%s]' % (dist, label)
1164
- output.append(' ' * level + str(dist))
1165
- suboutput = self.repr_node(other, level + 1)
1166
- subs = suboutput.split('\n')
1167
- output.extend(subs[1:])
1168
- return '\n'.join(output)
1169
-
1170
- def to_dot(self, f, skip_disconnected=True):
1171
- """Writes a DOT output for the graph to the provided file *f*.
1172
-
1173
- If *skip_disconnected* is set to ``True``, then all distributions
1174
- that are not dependent on any other distribution are skipped.
1175
-
1176
- :type f: has to support ``file``-like operations
1177
- :type skip_disconnected: ``bool``
1178
- """
1179
- disconnected = []
1180
-
1181
- f.write("digraph dependencies {\n")
1182
- for dist, adjs in self.adjacency_list.items():
1183
- if len(adjs) == 0 and not skip_disconnected:
1184
- disconnected.append(dist)
1185
- for other, label in adjs:
1186
- if label is not None:
1187
- f.write('"%s" -> "%s" [label="%s"]\n' %
1188
- (dist.name, other.name, label))
1189
- else:
1190
- f.write('"%s" -> "%s"\n' % (dist.name, other.name))
1191
- if not skip_disconnected and len(disconnected) > 0:
1192
- f.write('subgraph disconnected {\n')
1193
- f.write('label = "Disconnected"\n')
1194
- f.write('bgcolor = red\n')
1195
-
1196
- for dist in disconnected:
1197
- f.write('"%s"' % dist.name)
1198
- f.write('\n')
1199
- f.write('}\n')
1200
- f.write('}\n')
1201
-
1202
- def topological_sort(self):
1203
- """
1204
- Perform a topological sort of the graph.
1205
- :return: A tuple, the first element of which is a topologically sorted
1206
- list of distributions, and the second element of which is a
1207
- list of distributions that cannot be sorted because they have
1208
- circular dependencies and so form a cycle.
1209
- """
1210
- result = []
1211
- # Make a shallow copy of the adjacency list
1212
- alist = {}
1213
- for k, v in self.adjacency_list.items():
1214
- alist[k] = v[:]
1215
- while True:
1216
- # See what we can remove in this run
1217
- to_remove = []
1218
- for k, v in list(alist.items())[:]:
1219
- if not v:
1220
- to_remove.append(k)
1221
- del alist[k]
1222
- if not to_remove:
1223
- # What's left in alist (if anything) is a cycle.
1224
- break
1225
- # Remove from the adjacency list of others
1226
- for k, v in alist.items():
1227
- alist[k] = [(d, r) for d, r in v if d not in to_remove]
1228
- logger.debug('Moving to result: %s',
1229
- ['%s (%s)' % (d.name, d.version) for d in to_remove])
1230
- result.extend(to_remove)
1231
- return result, list(alist.keys())
1232
-
1233
- def __repr__(self):
1234
- """Representation of the graph"""
1235
- output = []
1236
- for dist, adjs in self.adjacency_list.items():
1237
- output.append(self.repr_node(dist))
1238
- return '\n'.join(output)
1239
-
1240
-
1241
- def make_graph(dists, scheme='default'):
1242
- """Makes a dependency graph from the given distributions.
1243
-
1244
- :parameter dists: a list of distributions
1245
- :type dists: list of :class:`distutils2.database.InstalledDistribution` and
1246
- :class:`distutils2.database.EggInfoDistribution` instances
1247
- :rtype: a :class:`DependencyGraph` instance
1248
- """
1249
- scheme = get_scheme(scheme)
1250
- graph = DependencyGraph()
1251
- provided = {} # maps names to lists of (version, dist) tuples
1252
-
1253
- # first, build the graph and find out what's provided
1254
- for dist in dists:
1255
- graph.add_distribution(dist)
1256
-
1257
- for p in dist.provides:
1258
- name, version = parse_name_and_version(p)
1259
- logger.debug('Add to provided: %s, %s, %s', name, version, dist)
1260
- provided.setdefault(name, []).append((version, dist))
1261
-
1262
- # now make the edges
1263
- for dist in dists:
1264
- requires = (dist.run_requires | dist.meta_requires
1265
- | dist.build_requires | dist.dev_requires)
1266
- for req in requires:
1267
- try:
1268
- matcher = scheme.matcher(req)
1269
- except UnsupportedVersionError:
1270
- # XXX compat-mode if cannot read the version
1271
- logger.warning('could not read version %r - using name only',
1272
- req)
1273
- name = req.split()[0]
1274
- matcher = scheme.matcher(name)
1275
-
1276
- name = matcher.key # case-insensitive
1277
-
1278
- matched = False
1279
- if name in provided:
1280
- for version, provider in provided[name]:
1281
- try:
1282
- match = matcher.match(version)
1283
- except UnsupportedVersionError:
1284
- match = False
1285
-
1286
- if match:
1287
- graph.add_edge(dist, provider, req)
1288
- matched = True
1289
- break
1290
- if not matched:
1291
- graph.add_missing(dist, req)
1292
- return graph
1293
-
1294
-
1295
- def get_dependent_dists(dists, dist):
1296
- """Recursively generate a list of distributions from *dists* that are
1297
- dependent on *dist*.
1298
-
1299
- :param dists: a list of distributions
1300
- :param dist: a distribution, member of *dists* for which we are interested
1301
- """
1302
- if dist not in dists:
1303
- raise DistlibException('given distribution %r is not a member '
1304
- 'of the list' % dist.name)
1305
- graph = make_graph(dists)
1306
-
1307
- dep = [dist] # dependent distributions
1308
- todo = graph.reverse_list[dist] # list of nodes we should inspect
1309
-
1310
- while todo:
1311
- d = todo.pop()
1312
- dep.append(d)
1313
- for succ in graph.reverse_list[d]:
1314
- if succ not in dep:
1315
- todo.append(succ)
1316
-
1317
- dep.pop(0) # remove dist from dep, was there to prevent infinite loops
1318
- return dep
1319
-
1320
-
1321
- def get_required_dists(dists, dist):
1322
- """Recursively generate a list of distributions from *dists* that are
1323
- required by *dist*.
1324
-
1325
- :param dists: a list of distributions
1326
- :param dist: a distribution, member of *dists* for which we are interested
1327
- in finding the dependencies.
1328
- """
1329
- if dist not in dists:
1330
- raise DistlibException('given distribution %r is not a member '
1331
- 'of the list' % dist.name)
1332
- graph = make_graph(dists)
1333
-
1334
- req = set() # required distributions
1335
- todo = graph.adjacency_list[dist] # list of nodes we should inspect
1336
- seen = set(t[0] for t in todo) # already added to todo
1337
-
1338
- while todo:
1339
- d = todo.pop()[0]
1340
- req.add(d)
1341
- pred_list = graph.adjacency_list[d]
1342
- for pred in pred_list:
1343
- d = pred[0]
1344
- if d not in req and d not in seen:
1345
- seen.add(d)
1346
- todo.append(pred)
1347
- return req
1348
-
1349
-
1350
- def make_dist(name, version, **kwargs):
1351
- """
1352
- A convenience method for making a dist given just a name and version.
1353
- """
1354
- summary = kwargs.pop('summary', 'Placeholder for summary')
1355
- md = Metadata(**kwargs)
1356
- md.name = name
1357
- md.version = version
1358
- md.summary = summary or 'Placeholder for summary'
1359
- return Distribution(md)