Socket
Socket
Sign inDemoInstall

@glimmer/object-reference

Package Overview
Dependencies
Maintainers
10
Versions
160
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@glimmer/object-reference - npm Package Compare versions

Comparing version 0.28.3 to 0.29.0

2

dist/amd/es5/glimmer-object-reference.js

@@ -377,2 +377,2 @@ define('@glimmer/object-reference', ['exports', '@glimmer/util', '@glimmer/reference'], function (exports, _glimmer_util, _glimmer_reference) { 'use strict';

//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xpbW1lci1vYmplY3QtcmVmZXJlbmNlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AZ2xpbW1lci9vYmplY3QtcmVmZXJlbmNlL2xpYi91dGlscy50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL29iamVjdC1yZWZlcmVuY2UvbGliL3JlZmVyZW5jZXMvcGF0aC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL29iamVjdC1yZWZlcmVuY2UvbGliL3JlZmVyZW5jZXMvcm9vdC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL29iamVjdC1yZWZlcmVuY2UvbGliL21ldGEudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AZ2xpbW1lci9vYmplY3QtcmVmZXJlbmNlL2xpYi9yZWZlcmVuY2VzL2Rlc2NyaXB0b3JzLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQGdsaW1tZXIvb2JqZWN0LXJlZmVyZW5jZS9saWIvb2JqZWN0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBFTVBUWV9DQUNIRSgpIHt9XG4iLCJpbXBvcnQgeyBFTVBUWV9DQUNIRSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IGRpY3QgfSBmcm9tICdAZ2xpbW1lci91dGlsJztcbmltcG9ydCBNZXRhIGZyb20gJy4uL21ldGEnO1xuaW1wb3J0IHsgUHJvcGVydHlSZWZlcmVuY2UgfSBmcm9tICcuL2Rlc2NyaXB0b3JzJztcbmltcG9ydCB7IFZPTEFUSUxFX1RBRywgUGF0aFJlZmVyZW5jZSBhcyBJUGF0aFJlZmVyZW5jZSwgUmVmZXJlbmNlLCBUYWcgfSBmcm9tICdAZ2xpbW1lci9yZWZlcmVuY2UnO1xuaW1wb3J0IHsgRGljdCwgSGFzR3VpZCB9IGZyb20gJ0BnbGltbWVyL3V0aWwnO1xuaW1wb3J0IHsgT3B0aW9uIH0gZnJvbSBcIkBnbGltbWVyL2ludGVyZmFjZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUGF0aFJlZmVyZW5jZTxUPiBpbXBsZW1lbnRzIElQYXRoUmVmZXJlbmNlPFQ+LCBIYXNHdWlkIHtcbiAgcHJpdmF0ZSBwYXJlbnQ6IElQYXRoUmVmZXJlbmNlPGFueT47XG4gIHByaXZhdGUgcHJvcGVydHk6IHN0cmluZztcbiAgcHJvdGVjdGVkIGNhY2hlOiBhbnkgPSBFTVBUWV9DQUNIRTtcbiAgcHJpdmF0ZSBpbm5lcjogT3B0aW9uPFJlZmVyZW5jZTxUPj4gPSBudWxsO1xuICBwcml2YXRlIGNoYWluczogT3B0aW9uPERpY3Q8UGF0aFJlZmVyZW5jZTxhbnk+Pj4gPSBudWxsO1xuICBwcml2YXRlIGxhc3RQYXJlbnRWYWx1ZTogYW55ID0gRU1QVFlfQ0FDSEU7XG4gIHB1YmxpYyBfZ3VpZCA9IDA7XG4gIHB1YmxpYyB0YWc6IFRhZyA9IFZPTEFUSUxFX1RBRztcblxuICBjb25zdHJ1Y3RvcihwYXJlbnQ6IElQYXRoUmVmZXJlbmNlPFQ+LCBwcm9wZXJ0eTogc3RyaW5nKSB7XG4gICAgdGhpcy5wYXJlbnQgPSBwYXJlbnQ7XG4gICAgdGhpcy5wcm9wZXJ0eSA9IHByb3BlcnR5O1xuICB9XG5cbiAgdmFsdWUoKTogYW55IHtcbiAgICBsZXQgeyBsYXN0UGFyZW50VmFsdWUsIHByb3BlcnR5LCBpbm5lciB9ID0gdGhpcztcbiAgICBsZXQgcGFyZW50VmFsdWUgPSB0aGlzLl9wYXJlbnRWYWx1ZSgpO1xuXG4gICAgaWYgKHBhcmVudFZhbHVlID09PSBudWxsIHx8IHBhcmVudFZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiAodGhpcy5jYWNoZSA9IHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgaWYgKGxhc3RQYXJlbnRWYWx1ZSA9PT0gcGFyZW50VmFsdWUpIHtcbiAgICAgIGlubmVyID0gdGhpcy5pbm5lcjtcbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IFJlZmVyZW5jZVR5cGUgPSB0eXBlb2YgcGFyZW50VmFsdWUgPT09ICdvYmplY3QnID8gTWV0YS5mb3IocGFyZW50VmFsdWUpLnJlZmVyZW5jZVR5cGVGb3IocHJvcGVydHkpIDogUHJvcGVydHlSZWZlcmVuY2U7XG4gICAgICBpbm5lciA9IHRoaXMuaW5uZXIgPSBuZXcgUmVmZXJlbmNlVHlwZShwYXJlbnRWYWx1ZSwgcHJvcGVydHksIHRoaXMpO1xuICAgIH1cblxuICAgIC8vIGlmICh0eXBlb2YgcGFyZW50VmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgLy8gICBNZXRhLmZvcihwYXJlbnRWYWx1ZSkuYWRkUmVmZXJlbmNlKHByb3BlcnR5LCB0aGlzKTtcbiAgICAvLyB9XG5cbiAgICByZXR1cm4gKHRoaXMuY2FjaGUgPSBpbm5lciEudmFsdWUoKSk7XG4gIH1cblxuICBnZXQocHJvcDogc3RyaW5nKTogSVBhdGhSZWZlcmVuY2U8YW55PiB7XG4gICAgbGV0IGNoYWlucyA9IHRoaXMuX2dldENoYWlucygpO1xuICAgIGlmICg8c3RyaW5nPnByb3AgaW4gY2hhaW5zKSByZXR1cm4gY2hhaW5zW3Byb3BdO1xuICAgIHJldHVybiAoY2hhaW5zW3Byb3BdID0gbmV3IFBhdGhSZWZlcmVuY2UodGhpcywgcHJvcCkpO1xuICB9XG5cbiAgbGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ1tyZWZlcmVuY2UgRGlyZWN0XSc7XG4gIH1cblxuICBwcml2YXRlIF9nZXRDaGFpbnMoKTogRGljdDxQYXRoUmVmZXJlbmNlPGFueT4+IHtcbiAgICBpZiAodGhpcy5jaGFpbnMpIHJldHVybiB0aGlzLmNoYWlucztcbiAgICByZXR1cm4gKHRoaXMuY2hhaW5zID0gZGljdDxQYXRoUmVmZXJlbmNlPGFueT4+KCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcGFyZW50VmFsdWUoKSB7XG4gICAgbGV0IHBhcmVudCA9IHRoaXMucGFyZW50LnZhbHVlKCk7XG4gICAgdGhpcy5sYXN0UGFyZW50VmFsdWUgPSBwYXJlbnQ7XG4gICAgcmV0dXJuIHBhcmVudDtcbiAgfVxufVxuXG5leHBvcnQgeyBQYXRoUmVmZXJlbmNlIH07XG4iLCJpbXBvcnQgeyBPcGFxdWUsIGRpY3QgfSBmcm9tICdAZ2xpbW1lci91dGlsJztcbmltcG9ydCB7IFBhdGhSZWZlcmVuY2UgfSBmcm9tICcuL3BhdGgnO1xuaW1wb3J0IHsgUm9vdFJlZmVyZW5jZSBhcyBJUm9vdFJlZmVyZW5jZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IFZPTEFUSUxFX1RBRywgUGF0aFJlZmVyZW5jZSBhcyBJUGF0aFJlZmVyZW5jZSwgVGFnIH0gZnJvbSAnQGdsaW1tZXIvcmVmZXJlbmNlJztcbmltcG9ydCB7IE9wdGlvbiB9IGZyb20gXCJAZ2xpbW1lci9pbnRlcmZhY2VzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJvb3RSZWZlcmVuY2U8VD4gaW1wbGVtZW50cyBJUm9vdFJlZmVyZW5jZTxUPiwgSVBhdGhSZWZlcmVuY2U8VD4ge1xuICBwcml2YXRlIG9iamVjdDogVDtcbiAgcHJpdmF0ZSBjaGFpbnMgPSBkaWN0PFBhdGhSZWZlcmVuY2U8YW55Pj4oKTtcbiAgcHVibGljIHRhZzogVGFnID0gVk9MQVRJTEVfVEFHO1xuXG4gIGNvbnN0cnVjdG9yKG9iamVjdDogVCkge1xuICAgIHRoaXMub2JqZWN0ID0gb2JqZWN0O1xuICB9XG5cbiAgdmFsdWUoKTogVCB7IHJldHVybiB0aGlzLm9iamVjdDsgfVxuXG4gIHVwZGF0ZShvYmplY3Q6IFQpIHtcbiAgICB0aGlzLm9iamVjdCA9IG9iamVjdDtcbiAgICAvLyB0aGlzLm5vdGlmeSgpO1xuICB9XG5cbiAgZ2V0PFU+KHByb3A6IHN0cmluZyk6IElQYXRoUmVmZXJlbmNlPFU+IHtcbiAgICBsZXQgY2hhaW5zID0gdGhpcy5jaGFpbnM7XG4gICAgaWYgKDxzdHJpbmc+cHJvcCBpbiBjaGFpbnMpIHJldHVybiBjaGFpbnNbcHJvcF07XG4gICAgcmV0dXJuIChjaGFpbnNbcHJvcF0gPSBuZXcgUGF0aFJlZmVyZW5jZSh0aGlzLCBwcm9wKSk7XG4gIH1cblxuICBjaGFpbkZvcjxVPihwcm9wOiBzdHJpbmcpOiBPcHRpb248SVBhdGhSZWZlcmVuY2U8VT4+IHtcbiAgICBsZXQgY2hhaW5zID0gdGhpcy5jaGFpbnM7XG4gICAgaWYgKDxzdHJpbmc+cHJvcCBpbiBjaGFpbnMpIHJldHVybiBjaGFpbnNbcHJvcF07XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwYXRoKHN0cmluZzogc3RyaW5nKTogSVBhdGhSZWZlcmVuY2U8T3BhcXVlPiB7XG4gICAgcmV0dXJuIHN0cmluZy5zcGxpdCgnLicpLnJlZHVjZSgocmVmLCBwYXJ0KSA9PiByZWYuZ2V0KHBhcnQpLCB0aGlzIGFzIElQYXRoUmVmZXJlbmNlPE9wYXF1ZT4pO1xuICB9XG5cbiAgcmVmZXJlbmNlRnJvbVBhcnRzKHBhcnRzOiBzdHJpbmdbXSk6IElQYXRoUmVmZXJlbmNlPE9wYXF1ZT4ge1xuICAgIHJldHVybiBwYXJ0cy5yZWR1Y2UoKHJlZiwgcGFydCkgPT4gcmVmLmdldChwYXJ0KSBhcyBJUGF0aFJlZmVyZW5jZTxPcGFxdWU+LCB0aGlzIGFzIElQYXRoUmVmZXJlbmNlPE9wYXF1ZT4pO1xuICB9XG5cbiAgbGFiZWwoKSB7XG4gICAgcmV0dXJuICdbcmVmZXJlbmNlIFJvb3RdJztcbiAgfVxufVxuIiwiaW1wb3J0IHsgUHJvcGVydHlSZWZlcmVuY2UgfSBmcm9tICcuL3JlZmVyZW5jZXMvZGVzY3JpcHRvcnMnO1xuaW1wb3J0IFJvb3RSZWZlcmVuY2UgZnJvbSAnLi9yZWZlcmVuY2VzL3Jvb3QnO1xuaW1wb3J0IHsgTWV0YU9wdGlvbnMgfSBmcm9tICcuL3R5cGVzJztcblxuaW1wb3J0IHsgRGljdCwgRGljdFNldCwgSGFzR3VpZCwgU2V0LCBkaWN0IH0gZnJvbSAnQGdsaW1tZXIvdXRpbCc7XG5cbmltcG9ydCB7XG4gIFJvb3RSZWZlcmVuY2VGYWN0b3J5LFxuICBQYXRoUmVmZXJlbmNlRmFjdG9yeSxcbiAgTWV0YSBhcyBJTWV0YSxcbiAgUm9vdFJlZmVyZW5jZSBhcyBJUm9vdFJlZmVyZW5jZVxufSBmcm9tICcuL3R5cGVzJztcblxuaW1wb3J0IHsgUGF0aFJlZmVyZW5jZSBhcyBJUGF0aFJlZmVyZW5jZSwgVk9MQVRJTEVfVEFHIH0gZnJvbSAnQGdsaW1tZXIvcmVmZXJlbmNlJztcblxuaW1wb3J0IHsgSW5uZXJSZWZlcmVuY2VGYWN0b3J5IH0gZnJvbSAnLi9yZWZlcmVuY2VzL2Rlc2NyaXB0b3JzJztcbmltcG9ydCB7IE9wdGlvbiB9IGZyb20gXCJAZ2xpbW1lci9pbnRlcmZhY2VzXCI7XG5cbmNvbnN0IE5PT1BfREVTVFJPWSA9IHsgZGVzdHJveSgpIHt9IH07XG5cbmNsYXNzIENvbnN0UGF0aCBpbXBsZW1lbnRzIElQYXRoUmVmZXJlbmNlPGFueT4ge1xuICBwcml2YXRlIHBhcmVudDogYW55O1xuICBwcml2YXRlIHByb3BlcnR5OiBzdHJpbmc7XG4gIHB1YmxpYyB0YWcgPSBWT0xBVElMRV9UQUc7XG5cbiAgY29uc3RydWN0b3IocGFyZW50OiBhbnksIF9wcm9wZXJ0eTogc3RyaW5nKSB7XG4gICAgdGhpcy5wYXJlbnQgPSBwYXJlbnQ7XG4gIH1cblxuICBjaGFpbigpIHsgcmV0dXJuIE5PT1BfREVTVFJPWTsgfVxuICBub3RpZnkoKSB7fVxuXG4gIHZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLnBhcmVudFt0aGlzLnByb3BlcnR5XTtcbiAgfVxuXG4gIGdldChwcm9wOiBzdHJpbmcpOiBJUGF0aFJlZmVyZW5jZTxhbnk+IHtcbiAgICByZXR1cm4gbmV3IENvbnN0UGF0aCh0aGlzLnBhcmVudFt0aGlzLnByb3BlcnR5XSwgcHJvcCk7XG4gIH1cbn1cblxuY2xhc3MgQ29uc3RSb290IGltcGxlbWVudHMgSVJvb3RSZWZlcmVuY2U8YW55PiB7XG4gIHByaXZhdGUgaW5uZXI6IGFueTtcbiAgcHVibGljIHRhZyA9IFZPTEFUSUxFX1RBRztcblxuICBjb25zdHJ1Y3Rvcih2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5pbm5lciA9IHZhbHVlO1xuICB9XG5cbiAgdXBkYXRlKGlubmVyOiBhbnkpIHtcbiAgICB0aGlzLmlubmVyID0gaW5uZXI7XG4gIH1cblxuICBjaGFpbigpIHsgcmV0dXJuIE5PT1BfREVTVFJPWTsgfVxuICBub3RpZnkoKSB7fVxuXG4gIHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuaW5uZXI7XG4gIH1cblxuICByZWZlcmVuY2VGcm9tUGFydHMoX3BhcnRzOiBzdHJpbmdbXSk6IElQYXRoUmVmZXJlbmNlPGFueT4ge1xuICAgIHRocm93IG5ldyBFcnJvcihcIk5vdCBpbXBsZW1lbnRlZFwiKTtcbiAgfVxuXG4gIGNoYWluRm9yKF9wcm9wOiBzdHJpbmcpOiBJUGF0aFJlZmVyZW5jZTxhbnk+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJOb3QgaW1wbGVtZW50ZWRcIik7XG4gIH1cblxuICBnZXQocHJvcDogc3RyaW5nKTogSVBhdGhSZWZlcmVuY2U8YW55PiB7XG4gICAgcmV0dXJuIG5ldyBDb25zdFBhdGgodGhpcy5pbm5lciwgcHJvcCk7XG4gIH1cbn1cblxuY2xhc3MgQ29uc3RNZXRhIC8qaW1wbGVtZW50cyBJTWV0YSovIHtcbiAgcHJpdmF0ZSBvYmplY3Q6IGFueTtcblxuICBjb25zdHJ1Y3RvcihvYmplY3Q6IGFueSkge1xuICAgIHRoaXMub2JqZWN0ID0gb2JqZWN0O1xuICB9XG5cbiAgcm9vdCgpOiBDb25zdFJvb3Qge1xuICAgIHJldHVybiBuZXcgQ29uc3RSb290KHRoaXMub2JqZWN0KTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgQ0xBU1NfTUVUQSA9IFwiZGY4YmU0YzgtNGU4OS00NGUyLWE4ZjktNTUwYzhkYWNkY2E3XCI7XG5cbmNvbnN0IGhhc093blByb3BlcnR5ID0gT2JqZWN0Lmhhc093blByb3BlcnR5O1xuXG5jbGFzcyBNZXRhIGltcGxlbWVudHMgSU1ldGEsIEhhc0d1aWQge1xuICBzdGF0aWMgZm9yKG9iajogYW55KTogSU1ldGEge1xuICAgIGlmIChvYmogPT09IG51bGwgfHwgb2JqID09PSB1bmRlZmluZWQpIHJldHVybiBuZXcgTWV0YShvYmosIHt9KTtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChvYmosICdfbWV0YScpICYmIG9iai5fbWV0YSkgcmV0dXJuIG9iai5fbWV0YTtcbiAgICBpZiAoIU9iamVjdC5pc0V4dGVuc2libGUob2JqKSkgcmV0dXJuIDxhbnk+bmV3IENvbnN0TWV0YShvYmopO1xuXG4gICAgbGV0IE1ldGFUb1VzZTogdHlwZW9mIE1ldGEgPSBNZXRhO1xuXG4gICAgaWYgKG9iai5jb25zdHJ1Y3RvciAmJiBvYmouY29uc3RydWN0b3JbQ0xBU1NfTUVUQV0pIHtcbiAgICAgIGxldCBjbGFzc01ldGE6IENsYXNzTWV0YSA9IG9iai5jb25zdHJ1Y3RvcltDTEFTU19NRVRBXTtcbiAgICAgIE1ldGFUb1VzZSA9IGNsYXNzTWV0YS5JbnN0YW5jZU1ldGFDb25zdHJ1Y3RvcjtcbiAgICB9IGVsc2UgaWYgKG9ialtDTEFTU19NRVRBXSkge1xuICAgICAgTWV0YVRvVXNlID0gb2JqW0NMQVNTX01FVEFdLkluc3RhbmNlTWV0YUNvbnN0cnVjdG9yO1xuICAgIH1cblxuICAgIHJldHVybiAob2JqLl9tZXRhID0gbmV3IE1ldGFUb1VzZShvYmosIHt9KSk7XG4gIH1cblxuICBzdGF0aWMgZXhpc3RzKG9iajogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHR5cGVvZiBvYmogPT09ICdvYmplY3QnICYmIG9iai5fbWV0YTtcbiAgfVxuXG4gIHN0YXRpYyBtZXRhZGF0YUZvclByb3BlcnR5KF9rZXk6IHN0cmluZyk6IGFueSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIG9iamVjdDogYW55O1xuICBwcml2YXRlIFJvb3RSZWZlcmVuY2VGYWN0b3J5OiBSb290UmVmZXJlbmNlRmFjdG9yeTxhbnk+O1xuICBwcml2YXRlIERlZmF1bHRQYXRoUmVmZXJlbmNlRmFjdG9yeTogSW5uZXJSZWZlcmVuY2VGYWN0b3J5PGFueT47XG4gIHByaXZhdGUgcm9vdENhY2hlOiBJUm9vdFJlZmVyZW5jZTxhbnk+O1xuICBwcml2YXRlIHJlZmVyZW5jZXM6IE9wdGlvbjxEaWN0PERpY3RTZXQ8SVBhdGhSZWZlcmVuY2U8YW55PiAmIEhhc0d1aWQ+Pj4gPSBudWxsO1xuICBwdWJsaWMgX2d1aWQ6IG51bWJlcjtcbiAgcHJvdGVjdGVkIHNsb3RzOiBPcHRpb248RGljdDxhbnk+PiA9IG51bGw7XG4gIHByb3RlY3RlZCByZWZlcmVuY2VUeXBlczogT3B0aW9uPERpY3Q8SW5uZXJSZWZlcmVuY2VGYWN0b3J5PGFueT4+PiA9IG51bGw7XG4gIHByb3RlY3RlZCBwcm9wZXJ0eU1ldGFkYXRhOiBPcHRpb248RGljdDxhbnk+PiA9IG51bGw7XG5cbiAgY29uc3RydWN0b3Iob2JqZWN0OiBhbnksIHsgUm9vdFJlZmVyZW5jZUZhY3RvcnksIERlZmF1bHRQYXRoUmVmZXJlbmNlRmFjdG9yeSB9OiBNZXRhT3B0aW9ucykge1xuICAgIHRoaXMub2JqZWN0ID0gb2JqZWN0O1xuICAgIHRoaXMuUm9vdFJlZmVyZW5jZUZhY3RvcnkgPSAoUm9vdFJlZmVyZW5jZUZhY3RvcnkgfHwgUm9vdFJlZmVyZW5jZSkgYXMgUm9vdFJlZmVyZW5jZUZhY3Rvcnk8YW55PjtcbiAgICB0aGlzLkRlZmF1bHRQYXRoUmVmZXJlbmNlRmFjdG9yeSA9IERlZmF1bHRQYXRoUmVmZXJlbmNlRmFjdG9yeSB8fCBQcm9wZXJ0eVJlZmVyZW5jZTtcbiAgfVxuXG4gIGFkZFJlZmVyZW5jZShwcm9wZXJ0eTogc3RyaW5nLCByZWZlcmVuY2U6IElQYXRoUmVmZXJlbmNlPGFueT4gJiBIYXNHdWlkKSB7XG4gICAgbGV0IHJlZnMgPSB0aGlzLnJlZmVyZW5jZXMgPSB0aGlzLnJlZmVyZW5jZXMgfHwgZGljdDxEaWN0U2V0PElQYXRoUmVmZXJlbmNlPGFueT4gJiBIYXNHdWlkPj4oKTtcbiAgICBsZXQgc2V0ID0gcmVmc1twcm9wZXJ0eV0gPSByZWZzW3Byb3BlcnR5XSB8fCBuZXcgRGljdFNldDxJUGF0aFJlZmVyZW5jZTxhbnk+ICYgSGFzR3VpZD4oKTtcbiAgICBzZXQuYWRkKHJlZmVyZW5jZSk7XG4gIH1cblxuICBhZGRSZWZlcmVuY2VUeXBlRm9yKHByb3BlcnR5OiBzdHJpbmcsIHR5cGU6IFBhdGhSZWZlcmVuY2VGYWN0b3J5PGFueT4pIHtcbiAgICB0aGlzLnJlZmVyZW5jZVR5cGVzID0gdGhpcy5yZWZlcmVuY2VUeXBlcyB8fCBkaWN0PFBhdGhSZWZlcmVuY2VGYWN0b3J5PGFueT4+KCk7XG4gICAgdGhpcy5yZWZlcmVuY2VUeXBlc1twcm9wZXJ0eV0gPSB0eXBlO1xuICB9XG5cbiAgcmVmZXJlbmNlVHlwZUZvcihwcm9wZXJ0eTogc3RyaW5nKTogSW5uZXJSZWZlcmVuY2VGYWN0b3J5PGFueT4ge1xuICAgIGlmICghdGhpcy5yZWZlcmVuY2VUeXBlcykgcmV0dXJuIFByb3BlcnR5UmVmZXJlbmNlO1xuICAgIHJldHVybiB0aGlzLnJlZmVyZW5jZVR5cGVzW3Byb3BlcnR5XSB8fCBQcm9wZXJ0eVJlZmVyZW5jZTtcbiAgfVxuXG4gIHJlbW92ZVJlZmVyZW5jZShwcm9wZXJ0eTogc3RyaW5nLCByZWZlcmVuY2U6IElQYXRoUmVmZXJlbmNlPGFueT4gJiBIYXNHdWlkKSB7XG4gICAgaWYgKCF0aGlzLnJlZmVyZW5jZXMpIHJldHVybjtcbiAgICBsZXQgc2V0ID0gdGhpcy5yZWZlcmVuY2VzW3Byb3BlcnR5XTtcbiAgICBzZXQuZGVsZXRlKHJlZmVyZW5jZSk7XG4gIH1cblxuICBnZXRSZWZlcmVuY2VUeXBlcygpOiBEaWN0PElubmVyUmVmZXJlbmNlRmFjdG9yeTxhbnk+PiB7XG4gICAgdGhpcy5yZWZlcmVuY2VUeXBlcyA9IHRoaXMucmVmZXJlbmNlVHlwZXMgfHwgZGljdDxQYXRoUmVmZXJlbmNlRmFjdG9yeTxhbnk+PigpO1xuICAgIHJldHVybiB0aGlzLnJlZmVyZW5jZVR5cGVzO1xuICB9XG5cbiAgcmVmZXJlbmNlc0Zvcihwcm9wZXJ0eTogc3RyaW5nKTogT3B0aW9uPFNldDxJUGF0aFJlZmVyZW5jZTxhbnk+Pj4ge1xuICAgIGlmICghdGhpcy5yZWZlcmVuY2VzKSByZXR1cm4gbnVsbDtcbiAgICByZXR1cm4gdGhpcy5yZWZlcmVuY2VzW3Byb3BlcnR5XTtcbiAgfVxuXG4gIGdldFNsb3RzKCkge1xuICAgIHJldHVybiAodGhpcy5zbG90cyA9IHRoaXMuc2xvdHMgfHwgZGljdCgpKTtcbiAgfVxuXG4gIHJvb3QoKTogSVJvb3RSZWZlcmVuY2U8YW55PiB7XG4gICAgcmV0dXJuICh0aGlzLnJvb3RDYWNoZSA9IHRoaXMucm9vdENhY2hlIHx8IG5ldyB0aGlzLlJvb3RSZWZlcmVuY2VGYWN0b3J5KHRoaXMub2JqZWN0KSk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgTWV0YTtcblxuaW50ZXJmYWNlIENsYXNzTWV0YSB7XG4gIEluc3RhbmNlTWV0YUNvbnN0cnVjdG9yOiB0eXBlb2YgTWV0YTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ldGFGb3Iob2JqOiBhbnkpOiBJTWV0YSB7XG4gIHJldHVybiBNZXRhLmZvcihvYmopO1xufVxuIiwiaW1wb3J0IE1ldGEgZnJvbSAnLi4vbWV0YSc7XG5pbXBvcnQgeyBSZWZlcmVuY2UsIFZPTEFUSUxFX1RBRywgVGFnIH0gZnJvbSAnQGdsaW1tZXIvcmVmZXJlbmNlJztcbmltcG9ydCB7IE5vdGlmaWFibGVSZWZlcmVuY2UgfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5uZXJSZWZlcmVuY2VGYWN0b3J5PFQ+IHtcbiAgbmV3IChvYmplY3Q6IGFueSwgcHJvcGVydHk6IHN0cmluZywgb3V0ZXI6IE5vdGlmaWFibGVSZWZlcmVuY2U8YW55Pik6IFJlZmVyZW5jZTxUPjtcbn1cblxuZXhwb3J0IGNsYXNzIFByb3BlcnR5UmVmZXJlbmNlPFQ+IGltcGxlbWVudHMgUmVmZXJlbmNlPFQ+IHtcbiAgcHJpdmF0ZSBvYmplY3Q6IGFueTtcbiAgcHJpdmF0ZSBwcm9wZXJ0eTogc3RyaW5nO1xuICBwdWJsaWMgdGFnOiBUYWcgPSBWT0xBVElMRV9UQUc7XG5cbiAgY29uc3RydWN0b3Iob2JqZWN0OiBhbnksIHByb3BlcnR5OiBzdHJpbmcsIF9vdXRlcjogTm90aWZpYWJsZVJlZmVyZW5jZTxUPikge1xuICAgIHRoaXMub2JqZWN0ID0gb2JqZWN0O1xuICAgIHRoaXMucHJvcGVydHkgPSBwcm9wZXJ0eTtcbiAgfVxuXG4gIHZhbHVlKCkgeyByZXR1cm4gdGhpcy5vYmplY3RbdGhpcy5wcm9wZXJ0eV07IH1cblxuICBsYWJlbCgpIHtcbiAgICByZXR1cm4gJ1tyZWZlcmVuY2UgUHJvcGVydHldJztcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQ29tcHV0ZWRSZWZlcmVuY2VCbHVlcHJpbnQ8VD4oX3Byb3BlcnR5OiBhbnksIGRlcGVuZGVuY2llczogYW55KTogSW5uZXJSZWZlcmVuY2VGYWN0b3J5PFQ+IHtcbiAgcmV0dXJuIGNsYXNzIENvbXB1dGVkUmVmZXJlbmNlPFQ+IGltcGxlbWVudHMgUmVmZXJlbmNlPFQ+IHtcbiAgICBwcml2YXRlIG9iamVjdDogYW55O1xuICAgIHByaXZhdGUgcHJvcGVydHk6IHN0cmluZztcbiAgICBwcml2YXRlIGRlcGVuZGVuY2llczogc3RyaW5nW11bXTtcbiAgICBwcml2YXRlIG91dGVyOiBOb3RpZmlhYmxlUmVmZXJlbmNlPFQ+O1xuICAgIHByaXZhdGUgaW5zdGFsbGVkID0gZmFsc2U7XG4gICAgcHVibGljIHRhZzogVGFnID0gVk9MQVRJTEVfVEFHO1xuXG4gICAgY29uc3RydWN0b3Iob2JqZWN0OiBhbnksIHByb3BlcnR5OiBzdHJpbmcsIG91dGVyOiBOb3RpZmlhYmxlUmVmZXJlbmNlPFQ+KSB7XG4gICAgICB0aGlzLm9iamVjdCA9IG9iamVjdDtcbiAgICAgIHRoaXMucHJvcGVydHkgPSBwcm9wZXJ0eTtcbiAgICAgIHRoaXMuZGVwZW5kZW5jaWVzID0gZGVwZW5kZW5jaWVzO1xuICAgICAgdGhpcy5vdXRlciA9IG91dGVyO1xuICAgIH1cblxuICAgIHZhbHVlKCk6IFQge1xuICAgICAgaWYgKCF0aGlzLmluc3RhbGxlZCkge1xuICAgICAgICBsZXQgcm9vdCA9IE1ldGEuZm9yKHRoaXMub2JqZWN0KS5yb290KCk7XG5cbiAgICAgICAgdGhpcy5kZXBlbmRlbmNpZXMuZm9yRWFjaChkZXAgPT4ge1xuICAgICAgICAgIGxldCByZWYgPSByb290LnJlZmVyZW5jZUZyb21QYXJ0cyhkZXApO1xuICAgICAgICAgIHJlZi52YWx1ZSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmluc3RhbGxlZCA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0aGlzLm9iamVjdFt0aGlzLnByb3BlcnR5XTtcbiAgICB9XG5cbiAgICBsYWJlbCgpIHtcbiAgICAgIHJldHVybiAnW3JlZmVyZW5jZSBDb21wdXRlZF0nO1xuICAgIH1cbiAgfTtcbn1cbiIsIi8vIGltcG9ydCB7IG1ldGFGb3IgfSBmcm9tICcuL21ldGEnO1xuLy8gaW1wb3J0IHsgaW50ZXJuIH0gZnJvbSAnQGdsaW1tZXIvdXRpbCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRQcm9wZXJ0eShwYXJlbnQ6IGFueSwgcHJvcGVydHk6IHN0cmluZywgdmFsOiBhbnkpIHtcbiAgLy8gbGV0IHJvb3RQcm9wID0gbWV0YUZvcihwYXJlbnQpLnJvb3QoKS5jaGFpbkZvcihwcm9wZXJ0eSkpO1xuXG4gIC8vIGxldCByZWZlcmVuY2VzVG9Ob3RpZnkgPSBtZXRhRm9yKHBhcmVudCkucmVmZXJlbmNlc0Zvcihwcm9wZXJ0eSkpO1xuXG4gIHBhcmVudFtwcm9wZXJ0eV0gPSB2YWw7XG5cbiAgLy8gaWYgKHJlZmVyZW5jZXNUb05vdGlmeSkge1xuICAvLyAgIHJlZmVyZW5jZXNUb05vdGlmeS5mb3JFYWNoKGZ1bmN0aW9uKHJlZikgeyByZWYubm90aWZ5KCk7IH0pO1xuICAvLyB9XG5cbiAgLy8gaWYgKHJvb3RQcm9wKSByb290UHJvcC5ub3RpZnkoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vdGlmeVByb3BlcnR5KF9wYXJlbnQ6IGFueSwgX3Byb3BlcnR5OiBzdHJpbmcpIHtcbiAgLy8gbGV0IHJvb3RQcm9wID0gbWV0YUZvcihwYXJlbnQpLnJvb3QoKS5jaGFpbkZvcihwcm9wZXJ0eSkpO1xuXG4gIC8vIGxldCByZWZlcmVuY2VzVG9Ob3RpZnkgPSBtZXRhRm9yKHBhcmVudCkucmVmZXJlbmNlc0Zvcihwcm9wZXJ0eSkpO1xuXG4gIC8vIGlmIChyZWZlcmVuY2VzVG9Ob3RpZnkpIHtcbiAgLy8gICByZWZlcmVuY2VzVG9Ob3RpZnkuZm9yRWFjaChmdW5jdGlvbihyZWYpIHsgcmVmLm5vdGlmeSgpOyB9KTtcbiAgLy8gfVxuXG4gIC8vIGlmIChyb290UHJvcCkgcm9vdFByb3Aubm90aWZ5KCk7XG59XG4iXSwibmFtZXMiOlsiVk9MQVRJTEVfVEFHIiwiZGljdCIsIkRpY3RTZXQiXSwibWFwcGluZ3MiOiI7O3VCQUErQjs7OztBQ0EvQixBQUNBLEFBQ0EsQUFDQSxBQUNBLElBY0U7MkJBQVksUUFBMkI7OzthQVB4QixRQUFRO2FBQ1YsUUFBeUI7YUFDeEIsU0FBcUM7YUFDNUIsa0JBQVE7YUFDbkIsUUFBRzthQUNMLE1BQVFBO2FBR1gsU0FBUzthQUNULFdBQVc7Ozs7WUFJVjtZQUFpQjtZQUFVLFFBQVU7O1lBQ3ZDLGNBQWMsS0FBSztZQUVuQixnQkFBZ0IsUUFBUSxnQkFBZ0IsV0FBVzttQkFDN0MsS0FBSyxRQUFROztZQUduQixvQkFBb0IsYUFBYTtvQkFDM0IsS0FBSztlQUNSO2dCQUNELGdCQUFnQixPQUFPLGdCQUFnQixXQUFXLEtBQUssSUFBSSxhQUFhLGlCQUFpQixZQUFZO29CQUNqRyxLQUFLLFFBQVEsSUFBSSxjQUFjLGFBQWEsVUFBVTs7Ozs7ZUFPeEQsS0FBSyxRQUFRLE1BQU87OzsrQ0FHMUIsTUFDRjtZQUFJLFNBQVMsS0FBSztZQUNOLFFBQVEsUUFBUSxPQUFPLE9BQU87ZUFDbEMsT0FBTyxRQUFRLElBQUksY0FBYyxNQUFNOzs7cURBSS9DO2VBQU87OzsrREFJUDtZQUFJLEtBQUssUUFBUSxPQUFPLEtBQUs7ZUFDckIsS0FBSyxTQUFTQzs7O21FQUl0QjtZQUFJLFNB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
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xpbW1lci1vYmplY3QtcmVmZXJlbmNlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AZ2xpbW1lci9vYmplY3QtcmVmZXJlbmNlL2xpYi91dGlscy50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL29iamVjdC1yZWZlcmVuY2UvbGliL3JlZmVyZW5jZXMvcGF0aC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL29iamVjdC1yZWZlcmVuY2UvbGliL3JlZmVyZW5jZXMvcm9vdC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL29iamVjdC1yZWZlcmVuY2UvbGliL21ldGEudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AZ2xpbW1lci9vYmplY3QtcmVmZXJlbmNlL2xpYi9yZWZlcmVuY2VzL2Rlc2NyaXB0b3JzLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQGdsaW1tZXIvb2JqZWN0LXJlZmVyZW5jZS9saWIvb2JqZWN0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBFTVBUWV9DQUNIRSgpIHt9XG4iLCJpbXBvcnQgeyBFTVBUWV9DQUNIRSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IGRpY3QgfSBmcm9tICdAZ2xpbW1lci91dGlsJztcbmltcG9ydCBNZXRhIGZyb20gJy4uL21ldGEnO1xuaW1wb3J0IHsgUHJvcGVydHlSZWZlcmVuY2UgfSBmcm9tICcuL2Rlc2NyaXB0b3JzJztcbmltcG9ydCB7IFZPTEFUSUxFX1RBRywgUGF0aFJlZmVyZW5jZSBhcyBJUGF0aFJlZmVyZW5jZSwgUmVmZXJlbmNlLCBUYWcgfSBmcm9tICdAZ2xpbW1lci9yZWZlcmVuY2UnO1xuaW1wb3J0IHsgRGljdCwgSGFzR3VpZCB9IGZyb20gJ0BnbGltbWVyL3V0aWwnO1xuaW1wb3J0IHsgT3B0aW9uIH0gZnJvbSBcIkBnbGltbWVyL2ludGVyZmFjZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUGF0aFJlZmVyZW5jZTxUPiBpbXBsZW1lbnRzIElQYXRoUmVmZXJlbmNlPFQ+LCBIYXNHdWlkIHtcbiAgcHJpdmF0ZSBwYXJlbnQ6IElQYXRoUmVmZXJlbmNlPGFueT47XG4gIHByaXZhdGUgcHJvcGVydHk6IHN0cmluZztcbiAgcHJvdGVjdGVkIGNhY2hlOiBhbnkgPSBFTVBUWV9DQUNIRTtcbiAgcHJpdmF0ZSBpbm5lcjogT3B0aW9uPFJlZmVyZW5jZTxUPj4gPSBudWxsO1xuICBwcml2YXRlIGNoYWluczogT3B0aW9uPERpY3Q8UGF0aFJlZmVyZW5jZTxhbnk+Pj4gPSBudWxsO1xuICBwcml2YXRlIGxhc3RQYXJlbnRWYWx1ZTogYW55ID0gRU1QVFlfQ0FDSEU7XG4gIHB1YmxpYyBfZ3VpZCA9IDA7XG4gIHB1YmxpYyB0YWc6IFRhZyA9IFZPTEFUSUxFX1RBRztcblxuICBjb25zdHJ1Y3RvcihwYXJlbnQ6IElQYXRoUmVmZXJlbmNlPFQ+LCBwcm9wZXJ0eTogc3RyaW5nKSB7XG4gICAgdGhpcy5wYXJlbnQgPSBwYXJlbnQ7XG4gICAgdGhpcy5wcm9wZXJ0eSA9IHByb3BlcnR5O1xuICB9XG5cbiAgdmFsdWUoKTogYW55IHtcbiAgICBsZXQgeyBsYXN0UGFyZW50VmFsdWUsIHByb3BlcnR5LCBpbm5lciB9ID0gdGhpcztcbiAgICBsZXQgcGFyZW50VmFsdWUgPSB0aGlzLl9wYXJlbnRWYWx1ZSgpO1xuXG4gICAgaWYgKHBhcmVudFZhbHVlID09PSBudWxsIHx8IHBhcmVudFZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiAodGhpcy5jYWNoZSA9IHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgaWYgKGxhc3RQYXJlbnRWYWx1ZSA9PT0gcGFyZW50VmFsdWUpIHtcbiAgICAgIGlubmVyID0gdGhpcy5pbm5lcjtcbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IFJlZmVyZW5jZVR5cGUgPSB0eXBlb2YgcGFyZW50VmFsdWUgPT09ICdvYmplY3QnID8gTWV0YS5mb3IocGFyZW50VmFsdWUpLnJlZmVyZW5jZVR5cGVGb3IocHJvcGVydHkpIDogUHJvcGVydHlSZWZlcmVuY2U7XG4gICAgICBpbm5lciA9IHRoaXMuaW5uZXIgPSBuZXcgUmVmZXJlbmNlVHlwZShwYXJlbnRWYWx1ZSwgcHJvcGVydHksIHRoaXMpO1xuICAgIH1cblxuICAgIC8vIGlmICh0eXBlb2YgcGFyZW50VmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgLy8gICBNZXRhLmZvcihwYXJlbnRWYWx1ZSkuYWRkUmVmZXJlbmNlKHByb3BlcnR5LCB0aGlzKTtcbiAgICAvLyB9XG5cbiAgICByZXR1cm4gKHRoaXMuY2FjaGUgPSBpbm5lciEudmFsdWUoKSk7XG4gIH1cblxuICBnZXQocHJvcDogc3RyaW5nKTogSVBhdGhSZWZlcmVuY2U8YW55PiB7XG4gICAgbGV0IGNoYWlucyA9IHRoaXMuX2dldENoYWlucygpO1xuICAgIGlmICg8c3RyaW5nPnByb3AgaW4gY2hhaW5zKSByZXR1cm4gY2hhaW5zW3Byb3BdO1xuICAgIHJldHVybiAoY2hhaW5zW3Byb3BdID0gbmV3IFBhdGhSZWZlcmVuY2UodGhpcywgcHJvcCkpO1xuICB9XG5cbiAgbGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ1tyZWZlcmVuY2UgRGlyZWN0XSc7XG4gIH1cblxuICBwcml2YXRlIF9nZXRDaGFpbnMoKTogRGljdDxQYXRoUmVmZXJlbmNlPGFueT4+IHtcbiAgICBpZiAodGhpcy5jaGFpbnMpIHJldHVybiB0aGlzLmNoYWlucztcbiAgICByZXR1cm4gKHRoaXMuY2hhaW5zID0gZGljdDxQYXRoUmVmZXJlbmNlPGFueT4+KCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcGFyZW50VmFsdWUoKSB7XG4gICAgbGV0IHBhcmVudCA9IHRoaXMucGFyZW50LnZhbHVlKCk7XG4gICAgdGhpcy5sYXN0UGFyZW50VmFsdWUgPSBwYXJlbnQ7XG4gICAgcmV0dXJuIHBhcmVudDtcbiAgfVxufVxuXG5leHBvcnQgeyBQYXRoUmVmZXJlbmNlIH07XG4iLCJpbXBvcnQgeyBPcHRpb24sIE9wYXF1ZSwgZGljdCB9IGZyb20gJ0BnbGltbWVyL3V0aWwnO1xuaW1wb3J0IHsgUGF0aFJlZmVyZW5jZSB9IGZyb20gJy4vcGF0aCc7XG5pbXBvcnQgeyBSb290UmVmZXJlbmNlIGFzIElSb290UmVmZXJlbmNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgVk9MQVRJTEVfVEFHLCBQYXRoUmVmZXJlbmNlIGFzIElQYXRoUmVmZXJlbmNlLCBUYWcgfSBmcm9tICdAZ2xpbW1lci9yZWZlcmVuY2UnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSb290UmVmZXJlbmNlPFQ+IGltcGxlbWVudHMgSVJvb3RSZWZlcmVuY2U8VD4sIElQYXRoUmVmZXJlbmNlPFQ+IHtcbiAgcHJpdmF0ZSBvYmplY3Q6IFQ7XG4gIHByaXZhdGUgY2hhaW5zID0gZGljdDxQYXRoUmVmZXJlbmNlPGFueT4+KCk7XG4gIHB1YmxpYyB0YWc6IFRhZyA9IFZPTEFUSUxFX1RBRztcblxuICBjb25zdHJ1Y3RvcihvYmplY3Q6IFQpIHtcbiAgICB0aGlzLm9iamVjdCA9IG9iamVjdDtcbiAgfVxuXG4gIHZhbHVlKCk6IFQgeyByZXR1cm4gdGhpcy5vYmplY3Q7IH1cblxuICB1cGRhdGUob2JqZWN0OiBUKSB7XG4gICAgdGhpcy5vYmplY3QgPSBvYmplY3Q7XG4gICAgLy8gdGhpcy5ub3RpZnkoKTtcbiAgfVxuXG4gIGdldDxVPihwcm9wOiBzdHJpbmcpOiBJUGF0aFJlZmVyZW5jZTxVPiB7XG4gICAgbGV0IGNoYWlucyA9IHRoaXMuY2hhaW5zO1xuICAgIGlmICg8c3RyaW5nPnByb3AgaW4gY2hhaW5zKSByZXR1cm4gY2hhaW5zW3Byb3BdO1xuICAgIHJldHVybiAoY2hhaW5zW3Byb3BdID0gbmV3IFBhdGhSZWZlcmVuY2UodGhpcywgcHJvcCkpO1xuICB9XG5cbiAgY2hhaW5Gb3I8VT4ocHJvcDogc3RyaW5nKTogT3B0aW9uPElQYXRoUmVmZXJlbmNlPFU+PiB7XG4gICAgbGV0IGNoYWlucyA9IHRoaXMuY2hhaW5zO1xuICAgIGlmICg8c3RyaW5nPnByb3AgaW4gY2hhaW5zKSByZXR1cm4gY2hhaW5zW3Byb3BdO1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcGF0aChzdHJpbmc6IHN0cmluZyk6IElQYXRoUmVmZXJlbmNlPE9wYXF1ZT4ge1xuICAgIHJldHVybiBzdHJpbmcuc3BsaXQoJy4nKS5yZWR1Y2UoKHJlZiwgcGFydCkgPT4gcmVmLmdldChwYXJ0KSwgdGhpcyBhcyBJUGF0aFJlZmVyZW5jZTxPcGFxdWU+KTtcbiAgfVxuXG4gIHJlZmVyZW5jZUZyb21QYXJ0cyhwYXJ0czogc3RyaW5nW10pOiBJUGF0aFJlZmVyZW5jZTxPcGFxdWU+IHtcbiAgICByZXR1cm4gcGFydHMucmVkdWNlKChyZWYsIHBhcnQpID0+IHJlZi5nZXQocGFydCkgYXMgSVBhdGhSZWZlcmVuY2U8T3BhcXVlPiwgdGhpcyBhcyBJUGF0aFJlZmVyZW5jZTxPcGFxdWU+KTtcbiAgfVxuXG4gIGxhYmVsKCkge1xuICAgIHJldHVybiAnW3JlZmVyZW5jZSBSb290XSc7XG4gIH1cbn1cbiIsImltcG9ydCB7IFByb3BlcnR5UmVmZXJlbmNlIH0gZnJvbSAnLi9yZWZlcmVuY2VzL2Rlc2NyaXB0b3JzJztcbmltcG9ydCBSb290UmVmZXJlbmNlIGZyb20gJy4vcmVmZXJlbmNlcy9yb290JztcbmltcG9ydCB7IE1ldGFPcHRpb25zIH0gZnJvbSAnLi90eXBlcyc7XG5cbmltcG9ydCB7IE9wdGlvbiwgRGljdCwgRGljdFNldCwgSGFzR3VpZCwgU2V0LCBkaWN0IH0gZnJvbSAnQGdsaW1tZXIvdXRpbCc7XG5cbmltcG9ydCB7XG4gIFJvb3RSZWZlcmVuY2VGYWN0b3J5LFxuICBQYXRoUmVmZXJlbmNlRmFjdG9yeSxcbiAgTWV0YSBhcyBJTWV0YSxcbiAgUm9vdFJlZmVyZW5jZSBhcyBJUm9vdFJlZmVyZW5jZVxufSBmcm9tICcuL3R5cGVzJztcblxuaW1wb3J0IHsgUGF0aFJlZmVyZW5jZSBhcyBJUGF0aFJlZmVyZW5jZSwgVk9MQVRJTEVfVEFHIH0gZnJvbSAnQGdsaW1tZXIvcmVmZXJlbmNlJztcblxuaW1wb3J0IHsgSW5uZXJSZWZlcmVuY2VGYWN0b3J5IH0gZnJvbSAnLi9yZWZlcmVuY2VzL2Rlc2NyaXB0b3JzJztcblxuY29uc3QgTk9PUF9ERVNUUk9ZID0geyBkZXN0cm95KCkge30gfTtcblxuY2xhc3MgQ29uc3RQYXRoIGltcGxlbWVudHMgSVBhdGhSZWZlcmVuY2U8YW55PiB7XG4gIHByaXZhdGUgcGFyZW50OiBhbnk7XG4gIHByaXZhdGUgcHJvcGVydHk6IHN0cmluZztcbiAgcHVibGljIHRhZyA9IFZPTEFUSUxFX1RBRztcblxuICBjb25zdHJ1Y3RvcihwYXJlbnQ6IGFueSwgX3Byb3BlcnR5OiBzdHJpbmcpIHtcbiAgICB0aGlzLnBhcmVudCA9IHBhcmVudDtcbiAgfVxuXG4gIGNoYWluKCkgeyByZXR1cm4gTk9PUF9ERVNUUk9ZOyB9XG4gIG5vdGlmeSgpIHt9XG5cbiAgdmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyZW50W3RoaXMucHJvcGVydHldO1xuICB9XG5cbiAgZ2V0KHByb3A6IHN0cmluZyk6IElQYXRoUmVmZXJlbmNlPGFueT4ge1xuICAgIHJldHVybiBuZXcgQ29uc3RQYXRoKHRoaXMucGFyZW50W3RoaXMucHJvcGVydHldLCBwcm9wKTtcbiAgfVxufVxuXG5jbGFzcyBDb25zdFJvb3QgaW1wbGVtZW50cyBJUm9vdFJlZmVyZW5jZTxhbnk+IHtcbiAgcHJpdmF0ZSBpbm5lcjogYW55O1xuICBwdWJsaWMgdGFnID0gVk9MQVRJTEVfVEFHO1xuXG4gIGNvbnN0cnVjdG9yKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLmlubmVyID0gdmFsdWU7XG4gIH1cblxuICB1cGRhdGUoaW5uZXI6IGFueSkge1xuICAgIHRoaXMuaW5uZXIgPSBpbm5lcjtcbiAgfVxuXG4gIGNoYWluKCkgeyByZXR1cm4gTk9PUF9ERVNUUk9ZOyB9XG4gIG5vdGlmeSgpIHt9XG5cbiAgdmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5pbm5lcjtcbiAgfVxuXG4gIHJlZmVyZW5jZUZyb21QYXJ0cyhfcGFydHM6IHN0cmluZ1tdKTogSVBhdGhSZWZlcmVuY2U8YW55PiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiTm90IGltcGxlbWVudGVkXCIpO1xuICB9XG5cbiAgY2hhaW5Gb3IoX3Byb3A6IHN0cmluZyk6IElQYXRoUmVmZXJlbmNlPGFueT4ge1xuICAgIHRocm93IG5ldyBFcnJvcihcIk5vdCBpbXBsZW1lbnRlZFwiKTtcbiAgfVxuXG4gIGdldChwcm9wOiBzdHJpbmcpOiBJUGF0aFJlZmVyZW5jZTxhbnk+IHtcbiAgICByZXR1cm4gbmV3IENvbnN0UGF0aCh0aGlzLmlubmVyLCBwcm9wKTtcbiAgfVxufVxuXG5jbGFzcyBDb25zdE1ldGEgLyppbXBsZW1lbnRzIElNZXRhKi8ge1xuICBwcml2YXRlIG9iamVjdDogYW55O1xuXG4gIGNvbnN0cnVjdG9yKG9iamVjdDogYW55KSB7XG4gICAgdGhpcy5vYmplY3QgPSBvYmplY3Q7XG4gIH1cblxuICByb290KCk6IENvbnN0Um9vdCB7XG4gICAgcmV0dXJuIG5ldyBDb25zdFJvb3QodGhpcy5vYmplY3QpO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBDTEFTU19NRVRBID0gXCJkZjhiZTRjOC00ZTg5LTQ0ZTItYThmOS01NTBjOGRhY2RjYTdcIjtcblxuY29uc3QgaGFzT3duUHJvcGVydHkgPSBPYmplY3QuaGFzT3duUHJvcGVydHk7XG5cbmNsYXNzIE1ldGEgaW1wbGVtZW50cyBJTWV0YSwgSGFzR3VpZCB7XG4gIHN0YXRpYyBmb3Iob2JqOiBhbnkpOiBJTWV0YSB7XG4gICAgaWYgKG9iaiA9PT0gbnVsbCB8fCBvYmogPT09IHVuZGVmaW5lZCkgcmV0dXJuIG5ldyBNZXRhKG9iaiwge30pO1xuICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgJ19tZXRhJykgJiYgb2JqLl9tZXRhKSByZXR1cm4gb2JqLl9tZXRhO1xuICAgIGlmICghT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopKSByZXR1cm4gPGFueT5uZXcgQ29uc3RNZXRhKG9iaik7XG5cbiAgICBsZXQgTWV0YVRvVXNlOiB0eXBlb2YgTWV0YSA9IE1ldGE7XG5cbiAgICBpZiAob2JqLmNvbnN0cnVjdG9yICYmIG9iai5jb25zdHJ1Y3RvcltDTEFTU19NRVRBXSkge1xuICAgICAgbGV0IGNsYXNzTWV0YTogQ2xhc3NNZXRhID0gb2JqLmNvbnN0cnVjdG9yW0NMQVNTX01FVEFdO1xuICAgICAgTWV0YVRvVXNlID0gY2xhc3NNZXRhLkluc3RhbmNlTWV0YUNvbnN0cnVjdG9yO1xuICAgIH0gZWxzZSBpZiAob2JqW0NMQVNTX01FVEFdKSB7XG4gICAgICBNZXRhVG9Vc2UgPSBvYmpbQ0xBU1NfTUVUQV0uSW5zdGFuY2VNZXRhQ29uc3RydWN0b3I7XG4gICAgfVxuXG4gICAgcmV0dXJuIChvYmouX21ldGEgPSBuZXcgTWV0YVRvVXNlKG9iaiwge30pKTtcbiAgfVxuXG4gIHN0YXRpYyBleGlzdHMob2JqOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHlwZW9mIG9iaiA9PT0gJ29iamVjdCcgJiYgb2JqLl9tZXRhO1xuICB9XG5cbiAgc3RhdGljIG1ldGFkYXRhRm9yUHJvcGVydHkoX2tleTogc3RyaW5nKTogYW55IHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgb2JqZWN0OiBhbnk7XG4gIHByaXZhdGUgUm9vdFJlZmVyZW5jZUZhY3Rvcnk6IFJvb3RSZWZlcmVuY2VGYWN0b3J5PGFueT47XG4gIHByaXZhdGUgRGVmYXVsdFBhdGhSZWZlcmVuY2VGYWN0b3J5OiBJbm5lclJlZmVyZW5jZUZhY3Rvcnk8YW55PjtcbiAgcHJpdmF0ZSByb290Q2FjaGU6IElSb290UmVmZXJlbmNlPGFueT47XG4gIHByaXZhdGUgcmVmZXJlbmNlczogT3B0aW9uPERpY3Q8RGljdFNldDxJUGF0aFJlZmVyZW5jZTxhbnk+ICYgSGFzR3VpZD4+PiA9IG51bGw7XG4gIHB1YmxpYyBfZ3VpZDogbnVtYmVyO1xuICBwcm90ZWN0ZWQgc2xvdHM6IE9wdGlvbjxEaWN0PGFueT4+ID0gbnVsbDtcbiAgcHJvdGVjdGVkIHJlZmVyZW5jZVR5cGVzOiBPcHRpb248RGljdDxJbm5lclJlZmVyZW5jZUZhY3Rvcnk8YW55Pj4+ID0gbnVsbDtcbiAgcHJvdGVjdGVkIHByb3BlcnR5TWV0YWRhdGE6IE9wdGlvbjxEaWN0PGFueT4+ID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihvYmplY3Q6IGFueSwgeyBSb290UmVmZXJlbmNlRmFjdG9yeSwgRGVmYXVsdFBhdGhSZWZlcmVuY2VGYWN0b3J5IH06IE1ldGFPcHRpb25zKSB7XG4gICAgdGhpcy5vYmplY3QgPSBvYmplY3Q7XG4gICAgdGhpcy5Sb290UmVmZXJlbmNlRmFjdG9yeSA9IChSb290UmVmZXJlbmNlRmFjdG9yeSB8fCBSb290UmVmZXJlbmNlKSBhcyBSb290UmVmZXJlbmNlRmFjdG9yeTxhbnk+O1xuICAgIHRoaXMuRGVmYXVsdFBhdGhSZWZlcmVuY2VGYWN0b3J5ID0gRGVmYXVsdFBhdGhSZWZlcmVuY2VGYWN0b3J5IHx8IFByb3BlcnR5UmVmZXJlbmNlO1xuICB9XG5cbiAgYWRkUmVmZXJlbmNlKHByb3BlcnR5OiBzdHJpbmcsIHJlZmVyZW5jZTogSVBhdGhSZWZlcmVuY2U8YW55PiAmIEhhc0d1aWQpIHtcbiAgICBsZXQgcmVmcyA9IHRoaXMucmVmZXJlbmNlcyA9IHRoaXMucmVmZXJlbmNlcyB8fCBkaWN0PERpY3RTZXQ8SVBhdGhSZWZlcmVuY2U8YW55PiAmIEhhc0d1aWQ+PigpO1xuICAgIGxldCBzZXQgPSByZWZzW3Byb3BlcnR5XSA9IHJlZnNbcHJvcGVydHldIHx8IG5ldyBEaWN0U2V0PElQYXRoUmVmZXJlbmNlPGFueT4gJiBIYXNHdWlkPigpO1xuICAgIHNldC5hZGQocmVmZXJlbmNlKTtcbiAgfVxuXG4gIGFkZFJlZmVyZW5jZVR5cGVGb3IocHJvcGVydHk6IHN0cmluZywgdHlwZTogUGF0aFJlZmVyZW5jZUZhY3Rvcnk8YW55Pikge1xuICAgIHRoaXMucmVmZXJlbmNlVHlwZXMgPSB0aGlzLnJlZmVyZW5jZVR5cGVzIHx8IGRpY3Q8UGF0aFJlZmVyZW5jZUZhY3Rvcnk8YW55Pj4oKTtcbiAgICB0aGlzLnJlZmVyZW5jZVR5cGVzW3Byb3BlcnR5XSA9IHR5cGU7XG4gIH1cblxuICByZWZlcmVuY2VUeXBlRm9yKHByb3BlcnR5OiBzdHJpbmcpOiBJbm5lclJlZmVyZW5jZUZhY3Rvcnk8YW55PiB7XG4gICAgaWYgKCF0aGlzLnJlZmVyZW5jZVR5cGVzKSByZXR1cm4gUHJvcGVydHlSZWZlcmVuY2U7XG4gICAgcmV0dXJuIHRoaXMucmVmZXJlbmNlVHlwZXNbcHJvcGVydHldIHx8IFByb3BlcnR5UmVmZXJlbmNlO1xuICB9XG5cbiAgcmVtb3ZlUmVmZXJlbmNlKHByb3BlcnR5OiBzdHJpbmcsIHJlZmVyZW5jZTogSVBhdGhSZWZlcmVuY2U8YW55PiAmIEhhc0d1aWQpIHtcbiAgICBpZiAoIXRoaXMucmVmZXJlbmNlcykgcmV0dXJuO1xuICAgIGxldCBzZXQgPSB0aGlzLnJlZmVyZW5jZXNbcHJvcGVydHldO1xuICAgIHNldC5kZWxldGUocmVmZXJlbmNlKTtcbiAgfVxuXG4gIGdldFJlZmVyZW5jZVR5cGVzKCk6IERpY3Q8SW5uZXJSZWZlcmVuY2VGYWN0b3J5PGFueT4+IHtcbiAgICB0aGlzLnJlZmVyZW5jZVR5cGVzID0gdGhpcy5yZWZlcmVuY2VUeXBlcyB8fCBkaWN0PFBhdGhSZWZlcmVuY2VGYWN0b3J5PGFueT4+KCk7XG4gICAgcmV0dXJuIHRoaXMucmVmZXJlbmNlVHlwZXM7XG4gIH1cblxuICByZWZlcmVuY2VzRm9yKHByb3BlcnR5OiBzdHJpbmcpOiBPcHRpb248U2V0PElQYXRoUmVmZXJlbmNlPGFueT4+PiB7XG4gICAgaWYgKCF0aGlzLnJlZmVyZW5jZXMpIHJldHVybiBudWxsO1xuICAgIHJldHVybiB0aGlzLnJlZmVyZW5jZXNbcHJvcGVydHldO1xuICB9XG5cbiAgZ2V0U2xvdHMoKSB7XG4gICAgcmV0dXJuICh0aGlzLnNsb3RzID0gdGhpcy5zbG90cyB8fCBkaWN0KCkpO1xuICB9XG5cbiAgcm9vdCgpOiBJUm9vdFJlZmVyZW5jZTxhbnk+IHtcbiAgICByZXR1cm4gKHRoaXMucm9vdENhY2hlID0gdGhpcy5yb290Q2FjaGUgfHwgbmV3IHRoaXMuUm9vdFJlZmVyZW5jZUZhY3RvcnkodGhpcy5vYmplY3QpKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBNZXRhO1xuXG5pbnRlcmZhY2UgQ2xhc3NNZXRhIHtcbiAgSW5zdGFuY2VNZXRhQ29uc3RydWN0b3I6IHR5cGVvZiBNZXRhO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWV0YUZvcihvYmo6IGFueSk6IElNZXRhIHtcbiAgcmV0dXJuIE1ldGEuZm9yKG9iaik7XG59XG4iLCJpbXBvcnQgTWV0YSBmcm9tICcuLi9tZXRhJztcbmltcG9ydCB7IFJlZmVyZW5jZSwgVk9MQVRJTEVfVEFHLCBUYWcgfSBmcm9tICdAZ2xpbW1lci9yZWZlcmVuY2UnO1xuaW1wb3J0IHsgTm90aWZpYWJsZVJlZmVyZW5jZSB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBJbm5lclJlZmVyZW5jZUZhY3Rvcnk8VD4ge1xuICBuZXcgKG9iamVjdDogYW55LCBwcm9wZXJ0eTogc3RyaW5nLCBvdXRlcjogTm90aWZpYWJsZVJlZmVyZW5jZTxhbnk+KTogUmVmZXJlbmNlPFQ+O1xufVxuXG5leHBvcnQgY2xhc3MgUHJvcGVydHlSZWZlcmVuY2U8VD4gaW1wbGVtZW50cyBSZWZlcmVuY2U8VD4ge1xuICBwcml2YXRlIG9iamVjdDogYW55O1xuICBwcml2YXRlIHByb3BlcnR5OiBzdHJpbmc7XG4gIHB1YmxpYyB0YWc6IFRhZyA9IFZPTEFUSUxFX1RBRztcblxuICBjb25zdHJ1Y3RvcihvYmplY3Q6IGFueSwgcHJvcGVydHk6IHN0cmluZywgX291dGVyOiBOb3RpZmlhYmxlUmVmZXJlbmNlPFQ+KSB7XG4gICAgdGhpcy5vYmplY3QgPSBvYmplY3Q7XG4gICAgdGhpcy5wcm9wZXJ0eSA9IHByb3BlcnR5O1xuICB9XG5cbiAgdmFsdWUoKSB7IHJldHVybiB0aGlzLm9iamVjdFt0aGlzLnByb3BlcnR5XTsgfVxuXG4gIGxhYmVsKCkge1xuICAgIHJldHVybiAnW3JlZmVyZW5jZSBQcm9wZXJ0eV0nO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDb21wdXRlZFJlZmVyZW5jZUJsdWVwcmludDxUPihfcHJvcGVydHk6IGFueSwgZGVwZW5kZW5jaWVzOiBhbnkpOiBJbm5lclJlZmVyZW5jZUZhY3Rvcnk8VD4ge1xuICByZXR1cm4gY2xhc3MgQ29tcHV0ZWRSZWZlcmVuY2U8VD4gaW1wbGVtZW50cyBSZWZlcmVuY2U8VD4ge1xuICAgIHByaXZhdGUgb2JqZWN0OiBhbnk7XG4gICAgcHJpdmF0ZSBwcm9wZXJ0eTogc3RyaW5nO1xuICAgIHByaXZhdGUgZGVwZW5kZW5jaWVzOiBzdHJpbmdbXVtdO1xuICAgIHByaXZhdGUgb3V0ZXI6IE5vdGlmaWFibGVSZWZlcmVuY2U8VD47XG4gICAgcHJpdmF0ZSBpbnN0YWxsZWQgPSBmYWxzZTtcbiAgICBwdWJsaWMgdGFnOiBUYWcgPSBWT0xBVElMRV9UQUc7XG5cbiAgICBjb25zdHJ1Y3RvcihvYmplY3Q6IGFueSwgcHJvcGVydHk6IHN0cmluZywgb3V0ZXI6IE5vdGlmaWFibGVSZWZlcmVuY2U8VD4pIHtcbiAgICAgIHRoaXMub2JqZWN0ID0gb2JqZWN0O1xuICAgICAgdGhpcy5wcm9wZXJ0eSA9IHByb3BlcnR5O1xuICAgICAgdGhpcy5kZXBlbmRlbmNpZXMgPSBkZXBlbmRlbmNpZXM7XG4gICAgICB0aGlzLm91dGVyID0gb3V0ZXI7XG4gICAgfVxuXG4gICAgdmFsdWUoKTogVCB7XG4gICAgICBpZiAoIXRoaXMuaW5zdGFsbGVkKSB7XG4gICAgICAgIGxldCByb290ID0gTWV0YS5mb3IodGhpcy5vYmplY3QpLnJvb3QoKTtcblxuICAgICAgICB0aGlzLmRlcGVuZGVuY2llcy5mb3JFYWNoKGRlcCA9PiB7XG4gICAgICAgICAgbGV0IHJlZiA9IHJvb3QucmVmZXJlbmNlRnJvbVBhcnRzKGRlcCk7XG4gICAgICAgICAgcmVmLnZhbHVlKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuaW5zdGFsbGVkID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoaXMub2JqZWN0W3RoaXMucHJvcGVydHldO1xuICAgIH1cblxuICAgIGxhYmVsKCkge1xuICAgICAgcmV0dXJuICdbcmVmZXJlbmNlIENvbXB1dGVkXSc7XG4gICAgfVxuICB9O1xufVxuIiwiLy8gaW1wb3J0IHsgbWV0YUZvciB9IGZyb20gJy4vbWV0YSc7XG4vLyBpbXBvcnQgeyBpbnRlcm4gfSBmcm9tICdAZ2xpbW1lci91dGlsJztcblxuZXhwb3J0IGZ1bmN0aW9uIHNldFByb3BlcnR5KHBhcmVudDogYW55LCBwcm9wZXJ0eTogc3RyaW5nLCB2YWw6IGFueSkge1xuICAvLyBsZXQgcm9vdFByb3AgPSBtZXRhRm9yKHBhcmVudCkucm9vdCgpLmNoYWluRm9yKHByb3BlcnR5KSk7XG5cbiAgLy8gbGV0IHJlZmVyZW5jZXNUb05vdGlmeSA9IG1ldGFGb3IocGFyZW50KS5yZWZlcmVuY2VzRm9yKHByb3BlcnR5KSk7XG5cbiAgcGFyZW50W3Byb3BlcnR5XSA9IHZhbDtcblxuICAvLyBpZiAocmVmZXJlbmNlc1RvTm90aWZ5KSB7XG4gIC8vICAgcmVmZXJlbmNlc1RvTm90aWZ5LmZvckVhY2goZnVuY3Rpb24ocmVmKSB7IHJlZi5ub3RpZnkoKTsgfSk7XG4gIC8vIH1cblxuICAvLyBpZiAocm9vdFByb3ApIHJvb3RQcm9wLm5vdGlmeSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbm90aWZ5UHJvcGVydHkoX3BhcmVudDogYW55LCBfcHJvcGVydHk6IHN0cmluZykge1xuICAvLyBsZXQgcm9vdFByb3AgPSBtZXRhRm9yKHBhcmVudCkucm9vdCgpLmNoYWluRm9yKHByb3BlcnR5KSk7XG5cbiAgLy8gbGV0IHJlZmVyZW5jZXNUb05vdGlmeSA9IG1ldGFGb3IocGFyZW50KS5yZWZlcmVuY2VzRm9yKHByb3BlcnR5KSk7XG5cbiAgLy8gaWYgKHJlZmVyZW5jZXNUb05vdGlmeSkge1xuICAvLyAgIHJlZmVyZW5jZXNUb05vdGlmeS5mb3JFYWNoKGZ1bmN0aW9uKHJlZikgeyByZWYubm90aWZ5KCk7IH0pO1xuICAvLyB9XG5cbiAgLy8gaWYgKHJvb3RQcm9wKSByb290UHJvcC5ub3RpZnkoKTtcbn1cbiJdLCJuYW1lcyI6WyJWT0xBVElMRV9UQUciLCJkaWN0IiwiRGljdFNldCJdLCJtYXBwaW5ncyI6Ijs7dUJBQStCOzs7O0FDQS9CLEFBQ0EsQUFDQSxBQUNBLEFBQ0EsSUFjRTsyQkFBWSxRQUEyQjs7O2FBUHhCLFFBQVE7YUFDVixRQUF5QjthQUN4QixTQUFxQzthQUM1QixrQkFBUTthQUNuQixRQUFHO2FBQ0wsTUFBUUE7YUFHWCxTQUFTO2FBQ1QsV0FBVzs7OztZQUlWO1lBQWlCO1lBQVUsUUFBVTs7WUFDdkMsY0FBYyxLQUFLO1lBRW5CLGdCQUFnQixRQUFRLGdCQUFnQixXQUFXO21CQUM3QyxLQUFLLFFBQVE7O1lBR25CLG9CQUFvQixhQUFhO29CQUMzQixLQUFLO2VBQ1I7Z0JBQ0QsZ0JBQWdCLE9BQU8sZ0JBQWdCLFdBQVcsS0FBSyxJQUFJLGFBQWEsaUJBQWlCLFlBQVk7b0JBQ2pHLEtBQUssUUFBUSxJQUFJLGNBQWMsYUFBYSxVQUFVOzs7OztlQU94RCxLQUFLLFFBQVEsTUFBTzs7OytDQUcxQixNQUNGO1lBQUksU0FBUyxLQUFLO1lBQ04sUUFBUSxRQUFRLE9BQU8sT0FBTztlQUNsQyxPQUFPLFFBQVEsSUFBSSxjQUFjLE1BQU07OztxREFJL0M7ZUFBTzs7OytEQUlQO1lBQUksS0FBSyxRQUFRLE9BQU8sS0FBSztlQUNyQixLQUFLLFNBQVNDOzs7bUVBSXRCO1lBQUksU0FBUyxLQUFLLE9BQU87YUFDcEIsa0JBQWtCO2VBQ2hCOzs7O0lBSVg7Ozs7QUNuRUEsQUFDQSxBQUVBLElBT0U7MkJBQVk7OzthQUhFLFNBQUdB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

@@ -139,2 +139,2 @@ 'use strict';

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL29iamVjdC1yZWZlcmVuY2UvbGliL21ldGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxBQUFPLEFBQUUsQUFBaUIsQUFBRSxBQUFNLEFBQTBCLEFBQUM7O0FBQzdELEFBQU8sQUFBYSxBQUFNLEFBQW1CLEFBQUM7Ozs7QUFHOUMsQUFBTyxBQUFRLEFBQU8sQUFBZ0IsQUFBSSxBQUFFLEFBQU0sQUFBZSxBQUFDOztBQVNsRSxBQUFPLEFBQW1DLEFBQVksQUFBRSxBQUFNLEFBQW9CLEFBQUM7Ozs7QUFLbkYsTUFBTSxBQUFZLGVBQUcsRUFBRSxBQUFPLFVBQUksQUFBQyxBQUFFLEFBQUM7QUFFdEM7Z0JBS2MsQUFBVyxRQUFFLEFBQWlCLFdBRm5DO2FBQUcsQUFBRyxBQUFZLEFBQUMsQUFHeEIsQUFBSTthQUFDLEFBQU0sU0FBRyxBQUFNLEFBQUMsQUFDdkIsQUFBQztBQUVELEFBQUs7WUFBSyxBQUFNO2VBQUMsQUFBWSxBQUFDLEFBQUMsQUFBQztBQUNoQyxBQUFNO2FBQUksQUFBQyxDQUVYLEFBQUs7WUFDSCxBQUFNO2VBQUMsQUFBSSxLQUFDLEFBQU0sT0FBQyxBQUFJLEtBQUMsQUFBUSxBQUFDLEFBQUMsQUFDcEMsQUFBQztBQUVELEFBQUc7UUFBQyxBQUFZLE1BQ2QsQUFBTTtlQUFDLElBQUksQUFBUyxVQUFDLEFBQUksS0FBQyxBQUFNLE9BQUMsQUFBSSxLQUFDLEFBQVEsQUFBQyxXQUFFLEFBQUksQUFBQyxBQUFDLEFBQ3pELEFBQUMsQUFDRjs7QUFkQztBQWdCRjtnQkFJYyxBQUFVLE9BRmY7YUFBRyxBQUFHLEFBQVksQUFBQyxBQUd4QixBQUFJO2FBQUMsQUFBSyxRQUFHLEFBQUssQUFBQyxBQUNyQixBQUFDO0FBRUQsQUFBTTtXQUFDLEFBQVUsT0FDZixBQUFJO2FBQUMsQUFBSyxRQUFHLEFBQUssQUFB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QUMsQUFBTSxPQUFDLEFBQVMsQUFBQyxBQUFDLEFBQ3hCLEFBQUM7QUFFRCxBQUFpQjt3QkFDZixBQUFJO2FBQUMsQUFBYyxpQkFBRyxBQUFJLEtBQUMsQUFBYyxrQkFBSSxBQUFJLEFBQTZCLEFBQUMsQUFDL0UsQUFBTTtlQUFDLEFBQUksS0FBQyxBQUFjLEFBQUMsQUFDN0IsQUFBQztBQUVELEFBQWE7a0JBQUMsQUFBZ0IsVUFDNUIsQUFBRSxBQUFDO1lBQUMsQ0FBQyxBQUFJLEtBQUMsQUFBVSxBQUFDLFlBQUMsQUFBTSxPQUFDLEFBQUksQUFBQyxBQUNsQyxBQUFNO2VBQUMsQUFBSSxLQUFDLEFBQVUsV0FBQyxBQUFRLEFBQUMsQUFBQyxBQUNuQyxBQUFDO0FBRUQsQUFBUTtlQUNOLEFBQU0sQUFBQztlQUFDLEFBQUksS0FBQyxBQUFLLFFBQUcsQUFBSSxLQUFDLEFBQUssU0FBSSxBQUFJLEFBQUUsQUFBQyxBQUFDLEFBQzdDLEFBQUM7QUFFRCxBQUFJO1dBQ0YsQUFBTSxBQUFDO2VBQUMsQUFBSSxLQUFDLEFBQVMsWUFBRyxBQUFJLEtBQUMsQUFBUyxhQUFJLElBQUksQUFBSSxLQUFDLEFBQW9CLHFCQUFDLEFBQUksS0FBQyxBQUFNLEFBQUMsQUFBQyxBQUFDLEFBQ3pGLEFBQUMsQUFDRjtBQUVEO0FBL0NFO2tCQStDYSxBQUFJLEFBQUMsQUFNcEIsQUFBTTtpQkFBa0IsQUFBUSxLQUM5QixBQUFNO1dBQUMsQUFBSSxLQUFDLEFBQUcsSUFBQyxBQUFHLEFBQUMsQUFBQyxBQUN2QixBQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvcGVydHlSZWZlcmVuY2UgfSBmcm9tICcuL3JlZmVyZW5jZXMvZGVzY3JpcHRvcnMnO1xuaW1wb3J0IFJvb3RSZWZlcmVuY2UgZnJvbSAnLi9yZWZlcmVuY2VzL3Jvb3QnO1xuaW1wb3J0IHsgTWV0YU9wdGlvbnMgfSBmcm9tICcuL3R5cGVzJztcblxuaW1wb3J0IHsgRGljdCwgRGljdFNldCwgSGFzR3VpZCwgU2V0LCBkaWN0IH0gZnJvbSAnQGdsaW1tZXIvdXRpbCc7XG5cbmltcG9ydCB7XG4gIFJvb3RSZWZlcmVuY2VGYWN0b3J5LFxuICBQYXRoUmVmZXJlbmNlRmFjdG9yeSxcbiAgTWV0YSBhcyBJTWV0YSxcbiAgUm9vdFJlZmVyZW5jZSBhcyBJUm9vdFJlZmVyZW5jZVxufSBmcm9tICcuL3R5cGVzJztcblxuaW1wb3J0IHsgUGF0aFJlZmVyZW5jZSBhcyBJUGF0aFJlZmVyZW5jZSwgVk9MQVRJTEVfVEFHIH0gZnJvbSAnQGdsaW1tZXIvcmVmZXJlbmNlJztcblxuaW1wb3J0IHsgSW5uZXJSZWZlcmVuY2VGYWN0b3J5IH0gZnJvbSAnLi9yZWZlcmVuY2VzL2Rlc2NyaXB0b3JzJztcbmltcG9ydCB7IE9wdGlvbiB9IGZyb20gXCJAZ2xpbW1lci9pbnRlcmZhY2VzXCI7XG5cbmNvbnN0IE5PT1BfREVTVFJPWSA9IHsgZGVzdHJveSgpIHt9IH07XG5cbmNsYXNzIENvbnN0UGF0aCBpbXBsZW1lbnRzIElQYXRoUmVmZXJlbmNlPGFueT4ge1xuICBwcml2YXRlIHBhcmVudDogYW55O1xuICBwcml2YXRlIHByb3BlcnR5OiBzdHJpbmc7XG4gIHB1YmxpYyB0YWcgPSBWT0xBVElMRV9UQUc7XG5cbiAgY29uc3RydWN0b3IocGFyZW50OiBhbnksIF9wcm9wZXJ0eTogc3RyaW5nKSB7XG4gICAgdGhpcy5wYXJlbnQgPSBwYXJlbnQ7XG4gIH1cblxuICBjaGFpbigpIHsgcmV0dXJuIE5PT1BfREVTVFJPWTsgfVxuICBub3RpZnkoKSB7fVxuXG4gIHZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLnBhcmVudFt0aGlzLnByb3BlcnR5XTtcbiAgfVxuXG4gIGdldChwcm9wOiBzdHJpbmcpOiBJUGF0aFJlZmVyZW5jZTxhbnk+IHtcbiAgICByZXR1cm4gbmV3IENvbnN0UGF0aCh0aGlzLnBhcmVudFt0aGlzLnByb3BlcnR5XSwgcHJvcCk7XG4gIH1cbn1cblxuY2xhc3MgQ29uc3RSb290IGltcGxlbWVudHMgSVJvb3RSZWZlcmVuY2U8YW55PiB7XG4gIHByaXZhdGUgaW5uZXI6IGFueTtcbiAgcHVibGljIHRhZyA9IFZPTEFUSUxFX1RBRztcblxuICBjb25zdHJ1Y3Rvcih2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5pbm5lciA9IHZhbHVlO1xuICB9XG5cbiAgdXBkYXRlKGlubmVyOiBhbnkpIHtcbiAgICB0aGlzLmlubmVyID0gaW5uZXI7XG4gIH1cblxuICBjaGFpbigpIHsgcmV0dXJuIE5PT1BfREVTVFJPWTsgfVxuICBub3RpZnkoKSB7fVxuXG4gIHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuaW5uZXI7XG4gIH1cblxuICByZWZlcmVuY2VGcm9tUGFydHMoX3BhcnRzOiBzdHJpbmdbXSk6IElQYXRoUmVmZXJlbmNlPGFueT4ge1xuICAgIHRocm93IG5ldyBFcnJvcihcIk5vdCBpbXBsZW1lbnRlZFwiKTtcbiAgfVxuXG4gIGNoYWluRm9yKF9wcm9wOiBzdHJpbmcpOiBJUGF0aFJlZmVyZW5jZTxhbnk+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJOb3QgaW1wbGVtZW50ZWRcIik7XG4gIH1cblxuICBnZXQocHJvcDogc3RyaW5nKTogSVBhdGhSZWZlcmVuY2U8YW55PiB7XG4gICAgcmV0dXJuIG5ldyBDb25zdFBhdGgodGhpcy5pbm5lciwgcHJvcCk7XG4gIH1cbn1cblxuY2xhc3MgQ29uc3RNZXRhIC8qaW1wbGVtZW50cyBJTWV0YSovIHtcbiAgcHJpdmF0ZSBvYmplY3Q6IGFueTtcblxuICBjb25zdHJ1Y3RvcihvYmplY3Q6IGFueSkge1xuICAgIHRoaXMub2JqZWN0ID0gb2JqZWN0O1xuICB9XG5cbiAgcm9vdCgpOiBDb25zdFJvb3Qge1xuICAgIHJldHVybiBuZXcgQ29uc3RSb290KHRoaXMub2JqZWN0KTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgQ0xBU1NfTUVUQSA9IFwiZGY4YmU0YzgtNGU4OS00NGUyLWE4ZjktNTUwYzhkYWNkY2E3XCI7XG5cbmNvbnN0IGhhc093blByb3BlcnR5ID0gT2JqZWN0Lmhhc093blByb3BlcnR5O1xuXG5jbGFzcyBNZXRhIGltcGxlbWVudHMgSU1ldGEsIEhhc0d1aWQge1xuICBzdGF0aWMgZm9yKG9iajogYW55KTogSU1ldGEge1xuICAgIGlmIChvYmogPT09IG51bGwgfHwgb2JqID09PSB1bmRlZmluZWQpIHJldHVybiBuZXcgTWV0YShvYmosIHt9KTtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChvYmosICdfbWV0YScpICYmIG9iai5fbWV0YSkgcmV0dXJuIG9iai5fbWV0YTtcbiAgICBpZiAoIU9iamVjdC5pc0V4dGVuc2libGUob2JqKSkgcmV0dXJuIDxhbnk+bmV3IENvbnN0TWV0YShvYmopO1xuXG4gICAgbGV0IE1ldGFUb1VzZTogdHlwZW9mIE1ldGEgPSBNZXRhO1xuXG4gICAgaWYgKG9iai5jb25zdHJ1Y3RvciAmJiBvYmouY29uc3RydWN0b3JbQ0xBU1NfTUVUQV0pIHtcbiAgICAgIGxldCBjbGFzc01ldGE6IENsYXNzTWV0YSA9IG9iai5jb25zdHJ1Y3RvcltDTEFTU19NRVRBXTtcbiAgICAgIE1ldGFUb1VzZSA9IGNsYXNzTWV0YS5JbnN0YW5jZU1ldGFDb25zdHJ1Y3RvcjtcbiAgICB9IGVsc2UgaWYgKG9ialtDTEFTU19NRVRBXSkge1xuICAgICAgTWV0YVRvVXNlID0gb2JqW0NMQVNTX01FVEFdLkluc3RhbmNlTWV0YUNvbnN0cnVjdG9yO1xuICAgIH1cblxuICAgIHJldHVybiAob2JqLl9tZXRhID0gbmV3IE1ldGFUb1VzZShvYmosIHt9KSk7XG4gIH1cblxuICBzdGF0aWMgZXhpc3RzKG9iajogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHR5cGVvZiBvYmogPT09ICdvYmplY3QnICYmIG9iai5fbWV0YTtcbiAgfVxuXG4gIHN0YXRpYyBtZXRhZGF0YUZvclByb3BlcnR5KF9rZXk6IHN0cmluZyk6IGFueSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIG9iamVjdDogYW55O1xuICBwcml2YXRlIFJvb3RSZWZlcmVuY2VGYWN0b3J5OiBSb290UmVmZXJlbmNlRmFjdG9yeTxhbnk+O1xuICBwcml2YXRlIERlZmF1bHRQYXRoUmVmZXJlbmNlRmFjdG9yeTogSW5uZXJSZWZlcmVuY2VGYWN0b3J5PGFueT47XG4gIHByaXZhdGUgcm9vdENhY2hlOiBJUm9vdFJlZmVyZW5jZTxhbnk+O1xuICBwcml2YXRlIHJlZmVyZW5jZXM6IE9wdGlvbjxEaWN0PERpY3RTZXQ8SVBhdGhSZWZlcmVuY2U8YW55PiAmIEhhc0d1aWQ+Pj4gPSBudWxsO1xuICBwdWJsaWMgX2d1aWQ6IG51bWJlcjtcbiAgcHJvdGVjdGVkIHNsb3RzOiBPcHRpb248RGljdDxhbnk+PiA9IG51bGw7XG4gIHByb3RlY3RlZCByZWZlcmVuY2VUeXBlczogT3B0aW9uPERpY3Q8SW5uZXJSZWZlcmVuY2VGYWN0b3J5PGFueT4+PiA9IG51bGw7XG4gIHByb3RlY3RlZCBwcm9wZXJ0eU1ldGFkYXRhOiBPcHRpb248RGljdDxhbnk+PiA9IG51bGw7XG5cbiAgY29uc3RydWN0b3Iob2JqZWN0OiBhbnksIHsgUm9vdFJlZmVyZW5jZUZhY3RvcnksIERlZmF1bHRQYXRoUmVmZXJlbmNlRmFjdG9yeSB9OiBNZXRhT3B0aW9ucykge1xuICAgIHRoaXMub2JqZWN0ID0gb2JqZWN0O1xuICAgIHRoaXMuUm9vdFJlZmVyZW5jZUZhY3RvcnkgPSAoUm9vdFJlZmVyZW5jZUZhY3RvcnkgfHwgUm9vdFJlZmVyZW5jZSkgYXMgUm9vdFJlZmVyZW5jZUZhY3Rvcnk8YW55PjtcbiAgICB0aGlzLkRlZmF1bHRQYXRoUmVmZXJlbmNlRmFjdG9yeSA9IERlZmF1bHRQYXRoUmVmZXJlbmNlRmFjdG9yeSB8fCBQcm9wZXJ0eVJlZmVyZW5jZTtcbiAgfVxuXG4gIGFkZFJlZmVyZW5jZShwcm9wZXJ0eTogc3RyaW5nLCByZWZlcmVuY2U6IElQYXRoUmVmZXJlbmNlPGFueT4gJiBIYXNHdWlkKSB7XG4gICAgbGV0IHJlZnMgPSB0aGlzLnJlZmVyZW5jZXMgPSB0aGlzLnJlZmVyZW5jZXMgfHwgZGljdDxEaWN0U2V0PElQYXRoUmVmZXJlbmNlPGFueT4gJiBIYXNHdWlkPj4oKTtcbiAgICBsZXQgc2V0ID0gcmVmc1twcm9wZXJ0eV0gPSByZWZzW3Byb3BlcnR5XSB8fCBuZXcgRGljdFNldDxJUGF0aFJlZmVyZW5jZTxhbnk+ICYgSGFzR3VpZD4oKTtcbiAgICBzZXQuYWRkKHJlZmVyZW5jZSk7XG4gIH1cblxuICBhZGRSZWZlcmVuY2VUeXBlRm9yKHByb3BlcnR5OiBzdHJpbmcsIHR5cGU6IFBhdGhSZWZlcmVuY2VGYWN0b3J5PGFueT4pIHtcbiAgICB0aGlzLnJlZmVyZW5jZVR5cGVzID0gdGhpcy5yZWZlcmVuY2VUeXBlcyB8fCBkaWN0PFBhdGhSZWZlcmVuY2VGYWN0b3J5PGFueT4+KCk7XG4gICAgdGhpcy5yZWZlcmVuY2VUeXBlc1twcm9wZXJ0eV0gPSB0eXBlO1xuICB9XG5cbiAgcmVmZXJlbmNlVHlwZUZvcihwcm9wZXJ0eTogc3RyaW5nKTogSW5uZXJSZWZlcmVuY2VGYWN0b3J5PGFueT4ge1xuICAgIGlmICghdGhpcy5yZWZlcmVuY2VUeXBlcykgcmV0dXJuIFByb3BlcnR5UmVmZXJlbmNlO1xuICAgIHJldHVybiB0aGlzLnJlZmVyZW5jZVR5cGVzW3Byb3BlcnR5XSB8fCBQcm9wZXJ0eVJlZmVyZW5jZTtcbiAgfVxuXG4gIHJlbW92ZVJlZmVyZW5jZShwcm9wZXJ0eTogc3RyaW5nLCByZWZlcmVuY2U6IElQYXRoUmVmZXJlbmNlPGFueT4gJiBIYXNHdWlkKSB7XG4gICAgaWYgKCF0aGlzLnJlZmVyZW5jZXMpIHJldHVybjtcbiAgICBsZXQgc2V0ID0gdGhpcy5yZWZlcmVuY2VzW3Byb3BlcnR5XTtcbiAgICBzZXQuZGVsZXRlKHJlZmVyZW5jZSk7XG4gIH1cblxuICBnZXRSZWZlcmVuY2VUeXBlcygpOiBEaWN0PElubmVyUmVmZXJlbmNlRmFjdG9yeTxhbnk+PiB7XG4gICAgdGhpcy5yZWZlcmVuY2VUeXBlcyA9IHRoaXMucmVmZXJlbmNlVHlwZXMgfHwgZGljdDxQYXRoUmVmZXJlbmNlRmFjdG9yeTxhbnk+PigpO1xuICAgIHJldHVybiB0aGlzLnJlZmVyZW5jZVR5cGVzO1xuICB9XG5cbiAgcmVmZXJlbmNlc0Zvcihwcm9wZXJ0eTogc3RyaW5nKTogT3B0aW9uPFNldDxJUGF0aFJlZmVyZW5jZTxhbnk+Pj4ge1xuICAgIGlmICghdGhpcy5yZWZlcmVuY2VzKSByZXR1cm4gbnVsbDtcbiAgICByZXR1cm4gdGhpcy5yZWZlcmVuY2VzW3Byb3BlcnR5XTtcbiAgfVxuXG4gIGdldFNsb3RzKCkge1xuICAgIHJldHVybiAodGhpcy5zbG90cyA9IHRoaXMuc2xvdHMgfHwgZGljdCgpKTtcbiAgfVxuXG4gIHJvb3QoKTogSVJvb3RSZWZlcmVuY2U8YW55PiB7XG4gICAgcmV0dXJuICh0aGlzLnJvb3RDYWNoZSA9IHRoaXMucm9vdENhY2hlIHx8IG5ldyB0aGlzLlJvb3RSZWZlcmVuY2VGYWN0b3J5KHRoaXMub2JqZWN0KSk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgTWV0YTtcblxuaW50ZXJmYWNlIENsYXNzTWV0YSB7XG4gIEluc3RhbmNlTWV0YUNvbnN0cnVjdG9yOiB0eXBlb2YgTWV0YTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ldGFGb3Iob2JqOiBhbnkpOiBJTWV0YSB7XG4gIHJldHVybiBNZXRhLmZvcihvYmopO1xufVxuIl19
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL29iamVjdC1yZWZlcmVuY2UvbGliL21ldGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxBQUFPLEFBQUUsQUFBaUIsQUFBRSxBQUFNLEFBQTBCLEFBQUM7O0FBQzdELEFBQU8sQUFBYSxBQUFNLEFBQW1CLEFBQUM7Ozs7QUFHOUMsQUFBTyxBQUFnQixBQUFPLEFBQWdCLEFBQUksQUFBRSxBQUFNLEFBQWUsQUFBQzs7QUFTMUUsQUFBTyxBQUFtQyxBQUFZLEFBQUUsQUFBTSxBQUFvQixBQUFDOzs7O0FBSW5GLE1BQU0sQUFBWSxlQUFHLEVBQUUsQUFBTyxVQUFJLEFBQUMsQUFBRSxBQUFDO0FBRXRDO2dCQUtjLEFBQVcsUUFBRSxBQUFpQixXQUZuQzthQUFHLEFBQUcsQUFBWSxBQUFDLEFBR3hCLEFBQUk7YUFBQyxBQUFNLFNBQUcsQUFBTSxBQUFDLEFBQ3ZCLEFBQUM7QUFFRCxBQUFLO1lBQUssQUFBTTtlQUFDLEFBQVksQUFBQyxBQUFDLEFBQUM7QUFDaEMsQUFBTTthQUFJLEFBQUMsQ0FFWCxBQUFLO1lBQ0gsQUFBTTtlQUFDLEFBQUksS0FBQyxBQUFNLE9BQUMsQUFBSSxLQUFDLEFBQVEsQUFBQyxBQUFDLEFBQ3BDLEFBQUM7QUFFRCxBQUFHO1FBQUMsQUFBWSxNQUNkLEFBQU07ZUFBQyxJQUFJLEFBQVMsVUFBQyxBQUFJLEtBQUMsQUFBTSxPQUFDLEFBQUksS0FBQyxBQUFRLEFBQUMsV0FBRSxBQUFJLEFBQUMsQUFBQyxBQUN6RCxBQUFDLEFBQ0Y7O0FBZEM7QUFnQkY7Z0JBSWMsQUFBVSxPQUZmO2FBQUcsQUFBRyxBQUFZLEFBQUMsQUFHeEIsQUFBSTthQUFDLEFBQUssUUFBRyxBQUFLLEFBQUMsQUFDckIsQUFBQztBQUVELEFBQU07V0FBQyxBQUFVLE9BQ2YsQUFBSTthQUFDLEFBQUssUUFBRyxBQUFLLEFB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QUFDLEFBQU0sT0FBQyxBQUFTLEFBQUMsQUFBQyxBQUN4QixBQUFDO0FBRUQsQUFBaUI7d0JBQ2YsQUFBSTthQUFDLEFBQWMsaUJBQUcsQUFBSSxLQUFDLEFBQWMsa0JBQUksQUFBSSxBQUE2QixBQUFDLEFBQy9FLEFBQU07ZUFBQyxBQUFJLEtBQUMsQUFBYyxBQUFDLEFBQzdCLEFBQUM7QUFFRCxBQUFhO2tCQUFDLEFBQWdCLFVBQzVCLEFBQUUsQUFBQztZQUFDLENBQUMsQUFBSSxLQUFDLEFBQVUsQUFBQyxZQUFDLEFBQU0sT0FBQyxBQUFJLEFBQUMsQUFDbEMsQUFBTTtlQUFDLEFBQUksS0FBQyxBQUFVLFdBQUMsQUFBUSxBQUFDLEFBQUMsQUFDbkMsQUFBQztBQUVELEFBQVE7ZUFDTixBQUFNLEFBQUM7ZUFBQyxBQUFJLEtBQUMsQUFBSyxRQUFHLEFBQUksS0FBQyxBQUFLLFNBQUksQUFBSSxBQUFFLEFBQUMsQUFBQyxBQUM3QyxBQUFDO0FBRUQsQUFBSTtXQUNGLEFBQU0sQUFBQztlQUFDLEFBQUksS0FBQyxBQUFTLFlBQUcsQUFBSSxLQUFDLEFBQVMsYUFBSSxJQUFJLEFBQUksS0FBQyxBQUFvQixxQkFBQyxBQUFJLEtBQUMsQUFBTSxBQUFDLEFBQUMsQUFBQyxBQUN6RixBQUFDLEFBQ0Y7QUFFRDtBQS9DRTtrQkErQ2EsQUFBSSxBQUFDLEFBTXBCLEFBQU07aUJBQWtCLEFBQVEsS0FDOUIsQUFBTTtXQUFDLEFBQUksS0FBQyxBQUFHLElBQUMsQUFBRyxBQUFDLEFBQUMsQUFDdkIsQUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3BlcnR5UmVmZXJlbmNlIH0gZnJvbSAnLi9yZWZlcmVuY2VzL2Rlc2NyaXB0b3JzJztcbmltcG9ydCBSb290UmVmZXJlbmNlIGZyb20gJy4vcmVmZXJlbmNlcy9yb290JztcbmltcG9ydCB7IE1ldGFPcHRpb25zIH0gZnJvbSAnLi90eXBlcyc7XG5cbmltcG9ydCB7IE9wdGlvbiwgRGljdCwgRGljdFNldCwgSGFzR3VpZCwgU2V0LCBkaWN0IH0gZnJvbSAnQGdsaW1tZXIvdXRpbCc7XG5cbmltcG9ydCB7XG4gIFJvb3RSZWZlcmVuY2VGYWN0b3J5LFxuICBQYXRoUmVmZXJlbmNlRmFjdG9yeSxcbiAgTWV0YSBhcyBJTWV0YSxcbiAgUm9vdFJlZmVyZW5jZSBhcyBJUm9vdFJlZmVyZW5jZVxufSBmcm9tICcuL3R5cGVzJztcblxuaW1wb3J0IHsgUGF0aFJlZmVyZW5jZSBhcyBJUGF0aFJlZmVyZW5jZSwgVk9MQVRJTEVfVEFHIH0gZnJvbSAnQGdsaW1tZXIvcmVmZXJlbmNlJztcblxuaW1wb3J0IHsgSW5uZXJSZWZlcmVuY2VGYWN0b3J5IH0gZnJvbSAnLi9yZWZlcmVuY2VzL2Rlc2NyaXB0b3JzJztcblxuY29uc3QgTk9PUF9ERVNUUk9ZID0geyBkZXN0cm95KCkge30gfTtcblxuY2xhc3MgQ29uc3RQYXRoIGltcGxlbWVudHMgSVBhdGhSZWZlcmVuY2U8YW55PiB7XG4gIHByaXZhdGUgcGFyZW50OiBhbnk7XG4gIHByaXZhdGUgcHJvcGVydHk6IHN0cmluZztcbiAgcHVibGljIHRhZyA9IFZPTEFUSUxFX1RBRztcblxuICBjb25zdHJ1Y3RvcihwYXJlbnQ6IGFueSwgX3Byb3BlcnR5OiBzdHJpbmcpIHtcbiAgICB0aGlzLnBhcmVudCA9IHBhcmVudDtcbiAgfVxuXG4gIGNoYWluKCkgeyByZXR1cm4gTk9PUF9ERVNUUk9ZOyB9XG4gIG5vdGlmeSgpIHt9XG5cbiAgdmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyZW50W3RoaXMucHJvcGVydHldO1xuICB9XG5cbiAgZ2V0KHByb3A6IHN0cmluZyk6IElQYXRoUmVmZXJlbmNlPGFueT4ge1xuICAgIHJldHVybiBuZXcgQ29uc3RQYXRoKHRoaXMucGFyZW50W3RoaXMucHJvcGVydHldLCBwcm9wKTtcbiAgfVxufVxuXG5jbGFzcyBDb25zdFJvb3QgaW1wbGVtZW50cyBJUm9vdFJlZmVyZW5jZTxhbnk+IHtcbiAgcHJpdmF0ZSBpbm5lcjogYW55O1xuICBwdWJsaWMgdGFnID0gVk9MQVRJTEVfVEFHO1xuXG4gIGNvbnN0cnVjdG9yKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLmlubmVyID0gdmFsdWU7XG4gIH1cblxuICB1cGRhdGUoaW5uZXI6IGFueSkge1xuICAgIHRoaXMuaW5uZXIgPSBpbm5lcjtcbiAgfVxuXG4gIGNoYWluKCkgeyByZXR1cm4gTk9PUF9ERVNUUk9ZOyB9XG4gIG5vdGlmeSgpIHt9XG5cbiAgdmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5pbm5lcjtcbiAgfVxuXG4gIHJlZmVyZW5jZUZyb21QYXJ0cyhfcGFydHM6IHN0cmluZ1tdKTogSVBhdGhSZWZlcmVuY2U8YW55PiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiTm90IGltcGxlbWVudGVkXCIpO1xuICB9XG5cbiAgY2hhaW5Gb3IoX3Byb3A6IHN0cmluZyk6IElQYXRoUmVmZXJlbmNlPGFueT4ge1xuICAgIHRocm93IG5ldyBFcnJvcihcIk5vdCBpbXBsZW1lbnRlZFwiKTtcbiAgfVxuXG4gIGdldChwcm9wOiBzdHJpbmcpOiBJUGF0aFJlZmVyZW5jZTxhbnk+IHtcbiAgICByZXR1cm4gbmV3IENvbnN0UGF0aCh0aGlzLmlubmVyLCBwcm9wKTtcbiAgfVxufVxuXG5jbGFzcyBDb25zdE1ldGEgLyppbXBsZW1lbnRzIElNZXRhKi8ge1xuICBwcml2YXRlIG9iamVjdDogYW55O1xuXG4gIGNvbnN0cnVjdG9yKG9iamVjdDogYW55KSB7XG4gICAgdGhpcy5vYmplY3QgPSBvYmplY3Q7XG4gIH1cblxuICByb290KCk6IENvbnN0Um9vdCB7XG4gICAgcmV0dXJuIG5ldyBDb25zdFJvb3QodGhpcy5vYmplY3QpO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBDTEFTU19NRVRBID0gXCJkZjhiZTRjOC00ZTg5LTQ0ZTItYThmOS01NTBjOGRhY2RjYTdcIjtcblxuY29uc3QgaGFzT3duUHJvcGVydHkgPSBPYmplY3QuaGFzT3duUHJvcGVydHk7XG5cbmNsYXNzIE1ldGEgaW1wbGVtZW50cyBJTWV0YSwgSGFzR3VpZCB7XG4gIHN0YXRpYyBmb3Iob2JqOiBhbnkpOiBJTWV0YSB7XG4gICAgaWYgKG9iaiA9PT0gbnVsbCB8fCBvYmogPT09IHVuZGVmaW5lZCkgcmV0dXJuIG5ldyBNZXRhKG9iaiwge30pO1xuICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgJ19tZXRhJykgJiYgb2JqLl9tZXRhKSByZXR1cm4gb2JqLl9tZXRhO1xuICAgIGlmICghT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopKSByZXR1cm4gPGFueT5uZXcgQ29uc3RNZXRhKG9iaik7XG5cbiAgICBsZXQgTWV0YVRvVXNlOiB0eXBlb2YgTWV0YSA9IE1ldGE7XG5cbiAgICBpZiAob2JqLmNvbnN0cnVjdG9yICYmIG9iai5jb25zdHJ1Y3RvcltDTEFTU19NRVRBXSkge1xuICAgICAgbGV0IGNsYXNzTWV0YTogQ2xhc3NNZXRhID0gb2JqLmNvbnN0cnVjdG9yW0NMQVNTX01FVEFdO1xuICAgICAgTWV0YVRvVXNlID0gY2xhc3NNZXRhLkluc3RhbmNlTWV0YUNvbnN0cnVjdG9yO1xuICAgIH0gZWxzZSBpZiAob2JqW0NMQVNTX01FVEFdKSB7XG4gICAgICBNZXRhVG9Vc2UgPSBvYmpbQ0xBU1NfTUVUQV0uSW5zdGFuY2VNZXRhQ29uc3RydWN0b3I7XG4gICAgfVxuXG4gICAgcmV0dXJuIChvYmouX21ldGEgPSBuZXcgTWV0YVRvVXNlKG9iaiwge30pKTtcbiAgfVxuXG4gIHN0YXRpYyBleGlzdHMob2JqOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHlwZW9mIG9iaiA9PT0gJ29iamVjdCcgJiYgb2JqLl9tZXRhO1xuICB9XG5cbiAgc3RhdGljIG1ldGFkYXRhRm9yUHJvcGVydHkoX2tleTogc3RyaW5nKTogYW55IHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgb2JqZWN0OiBhbnk7XG4gIHByaXZhdGUgUm9vdFJlZmVyZW5jZUZhY3Rvcnk6IFJvb3RSZWZlcmVuY2VGYWN0b3J5PGFueT47XG4gIHByaXZhdGUgRGVmYXVsdFBhdGhSZWZlcmVuY2VGYWN0b3J5OiBJbm5lclJlZmVyZW5jZUZhY3Rvcnk8YW55PjtcbiAgcHJpdmF0ZSByb290Q2FjaGU6IElSb290UmVmZXJlbmNlPGFueT47XG4gIHByaXZhdGUgcmVmZXJlbmNlczogT3B0aW9uPERpY3Q8RGljdFNldDxJUGF0aFJlZmVyZW5jZTxhbnk+ICYgSGFzR3VpZD4+PiA9IG51bGw7XG4gIHB1YmxpYyBfZ3VpZDogbnVtYmVyO1xuICBwcm90ZWN0ZWQgc2xvdHM6IE9wdGlvbjxEaWN0PGFueT4+ID0gbnVsbDtcbiAgcHJvdGVjdGVkIHJlZmVyZW5jZVR5cGVzOiBPcHRpb248RGljdDxJbm5lclJlZmVyZW5jZUZhY3Rvcnk8YW55Pj4+ID0gbnVsbDtcbiAgcHJvdGVjdGVkIHByb3BlcnR5TWV0YWRhdGE6IE9wdGlvbjxEaWN0PGFueT4+ID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihvYmplY3Q6IGFueSwgeyBSb290UmVmZXJlbmNlRmFjdG9yeSwgRGVmYXVsdFBhdGhSZWZlcmVuY2VGYWN0b3J5IH06IE1ldGFPcHRpb25zKSB7XG4gICAgdGhpcy5vYmplY3QgPSBvYmplY3Q7XG4gICAgdGhpcy5Sb290UmVmZXJlbmNlRmFjdG9yeSA9IChSb290UmVmZXJlbmNlRmFjdG9yeSB8fCBSb290UmVmZXJlbmNlKSBhcyBSb290UmVmZXJlbmNlRmFjdG9yeTxhbnk+O1xuICAgIHRoaXMuRGVmYXVsdFBhdGhSZWZlcmVuY2VGYWN0b3J5ID0gRGVmYXVsdFBhdGhSZWZlcmVuY2VGYWN0b3J5IHx8IFByb3BlcnR5UmVmZXJlbmNlO1xuICB9XG5cbiAgYWRkUmVmZXJlbmNlKHByb3BlcnR5OiBzdHJpbmcsIHJlZmVyZW5jZTogSVBhdGhSZWZlcmVuY2U8YW55PiAmIEhhc0d1aWQpIHtcbiAgICBsZXQgcmVmcyA9IHRoaXMucmVmZXJlbmNlcyA9IHRoaXMucmVmZXJlbmNlcyB8fCBkaWN0PERpY3RTZXQ8SVBhdGhSZWZlcmVuY2U8YW55PiAmIEhhc0d1aWQ+PigpO1xuICAgIGxldCBzZXQgPSByZWZzW3Byb3BlcnR5XSA9IHJlZnNbcHJvcGVydHldIHx8IG5ldyBEaWN0U2V0PElQYXRoUmVmZXJlbmNlPGFueT4gJiBIYXNHdWlkPigpO1xuICAgIHNldC5hZGQocmVmZXJlbmNlKTtcbiAgfVxuXG4gIGFkZFJlZmVyZW5jZVR5cGVGb3IocHJvcGVydHk6IHN0cmluZywgdHlwZTogUGF0aFJlZmVyZW5jZUZhY3Rvcnk8YW55Pikge1xuICAgIHRoaXMucmVmZXJlbmNlVHlwZXMgPSB0aGlzLnJlZmVyZW5jZVR5cGVzIHx8IGRpY3Q8UGF0aFJlZmVyZW5jZUZhY3Rvcnk8YW55Pj4oKTtcbiAgICB0aGlzLnJlZmVyZW5jZVR5cGVzW3Byb3BlcnR5XSA9IHR5cGU7XG4gIH1cblxuICByZWZlcmVuY2VUeXBlRm9yKHByb3BlcnR5OiBzdHJpbmcpOiBJbm5lclJlZmVyZW5jZUZhY3Rvcnk8YW55PiB7XG4gICAgaWYgKCF0aGlzLnJlZmVyZW5jZVR5cGVzKSByZXR1cm4gUHJvcGVydHlSZWZlcmVuY2U7XG4gICAgcmV0dXJuIHRoaXMucmVmZXJlbmNlVHlwZXNbcHJvcGVydHldIHx8IFByb3BlcnR5UmVmZXJlbmNlO1xuICB9XG5cbiAgcmVtb3ZlUmVmZXJlbmNlKHByb3BlcnR5OiBzdHJpbmcsIHJlZmVyZW5jZTogSVBhdGhSZWZlcmVuY2U8YW55PiAmIEhhc0d1aWQpIHtcbiAgICBpZiAoIXRoaXMucmVmZXJlbmNlcykgcmV0dXJuO1xuICAgIGxldCBzZXQgPSB0aGlzLnJlZmVyZW5jZXNbcHJvcGVydHldO1xuICAgIHNldC5kZWxldGUocmVmZXJlbmNlKTtcbiAgfVxuXG4gIGdldFJlZmVyZW5jZVR5cGVzKCk6IERpY3Q8SW5uZXJSZWZlcmVuY2VGYWN0b3J5PGFueT4+IHtcbiAgICB0aGlzLnJlZmVyZW5jZVR5cGVzID0gdGhpcy5yZWZlcmVuY2VUeXBlcyB8fCBkaWN0PFBhdGhSZWZlcmVuY2VGYWN0b3J5PGFueT4+KCk7XG4gICAgcmV0dXJuIHRoaXMucmVmZXJlbmNlVHlwZXM7XG4gIH1cblxuICByZWZlcmVuY2VzRm9yKHByb3BlcnR5OiBzdHJpbmcpOiBPcHRpb248U2V0PElQYXRoUmVmZXJlbmNlPGFueT4+PiB7XG4gICAgaWYgKCF0aGlzLnJlZmVyZW5jZXMpIHJldHVybiBudWxsO1xuICAgIHJldHVybiB0aGlzLnJlZmVyZW5jZXNbcHJvcGVydHldO1xuICB9XG5cbiAgZ2V0U2xvdHMoKSB7XG4gICAgcmV0dXJuICh0aGlzLnNsb3RzID0gdGhpcy5zbG90cyB8fCBkaWN0KCkpO1xuICB9XG5cbiAgcm9vdCgpOiBJUm9vdFJlZmVyZW5jZTxhbnk+IHtcbiAgICByZXR1cm4gKHRoaXMucm9vdENhY2hlID0gdGhpcy5yb290Q2FjaGUgfHwgbmV3IHRoaXMuUm9vdFJlZmVyZW5jZUZhY3RvcnkodGhpcy5vYmplY3QpKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBNZXRhO1xuXG5pbnRlcmZhY2UgQ2xhc3NNZXRhIHtcbiAgSW5zdGFuY2VNZXRhQ29uc3RydWN0b3I6IHR5cGVvZiBNZXRhO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWV0YUZvcihvYmo6IGFueSk6IElNZXRhIHtcbiAgcmV0dXJuIE1ldGEuZm9yKG9iaik7XG59XG4iXX0=

@@ -47,2 +47,2 @@ 'use strict';

exports.default = RootReference;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL29iamVjdC1yZWZlcmVuY2UvbGliL3JlZmVyZW5jZXMvcm9vdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxBQUFPLEFBQVUsQUFBSSxBQUFFLEFBQU0sQUFBZSxBQUFDOztBQUM3QyxBQUFPLEFBQUUsQUFBYSxBQUFFLEFBQU0sQUFBUSxBQUFDOztBQUV2QyxBQUFPLEFBQUUsQUFBWSxBQUF3QyxBQUFNLEFBQW9CLEFBQUMsQUFHeEYsQUFBTSxBQUFDLEFBQU87OztnQkFLQSxBQUFTLFFBSGI7YUFBTSxTQUFHLEFBQUksQUFBc0IsQUFBQyxBQUNyQzthQUFHLEFBQVEsQUFBWSxBQUFDLEFBRzdCLEFBQUk7YUFBQyxBQUFNLFNBQUcsQUFBTSxBQUFDLEFBQ3ZCLEFBQUM7QUFFRCxBQUFLO1lBQVEsQUFBTTtlQUFDLEFBQUksS0FBQyxBQUFNLEFBQUMsQUFBQyxBQUFDO0FBRWxDLEFBQU07V0FBQyxBQUFTLFFBQ2QsQUFBSTthQUFDLEFBQU0sU0FBRyxBQUFNLEFBQUMsQUFDckIsQUFBaUIsQUFDbkI7QUFBQztBQUVELEFBQUc7UUFBSSxBQUFZLE1BQ2pCO1lBQUksQUFBTSxTQUFHLEFBQUksS0FBQyxBQUFNLEFBQUMsQUFDekIsQUFBRSxBQUFDO1lBQVMsQUFBSSxRQUFJLEFBQU0sQUFBQyxRQUFDLEFBQU0sT0FBQyxBQUFNLE9BQUMsQUFBSSxBQUFDLEFBQUMsQUFDaEQsQUFBTSxBQUFDO2VBQUMsQUFBTSxPQUFDLEFBQUksQUFBQyxRQUFHLEFBQUksQUFBYSx3QkFBQyxBQUFJLE1BQUUsQUFBSSxBQUFDLEFBQUMsQUFBQyxBQUN4RCxBQUFDO0FBRUQsQUFBUTthQUFJLEFBQVksTUFDdEI7WUFBSSxBQUFNLFNBQUcsQUFBSSxLQUFDLEFBQU0sQUFBQyxBQUN6QixBQUFFLEFBQUM7WUFBUyxBQUFJLFFBQUksQUFBTSxBQUFDLFFBQUMsQUFBTSxPQUFDLEFBQU0sT0FBQyxBQUFJLEFBQUMsQUFBQyxBQUNoRCxBQUFNO2VBQUMsQUFBSSxBQUFDLEFBQ2QsQUFBQztBQUVELEFBQUk7U0FBQyxBQUFjLFFBQ2pCLEFBQU07ZUFBQyxBQUFNLE9BQUMsQUFBSyxNQUFDLEFBQUcsQUFBQyxLQUFDLEFBQU0sT0FBQyxDQUFDLEFBQUcsS0FBRSxBQUFJLFNBQUssQUFBRyxJQUFDLEFBQUcsSUFBQyxBQUFJLEFBQUMsT0FBRSxBQUE4QixBQUFDLEFBQUMsQUFDaEcsQUFBQztBQUVELEFBQWtCO3VCQUFDLEFBQWUsT0FDaEMsQUFBTTtlQUFDLEFBQUssTUFBQyxBQUFNLE9BQUMsQ0FBQyxBQUFHLEtBQUUsQUFBSSxTQUFLLEFBQUcsSUFBQyxBQUFHLElBQUMsQUFBSSxBQUEyQixPQUFFLEFBQThCLEFBQUMsQUFBQyxBQUM5RyxBQUFDO0FBRUQsQUFBSztZQUNILEFBQU07ZUFBQyxBQUFrQixBQUFDLEFBQzVCLEFBQUMsQUFDRjs7QUFsQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcGFxdWUsIGRpY3QgfSBmcm9tICdAZ2xpbW1lci91dGlsJztcbmltcG9ydCB7IFBhdGhSZWZlcmVuY2UgfSBmcm9tICcuL3BhdGgnO1xuaW1wb3J0IHsgUm9vdFJlZmVyZW5jZSBhcyBJUm9vdFJlZmVyZW5jZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IFZPTEFUSUxFX1RBRywgUGF0aFJlZmVyZW5jZSBhcyBJUGF0aFJlZmVyZW5jZSwgVGFnIH0gZnJvbSAnQGdsaW1tZXIvcmVmZXJlbmNlJztcbmltcG9ydCB7IE9wdGlvbiB9IGZyb20gXCJAZ2xpbW1lci9pbnRlcmZhY2VzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJvb3RSZWZlcmVuY2U8VD4gaW1wbGVtZW50cyBJUm9vdFJlZmVyZW5jZTxUPiwgSVBhdGhSZWZlcmVuY2U8VD4ge1xuICBwcml2YXRlIG9iamVjdDogVDtcbiAgcHJpdmF0ZSBjaGFpbnMgPSBkaWN0PFBhdGhSZWZlcmVuY2U8YW55Pj4oKTtcbiAgcHVibGljIHRhZzogVGFnID0gVk9MQVRJTEVfVEFHO1xuXG4gIGNvbnN0cnVjdG9yKG9iamVjdDogVCkge1xuICAgIHRoaXMub2JqZWN0ID0gb2JqZWN0O1xuICB9XG5cbiAgdmFsdWUoKTogVCB7IHJldHVybiB0aGlzLm9iamVjdDsgfVxuXG4gIHVwZGF0ZShvYmplY3Q6IFQpIHtcbiAgICB0aGlzLm9iamVjdCA9IG9iamVjdDtcbiAgICAvLyB0aGlzLm5vdGlmeSgpO1xuICB9XG5cbiAgZ2V0PFU+KHByb3A6IHN0cmluZyk6IElQYXRoUmVmZXJlbmNlPFU+IHtcbiAgICBsZXQgY2hhaW5zID0gdGhpcy5jaGFpbnM7XG4gICAgaWYgKDxzdHJpbmc+cHJvcCBpbiBjaGFpbnMpIHJldHVybiBjaGFpbnNbcHJvcF07XG4gICAgcmV0dXJuIChjaGFpbnNbcHJvcF0gPSBuZXcgUGF0aFJlZmVyZW5jZSh0aGlzLCBwcm9wKSk7XG4gIH1cblxuICBjaGFpbkZvcjxVPihwcm9wOiBzdHJpbmcpOiBPcHRpb248SVBhdGhSZWZlcmVuY2U8VT4+IHtcbiAgICBsZXQgY2hhaW5zID0gdGhpcy5jaGFpbnM7XG4gICAgaWYgKDxzdHJpbmc+cHJvcCBpbiBjaGFpbnMpIHJldHVybiBjaGFpbnNbcHJvcF07XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwYXRoKHN0cmluZzogc3RyaW5nKTogSVBhdGhSZWZlcmVuY2U8T3BhcXVlPiB7XG4gICAgcmV0dXJuIHN0cmluZy5zcGxpdCgnLicpLnJlZHVjZSgocmVmLCBwYXJ0KSA9PiByZWYuZ2V0KHBhcnQpLCB0aGlzIGFzIElQYXRoUmVmZXJlbmNlPE9wYXF1ZT4pO1xuICB9XG5cbiAgcmVmZXJlbmNlRnJvbVBhcnRzKHBhcnRzOiBzdHJpbmdbXSk6IElQYXRoUmVmZXJlbmNlPE9wYXF1ZT4ge1xuICAgIHJldHVybiBwYXJ0cy5yZWR1Y2UoKHJlZiwgcGFydCkgPT4gcmVmLmdldChwYXJ0KSBhcyBJUGF0aFJlZmVyZW5jZTxPcGFxdWU+LCB0aGlzIGFzIElQYXRoUmVmZXJlbmNlPE9wYXF1ZT4pO1xuICB9XG5cbiAgbGFiZWwoKSB7XG4gICAgcmV0dXJuICdbcmVmZXJlbmNlIFJvb3RdJztcbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL29iamVjdC1yZWZlcmVuY2UvbGliL3JlZmVyZW5jZXMvcm9vdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxBQUFPLEFBQWtCLEFBQUksQUFBRSxBQUFNLEFBQWUsQUFBQzs7QUFDckQsQUFBTyxBQUFFLEFBQWEsQUFBRSxBQUFNLEFBQVEsQUFBQzs7QUFFdkMsQUFBTyxBQUFFLEFBQVksQUFBd0MsQUFBTSxBQUFvQixBQUFDLEFBRXhGLEFBQU0sQUFBQyxBQUFPOzs7Z0JBS0EsQUFBUyxRQUhiO2FBQU0sU0FBRyxBQUFJLEFBQXNCLEFBQUMsQUFDckM7YUFBRyxBQUFRLEFBQVksQUFBQyxBQUc3QixBQUFJO2FBQUMsQUFBTSxTQUFHLEFBQU0sQUFBQyxBQUN2QixBQUFDO0FBRUQsQUFBSztZQUFRLEFBQU07ZUFBQyxBQUFJLEtBQUMsQUFBTSxBQUFDLEFBQUMsQUFBQztBQUVsQyxBQUFNO1dBQUMsQUFBUyxRQUNkLEFBQUk7YUFBQyxBQUFNLFNBQUcsQUFBTSxBQUFDLEFBQ3JCLEFBQWlCLEFBQ25CO0FBQUM7QUFFRCxBQUFHO1FBQUksQUFBWSxNQUNqQjtZQUFJLEFBQU0sU0FBRyxBQUFJLEtBQUMsQUFBTSxBQUFDLEFBQ3pCLEFBQUUsQUFBQztZQUFTLEFBQUksUUFBSSxBQUFNLEFBQUMsUUFBQyxBQUFNLE9BQUMsQUFBTSxPQUFDLEFBQUksQUFBQyxBQUFDLEFBQ2hELEFBQU0sQUFBQztlQUFDLEFBQU0sT0FBQyxBQUFJLEFBQUMsUUFBRyxBQUFJLEFBQWEsd0JBQUMsQUFBSSxNQUFFLEFBQUksQUFBQyxBQUFDLEFBQUMsQUFDeEQsQUFBQztBQUVELEFBQVE7YUFBSSxBQUFZLE1BQ3RCO1lBQUksQUFBTSxTQUFHLEFBQUksS0FBQyxBQUFNLEFBQUMsQUFDekIsQUFBRSxBQUFDO1lBQVMsQUFBSSxRQUFJLEFBQU0sQUFBQyxRQUFDLEFBQU0sT0FBQyxBQUFNLE9BQUMsQUFBSSxBQUFDLEFBQUMsQUFDaEQsQUFBTTtlQUFDLEFBQUksQUFBQyxBQUNkLEFBQUM7QUFFRCxBQUFJO1NBQUMsQUFBYyxRQUNqQixBQUFNO2VBQUMsQUFBTSxPQUFDLEFBQUssTUFBQyxBQUFHLEFBQUMsS0FBQyxBQUFNLE9BQUMsQ0FBQyxBQUFHLEtBQUUsQUFBSSxTQUFLLEFBQUcsSUFBQyxBQUFHLElBQUMsQUFBSSxBQUFDLE9BQUUsQUFBOEIsQUFBQyxBQUFDLEFBQ2hHLEFBQUM7QUFFRCxBQUFrQjt1QkFBQyxBQUFlLE9BQ2hDLEFBQU07ZUFBQyxBQUFLLE1BQUMsQUFBTSxPQUFDLENBQUMsQUFBRyxLQUFFLEFBQUksU0FBSyxBQUFHLElBQUMsQUFBRyxJQUFDLEFBQUksQUFBMkIsT0FBRSxBQUE4QixBQUFDLEFBQUMsQUFDOUcsQUFBQztBQUVELEFBQUs7WUFDSCxBQUFNO2VBQUMsQUFBa0IsQUFBQyxBQUM1QixBQUFDLEFBQ0Y7O0FBbENDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3B0aW9uLCBPcGFxdWUsIGRpY3QgfSBmcm9tICdAZ2xpbW1lci91dGlsJztcbmltcG9ydCB7IFBhdGhSZWZlcmVuY2UgfSBmcm9tICcuL3BhdGgnO1xuaW1wb3J0IHsgUm9vdFJlZmVyZW5jZSBhcyBJUm9vdFJlZmVyZW5jZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IFZPTEFUSUxFX1RBRywgUGF0aFJlZmVyZW5jZSBhcyBJUGF0aFJlZmVyZW5jZSwgVGFnIH0gZnJvbSAnQGdsaW1tZXIvcmVmZXJlbmNlJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUm9vdFJlZmVyZW5jZTxUPiBpbXBsZW1lbnRzIElSb290UmVmZXJlbmNlPFQ+LCBJUGF0aFJlZmVyZW5jZTxUPiB7XG4gIHByaXZhdGUgb2JqZWN0OiBUO1xuICBwcml2YXRlIGNoYWlucyA9IGRpY3Q8UGF0aFJlZmVyZW5jZTxhbnk+PigpO1xuICBwdWJsaWMgdGFnOiBUYWcgPSBWT0xBVElMRV9UQUc7XG5cbiAgY29uc3RydWN0b3Iob2JqZWN0OiBUKSB7XG4gICAgdGhpcy5vYmplY3QgPSBvYmplY3Q7XG4gIH1cblxuICB2YWx1ZSgpOiBUIHsgcmV0dXJuIHRoaXMub2JqZWN0OyB9XG5cbiAgdXBkYXRlKG9iamVjdDogVCkge1xuICAgIHRoaXMub2JqZWN0ID0gb2JqZWN0O1xuICAgIC8vIHRoaXMubm90aWZ5KCk7XG4gIH1cblxuICBnZXQ8VT4ocHJvcDogc3RyaW5nKTogSVBhdGhSZWZlcmVuY2U8VT4ge1xuICAgIGxldCBjaGFpbnMgPSB0aGlzLmNoYWlucztcbiAgICBpZiAoPHN0cmluZz5wcm9wIGluIGNoYWlucykgcmV0dXJuIGNoYWluc1twcm9wXTtcbiAgICByZXR1cm4gKGNoYWluc1twcm9wXSA9IG5ldyBQYXRoUmVmZXJlbmNlKHRoaXMsIHByb3ApKTtcbiAgfVxuXG4gIGNoYWluRm9yPFU+KHByb3A6IHN0cmluZyk6IE9wdGlvbjxJUGF0aFJlZmVyZW5jZTxVPj4ge1xuICAgIGxldCBjaGFpbnMgPSB0aGlzLmNoYWlucztcbiAgICBpZiAoPHN0cmluZz5wcm9wIGluIGNoYWlucykgcmV0dXJuIGNoYWluc1twcm9wXTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHBhdGgoc3RyaW5nOiBzdHJpbmcpOiBJUGF0aFJlZmVyZW5jZTxPcGFxdWU+IHtcbiAgICByZXR1cm4gc3RyaW5nLnNwbGl0KCcuJykucmVkdWNlKChyZWYsIHBhcnQpID0+IHJlZi5nZXQocGFydCksIHRoaXMgYXMgSVBhdGhSZWZlcmVuY2U8T3BhcXVlPik7XG4gIH1cblxuICByZWZlcmVuY2VGcm9tUGFydHMocGFydHM6IHN0cmluZ1tdKTogSVBhdGhSZWZlcmVuY2U8T3BhcXVlPiB7XG4gICAgcmV0dXJuIHBhcnRzLnJlZHVjZSgocmVmLCBwYXJ0KSA9PiByZWYuZ2V0KHBhcnQpIGFzIElQYXRoUmVmZXJlbmNlPE9wYXF1ZT4sIHRoaXMgYXMgSVBhdGhSZWZlcmVuY2U8T3BhcXVlPik7XG4gIH1cblxuICBsYWJlbCgpIHtcbiAgICByZXR1cm4gJ1tyZWZlcmVuY2UgUm9vdF0nO1xuICB9XG59XG4iXX0=
"use strict";
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9AZ2xpbW1lci9vYmplY3QtcmVmZXJlbmNlL2xpYi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3BhcXVlLCBEaWN0LCBTZXQgfSBmcm9tICdAZ2xpbW1lci91dGlsJztcbmltcG9ydCB7IFJlZmVyZW5jZSwgUGF0aFJlZmVyZW5jZSB9IGZyb20gJ0BnbGltbWVyL3JlZmVyZW5jZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm90aWZpYWJsZVJlZmVyZW5jZTxUPiBleHRlbmRzIFJlZmVyZW5jZTxUPiB7XG4gIC8vIG5vdGlmeSgpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYWluYWJsZVJlZmVyZW5jZTxUPiBleHRlbmRzIFJlZmVyZW5jZTxUPiB7XG4gIC8vIGNoYWluKGNoaWxkOiBSZWZlcmVuY2UpOiBEZXN0cm95YWJsZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXRoUmVmZXJlbmNlRmFjdG9yeTxUPiB7XG4gIG5ldyAob2JqZWN0OiBhbnksIHByb3BlcnR5OiBzdHJpbmcpOiBQYXRoUmVmZXJlbmNlPFQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJvb3RSZWZlcmVuY2VGYWN0b3J5PFQ+IHtcbiAgbmV3IChvYmplY3Q6IFQpOiBSb290UmVmZXJlbmNlPFQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJvb3RSZWZlcmVuY2U8VD4gZXh0ZW5kcyBQYXRoUmVmZXJlbmNlPFQ+IHtcbiAgdXBkYXRlKHZhbHVlOiBUKTogdm9pZDtcbiAgcmVmZXJlbmNlRnJvbVBhcnRzKHBhcnRzOiBzdHJpbmdbXSk6IFBhdGhSZWZlcmVuY2U8T3BhcXVlPjtcbiAgY2hhaW5Gb3IocHJvcDogc3RyaW5nKTogT3B0aW9uPFBhdGhSZWZlcmVuY2U8VD4+O1xufVxuXG5pbXBvcnQgeyBJbm5lclJlZmVyZW5jZUZhY3RvcnkgfSBmcm9tICcuL3JlZmVyZW5jZXMvZGVzY3JpcHRvcnMnO1xuaW1wb3J0IHsgT3B0aW9uIH0gZnJvbSBcIkBnbGltbWVyL2ludGVyZmFjZXNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBNZXRhT3B0aW9ucyB7XG4gIFJvb3RSZWZlcmVuY2VGYWN0b3J5PzogUm9vdFJlZmVyZW5jZUZhY3Rvcnk8YW55PjtcbiAgRGVmYXVsdFBhdGhSZWZlcmVuY2VGYWN0b3J5PzogSW5uZXJSZWZlcmVuY2VGYWN0b3J5PGFueT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWV0YSB7XG4gIHJvb3QoKTogUm9vdFJlZmVyZW5jZTxhbnk+O1xuICByZWZlcmVuY2VzRm9yKHByb3BlcnR5OiBzdHJpbmcpOiBPcHRpb248U2V0PFBhdGhSZWZlcmVuY2U8YW55Pj4+O1xuICByZWZlcmVuY2VUeXBlRm9yKHByb3BlcnR5OiBzdHJpbmcpOiBJbm5lclJlZmVyZW5jZUZhY3Rvcnk8YW55PjtcbiAgZ2V0UmVmZXJlbmNlVHlwZXMoKTogRGljdDxJbm5lclJlZmVyZW5jZUZhY3Rvcnk8YW55Pj47XG4gIGFkZFJlZmVyZW5jZShwcm9wZXJ0eTogc3RyaW5nLCByZWZlcmVuY2U6IFBhdGhSZWZlcmVuY2U8YW55Pik6IHZvaWQ7XG4gIHJlbW92ZVJlZmVyZW5jZShwcm9wZXJ0eTogc3RyaW5nLCByZWZlcmVuY2U6IFBhdGhSZWZlcmVuY2U8YW55Pik6IHZvaWQ7XG4gIGdldFNsb3RzKCk6IERpY3Q8YW55Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXRhTG9va3VwIHtcbiAgZm9yKG9iajogYW55KTogTWV0YTtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9AZ2xpbW1lci9vYmplY3QtcmVmZXJlbmNlL2xpYi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3B0aW9uLCBPcGFxdWUsIERpY3QsIFNldCB9IGZyb20gJ0BnbGltbWVyL3V0aWwnO1xuaW1wb3J0IHsgUmVmZXJlbmNlLCBQYXRoUmVmZXJlbmNlIH0gZnJvbSAnQGdsaW1tZXIvcmVmZXJlbmNlJztcbmltcG9ydCB7IElubmVyUmVmZXJlbmNlRmFjdG9yeSB9IGZyb20gJy4vcmVmZXJlbmNlcy9kZXNjcmlwdG9ycyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm90aWZpYWJsZVJlZmVyZW5jZTxUPiBleHRlbmRzIFJlZmVyZW5jZTxUPiB7XG4gIC8vIG5vdGlmeSgpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYWluYWJsZVJlZmVyZW5jZTxUPiBleHRlbmRzIFJlZmVyZW5jZTxUPiB7XG4gIC8vIGNoYWluKGNoaWxkOiBSZWZlcmVuY2UpOiBEZXN0cm95YWJsZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXRoUmVmZXJlbmNlRmFjdG9yeTxUPiB7XG4gIG5ldyAob2JqZWN0OiBhbnksIHByb3BlcnR5OiBzdHJpbmcpOiBQYXRoUmVmZXJlbmNlPFQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJvb3RSZWZlcmVuY2VGYWN0b3J5PFQ+IHtcbiAgbmV3IChvYmplY3Q6IFQpOiBSb290UmVmZXJlbmNlPFQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJvb3RSZWZlcmVuY2U8VD4gZXh0ZW5kcyBQYXRoUmVmZXJlbmNlPFQ+IHtcbiAgdXBkYXRlKHZhbHVlOiBUKTogdm9pZDtcbiAgcmVmZXJlbmNlRnJvbVBhcnRzKHBhcnRzOiBzdHJpbmdbXSk6IFBhdGhSZWZlcmVuY2U8T3BhcXVlPjtcbiAgY2hhaW5Gb3IocHJvcDogc3RyaW5nKTogT3B0aW9uPFBhdGhSZWZlcmVuY2U8VD4+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFPcHRpb25zIHtcbiAgUm9vdFJlZmVyZW5jZUZhY3Rvcnk/OiBSb290UmVmZXJlbmNlRmFjdG9yeTxhbnk+O1xuICBEZWZhdWx0UGF0aFJlZmVyZW5jZUZhY3Rvcnk/OiBJbm5lclJlZmVyZW5jZUZhY3Rvcnk8YW55Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXRhIHtcbiAgcm9vdCgpOiBSb290UmVmZXJlbmNlPGFueT47XG4gIHJlZmVyZW5jZXNGb3IocHJvcGVydHk6IHN0cmluZyk6IE9wdGlvbjxTZXQ8UGF0aFJlZmVyZW5jZTxhbnk+Pj47XG4gIHJlZmVyZW5jZVR5cGVGb3IocHJvcGVydHk6IHN0cmluZyk6IElubmVyUmVmZXJlbmNlRmFjdG9yeTxhbnk+O1xuICBnZXRSZWZlcmVuY2VUeXBlcygpOiBEaWN0PElubmVyUmVmZXJlbmNlRmFjdG9yeTxhbnk+PjtcbiAgYWRkUmVmZXJlbmNlKHByb3BlcnR5OiBzdHJpbmcsIHJlZmVyZW5jZTogUGF0aFJlZmVyZW5jZTxhbnk+KTogdm9pZDtcbiAgcmVtb3ZlUmVmZXJlbmNlKHByb3BlcnR5OiBzdHJpbmcsIHJlZmVyZW5jZTogUGF0aFJlZmVyZW5jZTxhbnk+KTogdm9pZDtcbiAgZ2V0U2xvdHMoKTogRGljdDxhbnk+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFMb29rdXAge1xuICBmb3Iob2JqOiBhbnkpOiBNZXRhO1xufVxuIl19

@@ -195,2 +195,2 @@ 'use strict';

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL29iamVjdC1yZWZlcmVuY2UvbGliL21ldGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxBQUFPLEFBQUUsQUFBaUIsQUFBRSxBQUFNLEFBQTBCLEFBQUM7O0FBQzdELEFBQU8sQUFBYSxBQUFNLEFBQW1CLEFBQUM7Ozs7QUFHOUMsQUFBTyxBQUFRLEFBQU8sQUFBZ0IsQUFBSSxBQUFFLEFBQU0sQUFBZSxBQUFDOztBQVNsRSxBQUFPLEFBQW1DLEFBQVksQUFBRSxBQUFNLEFBQW9CLEFBQUM7Ozs7Ozs7Ozs7QUFLbkYsSUFBTSxBQUFZO2dDQUFnQixBQUFDLEFBQUUsQUFBQyxBQUV0QyxDQUZxQjtBQUFFLEFBQU87O0lBTzVCO3VCQUFZLEFBQVcsUUFBRSxBQUFpQixXQUZuQzs7O2FBQUcsQUFBRyxBQUFZLEFBQUMsQUFHeEIsQUFBSTthQUFDLEFBQU0sU0FBRyxBQUFNLEFBQUMsQUFDdkIsQUFBQyxBQUVELEFBQUs7OztpREFBSyxBQUFNO2VBQUMsQUFBWSxBQUFDLEFBQUMsQUFBQyxBQUNoQyxBQUFNOzs7bURBQUksQUFBQyxBQUVYLEFBQUs7O2lEQUNILEFBQU07ZUFBQyxBQUFJLEtBQUMsQUFBTSxPQUFDLEFBQUksS0FBQyxBQUFRLEFBQUMsQUFBQyxBQUNwQyxBQUFDLEFBRUQsQUFBRzs7OzJDQUFDLEFBQVksTUFDZCxBQUFNO2VBQUMsSUFBSSxBQUFTLFVBQUMsQUFBSSxLQUFDLEFBQU0sT0FBQyxBQUFJLEtBQUMsQUFBUSxBQUFDLFdBQUUsQUFBSSxBQUFDLEFBQUMsQUFDekQsQUFBQyxBQUNGLEFBRUQ7Ozs7OztJQUlFO3VCQUFZLEFBQVUsT0FGZjs7O2FBQUcsQUFBRyxBQUFZLEFBQUMsQUFHeEIsQUFBSTthQUFDLEFBQUssUUFBRyxBQUFLLEFBQUMsQUFDckIsQUFBQyxBQUVELEFBQU07OztpREFBQyxB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QUFDLFlBQUMsQUFBTSxBQUFDLEFBQzdCO1lBQUksQUFBRyxNQUFHLEFBQUksS0FBQyxBQUFVLFdBQUMsQUFBUSxBQUFDLEFBQUMsQUFDcEMsQUFBRztZQUFDLEFBQU0sT0FBQyxBQUFTLEFBQUMsQUFBQyxBQUN4QixBQUFDLEFBRUQsQUFBaUI7OztvRUFDZixBQUFJO2FBQUMsQUFBYyxpQkFBRyxBQUFJLEtBQUMsQUFBYyxrQkFBSSxBQUFJLEFBQTZCLEFBQUMsQUFDL0UsQUFBTTtlQUFDLEFBQUksS0FBQyxBQUFjLEFBQUMsQUFDN0IsQUFBQyxBQUVELEFBQWE7OzswREFBQyxBQUFnQixVQUM1QixBQUFFLEFBQUM7WUFBQyxDQUFDLEFBQUksS0FBQyxBQUFVLEFBQUMsWUFBQyxBQUFNLE9BQUMsQUFBSSxBQUFDLEFBQ2xDLEFBQU07ZUFBQyxBQUFJLEtBQUMsQUFBVSxXQUFDLEFBQVEsQUFBQyxBQUFDLEFBQ25DLEFBQUMsQUFFRCxBQUFROzs7a0RBQ04sQUFBTSxBQUFDO2VBQUMsQUFBSSxLQUFDLEFBQUssUUFBRyxBQUFJLEtBQUMsQUFBSyxTQUFJLEFBQUksQUFBRSxBQUFDLEFBQUMsQUFDN0MsQUFBQyxBQUVELEFBQUk7OzswQ0FDRixBQUFNLEFBQUM7ZUFBQyxBQUFJLEtBQUMsQUFBUyxZQUFHLEFBQUksS0FBQyxBQUFTLGFBQUksSUFBSSxBQUFJLEtBQUMsQUFBb0IscUJBQUMsQUFBSSxLQUFDLEFBQU0sQUFBQyxBQUFDLEFBQUMsQUFDekYsQUFBQyxBQUNGOzs7O0FBRUQ7O2tCQUFlLEFBQUksQUFBQyxBQU1wQixBQUFNO2lCQUFrQixBQUFRLEtBQzlCLEFBQU07V0FBQyxBQUFJLEtBQUMsQUFBRyxJQUFDLEFBQUcsQUFBQyxBQUFDLEFBQ3ZCLEFBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9wZXJ0eVJlZmVyZW5jZSB9IGZyb20gJy4vcmVmZXJlbmNlcy9kZXNjcmlwdG9ycyc7XG5pbXBvcnQgUm9vdFJlZmVyZW5jZSBmcm9tICcuL3JlZmVyZW5jZXMvcm9vdCc7XG5pbXBvcnQgeyBNZXRhT3B0aW9ucyB9IGZyb20gJy4vdHlwZXMnO1xuXG5pbXBvcnQgeyBEaWN0LCBEaWN0U2V0LCBIYXNHdWlkLCBTZXQsIGRpY3QgfSBmcm9tICdAZ2xpbW1lci91dGlsJztcblxuaW1wb3J0IHtcbiAgUm9vdFJlZmVyZW5jZUZhY3RvcnksXG4gIFBhdGhSZWZlcmVuY2VGYWN0b3J5LFxuICBNZXRhIGFzIElNZXRhLFxuICBSb290UmVmZXJlbmNlIGFzIElSb290UmVmZXJlbmNlXG59IGZyb20gJy4vdHlwZXMnO1xuXG5pbXBvcnQgeyBQYXRoUmVmZXJlbmNlIGFzIElQYXRoUmVmZXJlbmNlLCBWT0xBVElMRV9UQUcgfSBmcm9tICdAZ2xpbW1lci9yZWZlcmVuY2UnO1xuXG5pbXBvcnQgeyBJbm5lclJlZmVyZW5jZUZhY3RvcnkgfSBmcm9tICcuL3JlZmVyZW5jZXMvZGVzY3JpcHRvcnMnO1xuaW1wb3J0IHsgT3B0aW9uIH0gZnJvbSBcIkBnbGltbWVyL2ludGVyZmFjZXNcIjtcblxuY29uc3QgTk9PUF9ERVNUUk9ZID0geyBkZXN0cm95KCkge30gfTtcblxuY2xhc3MgQ29uc3RQYXRoIGltcGxlbWVudHMgSVBhdGhSZWZlcmVuY2U8YW55PiB7XG4gIHByaXZhdGUgcGFyZW50OiBhbnk7XG4gIHByaXZhdGUgcHJvcGVydHk6IHN0cmluZztcbiAgcHVibGljIHRhZyA9IFZPTEFUSUxFX1RBRztcblxuICBjb25zdHJ1Y3RvcihwYXJlbnQ6IGFueSwgX3Byb3BlcnR5OiBzdHJpbmcpIHtcbiAgICB0aGlzLnBhcmVudCA9IHBhcmVudDtcbiAgfVxuXG4gIGNoYWluKCkgeyByZXR1cm4gTk9PUF9ERVNUUk9ZOyB9XG4gIG5vdGlmeSgpIHt9XG5cbiAgdmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyZW50W3RoaXMucHJvcGVydHldO1xuICB9XG5cbiAgZ2V0KHByb3A6IHN0cmluZyk6IElQYXRoUmVmZXJlbmNlPGFueT4ge1xuICAgIHJldHVybiBuZXcgQ29uc3RQYXRoKHRoaXMucGFyZW50W3RoaXMucHJvcGVydHldLCBwcm9wKTtcbiAgfVxufVxuXG5jbGFzcyBDb25zdFJvb3QgaW1wbGVtZW50cyBJUm9vdFJlZmVyZW5jZTxhbnk+IHtcbiAgcHJpdmF0ZSBpbm5lcjogYW55O1xuICBwdWJsaWMgdGFnID0gVk9MQVRJTEVfVEFHO1xuXG4gIGNvbnN0cnVjdG9yKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLmlubmVyID0gdmFsdWU7XG4gIH1cblxuICB1cGRhdGUoaW5uZXI6IGFueSkge1xuICAgIHRoaXMuaW5uZXIgPSBpbm5lcjtcbiAgfVxuXG4gIGNoYWluKCkgeyByZXR1cm4gTk9PUF9ERVNUUk9ZOyB9XG4gIG5vdGlmeSgpIHt9XG5cbiAgdmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5pbm5lcjtcbiAgfVxuXG4gIHJlZmVyZW5jZUZyb21QYXJ0cyhfcGFydHM6IHN0cmluZ1tdKTogSVBhdGhSZWZlcmVuY2U8YW55PiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiTm90IGltcGxlbWVudGVkXCIpO1xuICB9XG5cbiAgY2hhaW5Gb3IoX3Byb3A6IHN0cmluZyk6IElQYXRoUmVmZXJlbmNlPGFueT4ge1xuICAgIHRocm93IG5ldyBFcnJvcihcIk5vdCBpbXBsZW1lbnRlZFwiKTtcbiAgfVxuXG4gIGdldChwcm9wOiBzdHJpbmcpOiBJUGF0aFJlZmVyZW5jZTxhbnk+IHtcbiAgICByZXR1cm4gbmV3IENvbnN0UGF0aCh0aGlzLmlubmVyLCBwcm9wKTtcbiAgfVxufVxuXG5jbGFzcyBDb25zdE1ldGEgLyppbXBsZW1lbnRzIElNZXRhKi8ge1xuICBwcml2YXRlIG9iamVjdDogYW55O1xuXG4gIGNvbnN0cnVjdG9yKG9iamVjdDogYW55KSB7XG4gICAgdGhpcy5vYmplY3QgPSBvYmplY3Q7XG4gIH1cblxuICByb290KCk6IENvbnN0Um9vdCB7XG4gICAgcmV0dXJuIG5ldyBDb25zdFJvb3QodGhpcy5vYmplY3QpO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBDTEFTU19NRVRBID0gXCJkZjhiZTRjOC00ZTg5LTQ0ZTItYThmOS01NTBjOGRhY2RjYTdcIjtcblxuY29uc3QgaGFzT3duUHJvcGVydHkgPSBPYmplY3QuaGFzT3duUHJvcGVydHk7XG5cbmNsYXNzIE1ldGEgaW1wbGVtZW50cyBJTWV0YSwgSGFzR3VpZCB7XG4gIHN0YXRpYyBmb3Iob2JqOiBhbnkpOiBJTWV0YSB7XG4gICAgaWYgKG9iaiA9PT0gbnVsbCB8fCBvYmogPT09IHVuZGVmaW5lZCkgcmV0dXJuIG5ldyBNZXRhKG9iaiwge30pO1xuICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgJ19tZXRhJykgJiYgb2JqLl9tZXRhKSByZXR1cm4gb2JqLl9tZXRhO1xuICAgIGlmICghT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopKSByZXR1cm4gPGFueT5uZXcgQ29uc3RNZXRhKG9iaik7XG5cbiAgICBsZXQgTWV0YVRvVXNlOiB0eXBlb2YgTWV0YSA9IE1ldGE7XG5cbiAgICBpZiAob2JqLmNvbnN0cnVjdG9yICYmIG9iai5jb25zdHJ1Y3RvcltDTEFTU19NRVRBXSkge1xuICAgICAgbGV0IGNsYXNzTWV0YTogQ2xhc3NNZXRhID0gb2JqLmNvbnN0cnVjdG9yW0NMQVNTX01FVEFdO1xuICAgICAgTWV0YVRvVXNlID0gY2xhc3NNZXRhLkluc3RhbmNlTWV0YUNvbnN0cnVjdG9yO1xuICAgIH0gZWxzZSBpZiAob2JqW0NMQVNTX01FVEFdKSB7XG4gICAgICBNZXRhVG9Vc2UgPSBvYmpbQ0xBU1NfTUVUQV0uSW5zdGFuY2VNZXRhQ29uc3RydWN0b3I7XG4gICAgfVxuXG4gICAgcmV0dXJuIChvYmouX21ldGEgPSBuZXcgTWV0YVRvVXNlKG9iaiwge30pKTtcbiAgfVxuXG4gIHN0YXRpYyBleGlzdHMob2JqOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHlwZW9mIG9iaiA9PT0gJ29iamVjdCcgJiYgb2JqLl9tZXRhO1xuICB9XG5cbiAgc3RhdGljIG1ldGFkYXRhRm9yUHJvcGVydHkoX2tleTogc3RyaW5nKTogYW55IHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgb2JqZWN0OiBhbnk7XG4gIHByaXZhdGUgUm9vdFJlZmVyZW5jZUZhY3Rvcnk6IFJvb3RSZWZlcmVuY2VGYWN0b3J5PGFueT47XG4gIHByaXZhdGUgRGVmYXVsdFBhdGhSZWZlcmVuY2VGYWN0b3J5OiBJbm5lclJlZmVyZW5jZUZhY3Rvcnk8YW55PjtcbiAgcHJpdmF0ZSByb290Q2FjaGU6IElSb290UmVmZXJlbmNlPGFueT47XG4gIHByaXZhdGUgcmVmZXJlbmNlczogT3B0aW9uPERpY3Q8RGljdFNldDxJUGF0aFJlZmVyZW5jZTxhbnk+ICYgSGFzR3VpZD4+PiA9IG51bGw7XG4gIHB1YmxpYyBfZ3VpZDogbnVtYmVyO1xuICBwcm90ZWN0ZWQgc2xvdHM6IE9wdGlvbjxEaWN0PGFueT4+ID0gbnVsbDtcbiAgcHJvdGVjdGVkIHJlZmVyZW5jZVR5cGVzOiBPcHRpb248RGljdDxJbm5lclJlZmVyZW5jZUZhY3Rvcnk8YW55Pj4+ID0gbnVsbDtcbiAgcHJvdGVjdGVkIHByb3BlcnR5TWV0YWRhdGE6IE9wdGlvbjxEaWN0PGFueT4+ID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihvYmplY3Q6IGFueSwgeyBSb290UmVmZXJlbmNlRmFjdG9yeSwgRGVmYXVsdFBhdGhSZWZlcmVuY2VGYWN0b3J5IH06IE1ldGFPcHRpb25zKSB7XG4gICAgdGhpcy5vYmplY3QgPSBvYmplY3Q7XG4gICAgdGhpcy5Sb290UmVmZXJlbmNlRmFjdG9yeSA9IChSb290UmVmZXJlbmNlRmFjdG9yeSB8fCBSb290UmVmZXJlbmNlKSBhcyBSb290UmVmZXJlbmNlRmFjdG9yeTxhbnk+O1xuICAgIHRoaXMuRGVmYXVsdFBhdGhSZWZlcmVuY2VGYWN0b3J5ID0gRGVmYXVsdFBhdGhSZWZlcmVuY2VGYWN0b3J5IHx8IFByb3BlcnR5UmVmZXJlbmNlO1xuICB9XG5cbiAgYWRkUmVmZXJlbmNlKHByb3BlcnR5OiBzdHJpbmcsIHJlZmVyZW5jZTogSVBhdGhSZWZlcmVuY2U8YW55PiAmIEhhc0d1aWQpIHtcbiAgICBsZXQgcmVmcyA9IHRoaXMucmVmZXJlbmNlcyA9IHRoaXMucmVmZXJlbmNlcyB8fCBkaWN0PERpY3RTZXQ8SVBhdGhSZWZlcmVuY2U8YW55PiAmIEhhc0d1aWQ+PigpO1xuICAgIGxldCBzZXQgPSByZWZzW3Byb3BlcnR5XSA9IHJlZnNbcHJvcGVydHldIHx8IG5ldyBEaWN0U2V0PElQYXRoUmVmZXJlbmNlPGFueT4gJiBIYXNHdWlkPigpO1xuICAgIHNldC5hZGQocmVmZXJlbmNlKTtcbiAgfVxuXG4gIGFkZFJlZmVyZW5jZVR5cGVGb3IocHJvcGVydHk6IHN0cmluZywgdHlwZTogUGF0aFJlZmVyZW5jZUZhY3Rvcnk8YW55Pikge1xuICAgIHRoaXMucmVmZXJlbmNlVHlwZXMgPSB0aGlzLnJlZmVyZW5jZVR5cGVzIHx8IGRpY3Q8UGF0aFJlZmVyZW5jZUZhY3Rvcnk8YW55Pj4oKTtcbiAgICB0aGlzLnJlZmVyZW5jZVR5cGVzW3Byb3BlcnR5XSA9IHR5cGU7XG4gIH1cblxuICByZWZlcmVuY2VUeXBlRm9yKHByb3BlcnR5OiBzdHJpbmcpOiBJbm5lclJlZmVyZW5jZUZhY3Rvcnk8YW55PiB7XG4gICAgaWYgKCF0aGlzLnJlZmVyZW5jZVR5cGVzKSByZXR1cm4gUHJvcGVydHlSZWZlcmVuY2U7XG4gICAgcmV0dXJuIHRoaXMucmVmZXJlbmNlVHlwZXNbcHJvcGVydHldIHx8IFByb3BlcnR5UmVmZXJlbmNlO1xuICB9XG5cbiAgcmVtb3ZlUmVmZXJlbmNlKHByb3BlcnR5OiBzdHJpbmcsIHJlZmVyZW5jZTogSVBhdGhSZWZlcmVuY2U8YW55PiAmIEhhc0d1aWQpIHtcbiAgICBpZiAoIXRoaXMucmVmZXJlbmNlcykgcmV0dXJuO1xuICAgIGxldCBzZXQgPSB0aGlzLnJlZmVyZW5jZXNbcHJvcGVydHldO1xuICAgIHNldC5kZWxldGUocmVmZXJlbmNlKTtcbiAgfVxuXG4gIGdldFJlZmVyZW5jZVR5cGVzKCk6IERpY3Q8SW5uZXJSZWZlcmVuY2VGYWN0b3J5PGFueT4+IHtcbiAgICB0aGlzLnJlZmVyZW5jZVR5cGVzID0gdGhpcy5yZWZlcmVuY2VUeXBlcyB8fCBkaWN0PFBhdGhSZWZlcmVuY2VGYWN0b3J5PGFueT4+KCk7XG4gICAgcmV0dXJuIHRoaXMucmVmZXJlbmNlVHlwZXM7XG4gIH1cblxuICByZWZlcmVuY2VzRm9yKHByb3BlcnR5OiBzdHJpbmcpOiBPcHRpb248U2V0PElQYXRoUmVmZXJlbmNlPGFueT4+PiB7XG4gICAgaWYgKCF0aGlzLnJlZmVyZW5jZXMpIHJldHVybiBudWxsO1xuICAgIHJldHVybiB0aGlzLnJlZmVyZW5jZXNbcHJvcGVydHldO1xuICB9XG5cbiAgZ2V0U2xvdHMoKSB7XG4gICAgcmV0dXJuICh0aGlzLnNsb3RzID0gdGhpcy5zbG90cyB8fCBkaWN0KCkpO1xuICB9XG5cbiAgcm9vdCgpOiBJUm9vdFJlZmVyZW5jZTxhbnk+IHtcbiAgICByZXR1cm4gKHRoaXMucm9vdENhY2hlID0gdGhpcy5yb290Q2FjaGUgfHwgbmV3IHRoaXMuUm9vdFJlZmVyZW5jZUZhY3RvcnkodGhpcy5vYmplY3QpKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBNZXRhO1xuXG5pbnRlcmZhY2UgQ2xhc3NNZXRhIHtcbiAgSW5zdGFuY2VNZXRhQ29uc3RydWN0b3I6IHR5cGVvZiBNZXRhO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWV0YUZvcihvYmo6IGFueSk6IElNZXRhIHtcbiAgcmV0dXJuIE1ldGEuZm9yKG9iaik7XG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL29iamVjdC1yZWZlcmVuY2UvbGliL21ldGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxBQUFPLEFBQUUsQUFBaUIsQUFBRSxBQUFNLEFBQTBCLEFBQUM7O0FBQzdELEFBQU8sQUFBYSxBQUFNLEFBQW1CLEFBQUM7Ozs7QUFHOUMsQUFBTyxBQUFnQixBQUFPLEFBQWdCLEFBQUksQUFBRSxBQUFNLEFBQWUsQUFBQzs7QUFTMUUsQUFBTyxBQUFtQyxBQUFZLEFBQUUsQUFBTSxBQUFvQixBQUFDOzs7Ozs7Ozs7O0FBSW5GLElBQU0sQUFBWTtnQ0FBZ0IsQUFBQyxBQUFFLEFBQUMsQUFFdEMsQ0FGcUI7QUFBRSxBQUFPOztJQU81Qjt1QkFBWSxBQUFXLFFBQUUsQUFBaUIsV0FGbkM7OzthQUFHLEFBQUcsQUFBWSxBQUFDLEFBR3hCLEFBQUk7YUFBQyxBQUFNLFNBQUcsQUFBTSxBQUFDLEFBQ3ZCLEFBQUMsQUFFRCxBQUFLOzs7aURBQUssQUFBTTtlQUFDLEFBQVksQUFBQyxBQUFDLEFBQUMsQUFDaEMsQUFBTTs7O21EQUFJLEFBQUMsQUFFWCxBQUFLOztpREFDSCxBQUFNO2VBQUMsQUFBSSxLQUFDLEFBQU0sT0FBQyxBQUFJLEtBQUMsQUFBUSxBQUFDLEFBQUMsQUFDcEMsQUFBQyxBQUVELEFBQUc7OzsyQ0FBQyxBQUFZLE1BQ2QsQUFBTTtlQUFDLElBQUksQUFBUyxVQUFDLEFBQUksS0FBQyxBQUFNLE9BQUMsQUFBSSxLQUFDLEFBQVEsQUFBQyxXQUFFLEFBQUksQUFBQyxBQUFDLEFBQ3pELEFBQUMsQUFDRixBQUVEOzs7Ozs7SUFJRTt1QkFBWSxBQUFVLE9BRmY7OzthQUFHLEFBQUcsQUFBWSxBQUFDLEFBR3hCLEFBQUk7YUFBQyxBQUFLLFFBQUcsQUFBSyxBQUFDLEFBQ3JCLEFBQUMsQUFFRCxBQUFNOzs7aURBQUMs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QUFBQyxZQUFDLEFBQU0sQUFBQyxBQUM3QjtZQUFJLEFBQUcsTUFBRyxBQUFJLEtBQUMsQUFBVSxXQUFDLEFBQVEsQUFBQyxBQUFDLEFBQ3BDLEFBQUc7WUFBQyxBQUFNLE9BQUMsQUFBUyxBQUFDLEFBQUMsQUFDeEIsQUFBQyxBQUVELEFBQWlCOzs7b0VBQ2YsQUFBSTthQUFDLEFBQWMsaUJBQUcsQUFBSSxLQUFDLEFBQWMsa0JBQUksQUFBSSxBQUE2QixBQUFDLEFBQy9FLEFBQU07ZUFBQyxBQUFJLEtBQUMsQUFBYyxBQUFDLEFBQzdCLEFBQUMsQUFFRCxBQUFhOzs7MERBQUMsQUFBZ0IsVUFDNUIsQUFBRSxBQUFDO1lBQUMsQ0FBQyxBQUFJLEtBQUMsQUFBVSxBQUFDLFlBQUMsQUFBTSxPQUFDLEFBQUksQUFBQyxBQUNsQyxBQUFNO2VBQUMsQUFBSSxLQUFDLEFBQVUsV0FBQyxBQUFRLEFBQUMsQUFBQyxBQUNuQyxBQUFDLEFBRUQsQUFBUTs7O2tEQUNOLEFBQU0sQUFBQztlQUFDLEFBQUksS0FBQyxBQUFLLFFBQUcsQUFBSSxLQUFDLEFBQUssU0FBSSxBQUFJLEFBQUUsQUFBQyxBQUFDLEFBQzdDLEFBQUMsQUFFRCxBQUFJOzs7MENBQ0YsQUFBTSxBQUFDO2VBQUMsQUFBSSxLQUFDLEFBQVMsWUFBRyxBQUFJLEtBQUMsQUFBUyxhQUFJLElBQUksQUFBSSxLQUFDLEFBQW9CLHFCQUFDLEFBQUksS0FBQyxBQUFNLEFBQUMsQUFBQyxBQUFDLEFBQ3pGLEFBQUMsQUFDRjs7OztBQUVEOztrQkFBZSxBQUFJLEFBQUMsQUFNcEIsQUFBTTtpQkFBa0IsQUFBUSxLQUM5QixBQUFNO1dBQUMsQUFBSSxLQUFDLEFBQUcsSUFBQyxBQUFHLEFBQUMsQUFBQyxBQUN2QixBQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvcGVydHlSZWZlcmVuY2UgfSBmcm9tICcuL3JlZmVyZW5jZXMvZGVzY3JpcHRvcnMnO1xuaW1wb3J0IFJvb3RSZWZlcmVuY2UgZnJvbSAnLi9yZWZlcmVuY2VzL3Jvb3QnO1xuaW1wb3J0IHsgTWV0YU9wdGlvbnMgfSBmcm9tICcuL3R5cGVzJztcblxuaW1wb3J0IHsgT3B0aW9uLCBEaWN0LCBEaWN0U2V0LCBIYXNHdWlkLCBTZXQsIGRpY3QgfSBmcm9tICdAZ2xpbW1lci91dGlsJztcblxuaW1wb3J0IHtcbiAgUm9vdFJlZmVyZW5jZUZhY3RvcnksXG4gIFBhdGhSZWZlcmVuY2VGYWN0b3J5LFxuICBNZXRhIGFzIElNZXRhLFxuICBSb290UmVmZXJlbmNlIGFzIElSb290UmVmZXJlbmNlXG59IGZyb20gJy4vdHlwZXMnO1xuXG5pbXBvcnQgeyBQYXRoUmVmZXJlbmNlIGFzIElQYXRoUmVmZXJlbmNlLCBWT0xBVElMRV9UQUcgfSBmcm9tICdAZ2xpbW1lci9yZWZlcmVuY2UnO1xuXG5pbXBvcnQgeyBJbm5lclJlZmVyZW5jZUZhY3RvcnkgfSBmcm9tICcuL3JlZmVyZW5jZXMvZGVzY3JpcHRvcnMnO1xuXG5jb25zdCBOT09QX0RFU1RST1kgPSB7IGRlc3Ryb3koKSB7fSB9O1xuXG5jbGFzcyBDb25zdFBhdGggaW1wbGVtZW50cyBJUGF0aFJlZmVyZW5jZTxhbnk+IHtcbiAgcHJpdmF0ZSBwYXJlbnQ6IGFueTtcbiAgcHJpdmF0ZSBwcm9wZXJ0eTogc3RyaW5nO1xuICBwdWJsaWMgdGFnID0gVk9MQVRJTEVfVEFHO1xuXG4gIGNvbnN0cnVjdG9yKHBhcmVudDogYW55LCBfcHJvcGVydHk6IHN0cmluZykge1xuICAgIHRoaXMucGFyZW50ID0gcGFyZW50O1xuICB9XG5cbiAgY2hhaW4oKSB7IHJldHVybiBOT09QX0RFU1RST1k7IH1cbiAgbm90aWZ5KCkge31cblxuICB2YWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJlbnRbdGhpcy5wcm9wZXJ0eV07XG4gIH1cblxuICBnZXQocHJvcDogc3RyaW5nKTogSVBhdGhSZWZlcmVuY2U8YW55PiB7XG4gICAgcmV0dXJuIG5ldyBDb25zdFBhdGgodGhpcy5wYXJlbnRbdGhpcy5wcm9wZXJ0eV0sIHByb3ApO1xuICB9XG59XG5cbmNsYXNzIENvbnN0Um9vdCBpbXBsZW1lbnRzIElSb290UmVmZXJlbmNlPGFueT4ge1xuICBwcml2YXRlIGlubmVyOiBhbnk7XG4gIHB1YmxpYyB0YWcgPSBWT0xBVElMRV9UQUc7XG5cbiAgY29uc3RydWN0b3IodmFsdWU6IGFueSkge1xuICAgIHRoaXMuaW5uZXIgPSB2YWx1ZTtcbiAgfVxuXG4gIHVwZGF0ZShpbm5lcjogYW55KSB7XG4gICAgdGhpcy5pbm5lciA9IGlubmVyO1xuICB9XG5cbiAgY2hhaW4oKSB7IHJldHVybiBOT09QX0RFU1RST1k7IH1cbiAgbm90aWZ5KCkge31cblxuICB2YWx1ZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmlubmVyO1xuICB9XG5cbiAgcmVmZXJlbmNlRnJvbVBhcnRzKF9wYXJ0czogc3RyaW5nW10pOiBJUGF0aFJlZmVyZW5jZTxhbnk+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJOb3QgaW1wbGVtZW50ZWRcIik7XG4gIH1cblxuICBjaGFpbkZvcihfcHJvcDogc3RyaW5nKTogSVBhdGhSZWZlcmVuY2U8YW55PiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiTm90IGltcGxlbWVudGVkXCIpO1xuICB9XG5cbiAgZ2V0KHByb3A6IHN0cmluZyk6IElQYXRoUmVmZXJlbmNlPGFueT4ge1xuICAgIHJldHVybiBuZXcgQ29uc3RQYXRoKHRoaXMuaW5uZXIsIHByb3ApO1xuICB9XG59XG5cbmNsYXNzIENvbnN0TWV0YSAvKmltcGxlbWVudHMgSU1ldGEqLyB7XG4gIHByaXZhdGUgb2JqZWN0OiBhbnk7XG5cbiAgY29uc3RydWN0b3Iob2JqZWN0OiBhbnkpIHtcbiAgICB0aGlzLm9iamVjdCA9IG9iamVjdDtcbiAgfVxuXG4gIHJvb3QoKTogQ29uc3RSb290IHtcbiAgICByZXR1cm4gbmV3IENvbnN0Um9vdCh0aGlzLm9iamVjdCk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IENMQVNTX01FVEEgPSBcImRmOGJlNGM4LTRlODktNDRlMi1hOGY5LTU1MGM4ZGFjZGNhN1wiO1xuXG5jb25zdCBoYXNPd25Qcm9wZXJ0eSA9IE9iamVjdC5oYXNPd25Qcm9wZXJ0eTtcblxuY2xhc3MgTWV0YSBpbXBsZW1lbnRzIElNZXRhLCBIYXNHdWlkIHtcbiAgc3RhdGljIGZvcihvYmo6IGFueSk6IElNZXRhIHtcbiAgICBpZiAob2JqID09PSBudWxsIHx8IG9iaiA9PT0gdW5kZWZpbmVkKSByZXR1cm4gbmV3IE1ldGEob2JqLCB7fSk7XG4gICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwob2JqLCAnX21ldGEnKSAmJiBvYmouX21ldGEpIHJldHVybiBvYmouX21ldGE7XG4gICAgaWYgKCFPYmplY3QuaXNFeHRlbnNpYmxlKG9iaikpIHJldHVybiA8YW55Pm5ldyBDb25zdE1ldGEob2JqKTtcblxuICAgIGxldCBNZXRhVG9Vc2U6IHR5cGVvZiBNZXRhID0gTWV0YTtcblxuICAgIGlmIChvYmouY29uc3RydWN0b3IgJiYgb2JqLmNvbnN0cnVjdG9yW0NMQVNTX01FVEFdKSB7XG4gICAgICBsZXQgY2xhc3NNZXRhOiBDbGFzc01ldGEgPSBvYmouY29uc3RydWN0b3JbQ0xBU1NfTUVUQV07XG4gICAgICBNZXRhVG9Vc2UgPSBjbGFzc01ldGEuSW5zdGFuY2VNZXRhQ29uc3RydWN0b3I7XG4gICAgfSBlbHNlIGlmIChvYmpbQ0xBU1NfTUVUQV0pIHtcbiAgICAgIE1ldGFUb1VzZSA9IG9ialtDTEFTU19NRVRBXS5JbnN0YW5jZU1ldGFDb25zdHJ1Y3RvcjtcbiAgICB9XG5cbiAgICByZXR1cm4gKG9iai5fbWV0YSA9IG5ldyBNZXRhVG9Vc2Uob2JqLCB7fSkpO1xuICB9XG5cbiAgc3RhdGljIGV4aXN0cyhvYmo6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0eXBlb2Ygb2JqID09PSAnb2JqZWN0JyAmJiBvYmouX21ldGE7XG4gIH1cblxuICBzdGF0aWMgbWV0YWRhdGFGb3JQcm9wZXJ0eShfa2V5OiBzdHJpbmcpOiBhbnkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBvYmplY3Q6IGFueTtcbiAgcHJpdmF0ZSBSb290UmVmZXJlbmNlRmFjdG9yeTogUm9vdFJlZmVyZW5jZUZhY3Rvcnk8YW55PjtcbiAgcHJpdmF0ZSBEZWZhdWx0UGF0aFJlZmVyZW5jZUZhY3Rvcnk6IElubmVyUmVmZXJlbmNlRmFjdG9yeTxhbnk+O1xuICBwcml2YXRlIHJvb3RDYWNoZTogSVJvb3RSZWZlcmVuY2U8YW55PjtcbiAgcHJpdmF0ZSByZWZlcmVuY2VzOiBPcHRpb248RGljdDxEaWN0U2V0PElQYXRoUmVmZXJlbmNlPGFueT4gJiBIYXNHdWlkPj4+ID0gbnVsbDtcbiAgcHVibGljIF9ndWlkOiBudW1iZXI7XG4gIHByb3RlY3RlZCBzbG90czogT3B0aW9uPERpY3Q8YW55Pj4gPSBudWxsO1xuICBwcm90ZWN0ZWQgcmVmZXJlbmNlVHlwZXM6IE9wdGlvbjxEaWN0PElubmVyUmVmZXJlbmNlRmFjdG9yeTxhbnk+Pj4gPSBudWxsO1xuICBwcm90ZWN0ZWQgcHJvcGVydHlNZXRhZGF0YTogT3B0aW9uPERpY3Q8YW55Pj4gPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKG9iamVjdDogYW55LCB7IFJvb3RSZWZlcmVuY2VGYWN0b3J5LCBEZWZhdWx0UGF0aFJlZmVyZW5jZUZhY3RvcnkgfTogTWV0YU9wdGlvbnMpIHtcbiAgICB0aGlzLm9iamVjdCA9IG9iamVjdDtcbiAgICB0aGlzLlJvb3RSZWZlcmVuY2VGYWN0b3J5ID0gKFJvb3RSZWZlcmVuY2VGYWN0b3J5IHx8IFJvb3RSZWZlcmVuY2UpIGFzIFJvb3RSZWZlcmVuY2VGYWN0b3J5PGFueT47XG4gICAgdGhpcy5EZWZhdWx0UGF0aFJlZmVyZW5jZUZhY3RvcnkgPSBEZWZhdWx0UGF0aFJlZmVyZW5jZUZhY3RvcnkgfHwgUHJvcGVydHlSZWZlcmVuY2U7XG4gIH1cblxuICBhZGRSZWZlcmVuY2UocHJvcGVydHk6IHN0cmluZywgcmVmZXJlbmNlOiBJUGF0aFJlZmVyZW5jZTxhbnk+ICYgSGFzR3VpZCkge1xuICAgIGxldCByZWZzID0gdGhpcy5yZWZlcmVuY2VzID0gdGhpcy5yZWZlcmVuY2VzIHx8IGRpY3Q8RGljdFNldDxJUGF0aFJlZmVyZW5jZTxhbnk+ICYgSGFzR3VpZD4+KCk7XG4gICAgbGV0IHNldCA9IHJlZnNbcHJvcGVydHldID0gcmVmc1twcm9wZXJ0eV0gfHwgbmV3IERpY3RTZXQ8SVBhdGhSZWZlcmVuY2U8YW55PiAmIEhhc0d1aWQ+KCk7XG4gICAgc2V0LmFkZChyZWZlcmVuY2UpO1xuICB9XG5cbiAgYWRkUmVmZXJlbmNlVHlwZUZvcihwcm9wZXJ0eTogc3RyaW5nLCB0eXBlOiBQYXRoUmVmZXJlbmNlRmFjdG9yeTxhbnk+KSB7XG4gICAgdGhpcy5yZWZlcmVuY2VUeXBlcyA9IHRoaXMucmVmZXJlbmNlVHlwZXMgfHwgZGljdDxQYXRoUmVmZXJlbmNlRmFjdG9yeTxhbnk+PigpO1xuICAgIHRoaXMucmVmZXJlbmNlVHlwZXNbcHJvcGVydHldID0gdHlwZTtcbiAgfVxuXG4gIHJlZmVyZW5jZVR5cGVGb3IocHJvcGVydHk6IHN0cmluZyk6IElubmVyUmVmZXJlbmNlRmFjdG9yeTxhbnk+IHtcbiAgICBpZiAoIXRoaXMucmVmZXJlbmNlVHlwZXMpIHJldHVybiBQcm9wZXJ0eVJlZmVyZW5jZTtcbiAgICByZXR1cm4gdGhpcy5yZWZlcmVuY2VUeXBlc1twcm9wZXJ0eV0gfHwgUHJvcGVydHlSZWZlcmVuY2U7XG4gIH1cblxuICByZW1vdmVSZWZlcmVuY2UocHJvcGVydHk6IHN0cmluZywgcmVmZXJlbmNlOiBJUGF0aFJlZmVyZW5jZTxhbnk+ICYgSGFzR3VpZCkge1xuICAgIGlmICghdGhpcy5yZWZlcmVuY2VzKSByZXR1cm47XG4gICAgbGV0IHNldCA9IHRoaXMucmVmZXJlbmNlc1twcm9wZXJ0eV07XG4gICAgc2V0LmRlbGV0ZShyZWZlcmVuY2UpO1xuICB9XG5cbiAgZ2V0UmVmZXJlbmNlVHlwZXMoKTogRGljdDxJbm5lclJlZmVyZW5jZUZhY3Rvcnk8YW55Pj4ge1xuICAgIHRoaXMucmVmZXJlbmNlVHlwZXMgPSB0aGlzLnJlZmVyZW5jZVR5cGVzIHx8IGRpY3Q8UGF0aFJlZmVyZW5jZUZhY3Rvcnk8YW55Pj4oKTtcbiAgICByZXR1cm4gdGhpcy5yZWZlcmVuY2VUeXBlcztcbiAgfVxuXG4gIHJlZmVyZW5jZXNGb3IocHJvcGVydHk6IHN0cmluZyk6IE9wdGlvbjxTZXQ8SVBhdGhSZWZlcmVuY2U8YW55Pj4+IHtcbiAgICBpZiAoIXRoaXMucmVmZXJlbmNlcykgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIHRoaXMucmVmZXJlbmNlc1twcm9wZXJ0eV07XG4gIH1cblxuICBnZXRTbG90cygpIHtcbiAgICByZXR1cm4gKHRoaXMuc2xvdHMgPSB0aGlzLnNsb3RzIHx8IGRpY3QoKSk7XG4gIH1cblxuICByb290KCk6IElSb290UmVmZXJlbmNlPGFueT4ge1xuICAgIHJldHVybiAodGhpcy5yb290Q2FjaGUgPSB0aGlzLnJvb3RDYWNoZSB8fCBuZXcgdGhpcy5Sb290UmVmZXJlbmNlRmFjdG9yeSh0aGlzLm9iamVjdCkpO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IE1ldGE7XG5cbmludGVyZmFjZSBDbGFzc01ldGEge1xuICBJbnN0YW5jZU1ldGFDb25zdHJ1Y3RvcjogdHlwZW9mIE1ldGE7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXRhRm9yKG9iajogYW55KTogSU1ldGEge1xuICByZXR1cm4gTWV0YS5mb3Iob2JqKTtcbn1cbiJdfQ==

@@ -69,2 +69,2 @@ 'use strict';

exports.default = RootReference;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL29iamVjdC1yZWZlcmVuY2UvbGliL3JlZmVyZW5jZXMvcm9vdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxBQUFPLEFBQVUsQUFBSSxBQUFFLEFBQU0sQUFBZSxBQUFDOztBQUM3QyxBQUFPLEFBQUUsQUFBYSxBQUFFLEFBQU0sQUFBUSxBQUFDOztBQUV2QyxBQUFPLEFBQUUsQUFBWSxBQUF3QyxBQUFNLEFBQW9CLEFBQUMsQUFHeEYsQUFBTSxBQUFDLEFBQU87Ozs7Ozs7O0lBS1o7MkJBQVksQUFBUyxRQUhiOzs7YUFBTSxTQUFHLEFBQUksQUFBc0IsQUFBQyxBQUNyQzthQUFHLEFBQVEsQUFBWSxBQUFDLEFBRzdCLEFBQUk7YUFBQyxBQUFNLFNBQUcsQUFBTSxBQUFDLEFBQ3ZCLEFBQUMsQUFFRCxBQUFLOzs7cURBQVEsQUFBTTtlQUFDLEFBQUksS0FBQyxBQUFNLEFBQUMsQUFBQyxBQUFDLEFBRWxDLEFBQU07OztxREFBQyxBQUFTLFFBQ2QsQUFBSTthQUFDLEFBQU0sU0FBRyxBQUFNLEFBQUMsQUFDckIsQUFBaUIsQUFDbkIsQUFBQztBQUVELEFBQUc7OzsrQ0FBSSxBQUFZLE1BQ2pCO1lBQUksQUFBTSxTQUFHLEFBQUksS0FBQyxBQUFNLEFBQUMsQUFDekIsQUFBRSxBQUFDO1lBQVMsQUFBSSxRQUFJLEFBQU0sQUFBQyxRQUFDLEFBQU0sT0FBQyxBQUFNLE9BQUMsQUFBSSxBQUFDLEFBQUMsQUFDaEQsQUFBTSxBQUFDO2VBQUMsQUFBTSxPQUFDLEFBQUksQUFBQyxRQUFHLEFBQUksQUFBYSx3QkFBQyxBQUFJLE1BQUUsQUFBSSxBQUFDLEFBQUMsQUFBQyxBQUN4RCxBQUFDLEFBRUQsQUFBUTs7O3lEQUFJLEFBQVksTUFDdEI7WUFBSSxBQUFNLFNBQUcsQUFBSSxLQUFDLEFBQU0sQUFBQyxBQUN6QixBQUFFLEFBQUM7WUFBUyxBQUFJLFFBQUksQUFBTSxBQUFDLFFBQUMsQUFBTSxPQUFDLEFBQU0sT0FBQyxBQUFJLEFBQUMsQUFBQyxBQUNoRCxBQUFNO2VBQUMsQUFBSSxBQUFDLEFBQ2QsQUFBQyxBQUVELEFBQUk7OztpREFBQyxBQUFjLFFBQ2pCLEFBQU07c0JBQVEsQUFBSyxNQUFDLEFBQUcsQUFBQyxLQUFDLEFBQU0saUJBQUUsQUFBRyxLQUFFLEFBQUksTUFBVjttQkFBZSxBQUFHLElBQUMsQUFBRyxJQUFDLEFBQUksQUFBQztBQUFyRCxBQUFNLFdBQWlELEFBQThCLEFBQUMsQUFBQyxBQUNoRyxBQUFDLEFBRUQsQUFBa0I7Ozs2RUFBQyxBQUFlLE9BQ2hDLEFBQU07cUJBQU8sQUFBTSxpQkFBRSxBQUFHLEtBQUUsQUFBSSxNQUFWO21CQUFlLEFBQUcsSUFBQyxBQUFHLElBQUMsQUFBSSxBQUEyQjtBQUFuRSxBQUFLLFdBQWdFLEFBQThCLEFBQUMsQUFBQyxBQUM5RyxBQUFDLEFBRUQsQUFBSzs7O3FEQUNILEFBQU07ZUFBQyxBQUFrQixBQUFDLEFBQzVCLEFBQUMsQUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9wYXF1ZSwgZGljdCB9IGZyb20gJ0BnbGltbWVyL3V0aWwnO1xuaW1wb3J0IHsgUGF0aFJlZmVyZW5jZSB9IGZyb20gJy4vcGF0aCc7XG5pbXBvcnQgeyBSb290UmVmZXJlbmNlIGFzIElSb290UmVmZXJlbmNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgVk9MQVRJTEVfVEFHLCBQYXRoUmVmZXJlbmNlIGFzIElQYXRoUmVmZXJlbmNlLCBUYWcgfSBmcm9tICdAZ2xpbW1lci9yZWZlcmVuY2UnO1xuaW1wb3J0IHsgT3B0aW9uIH0gZnJvbSBcIkBnbGltbWVyL2ludGVyZmFjZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUm9vdFJlZmVyZW5jZTxUPiBpbXBsZW1lbnRzIElSb290UmVmZXJlbmNlPFQ+LCBJUGF0aFJlZmVyZW5jZTxUPiB7XG4gIHByaXZhdGUgb2JqZWN0OiBUO1xuICBwcml2YXRlIGNoYWlucyA9IGRpY3Q8UGF0aFJlZmVyZW5jZTxhbnk+PigpO1xuICBwdWJsaWMgdGFnOiBUYWcgPSBWT0xBVElMRV9UQUc7XG5cbiAgY29uc3RydWN0b3Iob2JqZWN0OiBUKSB7XG4gICAgdGhpcy5vYmplY3QgPSBvYmplY3Q7XG4gIH1cblxuICB2YWx1ZSgpOiBUIHsgcmV0dXJuIHRoaXMub2JqZWN0OyB9XG5cbiAgdXBkYXRlKG9iamVjdDogVCkge1xuICAgIHRoaXMub2JqZWN0ID0gb2JqZWN0O1xuICAgIC8vIHRoaXMubm90aWZ5KCk7XG4gIH1cblxuICBnZXQ8VT4ocHJvcDogc3RyaW5nKTogSVBhdGhSZWZlcmVuY2U8VT4ge1xuICAgIGxldCBjaGFpbnMgPSB0aGlzLmNoYWlucztcbiAgICBpZiAoPHN0cmluZz5wcm9wIGluIGNoYWlucykgcmV0dXJuIGNoYWluc1twcm9wXTtcbiAgICByZXR1cm4gKGNoYWluc1twcm9wXSA9IG5ldyBQYXRoUmVmZXJlbmNlKHRoaXMsIHByb3ApKTtcbiAgfVxuXG4gIGNoYWluRm9yPFU+KHByb3A6IHN0cmluZyk6IE9wdGlvbjxJUGF0aFJlZmVyZW5jZTxVPj4ge1xuICAgIGxldCBjaGFpbnMgPSB0aGlzLmNoYWlucztcbiAgICBpZiAoPHN0cmluZz5wcm9wIGluIGNoYWlucykgcmV0dXJuIGNoYWluc1twcm9wXTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHBhdGgoc3RyaW5nOiBzdHJpbmcpOiBJUGF0aFJlZmVyZW5jZTxPcGFxdWU+IHtcbiAgICByZXR1cm4gc3RyaW5nLnNwbGl0KCcuJykucmVkdWNlKChyZWYsIHBhcnQpID0+IHJlZi5nZXQocGFydCksIHRoaXMgYXMgSVBhdGhSZWZlcmVuY2U8T3BhcXVlPik7XG4gIH1cblxuICByZWZlcmVuY2VGcm9tUGFydHMocGFydHM6IHN0cmluZ1tdKTogSVBhdGhSZWZlcmVuY2U8T3BhcXVlPiB7XG4gICAgcmV0dXJuIHBhcnRzLnJlZHVjZSgocmVmLCBwYXJ0KSA9PiByZWYuZ2V0KHBhcnQpIGFzIElQYXRoUmVmZXJlbmNlPE9wYXF1ZT4sIHRoaXMgYXMgSVBhdGhSZWZlcmVuY2U8T3BhcXVlPik7XG4gIH1cblxuICBsYWJlbCgpIHtcbiAgICByZXR1cm4gJ1tyZWZlcmVuY2UgUm9vdF0nO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL29iamVjdC1yZWZlcmVuY2UvbGliL3JlZmVyZW5jZXMvcm9vdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxBQUFPLEFBQWtCLEFBQUksQUFBRSxBQUFNLEFBQWUsQUFBQzs7QUFDckQsQUFBTyxBQUFFLEFBQWEsQUFBRSxBQUFNLEFBQVEsQUFBQzs7QUFFdkMsQUFBTyxBQUFFLEFBQVksQUFBd0MsQUFBTSxBQUFvQixBQUFDLEFBRXhGLEFBQU0sQUFBQyxBQUFPOzs7Ozs7OztJQUtaOzJCQUFZLEFBQVMsUUFIYjs7O2FBQU0sU0FBRyxBQUFJLEFBQXNCLEFBQUMsQUFDckM7YUFBRyxBQUFRLEFBQVksQUFBQyxBQUc3QixBQUFJO2FBQUMsQUFBTSxTQUFHLEFBQU0sQUFBQyxBQUN2QixBQUFDLEFBRUQsQUFBSzs7O3FEQUFRLEFBQU07ZUFBQyxBQUFJLEtBQUMsQUFBTSxBQUFDLEFBQUMsQUFBQyxBQUVsQyxBQUFNOzs7cURBQUMsQUFBUyxRQUNkLEFBQUk7YUFBQyxBQUFNLFNBQUcsQUFBTSxBQUFDLEFBQ3JCLEFBQWlCLEFBQ25CLEFBQUM7QUFFRCxBQUFHOzs7K0NBQUksQUFBWSxNQUNqQjtZQUFJLEFBQU0sU0FBRyxBQUFJLEtBQUMsQUFBTSxBQUFDLEFBQ3pCLEFBQUUsQUFBQztZQUFTLEFBQUksUUFBSSxBQUFNLEFBQUMsUUFBQyxBQUFNLE9BQUMsQUFBTSxPQUFDLEFBQUksQUFBQyxBQUFDLEFBQ2hELEFBQU0sQUFBQztlQUFDLEFBQU0sT0FBQyxBQUFJLEFBQUMsUUFBRyxBQUFJLEFBQWEsd0JBQUMsQUFBSSxNQUFFLEFBQUksQUFBQyxBQUFDLEFBQUMsQUFDeEQsQUFBQyxBQUVELEFBQVE7Ozt5REFBSSxBQUFZLE1BQ3RCO1lBQUksQUFBTSxTQUFHLEFBQUksS0FBQyxBQUFNLEFBQUMsQUFDekIsQUFBRSxBQUFDO1lBQVMsQUFBSSxRQUFJLEFBQU0sQUFBQyxRQUFDLEFBQU0sT0FBQyxBQUFNLE9BQUMsQUFBSSxBQUFDLEFBQUMsQUFDaEQsQUFBTTtlQUFDLEFBQUksQUFBQyxBQUNkLEFBQUMsQUFFRCxBQUFJOzs7aURBQUMsQUFBYyxRQUNqQixBQUFNO3NCQUFRLEFBQUssTUFBQyxBQUFHLEFBQUMsS0FBQyxBQUFNLGlCQUFFLEFBQUcsS0FBRSxBQUFJLE1BQVY7bUJBQWUsQUFBRyxJQUFDLEFBQUcsSUFBQyxBQUFJLEFBQUM7QUFBckQsQUFBTSxXQUFpRCxBQUE4QixBQUFDLEFBQUMsQUFDaEcsQUFBQyxBQUVELEFBQWtCOzs7NkVBQUMsQUFBZSxPQUNoQyxBQUFNO3FCQUFPLEFBQU0saUJBQUUsQUFBRyxLQUFFLEFBQUksTUFBVjttQkFBZSxBQUFHLElBQUMsQUFBRyxJQUFDLEFBQUksQUFBMkI7QUFBbkUsQUFBSyxXQUFnRSxBQUE4QixBQUFDLEFBQUMsQUFDOUcsQUFBQyxBQUVELEFBQUs7OztxREFDSCxBQUFNO2VBQUMsQUFBa0IsQUFBQyxBQUM1QixBQUFDLEFBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcHRpb24sIE9wYXF1ZSwgZGljdCB9IGZyb20gJ0BnbGltbWVyL3V0aWwnO1xuaW1wb3J0IHsgUGF0aFJlZmVyZW5jZSB9IGZyb20gJy4vcGF0aCc7XG5pbXBvcnQgeyBSb290UmVmZXJlbmNlIGFzIElSb290UmVmZXJlbmNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgVk9MQVRJTEVfVEFHLCBQYXRoUmVmZXJlbmNlIGFzIElQYXRoUmVmZXJlbmNlLCBUYWcgfSBmcm9tICdAZ2xpbW1lci9yZWZlcmVuY2UnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSb290UmVmZXJlbmNlPFQ+IGltcGxlbWVudHMgSVJvb3RSZWZlcmVuY2U8VD4sIElQYXRoUmVmZXJlbmNlPFQ+IHtcbiAgcHJpdmF0ZSBvYmplY3Q6IFQ7XG4gIHByaXZhdGUgY2hhaW5zID0gZGljdDxQYXRoUmVmZXJlbmNlPGFueT4+KCk7XG4gIHB1YmxpYyB0YWc6IFRhZyA9IFZPTEFUSUxFX1RBRztcblxuICBjb25zdHJ1Y3RvcihvYmplY3Q6IFQpIHtcbiAgICB0aGlzLm9iamVjdCA9IG9iamVjdDtcbiAgfVxuXG4gIHZhbHVlKCk6IFQgeyByZXR1cm4gdGhpcy5vYmplY3Q7IH1cblxuICB1cGRhdGUob2JqZWN0OiBUKSB7XG4gICAgdGhpcy5vYmplY3QgPSBvYmplY3Q7XG4gICAgLy8gdGhpcy5ub3RpZnkoKTtcbiAgfVxuXG4gIGdldDxVPihwcm9wOiBzdHJpbmcpOiBJUGF0aFJlZmVyZW5jZTxVPiB7XG4gICAgbGV0IGNoYWlucyA9IHRoaXMuY2hhaW5zO1xuICAgIGlmICg8c3RyaW5nPnByb3AgaW4gY2hhaW5zKSByZXR1cm4gY2hhaW5zW3Byb3BdO1xuICAgIHJldHVybiAoY2hhaW5zW3Byb3BdID0gbmV3IFBhdGhSZWZlcmVuY2UodGhpcywgcHJvcCkpO1xuICB9XG5cbiAgY2hhaW5Gb3I8VT4ocHJvcDogc3RyaW5nKTogT3B0aW9uPElQYXRoUmVmZXJlbmNlPFU+PiB7XG4gICAgbGV0IGNoYWlucyA9IHRoaXMuY2hhaW5zO1xuICAgIGlmICg8c3RyaW5nPnByb3AgaW4gY2hhaW5zKSByZXR1cm4gY2hhaW5zW3Byb3BdO1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcGF0aChzdHJpbmc6IHN0cmluZyk6IElQYXRoUmVmZXJlbmNlPE9wYXF1ZT4ge1xuICAgIHJldHVybiBzdHJpbmcuc3BsaXQoJy4nKS5yZWR1Y2UoKHJlZiwgcGFydCkgPT4gcmVmLmdldChwYXJ0KSwgdGhpcyBhcyBJUGF0aFJlZmVyZW5jZTxPcGFxdWU+KTtcbiAgfVxuXG4gIHJlZmVyZW5jZUZyb21QYXJ0cyhwYXJ0czogc3RyaW5nW10pOiBJUGF0aFJlZmVyZW5jZTxPcGFxdWU+IHtcbiAgICByZXR1cm4gcGFydHMucmVkdWNlKChyZWYsIHBhcnQpID0+IHJlZi5nZXQocGFydCkgYXMgSVBhdGhSZWZlcmVuY2U8T3BhcXVlPiwgdGhpcyBhcyBJUGF0aFJlZmVyZW5jZTxPcGFxdWU+KTtcbiAgfVxuXG4gIGxhYmVsKCkge1xuICAgIHJldHVybiAnW3JlZmVyZW5jZSBSb290XSc7XG4gIH1cbn1cbiJdfQ==
"use strict";
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9AZ2xpbW1lci9vYmplY3QtcmVmZXJlbmNlL2xpYi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3BhcXVlLCBEaWN0LCBTZXQgfSBmcm9tICdAZ2xpbW1lci91dGlsJztcbmltcG9ydCB7IFJlZmVyZW5jZSwgUGF0aFJlZmVyZW5jZSB9IGZyb20gJ0BnbGltbWVyL3JlZmVyZW5jZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm90aWZpYWJsZVJlZmVyZW5jZTxUPiBleHRlbmRzIFJlZmVyZW5jZTxUPiB7XG4gIC8vIG5vdGlmeSgpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYWluYWJsZVJlZmVyZW5jZTxUPiBleHRlbmRzIFJlZmVyZW5jZTxUPiB7XG4gIC8vIGNoYWluKGNoaWxkOiBSZWZlcmVuY2UpOiBEZXN0cm95YWJsZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXRoUmVmZXJlbmNlRmFjdG9yeTxUPiB7XG4gIG5ldyAob2JqZWN0OiBhbnksIHByb3BlcnR5OiBzdHJpbmcpOiBQYXRoUmVmZXJlbmNlPFQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJvb3RSZWZlcmVuY2VGYWN0b3J5PFQ+IHtcbiAgbmV3IChvYmplY3Q6IFQpOiBSb290UmVmZXJlbmNlPFQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJvb3RSZWZlcmVuY2U8VD4gZXh0ZW5kcyBQYXRoUmVmZXJlbmNlPFQ+IHtcbiAgdXBkYXRlKHZhbHVlOiBUKTogdm9pZDtcbiAgcmVmZXJlbmNlRnJvbVBhcnRzKHBhcnRzOiBzdHJpbmdbXSk6IFBhdGhSZWZlcmVuY2U8T3BhcXVlPjtcbiAgY2hhaW5Gb3IocHJvcDogc3RyaW5nKTogT3B0aW9uPFBhdGhSZWZlcmVuY2U8VD4+O1xufVxuXG5pbXBvcnQgeyBJbm5lclJlZmVyZW5jZUZhY3RvcnkgfSBmcm9tICcuL3JlZmVyZW5jZXMvZGVzY3JpcHRvcnMnO1xuaW1wb3J0IHsgT3B0aW9uIH0gZnJvbSBcIkBnbGltbWVyL2ludGVyZmFjZXNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBNZXRhT3B0aW9ucyB7XG4gIFJvb3RSZWZlcmVuY2VGYWN0b3J5PzogUm9vdFJlZmVyZW5jZUZhY3Rvcnk8YW55PjtcbiAgRGVmYXVsdFBhdGhSZWZlcmVuY2VGYWN0b3J5PzogSW5uZXJSZWZlcmVuY2VGYWN0b3J5PGFueT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWV0YSB7XG4gIHJvb3QoKTogUm9vdFJlZmVyZW5jZTxhbnk+O1xuICByZWZlcmVuY2VzRm9yKHByb3BlcnR5OiBzdHJpbmcpOiBPcHRpb248U2V0PFBhdGhSZWZlcmVuY2U8YW55Pj4+O1xuICByZWZlcmVuY2VUeXBlRm9yKHByb3BlcnR5OiBzdHJpbmcpOiBJbm5lclJlZmVyZW5jZUZhY3Rvcnk8YW55PjtcbiAgZ2V0UmVmZXJlbmNlVHlwZXMoKTogRGljdDxJbm5lclJlZmVyZW5jZUZhY3Rvcnk8YW55Pj47XG4gIGFkZFJlZmVyZW5jZShwcm9wZXJ0eTogc3RyaW5nLCByZWZlcmVuY2U6IFBhdGhSZWZlcmVuY2U8YW55Pik6IHZvaWQ7XG4gIHJlbW92ZVJlZmVyZW5jZShwcm9wZXJ0eTogc3RyaW5nLCByZWZlcmVuY2U6IFBhdGhSZWZlcmVuY2U8YW55Pik6IHZvaWQ7XG4gIGdldFNsb3RzKCk6IERpY3Q8YW55Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXRhTG9va3VwIHtcbiAgZm9yKG9iajogYW55KTogTWV0YTtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9AZ2xpbW1lci9vYmplY3QtcmVmZXJlbmNlL2xpYi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3B0aW9uLCBPcGFxdWUsIERpY3QsIFNldCB9IGZyb20gJ0BnbGltbWVyL3V0aWwnO1xuaW1wb3J0IHsgUmVmZXJlbmNlLCBQYXRoUmVmZXJlbmNlIH0gZnJvbSAnQGdsaW1tZXIvcmVmZXJlbmNlJztcbmltcG9ydCB7IElubmVyUmVmZXJlbmNlRmFjdG9yeSB9IGZyb20gJy4vcmVmZXJlbmNlcy9kZXNjcmlwdG9ycyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm90aWZpYWJsZVJlZmVyZW5jZTxUPiBleHRlbmRzIFJlZmVyZW5jZTxUPiB7XG4gIC8vIG5vdGlmeSgpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYWluYWJsZVJlZmVyZW5jZTxUPiBleHRlbmRzIFJlZmVyZW5jZTxUPiB7XG4gIC8vIGNoYWluKGNoaWxkOiBSZWZlcmVuY2UpOiBEZXN0cm95YWJsZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXRoUmVmZXJlbmNlRmFjdG9yeTxUPiB7XG4gIG5ldyAob2JqZWN0OiBhbnksIHByb3BlcnR5OiBzdHJpbmcpOiBQYXRoUmVmZXJlbmNlPFQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJvb3RSZWZlcmVuY2VGYWN0b3J5PFQ+IHtcbiAgbmV3IChvYmplY3Q6IFQpOiBSb290UmVmZXJlbmNlPFQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJvb3RSZWZlcmVuY2U8VD4gZXh0ZW5kcyBQYXRoUmVmZXJlbmNlPFQ+IHtcbiAgdXBkYXRlKHZhbHVlOiBUKTogdm9pZDtcbiAgcmVmZXJlbmNlRnJvbVBhcnRzKHBhcnRzOiBzdHJpbmdbXSk6IFBhdGhSZWZlcmVuY2U8T3BhcXVlPjtcbiAgY2hhaW5Gb3IocHJvcDogc3RyaW5nKTogT3B0aW9uPFBhdGhSZWZlcmVuY2U8VD4+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFPcHRpb25zIHtcbiAgUm9vdFJlZmVyZW5jZUZhY3Rvcnk/OiBSb290UmVmZXJlbmNlRmFjdG9yeTxhbnk+O1xuICBEZWZhdWx0UGF0aFJlZmVyZW5jZUZhY3Rvcnk/OiBJbm5lclJlZmVyZW5jZUZhY3Rvcnk8YW55Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXRhIHtcbiAgcm9vdCgpOiBSb290UmVmZXJlbmNlPGFueT47XG4gIHJlZmVyZW5jZXNGb3IocHJvcGVydHk6IHN0cmluZyk6IE9wdGlvbjxTZXQ8UGF0aFJlZmVyZW5jZTxhbnk+Pj47XG4gIHJlZmVyZW5jZVR5cGVGb3IocHJvcGVydHk6IHN0cmluZyk6IElubmVyUmVmZXJlbmNlRmFjdG9yeTxhbnk+O1xuICBnZXRSZWZlcmVuY2VUeXBlcygpOiBEaWN0PElubmVyUmVmZXJlbmNlRmFjdG9yeTxhbnk+PjtcbiAgYWRkUmVmZXJlbmNlKHByb3BlcnR5OiBzdHJpbmcsIHJlZmVyZW5jZTogUGF0aFJlZmVyZW5jZTxhbnk+KTogdm9pZDtcbiAgcmVtb3ZlUmVmZXJlbmNlKHByb3BlcnR5OiBzdHJpbmcsIHJlZmVyZW5jZTogUGF0aFJlZmVyZW5jZTxhbnk+KTogdm9pZDtcbiAgZ2V0U2xvdHMoKTogRGljdDxhbnk+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFMb29rdXAge1xuICBmb3Iob2JqOiBhbnkpOiBNZXRhO1xufVxuIl19

@@ -123,2 +123,2 @@ import { PropertyReference } from './references/descriptors';

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL29iamVjdC1yZWZlcmVuY2UvbGliL21ldGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsQUFBTyxTQUFFLEFBQWlCLEFBQUUseUJBQU0sQUFBMEIsQUFBQztBQUM3RCxPQUFPLEFBQWEsbUJBQU0sQUFBbUIsQUFBQztBQUc5QyxBQUFPLFNBQVEsQUFBTyxTQUFnQixBQUFJLEFBQUUsWUFBTSxBQUFlLEFBQUM7QUFTbEUsQUFBTyxTQUFtQyxBQUFZLEFBQUUsb0JBQU0sQUFBb0IsQUFBQztBQUtuRixNQUFNLEFBQVksZUFBRyxFQUFFLEFBQU8sVUFBSSxDQUFDLEFBQUUsQUFBQztBQUV0QztBQUtFLGdCQUFZLEFBQVcsUUFBRSxBQUFpQjtBQUZuQyxhQUFHLE1BQUcsQUFBWSxBQUFDO0FBR3hCLEFBQUksYUFBQyxBQUFNLFNBQUcsQUFBTSxBQUFDLEFBQ3ZCO0FBQUM7QUFFRCxBQUFLO0FBQUssQUFBTSxlQUFDLEFBQVksQUFBQyxBQUFDO0FBQUM7QUFDaEMsQUFBTSxhQUFJLENBQUM7QUFFWCxBQUFLO0FBQ0gsQUFBTSxlQUFDLEFBQUksS0FBQyxBQUFNLE9BQUMsQUFBSSxLQUFDLEFBQVEsQUFBQyxBQUFDLEFBQ3BDO0FBQUM7QUFFRCxBQUFHLFFBQUMsQUFBWTtBQUNkLEFBQU0sZUFBQyxJQUFJLEFBQVMsVUFBQyxBQUFJLEtBQUMsQUFBTSxPQUFDLEFBQUksS0FBQyxBQUFRLEFBQUMsV0FBRSxBQUFJLEFBQUMsQUFBQyxBQUN6RDtBQUFDLEFBQ0Y7O0FBRUQ7QUFJRSxnQkFBWSxBQUFVO0FBRmYsYUFBRyxNQUFHLEFBQVksQUFBQztBQUd4QixBQUFJLGFBQUMsQUFBSyxRQUFHLEFBQUssQUFBQyxBQUNyQjtBQUFDO0FBRUQsQUFBTSxXQUFDLEFBQVU7QUFDZixBQUFJLGFBQUMsQUFBSyxRQUFHLEFBQUssQUFBQyxBQUNyQjtB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QUMsQUFBUyxBQUFDLEFBQUMsQUFDeEI7QUFBQztBQUVELEFBQWlCO0FBQ2YsQUFBSSxhQUFDLEFBQWMsaUJBQUcsQUFBSSxLQUFDLEFBQWMsa0JBQUksQUFBSSxBQUE2QixBQUFDO0FBQy9FLEFBQU0sZUFBQyxBQUFJLEtBQUMsQUFBYyxBQUFDLEFBQzdCO0FBQUM7QUFFRCxBQUFhLGtCQUFDLEFBQWdCO0FBQzVCLEFBQUUsQUFBQyxZQUFDLENBQUMsQUFBSSxLQUFDLEFBQVUsQUFBQyxZQUFDLEFBQU0sT0FBQyxBQUFJLEFBQUM7QUFDbEMsQUFBTSxlQUFDLEFBQUksS0FBQyxBQUFVLFdBQUMsQUFBUSxBQUFDLEFBQUMsQUFDbkM7QUFBQztBQUVELEFBQVE7QUFDTixBQUFNLEFBQUMsZUFBQyxBQUFJLEtBQUMsQUFBSyxRQUFHLEFBQUksS0FBQyxBQUFLLFNBQUksQUFBSSxBQUFFLEFBQUMsQUFBQyxBQUM3QztBQUFDO0FBRUQsQUFBSTtBQUNGLEFBQU0sQUFBQyxlQUFDLEFBQUksS0FBQyxBQUFTLFlBQUcsQUFBSSxLQUFDLEFBQVMsYUFBSSxJQUFJLEFBQUksS0FBQyxBQUFvQixxQkFBQyxBQUFJLEtBQUMsQUFBTSxBQUFDLEFBQUMsQUFBQyxBQUN6RjtBQUFDLEFBQ0Y7O0FBRUQsZUFBZSxBQUFJLEFBQUM7QUFNcEIsQUFBTSx3QkFBa0IsQUFBUTtBQUM5QixBQUFNLFdBQUMsQUFBSSxLQUFDLEFBQUcsSUFBQyxBQUFHLEFBQUMsQUFBQyxBQUN2QjtBQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvcGVydHlSZWZlcmVuY2UgfSBmcm9tICcuL3JlZmVyZW5jZXMvZGVzY3JpcHRvcnMnO1xuaW1wb3J0IFJvb3RSZWZlcmVuY2UgZnJvbSAnLi9yZWZlcmVuY2VzL3Jvb3QnO1xuaW1wb3J0IHsgTWV0YU9wdGlvbnMgfSBmcm9tICcuL3R5cGVzJztcblxuaW1wb3J0IHsgRGljdCwgRGljdFNldCwgSGFzR3VpZCwgU2V0LCBkaWN0IH0gZnJvbSAnQGdsaW1tZXIvdXRpbCc7XG5cbmltcG9ydCB7XG4gIFJvb3RSZWZlcmVuY2VGYWN0b3J5LFxuICBQYXRoUmVmZXJlbmNlRmFjdG9yeSxcbiAgTWV0YSBhcyBJTWV0YSxcbiAgUm9vdFJlZmVyZW5jZSBhcyBJUm9vdFJlZmVyZW5jZVxufSBmcm9tICcuL3R5cGVzJztcblxuaW1wb3J0IHsgUGF0aFJlZmVyZW5jZSBhcyBJUGF0aFJlZmVyZW5jZSwgVk9MQVRJTEVfVEFHIH0gZnJvbSAnQGdsaW1tZXIvcmVmZXJlbmNlJztcblxuaW1wb3J0IHsgSW5uZXJSZWZlcmVuY2VGYWN0b3J5IH0gZnJvbSAnLi9yZWZlcmVuY2VzL2Rlc2NyaXB0b3JzJztcbmltcG9ydCB7IE9wdGlvbiB9IGZyb20gXCJAZ2xpbW1lci9pbnRlcmZhY2VzXCI7XG5cbmNvbnN0IE5PT1BfREVTVFJPWSA9IHsgZGVzdHJveSgpIHt9IH07XG5cbmNsYXNzIENvbnN0UGF0aCBpbXBsZW1lbnRzIElQYXRoUmVmZXJlbmNlPGFueT4ge1xuICBwcml2YXRlIHBhcmVudDogYW55O1xuICBwcml2YXRlIHByb3BlcnR5OiBzdHJpbmc7XG4gIHB1YmxpYyB0YWcgPSBWT0xBVElMRV9UQUc7XG5cbiAgY29uc3RydWN0b3IocGFyZW50OiBhbnksIF9wcm9wZXJ0eTogc3RyaW5nKSB7XG4gICAgdGhpcy5wYXJlbnQgPSBwYXJlbnQ7XG4gIH1cblxuICBjaGFpbigpIHsgcmV0dXJuIE5PT1BfREVTVFJPWTsgfVxuICBub3RpZnkoKSB7fVxuXG4gIHZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLnBhcmVudFt0aGlzLnByb3BlcnR5XTtcbiAgfVxuXG4gIGdldChwcm9wOiBzdHJpbmcpOiBJUGF0aFJlZmVyZW5jZTxhbnk+IHtcbiAgICByZXR1cm4gbmV3IENvbnN0UGF0aCh0aGlzLnBhcmVudFt0aGlzLnByb3BlcnR5XSwgcHJvcCk7XG4gIH1cbn1cblxuY2xhc3MgQ29uc3RSb290IGltcGxlbWVudHMgSVJvb3RSZWZlcmVuY2U8YW55PiB7XG4gIHByaXZhdGUgaW5uZXI6IGFueTtcbiAgcHVibGljIHRhZyA9IFZPTEFUSUxFX1RBRztcblxuICBjb25zdHJ1Y3Rvcih2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5pbm5lciA9IHZhbHVlO1xuICB9XG5cbiAgdXBkYXRlKGlubmVyOiBhbnkpIHtcbiAgICB0aGlzLmlubmVyID0gaW5uZXI7XG4gIH1cblxuICBjaGFpbigpIHsgcmV0dXJuIE5PT1BfREVTVFJPWTsgfVxuICBub3RpZnkoKSB7fVxuXG4gIHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuaW5uZXI7XG4gIH1cblxuICByZWZlcmVuY2VGcm9tUGFydHMoX3BhcnRzOiBzdHJpbmdbXSk6IElQYXRoUmVmZXJlbmNlPGFueT4ge1xuICAgIHRocm93IG5ldyBFcnJvcihcIk5vdCBpbXBsZW1lbnRlZFwiKTtcbiAgfVxuXG4gIGNoYWluRm9yKF9wcm9wOiBzdHJpbmcpOiBJUGF0aFJlZmVyZW5jZTxhbnk+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJOb3QgaW1wbGVtZW50ZWRcIik7XG4gIH1cblxuICBnZXQocHJvcDogc3RyaW5nKTogSVBhdGhSZWZlcmVuY2U8YW55PiB7XG4gICAgcmV0dXJuIG5ldyBDb25zdFBhdGgodGhpcy5pbm5lciwgcHJvcCk7XG4gIH1cbn1cblxuY2xhc3MgQ29uc3RNZXRhIC8qaW1wbGVtZW50cyBJTWV0YSovIHtcbiAgcHJpdmF0ZSBvYmplY3Q6IGFueTtcblxuICBjb25zdHJ1Y3RvcihvYmplY3Q6IGFueSkge1xuICAgIHRoaXMub2JqZWN0ID0gb2JqZWN0O1xuICB9XG5cbiAgcm9vdCgpOiBDb25zdFJvb3Qge1xuICAgIHJldHVybiBuZXcgQ29uc3RSb290KHRoaXMub2JqZWN0KTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgQ0xBU1NfTUVUQSA9IFwiZGY4YmU0YzgtNGU4OS00NGUyLWE4ZjktNTUwYzhkYWNkY2E3XCI7XG5cbmNvbnN0IGhhc093blByb3BlcnR5ID0gT2JqZWN0Lmhhc093blByb3BlcnR5O1xuXG5jbGFzcyBNZXRhIGltcGxlbWVudHMgSU1ldGEsIEhhc0d1aWQge1xuICBzdGF0aWMgZm9yKG9iajogYW55KTogSU1ldGEge1xuICAgIGlmIChvYmogPT09IG51bGwgfHwgb2JqID09PSB1bmRlZmluZWQpIHJldHVybiBuZXcgTWV0YShvYmosIHt9KTtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChvYmosICdfbWV0YScpICYmIG9iai5fbWV0YSkgcmV0dXJuIG9iai5fbWV0YTtcbiAgICBpZiAoIU9iamVjdC5pc0V4dGVuc2libGUob2JqKSkgcmV0dXJuIDxhbnk+bmV3IENvbnN0TWV0YShvYmopO1xuXG4gICAgbGV0IE1ldGFUb1VzZTogdHlwZW9mIE1ldGEgPSBNZXRhO1xuXG4gICAgaWYgKG9iai5jb25zdHJ1Y3RvciAmJiBvYmouY29uc3RydWN0b3JbQ0xBU1NfTUVUQV0pIHtcbiAgICAgIGxldCBjbGFzc01ldGE6IENsYXNzTWV0YSA9IG9iai5jb25zdHJ1Y3RvcltDTEFTU19NRVRBXTtcbiAgICAgIE1ldGFUb1VzZSA9IGNsYXNzTWV0YS5JbnN0YW5jZU1ldGFDb25zdHJ1Y3RvcjtcbiAgICB9IGVsc2UgaWYgKG9ialtDTEFTU19NRVRBXSkge1xuICAgICAgTWV0YVRvVXNlID0gb2JqW0NMQVNTX01FVEFdLkluc3RhbmNlTWV0YUNvbnN0cnVjdG9yO1xuICAgIH1cblxuICAgIHJldHVybiAob2JqLl9tZXRhID0gbmV3IE1ldGFUb1VzZShvYmosIHt9KSk7XG4gIH1cblxuICBzdGF0aWMgZXhpc3RzKG9iajogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHR5cGVvZiBvYmogPT09ICdvYmplY3QnICYmIG9iai5fbWV0YTtcbiAgfVxuXG4gIHN0YXRpYyBtZXRhZGF0YUZvclByb3BlcnR5KF9rZXk6IHN0cmluZyk6IGFueSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIG9iamVjdDogYW55O1xuICBwcml2YXRlIFJvb3RSZWZlcmVuY2VGYWN0b3J5OiBSb290UmVmZXJlbmNlRmFjdG9yeTxhbnk+O1xuICBwcml2YXRlIERlZmF1bHRQYXRoUmVmZXJlbmNlRmFjdG9yeTogSW5uZXJSZWZlcmVuY2VGYWN0b3J5PGFueT47XG4gIHByaXZhdGUgcm9vdENhY2hlOiBJUm9vdFJlZmVyZW5jZTxhbnk+O1xuICBwcml2YXRlIHJlZmVyZW5jZXM6IE9wdGlvbjxEaWN0PERpY3RTZXQ8SVBhdGhSZWZlcmVuY2U8YW55PiAmIEhhc0d1aWQ+Pj4gPSBudWxsO1xuICBwdWJsaWMgX2d1aWQ6IG51bWJlcjtcbiAgcHJvdGVjdGVkIHNsb3RzOiBPcHRpb248RGljdDxhbnk+PiA9IG51bGw7XG4gIHByb3RlY3RlZCByZWZlcmVuY2VUeXBlczogT3B0aW9uPERpY3Q8SW5uZXJSZWZlcmVuY2VGYWN0b3J5PGFueT4+PiA9IG51bGw7XG4gIHByb3RlY3RlZCBwcm9wZXJ0eU1ldGFkYXRhOiBPcHRpb248RGljdDxhbnk+PiA9IG51bGw7XG5cbiAgY29uc3RydWN0b3Iob2JqZWN0OiBhbnksIHsgUm9vdFJlZmVyZW5jZUZhY3RvcnksIERlZmF1bHRQYXRoUmVmZXJlbmNlRmFjdG9yeSB9OiBNZXRhT3B0aW9ucykge1xuICAgIHRoaXMub2JqZWN0ID0gb2JqZWN0O1xuICAgIHRoaXMuUm9vdFJlZmVyZW5jZUZhY3RvcnkgPSAoUm9vdFJlZmVyZW5jZUZhY3RvcnkgfHwgUm9vdFJlZmVyZW5jZSkgYXMgUm9vdFJlZmVyZW5jZUZhY3Rvcnk8YW55PjtcbiAgICB0aGlzLkRlZmF1bHRQYXRoUmVmZXJlbmNlRmFjdG9yeSA9IERlZmF1bHRQYXRoUmVmZXJlbmNlRmFjdG9yeSB8fCBQcm9wZXJ0eVJlZmVyZW5jZTtcbiAgfVxuXG4gIGFkZFJlZmVyZW5jZShwcm9wZXJ0eTogc3RyaW5nLCByZWZlcmVuY2U6IElQYXRoUmVmZXJlbmNlPGFueT4gJiBIYXNHdWlkKSB7XG4gICAgbGV0IHJlZnMgPSB0aGlzLnJlZmVyZW5jZXMgPSB0aGlzLnJlZmVyZW5jZXMgfHwgZGljdDxEaWN0U2V0PElQYXRoUmVmZXJlbmNlPGFueT4gJiBIYXNHdWlkPj4oKTtcbiAgICBsZXQgc2V0ID0gcmVmc1twcm9wZXJ0eV0gPSByZWZzW3Byb3BlcnR5XSB8fCBuZXcgRGljdFNldDxJUGF0aFJlZmVyZW5jZTxhbnk+ICYgSGFzR3VpZD4oKTtcbiAgICBzZXQuYWRkKHJlZmVyZW5jZSk7XG4gIH1cblxuICBhZGRSZWZlcmVuY2VUeXBlRm9yKHByb3BlcnR5OiBzdHJpbmcsIHR5cGU6IFBhdGhSZWZlcmVuY2VGYWN0b3J5PGFueT4pIHtcbiAgICB0aGlzLnJlZmVyZW5jZVR5cGVzID0gdGhpcy5yZWZlcmVuY2VUeXBlcyB8fCBkaWN0PFBhdGhSZWZlcmVuY2VGYWN0b3J5PGFueT4+KCk7XG4gICAgdGhpcy5yZWZlcmVuY2VUeXBlc1twcm9wZXJ0eV0gPSB0eXBlO1xuICB9XG5cbiAgcmVmZXJlbmNlVHlwZUZvcihwcm9wZXJ0eTogc3RyaW5nKTogSW5uZXJSZWZlcmVuY2VGYWN0b3J5PGFueT4ge1xuICAgIGlmICghdGhpcy5yZWZlcmVuY2VUeXBlcykgcmV0dXJuIFByb3BlcnR5UmVmZXJlbmNlO1xuICAgIHJldHVybiB0aGlzLnJlZmVyZW5jZVR5cGVzW3Byb3BlcnR5XSB8fCBQcm9wZXJ0eVJlZmVyZW5jZTtcbiAgfVxuXG4gIHJlbW92ZVJlZmVyZW5jZShwcm9wZXJ0eTogc3RyaW5nLCByZWZlcmVuY2U6IElQYXRoUmVmZXJlbmNlPGFueT4gJiBIYXNHdWlkKSB7XG4gICAgaWYgKCF0aGlzLnJlZmVyZW5jZXMpIHJldHVybjtcbiAgICBsZXQgc2V0ID0gdGhpcy5yZWZlcmVuY2VzW3Byb3BlcnR5XTtcbiAgICBzZXQuZGVsZXRlKHJlZmVyZW5jZSk7XG4gIH1cblxuICBnZXRSZWZlcmVuY2VUeXBlcygpOiBEaWN0PElubmVyUmVmZXJlbmNlRmFjdG9yeTxhbnk+PiB7XG4gICAgdGhpcy5yZWZlcmVuY2VUeXBlcyA9IHRoaXMucmVmZXJlbmNlVHlwZXMgfHwgZGljdDxQYXRoUmVmZXJlbmNlRmFjdG9yeTxhbnk+PigpO1xuICAgIHJldHVybiB0aGlzLnJlZmVyZW5jZVR5cGVzO1xuICB9XG5cbiAgcmVmZXJlbmNlc0Zvcihwcm9wZXJ0eTogc3RyaW5nKTogT3B0aW9uPFNldDxJUGF0aFJlZmVyZW5jZTxhbnk+Pj4ge1xuICAgIGlmICghdGhpcy5yZWZlcmVuY2VzKSByZXR1cm4gbnVsbDtcbiAgICByZXR1cm4gdGhpcy5yZWZlcmVuY2VzW3Byb3BlcnR5XTtcbiAgfVxuXG4gIGdldFNsb3RzKCkge1xuICAgIHJldHVybiAodGhpcy5zbG90cyA9IHRoaXMuc2xvdHMgfHwgZGljdCgpKTtcbiAgfVxuXG4gIHJvb3QoKTogSVJvb3RSZWZlcmVuY2U8YW55PiB7XG4gICAgcmV0dXJuICh0aGlzLnJvb3RDYWNoZSA9IHRoaXMucm9vdENhY2hlIHx8IG5ldyB0aGlzLlJvb3RSZWZlcmVuY2VGYWN0b3J5KHRoaXMub2JqZWN0KSk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgTWV0YTtcblxuaW50ZXJmYWNlIENsYXNzTWV0YSB7XG4gIEluc3RhbmNlTWV0YUNvbnN0cnVjdG9yOiB0eXBlb2YgTWV0YTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ldGFGb3Iob2JqOiBhbnkpOiBJTWV0YSB7XG4gIHJldHVybiBNZXRhLmZvcihvYmopO1xufVxuIl19
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL29iamVjdC1yZWZlcmVuY2UvbGliL21ldGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsQUFBTyxTQUFFLEFBQWlCLEFBQUUseUJBQU0sQUFBMEIsQUFBQztBQUM3RCxPQUFPLEFBQWEsbUJBQU0sQUFBbUIsQUFBQztBQUc5QyxBQUFPLFNBQWdCLEFBQU8sU0FBZ0IsQUFBSSxBQUFFLFlBQU0sQUFBZSxBQUFDO0FBUzFFLEFBQU8sU0FBbUMsQUFBWSxBQUFFLG9CQUFNLEFBQW9CLEFBQUM7QUFJbkYsTUFBTSxBQUFZLGVBQUcsRUFBRSxBQUFPLFVBQUksQ0FBQyxBQUFFLEFBQUM7QUFFdEM7QUFLRSxnQkFBWSxBQUFXLFFBQUUsQUFBaUI7QUFGbkMsYUFBRyxNQUFHLEFBQVksQUFBQztBQUd4QixBQUFJLGFBQUMsQUFBTSxTQUFHLEFBQU0sQUFBQyxBQUN2QjtBQUFDO0FBRUQsQUFBSztBQUFLLEFBQU0sZUFBQyxBQUFZLEFBQUMsQUFBQztBQUFDO0FBQ2hDLEFBQU0sYUFBSSxDQUFDO0FBRVgsQUFBSztBQUNILEFBQU0sZUFBQyxBQUFJLEtBQUMsQUFBTSxPQUFDLEFBQUksS0FBQyxBQUFRLEFBQUMsQUFBQyxBQUNwQztBQUFDO0FBRUQsQUFBRyxRQUFDLEFBQVk7QUFDZCxBQUFNLGVBQUMsSUFBSSxBQUFTLFVBQUMsQUFBSSxLQUFDLEFBQU0sT0FBQyxBQUFJLEtBQUMsQUFBUSxBQUFDLFdBQUUsQUFBSSxBQUFDLEFBQUMsQUFDekQ7QUFBQyxBQUNGOztBQUVEO0FBSUUsZ0JBQVksQUFBVTtBQUZmLGFBQUcsTUFBRyxBQUFZLEFBQUM7QUFHeEIsQUFBSSxhQUFDLEFBQUssUUFBRyxBQUFLLEFBQUMsQUFDckI7QUFBQztBQUVELEFBQU0sV0FBQyxBQUFVO0FBQ2YsQUFBSSxhQUFDLEFBQUssUUFBRyxBQUFLLEFBQUMsQUFDckI7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QUFDLEFBQVMsQUFBQyxBQUFDLEFBQ3hCO0FBQUM7QUFFRCxBQUFpQjtBQUNmLEFBQUksYUFBQyxBQUFjLGlCQUFHLEFBQUksS0FBQyxBQUFjLGtCQUFJLEFBQUksQUFBNkIsQUFBQztBQUMvRSxBQUFNLGVBQUMsQUFBSSxLQUFDLEFBQWMsQUFBQyxBQUM3QjtBQUFDO0FBRUQsQUFBYSxrQkFBQyxBQUFnQjtBQUM1QixBQUFFLEFBQUMsWUFBQyxDQUFDLEFBQUksS0FBQyxBQUFVLEFBQUMsWUFBQyxBQUFNLE9BQUMsQUFBSSxBQUFDO0FBQ2xDLEFBQU0sZUFBQyxBQUFJLEtBQUMsQUFBVSxXQUFDLEFBQVEsQUFBQyxBQUFDLEFBQ25DO0FBQUM7QUFFRCxBQUFRO0FBQ04sQUFBTSxBQUFDLGVBQUMsQUFBSSxLQUFDLEFBQUssUUFBRyxBQUFJLEtBQUMsQUFBSyxTQUFJLEFBQUksQUFBRSxBQUFDLEFBQUMsQUFDN0M7QUFBQztBQUVELEFBQUk7QUFDRixBQUFNLEFBQUMsZUFBQyxBQUFJLEtBQUMsQUFBUyxZQUFHLEFBQUksS0FBQyxBQUFTLGFBQUksSUFBSSxBQUFJLEtBQUMsQUFBb0IscUJBQUMsQUFBSSxLQUFDLEFBQU0sQUFBQyxBQUFDLEFBQUMsQUFDekY7QUFBQyxBQUNGOztBQUVELGVBQWUsQUFBSSxBQUFDO0FBTXBCLEFBQU0sd0JBQWtCLEFBQVE7QUFDOUIsQUFBTSxXQUFDLEFBQUksS0FBQyxBQUFHLElBQUMsQUFBRyxBQUFDLEFBQUMsQUFDdkI7QUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3BlcnR5UmVmZXJlbmNlIH0gZnJvbSAnLi9yZWZlcmVuY2VzL2Rlc2NyaXB0b3JzJztcbmltcG9ydCBSb290UmVmZXJlbmNlIGZyb20gJy4vcmVmZXJlbmNlcy9yb290JztcbmltcG9ydCB7IE1ldGFPcHRpb25zIH0gZnJvbSAnLi90eXBlcyc7XG5cbmltcG9ydCB7IE9wdGlvbiwgRGljdCwgRGljdFNldCwgSGFzR3VpZCwgU2V0LCBkaWN0IH0gZnJvbSAnQGdsaW1tZXIvdXRpbCc7XG5cbmltcG9ydCB7XG4gIFJvb3RSZWZlcmVuY2VGYWN0b3J5LFxuICBQYXRoUmVmZXJlbmNlRmFjdG9yeSxcbiAgTWV0YSBhcyBJTWV0YSxcbiAgUm9vdFJlZmVyZW5jZSBhcyBJUm9vdFJlZmVyZW5jZVxufSBmcm9tICcuL3R5cGVzJztcblxuaW1wb3J0IHsgUGF0aFJlZmVyZW5jZSBhcyBJUGF0aFJlZmVyZW5jZSwgVk9MQVRJTEVfVEFHIH0gZnJvbSAnQGdsaW1tZXIvcmVmZXJlbmNlJztcblxuaW1wb3J0IHsgSW5uZXJSZWZlcmVuY2VGYWN0b3J5IH0gZnJvbSAnLi9yZWZlcmVuY2VzL2Rlc2NyaXB0b3JzJztcblxuY29uc3QgTk9PUF9ERVNUUk9ZID0geyBkZXN0cm95KCkge30gfTtcblxuY2xhc3MgQ29uc3RQYXRoIGltcGxlbWVudHMgSVBhdGhSZWZlcmVuY2U8YW55PiB7XG4gIHByaXZhdGUgcGFyZW50OiBhbnk7XG4gIHByaXZhdGUgcHJvcGVydHk6IHN0cmluZztcbiAgcHVibGljIHRhZyA9IFZPTEFUSUxFX1RBRztcblxuICBjb25zdHJ1Y3RvcihwYXJlbnQ6IGFueSwgX3Byb3BlcnR5OiBzdHJpbmcpIHtcbiAgICB0aGlzLnBhcmVudCA9IHBhcmVudDtcbiAgfVxuXG4gIGNoYWluKCkgeyByZXR1cm4gTk9PUF9ERVNUUk9ZOyB9XG4gIG5vdGlmeSgpIHt9XG5cbiAgdmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyZW50W3RoaXMucHJvcGVydHldO1xuICB9XG5cbiAgZ2V0KHByb3A6IHN0cmluZyk6IElQYXRoUmVmZXJlbmNlPGFueT4ge1xuICAgIHJldHVybiBuZXcgQ29uc3RQYXRoKHRoaXMucGFyZW50W3RoaXMucHJvcGVydHldLCBwcm9wKTtcbiAgfVxufVxuXG5jbGFzcyBDb25zdFJvb3QgaW1wbGVtZW50cyBJUm9vdFJlZmVyZW5jZTxhbnk+IHtcbiAgcHJpdmF0ZSBpbm5lcjogYW55O1xuICBwdWJsaWMgdGFnID0gVk9MQVRJTEVfVEFHO1xuXG4gIGNvbnN0cnVjdG9yKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLmlubmVyID0gdmFsdWU7XG4gIH1cblxuICB1cGRhdGUoaW5uZXI6IGFueSkge1xuICAgIHRoaXMuaW5uZXIgPSBpbm5lcjtcbiAgfVxuXG4gIGNoYWluKCkgeyByZXR1cm4gTk9PUF9ERVNUUk9ZOyB9XG4gIG5vdGlmeSgpIHt9XG5cbiAgdmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5pbm5lcjtcbiAgfVxuXG4gIHJlZmVyZW5jZUZyb21QYXJ0cyhfcGFydHM6IHN0cmluZ1tdKTogSVBhdGhSZWZlcmVuY2U8YW55PiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiTm90IGltcGxlbWVudGVkXCIpO1xuICB9XG5cbiAgY2hhaW5Gb3IoX3Byb3A6IHN0cmluZyk6IElQYXRoUmVmZXJlbmNlPGFueT4ge1xuICAgIHRocm93IG5ldyBFcnJvcihcIk5vdCBpbXBsZW1lbnRlZFwiKTtcbiAgfVxuXG4gIGdldChwcm9wOiBzdHJpbmcpOiBJUGF0aFJlZmVyZW5jZTxhbnk+IHtcbiAgICByZXR1cm4gbmV3IENvbnN0UGF0aCh0aGlzLmlubmVyLCBwcm9wKTtcbiAgfVxufVxuXG5jbGFzcyBDb25zdE1ldGEgLyppbXBsZW1lbnRzIElNZXRhKi8ge1xuICBwcml2YXRlIG9iamVjdDogYW55O1xuXG4gIGNvbnN0cnVjdG9yKG9iamVjdDogYW55KSB7XG4gICAgdGhpcy5vYmplY3QgPSBvYmplY3Q7XG4gIH1cblxuICByb290KCk6IENvbnN0Um9vdCB7XG4gICAgcmV0dXJuIG5ldyBDb25zdFJvb3QodGhpcy5vYmplY3QpO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBDTEFTU19NRVRBID0gXCJkZjhiZTRjOC00ZTg5LTQ0ZTItYThmOS01NTBjOGRhY2RjYTdcIjtcblxuY29uc3QgaGFzT3duUHJvcGVydHkgPSBPYmplY3QuaGFzT3duUHJvcGVydHk7XG5cbmNsYXNzIE1ldGEgaW1wbGVtZW50cyBJTWV0YSwgSGFzR3VpZCB7XG4gIHN0YXRpYyBmb3Iob2JqOiBhbnkpOiBJTWV0YSB7XG4gICAgaWYgKG9iaiA9PT0gbnVsbCB8fCBvYmogPT09IHVuZGVmaW5lZCkgcmV0dXJuIG5ldyBNZXRhKG9iaiwge30pO1xuICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgJ19tZXRhJykgJiYgb2JqLl9tZXRhKSByZXR1cm4gb2JqLl9tZXRhO1xuICAgIGlmICghT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopKSByZXR1cm4gPGFueT5uZXcgQ29uc3RNZXRhKG9iaik7XG5cbiAgICBsZXQgTWV0YVRvVXNlOiB0eXBlb2YgTWV0YSA9IE1ldGE7XG5cbiAgICBpZiAob2JqLmNvbnN0cnVjdG9yICYmIG9iai5jb25zdHJ1Y3RvcltDTEFTU19NRVRBXSkge1xuICAgICAgbGV0IGNsYXNzTWV0YTogQ2xhc3NNZXRhID0gb2JqLmNvbnN0cnVjdG9yW0NMQVNTX01FVEFdO1xuICAgICAgTWV0YVRvVXNlID0gY2xhc3NNZXRhLkluc3RhbmNlTWV0YUNvbnN0cnVjdG9yO1xuICAgIH0gZWxzZSBpZiAob2JqW0NMQVNTX01FVEFdKSB7XG4gICAgICBNZXRhVG9Vc2UgPSBvYmpbQ0xBU1NfTUVUQV0uSW5zdGFuY2VNZXRhQ29uc3RydWN0b3I7XG4gICAgfVxuXG4gICAgcmV0dXJuIChvYmouX21ldGEgPSBuZXcgTWV0YVRvVXNlKG9iaiwge30pKTtcbiAgfVxuXG4gIHN0YXRpYyBleGlzdHMob2JqOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHlwZW9mIG9iaiA9PT0gJ29iamVjdCcgJiYgb2JqLl9tZXRhO1xuICB9XG5cbiAgc3RhdGljIG1ldGFkYXRhRm9yUHJvcGVydHkoX2tleTogc3RyaW5nKTogYW55IHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgb2JqZWN0OiBhbnk7XG4gIHByaXZhdGUgUm9vdFJlZmVyZW5jZUZhY3Rvcnk6IFJvb3RSZWZlcmVuY2VGYWN0b3J5PGFueT47XG4gIHByaXZhdGUgRGVmYXVsdFBhdGhSZWZlcmVuY2VGYWN0b3J5OiBJbm5lclJlZmVyZW5jZUZhY3Rvcnk8YW55PjtcbiAgcHJpdmF0ZSByb290Q2FjaGU6IElSb290UmVmZXJlbmNlPGFueT47XG4gIHByaXZhdGUgcmVmZXJlbmNlczogT3B0aW9uPERpY3Q8RGljdFNldDxJUGF0aFJlZmVyZW5jZTxhbnk+ICYgSGFzR3VpZD4+PiA9IG51bGw7XG4gIHB1YmxpYyBfZ3VpZDogbnVtYmVyO1xuICBwcm90ZWN0ZWQgc2xvdHM6IE9wdGlvbjxEaWN0PGFueT4+ID0gbnVsbDtcbiAgcHJvdGVjdGVkIHJlZmVyZW5jZVR5cGVzOiBPcHRpb248RGljdDxJbm5lclJlZmVyZW5jZUZhY3Rvcnk8YW55Pj4+ID0gbnVsbDtcbiAgcHJvdGVjdGVkIHByb3BlcnR5TWV0YWRhdGE6IE9wdGlvbjxEaWN0PGFueT4+ID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihvYmplY3Q6IGFueSwgeyBSb290UmVmZXJlbmNlRmFjdG9yeSwgRGVmYXVsdFBhdGhSZWZlcmVuY2VGYWN0b3J5IH06IE1ldGFPcHRpb25zKSB7XG4gICAgdGhpcy5vYmplY3QgPSBvYmplY3Q7XG4gICAgdGhpcy5Sb290UmVmZXJlbmNlRmFjdG9yeSA9IChSb290UmVmZXJlbmNlRmFjdG9yeSB8fCBSb290UmVmZXJlbmNlKSBhcyBSb290UmVmZXJlbmNlRmFjdG9yeTxhbnk+O1xuICAgIHRoaXMuRGVmYXVsdFBhdGhSZWZlcmVuY2VGYWN0b3J5ID0gRGVmYXVsdFBhdGhSZWZlcmVuY2VGYWN0b3J5IHx8IFByb3BlcnR5UmVmZXJlbmNlO1xuICB9XG5cbiAgYWRkUmVmZXJlbmNlKHByb3BlcnR5OiBzdHJpbmcsIHJlZmVyZW5jZTogSVBhdGhSZWZlcmVuY2U8YW55PiAmIEhhc0d1aWQpIHtcbiAgICBsZXQgcmVmcyA9IHRoaXMucmVmZXJlbmNlcyA9IHRoaXMucmVmZXJlbmNlcyB8fCBkaWN0PERpY3RTZXQ8SVBhdGhSZWZlcmVuY2U8YW55PiAmIEhhc0d1aWQ+PigpO1xuICAgIGxldCBzZXQgPSByZWZzW3Byb3BlcnR5XSA9IHJlZnNbcHJvcGVydHldIHx8IG5ldyBEaWN0U2V0PElQYXRoUmVmZXJlbmNlPGFueT4gJiBIYXNHdWlkPigpO1xuICAgIHNldC5hZGQocmVmZXJlbmNlKTtcbiAgfVxuXG4gIGFkZFJlZmVyZW5jZVR5cGVGb3IocHJvcGVydHk6IHN0cmluZywgdHlwZTogUGF0aFJlZmVyZW5jZUZhY3Rvcnk8YW55Pikge1xuICAgIHRoaXMucmVmZXJlbmNlVHlwZXMgPSB0aGlzLnJlZmVyZW5jZVR5cGVzIHx8IGRpY3Q8UGF0aFJlZmVyZW5jZUZhY3Rvcnk8YW55Pj4oKTtcbiAgICB0aGlzLnJlZmVyZW5jZVR5cGVzW3Byb3BlcnR5XSA9IHR5cGU7XG4gIH1cblxuICByZWZlcmVuY2VUeXBlRm9yKHByb3BlcnR5OiBzdHJpbmcpOiBJbm5lclJlZmVyZW5jZUZhY3Rvcnk8YW55PiB7XG4gICAgaWYgKCF0aGlzLnJlZmVyZW5jZVR5cGVzKSByZXR1cm4gUHJvcGVydHlSZWZlcmVuY2U7XG4gICAgcmV0dXJuIHRoaXMucmVmZXJlbmNlVHlwZXNbcHJvcGVydHldIHx8IFByb3BlcnR5UmVmZXJlbmNlO1xuICB9XG5cbiAgcmVtb3ZlUmVmZXJlbmNlKHByb3BlcnR5OiBzdHJpbmcsIHJlZmVyZW5jZTogSVBhdGhSZWZlcmVuY2U8YW55PiAmIEhhc0d1aWQpIHtcbiAgICBpZiAoIXRoaXMucmVmZXJlbmNlcykgcmV0dXJuO1xuICAgIGxldCBzZXQgPSB0aGlzLnJlZmVyZW5jZXNbcHJvcGVydHldO1xuICAgIHNldC5kZWxldGUocmVmZXJlbmNlKTtcbiAgfVxuXG4gIGdldFJlZmVyZW5jZVR5cGVzKCk6IERpY3Q8SW5uZXJSZWZlcmVuY2VGYWN0b3J5PGFueT4+IHtcbiAgICB0aGlzLnJlZmVyZW5jZVR5cGVzID0gdGhpcy5yZWZlcmVuY2VUeXBlcyB8fCBkaWN0PFBhdGhSZWZlcmVuY2VGYWN0b3J5PGFueT4+KCk7XG4gICAgcmV0dXJuIHRoaXMucmVmZXJlbmNlVHlwZXM7XG4gIH1cblxuICByZWZlcmVuY2VzRm9yKHByb3BlcnR5OiBzdHJpbmcpOiBPcHRpb248U2V0PElQYXRoUmVmZXJlbmNlPGFueT4+PiB7XG4gICAgaWYgKCF0aGlzLnJlZmVyZW5jZXMpIHJldHVybiBudWxsO1xuICAgIHJldHVybiB0aGlzLnJlZmVyZW5jZXNbcHJvcGVydHldO1xuICB9XG5cbiAgZ2V0U2xvdHMoKSB7XG4gICAgcmV0dXJuICh0aGlzLnNsb3RzID0gdGhpcy5zbG90cyB8fCBkaWN0KCkpO1xuICB9XG5cbiAgcm9vdCgpOiBJUm9vdFJlZmVyZW5jZTxhbnk+IHtcbiAgICByZXR1cm4gKHRoaXMucm9vdENhY2hlID0gdGhpcy5yb290Q2FjaGUgfHwgbmV3IHRoaXMuUm9vdFJlZmVyZW5jZUZhY3RvcnkodGhpcy5vYmplY3QpKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBNZXRhO1xuXG5pbnRlcmZhY2UgQ2xhc3NNZXRhIHtcbiAgSW5zdGFuY2VNZXRhQ29uc3RydWN0b3I6IHR5cGVvZiBNZXRhO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWV0YUZvcihvYmo6IGFueSk6IElNZXRhIHtcbiAgcmV0dXJuIE1ldGEuZm9yKG9iaik7XG59XG4iXX0=

@@ -37,2 +37,2 @@ import { dict } from '@glimmer/util';

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL29iamVjdC1yZWZlcmVuY2UvbGliL3JlZmVyZW5jZXMvcm9vdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxBQUFPLFNBQVUsQUFBSSxBQUFFLFlBQU0sQUFBZSxBQUFDO0FBQzdDLEFBQU8sU0FBRSxBQUFhLEFBQUUscUJBQU0sQUFBUSxBQUFDO0FBRXZDLEFBQU8sU0FBRSxBQUFZLEFBQXdDLG9CQUFNLEFBQW9CLEFBQUM7QUFHeEYsQUFBTSxBQUFDLEFBQU87QUFLWixnQkFBWSxBQUFTO0FBSGIsYUFBTSxTQUFHLEFBQUksQUFBc0IsQUFBQztBQUNyQyxhQUFHLE1BQVEsQUFBWSxBQUFDO0FBRzdCLEFBQUksYUFBQyxBQUFNLFNBQUcsQUFBTSxBQUFDLEFBQ3ZCO0FBQUM7QUFFRCxBQUFLO0FBQVEsQUFBTSxlQUFDLEFBQUksS0FBQyxBQUFNLEFBQUMsQUFBQztBQUFDO0FBRWxDLEFBQU0sV0FBQyxBQUFTO0FBQ2QsQUFBSSxhQUFDLEFBQU0sU0FBRyxBQUFNLEFBQUM7QUFDckIsQUFBaUIsQUFDbkI7QUFBQztBQUVELEFBQUcsUUFBSSxBQUFZO0FBQ2pCLFlBQUksQUFBTSxTQUFHLEFBQUksS0FBQyxBQUFNLEFBQUM7QUFDekIsQUFBRSxBQUFDLFlBQVMsQUFBSSxRQUFJLEFBQU0sQUFBQyxRQUFDLEFBQU0sT0FBQyxBQUFNLE9BQUMsQUFBSSxBQUFDLEFBQUM7QUFDaEQsQUFBTSxBQUFDLGVBQUMsQUFBTSxPQUFDLEFBQUksQUFBQyxRQUFHLElBQUksQUFBYSxjQUFDLEFBQUksTUFBRSxBQUFJLEFBQUMsQUFBQyxBQUFDLEFBQ3hEO0FBQUM7QUFFRCxBQUFRLGFBQUksQUFBWTtBQUN0QixZQUFJLEFBQU0sU0FBRyxBQUFJLEtBQUMsQUFBTSxBQUFDO0FBQ3pCLEFBQUUsQUFBQyxZQUFTLEFBQUksUUFBSSxBQUFNLEFBQUMsUUFBQyxBQUFNLE9BQUMsQUFBTSxPQUFDLEFBQUksQUFBQyxBQUFDO0FBQ2hELEFBQU0sZUFBQyxBQUFJLEFBQUMsQUFDZDtBQUFDO0FBRUQsQUFBSSxTQUFDLEFBQWM7QUFDakIsQUFBTSxlQUFDLEFBQU0sT0FBQyxBQUFLLE1BQUMsQUFBRyxBQUFDLEtBQUMsQUFBTSxPQUFDLENBQUMsQUFBRyxLQUFFLEFBQUksU0FBSyxBQUFHLElBQUMsQUFBRyxJQUFDLEFBQUksQUFBQyxPQUFFLEFBQThCLEFBQUMsQUFBQyxBQUNoRztBQUFDO0FBRUQsQUFBa0IsdUJBQUMsQUFBZTtBQUNoQyxBQUFNLGVBQUMsQUFBSyxNQUFDLEFBQU0sT0FBQyxDQUFDLEFBQUcsS0FBRSxBQUFJLFNBQUssQUFBRyxJQUFDLEFBQUcsSUFBQyxBQUFJLEFBQTJCLE9BQUUsQUFBOEIsQUFBQyxBQUFDLEFBQzlHO0FBQUM7QUFFRCxBQUFLO0FBQ0gsQUFBTSxlQUFDLEFBQWtCLEFBQUMsQUFDNUI7QUFBQyxBQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3BhcXVlLCBkaWN0IH0gZnJvbSAnQGdsaW1tZXIvdXRpbCc7XG5pbXBvcnQgeyBQYXRoUmVmZXJlbmNlIH0gZnJvbSAnLi9wYXRoJztcbmltcG9ydCB7IFJvb3RSZWZlcmVuY2UgYXMgSVJvb3RSZWZlcmVuY2UgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBWT0xBVElMRV9UQUcsIFBhdGhSZWZlcmVuY2UgYXMgSVBhdGhSZWZlcmVuY2UsIFRhZyB9IGZyb20gJ0BnbGltbWVyL3JlZmVyZW5jZSc7XG5pbXBvcnQgeyBPcHRpb24gfSBmcm9tIFwiQGdsaW1tZXIvaW50ZXJmYWNlc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSb290UmVmZXJlbmNlPFQ+IGltcGxlbWVudHMgSVJvb3RSZWZlcmVuY2U8VD4sIElQYXRoUmVmZXJlbmNlPFQ+IHtcbiAgcHJpdmF0ZSBvYmplY3Q6IFQ7XG4gIHByaXZhdGUgY2hhaW5zID0gZGljdDxQYXRoUmVmZXJlbmNlPGFueT4+KCk7XG4gIHB1YmxpYyB0YWc6IFRhZyA9IFZPTEFUSUxFX1RBRztcblxuICBjb25zdHJ1Y3RvcihvYmplY3Q6IFQpIHtcbiAgICB0aGlzLm9iamVjdCA9IG9iamVjdDtcbiAgfVxuXG4gIHZhbHVlKCk6IFQgeyByZXR1cm4gdGhpcy5vYmplY3Q7IH1cblxuICB1cGRhdGUob2JqZWN0OiBUKSB7XG4gICAgdGhpcy5vYmplY3QgPSBvYmplY3Q7XG4gICAgLy8gdGhpcy5ub3RpZnkoKTtcbiAgfVxuXG4gIGdldDxVPihwcm9wOiBzdHJpbmcpOiBJUGF0aFJlZmVyZW5jZTxVPiB7XG4gICAgbGV0IGNoYWlucyA9IHRoaXMuY2hhaW5zO1xuICAgIGlmICg8c3RyaW5nPnByb3AgaW4gY2hhaW5zKSByZXR1cm4gY2hhaW5zW3Byb3BdO1xuICAgIHJldHVybiAoY2hhaW5zW3Byb3BdID0gbmV3IFBhdGhSZWZlcmVuY2UodGhpcywgcHJvcCkpO1xuICB9XG5cbiAgY2hhaW5Gb3I8VT4ocHJvcDogc3RyaW5nKTogT3B0aW9uPElQYXRoUmVmZXJlbmNlPFU+PiB7XG4gICAgbGV0IGNoYWlucyA9IHRoaXMuY2hhaW5zO1xuICAgIGlmICg8c3RyaW5nPnByb3AgaW4gY2hhaW5zKSByZXR1cm4gY2hhaW5zW3Byb3BdO1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcGF0aChzdHJpbmc6IHN0cmluZyk6IElQYXRoUmVmZXJlbmNlPE9wYXF1ZT4ge1xuICAgIHJldHVybiBzdHJpbmcuc3BsaXQoJy4nKS5yZWR1Y2UoKHJlZiwgcGFydCkgPT4gcmVmLmdldChwYXJ0KSwgdGhpcyBhcyBJUGF0aFJlZmVyZW5jZTxPcGFxdWU+KTtcbiAgfVxuXG4gIHJlZmVyZW5jZUZyb21QYXJ0cyhwYXJ0czogc3RyaW5nW10pOiBJUGF0aFJlZmVyZW5jZTxPcGFxdWU+IHtcbiAgICByZXR1cm4gcGFydHMucmVkdWNlKChyZWYsIHBhcnQpID0+IHJlZi5nZXQocGFydCkgYXMgSVBhdGhSZWZlcmVuY2U8T3BhcXVlPiwgdGhpcyBhcyBJUGF0aFJlZmVyZW5jZTxPcGFxdWU+KTtcbiAgfVxuXG4gIGxhYmVsKCkge1xuICAgIHJldHVybiAnW3JlZmVyZW5jZSBSb290XSc7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL29iamVjdC1yZWZlcmVuY2UvbGliL3JlZmVyZW5jZXMvcm9vdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxBQUFPLFNBQWtCLEFBQUksQUFBRSxZQUFNLEFBQWUsQUFBQztBQUNyRCxBQUFPLFNBQUUsQUFBYSxBQUFFLHFCQUFNLEFBQVEsQUFBQztBQUV2QyxBQUFPLFNBQUUsQUFBWSxBQUF3QyxvQkFBTSxBQUFvQixBQUFDO0FBRXhGLEFBQU0sQUFBQyxBQUFPO0FBS1osZ0JBQVksQUFBUztBQUhiLGFBQU0sU0FBRyxBQUFJLEFBQXNCLEFBQUM7QUFDckMsYUFBRyxNQUFRLEFBQVksQUFBQztBQUc3QixBQUFJLGFBQUMsQUFBTSxTQUFHLEFBQU0sQUFBQyxBQUN2QjtBQUFDO0FBRUQsQUFBSztBQUFRLEFBQU0sZUFBQyxBQUFJLEtBQUMsQUFBTSxBQUFDLEFBQUM7QUFBQztBQUVsQyxBQUFNLFdBQUMsQUFBUztBQUNkLEFBQUksYUFBQyxBQUFNLFNBQUcsQUFBTSxBQUFDO0FBQ3JCLEFBQWlCLEFBQ25CO0FBQUM7QUFFRCxBQUFHLFFBQUksQUFBWTtBQUNqQixZQUFJLEFBQU0sU0FBRyxBQUFJLEtBQUMsQUFBTSxBQUFDO0FBQ3pCLEFBQUUsQUFBQyxZQUFTLEFBQUksUUFBSSxBQUFNLEFBQUMsUUFBQyxBQUFNLE9BQUMsQUFBTSxPQUFDLEFBQUksQUFBQyxBQUFDO0FBQ2hELEFBQU0sQUFBQyxlQUFDLEFBQU0sT0FBQyxBQUFJLEFBQUMsUUFBRyxJQUFJLEFBQWEsY0FBQyxBQUFJLE1BQUUsQUFBSSxBQUFDLEFBQUMsQUFBQyxBQUN4RDtBQUFDO0FBRUQsQUFBUSxhQUFJLEFBQVk7QUFDdEIsWUFBSSxBQUFNLFNBQUcsQUFBSSxLQUFDLEFBQU0sQUFBQztBQUN6QixBQUFFLEFBQUMsWUFBUyxBQUFJLFFBQUksQUFBTSxBQUFDLFFBQUMsQUFBTSxPQUFDLEFBQU0sT0FBQyxBQUFJLEFBQUMsQUFBQztBQUNoRCxBQUFNLGVBQUMsQUFBSSxBQUFDLEFBQ2Q7QUFBQztBQUVELEFBQUksU0FBQyxBQUFjO0FBQ2pCLEFBQU0sZUFBQyxBQUFNLE9BQUMsQUFBSyxNQUFDLEFBQUcsQUFBQyxLQUFDLEFBQU0sT0FBQyxDQUFDLEFBQUcsS0FBRSxBQUFJLFNBQUssQUFBRyxJQUFDLEFBQUcsSUFBQyxBQUFJLEFBQUMsT0FBRSxBQUE4QixBQUFDLEFBQUMsQUFDaEc7QUFBQztBQUVELEFBQWtCLHVCQUFDLEFBQWU7QUFDaEMsQUFBTSxlQUFDLEFBQUssTUFBQyxBQUFNLE9BQUMsQ0FBQyxBQUFHLEtBQUUsQUFBSSxTQUFLLEFBQUcsSUFBQyxBQUFHLElBQUMsQUFBSSxBQUEyQixPQUFFLEFBQThCLEFBQUMsQUFBQyxBQUM5RztBQUFDO0FBRUQsQUFBSztBQUNILEFBQU0sZUFBQyxBQUFrQixBQUFDLEFBQzVCO0FBQUMsQUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9wdGlvbiwgT3BhcXVlLCBkaWN0IH0gZnJvbSAnQGdsaW1tZXIvdXRpbCc7XG5pbXBvcnQgeyBQYXRoUmVmZXJlbmNlIH0gZnJvbSAnLi9wYXRoJztcbmltcG9ydCB7IFJvb3RSZWZlcmVuY2UgYXMgSVJvb3RSZWZlcmVuY2UgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBWT0xBVElMRV9UQUcsIFBhdGhSZWZlcmVuY2UgYXMgSVBhdGhSZWZlcmVuY2UsIFRhZyB9IGZyb20gJ0BnbGltbWVyL3JlZmVyZW5jZSc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJvb3RSZWZlcmVuY2U8VD4gaW1wbGVtZW50cyBJUm9vdFJlZmVyZW5jZTxUPiwgSVBhdGhSZWZlcmVuY2U8VD4ge1xuICBwcml2YXRlIG9iamVjdDogVDtcbiAgcHJpdmF0ZSBjaGFpbnMgPSBkaWN0PFBhdGhSZWZlcmVuY2U8YW55Pj4oKTtcbiAgcHVibGljIHRhZzogVGFnID0gVk9MQVRJTEVfVEFHO1xuXG4gIGNvbnN0cnVjdG9yKG9iamVjdDogVCkge1xuICAgIHRoaXMub2JqZWN0ID0gb2JqZWN0O1xuICB9XG5cbiAgdmFsdWUoKTogVCB7IHJldHVybiB0aGlzLm9iamVjdDsgfVxuXG4gIHVwZGF0ZShvYmplY3Q6IFQpIHtcbiAgICB0aGlzLm9iamVjdCA9IG9iamVjdDtcbiAgICAvLyB0aGlzLm5vdGlmeSgpO1xuICB9XG5cbiAgZ2V0PFU+KHByb3A6IHN0cmluZyk6IElQYXRoUmVmZXJlbmNlPFU+IHtcbiAgICBsZXQgY2hhaW5zID0gdGhpcy5jaGFpbnM7XG4gICAgaWYgKDxzdHJpbmc+cHJvcCBpbiBjaGFpbnMpIHJldHVybiBjaGFpbnNbcHJvcF07XG4gICAgcmV0dXJuIChjaGFpbnNbcHJvcF0gPSBuZXcgUGF0aFJlZmVyZW5jZSh0aGlzLCBwcm9wKSk7XG4gIH1cblxuICBjaGFpbkZvcjxVPihwcm9wOiBzdHJpbmcpOiBPcHRpb248SVBhdGhSZWZlcmVuY2U8VT4+IHtcbiAgICBsZXQgY2hhaW5zID0gdGhpcy5jaGFpbnM7XG4gICAgaWYgKDxzdHJpbmc+cHJvcCBpbiBjaGFpbnMpIHJldHVybiBjaGFpbnNbcHJvcF07XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwYXRoKHN0cmluZzogc3RyaW5nKTogSVBhdGhSZWZlcmVuY2U8T3BhcXVlPiB7XG4gICAgcmV0dXJuIHN0cmluZy5zcGxpdCgnLicpLnJlZHVjZSgocmVmLCBwYXJ0KSA9PiByZWYuZ2V0KHBhcnQpLCB0aGlzIGFzIElQYXRoUmVmZXJlbmNlPE9wYXF1ZT4pO1xuICB9XG5cbiAgcmVmZXJlbmNlRnJvbVBhcnRzKHBhcnRzOiBzdHJpbmdbXSk6IElQYXRoUmVmZXJlbmNlPE9wYXF1ZT4ge1xuICAgIHJldHVybiBwYXJ0cy5yZWR1Y2UoKHJlZiwgcGFydCkgPT4gcmVmLmdldChwYXJ0KSBhcyBJUGF0aFJlZmVyZW5jZTxPcGFxdWU+LCB0aGlzIGFzIElQYXRoUmVmZXJlbmNlPE9wYXF1ZT4pO1xuICB9XG5cbiAgbGFiZWwoKSB7XG4gICAgcmV0dXJuICdbcmVmZXJlbmNlIFJvb3RdJztcbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9AZ2xpbW1lci9vYmplY3QtcmVmZXJlbmNlL2xpYi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3BhcXVlLCBEaWN0LCBTZXQgfSBmcm9tICdAZ2xpbW1lci91dGlsJztcbmltcG9ydCB7IFJlZmVyZW5jZSwgUGF0aFJlZmVyZW5jZSB9IGZyb20gJ0BnbGltbWVyL3JlZmVyZW5jZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm90aWZpYWJsZVJlZmVyZW5jZTxUPiBleHRlbmRzIFJlZmVyZW5jZTxUPiB7XG4gIC8vIG5vdGlmeSgpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYWluYWJsZVJlZmVyZW5jZTxUPiBleHRlbmRzIFJlZmVyZW5jZTxUPiB7XG4gIC8vIGNoYWluKGNoaWxkOiBSZWZlcmVuY2UpOiBEZXN0cm95YWJsZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXRoUmVmZXJlbmNlRmFjdG9yeTxUPiB7XG4gIG5ldyAob2JqZWN0OiBhbnksIHByb3BlcnR5OiBzdHJpbmcpOiBQYXRoUmVmZXJlbmNlPFQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJvb3RSZWZlcmVuY2VGYWN0b3J5PFQ+IHtcbiAgbmV3IChvYmplY3Q6IFQpOiBSb290UmVmZXJlbmNlPFQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJvb3RSZWZlcmVuY2U8VD4gZXh0ZW5kcyBQYXRoUmVmZXJlbmNlPFQ+IHtcbiAgdXBkYXRlKHZhbHVlOiBUKTogdm9pZDtcbiAgcmVmZXJlbmNlRnJvbVBhcnRzKHBhcnRzOiBzdHJpbmdbXSk6IFBhdGhSZWZlcmVuY2U8T3BhcXVlPjtcbiAgY2hhaW5Gb3IocHJvcDogc3RyaW5nKTogT3B0aW9uPFBhdGhSZWZlcmVuY2U8VD4+O1xufVxuXG5pbXBvcnQgeyBJbm5lclJlZmVyZW5jZUZhY3RvcnkgfSBmcm9tICcuL3JlZmVyZW5jZXMvZGVzY3JpcHRvcnMnO1xuaW1wb3J0IHsgT3B0aW9uIH0gZnJvbSBcIkBnbGltbWVyL2ludGVyZmFjZXNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBNZXRhT3B0aW9ucyB7XG4gIFJvb3RSZWZlcmVuY2VGYWN0b3J5PzogUm9vdFJlZmVyZW5jZUZhY3Rvcnk8YW55PjtcbiAgRGVmYXVsdFBhdGhSZWZlcmVuY2VGYWN0b3J5PzogSW5uZXJSZWZlcmVuY2VGYWN0b3J5PGFueT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWV0YSB7XG4gIHJvb3QoKTogUm9vdFJlZmVyZW5jZTxhbnk+O1xuICByZWZlcmVuY2VzRm9yKHByb3BlcnR5OiBzdHJpbmcpOiBPcHRpb248U2V0PFBhdGhSZWZlcmVuY2U8YW55Pj4+O1xuICByZWZlcmVuY2VUeXBlRm9yKHByb3BlcnR5OiBzdHJpbmcpOiBJbm5lclJlZmVyZW5jZUZhY3Rvcnk8YW55PjtcbiAgZ2V0UmVmZXJlbmNlVHlwZXMoKTogRGljdDxJbm5lclJlZmVyZW5jZUZhY3Rvcnk8YW55Pj47XG4gIGFkZFJlZmVyZW5jZShwcm9wZXJ0eTogc3RyaW5nLCByZWZlcmVuY2U6IFBhdGhSZWZlcmVuY2U8YW55Pik6IHZvaWQ7XG4gIHJlbW92ZVJlZmVyZW5jZShwcm9wZXJ0eTogc3RyaW5nLCByZWZlcmVuY2U6IFBhdGhSZWZlcmVuY2U8YW55Pik6IHZvaWQ7XG4gIGdldFNsb3RzKCk6IERpY3Q8YW55Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXRhTG9va3VwIHtcbiAgZm9yKG9iajogYW55KTogTWV0YTtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9AZ2xpbW1lci9vYmplY3QtcmVmZXJlbmNlL2xpYi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3B0aW9uLCBPcGFxdWUsIERpY3QsIFNldCB9IGZyb20gJ0BnbGltbWVyL3V0aWwnO1xuaW1wb3J0IHsgUmVmZXJlbmNlLCBQYXRoUmVmZXJlbmNlIH0gZnJvbSAnQGdsaW1tZXIvcmVmZXJlbmNlJztcbmltcG9ydCB7IElubmVyUmVmZXJlbmNlRmFjdG9yeSB9IGZyb20gJy4vcmVmZXJlbmNlcy9kZXNjcmlwdG9ycyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm90aWZpYWJsZVJlZmVyZW5jZTxUPiBleHRlbmRzIFJlZmVyZW5jZTxUPiB7XG4gIC8vIG5vdGlmeSgpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYWluYWJsZVJlZmVyZW5jZTxUPiBleHRlbmRzIFJlZmVyZW5jZTxUPiB7XG4gIC8vIGNoYWluKGNoaWxkOiBSZWZlcmVuY2UpOiBEZXN0cm95YWJsZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXRoUmVmZXJlbmNlRmFjdG9yeTxUPiB7XG4gIG5ldyAob2JqZWN0OiBhbnksIHByb3BlcnR5OiBzdHJpbmcpOiBQYXRoUmVmZXJlbmNlPFQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJvb3RSZWZlcmVuY2VGYWN0b3J5PFQ+IHtcbiAgbmV3IChvYmplY3Q6IFQpOiBSb290UmVmZXJlbmNlPFQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJvb3RSZWZlcmVuY2U8VD4gZXh0ZW5kcyBQYXRoUmVmZXJlbmNlPFQ+IHtcbiAgdXBkYXRlKHZhbHVlOiBUKTogdm9pZDtcbiAgcmVmZXJlbmNlRnJvbVBhcnRzKHBhcnRzOiBzdHJpbmdbXSk6IFBhdGhSZWZlcmVuY2U8T3BhcXVlPjtcbiAgY2hhaW5Gb3IocHJvcDogc3RyaW5nKTogT3B0aW9uPFBhdGhSZWZlcmVuY2U8VD4+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFPcHRpb25zIHtcbiAgUm9vdFJlZmVyZW5jZUZhY3Rvcnk/OiBSb290UmVmZXJlbmNlRmFjdG9yeTxhbnk+O1xuICBEZWZhdWx0UGF0aFJlZmVyZW5jZUZhY3Rvcnk/OiBJbm5lclJlZmVyZW5jZUZhY3Rvcnk8YW55Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXRhIHtcbiAgcm9vdCgpOiBSb290UmVmZXJlbmNlPGFueT47XG4gIHJlZmVyZW5jZXNGb3IocHJvcGVydHk6IHN0cmluZyk6IE9wdGlvbjxTZXQ8UGF0aFJlZmVyZW5jZTxhbnk+Pj47XG4gIHJlZmVyZW5jZVR5cGVGb3IocHJvcGVydHk6IHN0cmluZyk6IElubmVyUmVmZXJlbmNlRmFjdG9yeTxhbnk+O1xuICBnZXRSZWZlcmVuY2VUeXBlcygpOiBEaWN0PElubmVyUmVmZXJlbmNlRmFjdG9yeTxhbnk+PjtcbiAgYWRkUmVmZXJlbmNlKHByb3BlcnR5OiBzdHJpbmcsIHJlZmVyZW5jZTogUGF0aFJlZmVyZW5jZTxhbnk+KTogdm9pZDtcbiAgcmVtb3ZlUmVmZXJlbmNlKHByb3BlcnR5OiBzdHJpbmcsIHJlZmVyZW5jZTogUGF0aFJlZmVyZW5jZTxhbnk+KTogdm9pZDtcbiAgZ2V0U2xvdHMoKTogRGljdDxhbnk+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFMb29rdXAge1xuICBmb3Iob2JqOiBhbnkpOiBNZXRhO1xufVxuIl19

@@ -175,2 +175,2 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL29iamVjdC1yZWZlcmVuY2UvbGliL21ldGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxBQUFPLFNBQUUsQUFBaUIsQUFBRSx5QkFBTSxBQUEwQixBQUFDO0FBQzdELE9BQU8sQUFBYSxtQkFBTSxBQUFtQixBQUFDO0FBRzlDLEFBQU8sU0FBUSxBQUFPLFNBQWdCLEFBQUksQUFBRSxZQUFNLEFBQWUsQUFBQztBQVNsRSxBQUFPLFNBQW1DLEFBQVksQUFBRSxvQkFBTSxBQUFvQixBQUFDO0FBS25GLElBQU0sQUFBWTtBQUFLLEFBQU8sZ0NBQUksQUFBQyxBQUFFLEFBQUMsQ0FFdEM7QUFGcUI7O0lBT25CO3VCQUFZLEFBQVcsUUFBRSxBQUFpQjtBQUZuQzs7YUFBRyxNQUFHLEFBQVksQUFBQyxBQUd4QixBQUFJO2FBQUMsQUFBTSxTQUFHLEFBQU0sQUFBQyxBQUN2QixBQUFDO0FBRUQsQUFBSzs7aURBQUssQUFBTTtlQUFDLEFBQVksQUFBQyxBQUFDLEFBQUM7QUFDaEMsQUFBTTs7bURBQUksQUFBQyxDQUVYLEFBQUs7O2lEQUNILEFBQU07ZUFBQyxBQUFJLEtBQUMsQUFBTSxPQUFDLEFBQUksS0FBQyxBQUFRLEFBQUMsQUFBQyxBQUNwQyxBQUFDO0FBRUQsQUFBRzs7MkNBQUMsQUFBWSxNQUNkLEFBQU07ZUFBQyxJQUFJLEFBQVMsVUFBQyxBQUFJLEtBQUMsQUFBTSxPQUFDLEFBQUksS0FBQyxBQUFRLEFBQUMsV0FBRSxBQUFJLEFBQUMsQUFBQyxBQUN6RCxBQUFDLEFBQ0Y7QUFFRDs7Ozs7SUFJRTt1QkFBWSxBQUFVO0FBRmY7O2FBQUcsTUFBRyxBQUFZLEFBQUMsQUFHeEIsQUFBSTthQUFDLEFBQUssUUFBRyxBQUFLLEFBQUMsQUFDckIsQUFBQztBQUVELEFBQU07O2lEQUFDLEFBQVUsT0FDZixBQUFJO2FBQUMsQUFBSyxR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SSxLQUFDLEFBQVUsV0FBQyxBQUFRLEFBQUMsQUFBQyxBQUNwQyxBQUFHO1lBQUMsQUFBTSxPQUFDLEFBQVMsQUFBQyxBQUFDLEFBQ3hCLEFBQUM7QUFFRCxBQUFpQjs7b0VBQ2YsQUFBSTthQUFDLEFBQWMsaUJBQUcsQUFBSSxLQUFDLEFBQWMsa0JBQUksQUFBSSxBQUE2QixBQUFDLEFBQy9FLEFBQU07ZUFBQyxBQUFJLEtBQUMsQUFBYyxBQUFDLEFBQzdCLEFBQUM7QUFFRCxBQUFhOzswREFBQyxBQUFnQixVQUM1QixBQUFFLEFBQUM7WUFBQyxDQUFDLEFBQUksS0FBQyxBQUFVLEFBQUMsWUFBQyxBQUFNLE9BQUMsQUFBSSxBQUFDLEFBQ2xDLEFBQU07ZUFBQyxBQUFJLEtBQUMsQUFBVSxXQUFDLEFBQVEsQUFBQyxBQUFDLEFBQ25DLEFBQUM7QUFFRCxBQUFROztrREFDTixBQUFNLEFBQUM7ZUFBQyxBQUFJLEtBQUMsQUFBSyxRQUFHLEFBQUksS0FBQyxBQUFLLFNBQUksQUFBSSxBQUFFLEFBQUMsQUFBQyxBQUM3QyxBQUFDO0FBRUQsQUFBSTs7MENBQ0YsQUFBTSxBQUFDO2VBQUMsQUFBSSxLQUFDLEFBQVMsWUFBRyxBQUFJLEtBQUMsQUFBUyxhQUFJLElBQUksQUFBSSxLQUFDLEFBQW9CLHFCQUFDLEFBQUksS0FBQyxBQUFNLEFBQUMsQUFBQyxBQUFDLEFBQ3pGLEFBQUMsQUFDRjs7Ozs7O0FBRUQsZUFBZSxBQUFJLEFBQUM7QUFNcEIsQUFBTSx3QkFBa0IsQUFBUSxLQUM5QixBQUFNO1dBQUMsQUFBSSxLQUFDLEFBQUcsSUFBQyxBQUFHLEFBQUMsQUFBQyxBQUN2QixBQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvcGVydHlSZWZlcmVuY2UgfSBmcm9tICcuL3JlZmVyZW5jZXMvZGVzY3JpcHRvcnMnO1xuaW1wb3J0IFJvb3RSZWZlcmVuY2UgZnJvbSAnLi9yZWZlcmVuY2VzL3Jvb3QnO1xuaW1wb3J0IHsgTWV0YU9wdGlvbnMgfSBmcm9tICcuL3R5cGVzJztcblxuaW1wb3J0IHsgRGljdCwgRGljdFNldCwgSGFzR3VpZCwgU2V0LCBkaWN0IH0gZnJvbSAnQGdsaW1tZXIvdXRpbCc7XG5cbmltcG9ydCB7XG4gIFJvb3RSZWZlcmVuY2VGYWN0b3J5LFxuICBQYXRoUmVmZXJlbmNlRmFjdG9yeSxcbiAgTWV0YSBhcyBJTWV0YSxcbiAgUm9vdFJlZmVyZW5jZSBhcyBJUm9vdFJlZmVyZW5jZVxufSBmcm9tICcuL3R5cGVzJztcblxuaW1wb3J0IHsgUGF0aFJlZmVyZW5jZSBhcyBJUGF0aFJlZmVyZW5jZSwgVk9MQVRJTEVfVEFHIH0gZnJvbSAnQGdsaW1tZXIvcmVmZXJlbmNlJztcblxuaW1wb3J0IHsgSW5uZXJSZWZlcmVuY2VGYWN0b3J5IH0gZnJvbSAnLi9yZWZlcmVuY2VzL2Rlc2NyaXB0b3JzJztcbmltcG9ydCB7IE9wdGlvbiB9IGZyb20gXCJAZ2xpbW1lci9pbnRlcmZhY2VzXCI7XG5cbmNvbnN0IE5PT1BfREVTVFJPWSA9IHsgZGVzdHJveSgpIHt9IH07XG5cbmNsYXNzIENvbnN0UGF0aCBpbXBsZW1lbnRzIElQYXRoUmVmZXJlbmNlPGFueT4ge1xuICBwcml2YXRlIHBhcmVudDogYW55O1xuICBwcml2YXRlIHByb3BlcnR5OiBzdHJpbmc7XG4gIHB1YmxpYyB0YWcgPSBWT0xBVElMRV9UQUc7XG5cbiAgY29uc3RydWN0b3IocGFyZW50OiBhbnksIF9wcm9wZXJ0eTogc3RyaW5nKSB7XG4gICAgdGhpcy5wYXJlbnQgPSBwYXJlbnQ7XG4gIH1cblxuICBjaGFpbigpIHsgcmV0dXJuIE5PT1BfREVTVFJPWTsgfVxuICBub3RpZnkoKSB7fVxuXG4gIHZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLnBhcmVudFt0aGlzLnByb3BlcnR5XTtcbiAgfVxuXG4gIGdldChwcm9wOiBzdHJpbmcpOiBJUGF0aFJlZmVyZW5jZTxhbnk+IHtcbiAgICByZXR1cm4gbmV3IENvbnN0UGF0aCh0aGlzLnBhcmVudFt0aGlzLnByb3BlcnR5XSwgcHJvcCk7XG4gIH1cbn1cblxuY2xhc3MgQ29uc3RSb290IGltcGxlbWVudHMgSVJvb3RSZWZlcmVuY2U8YW55PiB7XG4gIHByaXZhdGUgaW5uZXI6IGFueTtcbiAgcHVibGljIHRhZyA9IFZPTEFUSUxFX1RBRztcblxuICBjb25zdHJ1Y3Rvcih2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5pbm5lciA9IHZhbHVlO1xuICB9XG5cbiAgdXBkYXRlKGlubmVyOiBhbnkpIHtcbiAgICB0aGlzLmlubmVyID0gaW5uZXI7XG4gIH1cblxuICBjaGFpbigpIHsgcmV0dXJuIE5PT1BfREVTVFJPWTsgfVxuICBub3RpZnkoKSB7fVxuXG4gIHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuaW5uZXI7XG4gIH1cblxuICByZWZlcmVuY2VGcm9tUGFydHMoX3BhcnRzOiBzdHJpbmdbXSk6IElQYXRoUmVmZXJlbmNlPGFueT4ge1xuICAgIHRocm93IG5ldyBFcnJvcihcIk5vdCBpbXBsZW1lbnRlZFwiKTtcbiAgfVxuXG4gIGNoYWluRm9yKF9wcm9wOiBzdHJpbmcpOiBJUGF0aFJlZmVyZW5jZTxhbnk+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJOb3QgaW1wbGVtZW50ZWRcIik7XG4gIH1cblxuICBnZXQocHJvcDogc3RyaW5nKTogSVBhdGhSZWZlcmVuY2U8YW55PiB7XG4gICAgcmV0dXJuIG5ldyBDb25zdFBhdGgodGhpcy5pbm5lciwgcHJvcCk7XG4gIH1cbn1cblxuY2xhc3MgQ29uc3RNZXRhIC8qaW1wbGVtZW50cyBJTWV0YSovIHtcbiAgcHJpdmF0ZSBvYmplY3Q6IGFueTtcblxuICBjb25zdHJ1Y3RvcihvYmplY3Q6IGFueSkge1xuICAgIHRoaXMub2JqZWN0ID0gb2JqZWN0O1xuICB9XG5cbiAgcm9vdCgpOiBDb25zdFJvb3Qge1xuICAgIHJldHVybiBuZXcgQ29uc3RSb290KHRoaXMub2JqZWN0KTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgQ0xBU1NfTUVUQSA9IFwiZGY4YmU0YzgtNGU4OS00NGUyLWE4ZjktNTUwYzhkYWNkY2E3XCI7XG5cbmNvbnN0IGhhc093blByb3BlcnR5ID0gT2JqZWN0Lmhhc093blByb3BlcnR5O1xuXG5jbGFzcyBNZXRhIGltcGxlbWVudHMgSU1ldGEsIEhhc0d1aWQge1xuICBzdGF0aWMgZm9yKG9iajogYW55KTogSU1ldGEge1xuICAgIGlmIChvYmogPT09IG51bGwgfHwgb2JqID09PSB1bmRlZmluZWQpIHJldHVybiBuZXcgTWV0YShvYmosIHt9KTtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChvYmosICdfbWV0YScpICYmIG9iai5fbWV0YSkgcmV0dXJuIG9iai5fbWV0YTtcbiAgICBpZiAoIU9iamVjdC5pc0V4dGVuc2libGUob2JqKSkgcmV0dXJuIDxhbnk+bmV3IENvbnN0TWV0YShvYmopO1xuXG4gICAgbGV0IE1ldGFUb1VzZTogdHlwZW9mIE1ldGEgPSBNZXRhO1xuXG4gICAgaWYgKG9iai5jb25zdHJ1Y3RvciAmJiBvYmouY29uc3RydWN0b3JbQ0xBU1NfTUVUQV0pIHtcbiAgICAgIGxldCBjbGFzc01ldGE6IENsYXNzTWV0YSA9IG9iai5jb25zdHJ1Y3RvcltDTEFTU19NRVRBXTtcbiAgICAgIE1ldGFUb1VzZSA9IGNsYXNzTWV0YS5JbnN0YW5jZU1ldGFDb25zdHJ1Y3RvcjtcbiAgICB9IGVsc2UgaWYgKG9ialtDTEFTU19NRVRBXSkge1xuICAgICAgTWV0YVRvVXNlID0gb2JqW0NMQVNTX01FVEFdLkluc3RhbmNlTWV0YUNvbnN0cnVjdG9yO1xuICAgIH1cblxuICAgIHJldHVybiAob2JqLl9tZXRhID0gbmV3IE1ldGFUb1VzZShvYmosIHt9KSk7XG4gIH1cblxuICBzdGF0aWMgZXhpc3RzKG9iajogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHR5cGVvZiBvYmogPT09ICdvYmplY3QnICYmIG9iai5fbWV0YTtcbiAgfVxuXG4gIHN0YXRpYyBtZXRhZGF0YUZvclByb3BlcnR5KF9rZXk6IHN0cmluZyk6IGFueSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIG9iamVjdDogYW55O1xuICBwcml2YXRlIFJvb3RSZWZlcmVuY2VGYWN0b3J5OiBSb290UmVmZXJlbmNlRmFjdG9yeTxhbnk+O1xuICBwcml2YXRlIERlZmF1bHRQYXRoUmVmZXJlbmNlRmFjdG9yeTogSW5uZXJSZWZlcmVuY2VGYWN0b3J5PGFueT47XG4gIHByaXZhdGUgcm9vdENhY2hlOiBJUm9vdFJlZmVyZW5jZTxhbnk+O1xuICBwcml2YXRlIHJlZmVyZW5jZXM6IE9wdGlvbjxEaWN0PERpY3RTZXQ8SVBhdGhSZWZlcmVuY2U8YW55PiAmIEhhc0d1aWQ+Pj4gPSBudWxsO1xuICBwdWJsaWMgX2d1aWQ6IG51bWJlcjtcbiAgcHJvdGVjdGVkIHNsb3RzOiBPcHRpb248RGljdDxhbnk+PiA9IG51bGw7XG4gIHByb3RlY3RlZCByZWZlcmVuY2VUeXBlczogT3B0aW9uPERpY3Q8SW5uZXJSZWZlcmVuY2VGYWN0b3J5PGFueT4+PiA9IG51bGw7XG4gIHByb3RlY3RlZCBwcm9wZXJ0eU1ldGFkYXRhOiBPcHRpb248RGljdDxhbnk+PiA9IG51bGw7XG5cbiAgY29uc3RydWN0b3Iob2JqZWN0OiBhbnksIHsgUm9vdFJlZmVyZW5jZUZhY3RvcnksIERlZmF1bHRQYXRoUmVmZXJlbmNlRmFjdG9yeSB9OiBNZXRhT3B0aW9ucykge1xuICAgIHRoaXMub2JqZWN0ID0gb2JqZWN0O1xuICAgIHRoaXMuUm9vdFJlZmVyZW5jZUZhY3RvcnkgPSAoUm9vdFJlZmVyZW5jZUZhY3RvcnkgfHwgUm9vdFJlZmVyZW5jZSkgYXMgUm9vdFJlZmVyZW5jZUZhY3Rvcnk8YW55PjtcbiAgICB0aGlzLkRlZmF1bHRQYXRoUmVmZXJlbmNlRmFjdG9yeSA9IERlZmF1bHRQYXRoUmVmZXJlbmNlRmFjdG9yeSB8fCBQcm9wZXJ0eVJlZmVyZW5jZTtcbiAgfVxuXG4gIGFkZFJlZmVyZW5jZShwcm9wZXJ0eTogc3RyaW5nLCByZWZlcmVuY2U6IElQYXRoUmVmZXJlbmNlPGFueT4gJiBIYXNHdWlkKSB7XG4gICAgbGV0IHJlZnMgPSB0aGlzLnJlZmVyZW5jZXMgPSB0aGlzLnJlZmVyZW5jZXMgfHwgZGljdDxEaWN0U2V0PElQYXRoUmVmZXJlbmNlPGFueT4gJiBIYXNHdWlkPj4oKTtcbiAgICBsZXQgc2V0ID0gcmVmc1twcm9wZXJ0eV0gPSByZWZzW3Byb3BlcnR5XSB8fCBuZXcgRGljdFNldDxJUGF0aFJlZmVyZW5jZTxhbnk+ICYgSGFzR3VpZD4oKTtcbiAgICBzZXQuYWRkKHJlZmVyZW5jZSk7XG4gIH1cblxuICBhZGRSZWZlcmVuY2VUeXBlRm9yKHByb3BlcnR5OiBzdHJpbmcsIHR5cGU6IFBhdGhSZWZlcmVuY2VGYWN0b3J5PGFueT4pIHtcbiAgICB0aGlzLnJlZmVyZW5jZVR5cGVzID0gdGhpcy5yZWZlcmVuY2VUeXBlcyB8fCBkaWN0PFBhdGhSZWZlcmVuY2VGYWN0b3J5PGFueT4+KCk7XG4gICAgdGhpcy5yZWZlcmVuY2VUeXBlc1twcm9wZXJ0eV0gPSB0eXBlO1xuICB9XG5cbiAgcmVmZXJlbmNlVHlwZUZvcihwcm9wZXJ0eTogc3RyaW5nKTogSW5uZXJSZWZlcmVuY2VGYWN0b3J5PGFueT4ge1xuICAgIGlmICghdGhpcy5yZWZlcmVuY2VUeXBlcykgcmV0dXJuIFByb3BlcnR5UmVmZXJlbmNlO1xuICAgIHJldHVybiB0aGlzLnJlZmVyZW5jZVR5cGVzW3Byb3BlcnR5XSB8fCBQcm9wZXJ0eVJlZmVyZW5jZTtcbiAgfVxuXG4gIHJlbW92ZVJlZmVyZW5jZShwcm9wZXJ0eTogc3RyaW5nLCByZWZlcmVuY2U6IElQYXRoUmVmZXJlbmNlPGFueT4gJiBIYXNHdWlkKSB7XG4gICAgaWYgKCF0aGlzLnJlZmVyZW5jZXMpIHJldHVybjtcbiAgICBsZXQgc2V0ID0gdGhpcy5yZWZlcmVuY2VzW3Byb3BlcnR5XTtcbiAgICBzZXQuZGVsZXRlKHJlZmVyZW5jZSk7XG4gIH1cblxuICBnZXRSZWZlcmVuY2VUeXBlcygpOiBEaWN0PElubmVyUmVmZXJlbmNlRmFjdG9yeTxhbnk+PiB7XG4gICAgdGhpcy5yZWZlcmVuY2VUeXBlcyA9IHRoaXMucmVmZXJlbmNlVHlwZXMgfHwgZGljdDxQYXRoUmVmZXJlbmNlRmFjdG9yeTxhbnk+PigpO1xuICAgIHJldHVybiB0aGlzLnJlZmVyZW5jZVR5cGVzO1xuICB9XG5cbiAgcmVmZXJlbmNlc0Zvcihwcm9wZXJ0eTogc3RyaW5nKTogT3B0aW9uPFNldDxJUGF0aFJlZmVyZW5jZTxhbnk+Pj4ge1xuICAgIGlmICghdGhpcy5yZWZlcmVuY2VzKSByZXR1cm4gbnVsbDtcbiAgICByZXR1cm4gdGhpcy5yZWZlcmVuY2VzW3Byb3BlcnR5XTtcbiAgfVxuXG4gIGdldFNsb3RzKCkge1xuICAgIHJldHVybiAodGhpcy5zbG90cyA9IHRoaXMuc2xvdHMgfHwgZGljdCgpKTtcbiAgfVxuXG4gIHJvb3QoKTogSVJvb3RSZWZlcmVuY2U8YW55PiB7XG4gICAgcmV0dXJuICh0aGlzLnJvb3RDYWNoZSA9IHRoaXMucm9vdENhY2hlIHx8IG5ldyB0aGlzLlJvb3RSZWZlcmVuY2VGYWN0b3J5KHRoaXMub2JqZWN0KSk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgTWV0YTtcblxuaW50ZXJmYWNlIENsYXNzTWV0YSB7XG4gIEluc3RhbmNlTWV0YUNvbnN0cnVjdG9yOiB0eXBlb2YgTWV0YTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ldGFGb3Iob2JqOiBhbnkpOiBJTWV0YSB7XG4gIHJldHVybiBNZXRhLmZvcihvYmopO1xufVxuIl19
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL29iamVjdC1yZWZlcmVuY2UvbGliL21ldGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxBQUFPLFNBQUUsQUFBaUIsQUFBRSx5QkFBTSxBQUEwQixBQUFDO0FBQzdELE9BQU8sQUFBYSxtQkFBTSxBQUFtQixBQUFDO0FBRzlDLEFBQU8sU0FBZ0IsQUFBTyxTQUFnQixBQUFJLEFBQUUsWUFBTSxBQUFlLEFBQUM7QUFTMUUsQUFBTyxTQUFtQyxBQUFZLEFBQUUsb0JBQU0sQUFBb0IsQUFBQztBQUluRixJQUFNLEFBQVk7QUFBSyxBQUFPLGdDQUFJLEFBQUMsQUFBRSxBQUFDLENBRXRDO0FBRnFCOztJQU9uQjt1QkFBWSxBQUFXLFFBQUUsQUFBaUI7QUFGbkM7O2FBQUcsTUFBRyxBQUFZLEFBQUMsQUFHeEIsQUFBSTthQUFDLEFBQU0sU0FBRyxBQUFNLEFBQUMsQUFDdkIsQUFBQztBQUVELEFBQUs7O2lEQUFLLEFBQU07ZUFBQyxBQUFZLEFBQUMsQUFBQyxBQUFDO0FBQ2hDLEFBQU07O21EQUFJLEFBQUMsQ0FFWCxBQUFLOztpREFDSCxBQUFNO2VBQUMsQUFBSSxLQUFDLEFBQU0sT0FBQyxBQUFJLEtBQUMsQUFBUSxBQUFDLEFBQUMsQUFDcEMsQUFBQztBQUVELEFBQUc7OzJDQUFDLEFBQVksTUFDZCxBQUFNO2VBQUMsSUFBSSxBQUFTLFVBQUMsQUFBSSxLQUFDLEFBQU0sT0FBQyxBQUFJLEtBQUMsQUFBUSxBQUFDLFdBQUUsQUFBSSxBQUFDLEFBQUMsQUFDekQsQUFBQyxBQUNGO0FBRUQ7Ozs7O0lBSUU7dUJBQVksQUFBVTtBQUZmOzthQUFHLE1BQUcsQUFBWSxBQUFDLEFBR3hCLEFBQUk7YUFBQyxBQUFLLFFBQUcsQUFBSyxBQUFDLEFBQ3JCLEFBQUM7QUFFRCxBQUFNOztpREFBQyxBQUFVLE9BQ2YsQUFBSTthQUFDLEFBQUss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QUksS0FBQyxBQUFVLFdBQUMsQUFBUSxBQUFDLEFBQUMsQUFDcEMsQUFBRztZQUFDLEFBQU0sT0FBQyxBQUFTLEFBQUMsQUFBQyxBQUN4QixBQUFDO0FBRUQsQUFBaUI7O29FQUNmLEFBQUk7YUFBQyxBQUFjLGlCQUFHLEFBQUksS0FBQyxBQUFjLGtCQUFJLEFBQUksQUFBNkIsQUFBQyxBQUMvRSxBQUFNO2VBQUMsQUFBSSxLQUFDLEFBQWMsQUFBQyxBQUM3QixBQUFDO0FBRUQsQUFBYTs7MERBQUMsQUFBZ0IsVUFDNUIsQUFBRSxBQUFDO1lBQUMsQ0FBQyxBQUFJLEtBQUMsQUFBVSxBQUFDLFlBQUMsQUFBTSxPQUFDLEFBQUksQUFBQyxBQUNsQyxBQUFNO2VBQUMsQUFBSSxLQUFDLEFBQVUsV0FBQyxBQUFRLEFBQUMsQUFBQyxBQUNuQyxBQUFDO0FBRUQsQUFBUTs7a0RBQ04sQUFBTSxBQUFDO2VBQUMsQUFBSSxLQUFDLEFBQUssUUFBRyxBQUFJLEtBQUMsQUFBSyxTQUFJLEFBQUksQUFBRSxBQUFDLEFBQUMsQUFDN0MsQUFBQztBQUVELEFBQUk7OzBDQUNGLEFBQU0sQUFBQztlQUFDLEFBQUksS0FBQyxBQUFTLFlBQUcsQUFBSSxLQUFDLEFBQVMsYUFBSSxJQUFJLEFBQUksS0FBQyxBQUFvQixxQkFBQyxBQUFJLEtBQUMsQUFBTSxBQUFDLEFBQUMsQUFBQyxBQUN6RixBQUFDLEFBQ0Y7Ozs7OztBQUVELGVBQWUsQUFBSSxBQUFDO0FBTXBCLEFBQU0sd0JBQWtCLEFBQVEsS0FDOUIsQUFBTTtXQUFDLEFBQUksS0FBQyxBQUFHLElBQUMsQUFBRyxBQUFDLEFBQUMsQUFDdkIsQUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3BlcnR5UmVmZXJlbmNlIH0gZnJvbSAnLi9yZWZlcmVuY2VzL2Rlc2NyaXB0b3JzJztcbmltcG9ydCBSb290UmVmZXJlbmNlIGZyb20gJy4vcmVmZXJlbmNlcy9yb290JztcbmltcG9ydCB7IE1ldGFPcHRpb25zIH0gZnJvbSAnLi90eXBlcyc7XG5cbmltcG9ydCB7IE9wdGlvbiwgRGljdCwgRGljdFNldCwgSGFzR3VpZCwgU2V0LCBkaWN0IH0gZnJvbSAnQGdsaW1tZXIvdXRpbCc7XG5cbmltcG9ydCB7XG4gIFJvb3RSZWZlcmVuY2VGYWN0b3J5LFxuICBQYXRoUmVmZXJlbmNlRmFjdG9yeSxcbiAgTWV0YSBhcyBJTWV0YSxcbiAgUm9vdFJlZmVyZW5jZSBhcyBJUm9vdFJlZmVyZW5jZVxufSBmcm9tICcuL3R5cGVzJztcblxuaW1wb3J0IHsgUGF0aFJlZmVyZW5jZSBhcyBJUGF0aFJlZmVyZW5jZSwgVk9MQVRJTEVfVEFHIH0gZnJvbSAnQGdsaW1tZXIvcmVmZXJlbmNlJztcblxuaW1wb3J0IHsgSW5uZXJSZWZlcmVuY2VGYWN0b3J5IH0gZnJvbSAnLi9yZWZlcmVuY2VzL2Rlc2NyaXB0b3JzJztcblxuY29uc3QgTk9PUF9ERVNUUk9ZID0geyBkZXN0cm95KCkge30gfTtcblxuY2xhc3MgQ29uc3RQYXRoIGltcGxlbWVudHMgSVBhdGhSZWZlcmVuY2U8YW55PiB7XG4gIHByaXZhdGUgcGFyZW50OiBhbnk7XG4gIHByaXZhdGUgcHJvcGVydHk6IHN0cmluZztcbiAgcHVibGljIHRhZyA9IFZPTEFUSUxFX1RBRztcblxuICBjb25zdHJ1Y3RvcihwYXJlbnQ6IGFueSwgX3Byb3BlcnR5OiBzdHJpbmcpIHtcbiAgICB0aGlzLnBhcmVudCA9IHBhcmVudDtcbiAgfVxuXG4gIGNoYWluKCkgeyByZXR1cm4gTk9PUF9ERVNUUk9ZOyB9XG4gIG5vdGlmeSgpIHt9XG5cbiAgdmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyZW50W3RoaXMucHJvcGVydHldO1xuICB9XG5cbiAgZ2V0KHByb3A6IHN0cmluZyk6IElQYXRoUmVmZXJlbmNlPGFueT4ge1xuICAgIHJldHVybiBuZXcgQ29uc3RQYXRoKHRoaXMucGFyZW50W3RoaXMucHJvcGVydHldLCBwcm9wKTtcbiAgfVxufVxuXG5jbGFzcyBDb25zdFJvb3QgaW1wbGVtZW50cyBJUm9vdFJlZmVyZW5jZTxhbnk+IHtcbiAgcHJpdmF0ZSBpbm5lcjogYW55O1xuICBwdWJsaWMgdGFnID0gVk9MQVRJTEVfVEFHO1xuXG4gIGNvbnN0cnVjdG9yKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLmlubmVyID0gdmFsdWU7XG4gIH1cblxuICB1cGRhdGUoaW5uZXI6IGFueSkge1xuICAgIHRoaXMuaW5uZXIgPSBpbm5lcjtcbiAgfVxuXG4gIGNoYWluKCkgeyByZXR1cm4gTk9PUF9ERVNUUk9ZOyB9XG4gIG5vdGlmeSgpIHt9XG5cbiAgdmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5pbm5lcjtcbiAgfVxuXG4gIHJlZmVyZW5jZUZyb21QYXJ0cyhfcGFydHM6IHN0cmluZ1tdKTogSVBhdGhSZWZlcmVuY2U8YW55PiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiTm90IGltcGxlbWVudGVkXCIpO1xuICB9XG5cbiAgY2hhaW5Gb3IoX3Byb3A6IHN0cmluZyk6IElQYXRoUmVmZXJlbmNlPGFueT4ge1xuICAgIHRocm93IG5ldyBFcnJvcihcIk5vdCBpbXBsZW1lbnRlZFwiKTtcbiAgfVxuXG4gIGdldChwcm9wOiBzdHJpbmcpOiBJUGF0aFJlZmVyZW5jZTxhbnk+IHtcbiAgICByZXR1cm4gbmV3IENvbnN0UGF0aCh0aGlzLmlubmVyLCBwcm9wKTtcbiAgfVxufVxuXG5jbGFzcyBDb25zdE1ldGEgLyppbXBsZW1lbnRzIElNZXRhKi8ge1xuICBwcml2YXRlIG9iamVjdDogYW55O1xuXG4gIGNvbnN0cnVjdG9yKG9iamVjdDogYW55KSB7XG4gICAgdGhpcy5vYmplY3QgPSBvYmplY3Q7XG4gIH1cblxuICByb290KCk6IENvbnN0Um9vdCB7XG4gICAgcmV0dXJuIG5ldyBDb25zdFJvb3QodGhpcy5vYmplY3QpO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBDTEFTU19NRVRBID0gXCJkZjhiZTRjOC00ZTg5LTQ0ZTItYThmOS01NTBjOGRhY2RjYTdcIjtcblxuY29uc3QgaGFzT3duUHJvcGVydHkgPSBPYmplY3QuaGFzT3duUHJvcGVydHk7XG5cbmNsYXNzIE1ldGEgaW1wbGVtZW50cyBJTWV0YSwgSGFzR3VpZCB7XG4gIHN0YXRpYyBmb3Iob2JqOiBhbnkpOiBJTWV0YSB7XG4gICAgaWYgKG9iaiA9PT0gbnVsbCB8fCBvYmogPT09IHVuZGVmaW5lZCkgcmV0dXJuIG5ldyBNZXRhKG9iaiwge30pO1xuICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgJ19tZXRhJykgJiYgb2JqLl9tZXRhKSByZXR1cm4gb2JqLl9tZXRhO1xuICAgIGlmICghT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopKSByZXR1cm4gPGFueT5uZXcgQ29uc3RNZXRhKG9iaik7XG5cbiAgICBsZXQgTWV0YVRvVXNlOiB0eXBlb2YgTWV0YSA9IE1ldGE7XG5cbiAgICBpZiAob2JqLmNvbnN0cnVjdG9yICYmIG9iai5jb25zdHJ1Y3RvcltDTEFTU19NRVRBXSkge1xuICAgICAgbGV0IGNsYXNzTWV0YTogQ2xhc3NNZXRhID0gb2JqLmNvbnN0cnVjdG9yW0NMQVNTX01FVEFdO1xuICAgICAgTWV0YVRvVXNlID0gY2xhc3NNZXRhLkluc3RhbmNlTWV0YUNvbnN0cnVjdG9yO1xuICAgIH0gZWxzZSBpZiAob2JqW0NMQVNTX01FVEFdKSB7XG4gICAgICBNZXRhVG9Vc2UgPSBvYmpbQ0xBU1NfTUVUQV0uSW5zdGFuY2VNZXRhQ29uc3RydWN0b3I7XG4gICAgfVxuXG4gICAgcmV0dXJuIChvYmouX21ldGEgPSBuZXcgTWV0YVRvVXNlKG9iaiwge30pKTtcbiAgfVxuXG4gIHN0YXRpYyBleGlzdHMob2JqOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHlwZW9mIG9iaiA9PT0gJ29iamVjdCcgJiYgb2JqLl9tZXRhO1xuICB9XG5cbiAgc3RhdGljIG1ldGFkYXRhRm9yUHJvcGVydHkoX2tleTogc3RyaW5nKTogYW55IHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgb2JqZWN0OiBhbnk7XG4gIHByaXZhdGUgUm9vdFJlZmVyZW5jZUZhY3Rvcnk6IFJvb3RSZWZlcmVuY2VGYWN0b3J5PGFueT47XG4gIHByaXZhdGUgRGVmYXVsdFBhdGhSZWZlcmVuY2VGYWN0b3J5OiBJbm5lclJlZmVyZW5jZUZhY3Rvcnk8YW55PjtcbiAgcHJpdmF0ZSByb290Q2FjaGU6IElSb290UmVmZXJlbmNlPGFueT47XG4gIHByaXZhdGUgcmVmZXJlbmNlczogT3B0aW9uPERpY3Q8RGljdFNldDxJUGF0aFJlZmVyZW5jZTxhbnk+ICYgSGFzR3VpZD4+PiA9IG51bGw7XG4gIHB1YmxpYyBfZ3VpZDogbnVtYmVyO1xuICBwcm90ZWN0ZWQgc2xvdHM6IE9wdGlvbjxEaWN0PGFueT4+ID0gbnVsbDtcbiAgcHJvdGVjdGVkIHJlZmVyZW5jZVR5cGVzOiBPcHRpb248RGljdDxJbm5lclJlZmVyZW5jZUZhY3Rvcnk8YW55Pj4+ID0gbnVsbDtcbiAgcHJvdGVjdGVkIHByb3BlcnR5TWV0YWRhdGE6IE9wdGlvbjxEaWN0PGFueT4+ID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihvYmplY3Q6IGFueSwgeyBSb290UmVmZXJlbmNlRmFjdG9yeSwgRGVmYXVsdFBhdGhSZWZlcmVuY2VGYWN0b3J5IH06IE1ldGFPcHRpb25zKSB7XG4gICAgdGhpcy5vYmplY3QgPSBvYmplY3Q7XG4gICAgdGhpcy5Sb290UmVmZXJlbmNlRmFjdG9yeSA9IChSb290UmVmZXJlbmNlRmFjdG9yeSB8fCBSb290UmVmZXJlbmNlKSBhcyBSb290UmVmZXJlbmNlRmFjdG9yeTxhbnk+O1xuICAgIHRoaXMuRGVmYXVsdFBhdGhSZWZlcmVuY2VGYWN0b3J5ID0gRGVmYXVsdFBhdGhSZWZlcmVuY2VGYWN0b3J5IHx8IFByb3BlcnR5UmVmZXJlbmNlO1xuICB9XG5cbiAgYWRkUmVmZXJlbmNlKHByb3BlcnR5OiBzdHJpbmcsIHJlZmVyZW5jZTogSVBhdGhSZWZlcmVuY2U8YW55PiAmIEhhc0d1aWQpIHtcbiAgICBsZXQgcmVmcyA9IHRoaXMucmVmZXJlbmNlcyA9IHRoaXMucmVmZXJlbmNlcyB8fCBkaWN0PERpY3RTZXQ8SVBhdGhSZWZlcmVuY2U8YW55PiAmIEhhc0d1aWQ+PigpO1xuICAgIGxldCBzZXQgPSByZWZzW3Byb3BlcnR5XSA9IHJlZnNbcHJvcGVydHldIHx8IG5ldyBEaWN0U2V0PElQYXRoUmVmZXJlbmNlPGFueT4gJiBIYXNHdWlkPigpO1xuICAgIHNldC5hZGQocmVmZXJlbmNlKTtcbiAgfVxuXG4gIGFkZFJlZmVyZW5jZVR5cGVGb3IocHJvcGVydHk6IHN0cmluZywgdHlwZTogUGF0aFJlZmVyZW5jZUZhY3Rvcnk8YW55Pikge1xuICAgIHRoaXMucmVmZXJlbmNlVHlwZXMgPSB0aGlzLnJlZmVyZW5jZVR5cGVzIHx8IGRpY3Q8UGF0aFJlZmVyZW5jZUZhY3Rvcnk8YW55Pj4oKTtcbiAgICB0aGlzLnJlZmVyZW5jZVR5cGVzW3Byb3BlcnR5XSA9IHR5cGU7XG4gIH1cblxuICByZWZlcmVuY2VUeXBlRm9yKHByb3BlcnR5OiBzdHJpbmcpOiBJbm5lclJlZmVyZW5jZUZhY3Rvcnk8YW55PiB7XG4gICAgaWYgKCF0aGlzLnJlZmVyZW5jZVR5cGVzKSByZXR1cm4gUHJvcGVydHlSZWZlcmVuY2U7XG4gICAgcmV0dXJuIHRoaXMucmVmZXJlbmNlVHlwZXNbcHJvcGVydHldIHx8IFByb3BlcnR5UmVmZXJlbmNlO1xuICB9XG5cbiAgcmVtb3ZlUmVmZXJlbmNlKHByb3BlcnR5OiBzdHJpbmcsIHJlZmVyZW5jZTogSVBhdGhSZWZlcmVuY2U8YW55PiAmIEhhc0d1aWQpIHtcbiAgICBpZiAoIXRoaXMucmVmZXJlbmNlcykgcmV0dXJuO1xuICAgIGxldCBzZXQgPSB0aGlzLnJlZmVyZW5jZXNbcHJvcGVydHldO1xuICAgIHNldC5kZWxldGUocmVmZXJlbmNlKTtcbiAgfVxuXG4gIGdldFJlZmVyZW5jZVR5cGVzKCk6IERpY3Q8SW5uZXJSZWZlcmVuY2VGYWN0b3J5PGFueT4+IHtcbiAgICB0aGlzLnJlZmVyZW5jZVR5cGVzID0gdGhpcy5yZWZlcmVuY2VUeXBlcyB8fCBkaWN0PFBhdGhSZWZlcmVuY2VGYWN0b3J5PGFueT4+KCk7XG4gICAgcmV0dXJuIHRoaXMucmVmZXJlbmNlVHlwZXM7XG4gIH1cblxuICByZWZlcmVuY2VzRm9yKHByb3BlcnR5OiBzdHJpbmcpOiBPcHRpb248U2V0PElQYXRoUmVmZXJlbmNlPGFueT4+PiB7XG4gICAgaWYgKCF0aGlzLnJlZmVyZW5jZXMpIHJldHVybiBudWxsO1xuICAgIHJldHVybiB0aGlzLnJlZmVyZW5jZXNbcHJvcGVydHldO1xuICB9XG5cbiAgZ2V0U2xvdHMoKSB7XG4gICAgcmV0dXJuICh0aGlzLnNsb3RzID0gdGhpcy5zbG90cyB8fCBkaWN0KCkpO1xuICB9XG5cbiAgcm9vdCgpOiBJUm9vdFJlZmVyZW5jZTxhbnk+IHtcbiAgICByZXR1cm4gKHRoaXMucm9vdENhY2hlID0gdGhpcy5yb290Q2FjaGUgfHwgbmV3IHRoaXMuUm9vdFJlZmVyZW5jZUZhY3RvcnkodGhpcy5vYmplY3QpKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBNZXRhO1xuXG5pbnRlcmZhY2UgQ2xhc3NNZXRhIHtcbiAgSW5zdGFuY2VNZXRhQ29uc3RydWN0b3I6IHR5cGVvZiBNZXRhO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWV0YUZvcihvYmo6IGFueSk6IElNZXRhIHtcbiAgcmV0dXJuIE1ldGEuZm9yKG9iaik7XG59XG4iXX0=

@@ -57,2 +57,2 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

export default RootReference;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL29iamVjdC1yZWZlcmVuY2UvbGliL3JlZmVyZW5jZXMvcm9vdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLEFBQU8sU0FBVSxBQUFJLEFBQUUsWUFBTSxBQUFlLEFBQUM7QUFDN0MsQUFBTyxTQUFFLEFBQWEsQUFBRSxxQkFBTSxBQUFRLEFBQUM7QUFFdkMsQUFBTyxTQUFFLEFBQVksQUFBd0Msb0JBQU0sQUFBb0IsQUFBQyxBQUd4RixBQUFNLEFBQUMsQUFBTzs7SUFLWjsyQkFBWSxBQUFTO0FBSGI7O2FBQU0sU0FBRyxBQUFJLEFBQXNCLEFBQUMsQUFDckM7YUFBRyxNQUFRLEFBQVksQUFBQyxBQUc3QixBQUFJO2FBQUMsQUFBTSxTQUFHLEFBQU0sQUFBQyxBQUN2QixBQUFDO0FBRUQsQUFBSzs7cURBQVEsQUFBTTtlQUFDLEFBQUksS0FBQyxBQUFNLEFBQUMsQUFBQyxBQUFDO0FBRWxDLEFBQU07O3FEQUFDLEFBQVMsUUFDZCxBQUFJO2FBQUMsQUFBTSxTQUFHLEFBQU0sQUFBQyxBQUNyQixBQUFpQixBQUNuQjtBQUFDO0FBRUQsQUFBRzs7K0NBQUksQUFBWSxNQUNqQjtZQUFJLEFBQU0sU0FBRyxBQUFJLEtBQUMsQUFBTSxBQUFDLEFBQ3pCLEFBQUUsQUFBQztZQUFTLEFBQUksUUFBSSxBQUFNLEFBQUMsUUFBQyxBQUFNLE9BQUMsQUFBTSxPQUFDLEFBQUksQUFBQyxBQUFDLEFBQ2hELEFBQU0sQUFBQztlQUFDLEFBQU0sT0FBQyxBQUFJLEFBQUMsUUFBRyxJQUFJLEFBQWEsY0FBQyxBQUFJLE1BQUUsQUFBSSxBQUFDLEFBQUMsQUFBQyxBQUN4RCxBQUFDO0FBRUQsQUFBUTs7eURBQUksQUFBWSxNQUN0QjtZQUFJLEFBQU0sU0FBRyxBQUFJLEtBQUMsQUFBTSxBQUFDLEFBQ3pCLEFBQUUsQUFBQztZQUFTLEFBQUksUUFBSSxBQUFNLEFBQUMsUUFBQyxBQUFNLE9BQUMsQUFBTSxPQUFDLEFBQUksQUFBQyxBQUFDLEFBQ2hELEFBQU07ZUFBQyxBQUFJLEFBQUMsQUFDZCxBQUFDO0FBRUQsQUFBSTs7aURBQUMsQUFBYyxRQUNqQixBQUFNO3NCQUFRLEFBQUssTUFBQyxBQUFHLEFBQUMsS0FBQyxBQUFNLGlCQUFFLEFBQUcsS0FBRSxBQUFJO0FBQVYsbUJBQWUsQUFBRyxJQUFDLEFBQUcsSUFBQyxBQUFJLEFBQUM7U0FBckQsQUFBTSxFQUFpRCxBQUE4QixBQUFDLEFBQUMsQUFDaEcsQUFBQztBQUVELEFBQWtCOzs2RUFBQyxBQUFlLE9BQ2hDLEFBQU07cUJBQU8sQUFBTSxpQkFBRSxBQUFHLEtBQUUsQUFBSTtBQUFWLG1CQUFlLEFBQUcsSUFBQyxBQUFHLElBQUMsQUFBSSxBQUEyQjtTQUFuRSxBQUFLLEVBQWdFLEFBQThCLEFBQUMsQUFBQyxBQUM5RyxBQUFDO0FBRUQsQUFBSzs7cURBQ0gsQUFBTTtlQUFDLEFBQWtCLEFBQUMsQUFDNUIsQUFBQyxBQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3BhcXVlLCBkaWN0IH0gZnJvbSAnQGdsaW1tZXIvdXRpbCc7XG5pbXBvcnQgeyBQYXRoUmVmZXJlbmNlIH0gZnJvbSAnLi9wYXRoJztcbmltcG9ydCB7IFJvb3RSZWZlcmVuY2UgYXMgSVJvb3RSZWZlcmVuY2UgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBWT0xBVElMRV9UQUcsIFBhdGhSZWZlcmVuY2UgYXMgSVBhdGhSZWZlcmVuY2UsIFRhZyB9IGZyb20gJ0BnbGltbWVyL3JlZmVyZW5jZSc7XG5pbXBvcnQgeyBPcHRpb24gfSBmcm9tIFwiQGdsaW1tZXIvaW50ZXJmYWNlc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSb290UmVmZXJlbmNlPFQ+IGltcGxlbWVudHMgSVJvb3RSZWZlcmVuY2U8VD4sIElQYXRoUmVmZXJlbmNlPFQ+IHtcbiAgcHJpdmF0ZSBvYmplY3Q6IFQ7XG4gIHByaXZhdGUgY2hhaW5zID0gZGljdDxQYXRoUmVmZXJlbmNlPGFueT4+KCk7XG4gIHB1YmxpYyB0YWc6IFRhZyA9IFZPTEFUSUxFX1RBRztcblxuICBjb25zdHJ1Y3RvcihvYmplY3Q6IFQpIHtcbiAgICB0aGlzLm9iamVjdCA9IG9iamVjdDtcbiAgfVxuXG4gIHZhbHVlKCk6IFQgeyByZXR1cm4gdGhpcy5vYmplY3Q7IH1cblxuICB1cGRhdGUob2JqZWN0OiBUKSB7XG4gICAgdGhpcy5vYmplY3QgPSBvYmplY3Q7XG4gICAgLy8gdGhpcy5ub3RpZnkoKTtcbiAgfVxuXG4gIGdldDxVPihwcm9wOiBzdHJpbmcpOiBJUGF0aFJlZmVyZW5jZTxVPiB7XG4gICAgbGV0IGNoYWlucyA9IHRoaXMuY2hhaW5zO1xuICAgIGlmICg8c3RyaW5nPnByb3AgaW4gY2hhaW5zKSByZXR1cm4gY2hhaW5zW3Byb3BdO1xuICAgIHJldHVybiAoY2hhaW5zW3Byb3BdID0gbmV3IFBhdGhSZWZlcmVuY2UodGhpcywgcHJvcCkpO1xuICB9XG5cbiAgY2hhaW5Gb3I8VT4ocHJvcDogc3RyaW5nKTogT3B0aW9uPElQYXRoUmVmZXJlbmNlPFU+PiB7XG4gICAgbGV0IGNoYWlucyA9IHRoaXMuY2hhaW5zO1xuICAgIGlmICg8c3RyaW5nPnByb3AgaW4gY2hhaW5zKSByZXR1cm4gY2hhaW5zW3Byb3BdO1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcGF0aChzdHJpbmc6IHN0cmluZyk6IElQYXRoUmVmZXJlbmNlPE9wYXF1ZT4ge1xuICAgIHJldHVybiBzdHJpbmcuc3BsaXQoJy4nKS5yZWR1Y2UoKHJlZiwgcGFydCkgPT4gcmVmLmdldChwYXJ0KSwgdGhpcyBhcyBJUGF0aFJlZmVyZW5jZTxPcGFxdWU+KTtcbiAgfVxuXG4gIHJlZmVyZW5jZUZyb21QYXJ0cyhwYXJ0czogc3RyaW5nW10pOiBJUGF0aFJlZmVyZW5jZTxPcGFxdWU+IHtcbiAgICByZXR1cm4gcGFydHMucmVkdWNlKChyZWYsIHBhcnQpID0+IHJlZi5nZXQocGFydCkgYXMgSVBhdGhSZWZlcmVuY2U8T3BhcXVlPiwgdGhpcyBhcyBJUGF0aFJlZmVyZW5jZTxPcGFxdWU+KTtcbiAgfVxuXG4gIGxhYmVsKCkge1xuICAgIHJldHVybiAnW3JlZmVyZW5jZSBSb290XSc7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL29iamVjdC1yZWZlcmVuY2UvbGliL3JlZmVyZW5jZXMvcm9vdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLEFBQU8sU0FBa0IsQUFBSSxBQUFFLFlBQU0sQUFBZSxBQUFDO0FBQ3JELEFBQU8sU0FBRSxBQUFhLEFBQUUscUJBQU0sQUFBUSxBQUFDO0FBRXZDLEFBQU8sU0FBRSxBQUFZLEFBQXdDLG9CQUFNLEFBQW9CLEFBQUMsQUFFeEYsQUFBTSxBQUFDLEFBQU87O0lBS1o7MkJBQVksQUFBUztBQUhiOzthQUFNLFNBQUcsQUFBSSxBQUFzQixBQUFDLEFBQ3JDO2FBQUcsTUFBUSxBQUFZLEFBQUMsQUFHN0IsQUFBSTthQUFDLEFBQU0sU0FBRyxBQUFNLEFBQUMsQUFDdkIsQUFBQztBQUVELEFBQUs7O3FEQUFRLEFBQU07ZUFBQyxBQUFJLEtBQUMsQUFBTSxBQUFDLEFBQUMsQUFBQztBQUVsQyxBQUFNOztxREFBQyxBQUFTLFFBQ2QsQUFBSTthQUFDLEFBQU0sU0FBRyxBQUFNLEFBQUMsQUFDckIsQUFBaUIsQUFDbkI7QUFBQztBQUVELEFBQUc7OytDQUFJLEFBQVksTUFDakI7WUFBSSxBQUFNLFNBQUcsQUFBSSxLQUFDLEFBQU0sQUFBQyxBQUN6QixBQUFFLEFBQUM7WUFBUyxBQUFJLFFBQUksQUFBTSxBQUFDLFFBQUMsQUFBTSxPQUFDLEFBQU0sT0FBQyxBQUFJLEFBQUMsQUFBQyxBQUNoRCxBQUFNLEFBQUM7ZUFBQyxBQUFNLE9BQUMsQUFBSSxBQUFDLFFBQUcsSUFBSSxBQUFhLGNBQUMsQUFBSSxNQUFFLEFBQUksQUFBQyxBQUFDLEFBQUMsQUFDeEQsQUFBQztBQUVELEFBQVE7O3lEQUFJLEFBQVksTUFDdEI7WUFBSSxBQUFNLFNBQUcsQUFBSSxLQUFDLEFBQU0sQUFBQyxBQUN6QixBQUFFLEFBQUM7WUFBUyxBQUFJLFFBQUksQUFBTSxBQUFDLFFBQUMsQUFBTSxPQUFDLEFBQU0sT0FBQyxBQUFJLEFBQUMsQUFBQyxBQUNoRCxBQUFNO2VBQUMsQUFBSSxBQUFDLEFBQ2QsQUFBQztBQUVELEFBQUk7O2lEQUFDLEFBQWMsUUFDakIsQUFBTTtzQkFBUSxBQUFLLE1BQUMsQUFBRyxBQUFDLEtBQUMsQUFBTSxpQkFBRSxBQUFHLEtBQUUsQUFBSTtBQUFWLG1CQUFlLEFBQUcsSUFBQyxBQUFHLElBQUMsQUFBSSxBQUFDO1NBQXJELEFBQU0sRUFBaUQsQUFBOEIsQUFBQyxBQUFDLEFBQ2hHLEFBQUM7QUFFRCxBQUFrQjs7NkVBQUMsQUFBZSxPQUNoQyxBQUFNO3FCQUFPLEFBQU0saUJBQUUsQUFBRyxLQUFFLEFBQUk7QUFBVixtQkFBZSxBQUFHLElBQUMsQUFBRyxJQUFDLEFBQUksQUFBMkI7U0FBbkUsQUFBSyxFQUFnRSxBQUE4QixBQUFDLEFBQUMsQUFDOUcsQUFBQztBQUVELEFBQUs7O3FEQUNILEFBQU07ZUFBQyxBQUFrQixBQUFDLEFBQzVCLEFBQUMsQUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9wdGlvbiwgT3BhcXVlLCBkaWN0IH0gZnJvbSAnQGdsaW1tZXIvdXRpbCc7XG5pbXBvcnQgeyBQYXRoUmVmZXJlbmNlIH0gZnJvbSAnLi9wYXRoJztcbmltcG9ydCB7IFJvb3RSZWZlcmVuY2UgYXMgSVJvb3RSZWZlcmVuY2UgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBWT0xBVElMRV9UQUcsIFBhdGhSZWZlcmVuY2UgYXMgSVBhdGhSZWZlcmVuY2UsIFRhZyB9IGZyb20gJ0BnbGltbWVyL3JlZmVyZW5jZSc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJvb3RSZWZlcmVuY2U8VD4gaW1wbGVtZW50cyBJUm9vdFJlZmVyZW5jZTxUPiwgSVBhdGhSZWZlcmVuY2U8VD4ge1xuICBwcml2YXRlIG9iamVjdDogVDtcbiAgcHJpdmF0ZSBjaGFpbnMgPSBkaWN0PFBhdGhSZWZlcmVuY2U8YW55Pj4oKTtcbiAgcHVibGljIHRhZzogVGFnID0gVk9MQVRJTEVfVEFHO1xuXG4gIGNvbnN0cnVjdG9yKG9iamVjdDogVCkge1xuICAgIHRoaXMub2JqZWN0ID0gb2JqZWN0O1xuICB9XG5cbiAgdmFsdWUoKTogVCB7IHJldHVybiB0aGlzLm9iamVjdDsgfVxuXG4gIHVwZGF0ZShvYmplY3Q6IFQpIHtcbiAgICB0aGlzLm9iamVjdCA9IG9iamVjdDtcbiAgICAvLyB0aGlzLm5vdGlmeSgpO1xuICB9XG5cbiAgZ2V0PFU+KHByb3A6IHN0cmluZyk6IElQYXRoUmVmZXJlbmNlPFU+IHtcbiAgICBsZXQgY2hhaW5zID0gdGhpcy5jaGFpbnM7XG4gICAgaWYgKDxzdHJpbmc+cHJvcCBpbiBjaGFpbnMpIHJldHVybiBjaGFpbnNbcHJvcF07XG4gICAgcmV0dXJuIChjaGFpbnNbcHJvcF0gPSBuZXcgUGF0aFJlZmVyZW5jZSh0aGlzLCBwcm9wKSk7XG4gIH1cblxuICBjaGFpbkZvcjxVPihwcm9wOiBzdHJpbmcpOiBPcHRpb248SVBhdGhSZWZlcmVuY2U8VT4+IHtcbiAgICBsZXQgY2hhaW5zID0gdGhpcy5jaGFpbnM7XG4gICAgaWYgKDxzdHJpbmc+cHJvcCBpbiBjaGFpbnMpIHJldHVybiBjaGFpbnNbcHJvcF07XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwYXRoKHN0cmluZzogc3RyaW5nKTogSVBhdGhSZWZlcmVuY2U8T3BhcXVlPiB7XG4gICAgcmV0dXJuIHN0cmluZy5zcGxpdCgnLicpLnJlZHVjZSgocmVmLCBwYXJ0KSA9PiByZWYuZ2V0KHBhcnQpLCB0aGlzIGFzIElQYXRoUmVmZXJlbmNlPE9wYXF1ZT4pO1xuICB9XG5cbiAgcmVmZXJlbmNlRnJvbVBhcnRzKHBhcnRzOiBzdHJpbmdbXSk6IElQYXRoUmVmZXJlbmNlPE9wYXF1ZT4ge1xuICAgIHJldHVybiBwYXJ0cy5yZWR1Y2UoKHJlZiwgcGFydCkgPT4gcmVmLmdldChwYXJ0KSBhcyBJUGF0aFJlZmVyZW5jZTxPcGFxdWU+LCB0aGlzIGFzIElQYXRoUmVmZXJlbmNlPE9wYXF1ZT4pO1xuICB9XG5cbiAgbGFiZWwoKSB7XG4gICAgcmV0dXJuICdbcmVmZXJlbmNlIFJvb3RdJztcbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9AZ2xpbW1lci9vYmplY3QtcmVmZXJlbmNlL2xpYi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3BhcXVlLCBEaWN0LCBTZXQgfSBmcm9tICdAZ2xpbW1lci91dGlsJztcbmltcG9ydCB7IFJlZmVyZW5jZSwgUGF0aFJlZmVyZW5jZSB9IGZyb20gJ0BnbGltbWVyL3JlZmVyZW5jZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm90aWZpYWJsZVJlZmVyZW5jZTxUPiBleHRlbmRzIFJlZmVyZW5jZTxUPiB7XG4gIC8vIG5vdGlmeSgpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYWluYWJsZVJlZmVyZW5jZTxUPiBleHRlbmRzIFJlZmVyZW5jZTxUPiB7XG4gIC8vIGNoYWluKGNoaWxkOiBSZWZlcmVuY2UpOiBEZXN0cm95YWJsZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXRoUmVmZXJlbmNlRmFjdG9yeTxUPiB7XG4gIG5ldyAob2JqZWN0OiBhbnksIHByb3BlcnR5OiBzdHJpbmcpOiBQYXRoUmVmZXJlbmNlPFQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJvb3RSZWZlcmVuY2VGYWN0b3J5PFQ+IHtcbiAgbmV3IChvYmplY3Q6IFQpOiBSb290UmVmZXJlbmNlPFQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJvb3RSZWZlcmVuY2U8VD4gZXh0ZW5kcyBQYXRoUmVmZXJlbmNlPFQ+IHtcbiAgdXBkYXRlKHZhbHVlOiBUKTogdm9pZDtcbiAgcmVmZXJlbmNlRnJvbVBhcnRzKHBhcnRzOiBzdHJpbmdbXSk6IFBhdGhSZWZlcmVuY2U8T3BhcXVlPjtcbiAgY2hhaW5Gb3IocHJvcDogc3RyaW5nKTogT3B0aW9uPFBhdGhSZWZlcmVuY2U8VD4+O1xufVxuXG5pbXBvcnQgeyBJbm5lclJlZmVyZW5jZUZhY3RvcnkgfSBmcm9tICcuL3JlZmVyZW5jZXMvZGVzY3JpcHRvcnMnO1xuaW1wb3J0IHsgT3B0aW9uIH0gZnJvbSBcIkBnbGltbWVyL2ludGVyZmFjZXNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBNZXRhT3B0aW9ucyB7XG4gIFJvb3RSZWZlcmVuY2VGYWN0b3J5PzogUm9vdFJlZmVyZW5jZUZhY3Rvcnk8YW55PjtcbiAgRGVmYXVsdFBhdGhSZWZlcmVuY2VGYWN0b3J5PzogSW5uZXJSZWZlcmVuY2VGYWN0b3J5PGFueT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWV0YSB7XG4gIHJvb3QoKTogUm9vdFJlZmVyZW5jZTxhbnk+O1xuICByZWZlcmVuY2VzRm9yKHByb3BlcnR5OiBzdHJpbmcpOiBPcHRpb248U2V0PFBhdGhSZWZlcmVuY2U8YW55Pj4+O1xuICByZWZlcmVuY2VUeXBlRm9yKHByb3BlcnR5OiBzdHJpbmcpOiBJbm5lclJlZmVyZW5jZUZhY3Rvcnk8YW55PjtcbiAgZ2V0UmVmZXJlbmNlVHlwZXMoKTogRGljdDxJbm5lclJlZmVyZW5jZUZhY3Rvcnk8YW55Pj47XG4gIGFkZFJlZmVyZW5jZShwcm9wZXJ0eTogc3RyaW5nLCByZWZlcmVuY2U6IFBhdGhSZWZlcmVuY2U8YW55Pik6IHZvaWQ7XG4gIHJlbW92ZVJlZmVyZW5jZShwcm9wZXJ0eTogc3RyaW5nLCByZWZlcmVuY2U6IFBhdGhSZWZlcmVuY2U8YW55Pik6IHZvaWQ7XG4gIGdldFNsb3RzKCk6IERpY3Q8YW55Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXRhTG9va3VwIHtcbiAgZm9yKG9iajogYW55KTogTWV0YTtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9AZ2xpbW1lci9vYmplY3QtcmVmZXJlbmNlL2xpYi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3B0aW9uLCBPcGFxdWUsIERpY3QsIFNldCB9IGZyb20gJ0BnbGltbWVyL3V0aWwnO1xuaW1wb3J0IHsgUmVmZXJlbmNlLCBQYXRoUmVmZXJlbmNlIH0gZnJvbSAnQGdsaW1tZXIvcmVmZXJlbmNlJztcbmltcG9ydCB7IElubmVyUmVmZXJlbmNlRmFjdG9yeSB9IGZyb20gJy4vcmVmZXJlbmNlcy9kZXNjcmlwdG9ycyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm90aWZpYWJsZVJlZmVyZW5jZTxUPiBleHRlbmRzIFJlZmVyZW5jZTxUPiB7XG4gIC8vIG5vdGlmeSgpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYWluYWJsZVJlZmVyZW5jZTxUPiBleHRlbmRzIFJlZmVyZW5jZTxUPiB7XG4gIC8vIGNoYWluKGNoaWxkOiBSZWZlcmVuY2UpOiBEZXN0cm95YWJsZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXRoUmVmZXJlbmNlRmFjdG9yeTxUPiB7XG4gIG5ldyAob2JqZWN0OiBhbnksIHByb3BlcnR5OiBzdHJpbmcpOiBQYXRoUmVmZXJlbmNlPFQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJvb3RSZWZlcmVuY2VGYWN0b3J5PFQ+IHtcbiAgbmV3IChvYmplY3Q6IFQpOiBSb290UmVmZXJlbmNlPFQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJvb3RSZWZlcmVuY2U8VD4gZXh0ZW5kcyBQYXRoUmVmZXJlbmNlPFQ+IHtcbiAgdXBkYXRlKHZhbHVlOiBUKTogdm9pZDtcbiAgcmVmZXJlbmNlRnJvbVBhcnRzKHBhcnRzOiBzdHJpbmdbXSk6IFBhdGhSZWZlcmVuY2U8T3BhcXVlPjtcbiAgY2hhaW5Gb3IocHJvcDogc3RyaW5nKTogT3B0aW9uPFBhdGhSZWZlcmVuY2U8VD4+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFPcHRpb25zIHtcbiAgUm9vdFJlZmVyZW5jZUZhY3Rvcnk/OiBSb290UmVmZXJlbmNlRmFjdG9yeTxhbnk+O1xuICBEZWZhdWx0UGF0aFJlZmVyZW5jZUZhY3Rvcnk/OiBJbm5lclJlZmVyZW5jZUZhY3Rvcnk8YW55Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXRhIHtcbiAgcm9vdCgpOiBSb290UmVmZXJlbmNlPGFueT47XG4gIHJlZmVyZW5jZXNGb3IocHJvcGVydHk6IHN0cmluZyk6IE9wdGlvbjxTZXQ8UGF0aFJlZmVyZW5jZTxhbnk+Pj47XG4gIHJlZmVyZW5jZVR5cGVGb3IocHJvcGVydHk6IHN0cmluZyk6IElubmVyUmVmZXJlbmNlRmFjdG9yeTxhbnk+O1xuICBnZXRSZWZlcmVuY2VUeXBlcygpOiBEaWN0PElubmVyUmVmZXJlbmNlRmFjdG9yeTxhbnk+PjtcbiAgYWRkUmVmZXJlbmNlKHByb3BlcnR5OiBzdHJpbmcsIHJlZmVyZW5jZTogUGF0aFJlZmVyZW5jZTxhbnk+KTogdm9pZDtcbiAgcmVtb3ZlUmVmZXJlbmNlKHByb3BlcnR5OiBzdHJpbmcsIHJlZmVyZW5jZTogUGF0aFJlZmVyZW5jZTxhbnk+KTogdm9pZDtcbiAgZ2V0U2xvdHMoKTogRGljdDxhbnk+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFMb29rdXAge1xuICBmb3Iob2JqOiBhbnkpOiBNZXRhO1xufVxuIl19
import { MetaOptions } from './types';
import { Dict, HasGuid, Set } from '@glimmer/util';
import { Option, Dict, HasGuid, Set } from '@glimmer/util';
import { PathReferenceFactory, Meta as IMeta, RootReference as IRootReference } from './types';
import { PathReference as IPathReference } from '@glimmer/reference';
import { InnerReferenceFactory } from './references/descriptors';
import { Option } from "@glimmer/interfaces";
export declare const CLASS_META = "df8be4c8-4e89-44e2-a8f9-550c8dacdca7";

@@ -8,0 +7,0 @@ declare class Meta implements IMeta, HasGuid {

@@ -1,5 +0,4 @@

import { Opaque } from '@glimmer/util';
import { Option, Opaque } from '@glimmer/util';
import { RootReference as IRootReference } from '../types';
import { PathReference as IPathReference, Tag } from '@glimmer/reference';
import { Option } from "@glimmer/interfaces";
export default class RootReference<T> implements IRootReference<T>, IPathReference<T> {

@@ -6,0 +5,0 @@ private object;

@@ -1,3 +0,4 @@

import { Opaque, Dict, Set } from '@glimmer/util';
import { Option, Opaque, Dict, Set } from '@glimmer/util';
import { Reference, PathReference } from '@glimmer/reference';
import { InnerReferenceFactory } from './references/descriptors';
export interface NotifiableReference<T> extends Reference<T> {

@@ -18,4 +19,2 @@ }

}
import { InnerReferenceFactory } from './references/descriptors';
import { Option } from "@glimmer/interfaces";
export interface MetaOptions {

@@ -22,0 +21,0 @@ RootReferenceFactory?: RootReferenceFactory<any>;

{
"name": "@glimmer/object-reference",
"version": "0.28.3",
"version": "0.29.0",
"description": "References for a Glimmer-compatible object model",

@@ -8,4 +8,4 @@ "repository": "https://github.com/glimmerjs/glimmer-vm/tree/master/packages/@glimmer/object-reference",

"dependencies": {
"@glimmer/util": "^0.28.3",
"@glimmer/reference": "^0.28.3"
"@glimmer/util": "^0.29.0",
"@glimmer/reference": "^0.29.0"
},

@@ -12,0 +12,0 @@ "devDependencies": {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc