tnp 16.5.21 → 16.5.23

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 (424) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/esm2022/lib/build-options.mjs +180 -0
  3. package/browser/esm2022/lib/constants.mjs +3 -3
  4. package/browser/esm2022/lib/helpers.mjs +1 -1
  5. package/browser/esm2022/lib/index.mjs +2 -3
  6. package/browser/esm2022/lib/project/abstract/feature-for-project.mjs +1 -1
  7. package/browser/esm2022/lib/project/abstract/index.mjs +1 -1
  8. package/browser/esm2022/lib/project/abstract/project/index.mjs +1 -1
  9. package/browser/esm2022/lib/project/abstract/project/project.mjs +1494 -70
  10. package/browser/esm2022/lib/project/features/package-json/index.mjs +1 -1
  11. package/browser/esm2022/lib/project/features/package-json/package-json-file.mjs +1 -1
  12. package/browser/esm2022/lib/project/features/package-json/package-json.mjs +1 -1
  13. package/browser/esm2022/lib/project/index.mjs +1 -5
  14. package/browser/esm2022/public-api.mjs +1 -1
  15. package/browser/esm2022/tnp.mjs +1 -1
  16. package/browser/fesm2022/tnp.mjs +1684 -88
  17. package/browser/fesm2022/tnp.mjs.map +1 -1
  18. package/browser/lib/build-options.d.ts +40 -0
  19. package/browser/lib/constants.d.ts +1 -1
  20. package/browser/lib/index.d.ts +1 -0
  21. package/browser/lib/project/abstract/project/project.d.ts +121 -6
  22. package/browser/lib/project/features/package-json/package-json.d.ts +1 -1
  23. package/cli.js +72762 -60372
  24. package/client/esm2022/lib/build-options.mjs +180 -0
  25. package/client/esm2022/lib/constants.mjs +3 -3
  26. package/client/esm2022/lib/helpers.mjs +1 -1
  27. package/client/esm2022/lib/index.mjs +2 -3
  28. package/client/esm2022/lib/project/abstract/feature-for-project.mjs +1 -1
  29. package/client/esm2022/lib/project/abstract/index.mjs +1 -1
  30. package/client/esm2022/lib/project/abstract/project/index.mjs +1 -1
  31. package/client/esm2022/lib/project/abstract/project/project.mjs +1494 -70
  32. package/client/esm2022/lib/project/features/package-json/index.mjs +1 -1
  33. package/client/esm2022/lib/project/features/package-json/package-json-file.mjs +1 -1
  34. package/client/esm2022/lib/project/features/package-json/package-json.mjs +1 -1
  35. package/client/esm2022/lib/project/index.mjs +1 -5
  36. package/client/esm2022/public-api.mjs +1 -1
  37. package/client/esm2022/tnp.mjs +1 -1
  38. package/client/fesm2022/tnp.mjs +1684 -88
  39. package/client/fesm2022/tnp.mjs.map +1 -1
  40. package/client/lib/build-options.d.ts +40 -0
  41. package/client/lib/constants.d.ts +1 -1
  42. package/client/lib/index.d.ts +1 -0
  43. package/client/lib/project/abstract/project/project.d.ts +121 -6
  44. package/client/lib/project/features/package-json/package-json.d.ts +1 -1
  45. package/client/package.json +63 -63
  46. package/lib/build-options.d.ts +39 -0
  47. package/lib/build-options.js +182 -0
  48. package/lib/build-options.js.map +1 -0
  49. package/lib/constants.d.ts +1 -1
  50. package/lib/constants.js +2 -2
  51. package/lib/constants.js.map +1 -1
  52. package/lib/index.d.ts +1 -1
  53. package/lib/index.js +1 -3
  54. package/lib/index.js.map +1 -1
  55. package/lib/project/abstract/command-line-feature.backend.d.ts +14 -0
  56. package/lib/project/abstract/command-line-feature.backend.js +50 -0
  57. package/lib/project/abstract/command-line-feature.backend.js.map +1 -0
  58. package/lib/project/abstract/project/base-project.d.ts +1 -1
  59. package/lib/project/abstract/project/base-project.js +31 -32
  60. package/lib/project/abstract/project/base-project.js.map +1 -1
  61. package/lib/project/abstract/project/buildable-project.backend.d.ts +2 -2
  62. package/lib/project/abstract/project/buildable-project.backend.js +2 -2
  63. package/lib/project/abstract/project/buildable-project.backend.js.map +1 -1
  64. package/lib/project/abstract/project/dependency-project.backend.d.ts +1 -10
  65. package/lib/project/abstract/project/dependency-project.backend.js +1 -74
  66. package/lib/project/abstract/project/dependency-project.backend.js.map +1 -1
  67. package/lib/project/abstract/project/feature-project.d.ts +2 -5
  68. package/lib/project/abstract/project/feature-project.js.map +1 -1
  69. package/lib/project/abstract/project/{tnp-project.d.ts → firedev-project.d.ts} +2 -2
  70. package/lib/project/abstract/project/{tnp-project.js → firedev-project.js} +25 -24
  71. package/lib/project/abstract/project/firedev-project.js.map +1 -0
  72. package/lib/project/abstract/project/folder-project.d.ts +0 -33
  73. package/lib/project/abstract/project/folder-project.js +6 -198
  74. package/lib/project/abstract/project/folder-project.js.map +1 -1
  75. package/lib/project/abstract/project/lib-project-smart-container.backend.js +14 -7
  76. package/lib/project/abstract/project/lib-project-smart-container.backend.js.map +1 -1
  77. package/lib/project/abstract/project/lib-project-standalone.backend.d.ts +0 -1
  78. package/lib/project/abstract/project/lib-project-standalone.backend.js +45 -31
  79. package/lib/project/abstract/project/lib-project-standalone.backend.js.map +1 -1
  80. package/lib/project/abstract/project/lib-project-vscode-ext.js +1 -1
  81. package/lib/project/abstract/project/lib-project-vscode-ext.js.map +1 -1
  82. package/lib/project/abstract/project/lib-project.backend.d.ts +4 -5
  83. package/lib/project/abstract/project/lib-project.backend.js +139 -102
  84. package/lib/project/abstract/project/lib-project.backend.js.map +1 -1
  85. package/lib/project/abstract/project/npm-project.d.ts +1 -1
  86. package/lib/project/abstract/project/npm-project.js +29 -10
  87. package/lib/project/abstract/project/npm-project.js.map +1 -1
  88. package/lib/project/abstract/project/project.d.ts +128 -14
  89. package/lib/project/abstract/project/project.js +1586 -120
  90. package/lib/project/abstract/project/project.js.map +1 -1
  91. package/lib/project/abstract/project/recreatable-project.backend.js +2 -2
  92. package/lib/project/abstract/project/recreatable-project.backend.js.map +1 -1
  93. package/lib/project/abstract/project/vscode-project.backend.js +3 -17
  94. package/lib/project/abstract/project/vscode-project.backend.js.map +1 -1
  95. package/lib/project/compilers/assets-list-file-generator/assets-list-file-generator.backend.d.ts +1 -1
  96. package/lib/project/compilers/assets-list-file-generator/assets-list-file-generator.backend.js +2 -2
  97. package/lib/project/compilers/assets-list-file-generator/assets-list-file-generator.backend.js.map +1 -1
  98. package/lib/project/compilers/build-isomorphic-lib/code-cut/browser-code-cut.backend.d.ts +3 -3
  99. package/lib/project/compilers/build-isomorphic-lib/code-cut/browser-code-cut.backend.js +10 -11
  100. package/lib/project/compilers/build-isomorphic-lib/code-cut/browser-code-cut.backend.js.map +1 -1
  101. package/lib/project/compilers/build-isomorphic-lib/code-cut/code-cut.backend.d.ts +3 -3
  102. package/lib/project/compilers/build-isomorphic-lib/code-cut/code-cut.backend.js +6 -6
  103. package/lib/project/compilers/build-isomorphic-lib/code-cut/code-cut.backend.js.map +1 -1
  104. package/lib/project/compilers/build-isomorphic-lib/compilations/compilation-backend.backend.d.ts +2 -2
  105. package/lib/project/compilers/build-isomorphic-lib/compilations/compilation-backend.backend.js +5 -6
  106. package/lib/project/compilers/build-isomorphic-lib/compilations/compilation-backend.backend.js.map +1 -1
  107. package/lib/project/compilers/build-isomorphic-lib/compilations/compilation-browser.backend.d.ts +5 -5
  108. package/lib/project/compilers/build-isomorphic-lib/compilations/compilation-browser.backend.js +12 -16
  109. package/lib/project/compilers/build-isomorphic-lib/compilations/compilation-browser.backend.js.map +1 -1
  110. package/lib/project/compilers/build-isomorphic-lib/compilations/incremental-build-process.backend.d.ts +1 -1
  111. package/lib/project/compilers/build-isomorphic-lib/compilations/incremental-build-process.backend.js +3 -3
  112. package/lib/project/compilers/build-isomorphic-lib/compilations/incremental-build-process.backend.js.map +1 -1
  113. package/lib/project/compilers/index.d.ts +0 -2
  114. package/lib/project/compilers/index.js +0 -2
  115. package/lib/project/compilers/index.js.map +1 -1
  116. package/lib/project/features/branding.backend.js +1 -0
  117. package/lib/project/features/branding.backend.js.map +1 -1
  118. package/lib/project/features/build-process/build-proces.backend.d.ts +3 -2
  119. package/lib/project/features/build-process/build-proces.backend.js +10 -10
  120. package/lib/project/features/build-process/build-proces.backend.js.map +1 -1
  121. package/lib/project/features/build-process/index.d.ts +1 -2
  122. package/lib/project/features/build-process/index.js +0 -1
  123. package/lib/project/features/build-process/index.js.map +1 -1
  124. package/lib/project/features/compiler-cache.backend.d.ts +1 -1
  125. package/lib/project/features/compiler-cache.backend.js +2 -2
  126. package/lib/project/features/compiler-cache.backend.js.map +1 -1
  127. package/lib/project/features/copy-manager/base-copy-manager.backend.d.ts +5 -5
  128. package/lib/project/features/copy-manager/base-copy-manager.backend.js +12 -13
  129. package/lib/project/features/copy-manager/base-copy-manager.backend.js.map +1 -1
  130. package/lib/project/features/copy-manager/copy-manager-helpers.backend.d.ts +1 -1
  131. package/lib/project/features/copy-manager/copy-manager-helpers.backend.js +5 -5
  132. package/lib/project/features/copy-manager/copy-manager-helpers.backend.js.map +1 -1
  133. package/lib/project/features/copy-manager/copy-manager-organization-angular-files.backend.d.ts +1 -1
  134. package/lib/project/features/copy-manager/copy-manager-organization-angular-files.backend.js +5 -4
  135. package/lib/project/features/copy-manager/copy-manager-organization-angular-files.backend.js.map +1 -1
  136. package/lib/project/features/copy-manager/copy-manager-organization.backend.d.ts +3 -3
  137. package/lib/project/features/copy-manager/copy-manager-organization.backend.js +30 -30
  138. package/lib/project/features/copy-manager/copy-manager-organization.backend.js.map +1 -1
  139. package/lib/project/features/copy-manager/copy-manager-standalone.backend.d.ts +5 -5
  140. package/lib/project/features/copy-manager/copy-manager-standalone.backend.js +19 -19
  141. package/lib/project/features/copy-manager/copy-manager-standalone.backend.js.map +1 -1
  142. package/lib/project/features/copy-manager/copy-manager.backend.d.ts +2 -2
  143. package/lib/project/features/copy-manager/copy-manager.backend.js.map +1 -1
  144. package/lib/project/features/copy-manager/{bundle-mjs-fesm-module-spliter.backend.d.ts → mjs-fesm-module-spliter.backend.d.ts} +1 -1
  145. package/lib/project/features/copy-manager/{bundle-mjs-fesm-module-spliter.backend.js → mjs-fesm-module-spliter.backend.js} +19 -19
  146. package/lib/project/features/copy-manager/mjs-fesm-module-spliter.backend.js.map +1 -0
  147. package/lib/project/features/copy-manager/source-maping-url.backend.js +1 -1
  148. package/lib/project/features/copy-manager/source-maping-url.backend.js.map +1 -1
  149. package/lib/project/features/copy-manager/typescript-dts-fixer.backend.d.ts +1 -1
  150. package/lib/project/features/copy-manager/typescript-dts-fixer.backend.js +1 -1
  151. package/lib/project/features/environment-config/environment-config-helpers.d.ts +1 -1
  152. package/lib/project/features/environment-config/environment-config-helpers.js +4 -5
  153. package/lib/project/features/environment-config/environment-config-helpers.js.map +1 -1
  154. package/lib/project/features/environment-config/environment-config.d.ts +2 -3
  155. package/lib/project/features/environment-config/environment-config.js +3 -4
  156. package/lib/project/features/environment-config/environment-config.js.map +1 -1
  157. package/lib/project/features/files-recreation/files-factory.backend.d.ts +1 -1
  158. package/lib/project/features/files-recreation/files-factory.backend.js +2 -2
  159. package/lib/project/features/files-recreation/files-factory.backend.js.map +1 -1
  160. package/lib/project/features/files-recreation/files-recreator.d.ts +1 -1
  161. package/lib/project/features/files-recreation/files-recreator.js +13 -19
  162. package/lib/project/features/files-recreation/files-recreator.js.map +1 -1
  163. package/lib/project/features/files-recreation/files-structure.backend.d.ts +2 -1
  164. package/lib/project/features/files-recreation/files-structure.backend.js +40 -67
  165. package/lib/project/features/files-recreation/files-structure.backend.js.map +1 -1
  166. package/lib/project/features/files-recreation/files-templates.d.ts +1 -1
  167. package/lib/project/features/files-recreation/files-templates.js +2 -3
  168. package/lib/project/features/files-recreation/files-templates.js.map +1 -1
  169. package/lib/project/features/git-actions.backend.d.ts +2 -1
  170. package/lib/project/features/git-actions.backend.js +23 -26
  171. package/lib/project/features/git-actions.backend.js.map +1 -1
  172. package/lib/project/features/index.d.ts +0 -1
  173. package/lib/project/features/index.js +0 -1
  174. package/lib/project/features/index.js.map +1 -1
  175. package/lib/project/features/inside-structures/structs/inside-struct-angular13-app.js +7 -7
  176. package/lib/project/features/inside-structures/structs/inside-struct-angular13-app.js.map +1 -1
  177. package/lib/project/features/inside-structures/structs/inside-struct-angular13-lib.js +5 -2
  178. package/lib/project/features/inside-structures/structs/inside-struct-angular13-lib.js.map +1 -1
  179. package/lib/project/features/inside-structures/structs/inside-struct-helpers.js +2 -2
  180. package/lib/project/features/inside-structures/structs/inside-struct-helpers.js.map +1 -1
  181. package/lib/project/features/linked-repos.backend.js +2 -2
  182. package/lib/project/features/linked-repos.backend.js.map +1 -1
  183. package/lib/project/features/node-modules/node-modules-base.backend.d.ts +1 -1
  184. package/lib/project/features/node-modules/node-modules-base.backend.js +5 -5
  185. package/lib/project/features/node-modules/node-modules-base.backend.js.map +1 -1
  186. package/lib/project/features/node-modules/node-modules-core.backend.d.ts +2 -2
  187. package/lib/project/features/node-modules/node-modules-core.backend.js +4 -4
  188. package/lib/project/features/node-modules/node-modules-core.backend.js.map +1 -1
  189. package/lib/project/features/node-modules/node-modules-helpers.backend.d.ts +1 -1
  190. package/lib/project/features/node-modules/node-modules-helpers.backend.js +8 -9
  191. package/lib/project/features/node-modules/node-modules-helpers.backend.js.map +1 -1
  192. package/lib/project/features/npm-packages/npm-packages-base.backend.d.ts +1 -1
  193. package/lib/project/features/npm-packages/npm-packages-base.backend.js +2 -2
  194. package/lib/project/features/npm-packages/npm-packages-base.backend.js.map +1 -1
  195. package/lib/project/features/npm-packages/npm-packages-core.backend.d.ts +1 -1
  196. package/lib/project/features/npm-packages/npm-packages-core.backend.js +5 -7
  197. package/lib/project/features/npm-packages/npm-packages-core.backend.js.map +1 -1
  198. package/lib/project/features/npm-packages/npm-packages-helpers.backend.d.ts +1 -1
  199. package/lib/project/features/package-json/package-json-base.backend.d.ts +1 -1
  200. package/lib/project/features/package-json/package-json-base.backend.js +3 -3
  201. package/lib/project/features/package-json/package-json-base.backend.js.map +1 -1
  202. package/lib/project/features/package-json/package-json-core.backend.d.ts +1 -1
  203. package/lib/project/features/package-json/package-json-core.backend.js +4 -4
  204. package/lib/project/features/package-json/package-json-core.backend.js.map +1 -1
  205. package/lib/project/features/package-json/package-json-deps-categories.backend.d.ts +1 -1
  206. package/lib/project/features/package-json/package-json-deps-categories.backend.js +4 -3
  207. package/lib/project/features/package-json/package-json-deps-categories.backend.js.map +1 -1
  208. package/lib/project/features/package-json/package-json-helpers.backend.d.ts +1 -1
  209. package/lib/project/features/package-json/package-json-helpers.backend.js +15 -15
  210. package/lib/project/features/package-json/package-json-helpers.backend.js.map +1 -1
  211. package/lib/project/features/package-json/package-json.d.ts +1 -1
  212. package/lib/project/features/package-recognition/packages-recognition.js +2 -2
  213. package/lib/project/features/package-recognition/packages-recognition.js.map +1 -1
  214. package/lib/project/features/quick-fixes.d.ts +2 -1
  215. package/lib/project/features/quick-fixes.js +15 -16
  216. package/lib/project/features/quick-fixes.js.map +1 -1
  217. package/lib/project/features/singular-build.backend.d.ts +2 -1
  218. package/lib/project/features/singular-build.backend.js +5 -4
  219. package/lib/project/features/singular-build.backend.js.map +1 -1
  220. package/lib/project/features/smart-node-modules.backend.d.ts +3 -2
  221. package/lib/project/features/smart-node-modules.backend.js +11 -10
  222. package/lib/project/features/smart-node-modules.backend.js.map +1 -1
  223. package/lib/project/features/target-project.backend.js +0 -1
  224. package/lib/project/features/target-project.backend.js.map +1 -1
  225. package/lib/project/features/test-runner/cypress-test-runner.d.ts +1 -1
  226. package/lib/project/features/test-runner/cypress-test-runner.js +3 -3
  227. package/lib/project/features/test-runner/cypress-test-runner.js.map +1 -1
  228. package/lib/project/features/test-runner/jest-test-runner.d.ts +1 -1
  229. package/lib/project/features/test-runner/jest-test-runner.js +2 -2
  230. package/lib/project/features/test-runner/jest-test-runner.js.map +1 -1
  231. package/lib/project/features/test-runner/mocha-test-runner.d.ts +1 -1
  232. package/lib/project/features/test-runner/mocha-test-runner.js +3 -3
  233. package/lib/project/features/test-runner/mocha-test-runner.js.map +1 -1
  234. package/lib/project/features/webpack-backend-compilation.backend.d.ts +3 -3
  235. package/lib/project/features/webpack-backend-compilation.backend.js +1 -1
  236. package/lib/project/features/webpack-backend-compilation.backend.js.map +1 -1
  237. package/lib/project/index.d.ts +0 -3
  238. package/lib/project/index.js +0 -5
  239. package/lib/project/index.js.map +1 -1
  240. package/lib/scripts/{JAVA.backend.d.ts → CI.backend.d.ts} +1 -1
  241. package/lib/scripts/CI.backend.js +28 -0
  242. package/lib/scripts/CI.backend.js.map +1 -0
  243. package/lib/scripts/DEPENDENCIES-MANAGEMENT/DEPS.backend.d.ts +9 -13
  244. package/lib/scripts/DEPENDENCIES-MANAGEMENT/DEPS.backend.js +17 -71
  245. package/lib/scripts/DEPENDENCIES-MANAGEMENT/DEPS.backend.js.map +1 -1
  246. package/lib/scripts/HELP.backend.js +1 -1
  247. package/lib/scripts/HELP.backend.js.map +1 -1
  248. package/lib/scripts/NEW-PROJECT_FILES_MODULES/NEW.backend.d.ts +3 -0
  249. package/lib/scripts/NEW-PROJECT_FILES_MODULES/NEW.backend.js +19 -32
  250. package/lib/scripts/NEW-PROJECT_FILES_MODULES/NEW.backend.js.map +1 -1
  251. package/lib/scripts/NEW-PROJECT_FILES_MODULES/project-factory.backend.js +2 -1
  252. package/lib/scripts/NEW-PROJECT_FILES_MODULES/project-factory.backend.js.map +1 -1
  253. package/lib/scripts/OTHER.backend.d.ts +0 -4
  254. package/lib/scripts/OTHER.backend.js +7 -63
  255. package/lib/scripts/OTHER.backend.js.map +1 -1
  256. package/lib/scripts/PROJECTS-DEVELOPMENT/BRANDING.backend.js +1 -1
  257. package/lib/scripts/PROJECTS-DEVELOPMENT/BRANDING.backend.js.map +1 -1
  258. package/lib/scripts/PROJECTS-DEVELOPMENT/BUILD.backend.d.ts +2 -42
  259. package/lib/scripts/PROJECTS-DEVELOPMENT/BUILD.backend.js +57 -580
  260. package/lib/scripts/PROJECTS-DEVELOPMENT/BUILD.backend.js.map +1 -1
  261. package/lib/scripts/PROJECTS-DEVELOPMENT/DEVELOP.backend.d.ts +2 -0
  262. package/lib/scripts/PROJECTS-DEVELOPMENT/DEVELOP.backend.js +19 -6
  263. package/lib/scripts/PROJECTS-DEVELOPMENT/DEVELOP.backend.js.map +1 -1
  264. package/lib/scripts/PROJECTS-DEVELOPMENT/FILES_STRUCTURE.d.ts +0 -1
  265. package/lib/scripts/PROJECTS-DEVELOPMENT/FILES_STRUCTURE.js +9 -17
  266. package/lib/scripts/PROJECTS-DEVELOPMENT/FILES_STRUCTURE.js.map +1 -1
  267. package/lib/scripts/PROJECTS-DEVELOPMENT/RELEASE.backend.js +3 -3
  268. package/lib/scripts/PROJECTS-DEVELOPMENT/RELEASE.backend.js.map +1 -1
  269. package/lib/scripts/PROJECTS-DEVELOPMENT/TESTS.js.map +1 -1
  270. package/lib/scripts/UPDATE.backend.d.ts +0 -1
  271. package/lib/scripts/UPDATE.backend.js +8 -9
  272. package/lib/scripts/UPDATE.backend.js.map +1 -1
  273. package/lib/scripts/VSCODE-EXT/GIT.backend.d.ts +0 -1
  274. package/lib/scripts/VSCODE-EXT/GIT.backend.js +1 -8
  275. package/lib/scripts/VSCODE-EXT/GIT.backend.js.map +1 -1
  276. package/lib/scripts/VSCODE-EXT/OPEN.backend.d.ts +0 -9
  277. package/lib/scripts/VSCODE-EXT/OPEN.backend.js +4 -49
  278. package/lib/scripts/VSCODE-EXT/OPEN.backend.js.map +1 -1
  279. package/lib/scripts/VSCODE-EXT/VSCODE.backend.js.map +1 -1
  280. package/lib/scripts/index.d.ts +221 -1
  281. package/lib/scripts/index.js +2 -12
  282. package/lib/scripts/index.js.map +1 -1
  283. package/package.json +33 -33
  284. package/package.json_tnp.json5 +31 -31
  285. package/start.backend.d.ts +1 -1
  286. package/start.backend.js +13 -3
  287. package/start.backend.js.map +1 -1
  288. package/tmp-environment.json +67 -67
  289. package/websql/esm2022/lib/build-options.mjs +180 -0
  290. package/websql/esm2022/lib/constants.mjs +3 -3
  291. package/websql/esm2022/lib/helpers.mjs +1 -1
  292. package/websql/esm2022/lib/index.mjs +2 -3
  293. package/websql/esm2022/lib/project/abstract/feature-for-project.mjs +1 -1
  294. package/websql/esm2022/lib/project/abstract/index.mjs +1 -1
  295. package/websql/esm2022/lib/project/abstract/project/index.mjs +1 -1
  296. package/websql/esm2022/lib/project/abstract/project/project.mjs +1494 -70
  297. package/websql/esm2022/lib/project/features/package-json/index.mjs +1 -1
  298. package/websql/esm2022/lib/project/features/package-json/package-json-file.mjs +1 -1
  299. package/websql/esm2022/lib/project/features/package-json/package-json.mjs +1 -1
  300. package/websql/esm2022/lib/project/index.mjs +1 -5
  301. package/websql/esm2022/public-api.mjs +1 -1
  302. package/websql/esm2022/tnp.mjs +1 -1
  303. package/websql/fesm2022/tnp.mjs +1684 -88
  304. package/websql/fesm2022/tnp.mjs.map +1 -1
  305. package/websql/lib/build-options.d.ts +40 -0
  306. package/websql/lib/constants.d.ts +1 -1
  307. package/websql/lib/index.d.ts +1 -0
  308. package/websql/lib/project/abstract/project/project.d.ts +121 -6
  309. package/websql/lib/project/features/package-json/package-json.d.ts +1 -1
  310. package/git-log.d.ts +0 -1
  311. package/git-log.js +0 -27
  312. package/git-log.js.map +0 -1
  313. package/lib/console-ui.d.ts +0 -0
  314. package/lib/console-ui.js +0 -172
  315. package/lib/console-ui.js.map +0 -1
  316. package/lib/project/abstract/project/cloud-project.d.ts +0 -4
  317. package/lib/project/abstract/project/cloud-project.js +0 -10
  318. package/lib/project/abstract/project/cloud-project.js.map +0 -1
  319. package/lib/project/abstract/project/db-process-project.backend.d.ts +0 -2
  320. package/lib/project/abstract/project/db-process-project.backend.js +0 -10
  321. package/lib/project/abstract/project/db-process-project.backend.js.map +0 -1
  322. package/lib/project/abstract/project/tnp-project.js.map +0 -1
  323. package/lib/project/compilers/framework-file-generator/controllers-generator.backend.d.ts +0 -6
  324. package/lib/project/compilers/framework-file-generator/controllers-generator.backend.js +0 -17
  325. package/lib/project/compilers/framework-file-generator/controllers-generator.backend.js.map +0 -1
  326. package/lib/project/compilers/framework-file-generator/entities-generator.backend.d.ts +0 -8
  327. package/lib/project/compilers/framework-file-generator/entities-generator.backend.js +0 -20
  328. package/lib/project/compilers/framework-file-generator/entities-generator.backend.js.map +0 -1
  329. package/lib/project/compilers/framework-file-generator/framework-files-generator.backend.d.ts +0 -10
  330. package/lib/project/compilers/framework-file-generator/framework-files-generator.backend.js +0 -67
  331. package/lib/project/compilers/framework-file-generator/framework-files-generator.backend.js.map +0 -1
  332. package/lib/project/compilers/framework-file-generator/index.d.ts +0 -1
  333. package/lib/project/compilers/framework-file-generator/index.js +0 -7
  334. package/lib/project/compilers/framework-file-generator/index.js.map +0 -1
  335. package/lib/project/compilers/source-modifier/index.d.ts +0 -1
  336. package/lib/project/compilers/source-modifier/index.js +0 -7
  337. package/lib/project/compilers/source-modifier/index.js.map +0 -1
  338. package/lib/project/compilers/source-modifier/source-mod-for-standalone-projects.backend.d.ts +0 -13
  339. package/lib/project/compilers/source-modifier/source-mod-for-standalone-projects.backend.js +0 -181
  340. package/lib/project/compilers/source-modifier/source-mod-for-standalone-projects.backend.js.map +0 -1
  341. package/lib/project/compilers/source-modifier/source-modifier.backend.d.ts +0 -14
  342. package/lib/project/compilers/source-modifier/source-modifier.backend.js +0 -219
  343. package/lib/project/compilers/source-modifier/source-modifier.backend.js.map +0 -1
  344. package/lib/project/compilers/source-modifier/source-modifier.helpers.backend.d.ts +0 -2
  345. package/lib/project/compilers/source-modifier/source-modifier.helpers.backend.js +0 -99
  346. package/lib/project/compilers/source-modifier/source-modifier.helpers.backend.js.map +0 -1
  347. package/lib/project/compilers/source-modifier/source-modifier.models.d.ts +0 -35
  348. package/lib/project/compilers/source-modifier/source-modifier.models.js +0 -3
  349. package/lib/project/compilers/source-modifier/source-modifier.models.js.map +0 -1
  350. package/lib/project/features/build-process/waiting-for-builds-conditions-helpers.backend.d.ts +0 -1
  351. package/lib/project/features/build-process/waiting-for-builds-conditions-helpers.backend.js +0 -4
  352. package/lib/project/features/build-process/waiting-for-builds-conditions-helpers.backend.js.map +0 -1
  353. package/lib/project/features/copy-manager/bundle-mjs-fesm-module-spliter.backend.js.map +0 -1
  354. package/lib/project/features/extension-for-project/extension-for-project.d.ts +0 -7
  355. package/lib/project/features/extension-for-project/extension-for-project.js +0 -29
  356. package/lib/project/features/extension-for-project/extension-for-project.js.map +0 -1
  357. package/lib/project/features/files-recreation/files-templates/base-firedev-file-template.backend.d.ts +0 -12
  358. package/lib/project/features/files-recreation/files-templates/base-firedev-file-template.backend.js +0 -42
  359. package/lib/project/features/files-recreation/files-templates/base-firedev-file-template.backend.js.map +0 -1
  360. package/lib/project/features/files-recreation/files-templates/file-tmp-for-save.backend.d.ts +0 -7
  361. package/lib/project/features/files-recreation/files-templates/file-tmp-for-save.backend.js +0 -19
  362. package/lib/project/features/files-recreation/files-templates/file-tmp-for-save.backend.js.map +0 -1
  363. package/lib/project/features/files-recreation/files-templates/firedev-logic-ui-module-template.backend.d.ts +0 -9
  364. package/lib/project/features/files-recreation/files-templates/firedev-logic-ui-module-template.backend.js +0 -52
  365. package/lib/project/features/files-recreation/files-templates/firedev-logic-ui-module-template.backend.js.map +0 -1
  366. package/lib/project/features/files-recreation/files-templates/index.d.ts +0 -0
  367. package/lib/project/features/files-recreation/files-templates/index.js +0 -6
  368. package/lib/project/features/files-recreation/files-templates/index.js.map +0 -1
  369. package/lib/project/features/global-worker-apps.d.ts +0 -4
  370. package/lib/project/features/global-worker-apps.js +0 -50
  371. package/lib/project/features/global-worker-apps.js.map +0 -1
  372. package/lib/project/features/proxy-router.d.ts +0 -0
  373. package/lib/project/features/proxy-router.js +0 -77
  374. package/lib/project/features/proxy-router.js.map +0 -1
  375. package/lib/project/features/recent-files.backend.d.ts +0 -13
  376. package/lib/project/features/recent-files.backend.js +0 -126
  377. package/lib/project/features/recent-files.backend.js.map +0 -1
  378. package/lib/project/project-specyfic/index.d.ts +0 -7
  379. package/lib/project/project-specyfic/index.js +0 -11
  380. package/lib/project/project-specyfic/index.js.map +0 -1
  381. package/lib/project/project-specyfic/project-container.d.ts +0 -14
  382. package/lib/project/project-specyfic/project-container.js +0 -132
  383. package/lib/project/project-specyfic/project-container.js.map +0 -1
  384. package/lib/project/project-specyfic/project-docker.d.ts +0 -13
  385. package/lib/project/project-specyfic/project-docker.js +0 -136
  386. package/lib/project/project-specyfic/project-docker.js.map +0 -1
  387. package/lib/project/project-specyfic/project-isomorphic-lib.d.ts +0 -38
  388. package/lib/project/project-specyfic/project-isomorphic-lib.js +0 -958
  389. package/lib/project/project-specyfic/project-isomorphic-lib.js.map +0 -1
  390. package/lib/project/project-specyfic/project-navi.d.ts +0 -11
  391. package/lib/project/project-specyfic/project-navi.js +0 -49
  392. package/lib/project/project-specyfic/project-navi.js.map +0 -1
  393. package/lib/project/project-specyfic/project-scenario.d.ts +0 -11
  394. package/lib/project/project-specyfic/project-scenario.js +0 -49
  395. package/lib/project/project-specyfic/project-scenario.js.map +0 -1
  396. package/lib/project/project-specyfic/project-unknow-npm.d.ts +0 -11
  397. package/lib/project/project-specyfic/project-unknow-npm.js +0 -49
  398. package/lib/project/project-specyfic/project-unknow-npm.js.map +0 -1
  399. package/lib/project/project-specyfic/project-vscode-ext.d.ts +0 -13
  400. package/lib/project/project-specyfic/project-vscode-ext.js +0 -91
  401. package/lib/project/project-specyfic/project-vscode-ext.js.map +0 -1
  402. package/lib/project/project-specyfic/select-clients.backend.d.ts +0 -1
  403. package/lib/project/project-specyfic/select-clients.backend.js +0 -4
  404. package/lib/project/project-specyfic/select-clients.backend.js.map +0 -1
  405. package/lib/scripts/BASH-CONFIG.backend.d.ts +0 -5
  406. package/lib/scripts/BASH-CONFIG.backend.js +0 -19
  407. package/lib/scripts/BASH-CONFIG.backend.js.map +0 -1
  408. package/lib/scripts/CLOUD/CLOUD.backend.d.ts +0 -5
  409. package/lib/scripts/CLOUD/CLOUD.backend.js +0 -29
  410. package/lib/scripts/CLOUD/CLOUD.backend.js.map +0 -1
  411. package/lib/scripts/COMPILERS-TESTING/COMPILERS.backend.d.ts +0 -9
  412. package/lib/scripts/COMPILERS-TESTING/COMPILERS.backend.js +0 -91
  413. package/lib/scripts/COMPILERS-TESTING/COMPILERS.backend.js.map +0 -1
  414. package/lib/scripts/COMPILERS-TESTING/INCREMENTAL-TEST.backend.d.ts +0 -0
  415. package/lib/scripts/COMPILERS-TESTING/INCREMENTAL-TEST.backend.js +0 -64
  416. package/lib/scripts/COMPILERS-TESTING/INCREMENTAL-TEST.backend.js.map +0 -1
  417. package/lib/scripts/COMPILERS-TESTING/index.d.ts +0 -1
  418. package/lib/scripts/COMPILERS-TESTING/index.js +0 -7
  419. package/lib/scripts/COMPILERS-TESTING/index.js.map +0 -1
  420. package/lib/scripts/DAEMON.backend.d.ts +0 -2
  421. package/lib/scripts/DAEMON.backend.js +0 -5
  422. package/lib/scripts/DAEMON.backend.js.map +0 -1
  423. package/lib/scripts/JAVA.backend.js +0 -48
  424. package/lib/scripts/JAVA.backend.js.map +0 -1
