quarchpy 2.2.10.dev1__py2.py3-none-any.whl → 2.2.11__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1164) hide show
  1. quarchpy/__pycache__/__init__.cpython-310.pyc +0 -0
  2. quarchpy/__pycache__/_version.cpython-310.pyc +0 -0
  3. quarchpy/__pycache__/connection.cpython-310.pyc +0 -0
  4. quarchpy/_version.py +1 -1
  5. quarchpy/config_files/Cable_Modules/QTL1253-01 - Mini SAS Module Config v3.5 c1.3.qfg +196 -196
  6. quarchpy/config_files/Cable_Modules/QTL1253-01 - Mini SAS Module Config v4.000 c1.3.qfg +198 -198
  7. quarchpy/config_files/Cable_Modules/QTL1253-02 - Mini SAS Module Config v3.5 c1.3.qfg +196 -196
  8. quarchpy/config_files/Cable_Modules/QTL1253-02 - Mini SAS Module Config v4.000 c1.3.qfg +198 -198
  9. quarchpy/config_files/Cable_Modules/QTL1253-xx - Mini SAS Module Config v4.003 c1.6.qfg +197 -197
  10. quarchpy/config_files/Cable_Modules/QTL1271-xx - Ethernet Module Config v3.5 c1.2.qfg +188 -188
  11. quarchpy/config_files/Cable_Modules/QTL1271-xx - Ethernet Module Config v4.000 c1.2.qfg +190 -190
  12. quarchpy/config_files/Cable_Modules/QTL1271-xx - Ethernet Module Config v4.100 c1.3.qfg +189 -189
  13. quarchpy/config_files/Cable_Modules/QTL1292-xx - SFP+ Cable Pull Module Config v4.000 c1.1.qfg +154 -154
  14. quarchpy/config_files/Cable_Modules/QTL1309-04 - USB 3.0 Module Config v4.003 c1.2.qfg +187 -187
  15. quarchpy/config_files/Cable_Modules/QTL1309-xx - USB 3.0 Module Config v3.5 c1.1.qfg +187 -187
  16. quarchpy/config_files/Cable_Modules/QTL1309-xx - USB 3.0 Module Config v4.000 c1.1.qfg +188 -188
  17. quarchpy/config_files/Cable_Modules/QTL1366-xx - QSFP Cable Pull Module Config v4.000 c1.1.qfg +209 -209
  18. quarchpy/config_files/Cable_Modules/QTL1383-xx - eSATAp Module Config v4.000 c1.3.qfg +190 -190
  19. quarchpy/config_files/Cable_Modules/QTL1521-02 - Mini SAS HD Module Config v4.000 c1.1.qfg +210 -210
  20. quarchpy/config_files/Cable_Modules/QTL1521-03 - Mini SAS HD Module Config v4.000 c1.1.qfg +210 -210
  21. quarchpy/config_files/Cable_Modules/QTL1521-05 - Mini SAS HD Module Config v4.005 c1.1.qfg +209 -209
  22. quarchpy/config_files/Cable_Modules/QTL1521-05 - Mini SAS HD Module Config v4.007 c1.2.qfg +209 -209
  23. quarchpy/config_files/Cable_Modules/QTL1521-xx - Mini SAS HD Module Config v4.003 c1.5.qfg +209 -209
  24. quarchpy/config_files/Cable_Modules/QTL1663-xx - Quad QSFP Cable Pull Module Config v4.000 c1.1.qfg +308 -308
  25. quarchpy/config_files/Cable_Modules/QTL1675-05 - Mini SAS HD Module w Triggering Config v4.007 c1.3.qfg +211 -211
  26. quarchpy/config_files/Cable_Modules/QTL1675-xx - Mini SAS HD Module w Triggering Config v4.000 c1.1.qfg +210 -210
  27. quarchpy/config_files/Cable_Modules/QTL1917-xx - Dual SFP+ Cable Pull Module Config v4.000 c1.1.qfg +174 -174
  28. quarchpy/config_files/Cable_Modules/QTL1971-01 - USB TypeC Module Config v4.000 c1.1.qfg +203 -203
  29. quarchpy/config_files/Cable_Modules/QTL1971-02 - USB TypeC Module Config v4.000 c1.1.qfg +203 -203
  30. quarchpy/config_files/Cable_Modules/QTL2022-xx - RJ-45 Cable Module Config v4.104 c1.3.QFG +189 -189
  31. quarchpy/config_files/Cable_Modules/QTL2058-xx - External PCIe Module Config v4.001 c1.1.qfg +209 -209
  32. quarchpy/config_files/Cable_Modules/QTL2138-01 - SFP28 Cable Pull Module Config v4.000 c1.1.qfg +154 -154
  33. quarchpy/config_files/Cable_Modules/QTL2146-01 - Gen4 OCuLink Cable Module Config v4.001 c1.1.qfg +212 -212
  34. quarchpy/config_files/Cable_Modules/QTL2162-01 - 24G mini SAS HD Cable Break Module Config v4.000 c1.qfg +209 -209
  35. quarchpy/config_files/Cable_Modules/QTL2171-01 - QSFP28 Cable Module Config v4.000 c1.qfg +198 -198
  36. quarchpy/config_files/Cable_Modules/QTL2171-02 - QSFP28 Cable Module Config v4.000 c1.qfg +198 -198
  37. quarchpy/config_files/Cable_Modules/QTL2341-01 - Gen4 External PCIe Cable Module v4.000.qfg +209 -209
  38. quarchpy/config_files/Cable_Modules/QTL2602-xx - Multiprotocol Link Breaker.qfg +178 -178
  39. quarchpy/config_files/Cable_Modules/QTL2834-xx - -48V DC Breaker Module v5.000 c1.0.qfg +177 -177
  40. quarchpy/config_files/Card_Modules/QTL1069-xx - SBB 2.0 Module Config v3.5 c1.1.qfg +366 -366
  41. quarchpy/config_files/Card_Modules/QTL1630-01 - PCIe Card Module v4.000 c1.0.qfg +280 -280
  42. quarchpy/config_files/Card_Modules/QTL1630-02 - PCIe Card Module Config v4.004 c1.2.qfg +283 -283
  43. quarchpy/config_files/Card_Modules/QTL1630-02 - PCIe Card Module Config v4.005 c1.2.qfg +283 -283
  44. quarchpy/config_files/Card_Modules/QTL1630-02 - PCIe Card Module Config v4.100 c1.4.qfg +284 -284
  45. quarchpy/config_files/Card_Modules/QTL1630-04 - PCIe Card Module Config v4.001 c1.1.qfg +287 -287
  46. quarchpy/config_files/Card_Modules/QTL1630-04 - PCIe Card Module Config v4.004 c1.2.qfg +287 -287
  47. quarchpy/config_files/Card_Modules/QTL1688-01 - PCIe Card Module w Triggering Config v4.004 c1.2.qfg +284 -284
  48. quarchpy/config_files/Card_Modules/QTL1688-01 - PCIe Card Module w Triggering Config v4.006 c1.3.qfg +285 -285
  49. quarchpy/config_files/Card_Modules/QTL1688-03 - PCIe Card Module w Triggering Config v4.001 c1.1.qfg +286 -286
  50. quarchpy/config_files/Card_Modules/QTL1688-03 - PCIe Card Module w Triggering Config v4.004 c1.2.qfg +288 -288
  51. quarchpy/config_files/Card_Modules/QTL1688-04 - PCIe Card Module w Triggering Config v4.005 c1.5.qfg +288 -288
  52. quarchpy/config_files/Card_Modules/QTL1688-05 - PCIe Card Module w Triggering Config v4.005 c1.qfg +288 -288
  53. quarchpy/config_files/Card_Modules/QTL1848-01 - PCIe Lite Card Module Config v4.000.qfg +122 -122
  54. quarchpy/config_files/Card_Modules/QTL1848-02 - PCIe Lite Card Module Config v4.000.qfg +134 -134
  55. quarchpy/config_files/Card_Modules/QTL1919-01 - PCIe x8 Card Module Config v4.001 c1.4.qfg +247 -247
  56. quarchpy/config_files/Card_Modules/QTL1920-01 - PCIe x8 Card Module w Triggering Config v4.000 c1.3.qfg +247 -247
  57. quarchpy/config_files/Card_Modules/QTL2019-xx - M.2 Horizontal Card Module Config v4.002 c1.1.qfg +219 -219
  58. quarchpy/config_files/Card_Modules/QTL2034-xx - M.2 M-Key Vertical Module Config v4.001 c1.1.qfg +221 -221
  59. quarchpy/config_files/Card_Modules/QTL2067-xx - PCIe SFF Module Config v4.000 c1.1.qfg +248 -248
  60. quarchpy/config_files/Card_Modules/QTL2067-xx - Sanblaze 2 Drive Riser Card Config v4.006 c1.4.qfg +256 -256
  61. quarchpy/config_files/Card_Modules/QTL2067-xx - Sanblaze 2 Drive Riser Card Config v4.007 c1.4.qfg +256 -256
  62. quarchpy/config_files/Card_Modules/QTL2073-01 - GEN3 PCIe Lite Card Module Config v4.001.qfg +134 -134
  63. quarchpy/config_files/Card_Modules/QTL2073-01 - PCIe Lite Card Module Config v4.000.qfg +134 -134
  64. quarchpy/config_files/Card_Modules/QTL2074-01 - GEN3 PCIe HS Card Module v4.005 c1.4.qfg +287 -287
  65. quarchpy/config_files/Card_Modules/QTL2074-01 - PCIe Card Module Config CurrentLimit v4.004 c1.2.qfg +287 -287
  66. quarchpy/config_files/Card_Modules/QTL2087-xx - PCIe GEN4 Card Module w Triggering Config v4.001 c1.1.qfg +287 -287
  67. quarchpy/config_files/Card_Modules/QTL2087-xx - PCIe GEN4 Card Module w Triggering Config v4.001 c1.3.qfg +277 -277
  68. quarchpy/config_files/Card_Modules/QTL2087-xx - PCIe GEN4 Card Module w Triggering Config v5.000 c1.4.qfg +277 -277
  69. quarchpy/config_files/Card_Modules/QTL2094-01 - Sanblaze Dualport Riser Card Config v4.001 c1.1.qfg +223 -223
  70. quarchpy/config_files/Card_Modules/QTL2128-xx - PCIe GEN4 Card Module w Triggering Config v4.000 c1.1.qfg +287 -287
  71. quarchpy/config_files/Card_Modules/QTL2128-xx - PCIe GEN4 Card Module w Triggering Config v4.001 c1.4.qfg +277 -277
  72. quarchpy/config_files/Card_Modules/QTL2135-xx - PCIe GEN4 Card Module w Triggering Config - Inrush Limit v4.001 c1.4.qfg +277 -277
  73. quarchpy/config_files/Card_Modules/QTL2161-01 - EDSFF x8 Module Config v4.000 c1.1.qfg +210 -210
  74. quarchpy/config_files/Card_Modules/QTL2171-xx - EDSFF x8 Module w Triggering Config 4.001 c1.1.qfg +213 -213
  75. quarchpy/config_files/Card_Modules/QTL2203-01 - Sanblaze Dualport Rack Riser Card Config v4.000 c1.1.qfg +218 -218
  76. quarchpy/config_files/Card_Modules/QTL2203-01 - Sanblaze Dualport Rack Riser Card Config v4.005 c1.5.qfg +218 -218
  77. quarchpy/config_files/Card_Modules/QTL2272-01 - GEN4 EDSFF x8 Module Config v4.000 c1.1.qfg +211 -211
  78. quarchpy/config_files/Card_Modules/QTL2282-01 - Sanblaze Singleport Rack Riser Card Config v4.000 c1.1.qfg +212 -212
  79. quarchpy/config_files/Card_Modules/QTL2282-01 - Sanblaze Singleport Rack Riser Card Config v4.002 c1.2.qfg +212 -212
  80. quarchpy/config_files/Card_Modules/QTL2318-01 - SANBlaze U.2 Rack Riser Card Config v4.000 c1.1.qfg +218 -218
  81. quarchpy/config_files/Card_Modules/QTL2322-03 - GEN4 M.2 M-Key Vertical Breaker Module Config v5.001 c1.3.qfg +220 -220
  82. quarchpy/config_files/Card_Modules/QTL2322-xx - GEN4 M.2 M-Key Vertical Breaker Module Config v5.000 c1.1.qfg +208 -208
  83. quarchpy/config_files/Card_Modules/QTL2334-xx - Gen4 EDSFF x4 Card Module Config v4.000 c1.1.qfg +187 -187
  84. quarchpy/config_files/Card_Modules/QTL2351-xx - GEN4 EDSFF x4 Card Module +Triggering Config v4.000 c1.1.qfg +189 -189
  85. quarchpy/config_files/Card_Modules/QTL2351-xx - GEN4 EDSFF x4 Card Module +Triggering Config v4.001 c1.2.qfg +190 -190
  86. quarchpy/config_files/Card_Modules/QTL2357-xx - PCIe GEN5 Card Module Config v5.000 c1.1.qfg +282 -282
  87. quarchpy/config_files/Card_Modules/QTL2358-xx - PCIe GEN5 Card Module w Triggering Config v5.000 c1.1.qfg +283 -283
  88. quarchpy/config_files/Card_Modules/QTL2378-xx - SANBlaze U.3 Rack Riser Card Config v4.000 c1.1.qfg +215 -215
  89. quarchpy/config_files/Card_Modules/QTL2378-xx - SANBlaze U.3 Rack Riser Card Config v4.001 c1.2.qfg +217 -217
  90. quarchpy/config_files/Card_Modules/QTL2395-01 - GEN4 M.2 M-Key Vertical Breaker Module w Triggering Config v5.000 c1.1.qfg +208 -208
  91. quarchpy/config_files/Card_Modules/QTL2395-02 - GEN4 M.2 M-Key Vertical Breaker Module w Triggering Config v5.001 c1.3.qfg +220 -220
  92. quarchpy/config_files/Card_Modules/QTL2395-03 - GEN4 M.2 M-Key Vertical Breaker Module w Triggering Config v5.001 c1.3.qfg +220 -220
  93. quarchpy/config_files/Card_Modules/QTL2396-xx - PCIe GEN5 Card Module w inrush Config v5.000 c1.1.qfg +282 -282
  94. quarchpy/config_files/Card_Modules/QTL2403-xx - Gen4 PCIe Lite Module Config v4.000.qfg +135 -135
  95. quarchpy/config_files/Card_Modules/QTL2515-xx - PCIe GEN4 Card Module w Triggering - Inrush Limit Config v4.001 c1.3.qfg +277 -277
  96. quarchpy/config_files/Card_Modules/QTL2652-xx - Gen5 PCIe Lite Module Config v4.000.qfg +130 -130
  97. quarchpy/config_files/Card_Modules/QTL2652-xx - Gen5 PCIe Lite Module Config v4.003.qfg +137 -137
  98. quarchpy/config_files/Card_Modules/QTL2658-xx - Gen5 PCIe Lite Module w Inrush Config v4.000.qfg +130 -130
  99. quarchpy/config_files/Card_Modules/QTL2661-xx - GEN5 PCIe U.3 Breaker Config w Triggering v5.000 c1.1.qfg +229 -229
  100. quarchpy/config_files/Card_Modules/QTL2662-xx - GEN5 PCIe U.3 Breaker Config v5.000 c1.1.qfg +228 -228
  101. quarchpy/config_files/Card_Modules/QTL2686-xx - Gen5 EDSFF E3 x4 Breaker Config v5.000.qfg +230 -230
  102. quarchpy/config_files/Card_Modules/QTL2686-xx - Gen5 EDSFF E3 x4 Breaker Config v5.001 c1.2.qfg +233 -233
  103. quarchpy/config_files/Card_Modules/QTL2686-xx - Gen5 EDSFF E3 x4 Breaker v5.000 c1.1.qfg +230 -230
  104. quarchpy/config_files/Card_Modules/QTL2692-xx - Gen5 EDSFF E3 x4 Breaker +Triggering Config v5.000.qfg +230 -230
  105. quarchpy/config_files/Card_Modules/QTL2692-xx - Gen5 EDSFF E3 x4 Breaker w Triggering Config v5.001 c1.2.qfg +233 -233
  106. quarchpy/config_files/Card_Modules/QTL2692-xx - Gen5 EDSFF E3 x4 Breaker w Triggering v5.000 c1.1.qfg +230 -230
  107. quarchpy/config_files/Card_Modules/QTL2766-xx - GEN4 EDSFF E1 x8 Breaker Config v5.000.qfg +253 -253
  108. quarchpy/config_files/Card_Modules/QTL2767-xx - GEN4 EDSFF E3 x8 Breaker Config v5.000.qfg +253 -253
  109. quarchpy/config_files/Card_Modules/QTL2768-xx - GEN4 EDSFF E3 2T x8 Breaker Config v5.000.qfg +253 -253
  110. quarchpy/config_files/Card_Modules/QTL2776-xx - GEN4 EDSFF E1 x8 Breaker +Triggering Config v5.000.qfg +253 -253
  111. quarchpy/config_files/Card_Modules/QTL2777-xx - GEN4 EDSFF E3 x8 Breaker +Triggering Config v5.000.qfg +253 -253
  112. quarchpy/config_files/Card_Modules/QTL2778-xx - GEN4 EDSFF E3 2T x8 Breaker +Triggering Config v5.000.qfg +253 -253
  113. quarchpy/config_files/Card_Modules/QTL2798-xx - PCIe GEN5 Card Module w Triggering w Inrush Limit Config v5.000 c1.1.qfg +283 -283
  114. quarchpy/config_files/Card_Modules/QTL2804-xx - GEN5 MCIO x4 to U.2 Breaker Config v5.000 c1.1.qfg +234 -234
  115. quarchpy/config_files/Card_Modules/QTL2805-xx - GEN5 MCIO x4 to U.2 Breaker + Triggering Config v5.000 c1.1.qfg +234 -234
  116. quarchpy/config_files/Card_Modules/QTL2814-xx - GEN5 AIC to U.2 Breaker + Triggering Config v5.000 c1.1 .qfg +233 -233
  117. quarchpy/config_files/Card_Modules/QTL2892-xx - GEN5 EDSFF E1 x4 Breaker.qfg +233 -233
  118. quarchpy/config_files/Card_Modules/QTL2925-xx - GEN5 EDSFF E1 x4 Breaker +Triggering.qfg +233 -233
  119. quarchpy/config_files/Drive_Modules/QTL1177-xx - HS Module Config v3.5 c1.5.qfg +198 -198
  120. quarchpy/config_files/Drive_Modules/QTL1177-xx - HS Module Config v4.000 c1.5.qfg +200 -200
  121. quarchpy/config_files/Drive_Modules/QTL1177-xx - HS Module Config v4.006 c1.8.qfg +199 -199
  122. quarchpy/config_files/Drive_Modules/QTL1215-xx - Lite Module Config v3.50.qfg +118 -118
  123. quarchpy/config_files/Drive_Modules/QTL1215-xx - Lite Module Config v4.000.qfg +118 -118
  124. quarchpy/config_files/Drive_Modules/QTL1301-xx - HS Lite Module Config v3.50.qfg +129 -129
  125. quarchpy/config_files/Drive_Modules/QTL1301-xx - HS Lite Module Config v4.000.qfg +129 -129
  126. quarchpy/config_files/Drive_Modules/QTL1429-01 - EMC HS Lite Module Config v4.000.qfg +129 -129
  127. quarchpy/config_files/Drive_Modules/QTL1429-02 - EMC HS Lite Module Config v4.002.qfg +120 -120
  128. quarchpy/config_files/Drive_Modules/QTL1623-03 - 12G HS Lite Module Config v4.001.qfg +128 -128
  129. quarchpy/config_files/Drive_Modules/QTL1623-04 - 12G HS Lite Module Config v4.001.qfg +128 -128
  130. quarchpy/config_files/Drive_Modules/QTL1680-xx - SCA2 Lite Module Config v4.001.qfg +135 -135
  131. quarchpy/config_files/Drive_Modules/QTL1689-01 - 12G HS Module Config v4.001 c1.1.qfg +199 -199
  132. quarchpy/config_files/Drive_Modules/QTL1689-04 - 12G HS Module Config v4.002 c1.1.qfg +196 -196
  133. quarchpy/config_files/Drive_Modules/QTL1689-05 - 12G HS Module Config v4.002 c1.1.qfg +196 -196
  134. quarchpy/config_files/Drive_Modules/QTL1743-02 - PCIe SFF Module Config v4.003 c1.3.qfg +222 -222
  135. quarchpy/config_files/Drive_Modules/QTL1743-02 - PCIe SFF Module Config v4.006 c1.4.qfg +213 -213
  136. quarchpy/config_files/Drive_Modules/QTL1743-xx - PCIe SFF Module Config v4.000 c1.1.qfg +221 -221
  137. quarchpy/config_files/Drive_Modules/QTL1753-xx - 12G Lite Module Config v4.000.qfg +116 -116
  138. quarchpy/config_files/Drive_Modules/QTL1921-01 - EMC 12G HS Lite Module Config v4.000.qfg +120 -120
  139. quarchpy/config_files/Drive_Modules/QTL2207-01 - GEN 4 PCIe U.2 Drive Module.qfg +217 -217
  140. quarchpy/config_files/Drive_Modules/QTL2207-02 - GEN 4 PCIe U.2 Drive Module v5.000.qfg +220 -220
  141. quarchpy/config_files/Drive_Modules/QTL2207-03 - GEN 4 PCIe SFF HS Drive Module Triggering v5.001.qfg +221 -221
  142. quarchpy/config_files/Drive_Modules/QTL2207-xx - GEN 4 PCIe U.2 Drive Module v4.001.qfg +219 -219
  143. quarchpy/config_files/Drive_Modules/QTL2207-xx - GEN 4 PCIe U.2 Drive Module.qfg +219 -219
  144. quarchpy/config_files/Drive_Modules/QTL2245-01 - GEN 4 PCIe U.3 HS Drive Module v4.000.qfg +223 -223
  145. quarchpy/config_files/Drive_Modules/QTL2245-xx - GEN 4 PCIe U.3 HS Drive Module.qfg +229 -229
  146. quarchpy/config_files/Drive_Modules/QTL2266-01 - GEN 4 PCIe SFF HS Drive Module Triggering.qfg +219 -219
  147. quarchpy/config_files/Drive_Modules/QTL2266-02 - GEN 4 PCIe SFF HS Drive Module Triggering v4.002.qfg +220 -220
  148. quarchpy/config_files/Drive_Modules/QTL2266-03 - GEN 4 PCIe SFF HS Drive Module Triggering v5.001.qfg +221 -221
  149. quarchpy/config_files/Drive_Modules/QTL2266-XX - GEN 4 PCIe SFF HS Drive Module Triggering.qfg +219 -219
  150. quarchpy/config_files/Drive_Modules/QTL2270-01 - GEN 4 PCIe U.3 HS Drive Module Triggering v4.000.qfg +225 -225
  151. quarchpy/config_files/Drive_Modules/QTL2270-xx - GEN 4 PCIe U.3 HS Drive Module Triggering.qfg +230 -230
  152. quarchpy/config_files/Drive_Modules/QTL2542-02 - 24G SAS Drive Breaker Module v5.001.qfg +194 -194
  153. quarchpy/config_files/Drive_Modules/QTL2542-xx - 24G SAS Drive Breaker v5.000 c1.1.qfg +194 -194
  154. quarchpy/config_files/Drive_Modules/QTL2543-xx - 24G SAS Drive Breaker +Triggering v5.000 c1.1.qfg +195 -195
  155. quarchpy/config_files/Drive_Modules/QTL2602-xx - Multiprotocol Link Breaker.qfg +178 -178
  156. quarchpy/config_files/Drive_Modules/QTL2645-xx - Gen5 PCIe U.2 Drive Module v5.000.qfg +227 -227
  157. quarchpy/config_files/Drive_Modules/QTL2645-xx - Gen5 PCIe U.2 Drive Module v5.001.qfg +227 -227
  158. quarchpy/config_files/Drive_Modules/QTL2645-xx - Gen5 PCIe U.2 Drive Module v5.003.qfg +227 -227
  159. quarchpy/config_files/Drive_Modules/QTL2645-xx - Gen5 PCIe U.2 Drive Module v5.007.qfg +229 -229
  160. quarchpy/config_files/Drive_Modules/QTL2651-xx - Gen5 PCIe U.2 Drive Module + Triggering v5.000.qfg +228 -228
  161. quarchpy/config_files/Drive_Modules/QTL2651-xx - Gen5 PCIe U.2 Drive Module + Triggering v5.001.qfg +228 -228
  162. quarchpy/config_files/Drive_Modules/QTL2651-xx - Gen5 PCIe U.2 Drive Module + Triggering v5.003.qfg +228 -228
  163. quarchpy/config_files/Drive_Modules/QTL2651-xx - Gen5 PCIe U.2 Drive Module v5.007.qfg +230 -230
  164. quarchpy/config_files/Drive_Modules/QTL2661-xx - Gen5 U.3 Drive Module + Triggering v5.000.qfg +229 -229
  165. quarchpy/config_files/Drive_Modules/QTL2662-xx - Gen5 PCIe U.3 Drive Module v5.000.qfg +228 -228
  166. quarchpy/config_files/Drive_Modules/QTL2757-xx - Gen5 SFF Lite Breaker Module Config v4.000.qfg +140 -140
  167. quarchpy/config_files/Drive_Modules/QTL2804-xx - Gen5 MCIO to U.2 Breaker +Triggering v5.003.qfg +253 -253
  168. quarchpy/config_files/Drive_Modules/QTL2804-xx - Gen5 MCIO to U.2 Breaker v5.001.qfg +234 -234
  169. quarchpy/config_files/Drive_Modules/QTL2805-xx - Gen5 MCIO to U.2 Breaker +Triggering v5.001.qfg +234 -234
  170. quarchpy/config_files/Drive_Modules/QTL2805-xx - Gen5 MCIO to U.2 Breaker +Triggering v5.002.qfg +253 -253
  171. quarchpy/config_files/Drive_Modules/QTL2805-xx - Gen5 MCIO to U.2 Breaker +Triggering v5.003.qfg +253 -253
  172. quarchpy/config_files/Drive_Modules/QTL2813-xx - Gen5 AIC to U.2 Breaker v5.001 c1.2.qfg +230 -230
  173. quarchpy/config_files/Drive_Modules/QTL2813-xx - Gen5 AIC to U.2 Breaker with Triggering v5.002 c1.3.qfg +253 -253
  174. quarchpy/config_files/Drive_Modules/QTL2814-xx - Gen5 AIC to U.2 Breaker with Triggering v5.001 c1.2.qfg +230 -230
  175. quarchpy/config_files/Drive_Modules/QTL2814-xx - Gen5 AIC to U.2 Breaker with Triggering v5.002 c1.3.qfg +253 -253
  176. quarchpy/config_files/Drive_Modules/QTL2892-xx - Gen5 EDSFF E1 x4 Breaker v5.001.qfg +233 -233
  177. quarchpy/config_files/Drive_Modules/Standard Drive Module Config v3.5 c1.1.qfg +171 -171
  178. quarchpy/config_files/Power_Margining/HD/QTL1944-xx - HD Power Module v5.000.qfg +123 -123
  179. quarchpy/config_files/Power_Margining/HD/QTL1944-xx - HD Power Module v5.003.qfg +124 -124
  180. quarchpy/config_files/Power_Margining/HD/QTL1995-xx - x6 HD Power Module v5.002.qfg +122 -122
  181. quarchpy/config_files/Power_Margining/HD/QTL1995-xx - x6 HD Power Module v5.003.qfg +123 -123
  182. quarchpy/config_files/Power_Margining/HD/QTL1999-xx - Single HD Power Module v5.002.qfg +122 -122
  183. quarchpy/config_files/Power_Margining/HD/QTL1999-xx - Single HD Power Module v5.003.qfg +123 -123
  184. quarchpy/config_files/Power_Margining/HD/QTL1999-xx - Single HD Power Module v6.000.qfg +124 -124
  185. quarchpy/config_files/Power_Margining/PPM/QTL1455-02 - Power Margining Module v4.101.qfg +78 -78
  186. quarchpy/config_files/Power_Margining/PPM/QTL1455-02 - Power Margining Module v4.200.qfg +80 -80
  187. quarchpy/config_files/Power_Margining/PPM/QTL1455-02 - Power Margining Module v4.201.qfg +82 -82
  188. quarchpy/config_files/Power_Margining/PPM/QTL1455-02 - Test Power Margining Module v4.004.qfg +73 -73
  189. quarchpy/config_files/Power_Margining/PPM/QTL1658-01 - Power Margining Module w. Triggering v4.101.qfg +78 -78
  190. quarchpy/config_files/Power_Margining/PPM/QTL1658-01 - Power Margining Module w. Triggering v4.200.qfg +80 -80
  191. quarchpy/config_files/Power_Margining/PPM/QTL1658-01 - Power Margining Module w. Triggering v4.201.qfg +82 -82
  192. quarchpy/config_files/Power_Margining/PPM/QTL1727-01 - 3v3 Power Margining Module w. Triggering v4.105.qfg +78 -78
  193. quarchpy/config_files/Power_Margining/PPM/QTL1727-01 - 3v3 Power Margining Module w. Triggering v4.200.qfg +80 -80
  194. quarchpy/config_files/Power_Margining/PPM/QTL1727-01 - 3v3 Power Margining Module w. Triggering v4.201.qfg +82 -82
  195. quarchpy/config_files/Power_Margining/PPM/QTL1730-01 - 3v3 Power Margining Module v4.105.qfg +78 -78
  196. quarchpy/config_files/Power_Margining/PPM/QTL1730-01 - 3v3 Power Margining Module v4.200.qfg +80 -80
  197. quarchpy/config_files/Power_Margining/PPM/QTL1730-01 - 3v3 Power Margining Module v4.201.qfg +82 -82
  198. quarchpy/config_files/Power_Margining/XLC/QTL1824-01 - Power Margining Module V2 - Triggering v4.000.qfg +80 -80
  199. quarchpy/config_files/Power_Margining/XLC/QTL1824-01 - Power Margining Module V2 - Triggering v4.200.qfg +81 -81
  200. quarchpy/config_files/Power_Margining/XLC/QTL1824-01 - Power Margining Module V2 - Triggering v4.202.qfg +87 -87
  201. quarchpy/config_files/Power_Margining/XLC/QTL1824-01 - Power Margining Module V2 - Triggering v4.210.qfg +88 -88
  202. quarchpy/config_files/Power_Margining/XLC/QTL1824-01 - Power Margining Module V2 - Triggering v4.211.qfg +121 -121
  203. quarchpy/config_files/Power_Margining/XLC/QTL1824-03 - Power Margining Module V2 - Triggering v4.213.qfg +121 -121
  204. quarchpy/config_files/Power_Margining/XLC/QTL1847-01 - Power Margining Module V2 v4.213.qfg +121 -121
  205. quarchpy/config_files/Switch_Modules/QTL1390-xx - 4-8 SATA MUX Module Config v4.002.qfg +186 -186
  206. quarchpy/config_files/Switch_Modules/QTL1443-xx - 1-8 USB3 MUX Module Config v4.002.qfg +147 -147
  207. quarchpy/config_files/Switch_Modules/QTL1443-xx - 1-8 USB3 MUX Module Config v4.003.qfg +147 -147
  208. quarchpy/config_files/Switch_Modules/QTL1443-xx - 1-8 USB3 MUX Module Config v4.100.qfg +147 -147
  209. quarchpy/config_files/Switch_Modules/QTL1449-xx - 1-8 PCIe MUX Module Config v4.000.qfg +145 -145
  210. quarchpy/config_files/Switch_Modules/QTL1490-xx - SATA Keyed HS Module Config v4.003 c1.6.qfg +194 -194
  211. quarchpy/config_files/Switch_Modules/QTL1490-xx - SATA Keyed HS Module Config v4.006 c1.8.qfg +193 -193
  212. quarchpy/config_files/Switch_Modules/QTL1530-xx - 1-8 DP MUX Module Config v4.000.qfg +145 -145
  213. quarchpy/config_files/Switch_Modules/QTL1564-xx - 12 Port Mini SAS HD MUX Module Config v4.000.qfg +184 -184
  214. quarchpy/config_files/Switch_Modules/QTL1584-xx - 1-4 ExpressCard MUX Module Config v4.000.qfg +81 -81
  215. quarchpy/config_files/__pycache__/__init__.cpython-310.pyc +0 -0
  216. quarchpy/config_files/__pycache__/quarch_config_parser.cpython-310.pyc +0 -0
  217. quarchpy/connection_specific/QPS/win-amd64/3rdPartyLicenses/Material-Icons-license.txt +51 -51
  218. quarchpy/connection_specific/QPS/win-amd64/3rdPartyLicenses/argparse4j-LICENSE.txt +23 -23
  219. quarchpy/connection_specific/QPS/win-amd64/3rdPartyLicenses/com.sun.istack-license.html +59 -59
  220. quarchpy/connection_specific/QPS/win-amd64/3rdPartyLicenses/commons-io-LICENSE-2.0.txt +202 -202
  221. quarchpy/connection_specific/QPS/win-amd64/3rdPartyLicenses/controlsfx-license.txt +28 -28
  222. quarchpy/connection_specific/QPS/win-amd64/3rdPartyLicenses/jakarta.activation-license.html +59 -59
  223. quarchpy/connection_specific/QPS/win-amd64/3rdPartyLicenses/jakarta.xml.bind-api-license.html +59 -59
  224. quarchpy/connection_specific/QPS/win-amd64/3rdPartyLicenses/netty-LICENSE.txt +202 -202
  225. quarchpy/connection_specific/QPS/win-amd64/3rdPartyLicenses/netty-NOTICE.txt +239 -239
  226. quarchpy/connection_specific/QPS/win-amd64/app.properties +6 -6
  227. quarchpy/connection_specific/QPS/win-amd64/qis/3rdPartyLicenses/com.sun.istack-license.html +59 -59
  228. quarchpy/connection_specific/QPS/win-amd64/qis/3rdPartyLicenses/dorkbox-LICENSE.Apachev2 +217 -217
  229. quarchpy/connection_specific/QPS/win-amd64/qis/3rdPartyLicenses/jSerialComm-LICENSE-APACHE-2.0 +202 -202
  230. quarchpy/connection_specific/QPS/win-amd64/qis/3rdPartyLicenses/jSerialComm-LICENSE-LGPL-3.0 +165 -165
  231. quarchpy/connection_specific/QPS/win-amd64/qis/3rdPartyLicenses/jakarta.activation-license.html +59 -59
  232. quarchpy/connection_specific/QPS/win-amd64/qis/3rdPartyLicenses/jakarta.xml.bind-api-license.html +59 -59
  233. quarchpy/connection_specific/QPS/win-amd64/qis/3rdPartyLicenses/javassist-License.html +381 -381
  234. quarchpy/connection_specific/QPS/win-amd64/qis/3rdPartyLicenses/jmdns-LICENSE.txt +202 -202
  235. quarchpy/connection_specific/QPS/win-amd64/qis/3rdPartyLicenses/jna-AL2.0 +177 -177
  236. quarchpy/connection_specific/QPS/win-amd64/qis/3rdPartyLicenses/kotlin-stdlib-LICENSE-2.0.txt +202 -202
  237. quarchpy/connection_specific/QPS/win-amd64/qis/3rdPartyLicenses/netty-LICENSE.txt +202 -202
  238. quarchpy/connection_specific/QPS/win-amd64/qis/3rdPartyLicenses/netty-NOTICE.txt +239 -239
  239. quarchpy/connection_specific/QPS/win-amd64/qis/3rdPartyLicenses/slf4j-LICENSE.txt +24 -24
  240. quarchpy/connection_specific/QPS/win-amd64/qis/3rdPartyLicenses/usb4java-LICENSE.md +19 -19
  241. quarchpy/connection_specific/__pycache__/StreamChannels.cpython-310.pyc +0 -0
  242. quarchpy/connection_specific/__pycache__/__init__.cpython-310.pyc +0 -0
  243. quarchpy/connection_specific/__pycache__/connection_QIS.cpython-310.pyc +0 -0
  244. quarchpy/connection_specific/__pycache__/connection_QPS.cpython-310.pyc +0 -0
  245. quarchpy/connection_specific/__pycache__/connection_ReST.cpython-310.pyc +0 -0
  246. quarchpy/connection_specific/__pycache__/connection_Serial.cpython-310.pyc +0 -0
  247. quarchpy/connection_specific/__pycache__/connection_TCP.cpython-310.pyc +0 -0
  248. quarchpy/connection_specific/__pycache__/connection_USB.cpython-310.pyc +0 -0
  249. quarchpy/connection_specific/__pycache__/mDNS.cpython-310.pyc +0 -0
  250. quarchpy/connection_specific/connection_QPS.py +4 -4
  251. quarchpy/connection_specific/jdk_jres/__pycache__/__init__.cpython-310.pyc +0 -0
  252. quarchpy/connection_specific/jdk_jres/__pycache__/fix_permissions.cpython-310.pyc +0 -0
  253. quarchpy/connection_specific/jdk_jres/fix_permissions.py +69 -69
  254. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/conf/jaxp-strict.properties.template +123 -123
  255. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/conf/jaxp.properties +200 -200
  256. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/conf/logging.properties +63 -63
  257. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/conf/management/jmxremote.access +79 -79
  258. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/conf/management/jmxremote.password.template +114 -114
  259. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/conf/management/management.properties +326 -326
  260. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/conf/net.properties +162 -162
  261. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/conf/sdp/sdp.conf.template +30 -30
  262. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/conf/security/java.security +1517 -1517
  263. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/conf/security/policy/README.txt +54 -54
  264. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/conf/security/policy/limited/default_US_export.policy +6 -6
  265. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/conf/security/policy/limited/default_local.policy +14 -14
  266. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/conf/security/policy/limited/exempt_local.policy +13 -13
  267. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/conf/security/policy/unlimited/default_US_export.policy +6 -6
  268. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/conf/security/policy/unlimited/default_local.policy +6 -6
  269. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/conf/sound.properties +39 -39
  270. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.base/ADDITIONAL_LICENSE_INFO +37 -37
  271. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.base/ASSEMBLY_EXCEPTION +27 -27
  272. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.base/LICENSE +347 -347
  273. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.base/aes.md +36 -36
  274. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.base/asm.md +36 -36
  275. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.base/c-libutl.md +35 -35
  276. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.base/cldr.md +100 -100
  277. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.base/icu.md +93 -93
  278. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.base/public_suffix.md +399 -399
  279. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.base/siphash.md +150 -150
  280. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.base/unicode.md +269 -269
  281. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.compiler/ADDITIONAL_LICENSE_INFO +37 -37
  282. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.compiler/ASSEMBLY_EXCEPTION +27 -27
  283. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.compiler/LICENSE +347 -347
  284. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.datatransfer/ADDITIONAL_LICENSE_INFO +37 -37
  285. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.datatransfer/ASSEMBLY_EXCEPTION +27 -27
  286. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.datatransfer/LICENSE +347 -347
  287. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.desktop/ADDITIONAL_LICENSE_INFO +37 -37
  288. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.desktop/ASSEMBLY_EXCEPTION +27 -27
  289. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.desktop/LICENSE +347 -347
  290. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.desktop/colorimaging.md +7 -7
  291. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.desktop/freetype.md +649 -649
  292. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.desktop/giflib.md +46 -46
  293. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.desktop/harfbuzz.md +103 -103
  294. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.desktop/jpeg.md +77 -77
  295. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.desktop/lcms.md +103 -103
  296. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.desktop/libpng.md +215 -215
  297. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.desktop/mesa3d.md +134 -134
  298. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.desktop/pipewire.md +41 -41
  299. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.desktop/xwd.md +34 -34
  300. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.instrument/ADDITIONAL_LICENSE_INFO +37 -37
  301. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.instrument/ASSEMBLY_EXCEPTION +27 -27
  302. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.instrument/LICENSE +347 -347
  303. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.logging/ADDITIONAL_LICENSE_INFO +37 -37
  304. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.logging/ASSEMBLY_EXCEPTION +27 -27
  305. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.logging/LICENSE +347 -347
  306. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.management/ADDITIONAL_LICENSE_INFO +37 -37
  307. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.management/ASSEMBLY_EXCEPTION +27 -27
  308. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.management/LICENSE +347 -347
  309. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.management.rmi/ADDITIONAL_LICENSE_INFO +37 -37
  310. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.management.rmi/ASSEMBLY_EXCEPTION +27 -27
  311. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.management.rmi/LICENSE +347 -347
  312. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.naming/ADDITIONAL_LICENSE_INFO +37 -37
  313. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.naming/ASSEMBLY_EXCEPTION +27 -27
  314. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.naming/LICENSE +347 -347
  315. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.net.http/ADDITIONAL_LICENSE_INFO +37 -37
  316. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.net.http/ASSEMBLY_EXCEPTION +27 -27
  317. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.net.http/LICENSE +347 -347
  318. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.prefs/ADDITIONAL_LICENSE_INFO +37 -37
  319. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.prefs/ASSEMBLY_EXCEPTION +27 -27
  320. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.prefs/LICENSE +347 -347
  321. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.rmi/ADDITIONAL_LICENSE_INFO +37 -37
  322. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.rmi/ASSEMBLY_EXCEPTION +27 -27
  323. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.rmi/LICENSE +347 -347
  324. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.scripting/ADDITIONAL_LICENSE_INFO +37 -37
  325. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.scripting/ASSEMBLY_EXCEPTION +27 -27
  326. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.scripting/LICENSE +347 -347
  327. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.se/ADDITIONAL_LICENSE_INFO +37 -37
  328. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.se/ASSEMBLY_EXCEPTION +27 -27
  329. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.se/LICENSE +347 -347
  330. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.security.jgss/ADDITIONAL_LICENSE_INFO +37 -37
  331. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.security.jgss/ASSEMBLY_EXCEPTION +27 -27
  332. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.security.jgss/LICENSE +347 -347
  333. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.security.sasl/ADDITIONAL_LICENSE_INFO +37 -37
  334. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.security.sasl/ASSEMBLY_EXCEPTION +27 -27
  335. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.security.sasl/LICENSE +347 -347
  336. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.smartcardio/ADDITIONAL_LICENSE_INFO +37 -37
  337. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.smartcardio/ASSEMBLY_EXCEPTION +27 -27
  338. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.smartcardio/LICENSE +347 -347
  339. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.smartcardio/pcsclite.md +57 -57
  340. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.sql/ADDITIONAL_LICENSE_INFO +37 -37
  341. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.sql/ASSEMBLY_EXCEPTION +27 -27
  342. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.sql/LICENSE +347 -347
  343. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.sql.rowset/ADDITIONAL_LICENSE_INFO +37 -37
  344. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.sql.rowset/ASSEMBLY_EXCEPTION +27 -27
  345. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.sql.rowset/LICENSE +347 -347
  346. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.transaction.xa/ADDITIONAL_LICENSE_INFO +37 -37
  347. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.transaction.xa/ASSEMBLY_EXCEPTION +27 -27
  348. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.transaction.xa/LICENSE +347 -347
  349. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.xml/ADDITIONAL_LICENSE_INFO +37 -37
  350. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.xml/ASSEMBLY_EXCEPTION +27 -27
  351. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.xml/LICENSE +347 -347
  352. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.xml/bcel.md +219 -219
  353. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.xml/dom.md +77 -77
  354. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.xml/jcup.md +31 -31
  355. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.xml/schema10part1.md +51 -51
  356. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.xml/schema10part2.md +50 -50
  357. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.xml/xalan.md +255 -255
  358. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.xml/xerces.md +229 -229
  359. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.xml/xhtml10.md +57 -57
  360. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.xml/xhtml10schema.md +150 -150
  361. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.xml/xhtml11.md +68 -68
  362. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.xml/xhtml11schema.md +60 -60
  363. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.xml/xmlspec.md +63 -63
  364. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.xml/xmlxsd.md +43 -43
  365. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.xml.crypto/ADDITIONAL_LICENSE_INFO +37 -37
  366. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.xml.crypto/ASSEMBLY_EXCEPTION +27 -27
  367. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.xml.crypto/LICENSE +347 -347
  368. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/java.xml.crypto/santuario.md +227 -227
  369. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.accessibility/ADDITIONAL_LICENSE_INFO +37 -37
  370. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.accessibility/ASSEMBLY_EXCEPTION +27 -27
  371. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.accessibility/LICENSE +347 -347
  372. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.charsets/ADDITIONAL_LICENSE_INFO +37 -37
  373. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.charsets/ASSEMBLY_EXCEPTION +27 -27
  374. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.charsets/LICENSE +347 -347
  375. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.crypto.cryptoki/ADDITIONAL_LICENSE_INFO +37 -37
  376. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.crypto.cryptoki/ASSEMBLY_EXCEPTION +27 -27
  377. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.crypto.cryptoki/LICENSE +347 -347
  378. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.crypto.cryptoki/pkcs11cryptotoken.md +76 -76
  379. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.crypto.cryptoki/pkcs11wrapper.md +46 -46
  380. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.crypto.ec/ADDITIONAL_LICENSE_INFO +37 -37
  381. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.crypto.ec/ASSEMBLY_EXCEPTION +27 -27
  382. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.crypto.ec/LICENSE +347 -347
  383. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.dynalink/ADDITIONAL_LICENSE_INFO +37 -37
  384. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.dynalink/ASSEMBLY_EXCEPTION +27 -27
  385. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.dynalink/LICENSE +347 -347
  386. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.dynalink/dynalink.md +32 -32
  387. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.httpserver/ADDITIONAL_LICENSE_INFO +37 -37
  388. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.httpserver/ASSEMBLY_EXCEPTION +27 -27
  389. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.httpserver/LICENSE +347 -347
  390. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.incubator.vector/ADDITIONAL_LICENSE_INFO +37 -37
  391. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.incubator.vector/ASSEMBLY_EXCEPTION +27 -27
  392. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.incubator.vector/LICENSE +347 -347
  393. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.incubator.vector/sleef.md +439 -439
  394. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.internal.vm.ci/ADDITIONAL_LICENSE_INFO +37 -37
  395. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.internal.vm.ci/ASSEMBLY_EXCEPTION +27 -27
  396. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.internal.vm.ci/LICENSE +347 -347
  397. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.jdwp.agent/ADDITIONAL_LICENSE_INFO +37 -37
  398. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.jdwp.agent/ASSEMBLY_EXCEPTION +27 -27
  399. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.jdwp.agent/LICENSE +347 -347
  400. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.jfr/ADDITIONAL_LICENSE_INFO +37 -37
  401. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.jfr/ASSEMBLY_EXCEPTION +27 -27
  402. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.jfr/LICENSE +347 -347
  403. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.jsobject/ADDITIONAL_LICENSE_INFO +37 -37
  404. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.jsobject/ASSEMBLY_EXCEPTION +27 -27
  405. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.jsobject/LICENSE +347 -347
  406. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.localedata/ADDITIONAL_LICENSE_INFO +37 -37
  407. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.localedata/ASSEMBLY_EXCEPTION +27 -27
  408. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.localedata/LICENSE +347 -347
  409. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.localedata/cldr.md +100 -100
  410. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.localedata/thaidict.md +31 -31
  411. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.management/ADDITIONAL_LICENSE_INFO +37 -37
  412. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.management/ASSEMBLY_EXCEPTION +27 -27
  413. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.management/LICENSE +347 -347
  414. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.management.agent/ADDITIONAL_LICENSE_INFO +37 -37
  415. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.management.agent/ASSEMBLY_EXCEPTION +27 -27
  416. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.management.agent/LICENSE +347 -347
  417. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.management.jfr/ADDITIONAL_LICENSE_INFO +37 -37
  418. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.management.jfr/ASSEMBLY_EXCEPTION +27 -27
  419. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.management.jfr/LICENSE +347 -347
  420. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.naming.dns/ADDITIONAL_LICENSE_INFO +37 -37
  421. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.naming.dns/ASSEMBLY_EXCEPTION +27 -27
  422. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.naming.dns/LICENSE +347 -347
  423. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.naming.rmi/ADDITIONAL_LICENSE_INFO +37 -37
  424. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.naming.rmi/ASSEMBLY_EXCEPTION +27 -27
  425. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.naming.rmi/LICENSE +347 -347
  426. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.net/ADDITIONAL_LICENSE_INFO +37 -37
  427. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.net/ASSEMBLY_EXCEPTION +27 -27
  428. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.net/LICENSE +347 -347
  429. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.nio.mapmode/ADDITIONAL_LICENSE_INFO +37 -37
  430. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.nio.mapmode/ASSEMBLY_EXCEPTION +27 -27
  431. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.nio.mapmode/LICENSE +347 -347
  432. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.sctp/ADDITIONAL_LICENSE_INFO +37 -37
  433. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.sctp/ASSEMBLY_EXCEPTION +27 -27
  434. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.sctp/LICENSE +347 -347
  435. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.security.auth/ADDITIONAL_LICENSE_INFO +37 -37
  436. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.security.auth/ASSEMBLY_EXCEPTION +27 -27
  437. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.security.auth/LICENSE +347 -347
  438. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.security.jgss/ADDITIONAL_LICENSE_INFO +37 -37
  439. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.security.jgss/ASSEMBLY_EXCEPTION +27 -27
  440. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.security.jgss/LICENSE +347 -347
  441. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.unsupported/ADDITIONAL_LICENSE_INFO +37 -37
  442. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.unsupported/ASSEMBLY_EXCEPTION +27 -27
  443. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.unsupported/LICENSE +347 -347
  444. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.unsupported.desktop/ADDITIONAL_LICENSE_INFO +37 -37
  445. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.unsupported.desktop/ASSEMBLY_EXCEPTION +27 -27
  446. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.unsupported.desktop/LICENSE +347 -347
  447. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.xml.dom/ADDITIONAL_LICENSE_INFO +37 -37
  448. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.xml.dom/ASSEMBLY_EXCEPTION +27 -27
  449. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.xml.dom/LICENSE +347 -347
  450. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.zipfs/ADDITIONAL_LICENSE_INFO +37 -37
  451. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.zipfs/ASSEMBLY_EXCEPTION +27 -27
  452. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/legal/jdk.zipfs/LICENSE +347 -347
  453. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/lib/classlist +1587 -1587
  454. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/lib/jfr/default.jfc +1152 -1152
  455. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/lib/jfr/profile.jfc +1151 -1151
  456. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/lib/jvm.cfg +2 -2
  457. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/lib/psfont.properties.ja +119 -119
  458. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/lib/psfontj2d.properties +323 -323
  459. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/lib/security/blocked.certs +39 -39
  460. quarchpy/connection_specific/jdk_jres/lin_amd64_jdk_jre/release +2 -2
  461. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/conf/jaxp-strict.properties.template +123 -123
  462. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/conf/jaxp.properties +200 -200
  463. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/conf/logging.properties +63 -63
  464. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/conf/management/jmxremote.access +79 -79
  465. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/conf/management/jmxremote.password.template +114 -114
  466. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/conf/management/management.properties +326 -326
  467. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/conf/net.properties +162 -162
  468. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/conf/security/java.security +1518 -1518
  469. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/conf/security/policy/README.txt +54 -54
  470. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/conf/security/policy/limited/default_US_export.policy +6 -6
  471. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/conf/security/policy/limited/default_local.policy +14 -14
  472. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/conf/security/policy/limited/exempt_local.policy +13 -13
  473. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/conf/security/policy/unlimited/default_US_export.policy +6 -6
  474. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/conf/security/policy/unlimited/default_local.policy +6 -6
  475. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/conf/sound.properties +39 -39
  476. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.base/ADDITIONAL_LICENSE_INFO +37 -37
  477. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.base/ASSEMBLY_EXCEPTION +27 -27
  478. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.base/LICENSE +347 -347
  479. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.base/aes.md +36 -36
  480. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.base/asm.md +36 -36
  481. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.base/c-libutl.md +35 -35
  482. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.base/cldr.md +100 -100
  483. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.base/icu.md +93 -93
  484. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.base/public_suffix.md +399 -399
  485. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.base/siphash.md +150 -150
  486. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.base/unicode.md +269 -269
  487. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.compiler/ADDITIONAL_LICENSE_INFO +37 -37
  488. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.compiler/ASSEMBLY_EXCEPTION +27 -27
  489. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.compiler/LICENSE +347 -347
  490. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.datatransfer/ADDITIONAL_LICENSE_INFO +37 -37
  491. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.datatransfer/ASSEMBLY_EXCEPTION +27 -27
  492. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.datatransfer/LICENSE +347 -347
  493. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.desktop/ADDITIONAL_LICENSE_INFO +37 -37
  494. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.desktop/ASSEMBLY_EXCEPTION +27 -27
  495. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.desktop/LICENSE +347 -347
  496. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.desktop/colorimaging.md +7 -7
  497. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.desktop/freetype.md +649 -649
  498. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.desktop/giflib.md +46 -46
  499. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.desktop/harfbuzz.md +103 -103
  500. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.desktop/jpeg.md +77 -77
  501. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.desktop/lcms.md +103 -103
  502. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.desktop/libpng.md +215 -215
  503. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.desktop/mesa3d.md +134 -134
  504. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.desktop/pipewire.md +41 -41
  505. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.desktop/xwd.md +34 -34
  506. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.instrument/ADDITIONAL_LICENSE_INFO +37 -37
  507. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.instrument/ASSEMBLY_EXCEPTION +27 -27
  508. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.instrument/LICENSE +347 -347
  509. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.logging/ADDITIONAL_LICENSE_INFO +37 -37
  510. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.logging/ASSEMBLY_EXCEPTION +27 -27
  511. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.logging/LICENSE +347 -347
  512. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.management/ADDITIONAL_LICENSE_INFO +37 -37
  513. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.management/ASSEMBLY_EXCEPTION +27 -27
  514. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.management/LICENSE +347 -347
  515. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.management.rmi/ADDITIONAL_LICENSE_INFO +37 -37
  516. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.management.rmi/ASSEMBLY_EXCEPTION +27 -27
  517. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.management.rmi/LICENSE +347 -347
  518. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.naming/ADDITIONAL_LICENSE_INFO +37 -37
  519. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.naming/ASSEMBLY_EXCEPTION +27 -27
  520. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.naming/LICENSE +347 -347
  521. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.net.http/ADDITIONAL_LICENSE_INFO +37 -37
  522. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.net.http/ASSEMBLY_EXCEPTION +27 -27
  523. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.net.http/LICENSE +347 -347
  524. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.prefs/ADDITIONAL_LICENSE_INFO +37 -37
  525. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.prefs/ASSEMBLY_EXCEPTION +27 -27
  526. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.prefs/LICENSE +347 -347
  527. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.rmi/ADDITIONAL_LICENSE_INFO +37 -37
  528. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.rmi/ASSEMBLY_EXCEPTION +27 -27
  529. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.rmi/LICENSE +347 -347
  530. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.scripting/ADDITIONAL_LICENSE_INFO +37 -37
  531. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.scripting/ASSEMBLY_EXCEPTION +27 -27
  532. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.scripting/LICENSE +347 -347
  533. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.se/ADDITIONAL_LICENSE_INFO +37 -37
  534. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.se/ASSEMBLY_EXCEPTION +27 -27
  535. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.se/LICENSE +347 -347
  536. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.security.jgss/ADDITIONAL_LICENSE_INFO +37 -37
  537. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.security.jgss/ASSEMBLY_EXCEPTION +27 -27
  538. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.security.jgss/LICENSE +347 -347
  539. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.security.sasl/ADDITIONAL_LICENSE_INFO +37 -37
  540. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.security.sasl/ASSEMBLY_EXCEPTION +27 -27
  541. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.security.sasl/LICENSE +347 -347
  542. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.smartcardio/ADDITIONAL_LICENSE_INFO +37 -37
  543. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.smartcardio/ASSEMBLY_EXCEPTION +27 -27
  544. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.smartcardio/LICENSE +347 -347
  545. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.smartcardio/pcsclite.md +57 -57
  546. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.sql/ADDITIONAL_LICENSE_INFO +37 -37
  547. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.sql/ASSEMBLY_EXCEPTION +27 -27
  548. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.sql/LICENSE +347 -347
  549. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.sql.rowset/ADDITIONAL_LICENSE_INFO +37 -37
  550. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.sql.rowset/ASSEMBLY_EXCEPTION +27 -27
  551. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.sql.rowset/LICENSE +347 -347
  552. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.transaction.xa/ADDITIONAL_LICENSE_INFO +37 -37
  553. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.transaction.xa/ASSEMBLY_EXCEPTION +27 -27
  554. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.transaction.xa/LICENSE +347 -347
  555. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.xml/ADDITIONAL_LICENSE_INFO +37 -37
  556. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.xml/ASSEMBLY_EXCEPTION +27 -27
  557. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.xml/LICENSE +347 -347
  558. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.xml/bcel.md +219 -219
  559. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.xml/dom.md +77 -77
  560. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.xml/jcup.md +31 -31
  561. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.xml/schema10part1.md +51 -51
  562. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.xml/schema10part2.md +50 -50
  563. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.xml/xalan.md +255 -255
  564. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.xml/xerces.md +229 -229
  565. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.xml/xhtml10.md +57 -57
  566. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.xml/xhtml10schema.md +150 -150
  567. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.xml/xhtml11.md +68 -68
  568. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.xml/xhtml11schema.md +60 -60
  569. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.xml/xmlspec.md +63 -63
  570. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.xml/xmlxsd.md +43 -43
  571. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.xml.crypto/ADDITIONAL_LICENSE_INFO +37 -37
  572. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.xml.crypto/ASSEMBLY_EXCEPTION +27 -27
  573. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.xml.crypto/LICENSE +347 -347
  574. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/java.xml.crypto/santuario.md +227 -227
  575. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.accessibility/ADDITIONAL_LICENSE_INFO +37 -37
  576. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.accessibility/ASSEMBLY_EXCEPTION +27 -27
  577. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.accessibility/LICENSE +347 -347
  578. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.charsets/ADDITIONAL_LICENSE_INFO +37 -37
  579. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.charsets/ASSEMBLY_EXCEPTION +27 -27
  580. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.charsets/LICENSE +347 -347
  581. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.crypto.cryptoki/ADDITIONAL_LICENSE_INFO +37 -37
  582. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.crypto.cryptoki/ASSEMBLY_EXCEPTION +27 -27
  583. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.crypto.cryptoki/LICENSE +347 -347
  584. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.crypto.cryptoki/pkcs11cryptotoken.md +76 -76
  585. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.crypto.cryptoki/pkcs11wrapper.md +46 -46
  586. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.crypto.ec/ADDITIONAL_LICENSE_INFO +37 -37
  587. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.crypto.ec/ASSEMBLY_EXCEPTION +27 -27
  588. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.crypto.ec/LICENSE +347 -347
  589. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.dynalink/ADDITIONAL_LICENSE_INFO +37 -37
  590. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.dynalink/ASSEMBLY_EXCEPTION +27 -27
  591. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.dynalink/LICENSE +347 -347
  592. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.dynalink/dynalink.md +32 -32
  593. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.httpserver/ADDITIONAL_LICENSE_INFO +37 -37
  594. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.httpserver/ASSEMBLY_EXCEPTION +27 -27
  595. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.httpserver/LICENSE +347 -347
  596. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.incubator.vector/ADDITIONAL_LICENSE_INFO +37 -37
  597. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.incubator.vector/ASSEMBLY_EXCEPTION +27 -27
  598. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.incubator.vector/LICENSE +347 -347
  599. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.internal.vm.ci/ADDITIONAL_LICENSE_INFO +37 -37
  600. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.internal.vm.ci/ASSEMBLY_EXCEPTION +27 -27
  601. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.internal.vm.ci/LICENSE +347 -347
  602. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.jdwp.agent/ADDITIONAL_LICENSE_INFO +37 -37
  603. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.jdwp.agent/ASSEMBLY_EXCEPTION +27 -27
  604. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.jdwp.agent/LICENSE +347 -347
  605. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.jfr/ADDITIONAL_LICENSE_INFO +37 -37
  606. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.jfr/ASSEMBLY_EXCEPTION +27 -27
  607. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.jfr/LICENSE +347 -347
  608. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.jsobject/ADDITIONAL_LICENSE_INFO +37 -37
  609. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.jsobject/ASSEMBLY_EXCEPTION +27 -27
  610. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.jsobject/LICENSE +347 -347
  611. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.localedata/ADDITIONAL_LICENSE_INFO +37 -37
  612. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.localedata/ASSEMBLY_EXCEPTION +27 -27
  613. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.localedata/LICENSE +347 -347
  614. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.localedata/cldr.md +100 -100
  615. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.localedata/thaidict.md +31 -31
  616. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.management/ADDITIONAL_LICENSE_INFO +37 -37
  617. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.management/ASSEMBLY_EXCEPTION +27 -27
  618. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.management/LICENSE +347 -347
  619. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.management.agent/ADDITIONAL_LICENSE_INFO +37 -37
  620. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.management.agent/ASSEMBLY_EXCEPTION +27 -27
  621. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.management.agent/LICENSE +347 -347
  622. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.management.jfr/ADDITIONAL_LICENSE_INFO +37 -37
  623. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.management.jfr/ASSEMBLY_EXCEPTION +27 -27
  624. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.management.jfr/LICENSE +347 -347
  625. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.naming.dns/ADDITIONAL_LICENSE_INFO +37 -37
  626. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.naming.dns/ASSEMBLY_EXCEPTION +27 -27
  627. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.naming.dns/LICENSE +347 -347
  628. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.naming.rmi/ADDITIONAL_LICENSE_INFO +37 -37
  629. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.naming.rmi/ASSEMBLY_EXCEPTION +27 -27
  630. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.naming.rmi/LICENSE +347 -347
  631. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.net/ADDITIONAL_LICENSE_INFO +37 -37
  632. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.net/ASSEMBLY_EXCEPTION +27 -27
  633. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.net/LICENSE +347 -347
  634. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.nio.mapmode/ADDITIONAL_LICENSE_INFO +37 -37
  635. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.nio.mapmode/ASSEMBLY_EXCEPTION +27 -27
  636. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.nio.mapmode/LICENSE +347 -347
  637. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.sctp/ADDITIONAL_LICENSE_INFO +37 -37
  638. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.sctp/ASSEMBLY_EXCEPTION +27 -27
  639. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.sctp/LICENSE +347 -347
  640. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.security.auth/ADDITIONAL_LICENSE_INFO +37 -37
  641. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.security.auth/ASSEMBLY_EXCEPTION +27 -27
  642. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.security.auth/LICENSE +347 -347
  643. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.security.jgss/ADDITIONAL_LICENSE_INFO +37 -37
  644. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.security.jgss/ASSEMBLY_EXCEPTION +27 -27
  645. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.security.jgss/LICENSE +347 -347
  646. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.unsupported/ADDITIONAL_LICENSE_INFO +37 -37
  647. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.unsupported/ASSEMBLY_EXCEPTION +27 -27
  648. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.unsupported/LICENSE +347 -347
  649. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.unsupported.desktop/ADDITIONAL_LICENSE_INFO +37 -37
  650. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.unsupported.desktop/ASSEMBLY_EXCEPTION +27 -27
  651. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.unsupported.desktop/LICENSE +347 -347
  652. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.xml.dom/ADDITIONAL_LICENSE_INFO +37 -37
  653. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.xml.dom/ASSEMBLY_EXCEPTION +27 -27
  654. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.xml.dom/LICENSE +347 -347
  655. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.zipfs/ADDITIONAL_LICENSE_INFO +37 -37
  656. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.zipfs/ASSEMBLY_EXCEPTION +27 -27
  657. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/legal/jdk.zipfs/LICENSE +347 -347
  658. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/lib/classlist +1589 -1589
  659. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/lib/fontconfig.properties.src +258 -258
  660. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/lib/jfr/default.jfc +1152 -1152
  661. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/lib/jfr/profile.jfc +1151 -1151
  662. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/lib/jvm.cfg +2 -2
  663. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/lib/psfont.properties.ja +119 -119
  664. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/lib/psfontj2d.properties +323 -323
  665. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/lib/security/blocked.certs +39 -39
  666. quarchpy/connection_specific/jdk_jres/mac_amd64_jdk_jre/release +2 -2
  667. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/conf/jaxp-strict.properties.template +123 -123
  668. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/conf/jaxp.properties +200 -200
  669. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/conf/logging.properties +63 -63
  670. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/conf/management/jmxremote.access +79 -79
  671. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/conf/management/jmxremote.password.template +114 -114
  672. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/conf/management/management.properties +326 -326
  673. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/conf/net.properties +166 -166
  674. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/conf/security/java.security +1518 -1518
  675. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/conf/security/policy/README.txt +54 -54
  676. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/conf/security/policy/limited/default_US_export.policy +6 -6
  677. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/conf/security/policy/limited/default_local.policy +14 -14
  678. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/conf/security/policy/limited/exempt_local.policy +13 -13
  679. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/conf/security/policy/unlimited/default_US_export.policy +6 -6
  680. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/conf/security/policy/unlimited/default_local.policy +6 -6
  681. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/conf/sound.properties +39 -39
  682. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.base/ADDITIONAL_LICENSE_INFO +37 -37
  683. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.base/ASSEMBLY_EXCEPTION +27 -27
  684. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.base/LICENSE +347 -347
  685. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.base/aes.md +36 -36
  686. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.base/asm.md +36 -36
  687. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.base/c-libutl.md +35 -35
  688. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.base/cldr.md +100 -100
  689. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.base/icu.md +93 -93
  690. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.base/public_suffix.md +399 -399
  691. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.base/siphash.md +150 -150
  692. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.base/unicode.md +269 -269
  693. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.base/wepoll.md +34 -34
  694. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.base/zlib.md +27 -27
  695. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.compiler/ADDITIONAL_LICENSE_INFO +1 -1
  696. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.compiler/ASSEMBLY_EXCEPTION +1 -1
  697. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.compiler/LICENSE +1 -1
  698. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.datatransfer/ADDITIONAL_LICENSE_INFO +1 -1
  699. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.datatransfer/ASSEMBLY_EXCEPTION +1 -1
  700. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.datatransfer/LICENSE +1 -1
  701. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.desktop/ADDITIONAL_LICENSE_INFO +1 -1
  702. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.desktop/ASSEMBLY_EXCEPTION +1 -1
  703. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.desktop/LICENSE +1 -1
  704. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.desktop/colorimaging.md +7 -7
  705. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.desktop/freetype.md +649 -649
  706. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.desktop/giflib.md +46 -46
  707. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.desktop/harfbuzz.md +103 -103
  708. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.desktop/jpeg.md +77 -77
  709. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.desktop/lcms.md +103 -103
  710. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.desktop/libpng.md +215 -215
  711. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.desktop/mesa3d.md +134 -134
  712. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.instrument/ADDITIONAL_LICENSE_INFO +1 -1
  713. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.instrument/ASSEMBLY_EXCEPTION +1 -1
  714. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.instrument/LICENSE +1 -1
  715. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.logging/ADDITIONAL_LICENSE_INFO +1 -1
  716. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.logging/ASSEMBLY_EXCEPTION +1 -1
  717. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.logging/LICENSE +1 -1
  718. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.management/ADDITIONAL_LICENSE_INFO +1 -1
  719. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.management/ASSEMBLY_EXCEPTION +1 -1
  720. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.management/LICENSE +1 -1
  721. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.management.rmi/ADDITIONAL_LICENSE_INFO +1 -1
  722. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.management.rmi/ASSEMBLY_EXCEPTION +1 -1
  723. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.management.rmi/LICENSE +1 -1
  724. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.naming/ADDITIONAL_LICENSE_INFO +1 -1
  725. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.naming/ASSEMBLY_EXCEPTION +1 -1
  726. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.naming/LICENSE +1 -1
  727. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.net.http/ADDITIONAL_LICENSE_INFO +1 -1
  728. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.net.http/ASSEMBLY_EXCEPTION +1 -1
  729. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.net.http/LICENSE +1 -1
  730. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.prefs/ADDITIONAL_LICENSE_INFO +1 -1
  731. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.prefs/ASSEMBLY_EXCEPTION +1 -1
  732. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.prefs/LICENSE +1 -1
  733. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.rmi/ADDITIONAL_LICENSE_INFO +1 -1
  734. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.rmi/ASSEMBLY_EXCEPTION +1 -1
  735. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.rmi/LICENSE +1 -1
  736. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.scripting/ADDITIONAL_LICENSE_INFO +1 -1
  737. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.scripting/ASSEMBLY_EXCEPTION +1 -1
  738. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.scripting/LICENSE +1 -1
  739. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.se/ADDITIONAL_LICENSE_INFO +1 -1
  740. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.se/ASSEMBLY_EXCEPTION +1 -1
  741. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.se/LICENSE +1 -1
  742. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.security.jgss/ADDITIONAL_LICENSE_INFO +1 -1
  743. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.security.jgss/ASSEMBLY_EXCEPTION +1 -1
  744. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.security.jgss/LICENSE +1 -1
  745. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.security.sasl/ADDITIONAL_LICENSE_INFO +1 -1
  746. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.security.sasl/ASSEMBLY_EXCEPTION +1 -1
  747. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.security.sasl/LICENSE +1 -1
  748. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.smartcardio/ADDITIONAL_LICENSE_INFO +1 -1
  749. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.smartcardio/ASSEMBLY_EXCEPTION +1 -1
  750. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.smartcardio/LICENSE +1 -1
  751. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.sql/ADDITIONAL_LICENSE_INFO +1 -1
  752. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.sql/ASSEMBLY_EXCEPTION +1 -1
  753. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.sql/LICENSE +1 -1
  754. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.sql.rowset/ADDITIONAL_LICENSE_INFO +1 -1
  755. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.sql.rowset/ASSEMBLY_EXCEPTION +1 -1
  756. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.sql.rowset/LICENSE +1 -1
  757. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.transaction.xa/ADDITIONAL_LICENSE_INFO +1 -1
  758. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.transaction.xa/ASSEMBLY_EXCEPTION +1 -1
  759. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.transaction.xa/LICENSE +1 -1
  760. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.xml/ADDITIONAL_LICENSE_INFO +1 -1
  761. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.xml/ASSEMBLY_EXCEPTION +1 -1
  762. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.xml/LICENSE +1 -1
  763. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.xml/bcel.md +219 -219
  764. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.xml/dom.md +77 -77
  765. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.xml/jcup.md +31 -31
  766. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.xml/schema10part1.md +51 -51
  767. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.xml/schema10part2.md +50 -50
  768. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.xml/xalan.md +255 -255
  769. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.xml/xerces.md +229 -229
  770. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.xml/xhtml10.md +57 -57
  771. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.xml/xhtml10schema.md +150 -150
  772. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.xml/xhtml11.md +68 -68
  773. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.xml/xhtml11schema.md +60 -60
  774. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.xml/xmlspec.md +63 -63
  775. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.xml/xmlxsd.md +43 -43
  776. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.xml.crypto/ADDITIONAL_LICENSE_INFO +1 -1
  777. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.xml.crypto/ASSEMBLY_EXCEPTION +1 -1
  778. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.xml.crypto/LICENSE +1 -1
  779. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/java.xml.crypto/santuario.md +227 -227
  780. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.accessibility/ADDITIONAL_LICENSE_INFO +1 -1
  781. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.accessibility/ASSEMBLY_EXCEPTION +1 -1
  782. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.accessibility/LICENSE +1 -1
  783. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.charsets/ADDITIONAL_LICENSE_INFO +1 -1
  784. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.charsets/ASSEMBLY_EXCEPTION +1 -1
  785. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.charsets/LICENSE +1 -1
  786. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.crypto.cryptoki/ADDITIONAL_LICENSE_INFO +1 -1
  787. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.crypto.cryptoki/ASSEMBLY_EXCEPTION +1 -1
  788. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.crypto.cryptoki/LICENSE +1 -1
  789. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.crypto.cryptoki/pkcs11cryptotoken.md +76 -76
  790. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.crypto.cryptoki/pkcs11wrapper.md +46 -46
  791. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.crypto.ec/ADDITIONAL_LICENSE_INFO +1 -1
  792. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.crypto.ec/ASSEMBLY_EXCEPTION +1 -1
  793. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.crypto.ec/LICENSE +1 -1
  794. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.dynalink/ADDITIONAL_LICENSE_INFO +1 -1
  795. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.dynalink/ASSEMBLY_EXCEPTION +1 -1
  796. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.dynalink/LICENSE +1 -1
  797. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.dynalink/dynalink.md +32 -32
  798. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.httpserver/ADDITIONAL_LICENSE_INFO +1 -1
  799. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.httpserver/ASSEMBLY_EXCEPTION +1 -1
  800. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.httpserver/LICENSE +1 -1
  801. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.incubator.vector/ADDITIONAL_LICENSE_INFO +1 -1
  802. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.incubator.vector/ASSEMBLY_EXCEPTION +1 -1
  803. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.incubator.vector/LICENSE +1 -1
  804. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.internal.vm.ci/ADDITIONAL_LICENSE_INFO +1 -1
  805. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.internal.vm.ci/ASSEMBLY_EXCEPTION +1 -1
  806. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.internal.vm.ci/LICENSE +1 -1
  807. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.jdwp.agent/ADDITIONAL_LICENSE_INFO +1 -1
  808. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.jdwp.agent/ASSEMBLY_EXCEPTION +1 -1
  809. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.jdwp.agent/LICENSE +1 -1
  810. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.jfr/ADDITIONAL_LICENSE_INFO +1 -1
  811. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.jfr/ASSEMBLY_EXCEPTION +1 -1
  812. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.jfr/LICENSE +1 -1
  813. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.jsobject/ADDITIONAL_LICENSE_INFO +1 -1
  814. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.jsobject/ASSEMBLY_EXCEPTION +1 -1
  815. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.jsobject/LICENSE +1 -1
  816. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.localedata/ADDITIONAL_LICENSE_INFO +1 -1
  817. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.localedata/ASSEMBLY_EXCEPTION +1 -1
  818. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.localedata/LICENSE +1 -1
  819. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.localedata/cldr.md +1 -1
  820. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.localedata/thaidict.md +31 -31
  821. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.management/ADDITIONAL_LICENSE_INFO +1 -1
  822. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.management/ASSEMBLY_EXCEPTION +1 -1
  823. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.management/LICENSE +1 -1
  824. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.management.agent/ADDITIONAL_LICENSE_INFO +1 -1
  825. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.management.agent/ASSEMBLY_EXCEPTION +1 -1
  826. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.management.agent/LICENSE +1 -1
  827. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.management.jfr/ADDITIONAL_LICENSE_INFO +1 -1
  828. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.management.jfr/ASSEMBLY_EXCEPTION +1 -1
  829. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.management.jfr/LICENSE +1 -1
  830. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.naming.dns/ADDITIONAL_LICENSE_INFO +1 -1
  831. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.naming.dns/ASSEMBLY_EXCEPTION +1 -1
  832. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.naming.dns/LICENSE +1 -1
  833. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.naming.rmi/ADDITIONAL_LICENSE_INFO +1 -1
  834. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.naming.rmi/ASSEMBLY_EXCEPTION +1 -1
  835. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.naming.rmi/LICENSE +1 -1
  836. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.net/ADDITIONAL_LICENSE_INFO +1 -1
  837. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.net/ASSEMBLY_EXCEPTION +1 -1
  838. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.net/LICENSE +1 -1
  839. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.nio.mapmode/ADDITIONAL_LICENSE_INFO +1 -1
  840. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.nio.mapmode/ASSEMBLY_EXCEPTION +1 -1
  841. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.nio.mapmode/LICENSE +1 -1
  842. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.sctp/ADDITIONAL_LICENSE_INFO +1 -1
  843. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.sctp/ASSEMBLY_EXCEPTION +1 -1
  844. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.sctp/LICENSE +1 -1
  845. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.security.auth/ADDITIONAL_LICENSE_INFO +1 -1
  846. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.security.auth/ASSEMBLY_EXCEPTION +1 -1
  847. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.security.auth/LICENSE +1 -1
  848. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.security.jgss/ADDITIONAL_LICENSE_INFO +1 -1
  849. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.security.jgss/ASSEMBLY_EXCEPTION +1 -1
  850. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.security.jgss/LICENSE +1 -1
  851. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.unsupported/ADDITIONAL_LICENSE_INFO +1 -1
  852. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.unsupported/ASSEMBLY_EXCEPTION +1 -1
  853. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.unsupported/LICENSE +1 -1
  854. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.unsupported.desktop/ADDITIONAL_LICENSE_INFO +1 -1
  855. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.unsupported.desktop/ASSEMBLY_EXCEPTION +1 -1
  856. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.unsupported.desktop/LICENSE +1 -1
  857. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.xml.dom/ADDITIONAL_LICENSE_INFO +1 -1
  858. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.xml.dom/ASSEMBLY_EXCEPTION +1 -1
  859. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.xml.dom/LICENSE +1 -1
  860. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.zipfs/ADDITIONAL_LICENSE_INFO +1 -1
  861. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.zipfs/ASSEMBLY_EXCEPTION +1 -1
  862. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/legal/jdk.zipfs/LICENSE +1 -1
  863. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/lib/classlist +1601 -1601
  864. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/lib/fontconfig.properties.src +332 -332
  865. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/lib/jfr/default.jfc +1152 -1152
  866. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/lib/jfr/profile.jfc +1151 -1151
  867. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/lib/jvm.cfg +2 -2
  868. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/lib/psfont.properties.ja +119 -119
  869. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/lib/psfontj2d.properties +323 -323
  870. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/lib/security/blocked.certs +39 -39
  871. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/lib/tzmappings +361 -361
  872. quarchpy/connection_specific/jdk_jres/win_amd64_jdk_jre/release +2 -2
  873. quarchpy/connection_specific/serial/__pycache__/__init__.cpython-310.pyc +0 -0
  874. quarchpy/connection_specific/serial/__pycache__/serialposix.cpython-310.pyc +0 -0
  875. quarchpy/connection_specific/serial/__pycache__/serialutil.cpython-310.pyc +0 -0
  876. quarchpy/connection_specific/serial/tools/__pycache__/__init__.cpython-310.pyc +0 -0
  877. quarchpy/connection_specific/serial/tools/__pycache__/list_ports.cpython-310.pyc +0 -0
  878. quarchpy/connection_specific/serial/tools/__pycache__/list_ports_common.cpython-310.pyc +0 -0
  879. quarchpy/connection_specific/serial/tools/__pycache__/list_ports_linux.cpython-310.pyc +0 -0
  880. quarchpy/connection_specific/serial/tools/__pycache__/list_ports_posix.cpython-310.pyc +0 -0
  881. quarchpy/connection_specific/usb_libs/usb1.py +2360 -2360
  882. quarchpy/debug/__pycache__/SystemTest.cpython-310.pyc +0 -0
  883. quarchpy/debug/__pycache__/__init__.cpython-310.pyc +0 -0
  884. quarchpy/debug/__pycache__/versionCompare.cpython-310.pyc +0 -0
  885. quarchpy/device/__pycache__/__init__.cpython-310.pyc +0 -0
  886. quarchpy/device/__pycache__/device.cpython-310.pyc +0 -0
  887. quarchpy/device/__pycache__/quarchArray.cpython-310.pyc +0 -0
  888. quarchpy/device/__pycache__/quarchPPM.cpython-310.pyc +0 -0
  889. quarchpy/device/__pycache__/quarchQPS.cpython-310.pyc +0 -0
  890. quarchpy/device/__pycache__/scanDevices.cpython-310.pyc +0 -0
  891. quarchpy/device/device.py +18 -9
  892. quarchpy/device/quarchPPM.py +367 -109
  893. quarchpy/disk_test/__pycache__/AbsDiskFinder.cpython-310.pyc +0 -0
  894. quarchpy/disk_test/__pycache__/DiskTargetSelection.cpython-310.pyc +0 -0
  895. quarchpy/disk_test/__pycache__/__init__.cpython-310.pyc +0 -0
  896. quarchpy/disk_test/__pycache__/iometerDiskFinder.cpython-310.pyc +0 -0
  897. quarchpy/docs/CHANGES.rst +452 -443
  898. quarchpy/docs/Makefile +20 -20
  899. quarchpy/docs/_build/html/.buildinfo +4 -4
  900. quarchpy/docs/_build/html/CHANGES.html +660 -660
  901. quarchpy/docs/_build/html/_sources/CHANGES.rst.txt +439 -439
  902. quarchpy/docs/_build/html/_sources/index.rst.txt +23 -23
  903. quarchpy/docs/_build/html/_sources/readme.rst.txt +41 -41
  904. quarchpy/docs/_build/html/_sources/source/modules.rst.txt +7 -7
  905. quarchpy/docs/_build/html/_sources/source/quarchpy.calibration.rst.txt +78 -78
  906. quarchpy/docs/_build/html/_sources/source/quarchpy.config_files.rst.txt +22 -22
  907. quarchpy/docs/_build/html/_sources/source/quarchpy.connection_specific.rst.txt +76 -76
  908. quarchpy/docs/_build/html/_sources/source/quarchpy.debug.rst.txt +38 -38
  909. quarchpy/docs/_build/html/_sources/source/quarchpy.device.rst.txt +54 -54
  910. quarchpy/docs/_build/html/_sources/source/quarchpy.disk_test.rst.txt +126 -126
  911. quarchpy/docs/_build/html/_sources/source/quarchpy.fio.rst.txt +30 -30
  912. quarchpy/docs/_build/html/_sources/source/quarchpy.iometer.rst.txt +22 -22
  913. quarchpy/docs/_build/html/_sources/source/quarchpy.qis.rst.txt +22 -22
  914. quarchpy/docs/_build/html/_sources/source/quarchpy.qps.rst.txt +22 -22
  915. quarchpy/docs/_build/html/_sources/source/quarchpy.rst.txt +50 -50
  916. quarchpy/docs/_build/html/_sources/source/quarchpy.user_interface.rst.txt +22 -22
  917. quarchpy/docs/_build/html/_sources/source/quarchpy.utilities.rst.txt +22 -22
  918. quarchpy/docs/_build/html/_static/alabaster.css +662 -662
  919. quarchpy/docs/_build/html/_static/basic.css +913 -913
  920. quarchpy/docs/_build/html/_static/custom.css +1 -1
  921. quarchpy/docs/_build/html/_static/doctools.js +149 -149
  922. quarchpy/docs/_build/html/_static/documentation_options.js +12 -12
  923. quarchpy/docs/_build/html/_static/jquery-3.4.1.js +10598 -10598
  924. quarchpy/docs/_build/html/_static/jquery.js +2 -2
  925. quarchpy/docs/_build/html/_static/language_data.js +192 -192
  926. quarchpy/docs/_build/html/_static/pygments.css +83 -83
  927. quarchpy/docs/_build/html/_static/searchtools.js +632 -632
  928. quarchpy/docs/_build/html/_static/sphinx_highlight.js +154 -154
  929. quarchpy/docs/_build/html/_static/underscore-1.3.1.js +999 -999
  930. quarchpy/docs/_build/html/_static/underscore.js +5 -5
  931. quarchpy/docs/_build/html/genindex.html +1626 -1626
  932. quarchpy/docs/_build/html/index.html +214 -214
  933. quarchpy/docs/_build/html/py-modindex.html +300 -300
  934. quarchpy/docs/_build/html/readme.html +137 -137
  935. quarchpy/docs/_build/html/search.html +123 -123
  936. quarchpy/docs/_build/html/source/changelog.html +739 -739
  937. quarchpy/docs/_build/html/source/licenses.html +181 -181
  938. quarchpy/docs/_build/html/source/modules.html +222 -222
  939. quarchpy/docs/_build/html/source/quarchpy.calibration.html +147 -147
  940. quarchpy/docs/_build/html/source/quarchpy.config_files.html +136 -136
  941. quarchpy/docs/_build/html/source/quarchpy.connection_specific.html +729 -729
  942. quarchpy/docs/_build/html/source/quarchpy.debug.html +251 -251
  943. quarchpy/docs/_build/html/source/quarchpy.device.html +1165 -1165
  944. quarchpy/docs/_build/html/source/quarchpy.disk_test.html +220 -220
  945. quarchpy/docs/_build/html/source/quarchpy.fio.html +218 -218
  946. quarchpy/docs/_build/html/source/quarchpy.html +715 -715
  947. quarchpy/docs/_build/html/source/quarchpy.iometer.html +271 -271
  948. quarchpy/docs/_build/html/source/quarchpy.qis.html +640 -640
  949. quarchpy/docs/_build/html/source/quarchpy.qps.html +186 -186
  950. quarchpy/docs/_build/html/source/quarchpy.user_interface.html +278 -278
  951. quarchpy/docs/_build/html/source/quarchpy.utilities.html +211 -211
  952. quarchpy/docs/_build/html/source/readme.html +147 -147
  953. quarchpy/docs/conf.py +56 -56
  954. quarchpy/docs/index.rst +23 -23
  955. quarchpy/docs/make.bat +35 -35
  956. quarchpy/docs/readme.rst +41 -41
  957. quarchpy/docs/source/modules.rst +7 -7
  958. quarchpy/docs/source/quarchpy.calibration.rst +78 -78
  959. quarchpy/docs/source/quarchpy.config_files.rst +22 -22
  960. quarchpy/docs/source/quarchpy.connection_specific.rst +76 -76
  961. quarchpy/docs/source/quarchpy.debug.rst +38 -38
  962. quarchpy/docs/source/quarchpy.device.rst +54 -54
  963. quarchpy/docs/source/quarchpy.disk_test.rst +126 -126
  964. quarchpy/docs/source/quarchpy.fio.rst +30 -30
  965. quarchpy/docs/source/quarchpy.iometer.rst +22 -22
  966. quarchpy/docs/source/quarchpy.qis.rst +22 -22
  967. quarchpy/docs/source/quarchpy.qps.rst +22 -22
  968. quarchpy/docs/source/quarchpy.rst +50 -50
  969. quarchpy/docs/source/quarchpy.user_interface.rst +22 -22
  970. quarchpy/docs/source/quarchpy.utilities.rst +22 -22
  971. quarchpy/fio/HIDEtest_performance_class.py +533 -533
  972. quarchpy/fio/__pycache__/FIO_interface.cpython-310.pyc +0 -0
  973. quarchpy/fio/__pycache__/__init__.cpython-310.pyc +0 -0
  974. quarchpy/iometer/__pycache__/__init__.cpython-310.pyc +0 -0
  975. quarchpy/iometer/__pycache__/{gen_iometer_template.cpython-312.pyc → gen_iometer_template.cpython-310.pyc} +0 -0
  976. quarchpy/iometer/__pycache__/iometerFuncs.cpython-310.pyc +0 -0
  977. quarchpy/qis/__pycache__/StreamHeaderInfo.cpython-310.pyc +0 -0
  978. quarchpy/qis/__pycache__/__init__.cpython-310.pyc +0 -0
  979. quarchpy/qis/__pycache__/qisFuncs.cpython-310.pyc +0 -0
  980. quarchpy/qis/qisFuncs.py +5 -1
  981. quarchpy/qps/__pycache__/__init__.cpython-310.pyc +0 -0
  982. quarchpy/qps/__pycache__/qpsFuncs.cpython-310.pyc +0 -0
  983. quarchpy/user_interface/__pycache__/__init__.cpython-310.pyc +0 -0
  984. quarchpy/user_interface/__pycache__/user_interface.cpython-310.pyc +0 -0
  985. quarchpy/utilities/__pycache__/TestCenter.cpython-310.pyc +0 -0
  986. quarchpy/utilities/__pycache__/TimeValue.cpython-310.pyc +0 -0
  987. quarchpy/utilities/__pycache__/__init__.cpython-310.pyc +0 -0
  988. {quarchpy-2.2.10.dev1.dist-info → quarchpy-2.2.11.dist-info}/METADATA +475 -466
  989. {quarchpy-2.2.10.dev1.dist-info → quarchpy-2.2.11.dist-info}/RECORD +991 -1113
  990. {quarchpy-2.2.10.dev1.dist-info → quarchpy-2.2.11.dist-info}/WHEEL +1 -1
  991. quarchpy/__pycache__/__init__.cpython-311.pyc +0 -0
  992. quarchpy/__pycache__/__init__.cpython-312.pyc +0 -0
  993. quarchpy/__pycache__/__init__.cpython-313.pyc +0 -0
  994. quarchpy/__pycache__/_version.cpython-311.pyc +0 -0
  995. quarchpy/__pycache__/_version.cpython-312.pyc +0 -0
  996. quarchpy/__pycache__/_version.cpython-313.pyc +0 -0
  997. quarchpy/__pycache__/connection.cpython-311.pyc +0 -0
  998. quarchpy/__pycache__/connection.cpython-312.pyc +0 -0
  999. quarchpy/__pycache__/connection.cpython-313.pyc +0 -0
  1000. quarchpy/__pycache__/run.cpython-311.pyc +0 -0
  1001. quarchpy/__pycache__/run.cpython-312.pyc +0 -0
  1002. quarchpy/config_files/__pycache__/__init__.cpython-311.pyc +0 -0
  1003. quarchpy/config_files/__pycache__/__init__.cpython-312.pyc +0 -0
  1004. quarchpy/config_files/__pycache__/__init__.cpython-313.pyc +0 -0
  1005. quarchpy/config_files/__pycache__/quarch_config_parser.cpython-311.pyc +0 -0
  1006. quarchpy/config_files/__pycache__/quarch_config_parser.cpython-312.pyc +0 -0
  1007. quarchpy/config_files/__pycache__/quarch_config_parser.cpython-313.pyc +0 -0
  1008. quarchpy/connection_specific/__pycache__/StreamChannels.cpython-311.pyc +0 -0
  1009. quarchpy/connection_specific/__pycache__/StreamChannels.cpython-312.pyc +0 -0
  1010. quarchpy/connection_specific/__pycache__/StreamChannels.cpython-313.pyc +0 -0
  1011. quarchpy/connection_specific/__pycache__/__init__.cpython-311.pyc +0 -0
  1012. quarchpy/connection_specific/__pycache__/__init__.cpython-312.pyc +0 -0
  1013. quarchpy/connection_specific/__pycache__/__init__.cpython-313.pyc +0 -0
  1014. quarchpy/connection_specific/__pycache__/connection_QIS.cpython-311.pyc +0 -0
  1015. quarchpy/connection_specific/__pycache__/connection_QIS.cpython-312.pyc +0 -0
  1016. quarchpy/connection_specific/__pycache__/connection_QIS.cpython-313.pyc +0 -0
  1017. quarchpy/connection_specific/__pycache__/connection_QPS.cpython-311.pyc +0 -0
  1018. quarchpy/connection_specific/__pycache__/connection_QPS.cpython-312.pyc +0 -0
  1019. quarchpy/connection_specific/__pycache__/connection_QPS.cpython-313.pyc +0 -0
  1020. quarchpy/connection_specific/__pycache__/connection_ReST.cpython-311.pyc +0 -0
  1021. quarchpy/connection_specific/__pycache__/connection_ReST.cpython-312.pyc +0 -0
  1022. quarchpy/connection_specific/__pycache__/connection_ReST.cpython-313.pyc +0 -0
  1023. quarchpy/connection_specific/__pycache__/connection_Serial.cpython-311.pyc +0 -0
  1024. quarchpy/connection_specific/__pycache__/connection_Serial.cpython-312.pyc +0 -0
  1025. quarchpy/connection_specific/__pycache__/connection_Serial.cpython-313.pyc +0 -0
  1026. quarchpy/connection_specific/__pycache__/connection_TCP.cpython-311.pyc +0 -0
  1027. quarchpy/connection_specific/__pycache__/connection_TCP.cpython-312.pyc +0 -0
  1028. quarchpy/connection_specific/__pycache__/connection_TCP.cpython-313.pyc +0 -0
  1029. quarchpy/connection_specific/__pycache__/connection_USB.cpython-311.pyc +0 -0
  1030. quarchpy/connection_specific/__pycache__/connection_USB.cpython-312.pyc +0 -0
  1031. quarchpy/connection_specific/__pycache__/connection_USB.cpython-313.pyc +0 -0
  1032. quarchpy/connection_specific/__pycache__/mDNS.cpython-311.pyc +0 -0
  1033. quarchpy/connection_specific/__pycache__/mDNS.cpython-312.pyc +0 -0
  1034. quarchpy/connection_specific/__pycache__/mDNS.cpython-313.pyc +0 -0
  1035. quarchpy/connection_specific/jdk_j21_jres/__pycache__/__init__.cpython-311.pyc +0 -0
  1036. quarchpy/connection_specific/jdk_j21_jres/__pycache__/__init__.cpython-312.pyc +0 -0
  1037. quarchpy/connection_specific/jdk_j21_jres/__pycache__/__init__.cpython-313.pyc +0 -0
  1038. quarchpy/connection_specific/jdk_j21_jres/__pycache__/fix_permissions.cpython-311.pyc +0 -0
  1039. quarchpy/connection_specific/jdk_j21_jres/__pycache__/fix_permissions.cpython-312.pyc +0 -0
  1040. quarchpy/connection_specific/jdk_j21_jres/__pycache__/fix_permissions.cpython-313.pyc +0 -0
  1041. quarchpy/connection_specific/serial/__pycache__/__init__.cpython-311.pyc +0 -0
  1042. quarchpy/connection_specific/serial/__pycache__/__init__.cpython-312.pyc +0 -0
  1043. quarchpy/connection_specific/serial/__pycache__/__init__.cpython-313.pyc +0 -0
  1044. quarchpy/connection_specific/serial/__pycache__/serialutil.cpython-311.pyc +0 -0
  1045. quarchpy/connection_specific/serial/__pycache__/serialutil.cpython-312.pyc +0 -0
  1046. quarchpy/connection_specific/serial/__pycache__/serialutil.cpython-313.pyc +0 -0
  1047. quarchpy/connection_specific/serial/__pycache__/serialwin32.cpython-311.pyc +0 -0
  1048. quarchpy/connection_specific/serial/__pycache__/serialwin32.cpython-312.pyc +0 -0
  1049. quarchpy/connection_specific/serial/__pycache__/serialwin32.cpython-313.pyc +0 -0
  1050. quarchpy/connection_specific/serial/__pycache__/win32.cpython-311.pyc +0 -0
  1051. quarchpy/connection_specific/serial/__pycache__/win32.cpython-312.pyc +0 -0
  1052. quarchpy/connection_specific/serial/__pycache__/win32.cpython-313.pyc +0 -0
  1053. quarchpy/connection_specific/serial/tools/__pycache__/__init__.cpython-311.pyc +0 -0
  1054. quarchpy/connection_specific/serial/tools/__pycache__/__init__.cpython-312.pyc +0 -0
  1055. quarchpy/connection_specific/serial/tools/__pycache__/__init__.cpython-313.pyc +0 -0
  1056. quarchpy/connection_specific/serial/tools/__pycache__/list_ports.cpython-311.pyc +0 -0
  1057. quarchpy/connection_specific/serial/tools/__pycache__/list_ports.cpython-312.pyc +0 -0
  1058. quarchpy/connection_specific/serial/tools/__pycache__/list_ports.cpython-313.pyc +0 -0
  1059. quarchpy/connection_specific/serial/tools/__pycache__/list_ports_common.cpython-311.pyc +0 -0
  1060. quarchpy/connection_specific/serial/tools/__pycache__/list_ports_common.cpython-312.pyc +0 -0
  1061. quarchpy/connection_specific/serial/tools/__pycache__/list_ports_common.cpython-313.pyc +0 -0
  1062. quarchpy/connection_specific/serial/tools/__pycache__/list_ports_windows.cpython-311.pyc +0 -0
  1063. quarchpy/connection_specific/serial/tools/__pycache__/list_ports_windows.cpython-312.pyc +0 -0
  1064. quarchpy/connection_specific/serial/tools/__pycache__/list_ports_windows.cpython-313.pyc +0 -0
  1065. quarchpy/connection_specific/usb_libs/__pycache__/libusb1.cpython-311.pyc +0 -0
  1066. quarchpy/connection_specific/usb_libs/__pycache__/libusb1.cpython-312.pyc +0 -0
  1067. quarchpy/connection_specific/usb_libs/__pycache__/usb1.cpython-311.pyc +0 -0
  1068. quarchpy/connection_specific/usb_libs/__pycache__/usb1.cpython-312.pyc +0 -0
  1069. quarchpy/debug/__pycache__/SystemTest.cpython-311.pyc +0 -0
  1070. quarchpy/debug/__pycache__/SystemTest.cpython-312.pyc +0 -0
  1071. quarchpy/debug/__pycache__/SystemTest.cpython-313.pyc +0 -0
  1072. quarchpy/debug/__pycache__/__init__.cpython-311.pyc +0 -0
  1073. quarchpy/debug/__pycache__/__init__.cpython-312.pyc +0 -0
  1074. quarchpy/debug/__pycache__/__init__.cpython-313.pyc +0 -0
  1075. quarchpy/debug/__pycache__/module_debug.cpython-311.pyc +0 -0
  1076. quarchpy/debug/__pycache__/module_debug.cpython-312.pyc +0 -0
  1077. quarchpy/debug/__pycache__/module_debug.cpython-313.pyc +0 -0
  1078. quarchpy/debug/__pycache__/simple_terminal.cpython-311.pyc +0 -0
  1079. quarchpy/debug/__pycache__/simple_terminal.cpython-312.pyc +0 -0
  1080. quarchpy/debug/__pycache__/simple_terminal.cpython-313.pyc +0 -0
  1081. quarchpy/debug/__pycache__/upgrade_quarchpy.cpython-311.pyc +0 -0
  1082. quarchpy/debug/__pycache__/upgrade_quarchpy.cpython-312.pyc +0 -0
  1083. quarchpy/debug/__pycache__/upgrade_quarchpy.cpython-313.pyc +0 -0
  1084. quarchpy/debug/__pycache__/versionCompare.cpython-311.pyc +0 -0
  1085. quarchpy/debug/__pycache__/versionCompare.cpython-312.pyc +0 -0
  1086. quarchpy/debug/__pycache__/versionCompare.cpython-313.pyc +0 -0
  1087. quarchpy/device/__pycache__/__init__.cpython-311.pyc +0 -0
  1088. quarchpy/device/__pycache__/__init__.cpython-312.pyc +0 -0
  1089. quarchpy/device/__pycache__/__init__.cpython-313.pyc +0 -0
  1090. quarchpy/device/__pycache__/device.cpython-311.pyc +0 -0
  1091. quarchpy/device/__pycache__/device.cpython-312.pyc +0 -0
  1092. quarchpy/device/__pycache__/device.cpython-313.pyc +0 -0
  1093. quarchpy/device/__pycache__/quarchArray.cpython-311.pyc +0 -0
  1094. quarchpy/device/__pycache__/quarchArray.cpython-312.pyc +0 -0
  1095. quarchpy/device/__pycache__/quarchArray.cpython-313.pyc +0 -0
  1096. quarchpy/device/__pycache__/quarchPPM.cpython-311.pyc +0 -0
  1097. quarchpy/device/__pycache__/quarchPPM.cpython-312.pyc +0 -0
  1098. quarchpy/device/__pycache__/quarchPPM.cpython-313.pyc +0 -0
  1099. quarchpy/device/__pycache__/quarchQPS.cpython-311.pyc +0 -0
  1100. quarchpy/device/__pycache__/quarchQPS.cpython-312.pyc +0 -0
  1101. quarchpy/device/__pycache__/quarchQPS.cpython-313.pyc +0 -0
  1102. quarchpy/device/__pycache__/scanDevices.cpython-311.pyc +0 -0
  1103. quarchpy/device/__pycache__/scanDevices.cpython-312.pyc +0 -0
  1104. quarchpy/device/__pycache__/scanDevices.cpython-313.pyc +0 -0
  1105. quarchpy/disk_test/__pycache__/AbsDiskFinder.cpython-311.pyc +0 -0
  1106. quarchpy/disk_test/__pycache__/AbsDiskFinder.cpython-312.pyc +0 -0
  1107. quarchpy/disk_test/__pycache__/AbsDiskFinder.cpython-313.pyc +0 -0
  1108. quarchpy/disk_test/__pycache__/DiskTargetSelection.cpython-311.pyc +0 -0
  1109. quarchpy/disk_test/__pycache__/DiskTargetSelection.cpython-312.pyc +0 -0
  1110. quarchpy/disk_test/__pycache__/DiskTargetSelection.cpython-313.pyc +0 -0
  1111. quarchpy/disk_test/__pycache__/__init__.cpython-311.pyc +0 -0
  1112. quarchpy/disk_test/__pycache__/__init__.cpython-312.pyc +0 -0
  1113. quarchpy/disk_test/__pycache__/__init__.cpython-313.pyc +0 -0
  1114. quarchpy/disk_test/__pycache__/iometerDiskFinder.cpython-311.pyc +0 -0
  1115. quarchpy/disk_test/__pycache__/iometerDiskFinder.cpython-312.pyc +0 -0
  1116. quarchpy/disk_test/__pycache__/iometerDiskFinder.cpython-313.pyc +0 -0
  1117. quarchpy/fio/__pycache__/FIO_interface.cpython-311.pyc +0 -0
  1118. quarchpy/fio/__pycache__/FIO_interface.cpython-312.pyc +0 -0
  1119. quarchpy/fio/__pycache__/FIO_interface.cpython-313.pyc +0 -0
  1120. quarchpy/fio/__pycache__/__init__.cpython-311.pyc +0 -0
  1121. quarchpy/fio/__pycache__/__init__.cpython-312.pyc +0 -0
  1122. quarchpy/fio/__pycache__/__init__.cpython-313.pyc +0 -0
  1123. quarchpy/iometer/__pycache__/__init__.cpython-311.pyc +0 -0
  1124. quarchpy/iometer/__pycache__/__init__.cpython-312.pyc +0 -0
  1125. quarchpy/iometer/__pycache__/__init__.cpython-313.pyc +0 -0
  1126. quarchpy/iometer/__pycache__/gen_iometer_template.cpython-311.pyc +0 -0
  1127. quarchpy/iometer/__pycache__/gen_iometer_template.cpython-313.pyc +0 -0
  1128. quarchpy/iometer/__pycache__/iometerFuncs.cpython-311.pyc +0 -0
  1129. quarchpy/iometer/__pycache__/iometerFuncs.cpython-312.pyc +0 -0
  1130. quarchpy/iometer/__pycache__/iometerFuncs.cpython-313.pyc +0 -0
  1131. quarchpy/qis/__pycache__/StreamHeaderInfo.cpython-311.pyc +0 -0
  1132. quarchpy/qis/__pycache__/StreamHeaderInfo.cpython-312.pyc +0 -0
  1133. quarchpy/qis/__pycache__/StreamHeaderInfo.cpython-313.pyc +0 -0
  1134. quarchpy/qis/__pycache__/__init__.cpython-311.pyc +0 -0
  1135. quarchpy/qis/__pycache__/__init__.cpython-312.pyc +0 -0
  1136. quarchpy/qis/__pycache__/__init__.cpython-313.pyc +0 -0
  1137. quarchpy/qis/__pycache__/qisFuncs.cpython-311.pyc +0 -0
  1138. quarchpy/qis/__pycache__/qisFuncs.cpython-312.pyc +0 -0
  1139. quarchpy/qis/__pycache__/qisFuncs.cpython-313.pyc +0 -0
  1140. quarchpy/qps/__pycache__/__init__.cpython-311.pyc +0 -0
  1141. quarchpy/qps/__pycache__/__init__.cpython-312.pyc +0 -0
  1142. quarchpy/qps/__pycache__/__init__.cpython-313.pyc +0 -0
  1143. quarchpy/qps/__pycache__/qpsFuncs.cpython-311.pyc +0 -0
  1144. quarchpy/qps/__pycache__/qpsFuncs.cpython-312.pyc +0 -0
  1145. quarchpy/qps/__pycache__/qpsFuncs.cpython-313.pyc +0 -0
  1146. quarchpy/user_interface/__pycache__/__init__.cpython-311.pyc +0 -0
  1147. quarchpy/user_interface/__pycache__/__init__.cpython-312.pyc +0 -0
  1148. quarchpy/user_interface/__pycache__/__init__.cpython-313.pyc +0 -0
  1149. quarchpy/user_interface/__pycache__/user_interface.cpython-311.pyc +0 -0
  1150. quarchpy/user_interface/__pycache__/user_interface.cpython-312.pyc +0 -0
  1151. quarchpy/user_interface/__pycache__/user_interface.cpython-313.pyc +0 -0
  1152. quarchpy/utilities/__pycache__/TestCenter.cpython-311.pyc +0 -0
  1153. quarchpy/utilities/__pycache__/TestCenter.cpython-312.pyc +0 -0
  1154. quarchpy/utilities/__pycache__/TestCenter.cpython-313.pyc +0 -0
  1155. quarchpy/utilities/__pycache__/TimeValue.cpython-311.pyc +0 -0
  1156. quarchpy/utilities/__pycache__/TimeValue.cpython-312.pyc +0 -0
  1157. quarchpy/utilities/__pycache__/TimeValue.cpython-313.pyc +0 -0
  1158. quarchpy/utilities/__pycache__/Version.cpython-311.pyc +0 -0
  1159. quarchpy/utilities/__pycache__/Version.cpython-312.pyc +0 -0
  1160. quarchpy/utilities/__pycache__/Version.cpython-313.pyc +0 -0
  1161. quarchpy/utilities/__pycache__/__init__.cpython-311.pyc +0 -0
  1162. quarchpy/utilities/__pycache__/__init__.cpython-312.pyc +0 -0
  1163. quarchpy/utilities/__pycache__/__init__.cpython-313.pyc +0 -0
  1164. {quarchpy-2.2.10.dev1.dist-info → quarchpy-2.2.11.dist-info}/top_level.txt +0 -0
