@arsedizioni/ars-utils 18.3.27 → 18.3.28

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.
@@ -63,6 +63,8 @@ export class ClipperSearchResultItemComponent {
63
63
  }
64
64
  }
65
65
  });
66
+ console.log(this.item().model + " - " + this.item().title1);
67
+ console.log(this.canBeRead());
66
68
  }
67
69
  onContextMenu(event, item) {
68
70
  event.preventDefault();
@@ -92,8 +94,6 @@ export class ClipperSearchResultItemComponent {
92
94
  * @returns true if current item can be read
93
95
  */
94
96
  canBeRead() {
95
- console.log(this.item().model);
96
- console.log(this.item().modelName);
97
97
  return this.isReadable() && ClipperUtils.isClipperModelReadable(this.item().model) && this.item().isRead !== true;
98
98
  }
99
99
  ;
@@ -116,4 +116,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
116
116
  type: ViewChild,
117
117
  args: ['contextMenuTrigger']
118
118
  }] } });
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fycy11dGlscy9jbGlwcGVyLnVpL3VpL3NlYXJjaC1yZXN1bHQtaXRlbS9zZWFyY2gtcmVzdWx0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJzLXV0aWxzL2NsaXBwZXIudWkvdWkvc2VhcmNoLXJlc3VsdC1pdGVtL3NlYXJjaC1yZXN1bHQtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBVyxhQUFhLEVBQWtCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUF1QixlQUFlLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3pILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7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QyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQztJQUNwSCxDQUFDO0lBQUEsQ0FBQzs4R0E1RU8sZ0NBQWdDO2tHQUFoQyxnQ0FBZ0MsMDZDQ3JDN0MseWxTQStNTSxvdlNEcExGLE9BQU8sbUZBQ1AsaUJBQWlCLG9ZQUNqQixlQUFlLDJJQUNmLGdCQUFnQiw0VEFDaEIsYUFBYSxtTEFDYixhQUFhLG9WQUNiLGdCQUFnQiw4aEhBQ2hCLFVBQVU7OzJGQUdELGdDQUFnQztrQkFqQjVDLFNBQVM7c0NBQ1MsdUJBQXVCLENBQUMsTUFBTSxZQUNyQyw0QkFBNEIsY0FHMUIsSUFBSSxXQUNQO3dCQUNQLE9BQU87d0JBQ1AsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsVUFBVTtxQkFDWDs4QkFJZ0Msa0JBQWtCO3NCQUFsRCxTQUFTO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgaW5qZWN0LCBpbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0TWVudSwgTWF0TWVudU1vZHVsZSwgTWF0TWVudVRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBDbGlwcGVyRG9jdW1lbnRJbmZvLCBDbGlwcGVyTWVzc2FnZXMsIENsaXBwZXJNb2RlbCwgQ2xpcHBlclV0aWxzIH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy9jbGlwcGVyLmNvbW1vbic7XHJcbmltcG9ydCB7IEJyb2FkY2FzdFNlcnZpY2UsIEZvcm1hdFBpcGUsIFNjcmVlblNlcnZpY2UgfSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL2NvcmUnO1xyXG5pbXBvcnQgeyBGbGV4TGF5b3V0TW9kdWxlIH0gZnJvbSAnQG5nYnJhY2tldC9uZ3gtbGF5b3V0JztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENsaXBwZXJTZWFyY2hSZXN1bHRNYW5hZ2VyIH0gZnJvbSAnLi4vc2VhcmNoLXJlc3VsdC1tYW5hZ2VyL3NlYXJjaC1yZXN1bHQtbWFuYWdlcic7XHJcblxyXG5cclxuZXhwb3J0IGVudW0gQ2xpcHBlclNlYXJjaFJlc3VsdEl0ZW1EaXNwbGF5TW9kZSB7XHJcbiAgTGlzdCA9IDEsXHJcbiAgVGlsZSA9IDJcclxufVxyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHNlbGVjdG9yOiAnY2xpcHBlci1zZWFyY2gtcmVzdWx0LWl0ZW0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtcmVzdWx0LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC1yZXN1bHQtaXRlbS5jb21wb25lbnQuc2NzcyddLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTmdDbGFzcyxcclxuICAgIE1hdENoZWNrYm94TW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRNZW51TW9kdWxlLFxyXG4gICAgRmxleExheW91dE1vZHVsZSxcclxuICAgIEZvcm1hdFBpcGVcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2xpcHBlclNlYXJjaFJlc3VsdEl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBAVmlld0NoaWxkKCdjb250ZXh0TWVudVRyaWdnZXInKSBjb250ZXh0TWVudVRyaWdnZXIhOiBNYXRNZW51VHJpZ2dlcjtcclxuICBwcml2YXRlIHVuc3Vic2NyaWJlOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcm90ZWN0ZWQgc2NyZWVuU2VydmljZSA9IGluamVjdChTY3JlZW5TZXJ2aWNlKTtcclxuICBwcm90ZWN0ZWQgYnJvYWRjYXN0U2VydmljZSA9IGluamVjdChCcm9hZGNhc3RTZXJ2aWNlKTtcclxuICBwcml2YXRlIGNoYW5nZURldGVjdG9yID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcclxuICBwYXJlbnQgPSBpbnB1dC5yZXF1aXJlZDxDbGlwcGVyU2VhcmNoUmVzdWx0TWFuYWdlcj4oKTtcclxuICBpdGVtID0gaW5wdXQucmVxdWlyZWQ8Q2xpcHBlckRvY3VtZW50SW5mbz4oKTtcclxuICBhY3Rpb25zID0gaW5wdXQucmVxdWlyZWQ8TWF0TWVudT4oKTtcclxuICB0aWxlTm9QaWN0dXJlVXJsID0gaW5wdXQ8c3RyaW5nPigpO1xyXG4gIHRpbGVQaWN0dXJlVXJsID0gaW5wdXQ8c3RyaW5nPigpO1xyXG4gIGlzU2VsZWN0YWJsZSA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xyXG4gIGlzUmVhZGFibGUgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcclxuICBkaXNwbGF5TW9kZWxOYW1lID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIGRpc3BsYXlNb2RlID0gaW5wdXQ8Q2xpcHBlclNlYXJjaFJlc3VsdEl0ZW1EaXNwbGF5TW9kZT4oQ2xpcHBlclNlYXJjaFJlc3VsdEl0ZW1EaXNwbGF5TW9kZS5MaXN0KTtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGlzcGxheU1vZGVzRW51bTogdHlwZW9mIENsaXBwZXJTZWFyY2hSZXN1bHRJdGVtRGlzcGxheU1vZGUgPSBDbGlwcGVyU2VhcmNoUmVzdWx0SXRlbURpc3BsYXlNb2RlO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBtb2RlbHNFbnVtOiB0eXBlb2YgQ2xpcHBlck1vZGVsID0gQ2xpcHBlck1vZGVsO1xyXG4gIHByb3RlY3RlZCBjb250ZXh0TWVudVBvc2l0aW9uID0geyB4OiAnMHB4JywgeTogJzBweCcgfTtcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnBhcmVudCgpPy5zZWxlY3Rpb24/LmNoYW5nZWRcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAvLyBSZWFjdCB0byBtZXNzYWdlIGJyb2FkY2FzdGluZ1xyXG4gICAgdGhpcy5icm9hZGNhc3RTZXJ2aWNlLmdldE1lc3NhZ2UoKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSkpXHJcbiAgICAgIC5zdWJzY3JpYmUobWVzc2FnZSA9PiB7XHJcbiAgICAgICAgaWYgKG1lc3NhZ2UuaWQgPT09IENsaXBwZXJNZXNzYWdlcy5ET0NVTUVOVF9OQVZJR0FURUQpIHtcclxuICAgICAgICAgIGlmICh0aGlzLmlzUmVhZGFibGUoKSAmJiB0aGlzLml0ZW0oKS5kb2N1bWVudElkID09PSBtZXNzYWdlLmRhdGEuZG9jdW1lbnQuZG9jdW1lbnRJZCAmJiAhdGhpcy5pdGVtKCkuaXNSZWFkKSB7XHJcbiAgICAgICAgICAgIHRoaXMucGFyZW50KCk/LnNldFJlYWQodHJ1ZSwgdGhpcy5pdGVtKCkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSBpZiAobWVzc2FnZS5pZCA9PT0gQ2xpcHBlck1lc3NhZ2VzLkRPQ1VNRU5UX1JFQUQpIHtcclxuICAgICAgICAgIGlmICh0aGlzLmlzUmVhZGFibGUoKSAmJiB0aGlzLml0ZW0oKS5kb2N1bWVudElkID09PSBtZXNzYWdlLmRhdGEuZG9jdW1lbnQuZG9jdW1lbnRJZCkge1xyXG4gICAgICAgICAgICB0aGlzLml0ZW0oKS5pc1JlYWQgPSBtZXNzYWdlLmRhdGEudmFsdWU7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uQ29udGV4dE1lbnUoZXZlbnQ6IE1vdXNlRXZlbnQsIGl0ZW06IENsaXBwZXJEb2N1bWVudEluZm8pIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB0aGlzLmNvbnRleHRNZW51UG9zaXRpb24ueCA9IGV2ZW50LmNsaWVudFggKyAncHgnO1xyXG4gICAgdGhpcy5jb250ZXh0TWVudVBvc2l0aW9uLnkgPSBldmVudC5jbGllbnRZICsgJ3B4JztcclxuICAgIHRoaXMuY29udGV4dE1lbnVUcmlnZ2VyLm1lbnVEYXRhID0geyBpdGVtOiBpdGVtIH07XHJcbiAgICB0aGlzLmNvbnRleHRNZW51VHJpZ2dlci5vcGVuTWVudSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2tzIGlmIGN1cnJlbnQgaXRlbSBpcyBzZWxlY3RlZFxyXG4gICAqIEByZXR1cm5zIHRydWUgaWYgY3VycmVudCBpdGVtIGlzIHNlbGVjdGVkXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGlzU2VsZWN0ZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pc1NlbGVjdGFibGUoKSAmJiB0aGlzLnBhcmVudCgpPy5zZWxlY3Rpb24/LmlzU2VsZWN0ZWQodGhpcy5pdGVtKCkuZG9jdW1lbnRJZCk7XHJcbiAgfTtcclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2tzIGlmIGN1cnJlbnQgaXRlbSBpcyByZWFkXHJcbiAgICogQHJldHVybnMgdHJ1ZSBpZiBjdXJyZW50IGl0ZW0gaXMgcmVhZFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBpc1JlYWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pc1JlYWRhYmxlKCkgJiYgQ2xpcHBlclV0aWxzLmlzQ2xpcHBlck1vZGVsUmVhZGFibGUodGhpcy5pdGVtKCkubW9kZWwpICYmIHRoaXMuaXRlbSgpLmlzUmVhZCA9PT0gdHJ1ZTtcclxuICB9O1xyXG5cclxuICAgIC8qKlxyXG4gICAqIENoZWNrcyBpZiBjdXJyZW50IGl0ZW0gY2FuIGJlIHJlYWRcclxuICAgKiBAcmV0dXJucyB0cnVlIGlmIGN1cnJlbnQgaXRlbSBjYW4gYmUgcmVhZFxyXG4gICAqL1xyXG4gICAgcHJvdGVjdGVkIGNhbkJlUmVhZCgpOiBib29sZWFuIHtcclxuICAgICAgY29uc29sZS5sb2codGhpcy5pdGVtKCkubW9kZWwpO1xyXG4gICAgICBjb25zb2xlLmxvZyh0aGlzLml0ZW0oKS5tb2RlbE5hbWUpO1xyXG4gICAgICByZXR1cm4gdGhpcy5pc1JlYWRhYmxlKCkgJiYgQ2xpcHBlclV0aWxzLmlzQ2xpcHBlck1vZGVsUmVhZGFibGUodGhpcy5pdGVtKCkubW9kZWwpICYmIHRoaXMuaXRlbSgpLmlzUmVhZCAhPT0gdHJ1ZTtcclxuICAgIH07XHJcbiAgXHJcblxyXG59XHJcbiIsIjxkaXY+XHJcbiAgQGlmIChkaXNwbGF5TW9kZSgpID09PSBkaXNwbGF5TW9kZXNFbnVtLkxpc3QgKSB7XHJcbiAgPGRpdiBjbGFzcz1cIml0ZW1cIiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0R2FwPVwiNnB4XCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiIGZ4RmlsbFxyXG4gICAgW25nQ2xhc3NdPVwieydpdGVtLXNlbGVjdGVkJzogaXNTZWxlY3RlZCgpIH1cIiAoY29udGV4dG1lbnUpPVwib25Db250ZXh0TWVudSgkZXZlbnQsIGl0ZW0oKSlcIlxyXG4gICAgKG1vdXNlZW50ZXIpPVwiaXRlbSgpLmlzT3ZlciA9IHRydWVcIiAobW91c2VsZWF2ZSk9XCJpdGVtKCkuaXNPdmVyID0gZmFsc2VcIj5cclxuICAgIDxkaXYgZnhGbGV4PVwiNnB4XCIgZnhGbGV4QWxpZ249XCJzdHJldGNoXCIgW25nQ2xhc3NdPVwicGFyZW50KCkuZ2V0SXRlbVN0YXRlQ3NzQ2xhc3MoaXRlbSgpKVwiXHJcbiAgICAgIFttYXRUb29sdGlwXT1cInBhcmVudCgpLmdldEl0ZW1TdGF0ZVRvb2x0aXAoaXRlbSgpKVwiPjxzcGFuPjwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBbZnhGbGV4XT1cImlzU2VsZWN0YWJsZSgpID8gJzQ4cHgnIDogJzE4cHgnXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlclwiPlxyXG4gICAgICBAaWYgKGlzU2VsZWN0YWJsZSgpICYmIChzY3JlZW5TZXJ2aWNlLmlzVG91Y2hhYmxlIHx8IGl0ZW0oKS5pc092ZXIgfHwgaXNTZWxlY3RlZCgpKSkge1xyXG4gICAgICA8bWF0LWNoZWNrYm94IChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxyXG4gICAgICAgIChjaGFuZ2UpPVwiJGV2ZW50ID8gcGFyZW50KCkuc2VsZWN0aW9uPy50b2dnbGUoaXRlbSgpLCBpdGVtKCkuZG9jdW1lbnRJZCkgOiBudWxsXCIgW2NoZWNrZWRdPVwiaXNTZWxlY3RlZCgpXCI+XHJcbiAgICAgIDwvbWF0LWNoZWNrYm94PlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgZnhGbGV4PVwiKlwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaXRlbS1jb250ZW50XCI+XHJcbiAgICAgICAgQGlmIChkaXNwbGF5TW9kZWxOYW1lKCkgJiYgaXRlbSgpLm1vZGVsTmFtZSkge1xyXG4gICAgICAgIEBpZiAoaXRlbSgpLm9yaWdpbiA9PT0gJ0dDJyB8fCBpdGVtKCkub3JpZ2luID09PSAnR04nKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImluZm8tMlwiPkdJVVJJU1BSVURFTlpBPC9kaXY+XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImluZm8tMlwiPnt7aXRlbSgpLm1vZGVsTmFtZX19PC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGlmIChpdGVtKCkuaW5mbyAmJiBpdGVtKCkubW9kZWwgPT09IG1vZGVsc0VudW0uUXVlc2l0aSkge1xyXG4gICAgICAgIEBpZihpdGVtKCkuaW5mbykge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLTFcIj57e2l0ZW0oKS5pbmZvfX08L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgfUBlbHNlIGlmKGl0ZW0oKS5tb2RlbCA9PT0gbW9kZWxzRW51bS5Ob3JtYXRpdmFWaWdlbnRlIHx8XHJcbiAgICAgICAgaXRlbSgpLm1vZGVsID09PSBtb2RlbHNFbnVtLkFnZ2lvcm5hbWVudG9Ob3JtYXRpdm8gfHxcclxuICAgICAgICBpdGVtKCkubW9kZWwgPT09IG1vZGVsc0VudW0uR2l1cmlzcHJ1ZGVuemFSZWNlbnRlIHx8XHJcbiAgICAgICAgaXRlbSgpLm1vZGVsID09PSBtb2RlbHNFbnVtLkp1cmlzKSB7XHJcbiAgICAgICAgQGlmIChpdGVtKCkuYXV0aG9yICYmIChpdGVtKCkub3JpZ2luID09PSAnTFInIHx8IGl0ZW0oKS5vcmlnaW4gPT09ICdHQycgfHwgaXRlbSgpLm9yaWdpblxyXG4gICAgICAgID09PSAnR04nKSkge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLTFcIj57e2l0ZW0oKS5hdXRob3J9fTwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICB9QGVsc2UgaWYgKGl0ZW0oKS5kYXRlKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImluZm8tMVwiPnt7aXRlbSgpLmRhdGUgfCBmb3JtYXQ6J0QnOidkIE1NTSB5eXl5J319PC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDxkaXY+XHJcbiAgICAgICAgICA8YSBjbGFzcz1cImxpbmtcIiAoY2xpY2spPVwicGFyZW50KCkub3BlbihpdGVtKCkuZG9jdW1lbnRJZClcIlxyXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBcHJpIGRvY3VtZW50byAnICsgaXRlbSgpLnRpdGxlMVwiPnt7aXRlbSgpLnRpdGxlMSA/PyBpdGVtKCkudGl0bGUyfX08L2E+XHJcbiAgICAgICAgICBAaWYgKGl0ZW0oKS5wYXJ0ID4gMCkge1xyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZVwiPlBBUlRFIHt7aXRlbSgpLnBhcnR9fTwvc3Bhbj5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIEBpZiAoaXRlbSgpLmlzQ29tbWVudGVkKSB7XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlXCI+Q09NTUVOVEFUQTwvc3Bhbj5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIEBpZiAoaXRlbSgpLnZhbGlkaXR5U3RhdGUgPiAwKSB7XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlLXJlZFwiPnt7aXRlbSgpLnZhbGlkaXR5RGVzY3JpcHRpb259fTwvc3Bhbj5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICBAaWYoaXRlbSgpLmRlc2NyaXB0aW9uICYmIGl0ZW0oKS5tb2RlbCA9PT0gbW9kZWxzRW51bS5Db29yZGluYW1lbnRvKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+e3tpdGVtKCkuZGVzY3JpcHRpb259fTwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKGl0ZW0oKS50aXRsZTIgJiZcclxuICAgICAgICBpdGVtKCkubW9kZWwgIT09IG1vZGVsc0VudW0uQ29vcmRpbmFtZW50byAmJlxyXG4gICAgICAgIGl0ZW0oKS5tb2RlbCAhPT0gbW9kZWxzRW51bS5BbGxlcnRlQWxpbWVudGFyaSAmJlxyXG4gICAgICAgIGl0ZW0oKS5tb2RlbCAhPT0gbW9kZWxzRW51bS5TY2FkZW56ZSAmJlxyXG4gICAgICAgIGl0ZW0oKS5tb2RlbCAhPT0gbW9kZWxzRW51bS5TZWduYWxhemlvbmkpIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIj57e2l0ZW0oKS50aXRsZTJ9fTwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKGl0ZW0oKS5vcmlnaW5EZXNjcmlwdGlvbiApIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby0xXCI+XHJcbiAgICAgICAgICB7e2l0ZW0oKS5vcmlnaW5EZXNjcmlwdGlvbn19PC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoaXRlbSgpLmFuY2hvcnMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxzXCI+XHJcbiAgICAgICAgICA8ZGl2PkRFVFRBR0xJTzwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmtzXCI+XHJcbiAgICAgICAgICAgIEBmb3IgKGEgb2YgaXRlbSgpLmFuY2hvcnM7IHRyYWNrICRpbmRleCkge1xyXG4gICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICBAaWYgKGEudXJpICYmIGEudGV4dCkge1xyXG4gICAgICAgICAgICAgIDxhIChjbGljayk9XCJwYXJlbnQoKS5vcGVuKGEuZG9jdW1lbnRJZCArICcjJyArIGEudXJpKVwiIFttYXRUb29sdGlwXT1cImEudGl0bGVcIj57e2EudGV4dH19IEBpZlxyXG4gICAgICAgICAgICAgICAgKGEudmVyeVJlbGV2YW50KSB7XHJcbiAgICAgICAgICAgICAgICA8c3VwPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gc3R5bGU9J2ZvbnQtc2l6ZTp4LXNtYWxsOyBoZWlnaHQ6IDEwcHg7IHdpZHRoOjEwcHgnIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cIk1vbHRvIHJpbGV2YW50ZVwiPnRodW1iX3VwX2FsdDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICA8L3N1cD5cclxuICAgICAgICAgICAgICAgIH08L2E+XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIEBpZiAoIWEudXJpICYmIGEudGV4dCkge1xyXG4gICAgICAgICAgICAgIDxzcGFuPnt7YS50ZXh0fX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKGl0ZW0oKS50YXhvbm9teT8ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxzXCI+XHJcbiAgICAgICAgICA8ZGl2PkFSR09NRU5USTwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmtzXCI+XHJcbiAgICAgICAgICAgIEBmb3IgKG4gb2YgaXRlbSgpLnRheG9ub215Py5zcGxpdCgnXFxyXFxuJyk7IHRyYWNrICRpbmRleCkge1xyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGlua1wiPlxyXG4gICAgICAgICAgICAgIHt7bn19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChpdGVtKCkubW9kZWwgPT09IG1vZGVsc0VudW0uTmV3cyB8fCBpdGVtKCkubW9kZWwgPT09IG1vZGVsc0VudW0uQXJ0aWNvbGkgfHwgaXRlbSgpLm1vZGVsID09PVxyXG4gICAgICAgIG1vZGVsc0VudW0uSnVyaXMpIHtcclxuICAgICAgICBAaWYgKCFkaXNwbGF5TW9kZWxOYW1lKCkgJiYgaXRlbSgpLm1vZGVsTmFtZSkge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLTFcIj57e2l0ZW0oKS5tb2RlbE5hbWV9fTwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKGl0ZW0oKS5pbmZvKXtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsc1wiPlxyXG4gICAgICAgICAgPGRpdj5BUkdPTUVOVEk8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaW5rc1wiPlxyXG4gICAgICAgICAgICA8ZGl2Pnt7aXRlbSgpLmluZm99fTwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKGl0ZW0oKS5tb2RlbCA9PT0gbW9kZWxzRW51bS5Db29yZGluYW1lbnRvKSB7XHJcbiAgICAgICAgQGlmIChpdGVtKCkudGl0bGUyKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbHNcIj5cclxuICAgICAgICAgIDxkaXY+VElUT0xPIERPQ1VNRU5UTyBNT0RJRklDQVRPPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGlua3NcIj5cclxuICAgICAgICAgICAgPGRpdj57e2l0ZW0oKS50aXRsZTJ9fTwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKGl0ZW0oKS5tb2RlbCA9PT0gbW9kZWxzRW51bS5TY2FkZW56ZSB8fCBpdGVtKCkubW9kZWwgPT09IG1vZGVsc0VudW0uU2VnbmFsYXppb25pKSB7XHJcbiAgICAgICAgQGlmIChpdGVtKCkuZXhwaXJpbmdEZXNjcmlwdGlvbikge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxzXCI+XHJcbiAgICAgICAgICA8ZGl2PlBST1NTSU1BIFNDQURFTlpBPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGlua3NcIj5cclxuICAgICAgICAgICAgPGRpdj57e2l0ZW0oKS5leHBpcmluZ0Rlc2NyaXB0aW9ufX08L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGZ4RmxleD1cIjQ4cHhcIiBmeExheW91dEFsaWduPVwiZW5kXCI+XHJcbiAgICAgIEBpZiAoaXRlbSgpLmlzT3ZlciB8fCBpdGVtKCkuaXNNZW51T3Blbikge1xyXG4gICAgICBAaWYgKGlzUmVhZGFibGUoKSAmJiAhaXNSZWFkKCkgJiYgaXRlbSgpLm1vZGVsICE9PSBtb2RlbHNFbnVtLlNjYWRlbnplICYmIGl0ZW0oKS5tb2RlbCAhPT1cclxuICAgICAgbW9kZWxzRW51bS5TZWduYWxhemlvbmkpXHJcbiAgICAgIHtcclxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIG1hdFRvb2x0aXA9XCJTZWduYSBjb21lIGdpw6AgbGV0dGFcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidTZWduYSBjb21lIGdpw6AgbGV0dGEnXCJcclxuICAgICAgICAoY2xpY2spPVwicGFyZW50KCkudG9nZ2xlUmVhZChpdGVtKCksICRldmVudClcIj5cclxuICAgICAgICA8bWF0LWljb24+ZmxhZzwvbWF0LWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICB9XHJcbiAgICAgIEBpZihpdGVtKCkubW9kZWwgPT09IG1vZGVsc0VudW0uU2NhZGVuemUgfHwgaXRlbSgpLm1vZGVsID09PSBtb2RlbHNFbnVtLlNlZ25hbGF6aW9uaSkge1xyXG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtaWNvbi1idXR0b24gbWF0VG9vbHRpcD1cIkFnZ2l1bmdpIGFsIHR1byBjYWxlbmRhcmlvXCJcclxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBZ2dpdW5naSBhbCB0dW8gY2FsZW5kYXJpbydcIj5cclxuICAgICAgICA8bWF0LWljb24+YWRkPC9tYXQtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIH1cclxuICAgICAgPGJ1dHRvbiBmeEZsZXhBbGlnbj1cImNlbnRlclwiIHR5cGU9XCJidXR0b25cIiBtYXQtaWNvbi1idXR0b24gbWF0VG9vbHRpcD1cIk1lbnVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidNZW51IG9wemlvbmknXCJcclxuICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwiYWN0aW9ucygpXCIgW21hdE1lbnVUcmlnZ2VyRGF0YV09XCJ7aXRlbTogaXRlbSgpfVwiIChjbGljayk9XCJpdGVtKCkuaXNNZW51T3BlbiA9IHRydWVcIj5cclxuICAgICAgICA8bWF0LWljb24+bW9yZV92ZXJ0PC9tYXQtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIH0gQGVsc2Uge1xyXG4gIDxkaXYgY2xhc3M9XCJ0aWxlXCIgKGNvbnRleHRtZW51KT1cIm9uQ29udGV4dE1lbnUoJGV2ZW50LCBpdGVtKCkpXCIgKG1vdXNlZW50ZXIpPVwiaXRlbSgpLmlzT3ZlciA9IHRydWVcIlxyXG4gICAgKG1vdXNlbGVhdmUpPVwiaXRlbSgpLmlzT3ZlciA9IGZhbHNlXCIgW25nQ2xhc3NdPVwieydpdGVtLXNlbGVjdGVkJzogaXNTZWxlY3RlZCgpLCBcclxuICAgICdpdGVtLXVucmVhZCc6IGlzUmVhZCgpfVwiIChjbGljayk9XCJwYXJlbnQoKS5vcGVuKGl0ZW0oKS5kb2N1bWVudElkKVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImltYWdlLW1hcmtcIiBbbmdDbGFzc109XCJ7J2ltYWdlLW1hcmstdW5yZWFkJzogIWlzUmVhZCgpfVwiPjwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImltYWdlXCI+XHJcbiAgICAgIEBpZiAoY2FuQmVSZWFkKCkgfHwgaXNTZWxlY3RhYmxlKCkpIHtcclxuICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbnNcIj5cclxuICAgICAgICBAaWYgKGNhbkJlUmVhZCgpICYmIGl0ZW0oKS5pc092ZXIgPT09IHRydWUpIHtcclxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBjbGFzcz1cInJlYWRcIiBtYXRUb29sdGlwPVwiU2VnbmEgY29tZSBnacOgIGxldHRvXCJcclxuICAgICAgICAgIChjbGljayk9XCJwYXJlbnQoKS50b2dnbGVSZWFkKGl0ZW0oKSwgJGV2ZW50KVwiPjxtYXQtaWNvbj5mbGFnPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChpc1NlbGVjdGFibGUoKSAmJiAoaXNTZWxlY3RlZCgpIHx8IGl0ZW0oKS5pc092ZXIgPT09IHRydWUpKSB7XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gY2xhc3M9XCJjaGVja1wiIFtuZ0NsYXNzXT1cInsnY2hlY2stc2VsZWN0ZWQnOiBpc1NlbGVjdGVkKCl9XCJcclxuICAgICAgICAgIG1hdFRvb2x0aXA9XCJTZWxlemlvbmEvRGVzZWxlemlvbmFcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInBhcmVudCgpLnRvZ2dsZVNlbGVjdGlvbihpdGVtKCksICRldmVudClcIj48bWF0LWljb24+Y2hlY2s8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICAgIH1cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuICAgICAgPGRpdiBjbGFzcz1cImluZm8tMVwiPnt7aXRlbSgpLm1vZGVsTmFtZX19PC9kaXY+XHJcbiAgICAgIEBpZiAoaXRlbSgpLmluZm8pIHtcclxuICAgICAgPGRpdiBjbGFzcz1cImluZm8tMlwiPnt7aXRlbSgpLmluZm99fTwvZGl2PlxyXG4gICAgICB9XHJcbiAgICAgIEBpZiAoaXRlbSgpLnBpY3R1cmVJZCAmJiB0aWxlUGljdHVyZVVybCgpKSB7XHJcbiAgICAgIDxpbWcgZGVjb2Rpbmc9XCJhc3luY1wiIGxvYWRpbmc9XCJsYXp5XCIgW3NyY109XCJ0aWxlUGljdHVyZVVybCgpICsgJz9pZD0nICsgaXRlbSgpLnBpY3R1cmVJZFwiIFthbHRdPVwiaXRlbSgpLnRpdGxlMlwiIC8+XHJcbiAgICAgIH0gQGVsc2UgaWYgKHRpbGVOb1BpY3R1cmVVcmwoKSkge1xyXG4gICAgICA8cGljdHVyZT5cclxuICAgICAgICA8aW1nIGRlY29kaW5nPVwiYXN5bmNcIiBsb2FkaW5nPVwibGF6eVwiIFtzcmNdPVwidGlsZU5vUGljdHVyZVVybCgpXCJcclxuICAgICAgICAgIFthbHRdPVwiaXRlbSgpLnRpdGxlMiB8fCAnaW1tYWdpbmUgbm9uIHRyb3ZhdGEnXCIgLz5cclxuICAgICAgPC9waWN0dXJlPlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJib2R5XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkYXRlXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJkYXRlLWRheVwiIFtuZ0NsYXNzXT1cInsndW5yZWFkJzogIWl0ZW0oKS5pc1JlYWR9XCI+e3tpdGVtKCkuZGF0ZSB8IGZvcm1hdDonRCc6J2RcclxuICAgICAgICAgIE1NTU0nfX08L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJkYXRlLWRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgICAgPHNwYW4+e3tpdGVtKCkuZGF0ZXwgZm9ybWF0OidEJzoneXl5eSd9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPnt7aXRlbSgpLnRpdGxlMn19PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICB9XHJcbjwvZGl2PlxyXG48ZGl2ICNjb250ZXh0TWVudVRyaWdnZXI9XCJtYXRNZW51VHJpZ2dlclwiIHN0eWxlPVwicG9zaXRpb246IGZpeGVkXCIgW3N0eWxlLmxlZnRdPVwiY29udGV4dE1lbnVQb3NpdGlvbi54XCJcclxuICBbc3R5bGUudG9wXT1cImNvbnRleHRNZW51UG9zaXRpb24ueVwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJhY3Rpb25zKClcIiBbbWF0TWVudVRyaWdnZXJEYXRhXT1cIntpdGVtOiBpdGVtKCl9XCI+XHJcbjwvZGl2PiJdfQ==
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fycy11dGlscy9jbGlwcGVyLnVpL3VpL3NlYXJjaC1yZXN1bHQtaXRlbS9zZWFyY2gtcmVzdWx0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJzLXV0aWxzL2NsaXBwZXIudWkvdWkvc2VhcmNoLXJlc3VsdC1pdGVtL3NlYXJjaC1yZXN1bHQtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBVyxhQUFhLEVBQWtCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUF1QixlQUFlLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3pILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7OztBQUkxQyxNQUFNLENBQU4sSUFBWSxrQ0FHWDtBQUhELFdBQVksa0NBQWtDO0lBQzVDLDJGQUFRLENBQUE7SUFDUiwyRkFBUSxDQUFBO0FBQ1YsQ0FBQyxFQUhXLGtDQUFrQyxLQUFsQyxrQ0FBa0MsUUFHN0M7QUFvQkQsTUFBTSxPQUFPLGdDQUFnQztJQWpCN0M7UUFvQlUsZ0JBQVcsR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUMvQyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0QyxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM5QyxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ25ELFdBQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUE4QixDQUFDO1FBQ3RELFNBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxFQUF1QixDQUFDO1FBQzdDLFlBQU8sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFXLENBQUM7UUFDcEMscUJBQWdCLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDbkMsbUJBQWMsR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUNqQyxpQkFBWSxHQUFHLEtBQUssQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUNwQyxlQUFVLEdBQUcsS0FBSyxDQUFVLElBQUksQ0FBQyxDQUFDO1FBQ2xDLHFCQUFnQixHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUN6QyxnQkFBVyxHQUFHLEtBQUssQ0FBcUMsa0NBQWtDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUUscUJBQWdCLEdBQThDLGtDQUFrQyxDQUFDO1FBQ2pHLGVBQVUsR0FBd0IsWUFBWSxDQUFDO1FBQ3hELHdCQUFtQixHQUFHLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUM7S0E4RHhEO0lBNURDLFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsU0FBUyxFQUFFLE9BQU87YUFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDakMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7UUFFTCxnQ0FBZ0M7UUFDaEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRTthQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUNqQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDbkIsSUFBSSxPQUFPLENBQUMsRUFBRSxLQUFLLGVBQWUsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO2dCQUN0RCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsVUFBVSxLQUFLLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDNUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBQzVDLENBQUM7WUFDSCxDQUFDO2lCQUFNLElBQUksT0FBTyxDQUFDLEVBQUUsS0FBSyxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3hELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLEtBQUssT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7b0JBQ3JGLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7b0JBQ3hDLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3JDLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUMzRCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBaUIsRUFBRSxJQUF5QjtRQUN4RCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNsRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ2xELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDbEQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7O09BR0c7SUFDTyxVQUFVO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBQUEsQ0FBQztJQUVGOzs7T0FHRztJQUNPLE1BQU07UUFDZCxPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxZQUFZLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDO0lBQ3BILENBQUM7SUFBQSxDQUFDO0lBRUE7OztLQUdDO0lBQ1MsU0FBUztRQUNqQixPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxZQUFZLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDO0lBQ3BILENBQUM7SUFBQSxDQUFDOzhHQTdFTyxnQ0FBZ0M7a0dBQWhDLGdDQUFnQywwNkNDckM3Qyx5bFNBK01NLG92U0RwTEYsT0FBTyxtRkFDUCxpQkFBaUIsb1lBQ2pCLGVBQWUsMklBQ2YsZ0JBQWdCLDRUQUNoQixhQUFhLG1MQUNiLGFBQWEsb1ZBQ2IsZ0JBQWdCLDhoSEFDaEIsVUFBVTs7MkZBR0QsZ0NBQWdDO2tCQWpCNUMsU0FBUztzQ0FDUyx1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDLDRCQUE0QixjQUcxQixJQUFJLFdBQ1A7d0JBQ1AsT0FBTzt3QkFDUCxpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixVQUFVO3FCQUNYOzhCQUlnQyxrQkFBa0I7c0JBQWxELFNBQVM7dUJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBpbmplY3QsIGlucHV0LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRNZW51LCBNYXRNZW51TW9kdWxlLCBNYXRNZW51VHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IENsaXBwZXJEb2N1bWVudEluZm8sIENsaXBwZXJNZXNzYWdlcywgQ2xpcHBlck1vZGVsLCBDbGlwcGVyVXRpbHMgfSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL2NsaXBwZXIuY29tbW9uJztcclxuaW1wb3J0IHsgQnJvYWRjYXN0U2VydmljZSwgRm9ybWF0UGlwZSwgU2NyZWVuU2VydmljZSB9IGZyb20gJ0BhcnNlZGl6aW9uaS9hcnMtdXRpbHMvY29yZSc7XHJcbmltcG9ydCB7IEZsZXhMYXlvdXRNb2R1bGUgfSBmcm9tICdAbmdicmFja2V0L25neC1sYXlvdXQnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ2xpcHBlclNlYXJjaFJlc3VsdE1hbmFnZXIgfSBmcm9tICcuLi9zZWFyY2gtcmVzdWx0LW1hbmFnZXIvc2VhcmNoLXJlc3VsdC1tYW5hZ2VyJztcclxuXHJcblxyXG5leHBvcnQgZW51bSBDbGlwcGVyU2VhcmNoUmVzdWx0SXRlbURpc3BsYXlNb2RlIHtcclxuICBMaXN0ID0gMSxcclxuICBUaWxlID0gMlxyXG59XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgc2VsZWN0b3I6ICdjbGlwcGVyLXNlYXJjaC1yZXN1bHQtaXRlbScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1yZXN1bHQtaXRlbS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLXJlc3VsdC1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBOZ0NsYXNzLFxyXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdE1lbnVNb2R1bGUsXHJcbiAgICBGbGV4TGF5b3V0TW9kdWxlLFxyXG4gICAgRm9ybWF0UGlwZVxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbGlwcGVyU2VhcmNoUmVzdWx0SXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2NvbnRleHRNZW51VHJpZ2dlcicpIGNvbnRleHRNZW51VHJpZ2dlciE6IE1hdE1lbnVUcmlnZ2VyO1xyXG4gIHByaXZhdGUgdW5zdWJzY3JpYmU6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHByb3RlY3RlZCBzY3JlZW5TZXJ2aWNlID0gaW5qZWN0KFNjcmVlblNlcnZpY2UpO1xyXG4gIHByb3RlY3RlZCBicm9hZGNhc3RTZXJ2aWNlID0gaW5qZWN0KEJyb2FkY2FzdFNlcnZpY2UpO1xyXG4gIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3IgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gIHBhcmVudCA9IGlucHV0LnJlcXVpcmVkPENsaXBwZXJTZWFyY2hSZXN1bHRNYW5hZ2VyPigpO1xyXG4gIGl0ZW0gPSBpbnB1dC5yZXF1aXJlZDxDbGlwcGVyRG9jdW1lbnRJbmZvPigpO1xyXG4gIGFjdGlvbnMgPSBpbnB1dC5yZXF1aXJlZDxNYXRNZW51PigpO1xyXG4gIHRpbGVOb1BpY3R1cmVVcmwgPSBpbnB1dDxzdHJpbmc+KCk7XHJcbiAgdGlsZVBpY3R1cmVVcmwgPSBpbnB1dDxzdHJpbmc+KCk7XHJcbiAgaXNTZWxlY3RhYmxlID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcbiAgaXNSZWFkYWJsZSA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xyXG4gIGRpc3BsYXlNb2RlbE5hbWUgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcbiAgZGlzcGxheU1vZGUgPSBpbnB1dDxDbGlwcGVyU2VhcmNoUmVzdWx0SXRlbURpc3BsYXlNb2RlPihDbGlwcGVyU2VhcmNoUmVzdWx0SXRlbURpc3BsYXlNb2RlLkxpc3QpO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBkaXNwbGF5TW9kZXNFbnVtOiB0eXBlb2YgQ2xpcHBlclNlYXJjaFJlc3VsdEl0ZW1EaXNwbGF5TW9kZSA9IENsaXBwZXJTZWFyY2hSZXN1bHRJdGVtRGlzcGxheU1vZGU7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG1vZGVsc0VudW06IHR5cGVvZiBDbGlwcGVyTW9kZWwgPSBDbGlwcGVyTW9kZWw7XHJcbiAgcHJvdGVjdGVkIGNvbnRleHRNZW51UG9zaXRpb24gPSB7IHg6ICcwcHgnLCB5OiAnMHB4JyB9O1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucGFyZW50KCk/LnNlbGVjdGlvbj8uY2hhbmdlZFxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIC8vIFJlYWN0IHRvIG1lc3NhZ2UgYnJvYWRjYXN0aW5nXHJcbiAgICB0aGlzLmJyb2FkY2FzdFNlcnZpY2UuZ2V0TWVzc2FnZSgpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlKSlcclxuICAgICAgLnN1YnNjcmliZShtZXNzYWdlID0+IHtcclxuICAgICAgICBpZiAobWVzc2FnZS5pZCA9PT0gQ2xpcHBlck1lc3NhZ2VzLkRPQ1VNRU5UX05BVklHQVRFRCkge1xyXG4gICAgICAgICAgaWYgKHRoaXMuaXNSZWFkYWJsZSgpICYmIHRoaXMuaXRlbSgpLmRvY3VtZW50SWQgPT09IG1lc3NhZ2UuZGF0YS5kb2N1bWVudC5kb2N1bWVudElkICYmICF0aGlzLml0ZW0oKS5pc1JlYWQpIHtcclxuICAgICAgICAgICAgdGhpcy5wYXJlbnQoKT8uc2V0UmVhZCh0cnVlLCB0aGlzLml0ZW0oKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIGlmIChtZXNzYWdlLmlkID09PSBDbGlwcGVyTWVzc2FnZXMuRE9DVU1FTlRfUkVBRCkge1xyXG4gICAgICAgICAgaWYgKHRoaXMuaXNSZWFkYWJsZSgpICYmIHRoaXMuaXRlbSgpLmRvY3VtZW50SWQgPT09IG1lc3NhZ2UuZGF0YS5kb2N1bWVudC5kb2N1bWVudElkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaXRlbSgpLmlzUmVhZCA9IG1lc3NhZ2UuZGF0YS52YWx1ZTtcclxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgY29uc29sZS5sb2codGhpcy5pdGVtKCkubW9kZWwgKyBcIiAtIFwiICsgdGhpcy5pdGVtKCkudGl0bGUxKVxyXG4gICAgICBjb25zb2xlLmxvZyh0aGlzLmNhbkJlUmVhZCgpKTtcclxuICB9XHJcblxyXG4gIG9uQ29udGV4dE1lbnUoZXZlbnQ6IE1vdXNlRXZlbnQsIGl0ZW06IENsaXBwZXJEb2N1bWVudEluZm8pIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB0aGlzLmNvbnRleHRNZW51UG9zaXRpb24ueCA9IGV2ZW50LmNsaWVudFggKyAncHgnO1xyXG4gICAgdGhpcy5jb250ZXh0TWVudVBvc2l0aW9uLnkgPSBldmVudC5jbGllbnRZICsgJ3B4JztcclxuICAgIHRoaXMuY29udGV4dE1lbnVUcmlnZ2VyLm1lbnVEYXRhID0geyBpdGVtOiBpdGVtIH07XHJcbiAgICB0aGlzLmNvbnRleHRNZW51VHJpZ2dlci5vcGVuTWVudSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2tzIGlmIGN1cnJlbnQgaXRlbSBpcyBzZWxlY3RlZFxyXG4gICAqIEByZXR1cm5zIHRydWUgaWYgY3VycmVudCBpdGVtIGlzIHNlbGVjdGVkXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGlzU2VsZWN0ZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pc1NlbGVjdGFibGUoKSAmJiB0aGlzLnBhcmVudCgpPy5zZWxlY3Rpb24/LmlzU2VsZWN0ZWQodGhpcy5pdGVtKCkuZG9jdW1lbnRJZCk7XHJcbiAgfTtcclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2tzIGlmIGN1cnJlbnQgaXRlbSBpcyByZWFkXHJcbiAgICogQHJldHVybnMgdHJ1ZSBpZiBjdXJyZW50IGl0ZW0gaXMgcmVhZFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBpc1JlYWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pc1JlYWRhYmxlKCkgJiYgQ2xpcHBlclV0aWxzLmlzQ2xpcHBlck1vZGVsUmVhZGFibGUodGhpcy5pdGVtKCkubW9kZWwpICYmIHRoaXMuaXRlbSgpLmlzUmVhZCA9PT0gdHJ1ZTtcclxuICB9O1xyXG5cclxuICAgIC8qKlxyXG4gICAqIENoZWNrcyBpZiBjdXJyZW50IGl0ZW0gY2FuIGJlIHJlYWRcclxuICAgKiBAcmV0dXJucyB0cnVlIGlmIGN1cnJlbnQgaXRlbSBjYW4gYmUgcmVhZFxyXG4gICAqL1xyXG4gICAgcHJvdGVjdGVkIGNhbkJlUmVhZCgpOiBib29sZWFuIHtcclxuICAgICAgcmV0dXJuIHRoaXMuaXNSZWFkYWJsZSgpICYmIENsaXBwZXJVdGlscy5pc0NsaXBwZXJNb2RlbFJlYWRhYmxlKHRoaXMuaXRlbSgpLm1vZGVsKSAmJiB0aGlzLml0ZW0oKS5pc1JlYWQgIT09IHRydWU7XHJcbiAgICB9O1xyXG4gIFxyXG5cclxufVxyXG4iLCI8ZGl2PlxyXG4gIEBpZiAoZGlzcGxheU1vZGUoKSA9PT0gZGlzcGxheU1vZGVzRW51bS5MaXN0ICkge1xyXG4gIDxkaXYgY2xhc3M9XCJpdGVtXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEdhcD1cIjZweFwiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBmeEZpbGxcclxuICAgIFtuZ0NsYXNzXT1cInsnaXRlbS1zZWxlY3RlZCc6IGlzU2VsZWN0ZWQoKSB9XCIgKGNvbnRleHRtZW51KT1cIm9uQ29udGV4dE1lbnUoJGV2ZW50LCBpdGVtKCkpXCJcclxuICAgIChtb3VzZWVudGVyKT1cIml0ZW0oKS5pc092ZXIgPSB0cnVlXCIgKG1vdXNlbGVhdmUpPVwiaXRlbSgpLmlzT3ZlciA9IGZhbHNlXCI+XHJcbiAgICA8ZGl2IGZ4RmxleD1cIjZweFwiIGZ4RmxleEFsaWduPVwic3RyZXRjaFwiIFtuZ0NsYXNzXT1cInBhcmVudCgpLmdldEl0ZW1TdGF0ZUNzc0NsYXNzKGl0ZW0oKSlcIlxyXG4gICAgICBbbWF0VG9vbHRpcF09XCJwYXJlbnQoKS5nZXRJdGVtU3RhdGVUb29sdGlwKGl0ZW0oKSlcIj48c3Bhbj48L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgW2Z4RmxleF09XCJpc1NlbGVjdGFibGUoKSA/ICc0OHB4JyA6ICcxOHB4J1wiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXJcIj5cclxuICAgICAgQGlmIChpc1NlbGVjdGFibGUoKSAmJiAoc2NyZWVuU2VydmljZS5pc1RvdWNoYWJsZSB8fCBpdGVtKCkuaXNPdmVyIHx8IGlzU2VsZWN0ZWQoKSkpIHtcclxuICAgICAgPG1hdC1jaGVja2JveCAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuICAgICAgICAoY2hhbmdlKT1cIiRldmVudCA/IHBhcmVudCgpLnNlbGVjdGlvbj8udG9nZ2xlKGl0ZW0oKSwgaXRlbSgpLmRvY3VtZW50SWQpIDogbnVsbFwiIFtjaGVja2VkXT1cImlzU2VsZWN0ZWQoKVwiPlxyXG4gICAgICA8L21hdC1jaGVja2JveD5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGZ4RmxleD1cIipcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tY29udGVudFwiPlxyXG4gICAgICAgIEBpZiAoZGlzcGxheU1vZGVsTmFtZSgpICYmIGl0ZW0oKS5tb2RlbE5hbWUpIHtcclxuICAgICAgICBAaWYgKGl0ZW0oKS5vcmlnaW4gPT09ICdHQycgfHwgaXRlbSgpLm9yaWdpbiA9PT0gJ0dOJykge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLTJcIj5HSVVSSVNQUlVERU5aQTwvZGl2PlxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLTJcIj57e2l0ZW0oKS5tb2RlbE5hbWV9fTwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpZiAoaXRlbSgpLmluZm8gJiYgaXRlbSgpLm1vZGVsID09PSBtb2RlbHNFbnVtLlF1ZXNpdGkpIHtcclxuICAgICAgICBAaWYoaXRlbSgpLmluZm8pIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby0xXCI+e3tpdGVtKCkuaW5mb319PC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIH1AZWxzZSBpZihpdGVtKCkubW9kZWwgPT09IG1vZGVsc0VudW0uTm9ybWF0aXZhVmlnZW50ZSB8fFxyXG4gICAgICAgIGl0ZW0oKS5tb2RlbCA9PT0gbW9kZWxzRW51bS5BZ2dpb3JuYW1lbnRvTm9ybWF0aXZvIHx8XHJcbiAgICAgICAgaXRlbSgpLm1vZGVsID09PSBtb2RlbHNFbnVtLkdpdXJpc3BydWRlbnphUmVjZW50ZSB8fFxyXG4gICAgICAgIGl0ZW0oKS5tb2RlbCA9PT0gbW9kZWxzRW51bS5KdXJpcykge1xyXG4gICAgICAgIEBpZiAoaXRlbSgpLmF1dGhvciAmJiAoaXRlbSgpLm9yaWdpbiA9PT0gJ0xSJyB8fCBpdGVtKCkub3JpZ2luID09PSAnR0MnIHx8IGl0ZW0oKS5vcmlnaW5cclxuICAgICAgICA9PT0gJ0dOJykpIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby0xXCI+e3tpdGVtKCkuYXV0aG9yfX08L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgfUBlbHNlIGlmIChpdGVtKCkuZGF0ZSkge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLTFcIj57e2l0ZW0oKS5kYXRlIHwgZm9ybWF0OidEJzonZCBNTU0geXl5eSd9fTwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgPGEgY2xhc3M9XCJsaW5rXCIgKGNsaWNrKT1cInBhcmVudCgpLm9wZW4oaXRlbSgpLmRvY3VtZW50SWQpXCJcclxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQXByaSBkb2N1bWVudG8gJyArIGl0ZW0oKS50aXRsZTFcIj57e2l0ZW0oKS50aXRsZTEgPz8gaXRlbSgpLnRpdGxlMn19PC9hPlxyXG4gICAgICAgICAgQGlmIChpdGVtKCkucGFydCA+IDApIHtcclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2VcIj5QQVJURSB7e2l0ZW0oKS5wYXJ0fX08L3NwYW4+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBAaWYgKGl0ZW0oKS5pc0NvbW1lbnRlZCkge1xyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZVwiPkNPTU1FTlRBVEE8L3NwYW4+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBAaWYgKGl0ZW0oKS52YWxpZGl0eVN0YXRlID4gMCkge1xyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZS1yZWRcIj57e2l0ZW0oKS52YWxpZGl0eURlc2NyaXB0aW9ufX08L3NwYW4+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgQGlmKGl0ZW0oKS5kZXNjcmlwdGlvbiAmJiBpdGVtKCkubW9kZWwgPT09IG1vZGVsc0VudW0uQ29vcmRpbmFtZW50bykge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPnt7aXRlbSgpLmRlc2NyaXB0aW9ufX08L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChpdGVtKCkudGl0bGUyICYmXHJcbiAgICAgICAgaXRlbSgpLm1vZGVsICE9PSBtb2RlbHNFbnVtLkNvb3JkaW5hbWVudG8gJiZcclxuICAgICAgICBpdGVtKCkubW9kZWwgIT09IG1vZGVsc0VudW0uQWxsZXJ0ZUFsaW1lbnRhcmkgJiZcclxuICAgICAgICBpdGVtKCkubW9kZWwgIT09IG1vZGVsc0VudW0uU2NhZGVuemUgJiZcclxuICAgICAgICBpdGVtKCkubW9kZWwgIT09IG1vZGVsc0VudW0uU2VnbmFsYXppb25pKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+e3tpdGVtKCkudGl0bGUyfX08L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChpdGVtKCkub3JpZ2luRGVzY3JpcHRpb24gKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImluZm8tMVwiPlxyXG4gICAgICAgICAge3tpdGVtKCkub3JpZ2luRGVzY3JpcHRpb259fTwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKGl0ZW0oKS5hbmNob3JzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsc1wiPlxyXG4gICAgICAgICAgPGRpdj5ERVRUQUdMSU88L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaW5rc1wiPlxyXG4gICAgICAgICAgICBAZm9yIChhIG9mIGl0ZW0oKS5hbmNob3JzOyB0cmFjayAkaW5kZXgpIHtcclxuICAgICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgICAgQGlmIChhLnVyaSAmJiBhLnRleHQpIHtcclxuICAgICAgICAgICAgICA8YSAoY2xpY2spPVwicGFyZW50KCkub3BlbihhLmRvY3VtZW50SWQgKyAnIycgKyBhLnVyaSlcIiBbbWF0VG9vbHRpcF09XCJhLnRpdGxlXCI+e3thLnRleHR9fSBAaWZcclxuICAgICAgICAgICAgICAgIChhLnZlcnlSZWxldmFudCkge1xyXG4gICAgICAgICAgICAgICAgPHN1cD5cclxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIHN0eWxlPSdmb250LXNpemU6eC1zbWFsbDsgaGVpZ2h0OiAxMHB4OyB3aWR0aDoxMHB4JyBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJNb2x0byByaWxldmFudGVcIj50aHVtYl91cF9hbHQ8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9zdXA+XHJcbiAgICAgICAgICAgICAgICB9PC9hPlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBAaWYgKCFhLnVyaSAmJiBhLnRleHQpIHtcclxuICAgICAgICAgICAgICA8c3Bhbj57e2EudGV4dH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChpdGVtKCkudGF4b25vbXk/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsc1wiPlxyXG4gICAgICAgICAgPGRpdj5BUkdPTUVOVEk8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaW5rc1wiPlxyXG4gICAgICAgICAgICBAZm9yIChuIG9mIGl0ZW0oKS50YXhvbm9teT8uc3BsaXQoJ1xcclxcbicpOyB0cmFjayAkaW5kZXgpIHtcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmtcIj5cclxuICAgICAgICAgICAgICB7e259fVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoaXRlbSgpLm1vZGVsID09PSBtb2RlbHNFbnVtLk5ld3MgfHwgaXRlbSgpLm1vZGVsID09PSBtb2RlbHNFbnVtLkFydGljb2xpIHx8IGl0ZW0oKS5tb2RlbCA9PT1cclxuICAgICAgICBtb2RlbHNFbnVtLkp1cmlzKSB7XHJcbiAgICAgICAgQGlmICghZGlzcGxheU1vZGVsTmFtZSgpICYmIGl0ZW0oKS5tb2RlbE5hbWUpIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby0xXCI+e3tpdGVtKCkubW9kZWxOYW1lfX08L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChpdGVtKCkuaW5mbyl7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbHNcIj5cclxuICAgICAgICAgIDxkaXY+QVJHT01FTlRJPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGlua3NcIj5cclxuICAgICAgICAgICAgPGRpdj57e2l0ZW0oKS5pbmZvfX08L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChpdGVtKCkubW9kZWwgPT09IG1vZGVsc0VudW0uQ29vcmRpbmFtZW50bykge1xyXG4gICAgICAgIEBpZiAoaXRlbSgpLnRpdGxlMikge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxzXCI+XHJcbiAgICAgICAgICA8ZGl2PlRJVE9MTyBET0NVTUVOVE8gTU9ESUZJQ0FUTzwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmtzXCI+XHJcbiAgICAgICAgICAgIDxkaXY+e3tpdGVtKCkudGl0bGUyfX08L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChpdGVtKCkubW9kZWwgPT09IG1vZGVsc0VudW0uU2NhZGVuemUgfHwgaXRlbSgpLm1vZGVsID09PSBtb2RlbHNFbnVtLlNlZ25hbGF6aW9uaSkge1xyXG4gICAgICAgIEBpZiAoaXRlbSgpLmV4cGlyaW5nRGVzY3JpcHRpb24pIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsc1wiPlxyXG4gICAgICAgICAgPGRpdj5QUk9TU0lNQSBTQ0FERU5aQTwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmtzXCI+XHJcbiAgICAgICAgICAgIDxkaXY+e3tpdGVtKCkuZXhwaXJpbmdEZXNjcmlwdGlvbn19PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBmeEZsZXg9XCI0OHB4XCIgZnhMYXlvdXRBbGlnbj1cImVuZFwiPlxyXG4gICAgICBAaWYgKGl0ZW0oKS5pc092ZXIgfHwgaXRlbSgpLmlzTWVudU9wZW4pIHtcclxuICAgICAgQGlmIChpc1JlYWRhYmxlKCkgJiYgIWlzUmVhZCgpICYmIGl0ZW0oKS5tb2RlbCAhPT0gbW9kZWxzRW51bS5TY2FkZW56ZSAmJiBpdGVtKCkubW9kZWwgIT09XHJcbiAgICAgIG1vZGVsc0VudW0uU2VnbmFsYXppb25pKVxyXG4gICAgICB7XHJcbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvbiBtYXRUb29sdGlwPVwiU2VnbmEgY29tZSBnacOgIGxldHRhXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInU2VnbmEgY29tZSBnacOgIGxldHRhJ1wiXHJcbiAgICAgICAgKGNsaWNrKT1cInBhcmVudCgpLnRvZ2dsZVJlYWQoaXRlbSgpLCAkZXZlbnQpXCI+XHJcbiAgICAgICAgPG1hdC1pY29uPmZsYWc8L21hdC1pY29uPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgfVxyXG4gICAgICBAaWYoaXRlbSgpLm1vZGVsID09PSBtb2RlbHNFbnVtLlNjYWRlbnplIHx8IGl0ZW0oKS5tb2RlbCA9PT0gbW9kZWxzRW51bS5TZWduYWxhemlvbmkpIHtcclxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIG1hdFRvb2x0aXA9XCJBZ2dpdW5naSBhbCB0dW8gY2FsZW5kYXJpb1wiXHJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQWdnaXVuZ2kgYWwgdHVvIGNhbGVuZGFyaW8nXCI+XHJcbiAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICB9XHJcbiAgICAgIDxidXR0b24gZnhGbGV4QWxpZ249XCJjZW50ZXJcIiB0eXBlPVwiYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIG1hdFRvb2x0aXA9XCJNZW51XCIgW2F0dHIuYXJpYS1sYWJlbF09XCInTWVudSBvcHppb25pJ1wiXHJcbiAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cImFjdGlvbnMoKVwiIFttYXRNZW51VHJpZ2dlckRhdGFdPVwie2l0ZW06IGl0ZW0oKX1cIiAoY2xpY2spPVwiaXRlbSgpLmlzTWVudU9wZW4gPSB0cnVlXCI+XHJcbiAgICAgICAgPG1hdC1pY29uPm1vcmVfdmVydDwvbWF0LWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICB9IEBlbHNlIHtcclxuICA8ZGl2IGNsYXNzPVwidGlsZVwiIChjb250ZXh0bWVudSk9XCJvbkNvbnRleHRNZW51KCRldmVudCwgaXRlbSgpKVwiIChtb3VzZWVudGVyKT1cIml0ZW0oKS5pc092ZXIgPSB0cnVlXCJcclxuICAgIChtb3VzZWxlYXZlKT1cIml0ZW0oKS5pc092ZXIgPSBmYWxzZVwiIFtuZ0NsYXNzXT1cInsnaXRlbS1zZWxlY3RlZCc6IGlzU2VsZWN0ZWQoKSwgXHJcbiAgICAnaXRlbS11bnJlYWQnOiBpc1JlYWQoKX1cIiAoY2xpY2spPVwicGFyZW50KCkub3BlbihpdGVtKCkuZG9jdW1lbnRJZClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpbWFnZS1tYXJrXCIgW25nQ2xhc3NdPVwieydpbWFnZS1tYXJrLXVucmVhZCc6ICFpc1JlYWQoKX1cIj48L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJpbWFnZVwiPlxyXG4gICAgICBAaWYgKGNhbkJlUmVhZCgpIHx8IGlzU2VsZWN0YWJsZSgpKSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJidXR0b25zXCI+XHJcbiAgICAgICAgQGlmIChjYW5CZVJlYWQoKSAmJiBpdGVtKCkuaXNPdmVyID09PSB0cnVlKSB7XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gY2xhc3M9XCJyZWFkXCIgbWF0VG9vbHRpcD1cIlNlZ25hIGNvbWUgZ2nDoCBsZXR0b1wiXHJcbiAgICAgICAgICAoY2xpY2spPVwicGFyZW50KCkudG9nZ2xlUmVhZChpdGVtKCksICRldmVudClcIj48bWF0LWljb24+ZmxhZzwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoaXNTZWxlY3RhYmxlKCkgJiYgKGlzU2VsZWN0ZWQoKSB8fCBpdGVtKCkuaXNPdmVyID09PSB0cnVlKSkge1xyXG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGNsYXNzPVwiY2hlY2tcIiBbbmdDbGFzc109XCJ7J2NoZWNrLXNlbGVjdGVkJzogaXNTZWxlY3RlZCgpfVwiXHJcbiAgICAgICAgICBtYXRUb29sdGlwPVwiU2VsZXppb25hL0Rlc2VsZXppb25hXCJcclxuICAgICAgICAgIChjbGljayk9XCJwYXJlbnQoKS50b2dnbGVTZWxlY3Rpb24oaXRlbSgpLCAkZXZlbnQpXCI+PG1hdC1pY29uPmNoZWNrPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLTFcIj57e2l0ZW0oKS5tb2RlbE5hbWV9fTwvZGl2PlxyXG4gICAgICBAaWYgKGl0ZW0oKS5pbmZvKSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLTJcIj57e2l0ZW0oKS5pbmZvfX08L2Rpdj5cclxuICAgICAgfVxyXG4gICAgICBAaWYgKGl0ZW0oKS5waWN0dXJlSWQgJiYgdGlsZVBpY3R1cmVVcmwoKSkge1xyXG4gICAgICA8aW1nIGRlY29kaW5nPVwiYXN5bmNcIiBsb2FkaW5nPVwibGF6eVwiIFtzcmNdPVwidGlsZVBpY3R1cmVVcmwoKSArICc/aWQ9JyArIGl0ZW0oKS5waWN0dXJlSWRcIiBbYWx0XT1cIml0ZW0oKS50aXRsZTJcIiAvPlxyXG4gICAgICB9IEBlbHNlIGlmICh0aWxlTm9QaWN0dXJlVXJsKCkpIHtcclxuICAgICAgPHBpY3R1cmU+XHJcbiAgICAgICAgPGltZyBkZWNvZGluZz1cImFzeW5jXCIgbG9hZGluZz1cImxhenlcIiBbc3JjXT1cInRpbGVOb1BpY3R1cmVVcmwoKVwiXHJcbiAgICAgICAgICBbYWx0XT1cIml0ZW0oKS50aXRsZTIgfHwgJ2ltbWFnaW5lIG5vbiB0cm92YXRhJ1wiIC8+XHJcbiAgICAgIDwvcGljdHVyZT5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYm9keVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZGF0ZVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZGF0ZS1kYXlcIiBbbmdDbGFzc109XCJ7J3VucmVhZCc6ICFpdGVtKCkuaXNSZWFkfVwiPnt7aXRlbSgpLmRhdGUgfCBmb3JtYXQ6J0QnOidkXHJcbiAgICAgICAgICBNTU1NJ319PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZGF0ZS1kaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuPnt7aXRlbSgpLmRhdGV8IGZvcm1hdDonRCc6J3l5eXknfX08L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIj57e2l0ZW0oKS50aXRsZTJ9fTwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgfVxyXG48L2Rpdj5cclxuPGRpdiAjY29udGV4dE1lbnVUcmlnZ2VyPVwibWF0TWVudVRyaWdnZXJcIiBzdHlsZT1cInBvc2l0aW9uOiBmaXhlZFwiIFtzdHlsZS5sZWZ0XT1cImNvbnRleHRNZW51UG9zaXRpb24ueFwiXHJcbiAgW3N0eWxlLnRvcF09XCJjb250ZXh0TWVudVBvc2l0aW9uLnlcIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwiYWN0aW9ucygpXCIgW21hdE1lbnVUcmlnZ2VyRGF0YV09XCJ7aXRlbTogaXRlbSgpfVwiPlxyXG48L2Rpdj4iXX0=
@@ -1557,6 +1557,8 @@ class ClipperSearchResultItemComponent {
1557
1557
  }
1558
1558
  }
1559
1559
  });
1560
+ console.log(this.item().model + " - " + this.item().title1);
1561
+ console.log(this.canBeRead());
1560
1562
  }
1561
1563
  onContextMenu(event, item) {
1562
1564
  event.preventDefault();
@@ -1586,8 +1588,6 @@ class ClipperSearchResultItemComponent {
1586
1588
  * @returns true if current item can be read
1587
1589
  */
1588
1590
  canBeRead() {
1589
- console.log(this.item().model);
1590
- console.log(this.item().modelName);
1591
1591
  return this.isReadable() && ClipperUtils.isClipperModelReadable(this.item().model) && this.item().isRead !== true;
1592
1592
  }
1593
1593
  ;