KL-Py 0.3.6__tar.gz → 0.3.8__tar.gz

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 (269) hide show
  1. {kl_py-0.3.6 → kl_py-0.3.8}/PKG-INFO +1 -1
  2. {kl_py-0.3.6 → kl_py-0.3.8}/pyproject.toml +1 -1
  3. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/KL_Py.py +91 -18
  4. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/_custom_sqlite.py +6 -0
  5. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/_klang_builtins.py +1 -0
  6. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/_translate.py +7 -1
  7. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py.egg-info/PKG-INFO +1 -1
  8. {kl_py-0.3.6 → kl_py-0.3.8}/LICENSE +0 -0
  9. {kl_py-0.3.6 → kl_py-0.3.8}/README.md +0 -0
  10. {kl_py-0.3.6 → kl_py-0.3.8}/setup.cfg +0 -0
  11. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/FreeSimpleGUI/__init__.py +0 -0
  12. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/FreeSimpleGUI/_utils.py +0 -0
  13. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/FreeSimpleGUI/elements/__init__.py +0 -0
  14. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/FreeSimpleGUI/elements/base.py +0 -0
  15. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/FreeSimpleGUI/elements/button.py +0 -0
  16. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/FreeSimpleGUI/elements/calendar.py +0 -0
  17. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/FreeSimpleGUI/elements/canvas.py +0 -0
  18. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/FreeSimpleGUI/elements/checkbox.py +0 -0
  19. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/FreeSimpleGUI/elements/column.py +0 -0
  20. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/FreeSimpleGUI/elements/combo.py +0 -0
  21. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/FreeSimpleGUI/elements/error.py +0 -0
  22. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/FreeSimpleGUI/elements/frame.py +0 -0
  23. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/FreeSimpleGUI/elements/graph.py +0 -0
  24. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/FreeSimpleGUI/elements/helpers.py +0 -0
  25. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/FreeSimpleGUI/elements/image.py +0 -0
  26. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/FreeSimpleGUI/elements/input.py +0 -0
  27. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/FreeSimpleGUI/elements/list_box.py +0 -0
  28. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/FreeSimpleGUI/elements/menu.py +0 -0
  29. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/FreeSimpleGUI/elements/multiline.py +0 -0
  30. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/FreeSimpleGUI/elements/option_menu.py +0 -0
  31. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/FreeSimpleGUI/elements/pane.py +0 -0
  32. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/FreeSimpleGUI/elements/progress_bar.py +0 -0
  33. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/FreeSimpleGUI/elements/radio.py +0 -0
  34. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/FreeSimpleGUI/elements/separator.py +0 -0
  35. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/FreeSimpleGUI/elements/sizegrip.py +0 -0
  36. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/FreeSimpleGUI/elements/slider.py +0 -0
  37. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/FreeSimpleGUI/elements/spin.py +0 -0
  38. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/FreeSimpleGUI/elements/status_bar.py +0 -0
  39. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/FreeSimpleGUI/elements/stretch.py +0 -0
  40. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/FreeSimpleGUI/elements/tab.py +0 -0
  41. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/FreeSimpleGUI/elements/table.py +0 -0
  42. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/FreeSimpleGUI/elements/text.py +0 -0
  43. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/FreeSimpleGUI/elements/tree.py +0 -0
  44. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/FreeSimpleGUI/themes.py +0 -0
  45. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/FreeSimpleGUI/tray.py +0 -0
  46. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/FreeSimpleGUI/window.py +0 -0
  47. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/__init__.py +0 -0
  48. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/_custom_pandas.py +0 -0
  49. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/_custom_turtle.py +0 -0
  50. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/_error_classes.py +0 -0
  51. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/_web_translate.py +0 -0
  52. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/automl.py +0 -0
  53. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/dnd/__init__.py +0 -0
  54. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/drag_and_drop/__init__.py +0 -0
  55. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/export/__init__.py +0 -0
  56. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/export/__main__.py +0 -0
  57. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/export/config.py +0 -0
  58. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/export/dialogs.py +0 -0
  59. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/export/packaging.py +0 -0
  60. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/export/shims.py +0 -0
  61. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/export/ui.py +0 -0
  62. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/export/utils.py +0 -0
  63. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/export/validation.py +0 -0
  64. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/fsgdnd/__init__.py +0 -0
  65. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/fsgui/__init__.py +0 -0
  66. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/hindGui/__init__.py +0 -0
  67. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/hindGui/_utils.py +0 -0
  68. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/hindGui/elements/base.py +0 -0
  69. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/hindGui/elements/button.py +0 -0
  70. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/hindGui/elements/calendar.py +0 -0
  71. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/hindGui/elements/canvas.py +0 -0
  72. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/hindGui/elements/center.py +0 -0
  73. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/hindGui/elements/checkbox.py +0 -0
  74. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/hindGui/elements/column.py +0 -0
  75. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/hindGui/elements/combo.py +0 -0
  76. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/hindGui/elements/error.py +0 -0
  77. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/hindGui/elements/frame.py +0 -0
  78. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/hindGui/elements/graph.py +0 -0
  79. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/hindGui/elements/helpers.py +0 -0
  80. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/hindGui/elements/image.py +0 -0
  81. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/hindGui/elements/input.py +0 -0
  82. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/hindGui/elements/list_box.py +0 -0
  83. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/hindGui/elements/menu.py +0 -0
  84. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/hindGui/elements/multiline.py +0 -0
  85. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/hindGui/elements/option_menu.py +0 -0
  86. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/hindGui/elements/pane.py +0 -0
  87. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/hindGui/elements/progress_bar.py +0 -0
  88. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/hindGui/elements/radio.py +0 -0
  89. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/hindGui/elements/separator.py +0 -0
  90. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/hindGui/elements/sizegrip.py +0 -0
  91. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/hindGui/elements/slider.py +0 -0
  92. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/hindGui/elements/spin.py +0 -0
  93. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/hindGui/elements/status_bar.py +0 -0
  94. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/hindGui/elements/stretch.py +0 -0
  95. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/hindGui/elements/tab.py +0 -0
  96. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/hindGui/elements/table.py +0 -0
  97. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/hindGui/elements/text.py +0 -0
  98. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/hindGui/elements/tree.py +0 -0
  99. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/hindGui/replace.py +0 -0
  100. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/hindGui/tray.py +0 -0
  101. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/hindGui/window.py +0 -0
  102. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/k2exe/__init__.py +0 -0
  103. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/k2exe/__main__.py +0 -0
  104. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/k2exe/config.py +0 -0
  105. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/k2exe/dialogs.py +0 -0
  106. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/k2exe/packaging.py +0 -0
  107. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/k2exe/shims.py +0 -0
  108. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/k2exe/ui.py +0 -0
  109. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/k2exe/utils.py +0 -0
  110. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/k2exe/validation.py +0 -0
  111. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/kexe/__init__.py +0 -0
  112. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/kexe/__main__.py +0 -0
  113. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/kexe/config.py +0 -0
  114. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/kexe/dialogs.py +0 -0
  115. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/kexe/packaging.py +0 -0
  116. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/kexe/shims.py +0 -0
  117. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/kexe/ui.py +0 -0
  118. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/kexe/utils.py +0 -0
  119. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/kexe/validation.py +0 -0
  120. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/kl2exe/__init__.py +0 -0
  121. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/kl2exe/__main__.py +0 -0
  122. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/kl2exe/config.py +0 -0
  123. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/kl2exe/dialogs.py +0 -0
  124. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/kl2exe/packaging.py +0 -0
  125. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/kl2exe/shims.py +0 -0
  126. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/kl2exe/ui.py +0 -0
  127. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/kl2exe/utils.py +0 -0
  128. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/kl2exe/validation.py +0 -0
  129. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/klang2exe/__init__.py +0 -0
  130. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/klang2exe/__main__.py +0 -0
  131. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/klang2exe/config.py +0 -0
  132. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/klang2exe/dialogs.py +0 -0
  133. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/klang2exe/packaging.py +0 -0
  134. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/klang2exe/shims.py +0 -0
  135. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/klang2exe/ui.py +0 -0
  136. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/klang2exe/utils.py +0 -0
  137. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/klang2exe/validation.py +0 -0
  138. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/klangexe/__init__.py +0 -0
  139. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/klangexe/__main__.py +0 -0
  140. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/klangexe/config.py +0 -0
  141. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/klangexe/dialogs.py +0 -0
  142. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/klangexe/packaging.py +0 -0
  143. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/klangexe/shims.py +0 -0
  144. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/klangexe/ui.py +0 -0
  145. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/klangexe/utils.py +0 -0
  146. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/klangexe/validation.py +0 -0
  147. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/klexe/__init__.py +0 -0
  148. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/klexe/__main__.py +0 -0
  149. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/klexe/config.py +0 -0
  150. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/klexe/dialogs.py +0 -0
  151. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/klexe/packaging.py +0 -0
  152. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/klexe/shims.py +0 -0
  153. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/klexe/ui.py +0 -0
  154. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/klexe/utils.py +0 -0
  155. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/klexe/validation.py +0 -0
  156. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/ml.py +0 -0
  157. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/np/__init__.py +0 -0
  158. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/pd/__init__.py +0 -0
  159. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/plt/__init__.py +0 -0
  160. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/psgui/__init__.py +0 -0
  161. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/px/__init__.py +0 -0
  162. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/pyexe/__init__.py +0 -0
  163. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/pyexe/__main__.py +0 -0
  164. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/pyexe/config.py +0 -0
  165. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/pyexe/dialogs.py +0 -0
  166. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/pyexe/packaging.py +0 -0
  167. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/pyexe/shims.py +0 -0
  168. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/pyexe/ui.py +0 -0
  169. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/pyexe/utils.py +0 -0
  170. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/pyexe/validation.py +0 -0
  171. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/pysgdnd/__init__.py +0 -0
  172. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/__init__.py +0 -0
  173. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/__version__.py +0 -0
  174. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/_internal_utils.py +0 -0
  175. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/adapters.py +0 -0
  176. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/api.py +0 -0
  177. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/auth.py +0 -0
  178. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/certifi/__init__.py +0 -0
  179. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/certifi/__main__.py +0 -0
  180. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/certifi/core.py +0 -0
  181. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/certifi/py.typed +0 -0
  182. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/certs.py +0 -0
  183. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/charset_normalizer/__init__.py +0 -0
  184. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/charset_normalizer/__main__.py +0 -0
  185. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/charset_normalizer/api.py +0 -0
  186. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/charset_normalizer/cd.py +0 -0
  187. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/charset_normalizer/cli/__init__.py +0 -0
  188. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/charset_normalizer/cli/__main__.py +0 -0
  189. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/charset_normalizer/constant.py +0 -0
  190. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/charset_normalizer/legacy.py +0 -0
  191. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/charset_normalizer/md.py +0 -0
  192. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/charset_normalizer/models.py +0 -0
  193. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/charset_normalizer/py.typed +0 -0
  194. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/charset_normalizer/utils.py +0 -0
  195. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/charset_normalizer/version.py +0 -0
  196. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/compat.py +0 -0
  197. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/cookies.py +0 -0
  198. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/exceptions.py +0 -0
  199. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/help.py +0 -0
  200. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/hooks.py +0 -0
  201. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/idna/__init__.py +0 -0
  202. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/idna/codec.py +0 -0
  203. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/idna/compat.py +0 -0
  204. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/idna/core.py +0 -0
  205. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/idna/idnadata.py +0 -0
  206. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/idna/intranges.py +0 -0
  207. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/idna/package_data.py +0 -0
  208. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/idna/py.typed +0 -0
  209. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/idna/uts46data.py +0 -0
  210. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/models.py +0 -0
  211. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/packages.py +0 -0
  212. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/sessions.py +0 -0
  213. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/status_codes.py +0 -0
  214. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/structures.py +0 -0
  215. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/urllib3/__init__.py +0 -0
  216. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/urllib3/_base_connection.py +0 -0
  217. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/urllib3/_collections.py +0 -0
  218. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/urllib3/_request_methods.py +0 -0
  219. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/urllib3/_version.py +0 -0
  220. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/urllib3/connection.py +0 -0
  221. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/urllib3/connectionpool.py +0 -0
  222. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/urllib3/contrib/__init__.py +0 -0
  223. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/urllib3/contrib/emscripten/__init__.py +0 -0
  224. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/urllib3/contrib/emscripten/connection.py +0 -0
  225. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/urllib3/contrib/emscripten/fetch.py +0 -0
  226. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/urllib3/contrib/emscripten/request.py +0 -0
  227. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/urllib3/contrib/emscripten/response.py +0 -0
  228. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/urllib3/contrib/pyopenssl.py +0 -0
  229. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/urllib3/contrib/socks.py +0 -0
  230. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/urllib3/exceptions.py +0 -0
  231. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/urllib3/fields.py +0 -0
  232. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/urllib3/filepost.py +0 -0
  233. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/urllib3/http2/__init__.py +0 -0
  234. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/urllib3/http2/connection.py +0 -0
  235. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/urllib3/http2/probe.py +0 -0
  236. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/urllib3/poolmanager.py +0 -0
  237. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/urllib3/py.typed +0 -0
  238. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/urllib3/response.py +0 -0
  239. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/urllib3/util/__init__.py +0 -0
  240. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/urllib3/util/connection.py +0 -0
  241. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/urllib3/util/proxy.py +0 -0
  242. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/urllib3/util/request.py +0 -0
  243. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/urllib3/util/response.py +0 -0
  244. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/urllib3/util/retry.py +0 -0
  245. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/urllib3/util/ssl_.py +0 -0
  246. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/urllib3/util/ssl_match_hostname.py +0 -0
  247. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/urllib3/util/ssltransport.py +0 -0
  248. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/urllib3/util/timeout.py +0 -0
  249. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/urllib3/util/url.py +0 -0
  250. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/urllib3/util/util.py +0 -0
  251. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/urllib3/util/wait.py +0 -0
  252. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/requests/utils.py +0 -0
  253. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/sb/__init__.py +0 -0
  254. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/sk/__init__.py +0 -0
  255. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/sns/__init__.py +0 -0
  256. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/toexe/__init__.py +0 -0
  257. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/toexe/__main__.py +0 -0
  258. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/toexe/config.py +0 -0
  259. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/toexe/dialogs.py +0 -0
  260. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/toexe/packaging.py +0 -0
  261. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/toexe/shims.py +0 -0
  262. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/toexe/ui.py +0 -0
  263. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/toexe/utils.py +0 -0
  264. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/toexe/validation.py +0 -0
  265. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py/when.py +0 -0
  266. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py.egg-info/SOURCES.txt +0 -0
  267. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py.egg-info/dependency_links.txt +0 -0
  268. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py.egg-info/requires.txt +0 -0
  269. {kl_py-0.3.6 → kl_py-0.3.8}/src/KL_Py.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: KL_Py
3
- Version: 0.3.6
3
+ Version: 0.3.8
4
4
  Summary: A Python simplification module
5
5
  Author-email: Abbaskhurram255 <abbaskhurram255@gmail.com>
6
6
  Classifier: Programming Language :: Python :: 3
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
5
5
 
6
6
  [project]
7
7
  name = "KL_Py"
8
- version = "0.3.6"
8
+ version = "0.3.8"
9
9
  authors = [
10
10
  { name = "Abbaskhurram255", email = "abbaskhurram255@gmail.com" }
11
11
  ]
@@ -16,7 +16,7 @@ from math import *
16
16
  # need both math imports for convenience
17
17
  from copy import deepcopy
18
18
  from pathlib import Path
19
- import builtins, os, sys, argparse, io, asyncio, random, binascii, urllib, traceback, time as Time, platform, json, shutil, glob, shlex, signal, site, base64, enum, collections, collections.abc, importlib, functools, cmd, ctypes, stat, math, re, ast, webbrowser, subprocess, requests
19
+ import builtins, os, sys, argparse, io, asyncio, random, binascii, urllib, traceback, time as Time, platform, json, shutil, glob, shlex, signal, site, base64, enum, collections, collections.abc, importlib, functools, inspect, cmd, ctypes, stat, math, re, ast, webbrowser, subprocess, requests
20
20
  from sys import exit
21
21
  from base64 import b64encode, b64decode
22
22
  from urllib.parse import quote_plus as encode_url, quote as encode_url_soft, unquote_plus as normalize_url, unquote as normalize_url_soft
@@ -68,6 +68,8 @@ jumle_me_he = lafz_me_he = lambda y, x: re.search(y, x) or False if isinstance(y
68
68
  is_mail = is_email = ismail = isemail = lambda s: __rgx_is_full_match__(MAIL_RE, s)
69
69
  he_mail = hemail = he_email = heemail = is_mail
70
70
  catch_mail = catch_email = catchmail = catchemail = pakro_mail = pakromail = pakro_email = pakroemail = lambda s: __rgx_catch__(MAIL_RE, s)
71
+ dhundo_emails = dhundo_email = dhundoemails = dhundoemail = find_emails = find_email = findemails = findemail = catch_emails = catchemails = catchemail = catch_mail
72
+ dhundo_mails = dhundo_mail = dhundomails = dhundomail = find_mails = find_mail = findmails = findmail = catch_mails = catchmails = catchmail = catch_mail
71
73
  has_mail = has_email = hasmail = hasemail = lambda s: catch_mail(s) != []
72
74
  me_he_mail = mehemail = me_he_email = meheemail = has_mail
73
75
  is_strict_pwd = is_strictpwd = isstrict_pwd = isstrictpwd = lambda s: __rgx_is_full_match__(STRICT_PWD_RE, s)
@@ -78,13 +80,17 @@ is_phone = isphone = is_phone_number = isphonenumber = is_phone_nr = isphonenr =
78
80
  he_phone = hephone = he_phone_number = hephonenumber = he_phone_nr = hephonenr = is_phone
79
81
  catch_phone = catchphone = catch_phone_number = catchphonenumber = catch_phone_nr = catchphonenr = lambda s: __rgx_catch__(PHONE_RE, s)
80
82
  pakro_phone = pakrophone = pakro_phone_number = pakrophonenumber = pakro_phone_nr = pakrophonenr = catch_phone
83
+ dhundo_phones = dhundo_phone = dhundophones = dhundophone = find_phones = find_phone = findphones = findphone = catch_phones = catchphones = catchphone = catch_phone
84
+ dhundo_phone_nums = dhundo_phone_num = dhundophonenums = dhundophonenum = find_phone_nums = find_phone_num = findphonenums = findphonenum = catch_phone_nums = catchphonenums = catchphonenum = catch_phone
81
85
  has_phone = hasphone = has_phone_nr = hasphonenr = has_phone_number = hasphonenumber = lambda s: catch_phone(s) != []
82
86
  me_he_phone = mehephone = me_he_phone_nr = mehephonenr = me_he_phone_number = mehephonenumber = has_phone
83
87
  is_html = ishtml = he_html = hehtml = lambda s: __rgx_is_full_match__(HTML_RE, s)
84
88
  catch_html = catchhtml = pakro_html = pakrohtml = lambda s: __rgx_catch__(HTML_RE, s)
89
+ dhundo_html = dhundohtml = find_html = findhtml = pakro_html = pakrohtml = catch_html
85
90
  has_html = hashtml = me_he_html = mehehtml = lambda s: catch_html(s) != []
86
91
  is_css = iscss = he_css = hecss = lambda s: __rgx_is_full_match__(CSS_RE, s)
87
92
  catch_css = catchcss = lambda s: __rgx_catch__(CSS_RE, s)
93
+ dhundo_css = dhundocss = find_css = findcss = pakro_css = pakrocss = catch_css
88
94
  has_css = hascss = lambda s: catch_css(s) != []
89
95
  is_url = isurl = he_url = heurl = lambda s: __rgx_is_full_match__(URL_RE, s)
90
96
  catch_url = catchurl = pakro_url = pakrourl = lambda s: __rgx_catch__(URL_RE, s)
@@ -97,10 +103,12 @@ catch_alpha = catchalpha = catch_letter = catchletter = lambda s: __rgx_catch__(
97
103
  has_alpha = hasalpha = has_letter = hasletter = lambda s: catch_alpha(s) != []
98
104
  is_num_like = isnumlike = he_num_jesa = henumjesa = he_num_jesi = henumjesi = he_parsable_num = heparsablenum = lambda s: __rgx_is_full_match__(NUM_RE, s)
99
105
  catch_num = catchnum = pakro_num = pakronum = lambda s: __rgx_catch__(NUM_RE, s)
106
+ dhundo_nums = dhundo_num = dhundonums = dhundonum = find_nums = find_num = findnums = findnum = catch_nums = catchnums = catchnum = catch_num
100
107
  has_num = hasnum = me_he_num = mehenum = lambda s: catch_num(s) != []
101
108
  catch_non_num = catchnonnum = pakro_non_num = pakrononnum = lambda s: __rgx_catch__(NON_NUM_RE, s)
102
109
  has_non_num = hasnonnum = me_he_non_num = mehenonnum = lambda s: catch_non_num(s) != []
103
110
  catch_int = catchint = lambda s: __rgx_catch__(INT_RE, s)
111
+ dhundo_ints = dhundo_int = dhundoints = dhundoint = find_ints = find_int = findints = findint = catch_ints = catchints = catchint = catch_int
104
112
  has_int = hasint = ne_he_int = meheint = lambda s: catch_int(s) != []
105
113
  is_word = isword = lambda s: __rgx_is_full_match__(WORD_RE, s)
106
114
  catch_word = catchword = pakro_word = pakroword = lambda s: __rgx_catch__(WORD_RE, s)
@@ -635,8 +643,14 @@ class Date:
635
643
  datetime.timedelta
636
644
  ):
637
645
  self.date_object = datetime\
638
- .datetime()\
646
+ .datetime\
639
647
  .now() + date
648
+ if isinstance(
649
+ date,
650
+ int
651
+ ):
652
+ if 1 <= date <= 31:
653
+ date = str(date)
640
654
  if isinstance(date, (int, float)):
641
655
  try:
642
656
  self.date_object = datetime\
@@ -671,6 +685,26 @@ class Date:
671
685
  ":",
672
686
  date
673
687
  )