@@ -1,632 +1,632 @@
1
- /*
2
- * Sphinx JavaScript utilities for the full-text search.
3
- */
4
- "use strict";
5
-
6
- /**
7
- * Simple result scoring code.
8
- */
9
- if (typeof Scorer === "undefined") {
10
- var Scorer = {
11
- // Implement the following function to further tweak the score for each result
12
- // The function takes a result array [docname, title, anchor, descr, score, filename]
13
- // and returns the new score.
14
- /*
15
- score: result => {
16
- const [docname, title, anchor, descr, score, filename, kind] = result
17
- return score
18
- },
19
- */
20
-
21
- // query matches the full name of an object
22
- objNameMatch: 11,
23
- // or matches in the last dotted part of the object name
24
- objPartialMatch: 6,
25
- // Additive scores depending on the priority of the object
26
- objPrio: {
27
- 0: 15, // used to be importantResults
28
- 1: 5, // used to be objectResults
29
- 2: -5, // used to be unimportantResults
30
- },
31
- // Used when the priority is not in the mapping.
32
- objPrioDefault: 0,
33
-
34
- // query found in title
35
- title: 15,
36
- partialTitle: 7,
37
- // query found in terms
38
- term: 5,
39
- partialTerm: 2,
40
- };
41
- }
42
-
43
- // Global search result kind enum, used by themes to style search results.
44
- class SearchResultKind {
45
- static get index() { return "index"; }
46
- static get object() { return "object"; }
47
- static get text() { return "text"; }
48
- static get title() { return "title"; }
49
- }
50
-
51
- const _removeChildren = (element) => {
52
- while (element && element.lastChild) element.removeChild(element.lastChild);
53
- };
54
-
55
- /**
56
- * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping
57
- */
58
- const _escapeRegExp = (string) =>
59
- string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
60
-
61
- const _displayItem = (item, searchTerms, highlightTerms) => {
62
- const docBuilder = DOCUMENTATION_OPTIONS.BUILDER;
63
- const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX;
64
- const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX;
65
- const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY;
66
- const contentRoot = document.documentElement.dataset.content_root;
67
-
68
- const [docName, title, anchor, descr, score, _filename, kind] = item;
69
-
70
- let listItem = document.createElement("li");
71
- // Add a class representing the item's type:
72
- // can be used by a theme's CSS selector for styling
73
- // See SearchResultKind for the class names.
74
- listItem.classList.add(`kind-${kind}`);
75
- let requestUrl;
76
- let linkUrl;
77
- if (docBuilder === "dirhtml") {
78
- // dirhtml builder
79
- let dirname = docName + "/";
80
- if (dirname.match(/\/index\/$/))
81
- dirname = dirname.substring(0, dirname.length - 6);
82
- else if (dirname === "index/") dirname = "";
83
- requestUrl = contentRoot + dirname;
84
- linkUrl = requestUrl;
85
- } else {
86
- // normal html builders
87
- requestUrl = contentRoot + docName + docFileSuffix;
88
- linkUrl = docName + docLinkSuffix;
89
- }
90
- let linkEl = listItem.appendChild(document.createElement("a"));
91
- linkEl.href = linkUrl + anchor;
92
- linkEl.dataset.score = score;
93
- linkEl.innerHTML = title;
94
- if (descr) {
95
- listItem.appendChild(document.createElement("span")).innerHTML =
96
- " (" + descr + ")";
97
- // highlight search terms in the description
98
- if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js
99
- highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted"));
100
- }
101
- else if (showSearchSummary)
102
- fetch(requestUrl)
103
- .then((responseData) => responseData.text())
104
- .then((data) => {
105
- if (data)
106
- listItem.appendChild(
107
- Search.makeSearchSummary(data, searchTerms, anchor)
108
- );
109
- // highlight search terms in the summary
110
- if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js
111
- highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted"));
112
- });
113
- Search.output.appendChild(listItem);
114
- };
115
- const _finishSearch = (resultCount) => {
116
- Search.stopPulse();
117
- Search.title.innerText = _("Search Results");
118
- if (!resultCount)
119
- Search.status.innerText = Documentation.gettext(
120
- "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories."
121
- );
122
- else
123
- Search.status.innerText = Documentation.ngettext(
124
- "Search finished, found one page matching the search query.",
125
- "Search finished, found ${resultCount} pages matching the search query.",
126
- resultCount,
127
- ).replace('${resultCount}', resultCount);
128
- };
129
- const _displayNextItem = (
130
- results,
131
- resultCount,
132
- searchTerms,
133
- highlightTerms,
134
- ) => {
135
- // results left, load the summary and display it
136
- // this is intended to be dynamic (don't sub resultsCount)
137
- if (results.length) {
138
- _displayItem(results.pop(), searchTerms, highlightTerms);
139
- setTimeout(
140
- () => _displayNextItem(results, resultCount, searchTerms, highlightTerms),
141
- 5
142
- );
143
- }
144
- // search finished, update title and status message
145
- else _finishSearch(resultCount);
146
- };
147
- // Helper function used by query() to order search results.
148
- // Each input is an array of [docname, title, anchor, descr, score, filename, kind].
149
- // Order the results by score (in opposite order of appearance, since the
150
- // `_displayNextItem` function uses pop() to retrieve items) and then alphabetically.
151
- const _orderResultsByScoreThenName = (a, b) => {
152
- const leftScore = a[4];
153
- const rightScore = b[4];
154
- if (leftScore === rightScore) {
155
- // same score: sort alphabetically
156
- const leftTitle = a[1].toLowerCase();
157
- const rightTitle = b[1].toLowerCase();
158
- if (leftTitle === rightTitle) return 0;
159
- return leftTitle > rightTitle ? -1 : 1; // inverted is intentional
160
- }
161
- return leftScore > rightScore ? 1 : -1;
162
- };
163
-
164
- /**
165
- * Default splitQuery function. Can be overridden in ``sphinx.search`` with a
166
- * custom function per language.
167
- *
168
- * The regular expression works by splitting the string on consecutive characters
169
- * that are not Unicode letters, numbers, underscores, or emoji characters.
170
- * This is the same as ``\W+`` in Python, preserving the surrogate pair area.
171
- */
172
- if (typeof splitQuery === "undefined") {
173
- var splitQuery = (query) => query
174
- .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu)
175
- .filter(term => term) // remove remaining empty strings
176
- }
177
-
178
- /**
179
- * Search Module
180
- */
181
- const Search = {
182
- _index: null,
183
- _queued_query: null,
184
- _pulse_status: -1,
185
-
186
- htmlToText: (htmlString, anchor) => {
187
- const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html');
188
- for (const removalQuery of [".headerlink", "script", "style"]) {
189
- htmlElement.querySelectorAll(removalQuery).forEach((el) => { el.remove() });
190
- }
191
- if (anchor) {
192
- const anchorContent = htmlElement.querySelector(`[role="main"] ${anchor}`);
193
- if (anchorContent) return anchorContent.textContent;
194
-
195
- console.warn(
196
- `Anchored content block not found. Sphinx search tries to obtain it via DOM query '[role=main] ${anchor}'. Check your theme or template.`
197
- );
198
- }
199
-
200
- // if anchor not specified or not found, fall back to main content
201
- const docContent = htmlElement.querySelector('[role="main"]');
202
- if (docContent) return docContent.textContent;
203
-
204
- console.warn(
205
- "Content block not found. Sphinx search tries to obtain it via DOM query '[role=main]'. Check your theme or template."
206
- );
207
- return "";
208
- },
209
-
210
- init: () => {
211
- const query = new URLSearchParams(window.location.search).get("q");
212
- document
213
- .querySelectorAll('input[name="q"]')
214
- .forEach((el) => (el.value = query));
215
- if (query) Search.performSearch(query);
216
- },
217
-
218
- loadIndex: (url) =>
219
- (document.body.appendChild(document.createElement("script")).src = url),
220
-
221
- setIndex: (index) => {
222
- Search._index = index;
223
- if (Search._queued_query !== null) {
224
- const query = Search._queued_query;
225
- Search._queued_query = null;
226
- Search.query(query);
227
- }
228
- },
229
-
230
- hasIndex: () => Search._index !== null,
231
-
232
- deferQuery: (query) => (Search._queued_query = query),
233
-
234
- stopPulse: () => (Search._pulse_status = -1),
235
-
236
- startPulse: () => {
237
- if (Search._pulse_status >= 0) return;
238
-
239
- const pulse = () => {
240
- Search._pulse_status = (Search._pulse_status + 1) % 4;
241
- Search.dots.innerText = ".".repeat(Search._pulse_status);
242
- if (Search._pulse_status >= 0) window.setTimeout(pulse, 500);
243
- };
244
- pulse();
245
- },
246
-
247
- /**
248
- * perform a search for something (or wait until index is loaded)
249
- */
250
- performSearch: (query) => {
251
- // create the required interface elements
252
- const searchText = document.createElement("h2");
253
- searchText.textContent = _("Searching");
254
- const searchSummary = document.createElement("p");
255
- searchSummary.classList.add("search-summary");
256
- searchSummary.innerText = "";
257
- const searchList = document.createElement("ul");
258
- searchList.setAttribute("role", "list");
259
- searchList.classList.add("search");
260
-
261
- const out = document.getElementById("search-results");
262
- Search.title = out.appendChild(searchText);
263
- Search.dots = Search.title.appendChild(document.createElement("span"));
264
- Search.status = out.appendChild(searchSummary);
265
- Search.output = out.appendChild(searchList);
266
-
267
- const searchProgress = document.getElementById("search-progress");
268
- // Some themes don't use the search progress node
269
- if (searchProgress) {
270
- searchProgress.innerText = _("Preparing search...");
271
- }
272
- Search.startPulse();
273
-
274
- // index already loaded, the browser was quick!
275
- if (Search.hasIndex()) Search.query(query);
276
- else Search.deferQuery(query);
277
- },
278
-
279
- _parseQuery: (query) => {
280
- // stem the search terms and add them to the correct list
281
- const stemmer = new Stemmer();
282
- const searchTerms = new Set();
283
- const excludedTerms = new Set();
284
- const highlightTerms = new Set();
285
- const objectTerms = new Set(splitQuery(query.toLowerCase().trim()));
286
- splitQuery(query.trim()).forEach((queryTerm) => {
287
- const queryTermLower = queryTerm.toLowerCase();
288
-
289
- // maybe skip this "word"
290
- // stopwords array is from language_data.js
291
- if (
292
- stopwords.indexOf(queryTermLower) !== -1 ||
293
- queryTerm.match(/^\d+$/)
294
- )
295
- return;
296
-
297
- // stem the word
298
- let word = stemmer.stemWord(queryTermLower);
299
- // select the correct list
300
- if (word[0] === "-") excludedTerms.add(word.substr(1));
301
- else {
302
- searchTerms.add(word);
303
- highlightTerms.add(queryTermLower);
304
- }
305
- });
306
-
307
- if (SPHINX_HIGHLIGHT_ENABLED) { // set in sphinx_highlight.js
308
- localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" "))
309
- }
310
-
311
- // console.debug("SEARCH: searching for:");
312
- // console.info("required: ", [...searchTerms]);
313
- // console.info("excluded: ", [...excludedTerms]);
314
-
315
- return [query, searchTerms, excludedTerms, highlightTerms, objectTerms];
316
- },
317
-
318
- /**
319
- * execute search (requires search index to be loaded)
320
- */
321
- _performSearch: (query, searchTerms, excludedTerms, highlightTerms, objectTerms) => {
322
- const filenames = Search._index.filenames;
323
- const docNames = Search._index.docnames;
324
- const titles = Search._index.titles;
325
- const allTitles = Search._index.alltitles;
326
- const indexEntries = Search._index.indexentries;
327
-
328
- // Collect multiple result groups to be sorted separately and then ordered.
329
- // Each is an array of [docname, title, anchor, descr, score, filename, kind].
330
- const normalResults = [];
331
- const nonMainIndexResults = [];
332
-
333
- _removeChildren(document.getElementById("search-progress"));
334
-
335
- const queryLower = query.toLowerCase().trim();
336
- for (const [title, foundTitles] of Object.entries(allTitles)) {
337
- if (title.toLowerCase().trim().includes(queryLower) && (queryLower.length >= title.length/2)) {
338
- for (const [file, id] of foundTitles) {
339
- const score = Math.round(Scorer.title * queryLower.length / title.length);
340
- const boost = titles[file] === title ? 1 : 0; // add a boost for document titles
341
- normalResults.push([
342
- docNames[file],
343
- titles[file] !== title ? `${titles[file]} > ${title}` : title,
344
- id !== null ? "#" + id : "",
345
- null,
346
- score + boost,
347
- filenames[file],
348
- SearchResultKind.title,
349
- ]);
350
- }
351
- }
352
- }
353
-
354
- // search for explicit entries in index directives
355
- for (const [entry, foundEntries] of Object.entries(indexEntries)) {
356
- if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) {
357
- for (const [file, id, isMain] of foundEntries) {
358
- const score = Math.round(100 * queryLower.length / entry.length);
359
- const result = [
360
- docNames[file],
361
- titles[file],
362
- id ? "#" + id : "",
363
- null,
364
- score,
365
- filenames[file],
366
- SearchResultKind.index,
367
- ];
368
- if (isMain) {
369
- normalResults.push(result);
370
- } else {
371
- nonMainIndexResults.push(result);
372
- }
373
- }
374
- }
375
- }
376
-
377
- // lookup as object
378
- objectTerms.forEach((term) =>
379
- normalResults.push(...Search.performObjectSearch(term, objectTerms))
380
- );
381
-
382
- // lookup as search terms in fulltext
383
- normalResults.push(...Search.performTermsSearch(searchTerms, excludedTerms));
384
-
385
- // let the scorer override scores with a custom scoring function
386
- if (Scorer.score) {
387
- normalResults.forEach((item) => (item[4] = Scorer.score(item)));
388
- nonMainIndexResults.forEach((item) => (item[4] = Scorer.score(item)));
389
- }
390
-
391
- // Sort each group of results by score and then alphabetically by name.
392
- normalResults.sort(_orderResultsByScoreThenName);
393
- nonMainIndexResults.sort(_orderResultsByScoreThenName);
394
-
395
- // Combine the result groups in (reverse) order.
396
- // Non-main index entries are typically arbitrary cross-references,
397
- // so display them after other results.
398
- let results = [...nonMainIndexResults, ...normalResults];
399
-
400
- // remove duplicate search results
401
- // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept
402
- let seen = new Set();
403
- results = results.reverse().reduce((acc, result) => {
404
- let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(',');
405
- if (!seen.has(resultStr)) {
406
- acc.push(result);
407
- seen.add(resultStr);
408
- }
409
- return acc;
410
- }, []);
411
-
412
- return results.reverse();
413
- },
414
-
415
- query: (query) => {
416
- const [searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms] = Search._parseQuery(query);
417
- const results = Search._performSearch(searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms);
418
-
419
- // for debugging
420
- //Search.lastresults = results.slice(); // a copy
421
- // console.info("search results:", Search.lastresults);
422
-
423
- // print the results
424
- _displayNextItem(results, results.length, searchTerms, highlightTerms);
425
- },
426
-
427
- /**
428
- * search for object names
429
- */
430
- performObjectSearch: (object, objectTerms) => {
431
- const filenames = Search._index.filenames;
432
- const docNames = Search._index.docnames;
433
- const objects = Search._index.objects;
434
- const objNames = Search._index.objnames;
435
- const titles = Search._index.titles;
436
-
437
- const results = [];
438
-
439
- const objectSearchCallback = (prefix, match) => {
440
- const name = match[4]
441
- const fullname = (prefix ? prefix + "." : "") + name;
442
- const fullnameLower = fullname.toLowerCase();
443
- if (fullnameLower.indexOf(object) < 0) return;
444
-
445
- let score = 0;
446
- const parts = fullnameLower.split(".");
447
-
448
- // check for different match types: exact matches of full name or
449
- // "last name" (i.e. last dotted part)
450
- if (fullnameLower === object || parts.slice(-1)[0] === object)
451
- score += Scorer.objNameMatch;
452
- else if (parts.slice(-1)[0].indexOf(object) > -1)
453
- score += Scorer.objPartialMatch; // matches in last name
454
-
455
- const objName = objNames[match[1]][2];
456
- const title = titles[match[0]];
457
-
458
- // If more than one term searched for, we require other words to be
459
- // found in the name/title/description
460
- const otherTerms = new Set(objectTerms);
461
- otherTerms.delete(object);
462
- if (otherTerms.size > 0) {
463
- const haystack = `${prefix} ${name} ${objName} ${title}`.toLowerCase();
464
- if (
465
- [...otherTerms].some((otherTerm) => haystack.indexOf(otherTerm) < 0)
466
- )
467
- return;
468
- }
469
-
470
- let anchor = match[3];
471
- if (anchor === "") anchor = fullname;
472
- else if (anchor === "-") anchor = objNames[match[1]][1] + "-" + fullname;
473
-
474
- const descr = objName + _(", in ") + title;
475
-
476
- // add custom score for some objects according to scorer
477
- if (Scorer.objPrio.hasOwnProperty(match[2]))
478
- score += Scorer.objPrio[match[2]];
479
- else score += Scorer.objPrioDefault;
480
-
481
- results.push([
482
- docNames[match[0]],
483
- fullname,
484
- "#" + anchor,
485
- descr,
486
- score,
487
- filenames[match[0]],
488
- SearchResultKind.object,
489
- ]);
490
- };
491
- Object.keys(objects).forEach((prefix) =>
492
- objects[prefix].forEach((array) =>
493
- objectSearchCallback(prefix, array)
494
- )
495
- );
496
- return results;
497
- },
498
-
499
- /**
500
- * search for full-text terms in the index
501
- */
502
- performTermsSearch: (searchTerms, excludedTerms) => {
503
- // prepare search
504
- const terms = Search._index.terms;
505
- const titleTerms = Search._index.titleterms;
506
- const filenames = Search._index.filenames;
507
- const docNames = Search._index.docnames;
508
- const titles = Search._index.titles;
509
-
510
- const scoreMap = new Map();
511
- const fileMap = new Map();
512
-
513
- // perform the search on the required terms
514
- searchTerms.forEach((word) => {
515
- const files = [];
516
- const arr = [
517
- { files: terms[word], score: Scorer.term },
518
- { files: titleTerms[word], score: Scorer.title },
519
- ];
520
- // add support for partial matches
521
- if (word.length > 2) {
522
- const escapedWord = _escapeRegExp(word);
523
- if (!terms.hasOwnProperty(word)) {
524
- Object.keys(terms).forEach((term) => {
525
- if (term.match(escapedWord))
526
- arr.push({ files: terms[term], score: Scorer.partialTerm });
527
- });
528
- }
529
- if (!titleTerms.hasOwnProperty(word)) {
530
- Object.keys(titleTerms).forEach((term) => {
531
- if (term.match(escapedWord))
532
- arr.push({ files: titleTerms[term], score: Scorer.partialTitle });
533
- });
534
- }
535
- }
536
-
537
- // no match but word was a required one
538
- if (arr.every((record) => record.files === undefined)) return;
539
-
540
- // found search word in contents
541
- arr.forEach((record) => {
542
- if (record.files === undefined) return;
543
-
544
- let recordFiles = record.files;
545
- if (recordFiles.length === undefined) recordFiles = [recordFiles];
546
- files.push(...recordFiles);
547
-
548
- // set score for the word in each file
549
- recordFiles.forEach((file) => {
550
- if (!scoreMap.has(file)) scoreMap.set(file, {});
551
- scoreMap.get(file)[word] = record.score;
552
- });
553
- });
554
-
555
- // create the mapping
556
- files.forEach((file) => {
557
- if (!fileMap.has(file)) fileMap.set(file, [word]);
558
- else if (fileMap.get(file).indexOf(word) === -1) fileMap.get(file).push(word);
559
- });
560
- });
561
-
562
- // now check if the files don't contain excluded terms
563
- const results = [];
564
- for (const [file, wordList] of fileMap) {
565
- // check if all requirements are matched
566
-
567
- // as search terms with length < 3 are discarded
568
- const filteredTermCount = [...searchTerms].filter(
569
- (term) => term.length > 2
570
- ).length;
571
- if (
572
- wordList.length !== searchTerms.size &&
573
- wordList.length !== filteredTermCount
574
- )
575
- continue;
576
-
577
- // ensure that none of the excluded terms is in the search result
578
- if (
579
- [...excludedTerms].some(
580
- (term) =>
581
- terms[term] === file ||
582
- titleTerms[term] === file ||
583
- (terms[term] || []).includes(file) ||
584
- (titleTerms[term] || []).includes(file)
585
- )
586
- )
587
- break;
588
-
589
- // select one (max) score for the file.
590
- const score = Math.max(...wordList.map((w) => scoreMap.get(file)[w]));
591
- // add result to the result list
592
- results.push([
593
- docNames[file],
594
- titles[file],
595
- "",
596
- null,
597
- score,
598
- filenames[file],
599
- SearchResultKind.text,
600
- ]);
601
- }
602
- return results;
603
- },
604
-
605
- /**
606
- * helper function to return a node containing the
607
- * search summary for a given text. keywords is a list
608
- * of stemmed words.
609
- */
610
- makeSearchSummary: (htmlText, keywords, anchor) => {
611
- const text = Search.htmlToText(htmlText, anchor);
612
- if (text === "") return null;
613
-
614
- const textLower = text.toLowerCase();
615
- const actualStartPosition = [...keywords]
616
- .map((k) => textLower.indexOf(k.toLowerCase()))
617
- .filter((i) => i > -1)
618
- .slice(-1)[0];
619
- const startWithContext = Math.max(actualStartPosition - 120, 0);
620
-
621
- const top = startWithContext === 0 ? "" : "...";
622
- const tail = startWithContext + 240 < text.length ? "..." : "";
623
-
624
- let summary = document.createElement("p");
625
- summary.classList.add("context");
626
- summary.textContent = top + text.substr(startWithContext, 240).trim() + tail;
627
-
628
- return summary;
629
- },
630
- };
631
-
632
- _ready(Search.init);
1
+ /*
2
+ * Sphinx JavaScript utilities for the full-text search.
3
+ */
4
+ "use strict";
5
+
6
+ /**
7
+ * Simple result scoring code.
8
+ */
9
+ if (typeof Scorer === "undefined") {
10
+ var Scorer = {
11
+ // Implement the following function to further tweak the score for each result
12
+ // The function takes a result array [docname, title, anchor, descr, score, filename]
13
+ // and returns the new score.
14
+ /*
15
+ score: result => {
16
+ const [docname, title, anchor, descr, score, filename, kind] = result
17
+ return score
18
+ },
19
+ */
20
+
21
+ // query matches the full name of an object
22
+ objNameMatch: 11,
23
+ // or matches in the last dotted part of the object name
24
+ objPartialMatch: 6,
25
+ // Additive scores depending on the priority of the object
26
+ objPrio: {
27
+ 0: 15, // used to be importantResults
28
+ 1: 5, // used to be objectResults
29
+ 2: -5, // used to be unimportantResults
30
+ },
31
+ // Used when the priority is not in the mapping.
32
+ objPrioDefault: 0,
33
+
34
+ // query found in title
35
+ title: 15,
36
+ partialTitle: 7,
37
+ // query found in terms
38
+ term: 5,
39
+ partialTerm: 2,
40
+ };
41
+ }
42
+
43
+ // Global search result kind enum, used by themes to style search results.
44
+ class SearchResultKind {
45
+ static get index() { return "index"; }
46
+ static get object() { return "object"; }
47
+ static get text() { return "text"; }
48
+ static get title() { return "title"; }
49
+ }
50
+
51
+ const _removeChildren = (element) => {
52
+ while (element && element.lastChild) element.removeChild(element.lastChild);
53
+ };
54
+
55
+ /**
56
+ * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping
57
+ */
58
+ const _escapeRegExp = (string) =>
59
+ string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
60
+
61
+ const _displayItem = (item, searchTerms, highlightTerms) => {
62
+ const docBuilder = DOCUMENTATION_OPTIONS.BUILDER;
63
+ const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX;
64
+ const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX;
65
+ const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY;
66
+ const contentRoot = document.documentElement.dataset.content_root;
67
+
68
+ const [docName, title, anchor, descr, score, _filename, kind] = item;
69
+
70
+ let listItem = document.createElement("li");
71
+ // Add a class representing the item's type:
72
+ // can be used by a theme's CSS selector for styling
73
+ // See SearchResultKind for the class names.
74
+ listItem.classList.add(`kind-${kind}`);
75
+ let requestUrl;
76
+ let linkUrl;
77
+ if (docBuilder === "dirhtml") {
78
+ // dirhtml builder
79
+ let dirname = docName + "/";
80
+ if (dirname.match(/\/index\/$/))
81
+ dirname = dirname.substring(0, dirname.length - 6);
82
+ else if (dirname === "index/") dirname = "";
83
+ requestUrl = contentRoot + dirname;
84
+ linkUrl = requestUrl;
85
+ } else {
86
+ // normal html builders
87
+ requestUrl = contentRoot + docName + docFileSuffix;
88
+ linkUrl = docName + docLinkSuffix;
89
+ }
90
+ let linkEl = listItem.appendChild(document.createElement("a"));
91
+ linkEl.href = linkUrl + anchor;
92
+ linkEl.dataset.score = score;
93
+ linkEl.innerHTML = title;
94
+ if (descr) {
95
+ listItem.appendChild(document.createElement("span")).innerHTML =
96
+ " (" + descr + ")";
97
+ // highlight search terms in the description
98
+ if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js
99
+ highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted"));
100
+ }
101
+ else if (showSearchSummary)
102
+ fetch(requestUrl)
103
+ .then((responseData) => responseData.text())
104
+ .then((data) => {
105
+ if (data)
106
+ listItem.appendChild(
107
+ Search.makeSearchSummary(data, searchTerms, anchor)
108
+ );
109
+ // highlight search terms in the summary
110
+ if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js
111
+ highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted"));
112
+ });
113
+ Search.output.appendChild(listItem);
114
+ };
115
+ const _finishSearch = (resultCount) => {
116
+ Search.stopPulse();
117
+ Search.title.innerText = _("Search Results");
118
+ if (!resultCount)
119
+ Search.status.innerText = Documentation.gettext(
120
+ "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories."
121
+ );
122
+ else
123
+ Search.status.innerText = Documentation.ngettext(
124
+ "Search finished, found one page matching the search query.",
125
+ "Search finished, found ${resultCount} pages matching the search query.",
126
+ resultCount,
127
+ ).replace('${resultCount}', resultCount);
128
+ };
129
+ const _displayNextItem = (
130
+ results,
131
+ resultCount,
132
+ searchTerms,
133
+ highlightTerms,
134
+ ) => {
135
+ // results left, load the summary and display it
136
+ // this is intended to be dynamic (don't sub resultsCount)
137
+ if (results.length) {
138
+ _displayItem(results.pop(), searchTerms, highlightTerms);
139
+ setTimeout(
140
+ () => _displayNextItem(results, resultCount, searchTerms, highlightTerms),
141
+ 5
142
+ );
143
+ }
144
+ // search finished, update title and status message
145
+ else _finishSearch(resultCount);
146
+ };
147
+ // Helper function used by query() to order search results.
148
+ // Each input is an array of [docname, title, anchor, descr, score, filename, kind].
149
+ // Order the results by score (in opposite order of appearance, since the
150
+ // `_displayNextItem` function uses pop() to retrieve items) and then alphabetically.
151
+ const _orderResultsByScoreThenName = (a, b) => {
152
+ const leftScore = a[4];
153
+ const rightScore = b[4];
154
+ if (leftScore === rightScore) {
155
+ // same score: sort alphabetically
156
+ const leftTitle = a[1].toLowerCase();
157
+ const rightTitle = b[1].toLowerCase();
158
+ if (leftTitle === rightTitle) return 0;
159
+ return leftTitle > rightTitle ? -1 : 1; // inverted is intentional
160
+ }
161
+ return leftScore > rightScore ? 1 : -1;
162
+ };
163
+
164
+ /**
165
+ * Default splitQuery function. Can be overridden in ``sphinx.search`` with a
166
+ * custom function per language.
167
+ *
168
+ * The regular expression works by splitting the string on consecutive characters
169
+ * that are not Unicode letters, numbers, underscores, or emoji characters.
170
+ * This is the same as ``\W+`` in Python, preserving the surrogate pair area.
171
+ */
172
+ if (typeof splitQuery === "undefined") {
173
+ var splitQuery = (query) => query
174
+ .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu)
175
+ .filter(term => term) // remove remaining empty strings
176
+ }
177
+
178
+ /**
179
+ * Search Module
180
+ */
181
+ const Search = {
182
+ _index: null,
183
+ _queued_query: null,
184
+ _pulse_status: -1,
185
+
186
+ htmlToText: (htmlString, anchor) => {
187
+ const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html');
188
+ for (const removalQuery of [".headerlink", "script", "style"]) {
189
+ htmlElement.querySelectorAll(removalQuery).forEach((el) => { el.remove() });
190
+ }
191
+ if (anchor) {
192
+ const anchorContent = htmlElement.querySelector(`[role="main"] ${anchor}`);
193
+ if (anchorContent) return anchorContent.textContent;
194
+
195
+ console.warn(
196
+ `Anchored content block not found. Sphinx search tries to obtain it via DOM query '[role=main] ${anchor}'. Check your theme or template.`
197
+ );
198
+ }
199
+
200
+ // if anchor not specified or not found, fall back to main content
201
+ const docContent = htmlElement.querySelector('[role="main"]');
202
+ if (docContent) return docContent.textContent;
203
+
204
+ console.warn(
205
+ "Content block not found. Sphinx search tries to obtain it via DOM query '[role=main]'. Check your theme or template."
206
+ );
207
+ return "";
208
+ },
209
+
210
+ init: () => {
211
+ const query = new URLSearchParams(window.location.search).get("q");
212
+ document
213
+ .querySelectorAll('input[name="q"]')
214
+ .forEach((el) => (el.value = query));
215
+ if (query) Search.performSearch(query);
216
+ },
217
+
218
+ loadIndex: (url) =>
219
+ (document.body.appendChild(document.createElement("script")).src = url),
220
+
221
+ setIndex: (index) => {
222
+ Search._index = index;
223
+ if (Search._queued_query !== null) {
224
+ const query = Search._queued_query;
225
+ Search._queued_query = null;
226
+ Search.query(query);
227
+ }
228
+ },
229
+
230
+ hasIndex: () => Search._index !== null,
231
+
232
+ deferQuery: (query) => (Search._queued_query = query),
233
+
234
+ stopPulse: () => (Search._pulse_status = -1),
235
+
236
+ startPulse: () => {
237
+ if (Search._pulse_status >= 0) return;
238
+
239
+ const pulse = () => {
240
+ Search._pulse_status = (Search._pulse_status + 1) % 4;
241
+ Search.dots.innerText = ".".repeat(Search._pulse_status);
242
+ if (Search._pulse_status >= 0) window.setTimeout(pulse, 500);
243
+ };
244
+ pulse();
245
+ },
246
+
247
+ /**
248
+ * perform a search for something (or wait until index is loaded)
249
+ */
250
+ performSearch: (query) => {
251
+ // create the required interface elements
252
+ const searchText = document.createElement("h2");
253
+ searchText.textContent = _("Searching");
254
+ const searchSummary = document.createElement("p");
255
+ searchSummary.classList.add("search-summary");
256
+ searchSummary.innerText = "";
257
+ const searchList = document.createElement("ul");
258
+ searchList.setAttribute("role", "list");
259
+ searchList.classList.add("search");
260
+
261
+ const out = document.getElementById("search-results");
262
+ Search.title = out.appendChild(searchText);
263
+ Search.dots = Search.title.appendChild(document.createElement("span"));
264
+ Search.status = out.appendChild(searchSummary);
265
+ Search.output = out.appendChild(searchList);
266
+
267
+ const searchProgress = document.getElementById("search-progress");
268
+ // Some themes don't use the search progress node
269
+ if (searchProgress) {
270
+ searchProgress.innerText = _("Preparing search...");
271
+ }
272
+ Search.startPulse();
273
+
274
+ // index already loaded, the browser was quick!
275
+ if (Search.hasIndex()) Search.query(query);
276
+ else Search.deferQuery(query);
277
+ },
278
+
279
+ _parseQuery: (query) => {
280
+ // stem the search terms and add them to the correct list
281
+ const stemmer = new Stemmer();
282
+ const searchTerms = new Set();
283
+ const excludedTerms = new Set();
284
+ const highlightTerms = new Set();
285
+ const objectTerms = new Set(splitQuery(query.toLowerCase().trim()));
286
+ splitQuery(query.trim()).forEach((queryTerm) => {
287
+ const queryTermLower = queryTerm.toLowerCase();
288
+
289
+ // maybe skip this "word"
290
+ // stopwords array is from language_data.js
291
+ if (
292
+ stopwords.indexOf(queryTermLower) !== -1 ||
293
+ queryTerm.match(/^\d+$/)
294
+ )
295
+ return;
296
+
297
+ // stem the word
298
+ let word = stemmer.stemWord(queryTermLower);
299
+ // select the correct list
300
+ if (word[0] === "-") excludedTerms.add(word.substr(1));
301
+ else {
302
+ searchTerms.add(word);
303
+ highlightTerms.add(queryTermLower);
304
+ }
305
+ });
306
+
307
+ if (SPHINX_HIGHLIGHT_ENABLED) { // set in sphinx_highlight.js
308
+ localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" "))
309
+ }
310
+
311
+ // console.debug("SEARCH: searching for:");
312
+ // console.info("required: ", [...searchTerms]);
313
+ // console.info("excluded: ", [...excludedTerms]);
314
+
315
+ return [query, searchTerms, excludedTerms, highlightTerms, objectTerms];
316
+ },
317
+
318
+ /**
319
+ * execute search (requires search index to be loaded)
320
+ */
321
+ _performSearch: (query, searchTerms, excludedTerms, highlightTerms, objectTerms) => {
322
+ const filenames = Search._index.filenames;
323
+ const docNames = Search._index.docnames;
324
+ const titles = Search._index.titles;
325
+ const allTitles = Search._index.alltitles;
326
+ const indexEntries = Search._index.indexentries;
327
+
328
+ // Collect multiple result groups to be sorted separately and then ordered.
329
+ // Each is an array of [docname, title, anchor, descr, score, filename, kind].
330
+ const normalResults = [];
331
+ const nonMainIndexResults = [];
332
+
333
+ _removeChildren(document.getElementById("search-progress"));
334
+
335
+ const queryLower = query.toLowerCase().trim();
336
+ for (const [title, foundTitles] of Object.entries(allTitles)) {
337
+ if (title.toLowerCase().trim().includes(queryLower) && (queryLower.length >= title.length/2)) {
338
+ for (const [file, id] of foundTitles) {
339
+ const score = Math.round(Scorer.title * queryLower.length / title.length);
340
+ const boost = titles[file] === title ? 1 : 0; // add a boost for document titles
341
+ normalResults.push([
342
+ docNames[file],
343
+ titles[file] !== title ? `${titles[file]} > ${title}` : title,
344
+ id !== null ? "#" + id : "",
345
+ null,
346
+ score + boost,
347
+ filenames[file],
348
+ SearchResultKind.title,
349
+ ]);
350
+ }
351
+ }
352
+ }
353
+
354
+ // search for explicit entries in index directives
355
+ for (const [entry, foundEntries] of Object.entries(indexEntries)) {
356
+ if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) {
357
+ for (const [file, id, isMain] of foundEntries) {
358
+ const score = Math.round(100 * queryLower.length / entry.length);
359
+ const result = [
360
+ docNames[file],
361
+ titles[file],
362
+ id ? "#" + id : "",
363
+ null,
364
+ score,
365
+ filenames[file],
366
+ SearchResultKind.index,
367
+ ];
368
+ if (isMain) {
369
+ normalResults.push(result);
370
+ } else {
371
+ nonMainIndexResults.push(result);
372
+ }
373
+ }
374
+ }
375
+ }
376
+
377
+ // lookup as object
378
+ objectTerms.forEach((term) =>
379
+ normalResults.push(...Search.performObjectSearch(term, objectTerms))
380
+ );
381
+
382
+ // lookup as search terms in fulltext
383
+ normalResults.push(...Search.performTermsSearch(searchTerms, excludedTerms));
384
+
385
+ // let the scorer override scores with a custom scoring function
386
+ if (Scorer.score) {
387
+ normalResults.forEach((item) => (item[4] = Scorer.score(item)));
388
+ nonMainIndexResults.forEach((item) => (item[4] = Scorer.score(item)));
389
+ }
390
+
391
+ // Sort each group of results by score and then alphabetically by name.
392
+ normalResults.sort(_orderResultsByScoreThenName);
393
+ nonMainIndexResults.sort(_orderResultsByScoreThenName);
394
+
395
+ // Combine the result groups in (reverse) order.
396
+ // Non-main index entries are typically arbitrary cross-references,
397
+ // so display them after other results.
398
+ let results = [...nonMainIndexResults, ...normalResults];
399
+
400
+ // remove duplicate search results
401
+ // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept
402
+ let seen = new Set();
403
+ results = results.reverse().reduce((acc, result) => {
404
+ let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(',');
405
+ if (!seen.has(resultStr)) {
406
+ acc.push(result);
407
+ seen.add(resultStr);
408
+ }
409
+ return acc;
410
+ }, []);
411
+
412
+ return results.reverse();
413
+ },
414
+
415
+ query: (query) => {
416
+ const [searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms] = Search._parseQuery(query);
417
+ const results = Search._performSearch(searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms);
418
+
419
+ // for debugging
420
+ //Search.lastresults = results.slice(); // a copy
421
+ // console.info("search results:", Search.lastresults);
422
+
423
+ // print the results
424
+ _displayNextItem(results, results.length, searchTerms, highlightTerms);
425
+ },
426
+
427
+ /**
428
+ * search for object names
429
+ */
430
+ performObjectSearch: (object, objectTerms) => {
431
+ const filenames = Search._index.filenames;
432
+ const docNames = Search._index.docnames;
433
+ const objects = Search._index.objects;
434
+ const objNames = Search._index.objnames;
435
+ const titles = Search._index.titles;
436
+
437
+ const results = [];
438
+
439
+ const objectSearchCallback = (prefix, match) => {
440
+ const name = match[4]
441
+ const fullname = (prefix ? prefix + "." : "") + name;
442
+ const fullnameLower = fullname.toLowerCase();
443
+ if (fullnameLower.indexOf(object) < 0) return;
444
+
445
+ let score = 0;
446
+ const parts = fullnameLower.split(".");
447
+
448
+ // check for different match types: exact matches of full name or
449
+ // "last name" (i.e. last dotted part)
450
+ if (fullnameLower === object || parts.slice(-1)[0] === object)
451
+ score += Scorer.objNameMatch;
452
+ else if (parts.slice(-1)[0].indexOf(object) > -1)
453
+ score += Scorer.objPartialMatch; // matches in last name
454
+
455
+ const objName = objNames[match[1]][2];
456
+ const title = titles[match[0]];
457
+
458
+ // If more than one term searched for, we require other words to be
459
+ // found in the name/title/description
460
+ const otherTerms = new Set(objectTerms);
461
+ otherTerms.delete(object);
462
+ if (otherTerms.size > 0) {
463
+ const haystack = `${prefix} ${name} ${objName} ${title}`.toLowerCase();
464
+ if (
465
+ [...otherTerms].some((otherTerm) => haystack.indexOf(otherTerm) < 0)
466
+ )
467
+ return;
468
+ }
469
+
470
+ let anchor = match[3];
471
+ if (anchor === "") anchor = fullname;
472
+ else if (anchor === "-") anchor = objNames[match[1]][1] + "-" + fullname;
473
+
474
+ const descr = objName + _(", in ") + title;
475
+
476
+ // add custom score for some objects according to scorer
477
+ if (Scorer.objPrio.hasOwnProperty(match[2]))
478
+ score += Scorer.objPrio[match[2]];
479
+ else score += Scorer.objPrioDefault;
480
+
481
+ results.push([
482
+ docNames[match[0]],
483
+ fullname,
484
+ "#" + anchor,
485
+ descr,
486
+ score,
487
+ filenames[match[0]],
488
+ SearchResultKind.object,
489
+ ]);
490
+ };
491
+ Object.keys(objects).forEach((prefix) =>
492
+ objects[prefix].forEach((array) =>
493
+ objectSearchCallback(prefix, array)
494
+ )
495
+ );
496
+ return results;
497
+ },
498
+
499
+ /**
500
+ * search for full-text terms in the index
501
+ */
502
+ performTermsSearch: (searchTerms, excludedTerms) => {
503
+ // prepare search
504
+ const terms = Search._index.terms;
505
+ const titleTerms = Search._index.titleterms;
506
+ const filenames = Search._index.filenames;
507
+ const docNames = Search._index.docnames;
508
+ const titles = Search._index.titles;
509
+
510
+ const scoreMap = new Map();
511
+ const fileMap = new Map();
512
+
513
+ // perform the search on the required terms
514
+ searchTerms.forEach((word) => {
515
+ const files = [];
516
+ const arr = [
517
+ { files: terms[word], score: Scorer.term },
518
+ { files: titleTerms[word], score: Scorer.title },
519
+ ];
520
+ // add support for partial matches
521
+ if (word.length > 2) {
522
+ const escapedWord = _escapeRegExp(word);
523
+ if (!terms.hasOwnProperty(word)) {
524
+ Object.keys(terms).forEach((term) => {
525
+ if (term.match(escapedWord))
526
+ arr.push({ files: terms[term], score: Scorer.partialTerm });
527
+ });
528
+ }
529
+ if (!titleTerms.hasOwnProperty(word)) {
530
+ Object.keys(titleTerms).forEach((term) => {
531
+ if (term.match(escapedWord))
532
+ arr.push({ files: titleTerms[term], score: Scorer.partialTitle });
533
+ });
534
+ }
535
+ }
536
+
537
+ // no match but word was a required one
538
+ if (arr.every((record) => record.files === undefined)) return;
539
+
540
+ // found search word in contents
541
+ arr.forEach((record) => {
542
+ if (record.files === undefined) return;
543
+
544
+ let recordFiles = record.files;
545
+ if (recordFiles.length === undefined) recordFiles = [recordFiles];
546
+ files.push(...recordFiles);
547
+
548
+ // set score for the word in each file
549
+ recordFiles.forEach((file) => {
550
+ if (!scoreMap.has(file)) scoreMap.set(file, {});
551
+ scoreMap.get(file)[word] = record.score;
552
+ });
553
+ });
554
+
555
+ // create the mapping
556
+ files.forEach((file) => {
557
+ if (!fileMap.has(file)) fileMap.set(file, [word]);
558
+ else if (fileMap.get(file).indexOf(word) === -1) fileMap.get(file).push(word);
559
+ });
560
+ });
561
+
562
+ // now check if the files don't contain excluded terms
563
+ const results = [];
564
+ for (const [file, wordList] of fileMap) {
565
+ // check if all requirements are matched
566
+
567
+ // as search terms with length < 3 are discarded
568
+ const filteredTermCount = [...searchTerms].filter(
569
+ (term) => term.length > 2
570
+ ).length;
571
+ if (
572
+ wordList.length !== searchTerms.size &&
573
+ wordList.length !== filteredTermCount
574
+ )
575
+ continue;
576
+
577
+ // ensure that none of the excluded terms is in the search result
578
+ if (
579
+ [...excludedTerms].some(
580
+ (term) =>
581
+ terms[term] === file ||
582
+ titleTerms[term] === file ||
583
+ (terms[term] || []).includes(file) ||
584
+ (titleTerms[term] || []).includes(file)
585
+ )
586
+ )
587
+ break;
588
+
589
+ // select one (max) score for the file.
590
+ const score = Math.max(...wordList.map((w) => scoreMap.get(file)[w]));
591
+ // add result to the result list
592
+ results.push([
593
+ docNames[file],
594
+ titles[file],
595
+ "",
596
+ null,
597
+ score,
598
+ filenames[file],
599
+ SearchResultKind.text,
600
+ ]);
601
+ }
602
+ return results;
603
+ },
604
+
605
+ /**
606
+ * helper function to return a node containing the
607
+ * search summary for a given text. keywords is a list
608
+ * of stemmed words.
609
+ */
610
+ makeSearchSummary: (htmlText, keywords, anchor) => {
611
+ const text = Search.htmlToText(htmlText, anchor);
612
+ if (text === "") return null;
613
+
614
+ const textLower = text.toLowerCase();
615
+ const actualStartPosition = [...keywords]
616
+ .map((k) => textLower.indexOf(k.toLowerCase()))
617
+ .filter((i) => i > -1)
618
+ .slice(-1)[0];
619
+ const startWithContext = Math.max(actualStartPosition - 120, 0);
620
+
621
+ const top = startWithContext === 0 ? "" : "...";
622
+ const tail = startWithContext + 240 < text.length ? "..." : "";
623
+
624
+ let summary = document.createElement("p");
625
+ summary.classList.add("context");
626
+ summary.textContent = top + text.substr(startWithContext, 240).trim() + tail;
627
+
628
+ return summary;
629
+ },
630
+ };
631
+
632
+ _ready(Search.init);