slate-angular 16.1.0-next.11 → 16.1.0-next.12

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.
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3NyYy92aWV3L2NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vZGVFbnRyeSwgUmFuZ2UsIEVsZW1lbnQsIEFuY2VzdG9yLCBUZXh0LCBQYXRoIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgU2xhdGVTdHJpbmdUZW1wbGF0ZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvc3RyaW5nL3RlbXBsYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yIH0gZnJvbSAnLi4vcGx1Z2lucy9hbmd1bGFyLWVkaXRvcic7XG5pbXBvcnQgeyBDb21wb25lbnRUeXBlLCBWaWV3VHlwZSB9IGZyb20gJy4uL3R5cGVzL3ZpZXcnO1xuaW1wb3J0IHsgQmFzZUVsZW1lbnRDb21wb25lbnQsIEJhc2VMZWFmQ29tcG9uZW50LCBCYXNlVGV4dENvbXBvbmVudCB9IGZyb20gJy4vYmFzZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2xhdGVWaWV3Q29udGV4dDxUIGV4dGVuZHMgQW5ndWxhckVkaXRvciA9IEFuZ3VsYXJFZGl0b3I+IHtcbiAgICBlZGl0b3I6IFQ7XG4gICAgdGVtcGxhdGVDb21wb25lbnQ6IFNsYXRlU3RyaW5nVGVtcGxhdGU7XG4gICAgZGVmYXVsdEVsZW1lbnQ6IENvbXBvbmVudFR5cGU8QmFzZUVsZW1lbnRDb21wb25lbnQ+O1xuICAgIGRlZmF1bHRUZXh0OiBDb21wb25lbnRUeXBlPEJhc2VUZXh0Q29tcG9uZW50PjtcbiAgICBkZWZhdWx0Vm9pZFRleHQ6IENvbXBvbmVudFR5cGU8QmFzZVRleHRDb21wb25lbnQ+O1xuICAgIGRlZmF1bHRMZWFmOiBDb21wb25lbnRUeXBlPEJhc2VMZWFmQ29tcG9uZW50PjtcbiAgICB0cmFja0J5OiAoZWxlbWVudDogRWxlbWVudCkgPT4gYW55O1xuICAgIHJlbmRlckVsZW1lbnQ/OiAoZWxlbWVudDogRWxlbWVudCkgPT4gVmlld1R5cGU7XG4gICAgcmVuZGVyTGVhZj86ICh0ZXh0OiBUZXh0KSA9PiBWaWV3VHlwZTtcbiAgICByZW5kZXJUZXh0PzogKHRleHQ6IFRleHQpID0+IFZpZXdUeXBlO1xuICAgIGlzU3RyaWN0RGVjb3JhdGU6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2xhdGVDaGlsZHJlbkNvbnRleHQge1xuICAgIHBhcmVudDogQW5jZXN0b3I7XG4gICAgc2VsZWN0aW9uOiBSYW5nZTtcbiAgICBkZWNvcmF0aW9uczogUmFuZ2VbXTtcbiAgICBkZWNvcmF0ZTogKGVudHJ5OiBOb2RlRW50cnkpID0+IFJhbmdlW107XG4gICAgcmVhZG9ubHk6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2xhdGVFbGVtZW50Q29udGV4dDxUIGV4dGVuZHMgRWxlbWVudCA9IEVsZW1lbnQ+IHtcbiAgICBlbGVtZW50OiBUO1xuICAgIHNlbGVjdGlvbjogUmFuZ2UgfCBudWxsO1xuICAgIGRlY29yYXRpb25zOiBSYW5nZVtdO1xuICAgIGF0dHJpYnV0ZXM6IFNsYXRlRWxlbWVudEF0dHJpYnV0ZXM7XG4gICAgZGVjb3JhdGU6IChlbnRyeTogTm9kZUVudHJ5KSA9PiBSYW5nZVtdO1xuICAgIHJlYWRvbmx5OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNsYXRlVGV4dENvbnRleHQ8VCBleHRlbmRzIFRleHQgPSBUZXh0PiB7XG4gICAgdGV4dDogVDtcbiAgICBkZWNvcmF0aW9uczogUmFuZ2VbXTtcbiAgICBpc0xhc3Q6IGJvb2xlYW47XG4gICAgcGFyZW50OiBFbGVtZW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNsYXRlTGVhZkNvbnRleHQge1xuICAgIGxlYWY6IFRleHQ7XG4gICAgdGV4dDogVGV4dDtcbiAgICBwYXJlbnQ6IEVsZW1lbnQ7XG4gICAgaXNMYXN0OiBib29sZWFuO1xuICAgIGluZGV4OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2xhdGVFbGVtZW50QXR0cmlidXRlcyB7XG4gICAgJ2RhdGEtc2xhdGUtbm9kZSc6ICdlbGVtZW50JztcbiAgICAnZGF0YS1zbGF0ZS12b2lkJz86IGJvb2xlYW47XG4gICAgJ2RhdGEtc2xhdGUtaW5saW5lJz86IGJvb2xlYW47XG4gICAgJ2RhdGEtc2xhdGUta2V5Jz86IHN0cmluZztcbiAgICBkaXI/OiAncnRsJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTbGF0ZVN0cmluZ0NvbnRleHQge1xuICAgIHRleHQ6IHN0cmluZztcbiAgICBlbGVtZW50U3RyaW5nTGVuZ3RoOiBudW1iZXI7XG4gICAgdHlwZTogJ3N0cmluZycgfCAnbGluZUJyZWFrRW1wdHlTdHJpbmcnO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3NyYy92aWV3L2NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vZGVFbnRyeSwgUmFuZ2UsIEVsZW1lbnQsIEFuY2VzdG9yLCBUZXh0LCBQYXRoIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgU2xhdGVTdHJpbmdUZW1wbGF0ZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvc3RyaW5nL3RlbXBsYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yIH0gZnJvbSAnLi4vcGx1Z2lucy9hbmd1bGFyLWVkaXRvcic7XG5pbXBvcnQgeyBDb21wb25lbnRUeXBlLCBWaWV3VHlwZSB9IGZyb20gJy4uL3R5cGVzL3ZpZXcnO1xuaW1wb3J0IHsgQmFzZUVsZW1lbnRDb21wb25lbnQsIEJhc2VMZWFmQ29tcG9uZW50LCBCYXNlVGV4dENvbXBvbmVudCB9IGZyb20gJy4vYmFzZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2xhdGVWaWV3Q29udGV4dDxUIGV4dGVuZHMgQW5ndWxhckVkaXRvciA9IEFuZ3VsYXJFZGl0b3I+IHtcbiAgICBlZGl0b3I6IFQ7XG4gICAgdGVtcGxhdGVDb21wb25lbnQ6IFNsYXRlU3RyaW5nVGVtcGxhdGU7XG4gICAgZGVmYXVsdEVsZW1lbnQ6IENvbXBvbmVudFR5cGU8QmFzZUVsZW1lbnRDb21wb25lbnQ+O1xuICAgIGRlZmF1bHRUZXh0OiBDb21wb25lbnRUeXBlPEJhc2VUZXh0Q29tcG9uZW50PjtcbiAgICBkZWZhdWx0Vm9pZFRleHQ6IENvbXBvbmVudFR5cGU8QmFzZVRleHRDb21wb25lbnQ+O1xuICAgIGRlZmF1bHRMZWFmOiBDb21wb25lbnRUeXBlPEJhc2VMZWFmQ29tcG9uZW50PjtcbiAgICB0cmFja0J5OiAoZWxlbWVudDogRWxlbWVudCkgPT4gYW55O1xuICAgIHJlbmRlckVsZW1lbnQ/OiAoZWxlbWVudDogRWxlbWVudCkgPT4gVmlld1R5cGU7XG4gICAgcmVuZGVyTGVhZj86ICh0ZXh0OiBUZXh0KSA9PiBWaWV3VHlwZTtcbiAgICByZW5kZXJUZXh0PzogKHRleHQ6IFRleHQpID0+IFZpZXdUeXBlO1xuICAgIGlzU3RyaWN0RGVjb3JhdGU6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2xhdGVDaGlsZHJlbkNvbnRleHQge1xuICAgIHBhcmVudDogQW5jZXN0b3I7XG4gICAgc2VsZWN0aW9uOiBSYW5nZTtcbiAgICBkZWNvcmF0aW9uczogUmFuZ2VbXTtcbiAgICBkZWNvcmF0ZTogKGVudHJ5OiBOb2RlRW50cnkpID0+IFJhbmdlW107XG4gICAgcmVhZG9ubHk6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2xhdGVFbGVtZW50Q29udGV4dDxUIGV4dGVuZHMgRWxlbWVudCA9IEVsZW1lbnQ+IHtcbiAgICBlbGVtZW50OiBUO1xuICAgIHNlbGVjdGlvbjogUmFuZ2UgfCBudWxsO1xuICAgIGRlY29yYXRpb25zOiBSYW5nZVtdO1xuICAgIGF0dHJpYnV0ZXM6IFNsYXRlRWxlbWVudEF0dHJpYnV0ZXM7XG4gICAgZGVjb3JhdGU6IChlbnRyeTogTm9kZUVudHJ5KSA9PiBSYW5nZVtdO1xuICAgIHJlYWRvbmx5OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNsYXRlVGV4dENvbnRleHQ8VCBleHRlbmRzIFRleHQgPSBUZXh0PiB7XG4gICAgdGV4dDogVDtcbiAgICBkZWNvcmF0aW9uczogUmFuZ2VbXTtcbiAgICBpc0xhc3Q6IGJvb2xlYW47XG4gICAgcGFyZW50OiBFbGVtZW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNsYXRlTGVhZkNvbnRleHQge1xuICAgIGxlYWY6IFRleHQ7XG4gICAgdGV4dDogVGV4dDtcbiAgICBwYXJlbnQ6IEVsZW1lbnQ7XG4gICAgaXNMYXN0OiBib29sZWFuO1xuICAgIGluZGV4OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2xhdGVFbGVtZW50QXR0cmlidXRlcyB7XG4gICAgJ2RhdGEtc2xhdGUtbm9kZSc6ICdlbGVtZW50JztcbiAgICAnZGF0YS1zbGF0ZS12b2lkJz86IGJvb2xlYW47XG4gICAgJ2RhdGEtc2xhdGUtaW5saW5lJz86IGJvb2xlYW47XG4gICAgJ2RhdGEtc2xhdGUta2V5Jz86IHN0cmluZztcbiAgICAnY29udGVudGVkaXRhYmxlJz86IGJvb2xlYW47XG4gICAgZGlyPzogJ3J0bCc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2xhdGVTdHJpbmdDb250ZXh0IHtcbiAgICB0ZXh0OiBzdHJpbmc7XG4gICAgZWxlbWVudFN0cmluZ0xlbmd0aDogbnVtYmVyO1xuICAgIHR5cGU6ICdzdHJpbmcnIHwgJ2xpbmVCcmVha0VtcHR5U3RyaW5nJztcbn1cbiJdfQ==
@@ -177,6 +177,7 @@ export function getContext(index, item, parentPath, childrenContext, viewContext
177
177
  }
