Documented ILE_MainWindow and removed unused defaultLociations dialog

v3.1
Griffiths Lott 3 years ago
parent 5745fd0ccd
commit b0e2bf6965
  1. 4
      .gitignore
  2. 2
      IL Extract.spec
  3. 3
      compile_gui
  4. 196
      defLocs_Window.py
  5. 197
      defLocs_Window2.py
  6. 324
      main.py
  7. 268
      mainWindow.ui
  8. 140
      mainWindow_new.py
  9. 2
      package.sh
  10. 2
      settings.json
  11. 16
      v3_todo.txt
  12. 1
      venv/Lib/site-packages/PyQt5-5.15.7.dist-info/INSTALLER
  13. 65
      venv/Lib/site-packages/PyQt5-5.15.7.dist-info/METADATA
  14. 988
      venv/Lib/site-packages/PyQt5-5.15.7.dist-info/RECORD
  15. 0
      venv/Lib/site-packages/PyQt5-5.15.7.dist-info/REQUESTED
  16. 4
      venv/Lib/site-packages/PyQt5-5.15.7.dist-info/WHEEL
  17. 4
      venv/Lib/site-packages/PyQt5-5.15.7.dist-info/entry_points.txt
  18. BIN
      venv/Lib/site-packages/PyQt5/QAxContainer.pyd
  19. 105
      venv/Lib/site-packages/PyQt5/QAxContainer.pyi
  20. BIN
      venv/Lib/site-packages/PyQt5/Qt.pyd
  21. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5Bluetooth.dll
  22. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5Core.dll
  23. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5DBus.dll
  24. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5Designer.dll
  25. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5Gui.dll
  26. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5Help.dll
  27. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5Location.dll
  28. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5Multimedia.dll
  29. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5MultimediaWidgets.dll
  30. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5Network.dll
  31. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5Nfc.dll
  32. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5OpenGL.dll
  33. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5Positioning.dll
  34. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5PositioningQuick.dll
  35. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5PrintSupport.dll
  36. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5Qml.dll
  37. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5QmlModels.dll
  38. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5QmlWorkerScript.dll
  39. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5Quick.dll
  40. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5Quick3D.dll
  41. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5Quick3DAssetImport.dll
  42. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5Quick3DRender.dll
  43. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5Quick3DRuntimeRender.dll
  44. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5Quick3DUtils.dll
  45. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5QuickControls2.dll
  46. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5QuickParticles.dll
  47. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5QuickShapes.dll
  48. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5QuickTemplates2.dll
  49. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5QuickTest.dll
  50. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5QuickWidgets.dll
  51. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5RemoteObjects.dll
  52. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5Sensors.dll
  53. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5SerialPort.dll
  54. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5Sql.dll
  55. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5Svg.dll
  56. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5Test.dll
  57. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5TextToSpeech.dll
  58. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5WebChannel.dll
  59. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5WebSockets.dll
  60. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5WebView.dll
  61. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5Widgets.dll
  62. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5WinExtras.dll
  63. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5Xml.dll
  64. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/Qt5XmlPatterns.dll
  65. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/concrt140.dll
  66. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/d3dcompiler_47.dll
  67. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/libEGL.dll
  68. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/libGLESv2.dll
  69. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/libcrypto-1_1-x64.dll
  70. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/libeay32.dll
  71. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/libssl-1_1-x64.dll
  72. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/msvcp140.dll
  73. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/msvcp140_1.dll
  74. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/msvcp140_2.dll
  75. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/opengl32sw.dll
  76. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/ssleay32.dll
  77. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/vcruntime140.dll
  78. BIN
      venv/Lib/site-packages/PyQt5/Qt5/bin/vcruntime140_1.dll
  79. BIN
      venv/Lib/site-packages/PyQt5/Qt5/plugins/assetimporters/assimp.dll
  80. BIN
      venv/Lib/site-packages/PyQt5/Qt5/plugins/assetimporters/uip.dll
  81. BIN
      venv/Lib/site-packages/PyQt5/Qt5/plugins/audio/qtaudio_wasapi.dll
  82. BIN
      venv/Lib/site-packages/PyQt5/Qt5/plugins/audio/qtaudio_windows.dll
  83. BIN
      venv/Lib/site-packages/PyQt5/Qt5/plugins/bearer/qgenericbearer.dll
  84. BIN
      venv/Lib/site-packages/PyQt5/Qt5/plugins/generic/qtuiotouchplugin.dll
  85. BIN
      venv/Lib/site-packages/PyQt5/Qt5/plugins/geometryloaders/defaultgeometryloader.dll
  86. BIN
      venv/Lib/site-packages/PyQt5/Qt5/plugins/geometryloaders/gltfgeometryloader.dll
  87. BIN
      venv/Lib/site-packages/PyQt5/Qt5/plugins/geoservices/qtgeoservices_esri.dll
  88. BIN
      venv/Lib/site-packages/PyQt5/Qt5/plugins/geoservices/qtgeoservices_itemsoverlay.dll
  89. BIN
      venv/Lib/site-packages/PyQt5/Qt5/plugins/geoservices/qtgeoservices_mapbox.dll
  90. BIN
      venv/Lib/site-packages/PyQt5/Qt5/plugins/geoservices/qtgeoservices_nokia.dll
  91. BIN
      venv/Lib/site-packages/PyQt5/Qt5/plugins/geoservices/qtgeoservices_osm.dll
  92. BIN
      venv/Lib/site-packages/PyQt5/Qt5/plugins/iconengines/qsvgicon.dll
  93. BIN
      venv/Lib/site-packages/PyQt5/Qt5/plugins/imageformats/qgif.dll
  94. BIN
      venv/Lib/site-packages/PyQt5/Qt5/plugins/imageformats/qicns.dll
  95. BIN
      venv/Lib/site-packages/PyQt5/Qt5/plugins/imageformats/qico.dll
  96. BIN
      venv/Lib/site-packages/PyQt5/Qt5/plugins/imageformats/qjpeg.dll
  97. BIN
      venv/Lib/site-packages/PyQt5/Qt5/plugins/imageformats/qsvg.dll
  98. BIN
      venv/Lib/site-packages/PyQt5/Qt5/plugins/imageformats/qtga.dll
  99. BIN
      venv/Lib/site-packages/PyQt5/Qt5/plugins/imageformats/qtiff.dll
  100. BIN
      venv/Lib/site-packages/PyQt5/Qt5/plugins/imageformats/qwbmp.dll
  101. Some files were not shown because too many files have changed in this diff Show More

4
.gitignore vendored

@ -0,0 +1,4 @@
build/
venv/
dist/
*.spec

@ -8,7 +8,7 @@ a = Analysis(
['main.py'],
pathex=[],
binaries=[],
datas=[('settings.json', '.'), ('assets/*', 'assets/.')],
datas=[('assets/extract.svg', '.'), ('assets/process.svg', '.'), ('assets/folder.svg', '.'), ('assets/copy.svg', '.'), ('settings.json', '.')],
hiddenimports=[],
hookspath=[],
hooksconfig={},

@ -1,2 +1 @@
pyinstaller -w --add-data "extract.svg;." --add-data "process.svg;." --add-data "folder.svg;." --add-data "copy.svg;." -i .\extract.ico -n "IL Extract" .\main.py
pyinstaller -w --add-data "assets/extract.svg;." --add-data "assets/process.svg;." --add-data "assets/folder.svg;." --add-data "assets/copy.svg;." --add-data "settings.json;." -i assets/extract.ico -n "IL Extract" main.py

@ -1,196 +0,0 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'ui/default_locations.ui'
#
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_defaultLocationDiag(object):
def setupUi(self, defaultLocationDiag):
defaultLocationDiag.setObjectName("defaultLocationDiag")
defaultLocationDiag.setWindowModality(QtCore.Qt.NonModal)
defaultLocationDiag.resize(954, 525)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(defaultLocationDiag.sizePolicy().hasHeightForWidth())
defaultLocationDiag.setSizePolicy(sizePolicy)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap("ui/extract.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
defaultLocationDiag.setWindowIcon(icon)
self.gridLayout_2 = QtWidgets.QGridLayout(defaultLocationDiag)
self.gridLayout_2.setObjectName("gridLayout_2")
self.gridLayout = QtWidgets.QGridLayout()
self.gridLayout.setObjectName("gridLayout")
self.label = QtWidgets.QLabel(defaultLocationDiag)
font = QtGui.QFont()
font.setPointSize(14)
font.setBold(True)
font.setWeight(75)
self.label.setFont(font)
self.label.setObjectName("label")
self.gridLayout.addWidget(self.label, 0, 0, 1, 2)
self.label_2 = QtWidgets.QLabel(defaultLocationDiag)
self.label_2.setWordWrap(True)
self.label_2.setObjectName("label_2")
self.gridLayout.addWidget(self.label_2, 1, 0, 1, 4)
self.label_3 = QtWidgets.QLabel(defaultLocationDiag)
self.label_3.setWordWrap(True)
self.label_3.setObjectName("label_3")
self.gridLayout.addWidget(self.label_3, 2, 0, 1, 4)
self.label_4 = QtWidgets.QLabel(defaultLocationDiag)
font = QtGui.QFont()
font.setItalic(True)
self.label_4.setFont(font)
self.label_4.setWordWrap(True)
self.label_4.setObjectName("label_4")
self.gridLayout.addWidget(self.label_4, 3, 0, 1, 4)
self.label_5 = QtWidgets.QLabel(defaultLocationDiag)
font = QtGui.QFont()
font.setBold(True)
font.setWeight(75)
self.label_5.setFont(font)
self.label_5.setObjectName("label_5")
self.gridLayout.addWidget(self.label_5, 4, 0, 1, 1)
spacerItem = QtWidgets.QSpacerItem(588, 13, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
self.gridLayout.addItem(spacerItem, 4, 1, 1, 2)
self.label_6 = QtWidgets.QLabel(defaultLocationDiag)
font = QtGui.QFont()
font.setBold(True)
font.setWeight(75)
self.label_6.setFont(font)
self.label_6.setObjectName("label_6")
self.gridLayout.addWidget(self.label_6, 4, 3, 1, 1)
self.ach_B = QtWidgets.QPushButton(defaultLocationDiag)
self.ach_B.setObjectName("ach_B")
self.gridLayout.addWidget(self.ach_B, 5, 0, 1, 1)
self.ach_LE = QtWidgets.QLineEdit(defaultLocationDiag)
self.ach_LE.setMinimumSize(QtCore.QSize(581, 0))
self.ach_LE.setObjectName("ach_LE")
self.gridLayout.addWidget(self.ach_LE, 5, 1, 1, 1)
self.ach_FN = QtWidgets.QLineEdit(defaultLocationDiag)
self.ach_FN.setObjectName("ach_FN")
self.gridLayout.addWidget(self.ach_FN, 5, 2, 1, 2)
self.disp_B = QtWidgets.QPushButton(defaultLocationDiag)
self.disp_B.setObjectName("disp_B")
self.gridLayout.addWidget(self.disp_B, 6, 0, 1, 1)
self.disp_LE = QtWidgets.QLineEdit(defaultLocationDiag)
self.disp_LE.setMinimumSize(QtCore.QSize(581, 0))
self.disp_LE.setObjectName("disp_LE")
self.gridLayout.addWidget(self.disp_LE, 6, 1, 1, 1)
self.disp_FN = QtWidgets.QLineEdit(defaultLocationDiag)
self.disp_FN.setObjectName("disp_FN")
self.gridLayout.addWidget(self.disp_FN, 6, 2, 1, 2)
self.gl_B = QtWidgets.QPushButton(defaultLocationDiag)
self.gl_B.setObjectName("gl_B")
self.gridLayout.addWidget(self.gl_B, 7, 0, 1, 1)
self.gl_LE = QtWidgets.QLineEdit(defaultLocationDiag)
self.gl_LE.setMinimumSize(QtCore.QSize(581, 0))
self.gl_LE.setObjectName("gl_LE")
self.gridLayout.addWidget(self.gl_LE, 7, 1, 1, 1)
self.gl_FN = QtWidgets.QLineEdit(defaultLocationDiag)
self.gl_FN.setObjectName("gl_FN")
self.gridLayout.addWidget(self.gl_FN, 7, 2, 1, 2)
self.lb_B = QtWidgets.QPushButton(defaultLocationDiag)
self.lb_B.setObjectName("lb_B")
self.gridLayout.addWidget(self.lb_B, 8, 0, 1, 1)
self.lb_LE = QtWidgets.QLineEdit(defaultLocationDiag)
self.lb_LE.setMinimumSize(QtCore.QSize(581, 0))
self.lb_LE.setObjectName("lb_LE")
self.gridLayout.addWidget(self.lb_LE, 8, 1, 1, 1)
self.lb_FN = QtWidgets.QLineEdit(defaultLocationDiag)
self.lb_FN.setObjectName("lb_FN")
self.gridLayout.addWidget(self.lb_FN, 8, 2, 1, 2)
self.minv_B = QtWidgets.QPushButton(defaultLocationDiag)
self.minv_B.setObjectName("minv_B")
self.gridLayout.addWidget(self.minv_B, 9, 0, 1, 1)
self.minv_LE = QtWidgets.QLineEdit(defaultLocationDiag)
self.minv_LE.setMinimumSize(QtCore.QSize(581, 0))
self.minv_LE.setObjectName("minv_LE")
self.gridLayout.addWidget(self.minv_LE, 9, 1, 1, 1)
self.minv_FN = QtWidgets.QLineEdit(defaultLocationDiag)
self.minv_FN.setObjectName("minv_FN")
self.gridLayout.addWidget(self.minv_FN, 9, 2, 1, 2)
self.niv_B = QtWidgets.QPushButton(defaultLocationDiag)
self.niv_B.setObjectName("niv_B")
self.gridLayout.addWidget(self.niv_B, 10, 0, 1, 1)
self.niv_LE = QtWidgets.QLineEdit(defaultLocationDiag)
self.niv_LE.setMinimumSize(QtCore.QSize(581, 0))
self.niv_LE.setObjectName("niv_LE")
self.gridLayout.addWidget(self.niv_LE, 10, 1, 1, 1)
self.niv_FN = QtWidgets.QLineEdit(defaultLocationDiag)
self.niv_FN.setObjectName("niv_FN")
self.gridLayout.addWidget(self.niv_FN, 10, 2, 1, 2)
self.ren_B = QtWidgets.QPushButton(defaultLocationDiag)
self.ren_B.setObjectName("ren_B")
self.gridLayout.addWidget(self.ren_B, 11, 0, 1, 1)
self.ren_LE = QtWidgets.QLineEdit(defaultLocationDiag)
self.ren_LE.setMinimumSize(QtCore.QSize(581, 0))
self.ren_LE.setObjectName("ren_LE")
self.gridLayout.addWidget(self.ren_LE, 11, 1, 1, 1)
self.ren_FN = QtWidgets.QLineEdit(defaultLocationDiag)
self.ren_FN.setObjectName("ren_FN")
self.gridLayout.addWidget(self.ren_FN, 11, 2, 1, 2)
self.pymt_B = QtWidgets.QPushButton(defaultLocationDiag)
self.pymt_B.setObjectName("pymt_B")
self.gridLayout.addWidget(self.pymt_B, 12, 0, 1, 1)
self.pymt_LE = QtWidgets.QLineEdit(defaultLocationDiag)
self.pymt_LE.setMinimumSize(QtCore.QSize(581, 0))
self.pymt_LE.setObjectName("pymt_LE")
self.gridLayout.addWidget(self.pymt_LE, 12, 1, 1, 1)
self.pymt_FN = QtWidgets.QLineEdit(defaultLocationDiag)
self.pymt_FN.setObjectName("pymt_FN")
self.gridLayout.addWidget(self.pymt_FN, 12, 2, 1, 2)
self.uap_B = QtWidgets.QPushButton(defaultLocationDiag)
self.uap_B.setObjectName("uap_B")
self.gridLayout.addWidget(self.uap_B, 13, 0, 1, 1)
self.uap_LE = QtWidgets.QLineEdit(defaultLocationDiag)
self.uap_LE.setMinimumSize(QtCore.QSize(581, 0))
self.uap_LE.setObjectName("uap_LE")
self.gridLayout.addWidget(self.uap_LE, 13, 1, 1, 1)
self.uap_FN = QtWidgets.QLineEdit(defaultLocationDiag)
self.uap_FN.setObjectName("uap_FN")
self.gridLayout.addWidget(self.uap_FN, 13, 2, 1, 2)
self.optionBBox = QtWidgets.QDialogButtonBox(defaultLocationDiag)
self.optionBBox.setOrientation(QtCore.Qt.Horizontal)
self.optionBBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Save)
self.optionBBox.setObjectName("optionBBox")
self.gridLayout.addWidget(self.optionBBox, 14, 3, 1, 1)
self.gridLayout_2.addLayout(self.gridLayout, 0, 0, 1, 1)
self.retranslateUi(defaultLocationDiag)
self.optionBBox.accepted.connect(defaultLocationDiag.accept) # type: ignore
self.optionBBox.rejected.connect(defaultLocationDiag.reject) # type: ignore
QtCore.QMetaObject.connectSlotsByName(defaultLocationDiag)
def retranslateUi(self, defaultLocationDiag):
_translate = QtCore.QCoreApplication.translate
defaultLocationDiag.setWindowTitle(_translate("defaultLocationDiag", "Default locations"))
self.label.setText(_translate("defaultLocationDiag", "Default File Locations:"))
self.label_2.setText(_translate("defaultLocationDiag", "Here you can determine which folders will be automatically be opened for each report type. You can even specify which file should be defaulted to."))
self.label_3.setText(_translate("defaultLocationDiag", "Use the following inline formaters to specify dates that will be automatically filled with the current date when running the program:"))
self.label_4.setText(_translate("defaultLocationDiag", "Day of Month {d} | Month of Year {m} | Year {y} | Note that using multiple characters equates to representing with that number of digits so: {dd} == 07 or {mm} == 02 or {yy} == 22 or {yyyy} == 2022"))
self.label_5.setText(_translate("defaultLocationDiag", "Folder Path"))
self.label_6.setToolTip(_translate("defaultLocationDiag", "<html><head/><body><p>Default file name to look for. Don\'t foreget the file type (.xlsx)</p></body></html>"))
self.label_6.setText(_translate("defaultLocationDiag", "File Name"))
self.ach_B.setText(_translate("defaultLocationDiag", "Edit ACH"))
self.disp_B.setText(_translate("defaultLocationDiag", "Edit Dispostition"))
self.gl_B.setWhatsThis(_translate("defaultLocationDiag", "<html><head/><body><p>Gain Loss</p></body></html>"))
self.gl_B.setText(_translate("defaultLocationDiag", "Edit Gain Loss"))
self.lb_B.setText(_translate("defaultLocationDiag", "Edit Lock Box"))
self.minv_B.setWhatsThis(_translate("defaultLocationDiag", "<html><head/><body><p>Good for Manual Invoicing</p></body></html>"))
self.minv_B.setText(_translate("defaultLocationDiag", "Edit Manual Invoice"))
self.niv_B.setWhatsThis(_translate("defaultLocationDiag", "<html><head/><body><p>Good for: Net Investment reports (loan and after)</p></body></html>"))
self.niv_B.setText(_translate("defaultLocationDiag", "Edit Net Inv"))
self.ren_B.setWhatsThis(_translate("defaultLocationDiag", "<html><head/><body><p>Renewal Net Investment Trial Balance</p></body></html>"))
self.ren_B.setText(_translate("defaultLocationDiag", "Edit Renewl NIV"))
self.pymt_B.setWhatsThis(_translate("defaultLocationDiag", "<html><head/><body><p>Payment transactions:</p><p>- Wires, VMCC, PBP. EPAY, Returned Check</p></body></html>"))
self.pymt_B.setText(_translate("defaultLocationDiag", "Edit Payments"))
self.uap_B.setWhatsThis(_translate("defaultLocationDiag", "<html><head/><body><p>Unapplied</p></body></html>"))
self.uap_B.setText(_translate("defaultLocationDiag", "Edit Unaplied"))

@ -1,197 +0,0 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'ui/default_locations.ui'
#
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
# V3.0 | 08/22/22
class Ui_defaultLocationDiag(object):
def setupUi(self, defaultLocationDiag):
defaultLocationDiag.setObjectName("defaultLocationDiag")
defaultLocationDiag.setWindowModality(QtCore.Qt.NonModal)
defaultLocationDiag.resize(954, 525)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(defaultLocationDiag.sizePolicy().hasHeightForWidth())
defaultLocationDiag.setSizePolicy(sizePolicy)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap("ui/extract.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
defaultLocationDiag.setWindowIcon(icon)
self.gridLayout_2 = QtWidgets.QGridLayout(defaultLocationDiag)
self.gridLayout_2.setObjectName("gridLayout_2")
self.gridLayout = QtWidgets.QGridLayout()
self.gridLayout.setObjectName("gridLayout")
self.label = QtWidgets.QLabel(defaultLocationDiag)
font = QtGui.QFont()
font.setPointSize(14)
font.setBold(True)
font.setWeight(75)
self.label.setFont(font)
self.label.setObjectName("label")
self.gridLayout.addWidget(self.label, 0, 0, 1, 2)
self.label_2 = QtWidgets.QLabel(defaultLocationDiag)
self.label_2.setWordWrap(True)
self.label_2.setObjectName("label_2")
self.gridLayout.addWidget(self.label_2, 1, 0, 1, 4)
self.label_3 = QtWidgets.QLabel(defaultLocationDiag)
self.label_3.setWordWrap(True)
self.label_3.setObjectName("label_3")
self.gridLayout.addWidget(self.label_3, 2, 0, 1, 4)
self.label_4 = QtWidgets.QLabel(defaultLocationDiag)
font = QtGui.QFont()
font.setItalic(True)
self.label_4.setFont(font)
self.label_4.setWordWrap(True)
self.label_4.setObjectName("label_4")
self.gridLayout.addWidget(self.label_4, 3, 0, 1, 4)
self.label_5 = QtWidgets.QLabel(defaultLocationDiag)
font = QtGui.QFont()
font.setBold(True)
font.setWeight(75)
self.label_5.setFont(font)
self.label_5.setObjectName("label_5")
self.gridLayout.addWidget(self.label_5, 4, 0, 1, 1)
spacerItem = QtWidgets.QSpacerItem(588, 13, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
self.gridLayout.addItem(spacerItem, 4, 1, 1, 2)
self.label_6 = QtWidgets.QLabel(defaultLocationDiag)
font = QtGui.QFont()
font.setBold(True)
font.setWeight(75)
self.label_6.setFont(font)
self.label_6.setObjectName("label_6")
self.gridLayout.addWidget(self.label_6, 4, 3, 1, 1)
self.ach_B = QtWidgets.QPushButton(defaultLocationDiag)
self.ach_B.setObjectName("ach_B")
self.gridLayout.addWidget(self.ach_B, 5, 0, 1, 1)
self.ach_LE = QtWidgets.QLineEdit(defaultLocationDiag)
self.ach_LE.setMinimumSize(QtCore.QSize(581, 0))
self.ach_LE.setObjectName("ach_LE")
self.gridLayout.addWidget(self.ach_LE, 5, 1, 1, 1)
self.ach_FN = QtWidgets.QLineEdit(defaultLocationDiag)
self.ach_FN.setObjectName("ach_FN")
self.gridLayout.addWidget(self.ach_FN, 5, 2, 1, 2)
self.disp_B = QtWidgets.QPushButton(defaultLocationDiag)
self.disp_B.setObjectName("disp_B")
self.gridLayout.addWidget(self.disp_B, 6, 0, 1, 1)
self.disp_LE = QtWidgets.QLineEdit(defaultLocationDiag)
self.disp_LE.setMinimumSize(QtCore.QSize(581, 0))
self.disp_LE.setObjectName("disp_LE")
self.gridLayout.addWidget(self.disp_LE, 6, 1, 1, 1)
self.disp_FN = QtWidgets.QLineEdit(defaultLocationDiag)
self.disp_FN.setObjectName("disp_FN")
self.gridLayout.addWidget(self.disp_FN, 6, 2, 1, 2)
self.gl_B = QtWidgets.QPushButton(defaultLocationDiag)
self.gl_B.setObjectName("gl_B")
self.gridLayout.addWidget(self.gl_B, 7, 0, 1, 1)
self.gl_LE = QtWidgets.QLineEdit(defaultLocationDiag)
self.gl_LE.setMinimumSize(QtCore.QSize(581, 0))
self.gl_LE.setObjectName("gl_LE")
self.gridLayout.addWidget(self.gl_LE, 7, 1, 1, 1)
self.gl_FN = QtWidgets.QLineEdit(defaultLocationDiag)
self.gl_FN.setObjectName("gl_FN")
self.gridLayout.addWidget(self.gl_FN, 7, 2, 1, 2)
self.lb_B = QtWidgets.QPushButton(defaultLocationDiag)
self.lb_B.setObjectName("lb_B")
self.gridLayout.addWidget(self.lb_B, 8, 0, 1, 1)
self.lb_LE = QtWidgets.QLineEdit(defaultLocationDiag)
self.lb_LE.setMinimumSize(QtCore.QSize(581, 0))
self.lb_LE.setObjectName("lb_LE")
self.gridLayout.addWidget(self.lb_LE, 8, 1, 1, 1)
self.lb_FN = QtWidgets.QLineEdit(defaultLocationDiag)
self.lb_FN.setObjectName("lb_FN")
self.gridLayout.addWidget(self.lb_FN, 8, 2, 1, 2)
self.minv_B = QtWidgets.QPushButton(defaultLocationDiag)
self.minv_B.setObjectName("minv_B")
self.gridLayout.addWidget(self.minv_B, 9, 0, 1, 1)
self.minv_LE = QtWidgets.QLineEdit(defaultLocationDiag)
self.minv_LE.setMinimumSize(QtCore.QSize(581, 0))
self.minv_LE.setObjectName("minv_LE")
self.gridLayout.addWidget(self.minv_LE, 9, 1, 1, 1)
self.minv_FN = QtWidgets.QLineEdit(defaultLocationDiag)
self.minv_FN.setObjectName("minv_FN")
self.gridLayout.addWidget(self.minv_FN, 9, 2, 1, 2)
self.niv_B = QtWidgets.QPushButton(defaultLocationDiag)
self.niv_B.setObjectName("niv_B")
self.gridLayout.addWidget(self.niv_B, 10, 0, 1, 1)
self.niv_LE = QtWidgets.QLineEdit(defaultLocationDiag)
self.niv_LE.setMinimumSize(QtCore.QSize(581, 0))
self.niv_LE.setObjectName("niv_LE")
self.gridLayout.addWidget(self.niv_LE, 10, 1, 1, 1)
self.niv_FN = QtWidgets.QLineEdit(defaultLocationDiag)
self.niv_FN.setObjectName("niv_FN")
self.gridLayout.addWidget(self.niv_FN, 10, 2, 1, 2)
self.ren_B = QtWidgets.QPushButton(defaultLocationDiag)
self.ren_B.setObjectName("ren_B")
self.gridLayout.addWidget(self.ren_B, 11, 0, 1, 1)
self.ren_LE = QtWidgets.QLineEdit(defaultLocationDiag)
self.ren_LE.setMinimumSize(QtCore.QSize(581, 0))
self.ren_LE.setObjectName("ren_LE")
self.gridLayout.addWidget(self.ren_LE, 11, 1, 1, 1)
self.ren_FN = QtWidgets.QLineEdit(defaultLocationDiag)
self.ren_FN.setObjectName("ren_FN")
self.gridLayout.addWidget(self.ren_FN, 11, 2, 1, 2)
self.pymt_B = QtWidgets.QPushButton(defaultLocationDiag)
self.pymt_B.setObjectName("pymt_B")
self.gridLayout.addWidget(self.pymt_B, 12, 0, 1, 1)
self.pymt_LE = QtWidgets.QLineEdit(defaultLocationDiag)
self.pymt_LE.setMinimumSize(QtCore.QSize(581, 0))
self.pymt_LE.setObjectName("pymt_LE")
self.gridLayout.addWidget(self.pymt_LE, 12, 1, 1, 1)
self.pymt_FN = QtWidgets.QLineEdit(defaultLocationDiag)
self.pymt_FN.setObjectName("pymt_FN")
self.gridLayout.addWidget(self.pymt_FN, 12, 2, 1, 2)
self.uap_B = QtWidgets.QPushButton(defaultLocationDiag)
self.uap_B.setObjectName("uap_B")
self.gridLayout.addWidget(self.uap_B, 13, 0, 1, 1)
self.uap_LE = QtWidgets.QLineEdit(defaultLocationDiag)
self.uap_LE.setMinimumSize(QtCore.QSize(581, 0))
self.uap_LE.setObjectName("uap_LE")
self.gridLayout.addWidget(self.uap_LE, 13, 1, 1, 1)
self.uap_FN = QtWidgets.QLineEdit(defaultLocationDiag)
self.uap_FN.setObjectName("uap_FN")
self.gridLayout.addWidget(self.uap_FN, 13, 2, 1, 2)
self.optionBBox = QtWidgets.QDialogButtonBox(defaultLocationDiag)
self.optionBBox.setOrientation(QtCore.Qt.Horizontal)
self.optionBBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Save)
self.optionBBox.setObjectName("optionBBox")
self.gridLayout.addWidget(self.optionBBox, 14, 3, 1, 1)
self.gridLayout_2.addLayout(self.gridLayout, 0, 0, 1, 1)
self.retranslateUi(defaultLocationDiag)
self.optionBBox.accepted.connect(defaultLocationDiag.accept) # type: ignore
self.optionBBox.rejected.connect(defaultLocationDiag.reject) # type: ignore
QtCore.QMetaObject.connectSlotsByName(defaultLocationDiag)
def retranslateUi(self, defaultLocationDiag):
_translate = QtCore.QCoreApplication.translate
defaultLocationDiag.setWindowTitle(_translate("defaultLocationDiag", "Default locations"))
self.label.setText(_translate("defaultLocationDiag", "Default File Locations:"))
self.label_2.setText(_translate("defaultLocationDiag", "Here you can determine which folders will be automatically be opened for each report type. You can even specify which file should be defaulted to."))
self.label_3.setText(_translate("defaultLocationDiag", "Use the following inline formaters to specify dates that will be automatically filled with the current date when running the program:"))
self.label_4.setText(_translate("defaultLocationDiag", "Day of Month {d} | Month of Year {m} | Year {y} | Note that using multiple characters equates to representing with that number of digits so: {dd} == 07 or {mm} == 02 or {yy} == 22 or {yyyy} == 2022"))
self.label_5.setText(_translate("defaultLocationDiag", "Folder Path"))
self.label_6.setToolTip(_translate("defaultLocationDiag", "<html><head/><body><p>Default file name to look for. Don\'t foreget the file type (.xlsx)</p></body></html>"))
self.label_6.setText(_translate("defaultLocationDiag", "File Name"))
self.ach_B.setText(_translate("defaultLocationDiag", "Edit ACH"))
self.disp_B.setText(_translate("defaultLocationDiag", "Edit Dispostition"))
self.gl_B.setWhatsThis(_translate("defaultLocationDiag", "<html><head/><body><p>Gain Loss</p></body></html>"))
self.gl_B.setText(_translate("defaultLocationDiag", "Edit Gain Loss"))
self.lb_B.setText(_translate("defaultLocationDiag", "Edit Lock Box"))
self.minv_B.setWhatsThis(_translate("defaultLocationDiag", "<html><head/><body><p>Good for Manual Invoicing</p></body></html>"))
self.minv_B.setText(_translate("defaultLocationDiag", "Edit Manual Invoice"))
self.niv_B.setWhatsThis(_translate("defaultLocationDiag", "<html><head/><body><p>Good for: Net Investment reports (loan and after)</p></body></html>"))
self.niv_B.setText(_translate("defaultLocationDiag", "Edit Net Inv"))
self.ren_B.setWhatsThis(_translate("defaultLocationDiag", "<html><head/><body><p>Renewal Net Investment Trial Balance</p></body></html>"))
self.ren_B.setText(_translate("defaultLocationDiag", "Edit Renewl NIV"))
self.pymt_B.setWhatsThis(_translate("defaultLocationDiag", "<html><head/><body><p>Payment transactions:</p><p>- Wires, VMCC, PBP. EPAY, Returned Check</p></body></html>"))
self.pymt_B.setText(_translate("defaultLocationDiag", "Edit Payments"))
self.uap_B.setWhatsThis(_translate("defaultLocationDiag", "<html><head/><body><p>Unapplied</p></body></html>"))
self.uap_B.setText(_translate("defaultLocationDiag", "Edit Unaplied"))

@ -1,43 +1,81 @@
from ILE_MainWindow import Ui_MainWindow
from defLocs_Window2 import Ui_defaultLocationDiag
import sys
import os
import pandas as pd
import json
from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QApplication, QDialog, QMainWindow, QPushButton
from datetime import datetime as dt
import ILExtract as ilx
from logging import debug, DEBUG, basicConfig
print("Starting GUI... will anything else print?")
with open("settings.json") as s:
settings = json.loads(s.read())
if settings["debug"]:
basicConfig(filename='debug.log', encoding='utf-8', level=DEBUG)
debug("Running main.py...")
class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
"""
This is the main window that the users see. It's where they select the report file and report type.
"""
def __init__(self, *args, obj=None, **kwargs):
debug("MainWindow class init..")
super(MainWindow, self).__init__(*args, **kwargs)
self.setupUi(self)
self.setAcceptDrops(True)
# Allows the window to accept drag and drop files
# See dragEnterEvent an dropEvent
self.setAcceptDrops(True)
# Will hold the inputFile that is processed to create the ouput
self.inputFile = ""
# The location that the outputfile will be saved at
self.outputFile = ""
self.inputCustomized = False
# Load the settings.json
with open("settings.json") as s:
self.settings = json.loads(s.read())
# Set the current report type to ACH as default
self.curReportType = "ach"
# Set the extract function to match
self.extract_function = ilx.ach
cbs = self.copyButton.objectName()
# Run the report_type change to check for saved input file paths
self.report_type_change()
#
# Actions
#
# Opens the file selection window and sets the input file accordingly
self.inputFileButton.clicked.connect(self.getfile)
# Opens file location dialog and sets the ouput accordingly
self.outputFileButton.clicked.connect(self.setOutput)
# Initates the processing of the selected file
self.processReportButton.clicked.connect(self.process_selection)
# Copies the last processed dataframe into the users clipboard
self.copyButton.clicked.connect(self.to_clipboard)
# Adjusts the extract function and file paths based on new report type in combo box
self.reportTypeCB.currentTextChanged.connect(self.report_type_change)
# Opens the folder specified in output file
self.openFolderButton.clicked.connect(lambda: self.openWithDefaultApp(self.outputFile.removesuffix(self.outputFile.split('/')[-1])))
# Opens the last processed excel document
self.openExcelButton.clicked.connect(lambda: self.openWithDefaultApp(self.outputFile))
self.action_Default_Locations.triggered.connect(self.df)
# Sets the default text of the preview box
self.inputFilePreview.setText("Drag & Drop Input file here!")
def set_input(self, ifile):
"""
Triggerd by getFile() associated with the inputFile button
Reads the input file, sets the preview box to that excel doc and sets the
line edit and inputFile
Also sets the output file to a default structure. By default the output is put in the same
folder as the input file
! If the report type is minv_C we will save as .txt not .xlsx
Disables buttons since it is assumed this file has not yet been processed
- open excel button
- open folder button
- copy button
"""
debug(f"Executing set_input | input file: {ifile}")
with open(ifile, errors="replace") as inF:
txt = inF.read()
self.inputFilePreview.setText(txt)
@ -50,11 +88,11 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
# Automatically sets output to be in the same file as input, with a naming scheme
# The report type selected in the combo box will dictate the naming
if self.reportTypeCB.currentText() == "Minv_C":
debug(f"MINV_C file selected ({self.inputFile})! Using .txt for output.")
self.outputFile = f"{outputRoot}{self.reportTypeCB.currentText()}_{dt.now().strftime('%Y%m%d_%H%M')}.txt"
else:
self.outputFile = f"{outputRoot}{self.reportTypeCB.currentText().replace('/','')}_{dt.now().strftime('%Y%m%d_%H%M')}.xlsx"
self.outputFileLE.setText(self.outputFile)
self.inputCustomized = True
self.openExcelButton.setEnabled(False)
self.copyButton.setEnabled(False)
self.openFolderButton.setEnabled(True)
@ -62,30 +100,40 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
self.check_ready_to_process()
def getfile(self):
"""
Launches the file selection dialog then inits the set_input function
"""
debug("Launching getfile.")
inFile = QtWidgets.QFileDialog.getOpenFileName(self, 'Open file')
# If the user does not select a file we just exit and do not change anything
if inFile[0] == '':
debug(f"User did not select an input file! {inFile}")
return 1
else:
self.set_input(inFile[0])
def df(self):
dlg = defLocWindow(self)
dlg.exec()
with open("settings.json") as s:
self.settings = json.loads(s.read())
def dragEnterEvent(self, event):
"""
Allow users to drag file into the application
"""
debug(f"Drag and enter event triggered: {event}.")
if event.mimeData().hasUrls():
event.accept()
else:
event.ignore()
def dropEvent(self, event):
"""
Allow users to drag file into the application
"""
file = [u.toLocalFile() for u in event.mimeData().urls()][0]
print(file)
debug(f"Drop event: {event} | {file}\n Running set_input")
self.set_input(file)
def setOutput(self):
"""
Launches dialog to select output location and naming.
"""
# This allows the user to change the automatic naming and location
outFile = QtWidgets.QFileDialog.getSaveFileName(self, "Output file name")
if outFile[0] == '': return ''
@ -93,52 +141,58 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
self.outputFileLE.setText(f"{outFile[0]}__{dt.now().strftime('%Y%m%d_%H_%M')}.txt")
else:
self.outputFileLE.setText(f"{outFile[0]}__{dt.now().strftime('%Y%m%d_%H_%M')}.xlsx")
print(f"Output: {outFile}")
debug(f"setOutput: {outFile}")
self.outputFile = f"{outFile[0]}__{dt.now().strftime('%Y%m%d_%H_%M')}.xlsx"
debug(f"setOutput | output file: {self.outputFile}")
self.check_ready_to_process()
def check_ready_to_process(self):
"""
Makes sure there is an input and output selected before allowing processing
Disables the button of outputFile is blank
"""
# Makes sure there is an input and output selected before allowing processing
rtp = True if ((self.inputFile != "") & (self.outputFile != "")) else False
if rtp :
self.processReportButton.setEnabled(True)
debug("check_ready_to_process: Process button enabled")
if self.outputFile == "":
self.openFolderButton.setEnabled(False)
debug("check_ready_to_process: Process button disabled")
def process_selection(self):
print("Processing selection...")
"""
Kicks off the actual processing of the selected files
"""
debug(f"""Beginning file processing:
\nInput File: {self.inputFile} | Extract Function: {self.extract_function} | Report Type: {self.curReportType}""")
self.inputFilePreview.setText("Processing file...")
# If only this was python 3.10 and we could use switch statments
# but this should get the job done
#try:
# This is where the actual processing happens
# We create an ILReport object and pass in the nessecary information
print(self.inputFile)
print(self.outputFile)
# Use the ILReport class to process the file\
# need to set the input file, extract function to use, and output location
dataframe = ilx.ILReport(
location= self.inputFile,
extraction_function=self.extract_function,
output_location=self.outputFile,
).process()
# The text preview box can have trouble loading the larger dataframes so
# they are trimmed to 500 so that the users can see if anything got messed up
# The text preview box can have trouble loading the larger dataframes so
# they are trimmed to 500 so that the users can see if anything got messed up
smallDF = dataframe.iloc[0:500,:]
self.inputFilePreview.setText(smallDF.to_html(index=False))
#except:
# error = QtWidgets.QMessageBox()
# error.setWindowTitle('Error Processing File!')
# error.setText(f"Unable to process {self.inputFile}!\nPlease check input file!")
# Enable the excel button so users can open the file
self.openExcelButton.setEnabled(True)
# Enable the dopy button to copy this dataframe
self.copyButton.setEnabled(True)
# Checks if this input location is saved in settings.json.
# If there is no location for this report type it will be saved in the deafult
self.checked_for_saved()
# Allows user to open the output folder
self.openFolderButton.setEnabled(True)
self.inputCustomized = False
def preview_report(self):
df = pd.read_excel(self.outputFile)
self.inputFilePreview.setText(df.to_html())
def to_clipboard(self):
"""
Copies the file in output to the users clipboard
"""
df = pd.read_excel(self.outputFile)
df.to_clipboard(excel=True)
@ -147,19 +201,29 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
os.startfile(outputRoot)
def openWithDefaultApp(self, item):
print(item)
outputRoot = self.outputFile.removesuffix(self.outputFile.split('/')[-1])
"""
Opens the linked item with it's default application (excel)
"""
debug(f"openWithDefaultApp: {item}")
os.startfile(item)
def checked_for_saved(self):
"""
Checks if a report type already has a default location
If the default location is blank, the current inputFileLocation will be saved
"""
if self.settings["defaultLocations"][self.curReportType]["dir"] == '':
self.settings["defaultLocations"][self.curReportType]["dir"] = ('/').join(self.inputFile.split('/')[:-1])
debug(f"checked_for_saved: saved new deafult location | {self.curReportType} | {self.settings['defaultLocations'][self.curReportType]['dir']}")
with open('settings.json', 'w') as s:
# Save changes to the setting
json.dump(self.settings, s)
def report_type_change(self):
debug(f"Changing report type | Was: {self.curReportType} -> {self.reportTypeCB.currentText()}")
# Adjust the report type according to the combo box
# This will be used in settings the the extract function and determining file locations
# Disable the process report button since the input and output fields are now blank
self.processReportButton.setEnabled(False)
if self.reportTypeCB.currentText() == "ACH":
self.curReportType = "ach"
@ -203,6 +267,8 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
elif self.reportTypeCB.currentText() == "Returned Check":
self.curReportType = "pymt"
self.extract_function = ilx.payment_transactions
# Replace the hard-coded dates in the default locations with the current date
inputRoot = self.settings["defaultLocations"][self.curReportType]["dir"]\
.replace("{dd}",dt.now().strftime('%d'))\
.replace("{mm}",dt.now().strftime('%m'))\
@ -211,6 +277,7 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
.replace("{dd}",dt.now().strftime('%d'))\
.replace("{mm}",dt.now().strftime('%m'))\
.replace("{yyyy}",dt.now().strftime('%Y')).replace("{yy}",dt.now().strftime('%y'))
# If inputfile is blank, just leave the input root from settings
self.inputFile = f"{inputRoot}/{inputFile}" if (inputFile != '') else inputRoot
self.inputFileLE.setText(self.inputFile)
# Automatically sets output to be in the same file as input, with a naming scheme
@ -227,184 +294,17 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
self.openExcelButton.setEnabled(False)
self.copyButton.setEnabled(False)
self.openFolderButton.setEnabled(True)
print(self.inputFile)
print(self.outputFile)
self.check_ready_to_process()
class defLocWindow(QtWidgets.QDialog):
def __init__(self, parent=None):
super().__init__(parent)
# Create an instance of the GUI
self.ui = Ui_defaultLocationDiag()
# Run the .setupUi() method to show the GUI
self.ui.setupUi(self)
with open("settings.json") as s:
self.settings = json.loads(s.read())
self.load_user_settings()
# Add dest folder buttons
# Lambdas are used to create anon functions to that they don't execute at init
self.ui.ach_B.clicked.connect(lambda : self.add_defloc(self.ui.ach_B.objectName(), True))
self.ui.disp_B.clicked.connect(lambda : self.add_defloc(self.ui.disp_B.objectName(), True))
self.ui.gl_B.clicked.connect(lambda : self.add_defloc(self.ui.gl_B.objectName(), True))
self.ui.lb_B.clicked.connect(lambda : self.add_defloc(self.ui.lb_B.objectName(), True))
self.ui.minv_B.clicked.connect(lambda : self.add_defloc(self.ui.minv_B.objectName(), True))
self.ui.niv_B.clicked.connect(lambda : self.add_defloc(self.ui.niv_B.objectName(), True))
self.ui.ren_B.clicked.connect(lambda : self.add_defloc(self.ui.ren_B.objectName(), True))
self.ui.pymt_B.clicked.connect(lambda : self.add_defloc(self.ui.pymt_B.objectName(), True))
self.ui.uap_B.clicked.connect(lambda : self.add_defloc(self.ui.uap_B.objectName(), True))
# Text Changes
self.ui.ach_LE.textChanged.connect(lambda : self.add_defloc(self.ui.ach_B.objectName(), False))
self.ui.disp_LE.textChanged.connect(lambda : self.add_defloc(self.ui.disp_B.objectName(), False))
self.ui.gl_LE.textChanged.connect(lambda : self.add_defloc(self.ui.gl_B.objectName(), False))
self.ui.lb_LE.textChanged.connect(lambda : self.add_defloc(self.ui.lb_B.objectName(), False))
self.ui.minv_LE.textChanged.connect(lambda : self.add_defloc(self.ui.minv_B.objectName(), False))
self.ui.niv_LE.textChanged.connect(lambda : self.add_defloc(self.ui.niv_B.objectName(), False))
self.ui.ren_LE.textChanged.connect(lambda : self.add_defloc(self.ui.ren_B.objectName(), False))
self.ui.pymt_LE.textChanged.connect(lambda : self.add_defloc(self.ui.pymt_B.objectName(), False))
self.ui.uap_LE.textChanged.connect(lambda : self.add_defloc(self.ui.uap_B.objectName(), False))
debug(f"report_type_change | inputFile: {self.inputFile}")
debug(f"report_type_change | outputFile: {self.outputFile}")
self.check_ready_to_process()
self.ui.ach_FN.textChanged.connect(lambda : self.add_fn(self.ui.ach_FN.objectName()))
self.ui.disp_FN.textChanged.connect(lambda : self.add_fn(self.ui.disp_FN.objectName()))
self.ui.gl_FN.textChanged.connect(lambda : self.add_fn(self.ui.gl_FN.objectName()))
self.ui.lb_FN.textChanged.connect(lambda : self.add_fn(self.ui.lb_FN.objectName()))
self.ui.minv_FN.textChanged.connect(lambda : self.add_fn(self.ui.minv_FN.objectName()))
self.ui.niv_FN.textChanged.connect(lambda : self.add_fn(self.ui.niv_FN.objectName()))
self.ui.ren_FN.textChanged.connect(lambda : self.add_fn(self.ui.ren_FN.objectName()))
self.ui.pymt_FN.textChanged.connect(lambda : self.add_fn(self.ui.pymt_FN.objectName()))
self.ui.uap_FN.textChanged.connect(lambda : self.add_fn(self.ui.uap_FN.objectName()))
self.ui.optionBBox.accepted.connect(self.save_changes)
def add_defloc(self, button_name, use_filebrowser: bool):
folder = QtWidgets.QFileDialog.getExistingDirectory() if use_filebrowser else None
if folder == '':
use_filebrowser = False
report_type = button_name.split('_')[0]
if report_type == "ach":
if use_filebrowser:
self.ui.ach_LE.setText(folder)
else:
folder = self.ui.ach_LE.text()
elif report_type == "disp":
if use_filebrowser:
self.ui.disp_LE.setText(folder)
else:
folder = self.ui.disp_LE.text()
elif report_type == "gl":
if use_filebrowser:
self.ui.gl_LE.setText(folder)
else:
folder = self.ui.gl_LE.text()
elif report_type == "lb":
if use_filebrowser:
self.ui.lb_LE.setText(folder)
else:
folder = self.ui.lb_LE.text()
elif report_type == "minv":
if use_filebrowser:
self.ui.minv_LE.setText(folder)
else:
folder = self.ui.minv_LE.text()
elif report_type == "niv":
if use_filebrowser:
self.ui.niv_LE.setText(folder)
else:
folder = self.ui.niv_LE.text()
elif report_type == "ren":
if use_filebrowser:
self.ui.ren_LE.setText(folder)
else:
folder = self.ui.ren_LE.text()
elif report_type == "pymt":
if use_filebrowser:
self.ui.pymt_LE.setText(folder)
else:
folder = self.ui.pymt_LE.text()
elif report_type == "uap":
if use_filebrowser:
self.ui.uap_LE.setText(folder)
else:
folder = self.ui.uap_LE.text()
if folder != "":
self.settings["defaultLocations"][report_type]["dir"] = folder
def chg_folder(self, button_name):
report_type = button_name.split('_')[0]
if report_type == "ach":
self.settings["defaultLocations"][report_type]["fn"] = self.ui.ach_FN.text()
elif report_type == "disp":
self.settings["defaultLocations"][report_type]["fn"] = self.ui.disp_FN.text()
elif report_type == "gl":
self.settings["defaultLocations"][report_type]["fn"] = self.ui.gl_FN.text()
elif report_type == "lb":
self.settings["defaultLocations"][report_type]["fn"] = self.ui.lb_FN.text()
elif report_type == "minv":
self.settings["defaultLocations"][report_type]["fn"] = self.ui.minv_FN.text()
elif report_type == "niv":
self.settings["defaultLocations"][report_type]["fn"] = self.ui.niv_FN.text()
elif report_type == "ren":
self.settings["defaultLocations"][report_type]["fn"] = self.ui.ren_FN.text()
elif report_type == "pymt":
self.settings["defaultLocations"][report_type]["fn"] = self.ui.pymt_FN.text()
elif report_type == "uap":
self.settings["defaultLocations"][report_type]["fn"] = self.ui.uap_FN.text()
def add_fn(self, button_name):
report_type = button_name.split('_')[0]
if report_type == "ach":
self.settings["defaultLocations"][report_type]["fn"] = self.ui.ach_FN.text()
elif report_type == "disp":
self.settings["defaultLocations"][report_type]["fn"] = self.ui.disp_FN.text()
elif report_type == "gl":
self.settings["defaultLocations"][report_type]["fn"] = self.ui.gl_FN.text()
elif report_type == "lb":
self.settings["defaultLocations"][report_type]["fn"] = self.ui.lb_FN.text()
elif report_type == "minv":
self.settings["defaultLocations"][report_type]["fn"] = self.ui.minv_FN.text()
elif report_type == "niv":
self.settings["defaultLocations"][report_type]["fn"] = self.ui.niv_FN.text()
elif report_type == "ren":
self.settings["defaultLocations"][report_type]["fn"] = self.ui.ren_FN.text()
elif report_type == "pymt":
self.settings["defaultLocations"][report_type]["fn"] = self.ui.pymt_FN.text()
elif report_type == "uap":
self.settings["defaultLocations"][report_type]["fn"] = self.ui.uap_FN.text()
def load_user_settings(self):
self.ui.ach_LE.setText(self.settings["defaultLocations"]["ach"]["dir"])
self.ui.ach_FN.setText(self.settings["defaultLocations"]["ach"]["fn"])
self.ui.disp_LE.setText(self.settings["defaultLocations"]["disp"]["dir"])
self.ui.disp_FN.setText(self.settings["defaultLocations"]["disp"]["fn"])
self.ui.gl_LE.setText(self.settings["defaultLocations"]["gl"]["dir"])
self.ui.gl_FN.setText(self.settings["defaultLocations"]["gl"]["fn"])
self.ui.lb_LE.setText(self.settings["defaultLocations"]["lb"]["dir"])
self.ui.lb_FN.setText(self.settings["defaultLocations"]["lb"]["fn"])
self.ui.minv_LE.setText(self.settings["defaultLocations"]["minv"]["dir"])
self.ui.minv_FN.setText(self.settings["defaultLocations"]["minv"]["fn"])
self.ui.niv_LE.setText(self.settings["defaultLocations"]["niv"]["dir"])
self.ui.niv_FN.setText(self.settings["defaultLocations"]["niv"]["fn"])
self.ui.ren_LE.setText(self.settings["defaultLocations"]["ren"]["dir"])
self.ui.ren_FN.setText(self.settings["defaultLocations"]["ren"]["fn"])
self.ui.pymt_LE.setText(self.settings["defaultLocations"]["pymt"]["dir"])
self.ui.pymt_FN.setText(self.settings["defaultLocations"]["pymt"]["fn"])
self.ui.uap_LE.setText(self.settings["defaultLocations"]["uap"]["dir"])
self.ui.uap_FN.setText(self.settings["defaultLocations"]["uap"]["fn"])
def save_changes(self):
print(self.settings)
with open('settings.json', 'w') as s:
json.dump(self.settings, s)
print(self.settings)
# Defines the app
app = QtWidgets.QApplication(sys.argv)
# Sets the style
app.setStyle("Fusion")
# Builds the main window
window = MainWindow()
window.setWindowTitle("IL Extract")
window.show()
# Starts the app
app.exec()

@ -1,268 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>1001</width>
<height>664</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<widget class="QTextBrowser" name="inputFilePreview">
<property name="geometry">
<rect>
<x>20</x>
<y>220</y>
<width>951</width>
<height>391</height>
</rect>
</property>
</widget>
<widget class="QPushButton" name="processReportButton">
<property name="enabled">
<bool>false</bool>
</property>
<property name="geometry">
<rect>
<x>20</x>
<y>180</y>
<width>250</width>
<height>36</height>
</rect>
</property>
<property name="text">
<string>&amp;Process Report</string>
</property>
</widget>
<widget class="QPushButton" name="openReportButton">
<property name="enabled">
<bool>false</bool>
</property>
<property name="geometry">
<rect>
<x>280</x>
<y>180</y>
<width>241</width>
<height>36</height>
</rect>
</property>
<property name="text">
<string>&amp;Copy to Clipboard</string>
</property>
</widget>
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>21</x>
<y>90</y>
<width>951</width>
<height>84</height>
</rect>
</property>
<layout class="QVBoxLayout" name="fileSettingsBox">
<item>
<layout class="QHBoxLayout" name="inputFileBox">
<item>
<widget class="QPushButton" name="inputFileButton">
<property name="minimumSize">
<size>
<width>250</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>250</width>
<height>36</height>
</size>
</property>
<property name="text">
<string>Select &amp;InfoLease Report</string>
</property>
<property name="icon">
<iconset>
<normaloff>../../.designer/backup/Pictures/svgs/folder.svg</normaloff>../../.designer/backup/Pictures/svgs/folder.svg</iconset>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="inputFileLE">
<property name="readOnly">
<bool>true</bool>
</property>
<property name="placeholderText">
<string>No file selected</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="outFileLocation">
<item>
<widget class="QPushButton" name="outputFileButton">
<property name="minimumSize">
<size>
<width>250</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>250</width>
<height>36</height>
</size>
</property>
<property name="text">
<string>Select &amp;Report Output Location</string>
</property>
<property name="icon">
<iconset>
<normaloff>../../.designer/backup/Pictures/svgs/folder.svg</normaloff>../../.designer/backup/Pictures/svgs/folder.svg</iconset>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="outputFileLE">
<property name="readOnly">
<bool>true</bool>
</property>
<property name="placeholderText">
<string>No location selected</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QComboBox" name="reportTypeCB">
<property name="geometry">
<rect>
<x>21</x>
<y>51</y>
<width>250</width>
<height>37</height>
</rect>
</property>
<item>
<property name="text">
<string>ACH</string>
</property>
</item>
<item>
<property name="text">
<string>Disposition</string>
</property>
</item>
<item>
<property name="text">
<string>Gain Loss</string>
</property>
</item>
<item>
<property name="text">
<string>Lock Box</string>
</property>
</item>
<item>
<property name="text">
<string>Minv_C</string>
</property>
</item>
<item>
<property name="text">
<string>Net Inv. Loans</string>
</property>
</item>
<item>
<property name="text">
<string>NI Renewal</string>
</property>
</item>
<item>
<property name="text">
<string>NIV After</string>
</property>
</item>
<item>
<property name="text">
<string>PBP / Epay</string>
</property>
</item>
<item>
<property name="text">
<string>Returned Check</string>
</property>
</item>
<item>
<property name="text">
<string>Unapplied</string>
</property>
</item>
<item>
<property name="text">
<string>VMCC</string>
</property>
</item>
<item>
<property name="text">
<string>Wires</string>
</property>
</item>
</widget>
<widget class="QLabel" name="reportTypeL">
<property name="geometry">
<rect>
<x>21</x>
<y>21</y>
<width>144</width>
<height>24</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>14</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Infolease Report</string>
</property>
<property name="buddy">
<cstring>reportTypeCB</cstring>
</property>
</widget>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>1001</width>
<height>29</height>
</rect>
</property>
</widget>
<widget class="QStatusBar" name="statusbar"/>
</widget>
<tabstops>
<tabstop>reportTypeCB</tabstop>
<tabstop>inputFileButton</tabstop>
<tabstop>outputFileButton</tabstop>
<tabstop>processReportButton</tabstop>
<tabstop>openReportButton</tabstop>
<tabstop>inputFileLE</tabstop>
<tabstop>outputFileLE</tabstop>
<tabstop>inputFilePreview</tabstop>
</tabstops>
<resources/>
<connections/>
</ui>

@ -1,140 +0,0 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'MonarchReplace2.ui'
#
# Created by: PyQt5 UI code generator 5.15.6
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(1001, 664)
MainWindow.setWindowTitle('IL Extract')
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap("extract.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
icon2 = QtGui.QIcon()
icon2.addPixmap(QtGui.QPixmap("folder.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
iconCopy = QtGui.QIcon()
iconCopy.addPixmap(QtGui.QPixmap("copy.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
iconProcess = QtGui.QIcon()
iconProcess.addPixmap(QtGui.QPixmap("process.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
MainWindow.setWindowIcon(icon)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.inputFilePreview = QtWidgets.QTextBrowser(self.centralwidget)
self.inputFilePreview.setGeometry(QtCore.QRect(20, 220, 951, 391))
self.inputFilePreview.setObjectName("inputFilePreview")
self.processReportButton = QtWidgets.QPushButton(self.centralwidget)
self.processReportButton.setEnabled(False)
self.processReportButton.setGeometry(QtCore.QRect(20, 180, 250, 36))
self.processReportButton.setObjectName("processReportButton")
self.processReportButton.setIcon(iconProcess)
self.openReportButton = QtWidgets.QPushButton(self.centralwidget)
self.openReportButton.setEnabled(False)
self.openReportButton.setGeometry(QtCore.QRect(280, 180, 241, 36))
self.openReportButton.setObjectName("openReportButton")
self.openReportButton.setIcon(iconCopy)
self.layoutWidget = QtWidgets.QWidget(self.centralwidget)
self.layoutWidget.setGeometry(QtCore.QRect(21, 90, 951, 84))
self.layoutWidget.setObjectName("layoutWidget")
self.fileSettingsBox = QtWidgets.QVBoxLayout(self.layoutWidget)
self.fileSettingsBox.setContentsMargins(0, 0, 0, 0)
self.fileSettingsBox.setObjectName("fileSettingsBox")
self.inputFileBox = QtWidgets.QHBoxLayout()
self.inputFileBox.setObjectName("inputFileBox")
self.inputFileButton = QtWidgets.QPushButton(self.layoutWidget)
self.inputFileButton.setMinimumSize(QtCore.QSize(250, 0))
self.inputFileButton.setMaximumSize(QtCore.QSize(250, 36))
self.inputFileButton.setIcon(icon2)
self.inputFileButton.setObjectName("inputFileButton")
self.inputFileBox.addWidget(self.inputFileButton)
self.inputFileLE = QtWidgets.QLineEdit(self.layoutWidget)
self.inputFileLE.setReadOnly(True)
self.inputFileLE.setObjectName("inputFileLE")
self.inputFileBox.addWidget(self.inputFileLE)
self.fileSettingsBox.addLayout(self.inputFileBox)
self.outFileLocation = QtWidgets.QHBoxLayout()
self.outFileLocation.setObjectName("outFileLocation")
self.outputFileButton = QtWidgets.QPushButton(self.layoutWidget)
self.outputFileButton.setMinimumSize(QtCore.QSize(250, 0))
self.outputFileButton.setMaximumSize(QtCore.QSize(250, 36))
self.outputFileButton.setIcon(icon2)
self.outputFileButton.setObjectName("outputFileButton")
self.outFileLocation.addWidget(self.outputFileButton)
self.outputFileLE = QtWidgets.QLineEdit(self.layoutWidget)
self.outputFileLE.setReadOnly(True)
self.outputFileLE.setObjectName("outputFileLE")
self.outFileLocation.addWidget(self.outputFileLE)
self.fileSettingsBox.addLayout(self.outFileLocation)
self.reportTypeCB = QtWidgets.QComboBox(self.centralwidget)
self.reportTypeCB.setGeometry(QtCore.QRect(21, 51, 250, 37))
self.reportTypeCB.setObjectName("reportTypeCB")
self.reportTypeCB.addItem("")
self.reportTypeCB.addItem("")
self.reportTypeCB.addItem("")
self.reportTypeCB.addItem("")
self.reportTypeCB.addItem("")
self.reportTypeCB.addItem("")
self.reportTypeCB.addItem("")
self.reportTypeCB.addItem("")
self.reportTypeCB.addItem("")
self.reportTypeCB.addItem("")
self.reportTypeCB.addItem("")
self.reportTypeCB.addItem("")
self.reportTypeL = QtWidgets.QLabel(self.centralwidget)
self.reportTypeL.setGeometry(QtCore.QRect(21, 21, 144, 24))
font = QtGui.QFont()
font.setPointSize(14)
font.setBold(True)
font.setWeight(75)
self.reportTypeL.setFont(font)
self.reportTypeL.setObjectName("reportTypeL")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 1001, 29))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.reportTypeL.setBuddy(self.reportTypeCB)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
MainWindow.setTabOrder(self.reportTypeCB, self.inputFileButton)
MainWindow.setTabOrder(self.inputFileButton, self.outputFileButton)
MainWindow.setTabOrder(self.outputFileButton, self.processReportButton)
MainWindow.setTabOrder(self.processReportButton, self.openReportButton)
MainWindow.setTabOrder(self.openReportButton, self.inputFileLE)
MainWindow.setTabOrder(self.inputFileLE, self.outputFileLE)
MainWindow.setTabOrder(self.outputFileLE, self.inputFilePreview)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.processReportButton.setText(_translate("MainWindow", "&Process Report"))
self.openReportButton.setText(_translate("MainWindow", "&Copy to Clipboard"))
self.inputFileButton.setText(_translate("MainWindow", "Select &InfoLease Report"))
self.inputFileLE.setPlaceholderText(_translate("MainWindow", "No file selected"))
self.outputFileButton.setText(_translate("MainWindow", "Select &Report Output Location"))
self.outputFileLE.setPlaceholderText(_translate("MainWindow", "No location selected"))
self.reportTypeCB.setItemText(0, _translate("MainWindow", "ACH"))
self.reportTypeCB.setItemText(1, _translate("MainWindow", "Disposition"))
self.reportTypeCB.setItemText(2, _translate("MainWindow", "Gain Loss"))
self.reportTypeCB.setItemText(3, _translate("MainWindow", "Lock Box"))
self.reportTypeCB.setItemText(4, _translate("MainWindow", "Minv_C"))
self.reportTypeCB.setItemText(5, _translate("MainWindow", "Net Inv. Loans"))
self.reportTypeCB.setItemText(6, _translate("MainWindow", "NI Renewal"))
self.reportTypeCB.setItemText(7, _translate("MainWindow", "NIV After"))
self.reportTypeCB.setItemText(8, _translate("MainWindow", "PBP Epay"))
self.reportTypeCB.setItemText(9, _translate("MainWindow", "Returned Check"))
self.reportTypeCB.setItemText(10, _translate("MainWindow", "Unapplied"))
self.reportTypeCB.setItemText(11, _translate("MainWindow", "VMCC"))
self.reportTypeCB.setItemText(12, _translate("MainWindow", "Wires"))
self.reportTypeL.setText(_translate("MainWindow", "Infolease Report"))

@ -1,2 +0,0 @@
#!/bin/bash
zip -r ILEXTRACT_SRC.zip ../'IL Extract SRC' -x "../IL Extract SRC/GUIVENV/*" "../IL Extract SRC/__pycache__" "../IL Extract SRC/testing"

@ -1 +1 @@
{"firstRun": true, "startMaxed": false, "defaultLocations": {"ach": {"dir": "", "fn": "", "custom": false}, "disp": {"dir": "", "fn": "", "custom": false}, "gl": {"dir": "", "fn": "", "custom": false}, "lb": {"dir": "", "fn": "", "custom": false}, "minv": {"dir": "", "fn": "", "custom": false}, "niv": {"dir": "C:/Users/GLott/OneDrive - LEAF Commercial Capital/Documents/0 In Progess/Monarch/TestFolder", "fn": "", "custom": false}, "ren": {"dir": "", "fn": "", "custom": false}, "pymt": {"dir": "", "fn": "", "custom": false}, "uap": {"dir": "", "fn": "", "custom": false}, "pastdue": {"dir": "", "fn": "", "custom": false}}}
{"debug": false, "startMaxed": false, "defaultLocations": {"ach": {"dir": "", "fn": "", "custom": false}, "disp": {"dir": "", "fn": "", "custom": false}, "gl": {"dir": "", "fn": "", "custom": false}, "lb": {"dir": "", "fn": "", "custom": false}, "minv": {"dir": "", "fn": "", "custom": false}, "niv": {"dir": "", "fn": "", "custom": false}, "ren": {"dir": "", "fn": "", "custom": false}, "pymt": {"dir": "", "fn": "", "custom": false}, "uap": {"dir": "", "fn": "", "custom": false}, "pastdue": {"dir": "", "fn": "", "custom": false}}}

@ -1,16 +0,0 @@
Add in consolidated reports and MoM summaries
[] Each month will have a consolidated report. This report is an extended version of the typical outputs, each with their own tab. As reports are processed, they will be appended to that months
consolidated report
[] There will also be a yearly summary tab. This will also have a tab for each payment type, but it will have a total amount for the month, and a count
~ This could be a ribbon button for them to 'summerize year'
~ Could Skip already summed months
[] Add a GUI for setting these report locations
~ Just set the YEAR folder and have the scheme matched
Optional
[] Add default save locations for the report types based on the file structure shared by Blad
~ Would have to deal with overriding defaults
[] Add new report types to defLoc window

@ -1,65 +0,0 @@
Metadata-Version: 2.1
Name: PyQt5
Version: 5.15.7
Requires-Python: >=3.7
Summary: Python bindings for the Qt cross platform application toolkit
Home-Page: https://www.riverbankcomputing.com/software/pyqt/
Author: Riverbank Computing Limited
Author-Email: info@riverbankcomputing.com
License: GPL v3
Requires-Dist: PyQt5-sip (>=12.11, <13)
Requires-Dist: PyQt5-Qt5 (>=5.15.0)
PyQt5 - Comprehensive Python Bindings for Qt v5
===============================================
Qt is set of cross-platform C++ libraries that implement high-level APIs for
accessing many aspects of modern desktop and mobile systems. These include
location and positioning services, multimedia, NFC and Bluetooth connectivity,
a Chromium based web browser, as well as traditional UI development.
PyQt5 is a comprehensive set of Python bindings for Qt v5. It is implemented
as more than 35 extension modules and enables Python to be used as an
alternative application development language to C++ on all supported platforms
including iOS and Android.
PyQt5 may also be embedded in C++ based applications to allow users of those
applications to configure or enhance the functionality of those applications.
Author
------
PyQt5 is copyright (c) Riverbank Computing Limited. Its homepage is
https://www.riverbankcomputing.com/software/pyqt/.
Support may be obtained from the PyQt mailing list at
https://www.riverbankcomputing.com/mailman/listinfo/pyqt/.
License
-------
PyQt5 is released under the GPL v3 license and under a commercial license that
allows for the development of proprietary applications.
Documentation
-------------
The documentation for the latest release can be found
`here <https://www.riverbankcomputing.com/static/Docs/PyQt5/>`__.
Installation
------------
The GPL version of PyQt5 can be installed from PyPI::
pip install PyQt5
``pip`` will also build and install the bindings from the sdist package but
Qt's ``qmake`` tool must be on ``PATH``.
The ``sip-install`` tool will also install the bindings from the sdist package
but will allow you to configure many aspects of the installation.

@ -1,988 +0,0 @@
../../Scripts/pylupdate5.exe,sha256=vaUMhZFpu4uZKQTGe7IXx7Qb4oD7OVM2T25aZrL78Xk,106382
../../Scripts/pyrcc5.exe,sha256=SlUWJ_CtBKTJgmq4P9lZ3YzC_x37lhdKNxcZnHsdwTY,106378
../../Scripts/pyuic5.exe,sha256=_IzDFm8jW0gPsdm-aGVkwRkM3oLiPQjTL4ORz6SFRL0,106377
PyQt5-5.15.7.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
PyQt5-5.15.7.dist-info/METADATA,sha256=M-S2TvZAFdjOXJ8Gst5lElSWPh6B4ASjZosjGWvgmDQ,2176
PyQt5-5.15.7.dist-info/RECORD,,
PyQt5-5.15.7.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
PyQt5-5.15.7.dist-info/WHEEL,sha256=SjgHfdmYYjtK5R1U591pZ13RLo5V4uk6p0Iu-Hx4LLQ,98
PyQt5-5.15.7.dist-info/entry_points.txt,sha256=Qif0K5dtSx55Jy85ruKNbDlFdMdcekmMavb6lQz49g0,116
PyQt5/QAxContainer.pyd,sha256=OEIMIdeHoIzS9zYKqkObZF9t36o5qKQ6E9S8HuXiV2A,275456
PyQt5/QAxContainer.pyi,sha256=T0nFtKXaiFQ23Pkqdn10ldvCakTflsuOGVN0c0cpghs,4806
PyQt5/Qt.pyd,sha256=B8ZRUD5pt-yBO5jbKxtos8xpuRYv-9-twsFjFb7YzoU,12288
PyQt5/Qt5/qsci/api/python/PyQt5.api,sha256=AhLMODzWgTTsDwsVwShDeGEtogIY0h0HK5Rkg1ZCTE8,1792081
PyQt5/QtBluetooth.pyd,sha256=MT1hDMsfY9cWZh9KTmydvB35_M0c3du5nVP7wBYurJ8,342016
PyQt5/QtBluetooth.pyi,sha256=PyGM0h0ofjhI_mVcDFfiRukhGxv6wkywIoNL5GTcP6g,85872
PyQt5/QtCore.pyd,sha256=mJVV6R_vkRdXfNoz4HyjDyP2751Cv8_c-qdgwDSMu8M,2442752
PyQt5/QtCore.pyi,sha256=saqNEDOq03_0jUa3ux67BmribS9QMU8atAxzyIrditY,483460
PyQt5/QtDBus.pyd,sha256=wVz7IPgRo6cnug1HLTQfqvbl_q5v1kYWC6jsLXPLYE8,175104
PyQt5/QtDBus.pyi,sha256=-SUCN2fCBQeqdc5QTR8Uu_cto8Q_eNaXDrr5s5Z_m3c,27287
PyQt5/QtDesigner.pyd,sha256=T86J2XnKqMZ--1xv0SlQwzJvU-rkLF1LW92F5_UP78w,309248
PyQt5/QtDesigner.pyi,sha256=q0rvrzlD3vXDENhVPRgRRZFGHH-BALKyyCRyG9pNXvI,24052
PyQt5/QtGui.pyd,sha256=z8EIJentBIeTUANtEyhZ-tTYYaVQb63yP-Pz9mt4BlE,2455040
PyQt5/QtGui.pyi,sha256=bLWbVFAAPNboB34Yl1NdfBpQ5VKNFie7Nb5J2MMO3Rg,471157
PyQt5/QtHelp.pyd,sha256=KVO41l7GLam913zCv1ojofuZcrCy5CVV8-wIPHsbBpM,197120
PyQt5/QtHelp.pyi,sha256=Q4jPP03-DEH5HKWt8mKMuqrq-QOIHiqQS4YfdMVpaJQ,13472
PyQt5/QtLocation.pyd,sha256=VvR97VvhbmQZOE8Nlbd1FpTovoLAV7EySM5dVLL9vKI,440832
PyQt5/QtLocation.pyi,sha256=3goJ9v5bca9bT5QhLtp8eaR0FQaO3cS_4gWu3G-B14c,68208
PyQt5/QtMultimedia.pyd,sha256=O2cC05ccPSFXfrd85Gm2vo-jWxTp10JNOrTyD1pesdI,910336
PyQt5/QtMultimedia.pyi,sha256=H8q2mixxn2zXlETkEdOk3JCTf-UPKVIkosHVSRI7Gio,126953
PyQt5/QtMultimediaWidgets.pyd,sha256=57-N7W_KVR293qu2ECZZC_kM2O0BmyfidjjXFFfkSBs,141312
PyQt5/QtMultimediaWidgets.pyi,sha256=gWgsm4D_ONQy4wDJVv03Xe7laEpX5UTnxFX85rmIOZ4,5938
PyQt5/QtNetwork.pyd,sha256=Q91_eARVULmX2id7UbnRxgIGtPDgoPH8OGMMG_ssXn4,697856
PyQt5/QtNetwork.pyi,sha256=z6rjXQ2trObOsxz02aV6kf9LQAYlRC3DwVYpf2tbsW8,119584
PyQt5/QtNfc.pyd,sha256=4KYkqVuTSwXZgADpagFU4uiw4HVgGpf4TiX7tpKFNkM,142336
PyQt5/QtNfc.pyi,sha256=imgi2G-DWZKhYUnO4LdVGkP2D5_XpRekkY5X5oMYLyM,23048
PyQt5/QtOpenGL.pyd,sha256=bvJ_8hWxoqSdz2zvGDyFLGDh7PS3Zuo_FeZrwyWp-OU,124416
PyQt5/QtOpenGL.pyi,sha256=ekegg8eu78FVdeWiisR9D7WwMjs2VfJMBECx4Irns8s,18648
PyQt5/QtPositioning.pyd,sha256=oW-CjfyFiMQ-tHaK_O6QQBH_H2gUnIYip_ohPp6Tzlg,181760
PyQt5/QtPositioning.pyi,sha256=XAXJGboeVUkW7FK82nt63VAo0Vl1xDPVMhzTbg8wN7s,28128
PyQt5/QtPrintSupport.pyd,sha256=RBl-7RRgQsbdgrLyFUQzFqrYpnQiFNJJdgba36hL5uc,253952
PyQt5/QtPrintSupport.pyi,sha256=ZOdkDde-Oino6kfEfVVl6x67twfU7SrW90zuzWg5_nI,21743
PyQt5/QtQml.pyd,sha256=UA12EOQiyS8qTeqZPNKtHRkvKj870zN8jPrAI8w5mf4,466432
PyQt5/QtQml.pyi,sha256=o1QfY6bscw_XogmroiHF_Z_HdloXYEDPkyHI3-AjAIc,31169
PyQt5/QtQuick.pyd,sha256=zD9kWEjYsi4yGLxkJAvQB00_OIHNe05qZjWDqfe8wko,921088
PyQt5/QtQuick.pyi,sha256=_H5RybSAcyI0Rc9AdbysCgVob4wFmO7Zxm9Tv27vJII,90692
PyQt5/QtQuick3D.pyd,sha256=m3obJzpSZ6fRFhXI6kXt2Wq7FaYH1_VPaUuQfS6Uz8g,38400
PyQt5/QtQuick3D.pyi,sha256=nDPQfHEnCDB-pkesF7ufEzKlN-dbWz3u4gE2nm3ezss,5574
PyQt5/QtQuickWidgets.pyd,sha256=N7Tb2TD6DihlZOkfJp5uaiRaBByBNjSEIbZcD8TeS-k,61952
PyQt5/QtQuickWidgets.pyi,sha256=oYUbkLScxS5xMEuwfZyjEOznKiBASqaLiBEBGIuCZKY,4812
PyQt5/QtRemoteObjects.pyd,sha256=sQHNqpd_16JaxmSpso_BsSHeNQPtFYzj7ZjCkVcgMI4,94208
PyQt5/QtRemoteObjects.pyi,sha256=LFtUgXWc4STtWJDcaocBccxjUAWm-bNQMnG5Z1j3Egk,9511
PyQt5/QtSensors.pyd,sha256=lfV_SZtq1oivx09QROvTe8rD2lqhTLEA-hphW7l_b7w,252416
PyQt5/QtSensors.pyi,sha256=2e0QuA4csE-fYmlkAsJH4Hy1rRfzxHwws9tr3Oq-ql8,21372
PyQt5/QtSerialPort.pyd,sha256=mDj2QM2VdAF5jg2GRxMTPRfq8Eo5H1nL0IA8vkwjM9k,74240
PyQt5/QtSerialPort.pyi,sha256=RzMTWBDyjos-qwbjdwUYe0AO2UJ4ilN5XqBtyxOJjSo,13082
PyQt5/QtSql.pyd,sha256=BM_ey2ub5Nf0iurgbLLgSAIUPWoI7d7Bsrqt43ZnBMM,311296
PyQt5/QtSql.pyi,sha256=pgkA0yA1CDyhZ_eg508rXnK5qTVKuRDRlpZULwLFhiU,30833
PyQt5/QtSvg.pyd,sha256=TKQW8p9sYg_6y4fo7et5a09eqcBJyTDr5YNrevv5HuI,116224
PyQt5/QtSvg.pyi,sha256=NEvB3_2XHpCTlzGy5PYHWKP8YNLQ-NoxlzVapI67Ybg,6285
PyQt5/QtTest.pyd,sha256=rtp-0HSYjq5BHzO5n3Y-QkymWUulrJi2S_i-vLTUNRM,84480
PyQt5/QtTest.pyi,sha256=EcKM22HrsTYOBgtZ_GqgNwxm6VSlt2NVoZMRN5c_Ctc,11453
PyQt5/QtTextToSpeech.pyd,sha256=1GTp8jQ5OTU0U7v3JYUCKxViPO7gUrxkrzLsX90VJtw,40448
PyQt5/QtTextToSpeech.pyi,sha256=pit9U-448SnRhADNQ4ZwNi_-o1lwgeV0LISu-gHrqsw,3977
PyQt5/QtWebChannel.pyd,sha256=zhvSUyqiOXO2zeeAtTNhv_trfCk4GpiuQdGaQQbCPe0,37376
PyQt5/QtWebChannel.pyi,sha256=EvoSp4VnEbDEwz2lUR1R7gHU1xudNmkAN48qqD82O0A,2577
PyQt5/QtWebSockets.pyd,sha256=z_QUrNB6rhFX1EIAqfLPFXYOcjBWoBzMdkDtm-rs1FI,77312
PyQt5/QtWebSockets.pyi,sha256=XcBVr2W2pAUZdHDoJNlEk5rQC2iWDJWRx3j887Ec6KU,10656
PyQt5/QtWidgets.pyd,sha256=45SPFX-2ElggGAxuSi7hpS6TPI7GStiODHgKyIrbuoY,5036032
PyQt5/QtWidgets.pyi,sha256=1dQvz221RpERm0ncozyMFvlQQLOdmbE3UVJOrjphTIE,555335
PyQt5/QtWinExtras.pyd,sha256=Z-ASEudu3piG-v2oIUfn10XHSu2xsI7lSBG8SapKTLQ,110080
PyQt5/QtWinExtras.pyi,sha256=Mz0UV6R92WDh67oCluDMjhmwb_xu4ffLHvrBbk9ag_Y,13703
PyQt5/QtXml.pyd,sha256=miXM76UuYW-q0t7kVp4xp01-f0VJAhfd3DJRKI53NA0,221184
PyQt5/QtXml.pyi,sha256=HPtXqLCDrhSuDKEOu1N1n42lZytY0TCXEb7DcM8UWn0,28851
PyQt5/QtXmlPatterns.pyd,sha256=oOZhrRW5PwwatyUAld7YqJKdSn63ZIN3E5EXCTPysTU,135168
PyQt5/QtXmlPatterns.pyi,sha256=vW9x5JQXiqmnUe9-r_Tfv8Oe6K309Bq63bGPafQPZCQ,15891
PyQt5/_QOpenGLFunctions_2_0.pyd,sha256=S5Z6U1nG8gBs0Q_U6w6MMgcpu17B0gAdv3zOuloJ6Zg,241152
PyQt5/_QOpenGLFunctions_2_1.pyd,sha256=FmuPojptCQPI-NZhOQ_8VM0TpYeI2j9MFUg1Jk1UmNU,242688
PyQt5/_QOpenGLFunctions_4_1_Core.pyd,sha256=4jKYjliVHLQYI0TEBASYv5wEilashDx6xs53qQX5-CE,129024
PyQt5/__init__.py,sha256=OLOV6qzayk2yK-yj21dQ1UPHp9TPWPe7-pF4Ug-B2HA,1691
PyQt5/__pycache__/__init__.cpython-39.pyc,,
PyQt5/__pycache__/pylupdate_main.cpython-39.pyc,,
PyQt5/__pycache__/pyrcc_main.cpython-39.pyc,,
PyQt5/bindings/QAxContainer/QAxContainer.toml,sha256=8WscXP3c0Y37L0t30xCDwgGv-G2_GwpzkLzl8D-0Y7s,187
PyQt5/bindings/QAxContainer/QAxContainermod.sip,sha256=zQJlaEa_RDN0UHD-9m0qsKoqNvvAmAEi4xD4M4zBfXY,2010
PyQt5/bindings/QAxContainer/qaxbase.sip,sha256=4nkTM9Vd5qwSe8IAvmhsPKcImrcFvLwP-87yv-uFjy8,5361
PyQt5/bindings/QAxContainer/qaxobject.sip,sha256=r-S9x3v0cBinxaJYkPU9xgaJr0AwMSoUg_615mGO2eo,1951
PyQt5/bindings/QAxContainer/qaxwidget.sip,sha256=OoRTDG6Ku5LDuXLedA1SoCImCqDsBBvIplPbHebuZvI,1786
PyQt5/bindings/QtBluetooth/QtBluetooth.toml,sha256=gfyMBCYkE1PelCewgGtkAoBPtCgbgMN3u8-YQJtAVno,186
PyQt5/bindings/QtBluetooth/QtBluetoothmod.sip,sha256=kYb56zErH9VUsCXwO7T8mycFsnNwlPWaPixq1JIxHis,2883
PyQt5/bindings/QtBluetooth/qbluetooth.sip,sha256=aVm0BE_APSvKikdG7HyaMWaqyGld0jEEltygLTNNtno,1881
PyQt5/bindings/QtBluetooth/qbluetoothaddress.sip,sha256=XzYjklCCMDNFWKshB9gSu7aMFzIy6osA5bw3ajj9A9U,1611
PyQt5/bindings/QtBluetooth/qbluetoothdevicediscoveryagent.sip,sha256=AcZR_YcZ_Kg51wkGbvYP403O7e3poueS8OpIo5_CV4M,3372
PyQt5/bindings/QtBluetooth/qbluetoothdeviceinfo.sip,sha256=PGwoprEURBJDobW4kZK6ruBvjIsUjkqmSJU3uLjmybQ,7390
PyQt5/bindings/QtBluetooth/qbluetoothhostinfo.sip,sha256=nh3cXIpVS2xTXrcF0eoYsHVSZ5-PfuaR2DkorCbFzzI,1558
PyQt5/bindings/QtBluetooth/qbluetoothlocaldevice.sip,sha256=16P6Hk19wLUvDzB64v2Ol248-Mk31SOYx8Us8O15_fQ,2999
PyQt5/bindings/QtBluetooth/qbluetoothserver.sip,sha256=3jHGjSof1tqy0lib0NPPs6w353SHVpZWfYrq_jnsySU,3721
PyQt5/bindings/QtBluetooth/qbluetoothservicediscoveryagent.sip,sha256=wvHTUJYYBmUT5lkyVO75tkVBhVgy4lKuTzQ6Q89fYKQ,2622
PyQt5/bindings/QtBluetooth/qbluetoothserviceinfo.sip,sha256=u7oZT6QMWhLKLBJqiCt0jFgwUf_WoyE37Xy8VVFN9bM,3412
PyQt5/bindings/QtBluetooth/qbluetoothsocket.sip,sha256=al9AA6kCkwszxlgNVVbX5y4PMQH5iLEnd-yOnlpkaGY,5191
PyQt5/bindings/QtBluetooth/qbluetoothtransfermanager.sip,sha256=ie-xuoZw1S37d3ePswwa3cEiRSivFe7WK3zlRRmVXPY,1432
PyQt5/bindings/QtBluetooth/qbluetoothtransferreply.sip,sha256=vCEXSjLNXCa7IttKSrSh3XwXFtbacSqD1XXhb9Ii_ro,2276
PyQt5/bindings/QtBluetooth/qbluetoothtransferrequest.sip,sha256=km8PsfwWoVkGwuzTIyPnG_nmTbma-0xLtKfTmvrBwdU,1886
PyQt5/bindings/QtBluetooth/qbluetoothuuid.sip,sha256=3v50010wbJfylSzPOKpmiOFRzA1rDcGcSChyWL6glNM,12247
PyQt5/bindings/QtBluetooth/qlowenergyadvertisingdata.sip,sha256=CotwweKvKeKYFraNYkDGusHTRrRZUoRF71-rEFdzBmk,2400
PyQt5/bindings/QtBluetooth/qlowenergyadvertisingparameters.sip,sha256=5688EpPYp101LfMyjD7FpqljoQaduljhh1TgZ8MvxMY,2930
PyQt5/bindings/QtBluetooth/qlowenergycharacteristic.sip,sha256=ErZJ-yQgWhzElv-Lh3L86lJgqmkbMG-ICZnzoHwV5Bs,2224
PyQt5/bindings/QtBluetooth/qlowenergycharacteristicdata.sip,sha256=CutxHQyLXSK4nDpkYJpWlquk2k1s9UpkrgdQlYcJstw,2533
PyQt5/bindings/QtBluetooth/qlowenergyconnectionparameters.sip,sha256=tl7hzpzDLrifmb9n9tYvoLVmBLaxizOIraiJFPxi_bw,1894
PyQt5/bindings/QtBluetooth/qlowenergycontroller.sip,sha256=-Z7fnzLkD12RKNtjmlrJLnSLbUZxNEAwJ59yldWVj_s,4733
PyQt5/bindings/QtBluetooth/qlowenergydescriptor.sip,sha256=FTIidcr38a3LyAzGL4gs56UTB42iPJbhU8YN3h1mTYE,1572
PyQt5/bindings/QtBluetooth/qlowenergydescriptordata.sip,sha256=DIs4AyUB_hpbpg5Z8rdAR04yYP_O3g1Kvj72KbGnHC0,2257
PyQt5/bindings/QtBluetooth/qlowenergyservice.sip,sha256=w_xoguF4LVOhuif5iN1DT1SCEh0ye-QJuAInldcTPqs,3855
PyQt5/bindings/QtBluetooth/qlowenergyservicedata.sip,sha256=A-rOPLO9SgZdB_Iz2zyE2IciijRUVDpiBYlgiXTiPGg,2263
PyQt5/bindings/QtBluetooth/qpybluetooth_qlist.sip,sha256=vxD7ehzVoi3D_g7tkZSJWo_ubu9RZXQGuaUOuiKnbIo,5611
PyQt5/bindings/QtBluetooth/qpybluetooth_quint128.sip,sha256=xzgXhM2ZpD6kueEuqBDmyE6_Ch_SKN7Cd8ByGfDLvgE,3041
PyQt5/bindings/QtCore/QtCore.toml,sha256=qtKHQaCD0vtVikrTnp13msrk6nEr3YGlPnGTFJnVLT4,181
PyQt5/bindings/QtCore/QtCoremod.sip,sha256=bFVbAHNdJrxk4VGRyZZg6t40YQKvDmD806QNiKNF_WQ,7142
PyQt5/bindings/QtCore/pyqt-gpl.sip5,sha256=8Wcb4_ynBJpHsFcqQKmX0N_NBHUWfZDQTd4Q2ggPB98,22
PyQt5/bindings/QtCore/qabstractanimation.sip,sha256=f8pyDOtKBWc1bXMp4_naDbqd3LYDG2iFrFX4w39EZAk,2639
PyQt5/bindings/QtCore/qabstracteventdispatcher.sip,sha256=kpQk2kwOlPdAbwWt26KGE7-MWCMFRhuUI_1hiqYp6Cw,2911
PyQt5/bindings/QtCore/qabstractitemmodel.sip,sha256=nI8KfUj-uUGaQ1N72tQFXGYhGunZxicKhbg-WbFpWBY,14579
PyQt5/bindings/QtCore/qabstractnativeeventfilter.sip,sha256=h7CWgPmmzFKiYToqixWqv6jq9865Mz-ve7w5qYjRkms,1362
PyQt5/bindings/QtCore/qabstractproxymodel.sip,sha256=qOggxle5ITKBwDN5d0_et53Gp3Vo1oO08JGEEu3i1No,3733
PyQt5/bindings/QtCore/qabstractstate.sip,sha256=vkwmtZts8SXKRK6cf2WbgX7whewkKSHhnaUgVGp9UTw,1542
PyQt5/bindings/QtCore/qabstracttransition.sip,sha256=S8xD4RFzlDZ8U4m1BP5tRAafA-qnAvEVL1-CRuII9ig,3602
PyQt5/bindings/QtCore/qanimationgroup.sip,sha256=Li547ywDTxkDnuweljC9F1IbEKPMVS27zhHIOJPZzQw,1692
PyQt5/bindings/QtCore/qbasictimer.sip,sha256=YKe-DFcH4z-cNDqdRGPOgHTWLWBj8JHEItDVrmeN4RY,1417
PyQt5/bindings/QtCore/qbitarray.sip,sha256=sYS1BQRLP-NyIlEMZKSWx1fTnMghlNp0oiPgBoahBwU,3106
PyQt5/bindings/QtCore/qbuffer.sip,sha256=woW2Ruex-74l6F6qv_Fh9TgLLxf1Mb2hjDFQcdu2x9I,3098
PyQt5/bindings/QtCore/qbytearray.sip,sha256=402RaXUUFEfxJ2pLSpEpf7KrHmDEkmnjJy0fYvl-rJk,17417
PyQt5/bindings/QtCore/qbytearraymatcher.sip,sha256=E4kVTiUZaOkQ6olxmf1ytDBS_484saaY64djTdYMX48,1387
PyQt5/bindings/QtCore/qcalendar.sip,sha256=hX_1L3Bcj0t7RKCZPalku4Qc1zRPo3X-q2ZRqFSll6o,3571
PyQt5/bindings/QtCore/qcborcommon.sip,sha256=vfTqtQcyBf7TixpPbvnKTV18JgiKowmQFwQWmeSCuZU,2490
PyQt5/bindings/QtCore/qcborstream.sip,sha256=lrJucm2sbcXrYsz6VI6aAStkApgt99rVQn6dfaJCm84,6687
PyQt5/bindings/QtCore/qchar.sip,sha256=io6lkR7FCKK-xf_z4l94C3EqxXEnOykLdS8wknxa8nk,1637
PyQt5/bindings/QtCore/qcollator.sip,sha256=XoJy37momm_G7muPteOla8W0bDxQanAQ5t0UlVIKaK4,2126
PyQt5/bindings/QtCore/qcommandlineoption.sip,sha256=i4ZMQyJQN_XTF_tAhckd9GpVylDxXMUDkg_MJ90qEFg,3090
PyQt5/bindings/QtCore/qcommandlineparser.sip,sha256=h8k_IQnW1swOmsmTRHFf5Q5hlSlsIK1sPoJ3JD0lYYE,3024
PyQt5/bindings/QtCore/qconcatenatetablesproxymodel.sip,sha256=FfShqMbBpPy3UWQSOcJSqT6ePvmK2uvCWp-efHEMHNk,4272
PyQt5/bindings/QtCore/qcoreapplication.sip,sha256=cEkH3_S0cCLRRyWqOrurYD3u02uvbRm4CXgsYQipeb4,11457
PyQt5/bindings/QtCore/qcoreevent.sip,sha256=-IzPxQAtoSCA1FPZorw2vncOfcMz77BeTq3AaDnHR30,6702
PyQt5/bindings/QtCore/qcryptographichash.sip,sha256=dzgFiZT2j6nveaMYMGWlrA2ABQOIGfeUjN5Fk0fOmmE,2127
PyQt5/bindings/QtCore/qdatastream.sip,sha256=xptAaSK-xEKUdzVVnkeMYfhJe4MiSlifYA1sOl5D-D0,10188
PyQt5/bindings/QtCore/qdatetime.sip,sha256=Xf4Z9qrsir6b7KLcGN8_2B80y9r4xVB6RSGk8E3h00Q,20512
PyQt5/bindings/QtCore/qdeadlinetimer.sip,sha256=FN0tz8xk49vudqKmYVJ9_1LqfegNBxUiD3qe0X2PgOA,3123
PyQt5/bindings/QtCore/qdir.sip,sha256=gv76aqFLf_6f-4w8FBtA-5WuJ5O7ZcPGIIrmK6apCPo,6420
PyQt5/bindings/QtCore/qdiriterator.sip,sha256=0l8cLh-yH7_ZskKbwkZeti2S0OtY5GeLKnxUOhASTlo,2109
PyQt5/bindings/QtCore/qeasingcurve.sip,sha256=H7kqH0r8ri5UXf0RYOw0_G1qUzu-88wQ_nUiiZ6OxeY,6957
PyQt5/bindings/QtCore/qelapsedtimer.sip,sha256=VRTGsPQZIDfj2bmSjE8Oc_CjfnNtmT9Z8JIRRRaz_RU,1886
PyQt5/bindings/QtCore/qeventloop.sip,sha256=09Lvo6mleJ39CZgFc4FEABmkWboujlv6W2PHWg2k3Jc,2586
PyQt5/bindings/QtCore/qeventtransition.sip,sha256=hGvPuJkPQLWTdISqUpoH3UWQBFWTkjE2zL0stjOn1YQ,1628
PyQt5/bindings/QtCore/qfile.sip,sha256=v8L_tHoFeeymdGe583p6XfRJxkOYf-ivQs28PXJutWI,3033
PyQt5/bindings/QtCore/qfiledevice.sip,sha256=AXjfbP8TEJITEjMzzfbk_9Hy0V4lpiq_Q-NCNq0l46Q,5888
PyQt5/bindings/QtCore/qfileinfo.sip,sha256=ZlNXuWPQORb1mrib8AG3WWKjDV6qkN5fW6Ig7MbFZ6w,3521
PyQt5/bindings/QtCore/qfileselector.sip,sha256=G4hMmdEZJaXckWh_iUcuzjZtuS6iExjv-Vh7c4N-KUo,1430
PyQt5/bindings/QtCore/qfilesystemwatcher.sip,sha256=aYFg_xrjT4MIwXQvEpMXdtTI0to-vlq-lbfHU58Wiyk,1640
PyQt5/bindings/QtCore/qfinalstate.sip,sha256=v6wILEySPh7xNQG7VID9DM_dW7eCEVJfGdOv2sY5Hmc,1290
PyQt5/bindings/QtCore/qglobal.sip,sha256=-WoFuQySOs9LFwqjOvUuv6CMj6dIAwqgF27rmuwhUMs,7262
PyQt5/bindings/QtCore/qhistorystate.sip,sha256=iSccfbA4CBmVr5BEJR8yveHnVl8B923DrH2fGqaIcH8,2091
PyQt5/bindings/QtCore/qidentityproxymodel.sip,sha256=n9Lpm5fJnFQB11h8yYtrm6MGcrP9yn4u27Oa3EhG8lU,3318
PyQt5/bindings/QtCore/qiodevice.sip,sha256=NpmagieSpQRT_uql6hdrvU5dNtbyRqpExWcenGaIn5c,10032
PyQt5/bindings/QtCore/qitemselectionmodel.sip,sha256=RO_8a485etZ5LsD5rB_VCtfB86jmQwJ68CWgjs2w-38,10238
PyQt5/bindings/QtCore/qjsonarray.sip,sha256=_oB4YBUJFkJWmd4imx1kz81rZD74wZ9XckHObBrG-k4,3486
PyQt5/bindings/QtCore/qjsondocument.sip,sha256=JAKovtEYAjgbhkqavNZDRaikd0hV3fU5qb-HaOGhZKU,3585
PyQt5/bindings/QtCore/qjsonobject.sip,sha256=hCg2SIRwOexHR3D3ysC5Zu679pbZDferenheb6XSpFY,3636
PyQt5/bindings/QtCore/qjsonvalue.sip,sha256=CfmRPgIbapcdgAUuf20TRzcjBSd6QEhNzNb4tQYgKaA,3204
PyQt5/bindings/QtCore/qlibrary.sip,sha256=i7IbGI3mD-MXxtucGpjtXh7bGtdkidO18zDi3JuNuFY,2581
PyQt5/bindings/QtCore/qlibraryinfo.sip,sha256=NmMp4Jvq1cxa2-drytKczPPylzCV0Owyyr6OBIrVQk8,1767
PyQt5/bindings/QtCore/qline.sip,sha256=9jkI9irIn6Lx6fi2XAIrWMRUdMiYiueWyVGozgKS8CQ,6678
PyQt5/bindings/QtCore/qlocale.sip,sha256=aPAMolRWjIQprlV-swYFwtmozUfmTi-efAo_EDMPdUo,34464
PyQt5/bindings/QtCore/qlockfile.sip,sha256=oFU03flt3fJSTLXuivf6cwChs1LM6WQcAXEUuA12NXE,1722
PyQt5/bindings/QtCore/qlogging.sip,sha256=ktFi6gUCbtqrL5OEZGDiTyyOXLymzLZL-AtA4B3pKCU,6174
PyQt5/bindings/QtCore/qloggingcategory.sip,sha256=mcmHhgC9klbGFAMzlNoB4KomfqB-CCEz-kZWL14Zv2U,1726
PyQt5/bindings/QtCore/qmargins.sip,sha256=OUJY7BLsk3FV9Fz2zSuBid4w00jiIgSI9aEnW9pVeRI,5292
PyQt5/bindings/QtCore/qmessageauthenticationcode.sip,sha256=fX_mHmqn9hbB_ggzvIaBou3DKtI1-DJX0_nFN-768YE,1696
PyQt5/bindings/QtCore/qmetaobject.sip,sha256=vjXnufWc9cC_Ddf9dQFfVeJQd-hAN9JC6gMsBr7E8jg,8172
PyQt5/bindings/QtCore/qmetatype.sip,sha256=q1VHaggH_ZJhXcVAPn8DSZD1YVyZrLhiACMap-2AHOs,4007
PyQt5/bindings/QtCore/qmimedata.sip,sha256=E7lNKvx_TICeFCJBxVnQb4lwEjFB2vUWw9yjkDGAwzY,2062
PyQt5/bindings/QtCore/qmimedatabase.sip,sha256=Gi6h6Tg7xiAPCFM5wVshqLM17fI8sQuybY8XuZ4tjlA,2136
PyQt5/bindings/QtCore/qmimetype.sip,sha256=Eh41cQqv4R5Roa2ECUW3tNhb7HeisshB8pj-q1pYWBI,1887
PyQt5/bindings/QtCore/qmutex.sip,sha256=tRPXzp4y2n0_7DDFdjdrGDxeDH6yRRiUxzNIqe9K53I,2368
PyQt5/bindings/QtCore/qnamespace.sip,sha256=10vzBXC7uqIqG3By_gFgZ2dWIfzcxRrM7rn-7Std6rs,39318
PyQt5/bindings/QtCore/qnumeric.sip,sha256=cGcENAXAJ3LnSSm8KTqhC2QzR1WMY22KbgPE9EXbw1w,1207
PyQt5/bindings/QtCore/qobject.sip,sha256=Cj0D6W9nhEXRAgldYL_oH84K550HIHORaNIuNVns1TU,25277
PyQt5/bindings/QtCore/qobjectcleanuphandler.sip,sha256=vETmoIrqn693ctRmX1y3C3GiKWFZ910wzazDI4bbkYU,1284
PyQt5/bindings/QtCore/qobjectdefs.sip,sha256=JITSzwmIYgsKmlP3g_J_KfCQb2tNhfX9vrewFfE3N84,7914
PyQt5/bindings/QtCore/qoperatingsystemversion.sip,sha256=ZAQExR0ptk8qX7zCuU8JJZjiYhxc-036QKTwkQL61PU,3616
PyQt5/bindings/QtCore/qparallelanimationgroup.sip,sha256=Mmkp4DnDPiHlkFYtc4jmAy5ggd-HZcRVa88QnIiuFNI,1541
PyQt5/bindings/QtCore/qpauseanimation.sip,sha256=EXYqhYljqU8ugctU1Fbl5IYFssvj0l28A7eijgmIZas,1412
PyQt5/bindings/QtCore/qpluginloader.sip,sha256=gEGwTGeaEaAay3RBFF1as70ByIURpKfgh3HjLK07zXE,1598
PyQt5/bindings/QtCore/qpoint.sip,sha256=2Lk5vncwhA4NrxFxE2A9Vm0ZfgyMkPqDSIHzpxJb0Lk,6649
PyQt5/bindings/QtCore/qprocess.sip,sha256=_-89c9P77FT5LiZ1-C8ynCEWiViXDbGKqj6t_x3JYzA,7926
PyQt5/bindings/QtCore/qpropertyanimation.sip,sha256=e1hn-ti3BKL4JZzm_gvxDVwEmcfjkG3MqEQJkkU-Bm4,1737
PyQt5/bindings/QtCore/qpycore_qhash.sip,sha256=Qpn3PjCslEks7cSCmew0w4TNKGBWZrh5e5uxZ527C8c,11683
PyQt5/bindings/QtCore/qpycore_qlist.sip,sha256=faR8hByvsbKEzADYzMsW3grXEN4VE9D0Ya9wrNPNkOQ,21174
PyQt5/bindings/QtCore/qpycore_qmap.sip,sha256=qB65Mmh0nITdRjeXMqvPTDAWjoETUX_wJlpK-hroxoA,8550
PyQt5/bindings/QtCore/qpycore_qpair.sip,sha256=swoE_8rAN2Zgx6L-dGswOQmIqabOps078xCykG4Jbk4,8489
PyQt5/bindings/QtCore/qpycore_qset.sip,sha256=qf5RwF60MbRQByaI5k_6gjMcHko6b65VVIjGtAkhC1k,5661
PyQt5/bindings/QtCore/qpycore_qvariantmap.sip,sha256=-hicjWWRxyshVa7wXfV0SAo6gwpCYkLhl72tniwbIck,1425
PyQt5/bindings/QtCore/qpycore_qvector.sip,sha256=2Vityo7jsXLp9BOchEXVqSrRIB3nMEUzDsTHMjuUqHg,14035
PyQt5/bindings/QtCore/qpycore_virtual_error_handler.sip,sha256=i4pwWQ61YHHev1znWw2GWtMP0PaSU3_k4V-GQz6AR3o,999
PyQt5/bindings/QtCore/qrandom.sip,sha256=rIFFERXBlKzRwXV52XcMc7mvIZsZuc166tBPyql0Ssw,2000
PyQt5/bindings/QtCore/qreadwritelock.sip,sha256=c5ItErcSn9cfj2Cojp4e8LpsE3TVO7Pma0zJieWIj-0,2810
PyQt5/bindings/QtCore/qrect.sip,sha256=euGhkEqbtmxIPPF1vTb5MA7vrI1C47u-yzN83Qekams,11291
PyQt5/bindings/QtCore/qregexp.sip,sha256=7zjlVrfpn2Nge0gXTuIOF1NU5EnZ8aNDxGAu8F-QPao,5016
PyQt5/bindings/QtCore/qregularexpression.sip,sha256=C3Kmx0IImjhmcojg0qnZghvkd2a9uo6cd9L0p7oxuAw,7379
PyQt5/bindings/QtCore/qresource.sip,sha256=-d1apFDkdvVk1UzPCSnLTaVM8Wd1n9N9hKS_99PB9DA,2909
PyQt5/bindings/QtCore/qrunnable.sip,sha256=KRJI4WbE0ULd0M4Xc9yYgFmdw4onZh8Ltu2EoApwkIQ,1747
PyQt5/bindings/QtCore/qsavefile.sip,sha256=TAweZF4Ym85UxNV1froiVq9vX5jIXfSfApRou3yPyYk,1725
PyQt5/bindings/QtCore/qsemaphore.sip,sha256=z8Un1jDcXQX1JKhUmUsWmVGeuqKRSXvYjJ3H8xknQtM,1704
PyQt5/bindings/QtCore/qsequentialanimationgroup.sip,sha256=Cv7GW5cXbnvAqxr0S021kolT1Evt5kbuGkNjc667R1g,1766
PyQt5/bindings/QtCore/qsettings.sip,sha256=5Od4FiTS7iPal2rB77cL_0TePlc8cICo6Do4HujaFzg,4238
PyQt5/bindings/QtCore/qsharedmemory.sip,sha256=ggRsEt0goPNC2DiWJt_mfkyH3eeEI4HR-Nt6TuMUHLQ,2395
PyQt5/bindings/QtCore/qsignalmapper.sip,sha256=VFWbJRrP_3X6UNTLXiQcAjXFgb-qQKDOrVkQ4yYgaXI,2186
PyQt5/bindings/QtCore/qsignaltransition.sip,sha256=kPoHrcZF_kasNIQxhXZzoIsESdd38RfcQWbp4tjFCI4,2235
PyQt5/bindings/QtCore/qsize.sip,sha256=sBkUtawmQtn2pbs8UQR75W9Wvzlcs855XxjrgJn5CZk,6215
PyQt5/bindings/QtCore/qsocketnotifier.sip,sha256=uYXh_vqJHINBGtOijg_orZBJ623S6c4QBX3fzWMlvTw,1531
PyQt5/bindings/QtCore/qsortfilterproxymodel.sip,sha256=MZueecD-EWhGkL1jP2db_3eKWhX3w962bCn6SKj3Zj4,6342
PyQt5/bindings/QtCore/qstandardpaths.sip,sha256=slpAa_lrSFOUDfv9E9kggnwN20718zkt0drcHcvpwAY,2942
PyQt5/bindings/QtCore/qstate.sip,sha256=gBVVuu8gHIhUVTyjh8EJJXbdz1Zpr26DdDJDDJtLsuQ,2943
PyQt5/bindings/QtCore/qstatemachine.sip,sha256=RcHCZYole8rfQ9kck5YYGQM8w0nA9sIHJMSnj-_2_cU,4749
PyQt5/bindings/QtCore/qstorageinfo.sip,sha256=lTvPRuDKyBj_uouTJ121M-K0xnT11kxH4mcJL9z3WPA,2145
PyQt5/bindings/QtCore/qstring.sip,sha256=0wi0G_LQB2KOJ1NmXBRO63udKtxjOY2crAcR-KIDuRI,2063
PyQt5/bindings/QtCore/qstringlist.sip,sha256=rGV8jqtfErMwvp0o7SJ4be-kb4Es8YVxsqvfaexsdfA,3714
PyQt5/bindings/QtCore/qstringlistmodel.sip,sha256=h4y4pSbeopfQhAPJyUuqYpu-jFlRDuVltPcLvLMbkDw,2448
PyQt5/bindings/QtCore/qsysinfo.sip,sha256=dCwP4zoARiLe9KINOly1jw-qhG-wzCkCYrJt_tzRqb4,4005
PyQt5/bindings/QtCore/qsystemsemaphore.sip,sha256=f9J9Gu8zVmKTi0P3Vx1mqqbIlGwui8_ibLM4p5MJTAA,1848
PyQt5/bindings/QtCore/qtemporarydir.sip,sha256=js1XzTCikSzDmGWno7kmuV-eevF687EDLGUSjwMwdIA,1495
PyQt5/bindings/QtCore/qtemporaryfile.sip,sha256=EZVcDCe9yW2ABpxKITF2au7K8iQ9TFj0w7s6gp8TRdg,1866
PyQt5/bindings/QtCore/qtextboundaryfinder.sip,sha256=a3AUhqV9rEtd6Zt0kr3DZGvsqt9lh7Bqbgc-6VEX4Ko,2169
PyQt5/bindings/QtCore/qtextcodec.sip,sha256=1QCLeKWR8hNriKez0Wn4h3K1FDkVmt9_7T8nrxhd9jM,4228
PyQt5/bindings/QtCore/qtextstream.sip,sha256=CzQNA9RsZ3z7aUT1euD48uRHIiWr20ze1VIl6R9Gp_Q,6053
PyQt5/bindings/QtCore/qthread.sip,sha256=9tlCUm8qe58SA2JJQw1i9f1BYk2OeewcSdH8yI7cEjM,2985
PyQt5/bindings/QtCore/qthreadpool.sip,sha256=JMyY3byizHvCnrMeAn1hM-tanEA6v05thAKpFYOCRew,4154
PyQt5/bindings/QtCore/qtimeline.sip,sha256=-YYTvHF8BqEH4w1_mYCz-wPJif7_xIfGVrbogbJW1v8,2789
PyQt5/bindings/QtCore/qtimer.sip,sha256=ObCcop5a0BWmH6AkhZG8C_X6tJq-w_znOO1ZpoQ3Y_I,2668
PyQt5/bindings/QtCore/qtimezone.sip,sha256=a-SVH_3HdRfHKdRQgK04sq9eldPCah20RFhAkrOZ5mo,4380
PyQt5/bindings/QtCore/qtranslator.sip,sha256=bhzIDgImV3MQWZo-OKSB6tUxCJZtok1CzZILFOrRjAY,1926
PyQt5/bindings/QtCore/qtransposeproxymodel.sip,sha256=EWd3NSQ6x0LBOPYcCT8UEXp91eGF7X1e81dRhISbMyA,3053
PyQt5/bindings/QtCore/qurl.sip,sha256=JFL7IDVsaqkkjtmQX2F9hnNKIOwWRFtJXK1zgZsZlaI,12212
PyQt5/bindings/QtCore/qurlquery.sip,sha256=V7RjtYxd6M9fhgV_NN0oO0cAdf4wUOfmCT0HR4Q5qso,2685
PyQt5/bindings/QtCore/quuid.sip,sha256=XilJs6QKDTq_rCR0WLfID7Zz1IyXJn9LxkN3G6qk2tc,3632
PyQt5/bindings/QtCore/qvariant.sip,sha256=XfHpmfc4rjefimd7_CGY-8AKbNMmpDJl9JMe0sC-Z9Q,4727
PyQt5/bindings/QtCore/qvariantanimation.sip,sha256=MeNUPXkopmU-H_TKgWelK7JV5l1gPe1xzoqSKHkQ6KU,2252
PyQt5/bindings/QtCore/qversionnumber.sip,sha256=CXGKgIExGP1kw6FilqFrUjE1fu20xhNygUx1CwkDltY,2836
PyQt5/bindings/QtCore/qwaitcondition.sip,sha256=pSvo9UwfgEfEiS5fpDKt8Z3bFOWHO-ivqQJN3_Se4fE,1599
PyQt5/bindings/QtCore/qwineventnotifier.sip,sha256=jQ2F1eFlKOVFu8XhORLuue7aR586GQWuKa09u_Cxfxs,1630
PyQt5/bindings/QtCore/qxmlstream.sip,sha256=GxdrWjzsLF92pOPI5N_WdB4nm1zIOZGScVVfZrIQSgw,14468
PyQt5/bindings/QtDBus/QtDBus.toml,sha256=14vhtP-qohpjX1B_BtvV0VsbzOJhsG0WQJ9umK9XzFI,181
PyQt5/bindings/QtDBus/QtDBusmod.sip,sha256=7WqefIZNGCL2iDJKICaUQzG_xvWuZUaFFsXL-Hey4e4,2395
PyQt5/bindings/QtDBus/qdbusabstractadaptor.sip,sha256=OA902WUreUPqE0V6oSI9R8_MzFoC9_wWWveW2-EW-wI,1309
PyQt5/bindings/QtDBus/qdbusabstractinterface.sip,sha256=Kwh55oXjKlVQb0HJA5wVXJxZMe7ZvExQoNaHcAOdfC0,6844
PyQt5/bindings/QtDBus/qdbusargument.sip,sha256=iF5SlahV8K233QYFgaiA-R2NG-rTJlNOJnD3DN5GXwY,5238
PyQt5/bindings/QtDBus/qdbusconnection.sip,sha256=EJuiJxNfmMlYI_BXMyBROpw5xeuI5ZV9UsCv4NY5TMk,10165
PyQt5/bindings/QtDBus/qdbusconnectioninterface.sip,sha256=LiDlZgdDcnHi287K0ySKW9f5W9m6kRHMj9hGiq2ftwE,3073
PyQt5/bindings/QtDBus/qdbuserror.sip,sha256=x_GjSEoPkuuUDNFl9TAvDsW0EcSRT3WKUpY6QdnkAe0,2026
PyQt5/bindings/QtDBus/qdbusextratypes.sip,sha256=YLPt_DkLT4FwzTTULrNASt9lxNfPSWq8tO5WEPpldyA,2652
PyQt5/bindings/QtDBus/qdbusinterface.sip,sha256=tCBA55EZrjzLO87x79wExyjcAonQVevWMOglOm72tq8,1331
PyQt5/bindings/QtDBus/qdbusmessage.sip,sha256=NiFdVOhaURi47KBk5khyR8X8k-0Vc6ennU3oGtFjBAw,3184
PyQt5/bindings/QtDBus/qdbuspendingcall.sip,sha256=OYcR9p8pqcvZdh0Dhuot3Ow90A4sKsOaI0VCp6SVMw0,1901
PyQt5/bindings/QtDBus/qdbusservicewatcher.sip,sha256=uQbUEzBEEJ3NMVzikAD5usoPrrcs6AVqsBWVHZlTGbI,2539
PyQt5/bindings/QtDBus/qdbusunixfiledescriptor.sip,sha256=d8f-kysL9G3GM5zll31DgFc5ITN343Sz3DlkIBfv4I8,1489
PyQt5/bindings/QtDBus/qpydbuspendingreply.sip,sha256=IlOihyBQGwt73PCBDi_NQV8c5pYBEHqUXSOLTlgQBUw,1783
PyQt5/bindings/QtDBus/qpydbusreply.sip,sha256=pcmTt_CRn6tXWutba4zGNX-R1lHex2rIBeZe9p2-QFA,5529
PyQt5/bindings/QtDesigner/QtDesigner.toml,sha256=gIK96u0Bp0bnk50tKaznnVkxf2P2qrCKg8J3_mT_C20,185
PyQt5/bindings/QtDesigner/QtDesignermod.sip,sha256=E4wOaQ0uTgH-Yq2yVZzGGx1Auipq5Vn1mm_f4DVbr7c,2848
PyQt5/bindings/QtDesigner/abstractactioneditor.sip,sha256=MAyiMjjao-DXnBe40mWhc2Jqb3gWpeCfN3pm37T5mlM,1530
PyQt5/bindings/QtDesigner/abstractformbuilder.sip,sha256=UFhCXvsvZaboyuhaRjLaSAU2E8v-jl0SzLgkExPiOxg,1502
PyQt5/bindings/QtDesigner/abstractformeditor.sip,sha256=VJOfQSiI02bslVtCwaFivlrYT7hiUTHxhAglDH707UE,2191
PyQt5/bindings/QtDesigner/abstractformwindow.sip,sha256=uLQgWSR20t5oKnF1xWnB2LCMUXop5kiMQRwHcvKhD40,4826
PyQt5/bindings/QtDesigner/abstractformwindowcursor.sip,sha256=RAkLWk0CwjFJ-WRs_SZTqySIplEur0EYDSlOIAKQlUI,2460
PyQt5/bindings/QtDesigner/abstractformwindowmanager.sip,sha256=jR9wz8gnh1PRTAQR4VFoJxK-vwl7n5vhA9q_LRpgjCs,3358
PyQt5/bindings/QtDesigner/abstractobjectinspector.sip,sha256=pMZPJHIkWCqqxYrg2qdRpxopgwrNfIGngd4hz3AFFC8,1437
PyQt5/bindings/QtDesigner/abstractpropertyeditor.sip,sha256=4f7y1BGCeh8r3FT4EmZTZhcJqJZFT9Qqp1kOY9X9S6U,1779
PyQt5/bindings/QtDesigner/abstractwidgetbox.sip,sha256=95EtkQD8NXPBTM6F7zS7Dv6y6xCgu1-l-v6NKSLmJAE,1417
PyQt5/bindings/QtDesigner/container.sip,sha256=cztyVvANBVov-Q32WfCPj0cq3-CBoQA_oGS51RDIgv4,1550
PyQt5/bindings/QtDesigner/customwidget.sip,sha256=EFfPNjqTFDlkAHclbC7jJAoBR3tT89F6nACAk5UwRxc,1938
PyQt5/bindings/QtDesigner/default_extensionfactory.sip,sha256=aEhXh5ZYXDrd0advIplt0h_I6EW1f0bn4ukMTxKTHgM,1594
PyQt5/bindings/QtDesigner/extension.sip,sha256=GMSNVZ3d6foAe3hYJY1bCLD2-fMe78sKkQNQxmi9Ny0,1616
PyQt5/bindings/QtDesigner/formbuilder.sip,sha256=-BrcmGV9M9zYBnP25Gx-TWQKLQH9Z2n2gMafJ210yTI,1382
PyQt5/bindings/QtDesigner/membersheet.sip,sha256=Q4jfiyLNoGYh0XKlm0m2GOu1HBZdBa-gqqNhlsBfBx4,1917
PyQt5/bindings/QtDesigner/propertysheet.sip,sha256=LkXMDq4QOlvm8xvRtbcBMauYGFWvGWW0cegles7PnbA,2000
PyQt5/bindings/QtDesigner/qextensionmanager.sip,sha256=XmS1OJuxgMQdeoSRhvmQNmIJcngwuRwLZeRZlN1GD0g,3582
PyQt5/bindings/QtDesigner/qpydesignercontainerextension.sip,sha256=GguaQlN-nzt2fn8Qi3_H8nFlXQfKTRj9mfp9Gn8wVPU,1260
PyQt5/bindings/QtDesigner/qpydesignercustomwidgetcollectionplugin.sip,sha256=Kl9OeLAiqHw-vdwsDCYqdWQn_ezoddOieIfd6_jFw44,1341
PyQt5/bindings/QtDesigner/qpydesignercustomwidgetplugin.sip,sha256=lBCQnks9wYAteMxBQwclLihYYCHK1Vfoo2mkNG5eqkM,1267
PyQt5/bindings/QtDesigner/qpydesignermembersheetextension.sip,sha256=-VcgMOWgRQgdr4RhpfqrmCoZqYsXcvhNcmtQy4Gl1v4,1274
PyQt5/bindings/QtDesigner/qpydesignerpropertysheetextension.sip,sha256=BNoQYWTgvXBfacs2q6t4bUysqVLgNRdhm-wi4-6zLE8,1292
PyQt5/bindings/QtDesigner/qpydesignertaskmenuextension.sip,sha256=K6q1ecjS2d1_Ey23Mv_DBHQxViT7OSXrVbQV_gbwZAE,1253
PyQt5/bindings/QtDesigner/taskmenu.sip,sha256=DYlA2HdKCWEmP3oqxbG-16Yu6eY67TWfJ1Sye22wyl8,1221
PyQt5/bindings/QtGui/QtGui.toml,sha256=YVg0EURXBYuBt3VnPMTdr8snMOnEnLnwS_ljt4vYUDk,180
PyQt5/bindings/QtGui/QtGuimod.sip,sha256=ZFjugD9SCeJImObsmLjJXj64htQJ8ZaRmtAufOb1xJA,4639
PyQt5/bindings/QtGui/opengl_types.sip,sha256=-KJH03fewoazENzxgkFOaRiHr9LBuABLSMFRn6lG5_U,1450
PyQt5/bindings/QtGui/qabstracttextdocumentlayout.sip,sha256=naQiv_3g27C56Zvyv-aNzkLFwF1MvkPa8QdQRFwkDgk,3924
PyQt5/bindings/QtGui/qbackingstore.sip,sha256=hwCAh3dLnb8b5i18lAvyWJ7intrJL1BiXciUKOhN25w,1611
PyQt5/bindings/QtGui/qbitmap.sip,sha256=8X8SEVOC5sTgyQT-3OAgAmyIHcv07XyzmWfWYRQ20Y4,1932
PyQt5/bindings/QtGui/qbrush.sip,sha256=K1NTlbvj81HQosHvhv0zwPoVnVuYqOY9cauE92hR_mA,11361
PyQt5/bindings/QtGui/qclipboard.sip,sha256=Af3dXSG0uaxqOiI4OYv051Div8JSe6P9QUx4tUD4Y9M,3633
PyQt5/bindings/QtGui/qcolor.sip,sha256=d9t79k2MVZOAA1cJBiaCuzdQNH4aMIL3sMuMJPA6dlY,12487
PyQt5/bindings/QtGui/qcolorspace.sip,sha256=sKvoRTygRIsM2kbn2agQMwWRoGj0I4TYDvyzWYLjIs8,3243
PyQt5/bindings/QtGui/qcolortransform.sip,sha256=vDPGzEY8o--9VDD4dv4lxsVpFjlKzl_PuKFu4UrqNUQ,1378
PyQt5/bindings/QtGui/qcursor.sip,sha256=6Hw7K6ccen2GKIVr-BlHgWmtP3MEUsYjKeDzpjsRsgA,3162
PyQt5/bindings/QtGui/qdesktopservices.sip,sha256=s1nDwLMYKJdyw43Msa1BUjHf3wr_V1ZsF-meN_IXcM8,2485
PyQt5/bindings/QtGui/qdrag.sip,sha256=5t8ZkFaut4LSW-6JkdYcJkCHnNvugjAs2ZK9C4BTSdk,2266
PyQt5/bindings/QtGui/qevent.sip,sha256=P6oomItprIJq6KhPCBPcm6d4yLqClMVAREdFH-kKwaQ,24977
PyQt5/bindings/QtGui/qfont.sip,sha256=aya3IYk0pDD8KIdX5U3ZrZkNk2tKmuXWLBuvVybufeM,6343
PyQt5/bindings/QtGui/qfontdatabase.sip,sha256=YKBykT3agI4lG_Kw7rayCYqaMULyeD_C_fI_X8U4SNc,3821
PyQt5/bindings/QtGui/qfontinfo.sip,sha256=wwCF2upkj79oDMC13iOh-tvj6cpMEKYUOiPwqBk3mRg,1568
PyQt5/bindings/QtGui/qfontmetrics.sip,sha256=zxgwLtPx_r7SV4iTDKg3L4Y9xIz39dF2-tgYtUmi93c,6552
PyQt5/bindings/QtGui/qgenericmatrix.sip,sha256=jNkAL-U0z9u2JKeV4KQaeWLffKXMV2hVIT8-uZyywB8,32592
PyQt5/bindings/QtGui/qglyphrun.sip,sha256=In4APWE6rgopQ5ms0QEVg0zzsS2BdrVE_AkdkjXW0pM,2388
PyQt5/bindings/QtGui/qguiapplication.sip,sha256=z1YZnKCSut_VOtpvbNjAvI1IwDJ97_F0RNoWkhJg27k,11884
PyQt5/bindings/QtGui/qicon.sip,sha256=DhPADRgfyHFR-aiMBURqP49LtUGPuZvOtjSfUdghfUk,4828
PyQt5/bindings/QtGui/qiconengine.sip,sha256=QkcmrxpRbsLqIaABqamXM3cbTFYBiwzoxgPG_ZTRbbM,2835
PyQt5/bindings/QtGui/qimage.sip,sha256=9qwxpjYhHSjm6SvWvcUqSmuXbzDYqSqEIM2Ntj7tFm0,10734
PyQt5/bindings/QtGui/qimageiohandler.sip,sha256=DIhA3JT5nkOT_v_UY9AJ_r8ERL9WZWyOMsqp5BzxhyA,3022
PyQt5/bindings/QtGui/qimagereader.sip,sha256=fcisRMc_ZiFNv8F4scGo-crsyloKVX9-JCpI9QWy89c,3767
PyQt5/bindings/QtGui/qimagewriter.sip,sha256=LfKalTVXGnVbnrbNNaEiNy78BsJqjy1Upxy0PcvhZkM,3088
PyQt5/bindings/QtGui/qinputmethod.sip,sha256=JtW9sbqxlw6C8M0dtsV33vqKEcCW_7XFTVYVnZfPZd4,2541
PyQt5/bindings/QtGui/qkeysequence.sip,sha256=RRn9zCu0qKGtSOVJduQku8pEJmrzyH-xnxPamQOF-e4,7097
PyQt5/bindings/QtGui/qmatrix4x4.sip,sha256=ErNgG-QXWm2RxrmVt72zg8Wl2iRlUABnpVSlbdqsrdI,10969
PyQt5/bindings/QtGui/qmovie.sip,sha256=U4djd66R6JIkO7wHTfFt0TSYaAZyhItrqqF47Yyq8hY,2998
PyQt5/bindings/QtGui/qoffscreensurface.sip,sha256=wqRK_P0Bf5zzt3liWZa3XJEo6MS1DDUFA9MR1Ea-xXQ,1862
PyQt5/bindings/QtGui/qopenglbuffer.sip,sha256=ZdwNMqucD9ulSO536ULOpgL12dgRfkfYUbq0DgVMsAQ,2939
PyQt5/bindings/QtGui/qopenglcontext.sip,sha256=G5uruQHjYUE1GN53QYBTVmgBlsjWCttECisOCzrbKog,4123
PyQt5/bindings/QtGui/qopengldebug.sip,sha256=zZzKB7nWPkRte_9pAdEWHzA26uMQ1W-siSwaqnvOxqo,5517
PyQt5/bindings/QtGui/qopenglframebufferobject.sip,sha256=MZSeQoNnjJ2IEaXihpwGO5I1kjdzMoBbXL1PKuZdP60,5540
PyQt5/bindings/QtGui/qopenglpaintdevice.sip,sha256=kUf39tf__pnolwF2dZr5faqXMuwWjH8jrdauR7DVjYY,1939
PyQt5/bindings/QtGui/qopenglpixeltransferoptions.sip,sha256=XK7VoK9iPxox4zLqaQUf2Mk2aucybWH42hUB5L5BEYI,1965
PyQt5/bindings/QtGui/qopenglshaderprogram.sip,sha256=kBlLCD62ZyDDWVgZTWYG14CbjgxsogmUmw0goiJfS3A,16834
PyQt5/bindings/QtGui/qopengltexture.sip,sha256=2wHhB7vtjQSb7TQAZbx_V7Cmo2XT7__KDkSfTwYvZgA,18884
PyQt5/bindings/QtGui/qopengltextureblitter.sip,sha256=8D6mBTmWcQAGMZI5SrOFeY1kFX9nw-YjRYY25iBw6Yk,2050
PyQt5/bindings/QtGui/qopengltimerquery.sip,sha256=ROHTZvCZ6yAIE4or4NYCvFv0JIxIz_RM_Nm-bJbAdGU,2217
PyQt5/bindings/QtGui/qopenglversionfunctions.sip,sha256=aw2c1E8dP_61imTHQa0S0L2RLgmNdTSTaNYduWym9Qg,1242
PyQt5/bindings/QtGui/qopenglvertexarrayobject.sip,sha256=0gMf0cs3ZtZk8Iwtfp8hus064JHdemoxQPNQrM_97pw,2024
PyQt5/bindings/QtGui/qopenglwindow.sip,sha256=qtJOQtY8LIoWXR8ORvEXRJSsCZjCnHxNsBMloqBh02w,2356
PyQt5/bindings/QtGui/qpagedpaintdevice.sip,sha256=_agMZC19Ur0lrPihZi2WWW8yrcVW4f6vH8ZtNpc9VD4,7036
PyQt5/bindings/QtGui/qpagelayout.sip,sha256=gfajXElHAk9nDibR1j29A4yNHf_uHPfpGzcyYjqaidM,3268
PyQt5/bindings/QtGui/qpagesize.sip,sha256=u4sHxfWAU6OW2dspgxC1e7zvTtPakeECkA3HMcdX31o,5824
PyQt5/bindings/QtGui/qpaintdevice.sip,sha256=biMMAOmVYKfNZ1fbjXZ50Dsr6J6OtW6JDbuSxxnRKFw,2183
PyQt5/bindings/QtGui/qpaintdevicewindow.sip,sha256=em7_pFuKRhP5Ca7o35jwCAO2i_crle8WK1NLVWSSB9c,1484
PyQt5/bindings/QtGui/qpaintengine.sip,sha256=E695gTaA1HTty-meZzPijLvatJ6WQRBODMM5ICY9jug,6092
PyQt5/bindings/QtGui/qpainter.sip,sha256=4_0X83-pRmxDyiGt2iwBMoASrwa7fyp39KkNNGy3NS0,21587
PyQt5/bindings/QtGui/qpainterpath.sip,sha256=4z3TJb__m8veVrfbP7uMK9I6OFUGfMRI26vWNmYOC-Y,7180
PyQt5/bindings/QtGui/qpalette.sip,sha256=vuuKEC4aIFQLYwEh-ud6QTrhaQAsSreTjfLwBRePNRY,4799
PyQt5/bindings/QtGui/qpdfwriter.sip,sha256=Pg8OvdC8v7SqU5BreXuR_E52TYMD4voaIn0k29oc06I,2393
PyQt5/bindings/QtGui/qpen.sip,sha256=qh_yVpfLoL4lwdZ7KlMMPya00lzxPrzeoMpsimJgLQE,3518
PyQt5/bindings/QtGui/qpicture.sip,sha256=dKP2rdycX-TJsLn2ufFP2ZVb6KWj-5bluswafT3TYeo,5881
PyQt5/bindings/QtGui/qpixelformat.sip,sha256=nt-7D4q4085vsxdANq1rbKPwZA-Ui6_yqDA-yBHVJh0,5944
PyQt5/bindings/QtGui/qpixmap.sip,sha256=E04DZ98h0kUmiBy66a5OlLBzvhp-uS1btk082D8J7XQ,4987
PyQt5/bindings/QtGui/qpixmapcache.sip,sha256=cvWieGnFlee7vA1PXYJSUyM9yR6JttGAOD1gXDcT7lA,2364
PyQt5/bindings/QtGui/qpolygon.sip,sha256=L0J3UmsGrG4hVn_vjpkkkXgvq88Jpa9tL0-OxUY6yVI,13769
PyQt5/bindings/QtGui/qpygui_qlist.sip,sha256=rBTdVue16YnuGvYB3xn76IdIYm6f16wFqTyA6CWgHWk,2890
PyQt5/bindings/QtGui/qpygui_qpair.sip,sha256=ehnaDoicIlc0IwpiH9-5rGlpsejMhtr_BDcdgn92sWU,5478
PyQt5/bindings/QtGui/qpygui_qvector.sip,sha256=ulTrCv6TLL8y0aFDuMKYFBS2FAOmK3oeLz7k7cZ1I64,9158
PyQt5/bindings/QtGui/qquaternion.sip,sha256=tc7UC91yC-Qku10FflZOpLkdiGYRwkW-kDZ7mYoXna8,6292
PyQt5/bindings/QtGui/qrasterwindow.sip,sha256=xT4HlBAgRI-OGho_scKVgSkfngyvXU2D4gkzj9HUYG0,1317
PyQt5/bindings/QtGui/qrawfont.sip,sha256=8_Rnsj1UHYpmnvE5dGajvZbdn9lHtETac_NrAqTQoYI,3942
PyQt5/bindings/QtGui/qregion.sip,sha256=JI-pLLtyngbEY8PGm96aMuWvD58z71CI-pDhPmHMjeY,4641
PyQt5/bindings/QtGui/qrgb.sip,sha256=zkSZGzfPojRnl4Hqgot0y7qD57m1KrsOJArJWovS8_I,1381
PyQt5/bindings/QtGui/qrgba64.sip,sha256=y1lxx6Dyho6TVXz0G5nB6Ap3UJy1NhukleiuLfkXL_E,2474
PyQt5/bindings/QtGui/qscreen.sip,sha256=bjIz7cTX-ZTs_Vf7IF-77rdc5rmRzpJraXYNI0Mxoi8,3482
PyQt5/bindings/QtGui/qsessionmanager.sip,sha256=Sts0kK4eh_DUBrS3_OifNrIdCAi74cV8hP5wiqJINKM,2052
PyQt5/bindings/QtGui/qstandarditemmodel.sip,sha256=slHCM6I7yJbt0Dn6-DVuSMytuuymCd0Z9BNS3MRquU8,10166
PyQt5/bindings/QtGui/qstatictext.sip,sha256=qbeLlbZAgTHBeKeNsJ9hw4GBZhnedL_76zKTGIItxrs,2097
PyQt5/bindings/QtGui/qstylehints.sip,sha256=iBnOTCBzRk5SE0vwj7ygzMbBOM7PF3xUe2Ogsp86yBE,3538
PyQt5/bindings/QtGui/qsurface.sip,sha256=H8r8X2oxl-w4hKjeLiX5z_kTHlUqG6O9mTViN7Zo2WY,1788
PyQt5/bindings/QtGui/qsurfaceformat.sip,sha256=nrPz9HVUf8ZiDfuL95oD9hWyt9WaR96bGfYFHyAz9lU,4382
PyQt5/bindings/QtGui/qsyntaxhighlighter.sip,sha256=1dGaqr1Zyr4OCF9ZB2MAf19b-RvaauLyS4SUppk4Qts,3119
PyQt5/bindings/QtGui/qtextcursor.sip,sha256=gw9gFwphyuRof9cpm2qLP6ZUp4IHoarFNg-zoO3gXIc,5533
PyQt5/bindings/QtGui/qtextdocument.sip,sha256=yWcBeFsO04zc3oSDDIWXfghTGxvCEDiqigew_3gBlfQ,7516
PyQt5/bindings/QtGui/qtextdocumentfragment.sip,sha256=PIJRhwN6Zn6smaFHmld2c9qoIBd3stNwjcVo14AjfgU,1716
PyQt5/bindings/QtGui/qtextdocumentwriter.sip,sha256=3n-4Zyn7kYbE28dTZHp08efrxgxBZCpGeD5N21mg_94,1847
PyQt5/bindings/QtGui/qtextformat.sip,sha256=SbljbeIPEbPCRuBPKBT_vEseg__vJZDgq_THCqKZ0XM,20387
PyQt5/bindings/QtGui/qtextlayout.sip,sha256=2rtuBtJCTZV50G4HaACdGJ6b9War7w-zuyi0FqEXsqU,5847
PyQt5/bindings/QtGui/qtextlist.sip,sha256=k6x5yjWcFX9cf_ldxcBXCMrVW7OrN3OWtT4PRNHDYM0,1550
PyQt5/bindings/QtGui/qtextobject.sip,sha256=bhYZf_gnMlJaJ3iIHPsjSezo6bLEQ5oc6YFSyWxnQHw,8097
PyQt5/bindings/QtGui/qtextoption.sip,sha256=OcFiEGiIuRHFMKL8dLBSMTT3X8T1OOOpjnDuXh1LjUg,3098
PyQt5/bindings/QtGui/qtexttable.sip,sha256=DL7d9Hir5tvZkvY8GrJRcayPl03X09HpNnl4CrL-vqQ,2644
PyQt5/bindings/QtGui/qtouchdevice.sip,sha256=aO1Cs0qsTZn0X9adD7PdQyxeYkCOqso3razr4EjsYx4,2042
PyQt5/bindings/QtGui/qtransform.sip,sha256=uYGf9WbHKMwo_l1FBKmBd0Cb_gBqSjIjWFJwVBXDkc0,5217
PyQt5/bindings/QtGui/qvalidator.sip,sha256=7XA_S2QPyQ4uJRkJxoaMEsc2_74V7sFK4_9_nqkNWQ4,3904
PyQt5/bindings/QtGui/qvector2d.sip,sha256=eCiS5OFK2VyYVkYsUwkZOQDZLTVl1xdeuMS7J9O2DEU,4173
PyQt5/bindings/QtGui/qvector3d.sip,sha256=GS7qRhnk153lzGYjMi5-Kxe_GE6GiDhvymE0B5lJygI,5245
PyQt5/bindings/QtGui/qvector4d.sip,sha256=AfQIiFo6lyf5niFOKeFWeSfwBJBdMURg1fFS9OJCCNY,4816
PyQt5/bindings/QtGui/qwindow.sip,sha256=axk1HHeNN1Dm6kuq1BIKAvvC4jD5W671I1DDzV8pITU,7623
PyQt5/bindings/QtGui/qwindowdefs.sip,sha256=kYU-J4yfAQ67T9x4sLknwKuCjJ5xi0Uh_nbFcVHOHyE,1033
PyQt5/bindings/QtHelp/QtHelp.toml,sha256=3XWJz3RtjQRU35X_LgZyA8Hl7pjdpdaAdPq5nW-YkBs,181
PyQt5/bindings/QtHelp/QtHelpmod.sip,sha256=sa8NrQg6PlKSSAQMrIpPhcQi5Fn960RDYC6Nj1SLKcc,2402
PyQt5/bindings/QtHelp/qcompressedhelpinfo.sip,sha256=sF1ukRTuZtnY9e2Fo3boAFycdaxKshd19W-vCiLbTDI,1522
PyQt5/bindings/QtHelp/qhelpcontentwidget.sip,sha256=SjhgKIw-em7Vqzh9dhVgvTJiEHEiQHH92AwtbXjvvuw,2424
PyQt5/bindings/QtHelp/qhelpengine.sip,sha256=LrIcO-FQu_be5bDOj9pYmKKeiHpNNdgIsghbpfKGCcc,1398
PyQt5/bindings/QtHelp/qhelpenginecore.sip,sha256=lKFXlExDvYOxzD4vZoGDa21IVOn2s2qhl62lcAMrqBE,5469
PyQt5/bindings/QtHelp/qhelpfilterdata.sip,sha256=lgVDCKo84e6bFy_3jlY-hVFfNzIU_p4-JpXV1fU3B9E,1498
PyQt5/bindings/QtHelp/qhelpfilterengine.sip,sha256=T7PInj8Kq2N6X2aIr6jX85QPRX3bciPkh2Ct0hidAtM,2044
PyQt5/bindings/QtHelp/qhelpfiltersettingswidget.sip,sha256=szahQnDRxbv9MQG7c63XUUeAi2F0GpyLetydJJ85lXk,1522
PyQt5/bindings/QtHelp/qhelpindexwidget.sip,sha256=76idtcmMY1VKCLnrS8rF380DisS7J2173hzLhEjT4JM,2205
PyQt5/bindings/QtHelp/qhelplink.sip,sha256=g222R-dHME74pWh4A_kSrpXisAncMTka-hZoHH19yfI,1108
PyQt5/bindings/QtHelp/qhelpsearchengine.sip,sha256=SMKmvMFh8ccgwg1wqFEAl9jU4KSK_x6DPSirsneq9gI,2814
PyQt5/bindings/QtHelp/qhelpsearchquerywidget.sip,sha256=MnFaEKmGzQl7eIdEB49qeXAzDGEyA9k6vls1T6q59NY,1914
PyQt5/bindings/QtHelp/qhelpsearchresultwidget.sip,sha256=_LUHc4zGnHM6DkBdFf5H7b0xmx7YBPhh2kDDj4HeSXw,1257
PyQt5/bindings/QtLocation/QtLocation.toml,sha256=ZuqsLF95KjvQn6qiJgL5iCLWm6JsytCWYZTl_yh2NXA,185
PyQt5/bindings/QtLocation/QtLocationmod.sip,sha256=jHt3Fh9r1ja5ggLqPQu3iWerB1REIN5cdmC_F905wzQ,3199
PyQt5/bindings/QtLocation/qgeocodereply.sip,sha256=uSECTmDHntlXGd1GtV84HqUCv6YVKEZson5v_GAQlGc,2409
PyQt5/bindings/QtLocation/qgeocodingmanager.sip,sha256=aGYRom2CtPXqMoAgi7Y2KL5N9TXXjgpdG3VZEkHXmPw,1828
PyQt5/bindings/QtLocation/qgeocodingmanagerengine.sip,sha256=8S4_80qBIM0n9tIW8hAQ0fLqj06_cL5VP40L77ztCAc,1900
PyQt5/bindings/QtLocation/qgeomaneuver.sip,sha256=zcDSFD7Y7LcI7gcG4ooCQdukJvV2EwjPXiIvJ6TiYrU,2469
PyQt5/bindings/QtLocation/qgeoroute.sip,sha256=yYfkxq1Xtf1GpwH02ahRKFrf5BlOrL6Q_JJCfuHAaVk,2655
PyQt5/bindings/QtLocation/qgeoroutereply.sip,sha256=VFxr_IY-l5dixAMWIA-7ZwrtrMGlYpU0M2d-0PSe9WM,2140
PyQt5/bindings/QtLocation/qgeorouterequest.sip,sha256=fboqLdK4Z4SmVfJZieP2ZWO7ydGGr5hgGTrBB3A5Om8,5481
PyQt5/bindings/QtLocation/qgeoroutesegment.sip,sha256=Ys1wqkadz57XOUr6F0Xtov7ijfcjgRut_IxMEtYm15s,1849
PyQt5/bindings/QtLocation/qgeoroutingmanager.sip,sha256=dh_OnfKYiRTMaVKQFzWnmEgJR2E3kiIW6ZIRxGV6GhQ,2208
PyQt5/bindings/QtLocation/qgeoroutingmanagerengine.sip,sha256=l0Vbpbn7VoJvvD6ZQ_Gj0EHoxSKi4iMkwFI9UlWCg0E,2859
PyQt5/bindings/QtLocation/qgeoserviceprovider.sip,sha256=oYlziLpNAbSd3j_Yd8yjFrLoUAU8HLN5-qXccuxG__Q,7498
PyQt5/bindings/QtLocation/qlocation.sip,sha256=ntjkWiBu0-S1BJoG2dM1JlzEQYY7UZWSrtU3C6DMIsk,1417
PyQt5/bindings/QtLocation/qplace.sip,sha256=eAs2rMX78FBqIOuy63eQe1SosdKctpM_ORZVanCEnA4,3368
PyQt5/bindings/QtLocation/qplaceattribute.sip,sha256=DmKZnMNw47Wcegwqtf-rMJSN75CPPIDgZzVXWNPqiFQ,1602
PyQt5/bindings/QtLocation/qplacecategory.sip,sha256=yYRS7_0HHiWXjQZceuRTTMapUMd_RXCJqzku7wa4aWc,1676
PyQt5/bindings/QtLocation/qplacecontactdetail.sip,sha256=S_ccPM6JN1oqmB98jTn980CGiMTEA5BXaQRUbYwWOCE,1654
PyQt5/bindings/QtLocation/qplacecontent.sip,sha256=Nr9Ix1fV1j-OZxS_JhJQODo11cnlcq57l8O9xvx7c_Y,1814
PyQt5/bindings/QtLocation/qplacecontentreply.sip,sha256=3-L_UhjDSCiYsa8BFlf2_-s612XMRgwq1_JQNidBz50,1811
PyQt5/bindings/QtLocation/qplacecontentrequest.sip,sha256=NOrznGSryfv9qsaowtcV5AAP0QBd9jncZhJgM-Czxks,1707
PyQt5/bindings/QtLocation/qplacedetailsreply.sip,sha256=dUqc5YTHXK2_GEz0Mk6UkNbu_OecmXdbDUECEYHZD-k,1358
PyQt5/bindings/QtLocation/qplaceeditorial.sip,sha256=-m75qYqBbGFsJdVMsSQWaUTr9CzjTrWwE8FCIh7VQdQ,1436
PyQt5/bindings/QtLocation/qplaceicon.sip,sha256=degFOHaO4JDo6MuajtC0azbAsr4W5d8T0jUGSKgWs0o,1564
PyQt5/bindings/QtLocation/qplaceidreply.sip,sha256=spch_59nsKgjSqGQNu8cOEQm2qDVgvQVWX2O-FRfDPg,1557
PyQt5/bindings/QtLocation/qplaceimage.sip,sha256=zQnSczayoouMSSdjDW2pUM80zsYiQYaX2G9ln_v_6lQ,1413
PyQt5/bindings/QtLocation/qplacemanager.sip,sha256=bZSVkFZQy2RBl0PkMBOmI_EQy8wfRMdSF0Yu3PzB0-g,2979
PyQt5/bindings/QtLocation/qplacemanagerengine.sip,sha256=jj2R-1RCoQw1JuEa7BQhrJNOyZjSV8M6mIX5lD4L0FQ,3279
PyQt5/bindings/QtLocation/qplacematchreply.sip,sha256=1qWQEuKD2yb9RYjoLqGjQ6MRWlHTmwGz0VXByg93l8w,1464
PyQt5/bindings/QtLocation/qplacematchrequest.sip,sha256=J8zRW352-sUKc-vWiv8RFFmdBu7OViEH_WcIDvHRo_c,1647
PyQt5/bindings/QtLocation/qplaceproposedsearchresult.sip,sha256=u_dyMPZCrN3nKwuU_1nONNKKeD4auibx36XkgVQ6o_8,1413
PyQt5/bindings/QtLocation/qplaceratings.sip,sha256=yQyOktZ-oDI0a-H0HZpmSqwW4pNMSNj9v8AURHbObsA,1509
PyQt5/bindings/QtLocation/qplacereply.sip,sha256=WwOQQPIPIamn0CrSFcqIkmpvPzfD-rtnS-13wiK3Tzg,2208
PyQt5/bindings/QtLocation/qplaceresult.sip,sha256=R1RJ_zxj8uuKBUbdgBHROoMRNZY4rzrzTdcYlDkMJKY,1424
PyQt5/bindings/QtLocation/qplacereview.sip,sha256=QV3TnMDN1MhSReBi6UL-dKXAy1qPlYxN2Cfmrw9ToyU,1636
PyQt5/bindings/QtLocation/qplacesearchreply.sip,sha256=1q1L5GwZC23MpWJ_zbip4Op914QMY3pfLqaqZI2-gYk,1735
PyQt5/bindings/QtLocation/qplacesearchrequest.sip,sha256=ADGCuBPPdUqpgJ64IsHMdxTFx1i52eb_83Vn4XvEu8Q,2337
PyQt5/bindings/QtLocation/qplacesearchresult.sip,sha256=s_pgka8MeJZPxgXLlYb0-Q8Cyy0IhKij10MoP1e4zPU,1682
PyQt5/bindings/QtLocation/qplacesearchsuggestionreply.sip,sha256=eFD4vADtb_cUFxbrT_tucyvpBMToRLyuRgYFyKgsw3Y,1431
PyQt5/bindings/QtLocation/qplacesupplier.sip,sha256=wXhEyZlSFSx2_5tgkSNNzJoqtsXgvfy0HSgu4M-zBwY,1621
PyQt5/bindings/QtLocation/qplaceuser.sip,sha256=VfAJh2xK4Da-piL7HLY8jHzeObcp6KakqZD_bXZlwI4,1418
PyQt5/bindings/QtMultimedia/QtMultimedia.toml,sha256=MTOFpgEw-USTCox_ksOAA35Fx1ziXnK66H5jOSffWXs,187
PyQt5/bindings/QtMultimedia/QtMultimediamod.sip,sha256=Ri3-_5qFZJFoS43eaBOQRe2yXpQKHCrbxRQwPtggItk,4600
PyQt5/bindings/QtMultimedia/qabstractvideobuffer.sip,sha256=n24Ma5KJR49y2umA0AdEv5hNnl43C7y_BovGduTdLXQ,2558
PyQt5/bindings/QtMultimedia/qabstractvideofilter.sip,sha256=ZwUlf6tbAbbUKEVKEuqBWeAQqtfwUa-SROAC4o-yYEc,1980
PyQt5/bindings/QtMultimedia/qabstractvideosurface.sip,sha256=ukOhFn3HsiP9LS23wXIs1fVpw6XguK0jaeoSD7Mrqus,7903
PyQt5/bindings/QtMultimedia/qaudio.sip,sha256=F9le0taDG41KqqSMDDOBA4C1noMIXKc_I1C3BOzvfZc,2067
PyQt5/bindings/QtMultimedia/qaudiobuffer.sip,sha256=0TN7-6Uc2BbSucSAuNkvcjW330FfUCiCh27JQjozjtM,1599
PyQt5/bindings/QtMultimedia/qaudiodecoder.sip,sha256=gzAtZe_dXWdwgyJ4My6E-R4oynjLAz60egGzvFYrRnI,2656
PyQt5/bindings/QtMultimedia/qaudiodecodercontrol.sip,sha256=njTCpciQb4Qixw_lzzStuTfntAHq0J5vBG6kURbwLyo,2242
PyQt5/bindings/QtMultimedia/qaudiodeviceinfo.sip,sha256=gqjveqAmByOhJ_o2WL6CKp_QGhgllEtA1qgpPl5cTVQ,2074
PyQt5/bindings/QtMultimedia/qaudioencodersettingscontrol.sip,sha256=paMKQynLtjSBSfBkaP-hMKcc_kWzlCyoOkrrBCidjLw,1663
PyQt5/bindings/QtMultimedia/qaudioformat.sip,sha256=f5Z8FYVCzjKuOMiR0hqaXLoReIFg-yCq-FoKHdJawSA,2337
PyQt5/bindings/QtMultimedia/qaudioinput.sip,sha256=SIktSB1O-figmlFQxoNHnihKGSqeZdYRYFyDWOB8HIo,1996
PyQt5/bindings/QtMultimedia/qaudioinputselectorcontrol.sip,sha256=bKdtBKiRdQnRvRIkG0qhMvhl4YdHlpamaTMrvoUxbAw,1656
PyQt5/bindings/QtMultimedia/qaudiooutput.sip,sha256=tAJakK01scrbJR096MnMlxxIkU5jNZwiqTUkJNRRW4I,2073
PyQt5/bindings/QtMultimedia/qaudiooutputselectorcontrol.sip,sha256=ZsrMNksNF_0E3VbV9J9p8gbJ8fA8nE-K39u1UwrT91c,1668
PyQt5/bindings/QtMultimedia/qaudioprobe.sip,sha256=uXdMRZB9dUMgIRrEL-NDlL00tzc02iHf-r3Gm9NLGxM,1375
PyQt5/bindings/QtMultimedia/qaudiorecorder.sip,sha256=P50DRvDz6ht8GOQcMnPgb0Z2Xic3OsaS3g45mCZRErc,1633
PyQt5/bindings/QtMultimedia/qaudiorolecontrol.sip,sha256=tGW4cXo8WuCk0zGR5RFylNP7cfUFPXEsDC4p1kQ8nB0,1473
PyQt5/bindings/QtMultimedia/qcamera.sip,sha256=-P56HWaHbTjLtEi_FhKYIl1r_GDGwZIEOdMLD0WFo6g,5926
PyQt5/bindings/QtMultimedia/qcameracapturebufferformatcontrol.sip,sha256=m5Qdr-v5_OrjpdswfwOYN3wQqClVN8qNQbLahzdLGnY,1589
PyQt5/bindings/QtMultimedia/qcameracapturedestinationcontrol.sip,sha256=704a9Ta7CPK4av8gT6GUkxSNYpL0u1JZt3pt3vyx3yE,1692
PyQt5/bindings/QtMultimedia/qcameracontrol.sip,sha256=DPE7GuTXUBi8gccSzVkhsLF6M863LfUcIdNMV5PHBu0,2060
PyQt5/bindings/QtMultimedia/qcameraexposure.sip,sha256=ltmLJBE6TYTBXPfISuhBWs5UNxqBn6H9ANfKKk0t1W8,4523
PyQt5/bindings/QtMultimedia/qcameraexposurecontrol.sip,sha256=ZZkauuyosatfwdLIaPQvwiHynlILY_WQldrZzLWl7qg,2250
PyQt5/bindings/QtMultimedia/qcamerafeedbackcontrol.sip,sha256=BdJiWexD2TNbA0nCqxXfaM-EI_Bsw6Q5RVHyTuUExo4,2009
PyQt5/bindings/QtMultimedia/qcameraflashcontrol.sip,sha256=sBsZaPz2e7DeQ1ox4QyUzNJ8ezrPAwFYiqkGe6o2sms,1528
PyQt5/bindings/QtMultimedia/qcamerafocus.sip,sha256=UMQ5_nk6JPQ-iquGV14PdTTIztdBJqptTTHle63p0qo,3314
PyQt5/bindings/QtMultimedia/qcamerafocuscontrol.sip,sha256=1HKJgKGHWZhPIocwh2xo5HFnxtHtuguggPQQb5BbhF0,2072
PyQt5/bindings/QtMultimedia/qcameraimagecapture.sip,sha256=3CqcQ8rL99r3itumAbV2HV6o9tPekpCqxSdie7f4VfI,3644
PyQt5/bindings/QtMultimedia/qcameraimagecapturecontrol.sip,sha256=C70MnGpRGbT5suBjKnNXUYvK3jIWpuBoCFL4Le0Ho9g,1983
PyQt5/bindings/QtMultimedia/qcameraimageprocessing.sip,sha256=O0vWe1OAifcThGSJxiqyezYNvubx45jUPGIYwg4-o8k,3154
PyQt5/bindings/QtMultimedia/qcameraimageprocessingcontrol.sip,sha256=eq8bxN_DXhXwma3nKb5Ex-URunIYg-fGWOrkfDd9B3Y,2153
PyQt5/bindings/QtMultimedia/qcamerainfo.sip,sha256=FZpas_t2mwa2Y_Gz5JNawF6uAaDzWWRN9Jfr2GyfuQ0,1694
PyQt5/bindings/QtMultimedia/qcamerainfocontrol.sip,sha256=UgUAGIoYPWK9o1OLX3-bPMmc2ieMP1dS0NjnRpc7ams,1378
PyQt5/bindings/QtMultimedia/qcameralockscontrol.sip,sha256=w7A3gQKR-hfYDvH9yOmf4Vbid2ZNRxro41eecZ9sBu8,1611
PyQt5/bindings/QtMultimedia/qcameraviewfindersettings.sip,sha256=qudy3il8lSlNufuN7XTuPcy4741NbuyymXplco8GTJ8,2139
PyQt5/bindings/QtMultimedia/qcameraviewfindersettingscontrol.sip,sha256=3unENKXrvXuDIWk--kixfI3MYQFG3GUNyJ1fVNeqi-o,2406
PyQt5/bindings/QtMultimedia/qcamerazoomcontrol.sip,sha256=_Berr6x6cX4ndn9dI27uZi0a9ordKKArNhH6LiatvqI,1919
PyQt5/bindings/QtMultimedia/qcustomaudiorolecontrol.sip,sha256=eXkrWKO54fnVys4eJPC2vw3cd2W4ZEEtAEboWxQlSpU,1519
PyQt5/bindings/QtMultimedia/qimageencodercontrol.sip,sha256=oDw81AC9rwfh8FRwJ6G4nBTW0UvXTsLBDvdP2RTM5fw,1626
PyQt5/bindings/QtMultimedia/qmediaaudioprobecontrol.sip,sha256=6MaFO7UevNc4hLu55WL910A5siaKRevgrSatqCtqpPY,1334
PyQt5/bindings/QtMultimedia/qmediaavailabilitycontrol.sip,sha256=nornzcjg30SN2n2avc9Pmr5NZg04dtw3J3fH5F4-Y24,1416
PyQt5/bindings/QtMultimedia/qmediabindableinterface.sip,sha256=6v52tIibGXZPpm0UzfzvwMZ1Q5614XPmg5Xa6EsGSsc,1267
PyQt5/bindings/QtMultimedia/qmediacontainercontrol.sip,sha256=SZ2dVjG3C_OHhDiSCVIpO_brEsWIMRo6Y6pvhd3-t3o,1498
PyQt5/bindings/QtMultimedia/qmediacontent.sip,sha256=iGoXd6yez4jlp8o15CEYOd6rYV4KffQnturQkEJRxd4,1870
PyQt5/bindings/QtMultimedia/qmediacontrol.sip,sha256=7-Tk6HghZvmx95vmfenwKzFRtw77Vwo9FrRJXK503x0,1294
PyQt5/bindings/QtMultimedia/qmediaencodersettings.sip,sha256=iWzpwCX64CXh_bqvZCvn51R-TfVjYsqAaNzfe9x_zCg,4158
PyQt5/bindings/QtMultimedia/qmediagaplessplaybackcontrol.sip,sha256=1X1prIbvkFjsq07Qej-3gWkmKjFrVOiTuq7wIHHuvJ8,1698
PyQt5/bindings/QtMultimedia/qmediametadata.sip,sha256=zywmhwsIKR2woxO6W71LTIP8HAtbzE4JqthTV7XXvlQ,3993
PyQt5/bindings/QtMultimedia/qmedianetworkaccesscontrol.sip,sha256=mrT8hKZ7LmATR8dXCwiiFt0sY2Acdqr_k0KeHSZAv0w,1510
PyQt5/bindings/QtMultimedia/qmediaobject.sip,sha256=PybY61rjzMKkYYm_XcQ3QAsvlTJHbTurhqCFknMXOks,2091
PyQt5/bindings/QtMultimedia/qmediaplayer.sip,sha256=6HaJ15M2hGn2hOtoS20hYA_65EvUr9t2PUsUXNWbB0g,5106
PyQt5/bindings/QtMultimedia/qmediaplayercontrol.sip,sha256=QXeMJFzEJrP0qLPTSbn441ueBjd34b57N7oYDqopsBM,2972
PyQt5/bindings/QtMultimedia/qmediaplaylist.sip,sha256=CoIe8OcDqqTWNwpBXQHDeHdP7fYVkSACw6pK18Wr0kE,3559
PyQt5/bindings/QtMultimedia/qmediarecorder.sip,sha256=shewg_d1L9FIuzRpurepCmWpmM2GH2oP0RgV1CEYyR8,4562
PyQt5/bindings/QtMultimedia/qmediarecordercontrol.sip,sha256=fdwsOFWt4sCqU0sOsuMoF7u4DtIUwRvcqrdE0w6QAGw,2134
PyQt5/bindings/QtMultimedia/qmediaresource.sip,sha256=cHotO3CcxfI1yoicJv9kaMOHMagg6zDWqMv1UDbGDSM,2337
PyQt5/bindings/QtMultimedia/qmediaservice.sip,sha256=Wz_NSDrlVXOEXZt6iX-p9W5_tdKOT-ivNlE7siSlFuw,1305
PyQt5/bindings/QtMultimedia/qmediastreamscontrol.sip,sha256=HJAUC66h3W8xs5jGJWvtUDPqO1XSWI82U1RhPXoNfD4,1762
PyQt5/bindings/QtMultimedia/qmediatimerange.sip,sha256=lgX1SJ_MFrFVmTYlF-Szr53Wk33rXJg8vSovK0yj0GI,2967
PyQt5/bindings/QtMultimedia/qmediavideoprobecontrol.sip,sha256=X1kvyP8MxIkB9_Tv_EwDltCdaj9EOBXemDqCCfuPXIE,1331
PyQt5/bindings/QtMultimedia/qmetadatareadercontrol.sip,sha256=vh4Bnj_hT6_TMekDEjFWn89vQqooLIVYiKOBp3vvXRU,1573
PyQt5/bindings/QtMultimedia/qmetadatawritercontrol.sip,sha256=xyI9VB2eq8LPDQDTVQ98bFSTS7xyASguTC6-Tw0ptn0,1735
PyQt5/bindings/QtMultimedia/qmultimedia.sip,sha256=J36elHmaoLUIWvYuZbYHLRfFbUsctL5eWaEBFqyS8bk,1661
PyQt5/bindings/QtMultimedia/qpymultimedia_qlist.sip,sha256=AbqrTxpaejsBEjPTGuSqeBv4jBU7Kas1-XooC2aIZOg,9462
PyQt5/bindings/QtMultimedia/qradiodata.sip,sha256=AcL4Zve6oViEgbeUtthJuTajnRMqeKWSxNifE4u8E3M,3284
PyQt5/bindings/QtMultimedia/qradiodatacontrol.sip,sha256=I19bFLBPgFeRIy769-dKJ1gy6c6zyQsPkNpXE5-lY_M,2076
PyQt5/bindings/QtMultimedia/qradiotuner.sip,sha256=0M64qzZU1-azam_VYa-E2CAnnhI2RU0ivKDDSefe91Y,3392
PyQt5/bindings/QtMultimedia/qradiotunercontrol.sip,sha256=qZgsCzYHZMCMk4JKGFcKfyL7hjcjiesr9qDCq2Inkts,3037
PyQt5/bindings/QtMultimedia/qsound.sip,sha256=L12W09C_XV1J1x6a6bEYvps4PWjgVyP7RPTw8b-pxPk,1452
PyQt5/bindings/QtMultimedia/qsoundeffect.sip,sha256=ZwW5lTf-dNEh9p1vXr4dFEDHlt7s954iU4yT5yTTZiI,2268
PyQt5/bindings/QtMultimedia/qvideodeviceselectorcontrol.sip,sha256=1H52mlg0AK2ew6FcGJ1pLyFp2ecGlFsFDhrLmzfpO1M,1719
PyQt5/bindings/QtMultimedia/qvideoencodersettingscontrol.sip,sha256=wP8hZ7Xf2UIvX9ExfNRkA4ZLsArDCNBg-pwyLT4xdYw,1785
PyQt5/bindings/QtMultimedia/qvideoframe.sip,sha256=bgHho2bf21tD0Zu_Nu-LMh37uCKnex3JOlIqVBgo9pg,4494
PyQt5/bindings/QtMultimedia/qvideoprobe.sip,sha256=6yP_OAjmwDwwB5JjiTRZHA4_vQPA5lA2cAlKg7TJKFQ,1372
PyQt5/bindings/QtMultimedia/qvideorenderercontrol.sip,sha256=VvR1_T1ozqxoaALPeqs60BPxaodMKyKgzIwWLLLLkvo,1359
PyQt5/bindings/QtMultimedia/qvideosurfaceformat.sip,sha256=P0BJuThhLiswUewQBiPSe68t_GzaGTtWD1deOqHBLH0,2933
PyQt5/bindings/QtMultimedia/qvideowindowcontrol.sip,sha256=seUneAexkzMl4kgYnCfD1wSxztbQMZSA17_TTqXltDo,2307
PyQt5/bindings/QtMultimediaWidgets/QtMultimediaWidgets.toml,sha256=5aszZH0lGWyVJ5x-jaf6N3Yg-spw838eXWToeDdEj0o,194
PyQt5/bindings/QtMultimediaWidgets/QtMultimediaWidgetsmod.sip,sha256=2WbZqIwJYwGzzuKwsy2zBQY_uQbl0PCFj1LZmJhRJrU,2194
PyQt5/bindings/QtMultimediaWidgets/qcameraviewfinder.sip,sha256=yEBtXOgDvvDldNx6Axh3u3OsWykkcWDwrlXZdaYhnr0,1434
PyQt5/bindings/QtMultimediaWidgets/qgraphicsvideoitem.sip,sha256=tvaijTVXQfwwzpw8fWgP0JEP-cTnUyGcYTe9mgC_EG4,2301
PyQt5/bindings/QtMultimediaWidgets/qvideowidget.sip,sha256=v8Ffn48EgmdV1cBXpYojIXIeAf3gTfw9qPnNTzWFu3g,3260
PyQt5/bindings/QtMultimediaWidgets/qvideowidgetcontrol.sip,sha256=oLLJa5nBKD4d8Gqu-ia0F5XBG9rftSpOK4PdqITXWWA,2071
PyQt5/bindings/QtNetwork/QtNetwork.toml,sha256=ZF8lIMEK7V3PFgZff-On4iUfUeoTnVNyQG_hWGmi4qM,184
PyQt5/bindings/QtNetwork/QtNetworkmod.sip,sha256=D9-4dH2BmkbZwGq-1RDzIdqdigAeBJ16eIW53MAevWE,3184
PyQt5/bindings/QtNetwork/qabstractnetworkcache.sip,sha256=3MzrpGhWzvjdfRjtKPU5ZQzyjYTh8wvPYkjnyEs06cQ,3069
PyQt5/bindings/QtNetwork/qabstractsocket.sip,sha256=-yNVEBgeMRCJ3MUPXFYkCRRj8sfJEWdbi0vav31a3t4,10800
PyQt5/bindings/QtNetwork/qauthenticator.sip,sha256=zELgNCBJG6rYoNtcopEYtdc0Oq-X3I9L1KjX5hXnRk0,1628
PyQt5/bindings/QtNetwork/qdnslookup.sip,sha256=pLiI09iFA_L2TkXiyEUWcQbXetyCqQowcX5_3iqeyhU,4864
PyQt5/bindings/QtNetwork/qhostaddress.sip,sha256=Y82TbyPFCvFtTzUYbAjsB5Cy6bvbxxxkpTCCO-EGsxc,6167
PyQt5/bindings/QtNetwork/qhostinfo.sip,sha256=LJEde2G9I1bk0bX3z7oEC4kZdVzgmyqDuLDS1ybJR44,3099
PyQt5/bindings/QtNetwork/qhstspolicy.sip,sha256=sLcIooTgT9eYq9c_9JMDqCBnyTtEACuYYsZpa7kcTvY,2174
PyQt5/bindings/QtNetwork/qhttp2configuration.sip,sha256=9612cpERDQdq4T7lgjQ4ZtlL4qbL7si33zmBmTH3MuA,1987
PyQt5/bindings/QtNetwork/qhttpmultipart.sip,sha256=tbguXB17vZj-sR7sqA0eqWFxbjxS-QNaBPmGq2wLRfU,2175
PyQt5/bindings/QtNetwork/qlocalserver.sip,sha256=hXVR23lBaU7oDMEF6FJC4mke51052Zq3VLWe1swjudM,2436
PyQt5/bindings/QtNetwork/qlocalsocket.sip,sha256=G64UcEpNKJP-PuJcY1TFiOTJQEVkSFiu893CBx-eWb8,4647
PyQt5/bindings/QtNetwork/qnetworkaccessmanager.sip,sha256=WEb5cSprS9ajLLc7PRKO7ZHy7Cl_a5nKqsh9wYB8SVg,6052
PyQt5/bindings/QtNetwork/qnetworkconfigmanager.sip,sha256=3tAPpKhMw41J1nefY_4dOXy5AAU5niBsRKOncr1m2HM,2584
PyQt5/bindings/QtNetwork/qnetworkconfiguration.sip,sha256=YJAWRxOi0tauzwRRwYNwbNR-XruMfB8vU-1J5zupBQc,2906
PyQt5/bindings/QtNetwork/qnetworkcookie.sip,sha256=-fOBaSSibsjSGjJfb7XIuG8wI0ssehdEAE1JO3CoaO8,2305
PyQt5/bindings/QtNetwork/qnetworkcookiejar.sip,sha256=K2z7pXaJBS6aKXDTk2_dDYDYsf_-qq2MmfQLEyn73x0,1761
PyQt5/bindings/QtNetwork/qnetworkdatagram.sip,sha256=qjSiFipeWTWh9b_KmykKCIwQRIw_U7NfM6tOh_dmveQ,2020
PyQt5/bindings/QtNetwork/qnetworkdiskcache.sip,sha256=jef88IeiCs37q1OAgedTWoq25dG9bzBBtRuvlGLADOY,1931
PyQt5/bindings/QtNetwork/qnetworkinterface.sip,sha256=Ou-K9e_YExeCvwvdb6htLYSghh4l3sVL9HW5-1pCeO4,4334
PyQt5/bindings/QtNetwork/qnetworkproxy.sip,sha256=C9UCdSWA2N64ThLpRFhyeQJwPA77CU5pPvyM2mhn38Q,6066
PyQt5/bindings/QtNetwork/qnetworkreply.sip,sha256=9oFEZDN6n3LtEEFjRto6QP38OYtJLCv7sITBgqqIl9I,5309
PyQt5/bindings/QtNetwork/qnetworkrequest.sip,sha256=XyFg9jAGs2gMdPi1OdAt7jyVfyizqaZQUTvHv1XyW5Y,5549
PyQt5/bindings/QtNetwork/qnetworksession.sip,sha256=L8Rj0whmjKByG_U_YBT-pU-pLqy6b4qQspZTeDh3vJI,3012
PyQt5/bindings/QtNetwork/qocspresponse.sip,sha256=w9mJ3DZUAxae9B5DTiJTrJM4_66rkEYyJfNN9A5swWk,2264
PyQt5/bindings/QtNetwork/qpassworddigestor.sip,sha256=CMIKWRevLNJNM_ykdvYH8VOOVhVuQPWfEVG0S8qjYzQ,1439
PyQt5/bindings/QtNetwork/qpynetwork_qhash.sip,sha256=c7F9H4zIfAEjWRLhQRqbAWHOUUKsw_-k9QecR4e07uE,3590
PyQt5/bindings/QtNetwork/qpynetwork_qmap.sip,sha256=EuLf5yvAe-PAIVuej_kNoecNIOpOIvnrI_T0vm6YpE8,5232
PyQt5/bindings/QtNetwork/qssl.sip,sha256=qfJGwxo7Yi8ZP_jwkNalCktjAnltmiWFjpwvsR90IuE,2771
PyQt5/bindings/QtNetwork/qsslcertificate.sip,sha256=oTeOwrb8fkHtTZKVcOwmw2Zwau835WLgiu13JC8mE44,3964
PyQt5/bindings/QtNetwork/qsslcertificateextension.sip,sha256=0U6FvPHgEp85CYBvYJRBPTHobIq-LDHfxXJtSyCMMFI,1469
PyQt5/bindings/QtNetwork/qsslcipher.sip,sha256=oUHQnBwCEGvjqe6h3MCDMS38jLxGedS2JwpwS9qxhwc,1769
PyQt5/bindings/QtNetwork/qsslconfiguration.sip,sha256=Yfn1zZVK7ELjARyZ6v8N2yzsPR9nGzN7GeQkkrIsQDo,5450
PyQt5/bindings/QtNetwork/qssldiffiehellmanparameters.sip,sha256=lXvrKPpD2IFfwDvTleL_72UaYBmV8vDEKuEDL8brkK0,2345
PyQt5/bindings/QtNetwork/qsslellipticcurve.sip,sha256=p1CYlgRa44Z6hJyQCTNti5qhxta4QWlnDIHfr4D0nrk,1712
PyQt5/bindings/QtNetwork/qsslerror.sip,sha256=FjxO2L6aCFAW5Xe9cM5l-QW92T6uG2txKCZP4BmAFdw,3206
PyQt5/bindings/QtNetwork/qsslkey.sip,sha256=nbr4NqG5Ab0_EJg1TFC3rzyGlhbzP9n1BdimOguUKDI,2072
PyQt5/bindings/QtNetwork/qsslpresharedkeyauthenticator.sip,sha256=P760AAE2vAid1MYRBgR8VdtJtXnG_qpEOw1IHqnIOgU,2006
PyQt5/bindings/QtNetwork/qsslsocket.sip,sha256=K75KOF_QkgPtEGLRN_pY6sqGODnFBa15D8FBgpfvOCk,8303
PyQt5/bindings/QtNetwork/qtcpserver.sip,sha256=dVjD0Ce2iCCJJgtjv9PdJ1UcI4RUG__3uPAqpKtrPVQ,2197
PyQt5/bindings/QtNetwork/qtcpsocket.sip,sha256=USDXVVukSBjbM6WjabId_OGl6xwQ4l6eqUEmqOMvFQo,1166
PyQt5/bindings/QtNetwork/qudpsocket.sip,sha256=UniWoIEJ4lBTDgXMMw30O7n6xC3tmp4mIJU5FivvLfE,3105
PyQt5/bindings/QtNfc/QtNfc.toml,sha256=Vr2wajB4PKcC9imX3wMtrWr6P4u9ZqI-JFFm9A_4TBw,180
PyQt5/bindings/QtNfc/QtNfcmod.sip,sha256=tFDFoweYzt8EO7aYZeAHDq6gqhPcJ_xhrXfnw38z7H8,2297
PyQt5/bindings/QtNfc/qndeffilter.sip,sha256=X_jwD8KBcWKP-TJoWHabG2frEnfB_BsJ3cyWWqZTgiU,1766
PyQt5/bindings/QtNfc/qndefmessage.sip,sha256=tklaX0jDbGSLs42BNumCPQ_-wKk4PNSaIyNUcvYJMgE,2252
PyQt5/bindings/QtNfc/qndefnfcsmartposterrecord.sip,sha256=mFbdWFEhYlLwJLTd1Ltd4YabJjvbNkdAr4UFRMi5wvo,3441
PyQt5/bindings/QtNfc/qndefnfctextrecord.sip,sha256=Ks5rHDtSZnxumowXgNQdDLGqzYCgxpBo92qyeoE-xjU,1520
PyQt5/bindings/QtNfc/qndefnfcurirecord.sip,sha256=sTiYvrfm6uKWWdWVAZH-D-0pTrpJ0shrxo83AafczbE,1251
PyQt5/bindings/QtNfc/qndefrecord.sip,sha256=u1Qh9PtyaOoQb45ks51HRiOkrk3owchOFYA1w371J1g,2605
PyQt5/bindings/QtNfc/qnearfieldmanager.sip,sha256=nbXDzp9QohO1B-MdBY0tJ2auCdGXEVEHiC5jJOpqTWg,5384
PyQt5/bindings/QtNfc/qnearfieldsharemanager.sip,sha256=7MRZLX52PHkNeAfShOGUHzsIs6hWXf1nleqi-xG3lYQ,2344
PyQt5/bindings/QtNfc/qnearfieldsharetarget.sip,sha256=L9TjUAqIscLsxU8RGLF0itVmyb62v82IGCxjiPB3eZE,1550
PyQt5/bindings/QtNfc/qnearfieldtarget.sip,sha256=Xx2pzYbdRbdDWuGI3Nra6PiWnBrUVwF-nlwHYm_uv0E,4233
PyQt5/bindings/QtNfc/qqmlndefrecord.sip,sha256=D_DMMtRr7B5CSMWbqQy4Z7sRufMMVtcKSk5kq7V6vSY,1834
PyQt5/bindings/QtOpenGL/QtOpenGL.toml,sha256=lKNQLg_6_YvW9MkycLFk3tXf8iiaSJ1qI-u2N9b_p54,183
PyQt5/bindings/QtOpenGL/QtOpenGLmod.sip,sha256=buBes7T-ui-b3oadDeAE1ayYDtlJ1ONyQavWR5fM0HA,2039
PyQt5/bindings/QtOpenGL/qgl.sip,sha256=0i5uuQWaQ-Ju7fHDCNg8E37ZfewAq6V8w9Ry8knTcYE,11047
PyQt5/bindings/QtPositioning/QtPositioning.toml,sha256=hdolSHBEoh_kIEjNGfONo1cb_EU39DH4WKk5q6nvbCg,188
PyQt5/bindings/QtPositioning/QtPositioningmod.sip,sha256=lMYwfCuFva17vJGPakv_CSMpJkdcr01ihjqFTOy4RcE,2387
PyQt5/bindings/QtPositioning/qgeoaddress.sip,sha256=GcQiCfGcLKAVzJf82Zdv9Juub9XcKrNuxVIx_8ux_Ww,2045
PyQt5/bindings/QtPositioning/qgeoareamonitorinfo.sip,sha256=rAhYujAre_HURjTAv-PJ5uxO-3YWCKJwv9NdZ8vQFoE,2088
PyQt5/bindings/QtPositioning/qgeoareamonitorsource.sip,sha256=aUFAWwhOYf3C5auJb2Q316ny9KJLgxltwuvJlnGctdk,2971
PyQt5/bindings/QtPositioning/qgeocircle.sip,sha256=FBsMiPzUzqI3VaQraC34xPTyNKuQnsE6VRTcjtADUew,1836
PyQt5/bindings/QtPositioning/qgeocoordinate.sip,sha256=BMrQQTRF2w1eTxnuUeoAAIQcUnKaVvPwCi87OVlTdAc,2765
PyQt5/bindings/QtPositioning/qgeolocation.sip,sha256=kUhYxAxG-U6yyZcgyvEv8A5Ci80MSWGvTv9pMgnpfS0,1748
PyQt5/bindings/QtPositioning/qgeopath.sip,sha256=b3Zg2kjXV8UgnmCzQOCKq9WgE18Tzs9MTBtzvjXznf8,2322
PyQt5/bindings/QtPositioning/qgeopolygon.sip,sha256=uQC9DD9sFwp8xXg_FrMC-7fD5rR8D9RAXSiDiLpyH10,2768
PyQt5/bindings/QtPositioning/qgeopositioninfo.sip,sha256=gu_tZSmKDDi4cLJ8hQ-HZXjwK9YcJyNFadazfnk-OUg,2318
PyQt5/bindings/QtPositioning/qgeopositioninfosource.sip,sha256=tAYqmmYuCFA7w-ogook2s9o1-CXOKjJUCiDZTT7QzoE,4504
PyQt5/bindings/QtPositioning/qgeorectangle.sip,sha256=UR3AXMubd1r2f505MWtm4eNEG2p6Zd1Nw1mYJIw8qUo,2846
PyQt5/bindings/QtPositioning/qgeosatelliteinfo.sip,sha256=bfcQnHXPZI0W-iSmQFaCBzBxkSwsMVLifOqcX6lSiuE,2321
PyQt5/bindings/QtPositioning/qgeosatelliteinfosource.sip,sha256=igCENVoKKbukSAtp8Fonybrx0r0yttSsUcX5cYXKxZI,2666
PyQt5/bindings/QtPositioning/qgeoshape.sip,sha256=6iFgwkR58mlVX5LG_6vYdlBj4zjEAlKhoU9G3AOSbzc,2684
PyQt5/bindings/QtPositioning/qnmeapositioninfosource.sip,sha256=xkE8S3ZbbzMqAkKKxa6oqpVK3LcDfi66HJHxo_GAHwI,2315
PyQt5/bindings/QtPrintSupport/QtPrintSupport.toml,sha256=iWixZb5IWcpYu_qgrwZ2R2FHnmNgMMDrzD461rpP-zg,189
PyQt5/bindings/QtPrintSupport/QtPrintSupportmod.sip,sha256=VRJQVV2K6EvSXNJQYYehWx129PEWz7U5T7VDUpknk0A,2313
PyQt5/bindings/QtPrintSupport/qabstractprintdialog.sip,sha256=IZdEiNSYzVnfyiO6N-S5uUy85ufMo25pf-DI8n4-l-Q,5150
PyQt5/bindings/QtPrintSupport/qpagesetupdialog.sip,sha256=QPQl5u0XBA1Wukn6yM8S1PEOSbwBRYcWi7kWBXSI-g4,3359
PyQt5/bindings/QtPrintSupport/qprintdialog.sip,sha256=vDtWhTyzCKIj5VongfK4zu765O9-yJ0gzwZYRFCjgUE,3748
PyQt5/bindings/QtPrintSupport/qprintengine.sip,sha256=Ggw30LWXg1dNEX9eQ4cRaYeaP_QupoQ6wTqj3SE3OhY,2501
PyQt5/bindings/QtPrintSupport/qprinter.sip,sha256=vr9OiQu5K-oBSH7Hr8_SMHmQvGo8RddShv-0POGJE7Y,5949
PyQt5/bindings/QtPrintSupport/qprinterinfo.sip,sha256=aA3nas2bF_USPxOSLKLh500lAYJzU1yMbK0IueuV5GU,2754
PyQt5/bindings/QtPrintSupport/qprintpreviewdialog.sip,sha256=lX9egB9EHx9z5S_A8tsf7ACX1eF9nqXc9IQ-FoQRoJA,2093
PyQt5/bindings/QtPrintSupport/qprintpreviewwidget.sip,sha256=wMg4p5CA83w2t6-TbteWofQK6KtZlJSi8sgnTl7P8Fg,2688
PyQt5/bindings/QtPrintSupport/qpyprintsupport_qlist.sip,sha256=4Tu3--nBj7zskiKpuLLGPj151GO44zqLVcpmBR1NWEk,7520
PyQt5/bindings/QtQml/QtQml.toml,sha256=9KKgk4W55sb4lJj74glqMD5kheHRx99tHl7o9rlj2pw,180
PyQt5/bindings/QtQml/QtQmlmod.sip,sha256=M29K3k_ydaVoP_Xdbq-BUwcdgEZGqIB4-yb4LhURZMY,2714
PyQt5/bindings/QtQml/qjsengine.sip,sha256=aqjD0SAPpJChfQ2MUZiMhH5QrJ_cNpB70M1Ts_XGFrU,4536
PyQt5/bindings/QtQml/qjsvalue.sip,sha256=jzSgkqMoM2knO1nDR7LhyMLs5XiZ9syz0AMupLd6szs,3271
PyQt5/bindings/QtQml/qjsvalueiterator.sip,sha256=dd6OEeibq4h5X_ktHEuiKnh0Rkqg_RzdJbbz54E8sgw,1306
PyQt5/bindings/QtQml/qmlattachedpropertiesobject.sip,sha256=ftoOMBAwhY_kLz7_LNRXDZiPPZuA2H9diX75luehq9A,1561
PyQt5/bindings/QtQml/qmlregistertype.sip,sha256=vSsKQbL97QcEeMtdKKFMAIzFpK-7NbEDsziFp99hbdE,3663
PyQt5/bindings/QtQml/qpyqmllistproperty.sip,sha256=tWZeDYFFWBrsqVdDlWo8O00SFb3lzs_IUVljeNAeEfo,1453
PyQt5/bindings/QtQml/qqml.sip,sha256=pF-vOQBlObsOqEpwtm81Qxavu9QE7j9NYIlnd7i5-5s,1154
PyQt5/bindings/QtQml/qqmlabstracturlinterceptor.sip,sha256=B6Owu1aKkJRMIy_SKx4Ka0dD-wWQr_Z2d1KIcBi4ROo,1423
PyQt5/bindings/QtQml/qqmlapplicationengine.sip,sha256=1mvujln5fF_r3ZoEC3Mir_lyKxD4RitMIBDWDNY9TEw,1946
PyQt5/bindings/QtQml/qqmlcomponent.sip,sha256=y2BlkORbyLXmdDZfHT6g9Zv5aDV6X3FAqL2K3XpH0fg,3092
PyQt5/bindings/QtQml/qqmlcontext.sip,sha256=LobePNezIE864DDmf2ZJmXBIdLvuozzEccDh_p5SIKA,2030
PyQt5/bindings/QtQml/qqmlengine.sip,sha256=_3d6G_ERv5gae5WmUfQkh_JhfWzp6k7zdy3gQ4vgl0I,6009
PyQt5/bindings/QtQml/qqmlerror.sip,sha256=8lWA09fIvXDQfD7K0BbJiW2qWs-emlnS3VecrGvRppY,1654
PyQt5/bindings/QtQml/qqmlexpression.sip,sha256=7EFIWXuZa1K67Cu1jeXLiDv-10MuKn6RC7dRFi6rR6k,1977
PyQt5/bindings/QtQml/qqmlextensionplugin.sip,sha256=lBBYbxNik_eNgvE-ShOg2BYwFTRjB5rfMEQCPCH9mVI,1719
PyQt5/bindings/QtQml/qqmlfileselector.sip,sha256=1e6vZddp9cUVYRCglw0Q5MrHy1dgQRTRpczZaMBslfw,1538
PyQt5/bindings/QtQml/qqmlincubator.sip,sha256=cN0LakdgAZab2FU7m0dVcUstFaSu-yIa_ofwG3ESJBQ,2442
PyQt5/bindings/QtQml/qqmllist.sip,sha256=hLJ5oFHrsFbBuIveBwQdg12ztMPtyVZrRun9aLlXNvc,1868
PyQt5/bindings/QtQml/qqmlnetworkaccessmanagerfactory.sip,sha256=9eKdl_yJJ9Xs7onZ1LO-3auU1fEooUJO5VWuXs8N8xM,1231
PyQt5/bindings/QtQml/qqmlparserstatus.sip,sha256=CYBG4_bvWyo4dTROjjRAcbIO3592euYl5ZLZlBjDM4w,1269
PyQt5/bindings/QtQml/qqmlproperty.sip,sha256=PCS9i0nE4tiLCc52WQjAm1yi8ThkMZIc0aFczu6X2KI,4127
PyQt5/bindings/QtQml/qqmlpropertymap.sip,sha256=ZS9aIxDL4VQGbI4n60WA8qSntstmkz-F8LB06_42dxM,1708
PyQt5/bindings/QtQml/qqmlpropertyvaluesource.sip,sha256=tIAKSiqnlGhmwx9ca_CP4XfSABoxqD--BlkyaxruDQw,1287
PyQt5/bindings/QtQml/qqmlscriptstring.sip,sha256=GzhFJM6rM506Cwshgp_hk9_Rjpv_dOcVOkIDKkjReWI,1546
PyQt5/bindings/QtQuick/QtQuick.toml,sha256=qrW8PJ9kpmPlRzPCmjQstxkUsx-6h8mSQZULCufama0,182
PyQt5/bindings/QtQuick/QtQuickmod.sip,sha256=bWvimTfszY9m6DNH5IaV1RipO1pwhBGZgFJOY6j5Ep0,2811
PyQt5/bindings/QtQuick/qquickframebufferobject.sip,sha256=ssXDd-f-1GLlJpuivfT06Eq-4LTpI0FvYQumXuI_Jo4,2633
PyQt5/bindings/QtQuick/qquickimageprovider.sip,sha256=RJialPboAwGm8z4dncmqCil8kXEJgwzYRlPEd5hGEU8,2982
PyQt5/bindings/QtQuick/qquickitem.sip,sha256=LWuly5yEIXWSNMHKEjTyS37Q2LgtoTSU6PeEWymawZs,10071
PyQt5/bindings/QtQuick/qquickitemgrabresult.sip,sha256=LRhTV6K1GmbqadHAqVwNsEMtpT1G8NyE4y2qIATrzAE,1487
PyQt5/bindings/QtQuick/qquickpainteditem.sip,sha256=COnWdasWdYhwTlCQsnHBIw5qQc5MoRwjSpsC56USupI,3480
PyQt5/bindings/QtQuick/qquickrendercontrol.sip,sha256=IKfwPzPT6hdTz-HaMKVY0wYC2GTVcQ19l3dsxjqPZcg,1781
PyQt5/bindings/QtQuick/qquicktextdocument.sip,sha256=isI8bSYrZvBXHfzEmidDQSIllMdkAXusXBjtbkfPnFA,1285
PyQt5/bindings/QtQuick/qquickview.sip,sha256=kXwGXENln9RCc-lHhI_BETdk1WCrFrNHQVkWF9X4dIQ,2445
PyQt5/bindings/QtQuick/qquickwindow.sip,sha256=iYHeLd2ZIvxEKIlvvvxj-MRf663VwCZM5TGWZS_Ylhw,9221
PyQt5/bindings/QtQuick/qsgabstractrenderer.sip,sha256=xyNHW0-xq2ZlqxtDDgJPP62ZL9H-oGVqEuXBdx1x5GI,2559
PyQt5/bindings/QtQuick/qsgengine.sip,sha256=6x2xRvhvUio8occUGcIAambcEi2g4ZuyLMCXA0vIQlQ,2223
PyQt5/bindings/QtQuick/qsgflatcolormaterial.sip,sha256=fIV7_aUi8fXGWUkZwZvPaAWOLczThFtUkYF5uC2Mv10,1370
PyQt5/bindings/QtQuick/qsggeometry.sip,sha256=ojO_JH5AuRmA_cZMBkEHiun-7gb0fmDrhSH-u9BcLZo,12824
PyQt5/bindings/QtQuick/qsgimagenode.sip,sha256=biVnWNPRTtmeHNvxg0X4xNMw93U0IyLmjkeoVWwZCew,2891
PyQt5/bindings/QtQuick/qsgmaterial.sip,sha256=k5gAt2v_VAR2vFVyj6P40KADblAFBXOLocTgSVTiHzo,7874
PyQt5/bindings/QtQuick/qsgmaterialrhishader.sip,sha256=PAw7-o9hV_VAOgOGQ6CVGwIwmANVPzx-DDkM3_LwUTU,4048
PyQt5/bindings/QtQuick/qsgnode.sip,sha256=93n0f8LRmWAcurBuiWrYQAx_xSgcUFcnorpkC-ZHa4g,9134
PyQt5/bindings/QtQuick/qsgrectanglenode.sip,sha256=nzePfS6AoGHzI0ZLXbmGotqfsPA_aSgBCDjtU7_U_Pk,1407
PyQt5/bindings/QtQuick/qsgrendererinterface.sip,sha256=ZX_IxafrYcA_OS6s7LRdgBhgNxNdjNW-a0uFuXeRKNg,3601
PyQt5/bindings/QtQuick/qsgrendernode.sip,sha256=QuYAEBk9w9ghLTLOAMh4lK-FrP11PJONaI51nO5n9NY,2784
PyQt5/bindings/QtQuick/qsgsimplerectnode.sip,sha256=sTSqIRYbKitzSvYSogVhedX93TEWqxDy8HryCvCmpWU,1391
PyQt5/bindings/QtQuick/qsgsimpletexturenode.sip,sha256=11dauYAwq1YzO3cJ9uxidNsISOMlJTgOTKAI03iwXNQ,2600
PyQt5/bindings/QtQuick/qsgtexture.sip,sha256=lfIYaPFxjiCBarWoMp_Oebgknt_LUqDf-WPb5NUhnQI,3108
PyQt5/bindings/QtQuick/qsgtexturematerial.sip,sha256=SsvaIrF98Qm7YbQADaTt1qkZOMHiqszafETLW3ROhJs,2226
PyQt5/bindings/QtQuick/qsgtextureprovider.sip,sha256=h6LF1CBZylWT9YQ-vtsU0cHbtJHsQPgaS7qJP8_1V9k,1186
PyQt5/bindings/QtQuick/qsgvertexcolormaterial.sip,sha256=T0l-4SKiN0TY9Pjc2VFAGc0JATINN4HXSrymrhLXrps,1317
PyQt5/bindings/QtQuick3D/QtQuick3D.toml,sha256=r6sSiNXIx7mJhRaIyWLX7VFUmpPmm7SwxBgZZwFLLRM,184
PyQt5/bindings/QtQuick3D/QtQuick3Dmod.sip,sha256=OWT3nJUNbdE8qLeXCEF0awKTZ6TZzkPpGFOwIpSQ-go,2099
PyQt5/bindings/QtQuick3D/qquick3d.sip,sha256=nqmUoX5wlzYam45KQmVdKoZS4it0SnLtbxYGlg1g93w,1146
PyQt5/bindings/QtQuick3D/qquick3dgeometry.sip,sha256=2ysmVDtI0GCPLNs_mgNLClj3aALHbSiVSshjY8E22lE,2989
PyQt5/bindings/QtQuick3D/qquick3dobject.sip,sha256=INyi2ah_yRWYeNvMdjwFTM8iIa3rWW1WtrLL0H1xOQA,2186
PyQt5/bindings/QtQuickWidgets/QtQuickWidgets.toml,sha256=zAMAGcoi9wu1gVJCYX9K-pz7EY08OuUMO_GNBM9zXsA,189
PyQt5/bindings/QtQuickWidgets/QtQuickWidgetsmod.sip,sha256=Tb_-3QDHLWOCIL4_9vL5K-pdtqKJaTd6L9wDYJgkYxM,2126
PyQt5/bindings/QtQuickWidgets/qquickwidget.sip,sha256=cdq2yg7xQsCejU1W84MhEsnijwbfIUZ1DosdHg37QjI,3740
PyQt5/bindings/QtRemoteObjects/QtRemoteObjects.toml,sha256=jxSDs2-s5qA3o5VQHPgZhABvPj963sTJs7ItLWmqTGo,190
PyQt5/bindings/QtRemoteObjects/QtRemoteObjectsmod.sip,sha256=raKGjjCUpbDpSxwNW_imU7YwSSAUnnfG1t_IAPsa7HU,2210
PyQt5/bindings/QtRemoteObjects/qremoteobjectabstractitemmodelreplica.sip,sha256=1Qj4r4qMfXRe_qy5kUeH8fHM4T0gmBE-Hc5dnUsmyvc,2383
PyQt5/bindings/QtRemoteObjects/qremoteobjectdynamicreplica.sip,sha256=NfCqr399t4JWBDutD6PkewKOBWeuXXCXCQDanEwJisY,1260
PyQt5/bindings/QtRemoteObjects/qremoteobjectnode.sip,sha256=XbN7IPa1gT2EBwvBTOs6zB5YNhWjBFsyKSj0uQcpZYY,6707
PyQt5/bindings/QtRemoteObjects/qremoteobjectregistry.sip,sha256=36AJRN0cW7rZtF3JF2qxu38WgPk8iS2IKm1r-HsAhzc,1473
PyQt5/bindings/QtRemoteObjects/qremoteobjectreplica.sip,sha256=jMc62ggI593bJ5ew9ckw59KQZXO7szm_w_DjPf5m5RU,1770
PyQt5/bindings/QtRemoteObjects/qtremoteobjectglobal.sip,sha256=F0DgO4b6N_RHKrzvmYdkFpK9ijslg1zmhyqHCR1JdMQ,2156
PyQt5/bindings/QtSensors/QtSensors.toml,sha256=fMLVjbXYpIXmjZJXZrLjx4rj0wXFEE8HdIhh6taRYoM,184
PyQt5/bindings/QtSensors/QtSensorsmod.sip,sha256=Rmmr81T7HnfhUWf3tZRaNOUURmKWkoJlx0-pk2g7Igg,2535
PyQt5/bindings/QtSensors/qaccelerometer.sip,sha256=6SbDAIfJphrB_-FiWA-fqDPk1AqrdqYRYnS1Ls4HlyI,2118
PyQt5/bindings/QtSensors/qaltimeter.sip,sha256=UCeWMLVrUyiY8GL09xaRUuFiAX-AvAI-EazEEQV28gY,1689
PyQt5/bindings/QtSensors/qambientlightsensor.sip,sha256=T_-9xarJnl3KYT2TUd4kHmRDmJ-a509WFO2XpT9vVFU,1916
PyQt5/bindings/QtSensors/qambienttemperaturesensor.sip,sha256=_lvbGAeFBRwFiFLO6yqS9F-4SDJ5A_3WBs2Sz_QA9cU,1869
PyQt5/bindings/QtSensors/qcompass.sip,sha256=wQd1FCNzZls-Jr8eaiX1tJd1wTeIZrWXlQIwz3b7cew,1752
PyQt5/bindings/QtSensors/qdistancesensor.sip,sha256=PhKmBluxDe_XVACJaYGi80Ao-pRAA4YdI5rtO4jjpvQ,1730
PyQt5/bindings/QtSensors/qgyroscope.sip,sha256=72xZ4p2A2Kus3eA0MetNV1SZOuNa2YGAezMwFsdUCUo,1762
PyQt5/bindings/QtSensors/qholstersensor.sip,sha256=ib1P96-9BWIq_iEo_-HKUbFhQdzCbBSJqsgCSxpA3no,1718
PyQt5/bindings/QtSensors/qhumiditysensor.sip,sha256=GjtKuxjeu4m5ZGUx5dqcSv6OUjwo6DKXBOrW0mt1LlY,1767
PyQt5/bindings/QtSensors/qirproximitysensor.sip,sha256=24SdBPD0dZV4ZZ40ekgAc4-BX3K6TtWJhPK0SsnYg6w,1778
PyQt5/bindings/QtSensors/qlidsensor.sip,sha256=TYFm1OmU0gaLd-1lgXAeQu7My932UScyT7eFYirdfIQ,1789
PyQt5/bindings/QtSensors/qlightsensor.sip,sha256=xNGZhDNitOeRw8lKOwnHGSjwpf4hsOlQme54ByEsBgU,1814
PyQt5/bindings/QtSensors/qmagnetometer.sip,sha256=qY4EjMPl38e4P12oOSTyy3-Oz1vR1i54Ak66rxsoYVM,2048
PyQt5/bindings/QtSensors/qorientationsensor.sip,sha256=5_vgcUi227xZTChHQEoM2nwRLW0emQkomqh96PnRBF0,1996
PyQt5/bindings/QtSensors/qpressuresensor.sip,sha256=Gw6g3m6P3FQ72--saH0fCThI27GFr-bvxOIwkDJSXrs,1855
PyQt5/bindings/QtSensors/qproximitysensor.sip,sha256=bo7DjUeKu4PGfoTnTTiKY2MMROKi0UPmfCPf1ISaQ1A,1732
PyQt5/bindings/QtSensors/qrotationsensor.sip,sha256=-_Q7HXQeE15lw5Lkhj88YAsTH5uXMyiHfrHDmHyQEDQ,1879
PyQt5/bindings/QtSensors/qsensor.sip,sha256=bmYYl59PX1CE3zFMi4BRz7B3gcfrkApcb8p9EFejZh0,8664
PyQt5/bindings/QtSensors/qtapsensor.sip,sha256=_qBaVUxcxsMubaI0_v7zaBrEyyW31b7MrqB3SBvQI6I,2216
PyQt5/bindings/QtSensors/qtiltsensor.sip,sha256=mX3Oh11m52ruJMMMAaNEmUHYxM6TKiP9vlK6_wiZM8c,1759
PyQt5/bindings/QtSerialPort/QtSerialPort.toml,sha256=ALnG-i8tunkaoiqWyfXE5zHp8YMWDHvao1sLtixdA_M,187
PyQt5/bindings/QtSerialPort/QtSerialPortmod.sip,sha256=8iO4hwxXSUZMeFxSzTqKmkOcqPNcvS_vw5s6fMLlGoE,2025
PyQt5/bindings/QtSerialPort/qserialport.sip,sha256=LI6pYsLMqqbYgW_3hYkpVTQUsZr1ecJOXAb5qdYsDdo,9761
PyQt5/bindings/QtSerialPort/qserialportinfo.sip,sha256=gjak6twHam-fPkUYGUz7sUnS9n897YUiWljIhhSCoqg,1897
PyQt5/bindings/QtSql/QtSql.toml,sha256=fCiqbX1BWdk2FHp1kW_UoC4SBGCkfMRzAI5fnpygSF8,180
PyQt5/bindings/QtSql/QtSqlmod.sip,sha256=QAFNiCAdUHCxOn0QRZST6dFStokpWM3qnWo_dywWBDM,2361
PyQt5/bindings/QtSql/qsql.sip,sha256=b5KTOQdSFsLeH2buzEGraiQ-2TfXxiSf3KxqNcJu8s4,1690
PyQt5/bindings/QtSql/qsqldatabase.sip,sha256=vt3pnnUDAb1-Duc6A6UA_GR_hydGkVrFQaePI13KXjs,3963
PyQt5/bindings/QtSql/qsqldriver.sip,sha256=0-QghNOhyXrTxlw6yD4voAfJWT0OZpRz7Hd0L9NUJZQ,5168
PyQt5/bindings/QtSql/qsqlerror.sip,sha256=I6ROhVF6ryDS6MHk-8EsMtKt4wMLaBFatewCPkXq43Q,2405
PyQt5/bindings/QtSql/qsqlfield.sip,sha256=3e6jqsB8OkYf607PoAKtSxC4UsyCMoltFWYGR4vZgqU,2569
PyQt5/bindings/QtSql/qsqlindex.sip,sha256=2FUijaK-f08O8w8bL6Ow7O3VfRtykJwrrDy9vPfr-7Y,1538
PyQt5/bindings/QtSql/qsqlquery.sip,sha256=XqSW44ExkLcUjhH-GTUj_WIXDqU84aKuCS_Vw8AG9_I,3258
PyQt5/bindings/QtSql/qsqlquerymodel.sip,sha256=EysfpNjuN-uUvRO2-fzIw7q_4y8jyyApZX9Rk685swM,3033
PyQt5/bindings/QtSql/qsqlrecord.sip,sha256=Kx4KU8m_wURxP2m8eKxmMhjUft_l6toVvT8JObV9f2E,2345
PyQt5/bindings/QtSql/qsqlrelationaldelegate.sip,sha256=C5ZGtP6eVNoBVGh04UdFl2-YwpGh8QS-8hmCjP8aEbw,1606
PyQt5/bindings/QtSql/qsqlrelationaltablemodel.sip,sha256=hTG1r9T4rGN5iXvMTL7pWucEj9dTDYAVvS1g0r77zrU,2716
PyQt5/bindings/QtSql/qsqlresult.sip,sha256=ncnUBGlHDYzNOroIesLEF8EbX_Nk5y6JHbaHqOw-qv8,3329
PyQt5/bindings/QtSql/qsqltablemodel.sip,sha256=B259SttBH63dvKpbCAKIFTO52ROzgKRPofwSV-BMIa0,3871
PyQt5/bindings/QtSql/qtsqlglobal.sip,sha256=PhAVk-wrkUXi2RxUiB-uP0p1Mcl_zz7nXpMFFQ-o6UU,1704
PyQt5/bindings/QtSvg/QtSvg.toml,sha256=KsCUFKz1wOXmxeFYTflmVwh6IAWQRs2yZT7P3KUec8U,180
PyQt5/bindings/QtSvg/QtSvgmod.sip,sha256=0lXMMSRa3rgnSej_Q5BnDdlzgAW8fe8PJgmKX3_5EhY,2123
PyQt5/bindings/QtSvg/qgraphicssvgitem.sip,sha256=D44qXo4q3LspdmVqdzk-taz8PlluSXYDuYrrjgdmzYs,2046
PyQt5/bindings/QtSvg/qsvggenerator.sip,sha256=hmBrqnvm65SYbVPPe6ASJw62aOFVx0-OFwfQJxA1C7o,1871
PyQt5/bindings/QtSvg/qsvgrenderer.sip,sha256=kWK5nc19Ii4jg3dFyTqaX40zS-3EtvHk-pSoHYuhQCw,3341
PyQt5/bindings/QtSvg/qsvgwidget.sip,sha256=Fl13Zm5UUVk2Phem72QWAkHrnqLTspETlfHybqWXOv4,1455
PyQt5/bindings/QtTest/QtTest.toml,sha256=-bZhzeQvrw9V1H8_ZKC66VvW9oI76JhWOIHmYqgRCDE,181
PyQt5/bindings/QtTest/QtTestmod.sip,sha256=nLge5gQR-_L0q17fo5QTuO7czjxWNdjkGApUxYkULug,2179
PyQt5/bindings/QtTest/qabstractitemmodeltester.sip,sha256=ATbfX942LYoKOkEJyY9dmNSmtWgiEoX-lUDZXi9G7ZA,1702
PyQt5/bindings/QtTest/qsignalspy.sip,sha256=TbdfhJ19Hy1Yk8YDLn3yPEcSvEfdhDrQIDuqmAjHdFs,3441
PyQt5/bindings/QtTest/qtestcase.sip,sha256=hjtw38CA_caUvr52xF19Sgdxl0--cJOcIylxmZkiCaU,1082
PyQt5/bindings/QtTest/qtestkeyboard.sip,sha256=TdXyc4NfrD8Uc9Bt511lnRBxxFNx-sEP6BC6e9XkTKs,3433
PyQt5/bindings/QtTest/qtestmouse.sip,sha256=oEWNH_wheTMt2RSpZljEHlCd780mDYl_nsRufPZex60,2485
PyQt5/bindings/QtTest/qtestsystem.sip,sha256=BPqO7JSrAPPTPtUCoOs2wdgnjBLF_Uz_JS6J8x066BM,1415
PyQt5/bindings/QtTest/qtesttouch.sip,sha256=NnyixpsAUahk3S62EYzMTybCidX5NgZD1QHq5HorLCU,2849
PyQt5/bindings/QtTextToSpeech/QtTextToSpeech.toml,sha256=Lj0sKos9lFrLakAZZSr6CHjSE6276ROvzBCX1eewTfo,189
PyQt5/bindings/QtTextToSpeech/QtTextToSpeechmod.sip,sha256=D4uGTLtYP0uD8Nf-SUGYh4bUdsofeM98ZDS91xfjRGw,2024
PyQt5/bindings/QtTextToSpeech/qtexttospeech.sip,sha256=Du40es_RJZ9d674frRWVP57ogyrXlBBZtGs_Xl4Iz-s,2864
PyQt5/bindings/QtTextToSpeech/qvoice.sip,sha256=OoVzdNCVcs0DW_BfISQnnCyt1FvuMYXEPGZ_ravt3q0,1624
PyQt5/bindings/QtWebChannel/QtWebChannel.toml,sha256=rPc9kebThOcxyyHGrFHHQXr0G9Nn0Kx0iafif1E9T0A,187
PyQt5/bindings/QtWebChannel/QtWebChannelmod.sip,sha256=XJt4e17sk-wmrZ0NDUItW-_wG7HFWaGOT1oxkKMbIjI,2038
PyQt5/bindings/QtWebChannel/qwebchannel.sip,sha256=LZgjJlLAzpk6xt-mZ0nNhPCjltj0U8eZVgvkmBGYvI0,2408
PyQt5/bindings/QtWebChannel/qwebchannelabstracttransport.sip,sha256=PDHjmd78dI6doBOpf4C-8GIaWj8R1ddu5IT_SwqyixM,1467
PyQt5/bindings/QtWebSockets/QtWebSockets.toml,sha256=OavowwJ7EbVhXxqaxVgivGLSFe68JQtYIw-aUflMGzg,187
PyQt5/bindings/QtWebSockets/QtWebSocketsmod.sip,sha256=G93_3bJNtJ7M8A0oQPTRcgY_N2RKMTMlwvAmRELK3wU,2165
PyQt5/bindings/QtWebSockets/qmaskgenerator.sip,sha256=tqhjnltKeESb5AW6XvnFHpn-75c7pKwkAA-zwpZWujo,1276
PyQt5/bindings/QtWebSockets/qwebsocket.sip,sha256=lr_T8PP9d387RVB00us_0WYA8CI_e4Moitcy__DXT-s,5602
PyQt5/bindings/QtWebSockets/qwebsocketcorsauthenticator.sip,sha256=_NSQuz8KXzyNXw_qjcaKTKjSbmnETTYlKh6UotKEJDY,1486
PyQt5/bindings/QtWebSockets/qwebsocketprotocol.sip,sha256=Uw-g1AhkmJigPSyKRE5yoS7CRmWo5lWbyOLca21iwnw,1803
PyQt5/bindings/QtWebSockets/qwebsocketserver.sip,sha256=izoo7TvVliP4MYIFJlbSGvSTgPJYexQfuMuJ0IPgzu0,3456
PyQt5/bindings/QtWidgets/QtWidgets.toml,sha256=jrJoxVLZuEV_IUmA6b6F0MDXFhlM38MJ4IjVSRHoro4,184
PyQt5/bindings/QtWidgets/QtWidgetsmod.sip,sha256=RzjUqU_6RLFoeecUJanEjNEHX0YT-rB_mDrHlumy5Tw,5379
PyQt5/bindings/QtWidgets/qabstractbutton.sip,sha256=zYEmjx9z99Lubg9sCkxb9dhrBlH_W4aUmqgOwRVQuRU,2829
PyQt5/bindings/QtWidgets/qabstractitemdelegate.sip,sha256=rIsM-OsthC2XxgiJVhZTcv5WeC8TXFHxOE6mVS8cSZc,2676
PyQt5/bindings/QtWidgets/qabstractitemview.sip,sha256=hIcVHZo0j3kQV6dMMWzpNyMkhg8EVlNwGFl6HmdaP_g,10870
PyQt5/bindings/QtWidgets/qabstractscrollarea.sip,sha256=7NwBP1A6rizZe5zchBgUYOpSbysg_OngYw5hf5OdWwM,3664
PyQt5/bindings/QtWidgets/qabstractslider.sip,sha256=uKBWEZv6lAy2dlEXmrJaE0rxGQWICITgfzsuBQd5OpI,3107
PyQt5/bindings/QtWidgets/qabstractspinbox.sip,sha256=NktYxCyCf-rmAEaDyzLbQwLUocfVkqVc3S5qxZZv8Fc,4336
PyQt5/bindings/QtWidgets/qaction.sip,sha256=0JbLYrEJqWVQcKfUmPKRn8jQUoTWIX8Hx2pTHYkmb4M,4454
PyQt5/bindings/QtWidgets/qactiongroup.sip,sha256=687hV-INSllEg1xGRBNtJIfFgsA7MbcDppIWT5DLuvM,2182
PyQt5/bindings/QtWidgets/qapplication.sip,sha256=xbHQIRg-F8ygZ1rkTRf1kO2zhV5fp_WsPHvrkVT7Hm8,16292
PyQt5/bindings/QtWidgets/qboxlayout.sip,sha256=dgeLVi3mf1ts9UCrpHst0Fyv-tQIpJmOaBuyLwPbdRs,4928
PyQt5/bindings/QtWidgets/qbuttongroup.sip,sha256=KyHHq4tyWDAE1OdeojD0694nEdK0clO_9MJ3bBpvlBo,2162
PyQt5/bindings/QtWidgets/qcalendarwidget.sip,sha256=BzPw-_Mxc_EKIqHFzsKg4Nj3QARTuJVl5o4SW04s6i8,4288
PyQt5/bindings/QtWidgets/qcheckbox.sip,sha256=HQ3G7mUx5KgeGsht11Z0lwUiBiiJRIy7eCe6IfzG-Ao,1842
PyQt5/bindings/QtWidgets/qcolordialog.sip,sha256=AEQTwcIwUC9EXIxM-qyhk_iYDIP05Wg4DWHFVbXH-28,3179
PyQt5/bindings/QtWidgets/qcolumnview.sip,sha256=pdOkVRCArtkm-RYDWrQDOhvpsormgYmqCTE0gx2Rnu0,2937
PyQt5/bindings/QtWidgets/qcombobox.sip,sha256=i8R9jHf-8ptIU_uXWE_W3uP0OkhPb7daIPRtHPHv2yE,6415
PyQt5/bindings/QtWidgets/qcommandlinkbutton.sip,sha256=xN-MDexaq1K08wJsf-4zsZKqgoGrzaZ0JSjtvYomuO8,1702
PyQt5/bindings/QtWidgets/qcommonstyle.sip,sha256=w8PXG8FmQTlfpF-irKHV8Z9dswWJjEZ5b_UU2LhyEVc,3191
PyQt5/bindings/QtWidgets/qcompleter.sip,sha256=JQQruF8pFjN-iQPBPr0HaK0TbjFpzJ4oxjQZqz4gtqA,3458
PyQt5/bindings/QtWidgets/qdatawidgetmapper.sip,sha256=IV_X50iSpvZ_GHj8uzOovgZCzKfpMSPhsoxztk4Sw1M,2506
PyQt5/bindings/QtWidgets/qdatetimeedit.sip,sha256=Ix48MkRD4bK6NpQCuTxaf3mH_neRnmffAaf9597BDsc,5438
PyQt5/bindings/QtWidgets/qdesktopwidget.sip,sha256=G1PISzR_FwUDfxPcjlx57cE3r_P5btKjaM-xkD93PSw,1961
PyQt5/bindings/QtWidgets/qdial.sip,sha256=pPMZZtmtazS3-JANYZaTP1VKgM5ruY04quC2oFTjAu4,1911
PyQt5/bindings/QtWidgets/qdialog.sip,sha256=rGwRwr10L7bFtDo016NJbZ7qYKDeuUH1qZO5KTUz5tA,3484
PyQt5/bindings/QtWidgets/qdialogbuttonbox.sip,sha256=TgN50DO49TdVGMp-swb4p3gh-Ve--8mkE3UjYHf1oDE,3876
PyQt5/bindings/QtWidgets/qdirmodel.sip,sha256=QLepcsp5FTySgijp1ehCQBrzPILh_OTGzYO-JBfoirg,3734
PyQt5/bindings/QtWidgets/qdockwidget.sip,sha256=kUVrUYTKq8iuibYV0Q_6Gou4nS-DrB7RIAqANK5rVI8,2875
PyQt5/bindings/QtWidgets/qdrawutil.sip,sha256=wyUqTUDjkvjL6QImtbImPy6-P9Bj6e52J568NjMGpRk,2769
PyQt5/bindings/QtWidgets/qerrormessage.sip,sha256=FC02xmsrYPiDzss2AayzfGBJaKeP5g5Ld3EUpAjtnDc,1430
PyQt5/bindings/QtWidgets/qfiledialog.sip,sha256=3C_EXERpD4Qthxv7eJvjKH6_6iQjfYkyPfmbba5VWbg,12962
PyQt5/bindings/QtWidgets/qfileiconprovider.sip,sha256=uqLjf0wV3WrnlIFqRZAUEJV1Reb6UYu8FXq50OVs0HQ,2011
PyQt5/bindings/QtWidgets/qfilesystemmodel.sip,sha256=jIT3X1ayZhBMRsDBm257Y9-_lXTiXCCffZ9IipQOJv4,5217
PyQt5/bindings/QtWidgets/qfocusframe.sip,sha256=00ZVA-Qr08-FtBsEWeNMHje_id3ah5SWjIikieEavHY,1424
PyQt5/bindings/QtWidgets/qfontcombobox.sip,sha256=6M3ybP7AwJFRp87nMv-C2i03-UVwqSXsAFndqox__Qs,1979
PyQt5/bindings/QtWidgets/qfontdialog.sip,sha256=AWQkH0_romaFPUBUsbdI1zJ-fxNFfy9X-pDvhXCUmsE,3205
PyQt5/bindings/QtWidgets/qformlayout.sip,sha256=uOQk8e2piWwwE1IH443Y9SBbfVFU7mwuGyX01Wme1DA,4846
PyQt5/bindings/QtWidgets/qframe.sip,sha256=OOxceoQiIJ8IbFHEEy2MvjRkGR2Ii1VEi7qGVa0lP6k,2219
PyQt5/bindings/QtWidgets/qgesture.sip,sha256=tsCGsa2-Y1AZ5QXZCaZzvXBr8luFmrAFBJvQuaxdeZo,5514
PyQt5/bindings/QtWidgets/qgesturerecognizer.sip,sha256=6psBPcwGe98T_0_zWWo-GDpcIxSsJIErRi720-8e4DU,1907
PyQt5/bindings/QtWidgets/qgraphicsanchorlayout.sip,sha256=nBUy8qskYytMVfhEnA_iUZNx7gBYacsoUL-SQcAlHkI,2807
PyQt5/bindings/QtWidgets/qgraphicseffect.sip,sha256=1egHsvjPlTOyV_hT8OAv36wPI_qVl5BodT4YCV970Po,5416
PyQt5/bindings/QtWidgets/qgraphicsgridlayout.sip,sha256=ihaFkxlshPOqeNB6XaUu1zIiyFAn1G_6x6dmhqyUbCQ,4307
PyQt5/bindings/QtWidgets/qgraphicsitem.sip,sha256=jONt4i5Qd7AAT7VQXIehYPimfL4P_hEpGj25t689s2I,27666
PyQt5/bindings/QtWidgets/qgraphicslayout.sip,sha256=4CdpekxyynyqDOESWStu344rt7_kCbpimYY3IfgyrsM,1775
PyQt5/bindings/QtWidgets/qgraphicslayoutitem.sip,sha256=M5ehV5TR_siNyIWGZckOWctE-LM-6sbGI_5TcoVnxHQ,3163
PyQt5/bindings/QtWidgets/qgraphicslinearlayout.sip,sha256=Hg6Dw3WA1HrNRZf8pPtPWQPljwUPRiRlfwiZ_LwAn4s,3229
PyQt5/bindings/QtWidgets/qgraphicsproxywidget.sip,sha256=euiNETDmIXLinkLaIoNmULt91_869OtXj6OHIYQTmRs,4008
PyQt5/bindings/QtWidgets/qgraphicsscene.sip,sha256=n8ms-LXklwRRbZ0ZKiTgd_4EW4IRgDsZ-vKHPT8yrk4,9311
PyQt5/bindings/QtWidgets/qgraphicssceneevent.sip,sha256=voTp58QaUiDPQ4pusi7RZwmCCVimDhqSH4YwhSbNpK8,6855
PyQt5/bindings/QtWidgets/qgraphicstransform.sip,sha256=Lsc1Mmpv11POlPu7KSt3dzEJyHOpQOLDcmvJwVN_kzs,2528
PyQt5/bindings/QtWidgets/qgraphicsview.sip,sha256=fsKe3tx9qgGLPRY0_IZJmr2ybSle4xipJ6VAgDuwUMc,8610
PyQt5/bindings/QtWidgets/qgraphicswidget.sip,sha256=GCLfvHU8Xo7Sc7T71esIY2vDbzVPPNDNwIeLEOz5AUc,5617
PyQt5/bindings/QtWidgets/qgridlayout.sip,sha256=s07rRXW1i7UXsvvcfTm5e_xJnabSqT_11hpmgFqBM_g,5681
PyQt5/bindings/QtWidgets/qgroupbox.sip,sha256=XpaL2gGTvqiMwEMHLxtY9tPZ-fHS9w0PBS-gCsXV5Mk,2176
PyQt5/bindings/QtWidgets/qheaderview.sip,sha256=G_P3UMwnsjWfJ-lFlCL7djC5gfKK2IUk1ZLoCn2LM0Y,7206
PyQt5/bindings/QtWidgets/qinputdialog.sip,sha256=6wA_fVwnp7nJlT2hGTKo9JtMC6TkQ6qulq10ETtlWOg,5919
PyQt5/bindings/QtWidgets/qitemdelegate.sip,sha256=_-tZAkddSy4UzklJpXIRnI9ayzF3IBaCEwSb8oh-IaE,2982
PyQt5/bindings/QtWidgets/qitemeditorfactory.sip,sha256=LuwhFy2wFlyg_FqmAnbt2qj0Z2p79cXjYT43kvUkmMs,1849
PyQt5/bindings/QtWidgets/qkeyeventtransition.sip,sha256=5XpBWAHNt_BXaJdVxuf8FegX74PAWcsyKv4fe08McRc,1600
PyQt5/bindings/QtWidgets/qkeysequenceedit.sip,sha256=LVXxnZId_i_VxBQu9jC_gtWEW7EdJ_LeUWaaPetQjtk,1734
PyQt5/bindings/QtWidgets/qlabel.sip,sha256=iuE7zSqc65b4r1toN4tSEaIajBvF-vKv5aHD1ZXWcq8,3275
PyQt5/bindings/QtWidgets/qlayout.sip,sha256=aAyibihpO0rdonjpc0SIoEqxaCsl4JF1UThnLO7JJSw,6040
PyQt5/bindings/QtWidgets/qlayoutitem.sip,sha256=a27U0iEX0TCVb-U1NY-g6XI5vuae4W6fq1HpKII4WiI,3769
PyQt5/bindings/QtWidgets/qlcdnumber.sip,sha256=A2UgGqnmBK8NCaE3DY7ek9pAxjoQ_iI8eSD40ZiRtSg,2460
PyQt5/bindings/QtWidgets/qlineedit.sip,sha256=nzbqp921giMPvQml8KtzTG56CQO7CnvQ4JV8Y1gkBxE,5603
PyQt5/bindings/QtWidgets/qlistview.sip,sha256=DOx8yIq1OcJrbjaLHa-McXZviMYq448c6xGFvDmdpFs,5183
PyQt5/bindings/QtWidgets/qlistwidget.sip,sha256=BPpmEXPNBQqTeHUcSt270UWD6urOC_scPGIMg_Nifeg,7456
PyQt5/bindings/QtWidgets/qmaccocoaviewcontainer.sip,sha256=JY1T8aqwiO2YSwocLOq5EhnyivvNYPVo3CT5_mrUrqQ,1467
PyQt5/bindings/QtWidgets/qmainwindow.sip,sha256=Z6Ozf1BqDFmh4khK9qWbL_rxC7-VEsNB-v2OT389wNE,5032
PyQt5/bindings/QtWidgets/qmdiarea.sip,sha256=kIhNVRYk8fQ2TqNRiqGM_5ZpaYwlImNaSMpS2npQTC4,4384
PyQt5/bindings/QtWidgets/qmdisubwindow.sip,sha256=FngU-_UbR2F5o6C3Nhj1g6FmUiriWX4elPqbzYK7DqI,4286
PyQt5/bindings/QtWidgets/qmenu.sip,sha256=mUJ5ePwaFhEWHf1QN7cu9afAPxUFNfagqY_jAE3VAiw,6226
PyQt5/bindings/QtWidgets/qmenubar.sip,sha256=1SOFmW4yisxGzy1APecYhUnGZ9O-VpQ5XFbg6CwEB0o,3626
PyQt5/bindings/QtWidgets/qmessagebox.sip,sha256=cxyE30IYijxqfu_-SpxlNwe10PQx7lAL2ZPBjE9v5_k,6668
PyQt5/bindings/QtWidgets/qmouseeventtransition.sip,sha256=GKCL8rcWXMcw4psnnYOneEr9MlE9DR7l7iYmGYwmFzs,1751
PyQt5/bindings/QtWidgets/qopenglwidget.sip,sha256=zCQy0lmo8JUk-vnUbPrz_Jg7eZ-DMHUQ30HYrgPuluw,2463
PyQt5/bindings/QtWidgets/qplaintextedit.sip,sha256=W1SZ3ytVzfieEcDR7f5hBvBeNal1O4n2AHE0GyAq24A,7961
PyQt5/bindings/QtWidgets/qprogressbar.sip,sha256=xCkjDu8D3YpzyuIIAzGgc44hwls_0Vzm9u6B7jf5gkc,2312
PyQt5/bindings/QtWidgets/qprogressdialog.sip,sha256=Mb6OdCwKySS0efTweaPWb4osJORp1sPcvARPu_dfQ90,2988
PyQt5/bindings/QtWidgets/qproxystyle.sip,sha256=RBqfwdQYLH5KJ7xMlTi-alyYF3qOmKxhabaW1EPuLfI,4008
PyQt5/bindings/QtWidgets/qpushbutton.sip,sha256=ztPT9XYx3OHTDmaBs6VcQgUTY1kaheE9vmiJuHNhfqI,2223
PyQt5/bindings/QtWidgets/qpywidgets_qlist.sip,sha256=o2tLKjHGWJ-yv7q3IXCotQOfhQ8pXUl53K6ZsQeYZck,3094
PyQt5/bindings/QtWidgets/qradiobutton.sip,sha256=bKIfim3rbJWE2qdAxcAHXks-fNrjtWf_B2wz4F71JP8,1589
PyQt5/bindings/QtWidgets/qrubberband.sip,sha256=vDIaxEMhQIt-dTvNrDzd1yNdHSWl0gDclNYqZCJRS5w,1840
PyQt5/bindings/QtWidgets/qscrollarea.sip,sha256=LIVWKsG83rIrkkxFH0zzZayaj2Tvl8pyAKNVtme2Oqc,1969
PyQt5/bindings/QtWidgets/qscrollbar.sip,sha256=2b8x2Jk2AnURv0AzgNpy08IVTbYgjhGu46I5yGZB3BI,1811
PyQt5/bindings/QtWidgets/qscroller.sip,sha256=gESVcPgA4ZJYSC_JHz9itTbu0p8z2PXygrdWnVSWzHY,3018
PyQt5/bindings/QtWidgets/qscrollerproperties.sip,sha256=0gTRmZFIytNNJkDRSO-WT1lZTGTSY7hylrqOCNWGoHw,2565
PyQt5/bindings/QtWidgets/qshortcut.sip,sha256=5VGpXvVZJX1vEZp8whieooyzMpvd7ycJ-OTCtu0lonA,3632
PyQt5/bindings/QtWidgets/qsizegrip.sip,sha256=DvLuW1LG0fg8NhXBU4UBxcQMka4FGIO0wnYEodAGpV8,1685
PyQt5/bindings/QtWidgets/qsizepolicy.sip,sha256=BKzpwawGWLeqdVq7vlDcPF1SsvroegDYRoRBu0AIKto,3563
PyQt5/bindings/QtWidgets/qslider.sip,sha256=GLDwYmTeOxhfSjnW3OEjQmr62YMrsMpfP78mXSdif4I,1970
PyQt5/bindings/QtWidgets/qspinbox.sip,sha256=sX_y8VLcDZaSVp6kISxSBc8gAmIFiez0ocVxcCsBVKc,3687
PyQt5/bindings/QtWidgets/qsplashscreen.sip,sha256=07aVnpgyJh4Yrg-Wi6vpXcUJjXq3_kBB26gEAmkdFm8,2027
PyQt5/bindings/QtWidgets/qsplitter.sip,sha256=ztz4wn_Ij9nx-2H4UuBFk8uCQ0-OXS3w0pueXQCenYs,3551
PyQt5/bindings/QtWidgets/qstackedlayout.sip,sha256=QqTA_lBM4ECwImxbYnTJLKcy_0ykbqoaJlu4a7tBQIc,3795
PyQt5/bindings/QtWidgets/qstackedwidget.sip,sha256=12niM6LrSJNPl-9NqGySdgjxmzE-9QR00UXShNOpFGc,1707
PyQt5/bindings/QtWidgets/qstatusbar.sip,sha256=7dLKCIGXhrYUVoD5NIjeEJqvwQ7F0prWajARDlH6fHA,2011
PyQt5/bindings/QtWidgets/qstyle.sip,sha256=Qr19jkmkwIYjzDFaimv7fxXcRVMOp6__x3LTDn7kftg,24187
PyQt5/bindings/QtWidgets/qstyleditemdelegate.sip,sha256=l_qK10H5i3Yfne4Ezhj7hJnrzl4EKwG9POzwcZ4Q41c,2472
PyQt5/bindings/QtWidgets/qstylefactory.sip,sha256=z2BtxJnOXo4nznKQxF5_c0lC_XyL9pVVtGW5-kJXlyM,1154
PyQt5/bindings/QtWidgets/qstyleoption.sip,sha256=RxZAm1x7a-aor0AtOrkyEfK80qDLKb-GM5j-8HpCzug,21855
PyQt5/bindings/QtWidgets/qstylepainter.sip,sha256=WgRrr-Wffr6WpppZuJ5LD3JvAhCDmWxhsJ5SnFDuZ08,1773
PyQt5/bindings/QtWidgets/qsystemtrayicon.sip,sha256=FE7wMoi4-UsiUEsSFqabfTTEd6QPzyUaEWZvZyVku1Y,2419
PyQt5/bindings/QtWidgets/qtabbar.sip,sha256=yhTg6P3ToZNoY1NUCm4zfwnsaREPZNlzcEd6kVoHmmM,5616
PyQt5/bindings/QtWidgets/qtableview.sip,sha256=6fFP4d4ZOYGcjactenyjydPAieSqrdlsCmZ16Xqj9r4,4956
PyQt5/bindings/QtWidgets/qtablewidget.sip,sha256=mAqiRcfc1y7fPG3Od-t4NFOiW7kPFin-G9OB3hPYHKg,9296
PyQt5/bindings/QtWidgets/qtabwidget.sip,sha256=6M4eYOvUR-0aczdtxrdgP6RiFu02c16ZwQ1Ys8L-eOE,4504
PyQt5/bindings/QtWidgets/qtextbrowser.sip,sha256=YSTlVffjyYk76AmKb-olWBRPhrwP6GoiCOLEE_-0kpQ,2960
PyQt5/bindings/QtWidgets/qtextedit.sip,sha256=z1oPK3Ym0bLHZv5Ql5CbPwS5br2h6GvF6GERiGky1Dc,8203
PyQt5/bindings/QtWidgets/qtoolbar.sip,sha256=gveKwnsZk34kDbu7aLZhXc7CigvHkqfyrSIUz8RruwU,4342
PyQt5/bindings/QtWidgets/qtoolbox.sip,sha256=k6QyJrkQmjfoFSsTYFKqZ8mChXsu9HE0qkNHED53Ask,2479
PyQt5/bindings/QtWidgets/qtoolbutton.sip,sha256=YnDqd194jRmsKa8jJ_AH2LTI-qE2kYj7DCMSqdGshq8,2560
PyQt5/bindings/QtWidgets/qtooltip.sip,sha256=edOP1Svlbe6PZsNdJHInN2Dz-MRU9dM_hlRk4Ug-4ws,1630
PyQt5/bindings/QtWidgets/qtreeview.sip,sha256=LKSj2hDzRRo3aGuiLMm_pC8C0K_Q7vyBH0F7bOCFjLo,6708
PyQt5/bindings/QtWidgets/qtreewidget.sip,sha256=sOT2GcIW4exbAcxcMCNo0pKxpNltbLcXc0_ub8kGXtc,10487
PyQt5/bindings/QtWidgets/qtreewidgetitemiterator.sip,sha256=3nneXd98cPAbqtIcam6dl3eNeGIy6IdNj1HRQWZEfRI,2362
PyQt5/bindings/QtWidgets/qundogroup.sip,sha256=VogjZz-NDAfaHxx6rzswTlzDO7MmoHjaSDw0-HiOtSQ,2103
PyQt5/bindings/QtWidgets/qundostack.sip,sha256=HzclBkflZIV_MvgjCmg0AChuz4xEb9gOBudOTzfPji0,3169
PyQt5/bindings/QtWidgets/qundoview.sip,sha256=u3klStEaG6iMilNJGBi0kY-ER8lhXk07fJzfocIGQ8Q,1641
PyQt5/bindings/QtWidgets/qwhatsthis.sip,sha256=yZ-YyWhA306PKvLlkdzhsNDzzpLj5RjKV6-hGIZoVCU,1391
PyQt5/bindings/QtWidgets/qwidget.sip,sha256=e8D32CYVhQu6gxcY4w298ZYEquMWmYND3rqk3Z5Spb0,15862
PyQt5/bindings/QtWidgets/qwidgetaction.sip,sha256=-Cs5u9ZfQRTNAElORHPtNk7xkujrshz12Bm4ncyfCwM,1670
PyQt5/bindings/QtWidgets/qwizard.sip,sha256=tMavTblgRtLSTJjK1-S_FqoLR8tkPjOMp4TRxd1hH4s,7984
PyQt5/bindings/QtWinExtras/QtWinExtras.toml,sha256=F4ZZzvJH6CqE6ADBUhHTEQQ581MID-Y24I3UwVcDT44,186
PyQt5/bindings/QtWinExtras/QtWinExtrasmod.sip,sha256=OE5UFQVQoEpbnZb1YD4WyifrVHYIHtpJ8RYlcHaLZOQ,2198
PyQt5/bindings/QtWinExtras/qwinfunctions.sip,sha256=ceBLC_4_vsehs80pdB_HdI-f2_6oo7byqOoXn7yMJpc,4424
PyQt5/bindings/QtWinExtras/qwinjumplist.sip,sha256=KjARRaFxV6e6JGpg18Sxq3WGUSsbpCATrJwrlfgZ0u4,2492
PyQt5/bindings/QtWinExtras/qwinjumplistcategory.sip,sha256=eZ90hUOv-Rzv1eAD3X25q5cC6viC9EyrHDLgpbMYNtE,2135
PyQt5/bindings/QtWinExtras/qwinjumplistitem.sip,sha256=Lta4TYqQLfEZosqyMmxwH96TqcvuvnPPSjlQlT8Z59c,1844
PyQt5/bindings/QtWinExtras/qwintaskbarbutton.sip,sha256=A8MUo-ktCrHxRFGOEmQvkbP7nxbNSp8tyipVMlTHutg,1644
PyQt5/bindings/QtWinExtras/qwintaskbarprogress.sip,sha256=AH0CiqmZRe50nN1sLCgiq0d0J7H75oDNuU4wQFbcAio,1923
PyQt5/bindings/QtWinExtras/qwinthumbnailtoolbar.sip,sha256=2zE9cR-YA5AhSGJap7TCoAn5rdFwvv53xMim3vw4JIM,2111
PyQt5/bindings/QtWinExtras/qwinthumbnailtoolbutton.sip,sha256=Q1ZRUMWrzxEB7vz9EAGuN5vry188ULjJAZdpO_Nf35o,1824
PyQt5/bindings/QtXml/QtXml.toml,sha256=Gc6SUYZLcIPqr8MSBJ34JS4b_GxKbG76mqWOjnIeLXA,180
PyQt5/bindings/QtXml/QtXmlmod.sip,sha256=1EhgjRofn0n8s9lTnEft9yvT5BOK-kJezFtjdjHdhqw,1986
PyQt5/bindings/QtXml/qdom.sip,sha256=2MFDudirMSMYl4y52URzs0QQJGlY0zA-LI3JDq4WwkQ,14855
PyQt5/bindings/QtXml/qxml.sip,sha256=XKzVrU5QD2N8k9YltaHwPiXBTOrZNlBn7b90vb4X4us,12460
PyQt5/bindings/QtXmlPatterns/QtXmlPatterns.toml,sha256=KSDnRoNqGwTvI39T6WqmkaT0D3BiMudfFfBwipg4WqI,188
PyQt5/bindings/QtXmlPatterns/QtXmlPatternsmod.sip,sha256=P3EWxkillGLUNK1YaiFFvmWAHZh6zW6Vb-uhCz7KlZ4,2436
PyQt5/bindings/QtXmlPatterns/qabstractmessagehandler.sip,sha256=uPv5bMRq34vR__VVjDCsgNZJsmquOmf6TQZps3pRX44,2196
PyQt5/bindings/QtXmlPatterns/qabstracturiresolver.sip,sha256=GziuKj7QZcD9rKfSOD6118WYjHmYb-nhWou5hjjrdes,1283
PyQt5/bindings/QtXmlPatterns/qabstractxmlnodemodel.sip,sha256=fYWjjn8xwA93ialA3fxQQNaT6-u6allcGLP9Oybs_zc,4353
PyQt5/bindings/QtXmlPatterns/qabstractxmlreceiver.sip,sha256=RtiTx2W_Zfjr7LLWW0RUP1-1EvE-COYnL8ohk5WnPTY,1881
PyQt5/bindings/QtXmlPatterns/qsimplexmlnodemodel.sip,sha256=OYyl26PBmiFoa_UowofkKI2QM2f7ShfsTkr7sTYDvV0,1619
PyQt5/bindings/QtXmlPatterns/qsourcelocation.sip,sha256=oTdgOzNOtA23GYV8kkTl91ViXld4JQYdU7NPRavrMi0,1659
PyQt5/bindings/QtXmlPatterns/qxmlformatter.sip,sha256=pt08qIzUoO3ls7eTaJ-kQScG4uaA48seTnN2Jqdz-Kw,1779
PyQt5/bindings/QtXmlPatterns/qxmlname.sip,sha256=ldrCZAin0Xc9gyKFchxFLheeIx9jz_olYh5CT9SJceg,1860
PyQt5/bindings/QtXmlPatterns/qxmlnamepool.sip,sha256=IbXc794HDQI1FCYBraMwprfj1ixV0gRf0FNIP-VUDvw,1157
PyQt5/bindings/QtXmlPatterns/qxmlquery.sip,sha256=5CLcwY06Cdvzm04jsKOFQAfvEH_sQtGthRG8pp53Vho,4503
PyQt5/bindings/QtXmlPatterns/qxmlresultitems.sip,sha256=0Xisjo9k8OTOKunat0MVxOWGkYYr5wJHUOInbOW5HZk,1274
PyQt5/bindings/QtXmlPatterns/qxmlschema.sip,sha256=EH1UiAmG-875fNaNRQiLivuUwF1qBR2lRMxgHUftzTc,1928
PyQt5/bindings/QtXmlPatterns/qxmlschemavalidator.sip,sha256=Qg6B8YACgW2mTuBngUd7w3Q4Dkgb5wTwMiSj4F1gAog,2485
PyQt5/bindings/QtXmlPatterns/qxmlserializer.sip,sha256=TrOe7_B5vODZBIeuLDccZs94CvjGXSpZ8f5P3nuEJSQ,1905
PyQt5/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
PyQt5/pylupdate.pyd,sha256=s_ib6_7cfVEMmzSDYqMv-GHRRW4oVYdR0ishskkYomo,118272
PyQt5/pylupdate_main.py,sha256=UNJLs4cD_O6MaiRJ3qhX5OtJo9NDNXUAitmYltIhBo4,7620
PyQt5/pyrcc.pyd,sha256=-v6eiltRbgfkAGDM0Caf_dbsNvTTY1xa04ryPnc7u44,49664
PyQt5/pyrcc_main.py,sha256=iZopJ7gIoor5QEGeCNSHfjtdytb7D6d8L-iyxTYkB6k,5558
PyQt5/sip.pyi,sha256=Dk5b_YPq4Cz0KcUp1CUwGY6nD01DkdCmzvHUSRQo36A,4061
PyQt5/uic/Compiler/__init__.py,sha256=aE4HiuHgvVn0Y2pMHZ3u_NWkceQ2nLRvbiVENSo_n6o,1024
PyQt5/uic/Compiler/__pycache__/__init__.cpython-39.pyc,,
PyQt5/uic/Compiler/__pycache__/compiler.cpython-39.pyc,,
PyQt5/uic/Compiler/__pycache__/indenter.cpython-39.pyc,,
PyQt5/uic/Compiler/__pycache__/misc.cpython-39.pyc,,
PyQt5/uic/Compiler/__pycache__/proxy_metaclass.cpython-39.pyc,,
PyQt5/uic/Compiler/__pycache__/qobjectcreator.cpython-39.pyc,,
PyQt5/uic/Compiler/__pycache__/qtproxies.cpython-39.pyc,,
PyQt5/uic/Compiler/compiler.py,sha256=THKgZNBUh198NkAh1hLHPsDEMeSLRdOiEKFNvVKfv14,4768
PyQt5/uic/Compiler/indenter.py,sha256=Z2NZ9Koezh5UjmTAsA0tw4IO3rczWYi0okT4pT4M-X8,2819
PyQt5/uic/Compiler/misc.py,sha256=Wytpj0Y0TUiLdB2JIot3-UdtOJnpo-mnKF9OWQpTCu4,2433
PyQt5/uic/Compiler/proxy_metaclass.py,sha256=ou_MjXc_yCksa7cFCVUU3ap7FuqJ2XcoWkxXuc4z90c,4424
PyQt5/uic/Compiler/qobjectcreator.py,sha256=aQjKwR_EXjAhMHR8f9xWcYniDqcgPdMTWwlV8gIBgCs,6083
PyQt5/uic/Compiler/qtproxies.py,sha256=Ie9yPzHtnzuT_0dNx8JxBJGkKb-AGzm0WVmLcLnPYBg,16785
PyQt5/uic/Loader/__init__.py,sha256=aE4HiuHgvVn0Y2pMHZ3u_NWkceQ2nLRvbiVENSo_n6o,1024
PyQt5/uic/Loader/__pycache__/__init__.cpython-39.pyc,,
PyQt5/uic/Loader/__pycache__/loader.cpython-39.pyc,,
PyQt5/uic/Loader/__pycache__/qobjectcreator.cpython-39.pyc,,
PyQt5/uic/Loader/loader.py,sha256=IafHQG6x-dNDeTlgnk1NRKYo2WolIpp2wiIWVvi2Ngc,2924
PyQt5/uic/Loader/qobjectcreator.py,sha256=AhFPTityPrbXXvE5qT80RL-1HQm_G5za8k2dIaik0s0,5172
PyQt5/uic/__init__.py,sha256=vLZ9hk0Q1xNbu_eRSMsW5Fh5MO0luSwGgNzv1-Jvmqk,9749
PyQt5/uic/__pycache__/__init__.cpython-39.pyc,,
PyQt5/uic/__pycache__/driver.cpython-39.pyc,,
PyQt5/uic/__pycache__/exceptions.cpython-39.pyc,,
PyQt5/uic/__pycache__/icon_cache.cpython-39.pyc,,
PyQt5/uic/__pycache__/objcreator.cpython-39.pyc,,
PyQt5/uic/__pycache__/properties.cpython-39.pyc,,
PyQt5/uic/__pycache__/pyuic.cpython-39.pyc,,
PyQt5/uic/__pycache__/uiparser.cpython-39.pyc,,
PyQt5/uic/driver.py,sha256=rkJDwJ6q0LmkzebDdrKXpKOjujKdYwiKmkXcMrGHG7Y,4797
PyQt5/uic/exceptions.py,sha256=UNMuvcB7CGpzo5xiscd4XkIBGDdFeVRefMAAEbnDFQI,2332
PyQt5/uic/icon_cache.py,sha256=-0uZWAMKjtFFUu7t46p0W_QWKsH3oTrfwrsQGQO05fw,5181
PyQt5/uic/objcreator.py,sha256=OBi31Sd9nUSz1N_-Zd0MVhizaBxQhVH_6HgXYW2hwKE,6133
PyQt5/uic/port_v2/__init__.py,sha256=aE4HiuHgvVn0Y2pMHZ3u_NWkceQ2nLRvbiVENSo_n6o,1024
PyQt5/uic/port_v2/__pycache__/__init__.cpython-39.pyc,,
PyQt5/uic/port_v2/__pycache__/as_string.cpython-39.pyc,,
PyQt5/uic/port_v2/__pycache__/ascii_upper.cpython-39.pyc,,
PyQt5/uic/port_v2/__pycache__/proxy_base.cpython-39.pyc,,
PyQt5/uic/port_v2/__pycache__/string_io.cpython-39.pyc,,
PyQt5/uic/port_v2/as_string.py,sha256=3IhYbMHh21r3YX6vQJdb0Tos8SpBrEE-4EH2XslLW00,1475
PyQt5/uic/port_v2/ascii_upper.py,sha256=aQXz9NOJV-N0TemZAQCEhDDbEMC1OKLvu1CrFNh7hc0,1358
PyQt5/uic/port_v2/proxy_base.py,sha256=KVreC8vsv0abQoBSD0JLk3K3cZ7Ss8L67dnaq-yB8UM,1250
PyQt5/uic/port_v2/string_io.py,sha256=SSNcCxPdS7sMp2ss02LYJH3xykSvBlHkjI1iPMIybFE,1157
PyQt5/uic/port_v3/__init__.py,sha256=aE4HiuHgvVn0Y2pMHZ3u_NWkceQ2nLRvbiVENSo_n6o,1024
PyQt5/uic/port_v3/__pycache__/__init__.cpython-39.pyc,,
PyQt5/uic/port_v3/__pycache__/as_string.cpython-39.pyc,,
PyQt5/uic/port_v3/__pycache__/ascii_upper.cpython-39.pyc,,
PyQt5/uic/port_v3/__pycache__/proxy_base.cpython-39.pyc,,
PyQt5/uic/port_v3/__pycache__/string_io.cpython-39.pyc,,
PyQt5/uic/port_v3/as_string.py,sha256=zZEiip9rho2hdR4PdXQwaDz3_kOEElVHLigkJVzgcco,1452
PyQt5/uic/port_v3/ascii_upper.py,sha256=0p8D2pJvCgV9RVQ-RYplmvYBLr6AoKyxHnB6zGd1XnY,1352
PyQt5/uic/port_v3/proxy_base.py,sha256=VNQziWGRH_RidXAYjxRE6dPnU6nUkPkATsd1DO0DeOk,1230
PyQt5/uic/port_v3/string_io.py,sha256=IsSj_y5e1A2y9RY4W-okaRBJLNjxGIy8QQoEJ4natxM,1084
PyQt5/uic/properties.py,sha256=3x91MRS8UAloXsLhXW8-_D98IhCWOe2ukyKp2UDj7T4,18284
PyQt5/uic/pyuic.py,sha256=s89Cbdt49-02VZLkDLk8ThB12oWwhVQsCo1nhXoETm0,3646
PyQt5/uic/uiparser.py,sha256=XJ_JpQr_6UrLMHT82SZ7LhioVcPDw-bEmWgqgJsKSRI,39202
PyQt5/uic/widget-plugins/__pycache__/qaxcontainer.cpython-39.pyc,,
PyQt5/uic/widget-plugins/__pycache__/qscintilla.cpython-39.pyc,,
PyQt5/uic/widget-plugins/__pycache__/qtcharts.cpython-39.pyc,,
PyQt5/uic/widget-plugins/__pycache__/qtprintsupport.cpython-39.pyc,,
PyQt5/uic/widget-plugins/__pycache__/qtquickwidgets.cpython-39.pyc,,
PyQt5/uic/widget-plugins/__pycache__/qtwebenginewidgets.cpython-39.pyc,,
PyQt5/uic/widget-plugins/__pycache__/qtwebkit.cpython-39.pyc,,
PyQt5/uic/widget-plugins/qaxcontainer.py,sha256=-WDgC3ybkhcywE_w0bN_XrgblBAwN_YxjPbARa_PGWo,1590
PyQt5/uic/widget-plugins/qscintilla.py,sha256=iJZIrvdewEA75r5Q1DzQdqz1qj4bgme2KRlIficZG5U,1586
PyQt5/uic/widget-plugins/qtcharts.py,sha256=q1uT3rWEoJQuthXBQ7kx0R6pJGGfkwS_v9E2ZvIit3c,1595
PyQt5/uic/widget-plugins/qtprintsupport.py,sha256=roTHKhHuFHwzipIysAEhMouEZ5b8KEzNJqvWfUChSqM,1621
PyQt5/uic/widget-plugins/qtquickwidgets.py,sha256=fkGfmJORCA_62t3RksL2afSUyMZwBqfVtPJzXXnydQo,1595
PyQt5/uic/widget-plugins/qtwebenginewidgets.py,sha256=0xjMUv83_8pv18GISyC2rzc3kZ4LVu-Aw9boA5SvoKs,1601
PyQt5/uic/widget-plugins/qtwebkit.py,sha256=nnByrPhnew7v8mfS502IXU5fE3XghYouMzBn0GtGXUo,2558

@ -1,4 +0,0 @@
Wheel-Version: 1.0
Generator: sip-wheel 6.6.2
Root-Is-Purelib: false
Tag: cp37-abi3-win_amd64

@ -1,4 +0,0 @@
[console_scripts]
pylupdate5=PyQt5.pylupdate_main:main
pyrcc5=PyQt5.pyrcc_main:main
pyuic5=PyQt5.uic.pyuic:main

Binary file not shown.

@ -1,105 +0,0 @@
# The PEP 484 type hints stub file for the QAxContainer module.
#
# Generated by SIP 6.6.2
#
# Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
#
# This file is part of PyQt5.
#
# This file may be used under the terms of the GNU General Public License
# version 3.0 as published by the Free Software Foundation and appearing in
# the file LICENSE included in the packaging of this file. Please review the
# following information to ensure the GNU General Public License version 3.0
# requirements will be met: http://www.gnu.org/copyleft/gpl.html.
#
# If you do not wish to use this file under the terms of the GPL version 3.0
# then you may purchase a commercial license. For more information contact
# info@riverbankcomputing.com.
#
# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
# WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
import typing
import PyQt5.sip
from PyQt5 import QtWidgets
# Support for QDate, QDateTime and QTime.
import datetime
# Convenient type aliases.
PYQT_SIGNAL = typing.Union[QtCore.pyqtSignal, QtCore.pyqtBoundSignal]
PYQT_SLOT = typing.Union[typing.Callable[..., None], QtCore.pyqtBoundSignal]
# Convenient aliases for complicated OpenGL types.
PYQT_OPENGL_ARRAY = typing.Union[typing.Sequence[int], typing.Sequence[float],
PyQt5.sip.Buffer, None]
PYQT_OPENGL_BOUND_ARRAY = typing.Union[typing.Sequence[int],
typing.Sequence[float], PyQt5.sip.Buffer, int, None]
class QAxBase(PyQt5.sip.simplewrapper):
@typing.overload
def __init__(self) -> None: ...
@typing.overload
def __init__(self, a0: 'QAxBase') -> None: ...
def setClassContext(self, classContext: int) -> None: ...
def classContext(self) -> int: ...
def disableEventSink(self) -> None: ...
def disableClassInfo(self) -> None: ...
def disableMetaObject(self) -> None: ...
def setControl(self, a0: str) -> bool: ...
def clear(self) -> None: ...
def exception(self, a0: int, a1: str, a2: str, a3: str) -> None: ...
def propertyChanged(self, a0: str) -> None: ...
def signal(self, a0: str, a1: int, a2: PyQt5.sip.voidptr) -> None: ...
def asVariant(self) -> typing.Any: ...
def verbs(self) -> typing.List[str]: ...
def isNull(self) -> bool: ...
def setPropertyWritable(self, a0: str, a1: bool) -> None: ...
def propertyWritable(self, a0: str) -> bool: ...
def generateDocumentation(self) -> str: ...
def setPropertyBag(self, a0: typing.Dict[str, typing.Any]) -> None: ...
def propertyBag(self) -> typing.Dict[str, typing.Any]: ...
@typing.overload
def querySubObject(self, a0: str, a1: typing.Iterable[typing.Any]) -> 'QAxObject': ...
@typing.overload
def querySubObject(self, a0: str, value1: typing.Any = ..., value2: typing.Any = ..., value3: typing.Any = ..., value4: typing.Any = ..., value5: typing.Any = ..., value6: typing.Any = ..., value7: typing.Any = ..., value8: typing.Any = ...) -> 'QAxObject': ...
@typing.overload
def dynamicCall(self, a0: str, a1: typing.Iterable[typing.Any]) -> typing.Any: ...
@typing.overload
def dynamicCall(self, a0: str, value1: typing.Any = ..., value2: typing.Any = ..., value3: typing.Any = ..., value4: typing.Any = ..., value5: typing.Any = ..., value6: typing.Any = ..., value7: typing.Any = ..., value8: typing.Any = ...) -> typing.Any: ...
def control(self) -> str: ...
class QAxObject(QtCore.QObject, QAxBase):
@typing.overload
def __init__(self, parent: typing.Optional[QtCore.QObject] = ...) -> None: ...
@typing.overload
def __init__(self, a0: str, parent: typing.Optional[QtCore.QObject] = ...) -> None: ...
def connectNotify(self, a0: QtCore.QMetaMethod) -> None: ...
def doVerb(self, a0: str) -> bool: ...
class QAxWidget(QtWidgets.QWidget, QAxBase):
@typing.overload
def __init__(self, parent: typing.Optional[QtWidgets.QWidget] = ..., flags: typing.Union[QtCore.Qt.WindowFlags, QtCore.Qt.WindowType] = ...) -> None: ...
@typing.overload
def __init__(self, a0: str, parent: typing.Optional[QtWidgets.QWidget] = ..., flags: typing.Union[QtCore.Qt.WindowFlags, QtCore.Qt.WindowType] = ...) -> None: ...
def connectNotify(self, a0: QtCore.QMetaMethod) -> None: ...
def translateKeyEvent(self, a0: int, a1: int) -> bool: ...
def resizeEvent(self, a0: QtGui.QResizeEvent) -> None: ...
def changeEvent(self, a0: QtCore.QEvent) -> None: ...
def createHostWindow(self, a0: bool) -> bool: ...
def minimumSizeHint(self) -> QtCore.QSize: ...
def sizeHint(self) -> QtCore.QSize: ...
def doVerb(self, a0: str) -> bool: ...
def clear(self) -> None: ...

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save