angular-three 1.2.0 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdGhyZWUvc3JjL2xpYi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgdHlwZSB7IE5ndFJ4U3RvcmUgfSBmcm9tICcuL3N0b3Jlcy9yeC1zdG9yZSc7XG5cbmV4cG9ydCB0eXBlIE5ndEFueVJlY29yZCA9IFJlY29yZDxzdHJpbmcsIGFueT47XG5leHBvcnQgdHlwZSBOZ3ROb25GdW5jdGlvbktleXM8VD4gPSB7XG4gICAgW0sgaW4ga2V5b2YgVF0tPzogVFtLXSBleHRlbmRzIEZ1bmN0aW9uID8gbmV2ZXIgOiBLO1xufVtrZXlvZiBUXTtcbmV4cG9ydCB0eXBlIE5ndFByb3BlcnRpZXM8VD4gPSBQaWNrPFQsIHsgW0sgaW4ga2V5b2YgVF06IFRbS10gZXh0ZW5kcyAoXzogYW55KSA9PiBhbnkgPyBuZXZlciA6IEsgfVtrZXlvZiBUXT47XG5leHBvcnQgdHlwZSBOZ3RPdmVyd3JpdGU8VCwgTz4gPSBPbWl0PFQsIE5ndE5vbkZ1bmN0aW9uS2V5czxPPj4gJiBPO1xuXG5leHBvcnQgdHlwZSBOZ3RFcXVDb25maWcgPSB7XG4gICAgLyoqIENvbXBhcmUgYXJyYXlzIGJ5IHJlZmVyZW5jZSBlcXVhbGl0eSBhID09PSBiIChkZWZhdWx0KSwgb3IgYnkgc2hhbGxvdyBlcXVhbGl0eSAqL1xuICAgIGFycmF5cz86ICdyZWZlcmVuY2UnIHwgJ3NoYWxsb3cnO1xuICAgIC8qKiBDb21wYXJlIG9iamVjdHMgYnkgcmVmZXJlbmNlIGVxdWFsaXR5IGEgPT09IGIgKGRlZmF1bHQpLCBvciBieSBzaGFsbG93IGVxdWFsaXR5ICovXG4gICAgb2JqZWN0cz86ICdyZWZlcmVuY2UnIHwgJ3NoYWxsb3cnO1xuICAgIC8qKiBJZiB0cnVlIHRoZSBrZXlzIGluIGJvdGggYSBhbmQgYiBtdXN0IG1hdGNoIDE6MSAoZGVmYXVsdCksIGlmIGZhbHNlIGEncyBrZXlzIG11c3QgaW50ZXJzZWN0IGIncyAqL1xuICAgIHN0cmljdD86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIE5ndEludGVyc2VjdGlvbiBleHRlbmRzIFRIUkVFLkludGVyc2VjdGlvbiB7XG4gICAgLyoqIFRoZSBldmVudCBzb3VyY2UgKHRoZSBvYmplY3Qgd2hpY2ggcmVnaXN0ZXJlZCB0aGUgaGFuZGxlcikgKi9cbiAgICBldmVudE9iamVjdDogVEhSRUUuT2JqZWN0M0Q7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0UG9pbnRlckNhcHR1cmVUYXJnZXQge1xuICAgIGludGVyc2VjdGlvbjogTmd0SW50ZXJzZWN0aW9uO1xuICAgIHRhcmdldDogRWxlbWVudDtcbn1cblxuZXhwb3J0IHR5cGUgTmd0Q2FtZXJhID0gVEhSRUUuT3J0aG9ncmFwaGljQ2FtZXJhIHwgVEhSRUUuUGVyc3BlY3RpdmVDYW1lcmE7XG5leHBvcnQgdHlwZSBOZ3RDYW1lcmFNYW51YWwgPSBOZ3RDYW1lcmEgJiB7IG1hbnVhbD86IGJvb2xlYW4gfTtcblxuZXhwb3J0IGludGVyZmFjZSBOZ3RJbnRlcnNlY3Rpb25FdmVudDxUU291cmNlRXZlbnQ+IGV4dGVuZHMgTmd0SW50ZXJzZWN0aW9uIHtcbiAgICAvKiogVGhlIGV2ZW50IHNvdXJjZSAodGhlIG9iamVjdCB3aGljaCByZWdpc3RlcmVkIHRoZSBoYW5kbGVyKSAqL1xuICAgIGV2ZW50T2JqZWN0OiBUSFJFRS5PYmplY3QzRDtcbiAgICAvKiogQW4gYXJyYXkgb2YgaW50ZXJzZWN0aW9ucyAqL1xuICAgIGludGVyc2VjdGlvbnM6IE5ndEludGVyc2VjdGlvbltdO1xuICAgIC8qKiB2ZWMzLnNldChwb2ludGVyLngsIHBvaW50ZXIueSwgMCkudW5wcm9qZWN0KGNhbWVyYSkgKi9cbiAgICB1bnByb2plY3RlZFBvaW50OiBUSFJFRS5WZWN0b3IzO1xuICAgIC8qKiBOb3JtYWxpemVkIGV2ZW50IGNvb3JkaW5hdGVzICovXG4gICAgcG9pbnRlcjogVEhSRUUuVmVjdG9yMjtcbiAgICAvKiogRGVsdGEgYmV0d2VlbiBmaXJzdCBjbGljayBhbmQgdGhpcyBldmVudCAqL1xuICAgIGRlbHRhOiBudW1iZXI7XG4gICAgLyoqIFRoZSByYXkgdGhhdCBwaWVyY2VkIGl0ICovXG4gICAgcmF5OiBUSFJFRS5SYXk7XG4gICAgLyoqIFRoZSBjYW1lcmEgdGhhdCB3YXMgdXNlZCBieSB0aGUgcmF5Y2FzdGVyICovXG4gICAgY2FtZXJhOiBOZ3RDYW1lcmE7XG4gICAgLyoqIHN0b3BQcm9wYWdhdGlvbiB3aWxsIHN0b3AgdW5kZXJseWluZyBoYW5kbGVycyBmcm9tIGZpcmluZyAqL1xuICAgIHN0b3BQcm9wYWdhdGlvbjogKCkgPT4gdm9pZDtcbiAgICAvKiogVGhlIG9yaWdpbmFsIGhvc3QgZXZlbnQgKi9cbiAgICBuYXRpdmVFdmVudDogVFNvdXJjZUV2ZW50O1xuICAgIC8qKiBJZiB0aGUgZXZlbnQgd2FzIHN0b3BwZWQgYnkgY2FsbGluZyBzdG9wUHJvcGFnYXRpb24gKi9cbiAgICBzdG9wcGVkOiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBOZ3RUaHJlZUV2ZW50PFRFdmVudD4gPSBOZ3RJbnRlcnNlY3Rpb25FdmVudDxURXZlbnQ+ICYgTmd0UHJvcGVydGllczxURXZlbnQ+O1xuZXhwb3J0IHR5cGUgTmd0RG9tRXZlbnQgPSBQb2ludGVyRXZlbnQgfCBNb3VzZUV2ZW50IHwgV2hlZWxFdmVudDtcblxuZXhwb3J0IGludGVyZmFjZSBOZ3RFdmVudHMge1xuICAgIGNsaWNrOiBFdmVudExpc3RlbmVyO1xuICAgIGNvbnRleHRtZW51OiBFdmVudExpc3RlbmVyO1xuICAgIGRibGNsaWNrOiBFdmVudExpc3RlbmVyO1xuICAgIHdoZWVsOiBFdmVudExpc3RlbmVyO1xuICAgIHBvaW50ZXJkb3duOiBFdmVudExpc3RlbmVyO1xuICAgIHBvaW50ZXJ1cDogRXZlbnRMaXN0ZW5lcjtcbiAgICBwb2ludGVybGVhdmU6IEV2ZW50TGlzdGVuZXI7XG4gICAgcG9pbnRlcm1vdmU6IEV2ZW50TGlzdGVuZXI7XG4gICAgcG9pbnRlcmNhbmNlbDogRXZlbnRMaXN0ZW5lcjtcbiAgICBsb3N0cG9pbnRlcmNhcHR1cmU6IEV2ZW50TGlzdGVuZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0RXZlbnRIYW5kbGVycyB7XG4gICAgY2xpY2s/OiAoZXZlbnQ6IE5ndFRocmVlRXZlbnQ8TW91c2VFdmVudD4pID0+IHZvaWQ7XG4gICAgY29udGV4dG1lbnU/OiAoZXZlbnQ6IE5ndFRocmVlRXZlbnQ8TW91c2VFdmVudD4pID0+IHZvaWQ7XG4gICAgZGJsY2xpY2s/OiAoZXZlbnQ6IE5ndFRocmVlRXZlbnQ8TW91c2VFdmVudD4pID0+IHZvaWQ7XG4gICAgcG9pbnRlcnVwPzogKGV2ZW50OiBOZ3RUaHJlZUV2ZW50PFBvaW50ZXJFdmVudD4pID0+IHZvaWQ7XG4gICAgcG9pbnRlcmRvd24/OiAoZXZlbnQ6IE5ndFRocmVlRXZlbnQ8UG9pbnRlckV2ZW50PikgPT4gdm9pZDtcbiAgICBwb2ludGVyb3Zlcj86IChldmVudDogTmd0VGhyZWVFdmVudDxQb2ludGVyRXZlbnQ+KSA9PiB2b2lkO1xuICAgIHBvaW50ZXJvdXQ/OiAoZXZlbnQ6IE5ndFRocmVlRXZlbnQ8UG9pbnRlckV2ZW50PikgPT4gdm9pZDtcbiAgICBwb2ludGVyZW50ZXI/OiAoZXZlbnQ6IE5ndFRocmVlRXZlbnQ8UG9pbnRlckV2ZW50PikgPT4gdm9pZDtcbiAgICBwb2ludGVybGVhdmU/OiAoZXZlbnQ6IE5ndFRocmVlRXZlbnQ8UG9pbnRlckV2ZW50PikgPT4gdm9pZDtcbiAgICBwb2ludGVybW92ZT86IChldmVudDogTmd0VGhyZWVFdmVudDxQb2ludGVyRXZlbnQ+KSA9PiB2b2lkO1xuICAgIHBvaW50ZXJtaXNzZWQ/OiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHZvaWQ7XG4gICAgcG9pbnRlcmNhbmNlbD86IChldmVudDogTmd0VGhyZWVFdmVudDxQb2ludGVyRXZlbnQ+KSA9PiB2b2lkO1xuICAgIHdoZWVsPzogKGV2ZW50OiBOZ3RUaHJlZUV2ZW50PFdoZWVsRXZlbnQ+KSA9PiB2b2lkO1xufVxuXG5leHBvcnQgdHlwZSBOZ3RGaWx0ZXJGdW5jdGlvbiA9IChpdGVtczogVEhSRUUuSW50ZXJzZWN0aW9uW10sIHN0b3JlOiBOZ3RSeFN0b3JlPE5ndFN0YXRlPikgPT4gVEhSRUUuSW50ZXJzZWN0aW9uW107XG5cbmV4cG9ydCB0eXBlIE5ndENvbXB1dGVGdW5jdGlvbiA9IChcbiAgICBldmVudDogTmd0RG9tRXZlbnQsXG4gICAgcm9vdDogTmd0UnhTdG9yZTxOZ3RTdGF0ZT4sXG4gICAgcHJldmlvdXM/OiBOZ3RSeFN0b3JlPE5ndFN0YXRlPlxuKSA9PiB2b2lkO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5ndEV2ZW50TWFuYWdlcjxUVGFyZ2V0ID0gYW55PiB7XG4gICAgLyoqIERldGVybWluZXMgaWYgdGhlIGV2ZW50IGxheWVyIGlzIGFjdGl2ZSAqL1xuICAgIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgLyoqIEV2ZW50IGxheWVyIHByaW9yaXR5LCBoaWdoZXIgcHJpb3JpdGl6ZWQgbGF5ZXJzIGNvbWUgZmlyc3QgYW5kIG1heSBzdG9wKC1wcm9wYWdhdGUpIGxvd2VyIGxheWVyICAqL1xuICAgIHByaW9yaXR5OiBudW1iZXI7XG4gICAgLyoqIFRoZSBjb21wdXRlIGZ1bmN0aW9uIG5lZWRzIHRvIHNldCB1cCB0aGUgcmF5Y2FzdGVyIGFuZCBhbiB4eS0gcG9pbnRlciAgKi9cbiAgICBjb21wdXRlPzogTmd0Q29tcHV0ZUZ1bmN0aW9uO1xuICAgIC8qKiBUaGUgZmlsdGVyIGNhbiByZS1vcmRlciBvciByZS1zdHJ1Y3R1cmUgdGhlIGludGVyc2VjdGlvbnMgICovXG4gICAgZmlsdGVyPzogTmd0RmlsdGVyRnVuY3Rpb247XG4gICAgLyoqIFRoZSB0YXJnZXQgbm9kZSB0aGUgZXZlbnQgbGF5ZXIgaXMgdGllZCB0byAqL1xuICAgIGNvbm5lY3RlZD86IFRUYXJnZXQ7XG4gICAgLyoqIEFsbCB0aGUgcG9pbnRlciBldmVudCBoYW5kbGVycyB0aHJvdWdoIHdoaWNoIHRoZSBob3N0IGZvcndhcmRzIG5hdGl2ZSBldmVudHMgKi9cbiAgICBoYW5kbGVycz86IE5ndEV2ZW50cztcbiAgICAvKiogQWxsb3dzIHJlLWNvbm5lY3RpbmcgdG8gYW5vdGhlciB0YXJnZXQgKi9cbiAgICBjb25uZWN0PzogKHRhcmdldDogVFRhcmdldCkgPT4gdm9pZDtcbiAgICAvKiogUmVtb3ZlcyBhbGwgZXhpc3RpbmcgZXZlbnRzIGhhbmRsZXJzIGZyb20gdGhlIHRhcmdldCAqL1xuICAgIGRpc2Nvbm5lY3Q/OiAoKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5ndFBlcmZvcm1hbmNlIHtcbiAgICAvKiogQ3VycmVudCBwZXJmb3JtYW5jZSBub3JtYWwsIGJldHdlZW4gbWluIGFuZCBtYXggKi9cbiAgICBjdXJyZW50OiBudW1iZXI7XG4gICAgLyoqIEhvdyBsb3cgdGhlIHBlcmZvcm1hbmNlIGNhbiBnbywgYmV0d2VlbiAwIGFuZCBtYXggKi9cbiAgICBtaW46IG51bWJlcjtcbiAgICAvKiogSG93IGhpZ2ggdGhlIHBlcmZvcm1hbmNlIGNhbiBnbywgYmV0d2VlbiBtaW4gYW5kIG1heCAqL1xuICAgIG1heDogbnVtYmVyO1xuICAgIC8qKiBUaW1lIHVudGlsIGN1cnJlbnQgcmV0dXJucyB0byBtYXggaW4gbXMgKi9cbiAgICBkZWJvdW5jZTogbnVtYmVyO1xuICAgIC8qKiBTZXRzIGN1cnJlbnQgdG8gbWluLCBwdXRzIHRoZSBzeXN0ZW0gaW4gcmVncmVzc2lvbiAqL1xuICAgIHJlZ3Jlc3M6ICgpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCB0eXBlIE5ndERwciA9IG51bWJlciB8IFttaW46IG51bWJlciwgbWF4OiBudW1iZXJdO1xuZXhwb3J0IHR5cGUgTmd0U2l6ZSA9IHtcbiAgICB3aWR0aDogbnVtYmVyO1xuICAgIGhlaWdodDogbnVtYmVyO1xuICAgIHRvcDogbnVtYmVyO1xuICAgIGxlZnQ6IG51bWJlcjtcbn07XG5leHBvcnQgdHlwZSBOZ3RWaWV3cG9ydCA9IE5ndFNpemUgJiB7XG4gICAgLyoqIFRoZSBpbml0aWFsIHBpeGVsIHJhdGlvICovXG4gICAgaW5pdGlhbERwcjogbnVtYmVyO1xuICAgIC8qKiBDdXJyZW50IHBpeGVsIHJhdGlvICovXG4gICAgZHByOiBudW1iZXI7XG4gICAgLyoqIHNpemUud2lkdGggLyB2aWV3cG9ydC53aWR0aCAqL1xuICAgIGZhY3RvcjogbnVtYmVyO1xuICAgIC8qKiBDYW1lcmEgZGlzdGFuY2UgKi9cbiAgICBkaXN0YW5jZTogbnVtYmVyO1xuICAgIC8qKiBDYW1lcmEgYXNwZWN0IHJhdGlvOiB3aWR0aCAvIGhlaWdodCAqL1xuICAgIGFzcGVjdDogbnVtYmVyO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBOZ3RSZW5kZXJTdGF0ZSBleHRlbmRzIE5ndFN0YXRlIHtcbiAgICBkZWx0YTogbnVtYmVyO1xuICAgIGZyYW1lPzogWFJGcmFtZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZ3RCZWZvcmVSZW5kZXJFdmVudDxUT2JqZWN0IGV4dGVuZHMgTmd0SW5zdGFuY2VOb2RlID0gTmd0SW5zdGFuY2VOb2RlPiB7XG4gICAgc3RhdGU6IE5ndFJlbmRlclN0YXRlO1xuICAgIG9iamVjdDogVE9iamVjdDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZ3RCZWZvcmVSZW5kZXJSZWNvcmQge1xuICAgIGNhbGxiYWNrOiAoc3RhdGU6IE5ndFJlbmRlclN0YXRlKSA9PiB2b2lkO1xuICAgIHN0b3JlOiBOZ3RSeFN0b3JlPE5ndFN0YXRlPjtcbiAgICBwcmlvcml0eT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZ3RJbnRlcm5hbFN0YXRlIHtcbiAgICBhY3RpdmU6IGJvb2xlYW47XG4gICAgcHJpb3JpdHk6IG51bWJlcjtcbiAgICBmcmFtZXM6IG51bWJlcjtcbiAgICBsYXN0RXZlbnQ6IE5ndERvbUV2ZW50O1xuICAgIGludGVyYWN0aW9uOiBUSFJFRS5PYmplY3QzRFtdO1xuICAgIGhvdmVyZWQ6IE1hcDxzdHJpbmcsIE5ndFRocmVlRXZlbnQ8Tmd0RG9tRXZlbnQ+PjtcbiAgICBzdWJzY3JpYmVyczogTmd0QmVmb3JlUmVuZGVyUmVjb3JkW107XG4gICAgY2FwdHVyZWRNYXA6IE1hcDxudW1iZXIsIE1hcDxUSFJFRS5PYmplY3QzRCwgTmd0UG9pbnRlckNhcHR1cmVUYXJnZXQ+PjtcbiAgICBpbml0aWFsQ2xpY2s6IFt4OiBudW1iZXIsIHk6IG51bWJlcl07XG4gICAgaW5pdGlhbEhpdHM6IFRIUkVFLk9iamVjdDNEW107XG4gICAgc3Vic2NyaWJlOiAoXG4gICAgICAgIGNhbGxiYWNrOiBOZ3RCZWZvcmVSZW5kZXJSZWNvcmRbJ2NhbGxiYWNrJ10sXG4gICAgICAgIHByaW9yaXR5PzogbnVtYmVyLFxuICAgICAgICBzdG9yZT86IE5ndFJ4U3RvcmU8Tmd0U3RhdGU+XG4gICAgKSA9PiAoKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5ndFN0YXRlIHtcbiAgICAvKiogU2V0IGN1cnJlbnQgc3RhdGUgKi9cbiAgICBzZXQ6IE5ndFJ4U3RvcmU8Tmd0U3RhdGU+WydzZXQnXTtcbiAgICAvKiogR2V0IGN1cnJlbnQgc3RhdGUgKi9cbiAgICBnZXQ6IE5ndFJ4U3RvcmU8Tmd0U3RhdGU+WydnZXQnXTtcbiAgICBzZWxlY3Q6IE5ndFJ4U3RvcmU8Tmd0U3RhdGU+WydzZWxlY3QnXTtcbiAgICAvKiogY2FudmFzIHJlYWR5IHN0YXRlICovXG4gICAgcmVhZHk6IGJvb2xlYW47XG4gICAgLyoqIFRoZSBpbnN0YW5jZSBvZiB0aGUgcmVuZGVyZXIgKi9cbiAgICBnbDogVEhSRUUuV2ViR0xSZW5kZXJlcjtcbiAgICAvKiogRGVmYXVsdCBjYW1lcmEgKi9cbiAgICBjYW1lcmE6IE5ndENhbWVyYU1hbnVhbDtcbiAgICAvKiogRGVmYXVsdCBzY2VuZSAqL1xuICAgIHNjZW5lOiBUSFJFRS5TY2VuZTtcbiAgICAvKiogRGVmYXVsdCByYXljYXN0ZXIgKi9cbiAgICByYXljYXN0ZXI6IFRIUkVFLlJheWNhc3RlcjtcbiAgICAvKiogRGVmYXVsdCBjbG9jayAqL1xuICAgIGNsb2NrOiBUSFJFRS5DbG9jaztcbiAgICAvKiogRXZlbnQgbGF5ZXIgaW50ZXJmYWNlLCBjb250YWlucyB0aGUgZXZlbnQgaGFuZGxlciBhbmQgdGhlIG5vZGUgdGhleSdyZSBjb25uZWN0ZWQgdG8gKi9cbiAgICBldmVudHM6IE5ndEV2ZW50TWFuYWdlcjtcbiAgICAvKiogWFIgaW50ZXJmYWNlICovXG4gICAgeHI6IHsgY29ubmVjdDogKCkgPT4gdm9pZDsgZGlzY29ubmVjdDogKCkgPT4gdm9pZCB9O1xuICAgIC8qKiBDdXJyZW50bHkgdXNlZCBjb250cm9scyAqL1xuICAgIGNvbnRyb2xzOiBUSFJFRS5FdmVudERpc3BhdGNoZXIgfCBudWxsO1xuICAgIC8qKiBOb3JtYWxpemVkIGV2ZW50IGNvb3JkaW5hdGVzICovXG4gICAgcG9pbnRlcjogVEhSRUUuVmVjdG9yMjtcbiAgICAvKiBXaGV0aGVyIHRvIGVuYWJsZSByMTM5J3MgQ29sb3JNYW5hZ2VtZW50LmxlZ2FjeU1vZGUgKi9cbiAgICBsZWdhY3k6IGJvb2xlYW47XG4gICAgLyoqIFNob3J0Y3V0IHRvIGdsLm91dHB1dEVuY29kaW5nID0gTGluZWFyRW5jb2RpbmcgKi9cbiAgICBsaW5lYXI6IGJvb2xlYW47XG4gICAgLyoqIFNob3J0Y3V0IHRvIGdsLnRvbmVNYXBwaW5nID0gTm9Ub25lbWFwcGluZyAqL1xuICAgIGZsYXQ6IGJvb2xlYW47XG4gICAgLyoqIFJlbmRlciBsb29wIGZsYWdzICovXG4gICAgZnJhbWVsb29wOiAnYWx3YXlzJyB8ICdkZW1hbmQnIHwgJ25ldmVyJztcbiAgICAvKiogQWRhcHRpdmUgcGVyZm9ybWFuY2UgaW50ZXJmYWNlICovXG4gICAgcGVyZm9ybWFuY2U6IE5ndFBlcmZvcm1hbmNlO1xuICAgIC8qKiBSZWFjdGl2ZSBwaXhlbC1zaXplIG9mIHRoZSBjYW52YXMgKi9cbiAgICBzaXplOiBOZ3RTaXplO1xuICAgIC8qKiBSZWFjdGl2ZSBzaXplIG9mIHRoZSB2aWV3cG9ydCBpbiB0aHJlZWpzIHVuaXRzICovXG4gICAgdmlld3BvcnQ6IE5ndFZpZXdwb3J0ICYge1xuICAgICAgICBnZXRDdXJyZW50Vmlld3BvcnQ6IChcbiAgICAgICAgICAgIGNhbWVyYT86IE5ndENhbWVyYU1hbnVhbCxcbiAgICAgICAgICAgIHRhcmdldD86IFRIUkVFLlZlY3RvcjMgfCBQYXJhbWV0ZXJzPFRIUkVFLlZlY3RvcjNbJ3NldCddPixcbiAgICAgICAgICAgIHNpemU/OiBOZ3RTaXplXG4gICAgICAgICkgPT4gT21pdDxOZ3RWaWV3cG9ydCwgJ2RwcicgfCAnaW5pdGlhbERwcic+O1xuICAgIH07XG4gICAgLyoqIEZsYWdzIHRoZSBjYW52YXMgZm9yIHJlbmRlciwgYnV0IGRvZXNuJ3QgcmVuZGVyIGluIGl0c2VsZiAqL1xuICAgIGludmFsaWRhdGU6IChmcmFtZXM/OiBudW1iZXIpID0+IHZvaWQ7XG4gICAgLyoqIEFkdmFuY2UgKHJlbmRlcikgb25lIHN0ZXAgKi9cbiAgICBhZHZhbmNlOiAodGltZXN0YW1wOiBudW1iZXIsIHJ1bkdsb2JhbEVmZmVjdHM/OiBib29sZWFuKSA9PiB2b2lkO1xuICAgIC8qKiBTaG9ydGN1dCB0byBzZXR0aW5nIHRoZSBldmVudCBsYXllciAqL1xuICAgIHNldEV2ZW50czogKGV2ZW50czogUGFydGlhbDxOZ3RFdmVudE1hbmFnZXI8YW55Pj4pID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogU2hvcnRjdXQgdG8gbWFudWFsIHNpemluZ1xuICAgICAqL1xuICAgIHNldFNpemU6ICh3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlciwgdG9wPzogbnVtYmVyLCBsZWZ0PzogbnVtYmVyLCB1cGRhdGVTdHlsZT86IGJvb2xlYW4pID0+IHZvaWQ7XG4gICAgLyoqIFNob3J0Y3V0IHRvIG1hbnVhbCBzZXR0aW5nIHRoZSBwaXhlbCByYXRpbyAqL1xuICAgIHNldERwcjogKGRwcjogTmd0RHByKSA9PiB2b2lkO1xuICAgIC8qKiBTaG9ydGN1dCB0byBmcmFtZWxvb3AgZmxhZ3MgKi9cbiAgICBzZXRGcmFtZWxvb3A6IChmcmFtZWxvb3A/OiAnYWx3YXlzJyB8ICdkZW1hbmQnIHwgJ25ldmVyJykgPT4gdm9pZDtcbiAgICAvKiogV2hlbiB0aGUgY2FudmFzIHdhcyBjbGlja2VkIGJ1dCBub3RoaW5nIHdhcyBoaXQgKi9cbiAgICBvblBvaW50ZXJNaXNzZWQ/OiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHZvaWQ7XG4gICAgLyoqIElmIHRoaXMgc3RhdGUgbW9kZWwgaXMgbGF5ZXJkICh2aWEgY3JlYXRlUG9ydGFsKSB0aGVuIHRoaXMgY29udGFpbnMgdGhlIHByZXZpb3VzIGxheWVyICovXG4gICAgcHJldmlvdXNTdG9yZT86IE5ndFJ4U3RvcmU8Tmd0U3RhdGU+O1xuICAgIC8qKiBJbnRlcm5hbHMgKi9cbiAgICBpbnRlcm5hbDogTmd0SW50ZXJuYWxTdGF0ZTtcbiAgICAvKiogc2hvcnRjdXRzIGZvciBhZGQgYW5kIHJlbW92ZSBpbnRlcmFjdGlvbiAqL1xuICAgIGFkZEludGVyYWN0aW9uOiAoaW50ZXJhY3Rpb246IFRIUkVFLk9iamVjdDNEKSA9PiB2b2lkO1xuICAgIHJlbW92ZUludGVyYWN0aW9uOiAodXVpZDogc3RyaW5nKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgdHlwZSBOZ3RBdHRhY2hGdW5jdGlvbjxUQ2hpbGQgPSBhbnksIFRQYXJlbnQgPSBhbnk+ID0gKFxuICAgIHBhcmVudDogVFBhcmVudCxcbiAgICBjaGlsZDogVENoaWxkLFxuICAgIHN0b3JlOiBOZ3RSeFN0b3JlPE5ndFN0YXRlPlxuKSA9PiB2b2lkIHwgKCgpID0+IHZvaWQpO1xuXG5leHBvcnQgdHlwZSBOZ3RBZnRlckF0dGFjaDxcbiAgICBUUGFyZW50IGV4dGVuZHMgTmd0SW5zdGFuY2VOb2RlID0gTmd0SW5zdGFuY2VOb2RlLFxuICAgIFRDaGlsZCBleHRlbmRzIE5ndEluc3RhbmNlTm9kZSA9IE5ndEluc3RhbmNlTm9kZVxuPiA9IHsgcGFyZW50OiBUUGFyZW50OyBub2RlOiBUQ2hpbGQgfTtcblxuZXhwb3J0IGludGVyZmFjZSBOZ3RJbnN0YW5jZUxvY2FsU3RhdGUge1xuICAgIC8qKiB0aGUgc3RhdGUgZ2V0dGVyIG9mIHRoZSBjYW52YXMgdGhhdCB0aGUgaW5zdGFuY2UgaXMgYmVpbmcgcmVuZGVyZWQgdG8gKi9cbiAgICBzdG9yZTogTmd0UnhTdG9yZTxOZ3RTdGF0ZT47XG4gICAgLy8gb2JqZWN0cyBhbmQgcGFyZW50IGFyZSB1c2VkIHdoZW4gY2hpbGRyZW4gYXJlIGFkZGVkIHdpdGggYGF0dGFjaGAgaW5zdGVhZCBvZiBiZWluZyBhZGRlZCB0byB0aGUgT2JqZWN0M0Qgc2NlbmUgZ3JhcGhcbiAgICBub25PYmplY3RzOiBCZWhhdmlvclN1YmplY3Q8Tmd0SW5zdGFuY2VOb2RlW10+O1xuICAgIC8vIG9iamVjdHMgdGhhdCBhcmUgT2JqZWN0M0RcbiAgICBvYmplY3RzOiBCZWhhdmlvclN1YmplY3Q8Tmd0SW5zdGFuY2VOb2RlW10+O1xuICAgIC8vIHNob3J0Y3V0IHRvIGFkZC9yZW1vdmUgb2JqZWN0IHRvIGxpc3RcbiAgICBhZGQ6IChpbnN0YW5jZTogTmd0SW5zdGFuY2VOb2RlLCB0eXBlOiAnb2JqZWN0cycgfCAnbm9uT2JqZWN0cycpID0+IHZvaWQ7XG4gICAgcmVtb3ZlOiAoaW5zdGFuY2U6IE5ndEluc3RhbmNlTm9kZSwgdHlwZTogJ29iamVjdHMnIHwgJ25vbk9iamVjdHMnKSA9PiB2b2lkO1xuICAgIC8vIHBhcmVudCBiYXNlZCBvbiBhdHRhY2ggdGhyZWUgaW5zdGFuY2VcbiAgICBwYXJlbnQ6IE5ndEluc3RhbmNlTm9kZSB8IG51bGw7XG4gICAgLy8gaWYgdGhpcyBUSFJFRSBpbnN0YW5jZSBpcyBhIG5ndC1wcmltaXRpdmVcbiAgICBwcmltaXRpdmU/OiBib29sZWFuO1xuICAgIC8vIGlmIHRoaXMgVEhSRUUgb2JqZWN0IGhhcyBhbnkgZXZlbnRzIGJvdW5kIHRvIGl0XG4gICAgZXZlbnRDb3VudDogbnVtYmVyO1xuICAgIC8vIGxpc3Qgb2YgaGFuZGxlcnMgdG8gaGFuZGxlIHRoZSBldmVudHNcbiAgICBoYW5kbGVyczogUGFydGlhbDxOZ3RFdmVudEhhbmRsZXJzPjtcbiAgICAvLyBwcmV2aW91cyBhcmdzXG4gICAgYXJncz86IHVua25vd25bXTtcbiAgICAvLyBhdHRhY2ggaW5mb3JtYXRpb24gc28gdGhhdCB3ZSBjYW4gZGV0YWNoIGFzIHdlbGwgYXMgcmVzZXRcbiAgICBhdHRhY2g/OiBzdHJpbmdbXSB8IE5ndEF0dGFjaEZ1bmN0aW9uO1xuICAgIC8vIHByZXZpb3VzbHkgYXR0YWNoIGluZm9ybWF0aW9uIHNvIHdlIGNhbiByZXNldCBhcyB3ZWxsIGFzIGNsZWFuIHVwXG4gICAgcHJldmlvdXNBdHRhY2g/OiB1bmtub3duIHwgKCgpID0+IHZvaWQpO1xuICAgIC8vIGlzIHJhdyB2YWx1ZVxuICAgIGlzUmF3PzogYm9vbGVhbjtcbiAgICAvLyBwcmlvcml0eSBmb3IgYmVmb3JlIHJlbmRlclxuICAgIHByaW9yaXR5PzogbnVtYmVyO1xuICAgIC8vIGVtaXR0ZXIgYWZ0ZXIgcHJvcHMgdXBkYXRlXG4gICAgYWZ0ZXJVcGRhdGU/OiBFdmVudEVtaXR0ZXI8Tmd0SW5zdGFuY2VOb2RlPjtcbiAgICAvLyBlbWl0dGVyIGFmdGVyIGF0dGFjaGluZyB0byBwYXJlbnRcbiAgICBhZnRlckF0dGFjaD86IEV2ZW50RW1pdHRlcjxOZ3RBZnRlckF0dGFjaD47XG59XG5cbmV4cG9ydCB0eXBlIE5ndEluc3RhbmNlTm9kZTxUTm9kZSA9IGFueT4gPSBUTm9kZSAmIHtcbiAgICBfX25ndF9fOiBOZ3RJbnN0YW5jZUxvY2FsU3RhdGU7XG59ICYgTmd0QW55UmVjb3JkO1xuXG5leHBvcnQgdHlwZSBOZ3RHTFJlbmRlcmVyID0ge1xuICAgIHJlbmRlcjogKHNjZW5lOiBUSFJFRS5TY2VuZSwgY2FtZXJhOiBUSFJFRS5DYW1lcmEpID0+IHZvaWQ7XG59O1xuXG5leHBvcnQgdHlwZSBOZ3RHTE9wdGlvbnMgPVxuICAgIHwgTmd0R0xSZW5kZXJlclxuICAgIHwgKChjYW52YXM6IEhUTUxDYW52YXNFbGVtZW50KSA9PiBOZ3RHTFJlbmRlcmVyKVxuICAgIHwgUGFydGlhbDxOZ3RQcm9wZXJ0aWVzPFRIUkVFLldlYkdMUmVuZGVyZXI+IHwgVEhSRUUuV2ViR0xSZW5kZXJlclBhcmFtZXRlcnM+XG4gICAgfCB1bmRlZmluZWQ7XG5cbmV4cG9ydCB0eXBlIE5ndEV4dGVuZGVkQ29sb3JzPFQ+ID0ge1xuICAgIFtLIGluIGtleW9mIFRdOiBUW0tdIGV4dGVuZHMgVEhSRUUuQ29sb3IgfCB1bmRlZmluZWQgPyBUSFJFRS5Db2xvclJlcHJlc2VudGF0aW9uIDogVFtLXTtcbn07XG5cbi8qKlxuICogSWYgKipUKiogY29udGFpbnMgYSBjb25zdHJ1Y3RvciwgQHNlZSBDb25zdHJ1Y3RvclBhcmFtZXRlcnMgbXVzdCBiZSB1c2VkLCBvdGhlcndpc2UgKipUKiouXG4gKi9cbmV4cG9ydCB0eXBlIE5ndE5vZGVBcmdzPFQ+ID0gVCBleHRlbmRzIG5ldyAoLi4uYXJnczogYW55KSA9PiBhbnkgPyBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8VD4gOiBUO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5ndE5vZGVQcm9wczxQPiB7XG4gICAgYXR0YWNoPzogc3RyaW5nW107XG4gICAgLyoqIENvbnN0cnVjdG9yIGFyZ3VtZW50cyAqL1xuICAgIGFyZ3M/OiBOZ3ROb2RlQXJnczxQPjtcbn1cblxuZXhwb3J0IHR5cGUgTmd0Tm9kZTxULCBQPiA9IE5ndEV4dGVuZGVkQ29sb3JzPE5ndE92ZXJ3cml0ZTxQYXJ0aWFsPFQ+LCBOZ3ROb2RlUHJvcHM8UD4+PjtcbmV4cG9ydCB0eXBlIE5ndE9iamVjdDNETm9kZTxULCBQPiA9IE5ndE92ZXJ3cml0ZTxcbiAgICBOZ3ROb2RlPFQsIFA+LFxuICAgIHtcbiAgICAgICAgcG9zaXRpb24/OiBUSFJFRS5WZWN0b3IzIHwgUGFyYW1ldGVyczxUSFJFRS5WZWN0b3IzWydzZXQnXT47XG4gICAgICAgIHVwPzogVEhSRUUuVmVjdG9yMyB8IFBhcmFtZXRlcnM8VEhSRUUuVmVjdG9yM1snc2V0J10+O1xuICAgICAgICBzY2FsZT86IFRIUkVFLlZlY3RvcjMgfCBQYXJhbWV0ZXJzPFRIUkVFLlZlY3RvcjNbJ3NldCddPjtcbiAgICAgICAgcm90YXRpb24/OiBUSFJFRS5FdWxlciB8IFBhcmFtZXRlcnM8VEhSRUUuRXVsZXJbJ3NldCddPjtcbiAgICAgICAgbWF0cml4PzogVEhSRUUuTWF0cml4NCB8IFBhcmFtZXRlcnM8VEhSRUUuTWF0cml4NFsnc2V0J10+O1xuICAgICAgICBxdWF0ZXJuaW9uPzogVEhSRUUuUXVhdGVybmlvbiB8IFBhcmFtZXRlcnM8VEhSRUUuUXVhdGVybmlvblsnc2V0J10+O1xuICAgICAgICBsYXllcnM/OiBUSFJFRS5MYXllcnMgfCBQYXJhbWV0ZXJzPFRIUkVFLkxheWVyc1snc2V0J10+O1xuICAgIH1cbj4gJlxuICAgIE5ndEV2ZW50SGFuZGxlcnM7XG5cbmV4cG9ydCB0eXBlIE5ndENvbmRpdGlvbmFsVHlwZTxDaGlsZCwgUGFyZW50LCBUcnV0aHksIEZhbHN5PiA9IENoaWxkIGV4dGVuZHMgUGFyZW50ID8gVHJ1dGh5IDogRmFsc3k7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0TG9hZGVyUHJvdG88VD4gZXh0ZW5kcyBUSFJFRS5Mb2FkZXIge1xuICAgIGxvYWQoXG4gICAgICAgIHVybDogc3RyaW5nIHwgc3RyaW5nW10sXG4gICAgICAgIG9uTG9hZD86IChyZXN1bHQ6IFQpID0+IHZvaWQsXG4gICAgICAgIG9uUHJvZ3Jlc3M/OiAoZXZlbnQ6IFByb2dyZXNzRXZlbnQpID0+IHZvaWQsXG4gICAgICAgIG9uRXJyb3I/OiAoZXZlbnQ6IEVycm9yRXZlbnQpID0+IHZvaWRcbiAgICApOiB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5ndExvYWRlckV4dGVuc2lvbnMge1xuICAgIChsb2FkZXI6IFRIUkVFLkxvYWRlcik6IHZvaWQ7XG59XG5cbmV4cG9ydCB0eXBlIE5ndExvYWRlclJlc3VsdDxUPiA9IFQgZXh0ZW5kcyBhbnlbXSA/IE5ndExvYWRlclByb3RvPFRbbnVtYmVyXT4gOiBOZ3RMb2FkZXJQcm90bzxUPjtcbmV4cG9ydCB0eXBlIE5ndEJyYW5jaGluZ1JldHVybjxUID0gYW55LCBQYXJlbnQgPSBhbnksIENvZXJjZWQgPSBhbnk+ID0gTmd0Q29uZGl0aW9uYWxUeXBlPFQsIFBhcmVudCwgQ29lcmNlZCwgVD47XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0T2JqZWN0TWFwIHtcbiAgICBub2RlczogeyBbbmFtZTogc3RyaW5nXTogVEhSRUUuT2JqZWN0M0QgfTtcbiAgICBtYXRlcmlhbHM6IHsgW25hbWU6IHN0cmluZ106IFRIUkVFLk1hdGVyaWFsIH07XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5ndENhbnZhc0lucHV0cyB7XG4gICAgLyoqIEEgdGhyZWVqcyByZW5kZXJlciBpbnN0YW5jZSBvciBwcm9wcyB0aGF0IGdvIGludG8gdGhlIGRlZmF1bHQgcmVuZGVyZXIgKi9cbiAgICBnbD86IE5ndEdMT3B0aW9ucztcbiAgICAvKiogRGltZW5zaW9ucyB0byBmaXQgdGhlIHJlbmRlcmVyIHRvLiBXaWxsIG1lYXN1cmUgY2FudmFzIGRpbWVuc2lvbnMgaWYgb21pdHRlZCAqL1xuICAgIHNpemU/OiBOZ3RTaXplO1xuICAgIC8qKlxuICAgICAqIEVuYWJsZXMgUENGc29mdCBzaGFkb3dzLiBDYW4gYWNjZXB0IGBnbC5zaGFkb3dNYXBgIG9wdGlvbnMgZm9yIGZpbmUtdHVuaW5nLlxuICAgICAqIEBzZWUgaHR0cHM6Ly90aHJlZWpzLm9yZy9kb2NzLyNhcGkvZW4vcmVuZGVyZXJzL1dlYkdMUmVuZGVyZXIuc2hhZG93TWFwXG4gICAgICovXG4gICAgc2hhZG93cz86IGJvb2xlYW4gfCBQYXJ0aWFsPFRIUkVFLldlYkdMU2hhZG93TWFwPjtcbiAgICAvKipcbiAgICAgKiBEaXNhYmxlcyB0aHJlZSByMTM5IGNvbG9yIG1hbmFnZW1lbnQuXG4gICAgICogQHNlZSBodHRwczovL3RocmVlanMub3JnL2RvY3MvI21hbnVhbC9lbi9pbnRyb2R1Y3Rpb24vQ29sb3ItbWFuYWdlbWVudFxuICAgICAqL1xuICAgIGxlZ2FjeT86IGJvb2xlYW47XG4gICAgLyoqIFN3aXRjaCBvZmYgYXV0b21hdGljIHNSR0IgZW5jb2RpbmcgYW5kIGdhbW1hIGNvcnJlY3Rpb24gKi9cbiAgICBsaW5lYXI/OiBib29sZWFuO1xuICAgIC8qKiBVc2UgYE5vVG9uZU1hcHBpbmdgIGluc3RlYWQgb2YgYEFDRVNGaWxtaWNUb25lTWFwcGluZ2AgKi9cbiAgICBmbGF0PzogYm9vbGVhbjtcbiAgICAvKiogQ3JlYXRlcyBhbiBvcnRob2dyYXBoaWMgY2FtZXJhICovXG4gICAgb3J0aG9ncmFwaGljPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBSM0YncyByZW5kZXIgbW9kZS4gU2V0IHRvIGBkZW1hbmRgIHRvIG9ubHkgcmVuZGVyIG9uIHN0YXRlIGNoYW5nZSBvciBgbmV2ZXJgIHRvIHRha2UgY29udHJvbC5cbiAgICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5wbW5kLnJzL3JlYWN0LXRocmVlLWZpYmVyL2FkdmFuY2VkL3NjYWxpbmctcGVyZm9ybWFuY2Ujb24tZGVtYW5kLXJlbmRlcmluZ1xuICAgICAqL1xuICAgIGZyYW1lbG9vcD86ICdhbHdheXMnIHwgJ2RlbWFuZCcgfCAnbmV2ZXInO1xuICAgIC8qKlxuICAgICAqIFIzRiBwZXJmb3JtYW5jZSBvcHRpb25zIGZvciBhZGFwdGl2ZSBwZXJmb3JtYW5jZS5cbiAgICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5wbW5kLnJzL3JlYWN0LXRocmVlLWZpYmVyL2FkdmFuY2VkL3NjYWxpbmctcGVyZm9ybWFuY2UjbW92ZW1lbnQtcmVncmVzc2lvblxuICAgICAqL1xuICAgIHBlcmZvcm1hbmNlPzogUGFydGlhbDxPbWl0PE5ndFBlcmZvcm1hbmNlLCAncmVncmVzcyc+PjtcbiAgICAvKiogVGFyZ2V0IHBpeGVsIHJhdGlvLiBDYW4gY2xhbXAgYmV0d2VlbiBhIHJhbmdlOiBgW21pbiwgbWF4XWAgKi9cbiAgICBkcHI/OiBOZ3REcHI7XG4gICAgLyoqIFByb3BzIHRoYXQgZ28gaW50byB0aGUgZGVmYXVsdCByYXljYXN0ZXIgKi9cbiAgICByYXljYXN0ZXI/OiBQYXJ0aWFsPFRIUkVFLlJheWNhc3Rlcj47XG4gICAgLyoqIEEgYENhbWVyYWAgaW5zdGFuY2Ugb3IgcHJvcHMgdGhhdCBnbyBpbnRvIHRoZSBkZWZhdWx0IGNhbWVyYSAqL1xuICAgIGNhbWVyYT86IChcbiAgICAgICAgfCBOZ3RDYW1lcmFcbiAgICAgICAgfCBQYXJ0aWFsPFxuICAgICAgICAgICAgICBOZ3RPYmplY3QzRE5vZGU8VEhSRUUuQ2FtZXJhLCB0eXBlb2YgVEhSRUUuQ2FtZXJhPiAmXG4gICAgICAgICAgICAgICAgICBOZ3RPYmplY3QzRE5vZGU8VEhSRUUuUGVyc3BlY3RpdmVDYW1lcmEsIHR5cGVvZiBUSFJFRS5QZXJzcGVjdGl2ZUNhbWVyYT4gJlxuICAgICAgICAgICAgICAgICAgTmd0T2JqZWN0M0ROb2RlPFRIUkVFLk9ydGhvZ3JhcGhpY0NhbWVyYSwgdHlwZW9mIFRIUkVFLk9ydGhvZ3JhcGhpY0NhbWVyYT5cbiAgICAgICAgICA+XG4gICAgKSAmIHtcbiAgICAgICAgLyoqIEZsYWdzIHRoZSBjYW1lcmEgYXMgbWFudWFsLCBwdXR0aW5nIHByb2plY3Rpb24gaW50byB5b3VyIG93biBoYW5kcyAqL1xuICAgICAgICBtYW51YWw/OiBib29sZWFuO1xuICAgIH07XG4gICAgLyoqIEFuIFIzRiBldmVudCBtYW5hZ2VyIHRvIG1hbmFnZSBlbGVtZW50cycgcG9pbnRlciBldmVudHMgKi9cbiAgICBldmVudHM/OiAoc3RvcmU6IE5ndFJ4U3RvcmU8Tmd0U3RhdGU+KSA9PiBOZ3RFdmVudE1hbmFnZXI8SFRNTEVsZW1lbnQ+O1xuICAgIC8qKiBUaGUgdGFyZ2V0IHdoZXJlIGV2ZW50cyBhcmUgYmVpbmcgc3Vic2NyaWJlZCB0bywgZGVmYXVsdDogdGhlIGRpdiB0aGF0IHdyYXBzIGNhbnZhcyAqL1xuICAgIGV2ZW50U291cmNlPzogSFRNTEVsZW1lbnQgfCBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgICAvKiogVGhlIGV2ZW50IHByZWZpeCB0aGF0IGlzIGNhc3QgaW50byBjYW52YXMgcG9pbnRlciB4L3kgZXZlbnRzLCBkZWZhdWx0OiBcIm9mZnNldFwiICovXG4gICAgZXZlbnRQcmVmaXg/OiAnb2Zmc2V0JyB8ICdjbGllbnQnIHwgJ3BhZ2UnIHwgJ2xheWVyJyB8ICdzY3JlZW4nO1xuICAgIC8qKiBEZWZhdWx0IGNvb3JkaW5hdGUgZm9yIHRoZSBjYW1lcmEgdG8gbG9vayBhdCAqL1xuICAgIGxvb2tBdD86IFRIUkVFLlZlY3RvcjMgfCBQYXJhbWV0ZXJzPFRIUkVFLlZlY3RvcjNbJ3NldCddPjtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdGhyZWUvc3JjL2xpYi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgdHlwZSB7IE5ndFJ4U3RvcmUgfSBmcm9tICcuL3N0b3Jlcy9yeC1zdG9yZSc7XG5cbmV4cG9ydCB0eXBlIE5ndEFueVJlY29yZCA9IFJlY29yZDxzdHJpbmcsIGFueT47XG5leHBvcnQgdHlwZSBOZ3ROb25GdW5jdGlvbktleXM8VD4gPSB7XG4gICAgW0sgaW4ga2V5b2YgVF0tPzogVFtLXSBleHRlbmRzIEZ1bmN0aW9uID8gbmV2ZXIgOiBLO1xufVtrZXlvZiBUXTtcbmV4cG9ydCB0eXBlIE5ndFByb3BlcnRpZXM8VD4gPSBQaWNrPFQsIHsgW0sgaW4ga2V5b2YgVF06IFRbS10gZXh0ZW5kcyAoXzogYW55KSA9PiBhbnkgPyBuZXZlciA6IEsgfVtrZXlvZiBUXT47XG5leHBvcnQgdHlwZSBOZ3RPdmVyd3JpdGU8VCwgTz4gPSBPbWl0PFQsIE5ndE5vbkZ1bmN0aW9uS2V5czxPPj4gJiBPO1xuXG5leHBvcnQgdHlwZSBOZ3RFcXVDb25maWcgPSB7XG4gICAgLyoqIENvbXBhcmUgYXJyYXlzIGJ5IHJlZmVyZW5jZSBlcXVhbGl0eSBhID09PSBiIChkZWZhdWx0KSwgb3IgYnkgc2hhbGxvdyBlcXVhbGl0eSAqL1xuICAgIGFycmF5cz86ICdyZWZlcmVuY2UnIHwgJ3NoYWxsb3cnO1xuICAgIC8qKiBDb21wYXJlIG9iamVjdHMgYnkgcmVmZXJlbmNlIGVxdWFsaXR5IGEgPT09IGIgKGRlZmF1bHQpLCBvciBieSBzaGFsbG93IGVxdWFsaXR5ICovXG4gICAgb2JqZWN0cz86ICdyZWZlcmVuY2UnIHwgJ3NoYWxsb3cnO1xuICAgIC8qKiBJZiB0cnVlIHRoZSBrZXlzIGluIGJvdGggYSBhbmQgYiBtdXN0IG1hdGNoIDE6MSAoZGVmYXVsdCksIGlmIGZhbHNlIGEncyBrZXlzIG11c3QgaW50ZXJzZWN0IGIncyAqL1xuICAgIHN0cmljdD86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIE5ndEludGVyc2VjdGlvbiBleHRlbmRzIFRIUkVFLkludGVyc2VjdGlvbiB7XG4gICAgLyoqIFRoZSBldmVudCBzb3VyY2UgKHRoZSBvYmplY3Qgd2hpY2ggcmVnaXN0ZXJlZCB0aGUgaGFuZGxlcikgKi9cbiAgICBldmVudE9iamVjdDogVEhSRUUuT2JqZWN0M0Q7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0UG9pbnRlckNhcHR1cmVUYXJnZXQge1xuICAgIGludGVyc2VjdGlvbjogTmd0SW50ZXJzZWN0aW9uO1xuICAgIHRhcmdldDogRWxlbWVudDtcbn1cblxuZXhwb3J0IHR5cGUgTmd0Q2FtZXJhID0gVEhSRUUuT3J0aG9ncmFwaGljQ2FtZXJhIHwgVEhSRUUuUGVyc3BlY3RpdmVDYW1lcmE7XG5leHBvcnQgdHlwZSBOZ3RDYW1lcmFNYW51YWwgPSBOZ3RDYW1lcmEgJiB7IG1hbnVhbD86IGJvb2xlYW4gfTtcblxuZXhwb3J0IGludGVyZmFjZSBOZ3RJbnRlcnNlY3Rpb25FdmVudDxUU291cmNlRXZlbnQ+IGV4dGVuZHMgTmd0SW50ZXJzZWN0aW9uIHtcbiAgICAvKiogVGhlIGV2ZW50IHNvdXJjZSAodGhlIG9iamVjdCB3aGljaCByZWdpc3RlcmVkIHRoZSBoYW5kbGVyKSAqL1xuICAgIGV2ZW50T2JqZWN0OiBUSFJFRS5PYmplY3QzRDtcbiAgICAvKiogQW4gYXJyYXkgb2YgaW50ZXJzZWN0aW9ucyAqL1xuICAgIGludGVyc2VjdGlvbnM6IE5ndEludGVyc2VjdGlvbltdO1xuICAgIC8qKiB2ZWMzLnNldChwb2ludGVyLngsIHBvaW50ZXIueSwgMCkudW5wcm9qZWN0KGNhbWVyYSkgKi9cbiAgICB1bnByb2plY3RlZFBvaW50OiBUSFJFRS5WZWN0b3IzO1xuICAgIC8qKiBOb3JtYWxpemVkIGV2ZW50IGNvb3JkaW5hdGVzICovXG4gICAgcG9pbnRlcjogVEhSRUUuVmVjdG9yMjtcbiAgICAvKiogRGVsdGEgYmV0d2VlbiBmaXJzdCBjbGljayBhbmQgdGhpcyBldmVudCAqL1xuICAgIGRlbHRhOiBudW1iZXI7XG4gICAgLyoqIFRoZSByYXkgdGhhdCBwaWVyY2VkIGl0ICovXG4gICAgcmF5OiBUSFJFRS5SYXk7XG4gICAgLyoqIFRoZSBjYW1lcmEgdGhhdCB3YXMgdXNlZCBieSB0aGUgcmF5Y2FzdGVyICovXG4gICAgY2FtZXJhOiBOZ3RDYW1lcmE7XG4gICAgLyoqIHN0b3BQcm9wYWdhdGlvbiB3aWxsIHN0b3AgdW5kZXJseWluZyBoYW5kbGVycyBmcm9tIGZpcmluZyAqL1xuICAgIHN0b3BQcm9wYWdhdGlvbjogKCkgPT4gdm9pZDtcbiAgICAvKiogVGhlIG9yaWdpbmFsIGhvc3QgZXZlbnQgKi9cbiAgICBuYXRpdmVFdmVudDogVFNvdXJjZUV2ZW50O1xuICAgIC8qKiBJZiB0aGUgZXZlbnQgd2FzIHN0b3BwZWQgYnkgY2FsbGluZyBzdG9wUHJvcGFnYXRpb24gKi9cbiAgICBzdG9wcGVkOiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBOZ3RUaHJlZUV2ZW50PFRFdmVudD4gPSBOZ3RJbnRlcnNlY3Rpb25FdmVudDxURXZlbnQ+ICYgTmd0UHJvcGVydGllczxURXZlbnQ+O1xuZXhwb3J0IHR5cGUgTmd0RG9tRXZlbnQgPSBQb2ludGVyRXZlbnQgfCBNb3VzZUV2ZW50IHwgV2hlZWxFdmVudDtcblxuZXhwb3J0IGludGVyZmFjZSBOZ3RFdmVudHMge1xuICAgIGNsaWNrOiBFdmVudExpc3RlbmVyO1xuICAgIGNvbnRleHRtZW51OiBFdmVudExpc3RlbmVyO1xuICAgIGRibGNsaWNrOiBFdmVudExpc3RlbmVyO1xuICAgIHdoZWVsOiBFdmVudExpc3RlbmVyO1xuICAgIHBvaW50ZXJkb3duOiBFdmVudExpc3RlbmVyO1xuICAgIHBvaW50ZXJ1cDogRXZlbnRMaXN0ZW5lcjtcbiAgICBwb2ludGVybGVhdmU6IEV2ZW50TGlzdGVuZXI7XG4gICAgcG9pbnRlcm1vdmU6IEV2ZW50TGlzdGVuZXI7XG4gICAgcG9pbnRlcmNhbmNlbDogRXZlbnRMaXN0ZW5lcjtcbiAgICBsb3N0cG9pbnRlcmNhcHR1cmU6IEV2ZW50TGlzdGVuZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0RXZlbnRIYW5kbGVycyB7XG4gICAgY2xpY2s/OiAoZXZlbnQ6IE5ndFRocmVlRXZlbnQ8TW91c2VFdmVudD4pID0+IHZvaWQ7XG4gICAgY29udGV4dG1lbnU/OiAoZXZlbnQ6IE5ndFRocmVlRXZlbnQ8TW91c2VFdmVudD4pID0+IHZvaWQ7XG4gICAgZGJsY2xpY2s/OiAoZXZlbnQ6IE5ndFRocmVlRXZlbnQ8TW91c2VFdmVudD4pID0+IHZvaWQ7XG4gICAgcG9pbnRlcnVwPzogKGV2ZW50OiBOZ3RUaHJlZUV2ZW50PFBvaW50ZXJFdmVudD4pID0+IHZvaWQ7XG4gICAgcG9pbnRlcmRvd24/OiAoZXZlbnQ6IE5ndFRocmVlRXZlbnQ8UG9pbnRlckV2ZW50PikgPT4gdm9pZDtcbiAgICBwb2ludGVyb3Zlcj86IChldmVudDogTmd0VGhyZWVFdmVudDxQb2ludGVyRXZlbnQ+KSA9PiB2b2lkO1xuICAgIHBvaW50ZXJvdXQ/OiAoZXZlbnQ6IE5ndFRocmVlRXZlbnQ8UG9pbnRlckV2ZW50PikgPT4gdm9pZDtcbiAgICBwb2ludGVyZW50ZXI/OiAoZXZlbnQ6IE5ndFRocmVlRXZlbnQ8UG9pbnRlckV2ZW50PikgPT4gdm9pZDtcbiAgICBwb2ludGVybGVhdmU/OiAoZXZlbnQ6IE5ndFRocmVlRXZlbnQ8UG9pbnRlckV2ZW50PikgPT4gdm9pZDtcbiAgICBwb2ludGVybW92ZT86IChldmVudDogTmd0VGhyZWVFdmVudDxQb2ludGVyRXZlbnQ+KSA9PiB2b2lkO1xuICAgIHBvaW50ZXJtaXNzZWQ/OiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHZvaWQ7XG4gICAgcG9pbnRlcmNhbmNlbD86IChldmVudDogTmd0VGhyZWVFdmVudDxQb2ludGVyRXZlbnQ+KSA9PiB2b2lkO1xuICAgIHdoZWVsPzogKGV2ZW50OiBOZ3RUaHJlZUV2ZW50PFdoZWVsRXZlbnQ+KSA9PiB2b2lkO1xufVxuXG5leHBvcnQgdHlwZSBOZ3RGaWx0ZXJGdW5jdGlvbiA9IChpdGVtczogVEhSRUUuSW50ZXJzZWN0aW9uW10sIHN0b3JlOiBOZ3RSeFN0b3JlPE5ndFN0YXRlPikgPT4gVEhSRUUuSW50ZXJzZWN0aW9uW107XG5cbmV4cG9ydCB0eXBlIE5ndENvbXB1dGVGdW5jdGlvbiA9IChcbiAgICBldmVudDogTmd0RG9tRXZlbnQsXG4gICAgcm9vdDogTmd0UnhTdG9yZTxOZ3RTdGF0ZT4sXG4gICAgcHJldmlvdXM/OiBOZ3RSeFN0b3JlPE5ndFN0YXRlPlxuKSA9PiB2b2lkO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5ndEV2ZW50TWFuYWdlcjxUVGFyZ2V0ID0gYW55PiB7XG4gICAgLyoqIERldGVybWluZXMgaWYgdGhlIGV2ZW50IGxheWVyIGlzIGFjdGl2ZSAqL1xuICAgIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgLyoqIEV2ZW50IGxheWVyIHByaW9yaXR5LCBoaWdoZXIgcHJpb3JpdGl6ZWQgbGF5ZXJzIGNvbWUgZmlyc3QgYW5kIG1heSBzdG9wKC1wcm9wYWdhdGUpIGxvd2VyIGxheWVyICAqL1xuICAgIHByaW9yaXR5OiBudW1iZXI7XG4gICAgLyoqIFRoZSBjb21wdXRlIGZ1bmN0aW9uIG5lZWRzIHRvIHNldCB1cCB0aGUgcmF5Y2FzdGVyIGFuZCBhbiB4eS0gcG9pbnRlciAgKi9cbiAgICBjb21wdXRlPzogTmd0Q29tcHV0ZUZ1bmN0aW9uO1xuICAgIC8qKiBUaGUgZmlsdGVyIGNhbiByZS1vcmRlciBvciByZS1zdHJ1Y3R1cmUgdGhlIGludGVyc2VjdGlvbnMgICovXG4gICAgZmlsdGVyPzogTmd0RmlsdGVyRnVuY3Rpb247XG4gICAgLyoqIFRoZSB0YXJnZXQgbm9kZSB0aGUgZXZlbnQgbGF5ZXIgaXMgdGllZCB0byAqL1xuICAgIGNvbm5lY3RlZD86IFRUYXJnZXQ7XG4gICAgLyoqIEFsbCB0aGUgcG9pbnRlciBldmVudCBoYW5kbGVycyB0aHJvdWdoIHdoaWNoIHRoZSBob3N0IGZvcndhcmRzIG5hdGl2ZSBldmVudHMgKi9cbiAgICBoYW5kbGVycz86IE5ndEV2ZW50cztcbiAgICAvKiogQWxsb3dzIHJlLWNvbm5lY3RpbmcgdG8gYW5vdGhlciB0YXJnZXQgKi9cbiAgICBjb25uZWN0PzogKHRhcmdldDogVFRhcmdldCkgPT4gdm9pZDtcbiAgICAvKiogUmVtb3ZlcyBhbGwgZXhpc3RpbmcgZXZlbnRzIGhhbmRsZXJzIGZyb20gdGhlIHRhcmdldCAqL1xuICAgIGRpc2Nvbm5lY3Q/OiAoKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5ndFBlcmZvcm1hbmNlIHtcbiAgICAvKiogQ3VycmVudCBwZXJmb3JtYW5jZSBub3JtYWwsIGJldHdlZW4gbWluIGFuZCBtYXggKi9cbiAgICBjdXJyZW50OiBudW1iZXI7XG4gICAgLyoqIEhvdyBsb3cgdGhlIHBlcmZvcm1hbmNlIGNhbiBnbywgYmV0d2VlbiAwIGFuZCBtYXggKi9cbiAgICBtaW46IG51bWJlcjtcbiAgICAvKiogSG93IGhpZ2ggdGhlIHBlcmZvcm1hbmNlIGNhbiBnbywgYmV0d2VlbiBtaW4gYW5kIG1heCAqL1xuICAgIG1heDogbnVtYmVyO1xuICAgIC8qKiBUaW1lIHVudGlsIGN1cnJlbnQgcmV0dXJucyB0byBtYXggaW4gbXMgKi9cbiAgICBkZWJvdW5jZTogbnVtYmVyO1xuICAgIC8qKiBTZXRzIGN1cnJlbnQgdG8gbWluLCBwdXRzIHRoZSBzeXN0ZW0gaW4gcmVncmVzc2lvbiAqL1xuICAgIHJlZ3Jlc3M6ICgpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCB0eXBlIE5ndERwciA9IG51bWJlciB8IFttaW46IG51bWJlciwgbWF4OiBudW1iZXJdO1xuZXhwb3J0IHR5cGUgTmd0U2l6ZSA9IHtcbiAgICB3aWR0aDogbnVtYmVyO1xuICAgIGhlaWdodDogbnVtYmVyO1xuICAgIHRvcDogbnVtYmVyO1xuICAgIGxlZnQ6IG51bWJlcjtcbn07XG5leHBvcnQgdHlwZSBOZ3RWaWV3cG9ydCA9IE5ndFNpemUgJiB7XG4gICAgLyoqIFRoZSBpbml0aWFsIHBpeGVsIHJhdGlvICovXG4gICAgaW5pdGlhbERwcjogbnVtYmVyO1xuICAgIC8qKiBDdXJyZW50IHBpeGVsIHJhdGlvICovXG4gICAgZHByOiBudW1iZXI7XG4gICAgLyoqIHNpemUud2lkdGggLyB2aWV3cG9ydC53aWR0aCAqL1xuICAgIGZhY3RvcjogbnVtYmVyO1xuICAgIC8qKiBDYW1lcmEgZGlzdGFuY2UgKi9cbiAgICBkaXN0YW5jZTogbnVtYmVyO1xuICAgIC8qKiBDYW1lcmEgYXNwZWN0IHJhdGlvOiB3aWR0aCAvIGhlaWdodCAqL1xuICAgIGFzcGVjdDogbnVtYmVyO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBOZ3RSZW5kZXJTdGF0ZSBleHRlbmRzIE5ndFN0YXRlIHtcbiAgICBkZWx0YTogbnVtYmVyO1xuICAgIGZyYW1lPzogWFJGcmFtZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZ3RCZWZvcmVSZW5kZXJFdmVudDxUT2JqZWN0IGV4dGVuZHMgTmd0SW5zdGFuY2VOb2RlID0gTmd0SW5zdGFuY2VOb2RlPiB7XG4gICAgc3RhdGU6IE5ndFJlbmRlclN0YXRlO1xuICAgIG9iamVjdDogVE9iamVjdDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZ3RCZWZvcmVSZW5kZXJSZWNvcmQge1xuICAgIGNhbGxiYWNrOiAoc3RhdGU6IE5ndFJlbmRlclN0YXRlKSA9PiB2b2lkO1xuICAgIHN0b3JlOiBOZ3RSeFN0b3JlPE5ndFN0YXRlPjtcbiAgICBwcmlvcml0eT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZ3RJbnRlcm5hbFN0YXRlIHtcbiAgICBhY3RpdmU6IGJvb2xlYW47XG4gICAgcHJpb3JpdHk6IG51bWJlcjtcbiAgICBmcmFtZXM6IG51bWJlcjtcbiAgICBsYXN0RXZlbnQ6IE5ndERvbUV2ZW50O1xuICAgIGludGVyYWN0aW9uOiBUSFJFRS5PYmplY3QzRFtdO1xuICAgIGhvdmVyZWQ6IE1hcDxzdHJpbmcsIE5ndFRocmVlRXZlbnQ8Tmd0RG9tRXZlbnQ+PjtcbiAgICBzdWJzY3JpYmVyczogTmd0QmVmb3JlUmVuZGVyUmVjb3JkW107XG4gICAgY2FwdHVyZWRNYXA6IE1hcDxudW1iZXIsIE1hcDxUSFJFRS5PYmplY3QzRCwgTmd0UG9pbnRlckNhcHR1cmVUYXJnZXQ+PjtcbiAgICBpbml0aWFsQ2xpY2s6IFt4OiBudW1iZXIsIHk6IG51bWJlcl07XG4gICAgaW5pdGlhbEhpdHM6IFRIUkVFLk9iamVjdDNEW107XG4gICAgc3Vic2NyaWJlOiAoXG4gICAgICAgIGNhbGxiYWNrOiBOZ3RCZWZvcmVSZW5kZXJSZWNvcmRbJ2NhbGxiYWNrJ10sXG4gICAgICAgIHByaW9yaXR5PzogbnVtYmVyLFxuICAgICAgICBzdG9yZT86IE5ndFJ4U3RvcmU8Tmd0U3RhdGU+XG4gICAgKSA9PiAoKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5ndFN0YXRlIHtcbiAgICAvKiogU2V0IGN1cnJlbnQgc3RhdGUgKi9cbiAgICBzZXQ6IE5ndFJ4U3RvcmU8Tmd0U3RhdGU+WydzZXQnXTtcbiAgICAvKiogR2V0IGN1cnJlbnQgc3RhdGUgKi9cbiAgICBnZXQ6IE5ndFJ4U3RvcmU8Tmd0U3RhdGU+WydnZXQnXTtcbiAgICBzZWxlY3Q6IE5ndFJ4U3RvcmU8Tmd0U3RhdGU+WydzZWxlY3QnXTtcbiAgICAvKiogY2FudmFzIHJlYWR5IHN0YXRlICovXG4gICAgcmVhZHk6IGJvb2xlYW47XG4gICAgLyoqIFRoZSBpbnN0YW5jZSBvZiB0aGUgcmVuZGVyZXIgKi9cbiAgICBnbDogVEhSRUUuV2ViR0xSZW5kZXJlcjtcbiAgICAvKiogRGVmYXVsdCBjYW1lcmEgKi9cbiAgICBjYW1lcmE6IE5ndENhbWVyYU1hbnVhbDtcbiAgICAvKiogRGVmYXVsdCBzY2VuZSAqL1xuICAgIHNjZW5lOiBUSFJFRS5TY2VuZTtcbiAgICAvKiogRGVmYXVsdCByYXljYXN0ZXIgKi9cbiAgICByYXljYXN0ZXI6IFRIUkVFLlJheWNhc3RlcjtcbiAgICAvKiogRGVmYXVsdCBjbG9jayAqL1xuICAgIGNsb2NrOiBUSFJFRS5DbG9jaztcbiAgICAvKiogRXZlbnQgbGF5ZXIgaW50ZXJmYWNlLCBjb250YWlucyB0aGUgZXZlbnQgaGFuZGxlciBhbmQgdGhlIG5vZGUgdGhleSdyZSBjb25uZWN0ZWQgdG8gKi9cbiAgICBldmVudHM6IE5ndEV2ZW50TWFuYWdlcjtcbiAgICAvKiogWFIgaW50ZXJmYWNlICovXG4gICAgeHI6IHsgY29ubmVjdDogKCkgPT4gdm9pZDsgZGlzY29ubmVjdDogKCkgPT4gdm9pZCB9O1xuICAgIC8qKiBDdXJyZW50bHkgdXNlZCBjb250cm9scyAqL1xuICAgIGNvbnRyb2xzOiBUSFJFRS5FdmVudERpc3BhdGNoZXIgfCBudWxsO1xuICAgIC8qKiBOb3JtYWxpemVkIGV2ZW50IGNvb3JkaW5hdGVzICovXG4gICAgcG9pbnRlcjogVEhSRUUuVmVjdG9yMjtcbiAgICAvKiBXaGV0aGVyIHRvIGVuYWJsZSByMTM5J3MgQ29sb3JNYW5hZ2VtZW50LmxlZ2FjeU1vZGUgKi9cbiAgICBsZWdhY3k6IGJvb2xlYW47XG4gICAgLyoqIFNob3J0Y3V0IHRvIGdsLm91dHB1dEVuY29kaW5nID0gTGluZWFyRW5jb2RpbmcgKi9cbiAgICBsaW5lYXI6IGJvb2xlYW47XG4gICAgLyoqIFNob3J0Y3V0IHRvIGdsLnRvbmVNYXBwaW5nID0gTm9Ub25lbWFwcGluZyAqL1xuICAgIGZsYXQ6IGJvb2xlYW47XG4gICAgLyoqIFJlbmRlciBsb29wIGZsYWdzICovXG4gICAgZnJhbWVsb29wOiAnYWx3YXlzJyB8ICdkZW1hbmQnIHwgJ25ldmVyJztcbiAgICAvKiogQWRhcHRpdmUgcGVyZm9ybWFuY2UgaW50ZXJmYWNlICovXG4gICAgcGVyZm9ybWFuY2U6IE5ndFBlcmZvcm1hbmNlO1xuICAgIC8qKiBSZWFjdGl2ZSBwaXhlbC1zaXplIG9mIHRoZSBjYW52YXMgKi9cbiAgICBzaXplOiBOZ3RTaXplO1xuICAgIC8qKiBSZWFjdGl2ZSBzaXplIG9mIHRoZSB2aWV3cG9ydCBpbiB0aHJlZWpzIHVuaXRzICovXG4gICAgdmlld3BvcnQ6IE5ndFZpZXdwb3J0ICYge1xuICAgICAgICBnZXRDdXJyZW50Vmlld3BvcnQ6IChcbiAgICAgICAgICAgIGNhbWVyYT86IE5ndENhbWVyYU1hbnVhbCxcbiAgICAgICAgICAgIHRhcmdldD86IFRIUkVFLlZlY3RvcjMgfCBQYXJhbWV0ZXJzPFRIUkVFLlZlY3RvcjNbJ3NldCddPixcbiAgICAgICAgICAgIHNpemU/OiBOZ3RTaXplXG4gICAgICAgICkgPT4gT21pdDxOZ3RWaWV3cG9ydCwgJ2RwcicgfCAnaW5pdGlhbERwcic+O1xuICAgIH07XG4gICAgLyoqIEZsYWdzIHRoZSBjYW52YXMgZm9yIHJlbmRlciwgYnV0IGRvZXNuJ3QgcmVuZGVyIGluIGl0c2VsZiAqL1xuICAgIGludmFsaWRhdGU6IChmcmFtZXM/OiBudW1iZXIpID0+IHZvaWQ7XG4gICAgLyoqIEFkdmFuY2UgKHJlbmRlcikgb25lIHN0ZXAgKi9cbiAgICBhZHZhbmNlOiAodGltZXN0YW1wOiBudW1iZXIsIHJ1bkdsb2JhbEVmZmVjdHM/OiBib29sZWFuKSA9PiB2b2lkO1xuICAgIC8qKiBTaG9ydGN1dCB0byBzZXR0aW5nIHRoZSBldmVudCBsYXllciAqL1xuICAgIHNldEV2ZW50czogKGV2ZW50czogUGFydGlhbDxOZ3RFdmVudE1hbmFnZXI8YW55Pj4pID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogU2hvcnRjdXQgdG8gbWFudWFsIHNpemluZ1xuICAgICAqL1xuICAgIHNldFNpemU6ICh3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlciwgdG9wPzogbnVtYmVyLCBsZWZ0PzogbnVtYmVyLCB1cGRhdGVTdHlsZT86IGJvb2xlYW4pID0+IHZvaWQ7XG4gICAgLyoqIFNob3J0Y3V0IHRvIG1hbnVhbCBzZXR0aW5nIHRoZSBwaXhlbCByYXRpbyAqL1xuICAgIHNldERwcjogKGRwcjogTmd0RHByKSA9PiB2b2lkO1xuICAgIC8qKiBTaG9ydGN1dCB0byBmcmFtZWxvb3AgZmxhZ3MgKi9cbiAgICBzZXRGcmFtZWxvb3A6IChmcmFtZWxvb3A/OiAnYWx3YXlzJyB8ICdkZW1hbmQnIHwgJ25ldmVyJykgPT4gdm9pZDtcbiAgICAvKiogV2hlbiB0aGUgY2FudmFzIHdhcyBjbGlja2VkIGJ1dCBub3RoaW5nIHdhcyBoaXQgKi9cbiAgICBvblBvaW50ZXJNaXNzZWQ/OiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHZvaWQ7XG4gICAgLyoqIElmIHRoaXMgc3RhdGUgbW9kZWwgaXMgbGF5ZXJkICh2aWEgY3JlYXRlUG9ydGFsKSB0aGVuIHRoaXMgY29udGFpbnMgdGhlIHByZXZpb3VzIGxheWVyICovXG4gICAgcHJldmlvdXNTdG9yZT86IE5ndFJ4U3RvcmU8Tmd0U3RhdGU+O1xuICAgIC8qKiBJbnRlcm5hbHMgKi9cbiAgICBpbnRlcm5hbDogTmd0SW50ZXJuYWxTdGF0ZTtcbiAgICAvKiogc2hvcnRjdXRzIGZvciBhZGQgYW5kIHJlbW92ZSBpbnRlcmFjdGlvbiAqL1xuICAgIGFkZEludGVyYWN0aW9uOiAoaW50ZXJhY3Rpb246IFRIUkVFLk9iamVjdDNEKSA9PiB2b2lkO1xuICAgIHJlbW92ZUludGVyYWN0aW9uOiAodXVpZDogc3RyaW5nKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgdHlwZSBOZ3RBdHRhY2hGdW5jdGlvbjxUQ2hpbGQgPSBhbnksIFRQYXJlbnQgPSBhbnk+ID0gKFxuICAgIHBhcmVudDogVFBhcmVudCxcbiAgICBjaGlsZDogVENoaWxkLFxuICAgIHN0b3JlOiBOZ3RSeFN0b3JlPE5ndFN0YXRlPlxuKSA9PiB2b2lkIHwgKCgpID0+IHZvaWQpO1xuXG5leHBvcnQgdHlwZSBOZ3RBZnRlckF0dGFjaDxcbiAgICBUUGFyZW50IGV4dGVuZHMgTmd0SW5zdGFuY2VOb2RlID0gTmd0SW5zdGFuY2VOb2RlLFxuICAgIFRDaGlsZCBleHRlbmRzIE5ndEluc3RhbmNlTm9kZSA9IE5ndEluc3RhbmNlTm9kZVxuPiA9IHsgcGFyZW50OiBUUGFyZW50OyBub2RlOiBUQ2hpbGQgfTtcblxuZXhwb3J0IGludGVyZmFjZSBOZ3RJbnN0YW5jZUxvY2FsU3RhdGUge1xuICAgIC8qKiB0aGUgc3RhdGUgZ2V0dGVyIG9mIHRoZSBjYW52YXMgdGhhdCB0aGUgaW5zdGFuY2UgaXMgYmVpbmcgcmVuZGVyZWQgdG8gKi9cbiAgICBzdG9yZTogTmd0UnhTdG9yZTxOZ3RTdGF0ZT47XG4gICAgLy8gb2JqZWN0cyBhbmQgcGFyZW50IGFyZSB1c2VkIHdoZW4gY2hpbGRyZW4gYXJlIGFkZGVkIHdpdGggYGF0dGFjaGAgaW5zdGVhZCBvZiBiZWluZyBhZGRlZCB0byB0aGUgT2JqZWN0M0Qgc2NlbmUgZ3JhcGhcbiAgICBub25PYmplY3RzOiBCZWhhdmlvclN1YmplY3Q8Tmd0SW5zdGFuY2VOb2RlW10+O1xuICAgIC8vIG9iamVjdHMgdGhhdCBhcmUgT2JqZWN0M0RcbiAgICBvYmplY3RzOiBCZWhhdmlvclN1YmplY3Q8Tmd0SW5zdGFuY2VOb2RlW10+O1xuICAgIC8vIHNob3J0Y3V0IHRvIGFkZC9yZW1vdmUgb2JqZWN0IHRvIGxpc3RcbiAgICBhZGQ6IChpbnN0YW5jZTogTmd0SW5zdGFuY2VOb2RlLCB0eXBlOiAnb2JqZWN0cycgfCAnbm9uT2JqZWN0cycpID0+IHZvaWQ7XG4gICAgcmVtb3ZlOiAoaW5zdGFuY2U6IE5ndEluc3RhbmNlTm9kZSwgdHlwZTogJ29iamVjdHMnIHwgJ25vbk9iamVjdHMnKSA9PiB2b2lkO1xuICAgIC8vIHBhcmVudCBiYXNlZCBvbiBhdHRhY2ggdGhyZWUgaW5zdGFuY2VcbiAgICBwYXJlbnQ6IE5ndEluc3RhbmNlTm9kZSB8IG51bGw7XG4gICAgLy8gaWYgdGhpcyBUSFJFRSBpbnN0YW5jZSBpcyBhIG5ndC1wcmltaXRpdmVcbiAgICBwcmltaXRpdmU/OiBib29sZWFuO1xuICAgIC8vIGlmIHRoaXMgVEhSRUUgb2JqZWN0IGhhcyBhbnkgZXZlbnRzIGJvdW5kIHRvIGl0XG4gICAgZXZlbnRDb3VudDogbnVtYmVyO1xuICAgIC8vIGxpc3Qgb2YgaGFuZGxlcnMgdG8gaGFuZGxlIHRoZSBldmVudHNcbiAgICBoYW5kbGVyczogUGFydGlhbDxOZ3RFdmVudEhhbmRsZXJzPjtcbiAgICAvLyBwcmV2aW91cyBhcmdzXG4gICAgYXJncz86IHVua25vd25bXTtcbiAgICAvLyBhdHRhY2ggaW5mb3JtYXRpb24gc28gdGhhdCB3ZSBjYW4gZGV0YWNoIGFzIHdlbGwgYXMgcmVzZXRcbiAgICBhdHRhY2g/OiBzdHJpbmdbXSB8IE5ndEF0dGFjaEZ1bmN0aW9uO1xuICAgIC8vIHByZXZpb3VzbHkgYXR0YWNoIGluZm9ybWF0aW9uIHNvIHdlIGNhbiByZXNldCBhcyB3ZWxsIGFzIGNsZWFuIHVwXG4gICAgcHJldmlvdXNBdHRhY2g/OiB1bmtub3duIHwgKCgpID0+IHZvaWQpO1xuICAgIC8vIGlzIHJhdyB2YWx1ZVxuICAgIGlzUmF3PzogYm9vbGVhbjtcbiAgICAvLyBwcmlvcml0eSBmb3IgYmVmb3JlIHJlbmRlclxuICAgIHByaW9yaXR5PzogbnVtYmVyO1xuICAgIC8vIGVtaXR0ZXIgYWZ0ZXIgcHJvcHMgdXBkYXRlXG4gICAgYWZ0ZXJVcGRhdGU/OiBFdmVudEVtaXR0ZXI8Tmd0SW5zdGFuY2VOb2RlPjtcbiAgICAvLyBlbWl0dGVyIGFmdGVyIGF0dGFjaGluZyB0byBwYXJlbnRcbiAgICBhZnRlckF0dGFjaD86IEV2ZW50RW1pdHRlcjxOZ3RBZnRlckF0dGFjaD47XG59XG5cbmV4cG9ydCB0eXBlIE5ndEluc3RhbmNlTm9kZTxUTm9kZSA9IGFueT4gPSBUTm9kZSAmIHtcbiAgICBfX25ndF9fOiBOZ3RJbnN0YW5jZUxvY2FsU3RhdGU7XG59ICYgTmd0QW55UmVjb3JkO1xuXG5leHBvcnQgdHlwZSBOZ3RHTFJlbmRlcmVyID0ge1xuICAgIHJlbmRlcjogKHNjZW5lOiBUSFJFRS5TY2VuZSwgY2FtZXJhOiBUSFJFRS5DYW1lcmEpID0+IHZvaWQ7XG59O1xuXG5leHBvcnQgdHlwZSBOZ3RHTE9wdGlvbnMgPVxuICAgIHwgTmd0R0xSZW5kZXJlclxuICAgIHwgKChjYW52YXM6IEhUTUxDYW52YXNFbGVtZW50KSA9PiBOZ3RHTFJlbmRlcmVyKVxuICAgIHwgUGFydGlhbDxOZ3RQcm9wZXJ0aWVzPFRIUkVFLldlYkdMUmVuZGVyZXI+IHwgVEhSRUUuV2ViR0xSZW5kZXJlclBhcmFtZXRlcnM+XG4gICAgfCB1bmRlZmluZWQ7XG5cbmV4cG9ydCB0eXBlIE5ndEV4dGVuZGVkQ29sb3JzPFQ+ID0ge1xuICAgIFtLIGluIGtleW9mIFRdOiBUW0tdIGV4dGVuZHMgVEhSRUUuQ29sb3IgfCB1bmRlZmluZWQgPyBUSFJFRS5Db2xvclJlcHJlc2VudGF0aW9uIDogVFtLXTtcbn07XG5cbi8qKlxuICogSWYgKipUKiogY29udGFpbnMgYSBjb25zdHJ1Y3RvciwgQHNlZSBDb25zdHJ1Y3RvclBhcmFtZXRlcnMgbXVzdCBiZSB1c2VkLCBvdGhlcndpc2UgKipUKiouXG4gKi9cbmV4cG9ydCB0eXBlIE5ndE5vZGVBcmdzPFQ+ID0gVCBleHRlbmRzIG5ldyAoLi4uYXJnczogYW55KSA9PiBhbnkgPyBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8VD4gOiBUO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5ndE5vZGVQcm9wczxQPiB7XG4gICAgYXR0YWNoPzogc3RyaW5nW107XG4gICAgLyoqIENvbnN0cnVjdG9yIGFyZ3VtZW50cyAqL1xuICAgIGFyZ3M/OiBOZ3ROb2RlQXJnczxQPjtcbn1cblxuZXhwb3J0IHR5cGUgTmd0Tm9kZTxULCBQPiA9IE5ndEV4dGVuZGVkQ29sb3JzPE5ndE92ZXJ3cml0ZTxQYXJ0aWFsPFQ+LCBOZ3ROb2RlUHJvcHM8UD4+PjtcbmV4cG9ydCB0eXBlIE5ndE9iamVjdDNETm9kZTxULCBQPiA9IE5ndE92ZXJ3cml0ZTxcbiAgICBOZ3ROb2RlPFQsIFA+LFxuICAgIHtcbiAgICAgICAgcG9zaXRpb24/OiBUSFJFRS5WZWN0b3IzIHwgUGFyYW1ldGVyczxUSFJFRS5WZWN0b3IzWydzZXQnXT47XG4gICAgICAgIHVwPzogVEhSRUUuVmVjdG9yMyB8IFBhcmFtZXRlcnM8VEhSRUUuVmVjdG9yM1snc2V0J10+O1xuICAgICAgICBzY2FsZT86IFRIUkVFLlZlY3RvcjMgfCBQYXJhbWV0ZXJzPFRIUkVFLlZlY3RvcjNbJ3NldCddPjtcbiAgICAgICAgcm90YXRpb24/OiBUSFJFRS5FdWxlciB8IFBhcmFtZXRlcnM8VEhSRUUuRXVsZXJbJ3NldCddPjtcbiAgICAgICAgbWF0cml4PzogVEhSRUUuTWF0cml4NCB8IFBhcmFtZXRlcnM8VEhSRUUuTWF0cml4NFsnc2V0J10+O1xuICAgICAgICBxdWF0ZXJuaW9uPzogVEhSRUUuUXVhdGVybmlvbiB8IFBhcmFtZXRlcnM8VEhSRUUuUXVhdGVybmlvblsnc2V0J10+O1xuICAgICAgICBsYXllcnM/OiBUSFJFRS5MYXllcnMgfCBQYXJhbWV0ZXJzPFRIUkVFLkxheWVyc1snc2V0J10+O1xuICAgIH1cbj4gJlxuICAgIE5ndEV2ZW50SGFuZGxlcnM7XG5cbmV4cG9ydCB0eXBlIE5ndENvbmRpdGlvbmFsVHlwZTxDaGlsZCwgUGFyZW50LCBUcnV0aHksIEZhbHN5PiA9IENoaWxkIGV4dGVuZHMgUGFyZW50ID8gVHJ1dGh5IDogRmFsc3k7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0TG9hZGVyUHJvdG88VD4gZXh0ZW5kcyBUSFJFRS5Mb2FkZXIge1xuICAgIGxvYWQoXG4gICAgICAgIHVybDogc3RyaW5nIHwgc3RyaW5nW10sXG4gICAgICAgIG9uTG9hZD86IChyZXN1bHQ6IFQpID0+IHZvaWQsXG4gICAgICAgIG9uUHJvZ3Jlc3M/OiAoZXZlbnQ6IFByb2dyZXNzRXZlbnQpID0+IHZvaWQsXG4gICAgICAgIG9uRXJyb3I/OiAoZXZlbnQ6IEVycm9yRXZlbnQpID0+IHZvaWRcbiAgICApOiB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5ndExvYWRlckV4dGVuc2lvbnM8VExvYWRlciBleHRlbmRzIFRIUkVFLkxvYWRlciA9IFRIUkVFLkxvYWRlcj4ge1xuICAgIChsb2FkZXI6IFRMb2FkZXIpOiB2b2lkO1xufVxuXG5leHBvcnQgdHlwZSBOZ3RMb2FkZXJSZXN1bHQ8VD4gPSBUIGV4dGVuZHMgYW55W10gPyBOZ3RMb2FkZXJQcm90bzxUW251bWJlcl0+IDogTmd0TG9hZGVyUHJvdG88VD47XG5leHBvcnQgdHlwZSBOZ3RCcmFuY2hpbmdSZXR1cm48VCA9IGFueSwgUGFyZW50ID0gYW55LCBDb2VyY2VkID0gYW55PiA9IE5ndENvbmRpdGlvbmFsVHlwZTxULCBQYXJlbnQsIENvZXJjZWQsIFQ+O1xuXG5leHBvcnQgaW50ZXJmYWNlIE5ndE9iamVjdE1hcCB7XG4gICAgbm9kZXM6IHsgW25hbWU6IHN0cmluZ106IFRIUkVFLk9iamVjdDNEIH07XG4gICAgbWF0ZXJpYWxzOiB7IFtuYW1lOiBzdHJpbmddOiBUSFJFRS5NYXRlcmlhbCB9O1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZ3RDYW52YXNJbnB1dHMge1xuICAgIC8qKiBBIHRocmVlanMgcmVuZGVyZXIgaW5zdGFuY2Ugb3IgcHJvcHMgdGhhdCBnbyBpbnRvIHRoZSBkZWZhdWx0IHJlbmRlcmVyICovXG4gICAgZ2w/OiBOZ3RHTE9wdGlvbnM7XG4gICAgLyoqIERpbWVuc2lvbnMgdG8gZml0IHRoZSByZW5kZXJlciB0by4gV2lsbCBtZWFzdXJlIGNhbnZhcyBkaW1lbnNpb25zIGlmIG9taXR0ZWQgKi9cbiAgICBzaXplPzogTmd0U2l6ZTtcbiAgICAvKipcbiAgICAgKiBFbmFibGVzIFBDRnNvZnQgc2hhZG93cy4gQ2FuIGFjY2VwdCBgZ2wuc2hhZG93TWFwYCBvcHRpb25zIGZvciBmaW5lLXR1bmluZy5cbiAgICAgKiBAc2VlIGh0dHBzOi8vdGhyZWVqcy5vcmcvZG9jcy8jYXBpL2VuL3JlbmRlcmVycy9XZWJHTFJlbmRlcmVyLnNoYWRvd01hcFxuICAgICAqL1xuICAgIHNoYWRvd3M/OiBib29sZWFuIHwgUGFydGlhbDxUSFJFRS5XZWJHTFNoYWRvd01hcD47XG4gICAgLyoqXG4gICAgICogRGlzYWJsZXMgdGhyZWUgcjEzOSBjb2xvciBtYW5hZ2VtZW50LlxuICAgICAqIEBzZWUgaHR0cHM6Ly90aHJlZWpzLm9yZy9kb2NzLyNtYW51YWwvZW4vaW50cm9kdWN0aW9uL0NvbG9yLW1hbmFnZW1lbnRcbiAgICAgKi9cbiAgICBsZWdhY3k/OiBib29sZWFuO1xuICAgIC8qKiBTd2l0Y2ggb2ZmIGF1dG9tYXRpYyBzUkdCIGVuY29kaW5nIGFuZCBnYW1tYSBjb3JyZWN0aW9uICovXG4gICAgbGluZWFyPzogYm9vbGVhbjtcbiAgICAvKiogVXNlIGBOb1RvbmVNYXBwaW5nYCBpbnN0ZWFkIG9mIGBBQ0VTRmlsbWljVG9uZU1hcHBpbmdgICovXG4gICAgZmxhdD86IGJvb2xlYW47XG4gICAgLyoqIENyZWF0ZXMgYW4gb3J0aG9ncmFwaGljIGNhbWVyYSAqL1xuICAgIG9ydGhvZ3JhcGhpYz86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogUjNGJ3MgcmVuZGVyIG1vZGUuIFNldCB0byBgZGVtYW5kYCB0byBvbmx5IHJlbmRlciBvbiBzdGF0ZSBjaGFuZ2Ugb3IgYG5ldmVyYCB0byB0YWtlIGNvbnRyb2wuXG4gICAgICogQHNlZSBodHRwczovL2RvY3MucG1uZC5ycy9yZWFjdC10aHJlZS1maWJlci9hZHZhbmNlZC9zY2FsaW5nLXBlcmZvcm1hbmNlI29uLWRlbWFuZC1yZW5kZXJpbmdcbiAgICAgKi9cbiAgICBmcmFtZWxvb3A/OiAnYWx3YXlzJyB8ICdkZW1hbmQnIHwgJ25ldmVyJztcbiAgICAvKipcbiAgICAgKiBSM0YgcGVyZm9ybWFuY2Ugb3B0aW9ucyBmb3IgYWRhcHRpdmUgcGVyZm9ybWFuY2UuXG4gICAgICogQHNlZSBodHRwczovL2RvY3MucG1uZC5ycy9yZWFjdC10aHJlZS1maWJlci9hZHZhbmNlZC9zY2FsaW5nLXBlcmZvcm1hbmNlI21vdmVtZW50LXJlZ3Jlc3Npb25cbiAgICAgKi9cbiAgICBwZXJmb3JtYW5jZT86IFBhcnRpYWw8T21pdDxOZ3RQZXJmb3JtYW5jZSwgJ3JlZ3Jlc3MnPj47XG4gICAgLyoqIFRhcmdldCBwaXhlbCByYXRpby4gQ2FuIGNsYW1wIGJldHdlZW4gYSByYW5nZTogYFttaW4sIG1heF1gICovXG4gICAgZHByPzogTmd0RHByO1xuICAgIC8qKiBQcm9wcyB0aGF0IGdvIGludG8gdGhlIGRlZmF1bHQgcmF5Y2FzdGVyICovXG4gICAgcmF5Y2FzdGVyPzogUGFydGlhbDxUSFJFRS5SYXljYXN0ZXI+O1xuICAgIC8qKiBBIGBDYW1lcmFgIGluc3RhbmNlIG9yIHByb3BzIHRoYXQgZ28gaW50byB0aGUgZGVmYXVsdCBjYW1lcmEgKi9cbiAgICBjYW1lcmE/OiAoXG4gICAgICAgIHwgTmd0Q2FtZXJhXG4gICAgICAgIHwgUGFydGlhbDxcbiAgICAgICAgICAgICAgTmd0T2JqZWN0M0ROb2RlPFRIUkVFLkNhbWVyYSwgdHlwZW9mIFRIUkVFLkNhbWVyYT4gJlxuICAgICAgICAgICAgICAgICAgTmd0T2JqZWN0M0ROb2RlPFRIUkVFLlBlcnNwZWN0aXZlQ2FtZXJhLCB0eXBlb2YgVEhSRUUuUGVyc3BlY3RpdmVDYW1lcmE+ICZcbiAgICAgICAgICAgICAgICAgIE5ndE9iamVjdDNETm9kZTxUSFJFRS5PcnRob2dyYXBoaWNDYW1lcmEsIHR5cGVvZiBUSFJFRS5PcnRob2dyYXBoaWNDYW1lcmE+XG4gICAgICAgICAgPlxuICAgICkgJiB7XG4gICAgICAgIC8qKiBGbGFncyB0aGUgY2FtZXJhIGFzIG1hbnVhbCwgcHV0dGluZyBwcm9qZWN0aW9uIGludG8geW91ciBvd24gaGFuZHMgKi9cbiAgICAgICAgbWFudWFsPzogYm9vbGVhbjtcbiAgICB9O1xuICAgIC8qKiBBbiBSM0YgZXZlbnQgbWFuYWdlciB0byBtYW5hZ2UgZWxlbWVudHMnIHBvaW50ZXIgZXZlbnRzICovXG4gICAgZXZlbnRzPzogKHN0b3JlOiBOZ3RSeFN0b3JlPE5ndFN0YXRlPikgPT4gTmd0RXZlbnRNYW5hZ2VyPEhUTUxFbGVtZW50PjtcbiAgICAvKiogVGhlIHRhcmdldCB3aGVyZSBldmVudHMgYXJlIGJlaW5nIHN1YnNjcmliZWQgdG8sIGRlZmF1bHQ6IHRoZSBkaXYgdGhhdCB3cmFwcyBjYW52YXMgKi9cbiAgICBldmVudFNvdXJjZT86IEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gICAgLyoqIFRoZSBldmVudCBwcmVmaXggdGhhdCBpcyBjYXN0IGludG8gY2FudmFzIHBvaW50ZXIgeC95IGV2ZW50cywgZGVmYXVsdDogXCJvZmZzZXRcIiAqL1xuICAgIGV2ZW50UHJlZml4PzogJ29mZnNldCcgfCAnY2xpZW50JyB8ICdwYWdlJyB8ICdsYXllcicgfCAnc2NyZWVuJztcbiAgICAvKiogRGVmYXVsdCBjb29yZGluYXRlIGZvciB0aGUgY2FtZXJhIHRvIGxvb2sgYXQgKi9cbiAgICBsb29rQXQ/OiBUSFJFRS5WZWN0b3IzIHwgUGFyYW1ldGVyczxUSFJFRS5WZWN0b3IzWydzZXQnXT47XG59XG4iXX0=
@@ -1,12 +1,11 @@
1
1
  import * as i0 from '@angular/core';
