ng2-logger 8.0.30 → 13.0.3

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 (40) hide show
  1. package/app/index.js +2 -3
  2. package/app/ng2-logger.component.js +2 -3
  3. package/app/ng2-logger.module.js +2 -3
  4. package/browser/esm2020/lib/backend-logging.mjs +76 -1
  5. package/browser/esm2020/lib/display.mjs +19 -2
  6. package/browser/esm2020/lib/helpers.mjs +1 -1
  7. package/browser/esm2020/lib/index.mjs +1 -1
  8. package/browser/esm2020/lib/level.mjs +1 -1
  9. package/browser/esm2020/lib/log.mjs +22 -1
  10. package/browser/esm2020/lib/logger.mjs +1 -1
  11. package/browser/fesm2015/ng2-logger.mjs +38 -1
  12. package/browser/fesm2015/ng2-logger.mjs.map +1 -1
  13. package/browser/fesm2020/ng2-logger.mjs +38 -1
  14. package/browser/fesm2020/ng2-logger.mjs.map +1 -1
  15. package/browser/lib/backend-logging.d.ts +1 -1
  16. package/client/esm2020/lib/backend-logging.mjs +76 -1
  17. package/client/esm2020/lib/display.mjs +19 -2
  18. package/client/esm2020/lib/helpers.mjs +1 -1
  19. package/client/esm2020/lib/index.mjs +1 -1
  20. package/client/esm2020/lib/level.mjs +1 -1
  21. package/client/esm2020/lib/log.mjs +22 -1
  22. package/client/esm2020/lib/logger.mjs +1 -1
  23. package/client/fesm2015/ng2-logger.mjs +38 -1
  24. package/client/fesm2015/ng2-logger.mjs.map +1 -1
  25. package/client/fesm2020/ng2-logger.mjs +38 -1
  26. package/client/fesm2020/ng2-logger.mjs.map +1 -1
  27. package/client/lib/backend-logging.d.ts +1 -1
  28. package/index.js +2 -3
  29. package/lib/backend-logging.js +2 -3
  30. package/lib/client.js +2 -3
  31. package/lib/display.js +2 -3
  32. package/lib/helpers.js +2 -3
  33. package/lib/index.js +2 -3
  34. package/lib/level.js +2 -3
  35. package/lib/log.js +2 -3
  36. package/lib/logger.js +2 -3
  37. package/package.json +2 -2
  38. package/package.json_tnp.json5 +1 -3
  39. package/tmp-environment.json +67 -36
  40. package/package.json_tnp.json +0 -45
@@ -23,6 +23,9 @@ const LevelOrder = [
23
23
  LevelKey[Level.ERROR],
24
24
  ];
25
25
 
26
+ /* */
27
+ /* */
28
+ /* */
26
29
  class Display {
27
30
  static msg(message, params, moduleName, moduleColor, level, moduleWidth, isProductionMode) {
28
31
  if (isProductionMode) {
@@ -47,7 +50,10 @@ class Display {
47
50
  }
48
51
  }
49
52
  }
50
- if (Helpers.isBrowser) {
53
+ if (Helpers.isBrowser
54
+ /* */
55
+ /* */
56
+ ) {
51
57
  // @ts-ignore
52
58
  const isEdgeOrIe8orAbove = (document['documentMode'] || /Edge/.test(navigator.userAgent));
53
59
  if (isEdgeOrIe8orAbove) {
@@ -93,6 +99,16 @@ class Display {
93
99
  }
94
100
  }
95
101
  if (Helpers.isNode) {
102
+ /* */
103
+ /* */
104
+ /* */
105
+ /* */
106
+ /* */
107
+ /* */
108
+ /* */
109
+ /* */
110
+ /* */
111
+ /* */
96
112
  }
97
113
  }
98
114
  }
@@ -251,6 +267,12 @@ class Logger {
251
267
  }
252
268
  }
253
269
 
270
+ /* */
271
+ /* */
272
+ /* */
273
+ /* */
274
+ /* */
275
+ /* */
254
276
  class Log {
255
277
  //#region singleton
256
278
  constructor() {
@@ -277,6 +299,13 @@ class Log {
277
299
  return Log.instance.create(name, ...level);
278
300
  }
279
301
  static disableLogs(level = Level.__NOTHING) {
302
+ /* */
303
+ /* */
304
+ /* */
305
+ /* */
306
+ /* */
307
+ /* */
308
+ /* */
280
309
  LevelOrder.reverse().find(a => {
281
310
  // @ts-ignore
282
311
  if (!this.consolelogfn[a]) {
@@ -292,6 +321,10 @@ class Log {
292
321
  });
293
322
  }
294
323
  static enableLogs() {
324
+ /* */
325
+ /* */
326
+ /* */
327
+ /* */
295
328
  LevelOrder.forEach(a => {
296
329
  // @ts-ignore
297
330
  console[a] = this.consolelogfn[a];
@@ -378,6 +411,10 @@ class Log {
378
411
  Log.Logger = Logger;
379
412
  Log.consolelogfn = {};
380
413
  function getRandomColor() {
414
+ /* */
415
+ /* */
416
+ /* */
417
+ /* */
381
418
  let letters = '012345'.split('');
382
419
  let color = '#';
383
420
  color += letters[Math.round(Math.random() * 5)];
@@ -1 +1 @@
1
- {"version":3,"file":"ng2-logger.mjs","sources":["../../../tmp-libs-for-bundle/ng2-logger/projects/ng2-logger/src/lib/level.ts","../../../tmp-libs-for-bundle/ng2-logger/projects/ng2-logger/src/lib/display.ts","../../../tmp-libs-for-bundle/ng2-logger/projects/ng2-logger/src/lib/logger.ts","../../../tmp-libs-for-bundle/ng2-logger/projects/ng2-logger/src/lib/log.ts","../../../tmp-libs-for-bundle/ng2-logger/projects/ng2-logger/src/ng2-logger.ts"],"sourcesContent":["\n\nexport enum Level {\n DATA,\n INFO,\n WARN,\n ERROR ,\n __NOTHING ,\n}\n\nexport const LevelKey = {\n [Level.DATA] : 'log',\n [Level.INFO] : 'info',\n [Level.WARN] : 'warn',\n [Level.ERROR] : 'error',\n [Level.__NOTHING] : '',\n}\n\nexport const LevelOrder = [\n LevelKey[Level.DATA],\n LevelKey[Level.INFO],\n LevelKey[Level.WARN],\n LevelKey[Level.ERROR],\n];\n","\n\nimport { Level } from './level';\nimport { Helpers } from 'tnp-core/browser';\nimport { consoleLog, displayParams } from './backend-logging';\n\n\n\nexport class Display {\n\n static msg(\n message: string | any,\n params: any[],\n moduleName: string,\n moduleColor: string,\n level: Level,\n moduleWidth: number | undefined,\n isProductionMode: boolean\n ) {\n if (isProductionMode) {\n return;\n };\n let color = 'gray';\n if (level === Level.INFO) { color = 'deepskyblue'; }\n if (level === Level.ERROR) { color = 'red'; }\n if (level === Level.WARN) { color = 'orange'; }\n\n if (moduleWidth) {\n const diff = moduleWidth - moduleName.length;\n if (diff > 0) {\n for (let i = 0; i < diff; i++) {\n moduleName += ' ';\n }\n }\n }\n\n if (Helpers.isBrowser\n\n ) {\n // @ts-ignore\n const isEdgeOrIe8orAbove = (document['documentMode'] || /Edge/.test(navigator.userAgent));\n\n if (isEdgeOrIe8orAbove) {\n if (typeof message === 'string') {\n let a1 = '[[ ' + moduleName + ' ]] ' + message + ' ';\n params.unshift(a1);\n } else {\n let a1 = '[[ ' + moduleName + ']] ';\n params.push(message);\n params.unshift(a1);\n }\n if (level === Level.INFO) {\n console.info.apply(console, params);\n } else if (level === Level.ERROR) {\n console.error.apply(console, params);\n } else if (level === Level.WARN) {\n console.warn.apply(console, params);\n } else {\n console.log.apply(console, params);\n }\n } else {\n if (typeof message === 'string') {\n let a1 = '%c ' + moduleName + ' %c ' + message + ' ';\n let a2 = 'background: ' + moduleColor + ';color:white; border: 1px solid ' + moduleColor + '; ';\n let a3 = 'border: 1px solid ' + color + '; ';\n params.unshift(a3);\n params.unshift(a2);\n params.unshift(a1);\n } else {\n let a1 = '%c ' + moduleName + ' ';\n let a2 = 'background: ' + moduleColor + ';color:white; border: 1px solid ' + color + '; ';\n params.push(message);\n params.unshift(a2);\n params.unshift(a1);\n }\n console.log.apply(console, params);\n }\n\n } if (Helpers.isNode) {\n\n }\n\n }\n\n}\n","\n\nimport { Level } from './level';\nimport { Display } from './display';\nimport { Helpers } from 'tnp-core/browser';\n\nexport class Logger {\n\n private _level: Level;\n public setLevel(l: Level) {\n this._level = l;\n return this;\n }\n\n public get isProductionMode() {\n return !this.developmentMode;\n }\n\n public setProductionMode(productionMode: boolean) {\n this.developmentMode = !productionMode;\n return this;\n }\n\n public mute() {\n this.isMuted = true;\n return this;\n }\n\n constructor(\n private name: string,\n public color: string,\n private developmentMode: boolean,\n private allowed: Level[],\n private isMuted: boolean,\n public fixedWidth: number | undefined\n ) { }\n\n onlyWhen(expression: (() => boolean) | boolean) {\n if (typeof expression === 'function') {\n this.isMuted = !expression()\n } else if (typeof expression === 'boolean') {\n this.isMuted = !expression;\n }\n }\n\n private _data(name: string, ...data: any[]) {\n if (this.isMuted) return this;\n if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)\n && !Helpers.contain(this.allowed, Level.DATA)) return this;\n\n if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.DATA)) {\n // @ts-ignore\n Display.msg.apply(void 0, [\n name,\n ...data,\n this.name,\n this.color,\n Level.DATA,\n this.fixedWidth,\n this.isProductionMode,\n ]);\n }\n return this;\n }\n\n\n private _error(name: string, ...data: any[]) {\n if (this.isMuted) return this;\n if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)\n && !Helpers.contain(this.allowed, Level.ERROR)) return this;\n\n if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.ERROR)) {\n // @ts-ignore\n Display.msg.apply(void 0, [\n name,\n ...data,\n this.name,\n this.color,\n Level.ERROR,\n this.fixedWidth,\n this.isProductionMode,\n ]);\n }\n return this;\n }\n\n private _info(name: string, ...data: any[]) {\n if (this.isMuted) return this;\n if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)\n && !Helpers.contain(this.allowed, Level.INFO)) return this;\n\n if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.INFO)) {\n // @ts-ignore\n Display.msg.apply(void 0, [\n name,\n ...data,\n this.name,\n this.color,\n Level.INFO,\n this.fixedWidth,\n this.isProductionMode,\n ]);\n }\n return this;\n }\n\n private _warn(name: string, ...data: any[]) {\n if (this.isMuted) return this;\n if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)\n && !Helpers.contain(this.allowed, Level.WARN)) return this;\n\n if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.WARN)) {\n // @ts-ignore\n Display.msg.apply(void 0, [\n name,\n ...data,\n this.name,\n this.color,\n Level.WARN,\n this.fixedWidth,\n this.isProductionMode,\n ])\n }\n return this;\n }\n\n\n /** @deprecated Use data(...)\n * @see data\n */\n d = (name: string, ...data: any[]) => this._data(name, data);\n\n /** @deprecated Use error(...)\n * @see error\n */\n\n er = (name: string, ...data: any[]) => this._error(name, data);\n\n /** @deprecated Use info(...)\n * @see info\n */\n i = (name: string, ...data: any[]) => this._info(name, data);\n\n /** @deprecated Use warn(...)\n * @see warn\n */\n w = (name: string, ...data: any[]) => this._warn(name, data);\n\n /**\n * Logs message and data with the level=data\n * @param message The message\n * @param otherParams Additional parameters\n */\n data = (message: string, ...otherParams: any[]) => { return this._data(message, otherParams); };\n\n /**\n * Logs message and data with the level=error\n * @param message The message\n * @param otherParams Additional parameters\n */\n error = (message: string, ...otherParams: any[]) => this._error(message, otherParams);\n\n /**\n * Logs message and data with the level=info\n * @param message The message\n * @param otherParams Additional parameters\n */\n info = (message: string, ...otherParams: any[]) => this._info(message, otherParams);\n\n /**\n * Logs message and data with the level=warn\n * @param message The message\n * @param otherParams Additional parameters\n */\n warn = (message: string, ...otherParams: any[]) => this._warn(message, otherParams);\n\n}\n","\n\nimport { Logger } from './logger';\nimport { Level, LevelOrder, LevelKey } from './level';\nimport { Helpers } from 'tnp-core/browser';\n\n\n\n\n\n\nexport class Log {\n //#region singleton\n private constructor() { }\n // @ts-ignore\n private static get instance(): any {\n // @ts-ignore\n if (!Log['_instance']) {\n // @ts-ignore\n Log['_instance'] = new Log();\n }\n // @ts-ignore\n return Log['_instance'];\n }\n //#endregion\n\n static Logger: (typeof Logger) = Logger;\n static create(name: string, ...level: Level[]): Logger {\n return Log.instance.create(name, ...level);\n }\n\n private static readonly consolelogfn = {};\n static disableLogs(level = Level.__NOTHING) {\n\n LevelOrder.reverse().find(a => {\n // @ts-ignore\n if (!this.consolelogfn[a]) {\n // @ts-ignore\n this.consolelogfn[a] = console[a];\n }\n // @ts-ignore\n console[a] = () => { };\n if (a === LevelKey[level]) {\n return true;\n }\n return false;\n });\n }\n\n static enableLogs() {\n\n LevelOrder.forEach(a => {\n // @ts-ignore\n console[a] = this.consolelogfn[a]\n });\n }\n\n private _logOnly = false;\n private _logModules = false;\n private isDevelopmentMode = true;\n private modeIsSet: boolean = false;\n private fixedWidth = 0;\n private instances: { [moduleName: string]: Logger } = {};\n private levels: Level[] = [];\n private modules: (string | RegExp)[] = [];\n\n //#region public api\n public setProductionMode() {\n if (this.modeIsSet) {\n this.modeIsSet = false\n throw '[ng2-logger] Production mode is already set';\n } else {\n this.modeIsSet = true;\n setTimeout(() => {\n\n if (this.modeIsSet && console !== void 0 && console.clear !== void 0) {\n\n console.clear();\n console.log = () => { };\n console.error = () => { };\n console.warn = () => { };\n console.info = () => { };\n }\n });\n\n this.isDevelopmentMode = false;\n }\n }\n\n public onlyModules(...modules: (string | RegExp)[]) {\n if (this._logModules) {\n throw '[ng2-logger] You should use funcion onlyModules only once';\n }\n if (!this._logModules) {\n this._logModules = true;\n }\n if (modules.length === 0) return;\n this.modules = modules;\n // console.log('only log this', Log.modules)\n this.muteAllOtherModules();\n }\n\n\n public onlyLevel(...level: Level[]) {\n if (this._logOnly) {\n throw '[ng2-logger] You should use funcion onlyLevel only once';\n }\n if (!this._logOnly) {\n this._logOnly = true;\n }\n\n this.levels = Array.isArray(level) ? level : [level];\n\n\n for (const logName in this.instances) {\n if (this.instances.hasOwnProperty(logName)) {\n const element = this.instances[logName];\n element['allowed'] = this.levels;\n }\n }\n }\n\n //#endregion\n\n private create(name: string, ...level: Level[]): Logger {\n let i: Logger;\n if (Array.isArray(this.levels) && this.levels.length > 0) {\n level = this.levels;\n }\n if (this.instances[name] === void 0) {\n i = new (Log.Logger)(\n name,\n getRandomColor(),\n this.isDevelopmentMode,\n level,\n this.isMutedModule(name),\n this.levels.length > 0 ? this.fixedWidth : void 0,\n // Log.levels.length > 0 ? Log.display : undefined,\n );\n this.instances[name] = i;\n } else {\n i = this.instances[name];\n }\n return i;\n }\n\n private isMutedModule(moduleName: string): boolean {\n if (this.modules.length == 0) return false;\n if (!Helpers.contain(this.modules, moduleName)) return true;\n return false;\n }\n private muteAllOtherModules() {\n for (var moduleName in this.instances) {\n if (!Helpers.contain(this.modules, moduleName))\n this.instances[moduleName].mute()\n }\n }\n\n}\n\n\nfunction getRandomColor(): string {\n\n\n let letters = '012345'.split('');\n let color = '#';\n color += letters[Math.round(Math.random() * 5)];\n letters = '0123456789ABCDEF'.split('');\n for (let i = 0; i < 5; i++) {\n color += letters[Math.round(Math.random() * 15)];\n }\n if (color === void 0) {\n return getRandomColor()\n };\n return color;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng2-logger.mjs","sources":["../../../tmp-libs-for-bundle/ng2-logger/projects/ng2-logger/src/lib/level.ts","../../../tmp-libs-for-bundle/ng2-logger/projects/ng2-logger/src/lib/display.ts","../../../tmp-libs-for-bundle/ng2-logger/projects/ng2-logger/src/lib/logger.ts","../../../tmp-libs-for-bundle/ng2-logger/projects/ng2-logger/src/lib/log.ts","../../../tmp-libs-for-bundle/ng2-logger/projects/ng2-logger/src/ng2-logger.ts"],"sourcesContent":["export enum Level {\n DATA,\n INFO,\n WARN,\n ERROR ,\n __NOTHING ,\n}\n\nexport const LevelKey = {\n [Level.DATA] : 'log',\n [Level.INFO] : 'info',\n [Level.WARN] : 'warn',\n [Level.ERROR] : 'error',\n [Level.__NOTHING] : '',\n}\n\nexport const LevelOrder = [\n LevelKey[Level.DATA],\n LevelKey[Level.INFO],\n LevelKey[Level.WARN],\n LevelKey[Level.ERROR],\n];\n","/* */\n/* */\n \nimport { Level } from './level';\nimport { Helpers } from 'tnp-core/browser';\nimport { consoleLog, displayParams } from './backend-logging';\n\n/* */\n/* */\n \n\nexport class Display {\n\n static msg(\n message: string | any,\n params: any[],\n moduleName: string,\n moduleColor: string,\n level: Level,\n moduleWidth: number | undefined,\n isProductionMode: boolean\n ) {\n if (isProductionMode) {\n return;\n };\n let color = 'gray';\n if (level === Level.INFO) { color = 'deepskyblue'; }\n if (level === Level.ERROR) { color = 'red'; }\n if (level === Level.WARN) { color = 'orange'; }\n\n if (moduleWidth) {\n const diff = moduleWidth - moduleName.length;\n if (diff > 0) {\n for (let i = 0; i < diff; i++) {\n moduleName += ' ';\n }\n }\n }\n\n if (Helpers.isBrowser\n/* */\n/* */\n \n ) {\n // @ts-ignore\n const isEdgeOrIe8orAbove = (document['documentMode'] || /Edge/.test(navigator.userAgent));\n\n if (isEdgeOrIe8orAbove) {\n if (typeof message === 'string') {\n let a1 = '[[ ' + moduleName + ' ]] ' + message + ' ';\n params.unshift(a1);\n } else {\n let a1 = '[[ ' + moduleName + ']] ';\n params.push(message);\n params.unshift(a1);\n }\n if (level === Level.INFO) {\n console.info.apply(console, params);\n } else if (level === Level.ERROR) {\n console.error.apply(console, params);\n } else if (level === Level.WARN) {\n console.warn.apply(console, params);\n } else {\n console.log.apply(console, params);\n }\n } else {\n if (typeof message === 'string') {\n let a1 = '%c ' + moduleName + ' %c ' + message + ' ';\n let a2 = 'background: ' + moduleColor + ';color:white; border: 1px solid ' + moduleColor + '; ';\n let a3 = 'border: 1px solid ' + color + '; ';\n params.unshift(a3);\n params.unshift(a2);\n params.unshift(a1);\n } else {\n let a1 = '%c ' + moduleName + ' ';\n let a2 = 'background: ' + moduleColor + ';color:white; border: 1px solid ' + color + '; ';\n params.push(message);\n params.unshift(a2);\n params.unshift(a1);\n }\n console.log.apply(console, params);\n }\n\n } if (Helpers.isNode) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n }\n\n}\n","import { Level } from './level';\nimport { Display } from './display';\nimport { Helpers } from 'tnp-core/browser';\n\nexport class Logger {\n\n private _level: Level;\n public setLevel(l: Level) {\n this._level = l;\n return this;\n }\n\n public get isProductionMode() {\n return !this.developmentMode;\n }\n\n public setProductionMode(productionMode: boolean) {\n this.developmentMode = !productionMode;\n return this;\n }\n\n public mute() {\n this.isMuted = true;\n return this;\n }\n\n constructor(\n private name: string,\n public color: string,\n private developmentMode: boolean,\n private allowed: Level[],\n private isMuted: boolean,\n public fixedWidth: number | undefined\n ) { }\n\n onlyWhen(expression: (() => boolean) | boolean) {\n if (typeof expression === 'function') {\n this.isMuted = !expression()\n } else if (typeof expression === 'boolean') {\n this.isMuted = !expression;\n }\n }\n\n private _data(name: string, ...data: any[]) {\n if (this.isMuted) return this;\n if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)\n && !Helpers.contain(this.allowed, Level.DATA)) return this;\n\n if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.DATA)) {\n // @ts-ignore\n Display.msg.apply(void 0, [\n name,\n ...data,\n this.name,\n this.color,\n Level.DATA,\n this.fixedWidth,\n this.isProductionMode,\n ]);\n }\n return this;\n }\n\n\n private _error(name: string, ...data: any[]) {\n if (this.isMuted) return this;\n if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)\n && !Helpers.contain(this.allowed, Level.ERROR)) return this;\n\n if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.ERROR)) {\n // @ts-ignore\n Display.msg.apply(void 0, [\n name,\n ...data,\n this.name,\n this.color,\n Level.ERROR,\n this.fixedWidth,\n this.isProductionMode,\n ]);\n }\n return this;\n }\n\n private _info(name: string, ...data: any[]) {\n if (this.isMuted) return this;\n if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)\n && !Helpers.contain(this.allowed, Level.INFO)) return this;\n\n if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.INFO)) {\n // @ts-ignore\n Display.msg.apply(void 0, [\n name,\n ...data,\n this.name,\n this.color,\n Level.INFO,\n this.fixedWidth,\n this.isProductionMode,\n ]);\n }\n return this;\n }\n\n private _warn(name: string, ...data: any[]) {\n if (this.isMuted) return this;\n if (this.allowed.length >= 1 && Helpers.contain(this.allowed, Level.__NOTHING)\n && !Helpers.contain(this.allowed, Level.WARN)) return this;\n\n if (this.allowed.length === 0 || Helpers.contain(this.allowed, Level.WARN)) {\n // @ts-ignore\n Display.msg.apply(void 0, [\n name,\n ...data,\n this.name,\n this.color,\n Level.WARN,\n this.fixedWidth,\n this.isProductionMode,\n ])\n }\n return this;\n }\n\n\n /** @deprecated Use data(...)\n * @see data\n */\n d = (name: string, ...data: any[]) => this._data(name, data);\n\n /** @deprecated Use error(...)\n * @see error\n */\n\n er = (name: string, ...data: any[]) => this._error(name, data);\n\n /** @deprecated Use info(...)\n * @see info\n */\n i = (name: string, ...data: any[]) => this._info(name, data);\n\n /** @deprecated Use warn(...)\n * @see warn\n */\n w = (name: string, ...data: any[]) => this._warn(name, data);\n\n /**\n * Logs message and data with the level=data\n * @param message The message\n * @param otherParams Additional parameters\n */\n data = (message: string, ...otherParams: any[]) => { return this._data(message, otherParams); };\n\n /**\n * Logs message and data with the level=error\n * @param message The message\n * @param otherParams Additional parameters\n */\n error = (message: string, ...otherParams: any[]) => this._error(message, otherParams);\n\n /**\n * Logs message and data with the level=info\n * @param message The message\n * @param otherParams Additional parameters\n */\n info = (message: string, ...otherParams: any[]) => this._info(message, otherParams);\n\n /**\n * Logs message and data with the level=warn\n * @param message The message\n * @param otherParams Additional parameters\n */\n warn = (message: string, ...otherParams: any[]) => this._warn(message, otherParams);\n\n}\n","import { Logger } from './logger';\nimport { Level, LevelOrder, LevelKey } from './level';\nimport { Helpers } from 'tnp-core/browser';\n/* */\n/* */\n \n\n\n/* */\n/* */\n/* */\n/* */\n \n\n\nexport class Log {\n //#region singleton\n private constructor() { }\n // @ts-ignore\n private static get instance(): any {\n // @ts-ignore\n if (!Log['_instance']) {\n // @ts-ignore\n Log['_instance'] = new Log();\n }\n // @ts-ignore\n return Log['_instance'];\n }\n //#endregion\n\n static Logger: (typeof Logger) = Logger;\n static create(name: string, ...level: Level[]): Logger {\n return Log.instance.create(name, ...level);\n }\n\n private static readonly consolelogfn = {};\n static disableLogs(level = Level.__NOTHING) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n LevelOrder.reverse().find(a => {\n // @ts-ignore\n if (!this.consolelogfn[a]) {\n // @ts-ignore\n this.consolelogfn[a] = console[a];\n }\n // @ts-ignore\n console[a] = () => { };\n if (a === LevelKey[level]) {\n return true;\n }\n return false;\n });\n }\n\n static enableLogs() {\n/* */\n/* */\n/* */\n/* */\n \n LevelOrder.forEach(a => {\n // @ts-ignore\n console[a] = this.consolelogfn[a]\n });\n }\n\n private _logOnly = false;\n private _logModules = false;\n private isDevelopmentMode = true;\n private modeIsSet: boolean = false;\n private fixedWidth = 0;\n private instances: { [moduleName: string]: Logger } = {};\n private levels: Level[] = [];\n private modules: (string | RegExp)[] = [];\n\n //#region public api\n public setProductionMode() {\n if (this.modeIsSet) {\n this.modeIsSet = false\n throw '[ng2-logger] Production mode is already set';\n } else {\n this.modeIsSet = true;\n setTimeout(() => {\n\n if (this.modeIsSet && console !== void 0 && console.clear !== void 0) {\n\n console.clear();\n console.log = () => { };\n console.error = () => { };\n console.warn = () => { };\n console.info = () => { };\n }\n });\n\n this.isDevelopmentMode = false;\n }\n }\n\n public onlyModules(...modules: (string | RegExp)[]) {\n if (this._logModules) {\n throw '[ng2-logger] You should use funcion onlyModules only once';\n }\n if (!this._logModules) {\n this._logModules = true;\n }\n if (modules.length === 0) return;\n this.modules = modules;\n // console.log('only log this', Log.modules)\n this.muteAllOtherModules();\n }\n\n\n public onlyLevel(...level: Level[]) {\n if (this._logOnly) {\n throw '[ng2-logger] You should use funcion onlyLevel only once';\n }\n if (!this._logOnly) {\n this._logOnly = true;\n }\n\n this.levels = Array.isArray(level) ? level : [level];\n\n\n for (const logName in this.instances) {\n if (this.instances.hasOwnProperty(logName)) {\n const element = this.instances[logName];\n element['allowed'] = this.levels;\n }\n }\n }\n\n //#endregion\n\n private create(name: string, ...level: Level[]): Logger {\n let i: Logger;\n if (Array.isArray(this.levels) && this.levels.length > 0) {\n level = this.levels;\n }\n if (this.instances[name] === void 0) {\n i = new (Log.Logger)(\n name,\n getRandomColor(),\n this.isDevelopmentMode,\n level,\n this.isMutedModule(name),\n this.levels.length > 0 ? this.fixedWidth : void 0,\n // Log.levels.length > 0 ? Log.display : undefined,\n );\n this.instances[name] = i;\n } else {\n i = this.instances[name];\n }\n return i;\n }\n\n private isMutedModule(moduleName: string): boolean {\n if (this.modules.length == 0) return false;\n if (!Helpers.contain(this.modules, moduleName)) return true;\n return false;\n }\n private muteAllOtherModules() {\n for (var moduleName in this.instances) {\n if (!Helpers.contain(this.modules, moduleName))\n this.instances[moduleName].mute()\n }\n }\n\n}\n\n\nfunction getRandomColor(): string {\n/* */\n/* */\n/* */\n/* */\n \n\n let letters = '012345'.split('');\n let color = '#';\n color += letters[Math.round(Math.random() * 5)];\n letters = '0123456789ABCDEF'.split('');\n for (let i = 0; i < 5; i++) {\n color += letters[Math.round(Math.random() * 15)];\n }\n if (color === void 0) {\n return getRandomColor()\n };\n return color;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import { Level } from './level';
2
2
  export declare function consoleLog(data: string, level: Level): void;
3
- export declare function displayParams(params: any[] | undefined, level: Level): void;
3
+ export declare function displayParams(params: any[], level: Level): void;
4
4
  export declare function istartedInVscode(): void;
@@ -1,13 +1,88 @@
1
+ /* */
2
+ /* */
3
+ /* */
4
+ /* */
5
+ /* */
6
+ /* */
1
7
  export function consoleLog(data, level) {
8
+ /* */
9
+ /* */
10
+ /* */
11
+ /* */
12
+ /* */
2
13
  }
3
14
  export function displayParams(params = [], level) {
15
+ /* */
16
+ /* */
17
+ /* */
18
+ /* */
19
+ /* */
20
+ /* */
21
+ /* */
22
+ /* */
23
+ /* */
24
+ /* */
4
25
  }
5
26
  function replace(out, match, char, color) {
27
+ /* */
28
+ /* */
29
+ /* */
30
+ /* */
31
+ /* */
32
+ /* */
33
+ /* */
34
+ /* */
35
+ /* */
36
+ /* */
6
37
  }
7
38
  function handleObjectData(param, level) {
39
+ /* */
40
+ /* */
41
+ /* */
42
+ /* */
43
+ /* */
44
+ /* */
45
+ /* */
46
+ /* */
47
+ /* */
48
+ /* */
49
+ /* */
50
+ /* */
51
+ /* */
52
+ /* */
53
+ /* */
54
+ /* */
55
+ /* */
56
+ /* */
57
+ /* */
58
+ /* */
59
+ /* */
60
+ /* */
61
+ /* */
62
+ /* */
63
+ /* */
64
+ /* */
8
65
  }
9
66
  export function istartedInVscode() {
67
+ /* */
68
+ /* */
69
+ /* */
70
+ /* */
71
+ /* */
72
+ /* */
73
+ /* */
74
+ /* */
75
+ /* */
76
+ /* */
77
+ /* */
10
78
  }
11
79
  function isObjectAfterStringify(s) {
80
+ /* */
81
+ /* */
82
+ /* */
83
+ /* */
84
+ /* */
85
+ /* */
86
+ /* */
12
87
  }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZC1sb2dnaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS9uZzItbG9nZ2VyL3Byb2plY3RzL25nMi1sb2dnZXIvc3JjL2xpYi9iYWNrZW5kLWxvZ2dpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsTUFBTSxVQUFVLFVBQVUsQ0FBQyxJQUFZLEVBQUUsS0FBWTtBQUVyRCxDQUFDO0FBR0QsTUFBTSxVQUFVLGFBQWEsQ0FBQyxTQUFnQixFQUFFLEVBQUUsS0FBWTtBQUU5RCxDQUFDO0FBRUQsU0FBUyxPQUFPLENBQUMsR0FBVyxFQUFFLEtBQWEsRUFBRSxJQUFZLEVBQUUsS0FBVTtBQUVyRSxDQUFDO0FBR0QsU0FBUyxnQkFBZ0IsQ0FBQyxLQUFhLEVBQUUsS0FBWTtBQUVyRCxDQUFDO0FBR0QsTUFBTSxVQUFVLGdCQUFnQjtBQUVoQyxDQUFDO0FBRUQsU0FBUyxzQkFBc0IsQ0FBQyxDQUFTO0FBRXpDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgTGV2ZWwgfSBmcm9tICcuL2xldmVsJztcblxuXG5cbmV4cG9ydCBmdW5jdGlvbiBjb25zb2xlTG9nKGRhdGE6IHN0cmluZywgbGV2ZWw6IExldmVsKSB7XG5cbn1cblxuXG5leHBvcnQgZnVuY3Rpb24gZGlzcGxheVBhcmFtcyhwYXJhbXM6IGFueVtdID0gW10sIGxldmVsOiBMZXZlbCkge1xuXG59XG5cbmZ1bmN0aW9uIHJlcGxhY2Uob3V0OiBzdHJpbmcsIG1hdGNoOiBSZWdFeHAsIGNoYXI6IFJlZ0V4cCwgY29sb3I6IGFueSkge1xuXG59XG5cblxuZnVuY3Rpb24gaGFuZGxlT2JqZWN0RGF0YShwYXJhbTogc3RyaW5nLCBsZXZlbDogTGV2ZWwpIHtcblxufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBpc3RhcnRlZEluVnNjb2RlKCkge1xuXG59XG5cbmZ1bmN0aW9uIGlzT2JqZWN0QWZ0ZXJTdHJpbmdpZnkoczogc3RyaW5nKSB7XG5cbn1cbiJdfQ==
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZC1sb2dnaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS9uZzItbG9nZ2VyL3Byb2plY3RzL25nMi1sb2dnZXIvc3JjL2xpYi9iYWNrZW5kLWxvZ2dpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsS0FBSztBQUNMLEtBQUs7QUFLTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBR0wsTUFBTSxVQUFVLFVBQVUsQ0FBQyxJQUFZLEVBQUUsS0FBWTtJQUNyRCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztBQUVMLENBQUM7QUFHRCxNQUFNLFVBQVUsYUFBYSxDQUFDLFNBQWdCLEVBQUUsRUFBRSxLQUFZO0lBQzlELEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7QUFFTCxDQUFDO0FBRUQsU0FBUyxPQUFPLENBQUMsR0FBVyxFQUFFLEtBQWEsRUFBRSxJQUFZLEVBQUUsS0FBVTtJQUNyRSxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0FBRUwsQ0FBQztBQUdELFNBQVMsZ0JBQWdCLENBQUMsS0FBYSxFQUFFLEtBQVk7SUFDckQsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7QUFFTCxDQUFDO0FBR0QsTUFBTSxVQUFVLGdCQUFnQjtJQUNoQyxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztBQUVMLENBQUM7QUFFRCxTQUFTLHNCQUFzQixDQUFDLENBQVM7SUFDekMsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztBQUVMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiAqL1xuLyogKi9cbiAgXG5cbmltcG9ydCB7IExldmVsIH0gZnJvbSAnLi9sZXZlbCc7XG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG5leHBvcnQgZnVuY3Rpb24gY29uc29sZUxvZyhkYXRhOiBzdHJpbmcsIGxldmVsOiBMZXZlbCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBkaXNwbGF5UGFyYW1zKHBhcmFtczogYW55W10gPSBbXSwgbGV2ZWw6IExldmVsKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbn1cblxuZnVuY3Rpb24gcmVwbGFjZShvdXQ6IHN0cmluZywgbWF0Y2g6IFJlZ0V4cCwgY2hhcjogUmVnRXhwLCBjb2xvcjogYW55KSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbn1cblxuXG5mdW5jdGlvbiBoYW5kbGVPYmplY3REYXRhKHBhcmFtOiBzdHJpbmcsIGxldmVsOiBMZXZlbCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBpc3RhcnRlZEluVnNjb2RlKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxufVxuXG5mdW5jdGlvbiBpc09iamVjdEFmdGVyU3RyaW5naWZ5KHM6IHN0cmluZykge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG59XG4iXX0=
@@ -1,5 +1,9 @@
1
+ /* */
2
+ /* */
1
3
  import { Level } from './level';
2
4
  import { Helpers } from 'tnp-core/browser';
5
+ /* */
6
+ /* */
3
7
  export class Display {
4
8
  static msg(message, params, moduleName, moduleColor, level, moduleWidth, isProductionMode) {
5
9
  if (isProductionMode) {
@@ -24,7 +28,10 @@ export class Display {
24
28
  }
25
29
  }
26
30
  }
27
- if (Helpers.isBrowser) {
31
+ if (Helpers.isBrowser
32
+ /* */
33
+ /* */
34
+ ) {
28
35
  // @ts-ignore
29
36
  const isEdgeOrIe8orAbove = (document['documentMode'] || /Edge/.test(navigator.userAgent));
30
37
  if (isEdgeOrIe8orAbove) {
@@ -70,7 +77,17 @@ export class Display {
70
77
  }
71
78
  }
72
79
  if (Helpers.isNode) {
80
+ /* */
81
+ /* */
82
+ /* */
83
+ /* */
84
+ /* */
85
+ /* */
86
+ /* */
87
+ /* */
88
+ /* */
89
+ /* */
73
90
  }
74
91
  }
75
92
  }
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGxheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUvbmcyLWxvZ2dlci9wcm9qZWN0cy9uZzItbG9nZ2VyL3NyYy9saWIvZGlzcGxheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUszQyxNQUFNLE9BQU8sT0FBTztJQUVsQixNQUFNLENBQUMsR0FBRyxDQUNSLE9BQXFCLEVBQ3JCLE1BQWEsRUFDYixVQUFrQixFQUNsQixXQUFtQixFQUNuQixLQUFZLEVBQ1osV0FBK0IsRUFDL0IsZ0JBQXlCO1FBRXpCLElBQUksZ0JBQWdCLEVBQUU7WUFDcEIsT0FBTztTQUNSO1FBQUEsQ0FBQztRQUNGLElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQztRQUNuQixJQUFJLEtBQUssS0FBSyxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQUUsS0FBSyxHQUFHLGFBQWEsQ0FBQztTQUFFO1FBQ3BELElBQUksS0FBSyxLQUFLLEtBQUssQ0FBQyxLQUFLLEVBQUU7WUFBRSxLQUFLLEdBQUcsS0FBSyxDQUFDO1NBQUU7UUFDN0MsSUFBSSxLQUFLLEtBQUssS0FBSyxDQUFDLElBQUksRUFBRTtZQUFFLEtBQUssR0FBRyxRQUFRLENBQUM7U0FBRTtRQUUvQyxJQUFJLFdBQVcsRUFBRTtZQUNmLE1BQU0sSUFBSSxHQUFHLFdBQVcsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO1lBQzdDLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRTtnQkFDWixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFO29CQUM3QixVQUFVLElBQUksR0FBRyxDQUFDO2lCQUNuQjthQUNGO1NBQ0Y7UUFFRCxJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBRW5CO1lBQ0EsYUFBYTtZQUNiLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUUxRixJQUFJLGtCQUFrQixFQUFFO2dCQUN0QixJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRTtvQkFDL0IsSUFBSSxFQUFFLEdBQUcsS0FBSyxHQUFHLFVBQVUsR0FBRyxNQUFNLEdBQUcsT0FBTyxHQUFHLEdBQUcsQ0FBQztvQkFDckQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztpQkFDcEI7cUJBQU07b0JBQ0wsSUFBSSxFQUFFLEdBQUcsS0FBSyxHQUFHLFVBQVUsR0FBRyxLQUFLLENBQUM7b0JBQ3BDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQ3JCLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7aUJBQ3BCO2dCQUNELElBQUksS0FBSyxLQUFLLEtBQUssQ0FBQyxJQUFJLEVBQUU7b0JBQ3hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztpQkFDckM7cUJBQU0sSUFBSSxLQUFLLEtBQUssS0FBSyxDQUFDLEtBQUssRUFBRTtvQkFDaEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2lCQUN0QztxQkFBTSxJQUFJLEtBQUssS0FBSyxLQUFLLENBQUMsSUFBSSxFQUFFO29CQUMvQixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7aUJBQ3JDO3FCQUFNO29CQUNMLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztpQkFDcEM7YUFDRjtpQkFBTTtnQkFDTCxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRTtvQkFDL0IsSUFBSSxFQUFFLEdBQUcsS0FBSyxHQUFHLFVBQVUsR0FBRyxPQUFPLEdBQUcsT0FBTyxHQUFHLEdBQUcsQ0FBQztvQkFDdEQsSUFBSSxFQUFFLEdBQUcsY0FBYyxHQUFHLFdBQVcsR0FBRyxrQ0FBa0MsR0FBRyxXQUFXLEdBQUcsSUFBSSxDQUFDO29CQUNoRyxJQUFJLEVBQUUsR0FBRyxvQkFBb0IsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDO29CQUM3QyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUNuQixNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUNuQixNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUNwQjtxQkFBTTtvQkFDTCxJQUFJLEVBQUUsR0FBRyxLQUFLLEdBQUcsVUFBVSxHQUFHLEdBQUcsQ0FBQztvQkFDbEMsSUFBSSxFQUFFLEdBQUcsY0FBYyxHQUFHLFdBQVcsR0FBRyxrQ0FBa0MsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDO29CQUMxRixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUNyQixNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUNuQixNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUNwQjtnQkFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7YUFDcEM7U0FFRjtRQUFDLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtTQUVyQjtJQUVILENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBMZXZlbCB9IGZyb20gJy4vbGV2ZWwnO1xuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgY29uc29sZUxvZywgZGlzcGxheVBhcmFtcyB9IGZyb20gJy4vYmFja2VuZC1sb2dnaW5nJztcblxuXG5cbmV4cG9ydCBjbGFzcyBEaXNwbGF5IHtcblxuICBzdGF0aWMgbXNnKFxuICAgIG1lc3NhZ2U6IHN0cmluZyB8IGFueSxcbiAgICBwYXJhbXM6IGFueVtdLFxuICAgIG1vZHVsZU5hbWU6IHN0cmluZyxcbiAgICBtb2R1bGVDb2xvcjogc3RyaW5nLFxuICAgIGxldmVsOiBMZXZlbCxcbiAgICBtb2R1bGVXaWR0aDogbnVtYmVyIHwgdW5kZWZpbmVkLFxuICAgIGlzUHJvZHVjdGlvbk1vZGU6IGJvb2xlYW5cbiAgKSB7XG4gICAgaWYgKGlzUHJvZHVjdGlvbk1vZGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9O1xuICAgIGxldCBjb2xvciA9ICdncmF5JztcbiAgICBpZiAobGV2ZWwgPT09IExldmVsLklORk8pIHsgY29sb3IgPSAnZGVlcHNreWJsdWUnOyB9XG4gICAgaWYgKGxldmVsID09PSBMZXZlbC5FUlJPUikgeyBjb2xvciA9ICdyZWQnOyB9XG4gICAgaWYgKGxldmVsID09PSBMZXZlbC5XQVJOKSB7IGNvbG9yID0gJ29yYW5nZSc7IH1cblxuICAgIGlmIChtb2R1bGVXaWR0aCkge1xuICAgICAgY29uc3QgZGlmZiA9IG1vZHVsZVdpZHRoIC0gbW9kdWxlTmFtZS5sZW5ndGg7XG4gICAgICBpZiAoZGlmZiA+IDApIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkaWZmOyBpKyspIHtcbiAgICAgICAgICBtb2R1bGVOYW1lICs9ICcgJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChIZWxwZXJzLmlzQnJvd3NlclxuXG4gICAgKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBjb25zdCBpc0VkZ2VPckllOG9yQWJvdmUgPSAoZG9jdW1lbnRbJ2RvY3VtZW50TW9kZSddIHx8IC9FZGdlLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKTtcblxuICAgICAgaWYgKGlzRWRnZU9ySWU4b3JBYm92ZSkge1xuICAgICAgICBpZiAodHlwZW9mIG1lc3NhZ2UgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgbGV0IGExID0gJ1tbICcgKyBtb2R1bGVOYW1lICsgJyBdXSAnICsgbWVzc2FnZSArICcgJztcbiAgICAgICAgICBwYXJhbXMudW5zaGlmdChhMSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbGV0IGExID0gJ1tbICcgKyBtb2R1bGVOYW1lICsgJ11dICc7XG4gICAgICAgICAgcGFyYW1zLnB1c2gobWVzc2FnZSk7XG4gICAgICAgICAgcGFyYW1zLnVuc2hpZnQoYTEpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsZXZlbCA9PT0gTGV2ZWwuSU5GTykge1xuICAgICAgICAgIGNvbnNvbGUuaW5mby5hcHBseShjb25zb2xlLCBwYXJhbXMpO1xuICAgICAgICB9IGVsc2UgaWYgKGxldmVsID09PSBMZXZlbC5FUlJPUikge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IuYXBwbHkoY29uc29sZSwgcGFyYW1zKTtcbiAgICAgICAgfSBlbHNlIGlmIChsZXZlbCA9PT0gTGV2ZWwuV0FSTikge1xuICAgICAgICAgIGNvbnNvbGUud2Fybi5hcHBseShjb25zb2xlLCBwYXJhbXMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnNvbGUubG9nLmFwcGx5KGNvbnNvbGUsIHBhcmFtcyk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0eXBlb2YgbWVzc2FnZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBsZXQgYTEgPSAnJWMgJyArIG1vZHVsZU5hbWUgKyAnICAlYyAnICsgbWVzc2FnZSArICcgJztcbiAgICAgICAgICBsZXQgYTIgPSAnYmFja2dyb3VuZDogJyArIG1vZHVsZUNvbG9yICsgJztjb2xvcjp3aGl0ZTsgYm9yZGVyOiAxcHggc29saWQgJyArIG1vZHVsZUNvbG9yICsgJzsgJztcbiAgICAgICAgICBsZXQgYTMgPSAnYm9yZGVyOiAxcHggc29saWQgJyArIGNvbG9yICsgJzsgJztcbiAgICAgICAgICBwYXJhbXMudW5zaGlmdChhMyk7XG4gICAgICAgICAgcGFyYW1zLnVuc2hpZnQoYTIpO1xuICAgICAgICAgIHBhcmFtcy51bnNoaWZ0KGExKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsZXQgYTEgPSAnJWMgJyArIG1vZHVsZU5hbWUgKyAnICc7XG4gICAgICAgICAgbGV0IGEyID0gJ2JhY2tncm91bmQ6ICcgKyBtb2R1bGVDb2xvciArICc7Y29sb3I6d2hpdGU7IGJvcmRlcjogMXB4IHNvbGlkICcgKyBjb2xvciArICc7ICc7XG4gICAgICAgICAgcGFyYW1zLnB1c2gobWVzc2FnZSk7XG4gICAgICAgICAgcGFyYW1zLnVuc2hpZnQoYTIpO1xuICAgICAgICAgIHBhcmFtcy51bnNoaWZ0KGExKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zb2xlLmxvZy5hcHBseShjb25zb2xlLCBwYXJhbXMpO1xuICAgICAgfVxuXG4gICAgfSBpZiAoSGVscGVycy5pc05vZGUpIHtcblxuICAgIH1cblxuICB9XG5cbn1cbiJdfQ==
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGxheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUvbmcyLWxvZ2dlci9wcm9qZWN0cy9uZzItbG9nZ2VyL3NyYy9saWIvZGlzcGxheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxLQUFLO0FBQ0wsS0FBSztBQUVMLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDaEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRzNDLEtBQUs7QUFDTCxLQUFLO0FBR0wsTUFBTSxPQUFPLE9BQU87SUFFbEIsTUFBTSxDQUFDLEdBQUcsQ0FDUixPQUFxQixFQUNyQixNQUFhLEVBQ2IsVUFBa0IsRUFDbEIsV0FBbUIsRUFDbkIsS0FBWSxFQUNaLFdBQStCLEVBQy9CLGdCQUF5QjtRQUV6QixJQUFJLGdCQUFnQixFQUFFO1lBQ3BCLE9BQU87U0FDUjtRQUFBLENBQUM7UUFDRixJQUFJLEtBQUssR0FBRyxNQUFNLENBQUM7UUFDbkIsSUFBSSxLQUFLLEtBQUssS0FBSyxDQUFDLElBQUksRUFBRTtZQUFFLEtBQUssR0FBRyxhQUFhLENBQUM7U0FBRTtRQUNwRCxJQUFJLEtBQUssS0FBSyxLQUFLLENBQUMsS0FBSyxFQUFFO1lBQUUsS0FBSyxHQUFHLEtBQUssQ0FBQztTQUFFO1FBQzdDLElBQUksS0FBSyxLQUFLLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFBRSxLQUFLLEdBQUcsUUFBUSxDQUFDO1NBQUU7UUFFL0MsSUFBSSxXQUFXLEVBQUU7WUFDZixNQUFNLElBQUksR0FBRyxXQUFXLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztZQUM3QyxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUU7Z0JBQ1osS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRTtvQkFDN0IsVUFBVSxJQUFJLEdBQUcs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dCI6WyIvKiAqL1xuLyogKi9cbiAgXG5pbXBvcnQgeyBMZXZlbCB9IGZyb20gJy4vbGV2ZWwnO1xuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgY29uc29sZUxvZywgZGlzcGxheVBhcmFtcyB9IGZyb20gJy4vYmFja2VuZC1sb2dnaW5nJztcblxuLyogKi9cbi8qICovXG4gIFxuXG5leHBvcnQgY2xhc3MgRGlzcGxheSB7XG5cbiAgc3RhdGljIG1zZyhcbiAgICBtZXNzYWdlOiBzdHJpbmcgfCBhbnksXG4gICAgcGFyYW1zOiBhbnlbXSxcbiAgICBtb2R1bGVOYW1lOiBzdHJpbmcsXG4gICAgbW9kdWxlQ29sb3I6IHN0cmluZyxcbiAgICBsZXZlbDogTGV2ZWwsXG4gICAgbW9kdWxlV2lkdGg6IG51bWJlciB8IHVuZGVmaW5lZCxcbiAgICBpc1Byb2R1Y3Rpb25Nb2RlOiBib29sZWFuXG4gICkge1xuICAgIGlmIChpc1Byb2R1Y3Rpb25Nb2RlKSB7XG4gICAgICByZXR1cm47XG4gICAgfTtcbiAgICBsZXQgY29sb3IgPSAnZ3JheSc7XG4gICAgaWYgKGxldmVsID09PSBMZXZlbC5JTkZPKSB7IGNvbG9yID0gJ2RlZXBza3libHVlJzsgfVxuICAgIGlmIChsZXZlbCA9PT0gTGV2ZWwuRVJST1IpIHsgY29sb3IgPSAncmVkJzsgfVxuICAgIGlmIChsZXZlbCA9PT0gTGV2ZWwuV0FSTikgeyBjb2xvciA9ICdvcmFuZ2UnOyB9XG5cbiAgICBpZiAobW9kdWxlV2lkdGgpIHtcbiAgICAgIGNvbnN0IGRpZmYgPSBtb2R1bGVXaWR0aCAtIG1vZHVsZU5hbWUubGVuZ3RoO1xuICAgICAgaWYgKGRpZmYgPiAwKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGlmZjsgaSsrKSB7XG4gICAgICAgICAgbW9kdWxlTmFtZSArPSAnICc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoSGVscGVycy5pc0Jyb3dzZXJcbi8qICovXG4vKiAqL1xuICBcbiAgICApIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGNvbnN0IGlzRWRnZU9ySWU4b3JBYm92ZSA9IChkb2N1bWVudFsnZG9jdW1lbnRNb2RlJ10gfHwgL0VkZ2UvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkpO1xuXG4gICAgICBpZiAoaXNFZGdlT3JJZThvckFib3ZlKSB7XG4gICAgICAgIGlmICh0eXBlb2YgbWVzc2FnZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBsZXQgYTEgPSAnW1sgJyArIG1vZHVsZU5hbWUgKyAnIF1dICcgKyBtZXNzYWdlICsgJyAnO1xuICAgICAgICAgIHBhcmFtcy51bnNoaWZ0KGExKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsZXQgYTEgPSAnW1sgJyArIG1vZHVsZU5hbWUgKyAnXV0gJztcbiAgICAgICAgICBwYXJhbXMucHVzaChtZXNzYWdlKTtcbiAgICAgICAgICBwYXJhbXMudW5zaGlmdChhMSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGxldmVsID09PSBMZXZlbC5JTkZPKSB7XG4gICAgICAgICAgY29uc29sZS5pbmZvLmFwcGx5KGNvbnNvbGUsIHBhcmFtcyk7XG4gICAgICAgIH0gZWxzZSBpZiAobGV2ZWwgPT09IExldmVsLkVSUk9SKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvci5hcHBseShjb25zb2xlLCBwYXJhbXMpO1xuICAgICAgICB9IGVsc2UgaWYgKGxldmVsID09PSBMZXZlbC5XQVJOKSB7XG4gICAgICAgICAgY29uc29sZS53YXJuLmFwcGx5KGNvbnNvbGUsIHBhcmFtcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc29sZS5sb2cuYXBwbHkoY29uc29sZSwgcGFyYW1zKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHR5cGVvZiBtZXNzYWdlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIGxldCBhMSA9ICclYyAnICsgbW9kdWxlTmFtZSArICcgICVjICcgKyBtZXNzYWdlICsgJyAnO1xuICAgICAgICAgIGxldCBhMiA9ICdiYWNrZ3JvdW5kOiAnICsgbW9kdWxlQ29sb3IgKyAnO2NvbG9yOndoaXRlOyBib3JkZXI6IDFweCBzb2xpZCAnICsgbW9kdWxlQ29sb3IgKyAnOyAnO1xuICAgICAgICAgIGxldCBhMyA9ICdib3JkZXI6IDFweCBzb2xpZCAnICsgY29sb3IgKyAnOyAnO1xuICAgICAgICAgIHBhcmFtcy51bnNoaWZ0KGEzKTtcbiAgICAgICAgICBwYXJhbXMudW5zaGlmdChhMik7XG4gICAgICAgICAgcGFyYW1zLnVuc2hpZnQoYTEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGxldCBhMSA9ICclYyAnICsgbW9kdWxlTmFtZSArICcgJztcbiAgICAgICAgICBsZXQgYTIgPSAnYmFja2dyb3VuZDogJyArIG1vZHVsZUNvbG9yICsgJztjb2xvcjp3aGl0ZTsgYm9yZGVyOiAxcHggc29saWQgJyArIGNvbG9yICsgJzsgJztcbiAgICAgICAgICBwYXJhbXMucHVzaChtZXNzYWdlKTtcbiAgICAgICAgICBwYXJhbXMudW5zaGlmdChhMik7XG4gICAgICAgICAgcGFyYW1zLnVuc2hpZnQoYTEpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnNvbGUubG9nLmFwcGx5KGNvbnNvbGUsIHBhcmFtcyk7XG4gICAgICB9XG5cbiAgICB9IGlmIChIZWxwZXJzLmlzTm9kZSkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gICAgfVxuXG4gIH1cblxufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export { Helpers } from 'tnp-config/browser';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUvbmcyLWxvZ2dlci9wcm9qZWN0cy9uZzItbG9nZ2VyL3NyYy9saWIvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuZXhwb3J0IHsgSGVscGVycyB9IGZyb20gJ3RucC1jb25maWcvYnJvd3Nlcic7XG5cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUvbmcyLWxvZ2dlci9wcm9qZWN0cy9uZzItbG9nZ2VyL3NyYy9saWIvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBIZWxwZXJzIH0gZnJvbSAndG5wLWNvbmZpZy9icm93c2VyJztcblxuIl19
@@ -3,4 +3,4 @@ export * from './level';
3
3
  export * from './helpers';
4
4
  export * from './logger';
5
5
  export * from './display';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL25nMi1sb2dnZXIvcHJvamVjdHMvbmcyLWxvZ2dlci9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGNBQWMsT0FBTyxDQUFDO0FBQ3RCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmV4cG9ydCAqIGZyb20gJy4vbG9nJztcbmV4cG9ydCAqIGZyb20gJy4vbGV2ZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9oZWxwZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vbG9nZ2VyJztcbmV4cG9ydCAqIGZyb20gJy4vZGlzcGxheSc7XG4iXX0=
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL25nMi1sb2dnZXIvcHJvamVjdHMvbmcyLWxvZ2dlci9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsT0FBTyxDQUFDO0FBQ3RCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9sb2cnO1xuZXhwb3J0ICogZnJvbSAnLi9sZXZlbCc7XG5leHBvcnQgKiBmcm9tICcuL2hlbHBlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9sb2dnZXInO1xuZXhwb3J0ICogZnJvbSAnLi9kaXNwbGF5JztcbiJdfQ==
@@ -19,4 +19,4 @@ export const LevelOrder = [
19
19
  LevelKey[Level.WARN],
20
20
  LevelKey[Level.ERROR],
21
21
  ];
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGV2ZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL25nMi1sb2dnZXIvcHJvamVjdHMvbmcyLWxvZ2dlci9zcmMvbGliL2xldmVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBTixJQUFZLEtBTVg7QUFORCxXQUFZLEtBQUs7SUFDYixpQ0FBSSxDQUFBO0lBQ0osaUNBQUksQ0FBQTtJQUNKLGlDQUFJLENBQUE7SUFDSixtQ0FBSyxDQUFBO0lBQ0wsMkNBQVMsQ0FBQTtBQUNiLENBQUMsRUFOVyxLQUFLLEtBQUwsS0FBSyxRQU1oQjtBQUVELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRztJQUN0QixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRyxLQUFLO0lBQ3BCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFHLE1BQU07SUFDckIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUcsTUFBTTtJQUNyQixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRyxPQUFPO0lBQ3ZCLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFHLEVBQUU7Q0FDdkIsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztJQUNwQixRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztJQUNwQixRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztJQUNwQixRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztDQUN0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmV4cG9ydCBlbnVtIExldmVsIHtcbiAgICBEQVRBLFxuICAgIElORk8sXG4gICAgV0FSTixcbiAgICBFUlJPUiAsXG4gICAgX19OT1RISU5HICxcbn1cblxuZXhwb3J0IGNvbnN0IExldmVsS2V5ID0ge1xuICBbTGV2ZWwuREFUQV0gOiAnbG9nJyxcbiAgW0xldmVsLklORk9dIDogJ2luZm8nLFxuICBbTGV2ZWwuV0FSTl0gOiAnd2FybicsXG4gIFtMZXZlbC5FUlJPUl0gOiAnZXJyb3InLFxuICBbTGV2ZWwuX19OT1RISU5HXSA6ICcnLFxufVxuXG5leHBvcnQgY29uc3QgTGV2ZWxPcmRlciA9IFtcbiAgTGV2ZWxLZXlbTGV2ZWwuREFUQV0sXG4gIExldmVsS2V5W0xldmVsLklORk9dLFxuICBMZXZlbEtleVtMZXZlbC5XQVJOXSxcbiAgTGV2ZWxLZXlbTGV2ZWwuRVJST1JdLFxuXTtcbiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGV2ZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL25nMi1sb2dnZXIvcHJvamVjdHMvbmcyLWxvZ2dlci9zcmMvbGliL2xldmVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLEtBTVg7QUFORCxXQUFZLEtBQUs7SUFDYixpQ0FBSSxDQUFBO0lBQ0osaUNBQUksQ0FBQTtJQUNKLGlDQUFJLENBQUE7SUFDSixtQ0FBSyxDQUFBO0lBQ0wsMkNBQVMsQ0FBQTtBQUNiLENBQUMsRUFOVyxLQUFLLEtBQUwsS0FBSyxRQU1oQjtBQUVELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRztJQUN0QixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRyxLQUFLO0lBQ3BCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFHLE1BQU07SUFDckIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUcsTUFBTTtJQUNyQixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRyxPQUFPO0lBQ3ZCLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFHLEVBQUU7Q0FDdkIsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztJQUNwQixRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztJQUNwQixRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztJQUNwQixRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztDQUN0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gTGV2ZWwge1xuICAgIERBVEEsXG4gICAgSU5GTyxcbiAgICBXQVJOLFxuICAgIEVSUk9SICxcbiAgICBfX05PVEhJTkcgLFxufVxuXG5leHBvcnQgY29uc3QgTGV2ZWxLZXkgPSB7XG4gIFtMZXZlbC5EQVRBXSA6ICdsb2cnLFxuICBbTGV2ZWwuSU5GT10gOiAnaW5mbycsXG4gIFtMZXZlbC5XQVJOXSA6ICd3YXJuJyxcbiAgW0xldmVsLkVSUk9SXSA6ICdlcnJvcicsXG4gIFtMZXZlbC5fX05PVEhJTkddIDogJycsXG59XG5cbmV4cG9ydCBjb25zdCBMZXZlbE9yZGVyID0gW1xuICBMZXZlbEtleVtMZXZlbC5EQVRBXSxcbiAgTGV2ZWxLZXlbTGV2ZWwuSU5GT10sXG4gIExldmVsS2V5W0xldmVsLldBUk5dLFxuICBMZXZlbEtleVtMZXZlbC5FUlJPUl0sXG5dO1xuIl19
@@ -1,6 +1,12 @@
1
1
  import { Logger } from './logger';
2
2
  import { Level, LevelOrder, LevelKey } from './level';
3
3
  import { Helpers } from 'tnp-core/browser';
4
+ /* */
5
+ /* */
6
+ /* */
7
+ /* */
8
+ /* */
9
+ /* */
4
10
  export class Log {
5
11
  //#region singleton
6
12
  constructor() {
@@ -27,6 +33,13 @@ export class Log {
27
33
  return Log.instance.create(name, ...level);
28
34
  }
29
35
  static disableLogs(level = Level.__NOTHING) {
36
+ /* */
37
+ /* */
38
+ /* */
39
+ /* */
40
+ /* */
41
+ /* */
42
+ /* */
30
43
  LevelOrder.reverse().find(a => {
31
44
  // @ts-ignore
32
45
  if (!this.consolelogfn[a]) {
@@ -42,6 +55,10 @@ export class Log {
42
55
  });
43
56
  }
44
57
  static enableLogs() {
58
+ /* */
59
+ /* */
60
+ /* */
61
+ /* */
45
62
  LevelOrder.forEach(a => {
46
63
  // @ts-ignore
47
64
  console[a] = this.consolelogfn[a];
@@ -128,6 +145,10 @@ export class Log {
128
145
  Log.Logger = Logger;
129
146
  Log.consolelogfn = {};
130
147
  function getRandomColor() {
148
+ /* */
149
+ /* */
150
+ /* */
151
+ /* */
131
152
  let letters = '012345'.split('');
132
153
  let color = '#';
133
154
  color += letters[Math.round(Math.random() * 5)];
@@ -141,4 +162,4 @@ function getRandomColor() {
141
162
  ;
142
163
  return color;
143
164
  }
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS9uZzItbG9nZ2VyL3Byb2plY3RzL25nMi1sb2dnZXIvc3JjL2xpYi9sb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBTzNDLE1BQU0sT0FBTyxHQUFHO0lBQ2QsbUJBQW1CO0lBQ25CO1FBNENRLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsc0JBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsZUFBVSxHQUFHLENBQUMsQ0FBQztRQUNmLGNBQVMsR0FBcUMsRUFBRSxDQUFDO1FBQ2pELFdBQU0sR0FBWSxFQUFFLENBQUM7UUFDckIsWUFBTyxHQUF3QixFQUFFLENBQUM7SUFuRGxCLENBQUM7SUFDekIsYUFBYTtJQUNMLE1BQU0sS0FBSyxRQUFRO1FBQ3pCLGFBQWE7UUFDYixJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ3JCLGFBQWE7WUFDYixHQUFHLENBQUMsV0FBVyxDQUFDLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztTQUM5QjtRQUNELGFBQWE7UUFDYixPQUFPLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBSUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFZLEVBQUUsR0FBRyxLQUFjO1FBQzNDLE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJ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QUUsQ0FBQTtLQUN4QjtJQUFBLENBQUM7SUFDRixPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgTG9nZ2VyIH0gZnJvbSAnLi9sb2dnZXInO1xuaW1wb3J0IHsgTGV2ZWwsIExldmVsT3JkZXIsIExldmVsS2V5IH0gZnJvbSAnLi9sZXZlbCc7XG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5cblxuXG5cblxuXG5leHBvcnQgY2xhc3MgTG9nIHtcbiAgLy8jcmVnaW9uIHNpbmdsZXRvblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKCkgeyB9XG4gIC8vIEB0cy1pZ25vcmVcbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0IGluc3RhbmNlKCk6IGFueSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGlmICghTG9nWydfaW5zdGFuY2UnXSkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgTG9nWydfaW5zdGFuY2UnXSA9IG5ldyBMb2coKTtcbiAgICB9XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHJldHVybiBMb2dbJ19pbnN0YW5jZSddO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIHN0YXRpYyBMb2dnZXI6ICh0eXBlb2YgTG9nZ2VyKSA9IExvZ2dlcjtcbiAgc3RhdGljIGNyZWF0ZShuYW1lOiBzdHJpbmcsIC4uLmxldmVsOiBMZXZlbFtdKTogTG9nZ2VyIHtcbiAgICByZXR1cm4gTG9nLmluc3RhbmNlLmNyZWF0ZShuYW1lLCAuLi5sZXZlbCk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBjb25zb2xlbG9nZm4gPSB7fTtcbiAgc3RhdGljIGRpc2FibGVMb2dzKGxldmVsID0gTGV2ZWwuX19OT1RISU5HKSB7XG5cbiAgICBMZXZlbE9yZGVyLnJldmVyc2UoKS5maW5kKGEgPT4ge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgaWYgKCF0aGlzLmNvbnNvbGVsb2dmblthXSkge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHRoaXMuY29uc29sZWxvZ2ZuW2FdID0gY29uc29sZVthXTtcbiAgICAgIH1cbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGNvbnNvbGVbYV0gPSAoKSA9PiB7IH07XG4gICAgICBpZiAoYSA9PT0gTGV2ZWxLZXlbbGV2ZWxdKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIGVuYWJsZUxvZ3MoKSB7XG5cbiAgICBMZXZlbE9yZGVyLmZvckVhY2goYSA9PiB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBjb25zb2xlW2FdID0gdGhpcy5jb25zb2xlbG9nZm5bYV1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2xvZ09ubHkgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfbG9nTW9kdWxlcyA9IGZhbHNlO1xuICBwcml2YXRlIGlzRGV2ZWxvcG1lbnRNb2RlID0gdHJ1ZTtcbiAgcHJpdmF0ZSBtb2RlSXNTZXQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBmaXhlZFdpZHRoID0gMDtcbiAgcHJpdmF0ZSBpbnN0YW5jZXM6IHsgW21vZHVsZU5hbWU6IHN0cmluZ106IExvZ2dlciB9ID0ge307XG4gIHByaXZhdGUgbGV2ZWxzOiBMZXZlbFtdID0gW107XG4gIHByaXZhdGUgbW9kdWxlczogKHN0cmluZyB8IFJlZ0V4cClbXSA9IFtdO1xuXG4gIC8vI3JlZ2lvbiBwdWJsaWMgYXBpXG4gIHB1YmxpYyBzZXRQcm9kdWN0aW9uTW9kZSgpIHtcbiAgICBpZiAodGhpcy5tb2RlSXNTZXQpIHtcbiAgICAgIHRoaXMubW9kZUlzU2V0ID0gZmFsc2VcbiAgICAgIHRocm93ICdbbmcyLWxvZ2dlcl0gUHJvZHVjdGlvbiBtb2RlIGlzIGFscmVhZHkgc2V0JztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tb2RlSXNTZXQgPSB0cnVlO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG5cbiAgICAgICAgaWYgKHRoaXMubW9kZUlzU2V0ICYmIGNvbnNvbGUgIT09IHZvaWQgMCAmJiBjb25zb2xlLmNsZWFyICE9PSB2b2lkIDApIHtcblxuICAgICAgICAgIGNvbnNvbGUuY2xlYXIoKTtcbiAgICAgICAgICBjb25zb2xlLmxvZyA9ICgpID0+IHsgfTtcbiAgICAgICAgICBjb25zb2xlLmVycm9yID0gKCkgPT4geyB9O1xuICAgICAgICAgIGNvbnNvbGUud2FybiA9ICgpID0+IHsgfTtcbiAgICAgICAgICBjb25zb2xlLmluZm8gPSAoKSA9PiB7IH07XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLmlzRGV2ZWxvcG1lbnRNb2RlID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9ubHlNb2R1bGVzKC4uLm1vZHVsZXM6IChzdHJpbmcgfCBSZWdFeHApW10pIHtcbiAgICBpZiAodGhpcy5fbG9nTW9kdWxlcykge1xuICAgICAgdGhyb3cgJ1tuZzItbG9nZ2VyXSBZb3Ugc2hvdWxkIHVzZSBmdW5jaW9uIG9ubHlNb2R1bGVzIG9ubHkgb25jZSc7XG4gICAgfVxuICAgIGlmICghdGhpcy5fbG9nTW9kdWxlcykge1xuICAgICAgdGhpcy5fbG9nTW9kdWxlcyA9IHRydWU7XG4gICAgfVxuICAgIGlmIChtb2R1bGVzLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xuICAgIHRoaXMubW9kdWxlcyA9IG1vZHVsZXM7XG4gICAgLy8gY29uc29sZS5sb2coJ29ubHkgbG9nIHRoaXMnLCBMb2cubW9kdWxlcylcbiAgICB0aGlzLm11dGVBbGxPdGhlck1vZHVsZXMoKTtcbiAgfVxuXG5cbiAgcHVibGljIG9ubHlMZXZlbCguLi5sZXZlbDogTGV2ZWxbXSkge1xuICAgIGlmICh0aGlzLl9sb2dPbmx5KSB7XG4gICAgICB0aHJvdyAnW25nMi1sb2dnZXJdIFlvdSBzaG91bGQgdXNlIGZ1bmNpb24gb25seUxldmVsIG9ubHkgb25jZSc7XG4gICAgfVxuICAgIGlmICghdGhpcy5fbG9nT25seSkge1xuICAgICAgdGhpcy5fbG9nT25seSA9IHRydWU7XG4gICAgfVxuXG4gICAgdGhpcy5sZXZlbHMgPSBBcnJheS5pc0FycmF5KGxldmVsKSA/IGxldmVsIDogW2xldmVsXTtcblxuXG4gICAgZm9yIChjb25zdCBsb2dOYW1lIGluIHRoaXMuaW5zdGFuY2VzKSB7XG4gICAgICBpZiAodGhpcy5pbnN0YW5jZXMuaGFzT3duUHJvcGVydHkobG9nTmFtZSkpIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuaW5zdGFuY2VzW2xvZ05hbWVdO1xuICAgICAgICBlbGVtZW50WydhbGxvd2VkJ10gPSB0aGlzLmxldmVscztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyNlbmRyZWdpb25cblxuICBwcml2YXRlIGNyZWF0ZShuYW1lOiBzdHJpbmcsIC4uLmxldmVsOiBMZXZlbFtdKTogTG9nZ2VyIHtcbiAgICBsZXQgaTogTG9nZ2VyO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMubGV2ZWxzKSAmJiB0aGlzLmxldmVscy5sZW5ndGggPiAwKSB7XG4gICAgICBsZXZlbCA9IHRoaXMubGV2ZWxzO1xuICAgIH1cbiAgICBpZiAodGhpcy5pbnN0YW5jZXNbbmFtZV0gPT09IHZvaWQgMCkge1xuICAgICAgaSA9IG5ldyAoTG9nLkxvZ2dlcikoXG4gICAgICAgIG5hbWUsXG4gICAgICAgIGdldFJhbmRvbUNvbG9yKCksXG4gICAgICAgIHRoaXMuaXNEZXZlbG9wbWVudE1vZGUsXG4gICAgICAgIGxldmVsLFxuICAgICAgICB0aGlzLmlzTXV0ZWRNb2R1bGUobmFtZSksXG4gICAgICAgIHRoaXMubGV2ZWxzLmxlbmd0aCA+IDAgPyB0aGlzLmZpeGVkV2lkdGggOiB2b2lkIDAsXG4gICAgICAgIC8vIExvZy5sZXZlbHMubGVuZ3RoID4gMCA/IExvZy5kaXNwbGF5IDogdW5kZWZpbmVkLFxuICAgICAgKTtcbiAgICAgIHRoaXMuaW5zdGFuY2VzW25hbWVdID0gaTtcbiAgICB9IGVsc2Uge1xuICAgICAgaSA9IHRoaXMuaW5zdGFuY2VzW25hbWVdO1xuICAgIH1cbiAgICByZXR1cm4gaTtcbiAgfVxuXG4gIHByaXZhdGUgaXNNdXRlZE1vZHVsZShtb2R1bGVOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5tb2R1bGVzLmxlbmd0aCA9PSAwKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKCFIZWxwZXJzLmNvbnRhaW4odGhpcy5tb2R1bGVzLCBtb2R1bGVOYW1lKSkgcmV0dXJuIHRydWU7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHByaXZhdGUgbXV0ZUFsbE90aGVyTW9kdWxlcygpIHtcbiAgICBmb3IgKHZhciBtb2R1bGVOYW1lIGluIHRoaXMuaW5zdGFuY2VzKSB7XG4gICAgICBpZiAoIUhlbHBlcnMuY29udGFpbih0aGlzLm1vZHVsZXMsIG1vZHVsZU5hbWUpKVxuICAgICAgICB0aGlzLmluc3RhbmNlc1ttb2R1bGVOYW1lXS5tdXRlKClcbiAgICB9XG4gIH1cblxufVxuXG5cbmZ1bmN0aW9uIGdldFJhbmRvbUNvbG9yKCk6IHN0cmluZyB7XG5cblxuICBsZXQgbGV0dGVycyA9ICcwMTIzNDUnLnNwbGl0KCcnKTtcbiAgbGV0IGNvbG9yID0gJyMnO1xuICBjb2xvciArPSBsZXR0ZXJzW01hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIDUpXTtcbiAgbGV0dGVycyA9ICcwMTIzNDU2Nzg5QUJDREVGJy5zcGxpdCgnJyk7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgNTsgaSsrKSB7XG4gICAgY29sb3IgKz0gbGV0dGVyc1tNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiAxNSldO1xuICB9XG4gIGlmIChjb2xvciA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIGdldFJhbmRvbUNvbG9yKClcbiAgfTtcbiAgcmV0dXJuIGNvbG9yO1xufVxuIl19
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS9uZzItbG9nZ2VyL3Byb2plY3RzL25nMi1sb2dnZXIvc3JjL2xpYi9sb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzNDLEtBQUs7QUFDTCxLQUFLO0FBSUwsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUlMLE1BQU0sT0FBTyxHQUFHO0lBQ2QsbUJBQW1CO0lBQ25CO1FBdURRLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsc0JBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsZUFBVSxHQUFHLENBQUMsQ0FBQztRQUNmLGNBQVMsR0FBcUMsRUFBRSxDQUFDO1FBQ2pELFdBQU0sR0FBWSxFQUFFLENBQUM7UUFDckIsWUFBTyxHQUF3QixFQUFFLENBQUM7SUE5RGxCLENBQUM7SUFDekIsYUFBYTtJQUNMLE1BQU0sS0FBSyxRQUFRO1FBQ3pCLGFBQWE7UUFDYixJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ3JCLGFBQWE7WUFDYixHQUFHLENBQUMsV0FBVyxDQUFDLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztTQUM5QjtRQUNELGFBQWE7UUFDYixPQUFPLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBSUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFZLEVBQUUsR0FBRyxLQUFjO1FBQzNDLE9BQU8sR0FBRyxDQUFDLFFB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LElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQzFCLEtBQUssSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztLQUNsRDtJQUNELElBQUksS0FBSyxLQUFLLEtBQUssQ0FBQyxFQUFFO1FBQ3BCLE9BQU8sY0FBYyxFQUFFLENBQUE7S0FDeEI7SUFBQSxDQUFDO0lBQ0YsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9nZ2VyIH0gZnJvbSAnLi9sb2dnZXInO1xuaW1wb3J0IHsgTGV2ZWwsIExldmVsT3JkZXIsIExldmVsS2V5IH0gZnJvbSAnLi9sZXZlbCc7XG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG4vKiAqL1xuLyogKi9cbiAgXG5cblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cblxuZXhwb3J0IGNsYXNzIExvZyB7XG4gIC8vI3JlZ2lvbiBzaW5nbGV0b25cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcigpIHsgfVxuICAvLyBAdHMtaWdub3JlXG4gIHByaXZhdGUgc3RhdGljIGdldCBpbnN0YW5jZSgpOiBhbnkge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBpZiAoIUxvZ1snX2luc3RhbmNlJ10pIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIExvZ1snX2luc3RhbmNlJ10gPSBuZXcgTG9nKCk7XG4gICAgfVxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICByZXR1cm4gTG9nWydfaW5zdGFuY2UnXTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICBzdGF0aWMgTG9nZ2VyOiAodHlwZW9mIExvZ2dlcikgPSBMb2dnZXI7XG4gIHN0YXRpYyBjcmVhdGUobmFtZTogc3RyaW5nLCAuLi5sZXZlbDogTGV2ZWxbXSk6IExvZ2dlciB7XG4gICAgcmV0dXJuIExvZy5pbnN0YW5jZS5jcmVhdGUobmFtZSwgLi4ubGV2ZWwpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgY29uc29sZWxvZ2ZuID0ge307XG4gIHN0YXRpYyBkaXNhYmxlTG9ncyhsZXZlbCA9IExldmVsLl9fTk9USElORykge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gICAgTGV2ZWxPcmRlci5yZXZlcnNlKCkuZmluZChhID0+IHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGlmICghdGhpcy5jb25zb2xlbG9nZm5bYV0pIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICB0aGlzLmNvbnNvbGVsb2dmblthXSA9IGNvbnNvbGVbYV07XG4gICAgICB9XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBjb25zb2xlW2FdID0gKCkgPT4geyB9O1xuICAgICAgaWYgKGEgPT09IExldmVsS2V5W2xldmVsXSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBlbmFibGVMb2dzKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gICAgTGV2ZWxPcmRlci5mb3JFYWNoKGEgPT4ge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgY29uc29sZVthXSA9IHRoaXMuY29uc29sZWxvZ2ZuW2FdXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9sb2dPbmx5ID0gZmFsc2U7XG4gIHByaXZhdGUgX2xvZ01vZHVsZXMgPSBmYWxzZTtcbiAgcHJpdmF0ZSBpc0RldmVsb3BtZW50TW9kZSA9IHRydWU7XG4gIHByaXZhdGUgbW9kZUlzU2V0OiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgZml4ZWRXaWR0aCA9IDA7XG4gIHByaXZhdGUgaW5zdGFuY2VzOiB7IFttb2R1bGVOYW1lOiBzdHJpbmddOiBMb2dnZXIgfSA9IHt9O1xuICBwcml2YXRlIGxldmVsczogTGV2ZWxbXSA9IFtdO1xuICBwcml2YXRlIG1vZHVsZXM6IChzdHJpbmcgfCBSZWdFeHApW10gPSBbXTtcblxuICAvLyNyZWdpb24gcHVibGljIGFwaVxuICBwdWJsaWMgc2V0UHJvZHVjdGlvbk1vZGUoKSB7XG4gICAgaWYgKHRoaXMubW9kZUlzU2V0KSB7XG4gICAgICB0aGlzLm1vZGVJc1NldCA9IGZhbHNlXG4gICAgICB0aHJvdyAnW25nMi1sb2dnZXJdIFByb2R1Y3Rpb24gbW9kZSBpcyBhbHJlYWR5IHNldCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubW9kZUlzU2V0ID0gdHJ1ZTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuXG4gICAgICAgIGlmICh0aGlzLm1vZGVJc1NldCAmJiBjb25zb2xlICE9PSB2b2lkIDAgJiYgY29uc29sZS5jbGVhciAhPT0gdm9pZCAwKSB7XG5cbiAgICAgICAgICBjb25zb2xlLmNsZWFyKCk7XG4gICAgICAgICAgY29uc29sZS5sb2cgPSAoKSA9PiB7IH07XG4gICAgICAgICAgY29uc29sZS5lcnJvciA9ICgpID0+IHsgfTtcbiAgICAgICAgICBjb25zb2xlLndhcm4gPSAoKSA9PiB7IH07XG4gICAgICAgICAgY29uc29sZS5pbmZvID0gKCkgPT4geyB9O1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5pc0RldmVsb3BtZW50TW9kZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbmx5TW9kdWxlcyguLi5tb2R1bGVzOiAoc3RyaW5nIHwgUmVnRXhwKVtdKSB7XG4gICAgaWYgKHRoaXMuX2xvZ01vZHVsZXMpIHtcbiAgICAgIHRocm93ICdbbmcyLWxvZ2dlcl0gWW91IHNob3VsZCB1c2UgZnVuY2lvbiBvbmx5TW9kdWxlcyBvbmx5IG9uY2UnO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuX2xvZ01vZHVsZXMpIHtcbiAgICAgIHRoaXMuX2xvZ01vZHVsZXMgPSB0cnVlO1xuICAgIH1cbiAgICBpZiAobW9kdWxlcy5sZW5ndGggPT09IDApIHJldHVybjtcbiAgICB0aGlzLm1vZHVsZXMgPSBtb2R1bGVzO1xuICAgIC8vIGNvbnNvbGUubG9nKCdvbmx5IGxvZyB0aGlzJywgTG9nLm1vZHVsZXMpXG4gICAgdGhpcy5tdXRlQWxsT3RoZXJNb2R1bGVzKCk7XG4gIH1cblxuXG4gIHB1YmxpYyBvbmx5TGV2ZWwoLi4ubGV2ZWw6IExldmVsW10pIHtcbiAgICBpZiAodGhpcy5fbG9nT25seSkge1xuICAgICAgdGhyb3cgJ1tuZzItbG9nZ2VyXSBZb3Ugc2hvdWxkIHVzZSBmdW5jaW9uIG9ubHlMZXZlbCBvbmx5IG9uY2UnO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuX2xvZ09ubHkpIHtcbiAgICAgIHRoaXMuX2xvZ09ubHkgPSB0cnVlO1xuICAgIH1cblxuICAgIHRoaXMubGV2ZWxzID0gQXJyYXkuaXNBcnJheShsZXZlbCkgPyBsZXZlbCA6IFtsZXZlbF07XG5cblxuICAgIGZvciAoY29uc3QgbG9nTmFtZSBpbiB0aGlzLmluc3RhbmNlcykge1xuICAgICAgaWYgKHRoaXMuaW5zdGFuY2VzLmhhc093blByb3BlcnR5KGxvZ05hbWUpKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmluc3RhbmNlc1tsb2dOYW1lXTtcbiAgICAgICAgZWxlbWVudFsnYWxsb3dlZCddID0gdGhpcy5sZXZlbHM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgcHJpdmF0ZSBjcmVhdGUobmFtZTogc3RyaW5nLCAuLi5sZXZlbDogTGV2ZWxbXSk6IExvZ2dlciB7XG4gICAgbGV0IGk6IExvZ2dlcjtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmxldmVscykgJiYgdGhpcy5sZXZlbHMubGVuZ3RoID4gMCkge1xuICAgICAgbGV2ZWwgPSB0aGlzLmxldmVscztcbiAgICB9XG4gICAgaWYgKHRoaXMuaW5zdGFuY2VzW25hbWVdID09PSB2b2lkIDApIHtcbiAgICAgIGkgPSBuZXcgKExvZy5Mb2dnZXIpKFxuICAgICAgICBuYW1lLFxuICAgICAgICBnZXRSYW5kb21Db2xvcigpLFxuICAgICAgICB0aGlzLmlzRGV2ZWxvcG1lbnRNb2RlLFxuICAgICAgICBsZXZlbCxcbiAgICAgICAgdGhpcy5pc011dGVkTW9kdWxlKG5hbWUpLFxuICAgICAgICB0aGlzLmxldmVscy5sZW5ndGggPiAwID8gdGhpcy5maXhlZFdpZHRoIDogdm9pZCAwLFxuICAgICAgICAvLyBMb2cubGV2ZWxzLmxlbmd0aCA+IDAgPyBMb2cuZGlzcGxheSA6IHVuZGVmaW5lZCxcbiAgICAgICk7XG4gICAgICB0aGlzLmluc3RhbmNlc1tuYW1lXSA9IGk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGkgPSB0aGlzLmluc3RhbmNlc1tuYW1lXTtcbiAgICB9XG4gICAgcmV0dXJuIGk7XG4gIH1cblxuICBwcml2YXRlIGlzTXV0ZWRNb2R1bGUobW9kdWxlTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMubW9kdWxlcy5sZW5ndGggPT0gMCkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICghSGVscGVycy5jb250YWluKHRoaXMubW9kdWxlcywgbW9kdWxlTmFtZSkpIHJldHVybiB0cnVlO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBwcml2YXRlIG11dGVBbGxPdGhlck1vZHVsZXMoKSB7XG4gICAgZm9yICh2YXIgbW9kdWxlTmFtZSBpbiB0aGlzLmluc3RhbmNlcykge1xuICAgICAgaWYgKCFIZWxwZXJzLmNvbnRhaW4odGhpcy5tb2R1bGVzLCBtb2R1bGVOYW1lKSlcbiAgICAgICAgdGhpcy5pbnN0YW5jZXNbbW9kdWxlTmFtZV0ubXV0ZSgpXG4gICAgfVxuICB9XG5cbn1cblxuXG5mdW5jdGlvbiBnZXRSYW5kb21Db2xvcigpOiBzdHJpbmcge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cbiAgbGV0IGxldHRlcnMgPSAnMDEyMzQ1Jy5zcGxpdCgnJyk7XG4gIGxldCBjb2xvciA9ICcjJztcbiAgY29sb3IgKz0gbGV0dGVyc1tNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiA1KV07XG4gIGxldHRlcnMgPSAnMDEyMzQ1Njc4OUFCQ0RFRicuc3BsaXQoJycpO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IDU7IGkrKykge1xuICAgIGNvbG9yICs9IGxldHRlcnNbTWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpICogMTUpXTtcbiAgfVxuICBpZiAoY29sb3IgPT09IHZvaWQgMCkge1xuICAgIHJldHVybiBnZXRSYW5kb21Db2xvcigpXG4gIH07XG4gIHJldHVybiBjb2xvcjtcbn1cbiJdfQ==
@@ -154,4 +154,4 @@ export class Logger {
154
154
  return this;
155
155
  }
156
156
  }
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS9uZzItbG9nZ2VyL3Byb2plY3RzL25nMi1sb2dnZXIvc3JjL2xpYi9sb2dnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNoQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUzQyxNQUFNLE9BQU8sTUFBTTtJQXNCakIsWUFDVSxJQUFZLEVBQ2IsS0FBYSxFQUNaLGVBQXdCLEVBQ3hCLE9BQWdCLEVBQ2hCLE9BQWdCLEVBQ2pCLFVBQThCO1FBTDdCLFNBQUksR0FBSixJQUFJLENBQVE7UUFDYixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ1osb0JBQWUsR0FBZixlQUFlLENBQVM7UUFDeEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2pCLGVBQVUsR0FBVixVQUFVLENBQW9CO1FBNkZ2Qzs7VUFFRTtRQUNGLE1BQUMsR0FBRyxDQUFDLElBQVksRUFBRSxHQUFHLElBQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFN0Q7O1VBRUU7UUFFRixPQUFFLEdBQUcsQ0FBQyxJQUFZLEVBQUUsR0FBRyxJQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRS9EOztVQUVFO1FBQ0YsTUFBQyxHQUFHLENBQUMsSUFBWSxFQUFFLEdBQUcsSUFBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUU3RDs7VUFFRTtRQUNGLE1BQUMs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LElBQUksQ0FBQyxVQUFVO2dCQUNmLElBQUksQ0FBQyxnQkFBZ0I7YUFDdEIsQ0FBQyxDQUFBO1NBQ0g7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FvREYiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgTGV2ZWwgfSBmcm9tICcuL2xldmVsJztcbmltcG9ydCB7IERpc3BsYXkgfSBmcm9tICcuL2Rpc3BsYXknO1xuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuXG5leHBvcnQgY2xhc3MgTG9nZ2VyIHtcblxuICBwcml2YXRlIF9sZXZlbDogTGV2ZWw7XG4gIHB1YmxpYyBzZXRMZXZlbChsOiBMZXZlbCkge1xuICAgIHRoaXMuX2xldmVsID0gbDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNQcm9kdWN0aW9uTW9kZSgpIHtcbiAgICByZXR1cm4gIXRoaXMuZGV2ZWxvcG1lbnRNb2RlO1xuICB9XG5cbiAgcHVibGljIHNldFByb2R1Y3Rpb25Nb2RlKHByb2R1Y3Rpb25Nb2RlOiBib29sZWFuKSB7XG4gICAgdGhpcy5kZXZlbG9wbWVudE1vZGUgPSAhcHJvZHVjdGlvbk1vZGU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgbXV0ZSgpIHtcbiAgICB0aGlzLmlzTXV0ZWQgPSB0cnVlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBuYW1lOiBzdHJpbmcsXG4gICAgcHVibGljIGNvbG9yOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSBkZXZlbG9wbWVudE1vZGU6IGJvb2xlYW4sXG4gICAgcHJpdmF0ZSBhbGxvd2VkOiBMZXZlbFtdLFxuICAgIHByaXZhdGUgaXNNdXRlZDogYm9vbGVhbixcbiAgICBwdWJsaWMgZml4ZWRXaWR0aDogbnVtYmVyIHwgdW5kZWZpbmVkXG4gICkgeyB9XG5cbiAgb25seVdoZW4oZXhwcmVzc2lvbjogKCgpID0+IGJvb2xlYW4pIHwgYm9vbGVhbikge1xuICAgIGlmICh0eXBlb2YgZXhwcmVzc2lvbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhpcy5pc011dGVkID0gIWV4cHJlc3Npb24oKVxuICAgIH0gZWxzZSBpZiAodHlwZW9mIGV4cHJlc3Npb24gPT09ICdib29sZWFuJykge1xuICAgICAgdGhpcy5pc011dGVkID0gIWV4cHJlc3Npb247XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZGF0YShuYW1lOiBzdHJpbmcsIC4uLmRhdGE6IGFueVtdKSB7XG4gICAgaWYgKHRoaXMuaXNNdXRlZCkgcmV0dXJuIHRoaXM7XG4gICAgaWYgKHRoaXMuYWxsb3dlZC5sZW5ndGggPj0gMSAmJiBIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5fX05PVEhJTkcpXG4gICAgICAmJiAhSGVscGVycy5jb250YWluKHRoaXMuYWxsb3dlZCwgTGV2ZWwuREFUQSkpIHJldHVybiB0aGlzO1xuXG4gICAgaWYgKHRoaXMuYWxsb3dlZC5sZW5ndGggPT09IDAgfHwgSGVscGVycy5jb250YWluKHRoaXMuYWxsb3dlZCwgTGV2ZWwuREFUQSkpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIERpc3BsYXkubXNnLmFwcGx5KHZvaWQgMCwgW1xuICAgICAgICBuYW1lLFxuICAgICAgICAuLi5kYXRhLFxuICAgICAgICB0aGlzLm5hbWUsXG4gICAgICAgIHRoaXMuY29sb3IsXG4gICAgICAgIExldmVsLkRBVEEsXG4gICAgICAgIHRoaXMuZml4ZWRXaWR0aCxcbiAgICAgICAgdGhpcy5pc1Byb2R1Y3Rpb25Nb2RlLFxuICAgICAgXSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cblxuICBwcml2YXRlIF9lcnJvcihuYW1lOiBzdHJpbmcsIC4uLmRhdGE6IGFueVtdKSB7XG4gICAgaWYgKHRoaXMuaXNNdXRlZCkgcmV0dXJuIHRoaXM7XG4gICAgaWYgKHRoaXMuYWxsb3dlZC5sZW5ndGggPj0gMSAmJiBIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5fX05PVEhJTkcpXG4gICAgICAmJiAhSGVscGVycy5jb250YWluKHRoaXMuYWxsb3dlZCwgTGV2ZWwuRVJST1IpKSByZXR1cm4gdGhpcztcblxuICAgIGlmICh0aGlzLmFsbG93ZWQubGVuZ3RoID09PSAwIHx8IEhlbHBlcnMuY29udGFpbih0aGlzLmFsbG93ZWQsIExldmVsLkVSUk9SKSkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgRGlzcGxheS5tc2cuYXBwbHkodm9pZCAwLCBbXG4gICAgICAgIG5hbWUsXG4gICAgICAgIC4uLmRhdGEsXG4gICAgICAgIHRoaXMubmFtZSxcbiAgICAgICAgdGhpcy5jb2xvcixcbiAgICAgICAgTGV2ZWwuRVJST1IsXG4gICAgICAgIHRoaXMuZml4ZWRXaWR0aCxcbiAgICAgICAgdGhpcy5pc1Byb2R1Y3Rpb25Nb2RlLFxuICAgICAgXSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5mbyhuYW1lOiBzdHJpbmcsIC4uLmRhdGE6IGFueVtdKSB7XG4gICAgaWYgKHRoaXMuaXNNdXRlZCkgcmV0dXJuIHRoaXM7XG4gICAgaWYgKHRoaXMuYWxsb3dlZC5sZW5ndGggPj0gMSAmJiBIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5fX05PVEhJTkcpXG4gICAgICAmJiAhSGVscGVycy5jb250YWluKHRoaXMuYWxsb3dlZCwgTGV2ZWwuSU5GTykpIHJldHVybiB0aGlzO1xuXG4gICAgaWYgKHRoaXMuYWxsb3dlZC5sZW5ndGggPT09IDAgfHwgSGVscGVycy5jb250YWluKHRoaXMuYWxsb3dlZCwgTGV2ZWwuSU5GTykpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIERpc3BsYXkubXNnLmFwcGx5KHZvaWQgMCwgW1xuICAgICAgICBuYW1lLFxuICAgICAgICAuLi5kYXRhLFxuICAgICAgICB0aGlzLm5hbWUsXG4gICAgICAgIHRoaXMuY29sb3IsXG4gICAgICAgIExldmVsLklORk8sXG4gICAgICAgIHRoaXMuZml4ZWRXaWR0aCxcbiAgICAgICAgdGhpcy5pc1Byb2R1Y3Rpb25Nb2RlLFxuICAgICAgXSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHJpdmF0ZSBfd2FybihuYW1lOiBzdHJpbmcsIC4uLmRhdGE6IGFueVtdKSB7XG4gICAgaWYgKHRoaXMuaXNNdXRlZCkgcmV0dXJuIHRoaXM7XG4gICAgaWYgKHRoaXMuYWxsb3dlZC5sZW5ndGggPj0gMSAmJiBIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5fX05PVEhJTkcpXG4gICAgICAmJiAhSGVscGVycy5jb250YWluKHRoaXMuYWxsb3dlZCwgTGV2ZWwuV0FSTikpIHJldHVybiB0aGlzO1xuXG4gICAgaWYgKHRoaXMuYWxsb3dlZC5sZW5ndGggPT09IDAgfHwgSGVscGVycy5jb250YWluKHRoaXMuYWxsb3dlZCwgTGV2ZWwuV0FSTikpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIERpc3BsYXkubXNnLmFwcGx5KHZvaWQgMCwgW1xuICAgICAgICBuYW1lLFxuICAgICAgICAuLi5kYXRhLFxuICAgICAgICB0aGlzLm5hbWUsXG4gICAgICAgIHRoaXMuY29sb3IsXG4gICAgICAgIExldmVsLldBUk4sXG4gICAgICAgIHRoaXMuZml4ZWRXaWR0aCxcbiAgICAgICAgdGhpcy5pc1Byb2R1Y3Rpb25Nb2RlLFxuICAgICAgXSlcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuXG4gIC8qKiBAZGVwcmVjYXRlZCBVc2UgZGF0YSguLi4pXG4gICAqIEBzZWUgZGF0YVxuICAqL1xuICBkID0gKG5hbWU6IHN0cmluZywgLi4uZGF0YTogYW55W10pID0+IHRoaXMuX2RhdGEobmFtZSwgZGF0YSk7XG5cbiAgLyoqIEBkZXByZWNhdGVkIFVzZSBlcnJvciguLi4pXG4gICAqIEBzZWUgZXJyb3JcbiAgKi9cblxuICBlciA9IChuYW1lOiBzdHJpbmcsIC4uLmRhdGE6IGFueVtdKSA9PiB0aGlzLl9lcnJvcihuYW1lLCBkYXRhKTtcblxuICAvKiogQGRlcHJlY2F0ZWQgVXNlIGluZm8oLi4uKVxuICAgKiBAc2VlIGluZm9cbiAgKi9cbiAgaSA9IChuYW1lOiBzdHJpbmcsIC4uLmRhdGE6IGFueVtdKSA9PiB0aGlzLl9pbmZvKG5hbWUsIGRhdGEpO1xuXG4gIC8qKiBAZGVwcmVjYXRlZCBVc2Ugd2FybiguLi4pXG4gICAqIEBzZWUgd2FyblxuICAqL1xuICB3ID0gKG5hbWU6IHN0cmluZywgLi4uZGF0YTogYW55W10pID0+IHRoaXMuX3dhcm4obmFtZSwgZGF0YSk7XG5cbiAgLyoqXG4gICAqIExvZ3MgbWVzc2FnZSBhbmQgZGF0YSB3aXRoIHRoZSBsZXZlbD1kYXRhXG4gICAqIEBwYXJhbSBtZXNzYWdlIFRoZSBtZXNzYWdlXG4gICAqIEBwYXJhbSBvdGhlclBhcmFtcyBBZGRpdGlvbmFsIHBhcmFtZXRlcnNcbiAgICovXG4gIGRhdGEgPSAobWVzc2FnZTogc3RyaW5nLCAuLi5vdGhlclBhcmFtczogYW55W10pID0+IHsgcmV0dXJuIHRoaXMuX2RhdGEobWVzc2FnZSwgb3RoZXJQYXJhbXMpOyB9O1xuXG4gIC8qKlxuICAgKiBMb2dzIG1lc3NhZ2UgYW5kIGRhdGEgd2l0aCB0aGUgbGV2ZWw9ZXJyb3JcbiAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIG1lc3NhZ2VcbiAgICogQHBhcmFtIG90aGVyUGFyYW1zIEFkZGl0aW9uYWwgcGFyYW1ldGVyc1xuICAgKi9cbiAgZXJyb3IgPSAobWVzc2FnZTogc3RyaW5nLCAuLi5vdGhlclBhcmFtczogYW55W10pID0+IHRoaXMuX2Vycm9yKG1lc3NhZ2UsIG90aGVyUGFyYW1zKTtcblxuICAvKipcbiAgICogTG9ncyBtZXNzYWdlIGFuZCBkYXRhIHdpdGggdGhlIGxldmVsPWluZm9cbiAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIG1lc3NhZ2VcbiAgICogQHBhcmFtIG90aGVyUGFyYW1zIEFkZGl0aW9uYWwgcGFyYW1ldGVyc1xuICAgKi9cbiAgaW5mbyA9IChtZXNzYWdlOiBzdHJpbmcsIC4uLm90aGVyUGFyYW1zOiBhbnlbXSkgPT4gdGhpcy5faW5mbyhtZXNzYWdlLCBvdGhlclBhcmFtcyk7XG5cbiAgLyoqXG4gICAqIExvZ3MgbWVzc2FnZSBhbmQgZGF0YSB3aXRoIHRoZSBsZXZlbD13YXJuXG4gICAqIEBwYXJhbSBtZXNzYWdlIFRoZSBtZXNzYWdlXG4gICAqIEBwYXJhbSBvdGhlclBhcmFtcyBBZGRpdGlvbmFsIHBhcmFtZXRlcnNcbiAgICovXG4gIHdhcm4gPSAobWVzc2FnZTogc3RyaW5nLCAuLi5vdGhlclBhcmFtczogYW55W10pID0+IHRoaXMuX3dhcm4obWVzc2FnZSwgb3RoZXJQYXJhbXMpO1xuXG59XG4iXX0=
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS9uZzItbG9nZ2VyL3Byb2plY3RzL25nMi1sb2dnZXIvc3JjL2xpYi9sb2dnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNoQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUzQyxNQUFNLE9BQU8sTUFBTTtJQXNCakIsWUFDVSxJQUFZLEVBQ2IsS0FBYSxFQUNaLGVBQXdCLEVBQ3hCLE9BQWdCLEVBQ2hCLE9BQWdCLEVBQ2pCLFVBQThCO1FBTDdCLFNBQUksR0FBSixJQUFJLENBQVE7UUFDYixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ1osb0JBQWUsR0FBZixlQUFlLENBQVM7UUFDeEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2pCLGVBQVUsR0FBVixVQUFVLENBQW9CO1FBNkZ2Qzs7VUFFRTtRQUNGLE1BQUMsR0FBRyxDQUFDLElBQVksRUFBRSxHQUFHLElBQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFN0Q7O1VBRUU7UUFFRixPQUFFLEdBQUcsQ0FBQyxJQUFZLEVBQUUsR0FBRyxJQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRS9EOztVQUVFO1FBQ0YsTUFBQyxHQUFHLENBQUMsSUFBWSxFQUFFLEdBQUcsSUFBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUU3RDs7VUFFRTtRQUNGLE1BQUMs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LElBQUksQ0FBQyxVQUFVO2dCQUNmLElBQUksQ0FBQyxnQkFBZ0I7YUFDdEIsQ0FBQyxDQUFBO1NBQ0g7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FvREYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMZXZlbCB9IGZyb20gJy4vbGV2ZWwnO1xuaW1wb3J0IHsgRGlzcGxheSB9IGZyb20gJy4vZGlzcGxheSc7XG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5cbmV4cG9ydCBjbGFzcyBMb2dnZXIge1xuXG4gIHByaXZhdGUgX2xldmVsOiBMZXZlbDtcbiAgcHVibGljIHNldExldmVsKGw6IExldmVsKSB7XG4gICAgdGhpcy5fbGV2ZWwgPSBsO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1Byb2R1Y3Rpb25Nb2RlKCkge1xuICAgIHJldHVybiAhdGhpcy5kZXZlbG9wbWVudE1vZGU7XG4gIH1cblxuICBwdWJsaWMgc2V0UHJvZHVjdGlvbk1vZGUocHJvZHVjdGlvbk1vZGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRldmVsb3BtZW50TW9kZSA9ICFwcm9kdWN0aW9uTW9kZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBtdXRlKCkge1xuICAgIHRoaXMuaXNNdXRlZCA9IHRydWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG5hbWU6IHN0cmluZyxcbiAgICBwdWJsaWMgY29sb3I6IHN0cmluZyxcbiAgICBwcml2YXRlIGRldmVsb3BtZW50TW9kZTogYm9vbGVhbixcbiAgICBwcml2YXRlIGFsbG93ZWQ6IExldmVsW10sXG4gICAgcHJpdmF0ZSBpc011dGVkOiBib29sZWFuLFxuICAgIHB1YmxpYyBmaXhlZFdpZHRoOiBudW1iZXIgfCB1bmRlZmluZWRcbiAgKSB7IH1cblxuICBvbmx5V2hlbihleHByZXNzaW9uOiAoKCkgPT4gYm9vbGVhbikgfCBib29sZWFuKSB7XG4gICAgaWYgKHR5cGVvZiBleHByZXNzaW9uID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aGlzLmlzTXV0ZWQgPSAhZXhwcmVzc2lvbigpXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgZXhwcmVzc2lvbiA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICB0aGlzLmlzTXV0ZWQgPSAhZXhwcmVzc2lvbjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9kYXRhKG5hbWU6IHN0cmluZywgLi4uZGF0YTogYW55W10pIHtcbiAgICBpZiAodGhpcy5pc011dGVkKSByZXR1cm4gdGhpcztcbiAgICBpZiAodGhpcy5hbGxvd2VkLmxlbmd0aCA+PSAxICYmIEhlbHBlcnMuY29udGFpbih0aGlzLmFsbG93ZWQsIExldmVsLl9fTk9USElORylcbiAgICAgICYmICFIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5EQVRBKSkgcmV0dXJuIHRoaXM7XG5cbiAgICBpZiAodGhpcy5hbGxvd2VkLmxlbmd0aCA9PT0gMCB8fCBIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5EQVRBKSkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgRGlzcGxheS5tc2cuYXBwbHkodm9pZCAwLCBbXG4gICAgICAgIG5hbWUsXG4gICAgICAgIC4uLmRhdGEsXG4gICAgICAgIHRoaXMubmFtZSxcbiAgICAgICAgdGhpcy5jb2xvcixcbiAgICAgICAgTGV2ZWwuREFUQSxcbiAgICAgICAgdGhpcy5maXhlZFdpZHRoLFxuICAgICAgICB0aGlzLmlzUHJvZHVjdGlvbk1vZGUsXG4gICAgICBdKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuXG4gIHByaXZhdGUgX2Vycm9yKG5hbWU6IHN0cmluZywgLi4uZGF0YTogYW55W10pIHtcbiAgICBpZiAodGhpcy5pc011dGVkKSByZXR1cm4gdGhpcztcbiAgICBpZiAodGhpcy5hbGxvd2VkLmxlbmd0aCA+PSAxICYmIEhlbHBlcnMuY29udGFpbih0aGlzLmFsbG93ZWQsIExldmVsLl9fTk9USElORylcbiAgICAgICYmICFIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5FUlJPUikpIHJldHVybiB0aGlzO1xuXG4gICAgaWYgKHRoaXMuYWxsb3dlZC5sZW5ndGggPT09IDAgfHwgSGVscGVycy5jb250YWluKHRoaXMuYWxsb3dlZCwgTGV2ZWwuRVJST1IpKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBEaXNwbGF5Lm1zZy5hcHBseSh2b2lkIDAsIFtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgdGhpcy5uYW1lLFxuICAgICAgICB0aGlzLmNvbG9yLFxuICAgICAgICBMZXZlbC5FUlJPUixcbiAgICAgICAgdGhpcy5maXhlZFdpZHRoLFxuICAgICAgICB0aGlzLmlzUHJvZHVjdGlvbk1vZGUsXG4gICAgICBdKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwcml2YXRlIF9pbmZvKG5hbWU6IHN0cmluZywgLi4uZGF0YTogYW55W10pIHtcbiAgICBpZiAodGhpcy5pc011dGVkKSByZXR1cm4gdGhpcztcbiAgICBpZiAodGhpcy5hbGxvd2VkLmxlbmd0aCA+PSAxICYmIEhlbHBlcnMuY29udGFpbih0aGlzLmFsbG93ZWQsIExldmVsLl9fTk9USElORylcbiAgICAgICYmICFIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5JTkZPKSkgcmV0dXJuIHRoaXM7XG5cbiAgICBpZiAodGhpcy5hbGxvd2VkLmxlbmd0aCA9PT0gMCB8fCBIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5JTkZPKSkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgRGlzcGxheS5tc2cuYXBwbHkodm9pZCAwLCBbXG4gICAgICAgIG5hbWUsXG4gICAgICAgIC4uLmRhdGEsXG4gICAgICAgIHRoaXMubmFtZSxcbiAgICAgICAgdGhpcy5jb2xvcixcbiAgICAgICAgTGV2ZWwuSU5GTyxcbiAgICAgICAgdGhpcy5maXhlZFdpZHRoLFxuICAgICAgICB0aGlzLmlzUHJvZHVjdGlvbk1vZGUsXG4gICAgICBdKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwcml2YXRlIF93YXJuKG5hbWU6IHN0cmluZywgLi4uZGF0YTogYW55W10pIHtcbiAgICBpZiAodGhpcy5pc011dGVkKSByZXR1cm4gdGhpcztcbiAgICBpZiAodGhpcy5hbGxvd2VkLmxlbmd0aCA+PSAxICYmIEhlbHBlcnMuY29udGFpbih0aGlzLmFsbG93ZWQsIExldmVsLl9fTk9USElORylcbiAgICAgICYmICFIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5XQVJOKSkgcmV0dXJuIHRoaXM7XG5cbiAgICBpZiAodGhpcy5hbGxvd2VkLmxlbmd0aCA9PT0gMCB8fCBIZWxwZXJzLmNvbnRhaW4odGhpcy5hbGxvd2VkLCBMZXZlbC5XQVJOKSkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgRGlzcGxheS5tc2cuYXBwbHkodm9pZCAwLCBbXG4gICAgICAgIG5hbWUsXG4gICAgICAgIC4uLmRhdGEsXG4gICAgICAgIHRoaXMubmFtZSxcbiAgICAgICAgdGhpcy5jb2xvcixcbiAgICAgICAgTGV2ZWwuV0FSTixcbiAgICAgICAgdGhpcy5maXhlZFdpZHRoLFxuICAgICAgICB0aGlzLmlzUHJvZHVjdGlvbk1vZGUsXG4gICAgICBdKVxuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG5cbiAgLyoqIEBkZXByZWNhdGVkIFVzZSBkYXRhKC4uLilcbiAgICogQHNlZSBkYXRhXG4gICovXG4gIGQgPSAobmFtZTogc3RyaW5nLCAuLi5kYXRhOiBhbnlbXSkgPT4gdGhpcy5fZGF0YShuYW1lLCBkYXRhKTtcblxuICAvKiogQGRlcHJlY2F0ZWQgVXNlIGVycm9yKC4uLilcbiAgICogQHNlZSBlcnJvclxuICAqL1xuXG4gIGVyID0gKG5hbWU6IHN0cmluZywgLi4uZGF0YTogYW55W10pID0+IHRoaXMuX2Vycm9yKG5hbWUsIGRhdGEpO1xuXG4gIC8qKiBAZGVwcmVjYXRlZCBVc2UgaW5mbyguLi4pXG4gICAqIEBzZWUgaW5mb1xuICAqL1xuICBpID0gKG5hbWU6IHN0cmluZywgLi4uZGF0YTogYW55W10pID0+IHRoaXMuX2luZm8obmFtZSwgZGF0YSk7XG5cbiAgLyoqIEBkZXByZWNhdGVkIFVzZSB3YXJuKC4uLilcbiAgICogQHNlZSB3YXJuXG4gICovXG4gIHcgPSAobmFtZTogc3RyaW5nLCAuLi5kYXRhOiBhbnlbXSkgPT4gdGhpcy5fd2FybihuYW1lLCBkYXRhKTtcblxuICAvKipcbiAgICogTG9ncyBtZXNzYWdlIGFuZCBkYXRhIHdpdGggdGhlIGxldmVsPWRhdGFcbiAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIG1lc3NhZ2VcbiAgICogQHBhcmFtIG90aGVyUGFyYW1zIEFkZGl0aW9uYWwgcGFyYW1ldGVyc1xuICAgKi9cbiAgZGF0YSA9IChtZXNzYWdlOiBzdHJpbmcsIC4uLm90aGVyUGFyYW1zOiBhbnlbXSkgPT4geyByZXR1cm4gdGhpcy5fZGF0YShtZXNzYWdlLCBvdGhlclBhcmFtcyk7IH07XG5cbiAgLyoqXG4gICAqIExvZ3MgbWVzc2FnZSBhbmQgZGF0YSB3aXRoIHRoZSBsZXZlbD1lcnJvclxuICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgbWVzc2FnZVxuICAgKiBAcGFyYW0gb3RoZXJQYXJhbXMgQWRkaXRpb25hbCBwYXJhbWV0ZXJzXG4gICAqL1xuICBlcnJvciA9IChtZXNzYWdlOiBzdHJpbmcsIC4uLm90aGVyUGFyYW1zOiBhbnlbXSkgPT4gdGhpcy5fZXJyb3IobWVzc2FnZSwgb3RoZXJQYXJhbXMpO1xuXG4gIC8qKlxuICAgKiBMb2dzIG1lc3NhZ2UgYW5kIGRhdGEgd2l0aCB0aGUgbGV2ZWw9aW5mb1xuICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgbWVzc2FnZVxuICAgKiBAcGFyYW0gb3RoZXJQYXJhbXMgQWRkaXRpb25hbCBwYXJhbWV0ZXJzXG4gICAqL1xuICBpbmZvID0gKG1lc3NhZ2U6IHN0cmluZywgLi4ub3RoZXJQYXJhbXM6IGFueVtdKSA9PiB0aGlzLl9pbmZvKG1lc3NhZ2UsIG90aGVyUGFyYW1zKTtcblxuICAvKipcbiAgICogTG9ncyBtZXNzYWdlIGFuZCBkYXRhIHdpdGggdGhlIGxldmVsPXdhcm5cbiAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIG1lc3NhZ2VcbiAgICogQHBhcmFtIG90aGVyUGFyYW1zIEFkZGl0aW9uYWwgcGFyYW1ldGVyc1xuICAgKi9cbiAgd2FybiA9IChtZXNzYWdlOiBzdHJpbmcsIC4uLm90aGVyUGFyYW1zOiBhbnlbXSkgPT4gdGhpcy5fd2FybihtZXNzYWdlLCBvdGhlclBhcmFtcyk7XG5cbn1cbiJdfQ==