JustinTX commited on
Commit
4224098
·
verified ·
1 Parent(s): 127c4ec

Add files using upload-large-folder tool

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +222 -0
  2. .venv/bin/python +3 -0
  3. .venv/bin/python3 +3 -0
  4. .venv/bin/python3.13 +3 -0
  5. .venv/bin/ty +3 -0
  6. .venv/lib/python3.13/site-packages/30fcd23745efe32ce681__mypyc.cpython-313-x86_64-linux-gnu.so +3 -0
  7. .venv/lib/python3.13/site-packages/__editable__.shinka-0.0.1.pth +3 -0
  8. .venv/lib/python3.13/site-packages/_cffi_backend.cpython-313-x86_64-linux-gnu.so +3 -0
  9. .venv/lib/python3.13/site-packages/botocore/__pycache__/__init__.cpython-313.pyc +0 -0
  10. .venv/lib/python3.13/site-packages/botocore/__pycache__/args.cpython-313.pyc +0 -0
  11. .venv/lib/python3.13/site-packages/botocore/__pycache__/auth.cpython-313.pyc +0 -0
  12. .venv/lib/python3.13/site-packages/botocore/__pycache__/awsrequest.cpython-313.pyc +0 -0
  13. .venv/lib/python3.13/site-packages/botocore/__pycache__/client.cpython-313.pyc +0 -0
  14. .venv/lib/python3.13/site-packages/botocore/__pycache__/compat.cpython-313.pyc +0 -0
  15. .venv/lib/python3.13/site-packages/botocore/__pycache__/compress.cpython-313.pyc +0 -0
  16. .venv/lib/python3.13/site-packages/botocore/__pycache__/config.cpython-313.pyc +0 -0
  17. .venv/lib/python3.13/site-packages/botocore/__pycache__/configloader.cpython-313.pyc +0 -0
  18. .venv/lib/python3.13/site-packages/botocore/__pycache__/context.cpython-313.pyc +0 -0
  19. .venv/lib/python3.13/site-packages/botocore/__pycache__/discovery.cpython-313.pyc +0 -0
  20. .venv/lib/python3.13/site-packages/botocore/__pycache__/endpoint.cpython-313.pyc +0 -0
  21. .venv/lib/python3.13/site-packages/botocore/__pycache__/endpoint_provider.cpython-313.pyc +0 -0
  22. .venv/lib/python3.13/site-packages/botocore/__pycache__/eventstream.cpython-313.pyc +0 -0
  23. .venv/lib/python3.13/site-packages/botocore/__pycache__/exceptions.cpython-313.pyc +0 -0
  24. .venv/lib/python3.13/site-packages/botocore/__pycache__/history.cpython-313.pyc +0 -0
  25. .venv/lib/python3.13/site-packages/botocore/__pycache__/hooks.cpython-313.pyc +0 -0
  26. .venv/lib/python3.13/site-packages/botocore/__pycache__/httpchecksum.cpython-313.pyc +0 -0
  27. .venv/lib/python3.13/site-packages/botocore/__pycache__/httpsession.cpython-313.pyc +0 -0
  28. .venv/lib/python3.13/site-packages/botocore/__pycache__/model.cpython-313.pyc +0 -0
  29. .venv/lib/python3.13/site-packages/botocore/__pycache__/paginate.cpython-313.pyc +0 -0
  30. .venv/lib/python3.13/site-packages/botocore/__pycache__/parsers.cpython-313.pyc +0 -0
  31. .venv/lib/python3.13/site-packages/botocore/__pycache__/plugin.cpython-313.pyc +0 -0
  32. .venv/lib/python3.13/site-packages/botocore/__pycache__/regions.cpython-313.pyc +0 -0
  33. .venv/lib/python3.13/site-packages/botocore/__pycache__/response.cpython-313.pyc +0 -0
  34. .venv/lib/python3.13/site-packages/botocore/__pycache__/serialize.cpython-313.pyc +0 -0
  35. .venv/lib/python3.13/site-packages/botocore/__pycache__/signers.cpython-313.pyc +0 -0
  36. .venv/lib/python3.13/site-packages/botocore/__pycache__/tokens.cpython-313.pyc +0 -0
  37. .venv/lib/python3.13/site-packages/botocore/__pycache__/useragent.cpython-313.pyc +0 -0
  38. .venv/lib/python3.13/site-packages/botocore/__pycache__/validate.cpython-313.pyc +0 -0
  39. .venv/lib/python3.13/site-packages/botocore/__pycache__/waiter.cpython-313.pyc +0 -0
  40. .venv/lib/python3.13/site-packages/botocore/crt/__init__.py +27 -0
  41. .venv/lib/python3.13/site-packages/botocore/crt/auth.py +629 -0
  42. .venv/lib/python3.13/site-packages/botocore/data/_retry.json +300 -0
  43. .venv/lib/python3.13/site-packages/botocore/data/accessanalyzer/2019-11-01/examples-1.json +5 -0
  44. .venv/lib/python3.13/site-packages/botocore/data/accessanalyzer/2019-11-01/paginators-1.json +70 -0
  45. .venv/lib/python3.13/site-packages/botocore/data/accessanalyzer/2019-11-01/paginators-1.sdk-extras.json +31 -0
  46. .venv/lib/python3.13/site-packages/botocore/data/acm-pca/2017-08-22/examples-1.json +5 -0
  47. .venv/lib/python3.13/site-packages/botocore/data/acm-pca/2017-08-22/paginators-1.json +22 -0
  48. .venv/lib/python3.13/site-packages/botocore/data/acm-pca/2017-08-22/waiters-2.json +64 -0
  49. .venv/lib/python3.13/site-packages/botocore/data/amp/2020-08-01/examples-1.json +5 -0
  50. .venv/lib/python3.13/site-packages/botocore/data/amp/2020-08-01/paginators-1.json +28 -0
.gitattributes CHANGED
@@ -259,3 +259,225 @@ py311/lib/python3.11/site-packages/numpy/testing/_private/__pycache__/utils.cpyt
259
  py311/lib/python3.11/site-packages/virtualenv/seed/wheels/embed/pip-25.0.1-py3-none-any.whl filter=lfs diff=lfs merge=lfs -text
260
  py311/lib/python3.11/site-packages/virtualenv/seed/wheels/embed/pip-25.3-py3-none-any.whl filter=lfs diff=lfs merge=lfs -text
261
  py311/lib/python3.11/site-packages/virtualenv/seed/wheels/embed/setuptools-75.3.2-py3-none-any.whl filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
259
  py311/lib/python3.11/site-packages/virtualenv/seed/wheels/embed/pip-25.0.1-py3-none-any.whl filter=lfs diff=lfs merge=lfs -text
260
  py311/lib/python3.11/site-packages/virtualenv/seed/wheels/embed/pip-25.3-py3-none-any.whl filter=lfs diff=lfs merge=lfs -text
261
  py311/lib/python3.11/site-packages/virtualenv/seed/wheels/embed/setuptools-75.3.2-py3-none-any.whl filter=lfs diff=lfs merge=lfs -text
