tnp-helpers 16.0.9 → 16.0.11

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 (134) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/README.md +24 -24
  3. package/browser/esm2022/lib/base-project.mjs +309 -0
  4. package/browser/esm2022/lib/for-browser/angular.helper.mjs +1 -1
  5. package/browser/esm2022/lib/for-browser/helpers-browser.mjs +1 -1
  6. package/browser/esm2022/lib/helpers-array-obj.mjs +1 -1
  7. package/browser/esm2022/lib/helpers-numbers.mjs +1 -1
  8. package/browser/esm2022/lib/helpers-strings-regexes.mjs +1 -1
  9. package/browser/esm2022/lib/helpers-strings.mjs +1 -1
  10. package/browser/esm2022/lib/helpers.mjs +4 -7
  11. package/browser/esm2022/lib/index.mjs +2 -1
  12. package/browser/esm2022/lib/models.mjs +1 -1
  13. package/browser/esm2022/lib/project.mjs +10 -34
  14. package/browser/esm2022/lib/validators/validators-git.mjs +1 -1
  15. package/browser/esm2022/lib/validators/validators-network.mjs +1 -1
  16. package/browser/esm2022/lib/validators/validators.mjs +1 -1
  17. package/browser/fesm2022/tnp-helpers.mjs +322 -134
  18. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  19. package/browser/lib/base-project.d.ts +55 -0
  20. package/browser/lib/helpers.d.ts +0 -2
  21. package/browser/lib/index.d.ts +1 -0
  22. package/browser/lib/project.d.ts +5 -12
  23. package/client/README.md +24 -24
  24. package/client/esm2022/lib/base-project.mjs +309 -0
  25. package/client/esm2022/lib/for-browser/angular.helper.mjs +1 -1
  26. package/client/esm2022/lib/for-browser/helpers-browser.mjs +1 -1
  27. package/client/esm2022/lib/helpers-array-obj.mjs +1 -1
  28. package/client/esm2022/lib/helpers-numbers.mjs +1 -1
  29. package/client/esm2022/lib/helpers-strings-regexes.mjs +1 -1
  30. package/client/esm2022/lib/helpers-strings.mjs +1 -1
  31. package/client/esm2022/lib/helpers.mjs +4 -7
  32. package/client/esm2022/lib/index.mjs +2 -1
  33. package/client/esm2022/lib/models.mjs +1 -1
  34. package/client/esm2022/lib/project.mjs +10 -34
  35. package/client/esm2022/lib/validators/validators-git.mjs +1 -1
  36. package/client/esm2022/lib/validators/validators-network.mjs +1 -1
  37. package/client/esm2022/lib/validators/validators.mjs +1 -1
  38. package/client/fesm2022/tnp-helpers.mjs +322 -134
  39. package/client/fesm2022/tnp-helpers.mjs.map +1 -1
  40. package/client/lib/base-project.d.ts +55 -0
  41. package/client/lib/helpers.d.ts +0 -2
  42. package/client/lib/index.d.ts +1 -0
  43. package/client/lib/project.d.ts +5 -12
  44. package/client/package.json +29 -16
  45. package/index.js.map +1 -1
  46. package/lib/base-project.d.ts +64 -0
  47. package/lib/base-project.js +365 -0
  48. package/lib/base-project.js.map +1 -0
  49. package/lib/for-backend/helpers-cli-tool.backend.d.ts +1 -1
  50. package/lib/for-backend/helpers-cli-tool.backend.js +1 -1
  51. package/lib/for-backend/helpers-cli-tool.backend.js.map +1 -1
  52. package/lib/for-backend/helpers-console-gui.js.map +1 -1
  53. package/lib/for-backend/helpers-dependencies.backend.js.map +1 -1
  54. package/lib/for-backend/helpers-file-folders.backend.d.ts +6 -0
  55. package/lib/for-backend/helpers-file-folders.backend.js +12 -1
  56. package/lib/for-backend/helpers-file-folders.backend.js.map +1 -1
  57. package/lib/for-backend/helpers-git.backend.d.ts +6 -0
  58. package/lib/for-backend/helpers-git.backend.js +32 -9
  59. package/lib/for-backend/helpers-git.backend.js.map +1 -1
  60. package/lib/for-backend/helpers-network.backend.js.map +1 -1
  61. package/lib/for-backend/helpers-npm.backend.js.map +1 -1
  62. package/lib/for-backend/helpers-path.backend.js.map +1 -1
  63. package/lib/for-backend/helpers-process.backend.js.map +1 -1
  64. package/lib/for-backend/helpers-system-terminal.backend.js.map +1 -1
  65. package/lib/for-backend/helpers-vscode.backend.js.map +1 -1
  66. package/lib/for-backend/ts-code/index.js.map +1 -1
  67. package/lib/for-backend/ts-code/ts-code-extractor.js.map +1 -1
  68. package/lib/for-backend/ts-code/ts-code-modifier.backend.js.map +1 -1
  69. package/lib/for-browser/angular.helper.js +3 -3
  70. package/lib/for-browser/angular.helper.js.map +1 -1
  71. package/lib/for-browser/helpers-browser.js.map +1 -1
  72. package/lib/git-project.d.ts +3 -1
  73. package/lib/git-project.js +6 -0
  74. package/lib/git-project.js.map +1 -1
  75. package/lib/helpers-array-obj.js.map +1 -1
  76. package/lib/helpers-json5.backend.js.map +1 -1
  77. package/lib/helpers-numbers.js.map +1 -1
  78. package/lib/helpers-strings-regexes.js.map +1 -1
  79. package/lib/helpers-strings.js.map +1 -1
  80. package/lib/helpers.d.ts +0 -2
  81. package/lib/helpers.js +3 -7
  82. package/lib/helpers.js.map +1 -1
  83. package/lib/index.d.ts +1 -0
  84. package/lib/index.js +1 -0
  85. package/lib/index.js.map +1 -1
  86. package/lib/models.js.map +1 -1
  87. package/lib/old/base-component.js +3 -3
  88. package/lib/old/base-component.js.map +1 -1
  89. package/lib/old/base-formly-component.js +3 -3
  90. package/lib/old/base-formly-component.js.map +1 -1
  91. package/lib/old/condition-wait.js.map +1 -1
  92. package/lib/old/dual-component-ctrl.js +3 -3
  93. package/lib/old/dual-component-ctrl.js.map +1 -1
  94. package/lib/project.d.ts +5 -12
  95. package/lib/project.js +13 -36
  96. package/lib/project.js.map +1 -1
  97. package/lib/validators/validators-firedev.js.map +1 -1
  98. package/lib/validators/validators-git.js.map +1 -1
  99. package/lib/validators/validators-network.js.map +1 -1
  100. package/lib/validators/validators.js.map +1 -1
  101. package/package.json +4 -6
  102. package/package.json_devDependencies.json +222 -222
  103. package/package.json_tnp.json5 +48 -49
  104. package/tmp-environment.json +35 -24
  105. package/websql/README.md +24 -24
  106. package/websql/esm2022/lib/base-project.mjs +296 -0
  107. package/websql/esm2022/lib/for-browser/angular.helper.mjs +1 -1
  108. package/websql/esm2022/lib/for-browser/helpers-browser.mjs +1 -1
  109. package/websql/esm2022/lib/helpers-array-obj.mjs +1 -1
  110. package/websql/esm2022/lib/helpers-numbers.mjs +1 -1
  111. package/websql/esm2022/lib/helpers-strings-regexes.mjs +1 -1
  112. package/websql/esm2022/lib/helpers-strings.mjs +1 -1
  113. package/websql/esm2022/lib/helpers.mjs +4 -7
  114. package/websql/esm2022/lib/index.mjs +2 -1
  115. package/websql/esm2022/lib/models.mjs +1 -1
  116. package/websql/esm2022/lib/project.mjs +10 -34
  117. package/websql/esm2022/lib/validators/validators-git.mjs +1 -1
  118. package/websql/esm2022/lib/validators/validators-network.mjs +1 -1
  119. package/websql/esm2022/lib/validators/validators.mjs +1 -1
  120. package/websql/fesm2022/tnp-helpers.mjs +308 -135
  121. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  122. package/websql/lib/base-project.d.ts +55 -0
  123. package/websql/lib/helpers.d.ts +0 -2
  124. package/websql/lib/index.d.ts +1 -0
  125. package/websql/lib/project.d.ts +5 -12
  126. package/browser/esm2022/lib/helpers-binary.mjs +0 -93
  127. package/browser/lib/helpers-binary.d.ts +0 -27
  128. package/client/esm2022/lib/helpers-binary.mjs +0 -93
  129. package/client/lib/helpers-binary.d.ts +0 -27
  130. package/lib/helpers-binary.d.ts +0 -28
  131. package/lib/helpers-binary.js +0 -127
  132. package/lib/helpers-binary.js.map +0 -1
  133. package/websql/esm2022/lib/helpers-binary.mjs +0 -93
  134. package/websql/lib/helpers-binary.d.ts +0 -27
@@ -11,7 +11,6 @@
11
11
  "includeOnly": [
12
12
  "tnp-models",
13
13
  "task.js",
14
- "morphi",
15
14
  "json10-writer"
16
15
  ],
17
16
  "dependencies": {},
@@ -43,12 +42,11 @@
43
42
  "firedev-helpers"
44
43
  ]
45
44
  },
46
- "version": "16.0.9",
45
+ "version": "16.0.11",
47
46
  "dependencies": {
48
- "json10-writer": "~16.0.45",
49
- "morphi": "~16.2.1",
47
+ "json10-writer": "~16.0.47",
50
48
  "task.js": "0.1.5",
51
- "tnp-models": "~16.0.36"
49
+ "tnp-models": "~16.0.38"
52
50
  },
53
51
  "scripts": {
54
52
  "test": "echo \"Error: no test specified\" && exit 1"
@@ -79,6 +77,9 @@
79
77
  "@angular/router": "~16.0.0",
80
78
  "@angular/service-worker": "~16.0.4",
81
79
  "@babel/cli": "7.18.6",
80
+ "@commitlint/cli": "12.1.1",
81
+ "@commitlint/config-conventional": "12.1.1",
82
+ "@commitlint/prompt-cli": "12.1.1",
82
83
  "@compodoc/compodoc": "1.1.20",
83
84
  "@cypress/schematic": "2.5.0",
84
85
  "@iconify/icons-fa-solid": "1.2.2",
@@ -98,7 +99,7 @@
98
99
  "@ngrx/store": "~16.0.1",
99
100
  "@ngrx/store-devtools": "~16.0.1",
100
101
  "@ngx-formly/core": "6.1.7",
101
- "@ngx-formly/material": "6.1.7",
102
+ "@ngx-formly/material": "6.1.8",
102
103
  "@ngx-translate/core": "15.0.0",
103
104
  "@ngx-translate/http-loader": "8.0.0",
104
105
  "@sweetalert2/ngx-sweetalert2": "12.1.0",
@@ -133,7 +134,9 @@
133
134
  "@types/vinyl": "2.0.2",
134
135
  "@types/watch": "1.0.0",
135
136
  "accepts": "1.3.4",
137
+ "ajv": "8.12.0",
136
138
  "angular-material-css-vars": "5.0.2",
139
+ "angular-resize-event": "3.2.0",
137
140
  "animate.css": "4.1.1 ",
138
141
  "any-project-cli": "~16.0.32",
139
142
  "axios": "1.3.5",
@@ -156,6 +159,7 @@
156
159
  "compression": "1.7.4",
157
160
  "concurrently": "3.5.1",
158
161
  "content-type": "1.0.4",
162
+ "conventional-changelog-cli": "3.0.0",
159
163
  "cookie-parser": "1.4.3",
160
164
  "copy-paste": "1.5.3",
161
165
  "cors": "2.8.4",
@@ -165,6 +169,10 @@
165
169
  "dateformat": "3.0.3",
166
170
  "detect-mocha": "0.1.0",
167
171
  "diff": "3.2.0",
172
+ "electron": "25.2.0",
173
+ "electron-builder": "24.4.0",
174
+ "electron-debug": "3.2.0",
175
+ "electron-reloader": "1.2.3",
168
176
  "element-resize-detector": "1.1.15",
169
177
  "enquirer": "2.3.0",
170
178
  "enum-values": "1.2.1",
@@ -186,7 +194,7 @@
186
194
  "firedev-storage": "~16.0.41",
187
195
  "firedev-type-sql": "~16.0.2",
188
196
  "firedev-typeorm": "~16.0.39",
189
- "firedev-ui": "~16.0.8",
197
+ "firedev-ui": "~16.0.9",
190
198
  "fkill": "6.1.0",
191
199
  "font-awesome": "4.7.0",
192
200
  "form-data": "4.0.0",
@@ -236,17 +244,20 @@
236
244
  "mkdirp": "0.5.1",
237
245
  "mocha": "10.2.0",
238
246
  "moment": "2.29.3",
247
+ "morphi": "~16.2.3",
239
248
  "ng-for-track-by-property": "16.0.1",
240
249
  "ng-in-viewport": "15.0.2",
241
250
  "ng-lock": "16.0.1",
242
251
  "ng-packagr": "16.0.1",
243
252
  "ng-talkback": "~16.2.1",
244
- "ng2-logger": "~16.0.7",
253
+ "ng2-logger": "~16.0.9",
245
254
  "ng2-rest": "~16.0.14",
246
255
  "ngx-ace-wrapper": "14.0.0",
247
256
  "ngx-editor": "15.3.0",
248
257
  "ngx-highlightjs": "9.0.0",
249
258
  "ngx-moment": "6.0.2",
259
+ "ngx-monaco-editor": "12.0.0",
260
+ "ngx-photo-editor": "0.4.4",
250
261
  "ngx-pipes": "3.2.2",
251
262
  "ngx-progressbar": "11.0.0",
252
263
  "ngx-scrollbar": "12.0.0",
@@ -256,6 +267,7 @@
256
267
  "node-cli-tester": "~16.0.2",
257
268
  "node-localstorage": "2.1.6",
258
269
  "node-notifier": "6.0.0",
270
+ "node-polyfill-webpack-plugin": "2.0.1",
259
271
  "nodemon": "1.14.11",
260
272
  "npm-get-dependents": "1.0.1",
261
273
  "npm-run": "4.1.2",
@@ -267,7 +279,8 @@
267
279
  "password-hash": "1.2.2",
268
280
  "pica": "9.0.1",
269
281
  "portfinder": "1.0.21",
270
- "prettier": "2.5.1",
282
+ "prettier": "3.0.0",
283
+ "pretty-error": "4.0.0",
271
284
  "progress": "2.0.3",
272
285
  "prompts": "0.1.8",
273
286
  "ps-list": "6.1.0",
@@ -293,11 +306,11 @@
293
306
  "sweetalert2": "11.7.12",
294
307
  "systeminformation": "3.45.7",
295
308
  "threads": "1.7.0",
296
- "tnp-cli": "~16.0.6",
297
- "tnp-config": "~16.0.13",
298
- "tnp-core": "~16.0.14",
309
+ "tnp-cli": "~16.0.8",
310
+ "tnp-config": "~16.0.20",
311
+ "tnp-core": "~16.0.24",
299
312
  "tnp-db": "~16.0.27",
300
- "tnp-helpers": "~16.0.8",
313
+ "tnp-helpers": "~16.0.10",
301
314
  "ts-debug": "1.3.0",
302
315
  "ts-loader": "2.3.1",
303
316
  "ts-node": "10.9.1",
@@ -306,23 +319,23 @@
306
319
  "turndown": "7.1.2",
307
320
  "typeorm": "~0.3.10",
308
321
  "typescript": "~5.0.2",
309
- "typescript-class-helpers": "~16.0.17",
322
+ "typescript-class-helpers": "~16.0.19",
310
323
  "typescript-formatter": "~7.2.2",
311
324
  "underscore": "1.9.1",
312
325
  "uuid": "8.3.2",
313
326
  "validator": "9.2.0",
314
327
  "video.js": "8.3.0",
315
- "vpn-split": "~16.0.1",
328
+ "vpn-split": "~16.0.3",
316
329
  "watch": "1.0.2",
317
330
  "yup": "1.1.1",
318
331
  "zone.js": "~0.13.0"
319
332
  },
320
- "lastBuildTagHash": "03192054ec9cca466cc71933c97bcd5eb12b6cfb"
333
+ "lastBuildTagHash": "cea72688d45db97a21a642741b7d7de84c1af17f"
321
334
  },
322
335
  "build": {
323
- "number": 581,
324
- "date": "2023-07-02T18:27:12.000Z",
325
- "hash": "dcacded2b4c29f488f427b76c350c1e90ab6ac25",
336
+ "number": 595,
337
+ "date": "2023-10-01T14:40:17.000Z",
338
+ "hash": "707a96c81f18c44fd927f481d28b170444475696",
326
339
  "options": {}
327
340
  },
328
341
  "currentProjectName": "tnp-helpers",