688
+ def h_m_only_seen_fixer(m: re.Match) -> str:
689
+ h_str: str = m.group(1)
690
+ h: int = int(h_str)
691
+ m_str: str = m.group(2)
692
+ period: str = datetime\
693
+ .datetime\
694
+ .now()\
695
+ .strftime("%p")
696
+ if h > 12:
697
+ h -= 12
698
+ h_str: str = str(h)
699
+ period = "pm"
700
+ result: str = f"{h_str}:{m_str} {period}"
701
+ return result
702
+ date = re.sub(
703
+ r"^ *(\d+) *[\.\:] *(\d+) *$",
704
+ h_m_only_seen_fixer,
705
+ date,
706
+ flags=re.IGNORECASE
707
+ )
674
708
  date = re.sub(
675
709
  r"(?<=\d)([AaPp])(?=[Mm])",
676
710
  r" \1",
@@ -693,22 +727,36 @@ class Date:
693
727
  ) -> bool:
694
728
  date = self
695
729
  parsed_okay = None
696
- if not isinstance(
697
- date,
698
- (
699
- str,
700
- datetime.datetime,
701
- int,
702
- float
703
- )
704
- ):
705
- date = self\
706
- .original_date_argument
730
+ if isinstance(self, Date):
731
+ if hasattr(
732
+ date,
733
+ "original_date_argument"
734
+ )\
735
+ and date.original_date_argument\
736
+ is None:
737
+ return True
738
+ if not isinstance(
739
+ date,
740
+ (
741
+ str,
742
+ datetime.datetime,
743
+ int,
744
+ float
745
+ )
746
+ ):
747
+ date = self\
748
+ .original_date_argument
707
749
  if isinstance(
708
750
  date,
709
751
  datetime.datetime
710
752
  ):