262
+ py311/lib/python3.11/site-packages/scipy/linalg/_decomp_interpolative.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
263
+ py311/lib/python3.11/site-packages/scipy/linalg/_solve_toeplitz.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
264
+ py311/lib/python3.11/site-packages/scipy/linalg/_linalg_pythran.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
265
+ py311/lib/python3.11/site-packages/scipy/linalg/_decomp_lu_cython.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
266
+ py311/lib/python3.11/site-packages/scipy/linalg/_flapack.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
267
+ py311/lib/python3.11/site-packages/scipy/linalg/_cythonized_array_utils.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
268
+ py311/lib/python3.11/site-packages/scipy/linalg/_matfuncs_schur_sqrtm.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
269
+ py311/lib/python3.11/site-packages/scipy/special/__pycache__/_basic.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
270
+ py311/lib/python3.11/site-packages/scipy/sparse/__pycache__/_coo.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
271
+ py311/lib/python3.11/site-packages/scipy/sparse/csgraph/_tools.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
272
+ py311/lib/python3.11/site-packages/scipy/sparse/csgraph/_reordering.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
273
+ py311/lib/python3.11/site-packages/scipy/sparse/csgraph/_traversal.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
274
+ py311/lib/python3.11/site-packages/scipy/sparse/csgraph/_matching.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
275
+ py311/lib/python3.11/site-packages/scipy/sparse/csgraph/_shortest_path.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
276
+ py311/lib/python3.11/site-packages/scipy/sparse/csgraph/_flow.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
277
+ py311/lib/python3.11/site-packages/scipy/sparse/linalg/_propack.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
278
+ py311/lib/python3.11/site-packages/scipy/sparse/linalg/_dsolve/_superlu.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
279
+ py311/lib/python3.11/site-packages/scipy/sparse/linalg/_eigen/arpack/_arpacklib.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
280
+ py311/lib/python3.11/site-packages/scipy/ndimage/__pycache__/_morphology.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
281
+ py311/lib/python3.11/site-packages/scipy/integrate/__pycache__/_lebedev.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
282
+ py311/lib/python3.11/site-packages/scipy/optimize/_trlib/_trlib.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
283
+ py311/lib/python3.11/site-packages/scipy/optimize/__pycache__/_optimize.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
284
+ py311/lib/python3.11/site-packages/scipy/optimize/_highspy/_highs_options.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
285
+ py311/lib/python3.11/site-packages/scipy/optimize/_highspy/_core.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
286
+ py311/lib/python3.11/site-packages/scipy/stats/__pycache__/_morestats.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
287
+ py311/lib/python3.11/site-packages/scipy/stats/__pycache__/_multivariate.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
288
+ py311/lib/python3.11/site-packages/scipy/stats/__pycache__/_mstats_basic.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
289
+ py311/lib/python3.11/site-packages/scipy/stats/_rcont/rcont.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
290
+ py311/lib/python3.11/site-packages/scipy/stats/__pycache__/_distn_infrastructure.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
291
+ py311/lib/python3.11/site-packages/scipy/stats/__pycache__/_stats_py.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
292
+ py311/lib/python3.11/site-packages/scipy/stats/__pycache__/_discrete_distns.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
293
+ py311/lib/python3.11/site-packages/scipy/stats/__pycache__/_distribution_infrastructure.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
294
+ py311/lib/python3.11/site-packages/scipy/stats/__pycache__/_resampling.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
295
+ py311/lib/python3.11/site-packages/scipy/stats/__pycache__/_hypotests.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
296
+ py311/lib/python3.11/site-packages/scipy/stats/__pycache__/_continuous_distns.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
297
+ py311/lib/python3.11/site-packages/scipy/stats/__pycache__/_qmc.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
298
+ py311/lib/python3.11/site-packages/scipy/stats/_unuran/unuran_wrapper.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
299
+ py311/lib/python3.11/site-packages/scipy/io/matlab/_streams.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
300
+ py311/lib/python3.11/site-packages/scipy/io/matlab/_mio5_utils.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
301
+ py311/lib/python3.11/site-packages/scipy/io/_fast_matrix_market/_fmm_core.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
302
+ py311/lib/python3.11/site-packages/scipy/spatial/__pycache__/distance.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
303
+ py311/lib/python3.11/site-packages/scipy/spatial/transform/_rigid_transform_cy.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
304
+ py311/lib/python3.11/site-packages/scipy/spatial/transform/_rotation_cy.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
305
+ py311/lib/python3.11/site-packages/scipy/spatial/transform/__pycache__/_rotation.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
306
+ py311/lib/python3.11/site-packages/scipy/constants/__pycache__/_codata.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
307
+ py311/lib/python3.11/site-packages/scipy/fft/_pocketfft/pypocketfft.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
308
+ py311/lib/python3.11/site-packages/scipy/interpolate/__pycache__/_bsplines.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
309
+ py311/lib/python3.11/site-packages/scipy/interpolate/__pycache__/_interpolate.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
310
+ py311/lib/python3.11/site-packages/scipy/interpolate/__pycache__/_fitpack2.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
311
+ py311/lib/python3.11/site-packages/scipy/_lib/_uarray/_uarray.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
312
+ py311/lib/python3.11/site-packages/pandas/_libs/sas.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
313
+ py311/lib/python3.11/site-packages/pandas/_libs/groupby.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
314
+ py311/lib/python3.11/site-packages/pandas/_libs/hashing.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
315
+ py311/lib/python3.11/site-packages/pandas/_libs/testing.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
316
+ py311/lib/python3.11/site-packages/pandas/_libs/missing.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
317
+ py311/lib/python3.11/site-packages/pandas/_libs/parsers.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
318
+ py311/lib/python3.11/site-packages/pandas/_libs/tslib.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
319
+ py311/lib/python3.11/site-packages/pandas/_libs/reshape.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
320
+ py311/lib/python3.11/site-packages/pandas/_libs/writers.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
321
+ py311/lib/python3.11/site-packages/pandas/_libs/index.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
322
+ py311/lib/python3.11/site-packages/pandas/_libs/interval.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
323
+ py311/lib/python3.11/site-packages/pandas/_libs/lib.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
324
+ py311/lib/python3.11/site-packages/pandas/_libs/algos.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
325
+ py311/lib/python3.11/site-packages/pandas/_libs/hashtable.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
326
+ py311/lib/python3.11/site-packages/pandas/_libs/join.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
327
+ py311/lib/python3.11/site-packages/pandas/_libs/ops.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
328
+ py311/lib/python3.11/site-packages/pandas/_libs/sparse.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
329
+ py311/lib/python3.11/site-packages/pandas/_libs/internals.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
330
+ py311/lib/python3.11/site-packages/pandas/_libs/arrays.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
331
+ py311/lib/python3.11/site-packages/pandas/core/__pycache__/generic.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
332
+ py311/lib/python3.11/site-packages/pandas/core/__pycache__/indexing.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
333
+ py311/lib/python3.11/site-packages/pandas/core/__pycache__/resample.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
334
+ py311/lib/python3.11/site-packages/pandas/core/__pycache__/frame.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
335
+ py311/lib/python3.11/site-packages/pandas/core/__pycache__/series.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
336
+ py311/lib/python3.11/site-packages/pandas/core/reshape/__pycache__/merge.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
337
+ py311/lib/python3.11/site-packages/pandas/core/indexes/__pycache__/multi.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
338
+ py311/lib/python3.11/site-packages/pandas/core/strings/__pycache__/accessor.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
339
+ py311/lib/python3.11/site-packages/pandas/core/indexes/__pycache__/base.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
340
+ py311/lib/python3.11/site-packages/pandas/core/groupby/__pycache__/generic.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
341
+ py311/lib/python3.11/site-packages/pandas/core/groupby/__pycache__/groupby.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
342
+ py311/lib/python3.11/site-packages/pandas/core/window/__pycache__/rolling.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
343
+ py311/lib/python3.11/site-packages/pandas/core/internals/__pycache__/managers.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
344
+ py311/lib/python3.11/site-packages/pandas/core/internals/__pycache__/blocks.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
345
+ py311/lib/python3.11/site-packages/pandas/core/arrays/__pycache__/categorical.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
346
+ py311/lib/python3.11/site-packages/pandas/core/arrays/__pycache__/datetimelike.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
347
+ py311/lib/python3.11/site-packages/pandas/core/arrays/arrow/__pycache__/array.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
348
+ py311/lib/python3.11/site-packages/pandas/_libs/tslibs/timedeltas.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
349
+ py311/lib/python3.11/site-packages/pandas/_libs/tslibs/period.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
350
+ py311/lib/python3.11/site-packages/pandas/_libs/tslibs/parsing.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
351
+ py311/lib/python3.11/site-packages/pandas/_libs/tslibs/strptime.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
352
+ py311/lib/python3.11/site-packages/pandas/_libs/tslibs/timezones.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
353
+ py311/lib/python3.11/site-packages/pandas/_libs/tslibs/offsets.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
354
+ py311/lib/python3.11/site-packages/pandas/_libs/tslibs/nattype.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
355
+ py311/lib/python3.11/site-packages/pandas/_libs/tslibs/np_datetime.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
356
+ py311/lib/python3.11/site-packages/pandas/_libs/tslibs/dtypes.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
357
+ py311/lib/python3.11/site-packages/pandas/_libs/tslibs/vectorized.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
358
+ py311/lib/python3.11/site-packages/pandas/_libs/window/indexers.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
359
+ py311/lib/python3.11/site-packages/pandas/_libs/tslibs/timestamps.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
360
+ py311/lib/python3.11/site-packages/pandas/_libs/tslibs/fields.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
361
+ py311/lib/python3.11/site-packages/pandas/_libs/tslibs/tzconversion.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
362
+ py311/lib/python3.11/site-packages/pandas/_libs/tslibs/conversion.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
363
+ py311/lib/python3.11/site-packages/pandas/_libs/window/aggregations.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
364
+ py311/lib/python3.11/site-packages/pandas/io/__pycache__/sql.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
365
+ py311/lib/python3.11/site-packages/pandas/io/__pycache__/stata.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
366
+ py311/lib/python3.11/site-packages/pandas/io/__pycache__/pytables.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
367
+ py311/lib/python3.11/site-packages/omegaconf/grammar/gen/__pycache__/OmegaConfGrammarParser.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
368
+ py311/lib/python3.11/site-packages/jinja2/__pycache__/compiler.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
369
+ py311/lib/python3.11/site-packages/rapidfuzz/distance/metrics_cpp_avx2.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
370
+ py311/lib/python3.11/site-packages/rapidfuzz/distance/_initialize_cpp.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
371
+ py311/lib/python3.11/site-packages/rapidfuzz/distance/metrics_cpp.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
372
+ py311/lib/python3.11/site-packages/mpl_toolkits/mplot3d/__pycache__/axes3d.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
373
+ py311/lib/python3.11/site-packages/click/__pycache__/core.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
374
+ py311/lib/python3.11/site-packages/pydantic/__pycache__/types.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
375
+ py311/lib/python3.11/site-packages/pydantic/__pycache__/json_schema.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
376
+ py311/lib/python3.11/site-packages/pydantic/_internal/__pycache__/_generate_schema.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
377
+ py311/lib/python3.11/site-packages/google/_upb/_message.abi3.so filter=lfs diff=lfs merge=lfs -text
378
+ py311/lib/python3.11/site-packages/google/protobuf/__pycache__/descriptor_pb2.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
379
+ py311/lib/python3.11/site-packages/google/genai/__pycache__/types.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
380
+ py311/lib/python3.11/site-packages/google/genai/__pycache__/models.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
381
+ py311/lib/python3.11/site-packages/google/ai/generativelanguage_v1beta/services/retriever_service/__pycache__/client.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
382
+ py311/lib/python3.11/site-packages/google/ai/generativelanguage_v1beta/services/retriever_service/transports/__pycache__/rest.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
383
+ py311/lib/python3.11/site-packages/rich/__pycache__/_emoji_codes.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
384
+ py311/lib/python3.11/site-packages/rich/__pycache__/console.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
385
+ py311/lib/python3.11/site-packages/matplotlib/backends/_backend_agg.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
386
+ py311/lib/python3.11/site-packages/matplotlib/backends/_tkagg.cpython-311-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
387
+ py311/lib/python3.11/site-packages/matplotlib/__pycache__/backend_bases.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
388
+ py311/lib/python3.11/site-packages/matplotlib/__pycache__/patches.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
389
+ py311/lib/python3.11/site-packages/matplotlib/__pycache__/figure.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
390
+ py311/lib/python3.11/site-packages/matplotlib/__pycache__/cbook.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
391
+ py311/lib/python3.11/site-packages/matplotlib/__pycache__/widgets.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
392
+ py311/lib/python3.11/site-packages/matplotlib/__pycache__/ticker.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
393
+ py311/lib/python3.11/site-packages/matplotlib/__pycache__/axis.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
394
+ py311/lib/python3.11/site-packages/matplotlib/__pycache__/pyplot.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
395
+ py311/lib/python3.11/site-packages/matplotlib/__pycache__/_mathtext.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
396
+ py311/lib/python3.11/site-packages/matplotlib/__pycache__/_cm_listed.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
397
+ py311/lib/python3.11/site-packages/matplotlib/__pycache__/transforms.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
398
+ py311/lib/python3.11/site-packages/matplotlib/__pycache__/collections.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
399
+ py311/lib/python3.11/site-packages/matplotlib/__pycache__/colors.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
400
+ eval_agent/__pycache__/ev2_service_standalone.cpython-313.pyc filter=lfs diff=lfs merge=lfs -text
401
+ .venv/lib/python3.13/site-packages/_cffi_backend.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
402
+ .venv/lib/python3.13/site-packages/30fcd23745efe32ce681__mypyc.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
403
+ .venv/share/jupyter/nbextensions/pydeck/index.js.map filter=lfs diff=lfs merge=lfs -text
404
+ .venv/bin/ty filter=lfs diff=lfs merge=lfs -text
405
+ py311/lib/python3.11/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSerif-BoldItalic.ttf filter=lfs diff=lfs merge=lfs -text
406
+ py311/lib/python3.11/site-packages/matplotlib/axes/__pycache__/_base.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
407
+ py311/lib/python3.11/site-packages/matplotlib/axes/__pycache__/_axes.cpython-311.pyc filter=lfs diff=lfs merge=lfs -text
408
+ py311/lib/python3.11/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans.ttf filter=lfs diff=lfs merge=lfs -text
409
+ py311/lib/python3.11/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSerif-Bold.ttf filter=lfs diff=lfs merge=lfs -text
410
+ py311/lib/python3.11/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSansMono-BoldOblique.ttf filter=lfs diff=lfs merge=lfs -text
411
+ py311/lib/python3.11/site-packages/matplotlib/mpl-data/fonts/ttf/STIXGeneralItalic.ttf filter=lfs diff=lfs merge=lfs -text
412
+ py311/lib/python3.11/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans-BoldOblique.ttf filter=lfs diff=lfs merge=lfs -text
413
+ py311/lib/python3.11/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSerif.ttf filter=lfs diff=lfs merge=lfs -text
414
+ py311/lib/python3.11/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans-Oblique.ttf filter=lfs diff=lfs merge=lfs -text
415
+ py311/lib/python3.11/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSansMono.ttf filter=lfs diff=lfs merge=lfs -text
416
+ py311/lib/python3.11/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans-Bold.ttf filter=lfs diff=lfs merge=lfs -text
417
+ py311/lib/python3.11/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSansMono-Bold.ttf filter=lfs diff=lfs merge=lfs -text
418
+ py311/lib/python3.11/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSerif-Italic.ttf filter=lfs diff=lfs merge=lfs -text
419
+ py311/lib/python3.11/site-packages/matplotlib/mpl-data/fonts/ttf/STIXGeneralBolIta.ttf filter=lfs diff=lfs merge=lfs -text
420
+ py311/lib/python3.11/site-packages/matplotlib/mpl-data/fonts/ttf/STIXGeneral.ttf filter=lfs diff=lfs merge=lfs -text
421
+ py311/lib/python3.11/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSansMono-Oblique.ttf filter=lfs diff=lfs merge=lfs -text
422
+ py311/lib/python3.11/site-packages/matplotlib/mpl-data/fonts/ttf/STIXGeneralBol.ttf filter=lfs diff=lfs merge=lfs -text
423
+ .venv/bin/python3.13 filter=lfs diff=lfs merge=lfs -text
424
+ .venv/bin/python filter=lfs diff=lfs merge=lfs -text
425
+ .venv/bin/python3 filter=lfs diff=lfs merge=lfs -text
426
+ .venv/lib/python3.13/site-packages/pillow.libs/libharfbuzz-fe5b8f8d.so.0.61121.0 filter=lfs diff=lfs merge=lfs -text
427
+ .venv/lib/python3.13/site-packages/pillow.libs/libopenjp2-56811f71.so.2.5.3 filter=lfs diff=lfs merge=lfs -text
428
+ .venv/lib/python3.13/site-packages/pillow.libs/liblcms2-cc10e42f.so.2.0.17 filter=lfs diff=lfs merge=lfs -text
429
+ .venv/lib/python3.13/site-packages/pillow.libs/libxcb-64009ff3.so.1.1.0 filter=lfs diff=lfs merge=lfs -text
430
+ .venv/lib/python3.13/site-packages/pillow.libs/libpng16-d00bd151.so.16.49.0 filter=lfs diff=lfs merge=lfs -text
431
+ .venv/lib/python3.13/site-packages/pillow.libs/libjpeg-8a13c6e0.so.62.4.0 filter=lfs diff=lfs merge=lfs -text
432
+ .venv/lib/python3.13/site-packages/pillow.libs/libtiff-13a02c81.so.6.1.0 filter=lfs diff=lfs merge=lfs -text
433
+ .venv/lib/python3.13/site-packages/pillow.libs/liblzma-64b7ab39.so.5.8.1 filter=lfs diff=lfs merge=lfs -text
434
+ .venv/lib/python3.13/site-packages/pillow.libs/libwebp-5f0275c0.so.7.1.10 filter=lfs diff=lfs merge=lfs -text
435
+ .venv/lib/python3.13/site-packages/pillow.libs/libfreetype-083ff72c.so.6.20.2 filter=lfs diff=lfs merge=lfs -text
436
+ .venv/lib/python3.13/site-packages/pillow.libs/libbrotlicommon-c55a5f7a.so.1.1.0 filter=lfs diff=lfs merge=lfs -text
437
+ .venv/lib/python3.13/site-packages/pillow.libs/libavif-01e67780.so.16.3.0 filter=lfs diff=lfs merge=lfs -text
438
+ .venv/lib/python3.13/site-packages/matplotlib/ft2font.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
439
+ .venv/lib/python3.13/site-packages/wrapt/_wrappers.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
440
+ .venv/lib/python3.13/site-packages/matplotlib/_c_internal_utils.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
441
+ .venv/lib/python3.13/site-packages/matplotlib/_qhull.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
442
+ .venv/lib/python3.13/site-packages/matplotlib/_path.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
443
+ .venv/lib/python3.13/site-packages/matplotlib/_image.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
444
+ .venv/lib/python3.13/site-packages/matplotlib/_tri.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
445
+ .venv/lib/python3.13/site-packages/lxml/builder.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
446
+ .venv/lib/python3.13/site-packages/lxml/sax.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
447
+ .venv/lib/python3.13/site-packages/lxml/etree.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
448
+ .venv/lib/python3.13/site-packages/lxml/objectify.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
449
+ .venv/lib/python3.13/site-packages/lxml/_elementpath.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
450
+ .venv/lib/python3.13/site-packages/lupa/lua53.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
451
+ .venv/lib/python3.13/site-packages/lupa/luajit21.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
452
+ .venv/lib/python3.13/site-packages/lupa/lua51.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
453
+ .venv/lib/python3.13/site-packages/lupa/lua52.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
454
+ .venv/lib/python3.13/site-packages/lupa/lua54.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
455
+ .venv/lib/python3.13/site-packages/lupa/luajit20.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
456
+ .venv/lib/python3.13/site-packages/rpds/rpds.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
457
+ .venv/lib/python3.13/site-packages/pyarrow/_feather.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
458
+ .venv/lib/python3.13/site-packages/pyarrow/_azurefs.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
459
+ .venv/lib/python3.13/site-packages/pyarrow/libarrow_python.so filter=lfs diff=lfs merge=lfs -text
460
+ .venv/lib/python3.13/site-packages/pyarrow/libparquet.so.2300 filter=lfs diff=lfs merge=lfs -text
461
+ .venv/lib/python3.13/site-packages/pyarrow/libarrow_acero.so.2300 filter=lfs diff=lfs merge=lfs -text
462
+ .venv/lib/python3.13/site-packages/pyarrow/_parquet_encryption.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
463
+ .venv/lib/python3.13/site-packages/pyarrow/libarrow_python.so.2300 filter=lfs diff=lfs merge=lfs -text
464
+ .venv/lib/python3.13/site-packages/pyarrow/_hdfs.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
465
+ .venv/lib/python3.13/site-packages/pyarrow/_compute.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
466
+ .venv/lib/python3.13/site-packages/pyarrow/_acero.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
467
+ .venv/lib/python3.13/site-packages/pyarrow/_json.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
468
+ .venv/lib/python3.13/site-packages/pyarrow/_orc.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
469
+ .venv/lib/python3.13/site-packages/pyarrow/_dataset.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
470
+ .venv/lib/python3.13/site-packages/pyarrow/_dataset_parquet.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
471
+ .venv/lib/python3.13/site-packages/pyarrow/_dataset_parquet_encryption.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
472
+ .venv/lib/python3.13/site-packages/pyarrow/_gcsfs.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
473
+ .venv/lib/python3.13/site-packages/pyarrow/_substrait.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
474
+ .venv/lib/python3.13/site-packages/pyarrow/_csv.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
475
+ .venv/lib/python3.13/site-packages/pyarrow/_flight.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
476
+ .venv/lib/python3.13/site-packages/pyarrow/libarrow_python_flight.so.2300 filter=lfs diff=lfs merge=lfs -text
477
+ .venv/lib/python3.13/site-packages/pyarrow/libarrow_dataset.so.2300 filter=lfs diff=lfs merge=lfs -text
478
+ .venv/lib/python3.13/site-packages/pyarrow/libarrow_substrait.so.2300 filter=lfs diff=lfs merge=lfs -text
479
+ .venv/lib/python3.13/site-packages/pyarrow/_s3fs.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
480
+ .venv/lib/python3.13/site-packages/pyarrow/lib.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
481
+ .venv/lib/python3.13/site-packages/pyarrow/_parquet.cpython-313-x86_64-linux-gnu.so filter=lfs diff=lfs merge=lfs -text
482
+ .venv/lib/python3.13/site-packages/pyarrow/libarrow_python.so.2300.1.0 filter=lfs diff=lfs merge=lfs -text
483
+ .venv/lib/python3.13/site-packages/pyarrow/libarrow_python_flight.so.2300.1.0 filter=lfs diff=lfs merge=lfs -text
.venv/bin/python ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0535f14f86770225e573d5fa06ec422ae8a4d1e9b868ea98dee8d12db71fa199
3
+ size 35565040
.venv/bin/python3 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0535f14f86770225e573d5fa06ec422ae8a4d1e9b868ea98dee8d12db71fa199
3
+ size 35565040
.venv/bin/python3.13 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0535f14f86770225e573d5fa06ec422ae8a4d1e9b868ea98dee8d12db71fa199
3
+ size 35565040
.venv/bin/ty ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c50510e61c0d7bcaf2bb30cd9dca61be9b1b164321b97f0580138909d8bef954
3
+ size 22765536
.venv/lib/python3.13/site-packages/30fcd23745efe32ce681__mypyc.cpython-313-x86_64-linux-gnu.so ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0fd5145e3b41c4d64acaa4f88ceed09d8fd7de4ddbc240844cc869d5acc4aca2
3
+ size 4517624
.venv/lib/python3.13/site-packages/__editable__.shinka-0.0.1.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d856a7c7cc50f7367291c07c65ff7fcc8438539cd5a4adc4204502ec56b3e1f4
3
+ size 83
.venv/lib/python3.13/site-packages/_cffi_backend.cpython-313-x86_64-linux-gnu.so ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4716712759d392db6b741965c28e4310c12ace1d30af457fb1bbe6eb53cd74a8
3
+ size 348752
.venv/lib/python3.13/site-packages/botocore/__pycache__/__init__.cpython-313.pyc ADDED
Binary file (7.91 kB). View file
 
