import { __assign, __spreadArray } from "/_nuxt/node_modules/tslib/tslib.es6.js?v=e4f18c29"; import { cacheSizes } from "/_nuxt/node_modules/@apollo/client/utilities/caching/sizes.js?v=e4f18c29"; var globalCaches = {}; export function registerGlobalCache(name, getSize) { globalCaches[name] = getSize; } /** * For internal purposes only - please call `ApolloClient.getMemoryInternals` instead * @internal */ export var getApolloClientMemoryInternals = globalThis.__DEV__ !== false ? _getApolloClientMemoryInternals : undefined; /** * For internal purposes only - please call `ApolloClient.getMemoryInternals` instead * @internal */ export var getInMemoryCacheMemoryInternals = globalThis.__DEV__ !== false ? _getInMemoryCacheMemoryInternals : undefined; /** * For internal purposes only - please call `ApolloClient.getMemoryInternals` instead * @internal */ export var getApolloCacheMemoryInternals = globalThis.__DEV__ !== false ? _getApolloCacheMemoryInternals : undefined; function getCurrentCacheSizes() { // `defaultCacheSizes` is a `const enum` that will be inlined during build, so we have to reconstruct it's shape here var defaults = { parser: 1000 /* defaultCacheSizes["parser"] */, canonicalStringify: 1000 /* defaultCacheSizes["canonicalStringify"] */, print: 2000 /* defaultCacheSizes["print"] */, "documentTransform.cache": 2000 /* defaultCacheSizes["documentTransform.cache"] */, "queryManager.getDocumentInfo": 2000 /* defaultCacheSizes["queryManager.getDocumentInfo"] */, "PersistedQueryLink.persistedQueryHashes": 2000 /* defaultCacheSizes["PersistedQueryLink.persistedQueryHashes"] */, "fragmentRegistry.transform": 2000 /* defaultCacheSizes["fragmentRegistry.transform"] */, "fragmentRegistry.lookup": 1000 /* defaultCacheSizes["fragmentRegistry.lookup"] */, "fragmentRegistry.findFragmentSpreads": 4000 /* defaultCacheSizes["fragmentRegistry.findFragmentSpreads"] */, "cache.fragmentQueryDocuments": 1000 /* defaultCacheSizes["cache.fragmentQueryDocuments"] */, "removeTypenameFromVariables.getVariableDefinitions": 2000 /* defaultCacheSizes["removeTypenameFromVariables.getVariableDefinitions"] */, "inMemoryCache.maybeBroadcastWatch": 5000 /* defaultCacheSizes["inMemoryCache.maybeBroadcastWatch"] */, "inMemoryCache.executeSelectionSet": 50000 /* defaultCacheSizes["inMemoryCache.executeSelectionSet"] */, "inMemoryCache.executeSubSelectedArray": 10000 /* defaultCacheSizes["inMemoryCache.executeSubSelectedArray"] */, }; return Object.fromEntries(Object.entries(defaults).map(function (_a) { var k = _a[0], v = _a[1]; return [ k, cacheSizes[k] || v, ]; })); } function _getApolloClientMemoryInternals() { var _a, _b, _c, _d, _e; if (!(globalThis.__DEV__ !== false)) throw new Error("only supported in development mode"); return { limits: getCurrentCacheSizes(), sizes: __assign({ print: (_a = globalCaches.print) === null || _a === void 0 ? void 0 : _a.call(globalCaches), parser: (_b = globalCaches.parser) === null || _b === void 0 ? void 0 : _b.call(globalCaches), canonicalStringify: (_c = globalCaches.canonicalStringify) === null || _c === void 0 ? void 0 : _c.call(globalCaches), links: linkInfo(this.link), queryManager: { getDocumentInfo: this["queryManager"]["transformCache"].size, documentTransforms: transformInfo(this["queryManager"].documentTransform), } }, (_e = (_d = this.cache).getMemoryInternals) === null || _e === void 0 ? void 0 : _e.call(_d)), }; } function _getApolloCacheMemoryInternals() { return { cache: { fragmentQueryDocuments: getWrapperInformation(this["getFragmentDoc"]), }, }; } function _getInMemoryCacheMemoryInternals() { var fragments = this.config.fragments; return __assign(__assign({}, _getApolloCacheMemoryInternals.apply(this)), { addTypenameDocumentTransform: transformInfo(this["addTypenameTransform"]), inMemoryCache: { executeSelectionSet: getWrapperInformation(this["storeReader"]["executeSelectionSet"]), executeSubSelectedArray: getWrapperInformation(this["storeReader"]["executeSubSelectedArray"]), maybeBroadcastWatch: getWrapperInformation(this["maybeBroadcastWatch"]), }, fragmentRegistry: { findFragmentSpreads: getWrapperInformation(fragments === null || fragments === void 0 ? void 0 : fragments.findFragmentSpreads), lookup: getWrapperInformation(fragments === null || fragments === void 0 ? void 0 : fragments.lookup), transform: getWrapperInformation(fragments === null || fragments === void 0 ? void 0 : fragments.transform), } }); } function isWrapper(f) { return !!f && "dirtyKey" in f; } function getWrapperInformation(f) { return isWrapper(f) ? f.size : undefined; } function isDefined(value) { return value != null; } function transformInfo(transform) { return recurseTransformInfo(transform).map(function (cache) { return ({ cache: cache }); }); } function recurseTransformInfo(transform) { return transform ? __spreadArray(__spreadArray([ getWrapperInformation(transform === null || transform === void 0 ? void 0 : transform["performWork"]) ], recurseTransformInfo(transform === null || transform === void 0 ? void 0 : transform["left"]), true), recurseTransformInfo(transform === null || transform === void 0 ? void 0 : transform["right"]), true).filter(isDefined) : []; } function linkInfo(link) { var _a; return link ? __spreadArray(__spreadArray([ (_a = link === null || link === void 0 ? void 0 : link.getMemoryInternals) === null || _a === void 0 ? void 0 : _a.call(link) ], linkInfo(link === null || link === void 0 ? void 0 : link.left), true), linkInfo(link === null || link === void 0 ? void 0 : link.right), true).filter(isDefined) : []; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0TWVtb3J5SW50ZXJuYWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxpdGllcy9jYWNoaW5nL2dldE1lbW9yeUludGVybmFscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBU0EsT0FBTyxFQUFFLFVBQVUsRUFBcUIsTUFBTSxZQUFZLENBQUM7QUFFM0QsSUFBTSxZQUFZLEdBSWQsRUFBRSxDQUFDO0FBRVAsTUFBTSxVQUFVLG1CQUFtQixDQUNqQyxJQUErQixFQUMvQixPQUFxQjtJQUVyQixZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDO0FBQy9CLENBQUM7QUF3Q0Q7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLElBQU0sOEJBQThCLEdBQ3pDLE9BQU8sQ0FBQyxDQUFDO0lBQ04sK0JBRUM7SUFDSixDQUFDLENBQUMsU0FBUyxDQUFDO0FBRWQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLElBQU0sK0JBQStCLEdBQzFDLE9BQU8sQ0FBQyxDQUFDO0lBQ04sZ0NBRUM7SUFDSixDQUFDLENBQUMsU0FBUyxDQUFDO0FBRWQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLElBQU0sNkJBQTZCLEdBQ3hDLE9BQU8sQ0FBQyxDQUFDO0lBQ04sOEJBRUM7SUFDSixDQUFDLENBQUMsU0FBUyxDQUFDO0FBRWQsU0FBUyxvQkFBb0I7SUFDM0IscUhBQXFIO0lBQ3JILElBQU0sUUFBUSxHQUFxQztRQUNqRCxNQUFNLHdDQUE2QjtRQUNuQyxrQkFBa0Isb0RBQXlDO1FBQzNELEtBQUssdUNBQTRCO1FBQ2pDLHlCQUF5Qix5REFBOEM7UUFDdkUsOEJBQThCLDhEQUNxQjtRQUNuRCx5Q0FBeUMseUVBQ3FCO1FBQzlELDRCQUE0Qiw0REFDcUI7UUFDakQseUJBQXlCLHlEQUE4QztRQUN2RSxzQ0FBc0Msc0VBQ3FCO1FBQzNELDhCQUE4Qiw4REFDcUI7UUFDbkQsb0RBQW9ELG9GQUNxQjtRQUN6RSxtQ0FBbUMsbUVBQ3FCO1FB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SUFDL0MsT0FBTyxLQUFLLElBQUksSUFBSSxDQUFDO0FBQ3ZCLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxTQUE2QjtJQUNsRCxPQUFPLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFDLEtBQUssSUFBSyxPQUFBLENBQUMsRUFBRSxLQUFLLE9BQUEsRUFBRSxDQUFDLEVBQVgsQ0FBVyxDQUFDLENBQUM7QUFDckUsQ0FBQztBQUVELFNBQVMsb0JBQW9CLENBQUMsU0FBNkI7SUFDekQsT0FBTyxTQUFTLENBQUMsQ0FBQztRQUNkO1lBQ0UscUJBQXFCLENBQUMsU0FBUyxhQUFULFNBQVMsdUJBQVQsU0FBUyxDQUFHLGFBQWEsQ0FBQyxDQUFDO1dBQzlDLG9CQUFvQixDQUFDLFNBQVMsYUFBVCxTQUFTLHVCQUFULFNBQVMsQ0FBRyxNQUFNLENBQUMsQ0FBQyxTQUN6QyxvQkFBb0IsQ0FBQyxTQUFTLGFBQVQsU0FBUyx1QkFBVCxTQUFTLENBQUcsT0FBTyxDQUFDLENBQUMsUUFDN0MsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUNyQixDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ1QsQ0FBQztBQUVELFNBQVMsUUFBUSxDQUFDLElBQWlCOztJQUNqQyxPQUFPLElBQUksQ0FBQyxDQUFDO1FBQ1Q7WUFDRSxNQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxrQkFBa0Isb0RBQUk7V0FDekIsUUFBUSxDQUFDLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxJQUFJLENBQUMsU0FDcEIsUUFBUSxDQUFDLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxLQUFLLENBQUMsUUFDeEIsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUNyQixDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ1QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgT3B0aW1pc3RpY1dyYXBwZXJGdW5jdGlvbiB9IGZyb20gXCJvcHRpbWlzbVwiO1xuaW1wb3J0IHR5cGUge1xuICBJbk1lbW9yeUNhY2hlLFxuICBEb2N1bWVudFRyYW5zZm9ybSxcbiAgQXBvbGxvTGluayxcbiAgQXBvbGxvQ2FjaGUsXG59IGZyb20gXCIuLi8uLi9jb3JlL2luZGV4LmpzXCI7XG5pbXBvcnQgdHlwZSB7IEFwb2xsb0NsaWVudCB9IGZyb20gXCIuLi8uLi9jb3JlL2luZGV4LmpzXCI7XG5pbXBvcnQgdHlwZSB7IENhY2hlU2l6ZXMgfSBmcm9tIFwiLi9zaXplcy5qc1wiO1xuaW1wb3J0IHsgY2FjaGVTaXplcywgZGVmYXVsdENhY2hlU2l6ZXMgfSBmcm9tIFwiLi9zaXplcy5qc1wiO1xuXG5jb25zdCBnbG9iYWxDYWNoZXM6IHtcbiAgcHJpbnQ/OiAoKSA9PiBudW1iZXI7XG4gIHBhcnNlcj86ICgpID0+IG51bWJlcjtcbiAgY2Fub25pY2FsU3RyaW5naWZ5PzogKCkgPT4gbnVtYmVyO1xufSA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJHbG9iYWxDYWNoZShcbiAgbmFtZToga2V5b2YgdHlwZW9mIGdsb2JhbENhY2hlcyxcbiAgZ2V0U2l6ZTogKCkgPT4gbnVtYmVyXG4pIHtcbiAgZ2xvYmFsQ2FjaGVzW25hbWVdID0gZ2V0U2l6ZTtcbn1cblxuLyoqXG4gKiBUcmFuc2Zvcm1hdGl2ZSBoZWxwZXIgdHlwZSB0byB0dXJuIGEgZnVuY3Rpb24gb2YgdGhlIGZvcm1cbiAqIGBgYHRzXG4gKiAodGhpczogYW55KSA9PiBSXG4gKiBgYGBcbiAqIGludG8gYSBmdW5jdGlvbiBvZiB0aGUgZm9ybVxuICogYGBgdHNcbiAqICgpID0+IFJcbiAqIGBgYFxuICogcHJlc2VydmluZyB0aGUgcmV0dXJuIHR5cGUsIGJ1dCByZW1vdmluZyB0aGUgYHRoaXNgIHBhcmFtZXRlci5cbiAqXG4gKiBAcmVtYXJrc1xuICpcbiAqIEZ1cnRoZXIgZG93biBpbiB0aGUgZGVmaW5pdGlvbnMgb2YgYF9nZXRBcG9sbG9DbGllbnRNZW1vcnlJbnRlcm5hbHNgLFxuICogYF9nZXRBcG9sbG9DYWNoZU1lbW9yeUludGVybmFsc2AgYW5kIGBfZ2V0SW5NZW1vcnlDYWNoZU1lbW9yeUludGVybmFsc2AsXG4gKiBoYXZpbmcgdGhlIGB0aGlzYCBwYXJhbWV0ZXIgYW5ub3RhdGlvbiBpcyBleHRyZW1lbHkgdXNlZnVsIGZvciB0eXBlIGNoZWNraW5nXG4gKiBpbnNpZGUgdGhlIGZ1bmN0aW9uLlxuICpcbiAqIElmIHRoaXMgaXMgcHJlc2VydmVkIGluIHRoZSBleHBvcnRlZCB0eXBlcywgdGhvdWdoLCBpdCBsZWFkcyB0byBhIHNpdHVhdGlvblxuICogd2hlcmUgYEFwb2xsb0NhY2hlLmdldE1lbW9yeUludGVybmFsc2AgaXMgYSBmdW5jdGlvbiB0aGF0IHJlcXVpcmVzIGEgYHRoaXNgXG4gKiBvZiB0aGUgdHlwZSBgQXBvbGxvQ2FjaGVgLCB3aGlsZSB0aGUgZXh0ZW5kaW5nIGNsYXNzIGBJbk1lbW9yeUNhY2hlYCBoYXMgYVxuICogYGdldE1lbW9yeUludGVybmFsc2AgZnVuY3Rpb24gdGhhdCByZXF1aXJlcyBhIGB0aGlzYCBvZiB0aGUgdHlwZVxuICogYEluTWVtb3J5Q2FjaGVgLlxuICogVGhpcyBpcyBub3QgY29tcGF0aWJsZSB3aXRoIFR5cGVTY3JpcHQncyBpbmhlcml0ZW5jZSBzeXN0ZW0gKGFsdGhvdWdoIGl0IGlzXG4gKiBwZXJmZWN0bHkgY29ycmVjdCksIGFuZCBzbyBUeXBlU2NyaXB0IHdpbGwgY29tcGxhaW4gbG91ZGx5LlxuICpcbiAqIFdlIHN0aWxsIHdhbnQgdG8gZGVmaW5lIG91ciBmdW5jdGlvbnMgd2l0aCB0aGUgYHRoaXNgIGFubm90YXRpb24sIHRob3VnaCxcbiAqIGFuZCBoYXZlIHRoZSByZXR1cm4gdHlwZSBpbmZlcnJlZC5cbiAqIChUaGlzIHJlcXVpcmVtZW50IGZvciByZXR1cm4gdHlwZSBpbmZlcmVuY2UgaGVyZSBtYWtlcyBpdCBpbXBvc3NpYmxlIHRvIHVzZVxuICogYSBmdW5jdGlvbiBvdmVybG9hZCB0aGF0IGlzIG1vcmUgZXhwbGljaXQgb24gdGhlIGlubmVyIG92ZXJsb2FkIHRoYW4gaXQgaXNcbiAqIG9uIHRoZSBleHRlcm5hbCBvdmVybG9hZC4pXG4gKlxuICogU28gaW4gdGhlIGVuZCwgd2UgdXNlIHRoaXMgaGVscGVyIHRvIHJlbW92ZSB0aGUgYHRoaXNgIGFubm90YXRpb24gZnJvbSB0aGVcbiAqIGV4cG9ydGVkIGZ1bmN0aW9uIHR5cGVzLCB3aGlsZSBrZWVwaW5nIGl0IGluIHRoZSBpbnRlcm5hbCBpbXBsZW1lbnRhdGlvbi5cbiAqXG4gKi9cbnR5cGUgUmVtb3ZlVGhpczxUPiA9IFQgZXh0ZW5kcyAodGhpczogYW55KSA9PiBpbmZlciBSID8gKCkgPT4gUiA6IG5ldmVyO1xuXG4vKipcbiAqIEZvciBpbnRlcm5hbCBwdXJwb3NlcyBvbmx5IC0gcGxlYXNlIGNhbGwgYEFwb2xsb0NsaWVudC5nZXRNZW1vcnlJbnRlcm5hbHNgIGluc3RlYWRcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgZ2V0QXBvbGxvQ2xpZW50TWVtb3J5SW50ZXJuYWxzID1cbiAgX19ERVZfXyA/XG4gICAgKF9nZXRBcG9sbG9DbGllbnRNZW1vcnlJbnRlcm5hbHMgYXMgUmVtb3ZlVGhpczxcbiAgICAgIHR5cGVvZiBfZ2V0QXBvbGxvQ2xpZW50TWVtb3J5SW50ZXJuYWxzXG4gICAgPilcbiAgOiB1bmRlZmluZWQ7XG5cbi8qKlxuICogRm9yIGludGVybmFsIHB1cnBvc2VzIG9ubHkgLSBwbGVhc2UgY2FsbCBgQXBvbGxvQ2xpZW50LmdldE1lbW9yeUludGVybmFsc2AgaW5zdGVhZFxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRJbk1lbW9yeUNhY2hlTWVtb3J5SW50ZXJuYWxzID1cbiAgX19ERVZfXyA/XG4gICAgKF9nZXRJbk1lbW9yeUNhY2hlTWVtb3J5SW50ZXJuYWxzIGFzIFJlbW92ZVRoaXM8XG4gICAgICB0eXBlb2YgX2dldEluTWVtb3J5Q2FjaGVNZW1vcnlJbnRlcm5hbHNcbiAgICA+KVxuICA6IHVuZGVmaW5lZDtcblxuLyoqXG4gKiBGb3IgaW50ZXJuYWwgcHVycG9zZXMgb25seSAtIHBsZWFzZSBjYWxsIGBBcG9sbG9DbGllbnQuZ2V0TWVtb3J5SW50ZXJuYWxzYCBpbnN0ZWFkXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEFwb2xsb0NhY2hlTWVtb3J5SW50ZXJuYWxzID1cbiAgX19ERVZfXyA/XG4gICAgKF9nZXRBcG9sbG9DYWNoZU1lbW9yeUludGVybmFscyBhcyBSZW1vdmVUaGlzPFxuICAgICAgdHlwZW9mIF9nZXRBcG9sbG9DYWNoZU1lbW9yeUludGVybmFsc1xuICAgID4pXG4gIDogdW5kZWZpbmVkO1xuXG5mdW5jdGlvbiBnZXRDdXJyZW50Q2FjaGVTaXplcygpIHtcbiAgLy8gYGRlZmF1bHRDYWNoZVNpemVzYCBpcyBhIGBjb25zdCBlbnVtYCB0aGF0IHdpbGwgYmUgaW5saW5lZCBkdXJpbmcgYnVpbGQsIHNvIHdlIGhhdmUgdG8gcmVjb25zdHJ1Y3QgaXQncyBzaGFwZSBoZXJlXG4gIGNvbnN0IGRlZmF1bHRzOiBSZWNvcmQ8a2V5b2YgQ2FjaGVTaXplcywgbnVtYmVyPiA9IHtcbiAgICBwYXJzZXI6IGRlZmF1bHRDYWNoZVNpemVzW1wicGFyc2VyXCJdLFxuICAgIGNhbm9uaWNhbFN0cmluZ2lmeTogZGVmYXVsdENhY2hlU2l6ZXNbXCJjYW5vbmljYWxTdHJpbmdpZnlcIl0sXG4gICAgcHJpbnQ6IGRlZmF1bHRDYWNoZVNpemVzW1wicHJpbnRcIl0sXG4gICAgXCJkb2N1bWVudFRyYW5zZm9ybS5jYWNoZVwiOiBkZWZhdWx0Q2FjaGVTaXplc1tcImRvY3VtZW50VHJhbnNmb3JtLmNhY2hlXCJdLFxuICAgIFwicXVlcnlNYW5hZ2VyLmdldERvY3VtZW50SW5mb1wiOlxuICAgICAgZGVmYXVsdENhY2hlU2l6ZXNbXCJxdWVyeU1hbmFnZXIuZ2V0RG9jdW1lbnRJbmZvXCJdLFxuICAgIFwiUGVyc2lzdGVkUXVlcnlMaW5rLnBlcnNpc3RlZFF1ZXJ5SGFzaGVzXCI6XG4gICAgICBkZWZhdWx0Q2FjaGVTaXplc1tcIlBlcnNpc3RlZFF1ZXJ5TGluay5wZXJzaXN0ZWRRdWVyeUhhc2hlc1wiXSxcbiAgICBcImZyYWdtZW50UmVnaXN0cnkudHJhbnNmb3JtXCI6XG4gICAgICBkZWZhdWx0Q2FjaGVTaXplc1tcImZyYWdtZW50UmVnaXN0cnkudHJhbnNmb3JtXCJdLFxuICAgIFwiZnJhZ21lbnRSZWdpc3RyeS5sb29rdXBcIjogZGVmYXVsdENhY2hlU2l6ZXNbXCJmcmFnbWVudFJlZ2lzdHJ5Lmxvb2t1cFwiXSxcbiAgICBcImZyYWdtZW50UmVnaXN0cnkuZmluZEZyYWdtZW50U3ByZWFkc1wiOlxuICAgICAgZGVmYXVsdENhY2hlU2l6ZXNbXCJmcmFnbWVudFJlZ2lzdHJ5LmZpbmRGcmFnbWVudFNwcmVhZHNcIl0sXG4gICAgXCJjYWNoZS5mcmFnbWVudFF1ZXJ5RG9jdW1lbnRzXCI6XG4gICAgICBkZWZhdWx0Q2FjaGVTaXplc1tcImNhY2hlLmZyYWdtZW50UXVlcnlEb2N1bWVudHNcIl0sXG4gICAgXCJyZW1vdmVUeXBlbmFtZUZyb21WYXJpYWJsZXMuZ2V0VmFyaWFibGVEZWZpbml0aW9uc1wiOlxuICAgICAgZGVmYXVsdENhY2hlU2l6ZXNbXCJyZW1vdmVUeXBlbmFtZUZyb21WYXJpYWJsZXMuZ2V0VmFyaWFibGVEZWZpbml0aW9uc1wiXSxcbiAgICBcImluTWVtb3J5Q2FjaGUubWF5YmVCcm9hZGNhc3RXYXRjaFwiOlxuICAgICAgZGVmYXVsdENhY2hlU2l6ZXNbXCJpbk1lbW9yeUNhY2hlLm1heWJlQnJvYWRjYXN0V2F0Y2hcIl0sXG4gICAgXCJpbk1lbW9yeUNhY2hlLmV4ZWN1dGVTZWxlY3Rpb25TZXRcIjpcbiAgICAgIGRlZmF1bHRDYWNoZVNpemVzW1wiaW5NZW1vcnlDYWNoZS5leGVjdXRlU2VsZWN0aW9uU2V0XCJdLFxuICAgIFwiaW5NZW1vcnlDYWNoZS5leGVjdXRlU3ViU2VsZWN0ZWRBcnJheVwiOlxuICAgICAgZGVmYXVsdENhY2hlU2l6ZXNbXCJpbk1lbW9yeUNhY2hlLmV4ZWN1dGVTdWJTZWxlY3RlZEFycmF5XCJdLFxuICB9O1xuICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgIE9iamVjdC5lbnRyaWVzKGRlZmF1bHRzKS5tYXAoKFtrLCB2XSkgPT4gW1xuICAgICAgayxcbiAgICAgIGNhY2hlU2l6ZXNbayBhcyBrZXlvZiBDYWNoZVNpemVzXSB8fCB2LFxuICAgIF0pXG4gICk7XG59XG5cbmZ1bmN0aW9uIF9nZXRBcG9sbG9DbGllbnRNZW1vcnlJbnRlcm5hbHModGhpczogQXBvbGxvQ2xpZW50PGFueT4pIHtcbiAgaWYgKCFfX0RFVl9fKSB0aHJvdyBuZXcgRXJyb3IoXCJvbmx5IHN1cHBvcnRlZCBpbiBkZXZlbG9wbWVudCBtb2RlXCIpO1xuXG4gIHJldHVybiB7XG4gICAgbGltaXRzOiBnZXRDdXJyZW50Q2FjaGVTaXplcygpLFxuICAgIHNpemVzOiB7XG4gICAgICBwcmludDogZ2xvYmFsQ2FjaGVzLnByaW50Py4oKSxcbiAgICAgIHBhcnNlcjogZ2xvYmFsQ2FjaGVzLnBhcnNlcj8uKCksXG4gICAgICBjYW5vbmljYWxTdHJpbmdpZnk6IGdsb2JhbENhY2hlcy5jYW5vbmljYWxTdHJpbmdpZnk/LigpLFxuICAgICAgbGlua3M6IGxpbmtJbmZvKHRoaXMubGluayksXG4gICAgICBxdWVyeU1hbmFnZXI6IHtcbiAgICAgICAgZ2V0RG9jdW1lbnRJbmZvOiB0aGlzW1wicXVlcnlNYW5hZ2VyXCJdW1widHJhbnNmb3JtQ2FjaGVcIl0uc2l6ZSxcbiAgICAgICAgZG9jdW1lbnRUcmFuc2Zvcm1zOiB0cmFuc2Zvcm1JbmZvKFxuICAgICAgICAgIHRoaXNbXCJxdWVyeU1hbmFnZXJcIl0uZG9jdW1lbnRUcmFuc2Zvcm1cbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgICAuLi4odGhpcy5jYWNoZS5nZXRNZW1vcnlJbnRlcm5hbHM/LigpIGFzIFBhcnRpYWw8XG4gICAgICAgIFJldHVyblR5cGU8dHlwZW9mIF9nZXRBcG9sbG9DYWNoZU1lbW9yeUludGVybmFscz5cbiAgICAgID4gJlxuICAgICAgICBQYXJ0aWFsPFJldHVyblR5cGU8dHlwZW9mIF9nZXRJbk1lbW9yeUNhY2hlTWVtb3J5SW50ZXJuYWxzPj4pLFxuICAgIH0sXG4gIH07XG59XG5cbmZ1bmN0aW9uIF9nZXRBcG9sbG9DYWNoZU1lbW9yeUludGVybmFscyh0aGlzOiBBcG9sbG9DYWNoZTxhbnk+KSB7XG4gIHJldHVybiB7XG4gICAgY2FjaGU6IHtcbiAgICAgIGZyYWdtZW50UXVlcnlEb2N1bWVudHM6IGdldFdyYXBwZXJJbmZvcm1hdGlvbih0aGlzW1wiZ2V0RnJhZ21lbnREb2NcIl0pLFxuICAgIH0sXG4gIH07XG59XG5cbmZ1bmN0aW9uIF9nZXRJbk1lbW9yeUNhY2hlTWVtb3J5SW50ZXJuYWxzKHRoaXM6IEluTWVtb3J5Q2FjaGUpIHtcbiAgY29uc3QgZnJhZ21lbnRzID0gdGhpcy5jb25maWcuZnJhZ21lbnRzIGFzXG4gICAgfCB1bmRlZmluZWRcbiAgICB8IHtcbiAgICAgICAgZmluZEZyYWdtZW50U3ByZWFkcz86IEZ1bmN0aW9uO1xuICAgICAgICB0cmFuc2Zvcm0/OiBGdW5jdGlvbjtcbiAgICAgICAgbG9va3VwPzogRnVuY3Rpb247XG4gICAgICB9O1xuXG4gIHJldHVybiB7XG4gICAgLi4uX2dldEFwb2xsb0NhY2hlTWVtb3J5SW50ZXJuYWxzLmFwcGx5KHRoaXMgYXMgYW55KSxcbiAgICBhZGRUeXBlbmFtZURvY3VtZW50VHJhbnNmb3JtOiB0cmFuc2Zvcm1JbmZvKHRoaXNbXCJhZGRUeXBlbmFtZVRyYW5zZm9ybVwiXSksXG4gICAgaW5NZW1vcnlDYWNoZToge1xuICAgICAgZXhlY3V0ZVNlbGVjdGlvblNldDogZ2V0V3JhcHBlckluZm9ybWF0aW9uKFxuICAgICAgICB0aGlzW1wic3RvcmVSZWFkZXJcIl1bXCJleGVjdXRlU2VsZWN0aW9uU2V0XCJdXG4gICAgICApLFxuICAgICAgZXhlY3V0ZVN1YlNlbGVjdGVkQXJyYXk6IGdldFdyYXBwZXJJbmZvcm1hdGlvbihcbiAgICAgICAgdGhpc1tcInN0b3JlUmVhZGVyXCJdW1wiZXhlY3V0ZVN1YlNlbGVjdGVkQXJyYXlcIl1cbiAgICAgICksXG4gICAgICBtYXliZUJyb2FkY2FzdFdhdGNoOiBnZXRXcmFwcGVySW5mb3JtYXRpb24odGhpc1tcIm1heWJlQnJvYWRjYXN0V2F0Y2hcIl0pLFxuICAgIH0sXG4gICAgZnJhZ21lbnRSZWdpc3RyeToge1xuICAgICAgZmluZEZyYWdtZW50U3ByZWFkczogZ2V0V3JhcHBlckluZm9ybWF0aW9uKFxuICAgICAgICBmcmFnbWVudHM/LmZpbmRGcmFnbWVudFNwcmVhZHNcbiAgICAgICksXG4gICAgICBsb29rdXA6IGdldFdyYXBwZXJJbmZvcm1hdGlvbihmcmFnbWVudHM/Lmxvb2t1cCksXG4gICAgICB0cmFuc2Zvcm06IGdldFdyYXBwZXJJbmZvcm1hdGlvbihmcmFnbWVudHM/LnRyYW5zZm9ybSksXG4gICAgfSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gaXNXcmFwcGVyKGY/OiBGdW5jdGlvbik6IGYgaXMgT3B0aW1pc3RpY1dyYXBwZXJGdW5jdGlvbjxhbnksIGFueT4ge1xuICByZXR1cm4gISFmICYmIFwiZGlydHlLZXlcIiBpbiBmO1xufVxuXG5mdW5jdGlvbiBnZXRXcmFwcGVySW5mb3JtYXRpb24oZj86IEZ1bmN0aW9uKSB7XG4gIHJldHVybiBpc1dyYXBwZXIoZikgPyBmLnNpemUgOiB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGlzRGVmaW5lZDxUPih2YWx1ZTogVCB8IHVuZGVmaW5lZCB8IG51bGwpOiB2YWx1ZSBpcyBUIHtcbiAgcmV0dXJuIHZhbHVlICE9IG51bGw7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUluZm8odHJhbnNmb3JtPzogRG9jdW1lbnRUcmFuc2Zvcm0pIHtcbiAgcmV0dXJuIHJlY3Vyc2VUcmFuc2Zvcm1JbmZvKHRyYW5zZm9ybSkubWFwKChjYWNoZSkgPT4gKHsgY2FjaGUgfSkpO1xufVxuXG5mdW5jdGlvbiByZWN1cnNlVHJhbnNmb3JtSW5mbyh0cmFuc2Zvcm0/OiBEb2N1bWVudFRyYW5zZm9ybSk6IG51bWJlcltdIHtcbiAgcmV0dXJuIHRyYW5zZm9ybSA/XG4gICAgICBbXG4gICAgICAgIGdldFdyYXBwZXJJbmZvcm1hdGlvbih0cmFuc2Zvcm0/LltcInBlcmZvcm1Xb3JrXCJdKSxcbiAgICAgICAgLi4ucmVjdXJzZVRyYW5zZm9ybUluZm8odHJhbnNmb3JtPy5bXCJsZWZ0XCJdKSxcbiAgICAgICAgLi4ucmVjdXJzZVRyYW5zZm9ybUluZm8odHJhbnNmb3JtPy5bXCJyaWdodFwiXSksXG4gICAgICBdLmZpbHRlcihpc0RlZmluZWQpXG4gICAgOiBbXTtcbn1cblxuZnVuY3Rpb24gbGlua0luZm8obGluaz86IEFwb2xsb0xpbmspOiB1bmtub3duW10ge1xuICByZXR1cm4gbGluayA/XG4gICAgICBbXG4gICAgICAgIGxpbms/LmdldE1lbW9yeUludGVybmFscz8uKCksXG4gICAgICAgIC4uLmxpbmtJbmZvKGxpbms/LmxlZnQpLFxuICAgICAgICAuLi5saW5rSW5mbyhsaW5rPy5yaWdodCksXG4gICAgICBdLmZpbHRlcihpc0RlZmluZWQpXG4gICAgOiBbXTtcbn1cbiJdLCJ4X2dvb2dsZV9pZ25vcmVMaXN0IjpbMF19