@cloudbase/container 3.0.0 → 3.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/index.js CHANGED
@@ -340,4 +340,4 @@ function registerContainers(app) {
340
340
  }
341
341
  }
342
342
  exports.registerContainers = registerContainers;
343
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdBLGtEQUEyRTtBQUMzRSxpQ0FBa0U7QUFDbEUseUNBQTRDO0FBR3BDLElBQUEsTUFBTSxHQUF5QixxQkFBUyxPQUFsQyxFQUFFLGtCQUFrQixHQUFLLHFCQUFTLG1CQUFkLENBQWM7QUFDeEMsSUFBQSxZQUFZLEdBQWdCLGlCQUFLLGFBQXJCLEVBQUUsU0FBUyxHQUFLLGlCQUFLLFVBQVYsQ0FBVTtBQUNqQyxJQUFBLG9CQUFvQixHQUFLLG1CQUFPLHFCQUFaLENBQVk7QUFFakMsSUFBSSxDQUFDLEdBQUcsVUFBQSxHQUFHLElBQUksT0FBQSxHQUFHLEVBQUgsQ0FBRyxDQUFBO0FBQWQsUUFBQSxDQUFDLEtBQWE7QUFHekIsSUFBSSxpQkFBaUIsR0FBYTtJQUNoQyxNQUFNLElBQUksS0FBSyxDQUFDLDRCQUFxQixJQUFBLFNBQUMsRUFBQyxLQUFLLENBQUMsQ0FBRSxDQUFDLENBQUE7QUFDbEQsQ0FBQyxDQUFBO0FBQ0QsSUFBSSxvQkFBb0IsR0FBYTtJQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLCtCQUF3QixJQUFBLFNBQUMsRUFBQyxLQUFLLENBQUMsQ0FBRSxDQUFDLENBQUE7QUFDckQsQ0FBQyxDQUFBO0FBRUQsSUFBSSxVQUFVLENBQUMsV0FBVyxFQUFFO0lBQzFCLGlCQUFpQixHQUFHO1FBQ2xCLElBQUksS0FBSyxDQUFDLElBQUEsU0FBQyxFQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQTtJQUNoQyxDQUFDLENBQUE7SUFDRCxvQkFBb0IsR0FBRyxVQUFVLEtBQUs7UUFDcEMsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLEtBQUssQ0FBQyxJQUFBLFNB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QUFBLEFBbkxELElBbUxDO0FBRUQsSUFBTSxTQUFTLEdBQXdCO0lBQ3JDLElBQUksRUFBRSwwQkFBYztJQUNwQixTQUFTLEVBQUUsV0FBVztJQUN0QixNQUFNLFlBQUMsTUFBd0I7UUFDN0IsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDMUIsU0FBUyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSwrREFBK0QsQ0FBQyxDQUFBO1lBQ3BHLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFBO1NBQzlCO1FBRUQsSUFBTSxRQUFRLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNoRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsUUFBUSxDQUFBO1FBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7UUFFMUQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUE7SUFDL0IsQ0FBQztDQUNGLENBQUE7QUFDRCxJQUFJO0lBQ0YsU0FBUyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFBO0NBQ3ZDO0FBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRTtBQUVkLFNBQWdCLGtCQUFrQixDQUFDLEdBQTBDO0lBQzNFLElBQUk7UUFDRixHQUFHLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUE7S0FDakM7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7S0FDaEI7QUFDSCxDQUFDO0FBTkQsZ0RBTUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQ2xvdWRiYXNlIH0gZnJvbSAnQGNsb3VkYmFzZS90eXBlcydcbmltcG9ydCB7IElDbG91ZGJhc2VDb21wb25lbnQgfSBmcm9tICdAY2xvdWRiYXNlL3R5cGVzL2NvbXBvbmVudCdcbmltcG9ydCB7IElDYWxsQ29udGFpbmVyT3B0aW9ucywgSUNvbnRpYW5lckNvbmZpZyB9IGZyb20gJ0BjbG91ZGJhc2UvdHlwZXMvY29udGFpbmVyJ1xuaW1wb3J0IHsgY29uc3RhbnRzLCB1dGlscywgaGVscGVycywgbGFuZ0V2ZW50IH0gZnJvbSAnQGNsb3VkYmFzZS91dGlsaXRpZXMnXG5pbXBvcnQgeyBpc0J1ZmZlciwgcGFyc2VVUkwsIHNlcmlhbGl6ZVJlcXVlc3RCb2R5IH0gZnJvbSAnLi91dGlscydcbmltcG9ydCB7IENPTVBPTkVOVF9OQU1FIH0gZnJvbSAnLi9jb25zdGFudHMnXG5cbmRlY2xhcmUgY29uc3QgY2xvdWRiYXNlOiBJQ2xvdWRiYXNlXG5jb25zdCB7IEVSUk9SUywgQ09NTVVOSVRZX1NJVEVfVVJMIH0gPSBjb25zdGFudHNcbmNvbnN0IHsgZXhlY0NhbGxiYWNrLCBwcmludFdhcm4gfSA9IHV0aWxzXG5jb25zdCB7IGNhdGNoRXJyb3JzRGVjb3JhdG9yIH0gPSBoZWxwZXJzXG5cbmV4cG9ydCBsZXQgdCA9IHN0ciA9PiBzdHJcblxuLyogZXNsaW50LWRpc2FibGUgKi9cbmxldCBnZXRFeHBvcnRGdW5jdGlvbjogRnVuY3Rpb24gPSAoKSA9PiB7XG4gIHRocm93IG5ldyBFcnJvcihgZ2V0RXhwb3J0RnVuY3Rpb24gJHt0KCfmnKrlrp7njrAnKX1gKVxufVxubGV0IGxvYWRKU0V4cG9ydEZ1bmN0aW9uOiBGdW5jdGlvbiA9ICgpID0+IHtcbiAgdGhyb3cgbmV3IEVycm9yKGBsb2FkSlNFeHBvcnRGdW5jdGlvbiAke3QoJ+acquWunueOsCcpfWApXG59XG5cbmlmIChnbG9iYWxUaGlzLklTX01QX0JVSUxEKSB7XG4gIGdldEV4cG9ydEZ1bmN0aW9uID0gZnVuY3Rpb24gKCkge1xuICAgIG5ldyBFcnJvcih0KCflsI/nqIvluo/kuI3mlK/mjIEgd2FzbSDliqDovb0nKSlcbiAgfVxuICBsb2FkSlNFeHBvcnRGdW5jdGlvbiA9IGZ1bmN0aW9uIChqc1VybCkge1xuICAgIGlmIChqc1VybCkge1xuICAgICAgbmV3IEVycm9yKHQoJ+Wwj+eoi+W6j+S4jeaUr+aMgeWKqOaAgSBqcyDliqDovb0nKSlcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGluaXRDb250YWluZXI6IChnbG9iYWxUaGlzIGFzIGFueSkuY2xvdWRiYXNlX3ByaXZhdGVfbGluay5pbml0Q29udGFpbmVyLFxuICAgICAgY2FsbENvbnRhaW5lcjogKGdsb2JhbFRoaXMgYXMgYW55KS5jbG91ZGJhc2VfcHJpdmF0ZV9saW5rLmNhbGxDb250YWluZXIsXG4gICAgfVxuICB9XG59IGVsc2Uge1xuICBjb25zdCBsb2FkZXIgPSByZXF1aXJlKCcuL3V0aWxzL2xvYWRlcicpXG4gIGdldEV4cG9ydEZ1bmN0aW9uID0gbG9hZGVyLmdldEV4cG9ydEZ1bmN0aW9uXG4gIGxvYWRKU0V4cG9ydEZ1bmN0aW9uID0gbG9hZGVyLmxvYWRKU0V4cG9ydEZ1bmN0aW9uXG59XG4vKiBlc2xpbnQtZW5hYmxlICovXG5cbmNsYXNzIEludmFsaWVQYXJhbXNFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29kZTogYW55XG4gIGNvbnN0cnVjdG9yKHNjb3BlLCBtZXNzYWdlKSB7XG4gICAgY29uc3QgbXNnID0gSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgY29kZTogRVJST1JTLklOVkFMSURfUEFSQU1TLFxuICAgICAgbXNnOiBgWyR7c2NvcGV9XSAke21lc3NhZ2V9YCxcbiAgICB9KVxuICAgIHN1cGVyKG1zZylcbiAgICB0aGlzLmNvZGUgPSBFUlJPUlMuSU5WQUxJRF9QQVJBTVNcbiAgfVxuICB0b0pTT04oKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvZGU6IHRoaXMuY29kZSxcbiAgICAgIG1lc3NhZ2U6IHRoaXMubWVzc2FnZSxcbiAgICB9XG4gIH1cbn1cblxuaW50ZXJmYWNlIElDYWxsVGNiQ29udGFpbmVyT3B0aW9ucyBleHRlbmRzIElDYWxsQ29udGFpbmVyT3B0aW9ucyB7XG4gIHN1Y2Nlc3M6IChyZXM6IHsgc3RhdHVzQ29kZTogc3RyaW5nIHwgbnVtYmVyOyBoZWFkZXI6IElDYWxsQ29udGFpbmVyT3B0aW9uc1snaGVhZGVyJ107IGRhdGE6IGFueSB9KSA9PiB2b2lkXG4gIGZhaWw6IChyZXM6IHsgZGF0YTogeyBjb2RlOiBudW1iZXI7IG1lc3NhZ2U6IHN0cmluZyB9IH0pID0+IHZvaWRcbn1cblxuaW50ZXJmYWNlIElJbml0VGNiQ29udGFpbmVyT3B0aW9ucyB7XG4gIGNvbmZpZzogT21pdDxJQ29udGlhbmVyQ29uZmlnLCAnd2FzbVVybCcgfCAnanNVcmwnPlxuICBzdWNjZXNzOiAocmVzOiB7IHN0YXR1c0NvZGU6IHN0cmluZyB8IG51bWJlcjsgaGVhZGVyOiBJQ2FsbENvbnRhaW5lck9wdGlvbnNbJ2hlYWRlciddOyBkYXRhOiBhbnkgfSkgPT4gdm9pZFxuICBmYWlsOiAocmVzOiB7IGRhdGE6IHsgY29kZTogbnVtYmVyOyBtZXNzYWdlOiBzdHJpbmcgfSB9KSA9PiB2b2lkXG59XG5cbmZ1bmN0aW9uIGdlbkNvbnRhaW5lckVycm9yKGRhdGEsIHNjb3BlID0gQ09NUE9ORU5UX05BTUUsIGRlZmF1bHRNZXNzYWdlID0gJ2NhbGwgY29udGFpbmVyIGVycm9yJykge1xuICBjb25zdCBlcnJvciA9IGRhdGEgaW5zdGFuY2VvZiBFcnJvciA/IGRhdGEgOiBuZXcgRXJyb3IoYFske3Njb3BlfV0gJHtkYXRhPy5tZXNzYWdlIHx8IGRlZmF1bHRNZXNzYWdlfWApXG4gIDsoZXJyb3IgYXMgYW55KS5jb2RlID0gZGF0YT8uY29kZSB8fCAnVU5LTk9XTl9FUlJPUidcbiAgcmV0dXJuIGVycm9yXG59XG5cbmV4cG9ydCBjbGFzcyBDbG91ZGJhc2VDb250YWluZXJzIHtcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IElDb250aWFuZXJDb25maWcgJiB7IGpzVXJsPzogeyB2ZW5kZXI/OiBzdHJpbmc7IHZtOiBzdHJpbmcgfSB9XG4gIHByaXZhdGUgd2FzbTogUHJvbWlzZTxXZWJBc3NlbWJseS5FeHBvcnRzPlxuICBwcml2YXRlIGNvbnRhaW5lckluaXRQcm9taXNlOiAvKiBQcm9taXNlPGFueT4qLyBhbnkgfCBudWxsXG4gIHByaXZhdGUgZGVmYXVsdEhlYWRlcnM6IHsgW3g6IHN0cmluZ106IGFueSB9XG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBJQ29udGlhbmVyQ29uZmlnKSB7XG4gICAgdGhpcy5jb25maWcgPSB7XG4gICAgICAuLi5jb25maWcsXG4gICAgICBqc1VybDpcbiAgICAgICAgdHlwZW9mIGNvbmZpZy5qc1VybCA9PT0gJ3N0cmluZydcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgIHZtOiBjb25maWcuanNVcmwsXG4gICAgICAgICAgfVxuICAgICAgICAgIDogKGNvbmZpZy5qc1VybCBhcyBhbnkpLFxuICAgIH1cbiAgICB0ID0gY29uZmlnLmkxOG4/LnQgfHwgKHN0ciA9PiBzdHIpXG5cbiAgICBpZiAoIXRoaXMuY29uZmlnLndhc21VcmwgJiYgdGhpcy5jb25maWcucHVibGljS2V5KSB7XG4gICAgICAvLyDpnZ4gd2FtcyDkuJTmnIkgcHVibGljIGtleSDliJnlj6/kvb/nlKjpu5jorqTnmoQganMtc2Rr77yM5peg6ZyA5qCh6aqMXG4gICAgfSBlbHNlIGlmICghdGhpcy5jb25maWcud2FzbVVybCAmJiAhdGhpcy5jb25maWcuanNVcmw/LnZtICYmICEoZ2xvYmFsVGhpcyBhcyBhbnkpLmNsb3VkYmFzZV9wcml2YXRlX2xpbmspIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGllUGFyYW1zRXJyb3IoYCR7Q09NUE9ORU5UX05BTUV9YCwgdCgn57y65bCRIHByaXZhdGVsaW5rIHNkayDlnLDlnYAnKSlcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jb25maWcud2FzbVVybCkge1xuICAgICAgdGhpcy53YXNtID0gZ2V0RXhwb3J0RnVuY3Rpb24odGhpcy5jb25maWcud2FzbVVybCkuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmpzVXJsKSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKCdsb2FkIHdhbXMgZXJyb3IsIGZhbGwgYmFjayB0byB1c2UganMnLCBlKVxuICAgICAgICAgIHJldHVybiBsb2FkSlNFeHBvcnRGdW5jdGlvbih0aGlzLmNvbmZpZy5qc1VybClcbiAgICAgICAgfVxuICAgICAgICBpZiAoKGdsb2JhbFRoaXMgYXMgYW55KS5jbG91ZGJhc2VfcHJpdmF0ZV9saW5rKSB7XG4gICAgICAgICAgcmV0dXJuIChnbG9iYWxUaGlzIGFzIGFueSkuY2xvdWRiYXNlX3ByaXZhdGVfbGlua1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVcbiAgICAgIH0pXG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy5qc1VybCB8fCB0aGlzLmNvbmZpZy5wdWJsaWNLZXkpIHtcbiAgICAgIHRoaXMud2FzbSA9IGxvYWRKU0V4cG9ydEZ1bmN0aW9uKHRoaXMuY29uZmlnLmpzVXJsKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLndhc20gPSBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICBpbml0Q29udGFpbmVyOiAoZ2xvYmFsVGhpcyBhcyBhbnkpLmNsb3VkYmFzZV9wcml2YXRlX2xpbmsuaW5pdENvbnRhaW5lcixcbiAgICAgICAgY2FsbENvbnRhaW5lcjogKGdsb2JhbFRoaXMgYXMgYW55KS5jbG91ZGJhc2VfcHJpdmF0ZV9saW5rLmNhbGxDb250YWluZXIsXG4gICAgICB9KVxuICAgIH1cblxuICAgIGxhbmdFdmVudC5idXMub24obGFuZ0V2ZW50LkxBTkdfQ0hBTkdFX0VWRU5ULCAocGFyYW1zKSA9PiB7XG4gICAgICB0ID0gcGFyYW1zLmRhdGE/LmkxOG4/LnQgfHwgKHN0ciA9PiBzdHIpXG4gICAgICB0aGlzLmRlZmF1bHRIZWFkZXJzID0geyAuLi50aGlzLmRlZmF1bHRIZWFkZXJzLCBbbGFuZ0V2ZW50LkxBTkdfQ0hBTkdFX0VWRU5UXTogcGFyYW1zLmRhdGE/LmkxOG4/LmxhbmcgfVxuICAgIH0pXG4gIH1cblxuICBAY2F0Y2hFcnJvcnNEZWNvcmF0b3Ioe1xuICAgIGN1c3RvbUluZm86IHtcbiAgICAgIGNsYXNzTmFtZTogJ0Nsb3VkYmFzZScsXG4gICAgICBtZXRob2ROYW1lOiAnY2FsbENvbnRhaW5lcicsXG4gICAgfSxcbiAgICB0aXRsZTogJ+iwg+eUqOWksei0pScsXG4gICAgbWVzc2FnZXM6IFtcbiAgICAgICfor7fnoa7orqTku6XkuIvlkITpobnvvJonLFxuICAgICAgJyAgMSAtIOiwg+eUqCBjYWxsQ29udGFpbmVyKCkg55qE6K+t5rOV5oiW5Y+C5pWw5piv5ZCm5q2j56GuJyxcbiAgICAgICcgIDIgLSDln5/lkI0gJiDot6/lvoTmmK/lkKblrZjlnKgnLFxuICAgICAgYOWmguaenOmXrumimOS+neeEtuWtmOWcqO+8jOW7uuiuruWIsOWumOaWuemXruetlOekvuWMuuaPkOmXruaIluWvu+aJvuW4ruWKqe+8miR7Q09NTVVOSVRZX1NJVEVfVVJMfWAsXG4gICAgXSxcbiAgfSlcbiAgcHVibGljIGFzeW5jIGNhbGxDb250YWluZXIob3B0aW9uczogSUNhbGxDb250YWluZXJPcHRpb25zLCBjYWxsYmFjaz86IEZ1bmN0aW9uKSB7XG4gICAgYXdhaXQgdGhpcy5pbml0Q29udGFpbmVyKHRoaXMuY29uZmlnKVxuICAgIGNvbnN0IFNDT1BFID0gYCR7Q09NUE9ORU5UX05BTUV9LmNhbGxDb250YWluZXJgXG4gICAgY29uc3QgeyBjYWxsQ29udGFpbmVyIH06IHsgY2FsbENvbnRhaW5lcjogKG9wdGlvbnM6IElDYWxsVGNiQ29udGFpbmVyT3B0aW9ucykgPT4gdm9pZCB9ID0gKGF3YWl0IHRoaXMud2FzbSkgYXMgYW55XG5cbiAgICBjb25zdCB7XG4gICAgICB1cmwsXG4gICAgICBtZXRob2QgPSAnR0VUJyxcbiAgICAgIGRhdGEsXG4gICAgICB0aW1lb3V0ID0gNjAwMDAsXG4gICAgICBkYXRhVHlwZSA9ICdqc29uJyxcbiAgICAgIHJlc3BvbnNlVHlwZSA9ICd0ZXh0JyxcbiAgICAgIC4uLnJlc3RPcHRpb25zXG4gICAgfSA9IHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfVxuXG4gICAgaWYgKCF1cmwpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGllUGFyYW1zRXJyb3IoU0NPUEUsICdpbnZhbGlkIHJlcXVlc3QgdXJsJylcbiAgICB9XG5cbiAgICBpZiAoIW1ldGhvZCkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWVQYXJhbXNFcnJvcihTQ09QRSwgJ2ludmFsaWQgcmVxdWVzdCBtZXRob2QnKVxuICAgIH1cblxuICAgIGNvbnN0IGhlYWRlciA9IHsgLi4udGhpcy5kZWZhdWx0SGVhZGVycywgLi4ub3B0aW9ucy5oZWFkZXIgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgICAgIHVybCxcbiAgICAgICAgICBtZXRob2QsXG4gICAgICAgICAgaGVhZGVyLFxuICAgICAgICAgIGRhdGE6IHNlcmlhbGl6ZVJlcXVlc3RCb2R5KGhlYWRlciwgZGF0YSwgbWV0aG9kKSxcbiAgICAgICAgICB0aW1lb3V0LFxuICAgICAgICAgIGRhdGFUeXBlLFxuICAgICAgICAgIHJlc3BvbnNlVHlwZSxcbiAgICAgICAgICAuLi5yZXN0T3B0aW9ucyxcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICBkYXRhXG4gICAgICAgICAgJiYgKGlzQnVmZmVyKHBhcmFtcy5kYXRhKSB8fCB0eXBlb2YgcGFyYW1zLmRhdGEgPT09ICdzdHJpbmcnKVxuICAgICAgICAgICYmIChkYXRhIGFzIGFueSk/Lmxlbmd0aCA+IDEwMDAgKiAxMDI0ICogMTBcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmVqZWN0KG5ldyBJbnZhbGllUGFyYW1zRXJyb3IoU0NPUEUsICdib2R5IHRvbyBsYXJnZScpKVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1ldGhvZCA9PT0gJ0dFVCcpIHtcbiAgICAgICAgICBsZXQgeyBkYXRhOiBnZXRCb2R5IH0gPSBwYXJhbXNcbiAgICAgICAgICBpZiAoZ2V0Qm9keSkge1xuICAgICAgICAgICAgcGFyYW1zLmRhdGEgPSB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCFpc0J1ZmZlcihnZXRCb2R5KSAmJiB0eXBlb2YgZ2V0Qm9keSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIGNvbnN0IGxpc3QgPSBPYmplY3QuZW50cmllcyhnZXRCb2R5IHx8IHt9KS5yZWR1Y2UoXG4gICAgICAgICAgICAgIChsaXN0LCBba2V5LCB2YWx1ZV06IFtzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW5dKSA9PiB7XG4gICAgICAgICAgICAgICAgbGlzdC5wdXNoKGAke2VuY29kZVVSSUNvbXBvbmVudChrZXkpfT0ke2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcodmFsdWUpKX1gKVxuICAgICAgICAgICAgICAgIHJldHVybiBsaXN0XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIFtdLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgaWYgKGxpc3QubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIGdldEJvZHkgPSBsaXN0LmpvaW4oJyYnKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0eXBlb2YgcGFyYW1zLmRhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJzZWRVcmwgPSBwYXJzZVVSTCh1cmwpXG4gICAgICAgICAgICBpZiAocGFyc2VkVXJsLnNlYXJjaCkge1xuICAgICAgICAgICAgICBwYXJzZWRVcmwuc2VhcmNoICs9IGAmJHtwYXJhbXMuZGF0YX1gXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBwYXJzZWRVcmwuc2VhcmNoID0gYD8ke3BhcmFtcy5kYXRhfWBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhcmFtcy51cmwgPSBwYXJzZWRVcmwuaHJlZlxuICAgICAgICAgICAgcGFyYW1zLmRhdGEgPSB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjYWxsQ29udGFpbmVyKHtcbiAgICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgICAgc3VjY2VzczogcmVzb2x2ZSxcbiAgICAgICAgICBmYWlsOiAocmVzKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IGRhdGEgfSA9IHJlcyB8fCB7fVxuICAgICAgICAgICAgcmVqZWN0KGdlbkNvbnRhaW5lckVycm9yKGRhdGEsIFNDT1BFLCAnY2FsbCBjb250YWluZXIgZXJyb3InKSlcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgfSlcbiAgICAgIHJldHVybiBleGVjQ2FsbGJhY2soY2FsbGJhY2ssIG51bGwsIHJlcylcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBleGVjQ2FsbGJhY2soY2FsbGJhY2ssIGUpXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgaW5pdENvbnRhaW5lcihjb25maWc6IE9taXQ8SUNvbnRpYW5lckNvbmZpZywgJ3dhc21VcmwnIHwgJ2pzVXJsJz4pIHtcbiAgICBjb25zdCB7IGluaXRDb250YWluZXIgfTogeyBpbml0Q29udGFpbmVyOiAob3B0aW9uczogSUluaXRUY2JDb250YWluZXJPcHRpb25zKSA9PiB2b2lkIH0gPSAoYXdhaXQgdGhpcy53YXNtKSBhcyBhbnlcbiAgICBpZiAoIXRoaXMuY29udGFpbmVySW5pdFByb21pc2UpIHtcbiAgICAgIHRoaXMuY29udGFpbmVySW5pdFByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGluaXRDb250YWluZXIoe1xuICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICBzdWNjZXNzOiAocmVzKSA9PiB7XG4gICAgICAgICAgICBpZiAoU3RyaW5nKHJlcy5zdGF0dXNDb2RlKSAhPT0gJzIwMCcpIHtcbiAgICAgICAgICAgICAgcmVqZWN0KGdlbkNvbnRhaW5lckVycm9yKHJlcy5kYXRhLCBgJHtDT01QT05FTlRfTkFNRX0uaW5pdENvbnRhaW5lcmAsICdpbml0IGNvbnRhaW5lciBmYWlsJykpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXNvbHZlKHJlcylcbiAgICAgICAgICB9LFxuICAgICAgICAgIGZhaWw6IChyZXMpID0+IHtcbiAgICAgICAgICAgIHJlamVjdChnZW5Db250YWluZXJFcnJvcihyZXMuZGF0YSwgYCR7Q09NUE9ORU5UX05BTUV9LmluaXRDb250YWluZXJgLCAnaW5pdCBjb250YWluZXIgZmFpbCcpKVxuICAgICAgICAgICAgdGhpcy5jb250YWluZXJJbml0UHJvbWlzZSA9IG51bGxcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgfSlcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jb250YWluZXJJbml0UHJvbWlzZVxuICB9XG59XG5cbmNvbnN0IGNvbXBvbmVudDogSUNsb3VkYmFzZUNvbXBvbmVudCA9IHtcbiAgbmFtZTogQ09NUE9ORU5UX05BTUUsXG4gIG5hbWVzcGFjZTogJ2NvbnRhaW5lcicsXG4gIGVudGl0eShjb25maWc6IElDb250aWFuZXJDb25maWcpIHtcbiAgICBpZiAodGhpcy5jb250YWluZXJJbnN0YW5jZSkge1xuICAgICAgcHJpbnRXYXJuKEVSUk9SUy5JTlZBTElEX09QRVJBVElPTiwgJ2V2ZXJ5IGNsb3VkYmFzZSBpbnN0YW5jZSBzaG91bGQgaGFzIG9ubHkgb25lIGNvbnRhaW5lciBvYmplY3QnKVxuICAgICAgcmV0dXJuIHRoaXMuY29udGFpbmVySW5zdGFuY2VcbiAgICB9XG5cbiAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBDbG91ZGJhc2VDb250YWluZXJzKGNvbmZpZylcbiAgICB0aGlzLmNvbnRhaW5lckluc3RhbmNlID0gaW5zdGFuY2VcbiAgICB0aGlzLmNhbGxDb250YWluZXIgPSBpbnN0YW5jZS5jYWxsQ29udGFpbmVyLmJpbmQoaW5zdGFuY2UpXG5cbiAgICByZXR1cm4gdGhpcy5jb250YWluZXJJbnN0YW5jZVxuICB9LFxufVxudHJ5IHtcbiAgY2xvdWRiYXNlLnJlZ2lzdGVyQ29tcG9uZW50KGNvbXBvbmVudClcbn0gY2F0Y2ggKGUpIHt9XG5cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlckNvbnRhaW5lcnMoYXBwOiBQaWNrPElDbG91ZGJhc2UsICdyZWdpc3RlckNvbXBvbmVudCc+KSB7XG4gIHRyeSB7XG4gICAgYXBwLnJlZ2lzdGVyQ29tcG9uZW50KGNvbXBvbmVudClcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnNvbGUud2FybihlKVxuICB9XG59XG4iXX0=
343
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdBLGtEQUEyRTtBQUMzRSxpQ0FBa0U7QUFDbEUseUNBQTRDO0FBR3BDLElBQUEsTUFBTSxHQUF5QixxQkFBUyxPQUFsQyxFQUFFLGtCQUFrQixHQUFLLHFCQUFTLG1CQUFkLENBQWM7QUFDeEMsSUFBQSxZQUFZLEdBQWdCLGlCQUFLLGFBQXJCLEVBQUUsU0FBUyxHQUFLLGlCQUFLLFVBQVYsQ0FBVTtBQUNqQyxJQUFBLG9CQUFvQixHQUFLLG1CQUFPLHFCQUFaLENBQVk7QUFHakMsSUFBSSxDQUFDLEdBQUcsVUFBQSxHQUFHLElBQUksT0FBQSxHQUFHLEVBQUgsQ0FBRyxDQUFBO0FBQWQsUUFBQSxDQUFDLEtBQWE7QUFHekIsSUFBSSxpQkFBaUIsR0FBYTtJQUNoQyxNQUFNLElBQUksS0FBSyxDQUFDLDRCQUFxQixJQUFBLFNBQUMsRUFBQyxLQUFLLENBQUMsQ0FBRSxDQUFDLENBQUE7QUFDbEQsQ0FBQyxDQUFBO0FBQ0QsSUFBSSxvQkFBb0IsR0FBYTtJQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLCtCQUF3QixJQUFBLFNBQUMsRUFBQyxLQUFLLENBQUMsQ0FBRSxDQUFDLENBQUE7QUFDckQsQ0FBQyxDQUFBO0FBRUQsSUFBSSxVQUFVLENBQUMsV0FBVyxFQUFFO0lBQzFCLGlCQUFpQixHQUFHO1FBQ2xCLElBQUksS0FBSyxDQUFDLElBQUEsU0FBQyxFQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQTtJQUNoQyxDQUFDLENBQUE7SUFDRCxvQkFBb0IsR0FBRyxVQUFVLEtBQUs7UUFDcEMsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLEtBQUssQ0FBQyxJQUFBLFNB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QUFBLEFBbkxELElBbUxDO0FBRUQsSUFBTSxTQUFTLEdBQXdCO0lBQ3JDLElBQUksRUFBRSwwQkFBYztJQUNwQixTQUFTLEVBQUUsV0FBVztJQUN0QixNQUFNLFlBQUMsTUFBd0I7UUFDN0IsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDMUIsU0FBUyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSwrREFBK0QsQ0FBQyxDQUFBO1lBQ3BHLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFBO1NBQzlCO1FBRUQsSUFBTSxRQUFRLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNoRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsUUFBUSxDQUFBO1FBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7UUFFMUQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUE7SUFDL0IsQ0FBQztDQUNGLENBQUE7QUFDRCxJQUFJO0lBQ0YsU0FBUyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFBO0NBQ3ZDO0FBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRTtBQUVkLFNBQWdCLGtCQUFrQixDQUFDLEdBQTBDO0lBQzNFLElBQUk7UUFDRixHQUFHLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUE7S0FDakM7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7S0FDaEI7QUFDSCxDQUFDO0FBTkQsZ0RBTUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQ2xvdWRiYXNlIH0gZnJvbSAnQGNsb3VkYmFzZS90eXBlcydcbmltcG9ydCB7IElDbG91ZGJhc2VDb21wb25lbnQgfSBmcm9tICdAY2xvdWRiYXNlL3R5cGVzL2NvbXBvbmVudCdcbmltcG9ydCB7IElDYWxsQ29udGFpbmVyT3B0aW9ucywgSUNvbnRpYW5lckNvbmZpZyB9IGZyb20gJ0BjbG91ZGJhc2UvdHlwZXMvY29udGFpbmVyJ1xuaW1wb3J0IHsgY29uc3RhbnRzLCB1dGlscywgaGVscGVycywgbGFuZ0V2ZW50IH0gZnJvbSAnQGNsb3VkYmFzZS91dGlsaXRpZXMnXG5pbXBvcnQgeyBpc0J1ZmZlciwgcGFyc2VVUkwsIHNlcmlhbGl6ZVJlcXVlc3RCb2R5IH0gZnJvbSAnLi91dGlscydcbmltcG9ydCB7IENPTVBPTkVOVF9OQU1FIH0gZnJvbSAnLi9jb25zdGFudHMnXG5cbmRlY2xhcmUgY29uc3QgY2xvdWRiYXNlOiBJQ2xvdWRiYXNlXG5jb25zdCB7IEVSUk9SUywgQ09NTVVOSVRZX1NJVEVfVVJMIH0gPSBjb25zdGFudHNcbmNvbnN0IHsgZXhlY0NhbGxiYWNrLCBwcmludFdhcm4gfSA9IHV0aWxzXG5jb25zdCB7IGNhdGNoRXJyb3JzRGVjb3JhdG9yIH0gPSBoZWxwZXJzXG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tbXV0YWJsZS1leHBvcnRzXG5leHBvcnQgbGV0IHQgPSBzdHIgPT4gc3RyXG5cbi8qIGVzbGludC1kaXNhYmxlICovXG5sZXQgZ2V0RXhwb3J0RnVuY3Rpb246IEZ1bmN0aW9uID0gKCkgPT4ge1xuICB0aHJvdyBuZXcgRXJyb3IoYGdldEV4cG9ydEZ1bmN0aW9uICR7dCgn5pyq5a6e546wJyl9YClcbn1cbmxldCBsb2FkSlNFeHBvcnRGdW5jdGlvbjogRnVuY3Rpb24gPSAoKSA9PiB7XG4gIHRocm93IG5ldyBFcnJvcihgbG9hZEpTRXhwb3J0RnVuY3Rpb24gJHt0KCfmnKrlrp7njrAnKX1gKVxufVxuXG5pZiAoZ2xvYmFsVGhpcy5JU19NUF9CVUlMRCkge1xuICBnZXRFeHBvcnRGdW5jdGlvbiA9IGZ1bmN0aW9uICgpIHtcbiAgICBuZXcgRXJyb3IodCgn5bCP56iL5bqP5LiN5pSv5oyBIHdhc20g5Yqg6L29JykpXG4gIH1cbiAgbG9hZEpTRXhwb3J0RnVuY3Rpb24gPSBmdW5jdGlvbiAoanNVcmwpIHtcbiAgICBpZiAoanNVcmwpIHtcbiAgICAgIG5ldyBFcnJvcih0KCflsI/nqIvluo/kuI3mlK/mjIHliqjmgIEganMg5Yqg6L29JykpXG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBpbml0Q29udGFpbmVyOiAoZ2xvYmFsVGhpcyBhcyBhbnkpLmNsb3VkYmFzZV9wcml2YXRlX2xpbmsuaW5pdENvbnRhaW5lcixcbiAgICAgIGNhbGxDb250YWluZXI6IChnbG9iYWxUaGlzIGFzIGFueSkuY2xvdWRiYXNlX3ByaXZhdGVfbGluay5jYWxsQ29udGFpbmVyLFxuICAgIH1cbiAgfVxufSBlbHNlIHtcbiAgY29uc3QgbG9hZGVyID0gcmVxdWlyZSgnLi91dGlscy9sb2FkZXInKVxuICBnZXRFeHBvcnRGdW5jdGlvbiA9IGxvYWRlci5nZXRFeHBvcnRGdW5jdGlvblxuICBsb2FkSlNFeHBvcnRGdW5jdGlvbiA9IGxvYWRlci5sb2FkSlNFeHBvcnRGdW5jdGlvblxufVxuLyogZXNsaW50LWVuYWJsZSAqL1xuXG5jbGFzcyBJbnZhbGllUGFyYW1zRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvZGU6IGFueVxuICBjb25zdHJ1Y3RvcihzY29wZSwgbWVzc2FnZSkge1xuICAgIGNvbnN0IG1zZyA9IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgIGNvZGU6IEVSUk9SUy5JTlZBTElEX1BBUkFNUyxcbiAgICAgIG1zZzogYFske3Njb3BlfV0gJHttZXNzYWdlfWAsXG4gICAgfSlcbiAgICBzdXBlcihtc2cpXG4gICAgdGhpcy5jb2RlID0gRVJST1JTLklOVkFMSURfUEFSQU1TXG4gIH1cbiAgdG9KU09OKCkge1xuICAgIHJldHVybiB7XG4gICAgICBjb2RlOiB0aGlzLmNvZGUsXG4gICAgICBtZXNzYWdlOiB0aGlzLm1lc3NhZ2UsXG4gICAgfVxuICB9XG59XG5cbmludGVyZmFjZSBJQ2FsbFRjYkNvbnRhaW5lck9wdGlvbnMgZXh0ZW5kcyBJQ2FsbENvbnRhaW5lck9wdGlvbnMge1xuICBzdWNjZXNzOiAocmVzOiB7IHN0YXR1c0NvZGU6IHN0cmluZyB8IG51bWJlcjsgaGVhZGVyOiBJQ2FsbENvbnRhaW5lck9wdGlvbnNbJ2hlYWRlciddOyBkYXRhOiBhbnkgfSkgPT4gdm9pZFxuICBmYWlsOiAocmVzOiB7IGRhdGE6IHsgY29kZTogbnVtYmVyOyBtZXNzYWdlOiBzdHJpbmcgfSB9KSA9PiB2b2lkXG59XG5cbmludGVyZmFjZSBJSW5pdFRjYkNvbnRhaW5lck9wdGlvbnMge1xuICBjb25maWc6IE9taXQ8SUNvbnRpYW5lckNvbmZpZywgJ3dhc21VcmwnIHwgJ2pzVXJsJz5cbiAgc3VjY2VzczogKHJlczogeyBzdGF0dXNDb2RlOiBzdHJpbmcgfCBudW1iZXI7IGhlYWRlcjogSUNhbGxDb250YWluZXJPcHRpb25zWydoZWFkZXInXTsgZGF0YTogYW55IH0pID0+IHZvaWRcbiAgZmFpbDogKHJlczogeyBkYXRhOiB7IGNvZGU6IG51bWJlcjsgbWVzc2FnZTogc3RyaW5nIH0gfSkgPT4gdm9pZFxufVxuXG5mdW5jdGlvbiBnZW5Db250YWluZXJFcnJvcihkYXRhLCBzY29wZSA9IENPTVBPTkVOVF9OQU1FLCBkZWZhdWx0TWVzc2FnZSA9ICdjYWxsIGNvbnRhaW5lciBlcnJvcicpIHtcbiAgY29uc3QgZXJyb3IgPSBkYXRhIGluc3RhbmNlb2YgRXJyb3IgPyBkYXRhIDogbmV3IEVycm9yKGBbJHtzY29wZX1dICR7ZGF0YT8ubWVzc2FnZSB8fCBkZWZhdWx0TWVzc2FnZX1gKVxuICA7KGVycm9yIGFzIGFueSkuY29kZSA9IGRhdGE/LmNvZGUgfHwgJ1VOS05PV05fRVJST1InXG4gIHJldHVybiBlcnJvclxufVxuXG5leHBvcnQgY2xhc3MgQ2xvdWRiYXNlQ29udGFpbmVycyB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnOiBJQ29udGlhbmVyQ29uZmlnICYgeyBqc1VybD86IHsgdmVuZGVyPzogc3RyaW5nOyB2bTogc3RyaW5nIH0gfVxuICBwcml2YXRlIHdhc206IFByb21pc2U8V2ViQXNzZW1ibHkuRXhwb3J0cz5cbiAgcHJpdmF0ZSBjb250YWluZXJJbml0UHJvbWlzZTogLyogUHJvbWlzZTxhbnk+Ki8gYW55IHwgbnVsbFxuICBwcml2YXRlIGRlZmF1bHRIZWFkZXJzOiB7IFt4OiBzdHJpbmddOiBhbnkgfVxuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogSUNvbnRpYW5lckNvbmZpZykge1xuICAgIHRoaXMuY29uZmlnID0ge1xuICAgICAgLi4uY29uZmlnLFxuICAgICAganNVcmw6XG4gICAgICAgIHR5cGVvZiBjb25maWcuanNVcmwgPT09ICdzdHJpbmcnXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICB2bTogY29uZmlnLmpzVXJsLFxuICAgICAgICAgIH1cbiAgICAgICAgICA6IChjb25maWcuanNVcmwgYXMgYW55KSxcbiAgICB9XG4gICAgdCA9IGNvbmZpZy5pMThuPy50IHx8IChzdHIgPT4gc3RyKVxuXG4gICAgaWYgKCF0aGlzLmNvbmZpZy53YXNtVXJsICYmIHRoaXMuY29uZmlnLnB1YmxpY0tleSkge1xuICAgICAgLy8g6Z2eIHdhbXMg5LiU5pyJIHB1YmxpYyBrZXkg5YiZ5Y+v5L2/55So6buY6K6k55qEIGpzLXNka++8jOaXoOmcgOagoemqjFxuICAgIH0gZWxzZSBpZiAoIXRoaXMuY29uZmlnLndhc21VcmwgJiYgIXRoaXMuY29uZmlnLmpzVXJsPy52bSAmJiAhKGdsb2JhbFRoaXMgYXMgYW55KS5jbG91ZGJhc2VfcHJpdmF0ZV9saW5rKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZVBhcmFtc0Vycm9yKGAke0NPTVBPTkVOVF9OQU1FfWAsIHQoJ+e8uuWwkSBwcml2YXRlbGluayBzZGsg5Zyw5Z2AJykpXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY29uZmlnLndhc21VcmwpIHtcbiAgICAgIHRoaXMud2FzbSA9IGdldEV4cG9ydEZ1bmN0aW9uKHRoaXMuY29uZmlnLndhc21VcmwpLmNhdGNoKChlKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5qc1VybCkge1xuICAgICAgICAgIGNvbnNvbGUud2FybignbG9hZCB3YW1zIGVycm9yLCBmYWxsIGJhY2sgdG8gdXNlIGpzJywgZSlcbiAgICAgICAgICByZXR1cm4gbG9hZEpTRXhwb3J0RnVuY3Rpb24odGhpcy5jb25maWcuanNVcmwpXG4gICAgICAgIH1cbiAgICAgICAgaWYgKChnbG9iYWxUaGlzIGFzIGFueSkuY2xvdWRiYXNlX3ByaXZhdGVfbGluaykge1xuICAgICAgICAgIHJldHVybiAoZ2xvYmFsVGhpcyBhcyBhbnkpLmNsb3VkYmFzZV9wcml2YXRlX2xpbmtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlXG4gICAgICB9KVxuICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcuanNVcmwgfHwgdGhpcy5jb25maWcucHVibGljS2V5KSB7XG4gICAgICB0aGlzLndhc20gPSBsb2FkSlNFeHBvcnRGdW5jdGlvbih0aGlzLmNvbmZpZy5qc1VybClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy53YXNtID0gUHJvbWlzZS5yZXNvbHZlKHtcbiAgICAgICAgaW5pdENvbnRhaW5lcjogKGdsb2JhbFRoaXMgYXMgYW55KS5jbG91ZGJhc2VfcHJpdmF0ZV9saW5rLmluaXRDb250YWluZXIsXG4gICAgICAgIGNhbGxDb250YWluZXI6IChnbG9iYWxUaGlzIGFzIGFueSkuY2xvdWRiYXNlX3ByaXZhdGVfbGluay5jYWxsQ29udGFpbmVyLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBsYW5nRXZlbnQuYnVzLm9uKGxhbmdFdmVudC5MQU5HX0NIQU5HRV9FVkVOVCwgKHBhcmFtcykgPT4ge1xuICAgICAgdCA9IHBhcmFtcy5kYXRhPy5pMThuPy50IHx8IChzdHIgPT4gc3RyKVxuICAgICAgdGhpcy5kZWZhdWx0SGVhZGVycyA9IHsgLi4udGhpcy5kZWZhdWx0SGVhZGVycywgW2xhbmdFdmVudC5MQU5HX0NIQU5HRV9FVkVOVF06IHBhcmFtcy5kYXRhPy5pMThuPy5sYW5nIH1cbiAgICB9KVxuICB9XG5cbiAgQGNhdGNoRXJyb3JzRGVjb3JhdG9yKHtcbiAgICBjdXN0b21JbmZvOiB7XG4gICAgICBjbGFzc05hbWU6ICdDbG91ZGJhc2UnLFxuICAgICAgbWV0aG9kTmFtZTogJ2NhbGxDb250YWluZXInLFxuICAgIH0sXG4gICAgdGl0bGU6ICfosIPnlKjlpLHotKUnLFxuICAgIG1lc3NhZ2VzOiBbXG4gICAgICAn6K+356Gu6K6k5Lul5LiL5ZCE6aG577yaJyxcbiAgICAgICcgIDEgLSDosIPnlKggY2FsbENvbnRhaW5lcigpIOeahOivreazleaIluWPguaVsOaYr+WQpuato+ehricsXG4gICAgICAnICAyIC0g5Z+f5ZCNICYg6Lev5b6E5piv5ZCm5a2Y5ZyoJyxcbiAgICAgIGDlpoLmnpzpl67popjkvp3nhLblrZjlnKjvvIzlu7rorq7liLDlrpjmlrnpl67nrZTnpL7ljLrmj5Dpl67miJblr7vmib7luK7liqnvvJoke0NPTU1VTklUWV9TSVRFX1VSTH1gLFxuICAgIF0sXG4gIH0pXG4gIHB1YmxpYyBhc3luYyBjYWxsQ29udGFpbmVyKG9wdGlvbnM6IElDYWxsQ29udGFpbmVyT3B0aW9ucywgY2FsbGJhY2s/OiBGdW5jdGlvbikge1xuICAgIGF3YWl0IHRoaXMuaW5pdENvbnRhaW5lcih0aGlzLmNvbmZpZylcbiAgICBjb25zdCBTQ09QRSA9IGAke0NPTVBPTkVOVF9OQU1FfS5jYWxsQ29udGFpbmVyYFxuICAgIGNvbnN0IHsgY2FsbENvbnRhaW5lciB9OiB7IGNhbGxDb250YWluZXI6IChvcHRpb25zOiBJQ2FsbFRjYkNvbnRhaW5lck9wdGlvbnMpID0+IHZvaWQgfSA9IChhd2FpdCB0aGlzLndhc20pIGFzIGFueVxuXG4gICAgY29uc3Qge1xuICAgICAgdXJsLFxuICAgICAgbWV0aG9kID0gJ0dFVCcsXG4gICAgICBkYXRhLFxuICAgICAgdGltZW91dCA9IDYwMDAwLFxuICAgICAgZGF0YVR5cGUgPSAnanNvbicsXG4gICAgICByZXNwb25zZVR5cGUgPSAndGV4dCcsXG4gICAgICAuLi5yZXN0T3B0aW9uc1xuICAgIH0gPSB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgIH1cblxuICAgIGlmICghdXJsKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZVBhcmFtc0Vycm9yKFNDT1BFLCAnaW52YWxpZCByZXF1ZXN0IHVybCcpXG4gICAgfVxuXG4gICAgaWYgKCFtZXRob2QpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGllUGFyYW1zRXJyb3IoU0NPUEUsICdpbnZhbGlkIHJlcXVlc3QgbWV0aG9kJylcbiAgICB9XG5cbiAgICBjb25zdCBoZWFkZXIgPSB7IC4uLnRoaXMuZGVmYXVsdEhlYWRlcnMsIC4uLm9wdGlvbnMuaGVhZGVyIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgICAgICB1cmwsXG4gICAgICAgICAgbWV0aG9kLFxuICAgICAgICAgIGhlYWRlcixcbiAgICAgICAgICBkYXRhOiBzZXJpYWxpemVSZXF1ZXN0Qm9keShoZWFkZXIsIGRhdGEsIG1ldGhvZCksXG4gICAgICAgICAgdGltZW91dCxcbiAgICAgICAgICBkYXRhVHlwZSxcbiAgICAgICAgICByZXNwb25zZVR5cGUsXG4gICAgICAgICAgLi4ucmVzdE9wdGlvbnMsXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgZGF0YVxuICAgICAgICAgICYmIChpc0J1ZmZlcihwYXJhbXMuZGF0YSkgfHwgdHlwZW9mIHBhcmFtcy5kYXRhID09PSAnc3RyaW5nJylcbiAgICAgICAgICAmJiAoZGF0YSBhcyBhbnkpPy5sZW5ndGggPiAxMDAwICogMTAyNCAqIDEwXG4gICAgICAgICkge1xuICAgICAgICAgIHJlamVjdChuZXcgSW52YWxpZVBhcmFtc0Vycm9yKFNDT1BFLCAnYm9keSB0b28gbGFyZ2UnKSlcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtZXRob2QgPT09ICdHRVQnKSB7XG4gICAgICAgICAgbGV0IHsgZGF0YTogZ2V0Qm9keSB9ID0gcGFyYW1zXG4gICAgICAgICAgaWYgKGdldEJvZHkpIHtcbiAgICAgICAgICAgIHBhcmFtcy5kYXRhID0gdW5kZWZpbmVkXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICghaXNCdWZmZXIoZ2V0Qm9keSkgJiYgdHlwZW9mIGdldEJvZHkgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBjb25zdCBsaXN0ID0gT2JqZWN0LmVudHJpZXMoZ2V0Qm9keSB8fCB7fSkucmVkdWNlKFxuICAgICAgICAgICAgICAobGlzdCwgW2tleSwgdmFsdWVdOiBbc3RyaW5nLCBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuXSkgPT4ge1xuICAgICAgICAgICAgICAgIGxpc3QucHVzaChgJHtlbmNvZGVVUklDb21wb25lbnQoa2V5KX09JHtlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKHZhbHVlKSl9YClcbiAgICAgICAgICAgICAgICByZXR1cm4gbGlzdFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBbXSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGlmIChsaXN0Lmxlbmd0aCkge1xuICAgICAgICAgICAgICBnZXRCb2R5ID0gbGlzdC5qb2luKCcmJylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodHlwZW9mIHBhcmFtcy5kYXRhID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgY29uc3QgcGFyc2VkVXJsID0gcGFyc2VVUkwodXJsKVxuICAgICAgICAgICAgaWYgKHBhcnNlZFVybC5zZWFyY2gpIHtcbiAgICAgICAgICAgICAgcGFyc2VkVXJsLnNlYXJjaCArPSBgJiR7cGFyYW1zLmRhdGF9YFxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcGFyc2VkVXJsLnNlYXJjaCA9IGA/JHtwYXJhbXMuZGF0YX1gXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYXJhbXMudXJsID0gcGFyc2VkVXJsLmhyZWZcbiAgICAgICAgICAgIHBhcmFtcy5kYXRhID0gdW5kZWZpbmVkXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY2FsbENvbnRhaW5lcih7XG4gICAgICAgICAgLi4ucGFyYW1zLFxuICAgICAgICAgIHN1Y2Nlc3M6IHJlc29sdmUsXG4gICAgICAgICAgZmFpbDogKHJlcykgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBkYXRhIH0gPSByZXMgfHwge31cbiAgICAgICAgICAgIHJlamVjdChnZW5Db250YWluZXJFcnJvcihkYXRhLCBTQ09QRSwgJ2NhbGwgY29udGFpbmVyIGVycm9yJykpXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcbiAgICAgIH0pXG4gICAgICByZXR1cm4gZXhlY0NhbGxiYWNrKGNhbGxiYWNrLCBudWxsLCByZXMpXG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgZXhlY0NhbGxiYWNrKGNhbGxiYWNrLCBlKVxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGluaXRDb250YWluZXIoY29uZmlnOiBPbWl0PElDb250aWFuZXJDb25maWcsICd3YXNtVXJsJyB8ICdqc1VybCc+KSB7XG4gICAgY29uc3QgeyBpbml0Q29udGFpbmVyIH06IHsgaW5pdENvbnRhaW5lcjogKG9wdGlvbnM6IElJbml0VGNiQ29udGFpbmVyT3B0aW9ucykgPT4gdm9pZCB9ID0gKGF3YWl0IHRoaXMud2FzbSkgYXMgYW55XG4gICAgaWYgKCF0aGlzLmNvbnRhaW5lckluaXRQcm9taXNlKSB7XG4gICAgICB0aGlzLmNvbnRhaW5lckluaXRQcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICBpbml0Q29udGFpbmVyKHtcbiAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgc3VjY2VzczogKHJlcykgPT4ge1xuICAgICAgICAgICAgaWYgKFN0cmluZyhyZXMuc3RhdHVzQ29kZSkgIT09ICcyMDAnKSB7XG4gICAgICAgICAgICAgIHJlamVjdChnZW5Db250YWluZXJFcnJvcihyZXMuZGF0YSwgYCR7Q09NUE9ORU5UX05BTUV9LmluaXRDb250YWluZXJgLCAnaW5pdCBjb250YWluZXIgZmFpbCcpKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVzb2x2ZShyZXMpXG4gICAgICAgICAgfSxcbiAgICAgICAgICBmYWlsOiAocmVzKSA9PiB7XG4gICAgICAgICAgICByZWplY3QoZ2VuQ29udGFpbmVyRXJyb3IocmVzLmRhdGEsIGAke0NPTVBPTkVOVF9OQU1FfS5pbml0Q29udGFpbmVyYCwgJ2luaXQgY29udGFpbmVyIGZhaWwnKSlcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVySW5pdFByb21pc2UgPSBudWxsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY29udGFpbmVySW5pdFByb21pc2VcbiAgfVxufVxuXG5jb25zdCBjb21wb25lbnQ6IElDbG91ZGJhc2VDb21wb25lbnQgPSB7XG4gIG5hbWU6IENPTVBPTkVOVF9OQU1FLFxuICBuYW1lc3BhY2U6ICdjb250YWluZXInLFxuICBlbnRpdHkoY29uZmlnOiBJQ29udGlhbmVyQ29uZmlnKSB7XG4gICAgaWYgKHRoaXMuY29udGFpbmVySW5zdGFuY2UpIHtcbiAgICAgIHByaW50V2FybihFUlJPUlMuSU5WQUxJRF9PUEVSQVRJT04sICdldmVyeSBjbG91ZGJhc2UgaW5zdGFuY2Ugc2hvdWxkIGhhcyBvbmx5IG9uZSBjb250YWluZXIgb2JqZWN0JylcbiAgICAgIHJldHVybiB0aGlzLmNvbnRhaW5lckluc3RhbmNlXG4gICAgfVxuXG4gICAgY29uc3QgaW5zdGFuY2UgPSBuZXcgQ2xvdWRiYXNlQ29udGFpbmVycyhjb25maWcpXG4gICAgdGhpcy5jb250YWluZXJJbnN0YW5jZSA9IGluc3RhbmNlXG4gICAgdGhpcy5jYWxsQ29udGFpbmVyID0gaW5zdGFuY2UuY2FsbENvbnRhaW5lci5iaW5kKGluc3RhbmNlKVxuXG4gICAgcmV0dXJuIHRoaXMuY29udGFpbmVySW5zdGFuY2VcbiAgfSxcbn1cbnRyeSB7XG4gIGNsb3VkYmFzZS5yZWdpc3RlckNvbXBvbmVudChjb21wb25lbnQpXG59IGNhdGNoIChlKSB7fVxuXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJDb250YWluZXJzKGFwcDogUGljazxJQ2xvdWRiYXNlLCAncmVnaXN0ZXJDb21wb25lbnQnPikge1xuICB0cnkge1xuICAgIGFwcC5yZWdpc3RlckNvbXBvbmVudChjb21wb25lbnQpXG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjb25zb2xlLndhcm4oZSlcbiAgfVxufVxuIl19
package/dist/esm/index.js CHANGED
@@ -335,4 +335,4 @@ export function registerContainers(app) {
335
335
  console.warn(e);
336
336
  }