@@ -330,17 +343,15 @@
330
343
  "currentProjectLaunchConfiguration": "{\"version\":\"0.2.0\",\"configurations\":[{\"type\":\"node\",\"request\":\"launch\",\"name\":\"Launch Server standalone\",\"program\":\"${workspaceFolder}/run.js\",\"args\":[\"--ENVoverride=%7B%0A%20%20%20%20%22clientProjectName%22%3A%20%22tnp-helpers%22%0A%7D\"],\"runtimeArgs\":[\"--nolazy\",\"-r\",\"ts-node/register\",\"--experimental-worker\"]},{\"name\":\"Debugger with ng serve\",\"type\":\"chrome\",\"request\":\"launch\",\"preLaunchTask\":\"Ng Serve\",\"postDebugTask\":\"terminateall\",\"sourceMaps\":true,\"webRoot\":\"${workspaceFolder}\",\"sourceMapPathOverrides\":{\"webpack:/*\":\"${webRoot}/*\",\"/./*\":\"${webRoot}/*\",\"/tmp-src/*\":\"${webRoot}/*\",\"/*\":\"*\",\"/./~/*\":\"${webRoot}/node_modules/*\"}},{\"type\":\"node\",\"request\":\"attach\",\"name\":\"Attach to global cli tool\",\"port\":9229,\"skipFiles\":[\"<node_internals>/**\"]}],\"compounds\":[{\"name\":\"Debug backend/frontend\",\"configurations\":[\"Launch Server standalone\",\"Debugger with ng serve\"]}]}",
331
344
  "currentProjectTasksConfiguration": "{\"version\":\"2.0.0\",\"tasks\":[{\"label\":\"terminateall\",\"command\":\"echo ${input:terminate}\",\"type\":\"shell\",\"problemMatcher\":[]},{\"label\":\"Ng Serve\",\"type\":\"shell\",\"command\":\"tnp build\",\"isBackground\":true,\"presentation\":{\"reveal\":\"always\"},\"group\":{\"kind\":\"build\",\"isDefault\":true},\"problemMatcher\":{\"owner\":\"typescript\",\"source\":\"ts\",\"applyTo\":\"closedDocuments\",\"fileLocation\":[\"relative\",\"${cwd}\"],\"pattern\":\"$tsc\",\"background\":{\"activeOnStart\":true,\"beginsPattern\":{\"regexp\":\"(.*?)\"},\"endsPattern\":{\"regexp\":\"Compiled |Failed to compile.\"}}}}],\"inputs\":[{\"id\":\"terminate\",\"type\":\"command\",\"command\":\"workbench.action.tasks.terminate\",\"args\":\"terminateAll\"}]}",
332
345
  "currentProjectType": "isomorphic-lib",
333
- "currentFrameworkVersion": "16.0.19",
334
- "currentProjectIsStrictSite": false,
335
- "currentProjectIsDependencySite": false,
336
- "currentProjectIsStatic": false,
346
+ "currentFrameworkVersion": "16.0.20",
337
347
  "isStandaloneProject": true,
348
+ "isSmartContainer": false,
338
349
  "frameworks": [
339
350
  "bootstrap",
340
351
  "ionic",
341
352
  "material"
342
353
  ],
343
- "pathesTsconfig": "\"paths\": {},",
354
+ "pathesTsconfig": "\"paths\": {\"tnp-helpers\":[\"./src/lib\"],\"tnp-helpers/*\":[\"./src/lib/*\"]},",
344
355
  "customRootDir": "\"rootDir\": \"./src\",",
345
356
  "currentLibProjectSourceFolder": "src"
346
357
  }