711
753
  return True
754
+ if isinstance(
755
+ date,
756
+ int
757
+ ):
758
+ if 1 <= date <= 31:
759
+ date = str(date)
712
760
  if isinstance(date, (int, float)):
713
761
  try:
714
762
  parsed_okay = datetime\
@@ -739,10 +787,36 @@ class Date:
739
787
  )
740
788
  # normalize extra whitespace
741
789
  date = re.sub(
742
- r"(?<=\d)\.(?=\d)",
790
+ r"(?<=\d) *[\.\:] *(?=\d)",
743
791
  ":",
744
792
  date
745
793
  )
794
+ def h_m_only_seen_fixer(m: re.Match) -> str:
795
+ h_str: str = m.group(1)
796
+ h: int = int(h_str)
797
+ m_str: str = m.group(2)
798
+ period: str = datetime\
799
+ .datetime\
800
+ .now()\
801
+ .strftime("%p")
802
+ if h > 12:
803
+ h -= 12
804
+ h_str: str = str(h)
805
+ period = "pm"
806
+ result: str = f"{h_str}:{m_str} {period}"
807
+ return result
808
+ date = re.sub(
809
+ r"^ *(\d+) *[\.\:] *(\d+) *$",
810
+ h_m_only_seen_fixer,
811
+ date,
812
+ flags=re.IGNORECASE
813
+ )
814
+ date = re.sub(
815
+ r"(?<=\d)([AaPp])(?=[Mm])",
816
+ r" \1",
817
+ date,
818
+ flags=re.IGNORECASE
819
+ )
746
820
  # replace is defined further below in the file