2
- import { ElementRef, Injectable, inject, InjectionToken, ViewContainerRef, TemplateRef, Directive, Input, EventEmitter, getDebugNode, ChangeDetectorRef, RendererFactory2, EnvironmentInjector, createEnvironmentInjector, Component, HostBinding, Output, ViewChild, Pipe, SkipSelf, ContentChild } from '@angular/core';
2
+ import { ElementRef, Injectable, inject, InjectionToken, ViewContainerRef, TemplateRef, Directive, Input, EventEmitter, getDebugNode, RendererFactory2, ChangeDetectorRef, EnvironmentInjector, createEnvironmentInjector, Component, HostBinding, Output, ViewChild, Pipe, SkipSelf, ContentChild } from '@angular/core';
3
3
  import { provideNgxResizeOptions, NgxResize } from 'ngx-resize';
4
4
  import { isObservable, of, map, from, tap, retry, catchError, share, ReplaySubject, switchMap, forkJoin, take, BehaviorSubject, startWith, filter, distinctUntilChanged, takeUntil, merge } from 'rxjs';
5
5
  import * as THREE from 'three';
6
6
  import { __rest, __classPrivateFieldGet } from 'tslib';
7
7
  import { DOCUMENT, NgForOf, NgIf } from '@angular/common';
8
8
  import { RxState, selectSlice } from '@rx-angular/state';
9
- import { ɵDomRendererFactory2 } from '@angular/platform-browser';
10
9
 
11
10
  const idCache = {};
12
11
  function makeId(event) {
@@ -1513,6 +1512,10 @@ class NgtRendererStore {
1513
1512
  undefined,
1514
1513
  ];
1515
1514
  const rendererNode = Object.assign(node, { __ngt_renderer__: state });
1515
+ // assign ownerDocument to node so we can use HostListener in Component
1516
+ if (!rendererNode['ownerDocument']) {
1517
+ rendererNode['ownerDocument'] = this.root.document;
1518
+ }
1516
1519
  if (state[0 /* NgtRendererClassId.type */] === 'comment') {
1517
1520
  state[13 /* NgtRendererClassId.injectorFactory */] = () => getDebugNode(rendererNode).injector;
1518
1521
  // we attach an arrow function to the Comment node
@@ -1671,6 +1674,9 @@ class NgtRendererStore {
1671
1674
  isCompound(name) {
1672
1675
  return this.root.compoundPrefixes.some((prefix) => name.startsWith(prefix));
1673
1676
  }
1677
+ isDocument(node) {
1678
+ return node === this.root.document;
1679
+ }
1674
1680
  get rootScene() {
1675
1681
  return this.root.store.get('scene');
1676
1682
  }
@@ -1846,17 +1852,18 @@ class NgtRendererStore {
1846
1852
 
1847
1853
  class NgtRendererFactory {
1848
1854
  constructor() {
1849
- this.domRendererFactory = inject(ɵDomRendererFactory2);
1855
+ this.delegateRendererFactory = inject(RendererFactory2, { skipSelf: true });
1850
1856
  this.cdr = inject(ChangeDetectorRef);
1851
1857
  this.store = inject(NgtStore);
1852
1858
  this.catalogue = inject(NGT_CATALOGUE);
1853
1859
  this.compoundPrefixes = inject(NGT_COMPOUND_PREFIXES);
1860
+ this.document = inject(DOCUMENT);
1854
1861
  this.rendererMap = new Map();
1855
1862
  }
1856
1863
  createRenderer(hostElement, type) {
1857
- const domRenderer = this.domRendererFactory.createRenderer(hostElement, type);
1864
+ const delegateRenderer = this.delegateRendererFactory.createRenderer(hostElement, type);
1858
1865
  if (!type)
1859
- return domRenderer;
1866
+ return delegateRenderer;
1860
1867
  let renderer = this.rendererMap.get(type.id);
1861
1868
  if (renderer)
1862
1869
  return renderer;
@@ -1865,8 +1872,9 @@ class NgtRendererFactory {
1865
1872
  store: this.store,
1866
1873
  cdr: this.cdr,
1867
1874
  compoundPrefixes: this.compoundPrefixes,
1875
+ document: this.document,
1868
1876
  });
1869
- renderer = new NgtRenderer(domRenderer, store, this.catalogue, true);
1877
+ renderer = new NgtRenderer(delegateRenderer, store, this.catalogue, true);
1870
1878
  this.rendererMap.set(type.id, renderer);
1871
1879
  }
1872
1880
  if (!renderer) {
@@ -1874,8 +1882,9 @@ class NgtRendererFactory {
1874
1882
  store: this.store,
1875
1883
  cdr: this.cdr,
1876
1884
  compoundPrefixes: this.compoundPrefixes,
1885
+ document: this.document,
1877
1886
  });
1878
- renderer = new NgtRenderer(domRenderer, store, this.catalogue);
1887
+ renderer = new NgtRenderer(delegateRenderer, store, this.catalogue);
1879
1888
  this.rendererMap.set(type.id, renderer);
1880
1889
  }
1881
1890
  return renderer;
@@ -1887,26 +1896,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
1887
1896
  type: Injectable
1888
1897
  }] });