337
337
  }
338
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUMzRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBR3BDLElBQUEsTUFBTSxHQUF5QixTQUFTLE9BQWxDLEVBQUUsa0JBQWtCLEdBQUssU0FBUyxtQkFBZCxDQUFjO0FBQ3hDLElBQUEsWUFBWSxHQUFnQixLQUFLLGFBQXJCLEVBQUUsU0FBUyxHQUFLLEtBQUssVUFBVixDQUFVO0FBQ2pDLElBQUEsb0JBQW9CLEdBQUssT0FBTyxxQkFBWixDQUFZO0FBRXhDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxVQUFBLEdBQUcsSUFBSSxPQUFBLEdBQUcsRUFBSCxDQUFHLENBQUE7QUFHekIsSUFBSSxpQkFBaUIsR0FBYTtJQUNoQyxNQUFNLElBQUksS0FBSyxDQUFDLDRCQUFxQixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUUsQ0FBQyxDQUFBO0FBQ2xELENBQUMsQ0FBQTtBQUNELElBQUksb0JBQW9CLEdBQWE7SUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBd0IsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFFLENBQUMsQ0FBQTtBQUNyRCxDQUFDLENBQUE7QUFFRCxJQUFJLFVBQVUsQ0FBQyxXQUFXLEVBQUU7SUFDMUIsaUJBQWlCLEdBQUc7UUFDbEIsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixD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QUFrQixDQUFFO2FBQ2xEO1NBQ0YsQ0FBQzs7aURBQ29FLFFBQVE7OzREQTRGN0U7SUF3QkgsMEJBQUM7Q0FBQSxBQW5MRCxJQW1MQztBQUVELElBQU0sU0FBUyxHQUF3QjtJQUNyQyxJQUFJLEVBQUUsY0FBYztJQUNwQixTQUFTLEVBQUUsV0FBVztJQUN0QixNQUFNLFlBQUMsTUFBd0I7UUFDN0IsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDMUIsU0FBUyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSwrREFBK0QsQ0FBQyxDQUFBO1lBQ3BHLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFBO1NBQzlCO1FBRUQsSUFBTSxRQUFRLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNoRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsUUFBUSxDQUFBO1FBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7UUFFMUQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUE7SUFDL0IsQ0FBQztDQUNGLENBQUE7QUFDRCxJQUFJO0lBQ0YsU0FBUyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFBO0NBQ3ZDO0FBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRTtBQUVkLE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxHQUEwQztJQUMzRSxJQUFJO1FBQ0YsR0FBRyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFBO0tBQ2pDO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDVixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0tBQ2hCO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElDbG91ZGJhc2UgfSBmcm9tICdAY2xvdWRiYXNlL3R5cGVzJ1xuaW1wb3J0IHsgSUNsb3VkYmFzZUNvbXBvbmVudCB9IGZyb20gJ0BjbG91ZGJhc2UvdHlwZXMvY29tcG9uZW50J1xuaW1wb3J0IHsgSUNhbGxDb250YWluZXJPcHRpb25zLCBJQ29udGlhbmVyQ29uZmlnIH0gZnJvbSAnQGNsb3VkYmFzZS90eXBlcy9jb250YWluZXInXG5pbXBvcnQgeyBjb25zdGFudHMsIHV0aWxzLCBoZWxwZXJzLCBsYW5nRXZlbnQgfSBmcm9tICdAY2xvdWRiYXNlL3V0aWxpdGllcydcbmltcG9ydCB7IGlzQnVmZmVyLCBwYXJzZVVSTCwgc2VyaWFsaXplUmVxdWVzdEJvZHkgfSBmcm9tICcuL3V0aWxzJ1xuaW1wb3J0IHsgQ09NUE9ORU5UX05BTUUgfSBmcm9tICcuL2NvbnN0YW50cydcblxuZGVjbGFyZSBjb25zdCBjbG91ZGJhc2U6IElDbG91ZGJhc2VcbmNvbnN0IHsgRVJST1JTLCBDT01NVU5JVFlfU0lURV9VUkwgfSA9IGNvbnN0YW50c1xuY29uc3QgeyBleGVjQ2FsbGJhY2ssIHByaW50V2FybiB9ID0gdXRpbHNcbmNvbnN0IHsgY2F0Y2hFcnJvcnNEZWNvcmF0b3IgfSA9IGhlbHBlcnNcblxuZXhwb3J0IGxldCB0ID0gc3RyID0+IHN0clxuXG4vKiBlc2xpbnQtZGlzYWJsZSAqL1xubGV0IGdldEV4cG9ydEZ1bmN0aW9uOiBGdW5jdGlvbiA9ICgpID0+IHtcbiAgdGhyb3cgbmV3IEVycm9yKGBnZXRFeHBvcnRGdW5jdGlvbiAke3QoJ+acquWunueOsCcpfWApXG59XG5sZXQgbG9hZEpTRXhwb3J0RnVuY3Rpb246IEZ1bmN0aW9uID0gKCkgPT4ge1xuICB0aHJvdyBuZXcgRXJyb3IoYGxvYWRKU0V4cG9ydEZ1bmN0aW9uICR7dCgn5pyq5a6e546wJyl9YClcbn1cblxuaWYgKGdsb2JhbFRoaXMuSVNfTVBfQlVJTEQpIHtcbiAgZ2V0RXhwb3J0RnVuY3Rpb24gPSBmdW5jdGlvbiAoKSB7XG4gICAgbmV3IEVycm9yKHQoJ+Wwj+eoi+W6j+S4jeaUr+aMgSB3YXNtIOWKoOi9vScpKVxuICB9XG4gIGxvYWRKU0V4cG9ydEZ1bmN0aW9uID0gZnVuY3Rpb24gKGpzVXJsKSB7XG4gICAgaWYgKGpzVXJsKSB7XG4gICAgICBuZXcgRXJyb3IodCgn5bCP56iL5bqP5LiN5pSv5oyB5Yqo5oCBIGpzIOWKoOi9vScpKVxuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgaW5pdENvbnRhaW5lcjogKGdsb2JhbFRoaXMgYXMgYW55KS5jbG91ZGJhc2VfcHJpdmF0ZV9saW5rLmluaXRDb250YWluZXIsXG4gICAgICBjYWxsQ29udGFpbmVyOiAoZ2xvYmFsVGhpcyBhcyBhbnkpLmNsb3VkYmFzZV9wcml2YXRlX2xpbmsuY2FsbENvbnRhaW5lcixcbiAgICB9XG4gIH1cbn0gZWxzZSB7XG4gIGNvbnN0IGxvYWRlciA9IHJlcXVpcmUoJy4vdXRpbHMvbG9hZGVyJylcbiAgZ2V0RXhwb3J0RnVuY3Rpb24gPSBsb2FkZXIuZ2V0RXhwb3J0RnVuY3Rpb25cbiAgbG9hZEpTRXhwb3J0RnVuY3Rpb24gPSBsb2FkZXIubG9hZEpTRXhwb3J0RnVuY3Rpb25cbn1cbi8qIGVzbGludC1lbmFibGUgKi9cblxuY2xhc3MgSW52YWxpZVBhcmFtc0Vycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb2RlOiBhbnlcbiAgY29uc3RydWN0b3Ioc2NvcGUsIG1lc3NhZ2UpIHtcbiAgICBjb25zdCBtc2cgPSBKU09OLnN0cmluZ2lmeSh7XG4gICAgICBjb2RlOiBFUlJPUlMuSU5WQUxJRF9QQVJBTVMsXG4gICAgICBtc2c6IGBbJHtzY29wZX1dICR7bWVzc2FnZX1gLFxuICAgIH0pXG4gICAgc3VwZXIobXNnKVxuICAgIHRoaXMuY29kZSA9IEVSUk9SUy5JTlZBTElEX1BBUkFNU1xuICB9XG4gIHRvSlNPTigpIHtcbiAgICByZXR1cm4ge1xuICAgICAgY29kZTogdGhpcy5jb2RlLFxuICAgICAgbWVzc2FnZTogdGhpcy5tZXNzYWdlLFxuICAgIH1cbiAgfVxufVxuXG5pbnRlcmZhY2UgSUNhbGxUY2JDb250YWluZXJPcHRpb25zIGV4dGVuZHMgSUNhbGxDb250YWluZXJPcHRpb25zIHtcbiAgc3VjY2VzczogKHJlczogeyBzdGF0dXNDb2RlOiBzdHJpbmcgfCBudW1iZXI7IGhlYWRlcjogSUNhbGxDb250YWluZXJPcHRpb25zWydoZWFkZXInXTsgZGF0YTogYW55IH0pID0+IHZvaWRcbiAgZmFpbDogKHJlczogeyBkYXRhOiB7IGNvZGU6IG51bWJlcjsgbWVzc2FnZTogc3RyaW5nIH0gfSkgPT4gdm9pZFxufVxuXG5pbnRlcmZhY2UgSUluaXRUY2JDb250YWluZXJPcHRpb25zIHtcbiAgY29uZmlnOiBPbWl0PElDb250aWFuZXJDb25maWcsICd3YXNtVXJsJyB8ICdqc1VybCc+XG4gIHN1Y2Nlc3M6IChyZXM6IHsgc3RhdHVzQ29kZTogc3RyaW5nIHwgbnVtYmVyOyBoZWFkZXI6IElDYWxsQ29udGFpbmVyT3B0aW9uc1snaGVhZGVyJ107IGRhdGE6IGFueSB9KSA9PiB2b2lkXG4gIGZhaWw6IChyZXM6IHsgZGF0YTogeyBjb2RlOiBudW1iZXI7IG1lc3NhZ2U6IHN0cmluZyB9IH0pID0+IHZvaWRcbn1cblxuZnVuY3Rpb24gZ2VuQ29udGFpbmVyRXJyb3IoZGF0YSwgc2NvcGUgPSBDT01QT05FTlRfTkFNRSwgZGVmYXVsdE1lc3NhZ2UgPSAnY2FsbCBjb250YWluZXIgZXJyb3InKSB7XG4gIGNvbnN0IGVycm9yID0gZGF0YSBpbnN0YW5jZW9mIEVycm9yID8gZGF0YSA6IG5ldyBFcnJvcihgWyR7c2NvcGV9XSAke2RhdGE/Lm1lc3NhZ2UgfHwgZGVmYXVsdE1lc3NhZ2V9YClcbiAgOyhlcnJvciBhcyBhbnkpLmNvZGUgPSBkYXRhPy5jb2RlIHx8ICdVTktOT1dOX0VSUk9SJ1xuICByZXR1cm4gZXJyb3Jcbn1cblxuZXhwb3J0IGNsYXNzIENsb3VkYmFzZUNvbnRhaW5lcnMge1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogSUNvbnRpYW5lckNvbmZpZyAmIHsganNVcmw/OiB7IHZlbmRlcj86IHN0cmluZzsgdm06IHN0cmluZyB9IH1cbiAgcHJpdmF0ZSB3YXNtOiBQcm9taXNlPFdlYkFzc2VtYmx5LkV4cG9ydHM+XG4gIHByaXZhdGUgY29udGFpbmVySW5pdFByb21pc2U6IC8qIFByb21pc2U8YW55PiovIGFueSB8IG51bGxcbiAgcHJpdmF0ZSBkZWZhdWx0SGVhZGVyczogeyBbeDogc3RyaW5nXTogYW55IH1cblxuICBjb25zdHJ1Y3Rvcihjb25maWc6IElDb250aWFuZXJDb25maWcpIHtcbiAgICB0aGlzLmNvbmZpZyA9IHtcbiAgICAgIC4uLmNvbmZpZyxcbiAgICAgIGpzVXJsOlxuICAgICAgICB0eXBlb2YgY29uZmlnLmpzVXJsID09PSAnc3RyaW5nJ1xuICAgICAgICAgID8ge1xuICAgICAgICAgICAgdm06IGNvbmZpZy5qc1VybCxcbiAgICAgICAgICB9XG4gICAgICAgICAgOiAoY29uZmlnLmpzVXJsIGFzIGFueSksXG4gICAgfVxuICAgIHQgPSBjb25maWcuaTE4bj8udCB8fCAoc3RyID0+IHN0cilcblxuICAgIGlmICghdGhpcy5jb25maWcud2FzbVVybCAmJiB0aGlzLmNvbmZpZy5wdWJsaWNLZXkpIHtcbiAgICAgIC8vIOmdniB3YW1zIOS4lOaciSBwdWJsaWMga2V5IOWImeWPr+S9v+eUqOm7mOiupOeahCBqcy1zZGvvvIzml6DpnIDmoKHpqoxcbiAgICB9IGVsc2UgaWYgKCF0aGlzLmNvbmZpZy53YXNtVXJsICYmICF0aGlzLmNvbmZpZy5qc1VybD8udm0gJiYgIShnbG9iYWxUaGlzIGFzIGFueSkuY2xvdWRiYXNlX3ByaXZhdGVfbGluaykge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWVQYXJhbXNFcnJvcihgJHtDT01QT05FTlRfTkFNRX1gLCB0KCfnvLrlsJEgcHJpdmF0ZWxpbmsgc2RrIOWcsOWdgCcpKVxuICAgIH1cblxuICAgIGlmICh0aGlzLmNvbmZpZy53YXNtVXJsKSB7XG4gICAgICB0aGlzLndhc20gPSBnZXRFeHBvcnRGdW5jdGlvbih0aGlzLmNvbmZpZy53YXNtVXJsKS5jYXRjaCgoZSkgPT4ge1xuICAgICAgICBpZiAodGhpcy5jb25maWcuanNVcmwpIHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oJ2xvYWQgd2FtcyBlcnJvciwgZmFsbCBiYWNrIHRvIHVzZSBqcycsIGUpXG4gICAgICAgICAgcmV0dXJuIGxvYWRKU0V4cG9ydEZ1bmN0aW9uKHRoaXMuY29uZmlnLmpzVXJsKVxuICAgICAgICB9XG4gICAgICAgIGlmICgoZ2xvYmFsVGhpcyBhcyBhbnkpLmNsb3VkYmFzZV9wcml2YXRlX2xpbmspIHtcbiAgICAgICAgICByZXR1cm4gKGdsb2JhbFRoaXMgYXMgYW55KS5jbG91ZGJhc2VfcHJpdmF0ZV9saW5rXG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZVxuICAgICAgfSlcbiAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLmpzVXJsIHx8IHRoaXMuY29uZmlnLnB1YmxpY0tleSkge1xuICAgICAgdGhpcy53YXNtID0gbG9hZEpTRXhwb3J0RnVuY3Rpb24odGhpcy5jb25maWcuanNVcmwpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMud2FzbSA9IFByb21pc2UucmVzb2x2ZSh7XG4gICAgICAgIGluaXRDb250YWluZXI6IChnbG9iYWxUaGlzIGFzIGFueSkuY2xvdWRiYXNlX3ByaXZhdGVfbGluay5pbml0Q29udGFpbmVyLFxuICAgICAgICBjYWxsQ29udGFpbmVyOiAoZ2xvYmFsVGhpcyBhcyBhbnkpLmNsb3VkYmFzZV9wcml2YXRlX2xpbmsuY2FsbENvbnRhaW5lcixcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgbGFuZ0V2ZW50LmJ1cy5vbihsYW5nRXZlbnQuTEFOR19DSEFOR0VfRVZFTlQsIChwYXJhbXMpID0+IHtcbiAgICAgIHQgPSBwYXJhbXMuZGF0YT8uaTE4bj8udCB8fCAoc3RyID0+IHN0cilcbiAgICAgIHRoaXMuZGVmYXVsdEhlYWRlcnMgPSB7IC4uLnRoaXMuZGVmYXVsdEhlYWRlcnMsIFtsYW5nRXZlbnQuTEFOR19DSEFOR0VfRVZFTlRdOiBwYXJhbXMuZGF0YT8uaTE4bj8ubGFuZyB9XG4gICAgfSlcbiAgfVxuXG4gIEBjYXRjaEVycm9yc0RlY29yYXRvcih7XG4gICAgY3VzdG9tSW5mbzoge1xuICAgICAgY2xhc3NOYW1lOiAnQ2xvdWRiYXNlJyxcbiAgICAgIG1ldGhvZE5hbWU6ICdjYWxsQ29udGFpbmVyJyxcbiAgICB9LFxuICAgIHRpdGxlOiAn6LCD55So5aSx6LSlJyxcbiAgICBtZXNzYWdlczogW1xuICAgICAgJ+ivt+ehruiupOS7peS4i+WQhOmhue+8micsXG4gICAgICAnICAxIC0g6LCD55SoIGNhbGxDb250YWluZXIoKSDnmoTor63ms5XmiJblj4LmlbDmmK/lkKbmraPnoa4nLFxuICAgICAgJyAgMiAtIOWfn+WQjSAmIOi3r+W+hOaYr+WQpuWtmOWcqCcsXG4gICAgICBg5aaC5p6c6Zeu6aKY5L6d54S25a2Y5Zyo77yM5bu66K6u5Yiw5a6Y5pa56Zeu562U56S+5Yy65o+Q6Zeu5oiW5a+75om+5biu5Yqp77yaJHtDT01NVU5JVFlfU0lURV9VUkx9YCxcbiAgICBdLFxuICB9KVxuICBwdWJsaWMgYXN5bmMgY2FsbENvbnRhaW5lcihvcHRpb25zOiBJQ2FsbENvbnRhaW5lck9wdGlvbnMsIGNhbGxiYWNrPzogRnVuY3Rpb24pIHtcbiAgICBhd2FpdCB0aGlzLmluaXRDb250YWluZXIodGhpcy5jb25maWcpXG4gICAgY29uc3QgU0NPUEUgPSBgJHtDT01QT05FTlRfTkFNRX0uY2FsbENvbnRhaW5lcmBcbiAgICBjb25zdCB7IGNhbGxDb250YWluZXIgfTogeyBjYWxsQ29udGFpbmVyOiAob3B0aW9uczogSUNhbGxUY2JDb250YWluZXJPcHRpb25zKSA9PiB2b2lkIH0gPSAoYXdhaXQgdGhpcy53YXNtKSBhcyBhbnlcblxuICAgIGNvbnN0IHtcbiAgICAgIHVybCxcbiAgICAgIG1ldGhvZCA9ICdHRVQnLFxuICAgICAgZGF0YSxcbiAgICAgIHRpbWVvdXQgPSA2MDAwMCxcbiAgICAgIGRhdGFUeXBlID0gJ2pzb24nLFxuICAgICAgcmVzcG9uc2VUeXBlID0gJ3RleHQnLFxuICAgICAgLi4ucmVzdE9wdGlvbnNcbiAgICB9ID0ge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9XG5cbiAgICBpZiAoIXVybCkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWVQYXJhbXNFcnJvcihTQ09QRSwgJ2ludmFsaWQgcmVxdWVzdCB1cmwnKVxuICAgIH1cblxuICAgIGlmICghbWV0aG9kKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZVBhcmFtc0Vycm9yKFNDT1BFLCAnaW52YWxpZCByZXF1ZXN0IG1ldGhvZCcpXG4gICAgfVxuXG4gICAgY29uc3QgaGVhZGVyID0geyAuLi50aGlzLmRlZmF1bHRIZWFkZXJzLCAuLi5vcHRpb25zLmhlYWRlciB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICAgICAgdXJsLFxuICAgICAgICAgIG1ldGhvZCxcbiAgICAgICAgICBoZWFkZXIsXG4gICAgICAgICAgZGF0YTogc2VyaWFsaXplUmVxdWVzdEJvZHkoaGVhZGVyLCBkYXRhLCBtZXRob2QpLFxuICAgICAgICAgIHRpbWVvdXQsXG4gICAgICAgICAgZGF0YVR5cGUsXG4gICAgICAgICAgcmVzcG9uc2VUeXBlLFxuICAgICAgICAgIC4uLnJlc3RPcHRpb25zLFxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIGRhdGFcbiAgICAgICAgICAmJiAoaXNCdWZmZXIocGFyYW1zLmRhdGEpIHx8IHR5cGVvZiBwYXJhbXMuZGF0YSA9PT0gJ3N0cmluZycpXG4gICAgICAgICAgJiYgKGRhdGEgYXMgYW55KT8ubGVuZ3RoID4gMTAwMCAqIDEwMjQgKiAxMFxuICAgICAgICApIHtcbiAgICAgICAgICByZWplY3QobmV3IEludmFsaWVQYXJhbXNFcnJvcihTQ09QRSwgJ2JvZHkgdG9vIGxhcmdlJykpXG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICBpZiAobWV0aG9kID09PSAnR0VUJykge1xuICAgICAgICAgIGxldCB7IGRhdGE6IGdldEJvZHkgfSA9IHBhcmFtc1xuICAgICAgICAgIGlmIChnZXRCb2R5KSB7XG4gICAgICAgICAgICBwYXJhbXMuZGF0YSA9IHVuZGVmaW5lZFxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoIWlzQnVmZmVyKGdldEJvZHkpICYmIHR5cGVvZiBnZXRCb2R5ICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgY29uc3QgbGlzdCA9IE9iamVjdC5lbnRyaWVzKGdldEJvZHkgfHwge30pLnJlZHVjZShcbiAgICAgICAgICAgICAgKGxpc3QsIFtrZXksIHZhbHVlXTogW3N0cmluZywgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbl0pID0+IHtcbiAgICAgICAgICAgICAgICBsaXN0LnB1c2goYCR7ZW5jb2RlVVJJQ29tcG9uZW50KGtleSl9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyh2YWx1ZSkpfWApXG4gICAgICAgICAgICAgICAgcmV0dXJuIGxpc3RcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgW10sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICBpZiAobGlzdC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgZ2V0Qm9keSA9IGxpc3Quam9pbignJicpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHR5cGVvZiBwYXJhbXMuZGF0YSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcnNlZFVybCA9IHBhcnNlVVJMKHVybClcbiAgICAgICAgICAgIGlmIChwYXJzZWRVcmwuc2VhcmNoKSB7XG4gICAgICAgICAgICAgIHBhcnNlZFVybC5zZWFyY2ggKz0gYCYke3BhcmFtcy5kYXRhfWBcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHBhcnNlZFVybC5zZWFyY2ggPSBgPyR7cGFyYW1zLmRhdGF9YFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGFyYW1zLnVybCA9IHBhcnNlZFVybC5ocmVmXG4gICAgICAgICAgICBwYXJhbXMuZGF0YSA9IHVuZGVmaW5lZFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNhbGxDb250YWluZXIoe1xuICAgICAgICAgIC4uLnBhcmFtcyxcbiAgICAgICAgICBzdWNjZXNzOiByZXNvbHZlLFxuICAgICAgICAgIGZhaWw6IChyZXMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgZGF0YSB9ID0gcmVzIHx8IHt9XG4gICAgICAgICAgICByZWplY3QoZ2VuQ29udGFpbmVyRXJyb3IoZGF0YSwgU0NPUEUsICdjYWxsIGNvbnRhaW5lciBlcnJvcicpKVxuICAgICAgICAgIH0sXG4gICAgICAgIH0pXG4gICAgICB9KVxuICAgICAgcmV0dXJuIGV4ZWNDYWxsYmFjayhjYWxsYmFjaywgbnVsbCwgcmVzKVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGV4ZWNDYWxsYmFjayhjYWxsYmFjaywgZSlcbiAgICB9XG4gIH1cblxuICBhc3luYyBpbml0Q29udGFpbmVyKGNvbmZpZzogT21pdDxJQ29udGlhbmVyQ29uZmlnLCAnd2FzbVVybCcgfCAnanNVcmwnPikge1xuICAgIGNvbnN0IHsgaW5pdENvbnRhaW5lciB9OiB7IGluaXRDb250YWluZXI6IChvcHRpb25zOiBJSW5pdFRjYkNvbnRhaW5lck9wdGlvbnMpID0+IHZvaWQgfSA9IChhd2FpdCB0aGlzLndhc20pIGFzIGFueVxuICAgIGlmICghdGhpcy5jb250YWluZXJJbml0UHJvbWlzZSkge1xuICAgICAgdGhpcy5jb250YWluZXJJbml0UHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgaW5pdENvbnRhaW5lcih7XG4gICAgICAgICAgY29uZmlnLFxuICAgICAgICAgIHN1Y2Nlc3M6IChyZXMpID0+IHtcbiAgICAgICAgICAgIGlmIChTdHJpbmcocmVzLnN0YXR1c0NvZGUpICE9PSAnMjAwJykge1xuICAgICAgICAgICAgICByZWplY3QoZ2VuQ29udGFpbmVyRXJyb3IocmVzLmRhdGEsIGAke0NPTVBPTkVOVF9OQU1FfS5pbml0Q29udGFpbmVyYCwgJ2luaXQgY29udGFpbmVyIGZhaWwnKSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlc29sdmUocmVzKVxuICAgICAgICAgIH0sXG4gICAgICAgICAgZmFpbDogKHJlcykgPT4ge1xuICAgICAgICAgICAgcmVqZWN0KGdlbkNvbnRhaW5lckVycm9yKHJlcy5kYXRhLCBgJHtDT01QT05FTlRfTkFNRX0uaW5pdENvbnRhaW5lcmAsICdpbml0IGNvbnRhaW5lciBmYWlsJykpXG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5lckluaXRQcm9taXNlID0gbnVsbFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pXG4gICAgICB9KVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNvbnRhaW5lckluaXRQcm9taXNlXG4gIH1cbn1cblxuY29uc3QgY29tcG9uZW50OiBJQ2xvdWRiYXNlQ29tcG9uZW50ID0ge1xuICBuYW1lOiBDT01QT05FTlRfTkFNRSxcbiAgbmFtZXNwYWNlOiAnY29udGFpbmVyJyxcbiAgZW50aXR5KGNvbmZpZzogSUNvbnRpYW5lckNvbmZpZykge1xuICAgIGlmICh0aGlzLmNvbnRhaW5lckluc3RhbmNlKSB7XG4gICAgICBwcmludFdhcm4oRVJST1JTLklOVkFMSURfT1BFUkFUSU9OLCAnZXZlcnkgY2xvdWRiYXNlIGluc3RhbmNlIHNob3VsZCBoYXMgb25seSBvbmUgY29udGFpbmVyIG9iamVjdCcpXG4gICAgICByZXR1cm4gdGhpcy5jb250YWluZXJJbnN0YW5jZVxuICAgIH1cblxuICAgIGNvbnN0IGluc3RhbmNlID0gbmV3IENsb3VkYmFzZUNvbnRhaW5lcnMoY29uZmlnKVxuICAgIHRoaXMuY29udGFpbmVySW5zdGFuY2UgPSBpbnN0YW5jZVxuICAgIHRoaXMuY2FsbENvbnRhaW5lciA9IGluc3RhbmNlLmNhbGxDb250YWluZXIuYmluZChpbnN0YW5jZSlcblxuICAgIHJldHVybiB0aGlzLmNvbnRhaW5lckluc3RhbmNlXG4gIH0sXG59XG50cnkge1xuICBjbG91ZGJhc2UucmVnaXN0ZXJDb21wb25lbnQoY29tcG9uZW50KVxufSBjYXRjaCAoZSkge31cblxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyQ29udGFpbmVycyhhcHA6IFBpY2s8SUNsb3VkYmFzZSwgJ3JlZ2lzdGVyQ29tcG9uZW50Jz4pIHtcbiAgdHJ5IHtcbiAgICBhcHAucmVnaXN0ZXJDb21wb25lbnQoY29tcG9uZW50KVxuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc29sZS53YXJuKGUpXG4gIH1cbn1cbiJdfQ==
338
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUMzRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBR3BDLElBQUEsTUFBTSxHQUF5QixTQUFTLE9BQWxDLEVBQUUsa0JBQWtCLEdBQUssU0FBUyxtQkFBZCxDQUFjO0FBQ3hDLElBQUEsWUFBWSxHQUFnQixLQUFLLGFBQXJCLEVBQUUsU0FBUyxHQUFLLEtBQUssVUFBVixDQUFVO0FBQ2pDLElBQUEsb0JBQW9CLEdBQUssT0FBTyxxQkFBWixDQUFZO0FBR3hDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxVQUFBLEdBQUcsSUFBSSxPQUFBLEdBQUcsRUFBSCxDQUFHLENBQUE7QUFHekIsSUFBSSxpQkFBaUIsR0FBYTtJQUNoQyxNQUFNLElBQUksS0FBSyxDQUFDLDRCQUFxQixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUUsQ0FBQyxDQUFBO0FBQ2xELENBQUMsQ0FBQTtBQUNELElBQUksb0JBQW9CLEdBQWE7SUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBd0IsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFFLENBQUMsQ0FBQTtBQUNyRCxDQUFDLENBQUE7QUFFRCxJQUFJLFVBQVUsQ0FBQyxXQUFXLEVBQUU7SUFDMUIsaUJBQWlCLEdBQUc7UUFDbEIsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixD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QUFrQixDQUFFO2FBQ2xEO1NBQ0YsQ0FBQzs7aURBQ29FLFFBQVE7OzREQTRGN0U7SUF3QkgsMEJBQUM7Q0FBQSxBQW5MRCxJQW1MQztBQUVELElBQU0sU0FBUyxHQUF3QjtJQUNyQyxJQUFJLEVBQUUsY0FBYztJQUNwQixTQUFTLEVBQUUsV0FBVztJQUN0QixNQUFNLFlBQUMsTUFBd0I7UUFDN0IsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDMUIsU0FBUyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSwrREFBK0QsQ0FBQyxDQUFBO1lBQ3BHLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFBO1NBQzlCO1FBRUQsSUFBTSxRQUFRLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNoRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsUUFBUSxDQUFBO1FBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7UUFFMUQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUE7SUFDL0IsQ0FBQztDQUNGLENBQUE7QUFDRCxJQUFJO0lBQ0YsU0FBUyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFBO0NBQ3ZDO0FBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRTtBQUVkLE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxHQUEwQztJQUMzRSxJQUFJO1FBQ0YsR0FBRyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFBO0tBQ2pDO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDVixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0tBQ2hCO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElDbG91ZGJhc2UgfSBmcm9tICdAY2xvdWRiYXNlL3R5cGVzJ1xuaW1wb3J0IHsgSUNsb3VkYmFzZUNvbXBvbmVudCB9IGZyb20gJ0BjbG91ZGJhc2UvdHlwZXMvY29tcG9uZW50J1xuaW1wb3J0IHsgSUNhbGxDb250YWluZXJPcHRpb25zLCBJQ29udGlhbmVyQ29uZmlnIH0gZnJvbSAnQGNsb3VkYmFzZS90eXBlcy9jb250YWluZXInXG5pbXBvcnQgeyBjb25zdGFudHMsIHV0aWxzLCBoZWxwZXJzLCBsYW5nRXZlbnQgfSBmcm9tICdAY2xvdWRiYXNlL3V0aWxpdGllcydcbmltcG9ydCB7IGlzQnVmZmVyLCBwYXJzZVVSTCwgc2VyaWFsaXplUmVxdWVzdEJvZHkgfSBmcm9tICcuL3V0aWxzJ1xuaW1wb3J0IHsgQ09NUE9ORU5UX05BTUUgfSBmcm9tICcuL2NvbnN0YW50cydcblxuZGVjbGFyZSBjb25zdCBjbG91ZGJhc2U6IElDbG91ZGJhc2VcbmNvbnN0IHsgRVJST1JTLCBDT01NVU5JVFlfU0lURV9VUkwgfSA9IGNvbnN0YW50c1xuY29uc3QgeyBleGVjQ2FsbGJhY2ssIHByaW50V2FybiB9ID0gdXRpbHNcbmNvbnN0IHsgY2F0Y2hFcnJvcnNEZWNvcmF0b3IgfSA9IGhlbHBlcnNcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1tdXRhYmxlLWV4cG9ydHNcbmV4cG9ydCBsZXQgdCA9IHN0ciA9PiBzdHJcblxuLyogZXNsaW50LWRpc2FibGUgKi9cbmxldCBnZXRFeHBvcnRGdW5jdGlvbjogRnVuY3Rpb24gPSAoKSA9PiB7XG4gIHRocm93IG5ldyBFcnJvcihgZ2V0RXhwb3J0RnVuY3Rpb24gJHt0KCfmnKrlrp7njrAnKX1gKVxufVxubGV0IGxvYWRKU0V4cG9ydEZ1bmN0aW9uOiBGdW5jdGlvbiA9ICgpID0+IHtcbiAgdGhyb3cgbmV3IEVycm9yKGBsb2FkSlNFeHBvcnRGdW5jdGlvbiAke3QoJ+acquWunueOsCcpfWApXG59XG5cbmlmIChnbG9iYWxUaGlzLklTX01QX0JVSUxEKSB7XG4gIGdldEV4cG9ydEZ1bmN0aW9uID0gZnVuY3Rpb24gKCkge1xuICAgIG5ldyBFcnJvcih0KCflsI/nqIvluo/kuI3mlK/mjIEgd2FzbSDliqDovb0nKSlcbiAgfVxuICBsb2FkSlNFeHBvcnRGdW5jdGlvbiA9IGZ1bmN0aW9uIChqc1VybCkge1xuICAgIGlmIChqc1VybCkge1xuICAgICAgbmV3IEVycm9yKHQoJ+Wwj+eoi+W6j+S4jeaUr+aMgeWKqOaAgSBqcyDliqDovb0nKSlcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGluaXRDb250YWluZXI6IChnbG9iYWxUaGlzIGFzIGFueSkuY2xvdWRiYXNlX3ByaXZhdGVfbGluay5pbml0Q29udGFpbmVyLFxuICAgICAgY2FsbENvbnRhaW5lcjogKGdsb2JhbFRoaXMgYXMgYW55KS5jbG91ZGJhc2VfcHJpdmF0ZV9saW5rLmNhbGxDb250YWluZXIsXG4gICAgfVxuICB9XG59IGVsc2Uge1xuICBjb25zdCBsb2FkZXIgPSByZXF1aXJlKCcuL3V0aWxzL2xvYWRlcicpXG4gIGdldEV4cG9ydEZ1bmN0aW9uID0gbG9hZGVyLmdldEV4cG9ydEZ1bmN0aW9uXG4gIGxvYWRKU0V4cG9ydEZ1bmN0aW9uID0gbG9hZGVyLmxvYWRKU0V4cG9ydEZ1bmN0aW9uXG59XG4vKiBlc2xpbnQtZW5hYmxlICovXG5cbmNsYXNzIEludmFsaWVQYXJhbXNFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29kZTogYW55XG4gIGNvbnN0cnVjdG9yKHNjb3BlLCBtZXNzYWdlKSB7XG4gICAgY29uc3QgbXNnID0gSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgY29kZTogRVJST1JTLklOVkFMSURfUEFSQU1TLFxuICAgICAgbXNnOiBgWyR7c2NvcGV9XSAke21lc3NhZ2V9YCxcbiAgICB9KVxuICAgIHN1cGVyKG1zZylcbiAgICB0aGlzLmNvZGUgPSBFUlJPUlMuSU5WQUxJRF9QQVJBTVNcbiAgfVxuICB0b0pTT04oKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvZGU6IHRoaXMuY29kZSxcbiAgICAgIG1lc3NhZ2U6IHRoaXMubWVzc2FnZSxcbiAgICB9XG4gIH1cbn1cblxuaW50ZXJmYWNlIElDYWxsVGNiQ29udGFpbmVyT3B0aW9ucyBleHRlbmRzIElDYWxsQ29udGFpbmVyT3B0aW9ucyB7XG4gIHN1Y2Nlc3M6IChyZXM6IHsgc3RhdHVzQ29kZTogc3RyaW5nIHwgbnVtYmVyOyBoZWFkZXI6IElDYWxsQ29udGFpbmVyT3B0aW9uc1snaGVhZGVyJ107IGRhdGE6IGFueSB9KSA9PiB2b2lkXG4gIGZhaWw6IChyZXM6IHsgZGF0YTogeyBjb2RlOiBudW1iZXI7IG1lc3NhZ2U6IHN0cmluZyB9IH0pID0+IHZvaWRcbn1cblxuaW50ZXJmYWNlIElJbml0VGNiQ29udGFpbmVyT3B0aW9ucyB7XG4gIGNvbmZpZzogT21pdDxJQ29udGlhbmVyQ29uZmlnLCAnd2FzbVVybCcgfCAnanNVcmwnPlxuICBzdWNjZXNzOiAocmVzOiB7IHN0YXR1c0NvZGU6IHN0cmluZyB8IG51bWJlcjsgaGVhZGVyOiBJQ2FsbENvbnRhaW5lck9wdGlvbnNbJ2hlYWRlciddOyBkYXRhOiBhbnkgfSkgPT4gdm9pZFxuICBmYWlsOiAocmVzOiB7IGRhdGE6IHsgY29kZTogbnVtYmVyOyBtZXNzYWdlOiBzdHJpbmcgfSB9KSA9PiB2b2lkXG59XG5cbmZ1bmN0aW9uIGdlbkNvbnRhaW5lckVycm9yKGRhdGEsIHNjb3BlID0gQ09NUE9ORU5UX05BTUUsIGRlZmF1bHRNZXNzYWdlID0gJ2NhbGwgY29udGFpbmVyIGVycm9yJykge1xuICBjb25zdCBlcnJvciA9IGRhdGEgaW5zdGFuY2VvZiBFcnJvciA/IGRhdGEgOiBuZXcgRXJyb3IoYFske3Njb3BlfV0gJHtkYXRhPy5tZXNzYWdlIHx8IGRlZmF1bHRNZXNzYWdlfWApXG4gIDsoZXJyb3IgYXMgYW55KS5jb2RlID0gZGF0YT8uY29kZSB8fCAnVU5LTk9XTl9FUlJPUidcbiAgcmV0dXJuIGVycm9yXG59XG5cbmV4cG9ydCBjbGFzcyBDbG91ZGJhc2VDb250YWluZXJzIHtcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IElDb250aWFuZXJDb25maWcgJiB7IGpzVXJsPzogeyB2ZW5kZXI/OiBzdHJpbmc7IHZtOiBzdHJpbmcgfSB9XG4gIHByaXZhdGUgd2FzbTogUHJvbWlzZTxXZWJBc3NlbWJseS5FeHBvcnRzPlxuICBwcml2YXRlIGNvbnRhaW5lckluaXRQcm9taXNlOiAvKiBQcm9taXNlPGFueT4qLyBhbnkgfCBudWxsXG4gIHByaXZhdGUgZGVmYXVsdEhlYWRlcnM6IHsgW3g6IHN0cmluZ106IGFueSB9XG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBJQ29udGlhbmVyQ29uZmlnKSB7XG4gICAgdGhpcy5jb25maWcgPSB7XG4gICAgICAuLi5jb25maWcsXG4gICAgICBqc1VybDpcbiAgICAgICAgdHlwZW9mIGNvbmZpZy5qc1VybCA9PT0gJ3N0cmluZydcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgIHZtOiBjb25maWcuanNVcmwsXG4gICAgICAgICAgfVxuICAgICAgICAgIDogKGNvbmZpZy5qc1VybCBhcyBhbnkpLFxuICAgIH1cbiAgICB0ID0gY29uZmlnLmkxOG4/LnQgfHwgKHN0ciA9PiBzdHIpXG5cbiAgICBpZiAoIXRoaXMuY29uZmlnLndhc21VcmwgJiYgdGhpcy5jb25maWcucHVibGljS2V5KSB7XG4gICAgICAvLyDpnZ4gd2FtcyDkuJTmnIkgcHVibGljIGtleSDliJnlj6/kvb/nlKjpu5jorqTnmoQganMtc2Rr77yM5peg6ZyA5qCh6aqMXG4gICAgfSBlbHNlIGlmICghdGhpcy5jb25maWcud2FzbVVybCAmJiAhdGhpcy5jb25maWcuanNVcmw/LnZtICYmICEoZ2xvYmFsVGhpcyBhcyBhbnkpLmNsb3VkYmFzZV9wcml2YXRlX2xpbmspIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGllUGFyYW1zRXJyb3IoYCR7Q09NUE9ORU5UX05BTUV9YCwgdCgn57y65bCRIHByaXZhdGVsaW5rIHNkayDlnLDlnYAnKSlcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jb25maWcud2FzbVVybCkge1xuICAgICAgdGhpcy53YXNtID0gZ2V0RXhwb3J0RnVuY3Rpb24odGhpcy5jb25maWcud2FzbVVybCkuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmpzVXJsKSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKCdsb2FkIHdhbXMgZXJyb3IsIGZhbGwgYmFjayB0byB1c2UganMnLCBlKVxuICAgICAgICAgIHJldHVybiBsb2FkSlNFeHBvcnRGdW5jdGlvbih0aGlzLmNvbmZpZy5qc1VybClcbiAgICAgICAgfVxuICAgICAgICBpZiAoKGdsb2JhbFRoaXMgYXMgYW55KS5jbG91ZGJhc2VfcHJpdmF0ZV9saW5rKSB7XG4gICAgICAgICAgcmV0dXJuIChnbG9iYWxUaGlzIGFzIGFueSkuY2xvdWRiYXNlX3ByaXZhdGVfbGlua1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVcbiAgICAgIH0pXG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy5qc1VybCB8fCB0aGlzLmNvbmZpZy5wdWJsaWNLZXkpIHtcbiAgICAgIHRoaXMud2FzbSA9IGxvYWRKU0V4cG9ydEZ1bmN0aW9uKHRoaXMuY29uZmlnLmpzVXJsKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLndhc20gPSBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICBpbml0Q29udGFpbmVyOiAoZ2xvYmFsVGhpcyBhcyBhbnkpLmNsb3VkYmFzZV9wcml2YXRlX2xpbmsuaW5pdENvbnRhaW5lcixcbiAgICAgICAgY2FsbENvbnRhaW5lcjogKGdsb2JhbFRoaXMgYXMgYW55KS5jbG91ZGJhc2VfcHJpdmF0ZV9saW5rLmNhbGxDb250YWluZXIsXG4gICAgICB9KVxuICAgIH1cblxuICAgIGxhbmdFdmVudC5idXMub24obGFuZ0V2ZW50LkxBTkdfQ0hBTkdFX0VWRU5ULCAocGFyYW1zKSA9PiB7XG4gICAgICB0ID0gcGFyYW1zLmRhdGE/LmkxOG4/LnQgfHwgKHN0ciA9PiBzdHIpXG4gICAgICB0aGlzLmRlZmF1bHRIZWFkZXJzID0geyAuLi50aGlzLmRlZmF1bHRIZWFkZXJzLCBbbGFuZ0V2ZW50LkxBTkdfQ0hBTkdFX0VWRU5UXTogcGFyYW1zLmRhdGE/LmkxOG4/LmxhbmcgfVxuICAgIH0pXG4gIH1cblxuICBAY2F0Y2hFcnJvcnNEZWNvcmF0b3Ioe1xuICAgIGN1c3RvbUluZm86IHtcbiAgICAgIGNsYXNzTmFtZTogJ0Nsb3VkYmFzZScsXG4gICAgICBtZXRob2ROYW1lOiAnY2FsbENvbnRhaW5lcicsXG4gICAgfSxcbiAgICB0aXRsZTogJ+iwg+eUqOWksei0pScsXG4gICAgbWVzc2FnZXM6IFtcbiAgICAgICfor7fnoa7orqTku6XkuIvlkITpobnvvJonLFxuICAgICAgJyAgMSAtIOiwg+eUqCBjYWxsQ29udGFpbmVyKCkg55qE6K+t5rOV5oiW5Y+C5pWw5piv5ZCm5q2j56GuJyxcbiAgICAgICcgIDIgLSDln5/lkI0gJiDot6/lvoTmmK/lkKblrZjlnKgnLFxuICAgICAgYOWmguaenOmXrumimOS+neeEtuWtmOWcqO+8jOW7uuiuruWIsOWumOaWuemXruetlOekvuWMuuaPkOmXruaIluWvu+aJvuW4ruWKqe+8miR7Q09NTVVOSVRZX1NJVEVfVVJMfWAsXG4gICAgXSxcbiAgfSlcbiAgcHVibGljIGFzeW5jIGNhbGxDb250YWluZXIob3B0aW9uczogSUNhbGxDb250YWluZXJPcHRpb25zLCBjYWxsYmFjaz86IEZ1bmN0aW9uKSB7XG4gICAgYXdhaXQgdGhpcy5pbml0Q29udGFpbmVyKHRoaXMuY29uZmlnKVxuICAgIGNvbnN0IFNDT1BFID0gYCR7Q09NUE9ORU5UX05BTUV9LmNhbGxDb250YWluZXJgXG4gICAgY29uc3QgeyBjYWxsQ29udGFpbmVyIH06IHsgY2FsbENvbnRhaW5lcjogKG9wdGlvbnM6IElDYWxsVGNiQ29udGFpbmVyT3B0aW9ucykgPT4gdm9pZCB9ID0gKGF3YWl0IHRoaXMud2FzbSkgYXMgYW55XG5cbiAgICBjb25zdCB7XG4gICAgICB1cmwsXG4gICAgICBtZXRob2QgPSAnR0VUJyxcbiAgICAgIGRhdGEsXG4gICAgICB0aW1lb3V0ID0gNjAwMDAsXG4gICAgICBkYXRhVHlwZSA9ICdqc29uJyxcbiAgICAgIHJlc3BvbnNlVHlwZSA9ICd0ZXh0JyxcbiAgICAgIC4uLnJlc3RPcHRpb25zXG4gICAgfSA9IHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfVxuXG4gICAgaWYgKCF1cmwpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGllUGFyYW1zRXJyb3IoU0NPUEUsICdpbnZhbGlkIHJlcXVlc3QgdXJsJylcbiAgICB9XG5cbiAgICBpZiAoIW1ldGhvZCkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWVQYXJhbXNFcnJvcihTQ09QRSwgJ2ludmFsaWQgcmVxdWVzdCBtZXRob2QnKVxuICAgIH1cblxuICAgIGNvbnN0IGhlYWRlciA9IHsgLi4udGhpcy5kZWZhdWx0SGVhZGVycywgLi4ub3B0aW9ucy5oZWFkZXIgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgICAgIHVybCxcbiAgICAgICAgICBtZXRob2QsXG4gICAgICAgICAgaGVhZGVyLFxuICAgICAgICAgIGRhdGE6IHNlcmlhbGl6ZVJlcXVlc3RCb2R5KGhlYWRlciwgZGF0YSwgbWV0aG9kKSxcbiAgICAgICAgICB0aW1lb3V0LFxuICAgICAgICAgIGRhdGFUeXBlLFxuICAgICAgICAgIHJlc3BvbnNlVHlwZSxcbiAgICAgICAgICAuLi5yZXN0T3B0aW9ucyxcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICBkYXRhXG4gICAgICAgICAgJiYgKGlzQnVmZmVyKHBhcmFtcy5kYXRhKSB8fCB0eXBlb2YgcGFyYW1zLmRhdGEgPT09ICdzdHJpbmcnKVxuICAgICAgICAgICYmIChkYXRhIGFzIGFueSk/Lmxlbmd0aCA+IDEwMDAgKiAxMDI0ICogMTBcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmVqZWN0KG5ldyBJbnZhbGllUGFyYW1zRXJyb3IoU0NPUEUsICdib2R5IHRvbyBsYXJnZScpKVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1ldGhvZCA9PT0gJ0dFVCcpIHtcbiAgICAgICAgICBsZXQgeyBkYXRhOiBnZXRCb2R5IH0gPSBwYXJhbXNcbiAgICAgICAgICBpZiAoZ2V0Qm9keSkge1xuICAgICAgICAgICAgcGFyYW1zLmRhdGEgPSB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCFpc0J1ZmZlcihnZXRCb2R5KSAmJiB0eXBlb2YgZ2V0Qm9keSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIGNvbnN0IGxpc3QgPSBPYmplY3QuZW50cmllcyhnZXRCb2R5IHx8IHt9KS5yZWR1Y2UoXG4gICAgICAgICAgICAgIChsaXN0LCBba2V5LCB2YWx1ZV06IFtzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW5dKSA9PiB7XG4gICAgICAgICAgICAgICAgbGlzdC5wdXNoKGAke2VuY29kZVVSSUNvbXBvbmVudChrZXkpfT0ke2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcodmFsdWUpKX1gKVxuICAgICAgICAgICAgICAgIHJldHVybiBsaXN0XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIFtdLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgaWYgKGxpc3QubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIGdldEJvZHkgPSBsaXN0LmpvaW4oJyYnKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0eXBlb2YgcGFyYW1zLmRhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJzZWRVcmwgPSBwYXJzZVVSTCh1cmwpXG4gICAgICAgICAgICBpZiAocGFyc2VkVXJsLnNlYXJjaCkge1xuICAgICAgICAgICAgICBwYXJzZWRVcmwuc2VhcmNoICs9IGAmJHtwYXJhbXMuZGF0YX1gXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBwYXJzZWRVcmwuc2VhcmNoID0gYD8ke3BhcmFtcy5kYXRhfWBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhcmFtcy51cmwgPSBwYXJzZWRVcmwuaHJlZlxuICAgICAgICAgICAgcGFyYW1zLmRhdGEgPSB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjYWxsQ29udGFpbmVyKHtcbiAgICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgICAgc3VjY2VzczogcmVzb2x2ZSxcbiAgICAgICAgICBmYWlsOiAocmVzKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IGRhdGEgfSA9IHJlcyB8fCB7fVxuICAgICAgICAgICAgcmVqZWN0KGdlbkNvbnRhaW5lckVycm9yKGRhdGEsIFNDT1BFLCAnY2FsbCBjb250YWluZXIgZXJyb3InKSlcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgfSlcbiAgICAgIHJldHVybiBleGVjQ2FsbGJhY2soY2FsbGJhY2ssIG51bGwsIHJlcylcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBleGVjQ2FsbGJhY2soY2FsbGJhY2ssIGUpXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgaW5pdENvbnRhaW5lcihjb25maWc6IE9taXQ8SUNvbnRpYW5lckNvbmZpZywgJ3dhc21VcmwnIHwgJ2pzVXJsJz4pIHtcbiAgICBjb25zdCB7IGluaXRDb250YWluZXIgfTogeyBpbml0Q29udGFpbmVyOiAob3B0aW9uczogSUluaXRUY2JDb250YWluZXJPcHRpb25zKSA9PiB2b2lkIH0gPSAoYXdhaXQgdGhpcy53YXNtKSBhcyBhbnlcbiAgICBpZiAoIXRoaXMuY29udGFpbmVySW5pdFByb21pc2UpIHtcbiAgICAgIHRoaXMuY29udGFpbmVySW5pdFByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGluaXRDb250YWluZXIoe1xuICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICBzdWNjZXNzOiAocmVzKSA9PiB7XG4gICAgICAgICAgICBpZiAoU3RyaW5nKHJlcy5zdGF0dXNDb2RlKSAhPT0gJzIwMCcpIHtcbiAgICAgICAgICAgICAgcmVqZWN0KGdlbkNvbnRhaW5lckVycm9yKHJlcy5kYXRhLCBgJHtDT01QT05FTlRfTkFNRX0uaW5pdENvbnRhaW5lcmAsICdpbml0IGNvbnRhaW5lciBmYWlsJykpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXNvbHZlKHJlcylcbiAgICAgICAgICB9LFxuICAgICAgICAgIGZhaWw6IChyZXMpID0+IHtcbiAgICAgICAgICAgIHJlamVjdChnZW5Db250YWluZXJFcnJvcihyZXMuZGF0YSwgYCR7Q09NUE9ORU5UX05BTUV9LmluaXRDb250YWluZXJgLCAnaW5pdCBjb250YWluZXIgZmFpbCcpKVxuICAgICAgICAgICAgdGhpcy5jb250YWluZXJJbml0UHJvbWlzZSA9IG51bGxcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgfSlcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jb250YWluZXJJbml0UHJvbWlzZVxuICB9XG59XG5cbmNvbnN0IGNvbXBvbmVudDogSUNsb3VkYmFzZUNvbXBvbmVudCA9IHtcbiAgbmFtZTogQ09NUE9ORU5UX05BTUUsXG4gIG5hbWVzcGFjZTogJ2NvbnRhaW5lcicsXG4gIGVudGl0eShjb25maWc6IElDb250aWFuZXJDb25maWcpIHtcbiAgICBpZiAodGhpcy5jb250YWluZXJJbnN0YW5jZSkge1xuICAgICAgcHJpbnRXYXJuKEVSUk9SUy5JTlZBTElEX09QRVJBVElPTiwgJ2V2ZXJ5IGNsb3VkYmFzZSBpbnN0YW5jZSBzaG91bGQgaGFzIG9ubHkgb25lIGNvbnRhaW5lciBvYmplY3QnKVxuICAgICAgcmV0dXJuIHRoaXMuY29udGFpbmVySW5zdGFuY2VcbiAgICB9XG5cbiAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBDbG91ZGJhc2VDb250YWluZXJzKGNvbmZpZylcbiAgICB0aGlzLmNvbnRhaW5lckluc3RhbmNlID0gaW5zdGFuY2VcbiAgICB0aGlzLmNhbGxDb250YWluZXIgPSBpbnN0YW5jZS5jYWxsQ29udGFpbmVyLmJpbmQoaW5zdGFuY2UpXG5cbiAgICByZXR1cm4gdGhpcy5jb250YWluZXJJbnN0YW5jZVxuICB9LFxufVxudHJ5IHtcbiAgY2xvdWRiYXNlLnJlZ2lzdGVyQ29tcG9uZW50KGNvbXBvbmVudClcbn0gY2F0Y2ggKGUpIHt9XG5cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlckNvbnRhaW5lcnMoYXBwOiBQaWNrPElDbG91ZGJhc2UsICdyZWdpc3RlckNvbXBvbmVudCc+KSB7XG4gIHRyeSB7XG4gICAgYXBwLnJlZ2lzdGVyQ29tcG9uZW50KGNvbXBvbmVudClcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnNvbGUud2FybihlKVxuICB9XG59XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudbase/container",
3
- "version": "3.0.0",
3
+ "version": "3.0.2",
4
4
  "description": "cloudbase javascript sdk functions componets",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -31,11 +31,11 @@
