@skyux/colorpicker 5.0.0 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -307,9 +307,9 @@ export class SkyColorpickerService {
307
307
  return denormalizeCmyk;
308
308
  }
309
309
  }
310
- SkyColorpickerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyColorpickerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
311
- SkyColorpickerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyColorpickerService });
312
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyColorpickerService, decorators: [{
310
+ SkyColorpickerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: SkyColorpickerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
311
+ SkyColorpickerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: SkyColorpickerService });
312
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: SkyColorpickerService, decorators: [{
313
313
  type: Injectable
314
314
  }], ctorParameters: function () { return []; } });
315
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3JwaWNrZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbG9ycGlja2VyL3NyYy9tb2R1bGVzL2NvbG9ycGlja2VyL2NvbG9ycGlja2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNkVBQTZFO0FBQzdFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzNDOztHQUVHO0FBRUgsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxnQkFBZ0IsQ0FBQztJQUVWLFNBQVMsQ0FBQyxJQUF3QjtRQUN2QyxNQUFNLEtBQUssR0FBVyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDOUMsTUFBTSxHQUFHLEdBQVcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sU0FBUyxHQUFXLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN0RCxNQUFNLFVBQVUsR0FBVyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDeEQsSUFBSSxJQUFJLEdBQXVCO1lBQzdCLEtBQUssRUFBRSxHQUFHO1lBQ1YsWUFBWSxFQUFFLFVBQVU7WUFDeEIsT0FBTyxFQUFFLFNBQVM7WUFDbEIsT0FBTyxFQUFFLEtBQUs7U0FDZixDQUFDO1FBQ0YsSUFBSSxTQUFTLEtBQUssQ0FBQyxFQUFFO1lBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1NBQ2hCO2FBQU07WUFDTCxJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsR0FBRyxVQUFVLEdBQUcsQ0FBQyxDQUFDLEdBQUcs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QUNqQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQztZQUM3QyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztZQUNuQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUc7U0FDMUMsQ0FBQztRQUNGLE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxlQUFlLENBQUMsSUFBd0I7UUFDN0MsTUFBTSxlQUFlLEdBQXVCO1lBQzFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQztZQUNuQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztZQUN2QyxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztZQUNyQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztTQUNoQyxDQUFDO1FBQ0YsT0FBTyxlQUFlLENBQUM7SUFDekIsQ0FBQzs7a0hBaFVVLHFCQUFxQjtzSEFBckIscUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzcGVsbC1jaGVja2VyOmlnbm9yZSBoc3ZhLCBoc2xhLCBjbXlrLCBkZW5vcm1hbGl6ZSwgY29sb3JwaWNrZXIsSW5qZWN0YWJsZVxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5Q29sb3JwaWNrZXJDbXlrIH0gZnJvbSAnLi90eXBlcy9jb2xvcnBpY2tlci1jbXlrJztcbmltcG9ydCB7IFNreUNvbG9ycGlja2VySHNsYSB9IGZyb20gJy4vdHlwZXMvY29sb3JwaWNrZXItaHNsYSc7XG5pbXBvcnQgeyBTa3lDb2xvcnBpY2tlckhzdmEgfSBmcm9tICcuL3R5cGVzL2NvbG9ycGlja2VyLWhzdmEnO1xuaW1wb3J0IHsgU2t5Q29sb3JwaWNrZXJSZ2JhIH0gZnJvbSAnLi90eXBlcy9jb2xvcnBpY2tlci1yZ2JhJztcbmltcG9ydCB7IFNreUNvbG9ycGlja2VyT3V0cHV0IH0gZnJvbSAnLi90eXBlcy9jb2xvcnBpY2tlci1vdXRwdXQnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5Q29sb3JwaWNrZXJTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBwdWJsaWMgaHNsYTJoc3ZhKGhzbGE6IFNreUNvbG9ycGlja2VySHNsYSk6IFNreUNvbG9ycGlja2VySHN2YSB7XG4gICAgY29uc3QgYWxwaGE6IG51bWJlciA9IE1hdGgubWluKGhzbGEuYWxwaGEsIDEpO1xuICAgIGNvbnN0IGh1ZTogbnVtYmVyID0gTWF0aC5taW4oaHNsYS5odWUsIDEpO1xuICAgIGNvbnN0IGxpZ2h0bmVzczogbnVtYmVyID0gTWF0aC5taW4oaHNsYS5saWdodG5lc3MsIDEpO1xuICAgIGNvbnN0IHNhdHVyYXRpb246IG51bWJlciA9IE1hdGgubWluKGhzbGEuc2F0dXJhdGlvbiwgMSk7XG4gICAgbGV0IGhzdmE6IFNreUNvbG9ycGlja2VySHN2YSA9IHtcbiAgICAgICdodWUnOiBodWUsXG4gICAgICAnc2F0dXJhdGlvbic6IHNhdHVyYXRpb24sXG4gICAgICAndmFsdWUnOiBsaWdodG5lc3MsXG4gICAgICAnYWxwaGEnOiBhbHBoYVxuICAgIH07XG4gICAgaWYgKGxpZ2h0bmVzcyA9PT0gMCkge1xuICAgICAgaHN2YS5zYXR1cmF0aW9uID0gMDtcbiAgICAgIGhzdmEudmFsdWUgPSAwO1xuICAgIH0gZWxzZSB7XG4gICAgICBoc3ZhLnZhbHVlID0gbGlnaHRuZXNzICsgc2F0dXJhdGlvbiAqICgxIC0gTWF0aC5hYnMoMiAqIGxpZ2h0bmVzcyAtIDEpKSAvIDI7XG4gICAgICBoc3ZhLnNhdHVyYXRpb24gPSAyICogKGhzdmEudmFsdWUgLSBsaWdodG5lc3MpIC8gaHN2YS52YWx1ZTtcblxuICAgIH1cbiAgICByZXR1cm4gaHN2YTtcbiAgfVxuXG4gIHB1YmxpYyBoc3ZhMmhzbGEoaHN2YTogU2t5Q29sb3JwaWNrZXJIc3ZhKTogU2t5Q29sb3JwaWNrZXJIc2xhIHtcbiAgICBjb25zdCBhbHBoYTogbnVtYmVyID0gaHN2YS5hbHBoYTtcbiAgICBjb25zdCBodWU6IG51bWJlciA9IGhzdmEuaHVlO1xuICAgIGNvbnN0IHNhdHVyYXRpb246IG51bWJlciA9IGhzdmEuc2F0dXJhdGlvbjtcbiAgICBjb25zdCB2YWx1ZTogbnVtYmVyID0gaHN2YS52YWx1ZTtcblxuICAgIGxldCBoc2xhOiBTa3lDb2xvcnBpY2tlckhzbGEgPSB7XG4gICAgICAnaHVlJzogaHVlLFxuICAgICAgJ3NhdHVyYXRpb24nOiBzYXR1cmF0aW9uLFxuICAgICAgJ2xpZ2h0bmVzcyc6IHZhbHVlLFxuICAgICAgJ2FscGhhJzogYWxwaGFcbiAgICB9O1xuICAgIGlmICh2YWx1ZSA9PT0gMCkge1xuICAgICAgaHNsYS5saWdodG5lc3MgPSAwO1xuICAgICAgaHNsYS5zYXR1cmF0aW9uID0gMDtcbiAgICB9IGVsc2Uge1xuICAgICAgaHNsYS5saWdodG5lc3MgPSB2YWx1ZSAqICgyIC0gc2F0dXJhdGlvbikgLyAyO1xuICAgICAgaHNsYS5zYXR1cmF0aW9uID0gdmFsdWUgKiBzYXR1cmF0aW9uIC8gKDEgLSBNYXRoLmFicygyICogaHNsYS5saWdodG5lc3MgLSAxKSk7XG4gICAgfVxuICAgIHJldHVybiBoc2xhO1xuICB9XG5cbiAgcHVibGljIHJnYmFUb0hzdmEocmdiYTogU2t5Q29sb3JwaWNrZXJSZ2JhKTogU2t5Q29sb3JwaWNrZXJIc3ZhIHtcbiAgICBjb25zdCByZWQ6IG51bWJlciA9IE1hdGgubWluKHJnYmEucmVkLCAxKTtcbiAgICBjb25zdCBncmVlbjogbnVtYmVyID0gTWF0aC5taW4ocmdiYS5ncmVlbiwgMSk7XG4gICAgY29uc3QgYmx1ZTogbnVtYmVyID0gTWF0aC5taW4ocmdiYS5ibHVlLCAxKTtcbiAgICBjb25zdCBhbHBoYTogbnVtYmVyID0gTWF0aC5taW4ocmdiYS5hbHBoYSwgMSk7XG4gICAgY29uc3QgbWF4OiBudW1iZXIgPSBNYXRoLm1heChyZWQsIGdyZWVuLCBibHVlKTtcbiAgICBjb25zdCBtaW46IG51bWJlciA9IE1hdGgubWluKHJlZCwgZ3JlZW4sIGJsdWUpO1xuICAgIGNvbnN0IHZhbHVlOiBudW1iZXIgPSBtYXg7XG4gICAgY29uc3QgZCA9IG1heCAtIG1pbjtcbiAgICBjb25zdCBzYXR1cmF0aW9uOiBudW1iZXIgPSBtYXggPT09IDAgPyAwIDogZCAvIG1heDtcbiAgICBsZXQgaHVlOiBudW1iZXIgPSAwO1xuICAgIGxldCBtYXhWYWx1ZTogeyBba2V5OiBudW1iZXJdOiBudW1iZXIgfTtcbiAgICBpZiAobWF4ICE9PSBtaW4pIHtcbiAgICAgIG1heFZhbHVlID0ge1xuICAgICAgICBbcmVkXTogKGdyZWVuIC0gYmx1ZSkgLyBkICsgKGdyZWVuIDwgYmx1ZSA/IDYgOiAwKSxcbiAgICAgICAgW2dyZWVuXTogKGJsdWUgLSByZWQpIC8gZCArIDIsXG4gICAgICAgIFtibHVlXTogKHJlZCAtIGdyZWVuKSAvIGQgKyA0XG4gICAgICB9O1xuICAgICAgaHVlID0gbWF4VmFsdWVbbWF4XTtcbiAgICAgIGh1ZSAvPSA2O1xuICAgIH1cbiAgICBjb25zdCBoc3ZhOiBTa3lDb2xvcnBpY2tlckhzdmEgPSB7XG4gICAgICAnaHVlJzogaHVlLFxuICAgICAgJ3NhdHVyYXRpb24nOiBzYXR1cmF0aW9uLFxuICAgICAgJ3ZhbHVlJzogdmFsdWUsXG4gICAgICAnYWxwaGEnOiBhbHBoYVxuICAgIH07XG4gICAgcmV0dXJuIGhzdmE7XG4gIH1cblxuICBwdWJsaWMgcmdiYVRvQ215ayhyZ2JhOiBTa3lDb2xvcnBpY2tlclJnYmEpOiBTa3lDb2xvcnBpY2tlckNteWsge1xuICAgIGxldCBjbXlrOiBTa3lDb2xvcnBpY2tlckNteWsgPSB7ICdjeWFuJzogMCwgJ21hZ2VudGEnOiAwLCAneWVsbG93JzogMCwgJ2tleSc6IDAgfTtcbiAgICBjb25zdCBrZXk6IG51bWJlciA9IDEgLSBNYXRoLm1heChyZ2JhLnJlZCwgcmdiYS5ncmVlbiwgcmdiYS5ibHVlKTtcblxuICAgIGlmIChrZXkgPT09IDEpIHtcbiAgICAgIGNteWsua2V5ID0gMTtcbiAgICAgIHJldHVybiBjbXlrO1xuICAgIH1cbiAgICBjbXlrLmN5YW4gPSAoMSAtIHJnYmEucmVkIC0ga2V5KSAvICgxIC0ga2V5KTtcbiAgICBjbXlrLm1hZ2VudGEgPSAoMSAtIHJnYmEuZ3JlZW4gLSBrZXkpIC8gKDEgLSBrZXkpO1xuICAgIGNteWsueWVsbG93ID0gKDEgLSByZ2JhLmJsdWUgLSBrZXkpIC8gKDEgLSBrZXkpO1xuICAgIGNteWsua2V5ID0ga2V5O1xuICAgIHJldHVybiBjbXlrO1xuICB9XG5cbiAgcHVibGljIGhzdmFUb1JnYmEoaHN2YTogU2t5Q29sb3JwaWNrZXJIc3ZhKTogU2t5Q29sb3JwaWNrZXJSZ2JhIHtcbiAgICBsZXQgcmVkOiBudW1iZXIgPSAwO1xuICAgIGxldCBncmVlbjogbnVtYmVyID0gMDtcbiAgICBsZXQgYmx1ZTogbnVtYmVyID0gMDtcbiAgICBjb25zdCBodWUgPSBoc3ZhLmh1ZTtcbiAgICBjb25zdCBzYXR1cmF0aW9uID0gaHN2YS5zYXR1cmF0aW9uO1xuICAgIGNvbnN0IHZhbHVlID0gaHN2YS52YWx1ZTtcbiAgICBjb25zdCBhbHBoYSA9IGhzdmEuYWxwaGEgfHwgaHN2YS5hbHBoYSA9PT0gMCA/IGhzdmEuYWxwaGEgOiAxO1xuICAgIGNvbnN0IGkgPSBNYXRoLmZsb29yKGh1ZSAqIDYpO1xuICAgIGNvbnN0IGYgPSBodWUgKiA2IC0gaTtcbiAgICBjb25zdCBwID0gdmFsdWUgKiAoMSAtIHNhdHVyYXRpb24pO1xuICAgIGNvbnN0IHEgPSB2YWx1ZSAqICgxIC0gZiAqIHNhdHVyYXRpb24pO1xuICAgIGNvbnN0IHQgPSB2YWx1ZSAqICgxIC0gKDEgLSBmKSAqIHNhdHVyYXRpb24pO1xuICAgIGNvbnN0IGNvbG9yOiB7IFtrZXk6IG51bWJlcl06IGFueSB9ID0ge1xuICAgICAgMDogKCk6IHZvaWQgPT4geyByZWQgPSB2YWx1ZTsgZ3JlZW4gPSB0OyBibHVlID0gcDsgfSxcbiAgICAgIDE6ICgpOiB2b2lkID0+IHsgcmVkID0gcTsgZ3JlZW4gPSB2YWx1ZTsgYmx1ZSA9IHA7IH0sXG4gICAgICAyOiAoKTogdm9pZCA9PiB7IHJlZCA9IHA7IGdyZWVuID0gdmFsdWU7IGJsdWUgPSB0OyB9LFxuICAgICAgMzogKCk6IHZvaWQgPT4geyByZWQgPSBwOyBncmVlbiA9IHE7IGJsdWUgPSB2YWx1ZTsgfSxcbiAgICAgIDQ6ICgpOiB2b2lkID0+IHsgcmVkID0gdDsgZ3JlZW4gPSBwOyBibHVlID0gdmFsdWU7IH0sXG4gICAgICA1OiAoKTogdm9pZCA9PiB7IHJlZCA9IHZhbHVlOyBncmVlbiA9IHA7IGJsdWUgPSBxOyB9XG4gICAgfTtcbiAgICBjb2xvcltpICUgNl0oKTtcblxuICAgIGNvbnN0IHJnYmE6IFNreUNvbG9ycGlja2VyUmdiYSA9IHtcbiAgICAgICdyZWQnOiByZWQsXG4gICAgICAnZ3JlZW4nOiBncmVlbixcbiAgICAgICdibHVlJzogYmx1ZSxcbiAgICAgICdhbHBoYSc6IGFscGhhXG4gICAgfTtcbiAgICByZXR1cm4gcmdiYTtcbiAgfVxuXG4gIHB1YmxpYyBzdHJpbmdUb0hzdmEoY29sb3JTdHJpbmc6IHN0cmluZywgaGV4ODogYm9vbGVhbik6IFNreUNvbG9ycGlja2VySHN2YSB7XG4gICAgbGV0IHN0cmluZ1BhcnNlcnMgPSBbXG4gICAgICB7IC8vIHRzbGludDpkaXNhYmxlIG1heC1saW5lLWxlbmd0aFxuICAgICAgICByZTogLyhyZ2IpYT9cXChcXHMqKFxcZHsxLDN9KVxccyosXFxzKihcXGR7MSwzfSlcXHMqJT8sXFxzKihcXGR7MSwzfSlcXHMqJT8oPzosXFxzKihcXGQrKD86XFwuXFxkKyk/KVxccyopP1xcKS8sXG4gICAgICAgIHBhcnNlOiAoZXhlY1Jlc3VsdDogYW55KSA9PiB7XG4gICAgICAgICAgY29uc3QgcmdiYTogU2t5Q29sb3JwaWNrZXJSZ2JhID0ge1xuICAgICAgICAgICAgJ3JlZCc6IHBhcnNlSW50KGV4ZWNSZXN1bHRbMl0sIDApIC8gMjU1LFxuICAgICAgICAgICAgJ2dyZWVuJzogcGFyc2VJbnQoZXhlY1Jlc3VsdFszXSwgMCkgLyAyNTUsXG4gICAgICAgICAgICAnYmx1ZSc6IHBhcnNlSW50KGV4ZWNSZXN1bHRbNF0sIDApIC8gMjU1LFxuICAgICAgICAgICAgJ2FscGhhJzogcGFyc2VGbG9hdChleGVjUmVzdWx0WzVdKVxuICAgICAgICAgIH07XG4gICAgICAgICAgcmV0dXJuIHJnYmE7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHJlOiAvKGhzbClhP1xcKFxccyooXFxkezEsM30pXFxzKixcXHMqKFxcZHsxLDN9KSVcXHMqLFxccyooXFxkezEsM30pJVxccyooPzosXFxzKihcXGQrKD86XFwuXFxkKyk/KVxccyopP1xcKS8sXG4gICAgICAgIHBhcnNlOiAoZXhlY1Jlc3VsdDogYW55KSA9PiB7XG4gICAgICAgICAgY29uc3QgaHNsYTogU2t5Q29sb3JwaWNrZXJIc2xhID0ge1xuICAgICAgICAgICAgJ2h1ZSc6IHBhcnNlSW50KGV4ZWNSZXN1bHRbMl0sIDApIC8gMzYwLFxuICAgICAgICAgICAgJ3NhdHVyYXRpb24nOiBwYXJzZUludChleGVjUmVzdWx0WzNdLCAwKSAvIDEwMCxcbiAgICAgICAgICAgICdsaWdodG5lc3MnOiBwYXJzZUludChleGVjUmVzdWx0WzRdLCAwKSAvIDEwMCxcbiAgICAgICAgICAgICdhbHBoYSc6IHBhcnNlRmxvYXQoZXhlY1Jlc3VsdFs1XSlcbiAgICAgICAgICB9O1xuICAgICAgICAgIHJldHVybiBoc2xhO1xuICAgICAgICAgIC8vIHRzbGludDplbmFibGUgbWF4LWxpbmUtbGVuZ3RoXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBdO1xuICAgIGlmIChoZXg4KSB7XG4gICAgICBzdHJpbmdQYXJzZXJzLnB1c2goe1xuICAgICAgICByZTogLyM/KFthLWZBLUYwLTldezJ9KShbYS1mQS1GMC05XXsyfSkoW2EtZkEtRjAtOV17Mn0pKFthLWZBLUYwLTldezJ9KSQvLFxuICAgICAgICBwYXJzZTogKGV4ZWNSZXN1bHQ6IGFueSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHJnYmE6IFNreUNvbG9ycGlja2VyUmdiYSA9IHtcbiAgICAgICAgICAgICdyZWQnOiBwYXJzZUludChleGVjUmVzdWx0WzFdLCAxNikgLyAyNTUsXG4gICAgICAgICAgICAnZ3JlZW4nOiBwYXJzZUludChleGVjUmVzdWx0WzJdLCAxNikgLyAyNTUsXG4gICAgICAgICAgICAnYmx1ZSc6IHBhcnNlSW50KGV4ZWNSZXN1bHRbM10sIDE2KSAvIDI1NSxcbiAgICAgICAgICAgICdhbHBoYSc6IHBhcnNlSW50KGV4ZWNSZXN1bHRbNF0sIDE2KSAvIDI1NVxuICAgICAgICAgIH07XG4gICAgICAgICAgcmV0dXJuIHJnYmE7XG5cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0cmluZ1BhcnNlcnMucHVzaCh7XG4gICAgICAgIHJlOiAvIz8oW2EtZkEtRjAtOV17Mn0pKFthLWZBLUYwLTldezJ9KShbYS1mQS1GMC05XXsyfSkkLyxcbiAgICAgICAgcGFyc2U6IChleGVjUmVzdWx0OiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCByZ2JhOiBTa3lDb2xvcnBpY2tlclJnYmEgPSB7XG4gICAgICAgICAgICAncmVkJzogcGFyc2VJbnQoZXhlY1Jlc3VsdFsxXSwgMTYpIC8gMjU1LFxuICAgICAgICAgICAgJ2dyZWVuJzogcGFyc2VJbnQoZXhlY1Jlc3VsdFsyXSwgMTYpIC8gMjU1LFxuICAgICAgICAgICAgJ2JsdWUnOiBwYXJzZUludChleGVjUmVzdWx0WzNdLCAxNikgLyAyNTUsXG4gICAgICAgICAgICAnYWxwaGEnOiAxXG4gICAgICAgICAgfTtcbiAgICAgICAgICByZXR1cm4gcmdiYTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHJlOiAvIyhbYS1mQS1GMC05XSkoW2EtZkEtRjAtOV0pKFthLWZBLUYwLTldKSQvLFxuICAgICAgICAgIHBhcnNlOiAoZXhlY1Jlc3VsdDogYW55KSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZ2JhOiBTa3lDb2xvcnBpY2tlclJnYmEgPSB7XG4gICAgICAgICAgICAgICdyZWQnOiBwYXJzZUludChleGVjUmVzdWx0WzFdICsgZXhlY1Jlc3VsdFsxXSwgMTYpIC8gMjU1LFxuICAgICAgICAgICAgICAnZ3JlZW4nOiBwYXJzZUludChleGVjUmVzdWx0WzJdICsgZXhlY1Jlc3VsdFsyXSwgMTYpIC8gMjU1LFxuICAgICAgICAgICAgICAnYmx1ZSc6IHBhcnNlSW50KGV4ZWNSZXN1bHRbM10gKyBleGVjUmVzdWx0WzNdLCAxNikgLyAyNTUsXG4gICAgICAgICAgICAgICdhbHBoYSc6IDFcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZXR1cm4gcmdiYTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGxldCBoc3ZhOiBTa3lDb2xvcnBpY2tlckhzdmEgPSB1bmRlZmluZWQ7XG4gICAgZm9yIChsZXQga2V5IGluIHN0cmluZ1BhcnNlcnMpIHtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovIC8qIGZvciBpbiBtdXN0IGJlIGZpbHRlcmVkIGJ5IGFuIGlmICovXG4gICAgICBpZiAoc3RyaW5nUGFyc2Vycy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgIGxldCBwYXJzZXIgPSBzdHJpbmdQYXJzZXJzW2tleV07XG4gICAgICAgIGxldCBtYXRjaCA9IHBhcnNlci5yZS5leGVjKGNvbG9yU3RyaW5nKTtcbiAgICAgICAgbGV0IGNvbG9yOiBhbnkgPSBtYXRjaCAmJiBwYXJzZXIucGFyc2UobWF0Y2gpO1xuICAgICAgICBpZiAoY29sb3IpIHtcbiAgICAgICAgICBpZiAoJ3JlZCcgaW4gY29sb3IpIHtcbiAgICAgICAgICAgIGhzdmEgPSB0aGlzLnJnYmFUb0hzdmEoY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoJ2h1ZScgaW4gY29sb3IpIHtcbiAgICAgICAgICAgIGhzdmEgPSB0aGlzLmhzbGEyaHN2YShjb2xvcik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIGhzdmE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGhzdmE7XG4gIH1cblxuICBwdWJsaWMgb3V0cHV0Rm9ybWF0KGhzdmE6IFNreUNvbG9ycGlja2VySHN2YSwgb3V0cHV0Rm9ybWF0OiBzdHJpbmcsIGFsbG93SGV4ODogYm9vbGVhbik6IHN0cmluZyB7XG4gICAgaWYgKFsnaHNsYScsICdoZXgnLCAnY215ayddLmluZGV4T2Yob3V0cHV0Rm9ybWF0KSA9PT0gLTEpIHsgb3V0cHV0Rm9ybWF0ID0gJ3JnYmEnOyB9XG4gICAgbGV0IGNvbG9yOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge1xuICAgICAgJ2hzbGEnOiAoKSA9PiB7XG4gICAgICAgIGxldCBoc2xhID0gdGhpcy5kZW5vcm1hbGl6ZUhTTEEodGhpcy5oc3ZhMmhzbGEoaHN2YSkpO1xuICAgICAgICByZXR1cm4gYGhzbGEoJHtoc2xhLmh1ZX0sJHtoc2xhLnNhdHVyYXRpb259JSwke2hzbGEubGlnaHRuZXNzfSUsJHtoc2xhLmFscGhhfSlgO1xuICAgICAgfSxcbiAgICAgICdoZXgnOiAoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhleFRleHQodGhpcy5kZW5vcm1hbGl6ZVJHQkEodGhpcy5oc3ZhVG9SZ2JhKGhzdmEpKSwgYWxsb3dIZXg4KTtcbiAgICAgIH0sXG4gICAgICAnY215ayc6ICgpID0+IHtcbiAgICAgICAgbGV0IGNteWsgPSB0aGlzLmRlbm9ybWFsaXplQ01ZSyh0aGlzLnJnYmFUb0NteWsodGhpcy5oc3ZhVG9SZ2JhKGhzdmEpKSk7XG4gICAgICAgIHJldHVybiBgY215aygke2NteWsuY3lhbn0lLCR7Y215ay5tYWdlbnRhfSUsJHtjbXlrLnllbGxvd30lLCR7Y215ay5rZXl9JSlgO1xuICAgICAgfSxcbiAgICAgICdyZ2JhJzogKCkgPT4ge1xuICAgICAgICBsZXQgcmdiYSA9IHRoaXMuZGVub3JtYWxpemVSR0JBKHRoaXMuaHN2YVRvUmdiYShoc3ZhKSk7XG4gICAgICAgIHJldHVybiBgcmdiYSgke3JnYmEucmVkfSwke3JnYmEuZ3JlZW59LCR7cmdiYS5ibHVlfSwke3JnYmEuYWxwaGF9KWA7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHJldHVybiBjb2xvcltvdXRwdXRGb3JtYXRdKCk7XG4gIH1cblxuICBwdWJsaWMgc2t5Q29sb3JwaWNrZXJPdXQoY29sb3I6IFNreUNvbG9ycGlja2VySHN2YSkge1xuICAgIGxldCBmb3JtYXRDb2xvcjogU2t5Q29sb3JwaWNrZXJPdXRwdXQ7XG4gICAgbGV0IGNteWtUZXh0OiBzdHJpbmcgPSB0aGlzLm91dHB1dEZvcm1hdChjb2xvciwgJ2NteWsnLCB0cnVlKTtcbiAgICBsZXQgaHNsYVRleHQ6IHN0cmluZyA9IHRoaXMub3V0cHV0Rm9ybWF0KGNvbG9yLCAnaHNsYScsIHRydWUpO1xuICAgIGxldCByZ2JhVGV4dDogc3RyaW5nID0gdGhpcy5vdXRwdXRGb3JtYXQoY29sb3IsICdyZ2JhJywgdHJ1ZSk7XG4gICAgbGV0IHJnYmE6IFNreUNvbG9ycGlja2VyUmdiYSA9IHRoaXMuaHN2YVRvUmdiYShjb2xvcik7XG4gICAgbGV0IGhzbGE6IFNreUNvbG9ycGlja2VySHNsYSA9IHRoaXMuaHN2YTJoc2xhKGNvbG9yKTtcbiAgICBsZXQgY215azogU2t5Q29sb3JwaWNrZXJDbXlrID0gdGhpcy5yZ2JhVG9DbXlrKHJnYmEpO1xuICAgIGxldCBoZXg6IHN0cmluZyA9IHRoaXMub3V0cHV0Rm9ybWF0KGNvbG9yLCAnaGV4JywgZmFsc2UpO1xuXG4gICAgZm9ybWF0Q29sb3IgPSB7XG4gICAgICAnY215a1RleHQnOiBjbXlrVGV4dCxcbiAgICAgICdoc2xhVGV4dCc6IGhzbGFUZXh0LFxuICAgICAgJ3JnYmFUZXh0JzogcmdiYVRleHQsXG4gICAgICAnaHN2YSc6IHRoaXMuZGVub3JtYWxpemVIU1ZBKGNvbG9yKSxcbiAgICAgICdyZ2JhJzogdGhpcy5kZW5vcm1hbGl6ZVJHQkEocmdiYSksXG4gICAgICAnaHNsYSc6IHRoaXMuZGVub3JtYWxpemVIU0xBKGhzbGEpLFxuICAgICAgJ2NteWsnOiB0aGlzLmRlbm9ybWFsaXplQ01ZSyhjbXlrKSxcbiAgICAgICdoZXgnOiBoZXhcbiAgICB9O1xuICAgIHJldHVybiBmb3JtYXRDb2xvcjtcbiAgfVxuXG4gIHB1YmxpYyBoZXhUZXh0KHJnYmE6IFNreUNvbG9ycGlja2VyUmdiYSwgYWxsb3dIZXg4OiBib29sZWFuKTogc3RyaW5nIHtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZSBuby1iaXR3aXNlXG4gICAgbGV0IGhleFRleHQgPSAnIycgKyAoKDEgPDwgMjQpIHxcbiAgICAgIChyZ2JhLnJlZCA8PCAxNikgfFxuICAgICAgKHJnYmEuZ3JlZW4gPDwgOCkgfFxuICAgICAgcmdiYS5ibHVlKS50b1N0cmluZygxNikuc3Vic3RyKDEpO1xuICAgIGlmIChcbiAgICAgIGhleFRleHRbMV0gPT09IGhleFRleHRbMl1cbiAgICAgICYmIGhleFRleHRbM10gPT09IGhleFRleHRbNF1cbiAgICAgICYmIGhleFRleHRbNV0gPT09IGhleFRleHRbNl1cbiAgICAgICYmIHJnYmEuYWxwaGEgPT09IDFcbiAgICAgICYmICFhbGxvd0hleDgpIHtcbiAgICAgIGhleFRleHQgPSAnIycgKyBoZXhUZXh0WzFdICsgaGV4VGV4dFszXSArIGhleFRleHRbNV07XG4gICAgfVxuICAgIGlmIChhbGxvd0hleDgpIHtcbiAgICAgIGhleFRleHQgKz0gKCgxIDw8IDgpIHwgTWF0aC5yb3VuZChyZ2JhLmFscGhhICogMjU1KSkudG9TdHJpbmcoMTYpLnN1YnN0cigxKTtcbiAgICB9XG4gICAgcmV0dXJuIGhleFRleHQ7XG4gICAgLy8gdHNsaW50OmVuYWJsZSBuby1iaXR3aXNlXG4gIH1cblxuICBwdWJsaWMgZGVub3JtYWxpemVSR0JBKHJnYmE6IFNreUNvbG9ycGlja2VyUmdiYSk6IFNreUNvbG9ycGlja2VyUmdiYSB7XG4gICAgY29uc3QgZGVub3JtYWxpemVSZ2JhOiBTa3lDb2xvcnBpY2tlclJnYmEgPSB7XG4gICAgICAncmVkJzogTWF0aC5yb3VuZChyZ2JhLnJlZCAqIDI1NSksXG4gICAgICAnZ3JlZW4nOiBNYXRoLnJvdW5kKHJnYmEuZ3JlZW4gKiAyNTUpLFxuICAgICAgJ2JsdWUnOiBNYXRoLnJvdW5kKHJnYmEuYmx1ZSAqIDI1NSksXG4gICAgICAnYWxwaGEnOiBNYXRoLnJvdW5kKHJnYmEuYWxwaGEgKiAxMDApIC8gMTAwXG4gICAgfTtcbiAgICByZXR1cm4gZGVub3JtYWxpemVSZ2JhO1xuICB9XG5cbiAgcHVibGljIGRlbm9ybWFsaXplSFNMQShoc2xhOiBTa3lDb2xvcnBpY2tlckhzbGEpOiBTa3lDb2xvcnBpY2tlckhzbGEge1xuICAgIGNvbnN0IGRlbm9ybWFsaXplSHNsYTogU2t5Q29sb3JwaWNrZXJIc2xhID0ge1xuICAgICAgaHVlOiBNYXRoLnJvdW5kKChoc2xhLmh1ZSkgKiAzNjApLFxuICAgICAgc2F0dXJhdGlvbjogTWF0aC5yb3VuZChoc2xhLnNhdHVyYXRpb24gKiAxMDApLFxuICAgICAgbGlnaHRuZXNzOiBNYXRoLnJvdW5kKGhzbGEubGlnaHRuZXNzICogMTAwKSxcbiAgICAgIGFscGhhOiBNYXRoLnJvdW5kKGhzbGEuYWxwaGEgKiAxMDApIC8gMTAwXG4gICAgfTtcbiAgICByZXR1cm4gZGVub3JtYWxpemVIc2xhO1xuICB9XG5cbiAgcHVibGljIGRlbm9ybWFsaXplSFNWQShoc2xhOiBTa3lDb2xvcnBpY2tlckhzdmEpOiBTa3lDb2xvcnBpY2tlckhzdmEge1xuICAgIGNvbnN0IGRlbm9ybWFsaXplSHN2YTogU2t5Q29sb3JwaWNrZXJIc3ZhID0ge1xuICAgICAgaHVlOiBNYXRoLnJvdW5kKChoc2xhLmh1ZSkgKiAzNjApLFxuICAgICAgc2F0dXJhdGlvbjogTWF0aC5yb3VuZChoc2xhLnNhdHVyYXRpb24gKiAxMDApLFxuICAgICAgdmFsdWU6IE1hdGgucm91bmQoaHNsYS52YWx1ZSAqIDEwMCksXG4gICAgICBhbHBoYTogTWF0aC5yb3VuZChoc2xhLmFscGhhICogMTAwKSAvIDEwMFxuICAgIH07XG4gICAgcmV0dXJuIGRlbm9ybWFsaXplSHN2YTtcbiAgfVxuXG4gIHB1YmxpYyBkZW5vcm1hbGl6ZUNNWUsoY215azogU2t5Q29sb3JwaWNrZXJDbXlrKTogU2t5Q29sb3JwaWNrZXJDbXlrIHtcbiAgICBjb25zdCBkZW5vcm1hbGl6ZUNteWs6IFNreUNvbG9ycGlja2VyQ215ayA9IHtcbiAgICAgIGN5YW46IE1hdGgucm91bmQoKGNteWsuY3lhbikgKiAxMDApLFxuICAgICAgbWFnZW50YTogTWF0aC5yb3VuZChjbXlrLm1hZ2VudGEgKiAxMDApLFxuICAgICAgeWVsbG93OiBNYXRoLnJvdW5kKGNteWsueWVsbG93ICogMTAwKSxcbiAgICAgIGtleTogTWF0aC5yb3VuZChjbXlrLmtleSAqIDEwMClcbiAgICB9O1xuICAgIHJldHVybiBkZW5vcm1hbGl6ZUNteWs7XG4gIH1cbn1cbiJdfQ==
315
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3JwaWNrZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbG9ycGlja2VyL3NyYy9tb2R1bGVzL2NvbG9ycGlja2VyL2NvbG9ycGlja2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNkVBQTZFO0FBQzdFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzNDOztHQUVHO0FBRUgsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxnQkFBZ0IsQ0FBQztJQUVWLFNBQVMsQ0FBQyxJQUF3QjtRQUN2QyxNQUFNLEtBQUssR0FBVyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDOUMsTUFBTSxHQUFHLEdBQVcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sU0FBUyxHQUFXLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN0RCxNQUFNLFVBQVUsR0FBVyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDeEQsSUFBSSxJQUFJLEdBQXVCO1lBQzdCLEtBQUssRUFBRSxHQUFHO1lBQ1YsWUFBWSxFQUFFLFVBQVU7WUFDeEIsT0FBTyxFQUFFLFNBQVM7WUFDbEIsT0FBTyxFQUFFLEtBQUs7U0FDZixDQUFDO1FBQ0YsSUFBSSxTQUFTLEtBQUssQ0FBQyxFQUFFO1lBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1NBQ2hCO2FBQU07WUFDTCxJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsR0FBRyxVQUFVLEdBQUcsQ0FBQyxDQUFDLEdBQUcs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QUNqQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQztZQUM3QyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztZQUNuQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUc7U0FDMUMsQ0FBQztRQUNGLE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxlQUFlLENBQUMsSUFBd0I7UUFDN0MsTUFBTSxlQUFlLEdBQXVCO1lBQzFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQztZQUNuQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztZQUN2QyxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztZQUNyQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztTQUNoQyxDQUFDO1FBQ0YsT0FBTyxlQUFlLENBQUM7SUFDekIsQ0FBQzs7bUhBaFVVLHFCQUFxQjt1SEFBckIscUJBQXFCOzRGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzcGVsbC1jaGVja2VyOmlnbm9yZSBoc3ZhLCBoc2xhLCBjbXlrLCBkZW5vcm1hbGl6ZSwgY29sb3JwaWNrZXIsSW5qZWN0YWJsZVxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5Q29sb3JwaWNrZXJDbXlrIH0gZnJvbSAnLi90eXBlcy9jb2xvcnBpY2tlci1jbXlrJztcbmltcG9ydCB7IFNreUNvbG9ycGlja2VySHNsYSB9IGZyb20gJy4vdHlwZXMvY29sb3JwaWNrZXItaHNsYSc7XG5pbXBvcnQgeyBTa3lDb2xvcnBpY2tlckhzdmEgfSBmcm9tICcuL3R5cGVzL2NvbG9ycGlja2VyLWhzdmEnO1xuaW1wb3J0IHsgU2t5Q29sb3JwaWNrZXJSZ2JhIH0gZnJvbSAnLi90eXBlcy9jb2xvcnBpY2tlci1yZ2JhJztcbmltcG9ydCB7IFNreUNvbG9ycGlja2VyT3V0cHV0IH0gZnJvbSAnLi90eXBlcy9jb2xvcnBpY2tlci1vdXRwdXQnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5Q29sb3JwaWNrZXJTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBwdWJsaWMgaHNsYTJoc3ZhKGhzbGE6IFNreUNvbG9ycGlja2VySHNsYSk6IFNreUNvbG9ycGlja2VySHN2YSB7XG4gICAgY29uc3QgYWxwaGE6IG51bWJlciA9IE1hdGgubWluKGhzbGEuYWxwaGEsIDEpO1xuICAgIGNvbnN0IGh1ZTogbnVtYmVyID0gTWF0aC5taW4oaHNsYS5odWUsIDEpO1xuICAgIGNvbnN0IGxpZ2h0bmVzczogbnVtYmVyID0gTWF0aC5taW4oaHNsYS5saWdodG5lc3MsIDEpO1xuICAgIGNvbnN0IHNhdHVyYXRpb246IG51bWJlciA9IE1hdGgubWluKGhzbGEuc2F0dXJhdGlvbiwgMSk7XG4gICAgbGV0IGhzdmE6IFNreUNvbG9ycGlja2VySHN2YSA9IHtcbiAgICAgICdodWUnOiBodWUsXG4gICAgICAnc2F0dXJhdGlvbic6IHNhdHVyYXRpb24sXG4gICAgICAndmFsdWUnOiBsaWdodG5lc3MsXG4gICAgICAnYWxwaGEnOiBhbHBoYVxuICAgIH07XG4gICAgaWYgKGxpZ2h0bmVzcyA9PT0gMCkge1xuICAgICAgaHN2YS5zYXR1cmF0aW9uID0gMDtcbiAgICAgIGhzdmEudmFsdWUgPSAwO1xuICAgIH0gZWxzZSB7XG4gICAgICBoc3ZhLnZhbHVlID0gbGlnaHRuZXNzICsgc2F0dXJhdGlvbiAqICgxIC0gTWF0aC5hYnMoMiAqIGxpZ2h0bmVzcyAtIDEpKSAvIDI7XG4gICAgICBoc3ZhLnNhdHVyYXRpb24gPSAyICogKGhzdmEudmFsdWUgLSBsaWdodG5lc3MpIC8gaHN2YS52YWx1ZTtcblxuICAgIH1cbiAgICByZXR1cm4gaHN2YTtcbiAgfVxuXG4gIHB1YmxpYyBoc3ZhMmhzbGEoaHN2YTogU2t5Q29sb3JwaWNrZXJIc3ZhKTogU2t5Q29sb3JwaWNrZXJIc2xhIHtcbiAgICBjb25zdCBhbHBoYTogbnVtYmVyID0gaHN2YS5hbHBoYTtcbiAgICBjb25zdCBodWU6IG51bWJlciA9IGhzdmEuaHVlO1xuICAgIGNvbnN0IHNhdHVyYXRpb246IG51bWJlciA9IGhzdmEuc2F0dXJhdGlvbjtcbiAgICBjb25zdCB2YWx1ZTogbnVtYmVyID0gaHN2YS52YWx1ZTtcblxuICAgIGxldCBoc2xhOiBTa3lDb2xvcnBpY2tlckhzbGEgPSB7XG4gICAgICAnaHVlJzogaHVlLFxuICAgICAgJ3NhdHVyYXRpb24nOiBzYXR1cmF0aW9uLFxuICAgICAgJ2xpZ2h0bmVzcyc6IHZhbHVlLFxuICAgICAgJ2FscGhhJzogYWxwaGFcbiAgICB9O1xuICAgIGlmICh2YWx1ZSA9PT0gMCkge1xuICAgICAgaHNsYS5saWdodG5lc3MgPSAwO1xuICAgICAgaHNsYS5zYXR1cmF0aW9uID0gMDtcbiAgICB9IGVsc2Uge1xuICAgICAgaHNsYS5saWdodG5lc3MgPSB2YWx1ZSAqICgyIC0gc2F0dXJhdGlvbikgLyAyO1xuICAgICAgaHNsYS5zYXR1cmF0aW9uID0gdmFsdWUgKiBzYXR1cmF0aW9uIC8gKDEgLSBNYXRoLmFicygyICogaHNsYS5saWdodG5lc3MgLSAxKSk7XG4gICAgfVxuICAgIHJldHVybiBoc2xhO1xuICB9XG5cbiAgcHVibGljIHJnYmFUb0hzdmEocmdiYTogU2t5Q29sb3JwaWNrZXJSZ2JhKTogU2t5Q29sb3JwaWNrZXJIc3ZhIHtcbiAgICBjb25zdCByZWQ6IG51bWJlciA9IE1hdGgubWluKHJnYmEucmVkLCAxKTtcbiAgICBjb25zdCBncmVlbjogbnVtYmVyID0gTWF0aC5taW4ocmdiYS5ncmVlbiwgMSk7XG4gICAgY29uc3QgYmx1ZTogbnVtYmVyID0gTWF0aC5taW4ocmdiYS5ibHVlLCAxKTtcbiAgICBjb25zdCBhbHBoYTogbnVtYmVyID0gTWF0aC5taW4ocmdiYS5hbHBoYSwgMSk7XG4gICAgY29uc3QgbWF4OiBudW1iZXIgPSBNYXRoLm1heChyZWQsIGdyZWVuLCBibHVlKTtcbiAgICBjb25zdCBtaW46IG51bWJlciA9IE1hdGgubWluKHJlZCwgZ3JlZW4sIGJsdWUpO1xuICAgIGNvbnN0IHZhbHVlOiBudW1iZXIgPSBtYXg7XG4gICAgY29uc3QgZCA9IG1heCAtIG1pbjtcbiAgICBjb25zdCBzYXR1cmF0aW9uOiBudW1iZXIgPSBtYXggPT09IDAgPyAwIDogZCAvIG1heDtcbiAgICBsZXQgaHVlOiBudW1iZXIgPSAwO1xuICAgIGxldCBtYXhWYWx1ZTogeyBba2V5OiBudW1iZXJdOiBudW1iZXIgfTtcbiAgICBpZiAobWF4ICE9PSBtaW4pIHtcbiAgICAgIG1heFZhbHVlID0ge1xuICAgICAgICBbcmVkXTogKGdyZWVuIC0gYmx1ZSkgLyBkICsgKGdyZWVuIDwgYmx1ZSA/IDYgOiAwKSxcbiAgICAgICAgW2dyZWVuXTogKGJsdWUgLSByZWQpIC8gZCArIDIsXG4gICAgICAgIFtibHVlXTogKHJlZCAtIGdyZWVuKSAvIGQgKyA0XG4gICAgICB9O1xuICAgICAgaHVlID0gbWF4VmFsdWVbbWF4XTtcbiAgICAgIGh1ZSAvPSA2O1xuICAgIH1cbiAgICBjb25zdCBoc3ZhOiBTa3lDb2xvcnBpY2tlckhzdmEgPSB7XG4gICAgICAnaHVlJzogaHVlLFxuICAgICAgJ3NhdHVyYXRpb24nOiBzYXR1cmF0aW9uLFxuICAgICAgJ3ZhbHVlJzogdmFsdWUsXG4gICAgICAnYWxwaGEnOiBhbHBoYVxuICAgIH07XG4gICAgcmV0dXJuIGhzdmE7XG4gIH1cblxuICBwdWJsaWMgcmdiYVRvQ215ayhyZ2JhOiBTa3lDb2xvcnBpY2tlclJnYmEpOiBTa3lDb2xvcnBpY2tlckNteWsge1xuICAgIGxldCBjbXlrOiBTa3lDb2xvcnBpY2tlckNteWsgPSB7ICdjeWFuJzogMCwgJ21hZ2VudGEnOiAwLCAneWVsbG93JzogMCwgJ2tleSc6IDAgfTtcbiAgICBjb25zdCBrZXk6IG51bWJlciA9IDEgLSBNYXRoLm1heChyZ2JhLnJlZCwgcmdiYS5ncmVlbiwgcmdiYS5ibHVlKTtcblxuICAgIGlmIChrZXkgPT09IDEpIHtcbiAgICAgIGNteWsua2V5ID0gMTtcbiAgICAgIHJldHVybiBjbXlrO1xuICAgIH1cbiAgICBjbXlrLmN5YW4gPSAoMSAtIHJnYmEucmVkIC0ga2V5KSAvICgxIC0ga2V5KTtcbiAgICBjbXlrLm1hZ2VudGEgPSAoMSAtIHJnYmEuZ3JlZW4gLSBrZXkpIC8gKDEgLSBrZXkpO1xuICAgIGNteWsueWVsbG93ID0gKDEgLSByZ2JhLmJsdWUgLSBrZXkpIC8gKDEgLSBrZXkpO1xuICAgIGNteWsua2V5ID0ga2V5O1xuICAgIHJldHVybiBjbXlrO1xuICB9XG5cbiAgcHVibGljIGhzdmFUb1JnYmEoaHN2YTogU2t5Q29sb3JwaWNrZXJIc3ZhKTogU2t5Q29sb3JwaWNrZXJSZ2JhIHtcbiAgICBsZXQgcmVkOiBudW1iZXIgPSAwO1xuICAgIGxldCBncmVlbjogbnVtYmVyID0gMDtcbiAgICBsZXQgYmx1ZTogbnVtYmVyID0gMDtcbiAgICBjb25zdCBodWUgPSBoc3ZhLmh1ZTtcbiAgICBjb25zdCBzYXR1cmF0aW9uID0gaHN2YS5zYXR1cmF0aW9uO1xuICAgIGNvbnN0IHZhbHVlID0gaHN2YS52YWx1ZTtcbiAgICBjb25zdCBhbHBoYSA9IGhzdmEuYWxwaGEgfHwgaHN2YS5hbHBoYSA9PT0gMCA/IGhzdmEuYWxwaGEgOiAxO1xuICAgIGNvbnN0IGkgPSBNYXRoLmZsb29yKGh1ZSAqIDYpO1xuICAgIGNvbnN0IGYgPSBodWUgKiA2IC0gaTtcbiAgICBjb25zdCBwID0gdmFsdWUgKiAoMSAtIHNhdHVyYXRpb24pO1xuICAgIGNvbnN0IHEgPSB2YWx1ZSAqICgxIC0gZiAqIHNhdHVyYXRpb24pO1xuICAgIGNvbnN0IHQgPSB2YWx1ZSAqICgxIC0gKDEgLSBmKSAqIHNhdHVyYXRpb24pO1xuICAgIGNvbnN0IGNvbG9yOiB7IFtrZXk6IG51bWJlcl06IGFueSB9ID0ge1xuICAgICAgMDogKCk6IHZvaWQgPT4geyByZWQgPSB2YWx1ZTsgZ3JlZW4gPSB0OyBibHVlID0gcDsgfSxcbiAgICAgIDE6ICgpOiB2b2lkID0+IHsgcmVkID0gcTsgZ3JlZW4gPSB2YWx1ZTsgYmx1ZSA9IHA7IH0sXG4gICAgICAyOiAoKTogdm9pZCA9PiB7IHJlZCA9IHA7IGdyZWVuID0gdmFsdWU7IGJsdWUgPSB0OyB9LFxuICAgICAgMzogKCk6IHZvaWQgPT4geyByZWQgPSBwOyBncmVlbiA9IHE7IGJsdWUgPSB2YWx1ZTsgfSxcbiAgICAgIDQ6ICgpOiB2b2lkID0+IHsgcmVkID0gdDsgZ3JlZW4gPSBwOyBibHVlID0gdmFsdWU7IH0sXG4gICAgICA1OiAoKTogdm9pZCA9PiB7IHJlZCA9IHZhbHVlOyBncmVlbiA9IHA7IGJsdWUgPSBxOyB9XG4gICAgfTtcbiAgICBjb2xvcltpICUgNl0oKTtcblxuICAgIGNvbnN0IHJnYmE6IFNreUNvbG9ycGlja2VyUmdiYSA9IHtcbiAgICAgICdyZWQnOiByZWQsXG4gICAgICAnZ3JlZW4nOiBncmVlbixcbiAgICAgICdibHVlJzogYmx1ZSxcbiAgICAgICdhbHBoYSc6IGFscGhhXG4gICAgfTtcbiAgICByZXR1cm4gcmdiYTtcbiAgfVxuXG4gIHB1YmxpYyBzdHJpbmdUb0hzdmEoY29sb3JTdHJpbmc6IHN0cmluZywgaGV4ODogYm9vbGVhbik6IFNreUNvbG9ycGlja2VySHN2YSB7XG4gICAgbGV0IHN0cmluZ1BhcnNlcnMgPSBbXG4gICAgICB7IC8vIHRzbGludDpkaXNhYmxlIG1heC1saW5lLWxlbmd0aFxuICAgICAgICByZTogLyhyZ2IpYT9cXChcXHMqKFxcZHsxLDN9KVxccyosXFxzKihcXGR7MSwzfSlcXHMqJT8sXFxzKihcXGR7MSwzfSlcXHMqJT8oPzosXFxzKihcXGQrKD86XFwuXFxkKyk/KVxccyopP1xcKS8sXG4gICAgICAgIHBhcnNlOiAoZXhlY1Jlc3VsdDogYW55KSA9PiB7XG4gICAgICAgICAgY29uc3QgcmdiYTogU2t5Q29sb3JwaWNrZXJSZ2JhID0ge1xuICAgICAgICAgICAgJ3JlZCc6IHBhcnNlSW50KGV4ZWNSZXN1bHRbMl0sIDApIC8gMjU1LFxuICAgICAgICAgICAgJ2dyZWVuJzogcGFyc2VJbnQoZXhlY1Jlc3VsdFszXSwgMCkgLyAyNTUsXG4gICAgICAgICAgICAnYmx1ZSc6IHBhcnNlSW50KGV4ZWNSZXN1bHRbNF0sIDApIC8gMjU1LFxuICAgICAgICAgICAgJ2FscGhhJzogcGFyc2VGbG9hdChleGVjUmVzdWx0WzVdKVxuICAgICAgICAgIH07XG4gICAgICAgICAgcmV0dXJuIHJnYmE7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHJlOiAvKGhzbClhP1xcKFxccyooXFxkezEsM30pXFxzKixcXHMqKFxcZHsxLDN9KSVcXHMqLFxccyooXFxkezEsM30pJVxccyooPzosXFxzKihcXGQrKD86XFwuXFxkKyk/KVxccyopP1xcKS8sXG4gICAgICAgIHBhcnNlOiAoZXhlY1Jlc3VsdDogYW55KSA9PiB7XG4gICAgICAgICAgY29uc3QgaHNsYTogU2t5Q29sb3JwaWNrZXJIc2xhID0ge1xuICAgICAgICAgICAgJ2h1ZSc6IHBhcnNlSW50KGV4ZWNSZXN1bHRbMl0sIDApIC8gMzYwLFxuICAgICAgICAgICAgJ3NhdHVyYXRpb24nOiBwYXJzZUludChleGVjUmVzdWx0WzNdLCAwKSAvIDEwMCxcbiAgICAgICAgICAgICdsaWdodG5lc3MnOiBwYXJzZUludChleGVjUmVzdWx0WzRdLCAwKSAvIDEwMCxcbiAgICAgICAgICAgICdhbHBoYSc6IHBhcnNlRmxvYXQoZXhlY1Jlc3VsdFs1XSlcbiAgICAgICAgICB9O1xuICAgICAgICAgIHJldHVybiBoc2xhO1xuICAgICAgICAgIC8vIHRzbGludDplbmFibGUgbWF4LWxpbmUtbGVuZ3RoXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBdO1xuICAgIGlmIChoZXg4KSB7XG4gICAgICBzdHJpbmdQYXJzZXJzLnB1c2goe1xuICAgICAgICByZTogLyM/KFthLWZBLUYwLTldezJ9KShbYS1mQS1GMC05XXsyfSkoW2EtZkEtRjAtOV17Mn0pKFthLWZBLUYwLTldezJ9KSQvLFxuICAgICAgICBwYXJzZTogKGV4ZWNSZXN1bHQ6IGFueSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHJnYmE6IFNreUNvbG9ycGlja2VyUmdiYSA9IHtcbiAgICAgICAgICAgICdyZWQnOiBwYXJzZUludChleGVjUmVzdWx0WzFdLCAxNikgLyAyNTUsXG4gICAgICAgICAgICAnZ3JlZW4nOiBwYXJzZUludChleGVjUmVzdWx0WzJdLCAxNikgLyAyNTUsXG4gICAgICAgICAgICAnYmx1ZSc6IHBhcnNlSW50KGV4ZWNSZXN1bHRbM10sIDE2KSAvIDI1NSxcbiAgICAgICAgICAgICdhbHBoYSc6IHBhcnNlSW50KGV4ZWNSZXN1bHRbNF0sIDE2KSAvIDI1NVxuICAgICAgICAgIH07XG4gICAgICAgICAgcmV0dXJuIHJnYmE7XG5cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0cmluZ1BhcnNlcnMucHVzaCh7XG4gICAgICAgIHJlOiAvIz8oW2EtZkEtRjAtOV17Mn0pKFthLWZBLUYwLTldezJ9KShbYS1mQS1GMC05XXsyfSkkLyxcbiAgICAgICAgcGFyc2U6IChleGVjUmVzdWx0OiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCByZ2JhOiBTa3lDb2xvcnBpY2tlclJnYmEgPSB7XG4gICAgICAgICAgICAncmVkJzogcGFyc2VJbnQoZXhlY1Jlc3VsdFsxXSwgMTYpIC8gMjU1LFxuICAgICAgICAgICAgJ2dyZWVuJzogcGFyc2VJbnQoZXhlY1Jlc3VsdFsyXSwgMTYpIC8gMjU1LFxuICAgICAgICAgICAgJ2JsdWUnOiBwYXJzZUludChleGVjUmVzdWx0WzNdLCAxNikgLyAyNTUsXG4gICAgICAgICAgICAnYWxwaGEnOiAxXG4gICAgICAgICAgfTtcbiAgICAgICAgICByZXR1cm4gcmdiYTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHJlOiAvIyhbYS1mQS1GMC05XSkoW2EtZkEtRjAtOV0pKFthLWZBLUYwLTldKSQvLFxuICAgICAgICAgIHBhcnNlOiAoZXhlY1Jlc3VsdDogYW55KSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZ2JhOiBTa3lDb2xvcnBpY2tlclJnYmEgPSB7XG4gICAgICAgICAgICAgICdyZWQnOiBwYXJzZUludChleGVjUmVzdWx0WzFdICsgZXhlY1Jlc3VsdFsxXSwgMTYpIC8gMjU1LFxuICAgICAgICAgICAgICAnZ3JlZW4nOiBwYXJzZUludChleGVjUmVzdWx0WzJdICsgZXhlY1Jlc3VsdFsyXSwgMTYpIC8gMjU1LFxuICAgICAgICAgICAgICAnYmx1ZSc6IHBhcnNlSW50KGV4ZWNSZXN1bHRbM10gKyBleGVjUmVzdWx0WzNdLCAxNikgLyAyNTUsXG4gICAgICAgICAgICAgICdhbHBoYSc6IDFcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZXR1cm4gcmdiYTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGxldCBoc3ZhOiBTa3lDb2xvcnBpY2tlckhzdmEgPSB1bmRlZmluZWQ7XG4gICAgZm9yIChsZXQga2V5IGluIHN0cmluZ1BhcnNlcnMpIHtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovIC8qIGZvciBpbiBtdXN0IGJlIGZpbHRlcmVkIGJ5IGFuIGlmICovXG4gICAgICBpZiAoc3RyaW5nUGFyc2Vycy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgIGxldCBwYXJzZXIgPSBzdHJpbmdQYXJzZXJzW2tleV07XG4gICAgICAgIGxldCBtYXRjaCA9IHBhcnNlci5yZS5leGVjKGNvbG9yU3RyaW5nKTtcbiAgICAgICAgbGV0IGNvbG9yOiBhbnkgPSBtYXRjaCAmJiBwYXJzZXIucGFyc2UobWF0Y2gpO1xuICAgICAgICBpZiAoY29sb3IpIHtcbiAgICAgICAgICBpZiAoJ3JlZCcgaW4gY29sb3IpIHtcbiAgICAgICAgICAgIGhzdmEgPSB0aGlzLnJnYmFUb0hzdmEoY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoJ2h1ZScgaW4gY29sb3IpIHtcbiAgICAgICAgICAgIGhzdmEgPSB0aGlzLmhzbGEyaHN2YShjb2xvcik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIGhzdmE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGhzdmE7XG4gIH1cblxuICBwdWJsaWMgb3V0cHV0Rm9ybWF0KGhzdmE6IFNreUNvbG9ycGlja2VySHN2YSwgb3V0cHV0Rm9ybWF0OiBzdHJpbmcsIGFsbG93SGV4ODogYm9vbGVhbik6IHN0cmluZyB7XG4gICAgaWYgKFsnaHNsYScsICdoZXgnLCAnY215ayddLmluZGV4T2Yob3V0cHV0Rm9ybWF0KSA9PT0gLTEpIHsgb3V0cHV0Rm9ybWF0ID0gJ3JnYmEnOyB9XG4gICAgbGV0IGNvbG9yOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge1xuICAgICAgJ2hzbGEnOiAoKSA9PiB7XG4gICAgICAgIGxldCBoc2xhID0gdGhpcy5kZW5vcm1hbGl6ZUhTTEEodGhpcy5oc3ZhMmhzbGEoaHN2YSkpO1xuICAgICAgICByZXR1cm4gYGhzbGEoJHtoc2xhLmh1ZX0sJHtoc2xhLnNhdHVyYXRpb259JSwke2hzbGEubGlnaHRuZXNzfSUsJHtoc2xhLmFscGhhfSlgO1xuICAgICAgfSxcbiAgICAgICdoZXgnOiAoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhleFRleHQodGhpcy5kZW5vcm1hbGl6ZVJHQkEodGhpcy5oc3ZhVG9SZ2JhKGhzdmEpKSwgYWxsb3dIZXg4KTtcbiAgICAgIH0sXG4gICAgICAnY215ayc6ICgpID0+IHtcbiAgICAgICAgbGV0IGNteWsgPSB0aGlzLmRlbm9ybWFsaXplQ01ZSyh0aGlzLnJnYmFUb0NteWsodGhpcy5oc3ZhVG9SZ2JhKGhzdmEpKSk7XG4gICAgICAgIHJldHVybiBgY215aygke2NteWsuY3lhbn0lLCR7Y215ay5tYWdlbnRhfSUsJHtjbXlrLnllbGxvd30lLCR7Y215ay5rZXl9JSlgO1xuICAgICAgfSxcbiAgICAgICdyZ2JhJzogKCkgPT4ge1xuICAgICAgICBsZXQgcmdiYSA9IHRoaXMuZGVub3JtYWxpemVSR0JBKHRoaXMuaHN2YVRvUmdiYShoc3ZhKSk7XG4gICAgICAgIHJldHVybiBgcmdiYSgke3JnYmEucmVkfSwke3JnYmEuZ3JlZW59LCR7cmdiYS5ibHVlfSwke3JnYmEuYWxwaGF9KWA7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHJldHVybiBjb2xvcltvdXRwdXRGb3JtYXRdKCk7XG4gIH1cblxuICBwdWJsaWMgc2t5Q29sb3JwaWNrZXJPdXQoY29sb3I6IFNreUNvbG9ycGlja2VySHN2YSkge1xuICAgIGxldCBmb3JtYXRDb2xvcjogU2t5Q29sb3JwaWNrZXJPdXRwdXQ7XG4gICAgbGV0IGNteWtUZXh0OiBzdHJpbmcgPSB0aGlzLm91dHB1dEZvcm1hdChjb2xvciwgJ2NteWsnLCB0cnVlKTtcbiAgICBsZXQgaHNsYVRleHQ6IHN0cmluZyA9IHRoaXMub3V0cHV0Rm9ybWF0KGNvbG9yLCAnaHNsYScsIHRydWUpO1xuICAgIGxldCByZ2JhVGV4dDogc3RyaW5nID0gdGhpcy5vdXRwdXRGb3JtYXQoY29sb3IsICdyZ2JhJywgdHJ1ZSk7XG4gICAgbGV0IHJnYmE6IFNreUNvbG9ycGlja2VyUmdiYSA9IHRoaXMuaHN2YVRvUmdiYShjb2xvcik7XG4gICAgbGV0IGhzbGE6IFNreUNvbG9ycGlja2VySHNsYSA9IHRoaXMuaHN2YTJoc2xhKGNvbG9yKTtcbiAgICBsZXQgY215azogU2t5Q29sb3JwaWNrZXJDbXlrID0gdGhpcy5yZ2JhVG9DbXlrKHJnYmEpO1xuICAgIGxldCBoZXg6IHN0cmluZyA9IHRoaXMub3V0cHV0Rm9ybWF0KGNvbG9yLCAnaGV4JywgZmFsc2UpO1xuXG4gICAgZm9ybWF0Q29sb3IgPSB7XG4gICAgICAnY215a1RleHQnOiBjbXlrVGV4dCxcbiAgICAgICdoc2xhVGV4dCc6IGhzbGFUZXh0LFxuICAgICAgJ3JnYmFUZXh0JzogcmdiYVRleHQsXG4gICAgICAnaHN2YSc6IHRoaXMuZGVub3JtYWxpemVIU1ZBKGNvbG9yKSxcbiAgICAgICdyZ2JhJzogdGhpcy5kZW5vcm1hbGl6ZVJHQkEocmdiYSksXG4gICAgICAnaHNsYSc6IHRoaXMuZGVub3JtYWxpemVIU0xBKGhzbGEpLFxuICAgICAgJ2NteWsnOiB0aGlzLmRlbm9ybWFsaXplQ01ZSyhjbXlrKSxcbiAgICAgICdoZXgnOiBoZXhcbiAgICB9O1xuICAgIHJldHVybiBmb3JtYXRDb2xvcjtcbiAgfVxuXG4gIHB1YmxpYyBoZXhUZXh0KHJnYmE6IFNreUNvbG9ycGlja2VyUmdiYSwgYWxsb3dIZXg4OiBib29sZWFuKTogc3RyaW5nIHtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZSBuby1iaXR3aXNlXG4gICAgbGV0IGhleFRleHQgPSAnIycgKyAoKDEgPDwgMjQpIHxcbiAgICAgIChyZ2JhLnJlZCA8PCAxNikgfFxuICAgICAgKHJnYmEuZ3JlZW4gPDwgOCkgfFxuICAgICAgcmdiYS5ibHVlKS50b1N0cmluZygxNikuc3Vic3RyKDEpO1xuICAgIGlmIChcbiAgICAgIGhleFRleHRbMV0gPT09IGhleFRleHRbMl1cbiAgICAgICYmIGhleFRleHRbM10gPT09IGhleFRleHRbNF1cbiAgICAgICYmIGhleFRleHRbNV0gPT09IGhleFRleHRbNl1cbiAgICAgICYmIHJnYmEuYWxwaGEgPT09IDFcbiAgICAgICYmICFhbGxvd0hleDgpIHtcbiAgICAgIGhleFRleHQgPSAnIycgKyBoZXhUZXh0WzFdICsgaGV4VGV4dFszXSArIGhleFRleHRbNV07XG4gICAgfVxuICAgIGlmIChhbGxvd0hleDgpIHtcbiAgICAgIGhleFRleHQgKz0gKCgxIDw8IDgpIHwgTWF0aC5yb3VuZChyZ2JhLmFscGhhICogMjU1KSkudG9TdHJpbmcoMTYpLnN1YnN0cigxKTtcbiAgICB9XG4gICAgcmV0dXJuIGhleFRleHQ7XG4gICAgLy8gdHNsaW50OmVuYWJsZSBuby1iaXR3aXNlXG4gIH1cblxuICBwdWJsaWMgZGVub3JtYWxpemVSR0JBKHJnYmE6IFNreUNvbG9ycGlja2VyUmdiYSk6IFNreUNvbG9ycGlja2VyUmdiYSB7XG4gICAgY29uc3QgZGVub3JtYWxpemVSZ2JhOiBTa3lDb2xvcnBpY2tlclJnYmEgPSB7XG4gICAgICAncmVkJzogTWF0aC5yb3VuZChyZ2JhLnJlZCAqIDI1NSksXG4gICAgICAnZ3JlZW4nOiBNYXRoLnJvdW5kKHJnYmEuZ3JlZW4gKiAyNTUpLFxuICAgICAgJ2JsdWUnOiBNYXRoLnJvdW5kKHJnYmEuYmx1ZSAqIDI1NSksXG4gICAgICAnYWxwaGEnOiBNYXRoLnJvdW5kKHJnYmEuYWxwaGEgKiAxMDApIC8gMTAwXG4gICAgfTtcbiAgICByZXR1cm4gZGVub3JtYWxpemVSZ2JhO1xuICB9XG5cbiAgcHVibGljIGRlbm9ybWFsaXplSFNMQShoc2xhOiBTa3lDb2xvcnBpY2tlckhzbGEpOiBTa3lDb2xvcnBpY2tlckhzbGEge1xuICAgIGNvbnN0IGRlbm9ybWFsaXplSHNsYTogU2t5Q29sb3JwaWNrZXJIc2xhID0ge1xuICAgICAgaHVlOiBNYXRoLnJvdW5kKChoc2xhLmh1ZSkgKiAzNjApLFxuICAgICAgc2F0dXJhdGlvbjogTWF0aC5yb3VuZChoc2xhLnNhdHVyYXRpb24gKiAxMDApLFxuICAgICAgbGlnaHRuZXNzOiBNYXRoLnJvdW5kKGhzbGEubGlnaHRuZXNzICogMTAwKSxcbiAgICAgIGFscGhhOiBNYXRoLnJvdW5kKGhzbGEuYWxwaGEgKiAxMDApIC8gMTAwXG4gICAgfTtcbiAgICByZXR1cm4gZGVub3JtYWxpemVIc2xhO1xuICB9XG5cbiAgcHVibGljIGRlbm9ybWFsaXplSFNWQShoc2xhOiBTa3lDb2xvcnBpY2tlckhzdmEpOiBTa3lDb2xvcnBpY2tlckhzdmEge1xuICAgIGNvbnN0IGRlbm9ybWFsaXplSHN2YTogU2t5Q29sb3JwaWNrZXJIc3ZhID0ge1xuICAgICAgaHVlOiBNYXRoLnJvdW5kKChoc2xhLmh1ZSkgKiAzNjApLFxuICAgICAgc2F0dXJhdGlvbjogTWF0aC5yb3VuZChoc2xhLnNhdHVyYXRpb24gKiAxMDApLFxuICAgICAgdmFsdWU6IE1hdGgucm91bmQoaHNsYS52YWx1ZSAqIDEwMCksXG4gICAgICBhbHBoYTogTWF0aC5yb3VuZChoc2xhLmFscGhhICogMTAwKSAvIDEwMFxuICAgIH07XG4gICAgcmV0dXJuIGRlbm9ybWFsaXplSHN2YTtcbiAgfVxuXG4gIHB1YmxpYyBkZW5vcm1hbGl6ZUNNWUsoY215azogU2t5Q29sb3JwaWNrZXJDbXlrKTogU2t5Q29sb3JwaWNrZXJDbXlrIHtcbiAgICBjb25zdCBkZW5vcm1hbGl6ZUNteWs6IFNreUNvbG9ycGlja2VyQ215ayA9IHtcbiAgICAgIGN5YW46IE1hdGgucm91bmQoKGNteWsuY3lhbikgKiAxMDApLFxuICAgICAgbWFnZW50YTogTWF0aC5yb3VuZChjbXlrLm1hZ2VudGEgKiAxMDApLFxuICAgICAgeWVsbG93OiBNYXRoLnJvdW5kKGNteWsueWVsbG93ICogMTAwKSxcbiAgICAgIGtleTogTWF0aC5yb3VuZChjbXlrLmtleSAqIDEwMClcbiAgICB9O1xuICAgIHJldHVybiBkZW5vcm1hbGl6ZUNteWs7XG4gIH1cbn1cbiJdfQ==
@@ -15,9 +15,9 @@ export class SkyColorpickerResourcesProvider {
15
15
  return getLibStringForLocale(RESOURCES, localeInfo.locale, name);
16
16
  }
17
17
  }
18
- SkyColorpickerResourcesProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyColorpickerResourcesProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
19
- SkyColorpickerResourcesProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyColorpickerResourcesProvider });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyColorpickerResourcesProvider, decorators: [{
18
+ SkyColorpickerResourcesProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: SkyColorpickerResourcesProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
19
+ SkyColorpickerResourcesProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: SkyColorpickerResourcesProvider });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: SkyColorpickerResourcesProvider, decorators: [{
21
21
  type: Injectable
22
22
  }] });
23
23
  /**
@@ -25,14 +25,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
25
25
  */
26
26
  export class SkyColorpickerResourcesModule {
27
27
  }
28
- SkyColorpickerResourcesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyColorpickerResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
29
- SkyColorpickerResourcesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyColorpickerResourcesModule, exports: [SkyI18nModule] });
30
- SkyColorpickerResourcesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyColorpickerResourcesModule, providers: [{
28
+ SkyColorpickerResourcesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: SkyColorpickerResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
29
+ SkyColorpickerResourcesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: SkyColorpickerResourcesModule, exports: [SkyI18nModule] });
30
+ SkyColorpickerResourcesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: SkyColorpickerResourcesModule, providers: [{
31
31
  provide: SKY_LIB_RESOURCES_PROVIDERS,
32
32
  useClass: SkyColorpickerResourcesProvider,
33
33
  multi: true
34
34
  }], imports: [SkyI18nModule] });
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyColorpickerResourcesModule, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: SkyColorpickerResourcesModule, decorators: [{
36
36
  type: NgModule,
37
37
  args: [{
38
38
  exports: [SkyI18nModule],
@@ -43,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
43
43
  }]
44
44
  }]
45
45
  }] });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LWNvbG9ycGlja2VyLXJlc291cmNlcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2xvcnBpY2tlci9zcmMvbW9kdWxlcy9zaGFyZWQvc2t5LWNvbG9ycGlja2VyLXJlc291cmNlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQ0wscUJBQXFCLEVBRXJCLGFBQWEsRUFHYiwyQkFBMkIsRUFDNUIsTUFBTSxhQUFhLENBQUM7O0FBRXJCLE1BQU0sU0FBUyxHQUEwQztJQUN2RCxPQUFPLEVBQUUsRUFBQyx5QkFBeUIsRUFBQyxFQUFDLFNBQVMsRUFBQyxJQUFJLEVBQUMsRUFBQyx5QkFBeUIsRUFBQyxFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsRUFBQyw4QkFBOEIsRUFBQyxFQUFDLFNBQVMsRUFBQyxxQ0FBcUMsRUFBQyxFQUFDLDZCQUE2QixFQUFDLEVBQUMsU0FBUyxFQUFDLDhCQUE4QixFQUFDLEVBQUMsOEJBQThCLEVBQUMsRUFBQyxTQUFTLEVBQUMsK0JBQStCLEVBQUMsRUFBQyw0QkFBNEIsRUFBQyxFQUFDLFNBQVMsRUFBQyx3QkFBd0IsRUFBQyxFQUFDLDRCQUE0QixFQUFDLEVBQUMsU0FBUyxFQUFDLDZCQUE2QixFQUFDLEVBQUMsd0JBQXdCLEVBQUMsRUFBQyxTQUFTLEVBQUMsSUFBSSxFQUFDLEVBQUMseUJBQXlCLEVBQUMsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLEVBQUMsbUNBQW1DLEVBQUMsRUFBQyxTQUFTLEVBQUMsb0JBQW9CLEVBQUMsRUFBQyx5QkFBeUIsRUFBQyxFQUFDLFNBQVMsRUFBQyxJQUFJLEVBQUMsRUFBQyx1QkFBdUIsRUFBQyxFQUFDLFNBQVMsRUFBQyxNQUFNLEVBQUMsRUFBQyx1Q0FBdUMsRUFBQyxFQUFDLFNBQVMsRUFBQyxhQUFhLEVBQUMsRUFBQyxnQ0FBZ0MsRUFBQyxFQUFDLFNBQVMsRUFBQyxlQUFlLEVBQUMsRUFBQyx1QkFBdUIsRUFBQyxFQUFDLFNBQVMsRUFBQyxJQUFJLEVBQUMsRUFBQyx5QkFBeUIsRUFBQyxFQUFDLFNBQVMsRUFBQyw0QkFBNEIsRUFBQyxFQUFDO0NBQ2o3QixDQUFDO0FBR0YsTUFBTSxPQUFPLCtCQUErQjtJQUNuQyxTQUFTLENBQUMsVUFBNEIsRUFBRSxJQUFZO1FBQ3pELE9BQU8scUJBQXFCLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkUsQ0FBQzs7NEhBSFUsK0JBQStCO2dJQUEvQiwrQkFBK0I7MkZBQS9CLCtCQUErQjtrQkFEM0MsVUFBVTs7QUFPWDs7R0FFRztBQVNILE1BQU0sT0FBTyw2QkFBNkI7OzBIQUE3Qiw2QkFBNkI7MkhBQTdCLDZCQUE2QixZQVA5QixhQUFhOzJIQU9aLDZCQUE2QixhQU43QixDQUFDO1lBQ1YsT0FBTyxFQUFFLDJCQUEyQjtZQUNwQyxRQUFRLEVBQUUsK0JBQStCO1lBQ3pDLEtBQUssRUFBRSxJQUFJO1NBQ1osQ0FBQyxZQUxRLGFBQWE7MkZBT1osNkJBQTZCO2tCQVJ6QyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztvQkFDeEIsU0FBUyxFQUFFLENBQUM7NEJBQ1YsT0FBTyxFQUFFLDJCQUEyQjs0QkFDcEMsUUFBUSxFQUFFLCtCQUErQjs0QkFDekMsS0FBSyxFQUFFLElBQUk7eUJBQ1osQ0FBQztpQkFDSCIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTk9USUNFOiBETyBOT1QgTU9ESUZZIFRISVMgRklMRSFcbiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgd2VyZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieVxuICogdGhlICduZyBnZW5lcmF0ZSBAc2t5dXgvaTE4bjpsaWItcmVzb3VyY2VzLW1vZHVsZSBtb2R1bGVzL3NoYXJlZC9za3ktY29sb3JwaWNrZXInIHNjaGVtYXRpYy5cbiAqIFRvIHVwZGF0ZSB0aGlzIGZpbGUsIHNpbXBseSByZXJ1biB0aGUgY29tbWFuZC5cbiAqL1xuXG5pbXBvcnQgeyBOZ01vZHVsZSwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgZ2V0TGliU3RyaW5nRm9yTG9jYWxlLFxuICBTa3lBcHBMb2NhbGVJbmZvLFxuICBTa3lJMThuTW9kdWxlLFxuICBTa3lMaWJSZXNvdXJjZXMsXG4gIFNreUxpYlJlc291cmNlc1Byb3ZpZGVyLFxuICBTS1lfTElCX1JFU09VUkNFU19QUk9WSURFUlNcbn0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5jb25zdCBSRVNPVVJDRVM6IHsgW2xvY2FsZTogc3RyaW5nXTogU2t5TGliUmVzb3VyY2VzIH0gPSB7XG4gICdFTi1VUyc6IHtcInNreXV4X2NvbG9ycGlja2VyX2FscGhhXCI6e1wibWVzc2FnZVwiOlwiQTpcIn0sXCJza3l1eF9jb2xvcnBpY2tlcl9hcHBseVwiOntcIm1lc3NhZ2VcIjpcIkFwcGx5XCJ9LFwic2t5dXhfY29sb3JwaWNrZXJfYXJpYV9hbHBoYVwiOntcIm1lc3NhZ2VcIjpcIkFscGhhIGNoYW5uZWwgdmFsdWUgYmV0d2VlbiAwIGFuZCAxXCJ9LFwic2t5dXhfY29sb3JwaWNrZXJfYXJpYV9ibHVlXCI6e1wibWVzc2FnZVwiOlwiQmx1ZSB2YWx1ZSBiZXR3ZWVuIDAgYW5kIDI1NVwifSxcInNreXV4X2NvbG9ycGlja2VyX2FyaWFfZ3JlZW5cIjp7XCJtZXNzYWdlXCI6XCJHcmVlbiB2YWx1ZSBiZXR3ZWVuIDAgYW5kIDI1NVwifSxcInNreXV4X2NvbG9ycGlja2VyX2FyaWFfaGV4XCI6e1wibWVzc2FnZVwiOlwiSGV4YWRlY2ltYWwgY29sb3IgY29kZVwifSxcInNreXV4X2NvbG9ycGlja2VyX2FyaWFfcmVkXCI6e1wibWVzc2FnZVwiOlwiUmVkIHZhbHVlIGJldHdlZW4gMCBhbmQgMjU1XCJ9LFwic2t5dXhfY29sb3JwaWNrZXJfYmx1ZVwiOntcIm1lc3NhZ2VcIjpcIkI6XCJ9LFwic2t5dXhfY29sb3JwaWNrZXJfY2xvc2VcIjp7XCJtZXNzYWdlXCI6XCJDYW5jZWxcIn0sXCJza3l1eF9jb2xvcnBpY2tlcl9kcm9wZG93bl9idXR0b25cIjp7XCJtZXNzYWdlXCI6XCJTZWxlY3QgY29sb3IgdmFsdWVcIn0sXCJza3l1eF9jb2xvcnBpY2tlcl9ncmVlblwiOntcIm1lc3NhZ2VcIjpcIkc6XCJ9LFwic2t5dXhfY29sb3JwaWNrZXJfaGV4XCI6e1wibWVzc2FnZVwiOlwiSGV4OlwifSxcInNreXV4X2NvbG9ycGlja2VyX2lucHV0X2RlZmF1bHRfbGFiZWxcIjp7XCJtZXNzYWdlXCI6XCJDb2xvciB2YWx1ZVwifSxcInNreXV4X2NvbG9ycGlja2VyX3ByZXNldF9jb2xvclwiOntcIm1lc3NhZ2VcIjpcIlByZXNldCBDb2xvcjpcIn0sXCJza3l1eF9jb2xvcnBpY2tlcl9yZWRcIjp7XCJtZXNzYWdlXCI6XCJSOlwifSxcInNreXV4X2NvbG9ycGlja2VyX3Jlc2V0XCI6e1wibWVzc2FnZVwiOlwiUmVzZXQgY29sb3IgdmFsdWUgdG8gd2hpdGVcIn19LFxufTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreUNvbG9ycGlja2VyUmVzb3VyY2VzUHJvdmlkZXIgaW1wbGVtZW50cyBTa3lMaWJSZXNvdXJjZXNQcm92aWRlciB7XG4gIHB1YmxpYyBnZXRTdHJpbmcobG9jYWxlSW5mbzogU2t5QXBwTG9jYWxlSW5mbywgbmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZ2V0TGliU3RyaW5nRm9yTG9jYWxlKFJFU09VUkNFUywgbG9jYWxlSW5mby5sb2NhbGUsIG5hbWUpO1xuICB9XG59XG5cbi8qKlxuICogSW1wb3J0IGludG8gYW55IGNvbXBvbmVudCBsaWJyYXJ5IG1vZHVsZSB0aGF0IG5lZWRzIHRvIHVzZSByZXNvdXJjZSBzdHJpbmdzLlxuICovXG5ATmdNb2R1bGUoe1xuICBleHBvcnRzOiBbU2t5STE4bk1vZHVsZV0sXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBTS1lfTElCX1JFU09VUkNFU19QUk9WSURFUlMsXG4gICAgdXNlQ2xhc3M6IFNreUNvbG9ycGlja2VyUmVzb3VyY2VzUHJvdmlkZXIsXG4gICAgbXVsdGk6IHRydWVcbiAgfV1cbn0pXG5leHBvcnQgY2xhc3MgU2t5Q29sb3JwaWNrZXJSZXNvdXJjZXNNb2R1bGUgeyB9XG4iXX0=
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LWNvbG9ycGlja2VyLXJlc291cmNlcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2xvcnBpY2tlci9zcmMvbW9kdWxlcy9zaGFyZWQvc2t5LWNvbG9ycGlja2VyLXJlc291cmNlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQ0wscUJBQXFCLEVBRXJCLGFBQWEsRUFHYiwyQkFBMkIsRUFDNUIsTUFBTSxhQUFhLENBQUM7O0FBRXJCLE1BQU0sU0FBUyxHQUEwQztJQUN2RCxPQUFPLEVBQUUsRUFBQyx5QkFBeUIsRUFBQyxFQUFDLFNBQVMsRUFBQyxJQUFJLEVBQUMsRUFBQyx5QkFBeUIsRUFBQyxFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsRUFBQyw4QkFBOEIsRUFBQyxFQUFDLFNBQVMsRUFBQyxxQ0FBcUMsRUFBQyxFQUFDLDZCQUE2QixFQUFDLEVBQUMsU0FBUyxFQUFDLDhCQUE4QixFQUFDLEVBQUMsOEJBQThCLEVBQUMsRUFBQyxTQUFTLEVBQUMsK0JBQStCLEVBQUMsRUFBQyw0QkFBNEIsRUFBQyxFQUFDLFNBQVMsRUFBQyx3QkFBd0IsRUFBQyxFQUFDLDRCQUE0QixFQUFDLEVBQUMsU0FBUyxFQUFDLDZCQUE2QixFQUFDLEVBQUMsd0JBQXdCLEVBQUMsRUFBQyxTQUFTLEVBQUMsSUFBSSxFQUFDLEVBQUMseUJBQXlCLEVBQUMsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLEVBQUMsbUNBQW1DLEVBQUMsRUFBQyxTQUFTLEVBQUMsb0JBQW9CLEVBQUMsRUFBQyx5QkFBeUIsRUFBQyxFQUFDLFNBQVMsRUFBQyxJQUFJLEVBQUMsRUFBQyx1QkFBdUIsRUFBQyxFQUFDLFNBQVMsRUFBQyxNQUFNLEVBQUMsRUFBQyx1Q0FBdUMsRUFBQyxFQUFDLFNBQVMsRUFBQyxhQUFhLEVBQUMsRUFBQyxnQ0FBZ0MsRUFBQyxFQUFDLFNBQVMsRUFBQyxlQUFlLEVBQUMsRUFBQyx1QkFBdUIsRUFBQyxFQUFDLFNBQVMsRUFBQyxJQUFJLEVBQUMsRUFBQyx5QkFBeUIsRUFBQyxFQUFDLFNBQVMsRUFBQyw0QkFBNEIsRUFBQyxFQUFDO0NBQ2o3QixDQUFDO0FBR0YsTUFBTSxPQUFPLCtCQUErQjtJQUNuQyxTQUFTLENBQUMsVUFBNEIsRUFBRSxJQUFZO1FBQ3pELE9BQU8scUJBQXFCLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkUsQ0FBQzs7NkhBSFUsK0JBQStCO2lJQUEvQiwrQkFBK0I7NEZBQS9CLCtCQUErQjtrQkFEM0MsVUFBVTs7QUFPWDs7R0FFRztBQVNILE1BQU0sT0FBTyw2QkFBNkI7OzJIQUE3Qiw2QkFBNkI7NEhBQTdCLDZCQUE2QixZQVA5QixhQUFhOzRIQU9aLDZCQUE2QixhQU43QixDQUFDO1lBQ1YsT0FBTyxFQUFFLDJCQUEyQjtZQUNwQyxRQUFRLEVBQUUsK0JBQStCO1lBQ3pDLEtBQUssRUFBRSxJQUFJO1NBQ1osQ0FBQyxZQUxRLGFBQWE7NEZBT1osNkJBQTZCO2tCQVJ6QyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztvQkFDeEIsU0FBUyxFQUFFLENBQUM7NEJBQ1YsT0FBTyxFQUFFLDJCQUEyQjs0QkFDcEMsUUFBUSxFQUFFLCtCQUErQjs0QkFDekMsS0FBSyxFQUFFLElBQUk7eUJBQ1osQ0FBQztpQkFDSCIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTk9USUNFOiBETyBOT1QgTU9ESUZZIFRISVMgRklMRSFcbiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgd2VyZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieVxuICogdGhlICduZyBnZW5lcmF0ZSBAc2t5dXgvaTE4bjpsaWItcmVzb3VyY2VzLW1vZHVsZSBtb2R1bGVzL3NoYXJlZC9za3ktY29sb3JwaWNrZXInIHNjaGVtYXRpYy5cbiAqIFRvIHVwZGF0ZSB0aGlzIGZpbGUsIHNpbXBseSByZXJ1biB0aGUgY29tbWFuZC5cbiAqL1xuXG5pbXBvcnQgeyBOZ01vZHVsZSwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgZ2V0TGliU3RyaW5nRm9yTG9jYWxlLFxuICBTa3lBcHBMb2NhbGVJbmZvLFxuICBTa3lJMThuTW9kdWxlLFxuICBTa3lMaWJSZXNvdXJjZXMsXG4gIFNreUxpYlJlc291cmNlc1Byb3ZpZGVyLFxuICBTS1lfTElCX1JFU09VUkNFU19QUk9WSURFUlNcbn0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5jb25zdCBSRVNPVVJDRVM6IHsgW2xvY2FsZTogc3RyaW5nXTogU2t5TGliUmVzb3VyY2VzIH0gPSB7XG4gICdFTi1VUyc6IHtcInNreXV4X2NvbG9ycGlja2VyX2FscGhhXCI6e1wibWVzc2FnZVwiOlwiQTpcIn0sXCJza3l1eF9jb2xvcnBpY2tlcl9hcHBseVwiOntcIm1lc3NhZ2VcIjpcIkFwcGx5XCJ9LFwic2t5dXhfY29sb3JwaWNrZXJfYXJpYV9hbHBoYVwiOntcIm1lc3NhZ2VcIjpcIkFscGhhIGNoYW5uZWwgdmFsdWUgYmV0d2VlbiAwIGFuZCAxXCJ9LFwic2t5dXhfY29sb3JwaWNrZXJfYXJpYV9ibHVlXCI6e1wibWVzc2FnZVwiOlwiQmx1ZSB2YWx1ZSBiZXR3ZWVuIDAgYW5kIDI1NVwifSxcInNreXV4X2NvbG9ycGlja2VyX2FyaWFfZ3JlZW5cIjp7XCJtZXNzYWdlXCI6XCJHcmVlbiB2YWx1ZSBiZXR3ZWVuIDAgYW5kIDI1NVwifSxcInNreXV4X2NvbG9ycGlja2VyX2FyaWFfaGV4XCI6e1wibWVzc2FnZVwiOlwiSGV4YWRlY2ltYWwgY29sb3IgY29kZVwifSxcInNreXV4X2NvbG9ycGlja2VyX2FyaWFfcmVkXCI6e1wibWVzc2FnZVwiOlwiUmVkIHZhbHVlIGJldHdlZW4gMCBhbmQgMjU1XCJ9LFwic2t5dXhfY29sb3JwaWNrZXJfYmx1ZVwiOntcIm1lc3NhZ2VcIjpcIkI6XCJ9LFwic2t5dXhfY29sb3JwaWNrZXJfY2xvc2VcIjp7XCJtZXNzYWdlXCI6XCJDYW5jZWxcIn0sXCJza3l1eF9jb2xvcnBpY2tlcl9kcm9wZG93bl9idXR0b25cIjp7XCJtZXNzYWdlXCI6XCJTZWxlY3QgY29sb3IgdmFsdWVcIn0sXCJza3l1eF9jb2xvcnBpY2tlcl9ncmVlblwiOntcIm1lc3NhZ2VcIjpcIkc6XCJ9LFwic2t5dXhfY29sb3JwaWNrZXJfaGV4XCI6e1wibWVzc2FnZVwiOlwiSGV4OlwifSxcInNreXV4X2NvbG9ycGlja2VyX2lucHV0X2RlZmF1bHRfbGFiZWxcIjp7XCJtZXNzYWdlXCI6XCJDb2xvciB2YWx1ZVwifSxcInNreXV4X2NvbG9ycGlja2VyX3ByZXNldF9jb2xvclwiOntcIm1lc3NhZ2VcIjpcIlByZXNldCBDb2xvcjpcIn0sXCJza3l1eF9jb2xvcnBpY2tlcl9yZWRcIjp7XCJtZXNzYWdlXCI6XCJSOlwifSxcInNreXV4X2NvbG9ycGlja2VyX3Jlc2V0XCI6e1wibWVzc2FnZVwiOlwiUmVzZXQgY29sb3IgdmFsdWUgdG8gd2hpdGVcIn19LFxufTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreUNvbG9ycGlja2VyUmVzb3VyY2VzUHJvdmlkZXIgaW1wbGVtZW50cyBTa3lMaWJSZXNvdXJjZXNQcm92aWRlciB7XG4gIHB1YmxpYyBnZXRTdHJpbmcobG9jYWxlSW5mbzogU2t5QXBwTG9jYWxlSW5mbywgbmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZ2V0TGliU3RyaW5nRm9yTG9jYWxlKFJFU09VUkNFUywgbG9jYWxlSW5mby5sb2NhbGUsIG5hbWUpO1xuICB9XG59XG5cbi8qKlxuICogSW1wb3J0IGludG8gYW55IGNvbXBvbmVudCBsaWJyYXJ5IG1vZHVsZSB0aGF0IG5lZWRzIHRvIHVzZSByZXNvdXJjZSBzdHJpbmdzLlxuICovXG5ATmdNb2R1bGUoe1xuICBleHBvcnRzOiBbU2t5STE4bk1vZHVsZV0sXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBTS1lfTElCX1JFU09VUkNFU19QUk9WSURFUlMsXG4gICAgdXNlQ2xhc3M6IFNreUNvbG9ycGlja2VyUmVzb3VyY2VzUHJvdmlkZXIsXG4gICAgbXVsdGk6IHRydWVcbiAgfV1cbn0pXG5leHBvcnQgY2xhc3MgU2t5Q29sb3JwaWNrZXJSZXNvdXJjZXNNb2R1bGUgeyB9XG4iXX0=