1889
1898
  class NgtRenderer {
1890
- constructor(domRenderer, store, catalogue, root = false) {
1891
- this.domRenderer = domRenderer;
1899
+ constructor(delegate, store, catalogue, root = false) {
1900
+ this.delegate = delegate;
1892
1901
  this.store = store;
1893
1902
  this.catalogue = catalogue;
1894
1903
  this.root = root;
1895
1904
  this.first = false;
1896
- this.createText = this.domRenderer.createText.bind(this.domRenderer);
1897
- this.destroy = this.domRenderer.destroy.bind(this.domRenderer);
1905
+ this.createText = this.delegate.createText.bind(this.delegate);
1906
+ this.destroy = this.delegate.destroy.bind(this.delegate);
1898
1907
  this.destroyNode = null;
1899
- this.selectRootElement = this.domRenderer.selectRootElement.bind(this.domRenderer);
1900
- this.nextSibling = this.domRenderer.nextSibling.bind(this.domRenderer);
1901
- this.removeAttribute = this.domRenderer.removeAttribute.bind(this.domRenderer);
1902
- this.addClass = this.domRenderer.addClass.bind(this.domRenderer);
1903
- this.removeClass = this.domRenderer.removeClass.bind(this.domRenderer);
1904
- this.setStyle = this.domRenderer.setStyle.bind(this.domRenderer);
1905
- this.removeStyle = this.domRenderer.removeStyle.bind(this.domRenderer);
1906
- this.setValue = this.domRenderer.setValue.bind(this.domRenderer);
1908
+ this.selectRootElement = this.delegate.selectRootElement.bind(this.delegate);
1909
+ this.nextSibling = this.delegate.nextSibling.bind(this.delegate);
1910
+ this.removeAttribute = this.delegate.removeAttribute.bind(this.delegate);
1911
+ this.addClass = this.delegate.addClass.bind(this.delegate);
1912
+ this.removeClass = this.delegate.removeClass.bind(this.delegate);
1913
+ this.setStyle = this.delegate.setStyle.bind(this.delegate);
1914
+ this.removeStyle = this.delegate.removeStyle.bind(this.delegate);
1915
+ this.setValue = this.delegate.setValue.bind(this.delegate);
1907
1916
  }
1908
1917
  createElement(name, namespace) {
1909
- const element = this.domRenderer.createElement(name, namespace);
1918
+ const element = this.delegate.createElement(name, namespace);
1910
1919
  // on first pass, we return the Root Scene as the root node
1911
1920
  if (this.root && !this.first) {
1912
1921
  this.first = true;
@@ -1957,7 +1966,7 @@ class NgtRenderer {
1957
1966
  return this.store.createNode('dom', element);
1958
1967
  }
1959
1968
  createComment(value) {
1960
- const comment = this.domRenderer.createComment(value);
1969
+ const comment = this.delegate.createComment(value);
1961
1970
  return this.store.createNode('comment', comment);
1962
1971
  }
1963
1972
  appendChild(parent, newChild) {
@@ -2080,7 +2089,7 @@ class NgtRenderer {
2080
2089
  var _a;
2081
2090
  if ((_a = node.__ngt_renderer__) === null || _a === void 0 ? void 0 : _a[1 /* NgtRendererClassId.parent */])
2082
2091
  return node.__ngt_renderer__[1 /* NgtRendererClassId.parent */];
2083
- return this.domRenderer.parentNode(node);
2092
+ return this.delegate.parentNode(node);
2084
2093
  }
2085
2094
  setAttribute(el, name, value, namespace) {
2086
2095
  if (el.__ngt_renderer__[0 /* NgtRendererClassId.type */] === 'compound') {
@@ -2118,6 +2127,10 @@ class NgtRenderer {
2118
2127
  }
2119
2128
  }
2120
2129
  listen(target, eventName, callback) {
2130
+ // if target is Document (DOM), then we pass that to delegate Renderer
2131
+ if (this.store.isDocument(target)) {
2132
+ return this.delegate.listen(target, eventName, callback);
2133
+ }
2121
2134
  if (target.__ngt_renderer__[0 /* NgtRendererClassId.type */] === 'three' ||
2122
2135
  (target.__ngt_renderer__[0 /* NgtRendererClassId.type */] === 'compound' &&
2123
2136
  target.__ngt_renderer__[6 /* NgtRendererClassId.compounded */])) {
@@ -2135,7 +2148,7 @@ class NgtRenderer {
2135
2148
  return () => { };
2136
2149
  }
2137
2150
  get data() {
2138
- return this.domRenderer.data;
2151
+ return this.delegate.data;
2139
2152
  }
2140
2153
  }
2141
2154
 
@@ -2822,5 +2835,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
2822
2835
  * Generated bundle index. Do not edit.
2823
2836
  */
2824
2837
 
2825
- export { NGT_CATALOGUE, NgtArgs, NgtCanvas, NgtPortal, NgtPortalBeforeRender, NgtPortalContent, NgtPush, NgtRepeat, NgtRxStore, NgtStore, checkNeedsUpdate, checkUpdate, createAttachFunction, extend, getLocalState, injectBeforeRender, injectNgtDestroy, injectNgtLoader, injectNgtRef, invalidateInstance, is, makeDefaultCamera, makeDefaultRenderer, makeDpr, makeId, makeObjectGraph, prepare, rootStateMap, startWithUndefined, tapEffect, updateCamera };
2838
+ export { NGT_CATALOGUE, NgtArgs, NgtCanvas, NgtPortal, NgtPortalBeforeRender, NgtPortalContent, NgtPush, NgtRepeat, NgtRxStore, NgtStore, applyProps, checkNeedsUpdate, checkUpdate, createAttachFunction, extend, getLocalState, injectBeforeRender, injectNgtDestroy, injectNgtLoader, injectNgtRef, invalidateInstance, is, makeDefaultCamera, makeDefaultRenderer, makeDpr, makeId, makeObjectGraph, prepare, rootStateMap, startWithUndefined, tapEffect, updateCamera };
2826
2839
  //# sourceMappingURL=angular-three.mjs.map