.venv/lib/python3.13/site-packages/botocore/__pycache__/args.cpython-313.pyc ADDED
Binary file (29.9 kB). View file
 
.venv/lib/python3.13/site-packages/botocore/__pycache__/auth.cpython-313.pyc ADDED
Binary file (49.5 kB). View file
 
.venv/lib/python3.13/site-packages/botocore/__pycache__/awsrequest.cpython-313.pyc ADDED
Binary file (25.5 kB). View file
 
.venv/lib/python3.13/site-packages/botocore/__pycache__/client.cpython-313.pyc ADDED
Binary file (49.1 kB). View file
 
.venv/lib/python3.13/site-packages/botocore/__pycache__/compat.cpython-313.pyc ADDED
Binary file (11 kB). View file
 
.venv/lib/python3.13/site-packages/botocore/__pycache__/compress.cpython-313.pyc ADDED
Binary file (5.19 kB). View file
 
.venv/lib/python3.13/site-packages/botocore/__pycache__/config.cpython-313.pyc ADDED
Binary file (17.4 kB). View file
 
.venv/lib/python3.13/site-packages/botocore/__pycache__/configloader.cpython-313.pyc ADDED
Binary file (10.1 kB). View file
 
.venv/lib/python3.13/site-packages/botocore/__pycache__/context.cpython-313.pyc ADDED
Binary file (4.53 kB). View file
 
.venv/lib/python3.13/site-packages/botocore/__pycache__/discovery.cpython-313.pyc ADDED
Binary file (14.4 kB). View file
 
.venv/lib/python3.13/site-packages/botocore/__pycache__/endpoint.cpython-313.pyc ADDED
Binary file (15.4 kB). View file
 
.venv/lib/python3.13/site-packages/botocore/__pycache__/endpoint_provider.cpython-313.pyc ADDED
Binary file (28.9 kB). View file
 
.venv/lib/python3.13/site-packages/botocore/__pycache__/eventstream.cpython-313.pyc ADDED
Binary file (26.7 kB). View file
 
.venv/lib/python3.13/site-packages/botocore/__pycache__/exceptions.cpython-313.pyc ADDED
Binary file (35.5 kB). View file
 
.venv/lib/python3.13/site-packages/botocore/__pycache__/history.cpython-313.pyc ADDED
Binary file (2.4 kB). View file
 
.venv/lib/python3.13/site-packages/botocore/__pycache__/hooks.cpython-313.pyc ADDED
Binary file (23 kB). View file
 
.venv/lib/python3.13/site-packages/botocore/__pycache__/httpchecksum.cpython-313.pyc ADDED
Binary file (23.3 kB). View file
 
.venv/lib/python3.13/site-packages/botocore/__pycache__/httpsession.cpython-313.pyc ADDED
Binary file (20.5 kB). View file
 
.venv/lib/python3.13/site-packages/botocore/__pycache__/model.cpython-313.pyc ADDED
Binary file (42.7 kB). View file
 
.venv/lib/python3.13/site-packages/botocore/__pycache__/paginate.cpython-313.pyc ADDED
Binary file (27.4 kB). View file
 
.venv/lib/python3.13/site-packages/botocore/__pycache__/parsers.cpython-313.pyc ADDED
Binary file (62.2 kB). View file
 
.venv/lib/python3.13/site-packages/botocore/__pycache__/plugin.cpython-313.pyc ADDED
Binary file (3.17 kB). View file
 
.venv/lib/python3.13/site-packages/botocore/__pycache__/regions.cpython-313.pyc ADDED
Binary file (31.5 kB). View file
 
.venv/lib/python3.13/site-packages/botocore/__pycache__/response.cpython-313.pyc ADDED
Binary file (8.32 kB). View file
 
.venv/lib/python3.13/site-packages/botocore/__pycache__/serialize.cpython-313.pyc ADDED
Binary file (53 kB). View file
 
.venv/lib/python3.13/site-packages/botocore/__pycache__/signers.cpython-313.pyc ADDED
Binary file (30.8 kB). View file
 
.venv/lib/python3.13/site-packages/botocore/__pycache__/tokens.cpython-313.pyc ADDED
Binary file (14.1 kB). View file
 
.venv/lib/python3.13/site-packages/botocore/__pycache__/useragent.cpython-313.pyc ADDED
Binary file (26.1 kB). View file
 
.venv/lib/python3.13/site-packages/botocore/__pycache__/validate.cpython-313.pyc ADDED
Binary file (16.3 kB). View file
 
.venv/lib/python3.13/site-packages/botocore/__pycache__/waiter.cpython-313.pyc ADDED
Binary file (15.1 kB). View file
 
.venv/lib/python3.13/site-packages/botocore/crt/__init__.py ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"). You
4
+ # may not use this file except in compliance with the License. A copy of
5
+ # the License is located at
6
+ #
7
+ # http://aws.amazon.com/apache2.0/
8
+ #
9
+ # or in the "license" file accompanying this file. This file is
10
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
+ # ANY KIND, either express or implied. See the License for the specific
12
+ # language governing permissions and limitations under the License.
13
+
14
+ # A list of auth types supported by the signers in botocore/crt/auth.py. This
15
+ # should always match the keys of botocore.crt.auth.CRT_AUTH_TYPE_MAPS. The
16
+ # information is duplicated here so that it can be accessed in environments
17
+ # where `awscrt` is not present and any import from botocore.crt.auth would
18
+ # fail.
19
+ CRT_SUPPORTED_AUTH_TYPES = (
20
+ 'v4',
21
+ 'v4-query',
22
+ 'v4a',
23
+ 's3v4',
24
+ 's3v4-query',
25
+ 's3v4a',
26
+ 's3v4a-query',
27
+ )
.venv/lib/python3.13/site-packages/botocore/crt/auth.py ADDED
@@ -0,0 +1,629 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"). You
4
+ # may not use this file except in compliance with the License. A copy of
5
+ # the License is located at
6
+ #
7
+ # http://aws.amazon.com/apache2.0/
8
+ #
9
+ # or in the "license" file accompanying this file. This file is
10
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
+ # ANY KIND, either express or implied. See the License for the specific
12
+ # language governing permissions and limitations under the License.
13
+
14
+ from io import BytesIO
15
+
16
+ from botocore.auth import (
17
+ SIGNED_HEADERS_BLACKLIST,
18
+ STREAMING_UNSIGNED_PAYLOAD_TRAILER,
19
+ UNSIGNED_PAYLOAD,
20
+ BaseSigner,
21
+ _get_body_as_dict,
22
+ _host_from_url,
23
+ )
24
+ from botocore.compat import (
25
+ HTTPHeaders,
26
+ awscrt,
27
+ get_current_datetime,
28
+ parse_qs,
29
+ urlsplit,
30
+ urlunsplit,
31
+ )
32
+ from botocore.exceptions import NoCredentialsError
33
+ from botocore.useragent import register_feature_id
34
+ from botocore.utils import percent_encode_sequence
35
+
36
+
37
+ class CrtSigV4Auth(BaseSigner):
38
+ REQUIRES_REGION = True
39
+ _PRESIGNED_HEADERS_BLOCKLIST = [
40
+ 'Authorization',
41
+ 'X-Amz-Date',
42
+ 'X-Amz-Content-SHA256',
43
+ 'X-Amz-Security-Token',
44
+ ]
45
+ _SIGNATURE_TYPE = awscrt.auth.AwsSignatureType.HTTP_REQUEST_HEADERS
46
+ _USE_DOUBLE_URI_ENCODE = True
47
+ _SHOULD_NORMALIZE_URI_PATH = True
48
+
49
+ def __init__(self, credentials, service_name, region_name):
50
+ self.credentials = credentials
51
+ self._service_name = service_name
52
+ self._region_name = region_name
53
+ self._expiration_in_seconds = None
54
+
55
+ def _is_streaming_checksum_payload(self, request):
56
+ checksum_context = request.context.get('checksum', {})
57
+ algorithm = checksum_context.get('request_algorithm')
58
+ return isinstance(algorithm, dict) and algorithm.get('in') == 'trailer'
59
+
60
+ def add_auth(self, request):
61
+ if self.credentials is None:
62
+ raise NoCredentialsError()
63
+
64
+ datetime_now = get_current_datetime(remove_tzinfo=False)
65
+
66
+ # Use existing 'X-Amz-Content-SHA256' header if able
67
+ existing_sha256 = self._get_existing_sha256(request)
68
+
69
+ self._modify_request_before_signing(request)
70
+
71
+ credentials_provider = awscrt.auth.AwsCredentialsProvider.new_static(
72
+ access_key_id=self.credentials.access_key,
73
+ secret_access_key=self.credentials.secret_key,
74
+ session_token=self.credentials.token,
75
+ )
76
+
77
+ if self._is_streaming_checksum_payload(request):
78
+ explicit_payload = STREAMING_UNSIGNED_PAYLOAD_TRAILER
79
+ elif self._should_sha256_sign_payload(request):
80
+ if existing_sha256:
81
+ explicit_payload = existing_sha256
82
+ else:
83
+ explicit_payload = None # to be calculated during signing
84
+ else:
85
+ explicit_payload = UNSIGNED_PAYLOAD
86
+
87
+ if self._should_add_content_sha256_header(explicit_payload):
88
+ body_header = (
89
+ awscrt.auth.AwsSignedBodyHeaderType.X_AMZ_CONTENT_SHA_256
90
+ )
91
+ else:
92
+ body_header = awscrt.auth.AwsSignedBodyHeaderType.NONE
93
+
94
+ signing_config = awscrt.auth.AwsSigningConfig(
95
+ algorithm=awscrt.auth.AwsSigningAlgorithm.V4,
96
+ signature_type=self._SIGNATURE_TYPE,
97
+ credentials_provider=credentials_provider,
98
+ region=self._region_name,
99
+ service=self._service_name,
100
+ date=datetime_now,
101
+ should_sign_header=self._should_sign_header,
102
+ use_double_uri_encode=self._USE_DOUBLE_URI_ENCODE,
103
+ should_normalize_uri_path=self._SHOULD_NORMALIZE_URI_PATH,
104
+ signed_body_value=explicit_payload,
105
+ signed_body_header_type=body_header,
106
+ expiration_in_seconds=self._expiration_in_seconds,
107
+ )
108
+ crt_request = self._crt_request_from_aws_request(request)
109
+ future = awscrt.auth.aws_sign_request(crt_request, signing_config)
110
+ future.result()
111
+ self._apply_signing_changes(request, crt_request)
112
+
113
+ def _crt_request_from_aws_request(self, aws_request):
114
+ url_parts = urlsplit(aws_request.url)
115
+ crt_path = url_parts.path if url_parts.path else '/'
116
+ if aws_request.params:
117
+ array = []
118
+ for param, value in aws_request.params.items():
119
+ value = str(value)
120
+ array.append(f'{param}={value}')
121
+ crt_path = crt_path + '?' + '&'.join(array)
122
+ elif url_parts.query:
123
+ crt_path = f'{crt_path}?{url_parts.query}'
124
+
125
+ crt_headers = awscrt.http.HttpHeaders(aws_request.headers.items())
126
+
127
+ # CRT requires body (if it exists) to be an I/O stream.
128
+ crt_body_stream = None
129
+ if aws_request.body:
130
+ if hasattr(aws_request.body, 'seek'):
131
+ crt_body_stream = aws_request.body
132
+ else:
133
+ crt_body_stream = BytesIO(aws_request.body)
134
+
135
+ crt_request = awscrt.http.HttpRequest(
136
+ method=aws_request.method,
137
+ path=crt_path,
138
+ headers=crt_headers,
139
+ body_stream=crt_body_stream,
140
+ )
141
+ return crt_request
142
+
143
+ def _apply_signing_changes(self, aws_request, signed_crt_request):
144
+ # Apply changes from signed CRT request to the AWSRequest
145
+ aws_request.headers = HTTPHeaders.from_pairs(
146
+ list(signed_crt_request.headers)
147
+ )
148
+
149
+ def _should_sign_header(self, name, **kwargs):
150
+ return name.lower() not in SIGNED_HEADERS_BLACKLIST
151
+
152
+ def _modify_request_before_signing(self, request):
153
+ # This could be a retry. Make sure the previous
154
+ # authorization headers are removed first.
155
+ for h in self._PRESIGNED_HEADERS_BLOCKLIST:
156
+ if h in request.headers:
157
+ del request.headers[h]
158
+ # If necessary, add the host header
159
+ if 'host' not in request.headers:
160
+ request.headers['host'] = _host_from_url(request.url)
161
+
162
+ def _get_existing_sha256(self, request):
163
+ return request.headers.get('X-Amz-Content-SHA256')
164
+
165
+ def _should_sha256_sign_payload(self, request):
166
+ # Payloads will always be signed over insecure connections.
167
+ if not request.url.startswith('https'):
168
+ return True
169
+
170
+ # Certain operations may have payload signing disabled by default.
171
+ # Since we don't have access to the operation model, we pass in this
172
+ # bit of metadata through the request context.
173
+ return request.context.get('payload_signing_enabled', True)
174
+
175
+ def _should_add_content_sha256_header(self, explicit_payload):
176
+ # only add X-Amz-Content-SHA256 header if payload is explicitly set
177
+ return explicit_payload is not None
178
+
179
+
180
+ class CrtS3SigV4Auth(CrtSigV4Auth):
181
+ # For S3, we do not normalize the path.
182
+ _USE_DOUBLE_URI_ENCODE = False
183
+ _SHOULD_NORMALIZE_URI_PATH = False
184
+
185
+ def _get_existing_sha256(self, request):
186
+ # always recalculate
187
+ return None
188
+
189
+ def _should_sha256_sign_payload(self, request):
190
+ # S3 allows optional body signing, so to minimize the performance
191
+ # impact, we opt to not SHA256 sign the body on streaming uploads,
192
+ # provided that we're on https.
193
+ client_config = request.context.get('client_config')
194
+ s3_config = getattr(client_config, 's3', None)
195
+
196
+ # The config could be None if it isn't set, or if the customer sets it
197
+ # to None.
198
+ if s3_config is None:
199
+ s3_config = {}
200
+
201
+ # The explicit configuration takes precedence over any implicit
202
+ # configuration.
203
+ sign_payload = s3_config.get('payload_signing_enabled', None)
204
+ if sign_payload is not None:
205
+ return sign_payload
206
+
207
+ # We require that both a checksum be present and https be enabled
208
+ # to implicitly disable body signing. The combination of TLS and
209
+ # a checksum is sufficiently secure and durable for us to be
210
+ # confident in the request without body signing.
211
+ checksum_header = 'Content-MD5'
212
+ checksum_context = request.context.get('checksum', {})
213
+ algorithm = checksum_context.get('request_algorithm')
214
+ if isinstance(algorithm, dict) and algorithm.get('in') == 'header':
215
+ checksum_header = algorithm['name']
216
+ if (
217
+ not request.url.startswith('https')
218
+ or checksum_header not in request.headers
219
+ ):
220
+ return True
221
+
222
+ # If the input is streaming we disable body signing by default.
223
+ if request.context.get('has_streaming_input', False):
224
+ return False
225
+
226
+ # If the S3-specific checks had no results, delegate to the generic
227
+ # checks.
228
+ return super()._should_sha256_sign_payload(request)
229
+
230
+ def _should_add_content_sha256_header(self, explicit_payload):
231
+ # Always add X-Amz-Content-SHA256 header
232
+ return True
233
+
234
+
235
+ class CrtSigV4AsymAuth(BaseSigner):
236
+ REQUIRES_REGION = True
237
+ _PRESIGNED_HEADERS_BLOCKLIST = [
238
+ 'Authorization',
239
+ 'X-Amz-Date',
240
+ 'X-Amz-Content-SHA256',
241
+ 'X-Amz-Security-Token',
242
+ ]
243
+ _SIGNATURE_TYPE = awscrt.auth.AwsSignatureType.HTTP_REQUEST_HEADERS
244
+ _USE_DOUBLE_URI_ENCODE = True
245
+ _SHOULD_NORMALIZE_URI_PATH = True
246
+
247
+ def __init__(self, credentials, service_name, region_name):
248
+ self.credentials = credentials
249
+ self._service_name = service_name
250
+ self._region_name = region_name
251
+ self._expiration_in_seconds = None
252
+
253
+ def add_auth(self, request):
254
+ register_feature_id("SIGV4A_SIGNING")
255
+ if self.credentials is None:
256
+ raise NoCredentialsError()
257
+
258
+ datetime_now = get_current_datetime(remove_tzinfo=False)
259
+
260
+ # Use existing 'X-Amz-Content-SHA256' header if able
261
+ existing_sha256 = self._get_existing_sha256(request)
262
+
263
+ self._modify_request_before_signing(request)
264
+
265
+ credentials_provider = awscrt.auth.AwsCredentialsProvider.new_static(
266
+ access_key_id=self.credentials.access_key,
267
+ secret_access_key=self.credentials.secret_key,
268
+ session_token=self.credentials.token,
269
+ )
270
+
271
+ if self._is_streaming_checksum_payload(request):
272
+ explicit_payload = STREAMING_UNSIGNED_PAYLOAD_TRAILER
273
+ elif self._should_sha256_sign_payload(request):
274
+ if existing_sha256:
275
+ explicit_payload = existing_sha256
276
+ else:
277
+ explicit_payload = None # to be calculated during signing
278
+ else:
279
+ explicit_payload = UNSIGNED_PAYLOAD
280
+
281
+ if self._should_add_content_sha256_header(explicit_payload):
282
+ body_header = (
283
+ awscrt.auth.AwsSignedBodyHeaderType.X_AMZ_CONTENT_SHA_256
284
+ )
285
+ else:
286
+ body_header = awscrt.auth.AwsSignedBodyHeaderType.NONE
287
+
288
+ signing_config = awscrt.auth.AwsSigningConfig(
289
+ algorithm=awscrt.auth.AwsSigningAlgorithm.V4_ASYMMETRIC,
290
+ signature_type=self._SIGNATURE_TYPE,
291
+ credentials_provider=credentials_provider,
292
+ region=self._region_name,
293
+ service=self._service_name,
294
+ date=datetime_now,
295
+ should_sign_header=self._should_sign_header,
296
+ use_double_uri_encode=self._USE_DOUBLE_URI_ENCODE,
297
+ should_normalize_uri_path=self._SHOULD_NORMALIZE_URI_PATH,
298
+ signed_body_value=explicit_payload,
299
+ signed_body_header_type=body_header,
300
+ expiration_in_seconds=self._expiration_in_seconds,
301
+ )
302
+ crt_request = self._crt_request_from_aws_request(request)
303
+ future = awscrt.auth.aws_sign_request(crt_request, signing_config)
304
+ future.result()
305
+ self._apply_signing_changes(request, crt_request)
306
+
307
+ def _crt_request_from_aws_request(self, aws_request):
308
+ url_parts = urlsplit(aws_request.url)
309
+ crt_path = url_parts.path if url_parts.path else '/'
310
+ if aws_request.params:
311
+ array = []
312
+ for param, value in aws_request.params.items():
313
+ value = str(value)
314
+ array.append(f'{param}={value}')
315
+ crt_path = crt_path + '?' + '&'.join(array)
316
+ elif url_parts.query:
317
+ crt_path = f'{crt_path}?{url_parts.query}'
318
+
319
+ crt_headers = awscrt.http.HttpHeaders(aws_request.headers.items())
320
+
321
+ # CRT requires body (if it exists) to be an I/O stream.
322
+ crt_body_stream = None
323
+ if aws_request.body:
324
+ if hasattr(aws_request.body, 'seek'):
325
+ crt_body_stream = aws_request.body
326
+ else:
327
+ crt_body_stream = BytesIO(aws_request.body)
328
+
329
+ crt_request = awscrt.http.HttpRequest(
330
+ method=aws_request.method,
331
+ path=crt_path,
332
+ headers=crt_headers,
333
+ body_stream=crt_body_stream,
334
+ )
335
+ return crt_request
336
+
337
+ def _apply_signing_changes(self, aws_request, signed_crt_request):
338
+ # Apply changes from signed CRT request to the AWSRequest
339
+ aws_request.headers = HTTPHeaders.from_pairs(
340
+ list(signed_crt_request.headers)
341
+ )
342
+
343
+ def _should_sign_header(self, name, **kwargs):
344
+ return name.lower() not in SIGNED_HEADERS_BLACKLIST
345
+
346
+ def _modify_request_before_signing(self, request):
347
+ # This could be a retry. Make sure the previous
348
+ # authorization headers are removed first.
349
+ for h in self._PRESIGNED_HEADERS_BLOCKLIST:
350
+ if h in request.headers:
351
+ del request.headers[h]
352
+ # If necessary, add the host header
353
+ if 'host' not in request.headers:
354
+ request.headers['host'] = _host_from_url(request.url)
355
+
356
+ def _get_existing_sha256(self, request):
357
+ return request.headers.get('X-Amz-Content-SHA256')
358
+
359
+ def _is_streaming_checksum_payload(self, request):
360
+ checksum_context = request.context.get('checksum', {})
361
+ algorithm = checksum_context.get('request_algorithm')
362
+ return isinstance(algorithm, dict) and algorithm.get('in') == 'trailer'
363
+
364
+ def _should_sha256_sign_payload(self, request):
365
+ # Payloads will always be signed over insecure connections.
366
+ if not request.url.startswith('https'):
367
+ return True
368
+
369
+ # Certain operations may have payload signing disabled by default.
370
+ # Since we don't have access to the operation model, we pass in this
371
+ # bit of metadata through the request context.
372
+ return request.context.get('payload_signing_enabled', True)
373
+
374
+ def _should_add_content_sha256_header(self, explicit_payload):
375
+ # only add X-Amz-Content-SHA256 header if payload is explicitly set
376
+ return explicit_payload is not None
377
+
378
+
379
+ class CrtS3SigV4AsymAuth(CrtSigV4AsymAuth):
380
+ # For S3, we do not normalize the path.
381
+ _USE_DOUBLE_URI_ENCODE = False
382
+ _SHOULD_NORMALIZE_URI_PATH = False
383
+
384
+ def _get_existing_sha256(self, request):
385
+ # always recalculate
386
+ return None
387
+
388
+ def _should_sha256_sign_payload(self, request):
389
+ # S3 allows optional body signing, so to minimize the performance
390
+ # impact, we opt to not SHA256 sign the body on streaming uploads,
391
+ # provided that we're on https.
392
+ client_config = request.context.get('client_config')
393
+ s3_config = getattr(client_config, 's3', None)
394
+
395
+ # The config could be None if it isn't set, or if the customer sets it
396
+ # to None.
397
+ if s3_config is None:
398
+ s3_config = {}
399
+
400
+ # The explicit configuration takes precedence over any implicit
401
+ # configuration.
402
+ sign_payload = s3_config.get('payload_signing_enabled', None)
403
+ if sign_payload is not None:
404
+ return sign_payload
405
+
406
+ # We require that both content-md5 be present and https be enabled
407
+ # to implicitly disable body signing. The combination of TLS and
408
+ # content-md5 is sufficiently secure and durable for us to be
409
+ # confident in the request without body signing.
410
+ if (
411
+ not request.url.startswith('https')
412
+ or 'Content-MD5' not in request.headers
413
+ ):
414
+ return True
415
+
416
+ # If the input is streaming we disable body signing by default.
417
+ if request.context.get('has_streaming_input', False):
418
+ return False
419
+
420
+ # If the S3-specific checks had no results, delegate to the generic
421
+ # checks.
422
+ return super()._should_sha256_sign_payload(request)
423
+
424
+ def _should_add_content_sha256_header(self, explicit_payload):
425
+ # Always add X-Amz-Content-SHA256 header
426
+ return True
427
+
428
+
429
+ class CrtSigV4AsymQueryAuth(CrtSigV4AsymAuth):
430
+ DEFAULT_EXPIRES = 3600
431
+ _SIGNATURE_TYPE = awscrt.auth.AwsSignatureType.HTTP_REQUEST_QUERY_PARAMS
432
+
433
+ def __init__(
434
+ self, credentials, service_name, region_name, expires=DEFAULT_EXPIRES
435
+ ):
436
+ super().__init__(credentials, service_name, region_name)
437
+ self._expiration_in_seconds = expires
438
+
439
+ def _modify_request_before_signing(self, request):
440
+ super()._modify_request_before_signing(request)
441
+
442
+ # We automatically set this header, so if it's the auto-set value we
443
+ # want to get rid of it since it doesn't make sense for presigned urls.
444
+ content_type = request.headers.get('content-type')
445
+ if content_type == 'application/x-www-form-urlencoded; charset=utf-8':
446
+ del request.headers['content-type']
447
+
448
+ # Now parse the original query string to a dict, inject our new query
449
+ # params, and serialize back to a query string.
450
+ url_parts = urlsplit(request.url)
451
+ # parse_qs makes each value a list, but in our case we know we won't
452
+ # have repeated keys so we know we have single element lists which we
453
+ # can convert back to scalar values.
454
+ query_string_parts = parse_qs(url_parts.query, keep_blank_values=True)
455
+ query_dict = {k: v[0] for k, v in query_string_parts.items()}
456
+
457
+ # The spec is particular about this. It *has* to be:
458
+ # https://<endpoint>?<operation params>&<auth params>
459
+ # You can't mix the two types of params together, i.e just keep doing
460
+ # new_query_params.update(op_params)
461
+ # new_query_params.update(auth_params)
462
+ # percent_encode_sequence(new_query_params)
463
+ if request.data:
464
+ # We also need to move the body params into the query string. To
465
+ # do this, we first have to convert it to a dict.
466
+ query_dict.update(_get_body_as_dict(request))
467
+ request.data = ''
468
+ new_query_string = percent_encode_sequence(query_dict)
469
+ # url_parts is a tuple (and therefore immutable) so we need to create
470
+ # a new url_parts with the new query string.
471
+ # <part> - <index>
472
+ # scheme - 0
473
+ # netloc - 1
474
+ # path - 2
475
+ # query - 3 <-- we're replacing this.
476
+ # fragment - 4
477
+ p = url_parts
478
+ new_url_parts = (p[0], p[1], p[2], new_query_string, p[4])
479
+ request.url = urlunsplit(new_url_parts)
480
+
481
+ def _apply_signing_changes(self, aws_request, signed_crt_request):
482
+ # Apply changes from signed CRT request to the AWSRequest
483
+ super()._apply_signing_changes(aws_request, signed_crt_request)
484
+
485
+ signed_query = urlsplit(signed_crt_request.path).query
486
+ p = urlsplit(aws_request.url)
487
+ # urlsplit() returns a tuple (and therefore immutable) so we
488
+ # need to create new url with the new query string.
489
+ # <part> - <index>
490
+ # scheme - 0
491
+ # netloc - 1
492
+ # path - 2
493
+ # query - 3 <-- we're replacing this.
494
+ # fragment - 4
495
+ aws_request.url = urlunsplit((p[0], p[1], p[2], signed_query, p[4]))
496
+
497
+
498
+ class CrtS3SigV4AsymQueryAuth(CrtSigV4AsymQueryAuth):
499
+ """S3 SigV4A auth using query parameters.
500
+ This signer will sign a request using query parameters and signature
501
+ version 4A, i.e a "presigned url" signer.
502
+ """
503
+
504
+ # For S3, we do not normalize the path.
505
+ _USE_DOUBLE_URI_ENCODE = False
506
+ _SHOULD_NORMALIZE_URI_PATH = False
507
+
508
+ def _should_sha256_sign_payload(self, request):
509
+ # From the doc link above:
510
+ # "You don't include a payload hash in the Canonical Request, because
511
+ # when you create a presigned URL, you don't know anything about the
512
+ # payload. Instead, you use a constant string "UNSIGNED-PAYLOAD".
513
+ return False
514
+
515
+ def _should_add_content_sha256_header(self, explicit_payload):
516
+ # Never add X-Amz-Content-SHA256 header
517
+ return False
518
+
519
+
520
+ class CrtSigV4QueryAuth(CrtSigV4Auth):
521
+ DEFAULT_EXPIRES = 3600
522
+ _SIGNATURE_TYPE = awscrt.auth.AwsSignatureType.HTTP_REQUEST_QUERY_PARAMS
523
+
524
+ def __init__(
525
+ self, credentials, service_name, region_name, expires=DEFAULT_EXPIRES
526
+ ):
527
+ super().__init__(credentials, service_name, region_name)
528
+ self._expiration_in_seconds = expires
529
+
530
+ def _modify_request_before_signing(self, request):
531
+ super()._modify_request_before_signing(request)
532
+
533
+ # We automatically set this header, so if it's the auto-set value we
534
+ # want to get rid of it since it doesn't make sense for presigned urls.
535
+ content_type = request.headers.get('content-type')
536
+ if content_type == 'application/x-www-form-urlencoded; charset=utf-8':
537
+ del request.headers['content-type']
538
+
539
+ # Now parse the original query string to a dict, inject our new query
540
+ # params, and serialize back to a query string.
541
+ url_parts = urlsplit(request.url)
542
+ # parse_qs makes each value a list, but in our case we know we won't
543
+ # have repeated keys so we know we have single element lists which we
544
+ # can convert back to scalar values.
545
+ query_dict = {
546
+ k: v[0]
547
+ for k, v in parse_qs(
548
+ url_parts.query, keep_blank_values=True
549
+ ).items()
550
+ }
551
+ if request.params:
552
+ query_dict.update(request.params)
553
+ request.params = {}
554
+ # The spec is particular about this. It *has* to be:
555
+ # https://<endpoint>?<operation params>&<auth params>
556
+ # You can't mix the two types of params together, i.e just keep doing
557
+ # new_query_params.update(op_params)
558
+ # new_query_params.update(auth_params)
559
+ # percent_encode_sequence(new_query_params)
560
+ if request.data:
561
+ # We also need to move the body params into the query string. To
562
+ # do this, we first have to convert it to a dict.
563
+ query_dict.update(_get_body_as_dict(request))
564
+ request.data = ''
565
+ new_query_string = percent_encode_sequence(query_dict)
566
+ # url_parts is a tuple (and therefore immutable) so we need to create
567
+ # a new url_parts with the new query string.
568
+ # <part> - <index>
569
+ # scheme - 0
570
+ # netloc - 1
571
+ # path - 2
572
+ # query - 3 <-- we're replacing this.
573
+ # fragment - 4
574
+ p = url_parts
575
+ new_url_parts = (p[0], p[1], p[2], new_query_string, p[4])
576
+ request.url = urlunsplit(new_url_parts)
577
+
578
+ def _apply_signing_changes(self, aws_request, signed_crt_request):
579
+ # Apply changes from signed CRT request to the AWSRequest
580
+ super()._apply_signing_changes(aws_request, signed_crt_request)
581
+
582
+ signed_query = urlsplit(signed_crt_request.path).query
583
+ p = urlsplit(aws_request.url)
584
+ # urlsplit() returns a tuple (and therefore immutable) so we
585
+ # need to create new url with the new query string.
586
+ # <part> - <index>
587
+ # scheme - 0
588
+ # netloc - 1
589
+ # path - 2
590
+ # query - 3 <-- we're replacing this.
591
+ # fragment - 4
592
+ aws_request.url = urlunsplit((p[0], p[1], p[2], signed_query, p[4]))
593
+
594
+
595
+ class CrtS3SigV4QueryAuth(CrtSigV4QueryAuth):
596
+ """S3 SigV4 auth using query parameters.
597
+ This signer will sign a request using query parameters and signature
598
+ version 4, i.e a "presigned url" signer.
599
+ Based off of:
600
+ http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html
601
+ """
602
+
603
+ # For S3, we do not normalize the path.
604
+ _USE_DOUBLE_URI_ENCODE = False
605
+ _SHOULD_NORMALIZE_URI_PATH = False
606
+
607
+ def _should_sha256_sign_payload(self, request):
608
+ # From the doc link above:
609
+ # "You don't include a payload hash in the Canonical Request, because
610
+ # when you create a presigned URL, you don't know anything about the
611
+ # payload. Instead, you use a constant string "UNSIGNED-PAYLOAD".
612
+ return False
613
+
614
+ def _should_add_content_sha256_header(self, explicit_payload):
615
+ # Never add X-Amz-Content-SHA256 header
616
+ return False
617
+
618
+
619
+ # Defined at the bottom of module to ensure all Auth
620
+ # classes are defined.
621
+ CRT_AUTH_TYPE_MAPS = {
622
+ 'v4': CrtSigV4Auth,
623
+ 'v4-query': CrtSigV4QueryAuth,
624
+ 'v4a': CrtSigV4AsymAuth,
625
+ 's3v4': CrtS3SigV4Auth,
626
+ 's3v4-query': CrtS3SigV4QueryAuth,
627
+ 's3v4a': CrtS3SigV4AsymAuth,
628
+ 's3v4a-query': CrtS3SigV4AsymQueryAuth,
629
+ }
.venv/lib/python3.13/site-packages/botocore/data/_retry.json ADDED
@@ -0,0 +1,300 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "definitions": {
3
+ "throttling": {
4
+ "applies_when": {
5
+ "response": {
6
+ "service_error_code": "Throttling",
7
+ "http_status_code": 400
8
+ }
9
+ }
10
+ },
11
+ "throttling_exception": {
12
+ "applies_when": {
13
+ "response": {
14
+ "service_error_code": "ThrottlingException",
15
+ "http_status_code": 400
16
+ }
17
+ }
18
+ },
19
+ "throttled_exception": {
20
+ "applies_when": {
21
+ "response": {
22
+ "service_error_code": "ThrottledException",
23
+ "http_status_code": 400
24
+ }
25
+ }
26
+ },
27
+ "request_throttled_exception": {
28
+ "applies_when": {
29
+ "response": {
30
+ "service_error_code": "RequestThrottledException",
31
+ "http_status_code": 400
32
+ }
33
+ }
34
+ },
35
+ "too_many_requests": {
36
+ "applies_when": {
37
+ "response": {
38
+ "http_status_code": 429
39
+ }
40
+ }
41
+ },
42
+ "general_socket_errors": {
43
+ "applies_when": {
44
+ "socket_errors": ["GENERAL_CONNECTION_ERROR"]
45
+ }
46
+ },
47
+ "general_server_error": {
48
+ "applies_when": {
49
+ "response": {
50
+ "http_status_code": 500
51
+ }
52
+ }
53
+ },
54
+ "bad_gateway": {
55
+ "applies_when": {
56
+ "response": {
57
+ "http_status_code": 502
58
+ }
59
+ }
60
+ },
61
+ "service_unavailable": {
62
+ "applies_when": {
63
+ "response": {
64
+ "http_status_code": 503
65
+ }
66
+ }
67
+ },
68
+ "gateway_timeout": {
69
+ "applies_when": {
70
+ "response": {
71
+ "http_status_code": 504
72
+ }
73
+ }
74
+ },
75
+ "limit_exceeded": {
76
+ "applies_when": {
77
+ "response": {
78
+ "http_status_code": 509
79
+ }
80
+ }
81
+ },
82
+ "throughput_exceeded": {
83
+ "applies_when": {
84
+ "response": {
85
+ "service_error_code": "ProvisionedThroughputExceededException",
86
+ "http_status_code": 400
87
+ }
88
+ }
89
+ }
90
+ },
91
+ "retry": {
92
+ "__default__": {
93
+ "max_attempts": 5,
94
+ "delay": {
95
+ "type": "exponential",
96
+ "base": "rand",
97
+ "growth_factor": 2
98
+ },
99
+ "policies": {
100
+ "general_socket_errors": {"$ref": "general_socket_errors"},
101
+ "general_server_error": {"$ref": "general_server_error"},
102
+ "bad_gateway": {"$ref": "bad_gateway"},
103
+ "service_unavailable": {"$ref": "service_unavailable"},
104
+ "gateway_timeout": {"$ref": "gateway_timeout"},
105
+ "limit_exceeded": {"$ref": "limit_exceeded"},
106
+ "throttling_exception": {"$ref": "throttling_exception"},
107
+ "throttled_exception": {"$ref": "throttled_exception"},
108
+ "request_throttled_exception": {"$ref": "request_throttled_exception"},
109
+ "throttling": {"$ref": "throttling"},
110
+ "too_many_requests": {"$ref": "too_many_requests"},
111
+ "throughput_exceeded": {"$ref": "throughput_exceeded"}
112
+ }
113
+ },
114
+ "organizations": {
115
+ "__default__": {
116
+ "policies": {
117
+ "too_many_requests": {
118
+ "applies_when": {
119
+ "response": {
120
+ "service_error_code": "TooManyRequestsException",
121
+ "http_status_code": 400
122
+ }
123
+ }
124
+ }
125
+ }
126
+ }
127
+ },
128
+ "dynamodb": {
129
+ "__default__": {
130
+ "max_attempts": 10,
131
+ "delay": {
132
+ "type": "exponential",
133
+ "base": 0.05,
134
+ "growth_factor": 2
135
+ },
136
+ "policies": {
137
+ "write_conflict": {
138
+ "applies_when": {
139
+ "response": {
140
+ "service_error_code": "ReplicatedWriteConflictException",
141
+ "http_status_code": 409
142
+ }
143
+ }
144
+ },
145
+ "still_processing": {
146
+ "applies_when": {
147
+ "response": {
148
+ "service_error_code": "TransactionInProgressException",
149
+ "http_status_code": 400
150
+ }
151
+ }
152
+ },
153
+ "crc32": {
154
+ "applies_when": {
155
+ "response": {
156
+ "crc32body": "x-amz-crc32"
157
+ }
158
+ }
159
+ }
160
+ }
161
+ }
162
+ },
163
+ "ec2": {
164
+ "__default__": {
165
+ "policies": {
166
+ "request_limit_exceeded": {
167
+ "applies_when": {
168
+ "response": {
169
+ "service_error_code": "RequestLimitExceeded",
170
+ "http_status_code": 503
171
+ }
172
+ }
173
+ },
174
+ "ec2_throttled_exception": {
175
+ "applies_when": {
176
+ "response": {
177
+ "service_error_code": "EC2ThrottledException",
178
+ "http_status_code": 503
179
+ }
180
+ }
181
+ }
182
+ }
183
+ }
184
+ },
185
+ "cloudsearch": {
186
+ "__default__": {
187
+ "policies": {
188
+ "request_limit_exceeded": {
189
+ "applies_when": {
190
+ "response": {
191
+ "service_error_code": "BandwidthLimitExceeded",
192
+ "http_status_code": 509
193
+ }
194
+ }
195
+ }
196
+ }
197
+ }
198
+ },
199
+ "kinesis": {
200
+ "__default__": {
201
+ "policies": {
202
+ "request_limit_exceeded": {
203
+ "applies_when": {
204
+ "response": {
205
+ "service_error_code": "LimitExceededException",
206
+ "http_status_code": 400
207
+ }
208
+ }
209
+ }
210
+ }
211
+ }
212
+ },
213
+ "sqs": {
214
+ "__default__": {
215
+ "policies": {
216
+ "request_limit_exceeded": {
217
+ "applies_when": {
218
+ "response": {
219
+ "service_error_code": "RequestThrottled",
220
+ "http_status_code": 403
221
+ }
222
+ }
223
+ }
224
+ }
225
+ }
226
+ },
227
+ "s3": {
228
+ "__default__": {
229
+ "policies": {
230
+ "timeouts": {
231
+ "applies_when": {
232
+ "response": {
233
+ "http_status_code": 400,
234
+ "service_error_code": "RequestTimeout"
235
+ }
236
+ }
237
+ },
238
+ "contentmd5": {
239
+ "applies_when": {
240
+ "response": {
241
+ "http_status_code": 400,
242
+ "service_error_code": "BadDigest"
243
+ }
244
+ }
245
+ }
246
+ }
247
+ }
248
+ },
249
+ "glacier": {
250
+ "__default__": {
251
+ "policies": {
252
+ "timeouts": {
253
+ "applies_when": {
254
+ "response": {
255
+ "http_status_code": 408,
256
+ "service_error_code": "RequestTimeoutException"
257
+ }
258
+ }
259
+ }
260
+ }
261
+ }
262
+ },
263
+ "route53": {
264
+ "__default__": {
265
+ "policies": {
266
+ "request_limit_exceeded": {
267
+ "applies_when": {
268
+ "response": {
269
+ "service_error_code": "Throttling",
270
+ "http_status_code": 400
271
+ }
272
+ }
273
+ },
274
+ "still_processing": {
275
+ "applies_when": {
276
+ "response": {
277
+ "service_error_code": "PriorRequestNotComplete",
278
+ "http_status_code": 400
279
+ }
280
+ }
281
+ }
282
+ }
283
+ }
284
+ },
285
+ "sts": {
286
+ "__default__": {
287
+ "policies": {
288
+ "idp_unreachable_error": {
289
+ "applies_when": {
290
+ "response": {
291
+ "service_error_code": "IDPCommunicationError",
292
+ "http_status_code": 400
293
+ }
294
+ }
295
+ }
296
+ }
297
+ }
298
+ }
299
+ }
300
+ }
.venv/lib/python3.13/site-packages/botocore/data/accessanalyzer/2019-11-01/examples-1.json ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ {
2
+ "version": "1.0",
3
+ "examples": {
4
+ }
5
+ }
.venv/lib/python3.13/site-packages/botocore/data/accessanalyzer/2019-11-01/paginators-1.json ADDED
@@ -0,0 +1,70 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "pagination": {
3
+ "ListAnalyzedResources": {
4
+ "input_token": "nextToken",
5
+ "output_token": "nextToken",
6
+ "limit_key": "maxResults",
7
+ "result_key": "analyzedResources"
8
+ },
9
+ "ListAnalyzers": {
10
+ "input_token": "nextToken",
11
+ "output_token": "nextToken",
12
+ "limit_key": "maxResults",
13
+ "result_key": "analyzers"
14
+ },
15
+ "ListArchiveRules": {
16
+ "input_token": "nextToken",
17
+ "output_token": "nextToken",
18
+ "limit_key": "maxResults",
19
+ "result_key": "archiveRules"
20
+ },
21
+ "ListFindings": {
22
+ "input_token": "nextToken",
23
+ "output_token": "nextToken",
24
+ "limit_key": "maxResults",
25
+ "result_key": "findings"
26
+ },
27
+ "ListAccessPreviewFindings": {
28
+ "input_token": "nextToken",
29
+ "output_token": "nextToken",
30
+ "limit_key": "maxResults",
31
+ "result_key": "findings"
32
+ },
33
+ "ListAccessPreviews": {
34
+ "input_token": "nextToken",
35
+ "output_token": "nextToken",
36
+ "limit_key": "maxResults",
37
+ "result_key": "accessPreviews"
38
+ },
39
+ "ValidatePolicy": {
40
+ "input_token": "nextToken",
41
+ "output_token": "nextToken",
42
+ "limit_key": "maxResults",
43
+ "result_key": "findings"
44
+ },
45
+ "ListPolicyGenerations": {
46
+ "input_token": "nextToken",
47
+ "output_token": "nextToken",
48
+ "limit_key": "maxResults",
49
+ "result_key": "policyGenerations"
50
+ },
51
+ "GetFindingV2": {
52
+ "input_token": "nextToken",
53
+ "output_token": "nextToken",
54
+ "limit_key": "maxResults",
55
+ "result_key": "findingDetails"
56
+ },
57
+ "ListFindingsV2": {
58
+ "input_token": "nextToken",
59
+ "output_token": "nextToken",
60
+ "limit_key": "maxResults",
61
+ "result_key": "findings"
62
+ },
63
+ "GetFindingRecommendation": {
64
+ "input_token": "nextToken",
65
+ "output_token": "nextToken",
66
+ "limit_key": "maxResults",
67
+ "result_key": "recommendedSteps"
68
+ }
69
+ }
70
+ }
.venv/lib/python3.13/site-packages/botocore/data/accessanalyzer/2019-11-01/paginators-1.sdk-extras.json ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "version": 1.0,
3
+ "merge": {
4
+ "pagination": {
5
+ "GetFindingV2": {
6
+ "non_aggregate_keys": [
7
+ "resource",
8
+ "status",
9
+ "error",
10
+ "createdAt",
11
+ "resourceType",
12
+ "findingType",
13
+ "resourceOwnerAccount",
14
+ "analyzedAt",
15
+ "id",
16
+ "updatedAt"
17
+ ]
18
+ },
19
+ "GetFindingRecommendation": {
20
+ "non_aggregate_keys": [
21
+ "status",
22
+ "error",
23
+ "completedAt",
24
+ "recommendationType",
25
+ "resourceArn",
26
+ "startedAt"
27
+ ]
28
+ }
29
+ }
30
+ }
31
+ }
.venv/lib/python3.13/site-packages/botocore/data/acm-pca/2017-08-22/examples-1.json ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ {
2
+ "version": "1.0",
3
+ "examples": {
4
+ }
5
+ }
.venv/lib/python3.13/site-packages/botocore/data/acm-pca/2017-08-22/paginators-1.json ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "pagination": {
3
+ "ListCertificateAuthorities": {
4
+ "input_token": "NextToken",
5
+ "limit_key": "MaxResults",
6
+ "output_token": "NextToken",
7
+ "result_key": "CertificateAuthorities"
8
+ },
9
+ "ListTags": {
10
+ "input_token": "NextToken",
11
+ "limit_key": "MaxResults",
12
+ "output_token": "NextToken",
13
+ "result_key": "Tags"
14
+ },
15
+ "ListPermissions": {
16
+ "input_token": "NextToken",
17
+ "limit_key": "MaxResults",
18
+ "output_token": "NextToken",
19
+ "result_key": "Permissions"
20
+ }
21
+ }
22
+ }
.venv/lib/python3.13/site-packages/botocore/data/acm-pca/2017-08-22/waiters-2.json ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "version" : 2,
3
+ "waiters" : {
4
+ "AuditReportCreated" : {
5
+ "description" : "Wait until a Audit Report is created",
6
+ "delay" : 3,
7
+ "maxAttempts" : 60,
8
+ "operation" : "DescribeCertificateAuthorityAuditReport",
9
+ "acceptors" : [ {
10
+ "matcher" : "path",
11
+ "argument" : "AuditReportStatus",
12
+ "state" : "success",
13
+ "expected" : "SUCCESS"
14
+ }, {
15
+ "matcher" : "path",
16
+ "argument" : "AuditReportStatus",
17
+ "state" : "failure",
18
+ "expected" : "FAILED"
19
+ }, {
20
+ "matcher" : "error",
21
+ "state" : "failure",
22
+ "expected" : "AccessDeniedException"
23
+ } ]
24
+ },
25
+ "CertificateAuthorityCSRCreated" : {
26
+ "description" : "Wait until a Certificate Authority CSR is created",
27
+ "delay" : 3,
28
+ "maxAttempts" : 60,
29
+ "operation" : "GetCertificateAuthorityCsr",
30
+ "acceptors" : [ {
31
+ "matcher" : "error",
32
+ "state" : "success",
33
+ "expected" : false
34
+ }, {
35
+ "matcher" : "error",
36
+ "state" : "retry",
37
+ "expected" : "RequestInProgressException"
38
+ }, {
39
+ "matcher" : "error",
40
+ "state" : "failure",
41
+ "expected" : "AccessDeniedException"
42
+ } ]
43
+ },
44
+ "CertificateIssued" : {
45
+ "description" : "Wait until a certificate is issued",
46
+ "delay" : 1,
47
+ "maxAttempts" : 60,
48
+ "operation" : "GetCertificate",
49
+ "acceptors" : [ {
50
+ "matcher" : "error",
51
+ "state" : "success",
52
+ "expected" : false
53
+ }, {
54
+ "matcher" : "error",
55
+ "state" : "retry",
56
+ "expected" : "RequestInProgressException"
57
+ }, {
58
+ "matcher" : "error",
59
+ "state" : "failure",
60
+ "expected" : "AccessDeniedException"
61
+ } ]
62
+ }
63
+ }
64
+ }
.venv/lib/python3.13/site-packages/botocore/data/amp/2020-08-01/examples-1.json ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ {
2
+ "version": "1.0",
3
+ "examples": {
4
+ }
5
+ }
.venv/lib/python3.13/site-packages/botocore/data/amp/2020-08-01/paginators-1.json ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "pagination": {
3
+ "ListWorkspaces": {
4
+ "input_token": "nextToken",
5
+ "output_token": "nextToken",
6
+ "limit_key": "maxResults",
7
+ "result_key": "workspaces"
8
+ },
9
+ "ListRuleGroupsNamespaces": {
10
+ "input_token": "nextToken",
11
+ "output_token": "nextToken",
12
+ "limit_key": "maxResults",
13
+ "result_key": "ruleGroupsNamespaces"
14
+ },
15
+ "ListScrapers": {
16
+ "input_token": "nextToken",
17
+ "output_token": "nextToken",
18
+ "limit_key": "maxResults",
19
+ "result_key": "scrapers"
20
+ },
21
+ "ListAnomalyDetectors": {
22
+ "input_token": "nextToken",
23
+ "output_token": "nextToken",
24
+ "limit_key": "maxResults",
25
+ "result_key": "anomalyDetectors"
26
+ }
27
+ }
28
+ }