31
31
  "license": "Apache-2.0",
32
32
  "dependencies": {
33
33
  "@cloudbase/adapter-interface": "^0.7.1",
34
- "@cloudbase/utilities": "3.0.0"
34
+ "@cloudbase/utilities": "3.0.2"
35
35
  },
36
- "gitHead": "a70e7266db7be901d909b1fa63c1651e2a7943e4",
36
+ "gitHead": "56b879a3e173e64e44ca36c1260b3fc66d0e822a",
37
37
  "devDependencies": {
38
- "@cloudbase/types": "3.0.0",
38
+ "@cloudbase/types": "3.0.2",
39
39
  "terser-webpack-plugin": "^3.0.2",
40
40
  "webpack-bundle-analyzer": "^4.9.1"
41
41
  }
package/src/index.ts CHANGED
@@ -10,6 +10,7 @@ const { ERRORS, COMMUNITY_SITE_URL } = constants
10
10
  const { execCallback, printWarn } = utils
11
11
  const { catchErrorsDecorator } = helpers
12
12
 
13
+ // eslint-disable-next-line import/no-mutable-exports
13
14
  export let t = str => str
14
15
 
15
16
  /* eslint-disable */
package/tsconfig.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "extends": "../../tsconfig.base.json",
3
3
  "compilerOptions": {
4
- "module": "commonjs",
4
+ "module": "node16",
5
5
  "outDir": "dist/cjs",
6
6
  "rootDir": "src",
7
7
  },