747
821
  # better use original re.sub for safety
748
822
  parsed_okay = parse_date(
@@ -3974,9 +4048,9 @@ def Flt(x: str|int|float) -> float:
3974
4048
  return 1.0\
3975
4049
  if x else 0.0
3976
4050
  if isinstance(x, str):
3977
- x = replace(
4051
+ x = replacei(
3978
4052
  x.strip(),
3979
- r"[^e\+\-\.\d]",
4053
+ r"[^Ee\+\-\.\d]|(?<=[A-Za-z_])[Ee]|[Ee](?=[A-Za-z_])",
3980
4054
  ""
3981
4055
  )
3982
4056
  return float(x)
@@ -5592,7 +5666,7 @@ def f(*args) -> str:
5592
5666
  blacklisted_items: list[str] = [*blacklisted_keywords, *blacklisted_functions]
5593
5667
  for arg in args:
5594
5668
  if isinstance(arg, bool):
5595
- arg = "Yes" if arg == True else "No"
5669
+ arg = "Han" if arg == True else "Nahi"
5596
5670
  try:
5597
5671
  ast.parse(f"f'{arg}'")
5598
5672
  arg_lower: str = arg.lower()
@@ -5613,7 +5687,6 @@ def f(*args) -> str:
5613
5687
  return formatted
5614
5688
  def printf(*args, **kwargs) -> None:
5615
5689
  print(f(*args), **kwargs)
5616
- kaho = printf
5617
5690
  def khali(x: Iterable) -> bool:
5618
5691
  if x is None:
5619
5692
  return True
@@ -86,6 +86,9 @@ class SQL:
86
86
  max_=None,
87
87
  only=None,
88
88
  sirf=None,
89
+ chuno=None,
90
+ limit=None,
91
+ n=None,
89
92
  *args,
90
93
  **kwargs
91
94
  ) ->\
@@ -104,6 +107,9 @@ class SQL:
104
107
  or max_\
105
108
  or only\
106
109
  or sirf\
110
+ or chuno\
111
+ or limit\
112
+ or n\
107
113
  or fetch
108
114
  if isinstance(
109
115
  fetch,
@@ -122,5 +122,6 @@ def cust_print(*args, **kwargs):
122
122
  is_printing = False
123
123
  # if args is empty, prints a line break
124
124
  (builtins.enumer, builtins.print) = (numbered, cust_print)
125
+ builtins.kaho = kaho = print
125
126
  __all__: list[str] = [k for k in globals() if not k.startswith("_")]
126
127
  __all__.extend(['__join_into_words_version_2__', '__add_module__'])
@@ -1280,8 +1280,14 @@ def KL_Py_pypi_exec_(code: str, eval_mode: bool = False) -> str:
1280
1280
  1
1281
1281
  )
1282
1282
  try:
1283
+ frame = inspect.currentframe()\
1284
+ .f_back
1285
+ _glob: dict = frame.f_globals
1286
+ _loc: dict = frame.f_locals
1283
1287
  exec(
1284
- translated
1288
+ translated,
1289
+ _glob,
1290
+ _loc
1285
1291
  )
1286
1292
  except FileNotFoundError as e:
1287
1293
  error: str = e.args[0]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: KL_Py
3
- Version: 0.3.6
3
+ Version: 0.3.8
4
4
  Summary: A Python simplification module
5
5
  Author-email: Abbaskhurram255 <abbaskhurram255@gmail.com>
6
6
  Classifier: Programming Language :: Python :: 3
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes