@lumeer/pivot 0.0.8 → 0.0.10

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.
@@ -33,7 +33,7 @@ export class LmrPivotTableComponent {
33
33
  pivotTransformer = new PivotDataConverter();
34
34
  pivotTableConverter = new PivotTableConverter();
35
35
  stickyColumnWidth = 150;
36
- stickyColumnHeight = 150;
36
+ stickyColumnHeight = 40;
37
37
  dataSubject$ = new BehaviorSubject(null);
38
38
  currentTables;
39
39
  pivotData$;
@@ -144,4 +144,4 @@ function tablesAreVeryDifferent(t1, t2) {
144
144
  // row numbers are different
145
145
  return (t1 || []).some((t, index) => t.cells?.length !== t2[index].cells?.length);
146
146
  }
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG1yLXBpdm90LXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2xtci1waXZvdC10YWJsZS9zcmMvbGliL2xtci1waXZvdC10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9sbXItcGl2b3QtdGFibGUvc3JjL2xpYi9sbXItcGl2b3QtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHM0osT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFL0QsT0FBTyxFQUFDLGNBQWMsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxHQUFHLEVBQUUsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRWpHLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBQywrQkFBK0IsRUFBRSw2QkFBNkIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3BILE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBc0IsY0FBYyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDOUcsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7Ozs7QUFrQnZELE1BQU0sT0FBTyxzQkFBc0I7SUFHMUIsV0FBVyxDQUFlO0lBRzFCLElBQUksQ0FBd0I7SUFHNUIsU0FBUyxDQUFhO0lBR3RCLEtBQUssQ0FBUTtJQUdiLGNBQWMsQ0FBaUI7SUFHL0IsTUFBTSxDQUFpQjtJQUd2QixTQUFTLENBQW9CO0lBRzdCLHdCQUF3QixDQUFtQjtJQUczQyxzQkFBc0IsQ0FBbUI7SUFH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QUFnQixDQUFDLE9BQXNCO0lBQzlDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQ3JCLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxhQUErQixDQUFBO1FBQ3ZFLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxZQUE4QixDQUFBO1FBQ3JFLE9BQU8sb0JBQW9CLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFBO0tBQ3pEO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsU0FBUyxzQkFBc0IsQ0FBQyxFQUFtQixFQUFFLEVBQW1CO0lBQ3RFLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtRQUMzQyxPQUFPLElBQUksQ0FBQTtLQUNaO0lBQ0QsNEJBQTRCO0lBQzVCLE9BQU8sQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNwRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFRlbXBsYXRlUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TG1yUGl2b3RDb25maWcsIExtclBpdm90VHJhbnNmb3JtfSBmcm9tICcuL3V0aWwvbG1yLXBpdm90LWNvbmZpZyc7XG5pbXBvcnQge0NvbGxlY3Rpb24sIENvbnN0cmFpbnREYXRhLCBEb2N1bWVudHNBbmRMaW5rc0RhdGEsIExpbmtUeXBlLCBRdWVyeX0gZnJvbSAnQGx1bWVlci9kYXRhLWZpbHRlcnMnO1xuaW1wb3J0IHtQaXZvdERhdGFDb252ZXJ0ZXJ9IGZyb20gJy4vdXRpbC9waXZvdC1kYXRhLWNvbnZlcnRlcic7XG5pbXBvcnQge0xtclBpdm90RGF0YX0gZnJvbSAnLi91dGlsL2xtci1waXZvdC1kYXRhJztcbmltcG9ydCB7YXN5bmNTY2hlZHVsZXIsIEJlaGF2aW9yU3ViamVjdCwgZmlsdGVyLCBtYXAsIE9ic2VydmFibGUsIHRhcCwgdGhyb3R0bGVUaW1lfSBmcm9tICdyeGpzJztcbmltcG9ydCB7TG1yUGl2b3RUYWJsZSwgTG1yUGl2b3RUYWJsZUNlbGx9IGZyb20gJy4vdXRpbC9sbXItcGl2b3QtdGFibGUnO1xuaW1wb3J0IHtQaXZvdFRhYmxlQ29udmVydGVyfSBmcm9tICcuL3V0aWwvcGl2b3QtdGFibGUtY29udmVydGVyJztcbmltcG9ydCB7TG1yRW1wdHlUYWJsZXNUZW1wbGF0ZURpcmVjdGl2ZSwgTG1yVGFibGVDZWxsVGVtcGxhdGVEaXJlY3RpdmV9IGZyb20gJy4vZGlyZWN0aXZlcy9sbXItdGVtcGxhdGVzLmRpcmVjdGl2ZSc7XG5pbXBvcnQge2NvbGxhcHNlQWxsQ2VsbHMsIGlzQ2VsbEV4cGFuZGFibGUsIExtclBpdm90VGFibGVTdGF0ZSwgdG9nZ2xlRXhwYW5kZWR9IGZyb20gJy4vdXRpbC9sbXItcGl2b3Qtc3RhdGUnO1xuaW1wb3J0IHtpc1Bpdm90Q29uZmlnQ2hhbmdlZH0gZnJvbSAnLi91dGlsL3Bpdm90LXV0aWwnO1xuXG5pbnRlcmZhY2UgRGF0YSB7XG4gIGNvbGxlY3Rpb25zOiBDb2xsZWN0aW9uW107XG4gIGxpbmtUeXBlczogTGlua1R5cGVbXTtcbiAgZGF0YTogRG9jdW1lbnRzQW5kTGlua3NEYXRhO1xuICBxdWVyeTogUXVlcnk7XG4gIGNvbnN0cmFpbnREYXRhOiBDb25zdHJhaW50RGF0YTtcbiAgY29uZmlnOiBMbXJQaXZvdENvbmZpZztcbiAgdHJhbnNmb3JtOiBMbXJQaXZvdFRyYW5zZm9ybTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbG1yLXBpdm90LXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICdsbXItcGl2b3QtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9sbXItcGl2b3QtdGFibGUuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIExtclBpdm90VGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvbGxlY3Rpb25zOiBDb2xsZWN0aW9uW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIGRhdGE6IERvY3VtZW50c0FuZExpbmtzRGF0YTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbGlua1R5cGVzOiBMaW5rVHlwZVtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBxdWVyeTogUXVlcnk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvbnN0cmFpbnREYXRhOiBDb25zdHJhaW50RGF0YTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY29uZmlnOiBMbXJQaXZvdENvbmZpZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdHJhbnNmb3JtOiBMbXJQaXZvdFRyYW5zZm9ybTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZW1wdHlUYWJsZXNUZW1wbGF0ZUlucHV0OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0YWJsZUNlbGxUZW1wbGF0ZUlucHV0OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpbml0aWFsbHlDb2xsYXBzZWQ6IGJvb2xlYW47XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjZWxsQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHtjZWxsOiBMbXJQaXZvdFRhYmxlQ2VsbDsgdGFibGVJbmRleDogbnVtYmVyOyByb3dJbmRleDogbnVtYmVyOyBjb2x1bW5JbmRleDogbnVtYmVyIH0+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBwaXZvdERhdGFDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPExtclBpdm90RGF0YT4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHBpdm90VGFibGVzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxMbXJQaXZvdFRhYmxlW10+KCk7XG5cbiAgQENvbnRlbnRDaGlsZChMbXJFbXB0eVRhYmxlc1RlbXBsYXRlRGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWZ9KSBlbXB0eVRhYmxlc1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAQ29udGVudENoaWxkKExtclRhYmxlQ2VsbFRlbXBsYXRlRGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWZ9KSB0YWJsZUNlbGxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBwcml2YXRlIHJlYWRvbmx5IHBpdm90VHJhbnNmb3JtZXIgPSBuZXcgUGl2b3REYXRhQ29udmVydGVyKCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGl2b3RUYWJsZUNvbnZlcnRlcjogUGl2b3RUYWJsZUNvbnZlcnRlciA9IG5ldyBQaXZvdFRhYmxlQ29udmVydGVyKCk7XG4gIHB1YmxpYyByZWFkb25seSBzdGlja3lDb2x1bW5XaWR0aCA9IDE1MDtcbiAgcHVibGljIHJlYWRvbmx5IHN0aWNreUNvbHVtbkhlaWdodCA9IDE1MDtcblxuICBwcml2YXRlIGRhdGFTdWJqZWN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGF0YT4obnVsbCk7XG4gIHByaXZhdGUgY3VycmVudFRhYmxlczogTG1yUGl2b3RUYWJsZVtdO1xuXG4gIHB1YmxpYyBwaXZvdERhdGEkOiBPYnNlcnZhYmxlPExtclBpdm90RGF0YT47XG4gIHB1YmxpYyBwaXZvdFRhYmxlcyQ6IE9ic2VydmFibGU8TG1yUGl2b3RUYWJsZVtdPjtcbiAgcHVibGljIHBpdm90U3RhdGVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TG1yUGl2b3RUYWJsZVN0YXRlW10+KFtdKTtcblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgY29uc3Qgb2JzZXJ2YWJsZSA9IHRoaXMuZGF0YVN1YmplY3QkLnBpcGUoZmlsdGVyKGRhdGEgPT4gISFkYXRhKSk7XG5cbiAgICB0aGlzLnBpdm90RGF0YSQgPSBvYnNlcnZhYmxlLnBpcGUoXG4gICAgICB0aHJvdHRsZVRpbWUoMjAwLCBhc3luY1NjaGVkdWxlciwge3RyYWlsaW5nOiB0cnVlLCBsZWFkaW5nOiB0cnVlfSksXG4gICAgICBtYXAoZGF0YSA9PiB0aGlzLmhhbmRsZURhdGEoZGF0YSkpLFxuICAgICAgdGFwKGRhdGEgPT4gdGhpcy5vblBpdm90RGF0YUNoYW5nZShkYXRhKSksXG4gICAgKTtcblxuICAgIHRoaXMucGl2b3RUYWJsZXMkID0gdGhpcy5waXZvdERhdGEkLnBpcGUoXG4gICAgICBtYXAoZGF0YSA9PiB0aGlzLnBpdm90VGFibGVDb252ZXJ0ZXIuY3JlYXRlVGFibGVzKGRhdGEsIHRoaXMudHJhbnNmb3JtKSksXG4gICAgICB0YXAodGFibGVzID0+IHRoaXMub25QaXZvdFRhYmxlc0NoYW5nZSh0YWJsZXMpKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIG9uUGl2b3REYXRhQ2hhbmdlKGRhdGE6IExtclBpdm90RGF0YSkge1xuICAgIHRoaXMucGl2b3REYXRhQ2hhbmdlLmVtaXQoZGF0YSk7XG4gIH1cblxuICBwcml2YXRlIG9uUGl2b3RUYWJsZXNDaGFuZ2UodGFibGVzOiBMbXJQaXZvdFRhYmxlW10pIHtcbiAgICBpZiAodGhpcy5pbml0aWFsbHlDb2xsYXBzZWQgJiYgdGFibGVzQXJlVmVyeURpZmZlcmVudCh0aGlzLmN1cnJlbnRUYWJsZXMsIHRhYmxlcykpIHtcbiAgICAgIHRoaXMucGl2b3RTdGF0ZXMkLm5leHQodGFibGVzLm1hcCh0YWJsZSA9PiBjb2xsYXBzZUFsbENlbGxzKHRhYmxlKSkpO1xuICAgIH1cblxuICAgIHRoaXMuY3VycmVudFRhYmxlcyA9IHRhYmxlcztcbiAgICB0aGlzLnBpdm90VGFibGVzQ2hhbmdlLmVtaXQodGFibGVzKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRGF0YShkYXRhOiBEYXRhKTogTG1yUGl2b3REYXRhIHtcbiAgICByZXR1cm4gdGhpcy5waXZvdFRyYW5zZm9ybWVyLmNyZWF0ZURhdGEoXG4gICAgICBkYXRhLmNvbmZpZyxcbiAgICAgIGRhdGEudHJhbnNmb3JtLFxuICAgICAgZGF0YS5jb2xsZWN0aW9ucyxcbiAgICAgIGRhdGEubGlua1R5cGVzLFxuICAgICAgZGF0YS5kYXRhLFxuICAgICAgZGF0YS5xdWVyeSxcbiAgICAgIGRhdGEuY29uc3RyYWludERhdGFcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoc2hvdWxkUmVzZXRTdGF0ZShjaGFuZ2VzKSkge1xuICAgICAgdGhpcy5yZXNldFN0YXRlKCk7XG4gICAgfVxuICAgIHRoaXMuZGF0YVN1YmplY3QkLm5leHQoe1xuICAgICAgY29uZmlnOiB0aGlzLmNvbmZpZyxcbiAgICAgIHRyYW5zZm9ybTogdGhpcy50cmFuc2Zvcm0sXG4gICAgICBjb2xsZWN0aW9uczogdGhpcy5jb2xsZWN0aW9ucyxcbiAgICAgIGxpbmtUeXBlczogdGhpcy5saW5rVHlwZXMsXG4gICAgICBkYXRhOiB0aGlzLmRhdGEsXG4gICAgICBxdWVyeTogdGhpcy5xdWVyeSxcbiAgICAgIGNvbnN0cmFpbnREYXRhOiB0aGlzLmNvbnN0cmFpbnREYXRhLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldFN0YXRlKCkge1xuICAgIC8vIHRoaXMucGl2b3RTdGF0ZXMkLm5leHQoW10pO1xuICB9XG5cbiAgcHVibGljIG9uQ2VsbENsaWNrKGNlbGw6IExtclBpdm90VGFibGVDZWxsLCByb3c6IExtclBpdm90VGFibGVDZWxsW10sIHRhYmxlSW5kZXg6IG51bWJlciwgcm93SW5kZXg6IG51bWJlciwgY29sdW1uSW5kZXg6IG51bWJlcikge1xuICAgIGlmIChpc0NlbGxFeHBhbmRhYmxlKGNlbGwpKSB7XG4gICAgICBjb25zdCBvbGRTdGF0ZSA9IHRoaXMucGl2b3RTdGF0ZXMkLnZhbHVlW3RhYmxlSW5kZXhdXG4gICAgICBjb25zdCBuZXdTdGF0ZSA9IHRvZ2dsZUV4cGFuZGVkKGNlbGwsIGNvbHVtbkluZGV4LCBvbGRTdGF0ZSlcbiAgICAgIHRoaXMuc2V0U3RhdGUodGFibGVJbmRleCwgbmV3U3RhdGUpXG4gICAgfSBlbHNlIGlmIChjZWxsPy5pc0hlYWRlciB8fCBjZWxsPy5pc1ZhbHVlKSB7XG4gICAgICBjb25zdCBoZWFkZXJDZWxsID0gY2VsbC5pc0hlYWRlciA/IGNlbGwgOiByb3cuZmluZChjID0+IGMuaXNIZWFkZXIpXG4gICAgICB0aGlzLmNlbGxDbGljay5lbWl0KHtjZWxsLCB0YWJsZUluZGV4LCByb3dJbmRleDogaGVhZGVyQ2VsbD8ub3JpZ2luYWxSb3dJbmRleCB8fCByb3dJbmRleCwgY29sdW1uSW5kZXh9KVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0U3RhdGUoaW5kZXg6IG51bWJlciwgc3RhdGU6IExtclBpdm90VGFibGVTdGF0ZSkge1xuICAgIGNvbnN0IHN0YXRlc0NvcHkgPSBbLi4uKHRoaXMucGl2b3RTdGF0ZXMkLnZhbHVlIHx8IFtdKV07XG4gICAgc3RhdGVzQ29weS5zcGxpY2UoaW5kZXgsIDEsIHN0YXRlKVxuICAgIHRoaXMucGl2b3RTdGF0ZXMkLm5leHQoc3RhdGVzQ29weSlcbiAgfVxufVxuXG5mdW5jdGlvbiBzaG91bGRSZXNldFN0YXRlKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiBib29sZWFuIHtcbiAgaWYgKGNoYW5nZXNbJ2NvbmZpZyddKSB7XG4gICAgY29uc3QgcHJldmlvdXNWYWx1ZSA9IGNoYW5nZXNbJ2NvbmZpZyddLnByZXZpb3VzVmFsdWUgYXMgTG1yUGl2b3RDb25maWdcbiAgICBjb25zdCBjdXJyZW50VmFsdWUgPSBjaGFuZ2VzWydjb25maWcnXS5jdXJyZW50VmFsdWUgYXMgTG1yUGl2b3RDb25maWdcbiAgICByZXR1cm4gaXNQaXZvdENvbmZpZ0NoYW5nZWQocHJldmlvdXNWYWx1ZSwgY3VycmVudFZhbHVlKVxuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gdGFibGVzQXJlVmVyeURpZmZlcmVudCh0MTogTG1yUGl2b3RUYWJsZVtdLCB0MjogTG1yUGl2b3RUYWJsZVtdKTogYm9vbGVhbiB7XG4gIGlmICgodDEgfHwgW10pLmxlbmd0aCAhPT0gKHQyIHx8IFtdKS5sZW5ndGgpIHtcbiAgICByZXR1cm4gdHJ1ZVxuICB9XG4gIC8vIHJvdyBudW1iZXJzIGFyZSBkaWZmZXJlbnRcbiAgcmV0dXJuICh0MSB8fCBbXSkuc29tZSgodCwgaW5kZXgpID0+IHQuY2VsbHM/Lmxlbmd0aCAhPT0gdDJbaW5kZXhdLmNlbGxzPy5sZW5ndGgpO1xufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIntwaXZvdFRhYmxlczogcGl2b3RUYWJsZXMkIHwgYXN5bmMsIHBpdm90U3RhdGVzOiBwaXZvdFN0YXRlcyQgfCBhc3luYywgcGl2b3REYXRhOiBwaXZvdERhdGEkIHwgYXN5bmN9IGFzIGRhdGFcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGEucGl2b3RUYWJsZXM/Lmxlbmd0aCAmJiAhKGRhdGEucGl2b3REYXRhIHwgcGl2b3REYXRhRW1wdHkpXCI+XG4gICAgPHRhYmxlICpuZ0Zvcj1cImxldCBwaXZvdFRhYmxlIG9mIGRhdGEucGl2b3RUYWJsZXM7IGxldCBmaXJzdDsgbGV0IHRhYmxlSW5kZXggPSBpbmRleFwiXG4gICAgICAgICAgIGNsYXNzPVwidGFibGUgdGFibGUtd2l0aG91dC1wYWRkaW5nIHRhYmxlLWJvcmRlcmxlc3MgdGFibGUtbWRcIlxuICAgICAgICAgICBbY2xhc3MubXQtNF09XCIhZmlyc3RcIj5cbiAgICAgIDx0ciAqbmdGb3I9XCJsZXQgcm93Q2VsbHMgb2YgcGl2b3RUYWJsZSB8IGZpbHRlclZpc2libGVDZWxsczpkYXRhLnBpdm90U3RhdGVzW3RhYmxlSW5kZXhdOyBsZXQgcm93SW5kZXggPSBpbmRleFwiPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNlbGwgb2Ygcm93Q2VsbHM7IGxldCBjZWxsSW5kZXggPSBpbmRleFwiPlxuICAgICAgICAgIDx0ZCAqbmdJZj1cImNlbGwgJiYge2hhc1ZhbHVlOiBjZWxsIHwgY2VsbEhhc1ZhbHVlfSBhcyBjZWxsRGF0YVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiY2VsbCBwb3NpdGlvbi1yZWxhdGl2ZSB7e2NlbGwuY29uc3RyYWludCA/IChjZWxsLmNvbnN0cmFpbnQudHlwZSB8IGxvd2VyY2FzZSkgOiAnJ319IHRleHQtdHJ1bmNhdGVcIlxuICAgICAgICAgICAgICBbY2xhc3MuZXhwYW5kYWJsZV09XCJjZWxsIHwgaXNDZWxsRXhwYW5kYWJsZVwiXG4gICAgICAgICAgICAgIFtjbGFzcy5leHBhbmRhYmxlLXJvd3NdPVwiY2VsbCB8IGlzQ2VsbFJvd3NFeHBhbmRhYmxlXCJcbiAgICAgICAgICAgICAgW2NsYXNzLmV4cGFuZGVkXT1cImNlbGwgfCBpc0NlbGxFeHBhbmRlZDpjZWxsSW5kZXg6ZGF0YS5waXZvdFN0YXRlc1t0YWJsZUluZGV4XVwiXG4gICAgICAgICAgICAgIFtjbGFzcy5zdGlja3ktc3RhcnRdPVwiY2VsbC5zdGlja3lTdGFydFwiXG4gICAgICAgICAgICAgIFtjbGFzcy5zdGlja3ktdG9wXT1cImNlbGwuc3RpY2t5VG9wXCJcbiAgICAgICAgICAgICAgW3Jvd1NwYW5dPVwiY2VsbC5yb3dTcGFuXCJcbiAgICAgICAgICAgICAgW2NvbFNwYW5dPVwiY2VsbC5jb2xTcGFuXCJcbiAgICAgICAgICAgICAgW3N0eWxlLnRvcC5weF09XCJjZWxsLnN0aWNreVRvcCA/IChyb3dJbmRleCAqIHN0aWNreUNvbHVtbkhlaWdodCkgOiB1bmRlZmluZWRcIlxuICAgICAgICAgICAgICBbc3R5bGUubGVmdC5weF09XCJjZWxsLnN0aWNreVN0YXJ0ID8gKGNlbGxJbmRleCAqIHN0aWNreUNvbHVtbldpZHRoKSA6IHVuZGVmaW5lZFwiXG4gICAgICAgICAgICAgIFtzdHlsZS53aWR0aC5weF09XCJjZWxsLnN0aWNreVN0YXJ0ID8gKGNlbGwuY29sU3BhbiAqIHN0aWNreUNvbHVtbldpZHRoKSA6IHVuZGVmaW5lZFwiXG4gICAgICAgICAgICAgIFtzdHlsZS5tYXgtd2lkdGgucHhdPVwiY2VsbC5zdGlja3lTdGFydCA/IChjZWxsLmNvbFNwYW4gKiBzdGlja3lDb2x1bW5XaWR0aCkgOiAzMDBcIlxuICAgICAgICAgICAgICBbc3R5bGUubWluLXdpZHRoLnB4XT1cImNlbGwuc3RpY2t5U3RhcnQgPyAoY2VsbC5jb2xTcGFuICogc3RpY2t5Q29sdW1uV2lkdGgpIDogdW5kZWZpbmVkXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiY2VsbC5jc3NDbGFzc1wiXG4gICAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cImNlbGwuYmFja2dyb3VuZFwiXG4gICAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJjZWxsLmJhY2tncm91bmQgJiYgKGNlbGwuYmFja2dyb3VuZCB8IGNvbnRyYXN0Q29sb3IpXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2VsbENsaWNrKGNlbGwsIHJvd0NlbGxzLCB0YWJsZUluZGV4LCByb3dJbmRleCwgY2VsbEluZGV4KVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNlbGwuc3VtbWFyeVwiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2VsbERhdGEuaGFzVmFsdWVcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBoLTEwMFwiPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdW1tYXJ5IG1lLTJcIj57e2NlbGwuc3VtbWFyeX19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0VGFibGVDZWxsVGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmxleC1ncm93LTEgaC0xMDAgdGV4dC10cnVuY2F0ZSBkLWlubGluZS1ibG9ja1wiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IGNlbGwudmFsdWUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRhYmxlQ2VsbFRlbXBsYXRlIHx8IHRhYmxlQ2VsbFRlbXBsYXRlSW5wdXQgfHwgZGVmYXVsdFRhYmxlQ2VsbFRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgdmFsdWU6IGNlbGwudmFsdWUsIGNlbGw6IGNlbGwgfVwiPlxuICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY2VsbERhdGEuaGFzVmFsdWVcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImQtYmxvY2tcIiBzdHlsZT1cIm92ZXJmbG93OiBoaWRkZW47IHdoaXRlLXNwYWNlOiBub3JtYWxcIj57e2NlbGwuc3VtbWFyeX19PC9zcGFuPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjZWxsLnN1bW1hcnlcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNlbGxEYXRhLmhhc1ZhbHVlXCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0VGFibGVDZWxsVGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImQtYmxvY2tcIiBzdHlsZT1cIm92ZXJmbG93OiBoaWRkZW47IHdoaXRlLXNwYWNlOiBub3JtYWw7IGN1cnNvcjogcG9pbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBjZWxsLnZhbHVlIH19XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidGFibGVDZWxsVGVtcGxhdGUgfHwgdGFibGVDZWxsVGVtcGxhdGVJbnB1dCB8fCBkZWZhdWx0VGFibGVDZWxsVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgdmFsdWU6IGNlbGwudmFsdWUsIGNlbGw6IGNlbGwgfVwiPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNlbGxEYXRhLmhhc1ZhbHVlXCI+Jm5ic3A7PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvdHI+XG4gICAgPC90YWJsZT5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFkYXRhLnBpdm90VGFibGVzPy5sZW5ndGggfHwgKGRhdGEucGl2b3REYXRhIHwgcGl2b3REYXRhRW1wdHkpXCI+XG4gICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0RW1wdHlUYWJsZXNUZW1wbGF0ZT5cbiAgICAgIDxkaXY+Jm5ic3A7PC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZW1wdHlUYWJsZXNUZW1wbGF0ZSB8fCBlbXB0eVRhYmxlc1RlbXBsYXRlSW5wdXQgfHwgZGVmYXVsdEVtcHR5VGFibGVzVGVtcGxhdGVcIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgIH1cIj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuIl19
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG1yLXBpdm90LXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2xtci1waXZvdC10YWJsZS9zcmMvbGliL2xtci1waXZvdC10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9sbXItcGl2b3QtdGFibGUvc3JjL2xpYi9sbXItcGl2b3QtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHM0osT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFL0QsT0FBTyxFQUFDLGNBQWMsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxHQUFHLEVBQUUsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRWpHLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBQywrQkFBK0IsRUFBRSw2QkFBNkIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3BILE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBc0IsY0FBYyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDOUcsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7Ozs7QUFrQnZELE1BQU0sT0FBTyxzQkFBc0I7SUFHMUIsV0FBVyxDQUFlO0lBRzFCLElBQUksQ0FBd0I7SUFHNUIsU0FBUyxDQUFhO0lBR3RCLEtBQUssQ0FBUTtJQUdiLGNBQWMsQ0FBaUI7SUFHL0IsTUFBTSxDQUFpQjtJQUd2QixTQUFTLENBQW9CO0lBRzdCLHdCQUF3QixDQUFtQjtJQUczQyxzQkFBc0IsQ0FBbUI7SUFH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QUFnQixDQUFDLE9BQXNCO0lBQzlDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQ3JCLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxhQUErQixDQUFBO1FBQ3ZFLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxZQUE4QixDQUFBO1FBQ3JFLE9BQU8sb0JBQW9CLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFBO0tBQ3pEO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsU0FBUyxzQkFBc0IsQ0FBQyxFQUFtQixFQUFFLEVBQW1CO0lBQ3RFLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtRQUMzQyxPQUFPLElBQUksQ0FBQTtLQUNaO0lBQ0QsNEJBQTRCO0lBQzVCLE9BQU8sQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNwRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFRlbXBsYXRlUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TG1yUGl2b3RDb25maWcsIExtclBpdm90VHJhbnNmb3JtfSBmcm9tICcuL3V0aWwvbG1yLXBpdm90LWNvbmZpZyc7XG5pbXBvcnQge0NvbGxlY3Rpb24sIENvbnN0cmFpbnREYXRhLCBEb2N1bWVudHNBbmRMaW5rc0RhdGEsIExpbmtUeXBlLCBRdWVyeX0gZnJvbSAnQGx1bWVlci9kYXRhLWZpbHRlcnMnO1xuaW1wb3J0IHtQaXZvdERhdGFDb252ZXJ0ZXJ9IGZyb20gJy4vdXRpbC9waXZvdC1kYXRhLWNvbnZlcnRlcic7XG5pbXBvcnQge0xtclBpdm90RGF0YX0gZnJvbSAnLi91dGlsL2xtci1waXZvdC1kYXRhJztcbmltcG9ydCB7YXN5bmNTY2hlZHVsZXIsIEJlaGF2aW9yU3ViamVjdCwgZmlsdGVyLCBtYXAsIE9ic2VydmFibGUsIHRhcCwgdGhyb3R0bGVUaW1lfSBmcm9tICdyeGpzJztcbmltcG9ydCB7TG1yUGl2b3RUYWJsZSwgTG1yUGl2b3RUYWJsZUNlbGx9IGZyb20gJy4vdXRpbC9sbXItcGl2b3QtdGFibGUnO1xuaW1wb3J0IHtQaXZvdFRhYmxlQ29udmVydGVyfSBmcm9tICcuL3V0aWwvcGl2b3QtdGFibGUtY29udmVydGVyJztcbmltcG9ydCB7TG1yRW1wdHlUYWJsZXNUZW1wbGF0ZURpcmVjdGl2ZSwgTG1yVGFibGVDZWxsVGVtcGxhdGVEaXJlY3RpdmV9IGZyb20gJy4vZGlyZWN0aXZlcy9sbXItdGVtcGxhdGVzLmRpcmVjdGl2ZSc7XG5pbXBvcnQge2NvbGxhcHNlQWxsQ2VsbHMsIGlzQ2VsbEV4cGFuZGFibGUsIExtclBpdm90VGFibGVTdGF0ZSwgdG9nZ2xlRXhwYW5kZWR9IGZyb20gJy4vdXRpbC9sbXItcGl2b3Qtc3RhdGUnO1xuaW1wb3J0IHtpc1Bpdm90Q29uZmlnQ2hhbmdlZH0gZnJvbSAnLi91dGlsL3Bpdm90LXV0aWwnO1xuXG5pbnRlcmZhY2UgRGF0YSB7XG4gIGNvbGxlY3Rpb25zOiBDb2xsZWN0aW9uW107XG4gIGxpbmtUeXBlczogTGlua1R5cGVbXTtcbiAgZGF0YTogRG9jdW1lbnRzQW5kTGlua3NEYXRhO1xuICBxdWVyeTogUXVlcnk7XG4gIGNvbnN0cmFpbnREYXRhOiBDb25zdHJhaW50RGF0YTtcbiAgY29uZmlnOiBMbXJQaXZvdENvbmZpZztcbiAgdHJhbnNmb3JtOiBMbXJQaXZvdFRyYW5zZm9ybTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbG1yLXBpdm90LXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICdsbXItcGl2b3QtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9sbXItcGl2b3QtdGFibGUuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIExtclBpdm90VGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvbGxlY3Rpb25zOiBDb2xsZWN0aW9uW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIGRhdGE6IERvY3VtZW50c0FuZExpbmtzRGF0YTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbGlua1R5cGVzOiBMaW5rVHlwZVtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBxdWVyeTogUXVlcnk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvbnN0cmFpbnREYXRhOiBDb25zdHJhaW50RGF0YTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY29uZmlnOiBMbXJQaXZvdENvbmZpZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdHJhbnNmb3JtOiBMbXJQaXZvdFRyYW5zZm9ybTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZW1wdHlUYWJsZXNUZW1wbGF0ZUlucHV0OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0YWJsZUNlbGxUZW1wbGF0ZUlucHV0OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpbml0aWFsbHlDb2xsYXBzZWQ6IGJvb2xlYW47XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjZWxsQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHtjZWxsOiBMbXJQaXZvdFRhYmxlQ2VsbDsgdGFibGVJbmRleDogbnVtYmVyOyByb3dJbmRleDogbnVtYmVyOyBjb2x1bW5JbmRleDogbnVtYmVyIH0+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBwaXZvdERhdGFDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPExtclBpdm90RGF0YT4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHBpdm90VGFibGVzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxMbXJQaXZvdFRhYmxlW10+KCk7XG5cbiAgQENvbnRlbnRDaGlsZChMbXJFbXB0eVRhYmxlc1RlbXBsYXRlRGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWZ9KSBlbXB0eVRhYmxlc1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAQ29udGVudENoaWxkKExtclRhYmxlQ2VsbFRlbXBsYXRlRGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWZ9KSB0YWJsZUNlbGxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBwcml2YXRlIHJlYWRvbmx5IHBpdm90VHJhbnNmb3JtZXIgPSBuZXcgUGl2b3REYXRhQ29udmVydGVyKCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGl2b3RUYWJsZUNvbnZlcnRlcjogUGl2b3RUYWJsZUNvbnZlcnRlciA9IG5ldyBQaXZvdFRhYmxlQ29udmVydGVyKCk7XG4gIHB1YmxpYyByZWFkb25seSBzdGlja3lDb2x1bW5XaWR0aCA9IDE1MDtcbiAgcHVibGljIHJlYWRvbmx5IHN0aWNreUNvbHVtbkhlaWdodCA9IDQwO1xuXG4gIHByaXZhdGUgZGF0YVN1YmplY3QkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEYXRhPihudWxsKTtcbiAgcHJpdmF0ZSBjdXJyZW50VGFibGVzOiBMbXJQaXZvdFRhYmxlW107XG5cbiAgcHVibGljIHBpdm90RGF0YSQ6IE9ic2VydmFibGU8TG1yUGl2b3REYXRhPjtcbiAgcHVibGljIHBpdm90VGFibGVzJDogT2JzZXJ2YWJsZTxMbXJQaXZvdFRhYmxlW10+O1xuICBwdWJsaWMgcGl2b3RTdGF0ZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxMbXJQaXZvdFRhYmxlU3RhdGVbXT4oW10pO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBvYnNlcnZhYmxlID0gdGhpcy5kYXRhU3ViamVjdCQucGlwZShmaWx0ZXIoZGF0YSA9PiAhIWRhdGEpKTtcblxuICAgIHRoaXMucGl2b3REYXRhJCA9IG9ic2VydmFibGUucGlwZShcbiAgICAgIHRocm90dGxlVGltZSgyMDAsIGFzeW5jU2NoZWR1bGVyLCB7dHJhaWxpbmc6IHRydWUsIGxlYWRpbmc6IHRydWV9KSxcbiAgICAgIG1hcChkYXRhID0+IHRoaXMuaGFuZGxlRGF0YShkYXRhKSksXG4gICAgICB0YXAoZGF0YSA9PiB0aGlzLm9uUGl2b3REYXRhQ2hhbmdlKGRhdGEpKSxcbiAgICApO1xuXG4gICAgdGhpcy5waXZvdFRhYmxlcyQgPSB0aGlzLnBpdm90RGF0YSQucGlwZShcbiAgICAgIG1hcChkYXRhID0+IHRoaXMucGl2b3RUYWJsZUNvbnZlcnRlci5jcmVhdGVUYWJsZXMoZGF0YSwgdGhpcy50cmFuc2Zvcm0pKSxcbiAgICAgIHRhcCh0YWJsZXMgPT4gdGhpcy5vblBpdm90VGFibGVzQ2hhbmdlKHRhYmxlcykpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgb25QaXZvdERhdGFDaGFuZ2UoZGF0YTogTG1yUGl2b3REYXRhKSB7XG4gICAgdGhpcy5waXZvdERhdGFDaGFuZ2UuZW1pdChkYXRhKTtcbiAgfVxuXG4gIHByaXZhdGUgb25QaXZvdFRhYmxlc0NoYW5nZSh0YWJsZXM6IExtclBpdm90VGFibGVbXSkge1xuICAgIGlmICh0aGlzLmluaXRpYWxseUNvbGxhcHNlZCAmJiB0YWJsZXNBcmVWZXJ5RGlmZmVyZW50KHRoaXMuY3VycmVudFRhYmxlcywgdGFibGVzKSkge1xuICAgICAgdGhpcy5waXZvdFN0YXRlcyQubmV4dCh0YWJsZXMubWFwKHRhYmxlID0+IGNvbGxhcHNlQWxsQ2VsbHModGFibGUpKSk7XG4gICAgfVxuXG4gICAgdGhpcy5jdXJyZW50VGFibGVzID0gdGFibGVzO1xuICAgIHRoaXMucGl2b3RUYWJsZXNDaGFuZ2UuZW1pdCh0YWJsZXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVEYXRhKGRhdGE6IERhdGEpOiBMbXJQaXZvdERhdGEge1xuICAgIHJldHVybiB0aGlzLnBpdm90VHJhbnNmb3JtZXIuY3JlYXRlRGF0YShcbiAgICAgIGRhdGEuY29uZmlnLFxuICAgICAgZGF0YS50cmFuc2Zvcm0sXG4gICAgICBkYXRhLmNvbGxlY3Rpb25zLFxuICAgICAgZGF0YS5saW5rVHlwZXMsXG4gICAgICBkYXRhLmRhdGEsXG4gICAgICBkYXRhLnF1ZXJ5LFxuICAgICAgZGF0YS5jb25zdHJhaW50RGF0YVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChzaG91bGRSZXNldFN0YXRlKGNoYW5nZXMpKSB7XG4gICAgICB0aGlzLnJlc2V0U3RhdGUoKTtcbiAgICB9XG4gICAgdGhpcy5kYXRhU3ViamVjdCQubmV4dCh7XG4gICAgICBjb25maWc6IHRoaXMuY29uZmlnLFxuICAgICAgdHJhbnNmb3JtOiB0aGlzLnRyYW5zZm9ybSxcbiAgICAgIGNvbGxlY3Rpb25zOiB0aGlzLmNvbGxlY3Rpb25zLFxuICAgICAgbGlua1R5cGVzOiB0aGlzLmxpbmtUeXBlcyxcbiAgICAgIGRhdGE6IHRoaXMuZGF0YSxcbiAgICAgIHF1ZXJ5OiB0aGlzLnF1ZXJ5LFxuICAgICAgY29uc3RyYWludERhdGE6IHRoaXMuY29uc3RyYWludERhdGEsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlc2V0U3RhdGUoKSB7XG4gICAgLy8gdGhpcy5waXZvdFN0YXRlcyQubmV4dChbXSk7XG4gIH1cblxuICBwdWJsaWMgb25DZWxsQ2xpY2soY2VsbDogTG1yUGl2b3RUYWJsZUNlbGwsIHJvdzogTG1yUGl2b3RUYWJsZUNlbGxbXSwgdGFibGVJbmRleDogbnVtYmVyLCByb3dJbmRleDogbnVtYmVyLCBjb2x1bW5JbmRleDogbnVtYmVyKSB7XG4gICAgaWYgKGlzQ2VsbEV4cGFuZGFibGUoY2VsbCkpIHtcbiAgICAgIGNvbnN0IG9sZFN0YXRlID0gdGhpcy5waXZvdFN0YXRlcyQudmFsdWVbdGFibGVJbmRleF1cbiAgICAgIGNvbnN0IG5ld1N0YXRlID0gdG9nZ2xlRXhwYW5kZWQoY2VsbCwgY29sdW1uSW5kZXgsIG9sZFN0YXRlKVxuICAgICAgdGhpcy5zZXRTdGF0ZSh0YWJsZUluZGV4LCBuZXdTdGF0ZSlcbiAgICB9IGVsc2UgaWYgKGNlbGw/LmlzSGVhZGVyIHx8IGNlbGw/LmlzVmFsdWUpIHtcbiAgICAgIGNvbnN0IGhlYWRlckNlbGwgPSBjZWxsLmlzSGVhZGVyID8gY2VsbCA6IHJvdy5maW5kKGMgPT4gYy5pc0hlYWRlcilcbiAgICAgIHRoaXMuY2VsbENsaWNrLmVtaXQoe2NlbGwsIHRhYmxlSW5kZXgsIHJvd0luZGV4OiBoZWFkZXJDZWxsPy5vcmlnaW5hbFJvd0luZGV4IHx8IHJvd0luZGV4LCBjb2x1bW5JbmRleH0pXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRTdGF0ZShpbmRleDogbnVtYmVyLCBzdGF0ZTogTG1yUGl2b3RUYWJsZVN0YXRlKSB7XG4gICAgY29uc3Qgc3RhdGVzQ29weSA9IFsuLi4odGhpcy5waXZvdFN0YXRlcyQudmFsdWUgfHwgW10pXTtcbiAgICBzdGF0ZXNDb3B5LnNwbGljZShpbmRleCwgMSwgc3RhdGUpXG4gICAgdGhpcy5waXZvdFN0YXRlcyQubmV4dChzdGF0ZXNDb3B5KVxuICB9XG59XG5cbmZ1bmN0aW9uIHNob3VsZFJlc2V0U3RhdGUoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IGJvb2xlYW4ge1xuICBpZiAoY2hhbmdlc1snY29uZmlnJ10pIHtcbiAgICBjb25zdCBwcmV2aW91c1ZhbHVlID0gY2hhbmdlc1snY29uZmlnJ10ucHJldmlvdXNWYWx1ZSBhcyBMbXJQaXZvdENvbmZpZ1xuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGNoYW5nZXNbJ2NvbmZpZyddLmN1cnJlbnRWYWx1ZSBhcyBMbXJQaXZvdENvbmZpZ1xuICAgIHJldHVybiBpc1Bpdm90Q29uZmlnQ2hhbmdlZChwcmV2aW91c1ZhbHVlLCBjdXJyZW50VmFsdWUpXG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiB0YWJsZXNBcmVWZXJ5RGlmZmVyZW50KHQxOiBMbXJQaXZvdFRhYmxlW10sIHQyOiBMbXJQaXZvdFRhYmxlW10pOiBib29sZWFuIHtcbiAgaWYgKCh0MSB8fCBbXSkubGVuZ3RoICE9PSAodDIgfHwgW10pLmxlbmd0aCkge1xuICAgIHJldHVybiB0cnVlXG4gIH1cbiAgLy8gcm93IG51bWJlcnMgYXJlIGRpZmZlcmVudFxuICByZXR1cm4gKHQxIHx8IFtdKS5zb21lKCh0LCBpbmRleCkgPT4gdC5jZWxscz8ubGVuZ3RoICE9PSB0MltpbmRleF0uY2VsbHM/Lmxlbmd0aCk7XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwie3Bpdm90VGFibGVzOiBwaXZvdFRhYmxlcyQgfCBhc3luYywgcGl2b3RTdGF0ZXM6IHBpdm90U3RhdGVzJCB8IGFzeW5jLCBwaXZvdERhdGE6IHBpdm90RGF0YSQgfCBhc3luY30gYXMgZGF0YVwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YS5waXZvdFRhYmxlcz8ubGVuZ3RoICYmICEoZGF0YS5waXZvdERhdGEgfCBwaXZvdERhdGFFbXB0eSlcIj5cbiAgICA8dGFibGUgKm5nRm9yPVwibGV0IHBpdm90VGFibGUgb2YgZGF0YS5waXZvdFRhYmxlczsgbGV0IGZpcnN0OyBsZXQgdGFibGVJbmRleCA9IGluZGV4XCJcbiAgICAgICAgICAgY2xhc3M9XCJ0YWJsZSB0YWJsZS13aXRob3V0LXBhZGRpbmcgdGFibGUtYm9yZGVybGVzcyB0YWJsZS1tZFwiXG4gICAgICAgICAgIFtjbGFzcy5tdC00XT1cIiFmaXJzdFwiPlxuICAgICAgPHRyICpuZ0Zvcj1cImxldCByb3dDZWxscyBvZiBwaXZvdFRhYmxlIHwgZmlsdGVyVmlzaWJsZUNlbGxzOmRhdGEucGl2b3RTdGF0ZXNbdGFibGVJbmRleF07IGxldCByb3dJbmRleCA9IGluZGV4XCI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2VsbCBvZiByb3dDZWxsczsgbGV0IGNlbGxJbmRleCA9IGluZGV4XCI+XG4gICAgICAgICAgPHRkICpuZ0lmPVwiY2VsbCAmJiB7aGFzVmFsdWU6IGNlbGwgfCBjZWxsSGFzVmFsdWV9IGFzIGNlbGxEYXRhXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjZWxsIHBvc2l0aW9uLXJlbGF0aXZlIHt7Y2VsbC5jb25zdHJhaW50ID8gKGNlbGwuY29uc3RyYWludC50eXBlIHwgbG93ZXJjYXNlKSA6ICcnfX0gdGV4dC10cnVuY2F0ZVwiXG4gICAgICAgICAgICAgIFtjbGFzcy5leHBhbmRhYmxlXT1cImNlbGwgfCBpc0NlbGxFeHBhbmRhYmxlXCJcbiAgICAgICAgICAgICAgW2NsYXNzLmV4cGFuZGFibGUtcm93c109XCJjZWxsIHwgaXNDZWxsUm93c0V4cGFuZGFibGVcIlxuICAgICAgICAgICAgICBbY2xhc3MuZXhwYW5kZWRdPVwiY2VsbCB8IGlzQ2VsbEV4cGFuZGVkOmNlbGxJbmRleDpkYXRhLnBpdm90U3RhdGVzW3RhYmxlSW5kZXhdXCJcbiAgICAgICAgICAgICAgW2NsYXNzLnN0aWNreS1zdGFydF09XCJjZWxsLnN0aWNreVN0YXJ0XCJcbiAgICAgICAgICAgICAgW2NsYXNzLnN0aWNreS10b3BdPVwiY2VsbC5zdGlja3lUb3BcIlxuICAgICAgICAgICAgICBbcm93U3Bhbl09XCJjZWxsLnJvd1NwYW5cIlxuICAgICAgICAgICAgICBbY29sU3Bhbl09XCJjZWxsLmNvbFNwYW5cIlxuICAgICAgICAgICAgICBbc3R5bGUudG9wLnB4XT1cImNlbGwuc3RpY2t5VG9wID8gKHJvd0luZGV4ICogc3RpY2t5Q29sdW1uSGVpZ2h0KSA6IHVuZGVmaW5lZFwiXG4gICAgICAgICAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cImNlbGwuc3RpY2t5U3RhcnQgPyAoY2VsbEluZGV4ICogc3RpY2t5Q29sdW1uV2lkdGgpIDogdW5kZWZpbmVkXCJcbiAgICAgICAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cImNlbGwuc3RpY2t5U3RhcnQgPyAoY2VsbC5jb2xTcGFuICogc3RpY2t5Q29sdW1uV2lkdGgpIDogdW5kZWZpbmVkXCJcbiAgICAgICAgICAgICAgW3N0eWxlLm1heC13aWR0aC5weF09XCJjZWxsLnN0aWNreVN0YXJ0ID8gKGNlbGwuY29sU3BhbiAqIHN0aWNreUNvbHVtbldpZHRoKSA6IDMwMFwiXG4gICAgICAgICAgICAgIFtzdHlsZS5taW4td2lkdGgucHhdPVwiY2VsbC5zdGlja3lTdGFydCA/IChjZWxsLmNvbFNwYW4gKiBzdGlja3lDb2x1bW5XaWR0aCkgOiB1bmRlZmluZWRcIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJjZWxsLmNzc0NsYXNzXCJcbiAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwiY2VsbC5iYWNrZ3JvdW5kXCJcbiAgICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cImNlbGwuYmFja2dyb3VuZCAmJiAoY2VsbC5iYWNrZ3JvdW5kIHwgY29udHJhc3RDb2xvcilcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25DZWxsQ2xpY2soY2VsbCwgcm93Q2VsbHMsIHRhYmxlSW5kZXgsIHJvd0luZGV4LCBjZWxsSW5kZXgpXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2VsbC5zdW1tYXJ5XCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjZWxsRGF0YS5oYXNWYWx1ZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGgtMTAwXCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1bW1hcnkgbWUtMlwiPnt7Y2VsbC5zdW1tYXJ5fX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRUYWJsZUNlbGxUZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmbGV4LWdyb3ctMSBoLTEwMCB0ZXh0LXRydW5jYXRlIGQtaW5saW5lLWJsb2NrXCI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgY2VsbC52YWx1ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidGFibGVDZWxsVGVtcGxhdGUgfHwgdGFibGVDZWxsVGVtcGxhdGVJbnB1dCB8fCBkZWZhdWx0VGFibGVDZWxsVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyB2YWx1ZTogY2VsbC52YWx1ZSwgY2VsbDogY2VsbCB9XCI+XG4gICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjZWxsRGF0YS5oYXNWYWx1ZVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZC1ibG9ja1wiIHN0eWxlPVwib3ZlcmZsb3c6IGhpZGRlbjsgd2hpdGUtc3BhY2U6IG5vcm1hbFwiPnt7Y2VsbC5zdW1tYXJ5fX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNlbGwuc3VtbWFyeVwiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2VsbERhdGEuaGFzVmFsdWVcIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRUYWJsZUNlbGxUZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZC1ibG9ja1wiIHN0eWxlPVwib3ZlcmZsb3c6IGhpZGRlbjsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgY3Vyc29yOiBwb2ludGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGNlbGwudmFsdWUgfX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0YWJsZUNlbGxUZW1wbGF0ZSB8fCB0YWJsZUNlbGxUZW1wbGF0ZUlucHV0IHx8IGRlZmF1bHRUYWJsZUNlbGxUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyB2YWx1ZTogY2VsbC52YWx1ZSwgY2VsbDogY2VsbCB9XCI+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY2VsbERhdGEuaGFzVmFsdWVcIj4mbmJzcDs8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC90cj5cbiAgICA8L3RhYmxlPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWRhdGEucGl2b3RUYWJsZXM/Lmxlbmd0aCB8fCAoZGF0YS5waXZvdERhdGEgfCBwaXZvdERhdGFFbXB0eSlcIj5cbiAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRFbXB0eVRhYmxlc1RlbXBsYXRlPlxuICAgICAgPGRpdj4mbmJzcDs8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJlbXB0eVRhYmxlc1RlbXBsYXRlIHx8IGVtcHR5VGFibGVzVGVtcGxhdGVJbnB1dCB8fCBkZWZhdWx0RW1wdHlUYWJsZXNUZW1wbGF0ZVwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAgfVwiPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG4iXX0=