@@ -1,15 +1,9 @@
1
- /* */
2
- /* */
3
- /* */
4
- /* */
5
- /* */
6
- /* */
7
- /* */
8
- /* */
9
- var Project_1;
10
1
  import { __decorate } from "tslib";
11
- import { Project as $Project } from 'tnp-helpers/websql';
12
- import { Morphi } from 'morphi/websql';
2
+ import { config } from 'tnp-config/websql';
3
+ import { _ } from 'tnp-core/websql';
4
+ import { Helpers, BaseProjectResolver, BaseProject } from 'tnp-helpers/websql';
5
+ import { CLASS } from 'typescript-class-helpers/websql';
6
+ import { LibTypeArr } from 'tnp-config/websql';
13
7
  /* */
14
8
  /* */
15
9
  /* */
@@ -51,15 +45,14 @@ import { Morphi } from 'morphi/websql';
51
45
  /* */
52
46
  /* */
53
47
  /* */
54
- let Project = Project_1 = class Project extends $Project {
55
- setProjectInfoPort(v) {
48
+ export class FiredevProjectResolve extends BaseProjectResolver {
49
+ typeFrom(location) {
50
+ /* */
56
51
  /* */
57
52
  /* */
58
53
  /* */
59
54
  /* */
60
55
  /* */
61
- }
62
- get projectInfoPort() {
63
56
  /* */
64
57
  /* */
65
58
  /* */
@@ -68,18 +61,156 @@ let Project = Project_1 = class Project extends $Project {
68
61
  /* */
69
62
  return (void 0);
70
63
  }
71
- get standaloneNormalAppPort() {
64
+ /**
65
+ * TODO use base resolve
66
+ */
67
+ From(locationOfProj, options) {
68
+ /* */
69
+ /* */
70
+ /* */
71
+ /* */
72
+ /* */
73
+ /* */
74
+ /* */
75
+ /* */
76
+ /* */
77
+ /* */
78
+ /* */
79
+ /* */
80
+ /* */
81
+ /* */
82
+ /* */
83
+ /* */
84
+ /* */
85
+ /* */
86
+ /* */
87
+ /* */
88
+ /* */
89
+ /* */
90
+ /* */
91
+ /* */
92
+ /* */
93
+ /* */
94
+ /* */
95
+ /* */
96
+ /* */
97
+ /* */
98
+ /* */
99
+ /* */
100
+ /* */
101
+ /* */
102
+ /* */
103
+ /* */
104
+ /* */
105
+ /* */
106
+ /* */
107
+ /* */
108
+ /* */
109
+ /* */
110
+ /* */
111
+ /* */
112
+ /* */
113
+ /* */
114
+ /* */
72
115
  /* */
73
116
  /* */
74
117
  return (void 0);
75
118
  }
76
- get standaloneWebsqlAppPort() {
119
+ nearestTo(absoluteLocation, options) {
120
+ /* */
121
+ /* */
122
+ /* */
123
+ /* */
124
+ /* */
125
+ /* */
126
+ /* */
127
+ /* */
128
+ /* */
129
+ /* */
130
+ /* */
131
+ /* */
132
+ /* */
133
+ /* */
134
+ /* */
135
+ /* */
136
+ /* */
137
+ /* */
138
+ /* */
139
+ /* */
140
+ /* */
141
+ /* */
142
+ /* */
143
+ /* */
144
+ /* */
145
+ /* */
146
+ /* */
147
+ /* */
148
+ /* */
149
+ /* */
150
+ /* */
151
+ /* */
152
+ /* */
153
+ /* */
154
+ /* */
155
+ /* */
156
+ /* */
157
+ /* */
158
+ /* */
159
+ /* */
160
+ /* */
161
+ /* */
162
+ /* */
163
+ /* */
164
+ /* */
165
+ /* */
166
+ /* */
167
+ /* */
168
+ /* */
169
+ /* */
170
+ /* */
171
+ /* */
172
+ /* */
173
+ /* */
174
+ /* */
175
+ /* */
77
176
  /* */
78
177
  /* */
79
178
  return (void 0);
80
179
  }
81
- get portsInfo() {
82
- /* */
180
+ /**
181
+ * @deprecated
182
+ */
183
+ getClassFunction(className) {
184
+ const classFN = CLASS.getBy(className);
185
+ if (!classFN) {
186
+ Helpers.error(`[firedev-helpers][Project.From] cannot find class function by name ${className}`);
187
+ }
188
+ return classFN;
189
+ }
190
+ /**
191
+ * @deprecated
192
+ */
193
+ checkIfTypeIsNotCorrect(type, location) {
194
+ if (_.isString(type) && !LibTypeArr.includes(type)) {
195
+ Helpers.error(`Incorrect type: "${type}"
196
+
197
+ Please use one of this: ${LibTypeArr.join(',')}
198
+
199
+ in
200
+ package.json > ${config.frameworkName}.type
201
+
202
+ location: ${location}
203
+
204
+ `, false, true);
205
+ }
206
+ }
207
+ }
208
+ class Project extends BaseProject {
209
+ static { this.ins = new FiredevProjectResolve(Project); }
210
+ /**
211
+ * @deprecated
212
+ */
213
+ static get Tnp() {
83
214
  /* */
84
215
  /* */
85
216
  /* */
@@ -89,62 +220,71 @@ let Project = Project_1 = class Project extends $Project {
89
220
  /* */
90
221
  return (void 0);
91
222
  }
92
- /* */
93
- /* */
94
- /* */
95
- /* */
96
- /* */
97
- /* */
98
- /* */
99
- /* */
100
- /* */
101
- /* */
102
- /* */
103
- /* */
104
- get info(
105
- /* */
223
+ static From(locationOfProject) {
224
+ return this.ins.From(locationOfProject);
225
+ }
226
+ static by(libraryType, version
106
227
  /* */
107
228
  /* */
108
229
  ) {
109
- if (Morphi.IsBrowser) {
110
- return this.browser.info;
111
- }
112
230
  /* */
113
231
  /* */
232
+ /* */
233
+ /* */
234
+ /* */
235
+ /* */
236
+ /* */
237
+ /* */
238
+ /* */
239
+ /* */
240
+ /* */
241
+ /* */
242
+ /* */
243
+ /* */
244
+ /* */
245
+ /* */
246
+ /* */
247
+ /* */
248
+ /* */
249
+ /* */
250
+ /* */
251
+ /* */
252
+ /* */
253
+ /* */
254
+ return (void 0);
114
255
  }
115
- get TnpProject() {
116
- return Project_1.Tnp;
256
+ static get Current() {
257
+ return this.ins.Current;
117
258
  }
118
- get isBundleMode() {
119
- return Project_1.isBundleMode;
259
+ static resolveChildProject(args) {
260
+ return this.ins.resolveChildProject(args);
120
261
  }
121
- removeItself() {
262
+ static angularMajorVersionForCurrentCli() {
122
263
  /* */
123
264
  /* */
124
265
  /* */
125
266
  /* */
267
+ return (void 0);
126
268
  }
127
- };
128
- Project = Project_1 = __decorate([
129
- Morphi.Entity({
130
- className: 'Project',
131
- classFamily: 'Project',
132
- classNameInBrowser: 'PROJECT',
133
- uniqueKeyProp: 'location',
134
- mapping: {
135
- packageJson: 'PackageJSON'
136
- },
137
- additionalMapping: {
138
- 'browser.children': ['Project'],
139
- 'browser.children.browser.childeren': ['Project'],
140
- 'browser.children.browser.childeren.browser.childeren': ['Project'],
141
- 'browser.parent': 'Project',
142
- 'browser.parent.browser.parent': 'Project',
143
- 'browser.baseline': 'Project',
144
- 'browser.baseline.browser.baseline': 'Project',
145
- 'browser.preview': 'Project',
146
- 'browser.preview.browser.preview': 'Project',
147
- },
269
+ static morphiTagToCheckoutForCurrentCliVersion(cwd) {
270
+ /* */
271
+ /* */
272
+ /* */
273
+ /* */
274
+ return (void 0);
275
+ }
276
+ // @ts-ignore
277
+ get ins() {
278
+ return Project.ins;
279
+ }
280
+ ;
281
+ get children() {
282
+ if (Helpers.isBrowser) {
283
+ return this.browser.children;
284
+ }
285
+ /* */
286
+ /* */
287
+ /* */
148
288
  /* */
149
289
  /* */
150
290
  /* */
@@ -168,7 +308,45 @@ Project = Project_1 = __decorate([
168
308
  /* */
169
309
  /* */
170
310
  /* */
311
+ }
312
+ setType(type) {
313
+ // @ts-ignore
314
+ this.type = type;
315
+ }
316
+ typeIs(...types) {
317
+ return this.type && types.includes(this.type);
318
+ }
319
+ typeIsNot(...types) {
320
+ return !this.typeIs(...types);
321
+ }
322
+ setProjectInfoPort(v) {
323
+ /* */
324
+ /* */
325
+ /* */
326
+ /* */
327
+ /* */
328
+ /* */
329
+ }
330
+ get projectInfoPort() {
331
+ /* */
332
+ /* */
333
+ /* */
334
+ /* */
335
+ /* */
336
+ /* */
337
+ return (void 0);
338
+ }
339
+ get standaloneNormalAppPort() {
340
+ /* */
341
+ /* */
342
+ return (void 0);
343
+ }
344
+ get standaloneWebsqlAppPort() {
345
+ /* */
171
346
  /* */
347
+ return (void 0);
348
+ }
349
+ get portsInfo() {
172
350
  /* */
173
351
  /* */
174
352
  /* */
@@ -177,10 +355,23 @@ Project = Project_1 = __decorate([
177
355
  /* */
178
356
  /* */
179
357
  /* */
358
+ return (void 0);
359
+ }
360
+ get info(
361
+ /* */
362
+ /* */
363
+ /* */
364
+ ) {
365
+ if (Helpers.isBrowser) {
366
+ return this.browser.info;
367
+ }
180
368
  /* */
181
369
  /* */
182
- }) // @ts-ignore
183
- ], Project);
370
+ }
371
+ get FiredevProject() {
372
+ return Project.Tnp;
373
+ }
374
+ }
184
375
  export { Project };
185
376
  /* */
186
377
  /* */
@@ -219,11 +410,1244 @@ export { Project };
219
410
  /* */
220
411
  /* */
221
412
  /* */
222
- /* */
223
- /* */
224
- /* */
225
- /* */
226
- /* */
413
+ let ProjectContainer = class ProjectContainer {
414
+ async initProcedure() {
415
+ /* */
416
+ /* */
417
+ return (void 0);
418
+ }
419
+ addGitReposAsLinkedProjects() {
420
+ /* */
421
+ /* */
422
+ /* */
423
+ /* */
424
+ /* */
425
+ /* */
426
+ /* */
427
+ /* */
428
+ /* */
429
+ /* */
430
+ /* */
431
+ /* */
432
+ /* */
433
+ /* */
434
+ /* */
435
+ /* */
436
+ /* */
437
+ /* */
438
+ /* */
439
+ /* */
440
+ /* */
441
+ /* */
442
+ /* */
443
+ /* */
444
+ /* */
445
+ /* */
446
+ /* */
447
+ /* */
448
+ return (void 0);
449
+ }
450
+ async buildLib() { }
451
+ filesTemplates() {
452
+ /* */
453
+ /* */
454
+ /* */
455
+ /* */
456
+ /* */
457
+ /* */
458
+ /* */
459
+ /* */
460
+ /* */
461
+ return (void 0);
462
+ }
463
+ startOnCommand() {
464
+ /* */
465
+ /* */
466
+ return (void 0);
467
+ }
468
+ projectSpecyficFiles() {
469
+ /* */
470
+ /* */
471
+ /* */
472
+ /* */
473
+ /* */
474
+ /* */
475
+ /* */
476
+ /* */
477
+ /* */
478
+ /* */
479
+ /* */
480
+ return (void 0);
481
+ }
482
+ proxyProjFor(client, outFolder) {
483
+ /* */
484
+ /* */
485
+ return (void 0);
486
+ }
487
+ async buildSteps(buildOptions, libBuildDone) {
488
+ /* */
489
+ /* */
490
+ /* */
491
+ /* */
492
+ /* */
493
+ /* */
494
+ /* */
495
+ /* */
496
+ /* */
497
+ /* */
498
+ /* */
499
+ /* */
500
+ /* */
501
+ /* */
502
+ /* */
503
+ /* */
504
+ /* */
505
+ /* */
506
+ /* */
507
+ /* */
508
+ /* */
509
+ /* */
510
+ /* */
511
+ /* */
512
+ /* */
513
+ /* */
514
+ /* */
515
+ /* */
516
+ /* */
517
+ /* */
518
+ /* */
519
+ /* */
520
+ /* */
521
+ /* */
522
+ /* */
523
+ /* */
524
+ /* */
525
+ /* */
526
+ /* */
527
+ /* */
528
+ /* */
529
+ /* */
530
+ /* */
531
+ /* */
532
+ /* */
533
+ /* */
534
+ /* */
535
+ }
536
+ };
537
+ ProjectContainer = __decorate([
538
+ CLASS.NAME('ProjectContainer')
539
+ ], ProjectContainer);
540
+ export { ProjectContainer };
541
+ let ProjectIsomorphicLib = class ProjectIsomorphicLib {
542
+ constructor() {
543
+ /* */
544
+ /* */
545
+ /* */
546
+ /* */
547
+ /* */
548
+ /* */
549
+ /* */
550
+ /* */
551
+ /* */
552
+ /* */
553
+ /* */
554
+ /* */
555
+ /* */
556
+ /* */
557
+ /* */
558
+ /* */
559
+ /* */
560
+ /* */
561
+ /* */
562
+ /* */
563
+ /* */
564
+ /* */
565
+ /* */
566
+ this.npmRunNg = `npm-run ng`; // when there is not globl "ng" command -> npm-run ng.js works
567
+ }
568
+ get ignoreInV3() {
569
+ const files = [
570
+ 'angular.json.filetemplate',
571
+ 'ngsw-config.json.filetemplate',
572
+ ];
573
+ return [
574
+ ...files,
575
+ ...files.map(f => f.replace('.filetemplate', '')),
576
+ ];
577
+ }
578
+ get forAppRelaseBuild() {
579
+ /* */
580
+ /* */
581
+ return (void 0);
582
+ }
583
+ ;
584
+ sourceFilesToIgnore() {
585
+ /* */
586
+ /* */
587
+ /* */
588
+ /* */
589
+ /* */
590
+ /* */
591
+ return (void 0);
592
+ }
593
+ projectSpecyficFiles() {
594
+ /* */
595
+ /* */
596
+ /* */
597
+ /* */
598
+ /* */
599
+ /* */
600
+ /* */
601
+ /* */
602
+ /* */
603
+ /* */
604
+ /* */
605
+ /* */
606
+ /* */
607
+ /* */
608
+ /* */
609
+ /* */
610
+ /* */
611
+ /* */
612
+ /* */
613
+ /* */
614
+ /* */
615
+ /* */
616
+ /* */
617
+ return (void 0);
618
+ }
619
+ filesTemplates() {
620
+ /* */
621
+ /* */
622
+ /* */
623
+ /* */
624
+ /* */
625
+ /* */
626
+ /* */
627
+ /* */
628
+ /* */
629
+ /* */
630
+ /* */
631
+ /* */
632
+ /* */
633
+ /* */
634
+ /* */
635
+ /* */
636
+ /* */
637
+ /* */
638
+ /* */
639
+ /* */
640
+ /* */
641
+ return (void 0);
642
+ }
643
+ projectLinkedFiles() {
644
+ /* */
645
+ /* */
646
+ /* */
647
+ /* */
648
+ /* */
649
+ /* */
650
+ /* */
651
+ /* */
652
+ /* */
653
+ /* */
654
+ /* */
655
+ return (void 0);
656
+ }
657
+ projectSpecyficIgnoredFiles() {
658
+ /* */
659
+ /* */
660
+ /* */
661
+ /* */
662
+ /* */
663
+ return (void 0);
664
+ }
665
+ async buildSteps(buildOptions, libBuildDone) {
666
+ /* */
667
+ /* */
668
+ /* */
669
+ /* */
670
+ /* */
671
+ /* */
672
+ /* */
673
+ /* */
674
+ /* */
675
+ /* */
676
+ /* */
677
+ /* */
678
+ return (void 0);
679
+ }
680
+ async initProcedure() {
681
+ /* */
682
+ /* */
683
+ /* */
684
+ /* */
685
+ }
686
+ startOnCommand(args) {
687
+ /* */
688
+ /* */
689
+ /* */
690
+ return (void 0);
691
+ }
692
+ async buildApp(
693
+ /* */
694
+ /* */
695
+ /* */
696
+ /* */
697
+ /* */
698
+ /* */
699
+ /* */
700
+ ) {
701
+ /* */
702
+ /* */
703
+ /* */
704
+ /* */
705
+ /* */
706
+ /* */
707
+ /* */
708
+ /* */
709
+ /* */
710
+ /* */
711
+ /* */
712
+ /* */
713
+ /* */
714
+ /* */
715
+ /* */
716
+ /* */
717
+ /* */
718
+ /* */
719
+ /* */
720
+ /* */
721
+ /* */
722
+ /* */
723
+ /* */
724
+ /* */
725
+ /* */
726
+ /* */
727
+ /* */
728
+ /* */
729
+ /* */
730
+ /* */
731
+ /* */
732
+ /* */
733
+ /* */
734
+ /* */
735
+ /* */
736
+ /* */
737
+ /* */
738
+ /* */
739
+ /* */
740
+ /* */
741
+ /* */
742
+ /* */
743
+ /* */
744
+ /* */
745
+ /* */
746
+ /* */
747
+ /* */
748
+ /* */
749
+ /* */
750
+ /* */
751
+ /* */
752
+ /* */
753
+ /* */
754
+ /* */
755
+ /* */
756
+ /* */
757
+ /* */
758
+ /* */
759
+ /* */
760
+ /* */
761
+ /* */
762
+ /* */
763
+ /* */
764
+ /* */
765
+ /* */
766
+ /* */
767
+ /* */
768
+ /* */
769
+ /* */
770
+ /* */
771
+ /* */
772
+ /* */
773
+ /* */
774
+ /* */
775
+ /* */
776
+ /* */
777
+ /* */
778
+ /* */
779
+ /* */
780
+ /* */
781
+ /* */
782
+ /* */
783
+ /* */
784
+ /* */
785
+ /* */
786
+ /* */
787
+ /* */
788
+ /* */
789
+ /* */
790
+ /* */
791
+ /* */
792
+ /* */
793
+ /* */
794
+ /* */
795
+ /* */
796
+ /* */
797
+ /* */
798
+ /* */
799
+ /* */
800
+ /* */
801
+ /* */
802
+ /* */
803
+ /* */
804
+ /* */
805
+ /* */
806
+ /* */
807
+ /* */
808
+ /* */
809
+ /* */
810
+ /* */
811
+ /* */
812
+ /* */
813
+ /* */
814
+ /* */
815
+ /* */
816
+ /* */
817
+ /* */
818
+ /* */
819
+ /* */
820
+ /* */
821
+ /* */
822
+ /* */
823
+ /* */
824
+ /* */
825
+ /* */
826
+ /* */
827
+ /* */
828
+ /* */
829
+ /* */
830
+ /* */
831
+ /* */
832
+ /* */
833
+ /* */
834
+ /* */
835
+ /* */
836
+ /* */
837
+ /* */
838
+ /* */
839
+ /* */
840
+ /* */
841
+ /* */
842
+ /* */
843
+ /* */
844
+ /* */
845
+ /* */
846
+ /* */
847
+ /* */
848
+ /* */
849
+ /* */
850
+ /* */
851
+ /* */
852
+ /* */
853
+ /* */
854
+ /* */
855
+ /* */
856
+ /* */
857
+ /* */
858
+ /* */
859
+ /* */
860
+ /* */
861
+ /* */
862
+ /* */
863
+ /* */
864
+ /* */
865
+ /* */
866
+ /* */
867
+ /* */
868
+ /* */
869
+ /* */
870
+ /* */
871
+ /* */
872
+ /* */
873
+ /* */
874
+ /* */
875
+ /* */
876
+ /* */
877
+ /* */
878
+ /* */
879
+ /* */
880
+ /* */
881
+ /* */
882
+ /* */
883
+ /* */
884
+ /* */
885
+ /* */
886
+ /* */
887
+ /* */
888
+ /* */
889
+ /* */
890
+ /* */
891
+ /* */
892
+ /* */
893
+ /* */
894
+ /* */
895
+ /* */
896
+ /* */
897
+ /* */
898
+ /* */
899
+ /* */
900
+ /* */
901
+ /* */
902
+ /* */
903
+ /* */
904
+ /* */
905
+ /* */
906
+ /* */
907
+ /* */
908
+ /* */
909
+ /* */
910
+ /* */
911
+ /* */
912
+ /* */
913
+ /* */
914
+ /* */
915
+ }
916
+ async buildLib(libBuildDone) {
917
+ /* */
918
+ /* */
919
+ /* */
920
+ /* */
921
+ /* */
922
+ /* */
923
+ /* */
924
+ /* */
925
+ /* */
926
+ /* */
927
+ /* */
928
+ /* */
929
+ /* */
930
+ /* */
931
+ /* */
932
+ /* */
933
+ /* */
934
+ /* */
935
+ /* */
936
+ /* */
937
+ /* */
938
+ /* */
939
+ /* */
940
+ /* */
941
+ /* */
942
+ /* */
943
+ /* */
944
+ /* */
945
+ /* */
946
+ /* */
947
+ /* */
948
+ /* */
949
+ /* */
950
+ /* */
951
+ /* */
952
+ /* */
953
+ /* */
954
+ /* */
955
+ /* */
956
+ /* */
957
+ /* */
958
+ /* */
959
+ /* */
960
+ /* */
961
+ /* */
962
+ /* */
963
+ /* */
964
+ /* */
965
+ /* */
966
+ /* */
967
+ /* */
968
+ /* */
969
+ /* */
970
+ /* */
971
+ /* */
972
+ /* */
973
+ /* */
974
+ /* */
975
+ /* */
976
+ /* */
977
+ /* */
978
+ /* */
979
+ /* */
980
+ /* */
981
+ /* */
982
+ /* */
983
+ /* */
984
+ /* */
985
+ /* */
986
+ /* */
987
+ /* */
988
+ /* */
989
+ /* */
990
+ /* */
991
+ /* */
992
+ /* */
993
+ /* */
994
+ /* */
995
+ /* */
996
+ /* */
997
+ /* */
998
+ /* */
999
+ /* */
1000
+ /* */
1001
+ /* */
1002
+ /* */
1003
+ /* */
1004
+ /* */
1005
+ /* */
1006
+ /* */
1007
+ /* */
1008
+ /* */
1009
+ /* */
1010
+ /* */
1011
+ /* */
1012
+ /* */
1013
+ /* */
1014
+ /* */
1015
+ /* */
1016
+ /* */
1017
+ /* */
1018
+ /* */
1019
+ /* */
1020
+ /* */
1021
+ /* */
1022
+ /* */
1023
+ /* */
1024
+ /* */
1025
+ /* */
1026
+ /* */
1027
+ /* */
1028
+ /* */
1029
+ /* */
1030
+ /* */
1031
+ /* */
1032
+ /* */
1033
+ /* */
1034
+ /* */
1035
+ /* */
1036
+ /* */
1037
+ /* */
1038
+ /* */
1039
+ /* */
1040
+ /* */
1041
+ /* */
1042
+ /* */
1043
+ /* */
1044
+ /* */
1045
+ /* */
1046
+ /* */
1047
+ /* */
1048
+ /* */
1049
+ /* */
1050
+ /* */
1051
+ /* */
1052
+ /* */
1053
+ /* */
1054
+ /* */
1055
+ /* */
1056
+ /* */
1057
+ /* */
1058
+ /* */
1059
+ /* */
1060
+ /* */
1061
+ /* */
1062
+ /* */
1063
+ /* */
1064
+ /* */
1065
+ /* */
1066
+ /* */
1067
+ /* */
1068
+ /* */
1069
+ /* */
1070
+ /* */
1071
+ /* */
1072
+ /* */
1073
+ /* */
1074
+ /* */
1075
+ /* */
1076
+ /* */
1077
+ /* */
1078
+ /* */
1079
+ /* */
1080
+ /* */
1081
+ /* */
1082
+ /* */
1083
+ /* */
1084
+ /* */
1085
+ /* */
1086
+ /* */
1087
+ /* */
1088
+ /* */
1089
+ /* */
1090
+ /* */
1091
+ /* */
1092
+ /* */
1093
+ /* */
1094
+ /* */
1095
+ /* */
1096
+ /* */
1097
+ /* */
1098
+ /* */
1099
+ /* */
1100
+ /* */
1101
+ /* */
1102
+ /* */
1103
+ /* */
1104
+ /* */
1105
+ /* */
1106
+ /* */
1107
+ /* */
1108
+ /* */
1109
+ /* */
1110
+ /* */
1111
+ /* */
1112
+ /* */
1113
+ /* */
1114
+ /* */
1115
+ /* */
1116
+ /* */
1117
+ /* */
1118
+ /* */
1119
+ /* */
1120
+ /* */
1121
+ /* */
1122
+ /* */
1123
+ /* */
1124
+ /* */
1125
+ /* */
1126
+ /* */
1127
+ /* */
1128
+ /* */
1129
+ /* */
1130
+ /* */
1131
+ /* */
1132
+ /* */
1133
+ /* */
1134
+ /* */
1135
+ /* */
1136
+ /* */
1137
+ /* */
1138
+ /* */
1139
+ /* */
1140
+ /* */
1141
+ /* */
1142
+ /* */
1143
+ /* */
1144
+ /* */
1145
+ /* */
1146
+ /* */
1147
+ /* */
1148
+ /* */
1149
+ /* */
1150
+ /* */
1151
+ /* */
1152
+ /* */
1153
+ /* */
1154
+ /* */
1155
+ /* */
1156
+ /* */
1157
+ /* */
1158
+ /* */
1159
+ /* */
1160
+ /* */
1161
+ /* */
1162
+ /* */
1163
+ /* */
1164
+ /* */
1165
+ /* */
1166
+ /* */
1167
+ /* */
1168
+ /* */
1169
+ /* */
1170
+ /* */
1171
+ /* */
1172
+ /* */
1173
+ /* */
1174
+ /* */
1175
+ /* */
1176
+ /* */
1177
+ /* */
1178
+ /* */
1179
+ /* */
1180
+ /* */
1181
+ /* */
1182
+ /* */
1183
+ /* */
1184
+ /* */
1185
+ /* */
1186
+ /* */
1187
+ /* */
1188
+ /* */
1189
+ /* */
1190
+ /* */
1191
+ /* */
1192
+ /* */
1193
+ /* */
1194
+ /* */
1195
+ /* */
1196
+ /* */
1197
+ /* */
1198
+ /* */
1199
+ /* */
1200
+ /* */
1201
+ /* */
1202
+ /* */
1203
+ /* */
1204
+ /* */
1205
+ /* */
1206
+ /* */
1207
+ /* */
1208
+ /* */
1209
+ /* */
1210
+ /* */
1211
+ /* */
1212
+ /* */
1213
+ /* */
1214
+ /* */
1215
+ /* */
1216
+ /* */
1217
+ /* */
1218
+ /* */
1219
+ /* */
1220
+ /* */
1221
+ /* */
1222
+ /* */
1223
+ /* */
1224
+ /* */
1225
+ /* */
1226
+ /* */
1227
+ /* */
1228
+ /* */
1229
+ /* */
1230
+ /* */
1231
+ /* */
1232
+ /* */
1233
+ /* */
1234
+ /* */
1235
+ /* */
1236
+ /* */
1237
+ /* */
1238
+ /* */
1239
+ /* */
1240
+ /* */
1241
+ /* */
1242
+ }
1243
+ showMesageWhenBuildLibDoneForSmartContainer(args, watch, isInRelease) {
1244
+ /* */
1245
+ /* */
1246
+ /* */
1247
+ /* */
1248
+ /* */
1249
+ /* */
1250
+ /* */
1251
+ /* */
1252
+ /* */
1253
+ /* */
1254
+ /* */
1255
+ /* */
1256
+ /* */
1257
+ /* */
1258
+ /* */
1259
+ /* */
1260
+ /* */
1261
+ /* */
1262
+ /* */
1263
+ /* */
1264
+ /* */
1265
+ /* */
1266
+ /* */
1267
+ /* */
1268
+ /* */
1269
+ /* */
1270
+ /* */
1271
+ /* */
1272
+ /* */
1273
+ /* */
1274
+ /* */
1275
+ /* */
1276
+ /* */
1277
+ /* */
1278
+ /* */
1279
+ /* */
1280
+ /* */
1281
+ /* */
1282
+ /* */
1283
+ /* */
1284
+ /* */
1285
+ /* */
1286
+ /* */
1287
+ /* */
1288
+ /* */
1289
+ /* */
1290
+ /* */
1291
+ /* */
1292
+ /* */
1293
+ /* */
1294
+ /* */
1295
+ /* */
1296
+ /* */
1297
+ /* */
1298
+ /* */
1299
+ /* */
1300
+ /* */
1301
+ /* */
1302
+ /* */
1303
+ /* */
1304
+ /* */
1305
+ /* */
1306
+ /* */
1307
+ /* */
1308
+ /* */
1309
+ /* */
1310
+ /* */
1311
+ }
1312
+ fixBuildDirs(outDir) {
1313
+ /* */
1314
+ /* */
1315
+ /* */
1316
+ /* */
1317
+ /* */
1318
+ /* */
1319
+ }
1320
+ proxyNgProj(project, buildOptions, type = 'app') {
1321
+ /* */
1322
+ /* */
1323
+ /* */
1324
+ /* */
1325
+ /* */
1326
+ /* */
1327
+ /* */
1328
+ /* */
1329
+ /* */
1330
+ /* */
1331
+ return (void 0);
1332
+ }
1333
+ backendCompilerDeclarationFiles(outDir) {
1334
+ /* */
1335
+ /* */
1336
+ }
1337
+ backendRemoveDts(outDir) {
1338
+ /* */
1339
+ /* */
1340
+ /* */
1341
+ /* */
1342
+ /* */
1343
+ /* */
1344
+ /* */
1345
+ }
1346
+ backendIncludeNodeModulesInCompilation(outDir, uglify, mainCliJSFileName = config.file.index_js) {
1347
+ /* */
1348
+ /* */
1349
+ /* */
1350
+ /* */
1351
+ /* */
1352
+ /* */
1353
+ /* */
1354
+ /* */
1355
+ /* */
1356
+ /* */
1357
+ /* */
1358
+ /* */
1359
+ /* */
1360
+ /* */
1361
+ /* */
1362
+ /* */
1363
+ /* */
1364
+ /* */
1365
+ /* */
1366
+ /* */
1367
+ /* */
1368
+ /* */
1369
+ /* */
1370
+ /* */
1371
+ /* */
1372
+ /* */
1373
+ /* */
1374
+ /* */
1375
+ /* */
1376
+ /* */
1377
+ /* */
1378
+ /* */
1379
+ /* */
1380
+ /* */
1381
+ /* */
1382
+ /* */
1383
+ /* */
1384
+ /* */
1385
+ /* */
1386
+ /* */
1387
+ /* */
1388
+ /* */
1389
+ /* */
1390
+ /* */
1391
+ /* */
1392
+ /* */
1393
+ /* */
1394
+ /* */
1395
+ /* */
1396
+ /* */
1397
+ /* */
1398
+ /* */
1399
+ /* */
1400
+ /* */
1401
+ /* */
1402
+ /* */
1403
+ /* */
1404
+ /* */
1405
+ /* */
1406
+ /* */
1407
+ }
1408
+ /**
1409
+ * TODO not working
1410
+ */
1411
+ backendCompileToEs5(outDir, mainCliJSFileName = 'index.js') {
1412
+ return;
1413
+ /* */
1414
+ /* */
1415
+ /* */
1416
+ /* */
1417
+ /* */
1418
+ /* */
1419
+ /* */
1420
+ /* */
1421
+ /* */
1422
+ /* */
1423
+ /* */
1424
+ /* */
1425
+ /* */
1426
+ /* */
1427
+ }
1428
+ backendUglifyCode(outDir, reservedNames, mainCliJSFileName = 'index.js') {
1429
+ /* */
1430
+ /* */
1431
+ /* */
1432
+ /* */
1433
+ /* */
1434
+ /* */
1435
+ /* */
1436
+ /* */
1437
+ /* */
1438
+ /* */
1439
+ /* */
1440
+ /* */
1441
+ /* */
1442
+ /* */
1443
+ /* */
1444
+ /* */
1445
+ /* */
1446
+ return (void 0);
1447
+ }
1448
+ backendObscureCode(outDir, reservedNames, mainCliJSFileName = 'index.js') {
1449
+ /* */
1450
+ /* */
1451
+ /* */
1452
+ /* */
1453
+ /* */
1454
+ /* */
1455
+ /* */
1456
+ /* */
1457
+ /* */
1458
+ /* */
1459
+ /* */
1460
+ /* */
1461
+ /* */
1462
+ /* */
1463
+ /* */
1464
+ /* */
1465
+ /* */
1466
+ /* */
1467
+ /* */
1468
+ /* */
1469
+ /* */
1470
+ /* */
1471
+ return (void 0);
1472
+ }
1473
+ get tmpSrcDistReleaseFolder() {
1474
+ /* */
1475
+ /* */
1476
+ return (void 0);
1477
+ }
1478
+ cutReleaseCodeRestore() {
1479
+ /* */
1480
+ /* */
1481
+ /* */
1482
+ /* */
1483
+ /* */
1484
+ /* */
1485
+ /* */
1486
+ }
1487
+ cutReleaseCode() {
1488
+ /* */
1489
+ /* */
1490
+ /* */
1491
+ /* */
1492
+ /* */
1493
+ /* */
1494
+ /* */
1495
+ /* */
1496
+ /* */
1497
+ /* */
1498
+ /* */
1499
+ /* */
1500
+ /* */
1501
+ /* */
1502
+ /* */
1503
+ /* */
1504
+ /* */
1505
+ /* */
1506
+ /* */
1507
+ /* */
1508
+ /* */
1509
+ /* */
1510
+ /* */
1511
+ /* */
1512
+ /* */
1513
+ /* */
1514
+ }
1515
+ };
1516
+ ProjectIsomorphicLib = __decorate([
1517
+ CLASS.NAME('ProjectIsomorphicLib')
1518
+ ], ProjectIsomorphicLib);
1519
+ export { ProjectIsomorphicLib };
1520
+ /**
1521
+ * DO NOT USE environment variables in this project directly
1522
+ */
1523
+ /* */
1524
+ /* */
1525
+ export class ProjectNavi extends Project {
1526
+ async buildLib() { }
1527
+ projectSpecyficFiles() {
1528
+ /* */
1529
+ /* */
1530
+ return (void 0);
1531
+ }
1532
+ async buildSteps(buildOptions) {
1533
+ /* */
1534
+ /* */
1535
+ }
1536
+ startOnCommand(args) {
1537
+ /* */
1538
+ /* */
1539
+ return (void 0);
1540
+ }
1541
+ }
1542
+ /**
1543
+ * DO NOT USE environment variables in this project directly
1544
+ */
1545
+ /* */
1546
+ /* */
1547
+ export class ProjectScenarioReqRes extends Project {
1548
+ async buildLib() { }
1549
+ projectSpecyficFiles() {
1550
+ /* */
1551
+ /* */
1552
+ return (void 0);
1553
+ }
1554
+ async buildSteps(buildOptions) {
1555
+ /* */
1556
+ /* */
1557
+ }
1558
+ startOnCommand(args) {
1559
+ /* */
1560
+ /* */
1561
+ return (void 0);
1562
+ }
1563
+ }
1564
+ /**
1565
+ * DO NOT USE environment variables in this project directly
1566
+ */
1567
+ /* */
1568
+ /* */
1569
+ export class ProjectUnknowNpm extends Project {
1570
+ async buildLib() { }
1571
+ projectSpecyficFiles() {
1572
+ /* */
1573
+ /* */
1574
+ /* */
1575
+ return (void 0);
1576
+ }
1577
+ async buildSteps(buildOptions) {
1578
+ /* */
1579
+ /* */
1580
+ }
1581
+ startOnCommand(args) {
1582
+ /* */
1583
+ /* */
1584
+ return (void 0);
1585
+ }
1586
+ }
1587
+ /**
1588
+ * DO NOT USE environment variables in this project directly
1589
+ */
1590
+ /* */
1591
+ /* */
1592
+ export class ProjectVscodeExt extends Project {
1593
+ async buildLib() { }
1594
+ recreateIfNotExists() {
1595
+ return [
1596
+ 'src/config.ts',
1597
+ ];
1598
+ }
1599
+ projectSpecyficFiles() {
1600
+ /* */
1601
+ /* */
1602
+ /* */
1603
+ /* */
1604
+ /* */
1605
+ /* */
1606
+ /* */
1607
+ /* */
1608
+ /* */
1609
+ /* */
1610
+ /* */
1611
+ return (void 0);
1612
+ }
1613
+ projectSpecyficFilesLinked() {
1614
+ /* */
1615
+ /* */
1616
+ /* */
1617
+ /* */
1618
+ /* */
1619
+ /* */
1620
+ /* */
1621
+ /* */
1622
+ /* */
1623
+ /* */
1624
+ /* */
1625
+ /* */
1626
+ /* */
1627
+ /* */
1628
+ return (void 0);
1629
+ }
1630
+ async buildSteps(buildOptions) {
1631
+ /* */
1632
+ /* */
1633
+ /* */
1634
+ /* */
1635
+ /* */
1636
+ /* */
1637
+ /* */
1638
+ /* */
1639
+ /* */
1640
+ /* */
1641
+ /* */
1642
+ /* */
1643
+ /* */
1644
+ }
1645
+ startOnCommand(args) {
1646
+ /* */
1647
+ /* */
1648
+ return (void 0);
1649
+ }
1650
+ }
227
1651
  ;
228
1652
  ({}); // @--end-of-file-for-module=tnp lib/project/abstract/project/project.ts
229
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUtd2Vic3FsL3RucC9wcm9qZWN0cy90bnAvc3JjL2xpYi9wcm9qZWN0L2Fic3RyYWN0L3Byb2plY3QvcHJvamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSzs7O0FBRUwsT0FBTyxFQUFFLE9BQU8sSUFBSSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUt6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBMERMLElBQWEsT0FBTyxlQUFwQixNQUFhLE9BQVEsU0FBUSxRQUFpQjtJQVM1QyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3RCLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO0lBRUgsQ0FBQztJQUVELElBQUksZUFBZTtRQUNyQixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBRUQsSUFBSSx1QkFBdUI7UUFDN0IsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBQ0QsSUFBSSx1QkFBdUI7UUFDN0IsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ2YsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUgsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBR0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBSUgsSUFBSSxJQUFJO0lBQ1YsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLOztRQUdELElBQUksTUFBTSxDQUFDLFNBQVMsRUFBRTtZQUNwQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBVyxDQUFDO1NBQ2pDO1FBQ0wsS0FBSztRQUNMLEtBQUs7SUFFSCxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxTQUFPLENBQUMsR0FBYyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLFNBQU8sQ0FBQyxZQUFZLENBQUM7SUFDOUIsQ0FBQztJQUVELFlBQVk7UUFDZCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO0lBRUgsQ0FBQztDQXFERixDQUFBO0FBdkpZLE9BQU87SUF2RG5CLE1BQU0sQ0FBQyxNQUFNLENBQVU7UUFDdEIsU0FBUyxFQUFFLFNBQVM7UUFDcEIsV0FBVyxFQUFFLFNBQVM7UUFDdEIsa0JBQWtCLEVBQUUsU0FBUztRQUM3QixhQUFhLEVBQUUsVUFBVTtRQUN6QixPQUFPLEVBQUU7WUFDUCxXQUFXLEVBQUUsYUFBYTtTQUMzQjtRQUNELGlCQUFpQixFQUFFO1lBQ2pCLGtCQUFrQixFQUFFLENBQUMsU0FBUyxDQUFDO1lBQy9CLG9DQUFvQyxFQUFFLENBQUMsU0FBUyxDQUFDO1lBQ2pELHNEQUFzRCxFQUFFLENBQUMsU0FBUyxDQUFDO1lBQ25FLGdCQUFnQixFQUFFLFNBQVM7WUFDM0IsK0JBQStCLEVBQUUsU0FBUztZQUMxQyxrQkFBa0IsRUFBRSxTQUFTO1lBQzdCLG1DQUFtQyxFQUFFLFNBQVM7WUFDOUMsaUJBQWlCLEVBQUUsU0FBUztZQUM1QixpQ0FBaUMsRUFBRSxTQUFTO1NBQzdDO1FBQ0gsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztLQUVHLENBQUMsQ0FBQyxhQUFhO0dBQ1YsT0FBTyxDQXVKbkI7U0F2SlksT0FBTztBQXlKcEIsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUdMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBR0osQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyx3RUFBd0UiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuaW1wb3J0IHsgUHJvamVjdCBhcyAkUHJvamVjdCB9IGZyb20gJ3RucC1oZWxwZXJzL3dlYnNxbCc7XG5pbXBvcnQgeyBjb25maWcsIENvbmZpZ01vZGVscyB9IGZyb20gJ3RucC1jb25maWcvd2Vic3FsJztcbmltcG9ydCB7IE1vZGVscyB9IGZyb20gJ3RucC1tb2RlbHMvd2Vic3FsJztcbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICd0bnAtaGVscGVycy93ZWJzcWwnO1xuXG5pbXBvcnQgeyBNb3JwaGkgfSBmcm9tICdtb3JwaGkvd2Vic3FsJztcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuQE1vcnBoaS5FbnRpdHk8UHJvamVjdD4oe1xuICBjbGFzc05hbWU6ICdQcm9qZWN0JyxcbiAgY2xhc3NGYW1pbHk6ICdQcm9qZWN0JyxcbiAgY2xhc3NOYW1lSW5Ccm93c2VyOiAnUFJPSkVDVCcsXG4gIHVuaXF1ZUtleVByb3A6ICdsb2NhdGlvbicsXG4gIG1hcHBpbmc6IHtcbiAgICBwYWNrYWdlSnNvbjogJ1BhY2thZ2VKU09OJ1xuICB9LFxuICBhZGRpdGlvbmFsTWFwcGluZzoge1xuICAgICdicm93c2VyLmNoaWxkcmVuJzogWydQcm9qZWN0J10sXG4gICAgJ2Jyb3dzZXIuY2hpbGRyZW4uYnJvd3Nlci5jaGlsZGVyZW4nOiBbJ1Byb2plY3QnXSxcbiAgICAnYnJvd3Nlci5jaGlsZHJlbi5icm93c2VyLmNoaWxkZXJlbi5icm93c2VyLmNoaWxkZXJlbic6IFsnUHJvamVjdCddLFxuICAgICdicm93c2VyLnBhcmVudCc6ICdQcm9qZWN0JyxcbiAgICAnYnJvd3Nlci5wYXJlbnQuYnJvd3Nlci5wYXJlbnQnOiAnUHJvamVjdCcsXG4gICAgJ2Jyb3dzZXIuYmFzZWxpbmUnOiAnUHJvamVjdCcsXG4gICAgJ2Jyb3dzZXIuYmFzZWxpbmUuYnJvd3Nlci5iYXNlbGluZSc6ICdQcm9qZWN0JyxcbiAgICAnYnJvd3Nlci5wcmV2aWV3JzogJ1Byb2plY3QnLFxuICAgICdicm93c2VyLnByZXZpZXcuYnJvd3Nlci5wcmV2aWV3JzogJ1Byb2plY3QnLFxuICB9LFxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG59IGFzIGFueSkgLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNsYXNzIFByb2plY3QgZXh0ZW5kcyAkUHJvamVjdDxQcm9qZWN0Plxue1xuLyogKi9cbi8qICovXG4gIFxuICBicm93c2VyOiBhbnk7XG5cbiAgcHJpdmF0ZSBfcHJvamVjdEluZm9Qb3J0OiBudW1iZXI7XG5cbiAgc2V0UHJvamVjdEluZm9Qb3J0KHYpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG4gIGdldCBwcm9qZWN0SW5mb1BvcnQoKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cbiAgZ2V0IHN0YW5kYWxvbmVOb3JtYWxBcHBQb3J0KCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG4gIGdldCBzdGFuZGFsb25lV2Vic3FsQXBwUG9ydCgpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG4gIGdldCBwb3J0c0luZm8oKTogc3RyaW5nIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG4gIGxvY2F0aW9uOiBzdHJpbmc7XG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cblxuICBnZXQgaW5mbyhcbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gICkge1xuICAgIGlmIChNb3JwaGkuSXNCcm93c2VyKSB7XG4gICAgICByZXR1cm4gdGhpcy5icm93c2VyLmluZm8gYXMgYW55O1xuICAgIH1cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG4gIGdldCBUbnBQcm9qZWN0KCkge1xuICAgIHJldHVybiBQcm9qZWN0LlRucCBhcyBQcm9qZWN0O1xuICB9XG5cbiAgZ2V0IGlzQnVuZGxlTW9kZSgpIHtcbiAgICByZXR1cm4gUHJvamVjdC5pc0J1bmRsZU1vZGU7XG4gIH1cblxuICByZW1vdmVJdHNlbGYodGhpczogUHJvamVjdCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxufVxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wIGxpYi9wcm9qZWN0L2Fic3RyYWN0L3Byb2plY3QvcHJvamVjdC50cyJdfQ==
1653
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0LXdlYnNxbC90bnAvcHJvamVjdHMvdG5wL3NyYy9saWIvcHJvamVjdC9hYnN0cmFjdC9wcm9qZWN0L3Byb2plY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUdBLE9BQU8sRUFBRSxNQUFNLEVBQTJDLE1BQU0sbUJBQW1CLENBQUM7QUFFcEYsT0FBTyxFQUFFLENBQUMsRUFBcUIsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRS9FLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHL0MsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFNTCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsbUJBQTRCO0lBR3JFLFFBQVEsQ0FBQyxRQUFnQjtRQUMzQixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQ7O09BRUc7SUFDSCxJQUFJLENBQUMsY0FBaUMsRUFBRSxPQUFhO1FBQ3ZELEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsU0FBUyxDQUNQLGdCQUF3QixFQUN4QixPQUFrRztRQUN0RyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7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Q0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBR0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBUUwsSUFBYSxnQkFBZ0IsR0FBN0IsTUFBYSxnQkFBZ0I7SUFNM0IsS0FBSyxDQUFDLGFBQWE7UUFDckIsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBRU0sMkJBQTJCO1FBQ3BDLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVEsS0FBSyxDQUFDO0lBRXBCLGNBQWM7UUFDaEIsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FB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LEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQVFELEtBQUssQ0FBQyxhQUFhO1FBQ3JCLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7SUFFSCxDQUFDO0lBS0QsY0FBYyxDQUFDLElBQVk7UUFDN0IsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELEtBQUssQ0FBQyxRQUFRO0lBRWhCLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7O1FBSUwsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztJQUVILENBQUM7SUFJRCxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQXlCO1FBQzFDLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7SUFFSCxDQUFDO0lBUU8sMkNBQTJDLENBQUMsSUFBWSxFQUFFLEtBQWMsRUFBRSxXQUFvQjtRQUN4RyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FB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QztJQUNsQixDQUFDO0NBQ0Y7QUFHQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHdFQUF3RSIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbmltcG9ydCB7IGNvbmZpZywgQ29uZmlnTW9kZWxzLCBleHRBbGxvd2VkVG9SZXBsYWNlLCBUQUdTIH0gZnJvbSAndG5wLWNvbmZpZy93ZWJzcWwnO1xuaW1wb3J0IHsgTW9kZWxzIH0gZnJvbSAndG5wLW1vZGVscy93ZWJzcWwnO1xuaW1wb3J0IHsgXywgY3Jvc3NQbGF0Zm9ybVBhdGggfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuaW1wb3J0IHsgSGVscGVycywgQmFzZVByb2plY3RSZXNvbHZlciwgQmFzZVByb2plY3QgfSBmcm9tICd0bnAtaGVscGVycy93ZWJzcWwnO1xuaW1wb3J0ICogYXMgaW5xdWlyZXIgZnJvbSAnaW5xdWlyZXInO1xuaW1wb3J0IHsgQ0xBU1MgfSBmcm9tICd0eXBlc2NyaXB0LWNsYXNzLWhlbHBlcnMvd2Vic3FsJztcbmltcG9ydCB7IExpYlR5cGVBcnIgfSBmcm9tICd0bnAtY29uZmlnL3dlYnNxbCc7XG5pbXBvcnQgeyBSdW5PcHRpb25zLCBFeGVjdXRlT3B0aW9ucyB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5pbXBvcnQgeyBCdWlsZE9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9idWlsZC1vcHRpb25zJztcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuXG5cblxuZXhwb3J0IGNsYXNzIEZpcmVkZXZQcm9qZWN0UmVzb2x2ZSBleHRlbmRzIEJhc2VQcm9qZWN0UmVzb2x2ZXI8UHJvamVjdD4ge1xuXG5cbiAgdHlwZUZyb20obG9jYXRpb246IHN0cmluZykge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogVE9ETyB1c2UgYmFzZSByZXNvbHZlXG4gICAqL1xuICBGcm9tKGxvY2F0aW9uT2ZQcm9qOiBzdHJpbmcgfCBzdHJpbmdbXSwgb3B0aW9ucz86IGFueSk6IFByb2plY3Qge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgbmVhcmVzdFRvPFQgPSBQcm9qZWN0PihcbiAgICBhYnNvbHV0ZUxvY2F0aW9uOiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IHsgdHlwZT86IENvbmZpZ01vZGVscy5MaWJUeXBlOyBmaW5kR2l0Um9vdD86IGJvb2xlYW47IG9ubHlPdXRTaWRlTm9kZU1vZHVsZXM/OiBib29sZWFuIH0pOiBUIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBwcml2YXRlIGdldENsYXNzRnVuY3Rpb24oY2xhc3NOYW1lKSB7XG4gICAgY29uc3QgY2xhc3NGTiA9IENMQVNTLmdldEJ5KGNsYXNzTmFtZSkgYXMgYW55O1xuICAgIGlmICghY2xhc3NGTikge1xuICAgICAgSGVscGVycy5lcnJvcihgW2ZpcmVkZXYtaGVscGVyc11bUHJvamVjdC5Gcm9tXSBjYW5ub3QgZmluZCBjbGFzcyBmdW5jdGlvbiBieSBuYW1lICR7Y2xhc3NOYW1lfWApXG4gICAgfVxuICAgIHJldHVybiBjbGFzc0ZOO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgcHJpdmF0ZSBjaGVja0lmVHlwZUlzTm90Q29ycmVjdCh0eXBlLCBsb2NhdGlvbikge1xuICAgIGlmIChfLmlzU3RyaW5nKHR5cGUpICYmICFMaWJUeXBlQXJyLmluY2x1ZGVzKHR5cGUgYXMgYW55KSkge1xuICAgICAgSGVscGVycy5lcnJvcihgSW5jb3JyZWN0IHR5cGU6IFwiJHt0eXBlfVwiXG5cbiAgICBQbGVhc2UgdXNlIG9uZSBvZiB0aGlzOiAke0xpYlR5cGVBcnIuam9pbignLCcpfVxuXG4gICAgaW5cbiAgICBwYWNrYWdlLmpzb24gPiAke2NvbmZpZy5mcmFtZXdvcmtOYW1lfS50eXBlXG5cbiAgICBsb2NhdGlvbjogJHtsb2NhdGlvbn1cblxuICAgIGAsIGZhbHNlLCB0cnVlKTtcbiAgICB9XG4gIH1cblxuXG59XG5cblxuXG5leHBvcnQgY2xhc3MgUHJvamVjdCBleHRlbmRzIEJhc2VQcm9qZWN0PFByb2plY3Q+XG57XG5cblxuXG5cbiAgc3RhdGljIGlucyA9IG5ldyBGaXJlZGV2UHJvamVjdFJlc29sdmUoUHJvamVjdCk7XG5cblxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgc3RhdGljIGdldCBUbnAoKTogUHJvamVjdCB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwdWJsaWMgc3RhdGljIEZyb20obG9jYXRpb25PZlByb2plY3Q6IHN0cmluZyB8IHN0cmluZ1tdKTogUHJvamVjdCB7XG4gICAgcmV0dXJuIHRoaXMuaW5zLkZyb20obG9jYXRpb25PZlByb2plY3QpXG4gIH1cblxuXG5cbiAgcHVibGljIHN0YXRpYyBieShcbiAgICBsaWJyYXJ5VHlwZTogQ29uZmlnTW9kZWxzLk5ld0ZhY3RvcnlUeXBlLFxuICAgIHZlcnNpb246IENvbmZpZ01vZGVscy5GcmFtZXdvcmtWZXJzaW9uXG4vKiAqL1xuLyogKi9cbiAgXG4gICk6IFByb2plY3Qge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwdWJsaWMgc3RhdGljIGdldCBDdXJyZW50KCkge1xuICAgIHJldHVybiB0aGlzLmlucy5DdXJyZW50O1xuICB9XG5cblxuXG4gIHB1YmxpYyBzdGF0aWMgcmVzb2x2ZUNoaWxkUHJvamVjdChhcmdzOiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuICAgIHJldHVybiB0aGlzLmlucy5yZXNvbHZlQ2hpbGRQcm9qZWN0KGFyZ3MpO1xuICB9XG5cblxuXG4gIHN0YXRpYyBhbmd1bGFyTWFqb3JWZXJzaW9uRm9yQ3VycmVudENsaSgpOiBudW1iZXIge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgc3RhdGljIG1vcnBoaVRhZ1RvQ2hlY2tvdXRGb3JDdXJyZW50Q2xpVmVyc2lvbihjd2Q6IHN0cmluZyk6IHN0cmluZyB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuXG5cbiAgLy8gQHRzLWlnbm9yZVxuICBwdWJsaWMgZ2V0IGlucygpOiBGaXJlZGV2UHJvamVjdFJlc29sdmUge1xuICAgIHJldHVybiBQcm9qZWN0LmlucztcbiAgfTtcblxuXG4gIHJlYWRvbmx5IHR5cGU6IENvbmZpZ01vZGVscy5MaWJUeXBlO1xuXG4vKiAqL1xuLyogKi9cbiAgXG4gIGJyb3dzZXI6IGFueTtcblxuICBnZXQgY2hpbGRyZW4oKTogUHJvamVjdFtdIHtcbiAgICBpZiAoSGVscGVycy5pc0Jyb3dzZXIpIHtcbiAgICAgIHJldHVybiB0aGlzLmJyb3dzZXIuY2hpbGRyZW4gYXMgYW55O1xuICAgIH1cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG4gIHB1YmxpYyBzZXRUeXBlKHRoaXM6IFByb2plY3QsIHR5cGU6IENvbmZpZ01vZGVscy5MaWJUeXBlKSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gIH1cbiAgcHVibGljIHR5cGVJcyh0aGlzOiBQcm9qZWN0LCAuLi50eXBlczogQ29uZmlnTW9kZWxzLkxpYlR5cGVbXSkge1xuICAgIHJldHVybiB0aGlzLnR5cGUgJiYgdHlwZXMuaW5jbHVkZXModGhpcy50eXBlKTtcbiAgfVxuXG4gIHB1YmxpYyB0eXBlSXNOb3QodGhpczogUHJvamVjdCwgLi4udHlwZXM6IENvbmZpZ01vZGVscy5MaWJUeXBlW10pIHtcbiAgICByZXR1cm4gIXRoaXMudHlwZUlzKC4uLnR5cGVzKTtcbiAgfVxuXG4gIHByaXZhdGUgX3Byb2plY3RJbmZvUG9ydDogbnVtYmVyO1xuXG4gIHNldFByb2plY3RJbmZvUG9ydCh2KSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cbiAgZ2V0IHByb2plY3RJbmZvUG9ydCgpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuICBnZXQgc3RhbmRhbG9uZU5vcm1hbEFwcFBvcnQoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cbiAgZ2V0IHN0YW5kYWxvbmVXZWJzcWxBcHBQb3J0KCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cbiAgZ2V0IHBvcnRzSW5mbygpOiBzdHJpbmcge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cbiAgZ2V0IGluZm8oXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICApIHtcbiAgICBpZiAoSGVscGVycy5pc0Jyb3dzZXIpIHtcbiAgICAgIHJldHVybiB0aGlzLmJyb3dzZXIuaW5mbyBhcyBhbnk7XG4gICAgfVxuLyogKi9cbi8qICovXG4gIFxuICB9XG5cbiAgZ2V0IEZpcmVkZXZQcm9qZWN0KCkge1xuICAgIHJldHVybiBQcm9qZWN0LlRucDtcbiAgfVxuXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG59XG5cblxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuXG5cblxuXG5AQ0xBU1MuTkFNRSgnUHJvamVjdENvbnRhaW5lcicpXG5leHBvcnQgY2xhc3MgUHJvamVjdENvbnRhaW5lclxuLyogKi9cbi8qICovXG4gIFxue1xuXG4gIGFzeW5jIGluaXRQcm9jZWR1cmUoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuICBwdWJsaWMgYWRkR2l0UmVwb3NBc0xpbmtlZFByb2plY3RzKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuICBhc3luYyBidWlsZExpYigpIHsgfVxuXG4gIGZpbGVzVGVtcGxhdGVzKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG4gIHN0YXJ0T25Db21tYW5kKCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cbiAgcHJvamVjdFNwZWN5ZmljRmlsZXMoKTogc3RyaW5nW10ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cbiAgcHJveHlQcm9qRm9yKGNsaWVudDogc3RyaW5nLCBvdXRGb2xkZXI6IE1vZGVscy5kZXYuQnVpbGREaXIpOiBQcm9qZWN0SXNvbW9ycGhpY0xpYiB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuICBhc3luYyBidWlsZFN0ZXBzKGJ1aWxkT3B0aW9ucz86IEJ1aWxkT3B0aW9ucywgbGliQnVpbGREb25lPzogKCkgPT4gdm9pZCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG59XG5cblxuXG5cblxuXG5AQ0xBU1MuTkFNRSgnUHJvamVjdElzb21vcnBoaWNMaWInKVxuZXhwb3J0IGNsYXNzIFByb2plY3RJc29tb3JwaGljTGliXG4vKiAqL1xuLyogKi9cbiAgXG57XG5cblxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cblxuXG5cblxuICBwcml2YXRlIG5wbVJ1bk5nID0gYG5wbS1ydW4gbmdgOyAvLyB3aGVuIHRoZXJlIGlzIG5vdCBnbG9ibCBcIm5nXCIgY29tbWFuZCAtPiBucG0tcnVuIG5nLmpzIHdvcmtzXG5cbiAgZ2V0IGlnbm9yZUluVjMoKSB7XG4gICAgY29uc3QgZmlsZXMgPSBbXG4gICAgICAnYW5ndWxhci5qc29uLmZpbGV0ZW1wbGF0ZScsXG4gICAgICAnbmdzdy1jb25maWcuanNvbi5maWxldGVtcGxhdGUnLFxuICAgIF07XG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLmZpbGVzLFxuICAgICAgLi4uZmlsZXMubWFwKGYgPT4gZi5yZXBsYWNlKCcuZmlsZXRlbXBsYXRlJywgJycpKSxcbiAgICBdXG4gIH1cblxuICBnZXQgZm9yQXBwUmVsYXNlQnVpbGQoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH07XG5cblxuXG5cblxuXG4gIHNvdXJjZUZpbGVzVG9JZ25vcmUoKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByb2plY3RTcGVjeWZpY0ZpbGVzKCk6IHN0cmluZ1tdIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBmaWxlc1RlbXBsYXRlcygpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHJvamVjdExpbmtlZEZpbGVzKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByb2plY3RTcGVjeWZpY0lnbm9yZWRGaWxlcygpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBhc3luYyBidWlsZFN0ZXBzKGJ1aWxkT3B0aW9ucz86IEJ1aWxkT3B0aW9ucywgbGliQnVpbGREb25lPzogKCkgPT4gdm9pZCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuXG5cblxuXG4gIGFzeW5jIGluaXRQcm9jZWR1cmUoKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG5cblxuXG4gIHN0YXJ0T25Db21tYW5kKGFyZ3M6IHN0cmluZykge1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBhc3luYyBidWlsZEFwcChcblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cbiAgKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG5cblxuICBhc3luYyBidWlsZExpYihsaWJCdWlsZERvbmU/OiAoKSA9PiB2b2lkKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG5cblxuXG5cblxuXG4gIHByaXZhdGUgc2hvd01lc2FnZVdoZW5CdWlsZExpYkRvbmVGb3JTbWFydENvbnRhaW5lcihhcmdzOiBzdHJpbmcsIHdhdGNoOiBib29sZWFuLCBpc0luUmVsZWFzZTogYm9vbGVhbikge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cblxuXG5cblxuICBwcml2YXRlIGZpeEJ1aWxkRGlycyhvdXREaXI6IE1vZGVscy5kZXYuQnVpbGREaXIpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cblxuXG5cbiAgcHJpdmF0ZSBwcm94eU5nUHJvaihwcm9qZWN0OiBQcm9qZWN0LCBidWlsZE9wdGlvbnM6IEJ1aWxkT3B0aW9ucywgdHlwZTogJ2FwcCcgfCAnbGliJyA9ICdhcHAnKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwcml2YXRlIGJhY2tlbmRDb21waWxlckRlY2xhcmF0aW9uRmlsZXMob3V0RGlyOiBNb2RlbHMuZGV2LkJ1aWxkRGlyKSB7XG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cblxuXG5cbiAgcHJpdmF0ZSBiYWNrZW5kUmVtb3ZlRHRzKG91dERpcjogTW9kZWxzLmRldi5CdWlsZERpcikge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cblxuXG5cbiAgcHJpdmF0ZSBiYWNrZW5kSW5jbHVkZU5vZGVNb2R1bGVzSW5Db21waWxhdGlvbihvdXREaXI6IE1vZGVscy5kZXYuQnVpbGREaXIsIHVnbGlmeTogYm9vbGVhbiwgbWFpbkNsaUpTRmlsZU5hbWU6IHN0cmluZyA9IGNvbmZpZy5maWxlLmluZGV4X2pzKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cblxuXG4gIC8qKlxuICAgKiBUT0RPIG5vdCB3b3JraW5nXG4gICAqL1xuICBwcml2YXRlIGJhY2tlbmRDb21waWxlVG9FczUob3V0RGlyOiBNb2RlbHMuZGV2LkJ1aWxkRGlyLCBtYWluQ2xpSlNGaWxlTmFtZSA9ICdpbmRleC5qcycpIHtcbiAgICByZXR1cm47XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cblxuXG5cbiAgcHJpdmF0ZSBiYWNrZW5kVWdsaWZ5Q29kZShvdXREaXI6IE1vZGVscy5kZXYuQnVpbGREaXIsIHJlc2VydmVkTmFtZXM6IHN0cmluZ1tdLCBtYWluQ2xpSlNGaWxlTmFtZSA9ICdpbmRleC5qcycpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwcml2YXRlIGJhY2tlbmRPYnNjdXJlQ29kZShvdXREaXI6IE1vZGVscy5kZXYuQnVpbGREaXIsIHJlc2VydmVkTmFtZXM6IHN0cmluZ1tdLCBtYWluQ2xpSlNGaWxlTmFtZSA9ICdpbmRleC5qcycpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG5cbiAgcHJpdmF0ZSBnZXQgdG1wU3JjRGlzdFJlbGVhc2VGb2xkZXIoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuICBwcml2YXRlIGN1dFJlbGVhc2VDb2RlUmVzdG9yZSgpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cbiAgcHJpdmF0ZSBjdXRSZWxlYXNlQ29kZSgpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG5cblxuXG59XG5cblxuXG4vKipcbiAqIERPIE5PVCBVU0UgZW52aXJvbm1lbnQgdmFyaWFibGVzIGluIHRoaXMgcHJvamVjdCBkaXJlY3RseVxuICovXG4vKiAqL1xuLyogKi9cbiAgXG5leHBvcnQgY2xhc3MgUHJvamVjdE5hdmkgZXh0ZW5kcyBQcm9qZWN0IHtcbiAgYXN5bmMgYnVpbGRMaWIoKSB7IH1cbiAgcHJvamVjdFNwZWN5ZmljRmlsZXMoKTogc3RyaW5nW10ge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG4gIGFzeW5jIGJ1aWxkU3RlcHMoYnVpbGRPcHRpb25zPzogQnVpbGRPcHRpb25zKSB7XG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cbiAgcHJvdGVjdGVkIHN0YXJ0T25Db21tYW5kKGFyZ3M6IHN0cmluZyk6IHN0cmluZyB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cbn1cblxuXG5cbi8qKlxuICogRE8gTk9UIFVTRSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgaW4gdGhpcyBwcm9qZWN0IGRpcmVjdGx5XG4gKi9cbi8qICovXG4vKiAqL1xuICBcbmV4cG9ydCBjbGFzcyBQcm9qZWN0U2NlbmFyaW9SZXFSZXMgZXh0ZW5kcyBQcm9qZWN0IHtcbiAgYXN5bmMgYnVpbGRMaWIoKSB7IH1cbiAgcHJvamVjdFNwZWN5ZmljRmlsZXMoKTogc3RyaW5nW10ge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG4gIGFzeW5jIGJ1aWxkU3RlcHMoYnVpbGRPcHRpb25zPzogQnVpbGRPcHRpb25zKSB7XG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cbiAgcHJvdGVjdGVkIHN0YXJ0T25Db21tYW5kKGFyZ3M6IHN0cmluZyk6IHN0cmluZyB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cbn1cblxuXG5cbi8qKlxuICogRE8gTk9UIFVTRSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgaW4gdGhpcyBwcm9qZWN0IGRpcmVjdGx5XG4gKi9cbi8qICovXG4vKiAqL1xuICBcbmV4cG9ydCBjbGFzcyBQcm9qZWN0VW5rbm93TnBtIGV4dGVuZHMgUHJvamVjdCB7XG4gIGFzeW5jIGJ1aWxkTGliKCkgeyB9XG4gIHByb2plY3RTcGVjeWZpY0ZpbGVzKCk6IHN0cmluZ1tdIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cbiAgYXN5bmMgYnVpbGRTdGVwcyhidWlsZE9wdGlvbnM/OiBCdWlsZE9wdGlvbnMpIHtcbi8qICovXG4vKiAqL1xuICBcbiAgfVxuICBwcm90ZWN0ZWQgc3RhcnRPbkNvbW1hbmQoYXJnczogc3RyaW5nKTogc3RyaW5nIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxufVxuXG5cblxuLyoqXG4gKiBETyBOT1QgVVNFIGVudmlyb25tZW50IHZhcmlhYmxlcyBpbiB0aGlzIHByb2plY3QgZGlyZWN0bHlcbiAqL1xuLyogKi9cbi8qICovXG4gIFxuZXhwb3J0IGNsYXNzIFByb2plY3RWc2NvZGVFeHQgZXh0ZW5kcyBQcm9qZWN0IHtcbiAgYXN5bmMgYnVpbGRMaWIoKSB7IH1cblxuICByZWNyZWF0ZUlmTm90RXhpc3RzKCkge1xuICAgIHJldHVybiBbXG4gICAgICAnc3JjL2NvbmZpZy50cycsXG4gICAgXVxuICB9XG4gIHByb2plY3RTcGVjeWZpY0ZpbGVzKCk6IHN0cmluZ1tdIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG4gIHByb2plY3RTcGVjeWZpY0ZpbGVzTGlua2VkKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuICBhc3luYyBidWlsZFN0ZXBzKGJ1aWxkT3B0aW9ucz86IEJ1aWxkT3B0aW9ucykge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cbiAgcHJvdGVjdGVkIHN0YXJ0T25Db21tYW5kKGFyZ3M6IHN0cmluZyk6IHN0cmluZyB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cbn1cblxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wIGxpYi9wcm9qZWN0L2Fic3RyYWN0L3Byb2plY3QvcHJvamVjdC50cyJdfQ==