@net7/components 4.5.7 → 4.5.9
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.
- package/esm2022/lib/components/histogram-range/histogram-range.mjs +5 -5
- package/esm2022/lib/components/parallel-text-viewer/parallel-text-viewer-dph.mock.mjs +43 -14
- package/esm2022/lib/components/parallel-text-viewer/parallel-text-viewer.mjs +3 -3
- package/fesm2022/net7-components.mjs +48 -19
- package/fesm2022/net7-components.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -41,12 +41,12 @@ export class HistogramRangeComponent {
|
|
|
41
41
|
}
|
|
42
42
|
else {
|
|
43
43
|
this.sliders = d3
|
|
44
|
-
.extent(items, (d) => d.label)
|
|
45
|
-
.map((d) => ({ x: LABELtoX(d) + LABELtoX.bandwidth() / 2, y: height }));
|
|
44
|
+
.extent(items, (d) => +d.label)
|
|
45
|
+
.map((d) => ({ x: LABELtoX(String(d)) + LABELtoX.bandwidth() / 2, y: height }));
|
|
46
46
|
}
|
|
47
47
|
const isInRange = (y) => {
|
|
48
|
-
const allItems = this.sliders.map((d) => XtoLABEL(d.x));
|
|
49
|
-
if (y >= d3.min(allItems) && y <= d3.max(allItems))
|
|
48
|
+
const allItems = this.sliders.map((d) => +XtoLABEL(d.x));
|
|
49
|
+
if (+y >= d3.min(allItems) && +y <= d3.max(allItems))
|
|
50
50
|
return true;
|
|
51
51
|
return false;
|
|
52
52
|
};
|
|
@@ -387,4 +387,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
387
387
|
}], emit: [{
|
|
388
388
|
type: Input
|
|
389
389
|
}] } });
|
|
390
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9ncmFtLXJhbmdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHYtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2hpc3RvZ3JhbS1yYW5nZS9oaXN0b2dyYW0tcmFuZ2UudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaGlzdG9ncmFtLXJhbmdlL2hpc3RvZ3JhbS1yYW5nZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlDQUF5QztBQUN6Qyw2QkFBNkI7QUFDN0IscUJBQXFCO0FBQ3JCLDZCQUE2QjtBQUU3QixPQUFPLEVBQXVCLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQTJGdEUsTUFBTSxPQUFPLHVCQUF1QjtJQUpwQztRQVdVLFlBQU8sR0FBWSxFQUFFLENBQUM7UUFLdEIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQW9DeEIsU0FBSSxHQUFHLEdBQUcsRUFBRTtZQUNWLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUM7WUFDcEIsTUFBTSxFQUNKLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssRUFDTCxPQUFPLEVBQ1AsV0FBVyxFQUNYLElBQUksRUFDSixVQUFVLEdBQ1gsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBRWQsa0JBQWtCO1lBQ2xCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzlDLE1BQU0sS0FBSyxDQUFD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LENBQUM7YUFDM0MsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDM0IsWUFBWSxDQUFDLElBQUksQ0FBQzthQUNsQixZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7T0FHRztJQUNILGNBQWMsQ0FBQyxLQUFLO1FBQ2xCLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMvQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDeEIsS0FBSyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQ3hCLE9BQU8sS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBcUJELG1EQUFtRDtJQUNuRCxVQUFVLENBQUMsT0FBTztRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQy9CLENBQUM7K0dBeGFVLHVCQUF1QjttR0FBdkIsdUJBQXVCLGtHQ2hHcEMsc0hBR0E7OzRGRDZGYSx1QkFBdUI7a0JBSm5DLFNBQVM7K0JBQ0Usb0JBQW9COzhCQUlyQixJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tdXNlLWJlZm9yZS1kZWZpbmUgKi9cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBISVNUT0dSQU0tUkFOR0UudHNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmltcG9ydCB7IEFmdGVyQ29udGVudENoZWNrZWQsIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbi8qKlxuICogSW50ZXJmYWNlIGZvciBIaXN0b2dyYW1SYW5nZUNvbXBvbmVudCdzIFwiZGF0YVwiXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSGlzdG9ncmFtUmFuZ2VEYXRhIHtcbiAgLyoqXG4gICAqIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgaGlzdG9ncmFtLXJhbmdlIHN2Z1xuICAgKi9cbiAgY29udGFpbmVySWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIHRvdGFsIHdpZHRoIGZvciB0aGUgc3ZnIGVsZW1lbnRcbiAgICovXG4gIHdpZHRoOiBudW1iZXI7XG4gIC8qKlxuICAgKiB0b3RhbCBoZWlnaHQgZm9yIHRoZSBzdmcgZWxlbWVudFxuICAgKi9cbiAgaGVpZ2h0OiBudW1iZXI7XG4gIC8qKlxuICAgKiBJbnRlcm5hbCBtYXJnaW5zIG9mIHRoZSBzdmdcbiAgICovXG4gIG1hcmdpbjoge1xuICAgIGxlZnQ6IG51bWJlcjtcbiAgICByaWdodDogbnVtYmVyO1xuICAgIHRvcDogbnVtYmVyO1xuICAgIGJvdHRvbTogbnVtYmVyO1xuICB9O1xuICAvKipcbiAgICogVGhlbWUgb2YgdGhlIGhpc3RvZ3JhbVxuICAgKi9cbiAgY29sb3Vyczoge1xuICAgIHRvcDogc3RyaW5nO1xuICAgIGJvdHRvbTogc3RyaW5nO1xuICAgIGFjY2VudDogc3RyaW5nO1xuICB9O1xuICAvKipcbiAgICogRGF0YSBmb3IgdGhlIGhpc3RvZ3JhbSBiYXJzXG4gICAqL1xuICBpdGVtczoge1xuICAgIC8qKiBkZWZhdWx0IGxhYmVsIG9mIHRoZSBpdGVtICovXG4gICAgbGFiZWw6IHN0cmluZztcbiAgICAvKiogeS1heGlzIHZhbHVlIG9mIHRoZSBiYXIgKGhlaWdodCkgKi9cbiAgICB2YWx1ZTogbnVtYmVyO1xuICAgIC8qKiBwYXlsb2FkIHRoYXQgdGhlIGl0ZW0gc2hvdWxkIGVtaXQgd2hlbiBzZWxlY3RlZCAqL1xuICAgIHBheWxvYWQ6IGFueTtcbiAgICAvKipcbiAgICAgKiAndXBwZXInIHZhbHVlcyBvZiB0aGUgcmFuZ2UuXG4gICAgICogb25seSB1c2VkIHdoZW4gZWFjaCBiYXIgcmVwcmVzZW50cyBhIHJhbmdlLlxuICAgICAqL1xuICAgIHJhbmdlPzoge1xuICAgICAgLyoqIGxhYmVsIGxvYWRlZCB3aGVuIHNlbGVjdGVkIGJ5IHRoZSByaWdodC1tb3N0IHBvaW50ZXIgKi9cbiAgICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgICAvKiogcGF5bG9hZCBlbWl0dGVkIHdoZW4gc2VsZWN0ZWQgYnkgdGhlIHJpZ2h0LW1vc3QgcG9pbnRlciAqL1xuICAgICAgcGF5bG9hZDogYW55O1xuICAgIH07XG4gIH1bXTtcbiAgLyoqXG4gICAqIEF4aXMgc2V0dGluZ3NcbiAgICovXG4gIGF4aXM/OiB7XG4gICAgLyoqIFkgQXhpcyBzZXR0aW5ncyAqL1xuICAgIHlBeGlzPzoge1xuICAgICAgLyoqIFR1cm4gb24gYW5kIG9mZiB0aGUgYXhpcyAqL1xuICAgICAgc2hvdz86IGJvb2xlYW47XG4gICAgICAvKiogTWFudWFsbHkgc2V0IHRoZSBheGlzIHZhbHVlcyB0byBzaG93ICovXG4gICAgICB2YWx1ZXM/OiBudW1iZXJbXTtcbiAgICAgIC8qKiBIb3cgbWFueSB0aWNrcyBkbyB5b3Ugd2FudCB0byBzZWUgKi9cbiAgICAgIHRpY2tBbW91bnQ/OiBudW1iZXI7XG4gICAgfTtcbiAgfTtcbiAgLyoqXG4gICAqIGV4cG9zZSB0aGUgZHJhdyBmdW5jdGlvbiBvdXRzaWRlIG9mIG43LWZyb250ZW5kL2NvbXBvbmVudHMgbGlicmFyeVxuICAgKiB0aGlzIGlzIG5lZWRlZCB0byByZWRyYXcgYnViYmxlLWNoYXJ0LWNvbXBvbmVudCBvbiBjb21tYW5kXG4gICAqL1xuICBzZXREcmF3PzogYW55O1xuICAvKipcbiAgICogc2V0U2xpZGVyc1xuICAgKi9cbiAgc2V0U2xpZGVycz86IExhYmVsQ291cGxlO1xuICAvKipcbiAgICogUHVibGljIGFwaVxuICAgKi9cbiAgc2V0QXBpPzogYW55O1xufVxuXG50eXBlIFNsaWRlcnMgPSB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH1bXTtcbnR5cGUgTGFiZWxDb3VwbGUgPSBbc3RyaW5nLCBzdHJpbmddO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduNy1oaXN0b2dyYW0tcmFuZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vaGlzdG9ncmFtLXJhbmdlLmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBIaXN0b2dyYW1SYW5nZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudENoZWNrZWQge1xuICBASW5wdXQoKSBkYXRhOiBIaXN0b2dyYW1SYW5nZURhdGE7XG5cbiAgQElucHV0KCkgZW1pdDogYW55O1xuXG4gIHByaXZhdGUgZDM7XG5cbiAgcHJpdmF0ZSBzbGlkZXJzOiBTbGlkZXJzID0gW107XG5cbiAgLyoqIGQzIHNlbGVjdGlvbiBzdmcgcm9vdCAqL1xuICBwcml2YXRlIHN2ZztcblxuICBwcml2YXRlIF9sb2FkZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIGNvbG91ckJhcnM7XG5cbiAgcHJpdmF0ZSBnZXRTZWxlY3RlZFJhbmdlO1xuXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpIHtcbiAgICAvKlxuICAgICAgICAgV2FpdHMgZm9yIHRoZSBkb20gdG8gYmUgbG9hZGVkLCB0aGVuIGZpcmVzIHRoZSBkcmF3IGZ1bmN0aW9uXG4gICAgICAgICB0aGF0IHJlbmRlcnMgdGhlIGNoYXJ0LlxuICAgICovXG4gICAgaWYgKHRoaXMuZGF0YSkge1xuICAgICAgaWYgKHRoaXMuX2xvYWRlZCkgcmV0dXJuO1xuICAgICAgdGhpcy5fbG9hZGVkID0gdHJ1ZTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBpbXBvcnQoJ2QzJykudGhlbigobW9kdWxlKSA9PiB7XG4gICAgICAgICAgdGhpcy5kMyA9IG1vZHVsZTtcbiAgICAgICAgICB0aGlzLmRyYXcoKTtcbiAgICAgICAgICB0aGlzLmVtaXRMb2FkZWQodHJ1ZSk7XG4gICAgICAgICAgaWYgKHRoaXMuZGF0YSAmJiB0aGlzLmRhdGEuc2V0RHJhdykge1xuICAgICAgICAgICAgdGhpcy5kYXRhLnNldERyYXcodGhpcy5kcmF3KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHRoaXMuZGF0YS5zZXRBcGkpIHtcbiAgICAgICAgICAgIC8vIGV4cG9zZSB0aGUgY29tcG9uZW50IGFwaVxuICAgICAgICAgICAgdGhpcy5kYXRhLnNldEFwaSh7XG4gICAgICAgICAgICAgIHNldFNsaWRlcnM6IHRoaXMuc2V0U2xpZGVycyxcbiAgICAgICAgICAgICAgc2V0QmFyczogdGhpcy5zZXRCYXJzLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkb3Qtbm90YXRpb25cbiAgICAgICAgICAvLyB3aW5kb3dbJ3NldFNsaWRlcnMnXSA9IHRoaXMuc2V0U2xpZGVycztcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBkcmF3ID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgZDMgfSA9IHRoaXM7XG4gICAgY29uc3Qge1xuICAgICAgd2lkdGgsXG4gICAgICBtYXJnaW4sXG4gICAgICBoZWlnaHQsXG4gICAgICBpdGVtcyxcbiAgICAgIGNvbG91cnMsXG4gICAgICBjb250YWluZXJJZCxcbiAgICAgIGF4aXMsXG4gICAgICBzZXRTbGlkZXJzLFxuICAgIH0gPSB0aGlzLmRhdGE7XG5cbiAgICAvLyBkYXRhIHZhbGlkYXRpb25cbiAgICBjb25zdCByYW5nZU1vZGUgPSBpdGVtcy5ldmVyeSgoZCkgPT4gZC5yYW5nZSk7XG4gICAgaWYgKCFyYW5nZU1vZGUgJiYgaXRlbXMuc29tZSgoZCkgPT4gIWQucmFuZ2UpKSB7XG4gICAgICB0aHJvdyBFcnJvcignQWxsIGl0ZW1zIG11c3QgaGF2ZSB0aGUgXCJyYW5nZVwiIHByb3BlcnR5Jyk7XG4gICAgfVxuXG4gICAgLy8gSGVscGVycyAtIFN0YXJ0OlxuICAgIGNvbnN0IExBQkVMdG9YID0gZDNcbiAgICAgIC5zY2FsZUJhbmQoKVxuICAgICAgLmRvbWFpbihpdGVtcy5tYXAoKGQpID0+IGQubGFiZWwpKVxuICAgICAgLnJhbmdlKFswLCB3aWR0aF0pXG4gICAgICAucGFkZGluZ0lubmVyKDAuMTcpXG4gICAgICAucGFkZGluZ091dGVyKDEpO1xuXG4gICAgY29uc3QgWHRvTEFCRUwgPSAodmFsdWUpID0+IHtcbiAgICAgIGNvbnN0IGRvbWFpbiA9IExBQkVMdG9YLmRvbWFpbigpO1xuICAgICAgY29uc3QgcGFkZGluZ091dGVyID0gTEFCRUx0b1goZG9tYWluWzBdKTtcbiAgICAgIGNvbnN0IGVhY2hCYW5kID0gTEFCRUx0b1guc3RlcCgpO1xuICAgICAgY29uc3QgaW5kZXggPSBNYXRoLmZsb29yKCh2YWx1ZSAtIHBhZGRpbmdPdXRlcikgLyBlYWNoQmFuZCk7XG4gICAgICByZXR1cm4gZG9tYWluW01hdGgubWF4KDAsIE1hdGgubWluKGluZGV4LCBkb21haW4ubGVuZ3RoIC0gMSkpXTtcbiAgICB9O1xuXG4gICAgLy8gWUVBUiBTRUxFQ1RJT04gQ0lSQ0xFU1xuICAgIC8vIGxldCBzbGlkZXJzO1xuICAgIGlmIChzZXRTbGlkZXJzICYmIHRoaXMuc2xpZGVycykge1xuICAgICAgdGhpcy5zbGlkZXJzID0gc2V0U2xpZGVycy5tYXAoKGQpID0+ICh7XG4gICAgICAgIHg6IExBQkVMdG9YKGQpICsgTEFCRUx0b1guYmFuZHdpZHRoKCkgLyAyLFxuICAgICAgICB5OiBoZWlnaHQsXG4gICAgICB9KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2xpZGVycyA9IGQzXG4gICAgICAgIC5leHRlbnQoaXRlbXMsIChkKSA9PiBkLmxhYmVsKVxuICAgICAgICAubWFwKChkKSA9PiAoeyB4OiBMQUJFTHRvWChkKSArIExBQkVMdG9YLmJhbmR3aWR0aCgpIC8gMiwgeTogaGVpZ2h0IH0pKTtcbiAgICB9XG5cbiAgICBjb25zdCBpc0luUmFuZ2UgPSAoeSkgPT4ge1xuICAgICAgY29uc3QgYWxsSXRlbXMgPSB0aGlzLnNsaWRlcnMubWFwKChkKSA9PiBYdG9MQUJFTChkLngpKTtcbiAgICAgIGlmICh5ID49IGQzLm1pbihhbGxJdGVtcykgJiYgeSA8PSBkMy5tYXgoYWxsSXRlbXMpKSByZXR1cm4gdHJ1ZTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9O1xuXG4gICAgZnVuY3Rpb24gY29sb3VyQmFycyhkKSB7XG4gICAgICBpZiAoaXNJblJhbmdlKGQubGFiZWwpKSByZXR1cm4gJ3VybCgjZ3JhZGllbnQpJztcbiAgICAgIHJldHVybiAnI2UzZTNlMyc7XG4gICAgfVxuICAgIHRoaXMuY29sb3VyQmFycyA9IGNvbG91ckJhcnM7XG5cbiAgICB0aGlzLmdldFNlbGVjdGVkUmFuZ2UgPSAoKSA9PiB7XG4gICAgICBjb25zdCByYW5nZVN0YXJ0ID0gaXRlbXMuZmluZChcbiAgICAgICAgKGl0KSA9PiBpdC5sYWJlbCA9PT0gWHRvTEFCRUwodGhpcy5zbGlkZXJzWzBdLngpXG4gICAgICApO1xuICAgICAgY29uc3QgcmFuZ2VFbmQgPSBpdGVtcy5maW5kKFxuICAgICAgICAoaXQpID0+IGl0LmxhYmVsID09PSBYdG9MQUJFTCh0aGlzLnNsaWRlcnNbMV0ueClcbiAgICAgICk7XG4gICAgICByZXR1cm4gW1xuICAgICAgICByYW5nZVN0YXJ0LnBheWxvYWQsXG4gICAgICAgIHJhbmdlTW9kZSA/IHJhbmdlRW5kLnJhbmdlLnBheWxvYWQgOiByYW5nZUVuZC5wYXlsb2FkLFxuICAgICAgXTtcbiAgICB9O1xuICAgIC8vIEhlbHBlcnMgLSBFbmQuXG5cbiAgICAvLyBjbGVhciBIVE1MIGNvbnRlbnRzXG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY29udGFpbmVySWQpLmlubmVySFRNTCA9ICcnO1xuICAgIGNvbnN0IHN2ZyA9IGQzXG4gICAgICAuc2VsZWN0KGAjJHtjb250YWluZXJJZH1gKVxuICAgICAgLmF0dHIoXG4gICAgICAgICd2aWV3Qm94JyxcbiAgICAgICAgYDAgMCAke3dpZHRoICsgbWFyZ2luLmxlZnQgKyBtYXJnaW4ucmlnaHR9ICR7aGVpZ2h0ICsgbWFyZ2luLnRvcCArIG1hcmdpbi5ib3R0b219YFxuICAgICAgKTtcbiAgICB0aGlzLnN2ZyA9IHN2ZztcblxuICAgIGNvbnN0IHNjYWxlSGVpZ2h0ID0gZDNcbiAgICAgIC5zY2FsZVN5bWxvZygpIC8vIG1vc3Qgc2ltaWxhciBzY2FsZSB0byB0aGUgb3JpZ2luYWxcbiAgICAgIC5kb21haW4oWzAsIGQzLm1heChpdGVtcywgKGQpID0+IGQudmFsdWUpXSlcbiAgICAgIC5yYW5nZShbaGVpZ2h0LCAwXSk7XG5cbiAgICAvLyBHUkFESUVOVFxuICAgIGNvbnN0IGRlZnMgPSBzdmcuYXBwZW5kKCdkZWZzJyk7IC8vIGRlZmluaXRpb25zXG4gICAgY29uc3QgZ3JhZGllbnQgPSBkZWZzXG4gICAgICAuYXBwZW5kKCdsaW5lYXJHcmFkaWVudCcpXG4gICAgICAuYXR0cignaWQnLCAnZ3JhZGllbnQnKVxuICAgICAgLmF0dHIoJ2dyYWRpZW50VW5pdHMnLCAndXNlclNwYWNlT25Vc2UnKVxuICAgICAgLmF0dHIoJ3gxJywgMClcbiAgICAgIC5hdHRyKCd5MScsIGhlaWdodClcbiAgICAgIC5hdHRyKCd4MicsIDApXG4gICAgICAuYXR0cigneTInLCBtYXJnaW4udG9wKTtcbiAgICBncmFkaWVudFxuICAgICAgLmFwcGVuZCgnc3RvcCcpXG4gICAgICAuYXR0cignY2xhc3MnLCAnc3RhcnQnKVxuICAgICAgLmF0dHIoJ29mZnNldCcsICcwJScpXG4gICAgICAuYXR0cignc3RvcC1jb2xvcicsIGNvbG91cnMuYm90dG9tKSAvLyBib3R0b20gZ3JhZGllbnRcbiAgICAgIC5hdHRyKCdzdG9wLW9wYWNpdHknLCAxKTtcbiAgICBncmFkaWVudFxuICAgICAgLmFwcGVuZCgnc3RvcCcpXG4gICAgICAuYXR0cignY2xhc3MnLCAnZW5kJylcbiAgICAgIC5hdHRyKCdvZmZzZXQnLCAnMTAwJScpXG4gICAgICAuYXR0cignc3RvcC1jb2xvcicsIGNvbG91cnMudG9wKSAvLyB0b3AgZ3JhZGllbnRcbiAgICAgIC5hdHRyKCdzdG9wLW9wYWNpdHknLCAxKTtcblxuICAgIC8vIERSQVcgSU5TSURFIE1BUkdJTlNcbiAgICBjb25zdCBnID0gc3ZnXG4gICAgICAuYXBwZW5kKCdnJylcbiAgICAgIC5hdHRyKCdjbGFzcycsICdjaGFydCcpXG4gICAgICAuYXR0cigndHJhbnNmb3JtJywgYHRyYW5zbGF0ZSgke21hcmdpbi5sZWZ0fSwke21hcmdpbi50b3B9KWApO1xuXG4gICAgY29uc3QgYmFyc0xheWVyID0gZy5hcHBlbmQoJ2cnKS5hdHRyKCdjbGFzcycsICdiYXJzJyk7XG4gICAgY29uc3QgY29udHJvbHNMYXllciA9IGcuYXBwZW5kKCdnJykuYXR0cignY2xhc3MnLCAnY29udHJvbHMnKTtcblxuICAgIC8vIEJBUiBDSEFSVFxuICAgIGJhcnNMYXllciAvLyBiYXJzXG4gICAgICAuc2VsZWN0QWxsKCdyZWN0LmJhcnMnKVxuICAgICAgLmRhdGEoaXRlbXMpXG4gICAgICAuam9pbigncmVjdCcpXG4gICAgICAuYXR0cignY2xhc3MnLCAnYmFycycpXG4gICAgICAuYXR0cignd2lkdGgnLCBMQUJFTHRvWC5iYW5kd2lkdGgpXG4gICAgICAuYXR0cignaGVpZ2h0JywgKGQpID0+IGhlaWdodCAtIHNjYWxlSGVpZ2h0KGQudmFsdWUpKVxuICAgICAgLmF0dHIoJ3knLCAoZCkgPT4gc2NhbGVIZWlnaHQoZC52YWx1ZSkpXG4gICAgICAuYXR0cigneCcsIChkKSA9PiBMQUJFTHRvWChkLmxhYmVsKSlcbiAgICAgIC5hdHRyKCdkYXRhLXN0YXJ0JywgKGQpID0+IGQucGF5bG9hZCkgLy8gbWFrZSB0aGUgZGF0YSBlYXNpbHkgYWNjZXNzaWJsZVxuICAgICAgLmF0dHIoJ2RhdGEtZW5kJywgKGQpID0+IChkLnJhbmdlID8gZC5yYW5nZS5wYXlsb2FkIDogZC5wYXlsb2FkKSlcbiAgICAgIC5hdHRyKCdmaWxsJywgJ3VybCgjZ3JhZGllbnQpJyk7XG5cbiAgICBiYXJzTGF5ZXIgLy8gY2F0Y2ggYmFyIGV2ZW50c1xuICAgICAgLm9uKCdtb3VzZW1vdmUnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgeWVhciA9IFh0b0xBQkVMKHRoaXMuZ2V0RXZlbnRDb29yZHMoZXZlbnQpLngpO1xuICAgICAgICBkMy5zZWxlY3RBbGwoJ3JlY3QuYmFycycpLmF0dHIoJ2ZpbGwnLCAoZCkgPT4ge1xuICAgICAgICAgIGlmICh5ZWFyID09PSBkLmxhYmVsKSByZXR1cm4gJyNCMENDRjgnO1xuICAgICAgICAgIHJldHVybiBjb2xvdXJCYXJzKGQpO1xuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgICAub24oJ21vdXNlb3V0JywgKCkgPT4ge1xuICAgICAgICBkMy5zZWxlY3RBbGwoJ3JlY3QuYmFycycpLmF0dHIoJ2ZpbGwnLCAoZCkgPT4gY29sb3VyQmFycyhkKSk7XG4gICAgICB9KVxuICAgICAgLm9uKCdjbGljaycsIChldmVudCkgPT4ge1xuICAgICAgICBjb25zdCBsYWJlbCA9IFh0b0xBQkVMKHRoaXMuZ2V0RXZlbnRDb29yZHMoZXZlbnQpLngpO1xuICAgICAgICBjb25zdCB4QXhpc1ZhbHVlID0gTEFCRUx0b1gobGFiZWwpICsgTEFCRUx0b1guYmFuZHdpZHRoKCkgLyAyO1xuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHtcbiAgICAgICAgICB4OiB4QXhpc1ZhbHVlLFxuICAgICAgICAgIHk6IGhlaWdodCxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5zbGlkZXJzID0gW1xuICAgICAgICAgIC8vIGF2b2lkIGpvaW5pbmcgdGhlIHR3byBvYmplY3RzIVxuICAgICAgICAgIHsgLi4ubmV3VmFsdWUgfSxcbiAgICAgICAgICB7IC4uLm5ld1ZhbHVlIH0sXG4gICAgICAgIF07XG4gICAgICAgIHJhbmdlUGlja2VyXG4gICAgICAgICAgLmRhdGEodGhpcy5zbGlkZXJzKVxuICAgICAgICAgIC5zZWxlY3QoJ2NpcmNsZScpXG4gICAgICAgICAgLnRyYW5zaXRpb24oKVxuICAgICAgICAgIC5lYXNlKGQzLmVhc2VRdWFkT3V0KVxuICAgICAgICAgIC5kdXJhdGlvbig1NTApXG4gICAgICAgICAgLmF0dHIoJ2N4JywgKGQpID0+IGQueCk7XG4gICAgICAgIGNvbnRyb2xzTGF5ZXJcbiAgICAgICAgICAuc2VsZWN0KCdwYXRoLmJsdWVsaW5lJylcbiAgICAgICAgICAudHJhbnNpdGlvbigpXG4gICAgICAgICAgLmVhc2UoZDMuZWFzZVF1YWRPdXQpXG4gICAgICAgICAgLmR1cmF0aW9uKDU1MClcbiAgICAgICAgICAuYXR0cignZCcsIGQzLmxpbmUoKSh0aGlzLnNsaWRlcnMubWFwKChkKSA9PiBbZC54LCBkLnldKSkpO1xuICAgICAgICBjb250cm9sc0xheWVyXG4gICAgICAgICAgLnNlbGVjdEFsbCgndGV4dCcpXG4gICAgICAgICAgLnRyYW5zaXRpb24oKVxuICAgICAgICAgIC5lYXNlKGQzLmVhc2VRdWFkT3V0KVxuICAgICAgICAgIC5kdXJhdGlvbig1NTApXG4gICAgICAgICAgLmF0dHIoJ3gnLCAoKSA9PiB4QXhpc1ZhbHVlKVxuICAgICAgICAgIC50ZXh0KChkLCBpKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXJhbmdlTW9kZSkgcmV0dXJuIGxhYmVsO1xuICAgICAgICAgICAgY29uc3QgaXRlbSA9IGl0ZW1zLmZpbmQoKGl0KSA9PiBpdC5sYWJlbCA9PT0gbGFiZWwpO1xuICAgICAgICAgICAgaWYgKGkgPiAwKSByZXR1cm4gaXRlbS5yYW5nZS5sYWJlbDtcbiAgICAgICAgICAgIHJldHVybiBpdGVtLmxhYmVsO1xuICAgICAgICAgIH0pO1xuICAgICAgICBnLnNlbGVjdEFsbCgncmVjdC5iYXJzJykuYXR0cignZmlsbCcsIChkKSA9PiBjb2xvdXJCYXJzKGQpKTtcbiAgICAgICAgdGhpcy50ZXh0Q29sbGlzaW9uKHRoaXMuc2xpZGVycyk7XG4gICAgICAgIHRoaXMuZW1pdCgncmFuZ2VzZWxlY3RlZCcsIHRoaXMuZ2V0U2VsZWN0ZWRSYW5nZSgpKTtcbiAgICAgIH0pO1xuXG4gICAgY29udHJvbHNMYXllciAvLyBncmF5IGxpbmVcbiAgICAgIC5hcHBlbmQoJ3BhdGgnKVxuICAgICAgLmF0dHIoJ2NsYXNzJywgJ2dyYXlsaW5lJylcbiAgICAgIC5hdHRyKFxuICAgICAgICAnZCcsXG4gICAgICAgIGQzLmxpbmUoKShbXG4gICAgICAgICAgWzAsIGhlaWdodF0sXG4gICAgICAgICAgW3dpZHRoLCBoZWlnaHRdLFxuICAgICAgICBdKVxuICAgICAgKVxuICAgICAgLmF0dHIoJ3N0cm9rZS13aWR0aCcsIDIpXG4gICAgICAuYXR0cignb3BhY2l0eScsIDEpXG4gICAgICAuYXR0cignc3Ryb2tlJywgJyNDMUM1QzcnKTtcblxuICAgIGNvbnRyb2xzTGF5ZXIgLy8gYmx1ZSBsaW5lXG4gICAgICAuYXBwZW5kKCdwYXRoJylcbiAgICAgIC5hdHRyKCdjbGFzcycsICdibHVlbGluZScpXG4gICAgICAuYXR0cignZCcsIGQzLmxpbmUoKSh0aGlzLnNsaWRlcnMubWFwKChkKSA9PiBbZC54LCBkLnldKSkpXG4gICAgICAuYXR0cignc3Ryb2tlLXdpZHRoJywgMilcbiAgICAgIC5hdHRyKCdzdHJva2UnLCBjb2xvdXJzLmFjY2VudCk7XG5cbiAgICBjb25zdCByYW5nZVBpY2tlciA9IGNvbnRyb2xzTGF5ZXJcbiAgICAgIC5zZWxlY3RBbGwoJ2cucmFuZ2VwaWNrZXInKVxuICAgICAgLmRhdGEodGhpcy5zbGlkZXJzLnNvcnQoKGEsIGIpID0+IGQzLmFzY2VuZGluZyhhLngsIGIueCkpKVxuICAgICAgLmpvaW4oJ2cnKVxuICAgICAgLmF0dHIoJ2NsYXNzJywgJ3JhbmdlcGlja2VyJyk7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXNcbiAgICBjb25zdCBzZWxmID0gdGhpczsgLy8gRklYTUU6IEFsbG93IHVzZSBvZiBjbGFzcyBcInRoaXNcIiBpbnNpZGUgZHJhZ2dpbmcgdXBkYXRlO1xuICAgIC8qKlxuICAgICAqIEFuaW1hdGUgdGhlIGVsZW1lbnRzIHdoaWxlIHRoZSB1c2VyIGlzIGRyYWdnaW5nIG9uZSBvZiB0aGUgcmFuZ2Ugc2VsZWN0b3JzXG4gICAgICovXG4gICAgZnVuY3Rpb24gZHJhZ2dpbmdVcGRhdGUoZXZlbnQsIGRhdGEpIHtcbiAgICAgIGNvbnN0IGxhYmVsID0gWHRvTEFCRUwoZXZlbnQueCk7XG4gICAgICBjb25zdCB4QXhpc1ZhbHVlID0gTEFCRUx0b1gobGFiZWwpICsgTEFCRUx0b1guYmFuZHdpZHRoKCkgLyAyO1xuICAgICAgY29uc3QgeWIgPSBbXTtcbiAgICAgIGcuc2VsZWN0QWxsKCdjaXJjbGUnKS5lYWNoKGZ1bmN0aW9uIHNldEJhbGxQb3NpdGlvbigpIHtcbiAgICAgICAgeWIucHVzaCh7IHg6ICtkMy5zZWxlY3QodGhpcykuYXR0cignY3gnKSwgeTogaGVpZ2h0IH0pO1xuICAgICAgfSk7XG4gICAgICBzZWxmLnNsaWRlcnMgPSB5Yi5zb3J0KChhLCBiKSA9PiBkMy5hc2NlbmRpbmcoYS54LCBiLngpKTtcbiAgICAgIC8vIG1vdmUgdGhlIGNpcmNsZVxuICAgICAgZDMuc2VsZWN0KHRoaXMpXG4gICAgICAgIC5zZWxlY3QoJ2NpcmNsZScpXG4gICAgICAgIC5hdHRyKCdjeCcsIChkYXRhLnggPSB4QXhpc1ZhbHVlKSk7XG4gICAgICAvLyBtb3ZlIHRoZSBibHVlIGxpbmVcbiAgICAgIGNvbnRyb2xzTGF5ZXJcbiAgICAgICAgLnNlbGVjdCgncGF0aC5ibHVlbGluZScpXG4gICAgICAgIC5hdHRyKCdkJywgZDMubGluZSgpKHNlbGYuc2xpZGVycy5tYXAoKGQpID0+IFtkLngsIGQueV0pKSk7XG4gICAgICAvLyBjaGFuZ2UgdGhlIHRleHQgcG9zaXRpb25cbiAgICAgIGQzLnNlbGVjdCh0aGlzKVxuICAgICAgICAuc2VsZWN0KCd0ZXh0JylcbiAgICAgICAgLmF0dHIoJ3gnLCAoKSA9PiB4QXhpc1ZhbHVlKTtcbiAgICAgIC8vIGNoYW5nZSB0aGUgdGV4dCB2YWx1ZXNcbiAgICAgIGNvbnRyb2xzTGF5ZXIuc2VsZWN0QWxsKCd0ZXh0JykudGV4dCgoZCkgPT4ge1xuICAgICAgICBjb25zdCBsID0gWHRvTEFCRUwoZC54KTtcbiAgICAgICAgaWYgKCFyYW5nZU1vZGUpIHJldHVybiBsO1xuICAgICAgICBjb25zdCBwb3NpdGlvbiA9IHNlbGYuc2xpZGVycy5maW5kSW5kZXgoKHNsaWRlcikgPT4gc2xpZGVyLnggPT09IGQueCk7XG4gICAgICAgIGNvbnN0IHJhbmdlID0gc2VsZi5nZXRTZWxlY3RlZFJhbmdlKCk7XG4gICAgICAgIGlmIChwb3NpdGlvbiA9PT0gMSkgcmV0dXJuIHJhbmdlWzFdO1xuICAgICAgICByZXR1cm4gcmFuZ2VbMF07XG4gICAgICB9KTtcbiAgICAgIHNlbGYudGV4dENvbGxpc2lvbihzZWxmLnNsaWRlcnMpO1xuICAgICAgLy8gY29sb3VyIHRoZSBiYXJzXG4gICAgICBnLnNlbGVjdEFsbCgncmVjdC5iYXJzJykuYXR0cignZmlsbCcsIChkKSA9PiBjb2xvdXJCYXJzKGQpKTtcbiAgICB9XG5cbiAgICByYW5nZVBpY2tlciAvLyBkcmFnIGhhbmRsZXJcbiAgICAgIC5jYWxsKFxuICAgICAgICBkM1xuICAgICAgICAgIC5kcmFnKClcbiAgICAgICAgICAub24oJ2RyYWcnLCBkcmFnZ2luZ1VwZGF0ZSlcbiAgICAgICAgICAub24oJ2VuZCcsIChldmVudCwgZGF0YSkgPT4ge1xuICAgICAgICAgICAgLy8gdXBkYXRlIG9uZSBsYXN0IHRpbWUgdG8gcHJldmVudCBkZXN5bmNpbmdcbiAgICAgICAgICAgIGRyYWdnaW5nVXBkYXRlKGV2ZW50LCBkYXRhKTtcbiAgICAgICAgICAgIC8vIGVtaXQgdGhlIHNlbGVjdGVkIHJhbmdlXG4gICAgICAgICAgICB0aGlzLmVtaXQoJ3Jhbmdlc2VsZWN0ZWQnLCB0aGlzLmdldFNlbGVjdGVkUmFuZ2UoKSk7XG4gICAgICAgICAgfSlcbiAgICAgICk7XG5cbiAgICByYW5nZVBpY2tlclxuICAgICAgLmFwcGVuZCgnY2lyY2xlJylcbiAgICAgIC5hdHRyKCdjeCcsIChkKSA9PiBkLngpXG4gICAgICAuYXR0cignY3knLCAoZCkgPT4gZC55KVxuICAgICAgLmF0dHIoJ3InLCA5KVxuICAgICAgLmF0dHIoJ2ZpbGwnLCAnd2hpdGUnKVxuICAgICAgLmF0dHIoJ3N0cm9rZS13aWR0aCcsIDIpXG4gICAgICAuYXR0cignc3Ryb2tlJywgY29sb3Vycy5hY2NlbnQpXG4gICAgICAuYXR0cignc3R5bGUnLCAnY3Vyc29yOiBwb2ludGVyJyk7XG5cbiAgICByYW5nZVBpY2tlclxuICAgICAgLmF0dHIoJ3RleHQtYW5jaG9yJywgJ21pZGRsZScpXG4gICAgICAuYXR0cignZm9udC1mYW1pbHknLCAnUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZicpXG4gICAgICAuYXR0cignZm9udC1zaXplJywgJzEycHgnKVxuICAgICAgLmFwcGVuZCgndGV4dCcpXG4gICAgICAuYXR0cigneScsIChkKSA9PiBkLnkgKyBtYXJnaW4uYm90dG9tIC8gMilcbiAgICAgIC5hdHRyKCd4JywgKGQpID0+IGQueClcbiAgICAgIC5hdHRyKCdmaWxsJywgY29sb3Vycy5hY2NlbnQpXG4gICAgICAudGV4dCgoZCwgaSkgPT4ge1xuICAgICAgICBjb25zdCBsID0gWHRvTEFCRUwoZC54KTtcbiAgICAgICAgaWYgKHJhbmdlTW9kZSAmJiBpID09PSAxKSB7XG4gICAgICAgICAgcmV0dXJuIGl0ZW1zLmZpbmQoKGl0ZW0pID0+IGl0ZW0ubGFiZWwgPT09IGwpLnJhbmdlLmxhYmVsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBsO1xuICAgICAgfSk7XG5cbiAgICBpZiAoYXhpcz8ueUF4aXM/LnNob3cpIHtcbiAgICAgIGNvbnN0IHlBeGlzID0gZDNcbiAgICAgICAgLmF4aXNMZWZ0KHNjYWxlSGVpZ2h0KVxuICAgICAgICAudGlja3MoYXhpcy55QXhpcy50aWNrQW1vdW50ID8/IDIpXG4gICAgICAgIC50aWNrVmFsdWVzKGF4aXMueUF4aXMudmFsdWVzID8gYXhpcy55QXhpcy52YWx1ZXMgOiBudWxsKTtcbiAgICAgIGNvbnN0IHlBeGlzR3JvdXAgPSBzdmdcbiAgICAgICAgLmFwcGVuZCgnZycpXG4gICAgICAgIC5hdHRyKCd0cmFuc2Zvcm0nLCBgdHJhbnNsYXRlKCR7bWFyZ2luLmxlZnR9LCAke21hcmdpbi50b3B9KWApXG4gICAgICAgIC5jYWxsKHlBeGlzKTtcblxuICAgICAgeUF4aXNHcm91cC5zZWxlY3RBbGwoJ3BhdGgsIGxpbmUnKS5zdHlsZSgnc3Ryb2tlJywgY29sb3Vycy5hY2NlbnQpO1xuICAgICAgeUF4aXNHcm91cC5zZWxlY3RBbGwoJ3RleHQnKS5zdHlsZSgnZmlsbCcsIGNvbG91cnMuYWNjZW50KTtcbiAgICB9XG4gIH07XG5cbiAgLyoqIEF2b2lkIGNvbGxpc2lvbiBvZiB0aGUgc2xpZGVyIGxhYmVscyAqL1xuICB0ZXh0Q29sbGlzaW9uID0gKHNsaWRlcnM6IFNsaWRlcnMpID0+IHtcbiAgICAvLyBwcmUtcmVxdWlzaXRlc1xuICAgIGNvbnN0IGNvbnRyb2xzTGF5ZXIgPSB0aGlzLmQzLnNlbGVjdCgnZy5jaGFydCcpLnNlbGVjdCgnZy5jb250cm9scycpO1xuICAgIGNvbnN0IHsgaXRlbXMsIG1hcmdpbiB9ID0gdGhpcy5kYXRhO1xuICAgIGNvbnN0IHJhbmdlTW9kZSA9IGl0ZW1zLmV2ZXJ5KChkKSA9PiBkLnJhbmdlKTtcbiAgICAvLyBydW4gY29sbGlzaW9uIGRldGVjdGlvblxuICAgIGNvbnN0IGlzQ29sbGlkaW5nID0gc2xpZGVyc1swXS54ID09PSBzbGlkZXJzWzFdLng7XG4gICAgaWYgKHJhbmdlTW9kZSAmJiBpc0NvbGxpZGluZykge1xuICAgICAgY29udHJvbHNMYXllclxuICAgICAgICAuc2VsZWN0QWxsKCd0ZXh0JylcbiAgICAgICAgLmF0dHIoJ3knLCAoZCwgaSkgPT5cbiAgICAgICAgICBpID4gMCA/IGQueSArIG1hcmdpbi5ib3R0b20gLyAyICsgMTIgOiBkLnkgKyBtYXJnaW4uYm90dG9tIC8gMlxuICAgICAgICApXG4gICAgICAgIC50ZXh0KChkLCBpKSA9PiB7XG4gICAgICAgICAgY29uc3QgcmFuZ2UgPSB0aGlzLmdldFNlbGVjdGVkUmFuZ2UoKTtcbiAgICAgICAgICByZXR1cm4gcmFuZ2VbaV07XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb250cm9sc0xheWVyLnNlbGVjdEFsbCgndGV4dCcpLmF0dHIoJ3knLCAoZCkgPT4gZC55ICsgbWFyZ2luLmJvdHRvbSAvIDIpO1xuICAgIH1cbiAgfTtcblxuICAvKiogR2V0IHgtYXhpcyBwb3NpdGlvbiBmcm9tIGxhYmVsICovXG4gIGxhYmVsVG9YKCkge1xuICAgIHJldHVybiB0aGlzLmQzXG4gICAgICAuc2NhbGVCYW5kKClcbiAgICAgIC5kb21haW4odGhpcy5kYXRhLml0ZW1zLm1hcCgoZCkgPT4gZC5sYWJlbCkpXG4gICAgICAucmFuZ2UoWzAsIHRoaXMuZGF0YS53aWR0aF0pXG4gICAgICAucGFkZGluZ0lubmVyKDAuMTcpXG4gICAgICAucGFkZGluZ091dGVyKDEpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbiBldmVudCB3aXRoIHZpZXdCb3ggY29vcmRpbmF0ZXMgYW5kXG4gICAqIHBhcnNlIHRoZW0gaW4gYWJzb2x1dGUgY29vcmRpbmF0ZXNcbiAgICovXG4gIGdldEV2ZW50Q29vcmRzKGV2ZW50KTogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9IHtcbiAgICBjb25zdCBtID0gZXZlbnQudGFyZ2V0LmdldFNjcmVlbkNUTSgpO1xuICAgIGNvbnN0IHBvaW50ID0gdGhpcy5zdmcubm9kZSgpLmNyZWF0ZVNWR1BvaW50KCk7XG4gICAgcG9pbnQueCA9IGV2ZW50LmNsaWVudFg7XG4gICAgcG9pbnQueSA9IGV2ZW50LmNsaWVudFk7XG4gICAgcmV0dXJuIHBvaW50Lm1hdHJpeFRyYW5zZm9ybShtLmludmVyc2UoKSk7XG4gIH1cblxuICAvKiogUHVibGljIGFwaSB0aGF0IGFsbG93cyB0byBkaW5hbWljYWxseSBjaGFuZ2UgdGhlIGJhcnMgKi9cbiAgc2V0QmFycyA9IChuZXdCYXJzKSA9PiB7XG4gICAgdGhpcy5kYXRhLml0ZW1zID0gbmV3QmFycztcbiAgICB0aGlzLmRyYXcoKTtcbiAgICB0aGlzLmQzLnNlbGVjdEFsbCgncmVjdC5iYXJzJykuYXR0cignZmlsbCcsIChkKSA9PiB0aGlzLmNvbG91ckJhcnMoZCkpO1xuICB9O1xuXG4gIC8qKiBQdWJsaWMgYXBpIHRoYXQgYWxsb3dzIHRvIGRpbmFtaWNhbGx5IGNoYW5nZSB0aGUgc2xpZGVyIHBvc2l0aW9uICovXG4gIHNldFNsaWRlcnMgPSAoW3N0YXJ0TGFiZWwsIGVuZExhYmVsXTogTGFiZWxDb3VwbGUsIGVtaXQgPSB0cnVlKSA9PiB7XG4gICAgLy8gc2V0U2xpZGVycyhbMTQ1MCwgMTU3NV0pXG4gICAgdGhpcy5kYXRhLnNldFNsaWRlcnMgPSBbYCR7c3RhcnRMYWJlbH1gLCBgJHtlbmRMYWJlbH1gXTtcbiAgICB0aGlzLmRyYXcoKTtcbiAgICB0aGlzLmQzLnNlbGVjdEFsbCgncmVjdC5iYXJzJykuYXR0cignZmlsbCcsIChkKSA9PiB0aGlzLmNvbG91ckJhcnMoZCkpO1xuICAgIGNvbnN0IHJhbmdlID0gdGhpcy5nZXRTZWxlY3RlZFJhbmdlKCk7XG4gICAgaWYgKGVtaXQpIHRoaXMuZW1pdCgncmFuZ2VzZWxlY3RlZCcsIHJhbmdlKTtcbiAgICB0aGlzLnRleHRDb2xsaXNpb24odGhpcy5zbGlkZXJzKTtcbiAgICByZXR1cm4gcmFuZ2U7XG4gIH07XG5cbiAgLyoqIEVtaXRzIGFuIGV2ZW50IHdoZW4gdGhlIGNvbXBvbmVudCBoYXMgbG9hZGVkICovXG4gIGVtaXRMb2FkZWQocGF5bG9hZCkge1xuICAgIGlmICghdGhpcy5lbWl0KSByZXR1cm47XG4gICAgdGhpcy5lbWl0KCdsb2FkZWQnLCBwYXlsb2FkKTtcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImRhdGFcIiBjbGFzcz1cIm43LWhpc3RvZ3JhbS1yYW5nZVwiPlxuICA8c3ZnICNoaXN0b2dyYW1SYW5nZSBbaWRdPVwiZGF0YS5jb250YWluZXJJZFwiPjwvc3ZnPlxuPC9kaXY+XG4iXX0=
|
|
390
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9ncmFtLXJhbmdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHYtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2hpc3RvZ3JhbS1yYW5nZS9oaXN0b2dyYW0tcmFuZ2UudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaGlzdG9ncmFtLXJhbmdlL2hpc3RvZ3JhbS1yYW5nZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlDQUF5QztBQUN6Qyw2QkFBNkI7QUFDN0IscUJBQXFCO0FBQ3JCLDZCQUE2QjtBQUU3QixPQUFPLEVBQXVCLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQTJGdEUsTUFBTSxPQUFPLHVCQUF1QjtJQUpwQztRQVdVLFlBQU8sR0FBWSxFQUFFLENBQUM7UUFLdEIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQW9DeEIsU0FBSSxHQUFHLEdBQUcsRUFBRTtZQUNWLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUM7WUFDcEIsTUFBTSxFQUNKLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssRUFDTCxPQUFPLEVBQ1AsV0FBVyxFQUNYLElBQUksRUFDSixVQUFVLEdBQ1gsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBRWQsa0JBQWtCO1lBQ2xCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzlDLE1BQU0sS0FBSyxDQUFD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LEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUMzQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUMzQixZQUFZLENBQUMsSUFBSSxDQUFDO2FBQ2xCLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsY0FBYyxDQUFDLEtBQUs7UUFDbEIsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQy9DLEtBQUssQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUN4QixLQUFLLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDeEIsT0FBTyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFxQkQsbURBQW1EO0lBQ25ELFVBQVUsQ0FBQyxPQUFPO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDL0IsQ0FBQzsrR0F4YVUsdUJBQXVCO21HQUF2Qix1QkFBdUIsa0dDaEdwQyxzSEFHQTs7NEZENkZhLHVCQUF1QjtrQkFKbkMsU0FBUzsrQkFDRSxvQkFBb0I7OEJBSXJCLElBQUk7c0JBQVosS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby11c2UtYmVmb3JlLWRlZmluZSAqL1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEhJU1RPR1JBTS1SQU5HRS50c1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuaW1wb3J0IHsgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIEhpc3RvZ3JhbVJhbmdlQ29tcG9uZW50J3MgXCJkYXRhXCJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIaXN0b2dyYW1SYW5nZURhdGEge1xuICAvKipcbiAgICogdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBoaXN0b2dyYW0tcmFuZ2Ugc3ZnXG4gICAqL1xuICBjb250YWluZXJJZDogc3RyaW5nO1xuICAvKipcbiAgICogdG90YWwgd2lkdGggZm9yIHRoZSBzdmcgZWxlbWVudFxuICAgKi9cbiAgd2lkdGg6IG51bWJlcjtcbiAgLyoqXG4gICAqIHRvdGFsIGhlaWdodCBmb3IgdGhlIHN2ZyBlbGVtZW50XG4gICAqL1xuICBoZWlnaHQ6IG51bWJlcjtcbiAgLyoqXG4gICAqIEludGVybmFsIG1hcmdpbnMgb2YgdGhlIHN2Z1xuICAgKi9cbiAgbWFyZ2luOiB7XG4gICAgbGVmdDogbnVtYmVyO1xuICAgIHJpZ2h0OiBudW1iZXI7XG4gICAgdG9wOiBudW1iZXI7XG4gICAgYm90dG9tOiBudW1iZXI7XG4gIH07XG4gIC8qKlxuICAgKiBUaGVtZSBvZiB0aGUgaGlzdG9ncmFtXG4gICAqL1xuICBjb2xvdXJzOiB7XG4gICAgdG9wOiBzdHJpbmc7XG4gICAgYm90dG9tOiBzdHJpbmc7XG4gICAgYWNjZW50OiBzdHJpbmc7XG4gIH07XG4gIC8qKlxuICAgKiBEYXRhIGZvciB0aGUgaGlzdG9ncmFtIGJhcnNcbiAgICovXG4gIGl0ZW1zOiB7XG4gICAgLyoqIGRlZmF1bHQgbGFiZWwgb2YgdGhlIGl0ZW0gKi9cbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIC8qKiB5LWF4aXMgdmFsdWUgb2YgdGhlIGJhciAoaGVpZ2h0KSAqL1xuICAgIHZhbHVlOiBudW1iZXI7XG4gICAgLyoqIHBheWxvYWQgdGhhdCB0aGUgaXRlbSBzaG91bGQgZW1pdCB3aGVuIHNlbGVjdGVkICovXG4gICAgcGF5bG9hZDogYW55O1xuICAgIC8qKlxuICAgICAqICd1cHBlcicgdmFsdWVzIG9mIHRoZSByYW5nZS5cbiAgICAgKiBvbmx5IHVzZWQgd2hlbiBlYWNoIGJhciByZXByZXNlbnRzIGEgcmFuZ2UuXG4gICAgICovXG4gICAgcmFuZ2U/OiB7XG4gICAgICAvKiogbGFiZWwgbG9hZGVkIHdoZW4gc2VsZWN0ZWQgYnkgdGhlIHJpZ2h0LW1vc3QgcG9pbnRlciAqL1xuICAgICAgbGFiZWw6IHN0cmluZztcbiAgICAgIC8qKiBwYXlsb2FkIGVtaXR0ZWQgd2hlbiBzZWxlY3RlZCBieSB0aGUgcmlnaHQtbW9zdCBwb2ludGVyICovXG4gICAgICBwYXlsb2FkOiBhbnk7XG4gICAgfTtcbiAgfVtdO1xuICAvKipcbiAgICogQXhpcyBzZXR0aW5nc1xuICAgKi9cbiAgYXhpcz86IHtcbiAgICAvKiogWSBBeGlzIHNldHRpbmdzICovXG4gICAgeUF4aXM/OiB7XG4gICAgICAvKiogVHVybiBvbiBhbmQgb2ZmIHRoZSBheGlzICovXG4gICAgICBzaG93PzogYm9vbGVhbjtcbiAgICAgIC8qKiBNYW51YWxseSBzZXQgdGhlIGF4aXMgdmFsdWVzIHRvIHNob3cgKi9cbiAgICAgIHZhbHVlcz86IG51bWJlcltdO1xuICAgICAgLyoqIEhvdyBtYW55IHRpY2tzIGRvIHlvdSB3YW50IHRvIHNlZSAqL1xuICAgICAgdGlja0Ftb3VudD86IG51bWJlcjtcbiAgICB9O1xuICB9O1xuICAvKipcbiAgICogZXhwb3NlIHRoZSBkcmF3IGZ1bmN0aW9uIG91dHNpZGUgb2YgbjctZnJvbnRlbmQvY29tcG9uZW50cyBsaWJyYXJ5XG4gICAqIHRoaXMgaXMgbmVlZGVkIHRvIHJlZHJhdyBidWJibGUtY2hhcnQtY29tcG9uZW50IG9uIGNvbW1hbmRcbiAgICovXG4gIHNldERyYXc/OiBhbnk7XG4gIC8qKlxuICAgKiBzZXRTbGlkZXJzXG4gICAqL1xuICBzZXRTbGlkZXJzPzogTGFiZWxDb3VwbGU7XG4gIC8qKlxuICAgKiBQdWJsaWMgYXBpXG4gICAqL1xuICBzZXRBcGk/OiBhbnk7XG59XG5cbnR5cGUgU2xpZGVycyA9IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfVtdO1xudHlwZSBMYWJlbENvdXBsZSA9IFtzdHJpbmcsIHN0cmluZ107XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ243LWhpc3RvZ3JhbS1yYW5nZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9oaXN0b2dyYW0tcmFuZ2UuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEhpc3RvZ3JhbVJhbmdlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50Q2hlY2tlZCB7XG4gIEBJbnB1dCgpIGRhdGE6IEhpc3RvZ3JhbVJhbmdlRGF0YTtcblxuICBASW5wdXQoKSBlbWl0OiBhbnk7XG5cbiAgcHJpdmF0ZSBkMztcblxuICBwcml2YXRlIHNsaWRlcnM6IFNsaWRlcnMgPSBbXTtcblxuICAvKiogZDMgc2VsZWN0aW9uIHN2ZyByb290ICovXG4gIHByaXZhdGUgc3ZnO1xuXG4gIHByaXZhdGUgX2xvYWRlZCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgY29sb3VyQmFycztcblxuICBwcml2YXRlIGdldFNlbGVjdGVkUmFuZ2U7XG5cbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCkge1xuICAgIC8qXG4gICAgICAgICBXYWl0cyBmb3IgdGhlIGRvbSB0byBiZSBsb2FkZWQsIHRoZW4gZmlyZXMgdGhlIGRyYXcgZnVuY3Rpb25cbiAgICAgICAgIHRoYXQgcmVuZGVycyB0aGUgY2hhcnQuXG4gICAgKi9cbiAgICBpZiAodGhpcy5kYXRhKSB7XG4gICAgICBpZiAodGhpcy5fbG9hZGVkKSByZXR1cm47XG4gICAgICB0aGlzLl9sb2FkZWQgPSB0cnVlO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGltcG9ydCgnZDMnKS50aGVuKChtb2R1bGUpID0+IHtcbiAgICAgICAgICB0aGlzLmQzID0gbW9kdWxlO1xuICAgICAgICAgIHRoaXMuZHJhdygpO1xuICAgICAgICAgIHRoaXMuZW1pdExvYWRlZCh0cnVlKTtcbiAgICAgICAgICBpZiAodGhpcy5kYXRhICYmIHRoaXMuZGF0YS5zZXREcmF3KSB7XG4gICAgICAgICAgICB0aGlzLmRhdGEuc2V0RHJhdyh0aGlzLmRyYXcpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodGhpcy5kYXRhLnNldEFwaSkge1xuICAgICAgICAgICAgLy8gZXhwb3NlIHRoZSBjb21wb25lbnQgYXBpXG4gICAgICAgICAgICB0aGlzLmRhdGEuc2V0QXBpKHtcbiAgICAgICAgICAgICAgc2V0U2xpZGVyczogdGhpcy5zZXRTbGlkZXJzLFxuICAgICAgICAgICAgICBzZXRCYXJzOiB0aGlzLnNldEJhcnMsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRvdC1ub3RhdGlvblxuICAgICAgICAgIC8vIHdpbmRvd1snc2V0U2xpZGVycyddID0gdGhpcy5zZXRTbGlkZXJzO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGRyYXcgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBkMyB9ID0gdGhpcztcbiAgICBjb25zdCB7XG4gICAgICB3aWR0aCxcbiAgICAgIG1hcmdpbixcbiAgICAgIGhlaWdodCxcbiAgICAgIGl0ZW1zLFxuICAgICAgY29sb3VycyxcbiAgICAgIGNvbnRhaW5lcklkLFxuICAgICAgYXhpcyxcbiAgICAgIHNldFNsaWRlcnMsXG4gICAgfSA9IHRoaXMuZGF0YTtcblxuICAgIC8vIGRhdGEgdmFsaWRhdGlvblxuICAgIGNvbnN0IHJhbmdlTW9kZSA9IGl0ZW1zLmV2ZXJ5KChkKSA9PiBkLnJhbmdlKTtcbiAgICBpZiAoIXJhbmdlTW9kZSAmJiBpdGVtcy5zb21lKChkKSA9PiAhZC5yYW5nZSkpIHtcbiAgICAgIHRocm93IEVycm9yKCdBbGwgaXRlbXMgbXVzdCBoYXZlIHRoZSBcInJhbmdlXCIgcHJvcGVydHknKTtcbiAgICB9XG5cbiAgICAvLyBIZWxwZXJzIC0gU3RhcnQ6XG4gICAgY29uc3QgTEFCRUx0b1ggPSBkM1xuICAgICAgLnNjYWxlQmFuZCgpXG4gICAgICAuZG9tYWluKGl0ZW1zLm1hcCgoZCkgPT4gZC5sYWJlbCkpXG4gICAgICAucmFuZ2UoWzAsIHdpZHRoXSlcbiAgICAgIC5wYWRkaW5nSW5uZXIoMC4xNylcbiAgICAgIC5wYWRkaW5nT3V0ZXIoMSk7XG5cbiAgICBjb25zdCBYdG9MQUJFTCA9ICh2YWx1ZSkgPT4ge1xuICAgICAgY29uc3QgZG9tYWluID0gTEFCRUx0b1guZG9tYWluKCk7XG4gICAgICBjb25zdCBwYWRkaW5nT3V0ZXIgPSBMQUJFTHRvWChkb21haW5bMF0pO1xuICAgICAgY29uc3QgZWFjaEJhbmQgPSBMQUJFTHRvWC5zdGVwKCk7XG4gICAgICBjb25zdCBpbmRleCA9IE1hdGguZmxvb3IoKHZhbHVlIC0gcGFkZGluZ091dGVyKSAvIGVhY2hCYW5kKTtcbiAgICAgIHJldHVybiBkb21haW5bTWF0aC5tYXgoMCwgTWF0aC5taW4oaW5kZXgsIGRvbWFpbi5sZW5ndGggLSAxKSldO1xuICAgIH07XG5cbiAgICAvLyBZRUFSIFNFTEVDVElPTiBDSVJDTEVTXG4gICAgLy8gbGV0IHNsaWRlcnM7XG4gICAgaWYgKHNldFNsaWRlcnMgJiYgdGhpcy5zbGlkZXJzKSB7XG4gICAgICB0aGlzLnNsaWRlcnMgPSBzZXRTbGlkZXJzLm1hcCgoZCkgPT4gKHtcbiAgICAgICAgeDogTEFCRUx0b1goZCkgKyBMQUJFTHRvWC5iYW5kd2lkdGgoKSAvIDIsXG4gICAgICAgIHk6IGhlaWdodCxcbiAgICAgIH0pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zbGlkZXJzID0gZDNcbiAgICAgICAgLmV4dGVudChpdGVtcywgKGQpID0+ICtkLmxhYmVsKVxuICAgICAgICAubWFwKChkKSA9PiAoeyB4OiBMQUJFTHRvWChTdHJpbmcoZCkpICsgTEFCRUx0b1guYmFuZHdpZHRoKCkgLyAyLCB5OiBoZWlnaHQgfSkpO1xuICAgIH1cblxuICAgIGNvbnN0IGlzSW5SYW5nZSA9ICh5KSA9PiB7XG4gICAgICBjb25zdCBhbGxJdGVtcyA9IHRoaXMuc2xpZGVycy5tYXAoKGQpID0+ICtYdG9MQUJFTChkLngpKTtcbiAgICAgIGlmICgreSA+PSBkMy5taW4oYWxsSXRlbXMpICYmICt5IDw9IGQzLm1heChhbGxJdGVtcykpIHJldHVybiB0cnVlO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH07XG5cbiAgICBmdW5jdGlvbiBjb2xvdXJCYXJzKGQpIHtcbiAgICAgIGlmIChpc0luUmFuZ2UoZC5sYWJlbCkpIHJldHVybiAndXJsKCNncmFkaWVudCknO1xuICAgICAgcmV0dXJuICcjZTNlM2UzJztcbiAgICB9XG4gICAgdGhpcy5jb2xvdXJCYXJzID0gY29sb3VyQmFycztcblxuICAgIHRoaXMuZ2V0U2VsZWN0ZWRSYW5nZSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHJhbmdlU3RhcnQgPSBpdGVtcy5maW5kKFxuICAgICAgICAoaXQpID0+IGl0LmxhYmVsID09PSBYdG9MQUJFTCh0aGlzLnNsaWRlcnNbMF0ueClcbiAgICAgICk7XG4gICAgICBjb25zdCByYW5nZUVuZCA9IGl0ZW1zLmZpbmQoXG4gICAgICAgIChpdCkgPT4gaXQubGFiZWwgPT09IFh0b0xBQkVMKHRoaXMuc2xpZGVyc1sxXS54KVxuICAgICAgKTtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHJhbmdlU3RhcnQucGF5bG9hZCxcbiAgICAgICAgcmFuZ2VNb2RlID8gcmFuZ2VFbmQucmFuZ2UucGF5bG9hZCA6IHJhbmdlRW5kLnBheWxvYWQsXG4gICAgICBdO1xuICAgIH07XG4gICAgLy8gSGVscGVycyAtIEVuZC5cblxuICAgIC8vIGNsZWFyIEhUTUwgY29udGVudHNcbiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChjb250YWluZXJJZCkuaW5uZXJIVE1MID0gJyc7XG4gICAgY29uc3Qgc3ZnID0gZDNcbiAgICAgIC5zZWxlY3QoYCMke2NvbnRhaW5lcklkfWApXG4gICAgICAuYXR0cihcbiAgICAgICAgJ3ZpZXdCb3gnLFxuICAgICAgICBgMCAwICR7d2lkdGggKyBtYXJnaW4ubGVmdCArIG1hcmdpbi5yaWdodH0gJHtoZWlnaHQgKyBtYXJnaW4udG9wICsgbWFyZ2luLmJvdHRvbX1gXG4gICAgICApO1xuICAgIHRoaXMuc3ZnID0gc3ZnO1xuXG4gICAgY29uc3Qgc2NhbGVIZWlnaHQgPSBkM1xuICAgICAgLnNjYWxlU3ltbG9nKCkgLy8gbW9zdCBzaW1pbGFyIHNjYWxlIHRvIHRoZSBvcmlnaW5hbFxuICAgICAgLmRvbWFpbihbMCwgZDMubWF4KGl0ZW1zLCAoZCkgPT4gZC52YWx1ZSldKVxuICAgICAgLnJhbmdlKFtoZWlnaHQsIDBdKTtcblxuICAgIC8vIEdSQURJRU5UXG4gICAgY29uc3QgZGVmcyA9IHN2Zy5hcHBlbmQoJ2RlZnMnKTsgLy8gZGVmaW5pdGlvbnNcbiAgICBjb25zdCBncmFkaWVudCA9IGRlZnNcbiAgICAgIC5hcHBlbmQoJ2xpbmVhckdyYWRpZW50JylcbiAgICAgIC5hdHRyKCdpZCcsICdncmFkaWVudCcpXG4gICAgICAuYXR0cignZ3JhZGllbnRVbml0cycsICd1c2VyU3BhY2VPblVzZScpXG4gICAgICAuYXR0cigneDEnLCAwKVxuICAgICAgLmF0dHIoJ3kxJywgaGVpZ2h0KVxuICAgICAgLmF0dHIoJ3gyJywgMClcbiAgICAgIC5hdHRyKCd5MicsIG1hcmdpbi50b3ApO1xuICAgIGdyYWRpZW50XG4gICAgICAuYXBwZW5kKCdzdG9wJylcbiAgICAgIC5hdHRyKCdjbGFzcycsICdzdGFydCcpXG4gICAgICAuYXR0cignb2Zmc2V0JywgJzAlJylcbiAgICAgIC5hdHRyKCdzdG9wLWNvbG9yJywgY29sb3Vycy5ib3R0b20pIC8vIGJvdHRvbSBncmFkaWVudFxuICAgICAgLmF0dHIoJ3N0b3Atb3BhY2l0eScsIDEpO1xuICAgIGdyYWRpZW50XG4gICAgICAuYXBwZW5kKCdzdG9wJylcbiAgICAgIC5hdHRyKCdjbGFzcycsICdlbmQnKVxuICAgICAgLmF0dHIoJ29mZnNldCcsICcxMDAlJylcbiAgICAgIC5hdHRyKCdzdG9wLWNvbG9yJywgY29sb3Vycy50b3ApIC8vIHRvcCBncmFkaWVudFxuICAgICAgLmF0dHIoJ3N0b3Atb3BhY2l0eScsIDEpO1xuXG4gICAgLy8gRFJBVyBJTlNJREUgTUFSR0lOU1xuICAgIGNvbnN0IGcgPSBzdmdcbiAgICAgIC5hcHBlbmQoJ2cnKVxuICAgICAgLmF0dHIoJ2NsYXNzJywgJ2NoYXJ0JylcbiAgICAgIC5hdHRyKCd0cmFuc2Zvcm0nLCBgdHJhbnNsYXRlKCR7bWFyZ2luLmxlZnR9LCR7bWFyZ2luLnRvcH0pYCk7XG5cbiAgICBjb25zdCBiYXJzTGF5ZXIgPSBnLmFwcGVuZCgnZycpLmF0dHIoJ2NsYXNzJywgJ2JhcnMnKTtcbiAgICBjb25zdCBjb250cm9sc0xheWVyID0gZy5hcHBlbmQoJ2cnKS5hdHRyKCdjbGFzcycsICdjb250cm9scycpO1xuXG4gICAgLy8gQkFSIENIQVJUXG4gICAgYmFyc0xheWVyIC8vIGJhcnNcbiAgICAgIC5zZWxlY3RBbGwoJ3JlY3QuYmFycycpXG4gICAgICAuZGF0YShpdGVtcylcbiAgICAgIC5qb2luKCdyZWN0JylcbiAgICAgIC5hdHRyKCdjbGFzcycsICdiYXJzJylcbiAgICAgIC5hdHRyKCd3aWR0aCcsIExBQkVMdG9YLmJhbmR3aWR0aClcbiAgICAgIC5hdHRyKCdoZWlnaHQnLCAoZCkgPT4gaGVpZ2h0IC0gc2NhbGVIZWlnaHQoZC52YWx1ZSkpXG4gICAgICAuYXR0cigneScsIChkKSA9PiBzY2FsZUhlaWdodChkLnZhbHVlKSlcbiAgICAgIC5hdHRyKCd4JywgKGQpID0+IExBQkVMdG9YKGQubGFiZWwpKVxuICAgICAgLmF0dHIoJ2RhdGEtc3RhcnQnLCAoZCkgPT4gZC5wYXlsb2FkKSAvLyBtYWtlIHRoZSBkYXRhIGVhc2lseSBhY2Nlc3NpYmxlXG4gICAgICAuYXR0cignZGF0YS1lbmQnLCAoZCkgPT4gKGQucmFuZ2UgPyBkLnJhbmdlLnBheWxvYWQgOiBkLnBheWxvYWQpKVxuICAgICAgLmF0dHIoJ2ZpbGwnLCAndXJsKCNncmFkaWVudCknKTtcblxuICAgIGJhcnNMYXllciAvLyBjYXRjaCBiYXIgZXZlbnRzXG4gICAgICAub24oJ21vdXNlbW92ZScsIChldmVudCkgPT4ge1xuICAgICAgICBjb25zdCB5ZWFyID0gWHRvTEFCRUwodGhpcy5nZXRFdmVudENvb3JkcyhldmVudCkueCk7XG4gICAgICAgIGQzLnNlbGVjdEFsbCgncmVjdC5iYXJzJykuYXR0cignZmlsbCcsIChkKSA9PiB7XG4gICAgICAgICAgaWYgKHllYXIgPT09IGQubGFiZWwpIHJldHVybiAnI0IwQ0NGOCc7XG4gICAgICAgICAgcmV0dXJuIGNvbG91ckJhcnMoZCk7XG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICAgIC5vbignbW91c2VvdXQnLCAoKSA9PiB7XG4gICAgICAgIGQzLnNlbGVjdEFsbCgncmVjdC5iYXJzJykuYXR0cignZmlsbCcsIChkKSA9PiBjb2xvdXJCYXJzKGQpKTtcbiAgICAgIH0pXG4gICAgICAub24oJ2NsaWNrJywgKGV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IGxhYmVsID0gWHRvTEFCRUwodGhpcy5nZXRFdmVudENvb3JkcyhldmVudCkueCk7XG4gICAgICAgIGNvbnN0IHhBeGlzVmFsdWUgPSBMQUJFTHRvWChsYWJlbCkgKyBMQUJFTHRvWC5iYW5kd2lkdGgoKSAvIDI7XG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0ge1xuICAgICAgICAgIHg6IHhBeGlzVmFsdWUsXG4gICAgICAgICAgeTogaGVpZ2h0LFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLnNsaWRlcnMgPSBbXG4gICAgICAgICAgLy8gYXZvaWQgam9pbmluZyB0aGUgdHdvIG9iamVjdHMhXG4gICAgICAgICAgeyAuLi5uZXdWYWx1ZSB9LFxuICAgICAgICAgIHsgLi4ubmV3VmFsdWUgfSxcbiAgICAgICAgXTtcbiAgICAgICAgcmFuZ2VQaWNrZXJcbiAgICAgICAgICAuZGF0YSh0aGlzLnNsaWRlcnMpXG4gICAgICAgICAgLnNlbGVjdCgnY2lyY2xlJylcbiAgICAgICAgICAudHJhbnNpdGlvbigpXG4gICAgICAgICAgLmVhc2UoZDMuZWFzZVF1YWRPdXQpXG4gICAgICAgICAgLmR1cmF0aW9uKDU1MClcbiAgICAgICAgICAuYXR0cignY3gnLCAoZCkgPT4gZC54KTtcbiAgICAgICAgY29udHJvbHNMYXllclxuICAgICAgICAgIC5zZWxlY3QoJ3BhdGguYmx1ZWxpbmUnKVxuICAgICAgICAgIC50cmFuc2l0aW9uKClcbiAgICAgICAgICAuZWFzZShkMy5lYXNlUXVhZE91dClcbiAgICAgICAgICAuZHVyYXRpb24oNTUwKVxuICAgICAgICAgIC5hdHRyKCdkJywgZDMubGluZSgpKHRoaXMuc2xpZGVycy5tYXAoKGQpID0+IFtkLngsIGQueV0pKSk7XG4gICAgICAgIGNvbnRyb2xzTGF5ZXJcbiAgICAgICAgICAuc2VsZWN0QWxsKCd0ZXh0JylcbiAgICAgICAgICAudHJhbnNpdGlvbigpXG4gICAgICAgICAgLmVhc2UoZDMuZWFzZVF1YWRPdXQpXG4gICAgICAgICAgLmR1cmF0aW9uKDU1MClcbiAgICAgICAgICAuYXR0cigneCcsICgpID0+IHhBeGlzVmFsdWUpXG4gICAgICAgICAgLnRleHQoKGQsIGkpID0+IHtcbiAgICAgICAgICAgIGlmICghcmFuZ2VNb2RlKSByZXR1cm4gbGFiZWw7XG4gICAgICAgICAgICBjb25zdCBpdGVtID0gaXRlbXMuZmluZCgoaXQpID0+IGl0LmxhYmVsID09PSBsYWJlbCk7XG4gICAgICAgICAgICBpZiAoaSA+IDApIHJldHVybiBpdGVtLnJhbmdlLmxhYmVsO1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW0ubGFiZWw7XG4gICAgICAgICAgfSk7XG4gICAgICAgIGcuc2VsZWN0QWxsKCdyZWN0LmJhcnMnKS5hdHRyKCdmaWxsJywgKGQpID0+IGNvbG91ckJhcnMoZCkpO1xuICAgICAgICB0aGlzLnRleHRDb2xsaXNpb24odGhpcy5zbGlkZXJzKTtcbiAgICAgICAgdGhpcy5lbWl0KCdyYW5nZXNlbGVjdGVkJywgdGhpcy5nZXRTZWxlY3RlZFJhbmdlKCkpO1xuICAgICAgfSk7XG5cbiAgICBjb250cm9sc0xheWVyIC8vIGdyYXkgbGluZVxuICAgICAgLmFwcGVuZCgncGF0aCcpXG4gICAgICAuYXR0cignY2xhc3MnLCAnZ3JheWxpbmUnKVxuICAgICAgLmF0dHIoXG4gICAgICAgICdkJyxcbiAgICAgICAgZDMubGluZSgpKFtcbiAgICAgICAgICBbMCwgaGVpZ2h0XSxcbiAgICAgICAgICBbd2lkdGgsIGhlaWdodF0sXG4gICAgICAgIF0pXG4gICAgICApXG4gICAgICAuYXR0cignc3Ryb2tlLXdpZHRoJywgMilcbiAgICAgIC5hdHRyKCdvcGFjaXR5JywgMSlcbiAgICAgIC5hdHRyKCdzdHJva2UnLCAnI0MxQzVDNycpO1xuXG4gICAgY29udHJvbHNMYXllciAvLyBibHVlIGxpbmVcbiAgICAgIC5hcHBlbmQoJ3BhdGgnKVxuICAgICAgLmF0dHIoJ2NsYXNzJywgJ2JsdWVsaW5lJylcbiAgICAgIC5hdHRyKCdkJywgZDMubGluZSgpKHRoaXMuc2xpZGVycy5tYXAoKGQpID0+IFtkLngsIGQueV0pKSlcbiAgICAgIC5hdHRyKCdzdHJva2Utd2lkdGgnLCAyKVxuICAgICAgLmF0dHIoJ3N0cm9rZScsIGNvbG91cnMuYWNjZW50KTtcblxuICAgIGNvbnN0IHJhbmdlUGlja2VyID0gY29udHJvbHNMYXllclxuICAgICAgLnNlbGVjdEFsbCgnZy5yYW5nZXBpY2tlcicpXG4gICAgICAuZGF0YSh0aGlzLnNsaWRlcnMuc29ydCgoYSwgYikgPT4gZDMuYXNjZW5kaW5nKGEueCwgYi54KSkpXG4gICAgICAuam9pbignZycpXG4gICAgICAuYXR0cignY2xhc3MnLCAncmFuZ2VwaWNrZXInKTtcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdGhpcy1hbGlhc1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzOyAvLyBGSVhNRTogQWxsb3cgdXNlIG9mIGNsYXNzIFwidGhpc1wiIGluc2lkZSBkcmFnZ2luZyB1cGRhdGU7XG4gICAgLyoqXG4gICAgICogQW5pbWF0ZSB0aGUgZWxlbWVudHMgd2hpbGUgdGhlIHVzZXIgaXMgZHJhZ2dpbmcgb25lIG9mIHRoZSByYW5nZSBzZWxlY3RvcnNcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBkcmFnZ2luZ1VwZGF0ZShldmVudCwgZGF0YSkge1xuICAgICAgY29uc3QgbGFiZWwgPSBYdG9MQUJFTChldmVudC54KTtcbiAgICAgIGNvbnN0IHhBeGlzVmFsdWUgPSBMQUJFTHRvWChsYWJlbCkgKyBMQUJFTHRvWC5iYW5kd2lkdGgoKSAvIDI7XG4gICAgICBjb25zdCB5YiA9IFtdO1xuICAgICAgZy5zZWxlY3RBbGwoJ2NpcmNsZScpLmVhY2goZnVuY3Rpb24gc2V0QmFsbFBvc2l0aW9uKCkge1xuICAgICAgICB5Yi5wdXNoKHsgeDogK2QzLnNlbGVjdCh0aGlzKS5hdHRyKCdjeCcpLCB5OiBoZWlnaHQgfSk7XG4gICAgICB9KTtcbiAgICAgIHNlbGYuc2xpZGVycyA9IHliLnNvcnQoKGEsIGIpID0+IGQzLmFzY2VuZGluZyhhLngsIGIueCkpO1xuICAgICAgLy8gbW92ZSB0aGUgY2lyY2xlXG4gICAgICBkMy5zZWxlY3QodGhpcylcbiAgICAgICAgLnNlbGVjdCgnY2lyY2xlJylcbiAgICAgICAgLmF0dHIoJ2N4JywgKGRhdGEueCA9IHhBeGlzVmFsdWUpKTtcbiAgICAgIC8vIG1vdmUgdGhlIGJsdWUgbGluZVxuICAgICAgY29udHJvbHNMYXllclxuICAgICAgICAuc2VsZWN0KCdwYXRoLmJsdWVsaW5lJylcbiAgICAgICAgLmF0dHIoJ2QnLCBkMy5saW5lKCkoc2VsZi5zbGlkZXJzLm1hcCgoZCkgPT4gW2QueCwgZC55XSkpKTtcbiAgICAgIC8vIGNoYW5nZSB0aGUgdGV4dCBwb3NpdGlvblxuICAgICAgZDMuc2VsZWN0KHRoaXMpXG4gICAgICAgIC5zZWxlY3QoJ3RleHQnKVxuICAgICAgICAuYXR0cigneCcsICgpID0+IHhBeGlzVmFsdWUpO1xuICAgICAgLy8gY2hhbmdlIHRoZSB0ZXh0IHZhbHVlc1xuICAgICAgY29udHJvbHNMYXllci5zZWxlY3RBbGwoJ3RleHQnKS50ZXh0KChkKSA9PiB7XG4gICAgICAgIGNvbnN0IGwgPSBYdG9MQUJFTChkLngpO1xuICAgICAgICBpZiAoIXJhbmdlTW9kZSkgcmV0dXJuIGw7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uID0gc2VsZi5zbGlkZXJzLmZpbmRJbmRleCgoc2xpZGVyKSA9PiBzbGlkZXIueCA9PT0gZC54KTtcbiAgICAgICAgY29uc3QgcmFuZ2UgPSBzZWxmLmdldFNlbGVjdGVkUmFuZ2UoKTtcbiAgICAgICAgaWYgKHBvc2l0aW9uID09PSAxKSByZXR1cm4gcmFuZ2VbMV07XG4gICAgICAgIHJldHVybiByYW5nZVswXTtcbiAgICAgIH0pO1xuICAgICAgc2VsZi50ZXh0Q29sbGlzaW9uKHNlbGYuc2xpZGVycyk7XG4gICAgICAvLyBjb2xvdXIgdGhlIGJhcnNcbiAgICAgIGcuc2VsZWN0QWxsKCdyZWN0LmJhcnMnKS5hdHRyKCdmaWxsJywgKGQpID0+IGNvbG91ckJhcnMoZCkpO1xuICAgIH1cblxuICAgIHJhbmdlUGlja2VyIC8vIGRyYWcgaGFuZGxlclxuICAgICAgLmNhbGwoXG4gICAgICAgIGQzXG4gICAgICAgICAgLmRyYWcoKVxuICAgICAgICAgIC5vbignZHJhZycsIGRyYWdnaW5nVXBkYXRlKVxuICAgICAgICAgIC5vbignZW5kJywgKGV2ZW50LCBkYXRhKSA9PiB7XG4gICAgICAgICAgICAvLyB1cGRhdGUgb25lIGxhc3QgdGltZSB0byBwcmV2ZW50IGRlc3luY2luZ1xuICAgICAgICAgICAgZHJhZ2dpbmdVcGRhdGUoZXZlbnQsIGRhdGEpO1xuICAgICAgICAgICAgLy8gZW1pdCB0aGUgc2VsZWN0ZWQgcmFuZ2VcbiAgICAgICAgICAgIHRoaXMuZW1pdCgncmFuZ2VzZWxlY3RlZCcsIHRoaXMuZ2V0U2VsZWN0ZWRSYW5nZSgpKTtcbiAgICAgICAgICB9KVxuICAgICAgKTtcblxuICAgIHJhbmdlUGlja2VyXG4gICAgICAuYXBwZW5kKCdjaXJjbGUnKVxuICAgICAgLmF0dHIoJ2N4JywgKGQpID0+IGQueClcbiAgICAgIC5hdHRyKCdjeScsIChkKSA9PiBkLnkpXG4gICAgICAuYXR0cigncicsIDkpXG4gICAgICAuYXR0cignZmlsbCcsICd3aGl0ZScpXG4gICAgICAuYXR0cignc3Ryb2tlLXdpZHRoJywgMilcbiAgICAgIC5hdHRyKCdzdHJva2UnLCBjb2xvdXJzLmFjY2VudClcbiAgICAgIC5hdHRyKCdzdHlsZScsICdjdXJzb3I6IHBvaW50ZXInKTtcblxuICAgIHJhbmdlUGlja2VyXG4gICAgICAuYXR0cigndGV4dC1hbmNob3InLCAnbWlkZGxlJylcbiAgICAgIC5hdHRyKCdmb250LWZhbWlseScsICdSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmJylcbiAgICAgIC5hdHRyKCdmb250LXNpemUnLCAnMTJweCcpXG4gICAgICAuYXBwZW5kKCd0ZXh0JylcbiAgICAgIC5hdHRyKCd5JywgKGQpID0+IGQueSArIG1hcmdpbi5ib3R0b20gLyAyKVxuICAgICAgLmF0dHIoJ3gnLCAoZCkgPT4gZC54KVxuICAgICAgLmF0dHIoJ2ZpbGwnLCBjb2xvdXJzLmFjY2VudClcbiAgICAgIC50ZXh0KChkLCBpKSA9PiB7XG4gICAgICAgIGNvbnN0IGwgPSBYdG9MQUJFTChkLngpO1xuICAgICAgICBpZiAocmFuZ2VNb2RlICYmIGkgPT09IDEpIHtcbiAgICAgICAgICByZXR1cm4gaXRlbXMuZmluZCgoaXRlbSkgPT4gaXRlbS5sYWJlbCA9PT0gbCkucmFuZ2UubGFiZWw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGw7XG4gICAgICB9KTtcblxuICAgIGlmIChheGlzPy55QXhpcz8uc2hvdykge1xuICAgICAgY29uc3QgeUF4aXMgPSBkM1xuICAgICAgICAuYXhpc0xlZnQoc2NhbGVIZWlnaHQpXG4gICAgICAgIC50aWNrcyhheGlzLnlBeGlzLnRpY2tBbW91bnQgPz8gMilcbiAgICAgICAgLnRpY2tWYWx1ZXMoYXhpcy55QXhpcy52YWx1ZXMgPyBheGlzLnlBeGlzLnZhbHVlcyA6IG51bGwpO1xuICAgICAgY29uc3QgeUF4aXNHcm91cCA9IHN2Z1xuICAgICAgICAuYXBwZW5kKCdnJylcbiAgICAgICAgLmF0dHIoJ3RyYW5zZm9ybScsIGB0cmFuc2xhdGUoJHttYXJnaW4ubGVmdH0sICR7bWFyZ2luLnRvcH0pYClcbiAgICAgICAgLmNhbGwoeUF4aXMpO1xuXG4gICAgICB5QXhpc0dyb3VwLnNlbGVjdEFsbCgncGF0aCwgbGluZScpLnN0eWxlKCdzdHJva2UnLCBjb2xvdXJzLmFjY2VudCk7XG4gICAgICB5QXhpc0dyb3VwLnNlbGVjdEFsbCgndGV4dCcpLnN0eWxlKCdmaWxsJywgY29sb3Vycy5hY2NlbnQpO1xuICAgIH1cbiAgfTtcblxuICAvKiogQXZvaWQgY29sbGlzaW9uIG9mIHRoZSBzbGlkZXIgbGFiZWxzICovXG4gIHRleHRDb2xsaXNpb24gPSAoc2xpZGVyczogU2xpZGVycykgPT4ge1xuICAgIC8vIHByZS1yZXF1aXNpdGVzXG4gICAgY29uc3QgY29udHJvbHNMYXllciA9IHRoaXMuZDMuc2VsZWN0KCdnLmNoYXJ0Jykuc2VsZWN0KCdnLmNvbnRyb2xzJyk7XG4gICAgY29uc3QgeyBpdGVtcywgbWFyZ2luIH0gPSB0aGlzLmRhdGE7XG4gICAgY29uc3QgcmFuZ2VNb2RlID0gaXRlbXMuZXZlcnkoKGQpID0+IGQucmFuZ2UpO1xuICAgIC8vIHJ1biBjb2xsaXNpb24gZGV0ZWN0aW9uXG4gICAgY29uc3QgaXNDb2xsaWRpbmcgPSBzbGlkZXJzWzBdLnggPT09IHNsaWRlcnNbMV0ueDtcbiAgICBpZiAocmFuZ2VNb2RlICYmIGlzQ29sbGlkaW5nKSB7XG4gICAgICBjb250cm9sc0xheWVyXG4gICAgICAgIC5zZWxlY3RBbGwoJ3RleHQnKVxuICAgICAgICAuYXR0cigneScsIChkLCBpKSA9PlxuICAgICAgICAgIGkgPiAwID8gZC55ICsgbWFyZ2luLmJvdHRvbSAvIDIgKyAxMiA6IGQueSArIG1hcmdpbi5ib3R0b20gLyAyXG4gICAgICAgIClcbiAgICAgICAgLnRleHQoKGQsIGkpID0+IHtcbiAgICAgICAgICBjb25zdCByYW5nZSA9IHRoaXMuZ2V0U2VsZWN0ZWRSYW5nZSgpO1xuICAgICAgICAgIHJldHVybiByYW5nZVtpXTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnRyb2xzTGF5ZXIuc2VsZWN0QWxsKCd0ZXh0JykuYXR0cigneScsIChkKSA9PiBkLnkgKyBtYXJnaW4uYm90dG9tIC8gMik7XG4gICAgfVxuICB9O1xuXG4gIC8qKiBHZXQgeC1heGlzIHBvc2l0aW9uIGZyb20gbGFiZWwgKi9cbiAgbGFiZWxUb1goKSB7XG4gICAgcmV0dXJuIHRoaXMuZDNcbiAgICAgIC5zY2FsZUJhbmQoKVxuICAgICAgLmRvbWFpbih0aGlzLmRhdGEuaXRlbXMubWFwKChkKSA9PiBkLmxhYmVsKSlcbiAgICAgIC5yYW5nZShbMCwgdGhpcy5kYXRhLndpZHRoXSlcbiAgICAgIC5wYWRkaW5nSW5uZXIoMC4xNylcbiAgICAgIC5wYWRkaW5nT3V0ZXIoMSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFuIGV2ZW50IHdpdGggdmlld0JveCBjb29yZGluYXRlcyBhbmRcbiAgICogcGFyc2UgdGhlbSBpbiBhYnNvbHV0ZSBjb29yZGluYXRlc1xuICAgKi9cbiAgZ2V0RXZlbnRDb29yZHMoZXZlbnQpOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0ge1xuICAgIGNvbnN0IG0gPSBldmVudC50YXJnZXQuZ2V0U2NyZWVuQ1RNKCk7XG4gICAgY29uc3QgcG9pbnQgPSB0aGlzLnN2Zy5ub2RlKCkuY3JlYXRlU1ZHUG9pbnQoKTtcbiAgICBwb2ludC54ID0gZXZlbnQuY2xpZW50WDtcbiAgICBwb2ludC55ID0gZXZlbnQuY2xpZW50WTtcbiAgICByZXR1cm4gcG9pbnQubWF0cml4VHJhbnNmb3JtKG0uaW52ZXJzZSgpKTtcbiAgfVxuXG4gIC8qKiBQdWJsaWMgYXBpIHRoYXQgYWxsb3dzIHRvIGRpbmFtaWNhbGx5IGNoYW5nZSB0aGUgYmFycyAqL1xuICBzZXRCYXJzID0gKG5ld0JhcnMpID0+IHtcbiAgICB0aGlzLmRhdGEuaXRlbXMgPSBuZXdCYXJzO1xuICAgIHRoaXMuZHJhdygpO1xuICAgIHRoaXMuZDMuc2VsZWN0QWxsKCdyZWN0LmJhcnMnKS5hdHRyKCdmaWxsJywgKGQpID0+IHRoaXMuY29sb3VyQmFycyhkKSk7XG4gIH07XG5cbiAgLyoqIFB1YmxpYyBhcGkgdGhhdCBhbGxvd3MgdG8gZGluYW1pY2FsbHkgY2hhbmdlIHRoZSBzbGlkZXIgcG9zaXRpb24gKi9cbiAgc2V0U2xpZGVycyA9IChbc3RhcnRMYWJlbCwgZW5kTGFiZWxdOiBMYWJlbENvdXBsZSwgZW1pdCA9IHRydWUpID0+IHtcbiAgICAvLyBzZXRTbGlkZXJzKFsxNDUwLCAxNTc1XSlcbiAgICB0aGlzLmRhdGEuc2V0U2xpZGVycyA9IFtgJHtzdGFydExhYmVsfWAsIGAke2VuZExhYmVsfWBdO1xuICAgIHRoaXMuZHJhdygpO1xuICAgIHRoaXMuZDMuc2VsZWN0QWxsKCdyZWN0LmJhcnMnKS5hdHRyKCdmaWxsJywgKGQpID0+IHRoaXMuY29sb3VyQmFycyhkKSk7XG4gICAgY29uc3QgcmFuZ2UgPSB0aGlzLmdldFNlbGVjdGVkUmFuZ2UoKTtcbiAgICBpZiAoZW1pdCkgdGhpcy5lbWl0KCdyYW5nZXNlbGVjdGVkJywgcmFuZ2UpO1xuICAgIHRoaXMudGV4dENvbGxpc2lvbih0aGlzLnNsaWRlcnMpO1xuICAgIHJldHVybiByYW5nZTtcbiAgfTtcblxuICAvKiogRW1pdHMgYW4gZXZlbnQgd2hlbiB0aGUgY29tcG9uZW50IGhhcyBsb2FkZWQgKi9cbiAgZW1pdExvYWRlZChwYXlsb2FkKSB7XG4gICAgaWYgKCF0aGlzLmVtaXQpIHJldHVybjtcbiAgICB0aGlzLmVtaXQoJ2xvYWRlZCcsIHBheWxvYWQpO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiZGF0YVwiIGNsYXNzPVwibjctaGlzdG9ncmFtLXJhbmdlXCI+XG4gIDxzdmcgI2hpc3RvZ3JhbVJhbmdlIFtpZF09XCJkYXRhLmNvbnRhaW5lcklkXCI+PC9zdmc+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -3,17 +3,18 @@ export const PARALLEL_TEXT_VIEWER_DPH_MOCK = {
|
|
|
3
3
|
// endpoint: 'https://backend.dph.netseven.work/api/public/tei',
|
|
4
4
|
// endpoint: 'http://localhost:8080/exist/apps/tei-publisher',
|
|
5
5
|
endpoint: 'https://teipublisher9.muruca.cloud/exist/apps/tei-publisher',
|
|
6
|
+
// endpoint: 'https://backend.dse.ispf.netseven.work/api/tei',
|
|
6
7
|
docs: [
|
|
7
8
|
{
|
|
8
|
-
xml: 'playground/
|
|
9
|
+
xml: 'playground/SN_44_Ultima.xml',
|
|
9
10
|
// xml: 'playground/pericopi.xml',
|
|
10
11
|
id: 'document1',
|
|
11
12
|
},
|
|
12
|
-
{
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
/* {
|
|
14
|
+
xml: 'playground/SN_44_Ultima.xml',
|
|
15
|
+
// xml: 'playground/postille.xml',
|
|
16
|
+
id: 'document2',
|
|
17
|
+
} */
|
|
17
18
|
],
|
|
18
19
|
mainDoc: {
|
|
19
20
|
odd: 'ISPF_ODD',
|
|
@@ -29,15 +30,43 @@ export const PARALLEL_TEXT_VIEWER_DPH_MOCK = {
|
|
|
29
30
|
emit: 'transcription',
|
|
30
31
|
},
|
|
31
32
|
panels: [
|
|
33
|
+
/* {
|
|
34
|
+
id: '44',
|
|
35
|
+
doc_id: 'document2',
|
|
36
|
+
enabled: true,
|
|
37
|
+
title: 'SN-44',
|
|
38
|
+
type: 'text',
|
|
39
|
+
odd: 'ISPF_ODD',
|
|
40
|
+
// odd: '',
|
|
41
|
+
view: 'page',
|
|
42
|
+
} , */
|
|
32
43
|
{
|
|
33
|
-
id: '
|
|
34
|
-
doc_id: 'document2',
|
|
44
|
+
id: 'facsimile',
|
|
35
45
|
enabled: true,
|
|
36
|
-
title: '
|
|
37
|
-
type: '
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
46
|
+
title: 'Facsimile',
|
|
47
|
+
type: 'facsimile',
|
|
48
|
+
facsimile: {
|
|
49
|
+
enabled: true,
|
|
50
|
+
// uri: 'https://iiif.muruca.cloud/iiif/2/%2Fispf%2Fsn_45%2F',
|
|
51
|
+
// uri: 'https://backend.dse.ispf.netseven.work/iiif/9/2/',
|
|
52
|
+
uri: 'https://iiif.dt-h2iosc.netseven.work/iiif/2/nest%2Fiiif%2F%2F2%2F2D_IMAGES%2F',
|
|
53
|
+
// uri : 'https://iiif.dt-h2iosc.netseven.work/iiif/2/nest%2Fiiif%2F%2F2%2F2D_IMAGES%2Fms-xiii-d-79-000-rvcsjrrzqv0i.jpg/info.json'
|
|
54
|
+
// uri : 'https://iiif.dt-h2iosc.netseven.work/iiif/2/nest%2Fiiif%2F%2F2%2F2D_IMAGES%2Fms-xiii-d-79-000-rvcSJrRZQv0i.JPG/info.json'
|
|
55
|
+
scans: [
|
|
56
|
+
/* 'Ms_XIII_D_79_000_pyramidal.ptif',
|
|
57
|
+
'Ms_XIII_D_79_001_pyramidal.ptif',
|
|
58
|
+
'Ms_XIII_D_79_002_pyramidal.ptif', */
|
|
59
|
+
],
|
|
60
|
+
options: {
|
|
61
|
+
height: '700px',
|
|
62
|
+
defaultZoomLevel: 0,
|
|
63
|
+
showNavigator: true,
|
|
64
|
+
showNavigationControl: true,
|
|
65
|
+
showHomeControl: true,
|
|
66
|
+
showRotationControl: false,
|
|
67
|
+
showFullPageControl: true,
|
|
68
|
+
},
|
|
69
|
+
},
|
|
41
70
|
}
|
|
42
71
|
],
|
|
43
72
|
/* download: {
|
|
@@ -66,4 +95,4 @@ export const PARALLEL_TEXT_VIEWER_DPH_MOCK = {
|
|
|
66
95
|
}
|
|
67
96
|
},
|
|
68
97
|
};
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYWxsZWwtdGV4dC12aWV3ZXItZHBoLm1vY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcGFyYWxsZWwtdGV4dC12aWV3ZXIvcGFyYWxsZWwtdGV4dC12aWV3ZXItZHBoLm1vY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQTJCO0lBQ25FLHlEQUF5RDtJQUN6RCxnRUFBZ0U7SUFDaEUsOERBQThEO0lBQzdELFFBQVEsRUFBRSw2REFBNkQ7SUFDeEUsZ0VBQWdFO0lBR2hFLElBQUksRUFBRTtRQUNKO1lBQ0UsR0FBRyxFQUFFLDZCQUE2QjtZQUNsQyxrQ0FBa0M7WUFDbEMsRUFBRSxFQUFFLFdBQVc7U0FDaEI7UUFDTDs7OzttQkFJVztLQUNSO0lBRUQsT0FBTyxFQUFFO1FBQ1AsR0FBRyxFQUFFLFVBQVU7UUFDZixXQUFXO1FBQ1gsTUFBTSxFQUFFLFdBQVc7UUFDbkIsSUFBSSxFQUFFLE1BQU07S0FDYjtJQUVELFFBQVE7SUFDUixJQUFJLEVBQUU7UUFDSixFQUFFLEVBQUUsTUFBTTtRQUNWLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLHlCQUF5QjtRQUN0QyxTQUFTLEVBQUUsZUFBZTtRQUMxQixJQUFJLEVBQUUsZUFBZTtLQUN0QjtJQUVELE1BQU0sRUFBRTtRQUNWOzs7Ozs7Ozs7bUJBU1c7UUFFTDtZQUNFLEVBQUUsRUFBRSxXQUFXO1lBQ2YsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUUsV0FBVztZQUNsQixJQUFJLEVBQUUsV0FBVztZQUNqQixTQUFTLEVBQUU7Z0JBQ1QsT0FBTyxFQUFFLElBQUk7Z0JBQ2YsOERBQThEO2dCQUM5RCwyREFBMkQ7Z0JBQzNELEdBQUcsRUFBRywrRUFBK0U7Z0JBQ3JGLG1JQUFtSTtnQkFDbkksbUlBQW1JO2dCQUNuSSxLQUFLLEVBQUU7Z0JBQ2Y7OytEQUUrQztpQkFDdEM7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLE1BQU0sRUFBRSxPQUFPO29CQUNmLGdCQUFnQixFQUFFLENBQUM7b0JBQ25CLGFBQWEsRUFBRSxJQUFJO29CQUNuQixxQkFBcUIsRUFBRSxJQUFJO29CQUMzQixlQUFlLEVBQUUsSUFBSTtvQkFDckIsbUJBQW1CLEVBQUUsS0FBSztvQkFDMUIsbUJBQW1CLEVBQUUsSUFBSTtpQkFDMUI7YUFDRjtTQUNGO0tBQ0Y7SUFHSDs7OztXQUlPO0lBR0wsU0FBUztJQUNULE1BQU0sRUFBRTtRQUNOLElBQUksRUFBRSxvQkFBb0I7UUFDMUIsU0FBUyxFQUFFLFlBQVk7UUFDdkIsR0FBRyxFQUFFLG1CQUFtQjtRQUN4QixPQUFPLEVBQUUsWUFBWTtLQUN0QjtJQUVELFVBQVUsRUFBRTtRQUNWLE1BQU0sRUFBRTtZQUNOLFNBQVMsRUFDVDtZQUNBLHdEQUF3RDthQUN2RDtTQUNGO1FBQ0QsR0FBRyxFQUFFO1lBQ0gsT0FBTyxFQUFFLElBQUk7U0FDZDtRQUNELElBQUksRUFBRTtZQUNKLGdCQUFnQixFQUFFLElBQUk7U0FDdkI7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXJhbGxlbFRleHRWaWV3ZXJEYXRhIH0gZnJvbSAnLi9wYXJhbGxlbC10ZXh0LXZpZXdlcic7XG5cbmV4cG9ydCBjb25zdCBQQVJBTExFTF9URVhUX1ZJRVdFUl9EUEhfTU9DSzogUGFyYWxsZWxUZXh0Vmlld2VyRGF0YSA9IHtcbiAgLy8gZW5kcG9pbnQ6ICdodHRwczovL2JhY2tlbmQuZHBoLm5ldHNldmVuLndvcmsvYXBpL3RlaScsXG4gIC8vIGVuZHBvaW50OiAnaHR0cHM6Ly9iYWNrZW5kLmRwaC5uZXRzZXZlbi53b3JrL2FwaS9wdWJsaWMvdGVpJyxcbiAgLy8gZW5kcG9pbnQ6ICdodHRwOi8vbG9jYWxob3N0OjgwODAvZXhpc3QvYXBwcy90ZWktcHVibGlzaGVyJyxcbiAgIGVuZHBvaW50OiAnaHR0cHM6Ly90ZWlwdWJsaXNoZXI5Lm11cnVjYS5jbG91ZC9leGlzdC9hcHBzL3RlaS1wdWJsaXNoZXInLFxuICAvLyAgIGVuZHBvaW50OiAnaHR0cHM6Ly9iYWNrZW5kLmRzZS5pc3BmLm5ldHNldmVuLndvcmsvYXBpL3RlaScsXG5cblxuICBkb2NzOiBbXG4gICAge1xuICAgICAgeG1sOiAncGxheWdyb3VuZC9TTl80NF9VbHRpbWEueG1sJyxcbiAgICAgIC8vIHhtbDogJ3BsYXlncm91bmQvcGVyaWNvcGkueG1sJyxcbiAgICAgIGlkOiAnZG9jdW1lbnQxJyxcbiAgICB9LFxuLyogICAgICAgIHtcbiAgICAgIHhtbDogJ3BsYXlncm91bmQvU05fNDRfVWx0aW1hLnhtbCcsXG4gICAgICAvLyB4bWw6ICdwbGF5Z3JvdW5kL3Bvc3RpbGxlLnhtbCcsXG4gICAgICBpZDogJ2RvY3VtZW50MicsXG4gICAgfSAgICAqL1xuICBdLFxuXG4gIG1haW5Eb2M6IHtcbiAgICBvZGQ6ICdJU1BGX09ERCcsXG4gICAgLy8gb2RkOiAnJyxcbiAgICBkb2NfaWQ6ICdkb2N1bWVudDEnLFxuICAgIHZpZXc6ICdwYWdlJyxcbiAgfSxcblxuICAvLyBHcmlkIFxuICBncmlkOiB7XG4gICAgaWQ6ICdncmlkJyxcbiAgICBwYW5lbHM6IFswXSwgLy8gSW5pdGlhbCBwYW5lbHMgdG8gc2hvd1xuICAgIHN1YnNjcmliZTogJ3RyYW5zY3JpcHRpb24nLFxuICAgIGVtaXQ6ICd0cmFuc2NyaXB0aW9uJyxcbiAgfSxcblxuICBwYW5lbHM6IFtcbi8qICAgICB7XG4gICAgICBpZDogJzQ0JyxcbiAgICAgIGRvY19pZDogJ2RvY3VtZW50MicsICBcbiAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICB0aXRsZTogJ1NOLTQ0JyxcbiAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgIG9kZDogJ0lTUEZfT0REJyxcbiAgICAgIC8vIG9kZDogJycsXG4gICAgICB2aWV3OiAncGFnZScsXG4gICAgfSAgLCAqL1xuXG4gICAgICB7XG4gICAgICAgIGlkOiAnZmFjc2ltaWxlJyxcbiAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgdGl0bGU6ICdGYWNzaW1pbGUnLFxuICAgICAgICB0eXBlOiAnZmFjc2ltaWxlJyxcbiAgICAgICAgZmFjc2ltaWxlOiB7XG4gICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgLy8gdXJpOiAnaHR0cHM6Ly9paWlmLm11cnVjYS5jbG91ZC9paWlmLzIvJTJGaXNwZiUyRnNuXzQ1JTJGJyxcbiAgICAgICAgLy8gdXJpOiAnaHR0cHM6Ly9iYWNrZW5kLmRzZS5pc3BmLm5ldHNldmVuLndvcmsvaWlpZi85LzIvJyxcbiAgICAgICAgdXJpIDogJ2h0dHBzOi8vaWlpZi5kdC1oMmlvc2MubmV0c2V2ZW4ud29yay9paWlmLzIvbmVzdCUyRmlpaWYlMkYlMkYyJTJGMkRfSU1BR0VTJTJGJyxcbiAgICAgICAgLy8gdXJpIDogJ2h0dHBzOi8vaWlpZi5kdC1oMmlvc2MubmV0c2V2ZW4ud29yay9paWlmLzIvbmVzdCUyRmlpaWYlMkYlMkYyJTJGMkRfSU1BR0VTJTJGbXMteGlpaS1kLTc5LTAwMC1ydmNzanJyenF2MGkuanBnL2luZm8uanNvbidcbiAgICAgICAgLy8gdXJpIDogJ2h0dHBzOi8vaWlpZi5kdC1oMmlvc2MubmV0c2V2ZW4ud29yay9paWlmLzIvbmVzdCUyRmlpaWYlMkYlMkYyJTJGMkRfSU1BR0VTJTJGbXMteGlpaS1kLTc5LTAwMC1ydmNTSnJSWlF2MGkuSlBHL2luZm8uanNvbidcbiAgICAgICAgc2NhbnM6IFtcbi8qICAgICAgICAgICAnTXNfWElJSV9EXzc5XzAwMF9weXJhbWlkYWwucHRpZicsXG4gICAgICAgICAgJ01zX1hJSUlfRF83OV8wMDFfcHlyYW1pZGFsLnB0aWYnLFxuICAgICAgICAgICdNc19YSUlJX0RfNzlfMDAyX3B5cmFtaWRhbC5wdGlmJywgKi9cbiAgICAgICAgXSxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIGhlaWdodDogJzcwMHB4JyxcbiAgICAgICAgICBkZWZhdWx0Wm9vbUxldmVsOiAwLFxuICAgICAgICAgIHNob3dOYXZpZ2F0b3I6IHRydWUsXG4gICAgICAgICAgc2hvd05hdmlnYXRpb25Db250cm9sOiB0cnVlLFxuICAgICAgICAgIHNob3dIb21lQ29udHJvbDogdHJ1ZSxcbiAgICAgICAgICBzaG93Um90YXRpb25Db250cm9sOiBmYWxzZSxcbiAgICAgICAgICBzaG93RnVsbFBhZ2VDb250cm9sOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9ICBcbiAgXSxcbiBcblxuLyogICBkb3dubG9hZDoge1xuICAgIGxhYmVsOiAnRG93bmxvYWQnLFxuICAgIGZpbGU6ICdodHRwOi8vc3RhZ2luZy50ZWlwdWJsaXNoZXIubmV0c2V2ZW4uaXQvZXhpc3QvYXBwcy90ZWktcHVibGlzaGVyL2FwaS9kb2N1bWVudC9tYW1icmlubyUyRnNtMV9zb3VyY2VfZGVmXzE2NDczMzQzOTMueG1sJyxcbiAgICBmb3JtYXQ6ICdYTUwnLFxuICB9LCAqL1xuICBcblxuICAvLyBMYWJlbHNcbiAgbGFiZWxzOiB7XG4gICAgdmlldzogJ1BsYWluIFJlYWRpbmcgVmlldycsXG4gICAgYWRkQ29sdW1uOiAnQWRkIENvbHVtbicsXG4gICAgdG9jOiAnVGFibGUgb2YgQ29udGVudHMnLFxuICAgIGxvYWRpbmc6ICdMb2FkaW5nLi4uJyxcbiAgfSxcblxuICBsaWJPcHRpb25zOiB7XG4gICAgcGJQYWdlOiB7XG4gICAgICB1cmxJZ25vcmU6IFxuICAgICAgW1xuICAgICAgLy8gIFwiaGlnaGxpZ2h0MSxvZGQsdmlldyxwYXRoLHNlbGVjdG9ycyxoaWdobGlnaHQsdmlldzJcIlxuICAgICAgXSxcbiAgICB9LFxuICAgIHRvYzoge1xuICAgICAgZGlzYWJsZTogdHJ1ZSxcbiAgICB9LFxuICAgIGdyaWQ6IHtcbiAgICAgIGRpc2FibGVBZGRDb2x1bW46IHRydWUsXG4gICAgfVxuICB9LFxufTtcbiAgIl19
|
|
@@ -36,14 +36,14 @@ export class ParallelTextViewerComponent {
|
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ParallelTextViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
39
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ParallelTextViewerComponent, selector: "n7-parallel-text-viewer", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<div\n class=\"n7-parallel-text-viewer {{data?.classes || ''}}\"\n *ngIf=\"data && data.endpoint\"\n>\n <pb-page \n [attr.endpoint]=\"data.endpoint\" \n api-version=\"1.0.0\" \n url-path=\"query\"\n [attr.url-ignore]=\"data.libOptions?.pbPage?.urlIgnore?.join(',') || 'odd,view,path,selectors,highlight,view2'\"\n >\n <!-- PB DOCUMENT-->\n <pb-document\n *ngFor=\"let doc of data.docs; index as $i\"\n [attr.path]=\"doc.xml\"\n [attr.odd]=\"doc.odd\"\n [attr.id]=\"doc.id\"\n [attr.view]=\"doc.view\"\n [attr.disable-history]=\"doc.disableHistory === true ? '' : null\"\n [attr.root-path]=\"doc.rootPath\"\n >\n </pb-document>\n\n <app-drawer-layout force-narrow=\"force-narrow\" narrow=\"\">\n <app-header-layout>\n <app-header\n fixed=\"fixed\"\n data-template=\"browse:fix-links\"\n style=\"\n transition-duration: 0ms;\n transform: translate3d(0px, 0px, 0px);\n left: 0px;\n right: 0.399994px;\n \"\n >\n <app-toolbar\n class=\"toolbar\"\n sticky=\"sticky\"\n style=\"transform: translate3d(0px, 0px, 0px)\"\n >\n <!-- TOC button -->\n <paper-icon-button\n id=\"tocToggle\"\n class=\"toc-toggle\"\n icon=\"icons:view-list\"\n role=\"button\"\n tabindex=\"0\"\n aria-disabled=\"false\"\n ></paper-icon-button>\n\n <!-- Plain reading view-->\n <pb-toggle-feature\n *ngIf=\"data.docs?.length === 1\"\n name=\"highlight1\"\n selector=\"tei-app,pb-popover,pb-highlight,.quote,pb-alternate\"\n default=\"off\"\n action=\"disable\"\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n >\n <ng-container *ngIf=\"data.labels && data.labels.view\">\n {{data.labels.view}}\n </ng-container>\n <ng-container *ngIf=\"!data.labels || !data.labels.view\">\n <pb-i18n key=\"document.plain\">Plain Reading View</pb-i18n>\n </ng-container>\n </pb-toggle-feature>\n\n <!-- Zoom Controls -->\n <pb-zoom\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n direction=\"in\"\n icon=\"icons:zoom-in\"\n ></pb-zoom>\n <pb-zoom\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n direction=\"out\"\n icon=\"icons:zoom-out\"\n ></pb-zoom>\n\n <!-- Navigation Controls -->\n <pb-navigation\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n keyboard=\"left\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n direction=\"backward\"\n unit=\"page\"\n >\n <paper-icon-button\n icon=\"icons:chevron-left\"\n role=\"button\"\n tabindex=\"0\"\n aria-disabled=\"false\"\n ></paper-icon-button>\n </pb-navigation>\n <pb-navigation\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n keyboard=\"right\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n direction=\"forward\"\n unit=\"page\"\n >\n <paper-icon-button\n icon=\"icons:chevron-right\"\n role=\"button\"\n tabindex=\"0\"\n aria-disabled=\"false\"\n ></paper-icon-button>\n </pb-navigation>\n\n <!-- Pulsante aggiungi pannello -->\n <pb-grid-action \n *ngIf=\"!data.libOptions?.grid?.disableAddColumn\"\n action=\"add\" \n class=\"grid-add\" \n [attr.grid]=\"'#' + (data.grid?.id || 'grid')\"\n >\n <paper-button \n role=\"button\" \n tabindex=\"0\" \n animated=\"\" \n elevation=\"0\" \n aria-disabled=\"false\"\n >\n <iron-icon icon=\"icons:add\"></iron-icon> \n {{ data.labels?.addColumn || 'Aggiungi colonna' }}\n </paper-button>\n </pb-grid-action>\n\n <!-- Pulsante download -->\n <ng-container *ngIf=\"data.download\">\n <div class=\"n7-parallel-text-viewer__toolbar-container-flex\">\n <pb-download\n [type]=\"data.download.format || ''\"\n [src]=\"data.docs[0].id\"\n [url]=\"data.download.file || ''\"\n dialog=\"downloadDialog\"\n (click)=\"openDownload($event, data.download.file)\"\n [title]=\"data.download.label && data.download.format ? data.download.label + ' ' + data.download.format : ''\"\n >\n <paper-button raised=\"\">\n {{data.download.label && data.download.format ? data.download.label + ' ' + data.download.format : 'Download'}}\n </paper-button>\n </pb-download>\n </div>\n </ng-container>\n\n <pb-progress\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n indeterminate=\"\"\n bottom-item=\"bottom-item\"\n style=\"visibility: hidden\"\n ></pb-progress>\n </app-toolbar>\n </app-header>\n\n <!-- Main Content with Parallel Grid -->\n <main class=\"content-body\">\n <pb-grid \n [id]=\"data.grid?.id || 'grid'\"\n [attr.panels]=\"data.grid?.panels ? '[' + data.grid.panels.join(',') + ']' : '[0]'\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n >\n <!-- Main pb-->\n <pb-view \n id=\"transcription-view\"\n [attr.src]=\"data.mainDoc.doc_id || data.docs[0].id\"\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n [attr.odd]=\"data.mainDoc.odd\"\n [attr.view]=\"data.mainDoc.view\"\n (click)=\"onClick($event)\"\n [attr.url]=\"data.mainDoc.rootPath\"\n append-footnotes=\"append-footnotes\"\n >\n </pb-view>\n\n <!-- Template -->\n <template>\n <pb-panel [attr.emit]=\"data.grid?.emit || 'transcription'\">\n <!-- Rimozione colonna -->\n <pb-grid-action \n [attr.grid]=\"'#' + (data.grid?.id || 'grid')\" \n slot=\"toolbar\" \n action=\"remove\"\n >\n <paper-icon-button icon=\"icons:close\"></paper-icon-button>\n </pb-grid-action>\n\n <!-- Pannelli secondari -->\n \n <ng-container *ngFor=\"let panel of data.panels\">\n <ng-container *ngIf=\"panel.enabled\">\n <ng-container [ngSwitch]=\"panel.type\">\n\n <ng-container *ngSwitchCase=\"'text'\">\n <template [attr.title]=\"panel.title\">\n <pb-view \n [attr.id]=\"panel.id + '-view'\"\n [attr.src]=\"panel.doc_id || data.docs[0].id\"\n [attr.odd]=\"panel.odd\"\n [attr.view]=\"panel.view || 'single'\"\n [attr.xpath]=\"panel.xpath\"\n [attr.map]=\"panel.mapFunction\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n (click)=\"onClick($event)\"\n [attr.url]=\"data.mainDoc.rootPath\"\n disable-history=\"\"\n >\n <pb-param \n *ngFor=\"let param of panel.params || []\"\n [attr.name]=\"param.name\"\n [attr.value]=\"param.value\"\n ></pb-param>\n </pb-view>\n </template>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'facsimile'\">\n <template [attr.title]=\"panel.title\">\n <pb-facsimile\n *ngIf=\"panel.facsimile?.enabled\"\n [attr.base-uri]=\"panel.facsimile.uri\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n class=\"pb-facsimile\"\n [style.height]=\"panel.facsimile.options?.height || '600px'\"\n [attr.default-zoom-level]=\"panel.facsimile.options?.defaultZoomLevel || 0\"\n [attr.show-navigator]=\"panel.facsimile.options?.showNavigator ? 'show-navigator' : null\"\n [attr.show-navigation-control]=\"panel.facsimile.options?.showNavigationControl ? 'show-navigation-control' : null\"\n [attr.show-home-control]=\"panel.facsimile.options?.showHomeControl ? 'show-home-control' : null\"\n [attr.show-rotation-control]=\"panel.facsimile.options?.showRotationControl ? 'show-rotation-control' : null\"\n [attr.show-full-page-control]=\"panel.facsimile.options?.showFullPageControl ? 'show-full-page-control' : null\"\n [scans]=\"panel.facsimile.scans\"\n >\n </pb-facsimile>\n </template>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n\n </pb-panel>\n </template>\n </pb-grid>\n </main>\n\n <!-- TOC Drawer -->\n <pb-drawer\n toggle=\"tocToggle\"\n class=\"tocDrawer\"\n emit=\"toc\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n >\n <div class=\"drawer-content\">\n <h3>\n <ng-container *ngIf=\"data.labels && data.labels.toc\">\n {{data.labels.toc}}\n </ng-container>\n <ng-container *ngIf=\"!data.labels || !data.labels.toc\">\n <pb-i18n key=\"document.contents\">Contents</pb-i18n>\n </ng-container>\n </h3>\n <pb-load\n *ngIf=\"data.docs && data.docs.length > 0 && !data.libOptions?.toc?.disable\"\n id=\"toc\"\n [attr.url]=\"data.mainDoc.rootPath ? (data.mainDoc.rootPath + '/' + data.mainDoc.doc_id + '/contents?target=transcription&icons=true') : 'api/document/{doc}/contents?target=transcription&icons=true'\"\n [attr.src]=\"data.mainDoc.doc_id\"\n subscribe=\"toc\"\n emit=\"toc\"\n expand=\"expand\"\n auto=\"auto\"\n >\n <ng-container *ngIf=\"data.labels && data.labels.loading\">\n {{data.labels.loading}}\n </ng-container>\n <ng-container *ngIf=\"!data.labels || !data.labels.loading\">\n <pb-i18n key=\"dialogs.loading\">Loading</pb-i18n>\n </ng-container>\n </pb-load>\n </div>\n </pb-drawer>\n </app-header-layout>\n </app-drawer-layout>\n </pb-page>\n</div>\n\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] }); }
|
|
39
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ParallelTextViewerComponent, selector: "n7-parallel-text-viewer", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<div\n class=\"n7-parallel-text-viewer {{data?.classes || ''}}\"\n *ngIf=\"data && data.endpoint\"\n>\n <pb-page \n [attr.endpoint]=\"data.endpoint\" \n api-version=\"1.0.0\" \n url-path=\"query\"\n [attr.url-ignore]=\"data.libOptions?.pbPage?.urlIgnore?.join(',') || 'odd,view,path,selectors,highlight,view2'\"\n >\n <!-- PB DOCUMENT-->\n <pb-document\n *ngFor=\"let doc of data.docs; index as $i\"\n [attr.path]=\"doc.xml\"\n [attr.odd]=\"doc.odd\"\n [attr.id]=\"doc.id\"\n [attr.view]=\"doc.view\"\n [attr.disable-history]=\"doc.disableHistory === true ? '' : null\"\n [attr.root-path]=\"doc.rootPath\"\n >\n </pb-document>\n\n <app-drawer-layout force-narrow=\"force-narrow\" narrow=\"\">\n <app-header-layout>\n <app-header\n fixed=\"fixed\"\n data-template=\"browse:fix-links\"\n style=\"\n transition-duration: 0ms;\n transform: translate3d(0px, 0px, 0px);\n left: 0px;\n right: 0.399994px;\n \"\n >\n <app-toolbar\n class=\"toolbar\"\n sticky=\"sticky\"\n style=\"transform: translate3d(0px, 0px, 0px)\"\n >\n <!-- TOC button -->\n <paper-icon-button\n id=\"tocToggle\"\n class=\"toc-toggle\"\n icon=\"icons:view-list\"\n role=\"button\"\n tabindex=\"0\"\n aria-disabled=\"false\"\n ></paper-icon-button>\n\n <!-- Plain reading view-->\n <pb-toggle-feature\n *ngIf=\"data.docs?.length === 1\"\n name=\"highlight1\"\n selector=\"tei-app,pb-popover,pb-highlight,.quote,pb-alternate\"\n default=\"off\"\n action=\"disable\"\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n >\n <ng-container *ngIf=\"data.labels && data.labels.view\">\n {{data.labels.view}}\n </ng-container>\n <ng-container *ngIf=\"!data.labels || !data.labels.view\">\n <pb-i18n key=\"document.plain\">Plain Reading View</pb-i18n>\n </ng-container>\n </pb-toggle-feature>\n\n <!-- Zoom Controls -->\n <pb-zoom\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n direction=\"in\"\n icon=\"icons:zoom-in\"\n ></pb-zoom>\n <pb-zoom\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n direction=\"out\"\n icon=\"icons:zoom-out\"\n ></pb-zoom>\n\n <!-- Navigation Controls -->\n <pb-navigation\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n keyboard=\"left\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n direction=\"backward\"\n unit=\"page\"\n >\n <paper-icon-button\n icon=\"icons:chevron-left\"\n role=\"button\"\n tabindex=\"0\"\n aria-disabled=\"false\"\n ></paper-icon-button>\n </pb-navigation>\n <pb-navigation\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n keyboard=\"right\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n direction=\"forward\"\n unit=\"page\"\n >\n <paper-icon-button\n icon=\"icons:chevron-right\"\n role=\"button\"\n tabindex=\"0\"\n aria-disabled=\"false\"\n ></paper-icon-button>\n </pb-navigation>\n\n <!-- Pulsante aggiungi pannello -->\n <pb-grid-action \n *ngIf=\"!data.libOptions?.grid?.disableAddColumn\"\n action=\"add\" \n class=\"grid-add\" \n [attr.grid]=\"'#' + (data.grid?.id || 'grid')\"\n >\n <paper-button \n role=\"button\" \n tabindex=\"0\" \n animated=\"\" \n elevation=\"0\" \n aria-disabled=\"false\"\n >\n <iron-icon icon=\"icons:add\"></iron-icon> \n {{ data.labels?.addColumn || 'Aggiungi colonna' }}\n </paper-button>\n </pb-grid-action>\n\n <!-- Pulsante download -->\n <ng-container *ngIf=\"data.download\">\n <div class=\"n7-parallel-text-viewer__toolbar-container-flex\">\n <pb-download\n [type]=\"data.download.format || ''\"\n [src]=\"data.docs[0].id\"\n [url]=\"data.download.file || ''\"\n dialog=\"downloadDialog\"\n (click)=\"openDownload($event, data.download.file)\"\n [title]=\"data.download.label && data.download.format ? data.download.label + ' ' + data.download.format : ''\"\n >\n <paper-button raised=\"\">\n {{data.download.label && data.download.format ? data.download.label + ' ' + data.download.format : 'Download'}}\n </paper-button>\n </pb-download>\n </div>\n </ng-container>\n\n <pb-progress\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n indeterminate=\"\"\n bottom-item=\"bottom-item\"\n style=\"visibility: hidden\"\n ></pb-progress>\n </app-toolbar>\n </app-header>\n\n <!-- Main Content with Parallel Grid -->\n <main class=\"content-body\">\n <pb-grid \n [id]=\"data.grid?.id || 'grid'\"\n [attr.panels]=\"data.grid?.panels ? '[' + data.grid.panels.join(',') + ']' : '[0]'\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n >\n <!-- Main pb-->\n <pb-view \n id=\"transcription-view\"\n [attr.src]=\"data.mainDoc.doc_id || data.docs[0].id\"\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n [attr.odd]=\"data.mainDoc.odd\"\n [attr.view]=\"data.mainDoc.view\"\n (click)=\"onClick($event)\"\n [attr.url]=\"data.mainDoc.rootPath\"\n append-footnotes=\"append-footnotes\"\n >\n <!-- Param per ricerca avanzata -->\n <pb-param\n *ngIf=\"data.mainDoc.url\"\n name=\"url\"\n [attr.value]=\"data.mainDoc.url\"\n ></pb-param>\n </pb-view>\n\n <!-- Template -->\n <template>\n <pb-panel [attr.emit]=\"data.grid?.emit || 'transcription'\">\n <!-- Rimozione colonna -->\n <pb-grid-action \n [attr.grid]=\"'#' + (data.grid?.id || 'grid')\" \n slot=\"toolbar\" \n action=\"remove\"\n >\n <paper-icon-button icon=\"icons:close\"></paper-icon-button>\n </pb-grid-action>\n\n <!-- Pannelli secondari -->\n \n <ng-container *ngFor=\"let panel of data.panels\">\n <ng-container *ngIf=\"panel.enabled\">\n <ng-container [ngSwitch]=\"panel.type\">\n\n <ng-container *ngSwitchCase=\"'text'\">\n <template [attr.title]=\"panel.title\">\n <pb-view \n [attr.id]=\"panel.id + '-view'\"\n [attr.src]=\"panel.doc_id || data.docs[0].id\"\n [attr.odd]=\"panel.odd\"\n [attr.view]=\"panel.view || 'single'\"\n [attr.xpath]=\"panel.xpath\"\n [attr.map]=\"panel.mapFunction\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n (click)=\"onClick($event)\"\n [attr.url]=\"data.mainDoc.rootPath\"\n disable-history=\"\"\n >\n <pb-param \n *ngFor=\"let param of panel.params || []\"\n [attr.name]=\"param.name\"\n [attr.value]=\"param.value\"\n ></pb-param>\n </pb-view>\n </template>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'facsimile'\">\n <template [attr.title]=\"panel.title\">\n <pb-facsimile\n *ngIf=\"panel.facsimile?.enabled\"\n [attr.base-uri]=\"panel.facsimile.uri\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n class=\"pb-facsimile\"\n [style.height]=\"panel.facsimile.options?.height || '600px'\"\n [attr.default-zoom-level]=\"panel.facsimile.options?.defaultZoomLevel || 0\"\n [attr.show-navigator]=\"panel.facsimile.options?.showNavigator ? 'show-navigator' : null\"\n [attr.show-navigation-control]=\"panel.facsimile.options?.showNavigationControl ? 'show-navigation-control' : null\"\n [attr.show-home-control]=\"panel.facsimile.options?.showHomeControl ? 'show-home-control' : null\"\n [attr.show-rotation-control]=\"panel.facsimile.options?.showRotationControl ? 'show-rotation-control' : null\"\n [attr.show-full-page-control]=\"panel.facsimile.options?.showFullPageControl ? 'show-full-page-control' : null\"\n [scans]=\"panel.facsimile.scans\"\n >\n </pb-facsimile>\n </template>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n\n </pb-panel>\n </template>\n </pb-grid>\n </main>\n\n <!-- TOC Drawer -->\n <pb-drawer\n toggle=\"tocToggle\"\n class=\"tocDrawer\"\n emit=\"toc\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n >\n <div class=\"drawer-content\">\n <h3>\n <ng-container *ngIf=\"data.labels && data.labels.toc\">\n {{data.labels.toc}}\n </ng-container>\n <ng-container *ngIf=\"!data.labels || !data.labels.toc\">\n <pb-i18n key=\"document.contents\">Contents</pb-i18n>\n </ng-container>\n </h3>\n <pb-load\n *ngIf=\"data.docs && data.docs.length > 0 && !data.libOptions?.toc?.disable\"\n id=\"toc\"\n [attr.url]=\"data.mainDoc.rootPath ? (data.mainDoc.rootPath + '/' + data.mainDoc.doc_id + '/contents?target=transcription&icons=true') : 'api/document/{doc}/contents?target=transcription&icons=true'\"\n [attr.src]=\"data.mainDoc.doc_id\"\n subscribe=\"toc\"\n emit=\"toc\"\n expand=\"expand\"\n auto=\"auto\"\n >\n <ng-container *ngIf=\"data.labels && data.labels.loading\">\n {{data.labels.loading}}\n </ng-container>\n <ng-container *ngIf=\"!data.labels || !data.labels.loading\">\n <pb-i18n key=\"dialogs.loading\">Loading</pb-i18n>\n </ng-container>\n </pb-load>\n </div>\n </pb-drawer>\n </app-header-layout>\n </app-drawer-layout>\n </pb-page>\n</div>\n\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] }); }
|
|
40
40
|
}
|
|
41
41
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ParallelTextViewerComponent, decorators: [{
|
|
42
42
|
type: Component,
|
|
43
|
-
args: [{ selector: 'n7-parallel-text-viewer', template: "<div\n class=\"n7-parallel-text-viewer {{data?.classes || ''}}\"\n *ngIf=\"data && data.endpoint\"\n>\n <pb-page \n [attr.endpoint]=\"data.endpoint\" \n api-version=\"1.0.0\" \n url-path=\"query\"\n [attr.url-ignore]=\"data.libOptions?.pbPage?.urlIgnore?.join(',') || 'odd,view,path,selectors,highlight,view2'\"\n >\n <!-- PB DOCUMENT-->\n <pb-document\n *ngFor=\"let doc of data.docs; index as $i\"\n [attr.path]=\"doc.xml\"\n [attr.odd]=\"doc.odd\"\n [attr.id]=\"doc.id\"\n [attr.view]=\"doc.view\"\n [attr.disable-history]=\"doc.disableHistory === true ? '' : null\"\n [attr.root-path]=\"doc.rootPath\"\n >\n </pb-document>\n\n <app-drawer-layout force-narrow=\"force-narrow\" narrow=\"\">\n <app-header-layout>\n <app-header\n fixed=\"fixed\"\n data-template=\"browse:fix-links\"\n style=\"\n transition-duration: 0ms;\n transform: translate3d(0px, 0px, 0px);\n left: 0px;\n right: 0.399994px;\n \"\n >\n <app-toolbar\n class=\"toolbar\"\n sticky=\"sticky\"\n style=\"transform: translate3d(0px, 0px, 0px)\"\n >\n <!-- TOC button -->\n <paper-icon-button\n id=\"tocToggle\"\n class=\"toc-toggle\"\n icon=\"icons:view-list\"\n role=\"button\"\n tabindex=\"0\"\n aria-disabled=\"false\"\n ></paper-icon-button>\n\n <!-- Plain reading view-->\n <pb-toggle-feature\n *ngIf=\"data.docs?.length === 1\"\n name=\"highlight1\"\n selector=\"tei-app,pb-popover,pb-highlight,.quote,pb-alternate\"\n default=\"off\"\n action=\"disable\"\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n >\n <ng-container *ngIf=\"data.labels && data.labels.view\">\n {{data.labels.view}}\n </ng-container>\n <ng-container *ngIf=\"!data.labels || !data.labels.view\">\n <pb-i18n key=\"document.plain\">Plain Reading View</pb-i18n>\n </ng-container>\n </pb-toggle-feature>\n\n <!-- Zoom Controls -->\n <pb-zoom\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n direction=\"in\"\n icon=\"icons:zoom-in\"\n ></pb-zoom>\n <pb-zoom\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n direction=\"out\"\n icon=\"icons:zoom-out\"\n ></pb-zoom>\n\n <!-- Navigation Controls -->\n <pb-navigation\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n keyboard=\"left\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n direction=\"backward\"\n unit=\"page\"\n >\n <paper-icon-button\n icon=\"icons:chevron-left\"\n role=\"button\"\n tabindex=\"0\"\n aria-disabled=\"false\"\n ></paper-icon-button>\n </pb-navigation>\n <pb-navigation\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n keyboard=\"right\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n direction=\"forward\"\n unit=\"page\"\n >\n <paper-icon-button\n icon=\"icons:chevron-right\"\n role=\"button\"\n tabindex=\"0\"\n aria-disabled=\"false\"\n ></paper-icon-button>\n </pb-navigation>\n\n <!-- Pulsante aggiungi pannello -->\n <pb-grid-action \n *ngIf=\"!data.libOptions?.grid?.disableAddColumn\"\n action=\"add\" \n class=\"grid-add\" \n [attr.grid]=\"'#' + (data.grid?.id || 'grid')\"\n >\n <paper-button \n role=\"button\" \n tabindex=\"0\" \n animated=\"\" \n elevation=\"0\" \n aria-disabled=\"false\"\n >\n <iron-icon icon=\"icons:add\"></iron-icon> \n {{ data.labels?.addColumn || 'Aggiungi colonna' }}\n </paper-button>\n </pb-grid-action>\n\n <!-- Pulsante download -->\n <ng-container *ngIf=\"data.download\">\n <div class=\"n7-parallel-text-viewer__toolbar-container-flex\">\n <pb-download\n [type]=\"data.download.format || ''\"\n [src]=\"data.docs[0].id\"\n [url]=\"data.download.file || ''\"\n dialog=\"downloadDialog\"\n (click)=\"openDownload($event, data.download.file)\"\n [title]=\"data.download.label && data.download.format ? data.download.label + ' ' + data.download.format : ''\"\n >\n <paper-button raised=\"\">\n {{data.download.label && data.download.format ? data.download.label + ' ' + data.download.format : 'Download'}}\n </paper-button>\n </pb-download>\n </div>\n </ng-container>\n\n <pb-progress\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n indeterminate=\"\"\n bottom-item=\"bottom-item\"\n style=\"visibility: hidden\"\n ></pb-progress>\n </app-toolbar>\n </app-header>\n\n <!-- Main Content with Parallel Grid -->\n <main class=\"content-body\">\n <pb-grid \n [id]=\"data.grid?.id || 'grid'\"\n [attr.panels]=\"data.grid?.panels ? '[' + data.grid.panels.join(',') + ']' : '[0]'\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n >\n <!-- Main pb-->\n <pb-view \n id=\"transcription-view\"\n [attr.src]=\"data.mainDoc.doc_id || data.docs[0].id\"\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n [attr.odd]=\"data.mainDoc.odd\"\n [attr.view]=\"data.mainDoc.view\"\n (click)=\"onClick($event)\"\n [attr.url]=\"data.mainDoc.rootPath\"\n append-footnotes=\"append-footnotes\"\n >\n </pb-view>\n\n <!-- Template -->\n <template>\n <pb-panel [attr.emit]=\"data.grid?.emit || 'transcription'\">\n <!-- Rimozione colonna -->\n <pb-grid-action \n [attr.grid]=\"'#' + (data.grid?.id || 'grid')\" \n slot=\"toolbar\" \n action=\"remove\"\n >\n <paper-icon-button icon=\"icons:close\"></paper-icon-button>\n </pb-grid-action>\n\n <!-- Pannelli secondari -->\n \n <ng-container *ngFor=\"let panel of data.panels\">\n <ng-container *ngIf=\"panel.enabled\">\n <ng-container [ngSwitch]=\"panel.type\">\n\n <ng-container *ngSwitchCase=\"'text'\">\n <template [attr.title]=\"panel.title\">\n <pb-view \n [attr.id]=\"panel.id + '-view'\"\n [attr.src]=\"panel.doc_id || data.docs[0].id\"\n [attr.odd]=\"panel.odd\"\n [attr.view]=\"panel.view || 'single'\"\n [attr.xpath]=\"panel.xpath\"\n [attr.map]=\"panel.mapFunction\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n (click)=\"onClick($event)\"\n [attr.url]=\"data.mainDoc.rootPath\"\n disable-history=\"\"\n >\n <pb-param \n *ngFor=\"let param of panel.params || []\"\n [attr.name]=\"param.name\"\n [attr.value]=\"param.value\"\n ></pb-param>\n </pb-view>\n </template>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'facsimile'\">\n <template [attr.title]=\"panel.title\">\n <pb-facsimile\n *ngIf=\"panel.facsimile?.enabled\"\n [attr.base-uri]=\"panel.facsimile.uri\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n class=\"pb-facsimile\"\n [style.height]=\"panel.facsimile.options?.height || '600px'\"\n [attr.default-zoom-level]=\"panel.facsimile.options?.defaultZoomLevel || 0\"\n [attr.show-navigator]=\"panel.facsimile.options?.showNavigator ? 'show-navigator' : null\"\n [attr.show-navigation-control]=\"panel.facsimile.options?.showNavigationControl ? 'show-navigation-control' : null\"\n [attr.show-home-control]=\"panel.facsimile.options?.showHomeControl ? 'show-home-control' : null\"\n [attr.show-rotation-control]=\"panel.facsimile.options?.showRotationControl ? 'show-rotation-control' : null\"\n [attr.show-full-page-control]=\"panel.facsimile.options?.showFullPageControl ? 'show-full-page-control' : null\"\n [scans]=\"panel.facsimile.scans\"\n >\n </pb-facsimile>\n </template>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n\n </pb-panel>\n </template>\n </pb-grid>\n </main>\n\n <!-- TOC Drawer -->\n <pb-drawer\n toggle=\"tocToggle\"\n class=\"tocDrawer\"\n emit=\"toc\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n >\n <div class=\"drawer-content\">\n <h3>\n <ng-container *ngIf=\"data.labels && data.labels.toc\">\n {{data.labels.toc}}\n </ng-container>\n <ng-container *ngIf=\"!data.labels || !data.labels.toc\">\n <pb-i18n key=\"document.contents\">Contents</pb-i18n>\n </ng-container>\n </h3>\n <pb-load\n *ngIf=\"data.docs && data.docs.length > 0 && !data.libOptions?.toc?.disable\"\n id=\"toc\"\n [attr.url]=\"data.mainDoc.rootPath ? (data.mainDoc.rootPath + '/' + data.mainDoc.doc_id + '/contents?target=transcription&icons=true') : 'api/document/{doc}/contents?target=transcription&icons=true'\"\n [attr.src]=\"data.mainDoc.doc_id\"\n subscribe=\"toc\"\n emit=\"toc\"\n expand=\"expand\"\n auto=\"auto\"\n >\n <ng-container *ngIf=\"data.labels && data.labels.loading\">\n {{data.labels.loading}}\n </ng-container>\n <ng-container *ngIf=\"!data.labels || !data.labels.loading\">\n <pb-i18n key=\"dialogs.loading\">Loading</pb-i18n>\n </ng-container>\n </pb-load>\n </div>\n </pb-drawer>\n </app-header-layout>\n </app-drawer-layout>\n </pb-page>\n</div>\n\n" }]
|
|
43
|
+
args: [{ selector: 'n7-parallel-text-viewer', template: "<div\n class=\"n7-parallel-text-viewer {{data?.classes || ''}}\"\n *ngIf=\"data && data.endpoint\"\n>\n <pb-page \n [attr.endpoint]=\"data.endpoint\" \n api-version=\"1.0.0\" \n url-path=\"query\"\n [attr.url-ignore]=\"data.libOptions?.pbPage?.urlIgnore?.join(',') || 'odd,view,path,selectors,highlight,view2'\"\n >\n <!-- PB DOCUMENT-->\n <pb-document\n *ngFor=\"let doc of data.docs; index as $i\"\n [attr.path]=\"doc.xml\"\n [attr.odd]=\"doc.odd\"\n [attr.id]=\"doc.id\"\n [attr.view]=\"doc.view\"\n [attr.disable-history]=\"doc.disableHistory === true ? '' : null\"\n [attr.root-path]=\"doc.rootPath\"\n >\n </pb-document>\n\n <app-drawer-layout force-narrow=\"force-narrow\" narrow=\"\">\n <app-header-layout>\n <app-header\n fixed=\"fixed\"\n data-template=\"browse:fix-links\"\n style=\"\n transition-duration: 0ms;\n transform: translate3d(0px, 0px, 0px);\n left: 0px;\n right: 0.399994px;\n \"\n >\n <app-toolbar\n class=\"toolbar\"\n sticky=\"sticky\"\n style=\"transform: translate3d(0px, 0px, 0px)\"\n >\n <!-- TOC button -->\n <paper-icon-button\n id=\"tocToggle\"\n class=\"toc-toggle\"\n icon=\"icons:view-list\"\n role=\"button\"\n tabindex=\"0\"\n aria-disabled=\"false\"\n ></paper-icon-button>\n\n <!-- Plain reading view-->\n <pb-toggle-feature\n *ngIf=\"data.docs?.length === 1\"\n name=\"highlight1\"\n selector=\"tei-app,pb-popover,pb-highlight,.quote,pb-alternate\"\n default=\"off\"\n action=\"disable\"\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n >\n <ng-container *ngIf=\"data.labels && data.labels.view\">\n {{data.labels.view}}\n </ng-container>\n <ng-container *ngIf=\"!data.labels || !data.labels.view\">\n <pb-i18n key=\"document.plain\">Plain Reading View</pb-i18n>\n </ng-container>\n </pb-toggle-feature>\n\n <!-- Zoom Controls -->\n <pb-zoom\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n direction=\"in\"\n icon=\"icons:zoom-in\"\n ></pb-zoom>\n <pb-zoom\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n direction=\"out\"\n icon=\"icons:zoom-out\"\n ></pb-zoom>\n\n <!-- Navigation Controls -->\n <pb-navigation\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n keyboard=\"left\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n direction=\"backward\"\n unit=\"page\"\n >\n <paper-icon-button\n icon=\"icons:chevron-left\"\n role=\"button\"\n tabindex=\"0\"\n aria-disabled=\"false\"\n ></paper-icon-button>\n </pb-navigation>\n <pb-navigation\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n keyboard=\"right\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n direction=\"forward\"\n unit=\"page\"\n >\n <paper-icon-button\n icon=\"icons:chevron-right\"\n role=\"button\"\n tabindex=\"0\"\n aria-disabled=\"false\"\n ></paper-icon-button>\n </pb-navigation>\n\n <!-- Pulsante aggiungi pannello -->\n <pb-grid-action \n *ngIf=\"!data.libOptions?.grid?.disableAddColumn\"\n action=\"add\" \n class=\"grid-add\" \n [attr.grid]=\"'#' + (data.grid?.id || 'grid')\"\n >\n <paper-button \n role=\"button\" \n tabindex=\"0\" \n animated=\"\" \n elevation=\"0\" \n aria-disabled=\"false\"\n >\n <iron-icon icon=\"icons:add\"></iron-icon> \n {{ data.labels?.addColumn || 'Aggiungi colonna' }}\n </paper-button>\n </pb-grid-action>\n\n <!-- Pulsante download -->\n <ng-container *ngIf=\"data.download\">\n <div class=\"n7-parallel-text-viewer__toolbar-container-flex\">\n <pb-download\n [type]=\"data.download.format || ''\"\n [src]=\"data.docs[0].id\"\n [url]=\"data.download.file || ''\"\n dialog=\"downloadDialog\"\n (click)=\"openDownload($event, data.download.file)\"\n [title]=\"data.download.label && data.download.format ? data.download.label + ' ' + data.download.format : ''\"\n >\n <paper-button raised=\"\">\n {{data.download.label && data.download.format ? data.download.label + ' ' + data.download.format : 'Download'}}\n </paper-button>\n </pb-download>\n </div>\n </ng-container>\n\n <pb-progress\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n indeterminate=\"\"\n bottom-item=\"bottom-item\"\n style=\"visibility: hidden\"\n ></pb-progress>\n </app-toolbar>\n </app-header>\n\n <!-- Main Content with Parallel Grid -->\n <main class=\"content-body\">\n <pb-grid \n [id]=\"data.grid?.id || 'grid'\"\n [attr.panels]=\"data.grid?.panels ? '[' + data.grid.panels.join(',') + ']' : '[0]'\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n >\n <!-- Main pb-->\n <pb-view \n id=\"transcription-view\"\n [attr.src]=\"data.mainDoc.doc_id || data.docs[0].id\"\n [attr.emit]=\"data.grid?.emit || 'transcription'\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n [attr.odd]=\"data.mainDoc.odd\"\n [attr.view]=\"data.mainDoc.view\"\n (click)=\"onClick($event)\"\n [attr.url]=\"data.mainDoc.rootPath\"\n append-footnotes=\"append-footnotes\"\n >\n <!-- Param per ricerca avanzata -->\n <pb-param\n *ngIf=\"data.mainDoc.url\"\n name=\"url\"\n [attr.value]=\"data.mainDoc.url\"\n ></pb-param>\n </pb-view>\n\n <!-- Template -->\n <template>\n <pb-panel [attr.emit]=\"data.grid?.emit || 'transcription'\">\n <!-- Rimozione colonna -->\n <pb-grid-action \n [attr.grid]=\"'#' + (data.grid?.id || 'grid')\" \n slot=\"toolbar\" \n action=\"remove\"\n >\n <paper-icon-button icon=\"icons:close\"></paper-icon-button>\n </pb-grid-action>\n\n <!-- Pannelli secondari -->\n \n <ng-container *ngFor=\"let panel of data.panels\">\n <ng-container *ngIf=\"panel.enabled\">\n <ng-container [ngSwitch]=\"panel.type\">\n\n <ng-container *ngSwitchCase=\"'text'\">\n <template [attr.title]=\"panel.title\">\n <pb-view \n [attr.id]=\"panel.id + '-view'\"\n [attr.src]=\"panel.doc_id || data.docs[0].id\"\n [attr.odd]=\"panel.odd\"\n [attr.view]=\"panel.view || 'single'\"\n [attr.xpath]=\"panel.xpath\"\n [attr.map]=\"panel.mapFunction\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n (click)=\"onClick($event)\"\n [attr.url]=\"data.mainDoc.rootPath\"\n disable-history=\"\"\n >\n <pb-param \n *ngFor=\"let param of panel.params || []\"\n [attr.name]=\"param.name\"\n [attr.value]=\"param.value\"\n ></pb-param>\n </pb-view>\n </template>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'facsimile'\">\n <template [attr.title]=\"panel.title\">\n <pb-facsimile\n *ngIf=\"panel.facsimile?.enabled\"\n [attr.base-uri]=\"panel.facsimile.uri\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n class=\"pb-facsimile\"\n [style.height]=\"panel.facsimile.options?.height || '600px'\"\n [attr.default-zoom-level]=\"panel.facsimile.options?.defaultZoomLevel || 0\"\n [attr.show-navigator]=\"panel.facsimile.options?.showNavigator ? 'show-navigator' : null\"\n [attr.show-navigation-control]=\"panel.facsimile.options?.showNavigationControl ? 'show-navigation-control' : null\"\n [attr.show-home-control]=\"panel.facsimile.options?.showHomeControl ? 'show-home-control' : null\"\n [attr.show-rotation-control]=\"panel.facsimile.options?.showRotationControl ? 'show-rotation-control' : null\"\n [attr.show-full-page-control]=\"panel.facsimile.options?.showFullPageControl ? 'show-full-page-control' : null\"\n [scans]=\"panel.facsimile.scans\"\n >\n </pb-facsimile>\n </template>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n\n </pb-panel>\n </template>\n </pb-grid>\n </main>\n\n <!-- TOC Drawer -->\n <pb-drawer\n toggle=\"tocToggle\"\n class=\"tocDrawer\"\n emit=\"toc\"\n [attr.subscribe]=\"data.grid?.subscribe || 'transcription'\"\n >\n <div class=\"drawer-content\">\n <h3>\n <ng-container *ngIf=\"data.labels && data.labels.toc\">\n {{data.labels.toc}}\n </ng-container>\n <ng-container *ngIf=\"!data.labels || !data.labels.toc\">\n <pb-i18n key=\"document.contents\">Contents</pb-i18n>\n </ng-container>\n </h3>\n <pb-load\n *ngIf=\"data.docs && data.docs.length > 0 && !data.libOptions?.toc?.disable\"\n id=\"toc\"\n [attr.url]=\"data.mainDoc.rootPath ? (data.mainDoc.rootPath + '/' + data.mainDoc.doc_id + '/contents?target=transcription&icons=true') : 'api/document/{doc}/contents?target=transcription&icons=true'\"\n [attr.src]=\"data.mainDoc.doc_id\"\n subscribe=\"toc\"\n emit=\"toc\"\n expand=\"expand\"\n auto=\"auto\"\n >\n <ng-container *ngIf=\"data.labels && data.labels.loading\">\n {{data.labels.loading}}\n </ng-container>\n <ng-container *ngIf=\"!data.labels || !data.labels.loading\">\n <pb-i18n key=\"dialogs.loading\">Loading</pb-i18n>\n </ng-container>\n </pb-load>\n </div>\n </pb-drawer>\n </app-header-layout>\n </app-drawer-layout>\n </pb-page>\n</div>\n\n" }]
|
|
44
44
|
}], propDecorators: { data: [{
|
|
45
45
|
type: Input
|
|
46
46
|
}], emit: [{
|
|
47
47
|
type: Input
|
|
48
48
|
}] } });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYWxsZWwtdGV4dC12aWV3ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcGFyYWxsZWwtdGV4dC12aWV3ZXIvcGFyYWxsZWwtdGV4dC12aWV3ZXIudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcGFyYWxsZWwtdGV4dC12aWV3ZXIvcGFyYWxsZWwtdGV4dC12aWV3ZXIuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw2QkFBNkI7QUFDN0IsMEJBQTBCO0FBQzFCLDZCQUE2QjtBQUM3QixPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7O0FBNkt6RCxNQUFNLE9BQU8sMkJBQTJCO2FBSy9CLFlBQU8sR0FBRyxLQUFLLEFBQVIsQ0FBUztJQUd2QixRQUFRO1FBQ04sSUFBSSxDQUFDLDJCQUEyQixDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3pDLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDM0MsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDeEMsQ0FBQyxDQUFDLFlBQVksQ0FDWixLQUFLLEVBQUUsR0FBRyxRQUNWLG9EQUFvRCxDQUNyRCxDQUFDO1lBQ0YsQ0FBQyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDakMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1lBQy9CLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsY0FBYztRQUNaLDJCQUEyQixDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDN0MsQ0FBQztJQUVELE9BQU8sQ0FBQyxPQUFPO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTztRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVksRUFBRSxHQUFXO1FBQ3BDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ1IsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7K0dBekNVLDJCQUEyQjttR0FBM0IsMkJBQTJCLHVHQ2hMeEMsa3FYQThSQTs7NEZEOUdhLDJCQUEyQjtrQkFKdkMsU0FBUzsrQkFDRSx5QkFBeUI7OEJBSTFCLElBQUk7c0JBQVosS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUEFSQUxMRUwtVEVYVC1WSUVXRVIudHNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIFBhcmFsbGVsVGV4dFZpZXdlckNvbXBvbmVudCdzIFwiZGF0YVwiXG4gKiBJbnRlcmZhY2UgZm9yIFRleHRWaWV3ZXJDb21wb25lbnQncyBcImRhdGFcIlxuICogQHByb3BlcnR5IGVuZHBvaW50IChyZXF1aXJlZClcbiAqIEBwcm9wZXJ0eSBkb2MgKHJlcXVpcmVkKVxuICogQHByb3BlcnR5IGZhY3NpbWlsZSAob3B0aW9uYWwpXG4gKi9cblxuXG5leHBvcnQgaW50ZXJmYWNlIFBhbmVsQ29uZmlnIHtcbiAgaWQ6IHN0cmluZzsgICAgICAgICAgICAgIFxuICBlbmFibGVkOiBib29sZWFuOyAgICAgICAgIFxuICB0aXRsZTogc3RyaW5nOyAgICAgICAgICAgXG4gIHR5cGU6ICd0ZXh0JyB8ICdmYWNzaW1pbGUnOyBcbiAgXG4gIC8vIHRlc3RvXG4gIG9kZD86IHN0cmluZztcbiAgZG9jX2lkPzogc3RyaW5nO1xuICB2aWV3Pzogc3RyaW5nO1xuICB4cGF0aD86IHN0cmluZztcbiAgbWFwRnVuY3Rpb24/OiBzdHJpbmc7XG4gIHNyYz86IHN0cmluZztcblxuXG4gIC8vIGZhY3NpbWlsZVxuICBmYWNzaW1pbGU/OiB7XG4gICAgZW5hYmxlZD86IGJvb2xlYW47XG4gICAgdXJpOiBzdHJpbmc7XG4gICAgc2NhbnM/OiBzdHJpbmdbXTtcbiAgICBvcHRpb25zPzoge1xuICAgICAgaGVpZ2h0Pzogc3RyaW5nO1xuICAgICAgZGVmYXVsdFpvb21MZXZlbD86IG51bWJlcjtcbiAgICAgIHNob3dIb21lQ29udHJvbD86IGJvb2xlYW47XG4gICAgICBzaG93RnVsbFBhZ2VDb250cm9sPzogYm9vbGVhbjtcbiAgICAgIHNob3dSb3RhdGlvbkNvbnRyb2w/OiBib29sZWFuO1xuICAgICAgc2hvd05hdmlnYXRvcj86IGJvb2xlYW47XG4gICAgICBzaG93TmF2aWdhdGlvbkNvbnRyb2w/OiBib29sZWFuO1xuICAgIH07XG4gIH07IFxuXG4gIHBhcmFtcz86IEFycmF5PFxuICB7IG5hbWU6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9XG4gID47XG59XG5cblxuZXhwb3J0IGludGVyZmFjZSBQYXJhbGxlbFRleHRWaWV3ZXJEYXRhIHtcbiAgLypcbiAgICogVEVJIFB1Ymxpc2hlciBzZXJ2ZXIgZW5kcG9pbnRcbiAgICovXG4gIGVuZHBvaW50OiBzdHJpbmc7XG4gIFxuICAvKlxuICAgKiBEb2N1bWVudHMgY29uZmlndXJhdGlvblxuICAgKi9cbiAgZG9jczoge1xuICAgIHhtbDogc3RyaW5nO1xuICAgIGlkOiBzdHJpbmc7ICBcbiAgICB1cmw/OiBzdHJpbmc7XG4gICAgcm9vdFBhdGg/OiBzdHJpbmc7XG4gICAgXG4gIH1bXTtcblxuICBtYWluRG9jOiB7XG4gICAgZG9jX2lkOiBzdHJpbmc7XG4gICAgb2RkOiBzdHJpbmc7XG4gICAgdmlldzogc3RyaW5nO1xuICAgIGNoYW5uZWw/OiBzdHJpbmc7XG4gICAgdHJhbnNsYXRpb24/OiBib29sZWFuO1xuICAgIGRvd25sb2FkPzogc3RyaW5nO1xuICAgIHJvb3RQYXRoPzogc3RyaW5nO1xuICAgIG1hcEZ1bmN0aW9uPzogc3RyaW5nO1xuICAgIHVybD86IHN0cmluZztcbiAgICB4cGF0aD86IHN0cmluZztcbiAgICBkaXNhYmxlSGlzdG9yeT86IGJvb2xlYW47XG4gICAgYXBwYXJhdHVzPzoge1xuICAgICAgbWFwRnVuY3Rpb24/OiBzdHJpbmc7XG4gICAgICByb290UGF0aD86IHN0cmluZztcbiAgICAgIG9kZDogc3RyaW5nO1xuICAgICAgY2hhbm5lbD86IHN0cmluZztcbiAgICAgIHZpZXc6IHN0cmluZztcbiAgICAgIHBhcmFtcz86IHtcbiAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgICB2YWx1ZTogc3RyaW5nO1xuICAgICAgfVtdO1xuICAgICAgc3RhbmRhbG9uZT86IGJvb2xlYW47XG4gICAgfTtcbiAgfTtcblxuICAvKlxuICAgKiBHcmlkIGNvbmZpZ3VyYXRpb24gZm9yIHBhcmFsbGVsIGxheW91dFxuICAgKi9cbiAgZ3JpZD86IHtcbiAgICBpZD86IHN0cmluZztcbiAgICBwYW5lbHM/OiBudW1iZXJbXTsgXG4gICAgc3Vic2NyaWJlPzogc3RyaW5nO1xuICAgIGVtaXQ/OiBzdHJpbmc7XG4gICAgaW5pdGlhbFBhbmVscz86IHN0cmluZztcbiAgICBjb2x1bW5XaWR0aHM/OiBzdHJpbmc7XG4gIH07XG5cbiAgLypcbiAgICogQ29uZmlndXJhemlvbmUgcGFubmVsbGkgc2Vjb25kYXJpXG4gICAqL1xuICAvKlxuICAgKiBBcnJheSBnZW5lcmljbyBwZXIgcGFuZWxzXG4gICAqL1xuICBwYW5lbHM/OiBQYW5lbENvbmZpZ1tdO1xuICAvKlxuICAgKiBET1dOTE9BRCBGSUxFU1xuICAgKi9cbiAgZG93bmxvYWQ/OiB7XG4gICAgbGFiZWw/OiBzdHJpbmc7XG4gICAgZmlsZT86IHN0cmluZztcbiAgICBmb3JtYXQ/OiBzdHJpbmc7XG4gIH07XG4gIC8qXG4gICAqIHNjcm9sbFN5bmMgb3B0aW9uXG4gICAqL1xuICBzY3JvbGxTeW5jPzogYm9vbGVhbjtcbiAgLypcblxuICAvKlxuICAgKiBMQUJFTFMgZm9yIFRPT0xCQVJcbiAgICovXG4gIGxhYmVscz86IHtcbiAgICB2aWV3Pzogc3RyaW5nO1xuICAgIGFkZENvbHVtbj86IHN0cmluZztcbiAgICBzZWxlY3Q/OiB7XG4gICAgICBsYWJlbD86IHN0cmluZztcbiAgICAgIHR5cGU/OiB7XG4gICAgICAgIFtrZXk6IHN0cmluZ106IHN0cmluZztcbiAgICAgIH07XG4gICAgfTtcbiAgICBpbmRleD86IHtcbiAgICAgIHNob3c/OiBzdHJpbmc7XG4gICAgICBoaWRlPzogc3RyaW5nO1xuICAgIH07XG4gICAgdG9jPzogc3RyaW5nO1xuICAgIGxvYWRpbmc/OiBzdHJpbmc7XG4gIH07XG4gIC8qXG4gICAqIHRvZ2dsZSBjb2x1bW5cbiAgICovXG4gIHRvZ2dsZUNvbHVtbj86IGJvb2xlYW47XG4gIFxuICBcblxuICBsaWJPcHRpb25zPzoge1xuICAgIHBiUGFnZT86IHtcbiAgICAgIHVybElnbm9yZT86IHN0cmluZ1tdO1xuICAgIH07XG4gICAgdG9jPzoge1xuICAgICAgZGlzYWJsZT86IGJvb2xlYW47XG4gICAgfTtcbiAgICBncmlkPzoge1xuICAgICAgZGlzYWJsZUFkZENvbHVtbj86IGJvb2xlYW47XG4gICAgfTtcbiAgfTtcblxuXG4gIC8qKlxuICAgKiBhZGRpdGlvbmFsIGh0bWwgY2xhc3Nlc1xuICAgKi9cbiAgY2xhc3Nlcz86IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbjctcGFyYWxsZWwtdGV4dC12aWV3ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFyYWxsZWwtdGV4dC12aWV3ZXIuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFBhcmFsbGVsVGV4dFZpZXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGRhdGE6IFBhcmFsbGVsVGV4dFZpZXdlckRhdGE7XG5cbiAgQElucHV0KCkgZW1pdDogYW55O1xuXG4gIHN0YXRpYyBfbG9hZGVkID0gZmFsc2U7XG5cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIVBhcmFsbGVsVGV4dFZpZXdlckNvbXBvbmVudC5fbG9hZGVkKSB7XG4gICAgICBjb25zdCBzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICBjb25zdCBiYXNlSHJlZiA9IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW47XG4gICAgICBzLnNldEF0dHJpYnV0ZShcbiAgICAgICAgJ3NyYycsIGAke2Jhc2VIcmVmICBcbiAgICAgICAgfS9hc3NldHMvcGItY29tcG9uZW50cy9kaXN0L3BiLWNvbXBvbmVudHMtYnVuZGxlLmpzYFxuICAgICAgKTtcbiAgICAgIHMuc2V0QXR0cmlidXRlKCd0eXBlJywgJ21vZHVsZScpO1xuICAgICAgcy5vbmxvYWQgPSB0aGlzLm9uU2NyaXB0TG9hZGVkO1xuICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzKTtcbiAgICB9XG4gIH1cblxuICBkaXNwbGF5SW5kZXgoKSB7XG4gICAgaWYgKCF0aGlzLmVtaXQpIHJldHVybjtcbiAgICB0aGlzLmVtaXQoJ3RvZ2dsZWNvbHVtbicpO1xuICB9XG5cbiAgb25TY3JpcHRMb2FkZWQoKSB7XG4gICAgUGFyYWxsZWxUZXh0Vmlld2VyQ29tcG9uZW50Ll9sb2FkZWQgPSB0cnVlO1xuICB9XG5cbiAgb25DbGljayhwYXlsb2FkKSB7XG4gICAgaWYgKCF0aGlzLmVtaXQpIHJldHVybjsgICAgIFxuICAgIHRoaXMuZW1pdCgnY2xpY2snLCBwYXlsb2FkKTtcbiAgfVxuXG4gIG9wZW5Eb3dubG9hZChldmVudDogRXZlbnQsIHVybDogc3RyaW5nKSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAodXJsKSB7XG4gICAgICB3aW5kb3cub3Blbih1cmwsICdfYmxhbmsnKTtcbiAgICB9XG4gIH1cbn0iLCI8ZGl2XG4gIGNsYXNzPVwibjctcGFyYWxsZWwtdGV4dC12aWV3ZXIge3tkYXRhPy5jbGFzc2VzIHx8ICcnfX1cIlxuICAqbmdJZj1cImRhdGEgJiYgZGF0YS5lbmRwb2ludFwiXG4+XG4gIDxwYi1wYWdlIFxuICAgIFthdHRyLmVuZHBvaW50XT1cImRhdGEuZW5kcG9pbnRcIiBcbiAgICBhcGktdmVyc2lvbj1cIjEuMC4wXCIgXG4gICAgdXJsLXBhdGg9XCJxdWVyeVwiXG4gICAgW2F0dHIudXJsLWlnbm9yZV09XCJkYXRhLmxpYk9wdGlvbnM/LnBiUGFnZT8udXJsSWdub3JlPy5qb2luKCcsJykgfHwgJ29kZCx2aWV3LHBhdGgsc2VsZWN0b3JzLGhpZ2hsaWdodCx2aWV3MidcIlxuICA+XG4gICAgPCEtLSBQQiBET0NVTUVOVC0tPlxuICAgIDxwYi1kb2N1bWVudFxuICAgICAgKm5nRm9yPVwibGV0IGRvYyBvZiBkYXRhLmRvY3M7IGluZGV4IGFzICRpXCJcbiAgICAgIFthdHRyLnBhdGhdPVwiZG9jLnhtbFwiXG4gICAgICBbYXR0ci5vZGRdPVwiZG9jLm9kZFwiXG4gICAgICBbYXR0ci5pZF09XCJkb2MuaWRcIlxuICAgICAgW2F0dHIudmlld109XCJkb2Mudmlld1wiXG4gICAgICBbYXR0ci5kaXNhYmxlLWhpc3RvcnldPVwiZG9jLmRpc2FibGVIaXN0b3J5ID09PSB0cnVlID8gJycgOiBudWxsXCJcbiAgICAgIFthdHRyLnJvb3QtcGF0aF09XCJkb2Mucm9vdFBhdGhcIlxuICAgID5cbiAgICA8L3BiLWRvY3VtZW50PlxuXG4gICAgPGFwcC1kcmF3ZXItbGF5b3V0IGZvcmNlLW5hcnJvdz1cImZvcmNlLW5hcnJvd1wiIG5hcnJvdz1cIlwiPlxuICAgICAgPGFwcC1oZWFkZXItbGF5b3V0PlxuICAgICAgICA8YXBwLWhlYWRlclxuICAgICAgICAgIGZpeGVkPVwiZml4ZWRcIlxuICAgICAgICAgIGRhdGEtdGVtcGxhdGU9XCJicm93c2U6Zml4LWxpbmtzXCJcbiAgICAgICAgICBzdHlsZT1cIlxuICAgICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMG1zO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTtcbiAgICAgICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgICAgIHJpZ2h0OiAwLjM5OTk5NHB4O1xuICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICA8YXBwLXRvb2xiYXJcbiAgICAgICAgICAgIGNsYXNzPVwidG9vbGJhclwiXG4gICAgICAgICAgICBzdGlja3k9XCJzdGlja3lcIlxuICAgICAgICAgICAgc3R5bGU9XCJ0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8IS0tIFRPQyBidXR0b24gLS0+XG4gICAgICAgICAgICA8cGFwZXItaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgaWQ9XCJ0b2NUb2dnbGVcIlxuICAgICAgICAgICAgICBjbGFzcz1cInRvYy10b2dnbGVcIlxuICAgICAgICAgICAgICBpY29uPVwiaWNvbnM6dmlldy1saXN0XCJcbiAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICAgIGFyaWEtZGlzYWJsZWQ9XCJmYWxzZVwiXG4gICAgICAgICAgICA+PC9wYXBlci1pY29uLWJ1dHRvbj5cblxuICAgICAgICAgICAgPCEtLSBQbGFpbiByZWFkaW5nIHZpZXctLT5cbiAgICAgICAgICAgIDxwYi10b2dnbGUtZmVhdHVyZVxuICAgICAgICAgICAgICAqbmdJZj1cImRhdGEuZG9jcz8ubGVuZ3RoID09PSAxXCJcbiAgICAgICAgICAgICAgbmFtZT1cImhpZ2hsaWdodDFcIlxuICAgICAgICAgICAgICBzZWxlY3Rvcj1cInRlaS1hcHAscGItcG9wb3ZlcixwYi1oaWdobGlnaHQsLnF1b3RlLHBiLWFsdGVybmF0ZVwiXG4gICAgICAgICAgICAgIGRlZmF1bHQ9XCJvZmZcIlxuICAgICAgICAgICAgICBhY3Rpb249XCJkaXNhYmxlXCJcbiAgICAgICAgICAgICAgW2F0dHIuZW1pdF09XCJkYXRhLmdyaWQ/LmVtaXQgfHwgJ3RyYW5zY3JpcHRpb24nXCJcbiAgICAgICAgICAgICAgW2F0dHIuc3Vic2NyaWJlXT1cImRhdGEuZ3JpZD8uc3Vic2NyaWJlIHx8ICd0cmFuc2NyaXB0aW9uJ1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhLmxhYmVscyAmJiBkYXRhLmxhYmVscy52aWV3XCI+XG4gICAgICAgICAgICAgICAge3tkYXRhLmxhYmVscy52aWV3fX1cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZGF0YS5sYWJlbHMgfHwgIWRhdGEubGFiZWxzLnZpZXdcIj5cbiAgICAgICAgICAgICAgICA8cGItaTE4biBrZXk9XCJkb2N1bWVudC5wbGFpblwiPlBsYWluIFJlYWRpbmcgVmlldzwvcGItaTE4bj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L3BiLXRvZ2dsZS1mZWF0dXJlPlxuXG4gICAgICAgICAgICA8IS0tIFpvb20gQ29udHJvbHMgLS0+XG4gICAgICAgICAgICA8cGItem9vbVxuICAgICAgICAgICAgICBbYXR0ci5lbWl0XT1cImRhdGEuZ3JpZD8uZW1pdCB8fCAndHJhbnNjcmlwdGlvbidcIlxuICAgICAgICAgICAgICBkaXJlY3Rpb249XCJpblwiXG4gICAgICAgICAgICAgIGljb249XCJpY29uczp6b29tLWluXCJcbiAgICAgICAgICAgID48L3BiLXpvb20+XG4gICAgICAgICAgICA8cGItem9vbVxuICAgICAgICAgICAgICBbYXR0ci5lbWl0XT1cImRhdGEuZ3JpZD8uZW1pdCB8fCAndHJhbnNjcmlwdGlvbidcIlxuICAgICAgICAgICAgICBkaXJlY3Rpb249XCJvdXRcIlxuICAgICAgICAgICAgICBpY29uPVwiaWNvbnM6em9vbS1vdXRcIlxuICAgICAgICAgICAgPjwvcGItem9vbT5cblxuICAgICAgICAgICAgPCEtLSBOYXZpZ2F0aW9uIENvbnRyb2xzIC0tPlxuICAgICAgICAgICAgPHBiLW5hdmlnYXRpb25cbiAgICAgICAgICAgICAgW2F0dHIuZW1pdF09XCJkYXRhLmdyaWQ/LmVtaXQgfHwgJ3RyYW5zY3JpcHRpb24nXCJcbiAgICAgICAgICAgICAga2V5Ym9hcmQ9XCJsZWZ0XCJcbiAgICAgICAgICAgICAgW2F0dHIuc3Vic2NyaWJlXT1cImRhdGEuZ3JpZD8uc3Vic2NyaWJlIHx8ICd0cmFuc2NyaXB0aW9uJ1wiXG4gICAgICAgICAgICAgIGRpcmVjdGlvbj1cImJhY2t3YXJkXCJcbiAgICAgICAgICAgICAgdW5pdD1cInBhZ2VcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8cGFwZXItaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICBpY29uPVwiaWNvbnM6Y2hldnJvbi1sZWZ0XCJcbiAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgICAgIGFyaWEtZGlzYWJsZWQ9XCJmYWxzZVwiXG4gICAgICAgICAgICAgID48L3BhcGVyLWljb24tYnV0dG9uPlxuICAgICAgICAgICAgPC9wYi1uYXZpZ2F0aW9uPlxuICAgICAgICAgICAgPHBiLW5hdmlnYXRpb25cbiAgICAgICAgICAgICAgW2F0dHIuZW1pdF09XCJkYXRhLmdyaWQ/LmVtaXQgfHwgJ3RyYW5zY3JpcHRpb24nXCJcbiAgICAgICAgICAgICAga2V5Ym9hcmQ9XCJyaWdodFwiXG4gICAgICAgICAgICAgIFthdHRyLnN1YnNjcmliZV09XCJkYXRhLmdyaWQ/LnN1YnNjcmliZSB8fCAndHJhbnNjcmlwdGlvbidcIlxuICAgICAgICAgICAgICBkaXJlY3Rpb249XCJmb3J3YXJkXCJcbiAgICAgICAgICAgICAgdW5pdD1cInBhZ2VcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8cGFwZXItaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICBpY29uPVwiaWNvbnM6Y2hldnJvbi1yaWdodFwiXG4gICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgICAgICBhcmlhLWRpc2FibGVkPVwiZmFsc2VcIlxuICAgICAgICAgICAgICA+PC9wYXBlci1pY29uLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvcGItbmF2aWdhdGlvbj5cblxuICAgICAgICAgICAgPCEtLSBQdWxzYW50ZSBhZ2dpdW5naSBwYW5uZWxsbyAtLT5cbiAgICAgICAgICAgIDxwYi1ncmlkLWFjdGlvbiBcbiAgICAgICAgICAgICAgKm5nSWY9XCIhZGF0YS5saWJPcHRpb25zPy5ncmlkPy5kaXNhYmxlQWRkQ29sdW1uXCJcbiAgICAgICAgICAgICAgYWN0aW9uPVwiYWRkXCIgXG4gICAgICAgICAgICAgIGNsYXNzPVwiZ3JpZC1hZGRcIiBcbiAgICAgICAgICAgICAgW2F0dHIuZ3JpZF09XCInIycgKyAoZGF0YS5ncmlkPy5pZCB8fCAnZ3JpZCcpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHBhcGVyLWJ1dHRvbiBcbiAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCIgXG4gICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCIgXG4gICAgICAgICAgICAgICAgYW5pbWF0ZWQ9XCJcIiBcbiAgICAgICAgICAgICAgICBlbGV2YXRpb249XCIwXCIgXG4gICAgICAgICAgICAgICAgYXJpYS1kaXNhYmxlZD1cImZhbHNlXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpcm9uLWljb24gaWNvbj1cImljb25zOmFkZFwiPjwvaXJvbi1pY29uPiBcbiAgICAgICAgICAgICAgICB7eyBkYXRhLmxhYmVscz8uYWRkQ29sdW1uIHx8ICdBZ2dpdW5naSBjb2xvbm5hJyB9fVxuICAgICAgICAgICAgICA8L3BhcGVyLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvcGItZ3JpZC1hY3Rpb24+XG5cbiAgICAgICAgICAgIDwhLS0gUHVsc2FudGUgZG93bmxvYWQgLS0+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YS5kb3dubG9hZFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibjctcGFyYWxsZWwtdGV4dC12aWV3ZXJfX3Rvb2xiYXItY29udGFpbmVyLWZsZXhcIj5cbiAgICAgICAgICAgICAgICA8cGItZG93bmxvYWRcbiAgICAgICAgICAgICAgICAgIFt0eXBlXT1cImRhdGEuZG93bmxvYWQuZm9ybWF0IHx8ICcnXCJcbiAgICAgICAgICAgICAgICAgIFtzcmNdPVwiZGF0YS5kb2NzWzBdLmlkXCJcbiAgICAgICAgICAgICAgICAgIFt1cmxdPVwiZGF0YS5kb3dubG9hZC5maWxlIHx8ICcnXCJcbiAgICAgICAgICAgICAgICAgIGRpYWxvZz1cImRvd25sb2FkRGlhbG9nXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuRG93bmxvYWQoJGV2ZW50LCBkYXRhLmRvd25sb2FkLmZpbGUpXCJcbiAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJkYXRhLmRvd25sb2FkLmxhYmVsICYmIGRhdGEuZG93bmxvYWQuZm9ybWF0ID8gZGF0YS5kb3dubG9hZC5sYWJlbCArICcgJyArIGRhdGEuZG93bmxvYWQuZm9ybWF0IDogJydcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxwYXBlci1idXR0b24gcmFpc2VkPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7ZGF0YS5kb3dubG9hZC5sYWJlbCAmJiBkYXRhLmRvd25sb2FkLmZvcm1hdCA/IGRhdGEuZG93bmxvYWQubGFiZWwgKyAnICcgKyBkYXRhLmRvd25sb2FkLmZvcm1hdCA6ICdEb3dubG9hZCd9fVxuICAgICAgICAgICAgICAgICAgPC9wYXBlci1idXR0b24+XG4gICAgICAgICAgICAgICAgPC9wYi1kb3dubG9hZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPHBiLXByb2dyZXNzXG4gICAgICAgICAgICAgIFthdHRyLnN1YnNjcmliZV09XCJkYXRhLmdyaWQ/LnN1YnNjcmliZSB8fCAndHJhbnNjcmlwdGlvbidcIlxuICAgICAgICAgICAgICBpbmRldGVybWluYXRlPVwiXCJcbiAgICAgICAgICAgICAgYm90dG9tLWl0ZW09XCJib3R0b20taXRlbVwiXG4gICAgICAgICAgICAgIHN0eWxlPVwidmlzaWJpbGl0eTogaGlkZGVuXCJcbiAgICAgICAgICAgID48L3BiLXByb2dyZXNzPlxuICAgICAgICAgIDwvYXBwLXRvb2xiYXI+XG4gICAgICAgIDwvYXBwLWhlYWRlcj5cblxuICAgICAgICA8IS0tIE1haW4gQ29udGVudCB3aXRoIFBhcmFsbGVsIEdyaWQgLS0+XG4gICAgICAgIDxtYWluIGNsYXNzPVwiY29udGVudC1ib2R5XCI+XG4gICAgICAgICAgPHBiLWdyaWQgXG4gICAgICAgICAgICBbaWRdPVwiZGF0YS5ncmlkPy5pZCB8fCAnZ3JpZCdcIlxuICAgICAgICAgICAgW2F0dHIucGFuZWxzXT1cImRhdGEuZ3JpZD8ucGFuZWxzID8gJ1snICsgZGF0YS5ncmlkLnBhbmVscy5qb2luKCcsJykgKyAnXScgOiAnWzBdJ1wiXG4gICAgICAgICAgICBbYXR0ci5zdWJzY3JpYmVdPVwiZGF0YS5ncmlkPy5zdWJzY3JpYmUgfHwgJ3RyYW5zY3JpcHRpb24nXCJcbiAgICAgICAgICAgIFthdHRyLmVtaXRdPVwiZGF0YS5ncmlkPy5lbWl0IHx8ICd0cmFuc2NyaXB0aW9uJ1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPCEtLSBNYWluIHBiLS0+XG4gICAgICAgICAgICA8cGItdmlldyBcbiAgICAgICAgICAgICAgaWQ9XCJ0cmFuc2NyaXB0aW9uLXZpZXdcIlxuICAgICAgICAgICAgICBbYXR0ci5zcmNdPVwiZGF0YS5tYWluRG9jLmRvY19pZCB8fCBkYXRhLmRvY3NbMF0uaWRcIlxuICAgICAgICAgICAgICBbYXR0ci5lbWl0XT1cImRhdGEuZ3JpZD8uZW1pdCB8fCAndHJhbnNjcmlwdGlvbidcIlxuICAgICAgICAgICAgICBbYXR0ci5zdWJzY3JpYmVdPVwiZGF0YS5ncmlkPy5zdWJzY3JpYmUgfHwgJ3RyYW5zY3JpcHRpb24nXCJcbiAgICAgICAgICAgICAgW2F0dHIub2RkXT1cImRhdGEubWFpbkRvYy5vZGRcIlxuICAgICAgICAgICAgICBbYXR0ci52aWV3XT1cImRhdGEubWFpbkRvYy52aWV3XCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAgIFthdHRyLnVybF09XCJkYXRhLm1haW5Eb2Mucm9vdFBhdGhcIlxuICAgICAgICAgICAgICBhcHBlbmQtZm9vdG5vdGVzPVwiYXBwZW5kLWZvb3Rub3Rlc1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L3BiLXZpZXc+XG5cbiAgICAgICAgICAgIDwhLS0gVGVtcGxhdGUgLS0+XG4gICAgICAgICAgICA8dGVtcGxhdGU+XG4gICAgICAgICAgICAgIDxwYi1wYW5lbCBbYXR0ci5lbWl0XT1cImRhdGEuZ3JpZD8uZW1pdCB8fCAndHJhbnNjcmlwdGlvbidcIj5cbiAgICAgICAgICAgICAgICA8IS0tIFJpbW96aW9uZSBjb2xvbm5hIC0tPlxuICAgICAgICAgICAgICAgIDxwYi1ncmlkLWFjdGlvbiBcbiAgICAgICAgICAgICAgICAgIFthdHRyLmdyaWRdPVwiJyMnICsgKGRhdGEuZ3JpZD8uaWQgfHwgJ2dyaWQnKVwiIFxuICAgICAgICAgICAgICAgICAgc2xvdD1cInRvb2xiYXJcIiBcbiAgICAgICAgICAgICAgICAgIGFjdGlvbj1cInJlbW92ZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uIGljb249XCJpY29uczpjbG9zZVwiPjwvcGFwZXItaWNvbi1idXR0b24+XG4gICAgICAgICAgICAgICAgPC9wYi1ncmlkLWFjdGlvbj5cblxuICAgICAgICAgICAgICAgIDwhLS0gUGFubmVsbGkgc2Vjb25kYXJpIC0tPlxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHBhbmVsIG9mIGRhdGEucGFuZWxzXCI+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicGFuZWwuZW5hYmxlZFwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJwYW5lbC50eXBlXCI+XG5cbiAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndGV4dCdcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8dGVtcGxhdGUgW2F0dHIudGl0bGVdPVwicGFuZWwudGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8cGItdmlldyBcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cInBhbmVsLmlkICsgJy12aWV3J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zcmNdPVwicGFuZWwuZG9jX2lkIHx8IGRhdGEuZG9jc1swXS5pZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5vZGRdPVwicGFuZWwub2RkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnZpZXddPVwicGFuZWwudmlldyB8fCAnc2luZ2xlJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci54cGF0aF09XCJwYW5lbC54cGF0aFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5tYXBdPVwicGFuZWwubWFwRnVuY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Vic2NyaWJlXT1cImRhdGEuZ3JpZD8uc3Vic2NyaWJlIHx8ICd0cmFuc2NyaXB0aW9uJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnVybF09XCJkYXRhLm1haW5Eb2Mucm9vdFBhdGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZS1oaXN0b3J5PVwiXCJcbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGItcGFyYW0gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBwYXJhbSBvZiBwYW5lbC5wYXJhbXMgfHwgW11cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5uYW1lXT1cInBhcmFtLm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci52YWx1ZV09XCJwYXJhbS52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9wYi1wYXJhbT5cbiAgICAgICAgICAgICAgICAgICAgICA8L3BiLXZpZXc+XG4gICAgICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2ZhY3NpbWlsZSdcIj5cbiAgICAgICAgICAgICAgICAgICAgPHRlbXBsYXRlIFthdHRyLnRpdGxlXT1cInBhbmVsLnRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHBiLWZhY3NpbWlsZVxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicGFuZWwuZmFjc2ltaWxlPy5lbmFibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5iYXNlLXVyaV09XCJwYW5lbC5mYWNzaW1pbGUudXJpXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdWJzY3JpYmVdPVwiZGF0YS5ncmlkPy5zdWJzY3JpYmUgfHwgJ3RyYW5zY3JpcHRpb24nXCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInBiLWZhY3NpbWlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmhlaWdodF09XCJwYW5lbC5mYWNzaW1pbGUub3B0aW9ucz8uaGVpZ2h0IHx8ICc2MDBweCdcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRlZmF1bHQtem9vbS1sZXZlbF09XCJwYW5lbC5mYWNzaW1pbGUub3B0aW9ucz8uZGVmYXVsdFpvb21MZXZlbCB8fCAwXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zaG93LW5hdmlnYXRvcl09XCJwYW5lbC5mYWNzaW1pbGUub3B0aW9ucz8uc2hvd05hdmlnYXRvciA/ICdzaG93LW5hdmlnYXRvcicgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zaG93LW5hdmlnYXRpb24tY29udHJvbF09XCJwYW5lbC5mYWNzaW1pbGUub3B0aW9ucz8uc2hvd05hdmlnYXRpb25Db250cm9sID8gJ3Nob3ctbmF2aWdhdGlvbi1jb250cm9sJyA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnNob3ctaG9tZS1jb250cm9sXT1cInBhbmVsLmZhY3NpbWlsZS5vcHRpb25zPy5zaG93SG9tZUNvbnRyb2wgPyAnc2hvdy1ob21lLWNvbnRyb2wnIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc2hvdy1yb3RhdGlvbi1jb250cm9sXT1cInBhbmVsLmZhY3NpbWlsZS5vcHRpb25zPy5zaG93Um90YXRpb25Db250cm9sID8gJ3Nob3ctcm90YXRpb24tY29udHJvbCcgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zaG93LWZ1bGwtcGFnZS1jb250cm9sXT1cInBhbmVsLmZhY3NpbWlsZS5vcHRpb25zPy5zaG93RnVsbFBhZ2VDb250cm9sID8gJ3Nob3ctZnVsbC1wYWdlLWNvbnRyb2wnIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgW3NjYW5zXT1cInBhbmVsLmZhY3NpbWlsZS5zY2Fuc1wiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPC9wYi1mYWNzaW1pbGU+XG4gICAgICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgIDwvcGItcGFuZWw+XG4gICAgICAgICAgICA8L3RlbXBsYXRlPlxuICAgICAgICAgIDwvcGItZ3JpZD5cbiAgICAgICAgPC9tYWluPlxuXG4gICAgICAgIDwhLS0gVE9DIERyYXdlciAtLT5cbiAgICAgICAgPHBiLWRyYXdlclxuICAgICAgICAgIHRvZ2dsZT1cInRvY1RvZ2dsZVwiXG4gICAgICAgICAgY2xhc3M9XCJ0b2NEcmF3ZXJcIlxuICAgICAgICAgIGVtaXQ9XCJ0b2NcIlxuICAgICAgICAgIFthdHRyLnN1YnNjcmliZV09XCJkYXRhLmdyaWQ/LnN1YnNjcmliZSB8fCAndHJhbnNjcmlwdGlvbidcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRyYXdlci1jb250ZW50XCI+XG4gICAgICAgICAgICA8aDM+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhLmxhYmVscyAmJiBkYXRhLmxhYmVscy50b2NcIj5cbiAgICAgICAgICAgICAgICB7e2RhdGEubGFiZWxzLnRvY319XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWRhdGEubGFiZWxzIHx8ICFkYXRhLmxhYmVscy50b2NcIj5cbiAgICAgICAgICAgICAgICA8cGItaTE4biBrZXk9XCJkb2N1bWVudC5jb250ZW50c1wiPkNvbnRlbnRzPC9wYi1pMThuPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgICA8cGItbG9hZFxuICAgICAgICAgICAgICAqbmdJZj1cImRhdGEuZG9jcyAmJiBkYXRhLmRvY3MubGVuZ3RoID4gMCAmJiAhZGF0YS5saWJPcHRpb25zPy50b2M/LmRpc2FibGVcIlxuICAgICAgICAgICAgICBpZD1cInRvY1wiXG4gICAgICAgICAgICAgIFthdHRyLnVybF09XCJkYXRhLm1haW5Eb2Mucm9vdFBhdGggPyAoZGF0YS5tYWluRG9jLnJvb3RQYXRoICsgJy8nICsgZGF0YS5tYWluRG9jLmRvY19pZCArICcvY29udGVudHM/dGFyZ2V0PXRyYW5zY3JpcHRpb24maWNvbnM9dHJ1ZScpIDogJ2FwaS9kb2N1bWVudC97ZG9jfS9jb250ZW50cz90YXJnZXQ9dHJhbnNjcmlwdGlvbiZpY29ucz10cnVlJ1wiXG4gICAgICAgICAgICAgIFthdHRyLnNyY109XCJkYXRhLm1haW5Eb2MuZG9jX2lkXCJcbiAgICAgICAgICAgICAgc3Vic2NyaWJlPVwidG9jXCJcbiAgICAgICAgICAgICAgZW1pdD1cInRvY1wiXG4gICAgICAgICAgICAgIGV4cGFuZD1cImV4cGFuZFwiXG4gICAgICAgICAgICAgIGF1dG89XCJhdXRvXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGEubGFiZWxzICYmIGRhdGEubGFiZWxzLmxvYWRpbmdcIj5cbiAgICAgICAgICAgICAgICB7e2RhdGEubGFiZWxzLmxvYWRpbmd9fVxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFkYXRhLmxhYmVscyB8fCAhZGF0YS5sYWJlbHMubG9hZGluZ1wiPlxuICAgICAgICAgICAgICAgIDxwYi1pMThuIGtleT1cImRpYWxvZ3MubG9hZGluZ1wiPkxvYWRpbmc8L3BiLWkxOG4+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9wYi1sb2FkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3BiLWRyYXdlcj5cbiAgICAgIDwvYXBwLWhlYWRlci1sYXlvdXQ+XG4gICAgPC9hcHAtZHJhd2VyLWxheW91dD5cbiAgPC9wYi1wYWdlPlxuPC9kaXY+XG5cbiJdfQ==
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYWxsZWwtdGV4dC12aWV3ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcGFyYWxsZWwtdGV4dC12aWV3ZXIvcGFyYWxsZWwtdGV4dC12aWV3ZXIudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcGFyYWxsZWwtdGV4dC12aWV3ZXIvcGFyYWxsZWwtdGV4dC12aWV3ZXIuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw2QkFBNkI7QUFDN0IsMEJBQTBCO0FBQzFCLDZCQUE2QjtBQUM3QixPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7O0FBNkt6RCxNQUFNLE9BQU8sMkJBQTJCO2FBSy9CLFlBQU8sR0FBRyxLQUFLLEFBQVIsQ0FBUztJQUd2QixRQUFRO1FBQ04sSUFBSSxDQUFDLDJCQUEyQixDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3pDLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDM0MsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDeEMsQ0FBQyxDQUFDLFlBQVksQ0FDWixLQUFLLEVBQUUsR0FBRyxRQUNWLG9EQUFvRCxDQUNyRCxDQUFDO1lBQ0YsQ0FBQyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDakMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1lBQy9CLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsY0FBYztRQUNaLDJCQUEyQixDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDN0MsQ0FBQztJQUVELE9BQU8sQ0FBQyxPQUFPO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTztRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVksRUFBRSxHQUFXO1FBQ3BDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ1IsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7K0dBekNVLDJCQUEyQjttR0FBM0IsMkJBQTJCLHVHQ2hMeEMsbTNYQW9TQTs7NEZEcEhhLDJCQUEyQjtrQkFKdkMsU0FBUzsrQkFDRSx5QkFBeUI7OEJBSTFCLElBQUk7c0JBQVosS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUEFSQUxMRUwtVEVYVC1WSUVXRVIudHNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIFBhcmFsbGVsVGV4dFZpZXdlckNvbXBvbmVudCdzIFwiZGF0YVwiXG4gKiBJbnRlcmZhY2UgZm9yIFRleHRWaWV3ZXJDb21wb25lbnQncyBcImRhdGFcIlxuICogQHByb3BlcnR5IGVuZHBvaW50IChyZXF1aXJlZClcbiAqIEBwcm9wZXJ0eSBkb2MgKHJlcXVpcmVkKVxuICogQHByb3BlcnR5IGZhY3NpbWlsZSAob3B0aW9uYWwpXG4gKi9cblxuXG5leHBvcnQgaW50ZXJmYWNlIFBhbmVsQ29uZmlnIHtcbiAgaWQ6IHN0cmluZzsgICAgICAgICAgICAgIFxuICBlbmFibGVkOiBib29sZWFuOyAgICAgICAgIFxuICB0aXRsZTogc3RyaW5nOyAgICAgICAgICAgXG4gIHR5cGU6ICd0ZXh0JyB8ICdmYWNzaW1pbGUnOyBcbiAgXG4gIC8vIHRlc3RvXG4gIG9kZD86IHN0cmluZztcbiAgZG9jX2lkPzogc3RyaW5nO1xuICB2aWV3Pzogc3RyaW5nO1xuICB4cGF0aD86IHN0cmluZztcbiAgbWFwRnVuY3Rpb24/OiBzdHJpbmc7XG4gIHNyYz86IHN0cmluZztcblxuXG4gIC8vIGZhY3NpbWlsZVxuICBmYWNzaW1pbGU/OiB7XG4gICAgZW5hYmxlZD86IGJvb2xlYW47XG4gICAgdXJpOiBzdHJpbmc7XG4gICAgc2NhbnM/OiBzdHJpbmdbXTtcbiAgICBvcHRpb25zPzoge1xuICAgICAgaGVpZ2h0Pzogc3RyaW5nO1xuICAgICAgZGVmYXVsdFpvb21MZXZlbD86IG51bWJlcjtcbiAgICAgIHNob3dIb21lQ29udHJvbD86IGJvb2xlYW47XG4gICAgICBzaG93RnVsbFBhZ2VDb250cm9sPzogYm9vbGVhbjtcbiAgICAgIHNob3dSb3RhdGlvbkNvbnRyb2w/OiBib29sZWFuO1xuICAgICAgc2hvd05hdmlnYXRvcj86IGJvb2xlYW47XG4gICAgICBzaG93TmF2aWdhdGlvbkNvbnRyb2w/OiBib29sZWFuO1xuICAgIH07XG4gIH07IFxuXG4gIHBhcmFtcz86IEFycmF5PFxuICB7IG5hbWU6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9XG4gID47XG59XG5cblxuZXhwb3J0IGludGVyZmFjZSBQYXJhbGxlbFRleHRWaWV3ZXJEYXRhIHtcbiAgLypcbiAgICogVEVJIFB1Ymxpc2hlciBzZXJ2ZXIgZW5kcG9pbnRcbiAgICovXG4gIGVuZHBvaW50OiBzdHJpbmc7XG4gIFxuICAvKlxuICAgKiBEb2N1bWVudHMgY29uZmlndXJhdGlvblxuICAgKi9cbiAgZG9jczoge1xuICAgIHhtbDogc3RyaW5nO1xuICAgIGlkOiBzdHJpbmc7ICBcbiAgICB1cmw/OiBzdHJpbmc7XG4gICAgcm9vdFBhdGg/OiBzdHJpbmc7XG4gICAgXG4gIH1bXTtcblxuICBtYWluRG9jOiB7XG4gICAgZG9jX2lkOiBzdHJpbmc7XG4gICAgb2RkOiBzdHJpbmc7XG4gICAgdmlldzogc3RyaW5nO1xuICAgIGNoYW5uZWw/OiBzdHJpbmc7XG4gICAgdHJhbnNsYXRpb24/OiBib29sZWFuO1xuICAgIGRvd25sb2FkPzogc3RyaW5nO1xuICAgIHJvb3RQYXRoPzogc3RyaW5nO1xuICAgIG1hcEZ1bmN0aW9uPzogc3RyaW5nO1xuICAgIHVybD86IHN0cmluZztcbiAgICB4cGF0aD86IHN0cmluZztcbiAgICBkaXNhYmxlSGlzdG9yeT86IGJvb2xlYW47XG4gICAgYXBwYXJhdHVzPzoge1xuICAgICAgbWFwRnVuY3Rpb24/OiBzdHJpbmc7XG4gICAgICByb290UGF0aD86IHN0cmluZztcbiAgICAgIG9kZDogc3RyaW5nO1xuICAgICAgY2hhbm5lbD86IHN0cmluZztcbiAgICAgIHZpZXc6IHN0cmluZztcbiAgICAgIHBhcmFtcz86IHtcbiAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgICB2YWx1ZTogc3RyaW5nO1xuICAgICAgfVtdO1xuICAgICAgc3RhbmRhbG9uZT86IGJvb2xlYW47XG4gICAgfTtcbiAgfTtcblxuICAvKlxuICAgKiBHcmlkIGNvbmZpZ3VyYXRpb24gZm9yIHBhcmFsbGVsIGxheW91dFxuICAgKi9cbiAgZ3JpZD86IHtcbiAgICBpZD86IHN0cmluZztcbiAgICBwYW5lbHM/OiBudW1iZXJbXTsgXG4gICAgc3Vic2NyaWJlPzogc3RyaW5nO1xuICAgIGVtaXQ/OiBzdHJpbmc7XG4gICAgaW5pdGlhbFBhbmVscz86IHN0cmluZztcbiAgICBjb2x1bW5XaWR0aHM/OiBzdHJpbmc7XG4gIH07XG5cbiAgLypcbiAgICogQ29uZmlndXJhemlvbmUgcGFubmVsbGkgc2Vjb25kYXJpXG4gICAqL1xuICAvKlxuICAgKiBBcnJheSBnZW5lcmljbyBwZXIgcGFuZWxzXG4gICAqL1xuICBwYW5lbHM/OiBQYW5lbENvbmZpZ1tdO1xuICAvKlxuICAgKiBET1dOTE9BRCBGSUxFU1xuICAgKi9cbiAgZG93bmxvYWQ/OiB7XG4gICAgbGFiZWw/OiBzdHJpbmc7XG4gICAgZmlsZT86IHN0cmluZztcbiAgICBmb3JtYXQ/OiBzdHJpbmc7XG4gIH07XG4gIC8qXG4gICAqIHNjcm9sbFN5bmMgb3B0aW9uXG4gICAqL1xuICBzY3JvbGxTeW5jPzogYm9vbGVhbjtcbiAgLypcblxuICAvKlxuICAgKiBMQUJFTFMgZm9yIFRPT0xCQVJcbiAgICovXG4gIGxhYmVscz86IHtcbiAgICB2aWV3Pzogc3RyaW5nO1xuICAgIGFkZENvbHVtbj86IHN0cmluZztcbiAgICBzZWxlY3Q/OiB7XG4gICAgICBsYWJlbD86IHN0cmluZztcbiAgICAgIHR5cGU/OiB7XG4gICAgICAgIFtrZXk6IHN0cmluZ106IHN0cmluZztcbiAgICAgIH07XG4gICAgfTtcbiAgICBpbmRleD86IHtcbiAgICAgIHNob3c/OiBzdHJpbmc7XG4gICAgICBoaWRlPzogc3RyaW5nO1xuICAgIH07XG4gICAgdG9jPzogc3RyaW5nO1xuICAgIGxvYWRpbmc/OiBzdHJpbmc7XG4gIH07XG4gIC8qXG4gICAqIHRvZ2dsZSBjb2x1bW5cbiAgICovXG4gIHRvZ2dsZUNvbHVtbj86IGJvb2xlYW47XG4gIFxuICBcblxuICBsaWJPcHRpb25zPzoge1xuICAgIHBiUGFnZT86IHtcbiAgICAgIHVybElnbm9yZT86IHN0cmluZ1tdO1xuICAgIH07XG4gICAgdG9jPzoge1xuICAgICAgZGlzYWJsZT86IGJvb2xlYW47XG4gICAgfTtcbiAgICBncmlkPzoge1xuICAgICAgZGlzYWJsZUFkZENvbHVtbj86IGJvb2xlYW47XG4gICAgfTtcbiAgfTtcblxuXG4gIC8qKlxuICAgKiBhZGRpdGlvbmFsIGh0bWwgY2xhc3Nlc1xuICAgKi9cbiAgY2xhc3Nlcz86IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbjctcGFyYWxsZWwtdGV4dC12aWV3ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFyYWxsZWwtdGV4dC12aWV3ZXIuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFBhcmFsbGVsVGV4dFZpZXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGRhdGE6IFBhcmFsbGVsVGV4dFZpZXdlckRhdGE7XG5cbiAgQElucHV0KCkgZW1pdDogYW55O1xuXG4gIHN0YXRpYyBfbG9hZGVkID0gZmFsc2U7XG5cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIVBhcmFsbGVsVGV4dFZpZXdlckNvbXBvbmVudC5fbG9hZGVkKSB7XG4gICAgICBjb25zdCBzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICBjb25zdCBiYXNlSHJlZiA9IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW47XG4gICAgICBzLnNldEF0dHJpYnV0ZShcbiAgICAgICAgJ3NyYycsIGAke2Jhc2VIcmVmICBcbiAgICAgICAgfS9hc3NldHMvcGItY29tcG9uZW50cy9kaXN0L3BiLWNvbXBvbmVudHMtYnVuZGxlLmpzYFxuICAgICAgKTtcbiAgICAgIHMuc2V0QXR0cmlidXRlKCd0eXBlJywgJ21vZHVsZScpO1xuICAgICAgcy5vbmxvYWQgPSB0aGlzLm9uU2NyaXB0TG9hZGVkO1xuICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzKTtcbiAgICB9XG4gIH1cblxuICBkaXNwbGF5SW5kZXgoKSB7XG4gICAgaWYgKCF0aGlzLmVtaXQpIHJldHVybjtcbiAgICB0aGlzLmVtaXQoJ3RvZ2dsZWNvbHVtbicpO1xuICB9XG5cbiAgb25TY3JpcHRMb2FkZWQoKSB7XG4gICAgUGFyYWxsZWxUZXh0Vmlld2VyQ29tcG9uZW50Ll9sb2FkZWQgPSB0cnVlO1xuICB9XG5cbiAgb25DbGljayhwYXlsb2FkKSB7XG4gICAgaWYgKCF0aGlzLmVtaXQpIHJldHVybjsgICAgIFxuICAgIHRoaXMuZW1pdCgnY2xpY2snLCBwYXlsb2FkKTtcbiAgfVxuXG4gIG9wZW5Eb3dubG9hZChldmVudDogRXZlbnQsIHVybDogc3RyaW5nKSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAodXJsKSB7XG4gICAgICB3aW5kb3cub3Blbih1cmwsICdfYmxhbmsnKTtcbiAgICB9XG4gIH1cbn0iLCI8ZGl2XG4gIGNsYXNzPVwibjctcGFyYWxsZWwtdGV4dC12aWV3ZXIge3tkYXRhPy5jbGFzc2VzIHx8ICcnfX1cIlxuICAqbmdJZj1cImRhdGEgJiYgZGF0YS5lbmRwb2ludFwiXG4+XG4gIDxwYi1wYWdlIFxuICAgIFthdHRyLmVuZHBvaW50XT1cImRhdGEuZW5kcG9pbnRcIiBcbiAgICBhcGktdmVyc2lvbj1cIjEuMC4wXCIgXG4gICAgdXJsLXBhdGg9XCJxdWVyeVwiXG4gICAgW2F0dHIudXJsLWlnbm9yZV09XCJkYXRhLmxpYk9wdGlvbnM/LnBiUGFnZT8udXJsSWdub3JlPy5qb2luKCcsJykgfHwgJ29kZCx2aWV3LHBhdGgsc2VsZWN0b3JzLGhpZ2hsaWdodCx2aWV3MidcIlxuICA+XG4gICAgPCEtLSBQQiBET0NVTUVOVC0tPlxuICAgIDxwYi1kb2N1bWVudFxuICAgICAgKm5nRm9yPVwibGV0IGRvYyBvZiBkYXRhLmRvY3M7IGluZGV4IGFzICRpXCJcbiAgICAgIFthdHRyLnBhdGhdPVwiZG9jLnhtbFwiXG4gICAgICBbYXR0ci5vZGRdPVwiZG9jLm9kZFwiXG4gICAgICBbYXR0ci5pZF09XCJkb2MuaWRcIlxuICAgICAgW2F0dHIudmlld109XCJkb2Mudmlld1wiXG4gICAgICBbYXR0ci5kaXNhYmxlLWhpc3RvcnldPVwiZG9jLmRpc2FibGVIaXN0b3J5ID09PSB0cnVlID8gJycgOiBudWxsXCJcbiAgICAgIFthdHRyLnJvb3QtcGF0aF09XCJkb2Mucm9vdFBhdGhcIlxuICAgID5cbiAgICA8L3BiLWRvY3VtZW50PlxuXG4gICAgPGFwcC1kcmF3ZXItbGF5b3V0IGZvcmNlLW5hcnJvdz1cImZvcmNlLW5hcnJvd1wiIG5hcnJvdz1cIlwiPlxuICAgICAgPGFwcC1oZWFkZXItbGF5b3V0PlxuICAgICAgICA8YXBwLWhlYWRlclxuICAgICAgICAgIGZpeGVkPVwiZml4ZWRcIlxuICAgICAgICAgIGRhdGEtdGVtcGxhdGU9XCJicm93c2U6Zml4LWxpbmtzXCJcbiAgICAgICAgICBzdHlsZT1cIlxuICAgICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMG1zO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTtcbiAgICAgICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgICAgIHJpZ2h0OiAwLjM5OTk5NHB4O1xuICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICA8YXBwLXRvb2xiYXJcbiAgICAgICAgICAgIGNsYXNzPVwidG9vbGJhclwiXG4gICAgICAgICAgICBzdGlja3k9XCJzdGlja3lcIlxuICAgICAgICAgICAgc3R5bGU9XCJ0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8IS0tIFRPQyBidXR0b24gLS0+XG4gICAgICAgICAgICA8cGFwZXItaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgaWQ9XCJ0b2NUb2dnbGVcIlxuICAgICAgICAgICAgICBjbGFzcz1cInRvYy10b2dnbGVcIlxuICAgICAgICAgICAgICBpY29uPVwiaWNvbnM6dmlldy1saXN0XCJcbiAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICAgIGFyaWEtZGlzYWJsZWQ9XCJmYWxzZVwiXG4gICAgICAgICAgICA+PC9wYXBlci1pY29uLWJ1dHRvbj5cblxuICAgICAgICAgICAgPCEtLSBQbGFpbiByZWFkaW5nIHZpZXctLT5cbiAgICAgICAgICAgIDxwYi10b2dnbGUtZmVhdHVyZVxuICAgICAgICAgICAgICAqbmdJZj1cImRhdGEuZG9jcz8ubGVuZ3RoID09PSAxXCJcbiAgICAgICAgICAgICAgbmFtZT1cImhpZ2hsaWdodDFcIlxuICAgICAgICAgICAgICBzZWxlY3Rvcj1cInRlaS1hcHAscGItcG9wb3ZlcixwYi1oaWdobGlnaHQsLnF1b3RlLHBiLWFsdGVybmF0ZVwiXG4gICAgICAgICAgICAgIGRlZmF1bHQ9XCJvZmZcIlxuICAgICAgICAgICAgICBhY3Rpb249XCJkaXNhYmxlXCJcbiAgICAgICAgICAgICAgW2F0dHIuZW1pdF09XCJkYXRhLmdyaWQ/LmVtaXQgfHwgJ3RyYW5zY3JpcHRpb24nXCJcbiAgICAgICAgICAgICAgW2F0dHIuc3Vic2NyaWJlXT1cImRhdGEuZ3JpZD8uc3Vic2NyaWJlIHx8ICd0cmFuc2NyaXB0aW9uJ1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhLmxhYmVscyAmJiBkYXRhLmxhYmVscy52aWV3XCI+XG4gICAgICAgICAgICAgICAge3tkYXRhLmxhYmVscy52aWV3fX1cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZGF0YS5sYWJlbHMgfHwgIWRhdGEubGFiZWxzLnZpZXdcIj5cbiAgICAgICAgICAgICAgICA8cGItaTE4biBrZXk9XCJkb2N1bWVudC5wbGFpblwiPlBsYWluIFJlYWRpbmcgVmlldzwvcGItaTE4bj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L3BiLXRvZ2dsZS1mZWF0dXJlPlxuXG4gICAgICAgICAgICA8IS0tIFpvb20gQ29udHJvbHMgLS0+XG4gICAgICAgICAgICA8cGItem9vbVxuICAgICAgICAgICAgICBbYXR0ci5lbWl0XT1cImRhdGEuZ3JpZD8uZW1pdCB8fCAndHJhbnNjcmlwdGlvbidcIlxuICAgICAgICAgICAgICBkaXJlY3Rpb249XCJpblwiXG4gICAgICAgICAgICAgIGljb249XCJpY29uczp6b29tLWluXCJcbiAgICAgICAgICAgID48L3BiLXpvb20+XG4gICAgICAgICAgICA8cGItem9vbVxuICAgICAgICAgICAgICBbYXR0ci5lbWl0XT1cImRhdGEuZ3JpZD8uZW1pdCB8fCAndHJhbnNjcmlwdGlvbidcIlxuICAgICAgICAgICAgICBkaXJlY3Rpb249XCJvdXRcIlxuICAgICAgICAgICAgICBpY29uPVwiaWNvbnM6em9vbS1vdXRcIlxuICAgICAgICAgICAgPjwvcGItem9vbT5cblxuICAgICAgICAgICAgPCEtLSBOYXZpZ2F0aW9uIENvbnRyb2xzIC0tPlxuICAgICAgICAgICAgPHBiLW5hdmlnYXRpb25cbiAgICAgICAgICAgICAgW2F0dHIuZW1pdF09XCJkYXRhLmdyaWQ/LmVtaXQgfHwgJ3RyYW5zY3JpcHRpb24nXCJcbiAgICAgICAgICAgICAga2V5Ym9hcmQ9XCJsZWZ0XCJcbiAgICAgICAgICAgICAgW2F0dHIuc3Vic2NyaWJlXT1cImRhdGEuZ3JpZD8uc3Vic2NyaWJlIHx8ICd0cmFuc2NyaXB0aW9uJ1wiXG4gICAgICAgICAgICAgIGRpcmVjdGlvbj1cImJhY2t3YXJkXCJcbiAgICAgICAgICAgICAgdW5pdD1cInBhZ2VcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8cGFwZXItaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICBpY29uPVwiaWNvbnM6Y2hldnJvbi1sZWZ0XCJcbiAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgICAgIGFyaWEtZGlzYWJsZWQ9XCJmYWxzZVwiXG4gICAgICAgICAgICAgID48L3BhcGVyLWljb24tYnV0dG9uPlxuICAgICAgICAgICAgPC9wYi1uYXZpZ2F0aW9uPlxuICAgICAgICAgICAgPHBiLW5hdmlnYXRpb25cbiAgICAgICAgICAgICAgW2F0dHIuZW1pdF09XCJkYXRhLmdyaWQ/LmVtaXQgfHwgJ3RyYW5zY3JpcHRpb24nXCJcbiAgICAgICAgICAgICAga2V5Ym9hcmQ9XCJyaWdodFwiXG4gICAgICAgICAgICAgIFthdHRyLnN1YnNjcmliZV09XCJkYXRhLmdyaWQ/LnN1YnNjcmliZSB8fCAndHJhbnNjcmlwdGlvbidcIlxuICAgICAgICAgICAgICBkaXJlY3Rpb249XCJmb3J3YXJkXCJcbiAgICAgICAgICAgICAgdW5pdD1cInBhZ2VcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8cGFwZXItaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICBpY29uPVwiaWNvbnM6Y2hldnJvbi1yaWdodFwiXG4gICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgICAgICBhcmlhLWRpc2FibGVkPVwiZmFsc2VcIlxuICAgICAgICAgICAgICA+PC9wYXBlci1pY29uLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvcGItbmF2aWdhdGlvbj5cblxuICAgICAgICAgICAgPCEtLSBQdWxzYW50ZSBhZ2dpdW5naSBwYW5uZWxsbyAtLT5cbiAgICAgICAgICAgIDxwYi1ncmlkLWFjdGlvbiBcbiAgICAgICAgICAgICAgKm5nSWY9XCIhZGF0YS5saWJPcHRpb25zPy5ncmlkPy5kaXNhYmxlQWRkQ29sdW1uXCJcbiAgICAgICAgICAgICAgYWN0aW9uPVwiYWRkXCIgXG4gICAgICAgICAgICAgIGNsYXNzPVwiZ3JpZC1hZGRcIiBcbiAgICAgICAgICAgICAgW2F0dHIuZ3JpZF09XCInIycgKyAoZGF0YS5ncmlkPy5pZCB8fCAnZ3JpZCcpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHBhcGVyLWJ1dHRvbiBcbiAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCIgXG4gICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCIgXG4gICAgICAgICAgICAgICAgYW5pbWF0ZWQ9XCJcIiBcbiAgICAgICAgICAgICAgICBlbGV2YXRpb249XCIwXCIgXG4gICAgICAgICAgICAgICAgYXJpYS1kaXNhYmxlZD1cImZhbHNlXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpcm9uLWljb24gaWNvbj1cImljb25zOmFkZFwiPjwvaXJvbi1pY29uPiBcbiAgICAgICAgICAgICAgICB7eyBkYXRhLmxhYmVscz8uYWRkQ29sdW1uIHx8ICdBZ2dpdW5naSBjb2xvbm5hJyB9fVxuICAgICAgICAgICAgICA8L3BhcGVyLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvcGItZ3JpZC1hY3Rpb24+XG5cbiAgICAgICAgICAgIDwhLS0gUHVsc2FudGUgZG93bmxvYWQgLS0+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YS5kb3dubG9hZFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibjctcGFyYWxsZWwtdGV4dC12aWV3ZXJfX3Rvb2xiYXItY29udGFpbmVyLWZsZXhcIj5cbiAgICAgICAgICAgICAgICA8cGItZG93bmxvYWRcbiAgICAgICAgICAgICAgICAgIFt0eXBlXT1cImRhdGEuZG93bmxvYWQuZm9ybWF0IHx8ICcnXCJcbiAgICAgICAgICAgICAgICAgIFtzcmNdPVwiZGF0YS5kb2NzWzBdLmlkXCJcbiAgICAgICAgICAgICAgICAgIFt1cmxdPVwiZGF0YS5kb3dubG9hZC5maWxlIHx8ICcnXCJcbiAgICAgICAgICAgICAgICAgIGRpYWxvZz1cImRvd25sb2FkRGlhbG9nXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuRG93bmxvYWQoJGV2ZW50LCBkYXRhLmRvd25sb2FkLmZpbGUpXCJcbiAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJkYXRhLmRvd25sb2FkLmxhYmVsICYmIGRhdGEuZG93bmxvYWQuZm9ybWF0ID8gZGF0YS5kb3dubG9hZC5sYWJlbCArICcgJyArIGRhdGEuZG93bmxvYWQuZm9ybWF0IDogJydcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxwYXBlci1idXR0b24gcmFpc2VkPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7ZGF0YS5kb3dubG9hZC5sYWJlbCAmJiBkYXRhLmRvd25sb2FkLmZvcm1hdCA/IGRhdGEuZG93bmxvYWQubGFiZWwgKyAnICcgKyBkYXRhLmRvd25sb2FkLmZvcm1hdCA6ICdEb3dubG9hZCd9fVxuICAgICAgICAgICAgICAgICAgPC9wYXBlci1idXR0b24+XG4gICAgICAgICAgICAgICAgPC9wYi1kb3dubG9hZD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPHBiLXByb2dyZXNzXG4gICAgICAgICAgICAgIFthdHRyLnN1YnNjcmliZV09XCJkYXRhLmdyaWQ/LnN1YnNjcmliZSB8fCAndHJhbnNjcmlwdGlvbidcIlxuICAgICAgICAgICAgICBpbmRldGVybWluYXRlPVwiXCJcbiAgICAgICAgICAgICAgYm90dG9tLWl0ZW09XCJib3R0b20taXRlbVwiXG4gICAgICAgICAgICAgIHN0eWxlPVwidmlzaWJpbGl0eTogaGlkZGVuXCJcbiAgICAgICAgICAgID48L3BiLXByb2dyZXNzPlxuICAgICAgICAgIDwvYXBwLXRvb2xiYXI+XG4gICAgICAgIDwvYXBwLWhlYWRlcj5cblxuICAgICAgICA8IS0tIE1haW4gQ29udGVudCB3aXRoIFBhcmFsbGVsIEdyaWQgLS0+XG4gICAgICAgIDxtYWluIGNsYXNzPVwiY29udGVudC1ib2R5XCI+XG4gICAgICAgICAgPHBiLWdyaWQgXG4gICAgICAgICAgICBbaWRdPVwiZGF0YS5ncmlkPy5pZCB8fCAnZ3JpZCdcIlxuICAgICAgICAgICAgW2F0dHIucGFuZWxzXT1cImRhdGEuZ3JpZD8ucGFuZWxzID8gJ1snICsgZGF0YS5ncmlkLnBhbmVscy5qb2luKCcsJykgKyAnXScgOiAnWzBdJ1wiXG4gICAgICAgICAgICBbYXR0ci5zdWJzY3JpYmVdPVwiZGF0YS5ncmlkPy5zdWJzY3JpYmUgfHwgJ3RyYW5zY3JpcHRpb24nXCJcbiAgICAgICAgICAgIFthdHRyLmVtaXRdPVwiZGF0YS5ncmlkPy5lbWl0IHx8ICd0cmFuc2NyaXB0aW9uJ1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPCEtLSBNYWluIHBiLS0+XG4gICAgICAgICAgICA8cGItdmlldyBcbiAgICAgICAgICAgICAgaWQ9XCJ0cmFuc2NyaXB0aW9uLXZpZXdcIlxuICAgICAgICAgICAgICBbYXR0ci5zcmNdPVwiZGF0YS5tYWluRG9jLmRvY19pZCB8fCBkYXRhLmRvY3NbMF0uaWRcIlxuICAgICAgICAgICAgICBbYXR0ci5lbWl0XT1cImRhdGEuZ3JpZD8uZW1pdCB8fCAndHJhbnNjcmlwdGlvbidcIlxuICAgICAgICAgICAgICBbYXR0ci5zdWJzY3JpYmVdPVwiZGF0YS5ncmlkPy5zdWJzY3JpYmUgfHwgJ3RyYW5zY3JpcHRpb24nXCJcbiAgICAgICAgICAgICAgW2F0dHIub2RkXT1cImRhdGEubWFpbkRvYy5vZGRcIlxuICAgICAgICAgICAgICBbYXR0ci52aWV3XT1cImRhdGEubWFpbkRvYy52aWV3XCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAgIFthdHRyLnVybF09XCJkYXRhLm1haW5Eb2Mucm9vdFBhdGhcIlxuICAgICAgICAgICAgICBhcHBlbmQtZm9vdG5vdGVzPVwiYXBwZW5kLWZvb3Rub3Rlc1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8IS0tIFBhcmFtIHBlciByaWNlcmNhIGF2YW56YXRhIC0tPlxuICAgICAgICAgICAgPHBiLXBhcmFtXG4gICAgICAgICAgICAqbmdJZj1cImRhdGEubWFpbkRvYy51cmxcIlxuICAgICAgICAgICAgbmFtZT1cInVybFwiXG4gICAgICAgICAgICBbYXR0ci52YWx1ZV09XCJkYXRhLm1haW5Eb2MudXJsXCJcbiAgICAgICAgICA+PC9wYi1wYXJhbT5cbiAgICAgICAgICAgIDwvcGItdmlldz5cblxuICAgICAgICAgICAgPCEtLSBUZW1wbGF0ZSAtLT5cbiAgICAgICAgICAgIDx0ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPHBiLXBhbmVsIFthdHRyLmVtaXRdPVwiZGF0YS5ncmlkPy5lbWl0IHx8ICd0cmFuc2NyaXB0aW9uJ1wiPlxuICAgICAgICAgICAgICAgIDwhLS0gUmltb3ppb25lIGNvbG9ubmEgLS0+XG4gICAgICAgICAgICAgICAgPHBiLWdyaWQtYWN0aW9uIFxuICAgICAgICAgICAgICAgICAgW2F0dHIuZ3JpZF09XCInIycgKyAoZGF0YS5ncmlkPy5pZCB8fCAnZ3JpZCcpXCIgXG4gICAgICAgICAgICAgICAgICBzbG90PVwidG9vbGJhclwiIFxuICAgICAgICAgICAgICAgICAgYWN0aW9uPVwicmVtb3ZlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8cGFwZXItaWNvbi1idXR0b24gaWNvbj1cImljb25zOmNsb3NlXCI+PC9wYXBlci1pY29uLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L3BiLWdyaWQtYWN0aW9uPlxuXG4gICAgICAgICAgICAgICAgPCEtLSBQYW5uZWxsaSBzZWNvbmRhcmkgLS0+XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcGFuZWwgb2YgZGF0YS5wYW5lbHNcIj5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwYW5lbC5lbmFibGVkXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInBhbmVsLnR5cGVcIj5cblxuICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid0ZXh0J1wiPlxuICAgICAgICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZSBbYXR0ci50aXRsZV09XCJwYW5lbC50aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxwYi12aWV3IFxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuaWRdPVwicGFuZWwuaWQgKyAnLXZpZXcnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnNyY109XCJwYW5lbC5kb2NfaWQgfHwgZGF0YS5kb2NzWzBdLmlkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLm9kZF09XCJwYW5lbC5vZGRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIudmlld109XCJwYW5lbC52aWV3IHx8ICdzaW5nbGUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnhwYXRoXT1cInBhbmVsLnhwYXRoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLm1hcF09XCJwYW5lbC5tYXBGdW5jdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdWJzY3JpYmVdPVwiZGF0YS5ncmlkPy5zdWJzY3JpYmUgfHwgJ3RyYW5zY3JpcHRpb24nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIudXJsXT1cImRhdGEubWFpbkRvYy5yb290UGF0aFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlLWhpc3Rvcnk9XCJcIlxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYi1wYXJhbSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHBhcmFtIG9mIHBhbmVsLnBhcmFtcyB8fCBbXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLm5hbWVdPVwicGFyYW0ubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnZhbHVlXT1cInBhcmFtLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L3BiLXBhcmFtPlxuICAgICAgICAgICAgICAgICAgICAgIDwvcGItdmlldz5cbiAgICAgICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZmFjc2ltaWxlJ1wiPlxuICAgICAgICAgICAgICAgICAgICA8dGVtcGxhdGUgW2F0dHIudGl0bGVdPVwicGFuZWwudGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8cGItZmFjc2ltaWxlXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJwYW5lbC5mYWNzaW1pbGU/LmVuYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmJhc2UtdXJpXT1cInBhbmVsLmZhY3NpbWlsZS51cmlcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN1YnNjcmliZV09XCJkYXRhLmdyaWQ/LnN1YnNjcmliZSB8fCAndHJhbnNjcmlwdGlvbidcIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicGItZmFjc2ltaWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuaGVpZ2h0XT1cInBhbmVsLmZhY3NpbWlsZS5vcHRpb25zPy5oZWlnaHQgfHwgJzYwMHB4J1wiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGVmYXVsdC16b29tLWxldmVsXT1cInBhbmVsLmZhY3NpbWlsZS5vcHRpb25zPy5kZWZhdWx0Wm9vbUxldmVsIHx8IDBcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnNob3ctbmF2aWdhdG9yXT1cInBhbmVsLmZhY3NpbWlsZS5vcHRpb25zPy5zaG93TmF2aWdhdG9yID8gJ3Nob3ctbmF2aWdhdG9yJyA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnNob3ctbmF2aWdhdGlvbi1jb250cm9sXT1cInBhbmVsLmZhY3NpbWlsZS5vcHRpb25zPy5zaG93TmF2aWdhdGlvbkNvbnRyb2wgPyAnc2hvdy1uYXZpZ2F0aW9uLWNvbnRyb2wnIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc2hvdy1ob21lLWNvbnRyb2xdPVwicGFuZWwuZmFjc2ltaWxlLm9wdGlvbnM/LnNob3dIb21lQ29udHJvbCA/ICdzaG93LWhvbWUtY29udHJvbCcgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zaG93LXJvdGF0aW9uLWNvbnRyb2xdPVwicGFuZWwuZmFjc2ltaWxlLm9wdGlvbnM/LnNob3dSb3RhdGlvbkNvbnRyb2wgPyAnc2hvdy1yb3RhdGlvbi1jb250cm9sJyA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnNob3ctZnVsbC1wYWdlLWNvbnRyb2xdPVwicGFuZWwuZmFjc2ltaWxlLm9wdGlvbnM/LnNob3dGdWxsUGFnZUNvbnRyb2wgPyAnc2hvdy1mdWxsLXBhZ2UtY29udHJvbCcgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICBbc2NhbnNdPVwicGFuZWwuZmFjc2ltaWxlLnNjYW5zXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L3BiLWZhY3NpbWlsZT5cbiAgICAgICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgPC9wYi1wYW5lbD5cbiAgICAgICAgICAgIDwvdGVtcGxhdGU+XG4gICAgICAgICAgPC9wYi1ncmlkPlxuICAgICAgICA8L21haW4+XG5cbiAgICAgICAgPCEtLSBUT0MgRHJhd2VyIC0tPlxuICAgICAgICA8cGItZHJhd2VyXG4gICAgICAgICAgdG9nZ2xlPVwidG9jVG9nZ2xlXCJcbiAgICAgICAgICBjbGFzcz1cInRvY0RyYXdlclwiXG4gICAgICAgICAgZW1pdD1cInRvY1wiXG4gICAgICAgICAgW2F0dHIuc3Vic2NyaWJlXT1cImRhdGEuZ3JpZD8uc3Vic2NyaWJlIHx8ICd0cmFuc2NyaXB0aW9uJ1wiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJhd2VyLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxoMz5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGEubGFiZWxzICYmIGRhdGEubGFiZWxzLnRvY1wiPlxuICAgICAgICAgICAgICAgIHt7ZGF0YS5sYWJlbHMudG9jfX1cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZGF0YS5sYWJlbHMgfHwgIWRhdGEubGFiZWxzLnRvY1wiPlxuICAgICAgICAgICAgICAgIDxwYi1pMThuIGtleT1cImRvY3VtZW50LmNvbnRlbnRzXCI+Q29udGVudHM8L3BiLWkxOG4+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9oMz5cbiAgICAgICAgICAgIDxwYi1sb2FkXG4gICAgICAgICAgICAgICpuZ0lmPVwiZGF0YS5kb2NzICYmIGRhdGEuZG9jcy5sZW5ndGggPiAwICYmICFkYXRhLmxpYk9wdGlvbnM/LnRvYz8uZGlzYWJsZVwiXG4gICAgICAgICAgICAgIGlkPVwidG9jXCJcbiAgICAgICAgICAgICAgW2F0dHIudXJsXT1cImRhdGEubWFpbkRvYy5yb290UGF0aCA/IChkYXRhLm1haW5Eb2Mucm9vdFBhdGggKyAnLycgKyBkYXRhLm1haW5Eb2MuZG9jX2lkICsgJy9jb250ZW50cz90YXJnZXQ9dHJhbnNjcmlwdGlvbiZpY29ucz10cnVlJykgOiAnYXBpL2RvY3VtZW50L3tkb2N9L2NvbnRlbnRzP3RhcmdldD10cmFuc2NyaXB0aW9uJmljb25zPXRydWUnXCJcbiAgICAgICAgICAgICAgW2F0dHIuc3JjXT1cImRhdGEubWFpbkRvYy5kb2NfaWRcIlxuICAgICAgICAgICAgICBzdWJzY3JpYmU9XCJ0b2NcIlxuICAgICAgICAgICAgICBlbWl0PVwidG9jXCJcbiAgICAgICAgICAgICAgZXhwYW5kPVwiZXhwYW5kXCJcbiAgICAgICAgICAgICAgYXV0bz1cImF1dG9cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YS5sYWJlbHMgJiYgZGF0YS5sYWJlbHMubG9hZGluZ1wiPlxuICAgICAgICAgICAgICAgIHt7ZGF0YS5sYWJlbHMubG9hZGluZ319XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWRhdGEubGFiZWxzIHx8ICFkYXRhLmxhYmVscy5sb2FkaW5nXCI+XG4gICAgICAgICAgICAgICAgPHBiLWkxOG4ga2V5PVwiZGlhbG9ncy5sb2FkaW5nXCI+TG9hZGluZzwvcGItaTE4bj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L3BiLWxvYWQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvcGItZHJhd2VyPlxuICAgICAgPC9hcHAtaGVhZGVyLWxheW91dD5cbiAgICA8L2FwcC1kcmF3ZXItbGF5b3V0PlxuICA8L3BiLXBhZ2U+XG48L2Rpdj5cblxuIl19
|