package/websql/README.md CHANGED
@@ -1,24 +1,24 @@
1
- # MyLib
2
-
3
- This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
4
-
5
- ## Code scaffolding
6
-
7
- Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
8
- > Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file.
9
-
10
- ## Build
11
-
12
- Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
13
-
14
- ## Publishing
15
-
16
- After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.
17
-
18
- ## Running unit tests
19
-
20
- Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
-
22
- ## Further help
23
-
24
- To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
1
+ # MyLib
2
+
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
4
+
5
+ ## Code scaffolding
6
+
7
+ Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
8
+ > Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file.
9
+
10
+ ## Build
11
+
12
+ Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
13
+
14
+ ## Publishing
15
+
16
+ After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.
17
+
18
+ ## Running unit tests
19
+
20
+ Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
+
22
+ ## Further help
23
+
24
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
@@ -0,0 +1,296 @@
1
+ /* */
2
+ /* */
3
+ /* */
4
+ /* */
5
+ /* */
6
+ import { path, crossPlatformPath } from 'tnp-core/websql';
7
+ import { _ } from 'tnp-core/websql';
8
+ import { HelpersFiredev } from './helpers';
9
+ const Helpers = HelpersFiredev.Instance;
10
+ const takenPorts = [];
11
+ export class BaseProjectResolver {
12
+ constructor(classFn) {
13
+ this.classFn = classFn;
14
+ this.NPM_PROJECT_KEY = 'npm';
15
+ this.projects = [];
16
+ this.emptyLocations = [];
17
+ }
18
+ get allowedTypes() {
19
+ return [this.NPM_PROJECT_KEY];
20
+ }
21
+ get Current() {
22
+ /* */
23
+ /* */
24
+ /* */
25
+ /* */
26
+ /* */
27
+ /* */
28
+ /* */
29
+ /* */
30
+ /* */
31
+ /* */
32
+ /* */
33
+ return (void 0);
34
+ }
35
+ /**
36
+ * override this
37
+ */
38
+ typeFrom(location) {
39
+ /* */
40
+ /* */
41
+ /* */
42
+ /* */
43
+ /* */
44
+ return (void 0);
45
+ }
46
+ From(locationOfProject) {
47
+ if (Array.isArray(locationOfProject)) {
48
+ locationOfProject = locationOfProject.join('/');
49
+ }
50
+ let location = crossPlatformPath(locationOfProject.replace(/\/\//g, '/'));
51
+ if (!_.isString(location)) {
52
+ Helpers.warn(`[project.from] location is not a string`);
53
+ return;
54
+ }
55
+ if (path.basename(location) === 'dist') {
56
+ location = path.dirname(location);
57
+ }
58
+ location = crossPlatformPath(path.resolve(location));
59
+ const alreadyExist = this.projects.find(l => l.location.trim() === location.trim());
60
+ if (alreadyExist) {
61
+ return alreadyExist;
62
+ }
63
+ /* */
64
+ /* */
65
+ /* */
66
+ /* */
67
+ /* */
68
+ /* */
69
+ /* */
70
+ /* */
71
+ /* */
72
+ /* */
73
+ /* */
74
+ /* */
75
+ /* */
76
+ /* */
77
+ /* */
78
+ /* */
79
+ /* */
80
+ /* */
81
+ /* */
82
+ /* */
83
+ /* */
84
+ /* */
85
+ /* */
86
+ /* */
87
+ /* */
88
+ /* */
89
+ /* */
90
+ }
91
+ nearestTo(absoluteLocation, options) {
92
+ /* */
93
+ /* */
94
+ /* */
95
+ /* */
96
+ /* */
97
+ /* */
98
+ /* */
99
+ /* */
100
+ /* */
101
+ /* */
102
+ /* */
103
+ /* */
104
+ /* */
105
+ /* */
106
+ /* */
107
+ /* */
108
+ /* */
109
+ /* */
110
+ /* */
111
+ /* */
112
+ /* */
113
+ /* */
114
+ /* */
115
+ /* */
116
+ /* */
117
+ /* */
118
+ /* */
119
+ /* */
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
+ return (void 0);
151
+ }
152
+ unload(project) {
153
+ this.projects = this.projects.filter(f => f !== project);
154
+ }
155
+ allProjectFrom(absoluteLocation, stopOnCwd = '/') {
156
+ /* */
157
+ /* */
158
+ /* */
159
+ /* */
160
+ /* */
161
+ /* */
162
+ /* */
163
+ /* */
164
+ /* */
165
+ /* */
166
+ /* */
167
+ /* */
168
+ /* */
169
+ /* */
170
+ /* */
171
+ /* */
172
+ /* */
173
+ /* */
174
+ /* */
175
+ /* */
176
+ /* */
177
+ /* */
178
+ /* */
179
+ /* */
180
+ /* */
181
+ /* */
182
+ return (void 0);
183
+ }
184
+ }
185
+ class BaseProject {
186
+ static { this.ins = new BaseProjectResolver(BaseProject); }
187
+ get name() {
188
+ return this.packageJSON?.name;
189
+ }
190
+ get version() {
191
+ return this.packageJSON?.version;
192
+ }
193
+ get parent() {
194
+ return this.ins.From(path.join(this.location, '..'));
195
+ }
196
+ get genericName() {
197
+ let parent = this.parent;
198
+ return [
199
+ parent ? path.basename(path.dirname(parent.location)) : void 0,
200
+ parent ? parent.basename : path.basename(this.location),
201
+ this.basename,
202
+ /* */
203
+ /* */
204
+ ]
205
+ .filter(f => !!f)
206
+ .join('/');
207
+ }
208
+ /**
209
+ * try run but continue when it fails
210
+ * @param command
211
+ * @param options
212
+ * @returns
213
+ */
214
+ tryRunSync(command
215
+ /* */
216
+ /* */
217
+ ) {
218
+ /* */
219
+ /* */
220
+ /* */
221
+ /* */
222
+ /* */
223
+ /* */
224
+ return (void 0);
225
+ }
226
+ pathFor(relativePath) {
227
+ /* */
228
+ /* */
229
+ /* */
230
+ /* */
231
+ /* */
232
+ return (void 0);
233
+ }
234
+ writeJson(relativePath, json) {
235
+ /* */
236
+ /* */
237
+ /* */
238
+ /* */
239
+ /* */
240
+ return (void 0);
241
+ }
242
+ run(command
243
+ /* */
244
+ /* */
245
+ ) {
246
+ /* */
247
+ /* */
248
+ /* */
249
+ /* */
250
+ /* */
251
+ return (void 0);
252
+ }
253
+ outputFrom(command
254
+ /* */
255
+ /* */
256
+ ) {
257
+ /* */
258
+ /* */
259
+ return (void 0);
260
+ }
261
+ remove(relativePath, exactPath = true) {
262
+ /* */
263
+ /* */
264
+ return (void 0);
265
+ }
266
+ async assignFreePort(startFrom = 4200) {
267
+ /* */
268
+ /* */
269
+ /* */
270
+ /* */
271
+ /* */
272
+ /* */
273
+ /* */
274
+ /* */
275
+ /* */
276
+ /* */
277
+ /* */
278
+ /* */
279
+ /* */
280
+ /* */
281
+ /* */
282
+ /* */
283
+ /* */
284
+ /* */
285
+ /* */
286
+ /* */
287
+ /* */
288
+ /* */
289
+ /* */
290
+ return (void 0);
291
+ }
292
+ }
293
+ export { BaseProject };
294
+ ;
295
+ ({}); // @--end-of-file-for-module=tnp-helpers lib/base-project.ts
296
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1wcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9iYXNlLXByb2plY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFHTCxPQUFPLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUQsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHM0MsTUFBTSxPQUFPLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQztBQUd4QyxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUM7QUFFdEIsTUFBTSxPQUFPLG1CQUFtQjtJQUs5QixZQUFzQixPQUFZO1FBQVosWUFBTyxHQUFQLE9BQU8sQ0FBSztRQUhmLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLGFBQVEsR0FBd0IsRUFBRSxDQUFDO1FBQ25DLG1CQUFjLEdBQWEsRUFBRSxDQUFDO0lBQ0YsQ0FBQztJQUN2QyxJQUFJLFlBQVk7UUFFZCxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBR2hDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDYixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVEsQ0FBSSxRQUFnQjtRQUM5QixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFHRCxJQUFJLENBQUMsaUJBQW9DO1FBS3ZDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO1lBQ3BDLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNqRDtRQUNELElBQUksUUFBUSxHQUFHLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUUxRSxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUN6QixPQUFPLENBQUMsSUFBSSxDQUFDLHlDQUF5QyxDQUFDLENBQUE7WUFDdkQsT0FBTztTQUNSO1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLE1BQU0sRUFBRTtZQUN0QyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNuQztRQUNELFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFFckQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxLQUFLLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3BGLElBQUksWUFBWSxFQUFFO1lBQ2hCLE9BQU8sWUFBbUIsQ0FBQztTQUM1QjtRQUVMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztJQUlILENBQUM7SUFFRCxTQUFTLENBQ1AsZ0JBQXdCLEVBQ3hCLE9BQWlHO1FBQ3JHLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBR0QsTUFBTSxDQUFDLE9BQVU7UUFDZixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxL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RSxTQUFTLEdBQUcsSUFBSTtRQUMvQyxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYyxDQUFDLFlBQW9CLElBQUk7UUFDL0MsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDOztTQTdJVSxXQUFXO0FBbUp2QixDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDREQUE0RCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbmltcG9ydCB7IENMSSB9IGZyb20gJ3RucC1jbGkvd2Vic3FsJztcbmltcG9ydCB7IHBhdGgsIGNyb3NzUGxhdGZvcm1QYXRoIH0gZnJvbSAndG5wLWNvcmUvd2Vic3FsJztcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gJ3RucC1jb25maWcvd2Vic3FsJztcbmltcG9ydCB7IF8gfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuaW1wb3J0IHsgSGVscGVyc0ZpcmVkZXYgfSBmcm9tICcuL2hlbHBlcnMnO1xuaW1wb3J0IHsgTW9kZWxzIH0gZnJvbSAndG5wLW1vZGVscy93ZWJzcWwnO1xuXG5jb25zdCBIZWxwZXJzID0gSGVscGVyc0ZpcmVkZXYuSW5zdGFuY2U7XG5cblxuY29uc3QgdGFrZW5Qb3J0cyA9IFtdO1xuXG5leHBvcnQgY2xhc3MgQmFzZVByb2plY3RSZXNvbHZlcjxUPiB7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IE5QTV9QUk9KRUNUX0tFWSA9ICducG0nO1xuICBwcm90ZWN0ZWQgcHJvamVjdHM6IChUICYgQmFzZVByb2plY3QpW10gPSBbXTtcbiAgcHJvdGVjdGVkIGVtcHR5TG9jYXRpb25zOiBzdHJpbmdbXSA9IFtdO1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY2xhc3NGbjogYW55KSB7IH1cbiAgZ2V0IGFsbG93ZWRUeXBlcygpOiBzdHJpbmdbXSB7XG5cbiAgICByZXR1cm4gW3RoaXMuTlBNX1BST0pFQ1RfS0VZXTtcblxuXG4gIH1cblxuICBnZXQgQ3VycmVudCgpOiBUIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBvdmVycmlkZSB0aGlzXG4gICAqL1xuICB0eXBlRnJvbTxUPihsb2NhdGlvbjogc3RyaW5nKTogc3RyaW5nIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cbiAgRnJvbShsb2NhdGlvbk9mUHJvamVjdDogc3RyaW5nIHwgc3RyaW5nW10pOiBUIHtcblxuXG5cblxuICAgIGlmIChBcnJheS5pc0FycmF5KGxvY2F0aW9uT2ZQcm9qZWN0KSkge1xuICAgICAgbG9jYXRpb25PZlByb2plY3QgPSBsb2NhdGlvbk9mUHJvamVjdC5qb2luKCcvJyk7XG4gICAgfVxuICAgIGxldCBsb2NhdGlvbiA9IGNyb3NzUGxhdGZvcm1QYXRoKGxvY2F0aW9uT2ZQcm9qZWN0LnJlcGxhY2UoL1xcL1xcLy9nLCAnLycpKTtcblxuICAgIGlmICghXy5pc1N0cmluZyhsb2NhdGlvbikpIHtcbiAgICAgIEhlbHBlcnMud2FybihgW3Byb2plY3QuZnJvbV0gbG9jYXRpb24gaXMgbm90IGEgc3RyaW5nYClcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHBhdGguYmFzZW5hbWUobG9jYXRpb24pID09PSAnZGlzdCcpIHtcbiAgICAgIGxvY2F0aW9uID0gcGF0aC5kaXJuYW1lKGxvY2F0aW9uKTtcbiAgICB9XG4gICAgbG9jYXRpb24gPSBjcm9zc1BsYXRmb3JtUGF0aChwYXRoLnJlc29sdmUobG9jYXRpb24pKTtcblxuICAgIGNvbnN0IGFscmVhZHlFeGlzdCA9IHRoaXMucHJvamVjdHMuZmluZChsID0+IGwubG9jYXRpb24udHJpbSgpID09PSBsb2NhdGlvbi50cmltKCkpO1xuICAgIGlmIChhbHJlYWR5RXhpc3QpIHtcbiAgICAgIHJldHVybiBhbHJlYWR5RXhpc3QgYXMgYW55O1xuICAgIH1cblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuXG4gIH1cblxuICBuZWFyZXN0VG8oXG4gICAgYWJzb2x1dGVMb2NhdGlvbjogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiB7IHR5cGU/OiAoc3RyaW5nIHwgc3RyaW5nW10pOyBmaW5kR2l0Um9vdD86IGJvb2xlYW47IG9ubHlPdXRTaWRlTm9kZU1vZHVsZXM/OiBib29sZWFuIH0pOiBUIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG4gIHVubG9hZChwcm9qZWN0OiBUKSB7XG4gICAgdGhpcy5wcm9qZWN0cyA9IHRoaXMucHJvamVjdHMuZmlsdGVyKGYgPT4gZiAhPT0gcHJvamVjdCk7XG4gIH1cblxuXG4gIGFsbFByb2plY3RGcm9tKGFic29sdXRlTG9jYXRpb246IHN0cmluZywgc3RvcE9uQ3dkOiBzdHJpbmcgPSAnLycpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cbn1cblxuXG5leHBvcnQgY2xhc3MgQmFzZVByb2plY3Q8VCA9IGFueT5cbi8qICovXG4vKiAqL1xuICBcbntcbiAgc3RhdGljIGlucyA9IG5ldyBCYXNlUHJvamVjdFJlc29sdmVyPEJhc2VQcm9qZWN0PihCYXNlUHJvamVjdCk7XG4gIHJlYWRvbmx5IGluczogQmFzZVByb2plY3RSZXNvbHZlcjxUPjtcbiAgLyoqXG4gICAqIGl0IGRvIG5vdCBuZWVkIHRvIGJlIHJlYWx0IHBhdGhcbiAgICovXG4gIHJlYWRvbmx5IGxvY2F0aW9uOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGJhc2VuYW1lOiBzdHJpbmc7XG4gIGdldCBuYW1lKCkge1xuICAgIHJldHVybiB0aGlzLnBhY2thZ2VKU09OPy5uYW1lO1xuICB9XG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZztcbiAgZ2V0IHZlcnNpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMucGFja2FnZUpTT04/LnZlcnNpb247XG4gIH1cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHBhY2thZ2VKU09OOiBNb2RlbHMubnBtLklQYWNrYWdlSlNPTjtcbiAgLyoqXG4gICAqIG9ubHkgYXZhaWxhYmxlIGFmdGVyIGV4ZWN1dGluZyAqdGhpcy5hc3NpZ25GcmVlUG9ydCgpKlxuICAgKi9cbiAgcmVhZG9ubHkgcG9ydDogc3RyaW5nO1xuXG5cbiAgZ2V0IHBhcmVudCgpOiBUIHtcblxuICAgIHJldHVybiB0aGlzLmlucy5Gcm9tKHBhdGguam9pbih0aGlzLmxvY2F0aW9uLCAnLi4nKSk7XG5cbiAgfVxuXG4gIGdldCBnZW5lcmljTmFtZSgpIHtcblxuICAgIGxldCBwYXJlbnQgPSB0aGlzLnBhcmVudCBhcyBhbnkgYXMgQmFzZVByb2plY3Q7XG4gICAgcmV0dXJuIFtcbiAgICAgIHBhcmVudCA/IHBhdGguYmFzZW5hbWUocGF0aC5kaXJuYW1lKHBhcmVudC5sb2NhdGlvbikpIDogdm9pZCAwLFxuICAgICAgcGFyZW50ID8gcGFyZW50LmJhc2VuYW1lIDogcGF0aC5iYXNlbmFtZSh0aGlzLmxvY2F0aW9uKSxcbiAgICAgIHRoaXMuYmFzZW5hbWUsXG4vKiAqL1xuLyogKi9cbiAgXG4gICAgXVxuICAgICAgLmZpbHRlcihmID0+ICEhZilcbiAgICAgIC5qb2luKCcvJylcblxuICB9XG5cbiAgLyoqXG4gICAqIHRyeSBydW4gYnV0IGNvbnRpbnVlIHdoZW4gaXQgZmFpbHNcbiAgICogQHBhcmFtIGNvbW1hbmRcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnNcbiAgICovXG4gIHRyeVJ1blN5bmMoY29tbWFuZDogc3RyaW5nXG4vKiAqL1xuLyogKi9cbiAgXG4gICk6IHZvaWQge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG4gIHBhdGhGb3IocmVsYXRpdmVQYXRoOiBzdHJpbmcpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG4gIHdyaXRlSnNvbihyZWxhdGl2ZVBhdGg6IHN0cmluZywganNvbjogb2JqZWN0KSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG4gIHJ1bihjb21tYW5kOiBzdHJpbmdcbi8qICovXG4vKiAqL1xuICBcbiAgKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuICBvdXRwdXRGcm9tKGNvbW1hbmQ6IHN0cmluZ1xuLyogKi9cbi8qICovXG4gIFxuICApIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG4gIHJlbW92ZShyZWxhdGl2ZVBhdGg6IHN0cmluZywgZXhhY3RQYXRoID0gdHJ1ZSkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cbiAgYXN5bmMgYXNzaWduRnJlZVBvcnQoc3RhcnRGcm9tOiBudW1iZXIgPSA0MjAwKTogUHJvbWlzZTxOdW1iZXI+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cbn1cblxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Jhc2UtcHJvamVjdC50cyJdfQ==
@@ -86,4 +86,4 @@ export var HelpersAngular;
86
86
  })(HelpersAngular || (HelpersAngular = {}));
87
87
  ;
88
88
  ({}); // @--end-of-file-for-module=tnp-helpers lib/for-browser/angular.helper.ts
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlLXdlYnNxbC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2Zvci1icm93c2VyL2FuZ3VsYXIuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFM0MsTUFBTSxzQkFBc0IsR0FBRyxNQUFNLEVBQUUsQ0FBQztBQUN4QyxNQUFNLDBCQUEwQixHQUFHLEVBQUUsQ0FBQztBQUd0QyxNQUFNLEtBQVcsY0FBYyxDQXFGOUI7QUFyRkQsV0FBaUIsY0FBYztJQUU3QixNQUFhLGlCQUFpQjtRQUM1QixZQUNTLEVBQVU7WUFBVixPQUFFLEdBQUYsRUFBRSxDQUFRO1FBQ2YsQ0FBQztLQUNOO0lBSlksZ0NBQWlCLG9CQUk3QixDQUFBO0lBR0QsU0FBUyxTQUFTLENBQUMsY0FBNEI7UUFDN0MsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFO1lBQzNDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLElBQUksaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbkUsMEJBQTBCLENBQUMsRUFBRSxDQUFDLEdBQUcsY0FBYyxDQUFDO1NBQ2pEO1FBQ0QsT0FBTyxjQUFjLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFnQixTQUFTLENBQUMsUUFBc0I7UUFDOUMsT0FBTyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUZlLHdCQUFTLFlBRXhCLENBQUE7SUFFRDs7T0FFRztJQUNILFNBQWdCLFdBQVcsQ0FBQyxRQUFnQztRQUMxRCxJQUFJLFFBQVEsRUFBRSxFQUFFLEVBQUU7WUFDaEIsTUFBTSxrQkFBa0IsR0FBRywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbkUsT0FBTyxrQkFBa0IsQ0FBQztTQUMzQjtRQUNELE9BQU8sSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBTmUsMEJBQVcsY0FNMUIsQ0FBQTtJQUVELFNBQWdCLFdBQVcsQ0FBQyxRQUFzQjtRQUNoRCxNQUFNLGNBQWMsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0MsSUFBSSxjQUFjLEVBQUUsRUFBRSxFQUFFO1lBQ3RCLE9BQU8sMEJBQTBCLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3JELE9BQU8sY0FBYyxDQUFDLHNCQUFzQixDQUFDLENBQUM7U0FDL0M7SUFDSCxDQUFDO0lBTmUsMEJBQVcsY0FNMUIsQ0FBQTtJQUlEOzs7Ozs7Ozs7Ozs7Ozs7U0FlSztJQUNMLFNBQWdCLFFBQVEsQ0FBQyxNQUFjO1FBQ3JDLE1BQU0sS0FBSyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ25DLE9BQU87WUFDTCxXQUFXLEVBQUUsQ0FBQyxJQUFZLEVBQUUsRUFBRTtnQkFDNUIsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7b0JBQ2pELE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDdkIsTUFBTSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUM3QyxJQUFJLE9BQU8sS0FBSyxJQUFJLEVBQUU7d0JBQ3BCLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7cUJBQy9CO2lCQUNGO1lBQ0gsQ0FBQztZQUNELFdBQVcsRUFBRSxDQUFDLElBQVksRUFBVSxFQUFFO2dCQUNwQyxLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtvQkFDakQsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUN2QixNQUFNLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQzdDLElBQUksT0FBTyxLQUFLLElBQUksRUFBRTt3QkFDcEIsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO3FCQUN6RDtpQkFDRjtZQUNILENBQUM7U0FDRixDQUFBO0lBQ0gsQ0FBQztJQXRCZSx1QkFBUSxXQXNCdkIsQ0FBQTtBQUNILENBQUMsRUFyRmdCLGNBQWMsS0FBZCxjQUFjLFFBcUY5QjtBQUlBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsMEVBQTBFIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcblxuY29uc3QgY29tcG9uZW50Q29udGV4dFN5bWJvbCA9IFN5bWJvbCgpO1xuY29uc3QgY29tcG9uZW50c0Rlc3Ryb3kkU3ViamVjdHMgPSB7fTtcblxuXG5leHBvcnQgbmFtZXNwYWNlIEhlbHBlcnNBbmd1bGFyIHtcblxuICBleHBvcnQgY2xhc3MgU2VyaWFsaXplZFN1YmplY3Q8VD4ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgcHVibGljIGlkOiBzdHJpbmdcbiAgICApIHsgfVxuICB9XG5cblxuICBmdW5jdGlvbiBzdWJqZWN0SWQoZGVzdHJveVN1YmplY3Q6IFN1YmplY3Q8YW55Pik6IFNlcmlhbGl6ZWRTdWJqZWN0PGFueT4ge1xuICAgIGNvbnN0IGlkID0gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIpO1xuICAgIGlmICghZGVzdHJveVN1YmplY3RbY29tcG9uZW50Q29udGV4dFN5bWJvbF0pIHtcbiAgICAgIGRlc3Ryb3lTdWJqZWN0W2NvbXBvbmVudENvbnRleHRTeW1ib2xdID0gbmV3IFNlcmlhbGl6ZWRTdWJqZWN0KGlkKTtcbiAgICAgIGNvbXBvbmVudHNEZXN0cm95JFN1YmplY3RzW2lkXSA9IGRlc3Ryb3lTdWJqZWN0O1xuICAgIH1cbiAgICByZXR1cm4gZGVzdHJveVN1YmplY3RbY29tcG9uZW50Q29udGV4dFN5bWJvbF07XG4gIH1cblxuICAvKipcbiAgICogaWYgeW91IGFyZSB1c2luZyB0aGlzLi4gcGxlYXNlIGNhbGwgSGVscGVycy5uZy51bnN1YnNjcmliZSh0aGlzLiRkZXN0cm95KSBpbiBuZ09uRGVzdHJveSgpO1xuICAgKi9cbiAgZXhwb3J0IGZ1bmN0aW9uIHNlcmlhbGl6ZShkZXN0cm95JDogU3ViamVjdDxhbnk+KTogU2VyaWFsaXplZFN1YmplY3Q8YW55PiB7XG4gICAgcmV0dXJuIHN1YmplY3RJZChkZXN0cm95JCk7XG4gIH1cblxuICAvKipcbiAgICogaWYgeW91IGFyZSB1c2luZyB0aGlzLi4gcGxlYXNlIGNhbGwgSGVscGVycy5uZy51bnN1YnNjcmliZSh0aGlzLiRkZXN0cm95KSBpbiBuZ09uRGVzdHJveSgpO1xuICAgKi9cbiAgZXhwb3J0IGZ1bmN0aW9uIGRlc2VyaWFsaXplKGRlc3Ryb3kkOiBTZXJpYWxpemVkU3ViamVjdDxhbnk+KTogU3ViamVjdDxhbnk+IHtcbiAgICBpZiAoZGVzdHJveSQ/LmlkKSB7XG4gICAgICBjb25zdCByZWFsRGVzdHJveVN1YmplY3QgPSBjb21wb25lbnRzRGVzdHJveSRTdWJqZWN0c1tkZXN0cm95JC5pZF07XG4gICAgICByZXR1cm4gcmVhbERlc3Ryb3lTdWJqZWN0O1xuICAgIH1cbiAgICByZXR1cm4gbmV3IFN1YmplY3QoKTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiB1bnN1YnNjcmliZShkZXN0cm95JDogU3ViamVjdDxhbnk+KSB7XG4gICAgY29uc3QgZGVzdHJveVN1YmplY3QgPSBzdWJqZWN0SWQoZGVzdHJveSQpO1xuICAgIGlmIChkZXN0cm95U3ViamVjdD8uaWQpIHtcbiAgICAgIGRlbGV0ZSBjb21wb25lbnRzRGVzdHJveSRTdWJqZWN0c1tkZXN0cm95U3ViamVjdC5pZF07XG4gICAgICBkZWxldGUgZGVzdHJveVN1YmplY3RbY29tcG9uZW50Q29udGV4dFN5bWJvbF07XG4gICAgfVxuICB9XG5cblxuXG4gIC8qKlxuICBnZXQgcHJvcGVydGllcyBmcm9tIHNjc3MgZmlsZVxuXG5cbiAgaW1wb3J0IHN0eWxlcyBmcm9tICcuL3Rhc2tzLW5ncngtZGF0YS5jb21wb25lbnQuc2Nzcyc7XG5cbiAgZXhwb3J0IGNsYXNzIEV4YW1wbGVDb21wb25lbnQge1xuICAgIHNhc3NGaWxlID0gc2Fzc0ZpbGUoc3R5bGVzKTtcblxuICAgIGFzeW5jIG5nT25Jbml0KCkge1xuICAgICAgdGhpcy50YXNrc1NlcnZpY2UuZ2V0QWxsKCk7XG4gICAgICBjb25zb2xlLmxvZyh0aGlzLnNhc3NGaWxlLnN0cmluZ1ZhbHVlKCctLW1heC1jb250YWluZXItc2l6ZScpKVxuICAgICAgY29uc29sZS5sb2codGhpcy5zYXNzRmlsZS5udW1iZXJWYWx1ZSgnLS1tYXgtY29udGFpbmVyLXNpemUnKSlcbiAgICB9XG4gIH1cbiAgICAgKi9cbiAgZXhwb3J0IGZ1bmN0aW9uIHNhc3NGaWxlKHN0eWxlczogc3RyaW5nKSB7XG4gICAgY29uc3QgbGluZXMgPSAoc3R5bGVzLnNwbGl0KCdcXG4nKSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN0cmluZ1ZhbHVlOiAobmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBsaW5lcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICBjb25zdCBsID0gbGluZXNbaW5kZXhdO1xuICAgICAgICAgIGNvbnN0IFt2YXJOYW1lLCB2YWx1ZV0gPSBsLnRyaW0oKS5zcGxpdCgnOicpO1xuICAgICAgICAgIGlmICh2YXJOYW1lID09PSBuYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUucmVwbGFjZSgnOycsICcnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBudW1iZXJWYWx1ZTogKG5hbWU6IHN0cmluZyk6IG51bWJlciA9PiB7XG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBsaW5lcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICBjb25zdCBsID0gbGluZXNbaW5kZXhdO1xuICAgICAgICAgIGNvbnN0IFt2YXJOYW1lLCB2YWx1ZV0gPSBsLnRyaW0oKS5zcGxpdCgnOicpO1xuICAgICAgICAgIGlmICh2YXJOYW1lID09PSBuYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4gTnVtYmVyKHZhbHVlLnJlcGxhY2UoJ3B4JywgJycpLnJlcGxhY2UoJzsnLCAnJykpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9mb3ItYnJvd3Nlci9hbmd1bGFyLmhlbHBlci50cyJdfQ==
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlLXdlYnNxbC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2Zvci1icm93c2VyL2FuZ3VsYXIuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFM0MsTUFBTSxzQkFBc0IsR0FBRyxNQUFNLEVBQUUsQ0FBQztBQUN4QyxNQUFNLDBCQUEwQixHQUFHLEVBQUUsQ0FBQztBQUd0QyxNQUFNLEtBQVcsY0FBYyxDQXFGOUI7QUFyRkQsV0FBaUIsY0FBYztJQUU3QixNQUFhLGlCQUFpQjtRQUM1QixZQUNTLEVBQVU7WUFBVixPQUFFLEdBQUYsRUFBRSxDQUFRO1FBQ2YsQ0FBQztLQUNOO0lBSlksZ0NBQWlCLG9CQUk3QixDQUFBO0lBR0QsU0FBUyxTQUFTLENBQUMsY0FBNEI7UUFDN0MsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFO1lBQzNDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLElBQUksaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbkUsMEJBQTBCLENBQUMsRUFBRSxDQUFDLEdBQUcsY0FBYyxDQUFDO1NBQ2pEO1FBQ0QsT0FBTyxjQUFjLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFnQixTQUFTLENBQUMsUUFBc0I7UUFDOUMsT0FBTyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUZlLHdCQUFTLFlBRXhCLENBQUE7SUFFRDs7T0FFRztJQUNILFNBQWdCLFdBQVcsQ0FBQyxRQUFnQztRQUMxRCxJQUFJLFFBQVEsRUFBRSxFQUFFLEVBQUU7WUFDaEIsTUFBTSxrQkFBa0IsR0FBRywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbkUsT0FBTyxrQkFBa0IsQ0FBQztTQUMzQjtRQUNELE9BQU8sSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBTmUsMEJBQVcsY0FNMUIsQ0FBQTtJQUVELFNBQWdCLFdBQVcsQ0FBQyxRQUFzQjtRQUNoRCxNQUFNLGNBQWMsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0MsSUFBSSxjQUFjLEVBQUUsRUFBRSxFQUFFO1lBQ3RCLE9BQU8sMEJBQTBCLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3JELE9BQU8sY0FBYyxDQUFDLHNCQUFzQixDQUFDLENBQUM7U0FDL0M7SUFDSCxDQUFDO0lBTmUsMEJBQVcsY0FNMUIsQ0FBQTtJQUlEOzs7Ozs7Ozs7Ozs7Ozs7U0FlSztJQUNMLFNBQWdCLFFBQVEsQ0FBQyxNQUFjO1FBQ3JDLE1BQU0sS0FBSyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ25DLE9BQU87WUFDTCxXQUFXLEVBQUUsQ0FBQyxJQUFZLEVBQUUsRUFBRTtnQkFDNUIsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7b0JBQ2pELE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDdkIsTUFBTSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUM3QyxJQUFJLE9BQU8sS0FBSyxJQUFJLEVBQUU7d0JBQ3BCLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7cUJBQy9CO2lCQUNGO1lBQ0gsQ0FBQztZQUNELFdBQVcsRUFBRSxDQUFDLElBQVksRUFBVSxFQUFFO2dCQUNwQyxLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtvQkFDakQsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUN2QixNQUFNLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQzdDLElBQUksT0FBTyxLQUFLLElBQUksRUFBRTt3QkFDcEIsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO3FCQUN6RDtpQkFDRjtZQUNILENBQUM7U0FDRixDQUFBO0lBQ0gsQ0FBQztJQXRCZSx1QkFBUSxXQXNCdkIsQ0FBQTtBQUNILENBQUMsRUFyRmdCLGNBQWMsS0FBZCxjQUFjLFFBcUY5QjtBQUlBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsMEVBQTBFIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5cbmNvbnN0IGNvbXBvbmVudENvbnRleHRTeW1ib2wgPSBTeW1ib2woKTtcbmNvbnN0IGNvbXBvbmVudHNEZXN0cm95JFN1YmplY3RzID0ge307XG5cblxuZXhwb3J0IG5hbWVzcGFjZSBIZWxwZXJzQW5ndWxhciB7XG5cbiAgZXhwb3J0IGNsYXNzIFNlcmlhbGl6ZWRTdWJqZWN0PFQ+IHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgIHB1YmxpYyBpZDogc3RyaW5nXG4gICAgKSB7IH1cbiAgfVxuXG5cbiAgZnVuY3Rpb24gc3ViamVjdElkKGRlc3Ryb3lTdWJqZWN0OiBTdWJqZWN0PGFueT4pOiBTZXJpYWxpemVkU3ViamVjdDxhbnk+IHtcbiAgICBjb25zdCBpZCA9IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyKTtcbiAgICBpZiAoIWRlc3Ryb3lTdWJqZWN0W2NvbXBvbmVudENvbnRleHRTeW1ib2xdKSB7XG4gICAgICBkZXN0cm95U3ViamVjdFtjb21wb25lbnRDb250ZXh0U3ltYm9sXSA9IG5ldyBTZXJpYWxpemVkU3ViamVjdChpZCk7XG4gICAgICBjb21wb25lbnRzRGVzdHJveSRTdWJqZWN0c1tpZF0gPSBkZXN0cm95U3ViamVjdDtcbiAgICB9XG4gICAgcmV0dXJuIGRlc3Ryb3lTdWJqZWN0W2NvbXBvbmVudENvbnRleHRTeW1ib2xdO1xuICB9XG5cbiAgLyoqXG4gICAqIGlmIHlvdSBhcmUgdXNpbmcgdGhpcy4uIHBsZWFzZSBjYWxsIEhlbHBlcnMubmcudW5zdWJzY3JpYmUodGhpcy4kZGVzdHJveSkgaW4gbmdPbkRlc3Ryb3koKTtcbiAgICovXG4gIGV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpemUoZGVzdHJveSQ6IFN1YmplY3Q8YW55Pik6IFNlcmlhbGl6ZWRTdWJqZWN0PGFueT4ge1xuICAgIHJldHVybiBzdWJqZWN0SWQoZGVzdHJveSQpO1xuICB9XG5cbiAgLyoqXG4gICAqIGlmIHlvdSBhcmUgdXNpbmcgdGhpcy4uIHBsZWFzZSBjYWxsIEhlbHBlcnMubmcudW5zdWJzY3JpYmUodGhpcy4kZGVzdHJveSkgaW4gbmdPbkRlc3Ryb3koKTtcbiAgICovXG4gIGV4cG9ydCBmdW5jdGlvbiBkZXNlcmlhbGl6ZShkZXN0cm95JDogU2VyaWFsaXplZFN1YmplY3Q8YW55Pik6IFN1YmplY3Q8YW55PiB7XG4gICAgaWYgKGRlc3Ryb3kkPy5pZCkge1xuICAgICAgY29uc3QgcmVhbERlc3Ryb3lTdWJqZWN0ID0gY29tcG9uZW50c0Rlc3Ryb3kkU3ViamVjdHNbZGVzdHJveSQuaWRdO1xuICAgICAgcmV0dXJuIHJlYWxEZXN0cm95U3ViamVjdDtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBTdWJqZWN0KCk7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gdW5zdWJzY3JpYmUoZGVzdHJveSQ6IFN1YmplY3Q8YW55Pikge1xuICAgIGNvbnN0IGRlc3Ryb3lTdWJqZWN0ID0gc3ViamVjdElkKGRlc3Ryb3kkKTtcbiAgICBpZiAoZGVzdHJveVN1YmplY3Q/LmlkKSB7XG4gICAgICBkZWxldGUgY29tcG9uZW50c0Rlc3Ryb3kkU3ViamVjdHNbZGVzdHJveVN1YmplY3QuaWRdO1xuICAgICAgZGVsZXRlIGRlc3Ryb3lTdWJqZWN0W2NvbXBvbmVudENvbnRleHRTeW1ib2xdO1xuICAgIH1cbiAgfVxuXG5cblxuICAvKipcbiAgZ2V0IHByb3BlcnRpZXMgZnJvbSBzY3NzIGZpbGVcblxuXG4gIGltcG9ydCBzdHlsZXMgZnJvbSAnLi90YXNrcy1uZ3J4LWRhdGEuY29tcG9uZW50LnNjc3MnO1xuXG4gIGV4cG9ydCBjbGFzcyBFeGFtcGxlQ29tcG9uZW50IHtcbiAgICBzYXNzRmlsZSA9IHNhc3NGaWxlKHN0eWxlcyk7XG5cbiAgICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICAgIHRoaXMudGFza3NTZXJ2aWNlLmdldEFsbCgpO1xuICAgICAgY29uc29sZS5sb2codGhpcy5zYXNzRmlsZS5zdHJpbmdWYWx1ZSgnLS1tYXgtY29udGFpbmVyLXNpemUnKSlcbiAgICAgIGNvbnNvbGUubG9nKHRoaXMuc2Fzc0ZpbGUubnVtYmVyVmFsdWUoJy0tbWF4LWNvbnRhaW5lci1zaXplJykpXG4gICAgfVxuICB9XG4gICAgICovXG4gIGV4cG9ydCBmdW5jdGlvbiBzYXNzRmlsZShzdHlsZXM6IHN0cmluZykge1xuICAgIGNvbnN0IGxpbmVzID0gKHN0eWxlcy5zcGxpdCgnXFxuJykpO1xuICAgIHJldHVybiB7XG4gICAgICBzdHJpbmdWYWx1ZTogKG5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbGluZXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgY29uc3QgbCA9IGxpbmVzW2luZGV4XTtcbiAgICAgICAgICBjb25zdCBbdmFyTmFtZSwgdmFsdWVdID0gbC50cmltKCkuc3BsaXQoJzonKTtcbiAgICAgICAgICBpZiAodmFyTmFtZSA9PT0gbmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoJzsnLCAnJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgbnVtYmVyVmFsdWU6IChuYW1lOiBzdHJpbmcpOiBudW1iZXIgPT4ge1xuICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbGluZXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgY29uc3QgbCA9IGxpbmVzW2luZGV4XTtcbiAgICAgICAgICBjb25zdCBbdmFyTmFtZSwgdmFsdWVdID0gbC50cmltKCkuc3BsaXQoJzonKTtcbiAgICAgICAgICBpZiAodmFyTmFtZSA9PT0gbmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIE51bWJlcih2YWx1ZS5yZXBsYWNlKCdweCcsICcnKS5yZXBsYWNlKCc7JywgJycpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvZm9yLWJyb3dzZXIvYW5ndWxhci5oZWxwZXIudHMiXX0=
@@ -45,4 +45,4 @@ class HelpersBrowser {
45
45
  export { HelpersBrowser };
46
46
  ;
47
47
  ({}); // @--end-of-file-for-module=tnp-helpers lib/for-browser/helpers-browser.ts
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1icm93c2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9mb3ItYnJvd3Nlci9oZWxwZXJzLWJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLHNDQUFzQyxDQUFDLENBQUE7QUFFMUQsTUFBYSxjQUFjO2FBRVYsY0FBUyxHQUFHLEVBQUUsQUFBTCxDQUFNO0lBQzlCLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBc0M7UUFDbEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksR0FBRztRQUNMLElBQUksR0FBRyxHQUFHLE1BQU0sQ0FBQztRQUNqQixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxJQUFZLG1CQUFtQjtRQUM3QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQWNELFlBQW9CLEdBQVc7UUFUL0IsU0FBSSxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1gsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUVyQixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNiLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNwQztZQUNELGNBQWMsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFJSCxHQUFHLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDekMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUN0QyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUFDO1FBRUgsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUVkLElBQUksR0FBRyxDQUFDLGNBQWMsRUFBRSxLQUFLLEVBQUU7Z0JBQzdCLGFBQWE7Z0JBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDOUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDeEM7aUJBQ0k7Z0JBQ0gsYUFBYTtnQkFDYixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQzNFO1lBQ0QsY0FBYyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDckMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ1YsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQTtJQUdKLENBQUM7SUFHRCxNQUFNLEtBQUssUUFBUTtRQUNqQixPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUM7SUFDN0IsQ0FBQzs7U0F6RFUsY0FBYztBQWtFMUIsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQywyRUFBMkUiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG5jb25zdCBrZXkgPSBTeW1ib2woJ1tmaXJlZGV2LWhlbHBlcnNdIGhlbHBlciBicm93c2VyIGtleScpXG5cbmV4cG9ydCBjbGFzcyBIZWxwZXJzQnJvd3NlciB7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgY2FsbGJhY2tzID0gW107XG4gIHN0YXRpYyBvbkluaXQoY2FsbGJhY2s6IChpbnM6IEhlbHBlcnNCcm93c2VyKSA9PiBhbnkpIHtcbiAgICB0aGlzLmNhbGxiYWNrcy5wdXNoKGNhbGxiYWNrKTtcbiAgfVxuXG4gIGdldCB3aW4oKSB7XG4gICAgbGV0IHdpbiA9IHdpbmRvdztcbiAgICByZXR1cm4gd2luO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgdGFiSWRTZXNzaW9uU3RvcmFnZSgpIHtcbiAgICByZXR1cm4gTnVtYmVyKHRoaXMud2luLnNlc3Npb25TdG9yYWdlPy50YWJJZCkgfHwgMDtcbiAgfVxuXG4gIHJlYWRvbmx5IHRhYklkOiBudW1iZXI7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaW5zdDogSGVscGVyc0Jyb3dzZXI7XG4gIGluaXQgPSAoKCkgPT4ge1xuICAgIGNvbnN0IHdpbiA9IHRoaXMud2luO1xuXG4gICAgaWYgKCF3aW5ba2V5XSkge1xuICAgICAgd2luW2tleV0gPSBuZXcgSGVscGVyc0Jyb3dzZXIod2luKTtcbiAgICB9XG4gICAgSGVscGVyc0Jyb3dzZXIuaW5zdCA9IHdpbltrZXldO1xuICB9KSgpO1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3Iod2luOiBXaW5kb3cpIHtcblxuICAgIHdpbi5hZGRFdmVudExpc3RlbmVyKFwiYmVmb3JldW5sb2FkXCIsIChlKSA9PiB7XG4gICAgICB3aW4uc2Vzc2lvblN0b3JhZ2UudGFiSWQgPSB0aGlzLnRhYklkO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSk7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcblxuICAgICAgaWYgKHdpbi5zZXNzaW9uU3RvcmFnZT8udGFiSWQpIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICB0aGlzLnRhYklkID0gTnVtYmVyKHdpbi5zZXNzaW9uU3RvcmFnZS50YWJJZCk7XG4gICAgICAgIHdpbi5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKFwidGFiSWRcIik7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICB0aGlzLnRhYklkID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTAwMDAwMCkgKyAobmV3IERhdGUoKSkuZ2V0VGltZSgpO1xuICAgICAgfVxuICAgICAgSGVscGVyc0Jyb3dzZXIuY2FsbGJhY2tzLmZvckVhY2goKGMpID0+IHtcbiAgICAgICAgYyh0aGlzKTtcbiAgICAgIH0pO1xuICAgIH0pXG5cblxuICB9XG5cblxuICBzdGF0aWMgZ2V0IGluc3RhbmNlKCkge1xuICAgIHJldHVybiBIZWxwZXJzQnJvd3Nlci5pbnN0O1xuICB9XG5cbn1cblxuXG5cblxuXG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvZm9yLWJyb3dzZXIvaGVscGVycy1icm93c2VyLnRzIl19
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1icm93c2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9mb3ItYnJvd3Nlci9oZWxwZXJzLWJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLHNDQUFzQyxDQUFDLENBQUE7QUFFMUQsTUFBYSxjQUFjO2FBRVYsY0FBUyxHQUFHLEVBQUUsQUFBTCxDQUFNO0lBQzlCLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBc0M7UUFDbEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksR0FBRztRQUNMLElBQUksR0FBRyxHQUFHLE1BQU0sQ0FBQztRQUNqQixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxJQUFZLG1CQUFtQjtRQUM3QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQWNELFlBQW9CLEdBQVc7UUFUL0IsU0FBSSxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1gsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUVyQixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNiLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNwQztZQUNELGNBQWMsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFJSCxHQUFHLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDekMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUN0QyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUFDO1FBRUgsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUVkLElBQUksR0FBRyxDQUFDLGNBQWMsRUFBRSxLQUFLLEVBQUU7Z0JBQzdCLGFBQWE7Z0JBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDOUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDeEM7aUJBQ0k7Z0JBQ0gsYUFBYTtnQkFDYixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQzNFO1lBQ0QsY0FBYyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDckMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ1YsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQTtJQUdKLENBQUM7SUFHRCxNQUFNLEtBQUssUUFBUTtRQUNqQixPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUM7SUFDN0IsQ0FBQzs7U0F6RFUsY0FBYztBQWtFMUIsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQywyRUFBMkUiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG5cblxuY29uc3Qga2V5ID0gU3ltYm9sKCdbZmlyZWRldi1oZWxwZXJzXSBoZWxwZXIgYnJvd3NlciBrZXknKVxuXG5leHBvcnQgY2xhc3MgSGVscGVyc0Jyb3dzZXIge1xuXG4gIHByaXZhdGUgc3RhdGljIGNhbGxiYWNrcyA9IFtdO1xuICBzdGF0aWMgb25Jbml0KGNhbGxiYWNrOiAoaW5zOiBIZWxwZXJzQnJvd3NlcikgPT4gYW55KSB7XG4gICAgdGhpcy5jYWxsYmFja3MucHVzaChjYWxsYmFjayk7XG4gIH1cblxuICBnZXQgd2luKCkge1xuICAgIGxldCB3aW4gPSB3aW5kb3c7XG4gICAgcmV0dXJuIHdpbjtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHRhYklkU2Vzc2lvblN0b3JhZ2UoKSB7XG4gICAgcmV0dXJuIE51bWJlcih0aGlzLndpbi5zZXNzaW9uU3RvcmFnZT8udGFiSWQpIHx8IDA7XG4gIH1cblxuICByZWFkb25seSB0YWJJZDogbnVtYmVyO1xuXG4gIHByaXZhdGUgc3RhdGljIGluc3Q6IEhlbHBlcnNCcm93c2VyO1xuICBpbml0ID0gKCgpID0+IHtcbiAgICBjb25zdCB3aW4gPSB0aGlzLndpbjtcblxuICAgIGlmICghd2luW2tleV0pIHtcbiAgICAgIHdpbltrZXldID0gbmV3IEhlbHBlcnNCcm93c2VyKHdpbik7XG4gICAgfVxuICAgIEhlbHBlcnNCcm93c2VyLmluc3QgPSB3aW5ba2V5XTtcbiAgfSkoKTtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKHdpbjogV2luZG93KSB7XG5cbiAgICB3aW4uYWRkRXZlbnRMaXN0ZW5lcihcImJlZm9yZXVubG9hZFwiLCAoZSkgPT4ge1xuICAgICAgd2luLnNlc3Npb25TdG9yYWdlLnRhYklkID0gdGhpcy50YWJJZDtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0pO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG5cbiAgICAgIGlmICh3aW4uc2Vzc2lvblN0b3JhZ2U/LnRhYklkKSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgdGhpcy50YWJJZCA9IE51bWJlcih3aW4uc2Vzc2lvblN0b3JhZ2UudGFiSWQpO1xuICAgICAgICB3aW4uc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShcInRhYklkXCIpO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgdGhpcy50YWJJZCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDEwMDAwMDApICsgKG5ldyBEYXRlKCkpLmdldFRpbWUoKTtcbiAgICAgIH1cbiAgICAgIEhlbHBlcnNCcm93c2VyLmNhbGxiYWNrcy5mb3JFYWNoKChjKSA9PiB7XG4gICAgICAgIGModGhpcyk7XG4gICAgICB9KTtcbiAgICB9KVxuXG5cbiAgfVxuXG5cbiAgc3RhdGljIGdldCBpbnN0YW5jZSgpIHtcbiAgICByZXR1cm4gSGVscGVyc0Jyb3dzZXIuaW5zdDtcbiAgfVxuXG59XG5cblxuXG5cblxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Zvci1icm93c2VyL2hlbHBlcnMtYnJvd3Nlci50cyJdfQ==