178
178
  if (isVoid) {
179
179
  elementContext.attributes['data-slate-void'] = true;
180
+ elementContext.attributes.contenteditable = false;
180
181
  }
181
182
  return elementContext;
182
183
  }
@@ -269,4 +270,4 @@ export function memoizedTextContext(prev, next) {
269
270
  next.text === prev.text &&
270
271
  isDecoratorRangeListEqual(next.decorations, prev.decorations));
271
272
  }
272
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1yZW5kZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvdmlldy9yZW5kZXIvbGlzdC1yZW5kZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF3QixLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBUSxNQUFNLE9BQU8sQ0FBQztBQUMzRSxPQUFPLEVBQWlELGVBQWUsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFHakgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUNsRixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBYyxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFM0gsTUFBTSxPQUFPLFVBQVU7SUFTbkIsWUFDWSxXQUE2QixFQUM3QixnQkFBa0MsRUFDbEMsZUFBa0MsRUFDbEMsZ0JBQTBDO1FBSDFDLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUM3QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLG9CQUFlLEdBQWYsZUFBZSxDQUFtQjtRQUNsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQTBCO1FBWDlDLFVBQUssR0FBaUQsRUFBRSxDQUFDO1FBQ3pELGVBQVUsR0FBNEMsRUFBRSxDQUFDO1FBQ3pELGFBQVEsR0FBK0MsRUFBRSxDQUFDO1FBQzFELGNBQVMsR0FBZSxFQUFFLENBQUM7UUFDM0IsV0FBTSxHQUErQixJQUFJLENBQUM7UUFDM0MsZ0JBQVcs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Qy9CLHlCQUF5QixDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUM3RCxDQUFDLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUNoSSxDQUFDO0FBQ04sQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxJQUFzQixFQUFFLElBQXNCO0lBQzlFLE9BQU8sQ0FDSCxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxNQUFNO1FBQzNCLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLE1BQU07UUFDM0IsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSTtRQUN2Qix5QkFBeUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FDaEUsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbmNlc3RvciwgRGVzY2VuZGFudCwgUmFuZ2UsIEVkaXRvciwgRWxlbWVudCwgUGF0aCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IENvbXBvbmVudFJlZiwgRW1iZWRkZWRWaWV3UmVmLCBJdGVyYWJsZURpZmZlciwgSXRlcmFibGVEaWZmZXJzLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWaWV3VHlwZSB9IGZyb20gJy4uLy4uL3R5cGVzL3ZpZXcnO1xuaW1wb3J0IHsgU2xhdGVDaGlsZHJlbkNvbnRleHQsIFNsYXRlRWxlbWVudENvbnRleHQsIFNsYXRlVGV4dENvbnRleHQsIFNsYXRlVmlld0NvbnRleHQgfSBmcm9tICcuLi9jb250ZXh0JztcbmltcG9ydCB7IEFuZ3VsYXJFZGl0b3IgfSBmcm9tICcuLi8uLi9wbHVnaW5zL2FuZ3VsYXItZWRpdG9yJztcbmltcG9ydCB7IFNsYXRlRXJyb3JDb2RlIH0gZnJvbSAnLi4vLi4vdHlwZXMvZXJyb3InO1xuaW1wb3J0IHsgTk9ERV9UT19JTkRFWCwgTk9ERV9UT19QQVJFTlQgfSBmcm9tICcuLi8uLi91dGlscy93ZWFrLW1hcHMnO1xuaW1wb3J0IHsgaXNEZWNvcmF0b3JSYW5nZUxpc3RFcXVhbCB9IGZyb20gJy4uLy4uL3V0aWxzL3JhbmdlLWxpc3QnO1xuaW1wb3J0IHsgU2xhdGVCbG9ja0NhcmQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2Jsb2NrLWNhcmQvYmxvY2stY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgY3JlYXRlRW1iZWRkZWRWaWV3T3JDb21wb25lbnQsIGdldFJvb3ROb2RlcywgbW91bnQsIG1vdW50T25JdGVtQ2hhbmdlLCByZW5kZXJWaWV3LCB1cGRhdGVDb250ZXh0IH0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBMaXN0UmVuZGVyIHtcbiAgICBwcml2YXRlIGNoaWxkcmVuOiBEZXNjZW5kYW50W107XG4gICAgcHJpdmF0ZSB2aWV3czogKEVtYmVkZGVkVmlld1JlZjxhbnk+IHwgQ29tcG9uZW50UmVmPGFueT4pW10gPSBbXTtcbiAgICBwcml2YXRlIGJsb2NrQ2FyZHM6IChDb21wb25lbnRSZWY8U2xhdGVCbG9ja0NhcmQ+IHwgbnVsbClbXSA9IFtdO1xuICAgIHByaXZhdGUgY29udGV4dHM6IChTbGF0ZVRleHRDb250ZXh0IHwgU2xhdGVFbGVtZW50Q29udGV4dClbXSA9IFtdO1xuICAgIHByaXZhdGUgdmlld1R5cGVzOiBWaWV3VHlwZVtdID0gW107XG4gICAgcHJpdmF0ZSBkaWZmZXI6IEl0ZXJhYmxlRGlmZmVyPGFueT4gfCBudWxsID0gbnVsbDtcbiAgICBwdWJsaWMgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHZpZXdDb250ZXh0OiBTbGF0ZVZpZXdDb250ZXh0LFxuICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIHByaXZhdGUgZ2V0T3V0bGV0UGFyZW50OiAoKSA9PiBIVE1MRWxlbWVudCxcbiAgICAgICAgcHJpdmF0ZSBnZXRPdXRsZXRFbGVtZW50OiAoKSA9PiBIVE1MRWxlbWVudCB8IG51bGxcbiAgICApIHt9XG5cbiAgICBwdWJsaWMgaW5pdGlhbGl6ZShjaGlsZHJlbjogRGVzY2VuZGFudFtdLCBwYXJlbnQ6IEFuY2VzdG9yLCBjaGlsZHJlbkNvbnRleHQ6IFNsYXRlQ2hpbGRyZW5Db250ZXh0KSB7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLmNoaWxkcmVuID0gY2hpbGRyZW47XG4gICAgICAgIGNvbnN0IHBhcmVudFBhdGggPSBBbmd1bGFyRWRpdG9yLmZpbmRQYXRoKHRoaXMudmlld0NvbnRleHQuZWRpdG9yLCBwYXJlbnQpO1xuICAgICAgICBjaGlsZHJlbi5mb3JFYWNoKChkZXNjZW5kYW50LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgTk9ERV9UT19JTkRFWC5zZXQoZGVzY2VuZGFudCwgaW5kZXgpO1xuICAgICAgICAgICAgTk9ERV9UT19QQVJFTlQuc2V0KGRlc2NlbmRhbnQsIHBhcmVudCk7XG4gICAgICAgICAgICBjb25zdCBjb250ZXh0ID0gZ2V0Q29udGV4dChpbmRleCwgZGVzY2VuZGFudCwgcGFyZW50UGF0aCwgY2hpbGRyZW5Db250ZXh0LCB0aGlzLnZpZXdDb250ZXh0KTtcbiAgICAgICAgICAgIGNvbnN0IHZpZXdUeXBlID0gZ2V0Vmlld1R5cGUoZGVzY2VuZGFudCwgcGFyZW50LCB0aGlzLnZpZXdDb250ZXh0KTtcbiAgICAgICAgICAgIGNvbnN0IHZpZXcgPSBjcmVhdGVFbWJlZGRlZFZpZXdPckNvbXBvbmVudCh2aWV3VHlwZSwgY29udGV4dCwgdGhpcy52aWV3Q29udGV4dCwgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgICAgIGNvbnN0IGJsb2NrQ2FyZCA9IGNyZWF0ZUJsb2NrQ2FyZChkZXNjZW5kYW50LCB2aWV3LCB0aGlzLnZpZXdDb250YWluZXJSZWYsIHRoaXMudmlld0NvbnRleHQpO1xuICAgICAgICAgICAgdGhpcy52aWV3cy5wdXNoKHZpZXcpO1xuICAgICAgICAgICAgdGhpcy5jb250ZXh0cy5wdXNoKGNvbnRleHQpO1xuICAgICAgICAgICAgdGhpcy52aWV3VHlwZXMucHVzaCh2aWV3VHlwZSk7XG4gICAgICAgICAgICB0aGlzLmJsb2NrQ2FyZHMucHVzaChibG9ja0NhcmQpO1xuICAgICAgICB9KTtcbiAgICAgICAgbW91bnQodGhpcy52aWV3cywgdGhpcy5ibG9ja0NhcmRzLCB0aGlzLmdldE91dGxldFBhcmVudCgpLCB0aGlzLmdldE91dGxldEVsZW1lbnQoKSk7XG4gICAgICAgIGNvbnN0IG5ld0RpZmZlcnMgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuaW5qZWN0b3IuZ2V0KEl0ZXJhYmxlRGlmZmVycyk7XG4gICAgICAgIHRoaXMuZGlmZmVyID0gbmV3RGlmZmVycy5maW5kKGNoaWxkcmVuKS5jcmVhdGUodHJhY2tCeSh0aGlzLnZpZXdDb250ZXh0KSk7XG4gICAgICAgIHRoaXMuZGlmZmVyLmRpZmYoY2hpbGRyZW4pO1xuICAgIH1cblxuICAgIHB1YmxpYyB1cGRhdGUoY2hpbGRyZW46IERlc2NlbmRhbnRbXSwgcGFyZW50OiBBbmNlc3RvciwgY2hpbGRyZW5Db250ZXh0OiBTbGF0ZUNoaWxkcmVuQ29udGV4dCkge1xuICAgICAgICBpZiAoIXRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZShjaGlsZHJlbiwgcGFyZW50LCBjaGlsZHJlbkNvbnRleHQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5kaWZmZXIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRXhjZXB0aW9uOiBDYW4gbm90IGZpbmQgZGlmZmVyICcpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG91dGxldFBhcmVudCA9IHRoaXMuZ2V0T3V0bGV0UGFyZW50KCk7XG4gICAgICAgIGNvbnN0IGRpZmZSZXN1bHQgPSB0aGlzLmRpZmZlci5kaWZmKGNoaWxkcmVuKTtcbiAgICAgICAgY29uc3QgcGFyZW50UGF0aCA9IEFuZ3VsYXJFZGl0b3IuZmluZFBhdGgodGhpcy52aWV3Q29udGV4dC5lZGl0b3IsIHBhcmVudCk7XG4gICAgICAgIGlmIChkaWZmUmVzdWx0KSB7XG4gICAgICAgICAgICBsZXQgZmlyc3RSb290Tm9kZSA9IGdldFJvb3ROb2Rlcyh0aGlzLnZpZXdzWzBdLCB0aGlzLmJsb2NrQ2FyZHNbMF0pWzBdO1xuICAgICAgICAgICAgY29uc3QgbmV3Q29udGV4dHMgPSBbXTtcbiAgICAgICAgICAgIGNvbnN0IG5ld1ZpZXdUeXBlcyA9IFtdO1xuICAgICAgICAgICAgY29uc3QgbmV3Vmlld3MgPSBbXTtcbiAgICAgICAgICAgIGNvbnN0IG5ld0Jsb2NrQ2FyZHM6IChDb21wb25lbnRSZWY8U2xhdGVCbG9ja0NhcmQ+IHwgbnVsbClbXSA9IFtdO1xuICAgICAgICAgICAgZGlmZlJlc3VsdC5mb3JFYWNoSXRlbShyZWNvcmQgPT4ge1xuICAgICAgICAgICAgICAgIE5PREVfVE9fSU5ERVguc2V0KHJlY29yZC5pdGVtLCByZWNvcmQuY3VycmVudEluZGV4KTtcbiAgICAgICAgICAgICAgICBOT0RFX1RPX1BBUkVOVC5zZXQocmVjb3JkLml0ZW0sIHBhcmVudCk7XG4gICAgICAgICAgICAgICAgbGV0IGNvbnRleHQgPSBnZXRDb250ZXh0KHJlY29yZC5jdXJyZW50SW5kZXgsIHJlY29yZC5pdGVtLCBwYXJlbnRQYXRoLCBjaGlsZHJlbkNvbnRleHQsIHRoaXMudmlld0NvbnRleHQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHZpZXdUeXBlID0gZ2V0Vmlld1R5cGUocmVjb3JkLml0ZW0sIHBhcmVudCwgdGhpcy52aWV3Q29udGV4dCk7XG4gICAgICAgICAgICAgICAgbmV3Vmlld1R5cGVzLnB1c2godmlld1R5cGUpO1xuICAgICAgICAgICAgICAgIGxldCB2aWV3OiBFbWJlZGRlZFZpZXdSZWY8YW55PiB8IENvbXBvbmVudFJlZjxhbnk+O1xuICAgICAgICAgICAgICAgIGxldCBibG9ja0NhcmQ6IENvbXBvbmVudFJlZjxTbGF0ZUJsb2NrQ2FyZD4gfCBudWxsO1xuICAgICAgICAgICAgICAgIGlmIChyZWNvcmQucHJldmlvdXNJbmRleCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB2aWV3ID0gY3JlYXRlRW1iZWRkZWRWaWV3T3JDb21wb25lbnQodmlld1R5cGUsIGNvbnRleHQsIHRoaXMudmlld0NvbnRleHQsIHRoaXMudmlld0NvbnRhaW5lclJlZik7XG4gICAgICAgICAgICAgICAgICAgIGJsb2NrQ2FyZCA9IGNyZWF0ZUJsb2NrQ2FyZChyZWNvcmQuaXRlbSwgdmlldywgdGhpcy52aWV3Q29udGFpbmVyUmVmLCB0aGlzLnZpZXdDb250ZXh0KTtcbiAgICAgICAgICAgICAgICAgICAgbmV3Q29udGV4dHMucHVzaChjb250ZXh0KTtcbiAgICAgICAgICAgICAgICAgICAgbmV3Vmlld3MucHVzaCh2aWV3KTtcbiAgICAgICAgICAgICAgICAgICAgbmV3QmxvY2tDYXJkcy5wdXNoKGJsb2NrQ2FyZCk7XG4gICAgICAgICAgICAgICAgICAgIG1vdW50T25JdGVtQ2hhbmdlKFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmN1cnJlbnRJbmRleCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlY29yZC5pdGVtLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3Vmlld3MsXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdCbG9ja0NhcmRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3V0bGV0UGFyZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3RSb290Tm9kZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmlld0NvbnRleHRcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwcmV2aW91c1ZpZXcgPSB0aGlzLnZpZXdzW3JlY29yZC5wcmV2aW91c0luZGV4XTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJldmlvdXNWaWV3VHlwZSA9IHRoaXMudmlld1R5cGVzW3JlY29yZC5wcmV2aW91c0luZGV4XTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJldmlvdXNDb250ZXh0ID0gdGhpcy5jb250ZXh0c1tyZWNvcmQucHJldmlvdXNJbmRleF07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHByZXZpb3VzQmxvY2tDYXJkID0gdGhpcy5ibG9ja0NhcmRzW3JlY29yZC5wcmV2aW91c0luZGV4XTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHByZXZpb3VzVmlld1R5cGUgIT09IHZpZXdUeXBlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2aWV3ID0gY3JlYXRlRW1iZWRkZWRWaWV3T3JDb21wb25lbnQodmlld1R5cGUsIGNvbnRleHQsIHRoaXMudmlld0NvbnRleHQsIHRoaXMudmlld0NvbnRhaW5lclJlZik7XG4gICAgICAgICAgICAgICAgICAgICAgICBibG9ja0NhcmQgPSBjcmVhdGVCbG9ja0NhcmQocmVjb3JkLml0ZW0sIHZpZXcsIHRoaXMudmlld0NvbnRhaW5lclJlZiwgdGhpcy52aWV3Q29udGV4dCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmaXJzdFJvb3ROb2RlID0gZ2V0Um9vdE5vZGVzKHByZXZpb3VzVmlldywgcHJldmlvdXNCbG9ja0NhcmQpWzBdO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3Um9vdE5vZGVzID0gZ2V0Um9vdE5vZGVzKHZpZXcsIGJsb2NrQ2FyZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaXJzdFJvb3ROb2RlLnJlcGxhY2VXaXRoKC4uLm5ld1Jvb3ROb2Rlcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwcmV2aW91c1ZpZXcuZGVzdHJveSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNCbG9ja0NhcmQ/LmRlc3Ryb3koKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpZXcgPSBwcmV2aW91c1ZpZXc7XG4gICAgICAgICAgICAgICAgICAgICAgICBibG9ja0NhcmQgPSBwcmV2aW91c0Jsb2NrQ2FyZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtZW1vaXplZENvbnRleHQodGhpcy52aWV3Q29udGV4dCwgcmVjb3JkLml0ZW0sIHByZXZpb3VzQ29udGV4dCBhcyBhbnksIGNvbnRleHQgYXMgYW55KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQgPSBwcmV2aW91c0NvbnRleHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZUNvbnRleHQocHJldmlvdXNWaWV3LCBjb250ZXh0LCB0aGlzLnZpZXdDb250ZXh0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBuZXdDb250ZXh0cy5wdXNoKGNvbnRleHQpO1xuICAgICAgICAgICAgICAgICAgICBuZXdWaWV3cy5wdXNoKHZpZXcpO1xuICAgICAgICAgICAgICAgICAgICBuZXdCbG9ja0NhcmRzLnB1c2goYmxvY2tDYXJkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGRpZmZSZXN1bHQuZm9yRWFjaE9wZXJhdGlvbihyZWNvcmQgPT4ge1xuICAgICAgICAgICAgICAgIC8vIHJlbW92ZWRcbiAgICAgICAgICAgICAgICBpZiAocmVjb3JkLmN1cnJlbnRJbmRleCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB2aWV3ID0gdGhpcy52aWV3c1tyZWNvcmQucHJldmlvdXNJbmRleF07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJsb2NrQ2FyZCA9IHRoaXMuYmxvY2tDYXJkc1tyZWNvcmQucHJldmlvdXNJbmRleF07XG4gICAgICAgICAgICAgICAgICAgIHZpZXcuZGVzdHJveSgpO1xuICAgICAgICAgICAgICAgICAgICBibG9ja0NhcmQ/LmRlc3Ryb3koKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gbW92ZWRcbiAgICAgICAgICAgICAgICBpZiAocmVjb3JkLnByZXZpb3VzSW5kZXggIT09IG51bGwgJiYgcmVjb3JkLmN1cnJlbnRJbmRleCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBtb3VudE9uSXRlbUNoYW5nZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlY29yZC5jdXJyZW50SW5kZXgsXG4gICAgICAgICAgICAgICAgICAgICAgICByZWNvcmQuaXRlbSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld1ZpZXdzLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3QmxvY2tDYXJkcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG91dGxldFBhcmVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0Um9vdE5vZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnZpZXdDb250ZXh0XG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIC8vIFNvbHZlIHRoZSBibG9jay1jYXJkIERPTUVsZW1lbnQgbG9zcyB3aGVuIG1vdmluZyBub2Rlc1xuICAgICAgICAgICAgICAgICAgICBuZXdCbG9ja0NhcmRzW3JlY29yZC5jdXJyZW50SW5kZXhdPy5pbnN0YW5jZS5hcHBlbmQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMudmlld1R5cGVzID0gbmV3Vmlld1R5cGVzO1xuICAgICAgICAgICAgdGhpcy52aWV3cyA9IG5ld1ZpZXdzO1xuICAgICAgICAgICAgdGhpcy5jb250ZXh0cyA9IG5ld0NvbnRleHRzO1xuICAgICAgICAgICAgdGhpcy5jaGlsZHJlbiA9IGNoaWxkcmVuO1xuICAgICAgICAgICAgdGhpcy5ibG9ja0NhcmRzID0gbmV3QmxvY2tDYXJkcztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IG5ld0NvbnRleHRzID0gW107XG4gICAgICAgICAgICB0aGlzLmNoaWxkcmVuLmZvckVhY2goKGNoaWxkLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIGxldCBjb250ZXh0ID0gZ2V0Q29udGV4dChpbmRleCwgY2hpbGQsIHBhcmVudFBhdGgsIGNoaWxkcmVuQ29udGV4dCwgdGhpcy52aWV3Q29udGV4dCk7XG4gICAgICAgICAgICAgICAgY29uc3QgcHJldmlvdXNDb250ZXh0ID0gdGhpcy5jb250ZXh0c1tpbmRleF07XG4gICAgICAgICAgICAgICAgaWYgKG1lbW9pemVkQ29udGV4dCh0aGlzLnZpZXdDb250ZXh0LCBjaGlsZCwgcHJldmlvdXNDb250ZXh0IGFzIGFueSwgY29udGV4dCBhcyBhbnkpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRleHQgPSBwcmV2aW91c0NvbnRleHQ7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlQ29udGV4dCh0aGlzLnZpZXdzW2luZGV4XSwgY29udGV4dCwgdGhpcy52aWV3Q29udGV4dCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIG5ld0NvbnRleHRzLnB1c2goY29udGV4dCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuY29udGV4dHMgPSBuZXdDb250ZXh0cztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBkZXN0cm95KCkge1xuICAgICAgICB0aGlzLmNoaWxkcmVuLmZvckVhY2goKGVsZW1lbnQ6IEVsZW1lbnQsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnZpZXdzW2luZGV4XSkge1xuICAgICAgICAgICAgICAgIHRoaXMudmlld3NbaW5kZXhdLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmJsb2NrQ2FyZHNbaW5kZXhdKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ibG9ja0NhcmRzW2luZGV4XS5kZXN0cm95KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnZpZXdzID0gW107XG4gICAgICAgIHRoaXMuYmxvY2tDYXJkcyA9IFtdO1xuICAgICAgICB0aGlzLmNvbnRleHRzID0gW107XG4gICAgICAgIHRoaXMudmlld1R5cGVzID0gW107XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5kaWZmZXIgPSBudWxsO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbnRleHQoXG4gICAgaW5kZXg6IG51bWJlcixcbiAgICBpdGVtOiBEZXNjZW5kYW50LFxuICAgIHBhcmVudFBhdGg6IFBhdGgsXG4gICAgY2hpbGRyZW5Db250ZXh0OiBTbGF0ZUNoaWxkcmVuQ29udGV4dCxcbiAgICB2aWV3Q29udGV4dDogU2xhdGVWaWV3Q29udGV4dFxuKTogU2xhdGVFbGVtZW50Q29udGV4dCB8IFNsYXRlVGV4dENvbnRleHQge1xuICAgIGlmIChFbGVtZW50LmlzRWxlbWVudChpdGVtKSkge1xuICAgICAgICBjb25zdCBjb21wdXRlZENvbnRleHQgPSBnZXRDb21tb25Db250ZXh0KGluZGV4LCBpdGVtLCBwYXJlbnRQYXRoLCB2aWV3Q29udGV4dCwgY2hpbGRyZW5Db250ZXh0KTtcbiAgICAgICAgY29uc3Qga2V5ID0gQW5ndWxhckVkaXRvci5maW5kS2V5KHZpZXdDb250ZXh0LmVkaXRvciwgaXRlbSk7XG4gICAgICAgIGNvbnN0IGlzSW5saW5lID0gdmlld0NvbnRleHQuZWRpdG9yLmlzSW5saW5lKGl0ZW0pO1xuICAgICAgICBjb25zdCBpc1ZvaWQgPSB2aWV3Q29udGV4dC5lZGl0b3IuaXNWb2lkKGl0ZW0pO1xuICAgICAgICBjb25zdCBlbGVtZW50Q29udGV4dDogU2xhdGVFbGVtZW50Q29udGV4dCA9IHtcbiAgICAgICAgICAgIGVsZW1lbnQ6IGl0ZW0sXG4gICAgICAgICAgICAuLi5jb21wdXRlZENvbnRleHQsXG4gICAgICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgICAgICAgJ2RhdGEtc2xhdGUtbm9kZSc6ICdlbGVtZW50JyxcbiAgICAgICAgICAgICAgICAnZGF0YS1zbGF0ZS1rZXknOiBrZXkuaWRcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBkZWNvcmF0ZTogY2hpbGRyZW5Db250ZXh0LmRlY29yYXRlLFxuICAgICAgICAgICAgcmVhZG9ubHk6IGNoaWxkcmVuQ29udGV4dC5yZWFkb25seVxuICAgICAgICB9O1xuICAgICAgICBpZiAoaXNJbmxpbmUpIHtcbiAgICAgICAgICAgIGVsZW1lbnRDb250ZXh0LmF0dHJpYnV0ZXNbJ2RhdGEtc2xhdGUtaW5saW5lJ10gPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc1ZvaWQpIHtcbiAgICAgICAgICAgIGVsZW1lbnRDb250ZXh0LmF0dHJpYnV0ZXNbJ2RhdGEtc2xhdGUtdm9pZCddID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZWxlbWVudENvbnRleHQ7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgY29tcHV0ZWRDb250ZXh0ID0gZ2V0Q29tbW9uQ29udGV4dChpbmRleCwgaXRlbSwgcGFyZW50UGF0aCwgdmlld0NvbnRleHQsIGNoaWxkcmVuQ29udGV4dCk7XG4gICAgICAgIGNvbnN0IGlzTGVhZkJsb2NrID0gQW5ndWxhckVkaXRvci5pc0xlYWZCbG9jayh2aWV3Q29udGV4dC5lZGl0b3IsIGNoaWxkcmVuQ29udGV4dC5wYXJlbnQpO1xuICAgICAgICBjb25zdCB0ZXh0Q29udGV4dDogU2xhdGVUZXh0Q29udGV4dCA9IHtcbiAgICAgICAgICAgIGRlY29yYXRpb25zOiBjb21wdXRlZENvbnRleHQuZGVjb3JhdGlvbnMsXG4gICAgICAgICAgICBpc0xhc3Q6IGlzTGVhZkJsb2NrICYmIGluZGV4ID09PSBjaGlsZHJlbkNvbnRleHQucGFyZW50LmNoaWxkcmVuLmxlbmd0aCAtIDEsXG4gICAgICAgICAgICBwYXJlbnQ6IGNoaWxkcmVuQ29udGV4dC5wYXJlbnQgYXMgRWxlbWVudCxcbiAgICAgICAgICAgIHRleHQ6IGl0ZW1cbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHRleHRDb250ZXh0O1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbW1vbkNvbnRleHQoXG4gICAgaW5kZXg6IG51bWJlcixcbiAgICBpdGVtOiBEZXNjZW5kYW50LFxuICAgIHBhcmVudFBhdGg6IFBhdGgsXG4gICAgdmlld0NvbnRleHQ6IFNsYXRlVmlld0NvbnRleHQsXG4gICAgY2hpbGRyZW5Db250ZXh0OiBTbGF0ZUNoaWxkcmVuQ29udGV4dFxuKTogeyBzZWxlY3Rpb246IFJhbmdlOyBkZWNvcmF0aW9uczogUmFuZ2VbXSB9IHtcbiAgICBjb25zdCBwID0gcGFyZW50UGF0aC5jb25jYXQoaW5kZXgpO1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGRzID0gY2hpbGRyZW5Db250ZXh0LmRlY29yYXRlKFtpdGVtLCBwXSk7XG4gICAgICAgIC8vIFtsaXN0LXJlbmRlcl0gcGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9uOiByZWR1Y2UgdGhlIG51bWJlciBvZiBjYWxscyB0byB0aGUgYEVkaXRvci5yYW5nZSh2aWV3Q29udGV4dC5lZGl0b3IsIHApYCBtZXRob2RcbiAgICAgICAgaWYgKGNoaWxkcmVuQ29udGV4dC5zZWxlY3Rpb24gfHwgY2hpbGRyZW5Db250ZXh0LmRlY29yYXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IHJhbmdlID0gRWRpdG9yLnJhbmdlKHZpZXdDb250ZXh0LmVkaXRvciwgcCk7XG4gICAgICAgICAgICBjb25zdCBzZWwgPSBjaGlsZHJlbkNvbnRleHQuc2VsZWN0aW9uICYmIFJhbmdlLmludGVyc2VjdGlvbihyYW5nZSwgY2hpbGRyZW5Db250ZXh0LnNlbGVjdGlvbik7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGRlYyBvZiBjaGlsZHJlbkNvbnRleHQuZGVjb3JhdGlvbnMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBkID0gUmFuZ2UuaW50ZXJzZWN0aW9uKGRlYywgcmFuZ2UpO1xuICAgICAgICAgICAgICAgIGlmIChkKSB7XG4gICAgICAgICAgICAgICAgICAgIGRzLnB1c2goZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHsgc2VsZWN0aW9uOiBzZWwsIGRlY29yYXRpb25zOiBkcyB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHsgc2VsZWN0aW9uOiBudWxsLCBkZWNvcmF0aW9uczogZHMgfTtcbiAgICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHRoaXMub3B0aW9ucy52aWV3Q29udGV4dC5lZGl0b3Iub25FcnJvcih7XG4gICAgICAgICAgICBjb2RlOiBTbGF0ZUVycm9yQ29kZS5HZXRTdGFydFBvaW50RXJyb3IsXG4gICAgICAgICAgICBuYXRpdmVFcnJvcjogZXJyb3JcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB7IHNlbGVjdGlvbjogbnVsbCwgZGVjb3JhdGlvbnM6IFtdIH07XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Vmlld1R5cGUoaXRlbTogRGVzY2VuZGFudCwgcGFyZW50OiBBbmNlc3Rvciwgdmlld0NvbnRleHQ6IFNsYXRlVmlld0NvbnRleHQpIHtcbiAgICBpZiAoRWxlbWVudC5pc0VsZW1lbnQoaXRlbSkpIHtcbiAgICAgICAgcmV0dXJuICh2aWV3Q29udGV4dC5yZW5kZXJFbGVtZW50ICYmIHZpZXdDb250ZXh0LnJlbmRlckVsZW1lbnQoaXRlbSkpIHx8IHZpZXdDb250ZXh0LmRlZmF1bHRFbGVtZW50O1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGlzVm9pZCA9IHZpZXdDb250ZXh0LmVkaXRvci5pc1ZvaWQocGFyZW50IGFzIEVsZW1lbnQpO1xuICAgICAgICByZXR1cm4gaXNWb2lkID8gdmlld0NvbnRleHQuZGVmYXVsdFZvaWRUZXh0IDogKHZpZXdDb250ZXh0LnJlbmRlclRleHQgJiYgdmlld0NvbnRleHQucmVuZGVyVGV4dChpdGVtKSkgfHwgdmlld0NvbnRleHQuZGVmYXVsdFRleHQ7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQmxvY2tDYXJkKFxuICAgIGl0ZW06IERlc2NlbmRhbnQsXG4gICAgdmlldzogRW1iZWRkZWRWaWV3UmVmPGFueT4gfCBDb21wb25lbnRSZWY8YW55PixcbiAgICB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHZpZXdDb250ZXh0OiBTbGF0ZVZpZXdDb250ZXh0XG4pIHtcbiAgICBjb25zdCBpc0Jsb2NrQ2FyZCA9IHZpZXdDb250ZXh0LmVkaXRvci5pc0Jsb2NrQ2FyZChpdGVtKTtcbiAgICBpZiAoaXNCbG9ja0NhcmQpIHtcbiAgICAgICAgY29uc3Qgcm9vdE5vZGVzID0gZ2V0Um9vdE5vZGVzKHZpZXcpO1xuICAgICAgICBjb25zdCBibG9ja0NhcmRDb21wb25lbnRSZWYgPSB2aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudDxTbGF0ZUJsb2NrQ2FyZD4oU2xhdGVCbG9ja0NhcmQsIHtcbiAgICAgICAgICAgIGluamVjdG9yOiB2aWV3Q29udGFpbmVyUmVmLmluamVjdG9yXG4gICAgICAgIH0pO1xuICAgICAgICBibG9ja0NhcmRDb21wb25lbnRSZWYuaW5zdGFuY2UuaW5pdGlhbGl6ZUNlbnRlcihyb290Tm9kZXMpO1xuICAgICAgICByZXR1cm4gYmxvY2tDYXJkQ29tcG9uZW50UmVmO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYWNrQnkodmlld0NvbnRleHQ6IFNsYXRlVmlld0NvbnRleHQpIHtcbiAgICByZXR1cm4gKGluZGV4LCBub2RlKSA9PiB7XG4gICAgICAgIHJldHVybiB2aWV3Q29udGV4dC50cmFja0J5KG5vZGUpIHx8IEFuZ3VsYXJFZGl0b3IuZmluZEtleSh2aWV3Q29udGV4dC5lZGl0b3IsIG5vZGUpO1xuICAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZW1vaXplZENvbnRleHQoXG4gICAgdmlld0NvbnRleHQ6IFNsYXRlVmlld0NvbnRleHQsXG4gICAgZGVzY2VuZGFudDogRGVzY2VuZGFudCxcbiAgICBwcmV2OiBTbGF0ZUVsZW1lbnRDb250ZXh0IHwgU2xhdGVUZXh0Q29udGV4dCxcbiAgICBuZXh0OiBTbGF0ZUVsZW1lbnRDb250ZXh0IHwgU2xhdGVUZXh0Q29udGV4dFxuKTogYm9vbGVhbiB7XG4gICAgaWYgKEVsZW1lbnQuaXNFbGVtZW50KGRlc2NlbmRhbnQpKSB7XG4gICAgICAgIHJldHVybiBtZW1vaXplZEVsZW1lbnRDb250ZXh0KHZpZXdDb250ZXh0LCBwcmV2IGFzIFNsYXRlRWxlbWVudENvbnRleHQsIG5leHQgYXMgU2xhdGVFbGVtZW50Q29udGV4dCk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG1lbW9pemVkVGV4dENvbnRleHQocHJldiBhcyBTbGF0ZVRleHRDb250ZXh0LCBuZXh0IGFzIFNsYXRlVGV4dENvbnRleHQpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lbW9pemVkRWxlbWVudENvbnRleHQodmlld0NvbnRleHQ6IFNsYXRlVmlld0NvbnRleHQsIHByZXY6IFNsYXRlRWxlbWVudENvbnRleHQsIG5leHQ6IFNsYXRlRWxlbWVudENvbnRleHQpIHtcbiAgICByZXR1cm4gKFxuICAgICAgICBwcmV2LmVsZW1lbnQgPT09IG5leHQuZWxlbWVudCAmJlxuICAgICAgICAoIXZpZXdDb250ZXh0LmlzU3RyaWN0RGVjb3JhdGUgfHwgcHJldi5kZWNvcmF0ZSA9PT0gbmV4dC5kZWNvcmF0ZSkgJiZcbiAgICAgICAgcHJldi5yZWFkb25seSA9PT0gbmV4dC5yZWFkb25seSAmJlxuICAgICAgICBpc0RlY29yYXRvclJhbmdlTGlzdEVxdWFsKHByZXYuZGVjb3JhdGlvbnMsIG5leHQuZGVjb3JhdGlvbnMpICYmXG4gICAgICAgIChwcmV2LnNlbGVjdGlvbiA9PT0gbmV4dC5zZWxlY3Rpb24gfHwgKCEhcHJldi5zZWxlY3Rpb24gJiYgISFuZXh0LnNlbGVjdGlvbiAmJiBSYW5nZS5lcXVhbHMocHJldi5zZWxlY3Rpb24sIG5leHQuc2VsZWN0aW9uKSkpXG4gICAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lbW9pemVkVGV4dENvbnRleHQocHJldjogU2xhdGVUZXh0Q29udGV4dCwgbmV4dDogU2xhdGVUZXh0Q29udGV4dCkge1xuICAgIHJldHVybiAoXG4gICAgICAgIG5leHQucGFyZW50ID09PSBwcmV2LnBhcmVudCAmJlxuICAgICAgICBuZXh0LmlzTGFzdCA9PT0gcHJldi5pc0xhc3QgJiZcbiAgICAgICAgbmV4dC50ZXh0ID09PSBwcmV2LnRleHQgJiZcbiAgICAgICAgaXNEZWNvcmF0b3JSYW5nZUxpc3RFcXVhbChuZXh0LmRlY29yYXRpb25zLCBwcmV2LmRlY29yYXRpb25zKVxuICAgICk7XG59XG4iXX0=
273
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1yZW5kZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvdmlldy9yZW5kZXIvbGlzdC1yZW5kZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF3QixLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBUSxNQUFNLE9BQU8sQ0FBQztBQUMzRSxPQUFPLEVBQWlELGVBQWUsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFHakgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUNsRixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBYyxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFM0gsTUFBTSxPQUFPLFVBQVU7SUFTbkIsWUFDWSxXQUE2QixFQUM3QixnQkFBa0MsRUFDbEMsZUFBa0MsRUFDbEMsZ0JBQTBDO1FBSDFDLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUM3QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLG9CQUFlLEdBQWYsZUFBZSxDQUFtQjtRQUNsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQTBCO1FBWDlDLFVBQUssR0FBaUQsRUFBRSxDQUFDO1FBQ3pELGVBQVUsR0FBNEMsRUFBRSxDQUFDO1FBQ3pELGFBQVEsR0FBK0MsRUFBRSxDQUFDO1FBQzFELGNBQVMsR0FBZSxFQUFFLENBQUM7UUFDM0IsV0FBTSxHQUErQixJQUFJLENBQUM7UUFDM0MsZ0JBQVcs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QUM7UUFDbEUsSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsUUFBUTtRQUMvQix5QkFBeUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDN0QsQ0FBQyxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FDaEksQ0FBQztBQUNOLENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsSUFBc0IsRUFBRSxJQUFzQjtJQUM5RSxPQUFPLENBQ0gsSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsTUFBTTtRQUMzQixJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxNQUFNO1FBQzNCLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUk7UUFDdkIseUJBQXlCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQ2hFLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5jZXN0b3IsIERlc2NlbmRhbnQsIFJhbmdlLCBFZGl0b3IsIEVsZW1lbnQsIFBhdGggfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBDb21wb25lbnRSZWYsIEVtYmVkZGVkVmlld1JlZiwgSXRlcmFibGVEaWZmZXIsIEl0ZXJhYmxlRGlmZmVycywgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmlld1R5cGUgfSBmcm9tICcuLi8uLi90eXBlcy92aWV3JztcbmltcG9ydCB7IFNsYXRlQ2hpbGRyZW5Db250ZXh0LCBTbGF0ZUVsZW1lbnRDb250ZXh0LCBTbGF0ZVRleHRDb250ZXh0LCBTbGF0ZVZpZXdDb250ZXh0IH0gZnJvbSAnLi4vY29udGV4dCc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yIH0gZnJvbSAnLi4vLi4vcGx1Z2lucy9hbmd1bGFyLWVkaXRvcic7XG5pbXBvcnQgeyBTbGF0ZUVycm9yQ29kZSB9IGZyb20gJy4uLy4uL3R5cGVzL2Vycm9yJztcbmltcG9ydCB7IE5PREVfVE9fSU5ERVgsIE5PREVfVE9fUEFSRU5UIH0gZnJvbSAnLi4vLi4vdXRpbHMvd2Vhay1tYXBzJztcbmltcG9ydCB7IGlzRGVjb3JhdG9yUmFuZ2VMaXN0RXF1YWwgfSBmcm9tICcuLi8uLi91dGlscy9yYW5nZS1saXN0JztcbmltcG9ydCB7IFNsYXRlQmxvY2tDYXJkIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9ibG9jay1jYXJkL2Jsb2NrLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IGNyZWF0ZUVtYmVkZGVkVmlld09yQ29tcG9uZW50LCBnZXRSb290Tm9kZXMsIG1vdW50LCBtb3VudE9uSXRlbUNoYW5nZSwgcmVuZGVyVmlldywgdXBkYXRlQ29udGV4dCB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgTGlzdFJlbmRlciB7XG4gICAgcHJpdmF0ZSBjaGlsZHJlbjogRGVzY2VuZGFudFtdO1xuICAgIHByaXZhdGUgdmlld3M6IChFbWJlZGRlZFZpZXdSZWY8YW55PiB8IENvbXBvbmVudFJlZjxhbnk+KVtdID0gW107XG4gICAgcHJpdmF0ZSBibG9ja0NhcmRzOiAoQ29tcG9uZW50UmVmPFNsYXRlQmxvY2tDYXJkPiB8IG51bGwpW10gPSBbXTtcbiAgICBwcml2YXRlIGNvbnRleHRzOiAoU2xhdGVUZXh0Q29udGV4dCB8IFNsYXRlRWxlbWVudENvbnRleHQpW10gPSBbXTtcbiAgICBwcml2YXRlIHZpZXdUeXBlczogVmlld1R5cGVbXSA9IFtdO1xuICAgIHByaXZhdGUgZGlmZmVyOiBJdGVyYWJsZURpZmZlcjxhbnk+IHwgbnVsbCA9IG51bGw7XG4gICAgcHVibGljIGluaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGV4dDogU2xhdGVWaWV3Q29udGV4dCxcbiAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwcml2YXRlIGdldE91dGxldFBhcmVudDogKCkgPT4gSFRNTEVsZW1lbnQsXG4gICAgICAgIHByaXZhdGUgZ2V0T3V0bGV0RWxlbWVudDogKCkgPT4gSFRNTEVsZW1lbnQgfCBudWxsXG4gICAgKSB7fVxuXG4gICAgcHVibGljIGluaXRpYWxpemUoY2hpbGRyZW46IERlc2NlbmRhbnRbXSwgcGFyZW50OiBBbmNlc3RvciwgY2hpbGRyZW5Db250ZXh0OiBTbGF0ZUNoaWxkcmVuQ29udGV4dCkge1xuICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5jaGlsZHJlbiA9IGNoaWxkcmVuO1xuICAgICAgICBjb25zdCBwYXJlbnRQYXRoID0gQW5ndWxhckVkaXRvci5maW5kUGF0aCh0aGlzLnZpZXdDb250ZXh0LmVkaXRvciwgcGFyZW50KTtcbiAgICAgICAgY2hpbGRyZW4uZm9yRWFjaCgoZGVzY2VuZGFudCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIE5PREVfVE9fSU5ERVguc2V0KGRlc2NlbmRhbnQsIGluZGV4KTtcbiAgICAgICAgICAgIE5PREVfVE9fUEFSRU5ULnNldChkZXNjZW5kYW50LCBwYXJlbnQpO1xuICAgICAgICAgICAgY29uc3QgY29udGV4dCA9IGdldENvbnRleHQoaW5kZXgsIGRlc2NlbmRhbnQsIHBhcmVudFBhdGgsIGNoaWxkcmVuQ29udGV4dCwgdGhpcy52aWV3Q29udGV4dCk7XG4gICAgICAgICAgICBjb25zdCB2aWV3VHlwZSA9IGdldFZpZXdUeXBlKGRlc2NlbmRhbnQsIHBhcmVudCwgdGhpcy52aWV3Q29udGV4dCk7XG4gICAgICAgICAgICBjb25zdCB2aWV3ID0gY3JlYXRlRW1iZWRkZWRWaWV3T3JDb21wb25lbnQodmlld1R5cGUsIGNvbnRleHQsIHRoaXMudmlld0NvbnRleHQsIHRoaXMudmlld0NvbnRhaW5lclJlZik7XG4gICAgICAgICAgICBjb25zdCBibG9ja0NhcmQgPSBjcmVhdGVCbG9ja0NhcmQoZGVzY2VuZGFudCwgdmlldywgdGhpcy52aWV3Q29udGFpbmVyUmVmLCB0aGlzLnZpZXdDb250ZXh0KTtcbiAgICAgICAgICAgIHRoaXMudmlld3MucHVzaCh2aWV3KTtcbiAgICAgICAgICAgIHRoaXMuY29udGV4dHMucHVzaChjb250ZXh0KTtcbiAgICAgICAgICAgIHRoaXMudmlld1R5cGVzLnB1c2godmlld1R5cGUpO1xuICAgICAgICAgICAgdGhpcy5ibG9ja0NhcmRzLnB1c2goYmxvY2tDYXJkKTtcbiAgICAgICAgfSk7XG4gICAgICAgIG1vdW50KHRoaXMudmlld3MsIHRoaXMuYmxvY2tDYXJkcywgdGhpcy5nZXRPdXRsZXRQYXJlbnQoKSwgdGhpcy5nZXRPdXRsZXRFbGVtZW50KCkpO1xuICAgICAgICBjb25zdCBuZXdEaWZmZXJzID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmluamVjdG9yLmdldChJdGVyYWJsZURpZmZlcnMpO1xuICAgICAgICB0aGlzLmRpZmZlciA9IG5ld0RpZmZlcnMuZmluZChjaGlsZHJlbikuY3JlYXRlKHRyYWNrQnkodGhpcy52aWV3Q29udGV4dCkpO1xuICAgICAgICB0aGlzLmRpZmZlci5kaWZmKGNoaWxkcmVuKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlKGNoaWxkcmVuOiBEZXNjZW5kYW50W10sIHBhcmVudDogQW5jZXN0b3IsIGNoaWxkcmVuQ29udGV4dDogU2xhdGVDaGlsZHJlbkNvbnRleHQpIHtcbiAgICAgICAgaWYgKCF0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemUoY2hpbGRyZW4sIHBhcmVudCwgY2hpbGRyZW5Db250ZXh0KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuZGlmZmVyKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4Y2VwdGlvbjogQ2FuIG5vdCBmaW5kIGRpZmZlciAnKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBvdXRsZXRQYXJlbnQgPSB0aGlzLmdldE91dGxldFBhcmVudCgpO1xuICAgICAgICBjb25zdCBkaWZmUmVzdWx0ID0gdGhpcy5kaWZmZXIuZGlmZihjaGlsZHJlbik7XG4gICAgICAgIGNvbnN0IHBhcmVudFBhdGggPSBBbmd1bGFyRWRpdG9yLmZpbmRQYXRoKHRoaXMudmlld0NvbnRleHQuZWRpdG9yLCBwYXJlbnQpO1xuICAgICAgICBpZiAoZGlmZlJlc3VsdCkge1xuICAgICAgICAgICAgbGV0IGZpcnN0Um9vdE5vZGUgPSBnZXRSb290Tm9kZXModGhpcy52aWV3c1swXSwgdGhpcy5ibG9ja0NhcmRzWzBdKVswXTtcbiAgICAgICAgICAgIGNvbnN0IG5ld0NvbnRleHRzID0gW107XG4gICAgICAgICAgICBjb25zdCBuZXdWaWV3VHlwZXMgPSBbXTtcbiAgICAgICAgICAgIGNvbnN0IG5ld1ZpZXdzID0gW107XG4gICAgICAgICAgICBjb25zdCBuZXdCbG9ja0NhcmRzOiAoQ29tcG9uZW50UmVmPFNsYXRlQmxvY2tDYXJkPiB8IG51bGwpW10gPSBbXTtcbiAgICAgICAgICAgIGRpZmZSZXN1bHQuZm9yRWFjaEl0ZW0ocmVjb3JkID0+IHtcbiAgICAgICAgICAgICAgICBOT0RFX1RPX0lOREVYLnNldChyZWNvcmQuaXRlbSwgcmVjb3JkLmN1cnJlbnRJbmRleCk7XG4gICAgICAgICAgICAgICAgTk9ERV9UT19QQVJFTlQuc2V0KHJlY29yZC5pdGVtLCBwYXJlbnQpO1xuICAgICAgICAgICAgICAgIGxldCBjb250ZXh0ID0gZ2V0Q29udGV4dChyZWNvcmQuY3VycmVudEluZGV4LCByZWNvcmQuaXRlbSwgcGFyZW50UGF0aCwgY2hpbGRyZW5Db250ZXh0LCB0aGlzLnZpZXdDb250ZXh0KTtcbiAgICAgICAgICAgICAgICBjb25zdCB2aWV3VHlwZSA9IGdldFZpZXdUeXBlKHJlY29yZC5pdGVtLCBwYXJlbnQsIHRoaXMudmlld0NvbnRleHQpO1xuICAgICAgICAgICAgICAgIG5ld1ZpZXdUeXBlcy5wdXNoKHZpZXdUeXBlKTtcbiAgICAgICAgICAgICAgICBsZXQgdmlldzogRW1iZWRkZWRWaWV3UmVmPGFueT4gfCBDb21wb25lbnRSZWY8YW55PjtcbiAgICAgICAgICAgICAgICBsZXQgYmxvY2tDYXJkOiBDb21wb25lbnRSZWY8U2xhdGVCbG9ja0NhcmQ+IHwgbnVsbDtcbiAgICAgICAgICAgICAgICBpZiAocmVjb3JkLnByZXZpb3VzSW5kZXggPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdmlldyA9IGNyZWF0ZUVtYmVkZGVkVmlld09yQ29tcG9uZW50KHZpZXdUeXBlLCBjb250ZXh0LCB0aGlzLnZpZXdDb250ZXh0LCB0aGlzLnZpZXdDb250YWluZXJSZWYpO1xuICAgICAgICAgICAgICAgICAgICBibG9ja0NhcmQgPSBjcmVhdGVCbG9ja0NhcmQocmVjb3JkLml0ZW0sIHZpZXcsIHRoaXMudmlld0NvbnRhaW5lclJlZiwgdGhpcy52aWV3Q29udGV4dCk7XG4gICAgICAgICAgICAgICAgICAgIG5ld0NvbnRleHRzLnB1c2goY29udGV4dCk7XG4gICAgICAgICAgICAgICAgICAgIG5ld1ZpZXdzLnB1c2godmlldyk7XG4gICAgICAgICAgICAgICAgICAgIG5ld0Jsb2NrQ2FyZHMucHVzaChibG9ja0NhcmQpO1xuICAgICAgICAgICAgICAgICAgICBtb3VudE9uSXRlbUNoYW5nZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlY29yZC5jdXJyZW50SW5kZXgsXG4gICAgICAgICAgICAgICAgICAgICAgICByZWNvcmQuaXRlbSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld1ZpZXdzLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3QmxvY2tDYXJkcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG91dGxldFBhcmVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0Um9vdE5vZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnZpZXdDb250ZXh0XG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJldmlvdXNWaWV3ID0gdGhpcy52aWV3c1tyZWNvcmQucHJldmlvdXNJbmRleF07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHByZXZpb3VzVmlld1R5cGUgPSB0aGlzLnZpZXdUeXBlc1tyZWNvcmQucHJldmlvdXNJbmRleF07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHByZXZpb3VzQ29udGV4dCA9IHRoaXMuY29udGV4dHNbcmVjb3JkLnByZXZpb3VzSW5kZXhdO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwcmV2aW91c0Jsb2NrQ2FyZCA9IHRoaXMuYmxvY2tDYXJkc1tyZWNvcmQucHJldmlvdXNJbmRleF07XG4gICAgICAgICAgICAgICAgICAgIGlmIChwcmV2aW91c1ZpZXdUeXBlICE9PSB2aWV3VHlwZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmlldyA9IGNyZWF0ZUVtYmVkZGVkVmlld09yQ29tcG9uZW50KHZpZXdUeXBlLCBjb250ZXh0LCB0aGlzLnZpZXdDb250ZXh0LCB0aGlzLnZpZXdDb250YWluZXJSZWYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmxvY2tDYXJkID0gY3JlYXRlQmxvY2tDYXJkKHJlY29yZC5pdGVtLCB2aWV3LCB0aGlzLnZpZXdDb250YWluZXJSZWYsIHRoaXMudmlld0NvbnRleHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlyc3RSb290Tm9kZSA9IGdldFJvb3ROb2RlcyhwcmV2aW91c1ZpZXcsIHByZXZpb3VzQmxvY2tDYXJkKVswXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld1Jvb3ROb2RlcyA9IGdldFJvb3ROb2Rlcyh2aWV3LCBibG9ja0NhcmQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3RSb290Tm9kZS5yZXBsYWNlV2l0aCguLi5uZXdSb290Tm9kZXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNWaWV3LmRlc3Ryb3koKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHByZXZpb3VzQmxvY2tDYXJkPy5kZXN0cm95KCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2aWV3ID0gcHJldmlvdXNWaWV3O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmxvY2tDYXJkID0gcHJldmlvdXNCbG9ja0NhcmQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobWVtb2l6ZWRDb250ZXh0KHRoaXMudmlld0NvbnRleHQsIHJlY29yZC5pdGVtLCBwcmV2aW91c0NvbnRleHQgYXMgYW55LCBjb250ZXh0IGFzIGFueSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0ID0gcHJldmlvdXNDb250ZXh0O1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVDb250ZXh0KHByZXZpb3VzVmlldywgY29udGV4dCwgdGhpcy52aWV3Q29udGV4dCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgbmV3Q29udGV4dHMucHVzaChjb250ZXh0KTtcbiAgICAgICAgICAgICAgICAgICAgbmV3Vmlld3MucHVzaCh2aWV3KTtcbiAgICAgICAgICAgICAgICAgICAgbmV3QmxvY2tDYXJkcy5wdXNoKGJsb2NrQ2FyZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBkaWZmUmVzdWx0LmZvckVhY2hPcGVyYXRpb24ocmVjb3JkID0+IHtcbiAgICAgICAgICAgICAgICAvLyByZW1vdmVkXG4gICAgICAgICAgICAgICAgaWYgKHJlY29yZC5jdXJyZW50SW5kZXggPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmlldyA9IHRoaXMudmlld3NbcmVjb3JkLnByZXZpb3VzSW5kZXhdO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBibG9ja0NhcmQgPSB0aGlzLmJsb2NrQ2FyZHNbcmVjb3JkLnByZXZpb3VzSW5kZXhdO1xuICAgICAgICAgICAgICAgICAgICB2aWV3LmRlc3Ryb3koKTtcbiAgICAgICAgICAgICAgICAgICAgYmxvY2tDYXJkPy5kZXN0cm95KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIG1vdmVkXG4gICAgICAgICAgICAgICAgaWYgKHJlY29yZC5wcmV2aW91c0luZGV4ICE9PSBudWxsICYmIHJlY29yZC5jdXJyZW50SW5kZXggIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgbW91bnRPbkl0ZW1DaGFuZ2UoXG4gICAgICAgICAgICAgICAgICAgICAgICByZWNvcmQuY3VycmVudEluZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVjb3JkLml0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdWaWV3cyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld0Jsb2NrQ2FyZHMsXG4gICAgICAgICAgICAgICAgICAgICAgICBvdXRsZXRQYXJlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICBmaXJzdFJvb3ROb2RlLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy52aWV3Q29udGV4dFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAvLyBTb2x2ZSB0aGUgYmxvY2stY2FyZCBET01FbGVtZW50IGxvc3Mgd2hlbiBtb3Zpbmcgbm9kZXNcbiAgICAgICAgICAgICAgICAgICAgbmV3QmxvY2tDYXJkc1tyZWNvcmQuY3VycmVudEluZGV4XT8uaW5zdGFuY2UuYXBwZW5kKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnZpZXdUeXBlcyA9IG5ld1ZpZXdUeXBlcztcbiAgICAgICAgICAgIHRoaXMudmlld3MgPSBuZXdWaWV3cztcbiAgICAgICAgICAgIHRoaXMuY29udGV4dHMgPSBuZXdDb250ZXh0cztcbiAgICAgICAgICAgIHRoaXMuY2hpbGRyZW4gPSBjaGlsZHJlbjtcbiAgICAgICAgICAgIHRoaXMuYmxvY2tDYXJkcyA9IG5ld0Jsb2NrQ2FyZHM7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBuZXdDb250ZXh0cyA9IFtdO1xuICAgICAgICAgICAgdGhpcy5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgY29udGV4dCA9IGdldENvbnRleHQoaW5kZXgsIGNoaWxkLCBwYXJlbnRQYXRoLCBjaGlsZHJlbkNvbnRleHQsIHRoaXMudmlld0NvbnRleHQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHByZXZpb3VzQ29udGV4dCA9IHRoaXMuY29udGV4dHNbaW5kZXhdO1xuICAgICAgICAgICAgICAgIGlmIChtZW1vaXplZENvbnRleHQodGhpcy52aWV3Q29udGV4dCwgY2hpbGQsIHByZXZpb3VzQ29udGV4dCBhcyBhbnksIGNvbnRleHQgYXMgYW55KSkge1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0ID0gcHJldmlvdXNDb250ZXh0O1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUNvbnRleHQodGhpcy52aWV3c1tpbmRleF0sIGNvbnRleHQsIHRoaXMudmlld0NvbnRleHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBuZXdDb250ZXh0cy5wdXNoKGNvbnRleHQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmNvbnRleHRzID0gbmV3Q29udGV4dHM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5jaGlsZHJlbi5mb3JFYWNoKChlbGVtZW50OiBFbGVtZW50LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy52aWV3c1tpbmRleF0pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZpZXdzW2luZGV4XS5kZXN0cm95KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5ibG9ja0NhcmRzW2luZGV4XSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYmxvY2tDYXJkc1tpbmRleF0uZGVzdHJveSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy52aWV3cyA9IFtdO1xuICAgICAgICB0aGlzLmJsb2NrQ2FyZHMgPSBbXTtcbiAgICAgICAgdGhpcy5jb250ZXh0cyA9IFtdO1xuICAgICAgICB0aGlzLnZpZXdUeXBlcyA9IFtdO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZGlmZmVyID0gbnVsbDtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb250ZXh0KFxuICAgIGluZGV4OiBudW1iZXIsXG4gICAgaXRlbTogRGVzY2VuZGFudCxcbiAgICBwYXJlbnRQYXRoOiBQYXRoLFxuICAgIGNoaWxkcmVuQ29udGV4dDogU2xhdGVDaGlsZHJlbkNvbnRleHQsXG4gICAgdmlld0NvbnRleHQ6IFNsYXRlVmlld0NvbnRleHRcbik6IFNsYXRlRWxlbWVudENvbnRleHQgfCBTbGF0ZVRleHRDb250ZXh0IHtcbiAgICBpZiAoRWxlbWVudC5pc0VsZW1lbnQoaXRlbSkpIHtcbiAgICAgICAgY29uc3QgY29tcHV0ZWRDb250ZXh0ID0gZ2V0Q29tbW9uQ29udGV4dChpbmRleCwgaXRlbSwgcGFyZW50UGF0aCwgdmlld0NvbnRleHQsIGNoaWxkcmVuQ29udGV4dCk7XG4gICAgICAgIGNvbnN0IGtleSA9IEFuZ3VsYXJFZGl0b3IuZmluZEtleSh2aWV3Q29udGV4dC5lZGl0b3IsIGl0ZW0pO1xuICAgICAgICBjb25zdCBpc0lubGluZSA9IHZpZXdDb250ZXh0LmVkaXRvci5pc0lubGluZShpdGVtKTtcbiAgICAgICAgY29uc3QgaXNWb2lkID0gdmlld0NvbnRleHQuZWRpdG9yLmlzVm9pZChpdGVtKTtcbiAgICAgICAgY29uc3QgZWxlbWVudENvbnRleHQ6IFNsYXRlRWxlbWVudENvbnRleHQgPSB7XG4gICAgICAgICAgICBlbGVtZW50OiBpdGVtLFxuICAgICAgICAgICAgLi4uY29tcHV0ZWRDb250ZXh0LFxuICAgICAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgICAgICAgICdkYXRhLXNsYXRlLW5vZGUnOiAnZWxlbWVudCcsXG4gICAgICAgICAgICAgICAgJ2RhdGEtc2xhdGUta2V5Jzoga2V5LmlkXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZGVjb3JhdGU6IGNoaWxkcmVuQ29udGV4dC5kZWNvcmF0ZSxcbiAgICAgICAgICAgIHJlYWRvbmx5OiBjaGlsZHJlbkNvbnRleHQucmVhZG9ubHlcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKGlzSW5saW5lKSB7XG4gICAgICAgICAgICBlbGVtZW50Q29udGV4dC5hdHRyaWJ1dGVzWydkYXRhLXNsYXRlLWlubGluZSddID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNWb2lkKSB7XG4gICAgICAgICAgICBlbGVtZW50Q29udGV4dC5hdHRyaWJ1dGVzWydkYXRhLXNsYXRlLXZvaWQnXSA9IHRydWU7XG4gICAgICAgICAgICBlbGVtZW50Q29udGV4dC5hdHRyaWJ1dGVzLmNvbnRlbnRlZGl0YWJsZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBlbGVtZW50Q29udGV4dDtcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBjb21wdXRlZENvbnRleHQgPSBnZXRDb21tb25Db250ZXh0KGluZGV4LCBpdGVtLCBwYXJlbnRQYXRoLCB2aWV3Q29udGV4dCwgY2hpbGRyZW5Db250ZXh0KTtcbiAgICAgICAgY29uc3QgaXNMZWFmQmxvY2sgPSBBbmd1bGFyRWRpdG9yLmlzTGVhZkJsb2NrKHZpZXdDb250ZXh0LmVkaXRvciwgY2hpbGRyZW5Db250ZXh0LnBhcmVudCk7XG4gICAgICAgIGNvbnN0IHRleHRDb250ZXh0OiBTbGF0ZVRleHRDb250ZXh0ID0ge1xuICAgICAgICAgICAgZGVjb3JhdGlvbnM6IGNvbXB1dGVkQ29udGV4dC5kZWNvcmF0aW9ucyxcbiAgICAgICAgICAgIGlzTGFzdDogaXNMZWFmQmxvY2sgJiYgaW5kZXggPT09IGNoaWxkcmVuQ29udGV4dC5wYXJlbnQuY2hpbGRyZW4ubGVuZ3RoIC0gMSxcbiAgICAgICAgICAgIHBhcmVudDogY2hpbGRyZW5Db250ZXh0LnBhcmVudCBhcyBFbGVtZW50LFxuICAgICAgICAgICAgdGV4dDogaXRlbVxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gdGV4dENvbnRleHQ7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29tbW9uQ29udGV4dChcbiAgICBpbmRleDogbnVtYmVyLFxuICAgIGl0ZW06IERlc2NlbmRhbnQsXG4gICAgcGFyZW50UGF0aDogUGF0aCxcbiAgICB2aWV3Q29udGV4dDogU2xhdGVWaWV3Q29udGV4dCxcbiAgICBjaGlsZHJlbkNvbnRleHQ6IFNsYXRlQ2hpbGRyZW5Db250ZXh0XG4pOiB7IHNlbGVjdGlvbjogUmFuZ2U7IGRlY29yYXRpb25zOiBSYW5nZVtdIH0ge1xuICAgIGNvbnN0IHAgPSBwYXJlbnRQYXRoLmNvbmNhdChpbmRleCk7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgZHMgPSBjaGlsZHJlbkNvbnRleHQuZGVjb3JhdGUoW2l0ZW0sIHBdKTtcbiAgICAgICAgLy8gW2xpc3QtcmVuZGVyXSBwZXJmb3JtYW5jZSBvcHRpbWl6YXRpb246IHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhbGxzIHRvIHRoZSBgRWRpdG9yLnJhbmdlKHZpZXdDb250ZXh0LmVkaXRvciwgcClgIG1ldGhvZFxuICAgICAgICBpZiAoY2hpbGRyZW5Db250ZXh0LnNlbGVjdGlvbiB8fCBjaGlsZHJlbkNvbnRleHQuZGVjb3JhdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgcmFuZ2UgPSBFZGl0b3IucmFuZ2Uodmlld0NvbnRleHQuZWRpdG9yLCBwKTtcbiAgICAgICAgICAgIGNvbnN0IHNlbCA9IGNoaWxkcmVuQ29udGV4dC5zZWxlY3Rpb24gJiYgUmFuZ2UuaW50ZXJzZWN0aW9uKHJhbmdlLCBjaGlsZHJlbkNvbnRleHQuc2VsZWN0aW9uKTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgZGVjIG9mIGNoaWxkcmVuQ29udGV4dC5kZWNvcmF0aW9ucykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGQgPSBSYW5nZS5pbnRlcnNlY3Rpb24oZGVjLCByYW5nZSk7XG4gICAgICAgICAgICAgICAgaWYgKGQpIHtcbiAgICAgICAgICAgICAgICAgICAgZHMucHVzaChkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4geyBzZWxlY3Rpb246IHNlbCwgZGVjb3JhdGlvbnM6IGRzIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4geyBzZWxlY3Rpb246IG51bGwsIGRlY29yYXRpb25zOiBkcyB9O1xuICAgICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgdGhpcy5vcHRpb25zLnZpZXdDb250ZXh0LmVkaXRvci5vbkVycm9yKHtcbiAgICAgICAgICAgIGNvZGU6IFNsYXRlRXJyb3JDb2RlLkdldFN0YXJ0UG9pbnRFcnJvcixcbiAgICAgICAgICAgIG5hdGl2ZUVycm9yOiBlcnJvclxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHsgc2VsZWN0aW9uOiBudWxsLCBkZWNvcmF0aW9uczogW10gfTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRWaWV3VHlwZShpdGVtOiBEZXNjZW5kYW50LCBwYXJlbnQ6IEFuY2VzdG9yLCB2aWV3Q29udGV4dDogU2xhdGVWaWV3Q29udGV4dCkge1xuICAgIGlmIChFbGVtZW50LmlzRWxlbWVudChpdGVtKSkge1xuICAgICAgICByZXR1cm4gKHZpZXdDb250ZXh0LnJlbmRlckVsZW1lbnQgJiYgdmlld0NvbnRleHQucmVuZGVyRWxlbWVudChpdGVtKSkgfHwgdmlld0NvbnRleHQuZGVmYXVsdEVsZW1lbnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgaXNWb2lkID0gdmlld0NvbnRleHQuZWRpdG9yLmlzVm9pZChwYXJlbnQgYXMgRWxlbWVudCk7XG4gICAgICAgIHJldHVybiBpc1ZvaWQgPyB2aWV3Q29udGV4dC5kZWZhdWx0Vm9pZFRleHQgOiAodmlld0NvbnRleHQucmVuZGVyVGV4dCAmJiB2aWV3Q29udGV4dC5yZW5kZXJUZXh0KGl0ZW0pKSB8fCB2aWV3Q29udGV4dC5kZWZhdWx0VGV4dDtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVCbG9ja0NhcmQoXG4gICAgaXRlbTogRGVzY2VuZGFudCxcbiAgICB2aWV3OiBFbWJlZGRlZFZpZXdSZWY8YW55PiB8IENvbXBvbmVudFJlZjxhbnk+LFxuICAgIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgdmlld0NvbnRleHQ6IFNsYXRlVmlld0NvbnRleHRcbikge1xuICAgIGNvbnN0IGlzQmxvY2tDYXJkID0gdmlld0NvbnRleHQuZWRpdG9yLmlzQmxvY2tDYXJkKGl0ZW0pO1xuICAgIGlmIChpc0Jsb2NrQ2FyZCkge1xuICAgICAgICBjb25zdCByb290Tm9kZXMgPSBnZXRSb290Tm9kZXModmlldyk7XG4gICAgICAgIGNvbnN0IGJsb2NrQ2FyZENvbXBvbmVudFJlZiA9IHZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50PFNsYXRlQmxvY2tDYXJkPihTbGF0ZUJsb2NrQ2FyZCwge1xuICAgICAgICAgICAgaW5qZWN0b3I6IHZpZXdDb250YWluZXJSZWYuaW5qZWN0b3JcbiAgICAgICAgfSk7XG4gICAgICAgIGJsb2NrQ2FyZENvbXBvbmVudFJlZi5pbnN0YW5jZS5pbml0aWFsaXplQ2VudGVyKHJvb3ROb2Rlcyk7XG4gICAgICAgIHJldHVybiBibG9ja0NhcmRDb21wb25lbnRSZWY7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhY2tCeSh2aWV3Q29udGV4dDogU2xhdGVWaWV3Q29udGV4dCkge1xuICAgIHJldHVybiAoaW5kZXgsIG5vZGUpID0+IHtcbiAgICAgICAgcmV0dXJuIHZpZXdDb250ZXh0LnRyYWNrQnkobm9kZSkgfHwgQW5ndWxhckVkaXRvci5maW5kS2V5KHZpZXdDb250ZXh0LmVkaXRvciwgbm9kZSk7XG4gICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lbW9pemVkQ29udGV4dChcbiAgICB2aWV3Q29udGV4dDogU2xhdGVWaWV3Q29udGV4dCxcbiAgICBkZXNjZW5kYW50OiBEZXNjZW5kYW50LFxuICAgIHByZXY6IFNsYXRlRWxlbWVudENvbnRleHQgfCBTbGF0ZVRleHRDb250ZXh0LFxuICAgIG5leHQ6IFNsYXRlRWxlbWVudENvbnRleHQgfCBTbGF0ZVRleHRDb250ZXh0XG4pOiBib29sZWFuIHtcbiAgICBpZiAoRWxlbWVudC5pc0VsZW1lbnQoZGVzY2VuZGFudCkpIHtcbiAgICAgICAgcmV0dXJuIG1lbW9pemVkRWxlbWVudENvbnRleHQodmlld0NvbnRleHQsIHByZXYgYXMgU2xhdGVFbGVtZW50Q29udGV4dCwgbmV4dCBhcyBTbGF0ZUVsZW1lbnRDb250ZXh0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gbWVtb2l6ZWRUZXh0Q29udGV4dChwcmV2IGFzIFNsYXRlVGV4dENvbnRleHQsIG5leHQgYXMgU2xhdGVUZXh0Q29udGV4dCk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWVtb2l6ZWRFbGVtZW50Q29udGV4dCh2aWV3Q29udGV4dDogU2xhdGVWaWV3Q29udGV4dCwgcHJldjogU2xhdGVFbGVtZW50Q29udGV4dCwgbmV4dDogU2xhdGVFbGVtZW50Q29udGV4dCkge1xuICAgIHJldHVybiAoXG4gICAgICAgIHByZXYuZWxlbWVudCA9PT0gbmV4dC5lbGVtZW50ICYmXG4gICAgICAgICghdmlld0NvbnRleHQuaXNTdHJpY3REZWNvcmF0ZSB8fCBwcmV2LmRlY29yYXRlID09PSBuZXh0LmRlY29yYXRlKSAmJlxuICAgICAgICBwcmV2LnJlYWRvbmx5ID09PSBuZXh0LnJlYWRvbmx5ICYmXG4gICAgICAgIGlzRGVjb3JhdG9yUmFuZ2VMaXN0RXF1YWwocHJldi5kZWNvcmF0aW9ucywgbmV4dC5kZWNvcmF0aW9ucykgJiZcbiAgICAgICAgKHByZXYuc2VsZWN0aW9uID09PSBuZXh0LnNlbGVjdGlvbiB8fCAoISFwcmV2LnNlbGVjdGlvbiAmJiAhIW5leHQuc2VsZWN0aW9uICYmIFJhbmdlLmVxdWFscyhwcmV2LnNlbGVjdGlvbiwgbmV4dC5zZWxlY3Rpb24pKSlcbiAgICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWVtb2l6ZWRUZXh0Q29udGV4dChwcmV2OiBTbGF0ZVRleHRDb250ZXh0LCBuZXh0OiBTbGF0ZVRleHRDb250ZXh0KSB7XG4gICAgcmV0dXJuIChcbiAgICAgICAgbmV4dC5wYXJlbnQgPT09IHByZXYucGFyZW50ICYmXG4gICAgICAgIG5leHQuaXNMYXN0ID09PSBwcmV2LmlzTGFzdCAmJlxuICAgICAgICBuZXh0LnRleHQgPT09IHByZXYudGV4dCAmJlxuICAgICAgICBpc0RlY29yYXRvclJhbmdlTGlzdEVxdWFsKG5leHQuZGVjb3JhdGlvbnMsIHByZXYuZGVjb3JhdGlvbnMpXG4gICAgKTtcbn1cbiJdfQ==
@@ -2078,6 +2078,7 @@ function getContext$1(index, item, parentPath, childrenContext, viewContext) {
2078
2078
  }
2079
2079
  if (isVoid) {
2080
2080
  elementContext.attributes['data-slate-void'] = true;
2081
+ elementContext.attributes.contenteditable = false;
2081
2082
  }
2082
2083
  return elementContext;
2083
2084
  }