Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@ngxs-contrib/emitter

Package Overview
Dependencies
Maintainers
3
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ngxs-contrib/emitter - npm Package Compare versions

Comparing version 0.0.3 to 0.0.4

9

bundles/ngxs-contrib-emitter.umd.js

@@ -12,2 +12,5 @@ (function (global, factory) {

var /** @type {?} */ META_KEY = 'NGXS_META';
/**
* @const - This constant is a key for defining static metadata using `\@Emitter`
*/
var /** @type {?} */ EMITTER_META_KEY = 'NGXS_EMITTER_META';

@@ -55,6 +58,6 @@ /**

}
var /** @type {?} */ meta = ensureStoreMetadata(target);
if (typeof key === 'symbol') {
key = key.toString();
}
var /** @type {?} */ meta = ensureStoreMetadata(target);
var /** @type {?} */ type = (options && options.type) || target.name + "." + key;

@@ -121,3 +124,3 @@ var /** @type {?} */ action = options && options.action;

/**
* Emitter action
* This class is used as a default action when the user doesn't pass any custom action as an argument
* @template T

@@ -284,2 +287,2 @@ */

//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4cy1jb250cmliLWVtaXR0ZXIudW1kLmpzLm1hcCIsInNvdXJjZXMiOlsibmc6Ly9Abmd4cy1jb250cmliL2VtaXR0ZXIvbGliL2NvcmUvaW50ZXJuYWwvaW50ZXJuYWxzLnRzIiwibmc6Ly9Abmd4cy1jb250cmliL2VtaXR0ZXIvbGliL2NvcmUvZGVjb3JhdG9ycy9lbWl0dGVyLnRzIixudWxsLCJuZzovL0BuZ3hzLWNvbnRyaWIvZW1pdHRlci9saWIvY29yZS9hY3Rpb25zL2FjdGlvbnMudHMiLCJuZzovL0BuZ3hzLWNvbnRyaWIvZW1pdHRlci9saWIvZW1pdC5zZXJ2aWNlLnRzIiwibmc6Ly9Abmd4cy1jb250cmliL2VtaXR0ZXIvbGliL2NvcmUvZGVjb3JhdG9ycy9wYXlsb2FkLWVtaXR0ZXIudHMiLCJuZzovL0BuZ3hzLWNvbnRyaWIvZW1pdHRlci9saWIvZW1pdC5tb2R1bGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogU3RhdGljIG1ldGFkYXRhIGZvciB0aGUgZW1pdHRlciBmdW5jdGlvblxuICpcbiAqIEBwcm9wZXJ0eSB0eXBlIC0gQWN0aW9uIHR5cGUgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IGFjdGlvbiAtIEN1c3RvbSBhY3Rpb24gdG8gZGlzcGF0Y2ggKG9wdGlvbmFsKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVtaXR0ZXJNZXRhRGF0YTxUIGV4dGVuZHMgRnVuY3Rpb24gPSBhbnk+IHtcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgYWN0aW9uOiBUeXBlPFQ+O1xufVxuXG4vKipcbiAqIFBsYWluIG9iamVjdCB0aGF0IGNvbnRhaW5zIGBlbWl0YCBmdW5jdGlvbiB0aGF0IGRpc3BhdGNoZXMgcGF5bG9hZFxuICpcbiAqIEBwcm9wZXJ0eSBlbWl0IC0gRnVuY3Rpb24gdGhhdCBkaXNwYXRjaGVzIHBheWxvYWQgdW5kZXIgdGhlIGhvb2RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbWl0dGFibGU8VCA9IGFueSwgVSA9IGFueT4ge1xuICAgIGVtaXQocGF5bG9hZD86IFQpOiBPYnNlcnZhYmxlPFU+O1xufVxuXG5leHBvcnQgY29uc3QgTUVUQV9LRVkgPSAnTkdYU19NRVRBJztcbmV4cG9ydCBjb25zdCBFTUlUVEVSX01FVEFfS0VZID0gJ05HWFNfRU1JVFRFUl9NRVRBJztcblxuZXhwb3J0IGZ1bmN0aW9uIGVuc3VyZVN0b3JlTWV0YWRhdGEodGFyZ2V0OiBGdW5jdGlvbikge1xuICAgIGlmICghdGFyZ2V0Lmhhc093blByb3BlcnR5KE1FVEFfS0VZKSkge1xuICAgICAgICBjb25zdCBkZWZhdWx0TWV0YWRhdGEgPSB7XG4gICAgICAgICAgICBuYW1lOiBudWxsLFxuICAgICAgICAgICAgYWN0aW9uczoge30sXG4gICAgICAgICAgICBkZWZhdWx0czoge30sXG4gICAgICAgICAgICBwYXRoOiBudWxsLFxuICAgICAgICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgICAgICAgaW5zdGFuY2U6IG51bGxcbiAgICAgICAgfTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgTUVUQV9LRVksIHsgdmFsdWU6IGRlZmF1bHRNZXRhZGF0YSB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGdldFN0b3JlTWV0YWRhdGEodGFyZ2V0KTtcbn1cblxuZnVuY3Rpb24gZ2V0U3RvcmVNZXRhZGF0YSh0YXJnZXQ6IEZ1bmN0aW9uKSB7XG4gICAgcmV0dXJuIHRhcmdldFtNRVRBX0tFWV07XG59XG4iLCJpbXBvcnQgeyBlbnN1cmVTdG9yZU1ldGFkYXRhLCBFbWl0dGVyTWV0YURhdGEsIEVNSVRURVJfTUVUQV9LRVkgfSBmcm9tICcuLi9pbnRlcm5hbC9pbnRlcm5hbHMnO1xuXG4vKipcbiAqIERlY29yYXRlcyBhIG1ldGhvZCB3aXRoIGFuIGVtaXR0ZXIgaW5mb3JtYXRpb25cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIE9wdGlvbnMgZm9yIGNvbmZpZ3VyaW5nIHN0YXRpYyBtZXRhZGF0YVxuICogQHJldHVybnMgLSBGYWN0b3J5IGZvciBkZWNvcmF0aW5nIG1ldGhvZFxuICovXG5leHBvcnQgZnVuY3Rpb24gRW1pdHRlcihvcHRpb25zPzogUGFydGlhbDxFbWl0dGVyTWV0YURhdGE+KTogTWV0aG9kRGVjb3JhdG9yIHtcbiAgICByZXR1cm4gPFQ+KHRhcmdldDogYW55LCBrZXk6IHN0cmluZyB8IHN5bWJvbCwgZGVzY3JpcHRvcjogVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8VD4pID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBkZXNjcmlwdG9yLnZhbHVlICE9PSAnZnVuY3Rpb24nIHx8IHR5cGVvZiB0YXJnZXRba2V5XSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgT25seSBzdGF0aWMgZnVuY3Rpb25zIGNhbiBiZSBkZWNvcmF0ZWQgd2l0aCBARW1pdHRlcigpIGRlY29yYXRvcmApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbWV0YSA9IGVuc3VyZVN0b3JlTWV0YWRhdGEodGFyZ2V0KTtcblxuICAgICAgICBpZiAodHlwZW9mIGtleSA9PT0gJ3N5bWJvbCcpIHtcbiAgICAgICAgICAgIGtleSA9IGtleS50b1N0cmluZygpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdHlwZTogc3RyaW5nID0gKG9wdGlvbnMgJiYgb3B0aW9ucy50eXBlKSB8fCBgJHt0YXJnZXQubmFtZX0uJHtrZXl9YDtcbiAgICAgICAgY29uc3QgYWN0aW9uOiBhbnkgfCB1bmRlZmluZWQgPSBvcHRpb25zICYmIG9wdGlvbnMuYWN0aW9uO1xuXG4gICAgICAgIGlmIChtZXRhLmFjdGlvbnNbdHlwZV0pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTWV0aG9kIGRlY29yYXRlZCB3aXRoIHN1Y2ggdHlwZSBcXGAke3R5cGV9XFxgIGFscmVhZHkgZXhpc3RzYCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiB0aGUgdXNlciBwYXNzZWQgY3VzdG9tIGFjdGlvblxuICAgICAgICBpZiAoYWN0aW9uKSB7XG4gICAgICAgICAgICBtZXRhLmFjdGlvbnNbYWN0aW9uLnR5cGVdID0gW3tcbiAgICAgICAgICAgICAgICBmbjogYCR7a2V5fWAsXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge30sXG4gICAgICAgICAgICAgICAgdHlwZTogYWN0aW9uLnR5cGVcbiAgICAgICAgICAgIH1dO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbWV0YS5hY3Rpb25zW3R5cGVdID0gW3tcbiAgICAgICAgICAgICAgICBmbjogYCR7a2V5fWAsXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge30sXG4gICAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgfV07XG4gICAgICAgIH1cblxuICAgICAgICBkZXNjcmlwdG9yLnZhbHVlW0VNSVRURVJfTUVUQV9LRVldID0ge1xuICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgIGFjdGlvblxuICAgICAgICB9O1xuXG4gICAgICAgIHRhcmdldC5wcm90b3R5cGVba2V5XSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRhcmdldFtrZXldLmFwcGx5KHRhcmdldCwgYXJndW1lbnRzKTtcbiAgICAgICAgfTtcbiAgICB9O1xufVxuIiwiLyohICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbkNvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2VcclxudGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGVcclxuTGljZW5zZSBhdCBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcclxuXHJcblRISVMgQ09ERSBJUyBQUk9WSURFRCBPTiBBTiAqQVMgSVMqIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTllcclxuS0lORCwgRUlUSEVSIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIFdJVEhPVVQgTElNSVRBVElPTiBBTlkgSU1QTElFRFxyXG5XQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgVElUTEUsIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLFxyXG5NRVJDSEFOVEFCTElUWSBPUiBOT04tSU5GUklOR0VNRU5ULlxyXG5cclxuU2VlIHRoZSBBcGFjaGUgVmVyc2lvbiAyLjAgTGljZW5zZSBmb3Igc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXHJcbmFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuLyogZ2xvYmFsIFJlZmxlY3QsIFByb21pc2UgKi9cclxuXHJcbnZhciBleHRlbmRTdGF0aWNzID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8XHJcbiAgICAoeyBfX3Byb3RvX186IFtdIH0gaW5zdGFuY2VvZiBBcnJheSAmJiBmdW5jdGlvbiAoZCwgYikgeyBkLl9fcHJvdG9fXyA9IGI7IH0pIHx8XHJcbiAgICBmdW5jdGlvbiAoZCwgYikgeyBmb3IgKHZhciBwIGluIGIpIGlmIChiLmhhc093blByb3BlcnR5KHApKSBkW3BdID0gYltwXTsgfTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2V4dGVuZHMoZCwgYikge1xyXG4gICAgZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxuICAgIGZ1bmN0aW9uIF9fKCkgeyB0aGlzLmNvbnN0cnVjdG9yID0gZDsgfVxyXG4gICAgZC5wcm90b3R5cGUgPSBiID09PSBudWxsID8gT2JqZWN0LmNyZWF0ZShiKSA6IChfXy5wcm90b3R5cGUgPSBiLnByb3RvdHlwZSwgbmV3IF9fKCkpO1xyXG59XHJcblxyXG5leHBvcnQgdmFyIF9fYXNzaWduID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiBfX2Fzc2lnbih0KSB7XHJcbiAgICBmb3IgKHZhciBzLCBpID0gMSwgbiA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBuOyBpKyspIHtcclxuICAgICAgICBzID0gYXJndW1lbnRzW2ldO1xyXG4gICAgICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSkgdFtwXSA9IHNbcF07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcmVzdChzLCBlKSB7XHJcbiAgICB2YXIgdCA9IHt9O1xyXG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXHJcbiAgICAgICAgdFtwXSA9IHNbcF07XHJcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDApXHJcbiAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xyXG4gICAgcmV0dXJuIHQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2RlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7XHJcbiAgICB2YXIgYyA9IGFyZ3VtZW50cy5sZW5ndGgsIHIgPSBjIDwgMyA/IHRhcmdldCA6IGRlc2MgPT09IG51bGwgPyBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGtleSkgOiBkZXNjLCBkO1xyXG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0LmRlY29yYXRlID09PSBcImZ1bmN0aW9uXCIpIHIgPSBSZWZsZWN0LmRlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKTtcclxuICAgIGVsc2UgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIGlmIChkID0gZGVjb3JhdG9yc1tpXSkgciA9IChjIDwgMyA/IGQocikgOiBjID4gMyA/IGQodGFyZ2V0LCBrZXksIHIpIDogZCh0YXJnZXQsIGtleSkpIHx8IHI7XHJcbiAgICByZXR1cm4gYyA+IDMgJiYgciAmJiBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHIpLCByO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19wYXJhbShwYXJhbUluZGV4LCBkZWNvcmF0b3IpIHtcclxuICAgIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0LCBrZXkpIHsgZGVjb3JhdG9yKHRhcmdldCwga2V5LCBwYXJhbUluZGV4KTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19tZXRhZGF0YShtZXRhZGF0YUtleSwgbWV0YWRhdGFWYWx1ZSkge1xyXG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0Lm1ldGFkYXRhID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiBSZWZsZWN0Lm1ldGFkYXRhKG1ldGFkYXRhS2V5LCBtZXRhZGF0YVZhbHVlKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXdhaXRlcih0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcclxuICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xyXG4gICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUocmVzdWx0LnZhbHVlKTsgfSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxyXG4gICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcclxuICAgIH0pO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19nZW5lcmF0b3IodGhpc0FyZywgYm9keSkge1xyXG4gICAgdmFyIF8gPSB7IGxhYmVsOiAwLCBzZW50OiBmdW5jdGlvbigpIHsgaWYgKHRbMF0gJiAxKSB0aHJvdyB0WzFdOyByZXR1cm4gdFsxXTsgfSwgdHJ5czogW10sIG9wczogW10gfSwgZiwgeSwgdCwgZztcclxuICAgIHJldHVybiBnID0geyBuZXh0OiB2ZXJiKDApLCBcInRocm93XCI6IHZlcmIoMSksIFwicmV0dXJuXCI6IHZlcmIoMikgfSwgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIChnW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXM7IH0pLCBnO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IHJldHVybiBmdW5jdGlvbiAodikgeyByZXR1cm4gc3RlcChbbiwgdl0pOyB9OyB9XHJcbiAgICBmdW5jdGlvbiBzdGVwKG9wKSB7XHJcbiAgICAgICAgaWYgKGYpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuXCIpO1xyXG4gICAgICAgIHdoaWxlIChfKSB0cnkge1xyXG4gICAgICAgICAgICBpZiAoZiA9IDEsIHkgJiYgKHQgPSB5W29wWzBdICYgMiA/IFwicmV0dXJuXCIgOiBvcFswXSA/IFwidGhyb3dcIiA6IFwibmV4dFwiXSkgJiYgISh0ID0gdC5jYWxsKHksIG9wWzFdKSkuZG9uZSkgcmV0dXJuIHQ7XHJcbiAgICAgICAgICAgIGlmICh5ID0gMCwgdCkgb3AgPSBbMCwgdC52YWx1ZV07XHJcbiAgICAgICAgICAgIHN3aXRjaCAob3BbMF0pIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgMDogY2FzZSAxOiB0ID0gb3A7IGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSA0OiBfLmxhYmVsKys7IHJldHVybiB7IHZhbHVlOiBvcFsxXSwgZG9uZTogZmFsc2UgfTtcclxuICAgICAgICAgICAgICAgIGNhc2UgNTogXy5sYWJlbCsrOyB5ID0gb3BbMV07IG9wID0gWzBdOyBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgIGNhc2UgNzogb3AgPSBfLm9wcy5wb3AoKTsgXy50cnlzLnBvcCgpOyBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCEodCA9IF8udHJ5cywgdCA9IHQubGVuZ3RoID4gMCAmJiB0W3QubGVuZ3RoIC0gMV0pICYmIChvcFswXSA9PT0gNiB8fCBvcFswXSA9PT0gMikpIHsgXyA9IDA7IGNvbnRpbnVlOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSAzICYmICghdCB8fCAob3BbMV0gPiB0WzBdICYmIG9wWzFdIDwgdFszXSkpKSB7IF8ubGFiZWwgPSBvcFsxXTsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAob3BbMF0gPT09IDYgJiYgXy5sYWJlbCA8IHRbMV0pIHsgXy5sYWJlbCA9IHRbMV07IHQgPSBvcDsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAodCAmJiBfLmxhYmVsIDwgdFsyXSkgeyBfLmxhYmVsID0gdFsyXTsgXy5vcHMucHVzaChvcCk7IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRbMl0pIF8ub3BzLnBvcCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIF8udHJ5cy5wb3AoKTsgY29udGludWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgb3AgPSBib2R5LmNhbGwodGhpc0FyZywgXyk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkgeyBvcCA9IFs2LCBlXTsgeSA9IDA7IH0gZmluYWxseSB7IGYgPSB0ID0gMDsgfVxyXG4gICAgICAgIGlmIChvcFswXSAmIDUpIHRocm93IG9wWzFdOyByZXR1cm4geyB2YWx1ZTogb3BbMF0gPyBvcFsxXSA6IHZvaWQgMCwgZG9uZTogdHJ1ZSB9O1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19leHBvcnRTdGFyKG0sIGV4cG9ydHMpIHtcclxuICAgIGZvciAodmFyIHAgaW4gbSkgaWYgKCFleHBvcnRzLmhhc093blByb3BlcnR5KHApKSBleHBvcnRzW3BdID0gbVtwXTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fdmFsdWVzKG8pIHtcclxuICAgIHZhciBtID0gdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9bU3ltYm9sLml0ZXJhdG9yXSwgaSA9IDA7XHJcbiAgICBpZiAobSkgcmV0dXJuIG0uY2FsbChvKTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgbmV4dDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBpZiAobyAmJiBpID49IG8ubGVuZ3RoKSBvID0gdm9pZCAwO1xyXG4gICAgICAgICAgICByZXR1cm4geyB2YWx1ZTogbyAmJiBvW2krK10sIGRvbmU6ICFvIH07XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcmVhZChvLCBuKSB7XHJcbiAgICB2YXIgbSA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvW1N5bWJvbC5pdGVyYXRvcl07XHJcbiAgICBpZiAoIW0pIHJldHVybiBvO1xyXG4gICAgdmFyIGkgPSBtLmNhbGwobyksIHIsIGFyID0gW10sIGU7XHJcbiAgICB0cnkge1xyXG4gICAgICAgIHdoaWxlICgobiA9PT0gdm9pZCAwIHx8IG4tLSA+IDApICYmICEociA9IGkubmV4dCgpKS5kb25lKSBhci5wdXNoKHIudmFsdWUpO1xyXG4gICAgfVxyXG4gICAgY2F0Y2ggKGVycm9yKSB7IGUgPSB7IGVycm9yOiBlcnJvciB9OyB9XHJcbiAgICBmaW5hbGx5IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBpZiAociAmJiAhci5kb25lICYmIChtID0gaVtcInJldHVyblwiXSkpIG0uY2FsbChpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZmluYWxseSB7IGlmIChlKSB0aHJvdyBlLmVycm9yOyB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYXI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3NwcmVhZCgpIHtcclxuICAgIGZvciAodmFyIGFyID0gW10sIGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKVxyXG4gICAgICAgIGFyID0gYXIuY29uY2F0KF9fcmVhZChhcmd1bWVudHNbaV0pKTtcclxuICAgIHJldHVybiBhcjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXdhaXQodikge1xyXG4gICAgcmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBfX2F3YWl0ID8gKHRoaXMudiA9IHYsIHRoaXMpIDogbmV3IF9fYXdhaXQodik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jR2VuZXJhdG9yKHRoaXNBcmcsIF9hcmd1bWVudHMsIGdlbmVyYXRvcikge1xyXG4gICAgaWYgKCFTeW1ib2wuYXN5bmNJdGVyYXRvcikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcclxuICAgIHZhciBnID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pLCBpLCBxID0gW107XHJcbiAgICByZXR1cm4gaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIpLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgaWYgKGdbbl0pIGlbbl0gPSBmdW5jdGlvbiAodikgeyByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKGEsIGIpIHsgcS5wdXNoKFtuLCB2LCBhLCBiXSkgPiAxIHx8IHJlc3VtZShuLCB2KTsgfSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHJlc3VtZShuLCB2KSB7IHRyeSB7IHN0ZXAoZ1tuXSh2KSk7IH0gY2F0Y2ggKGUpIHsgc2V0dGxlKHFbMF1bM10sIGUpOyB9IH1cclxuICAgIGZ1bmN0aW9uIHN0ZXAocikgeyByLnZhbHVlIGluc3RhbmNlb2YgX19hd2FpdCA/IFByb21pc2UucmVzb2x2ZShyLnZhbHVlLnYpLnRoZW4oZnVsZmlsbCwgcmVqZWN0KSA6IHNldHRsZShxWzBdWzJdLCByKTsgIH1cclxuICAgIGZ1bmN0aW9uIGZ1bGZpbGwodmFsdWUpIHsgcmVzdW1lKFwibmV4dFwiLCB2YWx1ZSk7IH1cclxuICAgIGZ1bmN0aW9uIHJlamVjdCh2YWx1ZSkgeyByZXN1bWUoXCJ0aHJvd1wiLCB2YWx1ZSk7IH1cclxuICAgIGZ1bmN0aW9uIHNldHRsZShmLCB2KSB7IGlmIChmKHYpLCBxLnNoaWZ0KCksIHEubGVuZ3RoKSByZXN1bWUocVswXVswXSwgcVswXVsxXSk7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNEZWxlZ2F0b3Iobykge1xyXG4gICAgdmFyIGksIHA7XHJcbiAgICByZXR1cm4gaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIsIGZ1bmN0aW9uIChlKSB7IHRocm93IGU7IH0pLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuLCBmKSB7IGlmIChvW25dKSBpW25dID0gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIChwID0gIXApID8geyB2YWx1ZTogX19hd2FpdChvW25dKHYpKSwgZG9uZTogbiA9PT0gXCJyZXR1cm5cIiB9IDogZiA/IGYodikgOiB2OyB9OyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jVmFsdWVzKG8pIHtcclxuICAgIGlmICghU3ltYm9sLmFzeW5jSXRlcmF0b3IpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbiAgICB2YXIgbSA9IG9bU3ltYm9sLmFzeW5jSXRlcmF0b3JdO1xyXG4gICAgcmV0dXJuIG0gPyBtLmNhbGwobykgOiB0eXBlb2YgX192YWx1ZXMgPT09IFwiZnVuY3Rpb25cIiA/IF9fdmFsdWVzKG8pIDogb1tTeW1ib2wuaXRlcmF0b3JdKCk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX21ha2VUZW1wbGF0ZU9iamVjdChjb29rZWQsIHJhdykge1xyXG4gICAgaWYgKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkoY29va2VkLCBcInJhd1wiLCB7IHZhbHVlOiByYXcgfSk7IH0gZWxzZSB7IGNvb2tlZC5yYXcgPSByYXc7IH1cclxuICAgIHJldHVybiBjb29rZWQ7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19pbXBvcnRTdGFyKG1vZCkge1xyXG4gICAgaWYgKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgcmV0dXJuIG1vZDtcclxuICAgIHZhciByZXN1bHQgPSB7fTtcclxuICAgIGlmIChtb2QgIT0gbnVsbCkgZm9yICh2YXIgayBpbiBtb2QpIGlmIChPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChtb2QsIGspKSByZXN1bHRba10gPSBtb2Rba107XHJcbiAgICByZXN1bHQuZGVmYXVsdCA9IG1vZDtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2ltcG9ydERlZmF1bHQobW9kKSB7XHJcbiAgICByZXR1cm4gKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgPyBtb2QgOiB7IGRlZmF1bHQ6IG1vZCB9O1xyXG59XHJcbiIsIi8qKlxuICogRW1pdHRlciBhY3Rpb25cbiAqL1xuZXhwb3J0IGNsYXNzIEVtaXR0ZXJBY3Rpb248VCA9IGFueT4ge1xuICAgIC8qKlxuICAgICAqIEFjdGlvbiB0eXBlXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyB0eXBlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgRW1pdHRlckFjdGlvbiBpbnN0YW5jZVxuICAgICAqXG4gICAgICogQHBhcmFtIHBheWxvYWQgLSBEYXRhIHRvIGRpc3BhdGNoXG4gICAgICovXG4gICAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ/OiBUKSB7fVxufVxuIiwiaW1wb3J0IHsgSW5qZWN0YWJsZSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRU1JVFRFUl9NRVRBX0tFWSwgRW1pdHRhYmxlLCBFbWl0dGVyTWV0YURhdGEgfSBmcm9tICcuL2NvcmUvaW50ZXJuYWwvaW50ZXJuYWxzJztcbmltcG9ydCB7IEVtaXR0ZXJBY3Rpb24gfSBmcm9tICcuL2NvcmUvYWN0aW9ucy9hY3Rpb25zJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEVtaXRTdG9yZSBleHRlbmRzIFN0b3JlIHtcbiAgICAvKipcbiAgICAgKiBAcGFyYW0gZW1pdHRlciAtIFJlZmVyZW5jZSB0byB0aGUgc3RhdGljIGZ1bmN0aW9uIGZyb20gdGhlIHN0b3JlXG4gICAgICogQHJldHVybnMgLSBBIHBsYWluIG9iamVjdCB3aXRoIGFuIGBlbWl0YCBmdW5jdGlvbiBmb3IgY2FsbGluZyBlbWl0dGVyXG4gICAgICovXG4gICAgcHVibGljIGVtaXR0ZXI8VCA9IGFueSwgVSA9IGFueT4oZW1pdHRlcjogRnVuY3Rpb24pOiBFbWl0dGFibGU8VCwgVT4ge1xuICAgICAgICBjb25zdCBlbWl0dGVyRXZlbnQ6IEVtaXR0ZXJNZXRhRGF0YSA9IGVtaXR0ZXJbRU1JVFRFUl9NRVRBX0tFWV07XG5cbiAgICAgICAgaWYgKCFlbWl0dGVyRXZlbnQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRW1pdHRlciBtZXRob2RzIHNob3VsZCBiZSBkZWNvcmF0ZWQgdXNpbmcgQEVtaXR0ZXIoKSBkZWNvcmF0b3InKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBlbWl0OiAocGF5bG9hZD86IFQpOiBPYnNlcnZhYmxlPFU+ID0+IHtcbiAgICAgICAgICAgICAgICBFbWl0dGVyQWN0aW9uLnR5cGUgPSBlbWl0dGVyRXZlbnQudHlwZTtcbiAgICAgICAgICAgICAgICBjb25zdCBBY3Rpb246IFR5cGU8YW55IHwgRW1pdHRlckFjdGlvbj4gPSBlbWl0dGVyRXZlbnQuYWN0aW9uID8gZW1pdHRlckV2ZW50LmFjdGlvbiA6IEVtaXR0ZXJBY3Rpb247XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGlzcGF0Y2gobmV3IEFjdGlvbihwYXlsb2FkKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxufVxuIiwiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRW1pdFN0b3JlIH0gZnJvbSAnLi4vLi4vZW1pdC5zZXJ2aWNlJztcblxuLyoqXG4gKiBBbGxvd3MgdGhlIGBAUGF5bG9hZEVtaXR0ZXIoKWAgZGVjb3JhdG9yIHRvIGdldCBhY2Nlc3MgdG8gdGhlIERJIHN0b3JlXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQYXlsb2FkRW1pdHRlckZhY3Rvcnkge1xuICAgIC8qKlxuICAgICAqIEluamVjdG9yIGZvciBhY2Nlc3NpbmcgRElcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGluamVjdG9yOiBJbmplY3RvciB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBQYXlsb2FkRW1pdHRlckZhY3RvcnkgaW5zdGFuY2VcbiAgICAgKlxuICAgICAqIEBwYXJhbSBpbmplY3RvciAtIFJvb3QgaW5qZWN0b3JcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgUGF5bG9hZEVtaXR0ZXJGYWN0b3J5LmluamVjdG9yID0gaW5qZWN0b3I7XG4gICAgfVxufVxuXG4vKipcbiAqIERlY29yYXRlcyBhIHByb3BlcnR5IGFuZCBkZWZpbmVzIG5ldyBnZXR0ZXJcbiAqXG4gKiBAcGFyYW0gZW1pdHRlciAtIFJlZmVyZW5jZSB0byB0aGUgc3RhdGljIGZ1bmN0aW9uXG4gKiBAcmV0dXJucyAtIEZhY3RvcnkgZnVuY3Rpb24gZm9yIGRlY29yYXRpbmcgcHJvcGVydGllc1xuICovXG5leHBvcnQgZnVuY3Rpb24gUGF5bG9hZEVtaXR0ZXIoZW1pdHRlcjogRnVuY3Rpb24pOiBQcm9wZXJ0eURlY29yYXRvciB7XG4gICAgcmV0dXJuICh0YXJnZXQ6IE9iamVjdCwga2V5OiBzdHJpbmcgfCBzeW1ib2wpID0+IHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCB7XG4gICAgICAgICAgICBnZXQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzdG9yZSA9IFBheWxvYWRFbWl0dGVyRmFjdG9yeS5pbmplY3RvciEuZ2V0PEVtaXRTdG9yZT4oRW1pdFN0b3JlKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gc3RvcmUuZW1pdHRlcihlbWl0dGVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfTtcbn1cbiIsImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFBheWxvYWRFbWl0dGVyRmFjdG9yeSB9IGZyb20gJy4vY29yZS9kZWNvcmF0b3JzL3BheWxvYWQtZW1pdHRlcic7XG5pbXBvcnQgeyBFbWl0U3RvcmUgfSBmcm9tICcuL2VtaXQuc2VydmljZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFBheWxvYWRFbWl0dGVyRmFjdG9yeSxcbiAgICAgICAgRW1pdFN0b3JlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBOZ3hzRW1pdFBsdWdpbk1vZHVsZSB7XG4gICAgY29uc3RydWN0b3IocGF5bG9hZEVtaXR0ZXJGYWN0b3J5OiBQYXlsb2FkRW1pdHRlckZhY3RvcnkpIHt9XG5cbiAgICAvKipcbiAgICAgKiBAcmV0dXJucyAtIEEgd3JhcHBlciBhcm91bmQgYE5nTW9kdWxlYFxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5neHNFbWl0UGx1Z2luTW9kdWxlPiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuZ01vZHVsZTogTmd4c0VtaXRQbHVnaW5Nb2R1bGVcbiAgICAgICAgfTtcbiAgICB9XG59XG4iXSwibmFtZXMiOlsidHNsaWJfMS5fX2V4dGVuZHMiLCJJbmplY3RhYmxlIiwiU3RvcmUiLCJJbmplY3RvciIsInN0b3JlIiwiTmdNb2R1bGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7SUF3Qk8scUJBQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQztBQUNwQyxJQUFPLHFCQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDOzs7OztBQUVwRCxpQ0FBb0MsTUFBZ0I7UUFDaEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDbEMscUJBQU0sZUFBZSxHQUFHO2dCQUNwQixJQUFJLEVBQUUsSUFBSTtnQkFDVixPQUFPLEVBQUUsRUFBRTtnQkFDWCxRQUFRLEVBQUUsRUFBRTtnQkFDWixJQUFJLEVBQUUsSUFBSTtnQkFDVixRQUFRLEVBQUUsRUFBRTtnQkFDWixRQUFRLEVBQUUsSUFBSTthQUNqQixDQUFDO1lBQ0YsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7U0FDdkU7UUFDRCxPQUFPLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQ25DOzs7OztJQUVELDBCQUEwQixNQUFnQjtRQUN0QyxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUMzQjs7Ozs7O0FDNUNEOzs7Ozs7QUFRQSxxQkFBd0IsT0FBa0M7UUFDdEQsT0FBTyxVQUFJLE1BQVcsRUFBRSxHQUFvQixFQUFFLFVBQXNDO1lBQ2hGLElBQUksT0FBTyxVQUFVLENBQUMsS0FBSyxLQUFLLFVBQVUsSUFBSSxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxVQUFVLEVBQUU7Z0JBQzdFLE1BQU0sSUFBSSxTQUFTLENBQUMsa0VBQWtFLENBQUMsQ0FBQzthQUMzRjtZQUVELHFCQUFNLElBQUksR0FBRyxtQkFBbUIsQ0FB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
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4cy1jb250cmliLWVtaXR0ZXIudW1kLmpzLm1hcCIsInNvdXJjZXMiOlsibmc6Ly9Abmd4cy1jb250cmliL2VtaXR0ZXIvbGliL2NvcmUvaW50ZXJuYWwvaW50ZXJuYWxzLnRzIiwibmc6Ly9Abmd4cy1jb250cmliL2VtaXR0ZXIvbGliL2NvcmUvZGVjb3JhdG9ycy9lbWl0dGVyLnRzIixudWxsLCJuZzovL0BuZ3hzLWNvbnRyaWIvZW1pdHRlci9saWIvY29yZS9hY3Rpb25zL2FjdGlvbnMudHMiLCJuZzovL0BuZ3hzLWNvbnRyaWIvZW1pdHRlci9saWIvZW1pdC5zZXJ2aWNlLnRzIiwibmc6Ly9Abmd4cy1jb250cmliL2VtaXR0ZXIvbGliL2NvcmUvZGVjb3JhdG9ycy9wYXlsb2FkLWVtaXR0ZXIudHMiLCJuZzovL0BuZ3hzLWNvbnRyaWIvZW1pdHRlci9saWIvZW1pdC5tb2R1bGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIEN1c3RvbSBhY3Rpb24gaW50ZXJmYWNlXG4gKlxuICogQHByb3BlcnR5IHR5cGUgLSBTdGF0aWMgcHJvcGVydHkgdGhhdCBkZWZpbmVzIGFjdGlvbiB0eXBlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tQWN0aW9uPFQgPSBhbnksIFUgPSBhbnk+IHtcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgbmV3IChwYXlsb2FkPzogVSk6IFQ7XG59XG5cbi8qKlxuICogU3RhdGljIG1ldGFkYXRhIGZvciB0aGUgZW1pdHRlciBmdW5jdGlvblxuICpcbiAqIEBwcm9wZXJ0eSB0eXBlIC0gQWN0aW9uIHR5cGUgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IGFjdGlvbiAtIEN1c3RvbSBhY3Rpb24gdG8gZGlzcGF0Y2ggKG9wdGlvbmFsKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVtaXR0ZXJNZXRhRGF0YTxUIGV4dGVuZHMgRnVuY3Rpb24gPSBhbnk+IHtcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgYWN0aW9uOiBDdXN0b21BY3Rpb248VD47XG59XG5cbi8qKlxuICogUGxhaW4gb2JqZWN0IHRoYXQgY29udGFpbnMgYGVtaXRgIGZ1bmN0aW9uIHRoYXQgZGlzcGF0Y2hlcyBwYXlsb2FkXG4gKlxuICogQHByb3BlcnR5IGVtaXQgLSBGdW5jdGlvbiB0aGF0IGRpc3BhdGNoZXMgcGF5bG9hZCB1bmRlciB0aGUgaG9vZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVtaXR0YWJsZTxUID0gYW55LCBVID0gYW55PiB7XG4gICAgZW1pdChwYXlsb2FkPzogVCk6IE9ic2VydmFibGU8VT47XG59XG5cbmV4cG9ydCBjb25zdCBNRVRBX0tFWSA9ICdOR1hTX01FVEEnO1xuXG4vKipcbiAqIEBjb25zdCAtIFRoaXMgY29uc3RhbnQgaXMgYSBrZXkgZm9yIGRlZmluaW5nIHN0YXRpYyBtZXRhZGF0YSB1c2luZyBgQEVtaXR0ZXJgXG4gKi9cbmV4cG9ydCBjb25zdCBFTUlUVEVSX01FVEFfS0VZID0gJ05HWFNfRU1JVFRFUl9NRVRBJztcblxuZXhwb3J0IGZ1bmN0aW9uIGVuc3VyZVN0b3JlTWV0YWRhdGEodGFyZ2V0OiBGdW5jdGlvbikge1xuICAgIGlmICghdGFyZ2V0Lmhhc093blByb3BlcnR5KE1FVEFfS0VZKSkge1xuICAgICAgICBjb25zdCBkZWZhdWx0TWV0YWRhdGEgPSB7XG4gICAgICAgICAgICBuYW1lOiBudWxsLFxuICAgICAgICAgICAgYWN0aW9uczoge30sXG4gICAgICAgICAgICBkZWZhdWx0czoge30sXG4gICAgICAgICAgICBwYXRoOiBudWxsLFxuICAgICAgICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgICAgICAgaW5zdGFuY2U6IG51bGxcbiAgICAgICAgfTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgTUVUQV9LRVksIHsgdmFsdWU6IGRlZmF1bHRNZXRhZGF0YSB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGdldFN0b3JlTWV0YWRhdGEodGFyZ2V0KTtcbn1cblxuZnVuY3Rpb24gZ2V0U3RvcmVNZXRhZGF0YSh0YXJnZXQ6IEZ1bmN0aW9uKSB7XG4gICAgcmV0dXJuIHRhcmdldFtNRVRBX0tFWV07XG59XG4iLCJpbXBvcnQgeyBlbnN1cmVTdG9yZU1ldGFkYXRhLCBFbWl0dGVyTWV0YURhdGEsIEVNSVRURVJfTUVUQV9LRVksIEN1c3RvbUFjdGlvbiB9IGZyb20gJy4uL2ludGVybmFsL2ludGVybmFscyc7XG5cbi8qKlxuICogRGVjb3JhdGVzIGEgbWV0aG9kIHdpdGggYW4gZW1pdHRlciBpbmZvcm1hdGlvblxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gT3B0aW9ucyBmb3IgY29uZmlndXJpbmcgc3RhdGljIG1ldGFkYXRhXG4gKiBAcmV0dXJucyAtIEZhY3RvcnkgZm9yIGRlY29yYXRpbmcgbWV0aG9kXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFbWl0dGVyKG9wdGlvbnM/OiBQYXJ0aWFsPEVtaXR0ZXJNZXRhRGF0YT4pOiBNZXRob2REZWNvcmF0b3Ige1xuICAgIHJldHVybiA8VD4odGFyZ2V0OiBhbnksIGtleTogc3RyaW5nIHwgc3ltYm9sLCBkZXNjcmlwdG9yOiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxUPikgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIGRlc2NyaXB0b3IudmFsdWUgIT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIHRhcmdldFtrZXldICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBPbmx5IHN0YXRpYyBmdW5jdGlvbnMgY2FuIGJlIGRlY29yYXRlZCB3aXRoIEBFbWl0dGVyKCkgZGVjb3JhdG9yYCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIGtleSA9PT0gJ3N5bWJvbCcpIHtcbiAgICAgICAgICAgIGtleSA9IGtleS50b1N0cmluZygpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbWV0YSA9IGVuc3VyZVN0b3JlTWV0YWRhdGEodGFyZ2V0KTtcbiAgICAgICAgY29uc3QgdHlwZTogc3RyaW5nID0gKG9wdGlvbnMgJiYgb3B0aW9ucy50eXBlKSB8fCBgJHt0YXJnZXQubmFtZX0uJHtrZXl9YDtcbiAgICAgICAgY29uc3QgYWN0aW9uOiBDdXN0b21BY3Rpb248YW55LCBhbnk+IHwgdW5kZWZpbmVkID0gb3B0aW9ucyAmJiBvcHRpb25zLmFjdGlvbjtcblxuICAgICAgICBpZiAobWV0YS5hY3Rpb25zW3R5cGVdKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE1ldGhvZCBkZWNvcmF0ZWQgd2l0aCBzdWNoIHR5cGUgXFxgJHt0eXBlfVxcYCBhbHJlYWR5IGV4aXN0c2ApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSWYgdGhlIHVzZXIgcGFzc2VkIGN1c3RvbSBhY3Rpb25cbiAgICAgICAgaWYgKGFjdGlvbikge1xuICAgICAgICAgICAgbWV0YS5hY3Rpb25zW2FjdGlvbi50eXBlXSA9IFt7XG4gICAgICAgICAgICAgICAgZm46IGAke2tleX1gLFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHt9LFxuICAgICAgICAgICAgICAgIHR5cGU6IGFjdGlvbi50eXBlXG4gICAgICAgICAgICB9XTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG1ldGEuYWN0aW9uc1t0eXBlXSA9IFt7XG4gICAgICAgICAgICAgICAgZm46IGAke2tleX1gLFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHt9LFxuICAgICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIH1dO1xuICAgICAgICB9XG5cbiAgICAgICAgZGVzY3JpcHRvci52YWx1ZVtFTUlUVEVSX01FVEFfS0VZXSA9IHtcbiAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICBhY3Rpb25cbiAgICAgICAgfTtcblxuICAgICAgICB0YXJnZXQucHJvdG90eXBlW2tleV0gPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIHJldHVybiB0YXJnZXRba2V5XS5hcHBseSh0YXJnZXQsIGFyZ3VtZW50cyk7XG4gICAgICAgIH07XG4gICAgfTtcbn1cbiIsIi8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5Db3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlXHJcbnRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlXHJcbkxpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXHJcblxyXG5USElTIENPREUgSVMgUFJPVklERUQgT04gQU4gKkFTIElTKiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZXHJcbktJTkQsIEVJVEhFUiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBXSVRIT1VUIExJTUlUQVRJT04gQU5ZIElNUExJRURcclxuV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIFRJVExFLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSxcclxuTUVSQ0hBTlRBQkxJVFkgT1IgTk9OLUlORlJJTkdFTUVOVC5cclxuXHJcblNlZSB0aGUgQXBhY2hlIFZlcnNpb24gMi4wIExpY2Vuc2UgZm9yIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xyXG5hbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbi8qIGdsb2JhbCBSZWZsZWN0LCBQcm9taXNlICovXHJcblxyXG52YXIgZXh0ZW5kU3RhdGljcyA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fFxyXG4gICAgKHsgX19wcm90b19fOiBbXSB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24gKGQsIGIpIHsgZC5fX3Byb3RvX18gPSBiOyB9KSB8fFxyXG4gICAgZnVuY3Rpb24gKGQsIGIpIHsgZm9yICh2YXIgcCBpbiBiKSBpZiAoYi5oYXNPd25Qcm9wZXJ0eShwKSkgZFtwXSA9IGJbcF07IH07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19leHRlbmRzKGQsIGIpIHtcclxuICAgIGV4dGVuZFN0YXRpY3MoZCwgYik7XHJcbiAgICBmdW5jdGlvbiBfXygpIHsgdGhpcy5jb25zdHJ1Y3RvciA9IGQ7IH1cclxuICAgIGQucHJvdG90eXBlID0gYiA9PT0gbnVsbCA/IE9iamVjdC5jcmVhdGUoYikgOiAoX18ucHJvdG90eXBlID0gYi5wcm90b3R5cGUsIG5ldyBfXygpKTtcclxufVxyXG5cclxuZXhwb3J0IHZhciBfX2Fzc2lnbiA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gX19hc3NpZ24odCkge1xyXG4gICAgZm9yICh2YXIgcywgaSA9IDEsIG4gPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XHJcbiAgICAgICAgcyA9IGFyZ3VtZW50c1tpXTtcclxuICAgICAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkpIHRbcF0gPSBzW3BdO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3Jlc3QocywgZSkge1xyXG4gICAgdmFyIHQgPSB7fTtcclxuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxyXG4gICAgICAgIHRbcF0gPSBzW3BdO1xyXG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxyXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIGlmIChlLmluZGV4T2YocFtpXSkgPCAwKVxyXG4gICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcclxuICAgIHJldHVybiB0O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYykge1xyXG4gICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcclxuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSA9PT0gXCJmdW5jdGlvblwiKSByID0gUmVmbGVjdC5kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYyk7XHJcbiAgICBlbHNlIGZvciAodmFyIGkgPSBkZWNvcmF0b3JzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSBpZiAoZCA9IGRlY29yYXRvcnNbaV0pIHIgPSAoYyA8IDMgPyBkKHIpIDogYyA+IDMgPyBkKHRhcmdldCwga2V5LCByKSA6IGQodGFyZ2V0LCBrZXkpKSB8fCByO1xyXG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcGFyYW0ocGFyYW1JbmRleCwgZGVjb3JhdG9yKSB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldCwga2V5KSB7IGRlY29yYXRvcih0YXJnZXQsIGtleSwgcGFyYW1JbmRleCk7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fbWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUpIHtcclxuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShtZXRhZGF0YUtleSwgbWV0YWRhdGFWYWx1ZSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2F3YWl0ZXIodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XHJcbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcclxuICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHJlc3VsdC52YWx1ZSk7IH0pLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cclxuICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XHJcbiAgICB9KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZ2VuZXJhdG9yKHRoaXNBcmcsIGJvZHkpIHtcclxuICAgIHZhciBfID0geyBsYWJlbDogMCwgc2VudDogZnVuY3Rpb24oKSB7IGlmICh0WzBdICYgMSkgdGhyb3cgdFsxXTsgcmV0dXJuIHRbMV07IH0sIHRyeXM6IFtdLCBvcHM6IFtdIH0sIGYsIHksIHQsIGc7XHJcbiAgICByZXR1cm4gZyA9IHsgbmV4dDogdmVyYigwKSwgXCJ0aHJvd1wiOiB2ZXJiKDEpLCBcInJldHVyblwiOiB2ZXJiKDIpIH0sIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiAoZ1tTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzOyB9KSwgZztcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyByZXR1cm4gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIHN0ZXAoW24sIHZdKTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gc3RlcChvcCkge1xyXG4gICAgICAgIGlmIChmKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLlwiKTtcclxuICAgICAgICB3aGlsZSAoXykgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKGYgPSAxLCB5ICYmICh0ID0geVtvcFswXSAmIDIgPyBcInJldHVyblwiIDogb3BbMF0gPyBcInRocm93XCIgOiBcIm5leHRcIl0pICYmICEodCA9IHQuY2FsbCh5LCBvcFsxXSkpLmRvbmUpIHJldHVybiB0O1xyXG4gICAgICAgICAgICBpZiAoeSA9IDAsIHQpIG9wID0gWzAsIHQudmFsdWVdO1xyXG4gICAgICAgICAgICBzd2l0Y2ggKG9wWzBdKSB7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDA6IGNhc2UgMTogdCA9IG9wOyBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgNDogXy5sYWJlbCsrOyByZXR1cm4geyB2YWx1ZTogb3BbMV0sIGRvbmU6IGZhbHNlIH07XHJcbiAgICAgICAgICAgICAgICBjYXNlIDU6IF8ubGFiZWwrKzsgeSA9IG9wWzFdOyBvcCA9IFswXTsgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDc6IG9wID0gXy5vcHMucG9wKCk7IF8udHJ5cy5wb3AoKTsgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgICAgIGlmICghKHQgPSBfLnRyeXMsIHQgPSB0Lmxlbmd0aCA+IDAgJiYgdFt0Lmxlbmd0aCAtIDFdKSAmJiAob3BbMF0gPT09IDYgfHwgb3BbMF0gPT09IDIpKSB7IF8gPSAwOyBjb250aW51ZTsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gMyAmJiAoIXQgfHwgKG9wWzFdID4gdFswXSAmJiBvcFsxXSA8IHRbM10pKSkgeyBfLmxhYmVsID0gb3BbMV07IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSA2ICYmIF8ubGFiZWwgPCB0WzFdKSB7IF8ubGFiZWwgPSB0WzFdOyB0ID0gb3A7IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHQgJiYgXy5sYWJlbCA8IHRbMl0pIHsgXy5sYWJlbCA9IHRbMl07IF8ub3BzLnB1c2gob3ApOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0WzJdKSBfLm9wcy5wb3AoKTtcclxuICAgICAgICAgICAgICAgICAgICBfLnRyeXMucG9wKCk7IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG9wID0gYm9keS5jYWxsKHRoaXNBcmcsIF8pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHsgb3AgPSBbNiwgZV07IHkgPSAwOyB9IGZpbmFsbHkgeyBmID0gdCA9IDA7IH1cclxuICAgICAgICBpZiAob3BbMF0gJiA1KSB0aHJvdyBvcFsxXTsgcmV0dXJuIHsgdmFsdWU6IG9wWzBdID8gb3BbMV0gOiB2b2lkIDAsIGRvbmU6IHRydWUgfTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZXhwb3J0U3RhcihtLCBleHBvcnRzKSB7XHJcbiAgICBmb3IgKHZhciBwIGluIG0pIGlmICghZXhwb3J0cy5oYXNPd25Qcm9wZXJ0eShwKSkgZXhwb3J0c1twXSA9IG1bcF07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3ZhbHVlcyhvKSB7XHJcbiAgICB2YXIgbSA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvW1N5bWJvbC5pdGVyYXRvcl0sIGkgPSAwO1xyXG4gICAgaWYgKG0pIHJldHVybiBtLmNhbGwobyk7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIG5leHQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgaWYgKG8gJiYgaSA+PSBvLmxlbmd0aCkgbyA9IHZvaWQgMDtcclxuICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IG8gJiYgb1tpKytdLCBkb25lOiAhbyB9O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3JlYWQobywgbikge1xyXG4gICAgdmFyIG0gPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb1tTeW1ib2wuaXRlcmF0b3JdO1xyXG4gICAgaWYgKCFtKSByZXR1cm4gbztcclxuICAgIHZhciBpID0gbS5jYWxsKG8pLCByLCBhciA9IFtdLCBlO1xyXG4gICAgdHJ5IHtcclxuICAgICAgICB3aGlsZSAoKG4gPT09IHZvaWQgMCB8fCBuLS0gPiAwKSAmJiAhKHIgPSBpLm5leHQoKSkuZG9uZSkgYXIucHVzaChyLnZhbHVlKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChlcnJvcikgeyBlID0geyBlcnJvcjogZXJyb3IgfTsgfVxyXG4gICAgZmluYWxseSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKHIgJiYgIXIuZG9uZSAmJiAobSA9IGlbXCJyZXR1cm5cIl0pKSBtLmNhbGwoaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpbmFsbHkgeyBpZiAoZSkgdGhyb3cgZS5lcnJvcjsgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFyO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWQoKSB7XHJcbiAgICBmb3IgKHZhciBhciA9IFtdLCBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKylcclxuICAgICAgICBhciA9IGFyLmNvbmNhdChfX3JlYWQoYXJndW1lbnRzW2ldKSk7XHJcbiAgICByZXR1cm4gYXI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2F3YWl0KHYpIHtcclxuICAgIHJldHVybiB0aGlzIGluc3RhbmNlb2YgX19hd2FpdCA/ICh0aGlzLnYgPSB2LCB0aGlzKSA6IG5ldyBfX2F3YWl0KHYpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY0dlbmVyYXRvcih0aGlzQXJnLCBfYXJndW1lbnRzLCBnZW5lcmF0b3IpIHtcclxuICAgIGlmICghU3ltYm9sLmFzeW5jSXRlcmF0b3IpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbiAgICB2YXIgZyA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSwgaSwgcSA9IFtdO1xyXG4gICAgcmV0dXJuIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiKSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IGlmIChnW25dKSBpW25dID0gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChhLCBiKSB7IHEucHVzaChbbiwgdiwgYSwgYl0pID4gMSB8fCByZXN1bWUobiwgdik7IH0pOyB9OyB9XHJcbiAgICBmdW5jdGlvbiByZXN1bWUobiwgdikgeyB0cnkgeyBzdGVwKGdbbl0odikpOyB9IGNhdGNoIChlKSB7IHNldHRsZShxWzBdWzNdLCBlKTsgfSB9XHJcbiAgICBmdW5jdGlvbiBzdGVwKHIpIHsgci52YWx1ZSBpbnN0YW5jZW9mIF9fYXdhaXQgPyBQcm9taXNlLnJlc29sdmUoci52YWx1ZS52KS50aGVuKGZ1bGZpbGwsIHJlamVjdCkgOiBzZXR0bGUocVswXVsyXSwgcik7ICB9XHJcbiAgICBmdW5jdGlvbiBmdWxmaWxsKHZhbHVlKSB7IHJlc3VtZShcIm5leHRcIiwgdmFsdWUpOyB9XHJcbiAgICBmdW5jdGlvbiByZWplY3QodmFsdWUpIHsgcmVzdW1lKFwidGhyb3dcIiwgdmFsdWUpOyB9XHJcbiAgICBmdW5jdGlvbiBzZXR0bGUoZiwgdikgeyBpZiAoZih2KSwgcS5zaGlmdCgpLCBxLmxlbmd0aCkgcmVzdW1lKHFbMF1bMF0sIHFbMF1bMV0pOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jRGVsZWdhdG9yKG8pIHtcclxuICAgIHZhciBpLCBwO1xyXG4gICAgcmV0dXJuIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiLCBmdW5jdGlvbiAoZSkgeyB0aHJvdyBlOyB9KSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaTtcclxuICAgIGZ1bmN0aW9uIHZlcmIobiwgZikgeyBpZiAob1tuXSkgaVtuXSA9IGZ1bmN0aW9uICh2KSB7IHJldHVybiAocCA9ICFwKSA/IHsgdmFsdWU6IF9fYXdhaXQob1tuXSh2KSksIGRvbmU6IG4gPT09IFwicmV0dXJuXCIgfSA6IGYgPyBmKHYpIDogdjsgfTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY1ZhbHVlcyhvKSB7XHJcbiAgICBpZiAoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xyXG4gICAgdmFyIG0gPSBvW1N5bWJvbC5hc3luY0l0ZXJhdG9yXTtcclxuICAgIHJldHVybiBtID8gbS5jYWxsKG8pIDogdHlwZW9mIF9fdmFsdWVzID09PSBcImZ1bmN0aW9uXCIgPyBfX3ZhbHVlcyhvKSA6IG9bU3ltYm9sLml0ZXJhdG9yXSgpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19tYWtlVGVtcGxhdGVPYmplY3QoY29va2VkLCByYXcpIHtcclxuICAgIGlmIChPYmplY3QuZGVmaW5lUHJvcGVydHkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNvb2tlZCwgXCJyYXdcIiwgeyB2YWx1ZTogcmF3IH0pOyB9IGVsc2UgeyBjb29rZWQucmF3ID0gcmF3OyB9XHJcbiAgICByZXR1cm4gY29va2VkO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9faW1wb3J0U3Rhcihtb2QpIHtcclxuICAgIGlmIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpIHJldHVybiBtb2Q7XHJcbiAgICB2YXIgcmVzdWx0ID0ge307XHJcbiAgICBpZiAobW9kICE9IG51bGwpIGZvciAodmFyIGsgaW4gbW9kKSBpZiAoT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwobW9kLCBrKSkgcmVzdWx0W2tdID0gbW9kW2tdO1xyXG4gICAgcmVzdWx0LmRlZmF1bHQgPSBtb2Q7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19pbXBvcnREZWZhdWx0KG1vZCkge1xyXG4gICAgcmV0dXJuIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpID8gbW9kIDogeyBkZWZhdWx0OiBtb2QgfTtcclxufVxyXG4iLCIvKipcbiAqIFRoaXMgY2xhc3MgaXMgdXNlZCBhcyBhIGRlZmF1bHQgYWN0aW9uIHdoZW4gdGhlIHVzZXIgZG9lc24ndCBwYXNzIGFueSBjdXN0b20gYWN0aW9uIGFzIGFuIGFyZ3VtZW50XG4gKi9cbmV4cG9ydCBjbGFzcyBFbWl0dGVyQWN0aW9uPFQgPSBhbnk+IHtcbiAgICAvKipcbiAgICAgKiBBY3Rpb24gdHlwZVxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgdHlwZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIEVtaXR0ZXJBY3Rpb24gaW5zdGFuY2VcbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYXlsb2FkIC0gRGF0YSB0byBkaXNwYXRjaFxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkPzogVCkge31cbn1cbiIsImltcG9ydCB7IEluamVjdGFibGUsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEVNSVRURVJfTUVUQV9LRVksIEVtaXR0YWJsZSwgRW1pdHRlck1ldGFEYXRhIH0gZnJvbSAnLi9jb3JlL2ludGVybmFsL2ludGVybmFscyc7XG5pbXBvcnQgeyBFbWl0dGVyQWN0aW9uIH0gZnJvbSAnLi9jb3JlL2FjdGlvbnMvYWN0aW9ucyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBFbWl0U3RvcmUgZXh0ZW5kcyBTdG9yZSB7XG4gICAgLyoqXG4gICAgICogQHBhcmFtIGVtaXR0ZXIgLSBSZWZlcmVuY2UgdG8gdGhlIHN0YXRpYyBmdW5jdGlvbiBmcm9tIHRoZSBzdG9yZVxuICAgICAqIEByZXR1cm5zIC0gQSBwbGFpbiBvYmplY3Qgd2l0aCBhbiBgZW1pdGAgZnVuY3Rpb24gZm9yIGNhbGxpbmcgZW1pdHRlclxuICAgICAqL1xuICAgIHB1YmxpYyBlbWl0dGVyPFQgPSBhbnksIFUgPSBhbnk+KGVtaXR0ZXI6IEZ1bmN0aW9uKTogRW1pdHRhYmxlPFQsIFU+IHtcbiAgICAgICAgY29uc3QgZW1pdHRlckV2ZW50OiBFbWl0dGVyTWV0YURhdGEgPSBlbWl0dGVyW0VNSVRURVJfTUVUQV9LRVldO1xuXG4gICAgICAgIGlmICghZW1pdHRlckV2ZW50KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0VtaXR0ZXIgbWV0aG9kcyBzaG91bGQgYmUgZGVjb3JhdGVkIHVzaW5nIEBFbWl0dGVyKCkgZGVjb3JhdG9yJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZW1pdDogKHBheWxvYWQ/OiBUKTogT2JzZXJ2YWJsZTxVPiA9PiB7XG4gICAgICAgICAgICAgICAgRW1pdHRlckFjdGlvbi50eXBlID0gZW1pdHRlckV2ZW50LnR5cGU7XG4gICAgICAgICAgICAgICAgY29uc3QgQWN0aW9uOiBUeXBlPGFueSB8IEVtaXR0ZXJBY3Rpb24+ID0gZW1pdHRlckV2ZW50LmFjdGlvbiA/IGVtaXR0ZXJFdmVudC5hY3Rpb24gOiBFbWl0dGVyQWN0aW9uO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRpc3BhdGNoKG5ldyBBY3Rpb24ocGF5bG9hZCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH1cbn1cbiIsImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEVtaXRTdG9yZSB9IGZyb20gJy4uLy4uL2VtaXQuc2VydmljZSc7XG5cbi8qKlxuICogQWxsb3dzIHRoZSBgQFBheWxvYWRFbWl0dGVyKClgIGRlY29yYXRvciB0byBnZXQgYWNjZXNzIHRvIHRoZSBESSBzdG9yZVxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUGF5bG9hZEVtaXR0ZXJGYWN0b3J5IHtcbiAgICAvKipcbiAgICAgKiBJbmplY3RvciBmb3IgYWNjZXNzaW5nIERJXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBpbmplY3RvcjogSW5qZWN0b3IgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgUGF5bG9hZEVtaXR0ZXJGYWN0b3J5IGluc3RhbmNlXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaW5qZWN0b3IgLSBSb290IGluamVjdG9yXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICAgIFBheWxvYWRFbWl0dGVyRmFjdG9yeS5pbmplY3RvciA9IGluamVjdG9yO1xuICAgIH1cbn1cblxuLyoqXG4gKiBEZWNvcmF0ZXMgYSBwcm9wZXJ0eSBhbmQgZGVmaW5lcyBuZXcgZ2V0dGVyXG4gKlxuICogQHBhcmFtIGVtaXR0ZXIgLSBSZWZlcmVuY2UgdG8gdGhlIHN0YXRpYyBmdW5jdGlvblxuICogQHJldHVybnMgLSBGYWN0b3J5IGZ1bmN0aW9uIGZvciBkZWNvcmF0aW5nIHByb3BlcnRpZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFBheWxvYWRFbWl0dGVyKGVtaXR0ZXI6IEZ1bmN0aW9uKTogUHJvcGVydHlEZWNvcmF0b3Ige1xuICAgIHJldHVybiAodGFyZ2V0OiBPYmplY3QsIGtleTogc3RyaW5nIHwgc3ltYm9sKSA9PiB7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwge1xuICAgICAgICAgICAgZ2V0OiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3RvcmUgPSBQYXlsb2FkRW1pdHRlckZhY3RvcnkuaW5qZWN0b3IhLmdldDxFbWl0U3RvcmU+KEVtaXRTdG9yZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN0b3JlLmVtaXR0ZXIoZW1pdHRlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH07XG59XG4iLCJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQYXlsb2FkRW1pdHRlckZhY3RvcnkgfSBmcm9tICcuL2NvcmUvZGVjb3JhdG9ycy9wYXlsb2FkLWVtaXR0ZXInO1xuaW1wb3J0IHsgRW1pdFN0b3JlIH0gZnJvbSAnLi9lbWl0LnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBQYXlsb2FkRW1pdHRlckZhY3RvcnksXG4gICAgICAgIEVtaXRTdG9yZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTmd4c0VtaXRQbHVnaW5Nb2R1bGUge1xuICAgIGNvbnN0cnVjdG9yKHBheWxvYWRFbWl0dGVyRmFjdG9yeTogUGF5bG9hZEVtaXR0ZXJGYWN0b3J5KSB7fVxuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMgLSBBIHdyYXBwZXIgYXJvdW5kIGBOZ01vZHVsZWBcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxOZ3hzRW1pdFBsdWdpbk1vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IE5neHNFbWl0UGx1Z2luTW9kdWxlXG4gICAgICAgIH07XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbInRzbGliXzEuX19leHRlbmRzIiwiSW5qZWN0YWJsZSIsIlN0b3JlIiwiSW5qZWN0b3IiLCJzdG9yZSIsIk5nTW9kdWxlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0lBZ0NPLHFCQUFNLFFBQVEsR0FBRyxXQUFXLENBQUM7Ozs7QUFLcEMsSUFBTyxxQkFBTSxnQkFBZ0IsR0FBRyxtQkFBbUIsQ0FBQzs7Ozs7QUFFcEQsaUNBQW9DLE1BQWdCO1FBQ2hELElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ2xDLHFCQUFNLGVBQWUsR0FBRztnQkFDcEIsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsT0FBTyxFQUFFLEVBQUU7Z0JBQ1gsUUFBUSxFQUFFLEVBQUU7Z0JBQ1osSUFBSSxFQUFFLElBQUk7Z0JBQ1YsUUFBUSxFQUFFLEVBQUU7Z0JBQ1osUUFBUSxFQUFFLElBQUk7YUFDakIsQ0FBQztZQUNGLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxFQUFFLEtB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

@@ -1,2 +0,2 @@

!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@ngxs/store")):"function"==typeof define&&define.amd?define("@ngxs-contrib/emitter",["exports","@angular/core","@ngxs/store"],e):e((t["ngxs-contrib"]=t["ngxs-contrib"]||{},t["ngxs-contrib"].emitter={}),t.ng.core,null)}(this,function(t,n,e){"use strict";var r="NGXS_META",u="NGXS_EMITTER_META";function a(t){if(!t.hasOwnProperty(r)){Object.defineProperty(t,r,{value:{name:null,actions:{},defaults:{},path:null,children:[],instance:null}})}return function e(t){return t[r]}(t)}var o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};var i=function(){function t(t){this.payload=t}return t.type=null,t}(),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return function r(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}(e,t),e.prototype.emitter=function(t){var n=this,r=t[u];if(!r)throw new Error("Emitter methods should be decorated using @Emitter() decorator");return{emit:function(t){i.type=r.type;var e=r.action?r.action:i;return n.dispatch(new e(t))}}},e.decorators=[{type:n.Injectable}],e}(e.Store),f=function(){function e(t){e.injector=t}return e.injector=null,e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[{type:n.Injector}]},e}();var p=function(){function t(t){}return t.forRoot=function(){return{ngModule:t}},t.decorators=[{type:n.NgModule,args:[{providers:[f,c]}]}],t.ctorParameters=function(){return[{type:f}]},t}();t.PayloadEmitter=function s(n){return function(t,e){Object.defineProperty(t,e,{get:function(){return f.injector.get(c).emitter(n)}})}},t.Emitter=function y(c){return function(t,e,n){if("function"!=typeof n.value||"function"!=typeof t[e])throw new TypeError("Only static functions can be decorated with @Emitter() decorator");var r=a(t);"symbol"==typeof e&&(e=e.toString());var o=c&&c.type||t.name+"."+e,i=c&&c.action;if(r.actions[o])throw new Error("Method decorated with such type `"+o+"` already exists");i?r.actions[i.type]=[{fn:""+e,options:{},type:i.type}]:r.actions[o]=[{fn:""+e,options:{},type:o}],n.value[u]={type:o,action:i},t.prototype[e]=function(){return t[e].apply(t,arguments)}}},t.EmitterAction=i,t.NgxsEmitPluginModule=p,t.ɵa=f,t.ɵb=c,Object.defineProperty(t,"__esModule",{value:!0})});
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@ngxs/store")):"function"==typeof define&&define.amd?define("@ngxs-contrib/emitter",["exports","@angular/core","@ngxs/store"],e):e((t["ngxs-contrib"]=t["ngxs-contrib"]||{},t["ngxs-contrib"].emitter={}),t.ng.core,null)}(this,function(t,n,e){"use strict";var r="NGXS_META",u="NGXS_EMITTER_META";function a(t){if(!t.hasOwnProperty(r)){Object.defineProperty(t,r,{value:{name:null,actions:{},defaults:{},path:null,children:[],instance:null}})}return function e(t){return t[r]}(t)}var o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};var i=function(){function t(t){this.payload=t}return t.type=null,t}(),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return function r(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}(e,t),e.prototype.emitter=function(t){var n=this,r=t[u];if(!r)throw new Error("Emitter methods should be decorated using @Emitter() decorator");return{emit:function(t){i.type=r.type;var e=r.action?r.action:i;return n.dispatch(new e(t))}}},e.decorators=[{type:n.Injectable}],e}(e.Store),f=function(){function e(t){e.injector=t}return e.injector=null,e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[{type:n.Injector}]},e}();var p=function(){function t(t){}return t.forRoot=function(){return{ngModule:t}},t.decorators=[{type:n.NgModule,args:[{providers:[f,c]}]}],t.ctorParameters=function(){return[{type:f}]},t}();t.PayloadEmitter=function s(n){return function(t,e){Object.defineProperty(t,e,{get:function(){return f.injector.get(c).emitter(n)}})}},t.Emitter=function y(c){return function(t,e,n){if("function"!=typeof n.value||"function"!=typeof t[e])throw new TypeError("Only static functions can be decorated with @Emitter() decorator");"symbol"==typeof e&&(e=e.toString());var r=a(t),o=c&&c.type||t.name+"."+e,i=c&&c.action;if(r.actions[o])throw new Error("Method decorated with such type `"+o+"` already exists");i?r.actions[i.type]=[{fn:""+e,options:{},type:i.type}]:r.actions[o]=[{fn:""+e,options:{},type:o}],n.value[u]={type:o,action:i},t.prototype[e]=function(){return t[e].apply(t,arguments)}}},t.EmitterAction=i,t.NgxsEmitPluginModule=p,t.ɵa=f,t.ɵb=c,Object.defineProperty(t,"__esModule",{value:!0})});
//# sourceMappingURL=ngxs-contrib-emitter.umd.min.js.map

@@ -6,3 +6,3 @@ /**

/**
* Emitter action
* This class is used as a default action when the user doesn't pass any custom action as an argument
* @template T

@@ -34,2 +34,2 @@ */

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzLWNvbnRyaWIvZW1pdHRlci8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL2FjdGlvbnMvYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUdBLE1BQU07Ozs7OztJQVdGLFlBQW1CLE9BQVc7UUFBWCxZQUFPLEdBQVAsT0FBTyxDQUFJO0tBQUk7Ozs7O3FCQVBFLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEVtaXR0ZXIgYWN0aW9uXG4gKi9cbmV4cG9ydCBjbGFzcyBFbWl0dGVyQWN0aW9uPFQgPSBhbnk+IHtcbiAgICAvKipcbiAgICAgKiBBY3Rpb24gdHlwZVxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgdHlwZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIEVtaXR0ZXJBY3Rpb24gaW5zdGFuY2VcbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYXlsb2FkIC0gRGF0YSB0byBkaXNwYXRjaFxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkPzogVCkge31cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzLWNvbnRyaWIvZW1pdHRlci8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL2FjdGlvbnMvYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUdBLE1BQU07Ozs7OztJQVdGLFlBQW1CLE9BQVc7UUFBWCxZQUFPLEdBQVAsT0FBTyxDQUFJO0tBQUk7Ozs7O3FCQVBFLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoaXMgY2xhc3MgaXMgdXNlZCBhcyBhIGRlZmF1bHQgYWN0aW9uIHdoZW4gdGhlIHVzZXIgZG9lc24ndCBwYXNzIGFueSBjdXN0b20gYWN0aW9uIGFzIGFuIGFyZ3VtZW50XG4gKi9cbmV4cG9ydCBjbGFzcyBFbWl0dGVyQWN0aW9uPFQgPSBhbnk+IHtcbiAgICAvKipcbiAgICAgKiBBY3Rpb24gdHlwZVxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgdHlwZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIEVtaXR0ZXJBY3Rpb24gaW5zdGFuY2VcbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYXlsb2FkIC0gRGF0YSB0byBkaXNwYXRjaFxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkPzogVCkge31cbn1cbiJdfQ==

@@ -17,6 +17,6 @@ /**

}
const /** @type {?} */ meta = ensureStoreMetadata(target);
if (typeof key === 'symbol') {
key = key.toString();
}
const /** @type {?} */ meta = ensureStoreMetadata(target);
const /** @type {?} */ type = (options && options.type) || `${target.name}.${key}`;

@@ -52,2 +52,2 @@ const /** @type {?} */ action = options && options.action;

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1pdHRlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzLWNvbnRyaWIvZW1pdHRlci8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL2RlY29yYXRvcnMvZW1pdHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFtQixnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7O0FBUS9GLE1BQU0sa0JBQWtCLE9BQWtDO0lBQ3RELE1BQU0sQ0FBQyxDQUFJLE1BQVcsRUFBRSxHQUFvQixFQUFFLFVBQXNDLEVBQUUsRUFBRTtRQUNwRixFQUFFLENBQUMsQ0FBQyxPQUFPLFVBQVUsQ0FBQyxLQUFLLEtBQUssVUFBVSxJQUFJLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUM7WUFDOUUsTUFBTSxJQUFJLFNBQVMsQ0FBQyxrRUFBa0UsQ0FBQyxDQUFDO1NBQzNGO1FBRUQsdUJBQU0sSUFBSSxHQUFHLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXpDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sR0FBRyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDMUIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUN4QjtRQUVELHVCQUFNLElBQUksR0FBVyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzFFLHVCQUFNLE1BQU0sR0FBb0IsT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFFMUQsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsSUFBSSxtQkFBbUIsQ0FBQyxDQUFDO1NBQ2pGOztRQUdELEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDVCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO29CQUN6QixFQUFFLEVBQUUsR0FBRyxHQUFHLEVBQUU7b0JBQ1osT0FBTyxFQUFFLEVBQUU7b0JBQ1gsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO2lCQUNwQixDQUFDLENBQUM7U0FDTjtRQUFDLElBQUksQ0FBQyxDQUFDO1lBQ0osSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO29CQUNsQixFQUFFLEVBQUUsR0FBRyxHQUFHLEVBQUU7b0JBQ1osT0FBTyxFQUFFLEVBQUU7b0JBQ1gsSUFBSTtpQkFDUCxDQUFDLENBQUM7U0FDTjtRQUVELFVBQVUsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsR0FBRztZQUNqQyxJQUFJO1lBQ0osTUFBTTtTQUNULENBQUM7UUFFRixNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHO1lBQ3BCLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztTQUMvQyxDQUFDO0tBQ0wsQ0FBQztDQUNMIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZW5zdXJlU3RvcmVNZXRhZGF0YSwgRW1pdHRlck1ldGFEYXRhLCBFTUlUVEVSX01FVEFfS0VZIH0gZnJvbSAnLi4vaW50ZXJuYWwvaW50ZXJuYWxzJztcblxuLyoqXG4gKiBEZWNvcmF0ZXMgYSBtZXRob2Qgd2l0aCBhbiBlbWl0dGVyIGluZm9ybWF0aW9uXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBPcHRpb25zIGZvciBjb25maWd1cmluZyBzdGF0aWMgbWV0YWRhdGFcbiAqIEByZXR1cm5zIC0gRmFjdG9yeSBmb3IgZGVjb3JhdGluZyBtZXRob2RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEVtaXR0ZXIob3B0aW9ucz86IFBhcnRpYWw8RW1pdHRlck1ldGFEYXRhPik6IE1ldGhvZERlY29yYXRvciB7XG4gICAgcmV0dXJuIDxUPih0YXJnZXQ6IGFueSwga2V5OiBzdHJpbmcgfCBzeW1ib2wsIGRlc2NyaXB0b3I6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPFQ+KSA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgZGVzY3JpcHRvci52YWx1ZSAhPT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgdGFyZ2V0W2tleV0gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYE9ubHkgc3RhdGljIGZ1bmN0aW9ucyBjYW4gYmUgZGVjb3JhdGVkIHdpdGggQEVtaXR0ZXIoKSBkZWNvcmF0b3JgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1ldGEgPSBlbnN1cmVTdG9yZU1ldGFkYXRhKHRhcmdldCk7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBrZXkgPT09ICdzeW1ib2wnKSB7XG4gICAgICAgICAgICBrZXkgPSBrZXkudG9TdHJpbmcoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHR5cGU6IHN0cmluZyA9IChvcHRpb25zICYmIG9wdGlvbnMudHlwZSkgfHwgYCR7dGFyZ2V0Lm5hbWV9LiR7a2V5fWA7XG4gICAgICAgIGNvbnN0IGFjdGlvbjogYW55IHwgdW5kZWZpbmVkID0gb3B0aW9ucyAmJiBvcHRpb25zLmFjdGlvbjtcblxuICAgICAgICBpZiAobWV0YS5hY3Rpb25zW3R5cGVdKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE1ldGhvZCBkZWNvcmF0ZWQgd2l0aCBzdWNoIHR5cGUgXFxgJHt0eXBlfVxcYCBhbHJlYWR5IGV4aXN0c2ApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSWYgdGhlIHVzZXIgcGFzc2VkIGN1c3RvbSBhY3Rpb25cbiAgICAgICAgaWYgKGFjdGlvbikge1xuICAgICAgICAgICAgbWV0YS5hY3Rpb25zW2FjdGlvbi50eXBlXSA9IFt7XG4gICAgICAgICAgICAgICAgZm46IGAke2tleX1gLFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHt9LFxuICAgICAgICAgICAgICAgIHR5cGU6IGFjdGlvbi50eXBlXG4gICAgICAgICAgICB9XTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG1ldGEuYWN0aW9uc1t0eXBlXSA9IFt7XG4gICAgICAgICAgICAgICAgZm46IGAke2tleX1gLFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHt9LFxuICAgICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIH1dO1xuICAgICAgICB9XG5cbiAgICAgICAgZGVzY3JpcHRvci52YWx1ZVtFTUlUVEVSX01FVEFfS0VZXSA9IHtcbiAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICBhY3Rpb25cbiAgICAgICAgfTtcblxuICAgICAgICB0YXJnZXQucHJvdG90eXBlW2tleV0gPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIHJldHVybiB0YXJnZXRba2V5XS5hcHBseSh0YXJnZXQsIGFyZ3VtZW50cyk7XG4gICAgICAgIH07XG4gICAgfTtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1pdHRlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzLWNvbnRyaWIvZW1pdHRlci8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL2RlY29yYXRvcnMvZW1pdHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFtQixnQkFBZ0IsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7OztBQVE3RyxNQUFNLGtCQUFrQixPQUFrQztJQUN0RCxNQUFNLENBQUMsQ0FBSSxNQUFXLEVBQUUsR0FBb0IsRUFBRSxVQUFzQyxFQUFFLEVBQUU7UUFDcEYsRUFBRSxDQUFDLENBQUMsT0FBTyxVQUFVLENBQUMsS0FBSyxLQUFLLFVBQVUsSUFBSSxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQzlFLE1BQU0sSUFBSSxTQUFTLENBQUMsa0VBQWtFLENBQUMsQ0FBQztTQUMzRjtRQUVELEVBQUUsQ0FBQyxDQUFDLE9BQU8sR0FBRyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDMUIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUN4QjtRQUVELHVCQUFNLElBQUksR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6Qyx1QkFBTSxJQUFJLEdBQVcsQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUMxRSx1QkFBTSxNQUFNLEdBQXVDLE9BQU8sSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDO1FBRTdFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLElBQUksbUJBQW1CLENBQUMsQ0FBQztTQUNqRjs7UUFHRCxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztvQkFDekIsRUFBRSxFQUFFLEdBQUcsR0FBRyxFQUFFO29CQUNaLE9BQU8sRUFBRSxFQUFFO29CQUNYLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtpQkFDcEIsQ0FBQyxDQUFDO1NBQ047UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNKLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztvQkFDbEIsRUFBRSxFQUFFLEdBQUcsR0FBRyxFQUFFO29CQUNaLE9BQU8sRUFBRSxFQUFFO29CQUNYLElBQUk7aUJBQ1AsQ0FBQyxDQUFDO1NBQ047UUFFRCxVQUFVLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEdBQUc7WUFDakMsSUFBSTtZQUNKLE1BQU07U0FDVCxDQUFDO1FBRUYsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRztZQUNwQixNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDL0MsQ0FBQztLQUNMLENBQUM7Q0FDTCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGVuc3VyZVN0b3JlTWV0YWRhdGEsIEVtaXR0ZXJNZXRhRGF0YSwgRU1JVFRFUl9NRVRBX0tFWSwgQ3VzdG9tQWN0aW9uIH0gZnJvbSAnLi4vaW50ZXJuYWwvaW50ZXJuYWxzJztcblxuLyoqXG4gKiBEZWNvcmF0ZXMgYSBtZXRob2Qgd2l0aCBhbiBlbWl0dGVyIGluZm9ybWF0aW9uXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBPcHRpb25zIGZvciBjb25maWd1cmluZyBzdGF0aWMgbWV0YWRhdGFcbiAqIEByZXR1cm5zIC0gRmFjdG9yeSBmb3IgZGVjb3JhdGluZyBtZXRob2RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEVtaXR0ZXIob3B0aW9ucz86IFBhcnRpYWw8RW1pdHRlck1ldGFEYXRhPik6IE1ldGhvZERlY29yYXRvciB7XG4gICAgcmV0dXJuIDxUPih0YXJnZXQ6IGFueSwga2V5OiBzdHJpbmcgfCBzeW1ib2wsIGRlc2NyaXB0b3I6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPFQ+KSA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgZGVzY3JpcHRvci52YWx1ZSAhPT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgdGFyZ2V0W2tleV0gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYE9ubHkgc3RhdGljIGZ1bmN0aW9ucyBjYW4gYmUgZGVjb3JhdGVkIHdpdGggQEVtaXR0ZXIoKSBkZWNvcmF0b3JgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2Yga2V5ID09PSAnc3ltYm9sJykge1xuICAgICAgICAgICAga2V5ID0ga2V5LnRvU3RyaW5nKCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBtZXRhID0gZW5zdXJlU3RvcmVNZXRhZGF0YSh0YXJnZXQpO1xuICAgICAgICBjb25zdCB0eXBlOiBzdHJpbmcgPSAob3B0aW9ucyAmJiBvcHRpb25zLnR5cGUpIHx8IGAke3RhcmdldC5uYW1lfS4ke2tleX1gO1xuICAgICAgICBjb25zdCBhY3Rpb246IEN1c3RvbUFjdGlvbjxhbnksIGFueT4gfCB1bmRlZmluZWQgPSBvcHRpb25zICYmIG9wdGlvbnMuYWN0aW9uO1xuXG4gICAgICAgIGlmIChtZXRhLmFjdGlvbnNbdHlwZV0pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTWV0aG9kIGRlY29yYXRlZCB3aXRoIHN1Y2ggdHlwZSBcXGAke3R5cGV9XFxgIGFscmVhZHkgZXhpc3RzYCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiB0aGUgdXNlciBwYXNzZWQgY3VzdG9tIGFjdGlvblxuICAgICAgICBpZiAoYWN0aW9uKSB7XG4gICAgICAgICAgICBtZXRhLmFjdGlvbnNbYWN0aW9uLnR5cGVdID0gW3tcbiAgICAgICAgICAgICAgICBmbjogYCR7a2V5fWAsXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge30sXG4gICAgICAgICAgICAgICAgdHlwZTogYWN0aW9uLnR5cGVcbiAgICAgICAgICAgIH1dO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbWV0YS5hY3Rpb25zW3R5cGVdID0gW3tcbiAgICAgICAgICAgICAgICBmbjogYCR7a2V5fWAsXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge30sXG4gICAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgfV07XG4gICAgICAgIH1cblxuICAgICAgICBkZXNjcmlwdG9yLnZhbHVlW0VNSVRURVJfTUVUQV9LRVldID0ge1xuICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgIGFjdGlvblxuICAgICAgICB9O1xuXG4gICAgICAgIHRhcmdldC5wcm90b3R5cGVba2V5XSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRhcmdldFtrZXldLmFwcGx5KHRhcmdldCwgYXJndW1lbnRzKTtcbiAgICAgICAgfTtcbiAgICB9O1xufVxuIl19

@@ -5,2 +5,17 @@ /**

*/
/**
* Custom action interface
*
* \@property type - Static property that defines action type
* @record
* @template T, U
*/
export function CustomAction() { }
function CustomAction_tsickle_Closure_declarations() {
/** @type {?} */
CustomAction.prototype.type;
/* TODO: handle strange member:
new (payload?: U): T;
*/
}
// unsupported: template constraints.

@@ -35,2 +50,5 @@ /**

export const /** @type {?} */ META_KEY = 'NGXS_META';
/**
* @const - This constant is a key for defining static metadata using `\@Emitter`
*/
export const /** @type {?} */ EMITTER_META_KEY = 'NGXS_EMITTER_META';

@@ -63,2 +81,2 @@ /**

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWxzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMtY29udHJpYi9lbWl0dGVyLyIsInNvdXJjZXMiOlsibGliL2NvcmUvaW50ZXJuYWwvaW50ZXJuYWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBd0JBLE1BQU0sQ0FBQyx1QkFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDO0FBQ3BDLE1BQU0sQ0FBQyx1QkFBTSxnQkFBZ0IsR0FBRyxtQkFBbUIsQ0FBQzs7Ozs7QUFFcEQsTUFBTSw4QkFBOEIsTUFBZ0I7SUFDaEQsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQyx1QkFBTSxlQUFlLEdBQUc7WUFDcEIsSUFBSSxFQUFFLElBQUk7WUFDVixPQUFPLEVBQUUsRUFBRTtZQUNYLFFBQVEsRUFBRSxFQUFFO1lBQ1osSUFBSSxFQUFFLElBQUk7WUFDVixRQUFRLEVBQUUsRUFBRTtZQUNaLFFBQVEsRUFBRSxJQUFJO1NBQ2pCLENBQUM7UUFDRixNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztLQUN2RTtJQUNELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztDQUNuQzs7Ozs7QUFFRCwwQkFBMEIsTUFBZ0I7SUFDdEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztDQUMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIFN0YXRpYyBtZXRhZGF0YSBmb3IgdGhlIGVtaXR0ZXIgZnVuY3Rpb25cbiAqXG4gKiBAcHJvcGVydHkgdHlwZSAtIEFjdGlvbiB0eXBlIChvcHRpb25hbClcbiAqIEBwcm9wZXJ0eSBhY3Rpb24gLSBDdXN0b20gYWN0aW9uIHRvIGRpc3BhdGNoIChvcHRpb25hbClcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbWl0dGVyTWV0YURhdGE8VCBleHRlbmRzIEZ1bmN0aW9uID0gYW55PiB7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIGFjdGlvbjogVHlwZTxUPjtcbn1cblxuLyoqXG4gKiBQbGFpbiBvYmplY3QgdGhhdCBjb250YWlucyBgZW1pdGAgZnVuY3Rpb24gdGhhdCBkaXNwYXRjaGVzIHBheWxvYWRcbiAqXG4gKiBAcHJvcGVydHkgZW1pdCAtIEZ1bmN0aW9uIHRoYXQgZGlzcGF0Y2hlcyBwYXlsb2FkIHVuZGVyIHRoZSBob29kXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW1pdHRhYmxlPFQgPSBhbnksIFUgPSBhbnk+IHtcbiAgICBlbWl0KHBheWxvYWQ/OiBUKTogT2JzZXJ2YWJsZTxVPjtcbn1cblxuZXhwb3J0IGNvbnN0IE1FVEFfS0VZID0gJ05HWFNfTUVUQSc7XG5leHBvcnQgY29uc3QgRU1JVFRFUl9NRVRBX0tFWSA9ICdOR1hTX0VNSVRURVJfTUVUQSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBlbnN1cmVTdG9yZU1ldGFkYXRhKHRhcmdldDogRnVuY3Rpb24pIHtcbiAgICBpZiAoIXRhcmdldC5oYXNPd25Qcm9wZXJ0eShNRVRBX0tFWSkpIHtcbiAgICAgICAgY29uc3QgZGVmYXVsdE1ldGFkYXRhID0ge1xuICAgICAgICAgICAgbmFtZTogbnVsbCxcbiAgICAgICAgICAgIGFjdGlvbnM6IHt9LFxuICAgICAgICAgICAgZGVmYXVsdHM6IHt9LFxuICAgICAgICAgICAgcGF0aDogbnVsbCxcbiAgICAgICAgICAgIGNoaWxkcmVuOiBbXSxcbiAgICAgICAgICAgIGluc3RhbmNlOiBudWxsXG4gICAgICAgIH07XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIE1FVEFfS0VZLCB7IHZhbHVlOiBkZWZhdWx0TWV0YWRhdGEgfSk7XG4gICAgfVxuICAgIHJldHVybiBnZXRTdG9yZU1ldGFkYXRhKHRhcmdldCk7XG59XG5cbmZ1bmN0aW9uIGdldFN0b3JlTWV0YWRhdGEodGFyZ2V0OiBGdW5jdGlvbikge1xuICAgIHJldHVybiB0YXJnZXRbTUVUQV9LRVldO1xufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWxzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMtY29udHJpYi9lbWl0dGVyLyIsInNvdXJjZXMiOlsibGliL2NvcmUvaW50ZXJuYWwvaW50ZXJuYWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZ0NBLE1BQU0sQ0FBQyx1QkFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDOzs7O0FBS3BDLE1BQU0sQ0FBQyx1QkFBTSxnQkFBZ0IsR0FBRyxtQkFBbUIsQ0FBQzs7Ozs7QUFFcEQsTUFBTSw4QkFBOEIsTUFBZ0I7SUFDaEQsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQyx1QkFBTSxlQUFlLEdBQUc7WUFDcEIsSUFBSSxFQUFFLElBQUk7WUFDVixPQUFPLEVBQUUsRUFBRTtZQUNYLFFBQVEsRUFBRSxFQUFFO1lBQ1osSUFBSSxFQUFFLElBQUk7WUFDVixRQUFRLEVBQUUsRUFBRTtZQUNaLFFBQVEsRUFBRSxJQUFJO1NBQ2pCLENBQUM7UUFDRixNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztLQUN2RTtJQUNELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztDQUNuQzs7Ozs7QUFFRCwwQkFBMEIsTUFBZ0I7SUFDdEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztDQUMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBDdXN0b20gYWN0aW9uIGludGVyZmFjZVxuICpcbiAqIEBwcm9wZXJ0eSB0eXBlIC0gU3RhdGljIHByb3BlcnR5IHRoYXQgZGVmaW5lcyBhY3Rpb24gdHlwZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbUFjdGlvbjxUID0gYW55LCBVID0gYW55PiB7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIG5ldyAocGF5bG9hZD86IFUpOiBUO1xufVxuXG4vKipcbiAqIFN0YXRpYyBtZXRhZGF0YSBmb3IgdGhlIGVtaXR0ZXIgZnVuY3Rpb25cbiAqXG4gKiBAcHJvcGVydHkgdHlwZSAtIEFjdGlvbiB0eXBlIChvcHRpb25hbClcbiAqIEBwcm9wZXJ0eSBhY3Rpb24gLSBDdXN0b20gYWN0aW9uIHRvIGRpc3BhdGNoIChvcHRpb25hbClcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbWl0dGVyTWV0YURhdGE8VCBleHRlbmRzIEZ1bmN0aW9uID0gYW55PiB7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIGFjdGlvbjogQ3VzdG9tQWN0aW9uPFQ+O1xufVxuXG4vKipcbiAqIFBsYWluIG9iamVjdCB0aGF0IGNvbnRhaW5zIGBlbWl0YCBmdW5jdGlvbiB0aGF0IGRpc3BhdGNoZXMgcGF5bG9hZFxuICpcbiAqIEBwcm9wZXJ0eSBlbWl0IC0gRnVuY3Rpb24gdGhhdCBkaXNwYXRjaGVzIHBheWxvYWQgdW5kZXIgdGhlIGhvb2RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbWl0dGFibGU8VCA9IGFueSwgVSA9IGFueT4ge1xuICAgIGVtaXQocGF5bG9hZD86IFQpOiBPYnNlcnZhYmxlPFU+O1xufVxuXG5leHBvcnQgY29uc3QgTUVUQV9LRVkgPSAnTkdYU19NRVRBJztcblxuLyoqXG4gKiBAY29uc3QgLSBUaGlzIGNvbnN0YW50IGlzIGEga2V5IGZvciBkZWZpbmluZyBzdGF0aWMgbWV0YWRhdGEgdXNpbmcgYEBFbWl0dGVyYFxuICovXG5leHBvcnQgY29uc3QgRU1JVFRFUl9NRVRBX0tFWSA9ICdOR1hTX0VNSVRURVJfTUVUQSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBlbnN1cmVTdG9yZU1ldGFkYXRhKHRhcmdldDogRnVuY3Rpb24pIHtcbiAgICBpZiAoIXRhcmdldC5oYXNPd25Qcm9wZXJ0eShNRVRBX0tFWSkpIHtcbiAgICAgICAgY29uc3QgZGVmYXVsdE1ldGFkYXRhID0ge1xuICAgICAgICAgICAgbmFtZTogbnVsbCxcbiAgICAgICAgICAgIGFjdGlvbnM6IHt9LFxuICAgICAgICAgICAgZGVmYXVsdHM6IHt9LFxuICAgICAgICAgICAgcGF0aDogbnVsbCxcbiAgICAgICAgICAgIGNoaWxkcmVuOiBbXSxcbiAgICAgICAgICAgIGluc3RhbmNlOiBudWxsXG4gICAgICAgIH07XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIE1FVEFfS0VZLCB7IHZhbHVlOiBkZWZhdWx0TWV0YWRhdGEgfSk7XG4gICAgfVxuICAgIHJldHVybiBnZXRTdG9yZU1ldGFkYXRhKHRhcmdldCk7XG59XG5cbmZ1bmN0aW9uIGdldFN0b3JlTWV0YWRhdGEodGFyZ2V0OiBGdW5jdGlvbikge1xuICAgIHJldHVybiB0YXJnZXRbTUVUQV9LRVldO1xufVxuIl19

@@ -6,3 +6,3 @@ /**

/**
* Emitter action
* This class is used as a default action when the user doesn't pass any custom action as an argument
* @template T

@@ -36,2 +36,2 @@ */

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzLWNvbnRyaWIvZW1pdHRlci8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL2FjdGlvbnMvYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7SUFTSTs7OztPQUlHO0lBQ0gsdUJBQW1CLE9BQVc7UUFBWCxZQUFPLEdBQVAsT0FBTyxDQUFJO0tBQUk7Ozs7eUJBUEUsSUFBSTt3QkFQNUM7O1NBR2EsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRW1pdHRlciBhY3Rpb25cbiAqL1xuZXhwb3J0IGNsYXNzIEVtaXR0ZXJBY3Rpb248VCA9IGFueT4ge1xuICAgIC8qKlxuICAgICAqIEFjdGlvbiB0eXBlXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyB0eXBlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgRW1pdHRlckFjdGlvbiBpbnN0YW5jZVxuICAgICAqXG4gICAgICogQHBhcmFtIHBheWxvYWQgLSBEYXRhIHRvIGRpc3BhdGNoXG4gICAgICovXG4gICAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ/OiBUKSB7fVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzLWNvbnRyaWIvZW1pdHRlci8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL2FjdGlvbnMvYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7SUFTSTs7OztPQUlHO0lBQ0gsdUJBQW1CLE9BQVc7UUFBWCxZQUFPLEdBQVAsT0FBTyxDQUFJO0tBQUk7Ozs7eUJBUEUsSUFBSTt3QkFQNUM7O1NBR2EsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhpcyBjbGFzcyBpcyB1c2VkIGFzIGEgZGVmYXVsdCBhY3Rpb24gd2hlbiB0aGUgdXNlciBkb2Vzbid0IHBhc3MgYW55IGN1c3RvbSBhY3Rpb24gYXMgYW4gYXJndW1lbnRcbiAqL1xuZXhwb3J0IGNsYXNzIEVtaXR0ZXJBY3Rpb248VCA9IGFueT4ge1xuICAgIC8qKlxuICAgICAqIEFjdGlvbiB0eXBlXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyB0eXBlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgRW1pdHRlckFjdGlvbiBpbnN0YW5jZVxuICAgICAqXG4gICAgICogQHBhcmFtIHBheWxvYWQgLSBEYXRhIHRvIGRpc3BhdGNoXG4gICAgICovXG4gICAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ/OiBUKSB7fVxufVxuIl19

@@ -17,6 +17,6 @@ /**

}
var /** @type {?} */ meta = ensureStoreMetadata(target);
if (typeof key === 'symbol') {
key = key.toString();
}
var /** @type {?} */ meta = ensureStoreMetadata(target);
var /** @type {?} */ type = (options && options.type) || target.name + "." + key;

@@ -52,2 +52,2 @@ var /** @type {?} */ action = options && options.action;

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1pdHRlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzLWNvbnRyaWIvZW1pdHRlci8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL2RlY29yYXRvcnMvZW1pdHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFtQixnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7O0FBUS9GLE1BQU0sa0JBQWtCLE9BQWtDO0lBQ3RELE1BQU0sQ0FBQyxVQUFJLE1BQVcsRUFBRSxHQUFvQixFQUFFLFVBQXNDO1FBQ2hGLEVBQUUsQ0FBQyxDQUFDLE9BQU8sVUFBVSxDQUFDLEtBQUssS0FBSyxVQUFVLElBQUksT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQztZQUM5RSxNQUFNLElBQUksU0FBUyxDQUFDLGtFQUFrRSxDQUFDLENBQUM7U0FDM0Y7UUFFRCxxQkFBTSxJQUFJLEdBQUcsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFekMsRUFBRSxDQUFDLENBQUMsT0FBTyxHQUFHLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQztZQUMxQixHQUFHLEdBQUcsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ3hCO1FBRUQscUJBQU0sSUFBSSxHQUFXLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBTyxNQUFNLENBQUMsSUFBSSxTQUFJLEdBQUssQ0FBQztRQUMxRSxxQkFBTSxNQUFNLEdBQW9CLE9BQU8sSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDO1FBRTFELEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsc0NBQXFDLElBQUkscUJBQW1CLENBQUMsQ0FBQztTQUNqRjs7UUFHRCxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztvQkFDekIsRUFBRSxFQUFFLEtBQUcsR0FBSztvQkFDWixPQUFPLEVBQUUsRUFBRTtvQkFDWCxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7aUJBQ3BCLENBQUMsQ0FBQztTQUNOO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDSixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7b0JBQ2xCLEVBQUUsRUFBRSxLQUFHLEdBQUs7b0JBQ1osT0FBTyxFQUFFLEVBQUU7b0JBQ1gsSUFBSSxNQUFBO2lCQUNQLENBQUMsQ0FBQztTQUNOO1FBRUQsVUFBVSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHO1lBQ2pDLElBQUksTUFBQTtZQUNKLE1BQU0sUUFBQTtTQUNULENBQUM7UUFFRixNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHO1lBQ3BCLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztTQUMvQyxDQUFDO0tBQ0wsQ0FBQztDQUNMIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZW5zdXJlU3RvcmVNZXRhZGF0YSwgRW1pdHRlck1ldGFEYXRhLCBFTUlUVEVSX01FVEFfS0VZIH0gZnJvbSAnLi4vaW50ZXJuYWwvaW50ZXJuYWxzJztcblxuLyoqXG4gKiBEZWNvcmF0ZXMgYSBtZXRob2Qgd2l0aCBhbiBlbWl0dGVyIGluZm9ybWF0aW9uXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBPcHRpb25zIGZvciBjb25maWd1cmluZyBzdGF0aWMgbWV0YWRhdGFcbiAqIEByZXR1cm5zIC0gRmFjdG9yeSBmb3IgZGVjb3JhdGluZyBtZXRob2RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEVtaXR0ZXIob3B0aW9ucz86IFBhcnRpYWw8RW1pdHRlck1ldGFEYXRhPik6IE1ldGhvZERlY29yYXRvciB7XG4gICAgcmV0dXJuIDxUPih0YXJnZXQ6IGFueSwga2V5OiBzdHJpbmcgfCBzeW1ib2wsIGRlc2NyaXB0b3I6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPFQ+KSA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgZGVzY3JpcHRvci52YWx1ZSAhPT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgdGFyZ2V0W2tleV0gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYE9ubHkgc3RhdGljIGZ1bmN0aW9ucyBjYW4gYmUgZGVjb3JhdGVkIHdpdGggQEVtaXR0ZXIoKSBkZWNvcmF0b3JgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1ldGEgPSBlbnN1cmVTdG9yZU1ldGFkYXRhKHRhcmdldCk7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBrZXkgPT09ICdzeW1ib2wnKSB7XG4gICAgICAgICAgICBrZXkgPSBrZXkudG9TdHJpbmcoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHR5cGU6IHN0cmluZyA9IChvcHRpb25zICYmIG9wdGlvbnMudHlwZSkgfHwgYCR7dGFyZ2V0Lm5hbWV9LiR7a2V5fWA7XG4gICAgICAgIGNvbnN0IGFjdGlvbjogYW55IHwgdW5kZWZpbmVkID0gb3B0aW9ucyAmJiBvcHRpb25zLmFjdGlvbjtcblxuICAgICAgICBpZiAobWV0YS5hY3Rpb25zW3R5cGVdKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE1ldGhvZCBkZWNvcmF0ZWQgd2l0aCBzdWNoIHR5cGUgXFxgJHt0eXBlfVxcYCBhbHJlYWR5IGV4aXN0c2ApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSWYgdGhlIHVzZXIgcGFzc2VkIGN1c3RvbSBhY3Rpb25cbiAgICAgICAgaWYgKGFjdGlvbikge1xuICAgICAgICAgICAgbWV0YS5hY3Rpb25zW2FjdGlvbi50eXBlXSA9IFt7XG4gICAgICAgICAgICAgICAgZm46IGAke2tleX1gLFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHt9LFxuICAgICAgICAgICAgICAgIHR5cGU6IGFjdGlvbi50eXBlXG4gICAgICAgICAgICB9XTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG1ldGEuYWN0aW9uc1t0eXBlXSA9IFt7XG4gICAgICAgICAgICAgICAgZm46IGAke2tleX1gLFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHt9LFxuICAgICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIH1dO1xuICAgICAgICB9XG5cbiAgICAgICAgZGVzY3JpcHRvci52YWx1ZVtFTUlUVEVSX01FVEFfS0VZXSA9IHtcbiAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICBhY3Rpb25cbiAgICAgICAgfTtcblxuICAgICAgICB0YXJnZXQucHJvdG90eXBlW2tleV0gPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIHJldHVybiB0YXJnZXRba2V5XS5hcHBseSh0YXJnZXQsIGFyZ3VtZW50cyk7XG4gICAgICAgIH07XG4gICAgfTtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1pdHRlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzLWNvbnRyaWIvZW1pdHRlci8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL2RlY29yYXRvcnMvZW1pdHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFtQixnQkFBZ0IsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7OztBQVE3RyxNQUFNLGtCQUFrQixPQUFrQztJQUN0RCxNQUFNLENBQUMsVUFBSSxNQUFXLEVBQUUsR0FBb0IsRUFBRSxVQUFzQztRQUNoRixFQUFFLENBQUMsQ0FBQyxPQUFPLFVBQVUsQ0FBQyxLQUFLLEtBQUssVUFBVSxJQUFJLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUM7WUFDOUUsTUFBTSxJQUFJLFNBQVMsQ0FBQyxrRUFBa0UsQ0FBQyxDQUFDO1NBQzNGO1FBRUQsRUFBRSxDQUFDLENBQUMsT0FBTyxHQUFHLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQztZQUMxQixHQUFHLEdBQUcsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ3hCO1FBRUQscUJBQU0sSUFBSSxHQUFHLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pDLHFCQUFNLElBQUksR0FBVyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQU8sTUFBTSxDQUFDLElBQUksU0FBSSxHQUFLLENBQUM7UUFDMUUscUJBQU0sTUFBTSxHQUF1QyxPQUFPLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUU3RSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLHNDQUFxQyxJQUFJLHFCQUFtQixDQUFDLENBQUM7U0FDakY7O1FBR0QsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNULElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7b0JBQ3pCLEVBQUUsRUFBRSxLQUFHLEdBQUs7b0JBQ1osT0FBTyxFQUFFLEVBQUU7b0JBQ1gsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO2lCQUNwQixDQUFDLENBQUM7U0FDTjtRQUFDLElBQUksQ0FBQyxDQUFDO1lBQ0osSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO29CQUNsQixFQUFFLEVBQUUsS0FBRyxHQUFLO29CQUNaLE9BQU8sRUFBRSxFQUFFO29CQUNYLElBQUksTUFBQTtpQkFDUCxDQUFDLENBQUM7U0FDTjtRQUVELFVBQVUsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsR0FBRztZQUNqQyxJQUFJLE1BQUE7WUFDSixNQUFNLFFBQUE7U0FDVCxDQUFDO1FBRUYsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRztZQUNwQixNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDL0MsQ0FBQztLQUNMLENBQUM7Q0FDTCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGVuc3VyZVN0b3JlTWV0YWRhdGEsIEVtaXR0ZXJNZXRhRGF0YSwgRU1JVFRFUl9NRVRBX0tFWSwgQ3VzdG9tQWN0aW9uIH0gZnJvbSAnLi4vaW50ZXJuYWwvaW50ZXJuYWxzJztcblxuLyoqXG4gKiBEZWNvcmF0ZXMgYSBtZXRob2Qgd2l0aCBhbiBlbWl0dGVyIGluZm9ybWF0aW9uXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBPcHRpb25zIGZvciBjb25maWd1cmluZyBzdGF0aWMgbWV0YWRhdGFcbiAqIEByZXR1cm5zIC0gRmFjdG9yeSBmb3IgZGVjb3JhdGluZyBtZXRob2RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEVtaXR0ZXIob3B0aW9ucz86IFBhcnRpYWw8RW1pdHRlck1ldGFEYXRhPik6IE1ldGhvZERlY29yYXRvciB7XG4gICAgcmV0dXJuIDxUPih0YXJnZXQ6IGFueSwga2V5OiBzdHJpbmcgfCBzeW1ib2wsIGRlc2NyaXB0b3I6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPFQ+KSA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgZGVzY3JpcHRvci52YWx1ZSAhPT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgdGFyZ2V0W2tleV0gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYE9ubHkgc3RhdGljIGZ1bmN0aW9ucyBjYW4gYmUgZGVjb3JhdGVkIHdpdGggQEVtaXR0ZXIoKSBkZWNvcmF0b3JgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2Yga2V5ID09PSAnc3ltYm9sJykge1xuICAgICAgICAgICAga2V5ID0ga2V5LnRvU3RyaW5nKCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBtZXRhID0gZW5zdXJlU3RvcmVNZXRhZGF0YSh0YXJnZXQpO1xuICAgICAgICBjb25zdCB0eXBlOiBzdHJpbmcgPSAob3B0aW9ucyAmJiBvcHRpb25zLnR5cGUpIHx8IGAke3RhcmdldC5uYW1lfS4ke2tleX1gO1xuICAgICAgICBjb25zdCBhY3Rpb246IEN1c3RvbUFjdGlvbjxhbnksIGFueT4gfCB1bmRlZmluZWQgPSBvcHRpb25zICYmIG9wdGlvbnMuYWN0aW9uO1xuXG4gICAgICAgIGlmIChtZXRhLmFjdGlvbnNbdHlwZV0pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTWV0aG9kIGRlY29yYXRlZCB3aXRoIHN1Y2ggdHlwZSBcXGAke3R5cGV9XFxgIGFscmVhZHkgZXhpc3RzYCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiB0aGUgdXNlciBwYXNzZWQgY3VzdG9tIGFjdGlvblxuICAgICAgICBpZiAoYWN0aW9uKSB7XG4gICAgICAgICAgICBtZXRhLmFjdGlvbnNbYWN0aW9uLnR5cGVdID0gW3tcbiAgICAgICAgICAgICAgICBmbjogYCR7a2V5fWAsXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge30sXG4gICAgICAgICAgICAgICAgdHlwZTogYWN0aW9uLnR5cGVcbiAgICAgICAgICAgIH1dO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbWV0YS5hY3Rpb25zW3R5cGVdID0gW3tcbiAgICAgICAgICAgICAgICBmbjogYCR7a2V5fWAsXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge30sXG4gICAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgfV07XG4gICAgICAgIH1cblxuICAgICAgICBkZXNjcmlwdG9yLnZhbHVlW0VNSVRURVJfTUVUQV9LRVldID0ge1xuICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgIGFjdGlvblxuICAgICAgICB9O1xuXG4gICAgICAgIHRhcmdldC5wcm90b3R5cGVba2V5XSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRhcmdldFtrZXldLmFwcGx5KHRhcmdldCwgYXJndW1lbnRzKTtcbiAgICAgICAgfTtcbiAgICB9O1xufVxuIl19

@@ -5,2 +5,17 @@ /**

*/
/**
* Custom action interface
*
* \@property type - Static property that defines action type
* @record
* @template T, U
*/
export function CustomAction() { }
function CustomAction_tsickle_Closure_declarations() {
/** @type {?} */
CustomAction.prototype.type;
/* TODO: handle strange member:
new (payload?: U): T;
*/
}
// unsupported: template constraints.

@@ -35,2 +50,5 @@ /**

export var /** @type {?} */ META_KEY = 'NGXS_META';
/**
* @const - This constant is a key for defining static metadata using `\@Emitter`
*/
export var /** @type {?} */ EMITTER_META_KEY = 'NGXS_EMITTER_META';

@@ -63,2 +81,2 @@ /**

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWxzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMtY29udHJpYi9lbWl0dGVyLyIsInNvdXJjZXMiOlsibGliL2NvcmUvaW50ZXJuYWwvaW50ZXJuYWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBd0JBLE1BQU0sQ0FBQyxxQkFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDO0FBQ3BDLE1BQU0sQ0FBQyxxQkFBTSxnQkFBZ0IsR0FBRyxtQkFBbUIsQ0FBQzs7Ozs7QUFFcEQsTUFBTSw4QkFBOEIsTUFBZ0I7SUFDaEQsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQyxxQkFBTSxlQUFlLEdBQUc7WUFDcEIsSUFBSSxFQUFFLElBQUk7WUFDVixPQUFPLEVBQUUsRUFBRTtZQUNYLFFBQVEsRUFBRSxFQUFFO1lBQ1osSUFBSSxFQUFFLElBQUk7WUFDVixRQUFRLEVBQUUsRUFBRTtZQUNaLFFBQVEsRUFBRSxJQUFJO1NBQ2pCLENBQUM7UUFDRixNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztLQUN2RTtJQUNELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztDQUNuQzs7Ozs7QUFFRCwwQkFBMEIsTUFBZ0I7SUFDdEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztDQUMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIFN0YXRpYyBtZXRhZGF0YSBmb3IgdGhlIGVtaXR0ZXIgZnVuY3Rpb25cbiAqXG4gKiBAcHJvcGVydHkgdHlwZSAtIEFjdGlvbiB0eXBlIChvcHRpb25hbClcbiAqIEBwcm9wZXJ0eSBhY3Rpb24gLSBDdXN0b20gYWN0aW9uIHRvIGRpc3BhdGNoIChvcHRpb25hbClcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbWl0dGVyTWV0YURhdGE8VCBleHRlbmRzIEZ1bmN0aW9uID0gYW55PiB7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIGFjdGlvbjogVHlwZTxUPjtcbn1cblxuLyoqXG4gKiBQbGFpbiBvYmplY3QgdGhhdCBjb250YWlucyBgZW1pdGAgZnVuY3Rpb24gdGhhdCBkaXNwYXRjaGVzIHBheWxvYWRcbiAqXG4gKiBAcHJvcGVydHkgZW1pdCAtIEZ1bmN0aW9uIHRoYXQgZGlzcGF0Y2hlcyBwYXlsb2FkIHVuZGVyIHRoZSBob29kXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW1pdHRhYmxlPFQgPSBhbnksIFUgPSBhbnk+IHtcbiAgICBlbWl0KHBheWxvYWQ/OiBUKTogT2JzZXJ2YWJsZTxVPjtcbn1cblxuZXhwb3J0IGNvbnN0IE1FVEFfS0VZID0gJ05HWFNfTUVUQSc7XG5leHBvcnQgY29uc3QgRU1JVFRFUl9NRVRBX0tFWSA9ICdOR1hTX0VNSVRURVJfTUVUQSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBlbnN1cmVTdG9yZU1ldGFkYXRhKHRhcmdldDogRnVuY3Rpb24pIHtcbiAgICBpZiAoIXRhcmdldC5oYXNPd25Qcm9wZXJ0eShNRVRBX0tFWSkpIHtcbiAgICAgICAgY29uc3QgZGVmYXVsdE1ldGFkYXRhID0ge1xuICAgICAgICAgICAgbmFtZTogbnVsbCxcbiAgICAgICAgICAgIGFjdGlvbnM6IHt9LFxuICAgICAgICAgICAgZGVmYXVsdHM6IHt9LFxuICAgICAgICAgICAgcGF0aDogbnVsbCxcbiAgICAgICAgICAgIGNoaWxkcmVuOiBbXSxcbiAgICAgICAgICAgIGluc3RhbmNlOiBudWxsXG4gICAgICAgIH07XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIE1FVEFfS0VZLCB7IHZhbHVlOiBkZWZhdWx0TWV0YWRhdGEgfSk7XG4gICAgfVxuICAgIHJldHVybiBnZXRTdG9yZU1ldGFkYXRhKHRhcmdldCk7XG59XG5cbmZ1bmN0aW9uIGdldFN0b3JlTWV0YWRhdGEodGFyZ2V0OiBGdW5jdGlvbikge1xuICAgIHJldHVybiB0YXJnZXRbTUVUQV9LRVldO1xufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWxzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMtY29udHJpYi9lbWl0dGVyLyIsInNvdXJjZXMiOlsibGliL2NvcmUvaW50ZXJuYWwvaW50ZXJuYWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZ0NBLE1BQU0sQ0FBQyxxQkFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDOzs7O0FBS3BDLE1BQU0sQ0FBQyxxQkFBTSxnQkFBZ0IsR0FBRyxtQkFBbUIsQ0FBQzs7Ozs7QUFFcEQsTUFBTSw4QkFBOEIsTUFBZ0I7SUFDaEQsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQyxxQkFBTSxlQUFlLEdBQUc7WUFDcEIsSUFBSSxFQUFFLElBQUk7WUFDVixPQUFPLEVBQUUsRUFBRTtZQUNYLFFBQVEsRUFBRSxFQUFFO1lBQ1osSUFBSSxFQUFFLElBQUk7WUFDVixRQUFRLEVBQUUsRUFBRTtZQUNaLFFBQVEsRUFBRSxJQUFJO1NBQ2pCLENBQUM7UUFDRixNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztLQUN2RTtJQUNELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztDQUNuQzs7Ozs7QUFFRCwwQkFBMEIsTUFBZ0I7SUFDdEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztDQUMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBDdXN0b20gYWN0aW9uIGludGVyZmFjZVxuICpcbiAqIEBwcm9wZXJ0eSB0eXBlIC0gU3RhdGljIHByb3BlcnR5IHRoYXQgZGVmaW5lcyBhY3Rpb24gdHlwZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbUFjdGlvbjxUID0gYW55LCBVID0gYW55PiB7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIG5ldyAocGF5bG9hZD86IFUpOiBUO1xufVxuXG4vKipcbiAqIFN0YXRpYyBtZXRhZGF0YSBmb3IgdGhlIGVtaXR0ZXIgZnVuY3Rpb25cbiAqXG4gKiBAcHJvcGVydHkgdHlwZSAtIEFjdGlvbiB0eXBlIChvcHRpb25hbClcbiAqIEBwcm9wZXJ0eSBhY3Rpb24gLSBDdXN0b20gYWN0aW9uIHRvIGRpc3BhdGNoIChvcHRpb25hbClcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbWl0dGVyTWV0YURhdGE8VCBleHRlbmRzIEZ1bmN0aW9uID0gYW55PiB7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIGFjdGlvbjogQ3VzdG9tQWN0aW9uPFQ+O1xufVxuXG4vKipcbiAqIFBsYWluIG9iamVjdCB0aGF0IGNvbnRhaW5zIGBlbWl0YCBmdW5jdGlvbiB0aGF0IGRpc3BhdGNoZXMgcGF5bG9hZFxuICpcbiAqIEBwcm9wZXJ0eSBlbWl0IC0gRnVuY3Rpb24gdGhhdCBkaXNwYXRjaGVzIHBheWxvYWQgdW5kZXIgdGhlIGhvb2RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbWl0dGFibGU8VCA9IGFueSwgVSA9IGFueT4ge1xuICAgIGVtaXQocGF5bG9hZD86IFQpOiBPYnNlcnZhYmxlPFU+O1xufVxuXG5leHBvcnQgY29uc3QgTUVUQV9LRVkgPSAnTkdYU19NRVRBJztcblxuLyoqXG4gKiBAY29uc3QgLSBUaGlzIGNvbnN0YW50IGlzIGEga2V5IGZvciBkZWZpbmluZyBzdGF0aWMgbWV0YWRhdGEgdXNpbmcgYEBFbWl0dGVyYFxuICovXG5leHBvcnQgY29uc3QgRU1JVFRFUl9NRVRBX0tFWSA9ICdOR1hTX0VNSVRURVJfTUVUQSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBlbnN1cmVTdG9yZU1ldGFkYXRhKHRhcmdldDogRnVuY3Rpb24pIHtcbiAgICBpZiAoIXRhcmdldC5oYXNPd25Qcm9wZXJ0eShNRVRBX0tFWSkpIHtcbiAgICAgICAgY29uc3QgZGVmYXVsdE1ldGFkYXRhID0ge1xuICAgICAgICAgICAgbmFtZTogbnVsbCxcbiAgICAgICAgICAgIGFjdGlvbnM6IHt9LFxuICAgICAgICAgICAgZGVmYXVsdHM6IHt9LFxuICAgICAgICAgICAgcGF0aDogbnVsbCxcbiAgICAgICAgICAgIGNoaWxkcmVuOiBbXSxcbiAgICAgICAgICAgIGluc3RhbmNlOiBudWxsXG4gICAgICAgIH07XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIE1FVEFfS0VZLCB7IHZhbHVlOiBkZWZhdWx0TWV0YWRhdGEgfSk7XG4gICAgfVxuICAgIHJldHVybiBnZXRTdG9yZU1ldGFkYXRhKHRhcmdldCk7XG59XG5cbmZ1bmN0aW9uIGdldFN0b3JlTWV0YWRhdGEodGFyZ2V0OiBGdW5jdGlvbikge1xuICAgIHJldHVybiB0YXJnZXRbTUVUQV9LRVldO1xufVxuIl19

@@ -9,2 +9,5 @@ import { Injectable, Injector, NgModule } from '@angular/core';

const /** @type {?} */ META_KEY = 'NGXS_META';
/**
* @const - This constant is a key for defining static metadata using `\@Emitter`
*/
const /** @type {?} */ EMITTER_META_KEY = 'NGXS_EMITTER_META';

@@ -52,6 +55,6 @@ /**

}
const /** @type {?} */ meta = ensureStoreMetadata(target);
if (typeof key === 'symbol') {
key = key.toString();
}
const /** @type {?} */ meta = ensureStoreMetadata(target);
const /** @type {?} */ type = (options && options.type) || `${target.name}.${key}`;

@@ -92,3 +95,3 @@ const /** @type {?} */ action = options && options.action;

/**
* Emitter action
* This class is used as a default action when the user doesn't pass any custom action as an argument
* @template T

@@ -227,2 +230,2 @@ */

//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4cy1jb250cmliLWVtaXR0ZXIuanMubWFwIiwic291cmNlcyI6WyJuZzovL0BuZ3hzLWNvbnRyaWIvZW1pdHRlci9saWIvY29yZS9pbnRlcm5hbC9pbnRlcm5hbHMudHMiLCJuZzovL0BuZ3hzLWNvbnRyaWIvZW1pdHRlci9saWIvY29yZS9kZWNvcmF0b3JzL2VtaXR0ZXIudHMiLCJuZzovL0BuZ3hzLWNvbnRyaWIvZW1pdHRlci9saWIvY29yZS9hY3Rpb25zL2FjdGlvbnMudHMiLCJuZzovL0BuZ3hzLWNvbnRyaWIvZW1pdHRlci9saWIvZW1pdC5zZXJ2aWNlLnRzIiwibmc6Ly9Abmd4cy1jb250cmliL2VtaXR0ZXIvbGliL2NvcmUvZGVjb3JhdG9ycy9wYXlsb2FkLWVtaXR0ZXIudHMiLCJuZzovL0BuZ3hzLWNvbnRyaWIvZW1pdHRlci9saWIvZW1pdC5tb2R1bGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogU3RhdGljIG1ldGFkYXRhIGZvciB0aGUgZW1pdHRlciBmdW5jdGlvblxuICpcbiAqIEBwcm9wZXJ0eSB0eXBlIC0gQWN0aW9uIHR5cGUgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IGFjdGlvbiAtIEN1c3RvbSBhY3Rpb24gdG8gZGlzcGF0Y2ggKG9wdGlvbmFsKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVtaXR0ZXJNZXRhRGF0YTxUIGV4dGVuZHMgRnVuY3Rpb24gPSBhbnk+IHtcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgYWN0aW9uOiBUeXBlPFQ+O1xufVxuXG4vKipcbiAqIFBsYWluIG9iamVjdCB0aGF0IGNvbnRhaW5zIGBlbWl0YCBmdW5jdGlvbiB0aGF0IGRpc3BhdGNoZXMgcGF5bG9hZFxuICpcbiAqIEBwcm9wZXJ0eSBlbWl0IC0gRnVuY3Rpb24gdGhhdCBkaXNwYXRjaGVzIHBheWxvYWQgdW5kZXIgdGhlIGhvb2RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbWl0dGFibGU8VCA9IGFueSwgVSA9IGFueT4ge1xuICAgIGVtaXQocGF5bG9hZD86IFQpOiBPYnNlcnZhYmxlPFU+O1xufVxuXG5leHBvcnQgY29uc3QgTUVUQV9LRVkgPSAnTkdYU19NRVRBJztcbmV4cG9ydCBjb25zdCBFTUlUVEVSX01FVEFfS0VZID0gJ05HWFNfRU1JVFRFUl9NRVRBJztcblxuZXhwb3J0IGZ1bmN0aW9uIGVuc3VyZVN0b3JlTWV0YWRhdGEodGFyZ2V0OiBGdW5jdGlvbikge1xuICAgIGlmICghdGFyZ2V0Lmhhc093blByb3BlcnR5KE1FVEFfS0VZKSkge1xuICAgICAgICBjb25zdCBkZWZhdWx0TWV0YWRhdGEgPSB7XG4gICAgICAgICAgICBuYW1lOiBudWxsLFxuICAgICAgICAgICAgYWN0aW9uczoge30sXG4gICAgICAgICAgICBkZWZhdWx0czoge30sXG4gICAgICAgICAgICBwYXRoOiBudWxsLFxuICAgICAgICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgICAgICAgaW5zdGFuY2U6IG51bGxcbiAgICAgICAgfTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgTUVUQV9LRVksIHsgdmFsdWU6IGRlZmF1bHRNZXRhZGF0YSB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGdldFN0b3JlTWV0YWRhdGEodGFyZ2V0KTtcbn1cblxuZnVuY3Rpb24gZ2V0U3RvcmVNZXRhZGF0YSh0YXJnZXQ6IEZ1bmN0aW9uKSB7XG4gICAgcmV0dXJuIHRhcmdldFtNRVRBX0tFWV07XG59XG4iLCJpbXBvcnQgeyBlbnN1cmVTdG9yZU1ldGFkYXRhLCBFbWl0dGVyTWV0YURhdGEsIEVNSVRURVJfTUVUQV9LRVkgfSBmcm9tICcuLi9pbnRlcm5hbC9pbnRlcm5hbHMnO1xuXG4vKipcbiAqIERlY29yYXRlcyBhIG1ldGhvZCB3aXRoIGFuIGVtaXR0ZXIgaW5mb3JtYXRpb25cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIE9wdGlvbnMgZm9yIGNvbmZpZ3VyaW5nIHN0YXRpYyBtZXRhZGF0YVxuICogQHJldHVybnMgLSBGYWN0b3J5IGZvciBkZWNvcmF0aW5nIG1ldGhvZFxuICovXG5leHBvcnQgZnVuY3Rpb24gRW1pdHRlcihvcHRpb25zPzogUGFydGlhbDxFbWl0dGVyTWV0YURhdGE+KTogTWV0aG9kRGVjb3JhdG9yIHtcbiAgICByZXR1cm4gPFQ+KHRhcmdldDogYW55LCBrZXk6IHN0cmluZyB8IHN5bWJvbCwgZGVzY3JpcHRvcjogVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8VD4pID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBkZXNjcmlwdG9yLnZhbHVlICE9PSAnZnVuY3Rpb24nIHx8IHR5cGVvZiB0YXJnZXRba2V5XSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgT25seSBzdGF0aWMgZnVuY3Rpb25zIGNhbiBiZSBkZWNvcmF0ZWQgd2l0aCBARW1pdHRlcigpIGRlY29yYXRvcmApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbWV0YSA9IGVuc3VyZVN0b3JlTWV0YWRhdGEodGFyZ2V0KTtcblxuICAgICAgICBpZiAodHlwZW9mIGtleSA9PT0gJ3N5bWJvbCcpIHtcbiAgICAgICAgICAgIGtleSA9IGtleS50b1N0cmluZygpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdHlwZTogc3RyaW5nID0gKG9wdGlvbnMgJiYgb3B0aW9ucy50eXBlKSB8fCBgJHt0YXJnZXQubmFtZX0uJHtrZXl9YDtcbiAgICAgICAgY29uc3QgYWN0aW9uOiBhbnkgfCB1bmRlZmluZWQgPSBvcHRpb25zICYmIG9wdGlvbnMuYWN0aW9uO1xuXG4gICAgICAgIGlmIChtZXRhLmFjdGlvbnNbdHlwZV0pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTWV0aG9kIGRlY29yYXRlZCB3aXRoIHN1Y2ggdHlwZSBcXGAke3R5cGV9XFxgIGFscmVhZHkgZXhpc3RzYCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiB0aGUgdXNlciBwYXNzZWQgY3VzdG9tIGFjdGlvblxuICAgICAgICBpZiAoYWN0aW9uKSB7XG4gICAgICAgICAgICBtZXRhLmFjdGlvbnNbYWN0aW9uLnR5cGVdID0gW3tcbiAgICAgICAgICAgICAgICBmbjogYCR7a2V5fWAsXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge30sXG4gICAgICAgICAgICAgICAgdHlwZTogYWN0aW9uLnR5cGVcbiAgICAgICAgICAgIH1dO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbWV0YS5hY3Rpb25zW3R5cGVdID0gW3tcbiAgICAgICAgICAgICAgICBmbjogYCR7a2V5fWAsXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge30sXG4gICAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgfV07XG4gICAgICAgIH1cblxuICAgICAgICBkZXNjcmlwdG9yLnZhbHVlW0VNSVRURVJfTUVUQV9LRVldID0ge1xuICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgIGFjdGlvblxuICAgICAgICB9O1xuXG4gICAgICAgIHRhcmdldC5wcm90b3R5cGVba2V5XSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRhcmdldFtrZXldLmFwcGx5KHRhcmdldCwgYXJndW1lbnRzKTtcbiAgICAgICAgfTtcbiAgICB9O1xufVxuIiwiLyoqXG4gKiBFbWl0dGVyIGFjdGlvblxuICovXG5leHBvcnQgY2xhc3MgRW1pdHRlckFjdGlvbjxUID0gYW55PiB7XG4gICAgLyoqXG4gICAgICogQWN0aW9uIHR5cGVcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIHR5cGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBFbWl0dGVyQWN0aW9uIGluc3RhbmNlXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcGF5bG9hZCAtIERhdGEgdG8gZGlzcGF0Y2hcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZD86IFQpIHt9XG59XG4iLCJpbXBvcnQgeyBJbmplY3RhYmxlLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBFTUlUVEVSX01FVEFfS0VZLCBFbWl0dGFibGUsIEVtaXR0ZXJNZXRhRGF0YSB9IGZyb20gJy4vY29yZS9pbnRlcm5hbC9pbnRlcm5hbHMnO1xuaW1wb3J0IHsgRW1pdHRlckFjdGlvbiB9IGZyb20gJy4vY29yZS9hY3Rpb25zL2FjdGlvbnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRW1pdFN0b3JlIGV4dGVuZHMgU3RvcmUge1xuICAgIC8qKlxuICAgICAqIEBwYXJhbSBlbWl0dGVyIC0gUmVmZXJlbmNlIHRvIHRoZSBzdGF0aWMgZnVuY3Rpb24gZnJvbSB0aGUgc3RvcmVcbiAgICAgKiBAcmV0dXJucyAtIEEgcGxhaW4gb2JqZWN0IHdpdGggYW4gYGVtaXRgIGZ1bmN0aW9uIGZvciBjYWxsaW5nIGVtaXR0ZXJcbiAgICAgKi9cbiAgICBwdWJsaWMgZW1pdHRlcjxUID0gYW55LCBVID0gYW55PihlbWl0dGVyOiBGdW5jdGlvbik6IEVtaXR0YWJsZTxULCBVPiB7XG4gICAgICAgIGNvbnN0IGVtaXR0ZXJFdmVudDogRW1pdHRlck1ldGFEYXRhID0gZW1pdHRlcltFTUlUVEVSX01FVEFfS0VZXTtcblxuICAgICAgICBpZiAoIWVtaXR0ZXJFdmVudCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFbWl0dGVyIG1ldGhvZHMgc2hvdWxkIGJlIGRlY29yYXRlZCB1c2luZyBARW1pdHRlcigpIGRlY29yYXRvcicpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGVtaXQ6IChwYXlsb2FkPzogVCk6IE9ic2VydmFibGU8VT4gPT4ge1xuICAgICAgICAgICAgICAgIEVtaXR0ZXJBY3Rpb24udHlwZSA9IGVtaXR0ZXJFdmVudC50eXBlO1xuICAgICAgICAgICAgICAgIGNvbnN0IEFjdGlvbjogVHlwZTxhbnkgfCBFbWl0dGVyQWN0aW9uPiA9IGVtaXR0ZXJFdmVudC5hY3Rpb24gPyBlbWl0dGVyRXZlbnQuYWN0aW9uIDogRW1pdHRlckFjdGlvbjtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kaXNwYXRjaChuZXcgQWN0aW9uKHBheWxvYWQpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG59XG4iLCJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBFbWl0U3RvcmUgfSBmcm9tICcuLi8uLi9lbWl0LnNlcnZpY2UnO1xuXG4vKipcbiAqIEFsbG93cyB0aGUgYEBQYXlsb2FkRW1pdHRlcigpYCBkZWNvcmF0b3IgdG8gZ2V0IGFjY2VzcyB0byB0aGUgREkgc3RvcmVcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFBheWxvYWRFbWl0dGVyRmFjdG9yeSB7XG4gICAgLyoqXG4gICAgICogSW5qZWN0b3IgZm9yIGFjY2Vzc2luZyBESVxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgaW5qZWN0b3I6IEluamVjdG9yIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIFBheWxvYWRFbWl0dGVyRmFjdG9yeSBpbnN0YW5jZVxuICAgICAqXG4gICAgICogQHBhcmFtIGluamVjdG9yIC0gUm9vdCBpbmplY3RvclxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgICBQYXlsb2FkRW1pdHRlckZhY3RvcnkuaW5qZWN0b3IgPSBpbmplY3RvcjtcbiAgICB9XG59XG5cbi8qKlxuICogRGVjb3JhdGVzIGEgcHJvcGVydHkgYW5kIGRlZmluZXMgbmV3IGdldHRlclxuICpcbiAqIEBwYXJhbSBlbWl0dGVyIC0gUmVmZXJlbmNlIHRvIHRoZSBzdGF0aWMgZnVuY3Rpb25cbiAqIEByZXR1cm5zIC0gRmFjdG9yeSBmdW5jdGlvbiBmb3IgZGVjb3JhdGluZyBwcm9wZXJ0aWVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBQYXlsb2FkRW1pdHRlcihlbWl0dGVyOiBGdW5jdGlvbik6IFByb3BlcnR5RGVjb3JhdG9yIHtcbiAgICByZXR1cm4gKHRhcmdldDogT2JqZWN0LCBrZXk6IHN0cmluZyB8IHN5bWJvbCkgPT4ge1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHtcbiAgICAgICAgICAgIGdldDogKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHN0b3JlID0gUGF5bG9hZEVtaXR0ZXJGYWN0b3J5LmluamVjdG9yIS5nZXQ8RW1pdFN0b3JlPihFbWl0U3RvcmUpO1xuICAgICAgICAgICAgICAgIHJldHVybiBzdG9yZS5lbWl0dGVyKGVtaXR0ZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9O1xufVxuIiwiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUGF5bG9hZEVtaXR0ZXJGYWN0b3J5IH0gZnJvbSAnLi9jb3JlL2RlY29yYXRvcnMvcGF5bG9hZC1lbWl0dGVyJztcbmltcG9ydCB7IEVtaXRTdG9yZSB9IGZyb20gJy4vZW1pdC5zZXJ2aWNlJztcblxuQE5nTW9kdWxlKHtcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgUGF5bG9hZEVtaXR0ZXJGYWN0b3J5LFxuICAgICAgICBFbWl0U3RvcmVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIE5neHNFbWl0UGx1Z2luTW9kdWxlIHtcbiAgICBjb25zdHJ1Y3RvcihwYXlsb2FkRW1pdHRlckZhY3Rvcnk6IFBheWxvYWRFbWl0dGVyRmFjdG9yeSkge31cblxuICAgIC8qKlxuICAgICAqIEByZXR1cm5zIC0gQSB3cmFwcGVyIGFyb3VuZCBgTmdNb2R1bGVgXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Tmd4c0VtaXRQbHVnaW5Nb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBOZ3hzRW1pdFBsdWdpbk1vZHVsZVxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBd0JPLHVCQUFNLFFBQVEsR0FBRyxXQUFXLENBQUM7QUFDcEMsQUFBTyx1QkFBTSxnQkFBZ0IsR0FBRyxtQkFBbUIsQ0FBQzs7Ozs7QUFFcEQsNkJBQW9DLE1BQWdCO0lBQ2hELElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQ2xDLHVCQUFNLGVBQWUsR0FBRztZQUNwQixJQUFJLEVBQUUsSUFBSTtZQUNWLE9BQU8sRUFBRSxFQUFFO1lBQ1gsUUFBUSxFQUFFLEVBQUU7WUFDWixJQUFJLEVBQUUsSUFBSTtZQUNWLFFBQVEsRUFBRSxFQUFFO1lBQ1osUUFBUSxFQUFFLElBQUk7U0FDakIsQ0FBQztRQUNGLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO0tBQ3ZFO0lBQ0QsT0FBTyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztDQUNuQzs7Ozs7QUFFRCwwQkFBMEIsTUFBZ0I7SUFDdEMsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7Q0FDM0I7Ozs7OztBQzVDRDs7Ozs7O0FBUUEsaUJBQXdCLE9BQWtDO0lBQ3RELE9BQU8sQ0FBSSxNQUFXLEVBQUUsR0FBb0IsRUFBRSxVQUFzQztRQUNoRixJQUFJLE9BQU8sVUFBVSxDQUFDLEtBQUssS0FBSyxVQUFVLElBQUksT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssVUFBVSxFQUFFO1lBQzdFLE1BQU0sSUFBSSxTQUFTLENBQUMsa0VBQWtFLENBQUMsQ0FBQztTQUMzRjtRQUVELHVCQUFNLElBQUksR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV6QyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRTtZQUN6QixHQUFHLEdBQUcsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ3hCO1FBRUQsdUJBQU0sSUFBSSxHQUFXLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzFFLHVCQUFNLE1BQU0sR0FBb0IsT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFFMUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLElBQUksbUJBQW1CLENBQUMsQ0FBQztTQUNqRjs7UUFHRCxJQUFJLE1BQU0sRUFBRTtZQUNSLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7b0JBQ3pCLEVBQUUsRUFBRSxHQUFHLEdBQUcsRUFBRTtvQkFDWixPQUFPLEVBQUUsRUFBRTtvQkFDWCxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7aUJBQ3BCLENBQUMsQ0FBQztTQUNOO2FBQU07WUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7b0JBQ2xCLEVBQUUsRUFBRSxHQUFHLEdBQUcsRUFBRTtvQkFDWixPQUFPLEVBQUUsRUFBRTtvQkFDWCxJQUFJO2lCQUNQLENBQUMsQ0FBQztTQUNOO1FBRUQsVUFBVSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHO1lBQ2pDLElBQUk7WUFDSixNQUFNO1NBQ1QsQ0FBQztRQUVGLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUc7WUFDcEIsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztTQUMvQyxDQUFDO0tBQ0wsQ0FBQztDQUNMOzs7Ozs7Ozs7O0FDaEREOzs7Ozs7SUFXSSxZQUFtQixPQUFXO1FBQVgsWUFBTyxHQUFQLE9BQU8sQ0FBSTtLQUFJOzs7OztxQkFQRSxJQUFJOzs7Ozs7QUNQNUMsZUFTdUIsU0FBUSxLQUFLOzs7Ozs7SUFLekIsT0FBTyxDQUFtQixPQUFpQjtRQUM5Qyx1QkFBTSxZQUFZLEdBQW9CLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRWhFLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDZixNQUFNLElBQUksS0FBSyxDQUFDLGdFQUFnRSxDQUFDLENBQUM7U0FDckY7UUFFRCxPQUFPO1lBQ0gsSUFBSSxFQUFFLENBQUMsT0FBVztnQkFDZCxhQUFhLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUM7Z0JBQ3ZDLHVCQUFNLE1BQU0sR0FBOEIsWUFBWSxDQUFDLE1BQU0sR0FBRyxZQUFZLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQztnQkFDcEcsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7YUFDN0M7U0FDSixDQUFDOzs7O1lBbkJULFVBQVU7Ozs7Ozs7QUNSWDs7O0FBUUE7Ozs7OztJQVdJLFlBQVksUUFBa0I7UUFDMUIscUJBQXFCLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztLQUM3Qzs7Ozs7aUNBVHlDLElBQUk7O1lBTGpELFVBQVU7Ozs7WUFQVSxRQUFROzs7Ozs7OztBQThCN0Isd0JBQStCLE9BQWlCO0lBQzVDLE9BQU8sQ0FBQyxNQUFjLEVBQUUsR0FBb0I7UUFDeEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO1lBQy9CLEdBQUcsRUFBRTtnQkFDRCx1QkFBTSxLQUFLLHNCQUFHLHFCQUFxQixDQUFDLFFBQVEsR0FBRSxHQUFHLENBQVksU0FBUyxDQUFDLENBQUM7Z0JBQ3hFLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNqQztTQUNKLENBQUMsQ0FBQztLQUNOLENBQUM7Q0FDTDs7Ozs7O0FDdkNEOzs7O0lBWUksWUFBWSxxQkFBNEMsS0FBSTs7OztJQUtyRCxPQUFPLE9BQU87UUFDakIsT0FBTztZQUNILFFBQVEsRUFBRSxvQkFBb0I7U0FDakMsQ0FBQzs7OztZQWZULFFBQVEsU0FBQztnQkFDTixTQUFTLEVBQUU7b0JBQ1AscUJBQXFCO29CQUNyQixTQUFTO2lCQUNaO2FBQ0o7Ozs7WUFSUSxxQkFBcUI7Ozs7Ozs7Ozs7Ozs7OzsifQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4cy1jb250cmliLWVtaXR0ZXIuanMubWFwIiwic291cmNlcyI6WyJuZzovL0BuZ3hzLWNvbnRyaWIvZW1pdHRlci9saWIvY29yZS9pbnRlcm5hbC9pbnRlcm5hbHMudHMiLCJuZzovL0BuZ3hzLWNvbnRyaWIvZW1pdHRlci9saWIvY29yZS9kZWNvcmF0b3JzL2VtaXR0ZXIudHMiLCJuZzovL0BuZ3hzLWNvbnRyaWIvZW1pdHRlci9saWIvY29yZS9hY3Rpb25zL2FjdGlvbnMudHMiLCJuZzovL0BuZ3hzLWNvbnRyaWIvZW1pdHRlci9saWIvZW1pdC5zZXJ2aWNlLnRzIiwibmc6Ly9Abmd4cy1jb250cmliL2VtaXR0ZXIvbGliL2NvcmUvZGVjb3JhdG9ycy9wYXlsb2FkLWVtaXR0ZXIudHMiLCJuZzovL0BuZ3hzLWNvbnRyaWIvZW1pdHRlci9saWIvZW1pdC5tb2R1bGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIEN1c3RvbSBhY3Rpb24gaW50ZXJmYWNlXG4gKlxuICogQHByb3BlcnR5IHR5cGUgLSBTdGF0aWMgcHJvcGVydHkgdGhhdCBkZWZpbmVzIGFjdGlvbiB0eXBlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tQWN0aW9uPFQgPSBhbnksIFUgPSBhbnk+IHtcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgbmV3IChwYXlsb2FkPzogVSk6IFQ7XG59XG5cbi8qKlxuICogU3RhdGljIG1ldGFkYXRhIGZvciB0aGUgZW1pdHRlciBmdW5jdGlvblxuICpcbiAqIEBwcm9wZXJ0eSB0eXBlIC0gQWN0aW9uIHR5cGUgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IGFjdGlvbiAtIEN1c3RvbSBhY3Rpb24gdG8gZGlzcGF0Y2ggKG9wdGlvbmFsKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVtaXR0ZXJNZXRhRGF0YTxUIGV4dGVuZHMgRnVuY3Rpb24gPSBhbnk+IHtcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgYWN0aW9uOiBDdXN0b21BY3Rpb248VD47XG59XG5cbi8qKlxuICogUGxhaW4gb2JqZWN0IHRoYXQgY29udGFpbnMgYGVtaXRgIGZ1bmN0aW9uIHRoYXQgZGlzcGF0Y2hlcyBwYXlsb2FkXG4gKlxuICogQHByb3BlcnR5IGVtaXQgLSBGdW5jdGlvbiB0aGF0IGRpc3BhdGNoZXMgcGF5bG9hZCB1bmRlciB0aGUgaG9vZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVtaXR0YWJsZTxUID0gYW55LCBVID0gYW55PiB7XG4gICAgZW1pdChwYXlsb2FkPzogVCk6IE9ic2VydmFibGU8VT47XG59XG5cbmV4cG9ydCBjb25zdCBNRVRBX0tFWSA9ICdOR1hTX01FVEEnO1xuXG4vKipcbiAqIEBjb25zdCAtIFRoaXMgY29uc3RhbnQgaXMgYSBrZXkgZm9yIGRlZmluaW5nIHN0YXRpYyBtZXRhZGF0YSB1c2luZyBgQEVtaXR0ZXJgXG4gKi9cbmV4cG9ydCBjb25zdCBFTUlUVEVSX01FVEFfS0VZID0gJ05HWFNfRU1JVFRFUl9NRVRBJztcblxuZXhwb3J0IGZ1bmN0aW9uIGVuc3VyZVN0b3JlTWV0YWRhdGEodGFyZ2V0OiBGdW5jdGlvbikge1xuICAgIGlmICghdGFyZ2V0Lmhhc093blByb3BlcnR5KE1FVEFfS0VZKSkge1xuICAgICAgICBjb25zdCBkZWZhdWx0TWV0YWRhdGEgPSB7XG4gICAgICAgICAgICBuYW1lOiBudWxsLFxuICAgICAgICAgICAgYWN0aW9uczoge30sXG4gICAgICAgICAgICBkZWZhdWx0czoge30sXG4gICAgICAgICAgICBwYXRoOiBudWxsLFxuICAgICAgICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgICAgICAgaW5zdGFuY2U6IG51bGxcbiAgICAgICAgfTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgTUVUQV9LRVksIHsgdmFsdWU6IGRlZmF1bHRNZXRhZGF0YSB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGdldFN0b3JlTWV0YWRhdGEodGFyZ2V0KTtcbn1cblxuZnVuY3Rpb24gZ2V0U3RvcmVNZXRhZGF0YSh0YXJnZXQ6IEZ1bmN0aW9uKSB7XG4gICAgcmV0dXJuIHRhcmdldFtNRVRBX0tFWV07XG59XG4iLCJpbXBvcnQgeyBlbnN1cmVTdG9yZU1ldGFkYXRhLCBFbWl0dGVyTWV0YURhdGEsIEVNSVRURVJfTUVUQV9LRVksIEN1c3RvbUFjdGlvbiB9IGZyb20gJy4uL2ludGVybmFsL2ludGVybmFscyc7XG5cbi8qKlxuICogRGVjb3JhdGVzIGEgbWV0aG9kIHdpdGggYW4gZW1pdHRlciBpbmZvcm1hdGlvblxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gT3B0aW9ucyBmb3IgY29uZmlndXJpbmcgc3RhdGljIG1ldGFkYXRhXG4gKiBAcmV0dXJucyAtIEZhY3RvcnkgZm9yIGRlY29yYXRpbmcgbWV0aG9kXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFbWl0dGVyKG9wdGlvbnM/OiBQYXJ0aWFsPEVtaXR0ZXJNZXRhRGF0YT4pOiBNZXRob2REZWNvcmF0b3Ige1xuICAgIHJldHVybiA8VD4odGFyZ2V0OiBhbnksIGtleTogc3RyaW5nIHwgc3ltYm9sLCBkZXNjcmlwdG9yOiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxUPikgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIGRlc2NyaXB0b3IudmFsdWUgIT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIHRhcmdldFtrZXldICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBPbmx5IHN0YXRpYyBmdW5jdGlvbnMgY2FuIGJlIGRlY29yYXRlZCB3aXRoIEBFbWl0dGVyKCkgZGVjb3JhdG9yYCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIGtleSA9PT0gJ3N5bWJvbCcpIHtcbiAgICAgICAgICAgIGtleSA9IGtleS50b1N0cmluZygpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbWV0YSA9IGVuc3VyZVN0b3JlTWV0YWRhdGEodGFyZ2V0KTtcbiAgICAgICAgY29uc3QgdHlwZTogc3RyaW5nID0gKG9wdGlvbnMgJiYgb3B0aW9ucy50eXBlKSB8fCBgJHt0YXJnZXQubmFtZX0uJHtrZXl9YDtcbiAgICAgICAgY29uc3QgYWN0aW9uOiBDdXN0b21BY3Rpb248YW55LCBhbnk+IHwgdW5kZWZpbmVkID0gb3B0aW9ucyAmJiBvcHRpb25zLmFjdGlvbjtcblxuICAgICAgICBpZiAobWV0YS5hY3Rpb25zW3R5cGVdKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE1ldGhvZCBkZWNvcmF0ZWQgd2l0aCBzdWNoIHR5cGUgXFxgJHt0eXBlfVxcYCBhbHJlYWR5IGV4aXN0c2ApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSWYgdGhlIHVzZXIgcGFzc2VkIGN1c3RvbSBhY3Rpb25cbiAgICAgICAgaWYgKGFjdGlvbikge1xuICAgICAgICAgICAgbWV0YS5hY3Rpb25zW2FjdGlvbi50eXBlXSA9IFt7XG4gICAgICAgICAgICAgICAgZm46IGAke2tleX1gLFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHt9LFxuICAgICAgICAgICAgICAgIHR5cGU6IGFjdGlvbi50eXBlXG4gICAgICAgICAgICB9XTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG1ldGEuYWN0aW9uc1t0eXBlXSA9IFt7XG4gICAgICAgICAgICAgICAgZm46IGAke2tleX1gLFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHt9LFxuICAgICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIH1dO1xuICAgICAgICB9XG5cbiAgICAgICAgZGVzY3JpcHRvci52YWx1ZVtFTUlUVEVSX01FVEFfS0VZXSA9IHtcbiAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICBhY3Rpb25cbiAgICAgICAgfTtcblxuICAgICAgICB0YXJnZXQucHJvdG90eXBlW2tleV0gPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIHJldHVybiB0YXJnZXRba2V5XS5hcHBseSh0YXJnZXQsIGFyZ3VtZW50cyk7XG4gICAgICAgIH07XG4gICAgfTtcbn1cbiIsIi8qKlxuICogVGhpcyBjbGFzcyBpcyB1c2VkIGFzIGEgZGVmYXVsdCBhY3Rpb24gd2hlbiB0aGUgdXNlciBkb2Vzbid0IHBhc3MgYW55IGN1c3RvbSBhY3Rpb24gYXMgYW4gYXJndW1lbnRcbiAqL1xuZXhwb3J0IGNsYXNzIEVtaXR0ZXJBY3Rpb248VCA9IGFueT4ge1xuICAgIC8qKlxuICAgICAqIEFjdGlvbiB0eXBlXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyB0eXBlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgRW1pdHRlckFjdGlvbiBpbnN0YW5jZVxuICAgICAqXG4gICAgICogQHBhcmFtIHBheWxvYWQgLSBEYXRhIHRvIGRpc3BhdGNoXG4gICAgICovXG4gICAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ/OiBUKSB7fVxufVxuIiwiaW1wb3J0IHsgSW5qZWN0YWJsZSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRU1JVFRFUl9NRVRBX0tFWSwgRW1pdHRhYmxlLCBFbWl0dGVyTWV0YURhdGEgfSBmcm9tICcuL2NvcmUvaW50ZXJuYWwvaW50ZXJuYWxzJztcbmltcG9ydCB7IEVtaXR0ZXJBY3Rpb24gfSBmcm9tICcuL2NvcmUvYWN0aW9ucy9hY3Rpb25zJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEVtaXRTdG9yZSBleHRlbmRzIFN0b3JlIHtcbiAgICAvKipcbiAgICAgKiBAcGFyYW0gZW1pdHRlciAtIFJlZmVyZW5jZSB0byB0aGUgc3RhdGljIGZ1bmN0aW9uIGZyb20gdGhlIHN0b3JlXG4gICAgICogQHJldHVybnMgLSBBIHBsYWluIG9iamVjdCB3aXRoIGFuIGBlbWl0YCBmdW5jdGlvbiBmb3IgY2FsbGluZyBlbWl0dGVyXG4gICAgICovXG4gICAgcHVibGljIGVtaXR0ZXI8VCA9IGFueSwgVSA9IGFueT4oZW1pdHRlcjogRnVuY3Rpb24pOiBFbWl0dGFibGU8VCwgVT4ge1xuICAgICAgICBjb25zdCBlbWl0dGVyRXZlbnQ6IEVtaXR0ZXJNZXRhRGF0YSA9IGVtaXR0ZXJbRU1JVFRFUl9NRVRBX0tFWV07XG5cbiAgICAgICAgaWYgKCFlbWl0dGVyRXZlbnQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRW1pdHRlciBtZXRob2RzIHNob3VsZCBiZSBkZWNvcmF0ZWQgdXNpbmcgQEVtaXR0ZXIoKSBkZWNvcmF0b3InKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBlbWl0OiAocGF5bG9hZD86IFQpOiBPYnNlcnZhYmxlPFU+ID0+IHtcbiAgICAgICAgICAgICAgICBFbWl0dGVyQWN0aW9uLnR5cGUgPSBlbWl0dGVyRXZlbnQudHlwZTtcbiAgICAgICAgICAgICAgICBjb25zdCBBY3Rpb246IFR5cGU8YW55IHwgRW1pdHRlckFjdGlvbj4gPSBlbWl0dGVyRXZlbnQuYWN0aW9uID8gZW1pdHRlckV2ZW50LmFjdGlvbiA6IEVtaXR0ZXJBY3Rpb247XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGlzcGF0Y2gobmV3IEFjdGlvbihwYXlsb2FkKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxufVxuIiwiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRW1pdFN0b3JlIH0gZnJvbSAnLi4vLi4vZW1pdC5zZXJ2aWNlJztcblxuLyoqXG4gKiBBbGxvd3MgdGhlIGBAUGF5bG9hZEVtaXR0ZXIoKWAgZGVjb3JhdG9yIHRvIGdldCBhY2Nlc3MgdG8gdGhlIERJIHN0b3JlXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQYXlsb2FkRW1pdHRlckZhY3Rvcnkge1xuICAgIC8qKlxuICAgICAqIEluamVjdG9yIGZvciBhY2Nlc3NpbmcgRElcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGluamVjdG9yOiBJbmplY3RvciB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBQYXlsb2FkRW1pdHRlckZhY3RvcnkgaW5zdGFuY2VcbiAgICAgKlxuICAgICAqIEBwYXJhbSBpbmplY3RvciAtIFJvb3QgaW5qZWN0b3JcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgUGF5bG9hZEVtaXR0ZXJGYWN0b3J5LmluamVjdG9yID0gaW5qZWN0b3I7XG4gICAgfVxufVxuXG4vKipcbiAqIERlY29yYXRlcyBhIHByb3BlcnR5IGFuZCBkZWZpbmVzIG5ldyBnZXR0ZXJcbiAqXG4gKiBAcGFyYW0gZW1pdHRlciAtIFJlZmVyZW5jZSB0byB0aGUgc3RhdGljIGZ1bmN0aW9uXG4gKiBAcmV0dXJucyAtIEZhY3RvcnkgZnVuY3Rpb24gZm9yIGRlY29yYXRpbmcgcHJvcGVydGllc1xuICovXG5leHBvcnQgZnVuY3Rpb24gUGF5bG9hZEVtaXR0ZXIoZW1pdHRlcjogRnVuY3Rpb24pOiBQcm9wZXJ0eURlY29yYXRvciB7XG4gICAgcmV0dXJuICh0YXJnZXQ6IE9iamVjdCwga2V5OiBzdHJpbmcgfCBzeW1ib2wpID0+IHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCB7XG4gICAgICAgICAgICBnZXQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzdG9yZSA9IFBheWxvYWRFbWl0dGVyRmFjdG9yeS5pbmplY3RvciEuZ2V0PEVtaXRTdG9yZT4oRW1pdFN0b3JlKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gc3RvcmUuZW1pdHRlcihlbWl0dGVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfTtcbn1cbiIsImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFBheWxvYWRFbWl0dGVyRmFjdG9yeSB9IGZyb20gJy4vY29yZS9kZWNvcmF0b3JzL3BheWxvYWQtZW1pdHRlcic7XG5pbXBvcnQgeyBFbWl0U3RvcmUgfSBmcm9tICcuL2VtaXQuc2VydmljZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFBheWxvYWRFbWl0dGVyRmFjdG9yeSxcbiAgICAgICAgRW1pdFN0b3JlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBOZ3hzRW1pdFBsdWdpbk1vZHVsZSB7XG4gICAgY29uc3RydWN0b3IocGF5bG9hZEVtaXR0ZXJGYWN0b3J5OiBQYXlsb2FkRW1pdHRlckZhY3RvcnkpIHt9XG5cbiAgICAvKipcbiAgICAgKiBAcmV0dXJucyAtIEEgd3JhcHBlciBhcm91bmQgYE5nTW9kdWxlYFxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5neHNFbWl0UGx1Z2luTW9kdWxlPiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuZ01vZHVsZTogTmd4c0VtaXRQbHVnaW5Nb2R1bGVcbiAgICAgICAgfTtcbiAgICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQWdDTyx1QkFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDOzs7O0FBS3BDLEFBQU8sdUJBQU0sZ0JBQWdCLEdBQUcsbUJBQW1CLENBQUM7Ozs7O0FBRXBELDZCQUFvQyxNQUFnQjtJQUNoRCxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsRUFBRTtRQUNsQyx1QkFBTSxlQUFlLEdBQUc7WUFDcEIsSUFBSSxFQUFFLElBQUk7WUFDVixPQUFPLEVBQUUsRUFBRTtZQUNYLFFBQVEsRUFBRSxFQUFFO1lBQ1osSUFBSSxFQUFFLElBQUk7WUFDVixR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

@@ -10,2 +10,5 @@ import { __extends } from 'tslib';

var /** @type {?} */ META_KEY = 'NGXS_META';
/**
* @const - This constant is a key for defining static metadata using `\@Emitter`
*/
var /** @type {?} */ EMITTER_META_KEY = 'NGXS_EMITTER_META';

@@ -53,6 +56,6 @@ /**

}
var /** @type {?} */ meta = ensureStoreMetadata(target);
if (typeof key === 'symbol') {
key = key.toString();
}
var /** @type {?} */ meta = ensureStoreMetadata(target);
var /** @type {?} */ type = (options && options.type) || target.name + "." + key;

@@ -93,3 +96,3 @@ var /** @type {?} */ action = options && options.action;

/**
* Emitter action
* This class is used as a default action when the user doesn't pass any custom action as an argument
* @template T

@@ -243,2 +246,2 @@ */

//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4cy1jb250cmliLWVtaXR0ZXIuanMubWFwIiwic291cmNlcyI6WyJuZzovL0BuZ3hzLWNvbnRyaWIvZW1pdHRlci9saWIvY29yZS9pbnRlcm5hbC9pbnRlcm5hbHMudHMiLCJuZzovL0BuZ3hzLWNvbnRyaWIvZW1pdHRlci9saWIvY29yZS9kZWNvcmF0b3JzL2VtaXR0ZXIudHMiLCJuZzovL0BuZ3hzLWNvbnRyaWIvZW1pdHRlci9saWIvY29yZS9hY3Rpb25zL2FjdGlvbnMudHMiLCJuZzovL0BuZ3hzLWNvbnRyaWIvZW1pdHRlci9saWIvZW1pdC5zZXJ2aWNlLnRzIiwibmc6Ly9Abmd4cy1jb250cmliL2VtaXR0ZXIvbGliL2NvcmUvZGVjb3JhdG9ycy9wYXlsb2FkLWVtaXR0ZXIudHMiLCJuZzovL0BuZ3hzLWNvbnRyaWIvZW1pdHRlci9saWIvZW1pdC5tb2R1bGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogU3RhdGljIG1ldGFkYXRhIGZvciB0aGUgZW1pdHRlciBmdW5jdGlvblxuICpcbiAqIEBwcm9wZXJ0eSB0eXBlIC0gQWN0aW9uIHR5cGUgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IGFjdGlvbiAtIEN1c3RvbSBhY3Rpb24gdG8gZGlzcGF0Y2ggKG9wdGlvbmFsKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVtaXR0ZXJNZXRhRGF0YTxUIGV4dGVuZHMgRnVuY3Rpb24gPSBhbnk+IHtcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgYWN0aW9uOiBUeXBlPFQ+O1xufVxuXG4vKipcbiAqIFBsYWluIG9iamVjdCB0aGF0IGNvbnRhaW5zIGBlbWl0YCBmdW5jdGlvbiB0aGF0IGRpc3BhdGNoZXMgcGF5bG9hZFxuICpcbiAqIEBwcm9wZXJ0eSBlbWl0IC0gRnVuY3Rpb24gdGhhdCBkaXNwYXRjaGVzIHBheWxvYWQgdW5kZXIgdGhlIGhvb2RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbWl0dGFibGU8VCA9IGFueSwgVSA9IGFueT4ge1xuICAgIGVtaXQocGF5bG9hZD86IFQpOiBPYnNlcnZhYmxlPFU+O1xufVxuXG5leHBvcnQgY29uc3QgTUVUQV9LRVkgPSAnTkdYU19NRVRBJztcbmV4cG9ydCBjb25zdCBFTUlUVEVSX01FVEFfS0VZID0gJ05HWFNfRU1JVFRFUl9NRVRBJztcblxuZXhwb3J0IGZ1bmN0aW9uIGVuc3VyZVN0b3JlTWV0YWRhdGEodGFyZ2V0OiBGdW5jdGlvbikge1xuICAgIGlmICghdGFyZ2V0Lmhhc093blByb3BlcnR5KE1FVEFfS0VZKSkge1xuICAgICAgICBjb25zdCBkZWZhdWx0TWV0YWRhdGEgPSB7XG4gICAgICAgICAgICBuYW1lOiBudWxsLFxuICAgICAgICAgICAgYWN0aW9uczoge30sXG4gICAgICAgICAgICBkZWZhdWx0czoge30sXG4gICAgICAgICAgICBwYXRoOiBudWxsLFxuICAgICAgICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgICAgICAgaW5zdGFuY2U6IG51bGxcbiAgICAgICAgfTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgTUVUQV9LRVksIHsgdmFsdWU6IGRlZmF1bHRNZXRhZGF0YSB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGdldFN0b3JlTWV0YWRhdGEodGFyZ2V0KTtcbn1cblxuZnVuY3Rpb24gZ2V0U3RvcmVNZXRhZGF0YSh0YXJnZXQ6IEZ1bmN0aW9uKSB7XG4gICAgcmV0dXJuIHRhcmdldFtNRVRBX0tFWV07XG59XG4iLCJpbXBvcnQgeyBlbnN1cmVTdG9yZU1ldGFkYXRhLCBFbWl0dGVyTWV0YURhdGEsIEVNSVRURVJfTUVUQV9LRVkgfSBmcm9tICcuLi9pbnRlcm5hbC9pbnRlcm5hbHMnO1xuXG4vKipcbiAqIERlY29yYXRlcyBhIG1ldGhvZCB3aXRoIGFuIGVtaXR0ZXIgaW5mb3JtYXRpb25cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIE9wdGlvbnMgZm9yIGNvbmZpZ3VyaW5nIHN0YXRpYyBtZXRhZGF0YVxuICogQHJldHVybnMgLSBGYWN0b3J5IGZvciBkZWNvcmF0aW5nIG1ldGhvZFxuICovXG5leHBvcnQgZnVuY3Rpb24gRW1pdHRlcihvcHRpb25zPzogUGFydGlhbDxFbWl0dGVyTWV0YURhdGE+KTogTWV0aG9kRGVjb3JhdG9yIHtcbiAgICByZXR1cm4gPFQ+KHRhcmdldDogYW55LCBrZXk6IHN0cmluZyB8IHN5bWJvbCwgZGVzY3JpcHRvcjogVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8VD4pID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBkZXNjcmlwdG9yLnZhbHVlICE9PSAnZnVuY3Rpb24nIHx8IHR5cGVvZiB0YXJnZXRba2V5XSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgT25seSBzdGF0aWMgZnVuY3Rpb25zIGNhbiBiZSBkZWNvcmF0ZWQgd2l0aCBARW1pdHRlcigpIGRlY29yYXRvcmApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbWV0YSA9IGVuc3VyZVN0b3JlTWV0YWRhdGEodGFyZ2V0KTtcblxuICAgICAgICBpZiAodHlwZW9mIGtleSA9PT0gJ3N5bWJvbCcpIHtcbiAgICAgICAgICAgIGtleSA9IGtleS50b1N0cmluZygpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdHlwZTogc3RyaW5nID0gKG9wdGlvbnMgJiYgb3B0aW9ucy50eXBlKSB8fCBgJHt0YXJnZXQubmFtZX0uJHtrZXl9YDtcbiAgICAgICAgY29uc3QgYWN0aW9uOiBhbnkgfCB1bmRlZmluZWQgPSBvcHRpb25zICYmIG9wdGlvbnMuYWN0aW9uO1xuXG4gICAgICAgIGlmIChtZXRhLmFjdGlvbnNbdHlwZV0pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTWV0aG9kIGRlY29yYXRlZCB3aXRoIHN1Y2ggdHlwZSBcXGAke3R5cGV9XFxgIGFscmVhZHkgZXhpc3RzYCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiB0aGUgdXNlciBwYXNzZWQgY3VzdG9tIGFjdGlvblxuICAgICAgICBpZiAoYWN0aW9uKSB7XG4gICAgICAgICAgICBtZXRhLmFjdGlvbnNbYWN0aW9uLnR5cGVdID0gW3tcbiAgICAgICAgICAgICAgICBmbjogYCR7a2V5fWAsXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge30sXG4gICAgICAgICAgICAgICAgdHlwZTogYWN0aW9uLnR5cGVcbiAgICAgICAgICAgIH1dO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbWV0YS5hY3Rpb25zW3R5cGVdID0gW3tcbiAgICAgICAgICAgICAgICBmbjogYCR7a2V5fWAsXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge30sXG4gICAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgfV07XG4gICAgICAgIH1cblxuICAgICAgICBkZXNjcmlwdG9yLnZhbHVlW0VNSVRURVJfTUVUQV9LRVldID0ge1xuICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgIGFjdGlvblxuICAgICAgICB9O1xuXG4gICAgICAgIHRhcmdldC5wcm90b3R5cGVba2V5XSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRhcmdldFtrZXldLmFwcGx5KHRhcmdldCwgYXJndW1lbnRzKTtcbiAgICAgICAgfTtcbiAgICB9O1xufVxuIiwiLyoqXG4gKiBFbWl0dGVyIGFjdGlvblxuICovXG5leHBvcnQgY2xhc3MgRW1pdHRlckFjdGlvbjxUID0gYW55PiB7XG4gICAgLyoqXG4gICAgICogQWN0aW9uIHR5cGVcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIHR5cGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBFbWl0dGVyQWN0aW9uIGluc3RhbmNlXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcGF5bG9hZCAtIERhdGEgdG8gZGlzcGF0Y2hcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZD86IFQpIHt9XG59XG4iLCJpbXBvcnQgeyBJbmplY3RhYmxlLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBFTUlUVEVSX01FVEFfS0VZLCBFbWl0dGFibGUsIEVtaXR0ZXJNZXRhRGF0YSB9IGZyb20gJy4vY29yZS9pbnRlcm5hbC9pbnRlcm5hbHMnO1xuaW1wb3J0IHsgRW1pdHRlckFjdGlvbiB9IGZyb20gJy4vY29yZS9hY3Rpb25zL2FjdGlvbnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRW1pdFN0b3JlIGV4dGVuZHMgU3RvcmUge1xuICAgIC8qKlxuICAgICAqIEBwYXJhbSBlbWl0dGVyIC0gUmVmZXJlbmNlIHRvIHRoZSBzdGF0aWMgZnVuY3Rpb24gZnJvbSB0aGUgc3RvcmVcbiAgICAgKiBAcmV0dXJucyAtIEEgcGxhaW4gb2JqZWN0IHdpdGggYW4gYGVtaXRgIGZ1bmN0aW9uIGZvciBjYWxsaW5nIGVtaXR0ZXJcbiAgICAgKi9cbiAgICBwdWJsaWMgZW1pdHRlcjxUID0gYW55LCBVID0gYW55PihlbWl0dGVyOiBGdW5jdGlvbik6IEVtaXR0YWJsZTxULCBVPiB7XG4gICAgICAgIGNvbnN0IGVtaXR0ZXJFdmVudDogRW1pdHRlck1ldGFEYXRhID0gZW1pdHRlcltFTUlUVEVSX01FVEFfS0VZXTtcblxuICAgICAgICBpZiAoIWVtaXR0ZXJFdmVudCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFbWl0dGVyIG1ldGhvZHMgc2hvdWxkIGJlIGRlY29yYXRlZCB1c2luZyBARW1pdHRlcigpIGRlY29yYXRvcicpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGVtaXQ6IChwYXlsb2FkPzogVCk6IE9ic2VydmFibGU8VT4gPT4ge1xuICAgICAgICAgICAgICAgIEVtaXR0ZXJBY3Rpb24udHlwZSA9IGVtaXR0ZXJFdmVudC50eXBlO1xuICAgICAgICAgICAgICAgIGNvbnN0IEFjdGlvbjogVHlwZTxhbnkgfCBFbWl0dGVyQWN0aW9uPiA9IGVtaXR0ZXJFdmVudC5hY3Rpb24gPyBlbWl0dGVyRXZlbnQuYWN0aW9uIDogRW1pdHRlckFjdGlvbjtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kaXNwYXRjaChuZXcgQWN0aW9uKHBheWxvYWQpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG59XG4iLCJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBFbWl0U3RvcmUgfSBmcm9tICcuLi8uLi9lbWl0LnNlcnZpY2UnO1xuXG4vKipcbiAqIEFsbG93cyB0aGUgYEBQYXlsb2FkRW1pdHRlcigpYCBkZWNvcmF0b3IgdG8gZ2V0IGFjY2VzcyB0byB0aGUgREkgc3RvcmVcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFBheWxvYWRFbWl0dGVyRmFjdG9yeSB7XG4gICAgLyoqXG4gICAgICogSW5qZWN0b3IgZm9yIGFjY2Vzc2luZyBESVxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgaW5qZWN0b3I6IEluamVjdG9yIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIFBheWxvYWRFbWl0dGVyRmFjdG9yeSBpbnN0YW5jZVxuICAgICAqXG4gICAgICogQHBhcmFtIGluamVjdG9yIC0gUm9vdCBpbmplY3RvclxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgICBQYXlsb2FkRW1pdHRlckZhY3RvcnkuaW5qZWN0b3IgPSBpbmplY3RvcjtcbiAgICB9XG59XG5cbi8qKlxuICogRGVjb3JhdGVzIGEgcHJvcGVydHkgYW5kIGRlZmluZXMgbmV3IGdldHRlclxuICpcbiAqIEBwYXJhbSBlbWl0dGVyIC0gUmVmZXJlbmNlIHRvIHRoZSBzdGF0aWMgZnVuY3Rpb25cbiAqIEByZXR1cm5zIC0gRmFjdG9yeSBmdW5jdGlvbiBmb3IgZGVjb3JhdGluZyBwcm9wZXJ0aWVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBQYXlsb2FkRW1pdHRlcihlbWl0dGVyOiBGdW5jdGlvbik6IFByb3BlcnR5RGVjb3JhdG9yIHtcbiAgICByZXR1cm4gKHRhcmdldDogT2JqZWN0LCBrZXk6IHN0cmluZyB8IHN5bWJvbCkgPT4ge1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHtcbiAgICAgICAgICAgIGdldDogKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHN0b3JlID0gUGF5bG9hZEVtaXR0ZXJGYWN0b3J5LmluamVjdG9yIS5nZXQ8RW1pdFN0b3JlPihFbWl0U3RvcmUpO1xuICAgICAgICAgICAgICAgIHJldHVybiBzdG9yZS5lbWl0dGVyKGVtaXR0ZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9O1xufVxuIiwiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUGF5bG9hZEVtaXR0ZXJGYWN0b3J5IH0gZnJvbSAnLi9jb3JlL2RlY29yYXRvcnMvcGF5bG9hZC1lbWl0dGVyJztcbmltcG9ydCB7IEVtaXRTdG9yZSB9IGZyb20gJy4vZW1pdC5zZXJ2aWNlJztcblxuQE5nTW9kdWxlKHtcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgUGF5bG9hZEVtaXR0ZXJGYWN0b3J5LFxuICAgICAgICBFbWl0U3RvcmVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIE5neHNFbWl0UGx1Z2luTW9kdWxlIHtcbiAgICBjb25zdHJ1Y3RvcihwYXlsb2FkRW1pdHRlckZhY3Rvcnk6IFBheWxvYWRFbWl0dGVyRmFjdG9yeSkge31cblxuICAgIC8qKlxuICAgICAqIEByZXR1cm5zIC0gQSB3cmFwcGVyIGFyb3VuZCBgTmdNb2R1bGVgXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Tmd4c0VtaXRQbHVnaW5Nb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBOZ3hzRW1pdFBsdWdpbk1vZHVsZVxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6WyJ0c2xpYl8xLl9fZXh0ZW5kcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUF3Qk8scUJBQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQztBQUNwQyxBQUFPLHFCQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDOzs7OztBQUVwRCw2QkFBb0MsTUFBZ0I7SUFDaEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDbEMscUJBQU0sZUFBZSxHQUFHO1lBQ3BCLElBQUksRUFBRSxJQUFJO1lBQ1YsT0FBTyxFQUFFLEVBQUU7WUFDWCxRQUFRLEVBQUUsRUFBRTtZQUNaLElBQUksRUFBRSxJQUFJO1lBQ1YsUUFBUSxFQUFFLEVBQUU7WUFDWixRQUFRLEVBQUUsSUFBSTtTQUNqQixDQUFDO1FBQ0YsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7S0FDdkU7SUFDRCxPQUFPLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0NBQ25DOzs7OztBQUVELDBCQUEwQixNQUFnQjtJQUN0QyxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztDQUMzQjs7Ozs7O0FDNUNEOzs7Ozs7QUFRQSxpQkFBd0IsT0FBa0M7SUFDdEQsT0FBTyxVQUFJLE1BQVcsRUFBRSxHQUFvQixFQUFFLFVBQXNDO1FBQ2hGLElBQUksT0FBTyxVQUFVLENBQUMsS0FBSyxLQUFLLFVBQVUsSUFBSSxPQUFP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
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4cy1jb250cmliLWVtaXR0ZXIuanMubWFwIiwic291cmNlcyI6WyJuZzovL0BuZ3hzLWNvbnRyaWIvZW1pdHRlci9saWIvY29yZS9pbnRlcm5hbC9pbnRlcm5hbHMudHMiLCJuZzovL0BuZ3hzLWNvbnRyaWIvZW1pdHRlci9saWIvY29yZS9kZWNvcmF0b3JzL2VtaXR0ZXIudHMiLCJuZzovL0BuZ3hzLWNvbnRyaWIvZW1pdHRlci9saWIvY29yZS9hY3Rpb25zL2FjdGlvbnMudHMiLCJuZzovL0BuZ3hzLWNvbnRyaWIvZW1pdHRlci9saWIvZW1pdC5zZXJ2aWNlLnRzIiwibmc6Ly9Abmd4cy1jb250cmliL2VtaXR0ZXIvbGliL2NvcmUvZGVjb3JhdG9ycy9wYXlsb2FkLWVtaXR0ZXIudHMiLCJuZzovL0BuZ3hzLWNvbnRyaWIvZW1pdHRlci9saWIvZW1pdC5tb2R1bGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIEN1c3RvbSBhY3Rpb24gaW50ZXJmYWNlXG4gKlxuICogQHByb3BlcnR5IHR5cGUgLSBTdGF0aWMgcHJvcGVydHkgdGhhdCBkZWZpbmVzIGFjdGlvbiB0eXBlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tQWN0aW9uPFQgPSBhbnksIFUgPSBhbnk+IHtcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgbmV3IChwYXlsb2FkPzogVSk6IFQ7XG59XG5cbi8qKlxuICogU3RhdGljIG1ldGFkYXRhIGZvciB0aGUgZW1pdHRlciBmdW5jdGlvblxuICpcbiAqIEBwcm9wZXJ0eSB0eXBlIC0gQWN0aW9uIHR5cGUgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IGFjdGlvbiAtIEN1c3RvbSBhY3Rpb24gdG8gZGlzcGF0Y2ggKG9wdGlvbmFsKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVtaXR0ZXJNZXRhRGF0YTxUIGV4dGVuZHMgRnVuY3Rpb24gPSBhbnk+IHtcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgYWN0aW9uOiBDdXN0b21BY3Rpb248VD47XG59XG5cbi8qKlxuICogUGxhaW4gb2JqZWN0IHRoYXQgY29udGFpbnMgYGVtaXRgIGZ1bmN0aW9uIHRoYXQgZGlzcGF0Y2hlcyBwYXlsb2FkXG4gKlxuICogQHByb3BlcnR5IGVtaXQgLSBGdW5jdGlvbiB0aGF0IGRpc3BhdGNoZXMgcGF5bG9hZCB1bmRlciB0aGUgaG9vZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVtaXR0YWJsZTxUID0gYW55LCBVID0gYW55PiB7XG4gICAgZW1pdChwYXlsb2FkPzogVCk6IE9ic2VydmFibGU8VT47XG59XG5cbmV4cG9ydCBjb25zdCBNRVRBX0tFWSA9ICdOR1hTX01FVEEnO1xuXG4vKipcbiAqIEBjb25zdCAtIFRoaXMgY29uc3RhbnQgaXMgYSBrZXkgZm9yIGRlZmluaW5nIHN0YXRpYyBtZXRhZGF0YSB1c2luZyBgQEVtaXR0ZXJgXG4gKi9cbmV4cG9ydCBjb25zdCBFTUlUVEVSX01FVEFfS0VZID0gJ05HWFNfRU1JVFRFUl9NRVRBJztcblxuZXhwb3J0IGZ1bmN0aW9uIGVuc3VyZVN0b3JlTWV0YWRhdGEodGFyZ2V0OiBGdW5jdGlvbikge1xuICAgIGlmICghdGFyZ2V0Lmhhc093blByb3BlcnR5KE1FVEFfS0VZKSkge1xuICAgICAgICBjb25zdCBkZWZhdWx0TWV0YWRhdGEgPSB7XG4gICAgICAgICAgICBuYW1lOiBudWxsLFxuICAgICAgICAgICAgYWN0aW9uczoge30sXG4gICAgICAgICAgICBkZWZhdWx0czoge30sXG4gICAgICAgICAgICBwYXRoOiBudWxsLFxuICAgICAgICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgICAgICAgaW5zdGFuY2U6IG51bGxcbiAgICAgICAgfTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgTUVUQV9LRVksIHsgdmFsdWU6IGRlZmF1bHRNZXRhZGF0YSB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGdldFN0b3JlTWV0YWRhdGEodGFyZ2V0KTtcbn1cblxuZnVuY3Rpb24gZ2V0U3RvcmVNZXRhZGF0YSh0YXJnZXQ6IEZ1bmN0aW9uKSB7XG4gICAgcmV0dXJuIHRhcmdldFtNRVRBX0tFWV07XG59XG4iLCJpbXBvcnQgeyBlbnN1cmVTdG9yZU1ldGFkYXRhLCBFbWl0dGVyTWV0YURhdGEsIEVNSVRURVJfTUVUQV9LRVksIEN1c3RvbUFjdGlvbiB9IGZyb20gJy4uL2ludGVybmFsL2ludGVybmFscyc7XG5cbi8qKlxuICogRGVjb3JhdGVzIGEgbWV0aG9kIHdpdGggYW4gZW1pdHRlciBpbmZvcm1hdGlvblxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gT3B0aW9ucyBmb3IgY29uZmlndXJpbmcgc3RhdGljIG1ldGFkYXRhXG4gKiBAcmV0dXJucyAtIEZhY3RvcnkgZm9yIGRlY29yYXRpbmcgbWV0aG9kXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBFbWl0dGVyKG9wdGlvbnM/OiBQYXJ0aWFsPEVtaXR0ZXJNZXRhRGF0YT4pOiBNZXRob2REZWNvcmF0b3Ige1xuICAgIHJldHVybiA8VD4odGFyZ2V0OiBhbnksIGtleTogc3RyaW5nIHwgc3ltYm9sLCBkZXNjcmlwdG9yOiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxUPikgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIGRlc2NyaXB0b3IudmFsdWUgIT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIHRhcmdldFtrZXldICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBPbmx5IHN0YXRpYyBmdW5jdGlvbnMgY2FuIGJlIGRlY29yYXRlZCB3aXRoIEBFbWl0dGVyKCkgZGVjb3JhdG9yYCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIGtleSA9PT0gJ3N5bWJvbCcpIHtcbiAgICAgICAgICAgIGtleSA9IGtleS50b1N0cmluZygpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbWV0YSA9IGVuc3VyZVN0b3JlTWV0YWRhdGEodGFyZ2V0KTtcbiAgICAgICAgY29uc3QgdHlwZTogc3RyaW5nID0gKG9wdGlvbnMgJiYgb3B0aW9ucy50eXBlKSB8fCBgJHt0YXJnZXQubmFtZX0uJHtrZXl9YDtcbiAgICAgICAgY29uc3QgYWN0aW9uOiBDdXN0b21BY3Rpb248YW55LCBhbnk+IHwgdW5kZWZpbmVkID0gb3B0aW9ucyAmJiBvcHRpb25zLmFjdGlvbjtcblxuICAgICAgICBpZiAobWV0YS5hY3Rpb25zW3R5cGVdKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE1ldGhvZCBkZWNvcmF0ZWQgd2l0aCBzdWNoIHR5cGUgXFxgJHt0eXBlfVxcYCBhbHJlYWR5IGV4aXN0c2ApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSWYgdGhlIHVzZXIgcGFzc2VkIGN1c3RvbSBhY3Rpb25cbiAgICAgICAgaWYgKGFjdGlvbikge1xuICAgICAgICAgICAgbWV0YS5hY3Rpb25zW2FjdGlvbi50eXBlXSA9IFt7XG4gICAgICAgICAgICAgICAgZm46IGAke2tleX1gLFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHt9LFxuICAgICAgICAgICAgICAgIHR5cGU6IGFjdGlvbi50eXBlXG4gICAgICAgICAgICB9XTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG1ldGEuYWN0aW9uc1t0eXBlXSA9IFt7XG4gICAgICAgICAgICAgICAgZm46IGAke2tleX1gLFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHt9LFxuICAgICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIH1dO1xuICAgICAgICB9XG5cbiAgICAgICAgZGVzY3JpcHRvci52YWx1ZVtFTUlUVEVSX01FVEFfS0VZXSA9IHtcbiAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICBhY3Rpb25cbiAgICAgICAgfTtcblxuICAgICAgICB0YXJnZXQucHJvdG90eXBlW2tleV0gPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIHJldHVybiB0YXJnZXRba2V5XS5hcHBseSh0YXJnZXQsIGFyZ3VtZW50cyk7XG4gICAgICAgIH07XG4gICAgfTtcbn1cbiIsIi8qKlxuICogVGhpcyBjbGFzcyBpcyB1c2VkIGFzIGEgZGVmYXVsdCBhY3Rpb24gd2hlbiB0aGUgdXNlciBkb2Vzbid0IHBhc3MgYW55IGN1c3RvbSBhY3Rpb24gYXMgYW4gYXJndW1lbnRcbiAqL1xuZXhwb3J0IGNsYXNzIEVtaXR0ZXJBY3Rpb248VCA9IGFueT4ge1xuICAgIC8qKlxuICAgICAqIEFjdGlvbiB0eXBlXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyB0eXBlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgRW1pdHRlckFjdGlvbiBpbnN0YW5jZVxuICAgICAqXG4gICAgICogQHBhcmFtIHBheWxvYWQgLSBEYXRhIHRvIGRpc3BhdGNoXG4gICAgICovXG4gICAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ/OiBUKSB7fVxufVxuIiwiaW1wb3J0IHsgSW5qZWN0YWJsZSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRU1JVFRFUl9NRVRBX0tFWSwgRW1pdHRhYmxlLCBFbWl0dGVyTWV0YURhdGEgfSBmcm9tICcuL2NvcmUvaW50ZXJuYWwvaW50ZXJuYWxzJztcbmltcG9ydCB7IEVtaXR0ZXJBY3Rpb24gfSBmcm9tICcuL2NvcmUvYWN0aW9ucy9hY3Rpb25zJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEVtaXRTdG9yZSBleHRlbmRzIFN0b3JlIHtcbiAgICAvKipcbiAgICAgKiBAcGFyYW0gZW1pdHRlciAtIFJlZmVyZW5jZSB0byB0aGUgc3RhdGljIGZ1bmN0aW9uIGZyb20gdGhlIHN0b3JlXG4gICAgICogQHJldHVybnMgLSBBIHBsYWluIG9iamVjdCB3aXRoIGFuIGBlbWl0YCBmdW5jdGlvbiBmb3IgY2FsbGluZyBlbWl0dGVyXG4gICAgICovXG4gICAgcHVibGljIGVtaXR0ZXI8VCA9IGFueSwgVSA9IGFueT4oZW1pdHRlcjogRnVuY3Rpb24pOiBFbWl0dGFibGU8VCwgVT4ge1xuICAgICAgICBjb25zdCBlbWl0dGVyRXZlbnQ6IEVtaXR0ZXJNZXRhRGF0YSA9IGVtaXR0ZXJbRU1JVFRFUl9NRVRBX0tFWV07XG5cbiAgICAgICAgaWYgKCFlbWl0dGVyRXZlbnQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRW1pdHRlciBtZXRob2RzIHNob3VsZCBiZSBkZWNvcmF0ZWQgdXNpbmcgQEVtaXR0ZXIoKSBkZWNvcmF0b3InKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBlbWl0OiAocGF5bG9hZD86IFQpOiBPYnNlcnZhYmxlPFU+ID0+IHtcbiAgICAgICAgICAgICAgICBFbWl0dGVyQWN0aW9uLnR5cGUgPSBlbWl0dGVyRXZlbnQudHlwZTtcbiAgICAgICAgICAgICAgICBjb25zdCBBY3Rpb246IFR5cGU8YW55IHwgRW1pdHRlckFjdGlvbj4gPSBlbWl0dGVyRXZlbnQuYWN0aW9uID8gZW1pdHRlckV2ZW50LmFjdGlvbiA6IEVtaXR0ZXJBY3Rpb247XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGlzcGF0Y2gobmV3IEFjdGlvbihwYXlsb2FkKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxufVxuIiwiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRW1pdFN0b3JlIH0gZnJvbSAnLi4vLi4vZW1pdC5zZXJ2aWNlJztcblxuLyoqXG4gKiBBbGxvd3MgdGhlIGBAUGF5bG9hZEVtaXR0ZXIoKWAgZGVjb3JhdG9yIHRvIGdldCBhY2Nlc3MgdG8gdGhlIERJIHN0b3JlXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQYXlsb2FkRW1pdHRlckZhY3Rvcnkge1xuICAgIC8qKlxuICAgICAqIEluamVjdG9yIGZvciBhY2Nlc3NpbmcgRElcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGluamVjdG9yOiBJbmplY3RvciB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBQYXlsb2FkRW1pdHRlckZhY3RvcnkgaW5zdGFuY2VcbiAgICAgKlxuICAgICAqIEBwYXJhbSBpbmplY3RvciAtIFJvb3QgaW5qZWN0b3JcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgUGF5bG9hZEVtaXR0ZXJGYWN0b3J5LmluamVjdG9yID0gaW5qZWN0b3I7XG4gICAgfVxufVxuXG4vKipcbiAqIERlY29yYXRlcyBhIHByb3BlcnR5IGFuZCBkZWZpbmVzIG5ldyBnZXR0ZXJcbiAqXG4gKiBAcGFyYW0gZW1pdHRlciAtIFJlZmVyZW5jZSB0byB0aGUgc3RhdGljIGZ1bmN0aW9uXG4gKiBAcmV0dXJucyAtIEZhY3RvcnkgZnVuY3Rpb24gZm9yIGRlY29yYXRpbmcgcHJvcGVydGllc1xuICovXG5leHBvcnQgZnVuY3Rpb24gUGF5bG9hZEVtaXR0ZXIoZW1pdHRlcjogRnVuY3Rpb24pOiBQcm9wZXJ0eURlY29yYXRvciB7XG4gICAgcmV0dXJuICh0YXJnZXQ6IE9iamVjdCwga2V5OiBzdHJpbmcgfCBzeW1ib2wpID0+IHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCB7XG4gICAgICAgICAgICBnZXQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzdG9yZSA9IFBheWxvYWRFbWl0dGVyRmFjdG9yeS5pbmplY3RvciEuZ2V0PEVtaXRTdG9yZT4oRW1pdFN0b3JlKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gc3RvcmUuZW1pdHRlcihlbWl0dGVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfTtcbn1cbiIsImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFBheWxvYWRFbWl0dGVyRmFjdG9yeSB9IGZyb20gJy4vY29yZS9kZWNvcmF0b3JzL3BheWxvYWQtZW1pdHRlcic7XG5pbXBvcnQgeyBFbWl0U3RvcmUgfSBmcm9tICcuL2VtaXQuc2VydmljZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFBheWxvYWRFbWl0dGVyRmFjdG9yeSxcbiAgICAgICAgRW1pdFN0b3JlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBOZ3hzRW1pdFBsdWdpbk1vZHVsZSB7XG4gICAgY29uc3RydWN0b3IocGF5bG9hZEVtaXR0ZXJGYWN0b3J5OiBQYXlsb2FkRW1pdHRlckZhY3RvcnkpIHt9XG5cbiAgICAvKipcbiAgICAgKiBAcmV0dXJucyAtIEEgd3JhcHBlciBhcm91bmQgYE5nTW9kdWxlYFxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5neHNFbWl0UGx1Z2luTW9kdWxlPiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuZ01vZHVsZTogTmd4c0VtaXRQbHVnaW5Nb2R1bGVcbiAgICAgICAgfTtcbiAgICB9XG59XG4iXSwibmFtZXMiOlsidHNsaWJfMS5fX2V4dGVuZHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBZ0NPLHFCQUFNLFFBQVEsR0FBRyxXQUFXLENBQUM7Ozs7QUFLcEMsQUFBTyxxQkFBTSxnQkFBZ0IsR0FBRyxtQkFBbUIsQ0FBQzs7Ozs7QUFFcEQsNkJBQW9DLE1BQWdCO0lBQ2hELElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQ2xDLHFCQUFNLGVBQWUsR0FBRztZQUNwQixJQUFJLEVBQUUsSUFBSTtZQUNWLE9BQU8sRUFBRSxFQUFFO1lBQ1gsUUFBUSxFQUFFLEVBQUU7WUFDWixJ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
/**
* Emitter action
* This class is used as a default action when the user doesn't pass any custom action as an argument
*/

@@ -4,0 +4,0 @@ export declare class EmitterAction<T = any> {

@@ -1,4 +0,12 @@

import { Type } from '@angular/core';
import { Observable } from 'rxjs';
/**
* Custom action interface
*
* @property type - Static property that defines action type
*/
export interface CustomAction<T = any, U = any> {
type: string;
new (payload?: U): T;
}
/**
* Static metadata for the emitter function

@@ -11,3 +19,3 @@ *

type: string;
action: Type<T>;
action: CustomAction<T>;
}

@@ -23,3 +31,6 @@ /**

export declare const META_KEY = "NGXS_META";
/**
* @const - This constant is a key for defining static metadata using `@Emitter`
*/
export declare const EMITTER_META_KEY = "NGXS_EMITTER_META";
export declare function ensureStoreMetadata(target: Function): any;
{
"name": "@ngxs-contrib/emitter",
"version": "0.0.3",
"version": "0.0.4",
"peerDependencies": {

@@ -5,0 +5,0 @@ "@angular/common": "^6.0.0-rc.0 || ^6.0.0",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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