pareto 0.56.0 → 0.58.0

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 (219) hide show
  1. package/auto.dist/index.d.ts +5 -3
  2. package/auto.dist/index.js +7 -5
  3. package/auto.dist/public/modules/alan__light__serialize/auto.api.js +3 -0
  4. package/auto.dist/public/{fountain__pen → modules/alan__light__serialize}/auto.implementation.js +1 -1
  5. package/auto.dist/public/modules/alan__light__serialize/auto.provided_interface_glossary.d.ts +705 -0
  6. package/auto.dist/public/modules/alan__light__serialize/auto.provided_interface_glossary.js +3 -0
  7. package/auto.dist/public/modules/alan__light__serialize/auto.provided_interface_glossary.shadow.d.ts +34 -0
  8. package/auto.dist/public/modules/alan__light__serialize/auto.provided_interface_glossary.shadow.js +3 -0
  9. package/auto.dist/public/modules/alan__light__serialize/implementations/serialize.alg.js +115 -0
  10. package/auto.dist/public/modules/alan__light__serialize/index.js +19 -0
  11. package/auto.dist/public/{pareto__2__typescript → modules/pareto2typescript}/auto.api.js +1 -1
  12. package/auto.dist/public/{pareto__2__typescript → modules/pareto2typescript}/auto.implementation.js +1 -1
  13. package/auto.dist/public/{pareto__2__typescript → modules/pareto2typescript}/auto.provided_interface_glossary.d.ts +45 -8
  14. package/auto.dist/public/{cosmos__2__pareto → modules/pareto2typescript}/auto.provided_interface_glossary.js +1 -1
  15. package/auto.dist/public/{pareto__2__typescript → modules/pareto2typescript}/auto.provided_interface_glossary.shadow.d.ts +4 -0
  16. package/auto.dist/public/modules/pareto2typescript/auto.provided_interface_glossary.shadow.js +3 -0
  17. package/auto.dist/public/modules/pareto2typescript/implementations/serializeCompilationUnit.alg.js +529 -0
  18. package/auto.dist/public/{cosmos__2__pareto → modules/pareto2typescript}/index.js +1 -1
  19. package/auto.dist/public/{cosmos__2__pareto → modules/tendril2alan__light}/auto.api.d.ts +1 -1
  20. package/auto.dist/public/{cosmos__2__pareto → modules/tendril2alan__light}/auto.api.js +1 -1
  21. package/auto.dist/public/modules/tendril2alan__light/auto.implementation.d.ts +2 -0
  22. package/auto.dist/public/modules/tendril2alan__light/auto.implementation.js +6 -0
  23. package/auto.dist/public/modules/tendril2alan__light/auto.provided_interface_glossary.d.ts +1583 -0
  24. package/auto.dist/public/{fountain__pen → modules/tendril2alan__light}/auto.provided_interface_glossary.js +1 -1
  25. package/auto.dist/public/{cosmos__2__pareto → modules/tendril2alan__light}/auto.provided_interface_glossary.shadow.d.ts +3 -3
  26. package/auto.dist/public/modules/tendril2alan__light/auto.provided_interface_glossary.shadow.js +3 -0
  27. package/auto.dist/public/modules/tendril2alan__light/implementations/map.alg.d.ts +2 -0
  28. package/auto.dist/public/modules/tendril2alan__light/implementations/map.alg.js +141 -0
  29. package/auto.dist/public/{pareto__2__typescript → modules/tendril2alan__light}/index.js +1 -1
  30. package/auto.dist/public/modules/typescript__naming/auto.api.d.ts +6 -0
  31. package/auto.dist/public/{fountain__pen → modules/typescript__naming}/auto.api.js +1 -1
  32. package/auto.dist/public/modules/typescript__naming/auto.implementation.d.ts +2 -0
  33. package/auto.dist/public/modules/typescript__naming/auto.implementation.js +6 -0
  34. package/auto.dist/public/modules/typescript__naming/auto.provided_interface_glossary.d.ts +9 -0
  35. package/auto.dist/public/{pareto__2__typescript → modules/typescript__naming}/auto.provided_interface_glossary.js +1 -1
  36. package/auto.dist/public/{fountain__pen → modules/typescript__naming}/auto.provided_interface_glossary.shadow.d.ts +1 -1
  37. package/auto.dist/public/modules/typescript__naming/auto.provided_interface_glossary.shadow.js +3 -0
  38. package/auto.dist/public/modules/typescript__naming/implementations/createIdentifier.alg.d.ts +2 -0
  39. package/auto.dist/public/modules/typescript__naming/implementations/createIdentifier.alg.js +248 -0
  40. package/auto.dist/public/modules/typescript__naming/index.d.ts +2 -0
  41. package/auto.dist/public/{fountain__pen → modules/typescript__naming}/index.js +1 -1
  42. package/auto.dist/public/modules/typescript__serialize/auto.api.d.ts +8 -0
  43. package/auto.dist/public/modules/typescript__serialize/auto.api.js +3 -0
  44. package/auto.dist/public/modules/typescript__serialize/auto.implementation.d.ts +4 -0
  45. package/auto.dist/public/modules/typescript__serialize/auto.implementation.js +10 -0
  46. package/auto.dist/public/modules/typescript__serialize/auto.provided_interface_glossary.d.ts +11 -0
  47. package/auto.dist/public/modules/typescript__serialize/auto.provided_interface_glossary.js +3 -0
  48. package/auto.dist/public/modules/typescript__serialize/auto.provided_interface_glossary.shadow.d.ts +11 -0
  49. package/auto.dist/public/modules/typescript__serialize/auto.provided_interface_glossary.shadow.js +3 -0
  50. package/auto.dist/public/modules/typescript__serialize/implementations/createApostrophedString.alg.d.ts +2 -0
  51. package/auto.dist/public/modules/typescript__serialize/implementations/createApostrophedString.alg.js +62 -0
  52. package/auto.dist/public/modules/typescript__serialize/implementations/createBacktickedString.alg.d.ts +2 -0
  53. package/auto.dist/public/modules/typescript__serialize/implementations/createBacktickedString.alg.js +62 -0
  54. package/auto.dist/public/modules/typescript__serialize/implementations/createQuotedString.alg.d.ts +2 -0
  55. package/auto.dist/public/modules/typescript__serialize/implementations/createQuotedString.alg.js +45 -0
  56. package/auto.dist/public/modules/typescript__serialize/implementations/escape.alg.d.ts +0 -0
  57. package/auto.dist/public/modules/typescript__serialize/implementations/escape.alg.js +20 -0
  58. package/auto.dist/public/modules/typescript__serialize/index.d.ts +2 -0
  59. package/auto.dist/public/modules/typescript__serialize/index.js +19 -0
  60. package/auto.pareto/$.data.ts +13 -19
  61. package/auto.pareto/auto.dependencies/index.ts +6 -4
  62. package/auto.pareto/auto.dependencies/pareto-pure/$.data.ts +65 -0
  63. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/index.ts +7 -0
  64. package/auto.pareto/auto.dependencies/{pareto-standard-impure-library → pareto-pure/auto.dependencies/pareto-standard-library}/$.data.ts +3 -15
  65. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/arithmetic/api.data.ts +19 -0
  66. package/auto.pareto/auto.dependencies/{pareto-standard-impure-library → pareto-pure/auto.dependencies/pareto-standard-library}/modules/arithmetic/glossary.data.ts +2 -2
  67. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/array/api.data.ts +19 -0
  68. package/auto.pareto/auto.dependencies/{pareto-standard-impure-library → pareto-pure/auto.dependencies/pareto-standard-library}/modules/array/glossary.data.ts +11 -19
  69. package/auto.pareto/auto.dependencies/{pareto-standard-impure-library → pareto-pure/auto.dependencies/pareto-standard-library}/modules/boolean/api.data.ts +3 -3
  70. package/auto.pareto/auto.dependencies/{pareto-standard-impure-library → pareto-pure/auto.dependencies/pareto-standard-library}/modules/boolean/glossary.data.ts +2 -2
  71. package/auto.pareto/auto.dependencies/{pareto-standard-impure-library → pareto-pure/auto.dependencies/pareto-standard-library}/modules/build/api.data.ts +3 -3
  72. package/auto.pareto/auto.dependencies/{pareto-standard-impure-library → pareto-pure/auto.dependencies/pareto-standard-library}/modules/build/glossary.data.ts +2 -2
  73. package/auto.pareto/auto.dependencies/{pareto-standard-impure-library → pareto-pure/auto.dependencies/pareto-standard-library}/modules/dictionary/api.data.ts +5 -16
  74. package/auto.pareto/auto.dependencies/{pareto-standard-impure-library → pareto-pure/auto.dependencies/pareto-standard-library}/modules/dictionary/glossary.data.ts +9 -20
  75. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/json/api.data.ts +15 -0
  76. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/json/glossary.data.ts +47 -0
  77. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/nested/api.data.ts +15 -0
  78. package/auto.pareto/auto.dependencies/{pareto-standard-impure-library → pareto-pure/auto.dependencies/pareto-standard-library}/modules/nested/glossary.data.ts +2 -2
  79. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/resolve/api.data.ts +15 -0
  80. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/resolve/glossary.data.ts +52 -0
  81. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/string/api.data.ts +17 -0
  82. package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/string/glossary.data.ts +39 -0
  83. package/auto.pareto/auto.dependencies/{pareto-standard-impure-library → pareto-pure/auto.dependencies/pareto-standard-library}/modules/tostring/api.data.ts +3 -3
  84. package/auto.pareto/auto.dependencies/{pareto-standard-impure-library → pareto-pure/auto.dependencies/pareto-standard-library}/modules/tostring/glossary.data.ts +2 -2
  85. package/auto.pareto/auto.dependencies/pareto-pure/glossaries/auto.alan.data.ts +441 -0
  86. package/auto.pareto/auto.dependencies/pareto-pure/glossaries/auto.alan_light.data.ts +441 -0
  87. package/auto.pareto/{glossaries → auto.dependencies/pareto-pure/glossaries}/auto.cosmos_type_system.data.ts +20 -13
  88. package/auto.pareto/auto.dependencies/pareto-pure/glossaries/auto.cosmos_typescript.data.ts +122 -0
  89. package/auto.pareto/{glossaries → auto.dependencies/pareto-pure/glossaries}/auto.grammar.data.ts +1 -1
  90. package/auto.pareto/{glossaries → auto.dependencies/pareto-pure/glossaries}/auto.liana.data.ts +1 -1
  91. package/auto.pareto/{glossaries → auto.dependencies/pareto-pure/glossaries}/auto.pareto.data.ts +1 -1
  92. package/auto.pareto/{glossaries → auto.dependencies/pareto-pure/glossaries}/auto.tendril.data.ts +18 -181
  93. package/auto.pareto/auto.dependencies/pareto-pure/glossaries/auto.tendril_resolved.data.ts +862 -0
  94. package/auto.pareto/{modules → auto.dependencies/pareto-pure/modules}/cosmos2pareto/api.data.ts +2 -2
  95. package/auto.pareto/{modules → auto.dependencies/pareto-pure/modules}/cosmos2pareto/glossary.data.ts +5 -13
  96. package/auto.pareto/auto.dependencies/pareto-pure/modules/fountain_pen/api.data.ts +19 -0
  97. package/auto.pareto/auto.dependencies/pareto-pure/modules/fountain_pen/glossary.data.ts +55 -0
  98. package/auto.pareto/auto.dependencies/pareto-pure/modules/liana2tendril/api.data.ts +24 -0
  99. package/auto.pareto/auto.dependencies/pareto-pure/modules/liana2tendril/glossary.data.ts +48 -0
  100. package/auto.pareto/auto.dependencies/pareto-pure/modules/tendril2cosmos_type_system/api.data.ts +16 -0
  101. package/auto.pareto/auto.dependencies/pareto-pure/modules/tendril2cosmos_type_system/glossary.data.ts +73 -0
  102. package/auto.pareto/auto.dependencies/pareto-pure/modules/tendril2pareto/api.data.ts +16 -0
  103. package/auto.pareto/auto.dependencies/pareto-pure/modules/tendril2pareto/glossary.data.ts +33 -0
  104. package/auto.pareto/auto.dependencies/pareto-pure/modules/testresult/api.data.ts +26 -0
  105. package/auto.pareto/auto.dependencies/pareto-pure/modules/testresult/glossary.data.ts +144 -0
  106. package/auto.pareto/auto.dependencies/pareto-standard-library/$.data.ts +46 -0
  107. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/arithmetic/api.data.ts +19 -0
  108. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/arithmetic/glossary.data.ts +76 -0
  109. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/array/api.data.ts +19 -0
  110. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/array/glossary.data.ts +52 -0
  111. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/boolean/api.data.ts +21 -0
  112. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/boolean/glossary.data.ts +45 -0
  113. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/build/api.data.ts +25 -0
  114. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/build/glossary.data.ts +133 -0
  115. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/dictionary/api.data.ts +49 -0
  116. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/dictionary/glossary.data.ts +119 -0
  117. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/json/api.data.ts +15 -0
  118. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/json/glossary.data.ts +47 -0
  119. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/nested/api.data.ts +15 -0
  120. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/nested/glossary.data.ts +29 -0
  121. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/resolve/api.data.ts +15 -0
  122. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/resolve/glossary.data.ts +52 -0
  123. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/string/api.data.ts +17 -0
  124. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/string/glossary.data.ts +39 -0
  125. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/tostring/api.data.ts +19 -0
  126. package/auto.pareto/auto.dependencies/pareto-standard-library/modules/tostring/glossary.data.ts +42 -0
  127. package/auto.pareto/auto.dependencies/pareto-subatomic-library/$.data.ts +36 -0
  128. package/auto.pareto/auto.dependencies/pareto-subatomic-library/modules/array/api.data.ts +23 -0
  129. package/auto.pareto/auto.dependencies/pareto-subatomic-library/modules/array/glossary.data.ts +88 -0
  130. package/auto.pareto/auto.dependencies/pareto-subatomic-library/modules/dictionary/api.data.ts +27 -0
  131. package/auto.pareto/auto.dependencies/pareto-subatomic-library/modules/dictionary/glossary.data.ts +82 -0
  132. package/auto.pareto/auto.dependencies/{pareto-standard-impure-library → pareto-subatomic-library}/modules/json/api.data.ts +3 -3
  133. package/auto.pareto/auto.dependencies/{pareto-standard-impure-library → pareto-subatomic-library}/modules/json/glossary.data.ts +8 -8
  134. package/auto.pareto/auto.dependencies/{pareto-standard-impure-library → pareto-subatomic-library}/modules/numerical_predicates/api.data.ts +3 -3
  135. package/auto.pareto/auto.dependencies/{pareto-standard-impure-library → pareto-subatomic-library}/modules/numerical_predicates/glossary.data.ts +2 -2
  136. package/auto.pareto/auto.dependencies/pareto-subatomic-library/modules/string/api.data.ts +42 -0
  137. package/auto.pareto/auto.dependencies/pareto-subatomic-library/modules/string/glossary.data.ts +109 -0
  138. package/auto.pareto/modules/alan_light_serialize/api.data.ts +15 -0
  139. package/auto.pareto/modules/alan_light_serialize/glossary.data.ts +41 -0
  140. package/auto.pareto/modules/pareto2typescript/api.data.ts +10 -13
  141. package/auto.pareto/modules/pareto2typescript/glossary.data.ts +35 -24
  142. package/auto.pareto/modules/tendril2alan_light/api.data.ts +17 -0
  143. package/auto.pareto/modules/tendril2alan_light/glossary.data.ts +51 -0
  144. package/auto.pareto/modules/typescript_naming/api.data.ts +28 -0
  145. package/auto.pareto/{auto.dependencies/res-typescript/modules/naming → modules/typescript_naming}/glossary.data.ts +2 -2
  146. package/auto.pareto/{auto.dependencies/res-typescript/modules/serialize → modules/typescript_serialize}/api.data.ts +3 -4
  147. package/auto.pareto/{auto.dependencies/res-typescript/modules/serialize → modules/typescript_serialize}/glossary.data.ts +2 -8
  148. package/package.json +6 -5
  149. package/auto.dist/public/cosmos__2__pareto/auto.implementation.d.ts +0 -2
  150. package/auto.dist/public/cosmos__2__pareto/auto.implementation.js +0 -6
  151. package/auto.dist/public/cosmos__2__pareto/auto.provided_interface_glossary.d.ts +0 -3281
  152. package/auto.dist/public/cosmos__2__pareto/auto.provided_interface_glossary.shadow.js +0 -3
  153. package/auto.dist/public/cosmos__2__pareto/implementations/library2ParetoComparators.alg.d.ts +0 -2
  154. package/auto.dist/public/cosmos__2__pareto/implementations/library2ParetoComparators.alg.js +0 -359
  155. package/auto.dist/public/fountain__pen/auto.provided_interface_glossary.d.ts +0 -29
  156. package/auto.dist/public/fountain__pen/auto.provided_interface_glossary.shadow.js +0 -3
  157. package/auto.dist/public/fountain__pen/implementations/serialize.alg.js +0 -98
  158. package/auto.dist/public/glossaries/cosmos__type__system.d.ts +0 -1760
  159. package/auto.dist/public/glossaries/cosmos__type__system.js +0 -3
  160. package/auto.dist/public/glossaries/cosmos__type__system.shadow.d.ts +0 -8
  161. package/auto.dist/public/glossaries/cosmos__type__system.shadow.js +0 -3
  162. package/auto.dist/public/glossaries/grammar.d.ts +0 -260
  163. package/auto.dist/public/glossaries/grammar.js +0 -3
  164. package/auto.dist/public/glossaries/grammar.shadow.d.ts +0 -8
  165. package/auto.dist/public/glossaries/grammar.shadow.js +0 -3
  166. package/auto.dist/public/glossaries/liana.d.ts +0 -2433
  167. package/auto.dist/public/glossaries/liana.js +0 -3
  168. package/auto.dist/public/glossaries/liana.shadow.d.ts +0 -8
  169. package/auto.dist/public/glossaries/liana.shadow.js +0 -3
  170. package/auto.dist/public/glossaries/pareto.d.ts +0 -1503
  171. package/auto.dist/public/glossaries/pareto.js +0 -3
  172. package/auto.dist/public/glossaries/pareto.shadow.d.ts +0 -8
  173. package/auto.dist/public/glossaries/pareto.shadow.js +0 -3
  174. package/auto.dist/public/glossaries/tendril.d.ts +0 -1425
  175. package/auto.dist/public/glossaries/tendril.js +0 -3
  176. package/auto.dist/public/glossaries/tendril.shadow.d.ts +0 -8
  177. package/auto.dist/public/glossaries/tendril.shadow.js +0 -3
  178. package/auto.dist/public/pareto__2__typescript/auto.provided_interface_glossary.shadow.js +0 -3
  179. package/auto.dist/public/pareto__2__typescript/implementations/serializeCompilationUnit.alg.js +0 -558
  180. package/auto.dist/public/shorthands/cosmos.d.ts +0 -50
  181. package/auto.dist/public/shorthands/cosmos.js +0 -512
  182. package/auto.dist/public/shorthands/grammar.d.ts +0 -13
  183. package/auto.dist/public/shorthands/grammar.js +0 -110
  184. package/auto.dist/public/shorthands/liana.d.ts +0 -66
  185. package/auto.dist/public/shorthands/liana.js +0 -728
  186. package/auto.dist/public/shorthands/pareto.d.ts +0 -48
  187. package/auto.dist/public/shorthands/pareto.js +0 -243
  188. package/auto.dist/public/shorthands/tendril.d.ts +0 -48
  189. package/auto.dist/public/shorthands/tendril.js +0 -402
  190. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/arithmetic/api.data.ts +0 -26
  191. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/array/api.data.ts +0 -21
  192. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/collation/api.data.ts +0 -15
  193. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/collation/glossary.data.ts +0 -34
  194. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/filesystem/api.data.ts +0 -19
  195. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/filesystem/glossary.data.ts +0 -189
  196. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/foreach/api.data.ts +0 -25
  197. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/foreach/glossary.data.ts +0 -78
  198. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/http/api.data.ts +0 -16
  199. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/http/glossary.data.ts +0 -69
  200. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/nested/api.data.ts +0 -15
  201. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/path/api.data.ts +0 -19
  202. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/path/glossary.data.ts +0 -35
  203. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/resolve/api.data.ts +0 -20
  204. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/resolve/glossary.data.ts +0 -84
  205. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/string/api.data.ts +0 -26
  206. package/auto.pareto/auto.dependencies/pareto-standard-impure-library/modules/string/glossary.data.ts +0 -75
  207. package/auto.pareto/auto.dependencies/res-typescript/$.data.ts +0 -35
  208. package/auto.pareto/auto.dependencies/res-typescript/modules/naming/api.data.ts +0 -15
  209. package/auto.pareto/modules/fountain_pen/api.data.ts +0 -17
  210. package/auto.pareto/modules/fountain_pen/glossary.data.ts +0 -32
  211. /package/auto.dist/public/{fountain__pen → modules/alan__light__serialize}/auto.api.d.ts +0 -0
  212. /package/auto.dist/public/{fountain__pen → modules/alan__light__serialize}/auto.implementation.d.ts +0 -0
  213. /package/auto.dist/public/{fountain__pen → modules/alan__light__serialize}/implementations/serialize.alg.d.ts +0 -0
  214. /package/auto.dist/public/{cosmos__2__pareto → modules/alan__light__serialize}/index.d.ts +0 -0
  215. /package/auto.dist/public/{pareto__2__typescript → modules/pareto2typescript}/auto.api.d.ts +0 -0
  216. /package/auto.dist/public/{pareto__2__typescript → modules/pareto2typescript}/auto.implementation.d.ts +0 -0
  217. /package/auto.dist/public/{pareto__2__typescript → modules/pareto2typescript}/implementations/serializeCompilationUnit.alg.d.ts +0 -0
  218. /package/auto.dist/public/{fountain__pen → modules/pareto2typescript}/index.d.ts +0 -0
  219. /package/auto.dist/public/{pareto__2__typescript → modules/tendril2alan__light}/index.d.ts +0 -0
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuZHJpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wdWJsaWMvZ2xvc3Nhcmllcy90ZW5kcmlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -1,8 +0,0 @@
1
- export declare namespace A {
2
- }
3
- export declare namespace D {
4
- }
5
- export declare namespace I {
6
- }
7
- export declare namespace IMP {
8
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuZHJpbC5zaGFkb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHVibGljL2dsb3NzYXJpZXMvdGVuZHJpbC5zaGFkb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by5wcm92aWRlZF9pbnRlcmZhY2VfZ2xvc3Nhcnkuc2hhZG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3B1YmxpYy9wYXJldG9fXzJfX3R5cGVzY3JpcHQvYXV0by5wcm92aWRlZF9pbnRlcmZhY2VfZ2xvc3Nhcnkuc2hhZG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -1,558 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.$$ = void 0;
37
- const pa = __importStar(require("pareto-core-alg"));
38
- const pd = __importStar(require("pareto-core-dev"));
39
- const g_fp = __importStar(require("../../fountain__pen"));
40
- const a_psil = __importStar(require("pareto-standard-impure-library"));
41
- const a_ts = __importStar(require("res-typescript"));
42
- const $$ = () => {
43
- const serializeFP = g_fp.serialize(null, null);
44
- const isABeforeB = a_psil.collation.localeIsBefore(null, null);
45
- const decorate = a_psil.foreach.decorateDictionaryEntriesWithKey(null, null);
46
- const edfe = a_psil.foreach.enrichedDictionaryForEach(null, null);
47
- const flatten = a_psil.nested.flatten(null, null);
48
- const push = a_psil.array.push(null, null);
49
- const isEmpty = a_psil.dictionary.isEmpty(null, null);
50
- const createTypeIdentifier = a_ts.naming.createIdentifier(null, null);
51
- const createSymbolIdentifier = a_ts.naming.createIdentifier(null, null);
52
- const createNamespaceIdentifier = a_ts.naming.createIdentifier(null, null);
53
- const createBacktickedString = a_ts.serialize.createBacktickedString(null, null);
54
- const createApostrophedString = a_ts.serialize.createApostrophedString(null, null);
55
- const createQuotedString = a_ts.serialize.createQuotedString(null, null);
56
- function enrich($) {
57
- const out = {};
58
- edfe($, {
59
- 'onEmpty': () => {
60
- },
61
- 'onNotEmpty': ($c) => {
62
- $c(($) => {
63
- out[$.key] = $;
64
- });
65
- }
66
- });
67
- return pa.wrapRawDictionary(out);
68
- }
69
- function reduceDictionary($, seed, cb) {
70
- let intermediate = seed;
71
- $.__forEach((a, b) => isABeforeB({ 'benchmark': a, 'focus': b }), ($) => {
72
- intermediate = cb($, intermediate);
73
- });
74
- return intermediate;
75
- }
76
- function toArray($) {
77
- //FIXME ordering
78
- return reduceDictionary($, pa.wrapRawArray([]), ($, current) => push({ 'array': current, 'element': $ }));
79
- }
80
- function arrayLiteral($) {
81
- return ['multiple', pa.wrapRawArray($)];
82
- }
83
- function nothing() {
84
- return ['none', null];
85
- }
86
- function dictionary($) {
87
- return ['multiple', toArray($)];
88
- }
89
- function array($) {
90
- return ['multiple', $];
91
- }
92
- function nestedLine($) {
93
- return ['single', ['nested line', flatten(arrayLiteral($))]];
94
- }
95
- function indent($) {
96
- return ['single', ['indent', flatten(arrayLiteral($))]];
97
- }
98
- function snippet($) {
99
- return ['single', ['snippet', $]];
100
- }
101
- function line($) {
102
- return ['single', ['line', $]];
103
- }
104
- return ($) => {
105
- return pa.cc($['compilation unit'], ($) => {
106
- function Compilation__Unit($) {
107
- return arrayLiteral([
108
- line(`import * as _T from 'pareto-core-types'`),
109
- line(`import * as _A from 'pareto-core-alg'`),
110
- line(`import * as _D from 'pareto-core-dev'`),
111
- line(``),
112
- dictionary(decorate($.imports).map(($) => line(`import * as _I_${createTypeIdentifier($.key)} from ${createQuotedString($.value.path)}`))),
113
- isEmpty($.imports) ? nothing() : line(``),
114
- Namespace($['root namespace']),
115
- line(``),
116
- ]);
117
- }
118
- function Namespace($) {
119
- return arrayLiteral([
120
- dictionary(decorate($.namespaces).map(($) => arrayLiteral([
121
- line(``),
122
- nestedLine([
123
- snippet(`export namespace ${createNamespaceIdentifier($.key)} {`),
124
- indent([
125
- Namespace($.value)
126
- ]),
127
- snippet(`}`),
128
- ]),
129
- ]))),
130
- dictionary(decorate($.types).map(($) => arrayLiteral([
131
- line(``),
132
- nestedLine([
133
- snippet(`export type ${createTypeIdentifier($.key)}`),
134
- Type__Parameters($.value['type parameters']),
135
- snippet(` = `),
136
- Type($.value.type)
137
- ])
138
- ]))),
139
- Variables($.variables, { 'is global': true }),
140
- ]);
141
- }
142
- function Variables($, $p) {
143
- return arrayLiteral([
144
- dictionary(decorate($).map(($) => arrayLiteral([
145
- line(``),
146
- nestedLine([
147
- snippet(`${$p['is global'] ? `export ` : ``}const $v_${createSymbolIdentifier($.key)} = `),
148
- Expression($.value.expression),
149
- ])
150
- ]))),
151
- ]);
152
- }
153
- function Type__Arguments($) {
154
- return isEmpty($)
155
- ? nothing()
156
- : arrayLiteral([
157
- snippet(`<`),
158
- dictionary(enrich($).map(($) => arrayLiteral([
159
- Type($.value),
160
- snippet(`${$.isLast ? `` : `, `}`)
161
- ]))),
162
- snippet(`>`),
163
- ]);
164
- }
165
- function Type__Parameters($) {
166
- return isEmpty($)
167
- ? nothing()
168
- : arrayLiteral([
169
- snippet(`<`),
170
- dictionary(decorate($).map(($) => snippet(`_P_${createTypeIdentifier($.key)}, `))),
171
- snippet(`>`)
172
- ]);
173
- }
174
- function Function__Signature($, $p) {
175
- return arrayLiteral([
176
- Type__Parameters($['type parameters']),
177
- snippet(`(`),
178
- indent([
179
- nestedLine([
180
- snippet(`$: `),
181
- Type($['context parameter']),
182
- snippet(`,`)
183
- ]),
184
- isEmpty($.parameters)
185
- ? nothing()
186
- : arrayLiteral([
187
- nestedLine([
188
- snippet(`$p: {`),
189
- indent([
190
- dictionary(decorate($['parameters']).map(($) => nestedLine([
191
- snippet(`${createApostrophedString($.key)}: `),
192
- Type($.value)
193
- ]))),
194
- ]),
195
- snippet(`}`)
196
- ]),
197
- ]),
198
- ]),
199
- snippet(`)${$p['return type token']} `),
200
- $['return type'].map(($) => Type($), () => snippet(`void`))
201
- ]);
202
- }
203
- function Type($) {
204
- switch ($[0]) {
205
- case 'array': return pa.ss($, ($) => arrayLiteral([
206
- snippet(`_T.Array<`),
207
- Type($),
208
- snippet(`>`)
209
- ]));
210
- case 'boolean': return pa.ss($, ($) => snippet(`boolean`));
211
- case 'dictionary': return pa.ss($, ($) => arrayLiteral([
212
- snippet(`_T.Dictionary<`),
213
- Type($),
214
- snippet(`>`)
215
- ]));
216
- case 'group': return pa.ss($, ($) => isEmpty($.members)
217
- ? snippet(`null`) //for improved type checking (an empty object has strange effects, it is accepted as anything)
218
- : arrayLiteral([
219
- snippet(`{`),
220
- indent([
221
- dictionary(decorate($.members).map(($) => nestedLine([
222
- snippet(`${createApostrophedString($.key)}: `),
223
- Type($.value),
224
- ])))
225
- ]),
226
- snippet(`}`),
227
- ]));
228
- case 'function': return pa.ss($, ($) => Function__Signature($, { 'return type token': ` =>` }));
229
- case 'null': return pa.ss($, ($) => snippet(`null`));
230
- case 'number': return pa.ss($, ($) => snippet(`number`));
231
- case 'optional': return pa.ss($, ($) => arrayLiteral([
232
- snippet(`_T.OptionalValue<`),
233
- Type($),
234
- snippet(`>`)
235
- ]));
236
- case 'parameter selection': return pa.ss($, ($) => snippet(`_P_${createTypeIdentifier($)}`));
237
- case 'string': return pa.ss($, ($) => snippet(`string`));
238
- case 'tagged union': return pa.ss($, ($) => arrayLiteral([
239
- indent([
240
- dictionary(decorate($).map(($) => nestedLine([
241
- snippet(`| [ ${createApostrophedString($.key)}, `),
242
- Type($.value),
243
- snippet(`]`)
244
- ])))
245
- ])
246
- ]));
247
- case 'type selection': return pa.ss($, ($) => arrayLiteral([
248
- $.import.map(($) => snippet(`_I_${createTypeIdentifier($)}.`), () => nothing()),
249
- array($['namespace path'].map(($) => snippet(`${createTypeIdentifier($)}.`))),
250
- snippet(`${createTypeIdentifier($.type)}`),
251
- Type__Arguments($['type arguments']),
252
- ]));
253
- default: return pa.au($[0]);
254
- }
255
- }
256
- function Statement__Block($) {
257
- return arrayLiteral([
258
- snippet(`{`),
259
- indent([
260
- Naked_Statement__Block($)
261
- ]),
262
- snippet(`}`),
263
- ]);
264
- }
265
- /**
266
- *
267
- * this function produces a block that is not wrapped in curly braces
268
- */
269
- function Naked_Statement__Block($) {
270
- return arrayLiteral([
271
- Variables($.variables, { 'is global': false }),
272
- array($.statements.map(($) => nestedLine([
273
- snippet(``),
274
- pa.cc($, ($) => {
275
- switch ($[0]) {
276
- case 'assignment': return pa.ss($, ($) => arrayLiteral([
277
- Expression($.selection),
278
- snippet(` = `),
279
- Expression($.expression),
280
- ]));
281
- case 'change context': return pa.ss($, ($) => arrayLiteral([
282
- snippet(`_A.cc(`),
283
- Expression($['new context selection']),
284
- snippet(`, ($) => `),
285
- Statement__Block($['sub statement block']),
286
- snippet(`)`)
287
- ]));
288
- case 'debug': return pa.ss($, ($) => snippet(`_D.logDebugMessage(${createBacktickedString($)})`));
289
- case 'expression': return pa.ss($, ($) => Expression($));
290
- case 'if': return pa.ss($, ($) => arrayLiteral([
291
- snippet(`if (`),
292
- Expression($.condition),
293
- snippet(`) `),
294
- Statement__Block($['if block']),
295
- $.else.map(($) => arrayLiteral([
296
- snippet(` else `),
297
- Statement__Block($)
298
- ]), () => nothing())
299
- ]));
300
- case 'return': return pa.ss($, ($) => arrayLiteral([
301
- snippet(`return `),
302
- Expression($.expression),
303
- ]));
304
- case 'sub block': return pa.ss($, ($) => Statement__Block($));
305
- case 'switch': return pa.ss($, ($) => {
306
- const select = $.select;
307
- return arrayLiteral([
308
- snippet(`switch (`),
309
- Expression($.select),
310
- snippet(`[0]) {`),
311
- indent([
312
- dictionary(decorate($.cases).map(($) => nestedLine([
313
- snippet(`case ${createApostrophedString($.key)}: {`),
314
- indent([
315
- nestedLine([
316
- snippet(`_A.ss(`),
317
- Expression(select),
318
- snippet(`, ($) => `),
319
- Statement__Block($.value),
320
- snippet(`)`),
321
- ]),
322
- line(`break`)
323
- ]),
324
- snippet(`}`)
325
- ]))),
326
- nestedLine([
327
- snippet(`default: `),
328
- $.default.map(($) => Statement__Block($), () => arrayLiteral([
329
- snippet(`_A.au(`),
330
- Expression($.select),
331
- snippet(`[0])`)
332
- ]))
333
- ])
334
- ]),
335
- snippet(`}`)
336
- ]);
337
- });
338
- default: return pa.au($[0]);
339
- }
340
- })
341
- ]))),
342
- ]);
343
- }
344
- function Expression($) {
345
- switch ($[0]) {
346
- case 'flow': return pa.ss($, ($) => pa.cc($, ($) => {
347
- switch ($[0]) {
348
- case 'block': return pa.ss($, ($) => arrayLiteral([
349
- snippet(`_A.cc($, ($) => `), //FIXME this should be a _A.block(...)
350
- Statement__Block($),
351
- snippet(`)`)
352
- ]));
353
- case 'change context': return pa.ss($, ($) => arrayLiteral([
354
- snippet(`_A.cc(`),
355
- Expression($['new context selection']),
356
- snippet(`, ($) => `),
357
- Expression($['sub expression']),
358
- snippet(`)`)
359
- ]));
360
- case 'implement me': return pa.ss($, ($) => snippet(`_D.implementMe(${createBacktickedString($)})`));
361
- case 'panic': return pa.ss($, ($) => snippet(`_A.panic(${createBacktickedString($)})`));
362
- default: return pa.au($[0]);
363
- }
364
- }));
365
- case 'literal': return pa.ss($, ($) => pa.cc($, ($) => {
366
- switch ($[0]) {
367
- case 'array': return pa.ss($, ($) => arrayLiteral([
368
- snippet(`_A.wrapRawArray([`),
369
- indent([
370
- array($.map(($) => arrayLiteral([
371
- nestedLine([
372
- Expression($),
373
- snippet(`,`)
374
- ]),
375
- ])))
376
- ]),
377
- snippet(`])`)
378
- ]));
379
- case 'boolean': return pa.ss($, ($) => pa.cc($, ($) => {
380
- switch ($[0]) {
381
- case 'false': return pa.ss($, ($) => snippet(`false`));
382
- case 'true': return pa.ss($, ($) => snippet(`true`));
383
- default: return pa.au($[0]);
384
- }
385
- }));
386
- case 'dictionary': return pa.ss($, ($) => arrayLiteral([
387
- snippet(`_A.wrapRawDictionary({`),
388
- indent([
389
- dictionary(decorate($).map(($) => arrayLiteral([
390
- nestedLine([
391
- snippet(`${createQuotedString($.key)}: `),
392
- Expression($.value),
393
- snippet(`,`)
394
- ]),
395
- ])))
396
- ]),
397
- snippet(`})`)
398
- ]));
399
- case 'function': return pa.ss($, ($) => arrayLiteral([
400
- pa.cc($['temp signature help'], ($) => {
401
- switch ($[0]) {
402
- case 'has additional parameters': return pa.ss($, ($) => snippet(`($, $p)`));
403
- case 'has no additional parameters': return pa.ss($, ($) => snippet(`($)`));
404
- case 'typed': return pa.ss($, ($) => Function__Signature($, { 'return type token': `:` }));
405
- default: return pa.au($[0]);
406
- }
407
- }),
408
- snippet(` => `),
409
- Statement__Block($.block),
410
- ]));
411
- case 'group': return pa.ss($, ($) => arrayLiteral([
412
- snippet(`{`),
413
- indent([
414
- dictionary(decorate($).map(($) => arrayLiteral([
415
- nestedLine([
416
- snippet(`${createApostrophedString($.key)}: `),
417
- Expression($.value),
418
- snippet(`,`)
419
- ]),
420
- ])))
421
- ]),
422
- snippet(`}`)
423
- ]));
424
- case 'null': return pa.ss($, ($) => snippet(`null`));
425
- case 'number': return pa.ss($, ($) => snippet(`${$}`));
426
- case 'optional': return pa.ss($, ($) => pa.cc($, ($) => {
427
- switch ($[0]) {
428
- case 'not set': return pa.ss($, ($) => snippet(`_A.notSet()`));
429
- case 'set': return pa.ss($, ($) => arrayLiteral([
430
- snippet(`_A.set(`),
431
- Expression($),
432
- snippet(`)`),
433
- ]));
434
- default: return pa.au($[0]);
435
- }
436
- }));
437
- case 'tagged union': return pa.ss($, ($) => arrayLiteral([
438
- snippet(`[${createApostrophedString($.state)}, `),
439
- Expression($.data),
440
- snippet(`]`)
441
- ]));
442
- case 'string': return pa.ss($, ($) => snippet(`${createQuotedString($)}`));
443
- default: return pa.au($[0]);
444
- }
445
- }));
446
- case 'map': return pa.ss($, ($) => pa.cc($, ($) => {
447
- const $v_selection = $.selection;
448
- return arrayLiteral([
449
- pa.cc($.type, ($) => {
450
- switch ($[0]) {
451
- case 'array': return pa.ss($, ($) => pd.implementMe(`ARRAY`));
452
- case 'boolean': return pa.ss($, ($) => arrayLiteral([]));
453
- case 'dictionary': return pa.ss($, ($) => pd.implementMe(`DICTIONARY`));
454
- case 'optional': return pa.ss($, ($) => pd.implementMe(`OPTIONAL`));
455
- case 'tagged union': return pa.ss($, ($) => {
456
- return arrayLiteral([
457
- snippet(`_A.cc($, ($) => {`), //FIXME this should be a _A.block(...)
458
- indent([
459
- nestedLine([
460
- snippet(`switch (`),
461
- Expression($v_selection),
462
- snippet(`[0]) {`),
463
- indent([
464
- dictionary(decorate($.cases).map(($) => nestedLine([
465
- snippet(`case ${createApostrophedString($.key)}: return _A.ss(`),
466
- Expression($v_selection),
467
- snippet(`, ($) => `),
468
- Expression($.value),
469
- snippet(`)`),
470
- ]))),
471
- nestedLine([
472
- snippet(`default: return `),
473
- $.default.map(($) => Expression($), () => arrayLiteral([
474
- snippet(`_A.au(`),
475
- Expression($v_selection),
476
- snippet(`[0])`)
477
- ]))
478
- ])
479
- ]),
480
- snippet(`}`)
481
- ])
482
- ]),
483
- snippet(`})`),
484
- ]);
485
- });
486
- default: return pa.au($[0]);
487
- }
488
- })
489
- ]);
490
- }));
491
- case 'reduce': return pa.ss($, ($) => arrayLiteral([
492
- Expression($.selection),
493
- snippet(`.reduce(`),
494
- indent([
495
- nestedLine([
496
- Expression($.initial),
497
- snippet(`,`)
498
- ]),
499
- nestedLine([
500
- Expression($.callback),
501
- ])
502
- ]),
503
- snippet(`)`)
504
- ]));
505
- case 'selection': return pa.ss($, ($) => arrayLiteral([
506
- pa.cc($.start, ($) => {
507
- switch ($[0]) {
508
- case 'context': return pa.ss($, ($) => snippet(`$`));
509
- case 'parameter': return pa.ss($, ($) => snippet(`$p[${createApostrophedString($)}]`));
510
- case 'seed': return pa.ss($, ($) => snippet(`seed`));
511
- case 'variable': return pa.ss($, ($) => arrayLiteral([
512
- $.import.map(($) => snippet(`_I_${createTypeIdentifier($)}.`), () => nothing()),
513
- array($['namespace path'].map(($) => snippet(`${createTypeIdentifier($)}.`))),
514
- snippet(`$v_${createSymbolIdentifier($.variable)}`)
515
- ]));
516
- default: return pa.au($[0]);
517
- }
518
- }),
519
- array($.tail.map(($) => pa.cc($, ($) => {
520
- switch ($[0]) {
521
- case 'call': return pa.ss($, ($) => arrayLiteral([
522
- Type__Arguments($['type arguments']),
523
- snippet(`(`),
524
- indent([
525
- nestedLine([
526
- Expression($.context),
527
- snippet(`, `)
528
- ]),
529
- isEmpty($.arguments)
530
- ? nothing()
531
- : nestedLine([
532
- snippet(`{`),
533
- indent([
534
- dictionary(decorate($.arguments).map(($) => nestedLine([
535
- snippet(`${createApostrophedString($.key)}: `),
536
- Expression($.value),
537
- snippet(`,`)
538
- ])))
539
- ]),
540
- snippet(`}`)
541
- ])
542
- ]),
543
- snippet(`)`),
544
- ]));
545
- case 'member selection': return pa.ss($, ($) => snippet(`[${createApostrophedString($)}]`));
546
- default: return pa.au($[0]);
547
- }
548
- })))
549
- ]));
550
- default: return pa.au($[0]);
551
- }
552
- }
553
- return serializeFP(flatten(Compilation__Unit($)));
554
- });
555
- };
556
- };
557
- exports.$$ = $$;
558
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXplQ29tcGlsYXRpb25Vbml0LmFsZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wdWJsaWMvcGFyZXRvX18yX190eXBlc2NyaXB0L2ltcGxlbWVudGF0aW9ucy9zZXJpYWxpemVDb21waWxhdGlvblVuaXQuYWxnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG9EQUFxQztBQUNyQyxvREFBcUM7QUFNckMsMERBQTJDO0FBRTNDLHVFQUF3RDtBQUN4RCxxREFBc0M7QUFJL0IsTUFBTSxFQUFFLEdBQWlDLEdBQUcsRUFBRTtJQUVqRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUU5QyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDOUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDNUUsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDakUsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ2pELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUMxQyxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDckQsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFD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