@ngxs/devtools-plugin 3.7.6-dev.master-fb318b1 → 3.7.6-dev.master-40a2210

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,10 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- /**
6
- * Generated bundle index. Do not edit.
7
- */
8
- export { NgxsReduxDevtoolsPluginModule, NgxsReduxDevtoolsPlugin, NGXS_DEVTOOLS_OPTIONS } from './index';
9
- export { USER_OPTIONS as ɵb, devtoolsOptionsFactory as ɵa } from './src/devtools.module';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4cy1kZXZ0b29scy1wbHVnaW4uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9kZXZ0b29scy1wbHVnaW4vIiwic291cmNlcyI6WyJuZ3hzLWRldnRvb2xzLXBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsOEZBQWMsU0FBUyxDQUFDO0FBRXhCLE9BQU8sRUFBQyxZQUFZLElBQUksRUFBRSxFQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBQyxNQUFNLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcblxuZXhwb3J0IHtVU0VSX09QVElPTlMgYXMgybViLGRldnRvb2xzT3B0aW9uc0ZhY3RvcnkgYXMgybVhfSBmcm9tICcuL3NyYy9kZXZ0b29scy5tb2R1bGUnOyJdfQ==
@@ -1,57 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import * as tslib_1 from "tslib";
6
- import { NgModule, InjectionToken } from '@angular/core';
7
- import { NGXS_PLUGINS } from '@ngxs/store';
8
- import { NGXS_DEVTOOLS_OPTIONS } from './symbols';
9
- import { NgxsReduxDevtoolsPlugin } from './devtools.plugin';
10
- /**
11
- * @param {?} options
12
- * @return {?}
13
- */
14
- export function devtoolsOptionsFactory(options) {
15
- return tslib_1.__assign({ name: 'NGXS' }, options);
16
- }
17
- /** @type {?} */
18
- export var USER_OPTIONS = new InjectionToken('USER_OPTIONS');
19
- var NgxsReduxDevtoolsPluginModule = /** @class */ (function () {
20
- function NgxsReduxDevtoolsPluginModule() {
21
- }
22
- /**
23
- * @param {?=} options
24
- * @return {?}
25
- */
26
- NgxsReduxDevtoolsPluginModule.forRoot = /**
27
- * @param {?=} options
28
- * @return {?}
29
- */
30
- function (options) {
31
- return {
32
- ngModule: NgxsReduxDevtoolsPluginModule,
33
- providers: [
34
- {
35
- provide: NGXS_PLUGINS,
36
- useClass: NgxsReduxDevtoolsPlugin,
37
- multi: true
38
- },
39
- {
40
- provide: USER_OPTIONS,
41
- useValue: options
42
- },
43
- {
44
- provide: NGXS_DEVTOOLS_OPTIONS,
45
- useFactory: devtoolsOptionsFactory,
46
- deps: [USER_OPTIONS]
47
- }
48
- ]
49
- };
50
- };
51
- NgxsReduxDevtoolsPluginModule.decorators = [
52
- { type: NgModule }
53
- ];
54
- return NgxsReduxDevtoolsPluginModule;
55
- }());
56
- export { NgxsReduxDevtoolsPluginModule };
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2dG9vbHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMvZGV2dG9vbHMtcGx1Z2luLyIsInNvdXJjZXMiOlsic3JjL2RldnRvb2xzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTNDLE9BQU8sRUFBdUIscUJBQXFCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7O0FBRTVELE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxPQUE0QjtJQUNqRSwwQkFDRSxJQUFJLEVBQUUsTUFBTSxJQUNULE9BQU8sRUFDVjtBQUNKLENBQUM7O0FBRUQsTUFBTSxLQUFPLFlBQVksR0FBRyxJQUFJLGNBQWMsQ0FBQyxjQUFjLENBQUM7QUFFOUQ7SUFBQTtJQXlCQSxDQUFDOzs7OztJQXZCUSxxQ0FBTzs7OztJQUFkLFVBQ0UsT0FBNkI7UUFFN0IsT0FBTztZQUNMLFFBQVEsRUFBRSw2QkFBNkI7WUFDdkMsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSxZQUFZO29CQUNyQixRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxLQUFLLEVBQUUsSUFBSTtpQkFDWjtnQkFDRDtvQkFDRSxPQUFPLEVBQUUsWUFBWTtvQkFDckIsUUFBUSxFQUFFLE9BQU87aUJBQ2xCO2dCQUNEO29CQUNFLE9BQU8sRUFBRSxxQkFBcUI7b0JBQzlCLFVBQVUsRUFBRSxzQkFBc0I7b0JBQ2xDLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDckI7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDOztnQkF4QkYsUUFBUTs7SUF5QlQsb0NBQUM7Q0FBQSxBQXpCRCxJQXlCQztTQXhCWSw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycywgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HWFNfUExVR0lOUyB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcblxuaW1wb3J0IHsgTmd4c0RldnRvb2xzT3B0aW9ucywgTkdYU19ERVZUT09MU19PUFRJT05TIH0gZnJvbSAnLi9zeW1ib2xzJztcbmltcG9ydCB7IE5neHNSZWR1eERldnRvb2xzUGx1Z2luIH0gZnJvbSAnLi9kZXZ0b29scy5wbHVnaW4nO1xuXG5leHBvcnQgZnVuY3Rpb24gZGV2dG9vbHNPcHRpb25zRmFjdG9yeShvcHRpb25zOiBOZ3hzRGV2dG9vbHNPcHRpb25zKSB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ05HWFMnLFxuICAgIC4uLm9wdGlvbnNcbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IFVTRVJfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbignVVNFUl9PUFRJT05TJyk7XG5cbkBOZ01vZHVsZSgpXG5leHBvcnQgY2xhc3MgTmd4c1JlZHV4RGV2dG9vbHNQbHVnaW5Nb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChcbiAgICBvcHRpb25zPzogTmd4c0RldnRvb2xzT3B0aW9uc1xuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5neHNSZWR1eERldnRvb2xzUGx1Z2luTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBOZ3hzUmVkdXhEZXZ0b29sc1BsdWdpbk1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogTkdYU19QTFVHSU5TLFxuICAgICAgICAgIHVzZUNsYXNzOiBOZ3hzUmVkdXhEZXZ0b29sc1BsdWdpbixcbiAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogVVNFUl9PUFRJT05TLFxuICAgICAgICAgIHVzZVZhbHVlOiBvcHRpb25zXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBOR1hTX0RFVlRPT0xTX09QVElPTlMsXG4gICAgICAgICAgdXNlRmFjdG9yeTogZGV2dG9vbHNPcHRpb25zRmFjdG9yeSxcbiAgICAgICAgICBkZXBzOiBbVVNFUl9PUFRJT05TXVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -1,271 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import * as tslib_1 from "tslib";
6
- import { Inject, Injectable, Injector, NgZone, ɵglobal } from '@angular/core';
7
- import { getActionTypeFromInstance, Store } from '@ngxs/store';
8
- import { tap, catchError } from 'rxjs/operators';
9
- import { NGXS_DEVTOOLS_OPTIONS } from './symbols';
10
- /** @enum {string} */
11
- var ReduxDevtoolsActionType = {
12
- Dispatch: 'DISPATCH',
13
- Action: 'ACTION',
14
- };
15
- /** @enum {string} */
16
- var ReduxDevtoolsPayloadType = {
17
- JumpToAction: 'JUMP_TO_ACTION',
18
- JumpToState: 'JUMP_TO_STATE',
19
- ToggleAction: 'TOGGLE_ACTION',
20
- ImportState: 'IMPORT_STATE',
21
- };
22
- /**
23
- * Adds support for the Redux Devtools extension:
24
- * http://extension.remotedev.io/
25
- */
26
- var NgxsReduxDevtoolsPlugin = /** @class */ (function () {
27
- function NgxsReduxDevtoolsPlugin(_options, _injector, _ngZone) {
28
- this._options = _options;
29
- this._injector = _injector;
30
- this._ngZone = _ngZone;
31
- this.devtoolsExtension = null;
32
- this.globalDevtools = ɵglobal['__REDUX_DEVTOOLS_EXTENSION__'] || ɵglobal['devToolsExtension'];
33
- this.unsubscribe = null;
34
- this.connect();
35
- }
36
- /**
37
- * @return {?}
38
- */
39
- NgxsReduxDevtoolsPlugin.prototype.ngOnDestroy = /**
40
- * @return {?}
41
- */
42
- function () {
43
- if (this.unsubscribe !== null) {
44
- this.unsubscribe();
45
- }
46
- if (this.globalDevtools) {
47
- this.globalDevtools.disconnect();
48
- }
49
- };
50
- Object.defineProperty(NgxsReduxDevtoolsPlugin.prototype, "store", {
51
- /**
52
- * Lazy get the store for circular dependency issues
53
- */
54
- get: /**
55
- * Lazy get the store for circular dependency issues
56
- * @private
57
- * @return {?}
58
- */
59
- function () {
60
- return this._injector.get(Store);
61
- },
62
- enumerable: true,
63
- configurable: true
64
- });
65
- /**
66
- * Middleware handle function
67
- */
68
- /**
69
- * Middleware handle function
70
- * @param {?} state
71
- * @param {?} action
72
- * @param {?} next
73
- * @return {?}
74
- */
75
- NgxsReduxDevtoolsPlugin.prototype.handle = /**
76
- * Middleware handle function
77
- * @param {?} state
78
- * @param {?} action
79
- * @param {?} next
80
- * @return {?}
81
- */
82
- function (state, action, next) {
83
- var _this = this;
84
- if (!this.devtoolsExtension || this._options.disabled) {
85
- return next(state, action);
86
- }
87
- return next(state, action).pipe(catchError((/**
88
- * @param {?} error
89
- * @return {?}
90
- */
91
- function (error) {
92
- /** @type {?} */
93
- var newState = _this.store.snapshot();
94
- _this.sendToDevTools(state, action, newState);
95
- throw error;
96
- })), tap((/**
97
- * @param {?} newState
98
- * @return {?}
99
- */
100
- function (newState) {
101
- _this.sendToDevTools(state, action, newState);
102
- })));
103
- };
104
- /**
105
- * @private
106
- * @param {?} state
107
- * @param {?} action
108
- * @param {?} newState
109
- * @return {?}
110
- */
111
- NgxsReduxDevtoolsPlugin.prototype.sendToDevTools = /**
112
- * @private
113
- * @param {?} state
114
- * @param {?} action
115
- * @param {?} newState
116
- * @return {?}
117
- */
118
- function (state, action, newState) {
119
- /** @type {?} */
120
- var type = getActionTypeFromInstance(action);
121
- // if init action, send initial state to dev tools
122
- /** @type {?} */
123
- var isInitAction = type === '@@INIT';
124
- if (isInitAction) {
125
- (/** @type {?} */ (this.devtoolsExtension)).init(state);
126
- }
127
- else {
128
- (/** @type {?} */ (this.devtoolsExtension)).send(tslib_1.__assign({}, action, { action: null, type: type }), newState);
129
- }
130
- };
131
- /**
132
- * Handle the action from the dev tools subscription
133
- */
134
- /**
135
- * Handle the action from the dev tools subscription
136
- * @param {?} action
137
- * @return {?}
138
- */
139
- NgxsReduxDevtoolsPlugin.prototype.dispatched = /**
140
- * Handle the action from the dev tools subscription
141
- * @param {?} action
142
- * @return {?}
143
- */
144
- function (action) {
145
- var _this = this;
146
- if (action.type === "DISPATCH" /* Dispatch */) {
147
- if (action.payload.type === "JUMP_TO_ACTION" /* JumpToAction */ ||
148
- action.payload.type === "JUMP_TO_STATE" /* JumpToState */) {
149
- /** @type {?} */
150
- var prevState = JSON.parse(action.state);
151
- // This makes the DevTools and Router plugins friends with each other.
152
- // We're checking for the `router` state to exist, and it also should
153
- // have the `trigger` property, so we're sure that this is our router
154
- // state (coming from `@ngxs/router-plugin`). This enables a time-traveling
155
- // feature since it doesn't only restore the state but also allows the `RouterState`
156
- // to navigate back when the action is jumped.
157
- if (prevState.router && prevState.router.trigger) {
158
- prevState.router.trigger = 'devtools';
159
- }
160
- this.store.reset(prevState);
161
- }
162
- else if (action.payload.type === "TOGGLE_ACTION" /* ToggleAction */) {
163
- console.warn('Skip is not supported at this time.');
164
- }
165
- else if (action.payload.type === "IMPORT_STATE" /* ImportState */) {
166
- var _a = action.payload.nextLiftedState, actionsById_1 = _a.actionsById, computedStates_1 = _a.computedStates, currentStateIndex = _a.currentStateIndex;
167
- (/** @type {?} */ (this.devtoolsExtension)).init(computedStates_1[0].state);
168
- Object.keys(actionsById_1)
169
- .filter((/**
170
- * @param {?} actionId
171
- * @return {?}
172
- */
173
- function (actionId) { return actionId !== '0'; }))
174
- .forEach((/**
175
- * @param {?} actionId
176
- * @return {?}
177
- */
178
- function (actionId) {
179
- return (/** @type {?} */ (_this.devtoolsExtension)).send(actionsById_1[actionId], computedStates_1[actionId].state);
180
- }));
181
- this.store.reset(computedStates_1[currentStateIndex].state);
182
- }
183
- }
184
- else if (action.type === "ACTION" /* Action */) {
185
- /** @type {?} */
186
- var actionPayload = JSON.parse(action.payload);
187
- this.store.dispatch(actionPayload);
188
- }
189
- };
190
- /**
191
- * @private
192
- * @return {?}
193
- */
194
- NgxsReduxDevtoolsPlugin.prototype.connect = /**
195
- * @private
196
- * @return {?}
197
- */
198
- function () {
199
- var _this = this;
200
- if (!this.globalDevtools || this._options.disabled) {
201
- return;
202
- }
203
- // The `connect` method adds `message` event listener since it communicates
204
- // with an extension through `window.postMessage` and message events.
205
- // We handle only 2 events; thus, we don't want to run many change detections
206
- // because the extension sends events that we don't have to handle.
207
- this.devtoolsExtension = this._ngZone.runOutsideAngular((/**
208
- * @return {?}
209
- */
210
- function () { return (/** @type {?} */ (_this.globalDevtools.connect(_this._options))); }));
211
- this.unsubscribe = this.devtoolsExtension.subscribe((/**
212
- * @param {?} action
213
- * @return {?}
214
- */
215
- function (action) {
216
- if (action.type === "DISPATCH" /* Dispatch */ ||
217
- action.type === "ACTION" /* Action */) {
218
- _this._ngZone.run((/**
219
- * @return {?}
220
- */
221
- function () {
222
- _this.dispatched(action);
223
- }));
224
- }
225
- }));
226
- };
227
- NgxsReduxDevtoolsPlugin.decorators = [
228
- { type: Injectable }
229
- ];
230
- /** @nocollapse */
231
- NgxsReduxDevtoolsPlugin.ctorParameters = function () { return [
232
- { type: undefined, decorators: [{ type: Inject, args: [NGXS_DEVTOOLS_OPTIONS,] }] },
233
- { type: Injector },
234
- { type: NgZone }
235
- ]; };
236
- return NgxsReduxDevtoolsPlugin;
237
- }());
238
- export { NgxsReduxDevtoolsPlugin };
239
- if (false) {
240
- /**
241
- * @type {?}
242
- * @private
243
- */
244
- NgxsReduxDevtoolsPlugin.prototype.devtoolsExtension;
245
- /**
246
- * @type {?}
247
- * @private
248
- */
249
- NgxsReduxDevtoolsPlugin.prototype.globalDevtools;
250
- /**
251
- * @type {?}
252
- * @private
253
- */
254
- NgxsReduxDevtoolsPlugin.prototype.unsubscribe;
255
- /**
256
- * @type {?}
257
- * @private
258
- */
259
- NgxsReduxDevtoolsPlugin.prototype._options;
260
- /**
261
- * @type {?}
262
- * @private
263
- */
264
- NgxsReduxDevtoolsPlugin.prototype._injector;
265
- /**
266
- * @type {?}
267
- * @private
268
- */
269
- NgxsReduxDevtoolsPlugin.prototype._ngZone;
270
- }
271
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2dG9vbHMucGx1Z2luLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMvZGV2dG9vbHMtcGx1Z2luLyIsInNvdXJjZXMiOlsic3JjL2RldnRvb2xzLnBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQWEsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBRSx5QkFBeUIsRUFBZ0MsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdGLE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakQsT0FBTyxFQUNMLHFCQUFxQixFQUl0QixNQUFNLFdBQVcsQ0FBQzs7O0lBR2pCLFVBQVcsVUFBVTtJQUNyQixRQUFTLFFBQVE7Ozs7SUFJakIsY0FBZSxnQkFBZ0I7SUFDL0IsYUFBYyxlQUFlO0lBQzdCLGNBQWUsZUFBZTtJQUM5QixhQUFjLGNBQWM7Ozs7OztBQU85QjtJQVFFLGlDQUN5QyxRQUE2QixFQUM1RCxTQUFtQixFQUNuQixPQUFlO1FBRmdCLGFBQVEsR0FBUixRQUFRLENBQXFCO1FBQzVELGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQVRqQixzQkFBaUIsR0FBaUMsSUFBSSxDQUFDO1FBQzlDLG1CQUFjLEdBQzdCLE9BQU8sQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRWxFLGdCQUFXLEdBQXdCLElBQUksQ0FBQztRQU85QyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQzs7OztJQUVELDZDQUFXOzs7SUFBWDtRQUNFLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3BCO1FBQ0QsSUFBSSxJQUFJLENB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QyxFQUFBLEdBQUEsRUFDeEUsQ0FBQztRQUVGLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVM7Ozs7UUFBQyxVQUFBLE1BQU07WUFDeEQsSUFDRSxNQUFNLENBQUMsSUFBSSw4QkFBcUM7Z0JBQ2hELE1BQU0sQ0FBQyxJQUFJLDBCQUFtQyxFQUM5QztnQkFDQSxLQUFJLENBQUMsT0FBTyxDQUFDLEdBQUc7OztnQkFBQztvQkFDZixLQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMxQixDQUFDLEVBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOztnQkFoSUYsVUFBVTs7OztnREFTTixNQUFNLFNBQUMscUJBQXFCO2dCQXBDSixRQUFRO2dCQUFFLE1BQU07O0lBNEo3Qyw4QkFBQztDQUFBLEFBaklELElBaUlDO1NBaElZLHVCQUF1Qjs7Ozs7O0lBQ2xDLG9EQUErRDs7Ozs7SUFDL0QsaURBQzBFOzs7OztJQUUxRSw4Q0FBZ0Q7Ozs7O0lBRzlDLDJDQUFvRTs7Ozs7SUFDcEUsNENBQTJCOzs7OztJQUMzQiwwQ0FBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yLCBOZ1pvbmUsIE9uRGVzdHJveSwgybVnbG9iYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdldEFjdGlvblR5cGVGcm9tSW5zdGFuY2UsIE5neHNOZXh0UGx1Z2luRm4sIE5neHNQbHVnaW4sIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgdGFwLCBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1xuICBOR1hTX0RFVlRPT0xTX09QVElPTlMsXG4gIE5neHNEZXZ0b29sc0FjdGlvbixcbiAgTmd4c0RldnRvb2xzRXh0ZW5zaW9uLFxuICBOZ3hzRGV2dG9vbHNPcHRpb25zXG59IGZyb20gJy4vc3ltYm9scyc7XG5cbmNvbnN0IGVudW0gUmVkdXhEZXZ0b29sc0FjdGlvblR5cGUge1xuICBEaXNwYXRjaCA9ICdESVNQQVRDSCcsXG4gIEFjdGlvbiA9ICdBQ1RJT04nXG59XG5cbmNvbnN0IGVudW0gUmVkdXhEZXZ0b29sc1BheWxvYWRUeXBlIHtcbiAgSnVtcFRvQWN0aW9uID0gJ0pVTVBfVE9fQUNUSU9OJyxcbiAgSnVtcFRvU3RhdGUgPSAnSlVNUF9UT19TVEFURScsXG4gIFRvZ2dsZUFjdGlvbiA9ICdUT0dHTEVfQUNUSU9OJyxcbiAgSW1wb3J0U3RhdGUgPSAnSU1QT1JUX1NUQVRFJ1xufVxuXG4vKipcbiAqIEFkZHMgc3VwcG9ydCBmb3IgdGhlIFJlZHV4IERldnRvb2xzIGV4dGVuc2lvbjpcbiAqIGh0dHA6Ly9leHRlbnNpb24ucmVtb3RlZGV2LmlvL1xuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTmd4c1JlZHV4RGV2dG9vbHNQbHVnaW4gaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE5neHNQbHVnaW4ge1xuICBwcml2YXRlIGRldnRvb2xzRXh0ZW5zaW9uOiBOZ3hzRGV2dG9vbHNFeHRlbnNpb24gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSByZWFkb25seSBnbG9iYWxEZXZ0b29scyA9XG4gICAgybVnbG9iYWxbJ19fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18nXSB8fCDJtWdsb2JhbFsnZGV2VG9vbHNFeHRlbnNpb24nXTtcblxuICBwcml2YXRlIHVuc3Vic2NyaWJlOiBWb2lkRnVuY3Rpb24gfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KE5HWFNfREVWVE9PTFNfT1BUSU9OUykgcHJpdmF0ZSBfb3B0aW9uczogTmd4c0RldnRvb2xzT3B0aW9ucyxcbiAgICBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSBfbmdab25lOiBOZ1pvbmVcbiAgKSB7XG4gICAgdGhpcy5jb25uZWN0KCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy51bnN1YnNjcmliZSAhPT0gbnVsbCkge1xuICAgICAgdGhpcy51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5nbG9iYWxEZXZ0b29scykge1xuICAgICAgdGhpcy5nbG9iYWxEZXZ0b29scy5kaXNjb25uZWN0KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIExhenkgZ2V0IHRoZSBzdG9yZSBmb3IgY2lyY3VsYXIgZGVwZW5kZW5jeSBpc3N1ZXNcbiAgICovXG4gIHByaXZhdGUgZ2V0IHN0b3JlKCk6IFN0b3JlIHtcbiAgICByZXR1cm4gdGhpcy5faW5qZWN0b3IuZ2V0PFN0b3JlPihTdG9yZSk7XG4gIH1cblxuICAvKipcbiAgICogTWlkZGxld2FyZSBoYW5kbGUgZnVuY3Rpb25cbiAgICovXG4gIGhhbmRsZShzdGF0ZTogYW55LCBhY3Rpb246IGFueSwgbmV4dDogTmd4c05leHRQbHVnaW5Gbikge1xuICAgIGlmICghdGhpcy5kZXZ0b29sc0V4dGVuc2lvbiB8fCB0aGlzLl9vcHRpb25zLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm4gbmV4dChzdGF0ZSwgYWN0aW9uKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV4dChzdGF0ZSwgYWN0aW9uKS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgIGNvbnN0IG5ld1N0YXRlID0gdGhpcy5zdG9yZS5zbmFwc2hvdCgpO1xuICAgICAgICB0aGlzLnNlbmRUb0RldlRvb2xzKHN0YXRlLCBhY3Rpb24sIG5ld1N0YXRlKTtcbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9KSxcbiAgICAgIHRhcChuZXdTdGF0ZSA9PiB7XG4gICAgICAgIHRoaXMuc2VuZFRvRGV2VG9vbHMoc3RhdGUsIGFjdGlvbiwgbmV3U3RhdGUpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzZW5kVG9EZXZUb29scyhzdGF0ZTogYW55LCBhY3Rpb246IGFueSwgbmV3U3RhdGU6IGFueSkge1xuICAgIGNvbnN0IHR5cGUgPSBnZXRBY3Rpb25UeXBlRnJvbUluc3RhbmNlKGFjdGlvbik7XG4gICAgLy8gaWYgaW5pdCBhY3Rpb24sIHNlbmQgaW5pdGlhbCBzdGF0ZSB0byBkZXYgdG9vbHNcbiAgICBjb25zdCBpc0luaXRBY3Rpb24gPSB0eXBlID09PSAnQEBJTklUJztcbiAgICBpZiAoaXNJbml0QWN0aW9uKSB7XG4gICAgICB0aGlzLmRldnRvb2xzRXh0ZW5zaW9uIS5pbml0KHN0YXRlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kZXZ0b29sc0V4dGVuc2lvbiEuc2VuZCh7IC4uLmFjdGlvbiwgYWN0aW9uOiBudWxsLCB0eXBlIH0sIG5ld1N0YXRlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIHRoZSBhY3Rpb24gZnJvbSB0aGUgZGV2IHRvb2xzIHN1YnNjcmlwdGlvblxuICAgKi9cbiAgZGlzcGF0Y2hlZChhY3Rpb246IE5neHNEZXZ0b29sc0FjdGlvbikge1xuICAgIGlmIChhY3Rpb24udHlwZSA9PT0gUmVkdXhEZXZ0b29sc0FjdGlvblR5cGUuRGlzcGF0Y2gpIHtcbiAgICAgIGlmIChcbiAgICAgICAgYWN0aW9uLnBheWxvYWQudHlwZSA9PT0gUmVkdXhEZXZ0b29sc1BheWxvYWRUeXBlLkp1bXBUb0FjdGlvbiB8fFxuICAgICAgICBhY3Rpb24ucGF5bG9hZC50eXBlID09PSBSZWR1eERldnRvb2xzUGF5bG9hZFR5cGUuSnVtcFRvU3RhdGVcbiAgICAgICkge1xuICAgICAgICBjb25zdCBwcmV2U3RhdGUgPSBKU09OLnBhcnNlKGFjdGlvbi5zdGF0ZSk7XG4gICAgICAgIC8vIFRoaXMgbWFrZXMgdGhlIERldlRvb2xzIGFuZCBSb3V0ZXIgcGx1Z2lucyBmcmllbmRzIHdpdGggZWFjaCBvdGhlci5cbiAgICAgICAgLy8gV2UncmUgY2hlY2tpbmcgZm9yIHRoZSBgcm91dGVyYCBzdGF0ZSB0byBleGlzdCwgYW5kIGl0IGFsc28gc2hvdWxkXG4gICAgICAgIC8vIGhhdmUgdGhlIGB0cmlnZ2VyYCBwcm9wZXJ0eSwgc28gd2UncmUgc3VyZSB0aGF0IHRoaXMgaXMgb3VyIHJvdXRlclxuICAgICAgICAvLyBzdGF0ZSAoY29taW5nIGZyb20gYEBuZ3hzL3JvdXRlci1wbHVnaW5gKS4gVGhpcyBlbmFibGVzIGEgdGltZS10cmF2ZWxpbmdcbiAgICAgICAgLy8gZmVhdHVyZSBzaW5jZSBpdCBkb2Vzbid0IG9ubHkgcmVzdG9yZSB0aGUgc3RhdGUgYnV0IGFsc28gYWxsb3dzIHRoZSBgUm91dGVyU3RhdGVgXG4gICAgICAgIC8vIHRvIG5hdmlnYXRlIGJhY2sgd2hlbiB0aGUgYWN0aW9uIGlzIGp1bXBlZC5cbiAgICAgICAgaWYgKHByZXZTdGF0ZS5yb3V0ZXIgJiYgcHJldlN0YXRlLnJvdXRlci50cmlnZ2VyKSB7XG4gICAgICAgICAgcHJldlN0YXRlLnJvdXRlci50cmlnZ2VyID0gJ2RldnRvb2xzJztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnN0b3JlLnJlc2V0KHByZXZTdGF0ZSk7XG4gICAgICB9IGVsc2UgaWYgKGFjdGlvbi5wYXlsb2FkLnR5cGUgPT09IFJlZHV4RGV2dG9vbHNQYXlsb2FkVHlwZS5Ub2dnbGVBY3Rpb24pIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdTa2lwIGlzIG5vdCBzdXBwb3J0ZWQgYXQgdGhpcyB0aW1lLicpO1xuICAgICAgfSBlbHNlIGlmIChhY3Rpb24ucGF5bG9hZC50eXBlID09PSBSZWR1eERldnRvb2xzUGF5bG9hZFR5cGUuSW1wb3J0U3RhdGUpIHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgIGFjdGlvbnNCeUlkLFxuICAgICAgICAgIGNvbXB1dGVkU3RhdGVzLFxuICAgICAgICAgIGN1cnJlbnRTdGF0ZUluZGV4XG4gICAgICAgIH0gPSBhY3Rpb24ucGF5bG9hZC5uZXh0TGlmdGVkU3RhdGU7XG4gICAgICAgIHRoaXMuZGV2dG9vbHNFeHRlbnNpb24hLmluaXQoY29tcHV0ZWRTdGF0ZXNbMF0uc3RhdGUpO1xuICAgICAgICBPYmplY3Qua2V5cyhhY3Rpb25zQnlJZClcbiAgICAgICAgICAuZmlsdGVyKGFjdGlvbklkID0+IGFjdGlvbklkICE9PSAnMCcpXG4gICAgICAgICAgLmZvckVhY2goYWN0aW9uSWQgPT5cbiAgICAgICAgICAgIHRoaXMuZGV2dG9vbHNFeHRlbnNpb24hLnNlbmQoYWN0aW9uc0J5SWRbYWN0aW9uSWRdLCBjb21wdXRlZFN0YXRlc1thY3Rpb25JZF0uc3RhdGUpXG4gICAgICAgICAgKTtcbiAgICAgICAgdGhpcy5zdG9yZS5yZXNldChjb21wdXRlZFN0YXRlc1tjdXJyZW50U3RhdGVJbmRleF0uc3RhdGUpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoYWN0aW9uLnR5cGUgPT09IFJlZHV4RGV2dG9vbHNBY3Rpb25UeXBlLkFjdGlvbikge1xuICAgICAgY29uc3QgYWN0aW9uUGF5bG9hZCA9IEpTT04ucGFyc2UoYWN0aW9uLnBheWxvYWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb25QYXlsb2FkKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNvbm5lY3QoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmdsb2JhbERldnRvb2xzIHx8IHRoaXMuX29wdGlvbnMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBUaGUgYGNvbm5lY3RgIG1ldGhvZCBhZGRzIGBtZXNzYWdlYCBldmVudCBsaXN0ZW5lciBzaW5jZSBpdCBjb21tdW5pY2F0ZXNcbiAgICAvLyB3aXRoIGFuIGV4dGVuc2lvbiB0aHJvdWdoIGB3aW5kb3cucG9zdE1lc3NhZ2VgIGFuZCBtZXNzYWdlIGV2ZW50cy5cbiAgICAvLyBXZSBoYW5kbGUgb25seSAyIGV2ZW50czsgdGh1cywgd2UgZG9uJ3Qgd2FudCB0byBydW4gbWFueSBjaGFuZ2UgZGV0ZWN0aW9uc1xuICAgIC8vIGJlY2F1c2UgdGhlIGV4dGVuc2lvbiBzZW5kcyBldmVudHMgdGhhdCB3ZSBkb24ndCBoYXZlIHRvIGhhbmRsZS5cbiAgICB0aGlzLmRldnRvb2xzRXh0ZW5zaW9uID0gdGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKFxuICAgICAgKCkgPT4gPE5neHNEZXZ0b29sc0V4dGVuc2lvbj50aGlzLmdsb2JhbERldnRvb2xzLmNvbm5lY3QodGhpcy5fb3B0aW9ucylcbiAgICApO1xuXG4gICAgdGhpcy51bnN1YnNjcmliZSA9IHRoaXMuZGV2dG9vbHNFeHRlbnNpb24uc3Vic2NyaWJlKGFjdGlvbiA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIGFjdGlvbi50eXBlID09PSBSZWR1eERldnRvb2xzQWN0aW9uVHlwZS5EaXNwYXRjaCB8fFxuICAgICAgICBhY3Rpb24udHlwZSA9PT0gUmVkdXhEZXZ0b29sc0FjdGlvblR5cGUuQWN0aW9uXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5fbmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgdGhpcy5kaXNwYXRjaGVkKGFjdGlvbik7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,8 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- export { NgxsReduxDevtoolsPluginModule } from './devtools.module';
6
- export { NgxsReduxDevtoolsPlugin } from './devtools.plugin';
7
- export { NGXS_DEVTOOLS_OPTIONS } from './symbols';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL2RldnRvb2xzLXBsdWdpbi8iLCJzb3VyY2VzIjpbInNyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1RCxzQ0FBYyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBOZ3hzUmVkdXhEZXZ0b29sc1BsdWdpbk1vZHVsZSB9IGZyb20gJy4vZGV2dG9vbHMubW9kdWxlJztcbmV4cG9ydCB7IE5neHNSZWR1eERldnRvb2xzUGx1Z2luIH0gZnJvbSAnLi9kZXZ0b29scy5wbHVnaW4nO1xuZXhwb3J0ICogZnJvbSAnLi9zeW1ib2xzJztcbiJdfQ==
@@ -1,105 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { InjectionToken } from '@angular/core';
6
- /**
7
- * Interface for the redux-devtools-extension API.
8
- * @record
9
- */
10
- export function NgxsDevtoolsExtension() { }
11
- if (false) {
12
- /**
13
- * @param {?} state
14
- * @return {?}
15
- */
16
- NgxsDevtoolsExtension.prototype.init = function (state) { };
17
- /**
18
- * @param {?} action
19
- * @param {?=} state
20
- * @return {?}
21
- */
22
- NgxsDevtoolsExtension.prototype.send = function (action, state) { };
23
- /**
24
- * @param {?} fn
25
- * @return {?}
26
- */
27
- NgxsDevtoolsExtension.prototype.subscribe = function (fn) { };
28
- }
29
- /**
30
- * @record
31
- */
32
- export function NgxsDevtoolsAction() { }
33
- if (false) {
34
- /** @type {?} */
35
- NgxsDevtoolsAction.prototype.type;
36
- /** @type {?} */
37
- NgxsDevtoolsAction.prototype.payload;
38
- /** @type {?} */
39
- NgxsDevtoolsAction.prototype.state;
40
- /** @type {?} */
41
- NgxsDevtoolsAction.prototype.id;
42
- /** @type {?} */
43
- NgxsDevtoolsAction.prototype.source;
44
- }
45
- /**
46
- * @record
47
- */
48
- export function NgxsDevtoolsOptions() { }
49
- if (false) {
50
- /**
51
- * The name of the extension
52
- * @type {?|undefined}
53
- */
54
- NgxsDevtoolsOptions.prototype.name;
55
- /**
56
- * Whether the dev tools is enabled or note. Useful for setting during production.
57
- * @type {?|undefined}
58
- */
59
- NgxsDevtoolsOptions.prototype.disabled;
60
- /**
61
- * Max number of entiries to keep.
62
- * @type {?|undefined}
63
- */
64
- NgxsDevtoolsOptions.prototype.maxAge;
65
- /**
66
- * If more than one action is dispatched in the indicated interval, all new actions will be collected
67
- * and sent at once. It is the joint between performance and speed. When set to 0, all actions will be
68
- * sent instantly. Set it to a higher value when experiencing perf issues (also maxAge to a lower value).
69
- * Default is 500 ms.
70
- * @type {?|undefined}
71
- */
72
- NgxsDevtoolsOptions.prototype.latency;
73
- /**
74
- * string or array of strings as regex - actions types to be hidden in the monitors (while passed to the reducers).
75
- * If actionsWhitelist specified, actionsBlacklist is ignored.
76
- * @type {?|undefined}
77
- */
78
- NgxsDevtoolsOptions.prototype.actionsBlacklist;
79
- /**
80
- * string or array of strings as regex - actions types to be shown in the monitors (while passed to the reducers).
81
- * If actionsWhitelist specified, actionsBlacklist is ignored.
82
- * @type {?|undefined}
83
- */
84
- NgxsDevtoolsOptions.prototype.actionsWhitelist;
85
- /**
86
- * called for every action before sending, takes state and action object, and returns true in case it allows
87
- * sending the current data to the monitor. Use it as a more advanced version of
88
- * actionsBlacklist/actionsWhitelist parameters
89
- * @type {?|undefined}
90
- */
91
- NgxsDevtoolsOptions.prototype.predicate;
92
- /**
93
- * Reformat actions before sending to dev tools
94
- * @type {?|undefined}
95
- */
96
- NgxsDevtoolsOptions.prototype.actionSanitizer;
97
- /**
98
- * Reformat state before sending to devtools
99
- * @type {?|undefined}
100
- */
101
- NgxsDevtoolsOptions.prototype.stateSanitizer;
102
- }
103
- /** @type {?} */
104
- export var NGXS_DEVTOOLS_OPTIONS = new InjectionToken('NGXS_DEVTOOLS_OPTIONS');
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL2RldnRvb2xzLXBsdWdpbi8iLCJzb3VyY2VzIjpbInNyYy9zeW1ib2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQUsvQywyQ0FJQzs7Ozs7O0lBSEMsNERBQXVCOzs7Ozs7SUFDdkIsb0VBQXFDOzs7OztJQUNyQyw4REFBbUU7Ozs7O0FBR3JFLHdDQU1DOzs7SUFMQyxrQ0FBYTs7SUFDYixxQ0FBYTs7SUFDYixtQ0FBVzs7SUFDWCxnQ0FBVzs7SUFDWCxvQ0FBZTs7Ozs7QUFHakIseUNBcURDOzs7Ozs7SUFqREMsbUNBQWM7Ozs7O0lBS2QsdUNBQW1COzs7OztJQUtuQixxQ0FBZ0I7Ozs7Ozs7O0lBUWhCLHNDQUFpQjs7Ozs7O0lBTWpCLCtDQUFxQzs7Ozs7O0lBTXJDLCtDQUFxQzs7Ozs7OztJQVFyQyx3Q0FBaUQ7Ozs7O0lBS2pELDhDQUF3Qzs7Ozs7SUFLeEMsNkNBQXNDOzs7QUFHeEMsTUFBTSxLQUFPLHFCQUFxQixHQUFHLElBQUksY0FBYyxDQUFDLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIHRoZSByZWR1eC1kZXZ0b29scy1leHRlbnNpb24gQVBJLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5neHNEZXZ0b29sc0V4dGVuc2lvbiB7XG4gIGluaXQoc3RhdGU6IGFueSk6IHZvaWQ7XG4gIHNlbmQoYWN0aW9uOiBhbnksIHN0YXRlPzogYW55KTogdm9pZDtcbiAgc3Vic2NyaWJlKGZuOiAobWVzc2FnZTogTmd4c0RldnRvb2xzQWN0aW9uKSA9PiB2b2lkKTogVm9pZEZ1bmN0aW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5neHNEZXZ0b29sc0FjdGlvbiB7XG4gIHR5cGU6IHN0cmluZztcbiAgcGF5bG9hZDogYW55O1xuICBzdGF0ZTogYW55O1xuICBpZDogbnVtYmVyO1xuICBzb3VyY2U6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZ3hzRGV2dG9vbHNPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBleHRlbnNpb25cbiAgICovXG4gIG5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGRldiB0b29scyBpcyBlbmFibGVkIG9yIG5vdGUuIFVzZWZ1bCBmb3Igc2V0dGluZyBkdXJpbmcgcHJvZHVjdGlvbi5cbiAgICovXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTWF4IG51bWJlciBvZiBlbnRpcmllcyB0byBrZWVwLlxuICAgKi9cbiAgbWF4QWdlPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBJZiBtb3JlIHRoYW4gb25lIGFjdGlvbiBpcyBkaXNwYXRjaGVkIGluIHRoZSBpbmRpY2F0ZWQgaW50ZXJ2YWwsIGFsbCBuZXcgYWN0aW9ucyB3aWxsIGJlIGNvbGxlY3RlZFxuICAgKiBhbmQgc2VudCBhdCBvbmNlLiBJdCBpcyB0aGUgam9pbnQgYmV0d2VlbiBwZXJmb3JtYW5jZSBhbmQgc3BlZWQuIFdoZW4gc2V0IHRvIDAsIGFsbCBhY3Rpb25zIHdpbGwgYmVcbiAgICogc2VudCBpbnN0YW50bHkuIFNldCBpdCB0byBhIGhpZ2hlciB2YWx1ZSB3aGVuIGV4cGVyaWVuY2luZyBwZXJmIGlzc3VlcyAoYWxzbyBtYXhBZ2UgdG8gYSBsb3dlciB2YWx1ZSkuXG4gICAqIERlZmF1bHQgaXMgNTAwIG1zLlxuICAgKi9cbiAgbGF0ZW5jeT86IG51bWJlcjtcblxuICAvKipcbiAgICogc3RyaW5nIG9yIGFycmF5IG9mIHN0cmluZ3MgYXMgcmVnZXggLSBhY3Rpb25zIHR5cGVzIHRvIGJlIGhpZGRlbiBpbiB0aGUgbW9uaXRvcnMgKHdoaWxlIHBhc3NlZCB0byB0aGUgcmVkdWNlcnMpLlxuICAgKiBJZiBhY3Rpb25zV2hpdGVsaXN0IHNwZWNpZmllZCwgYWN0aW9uc0JsYWNrbGlzdCBpcyBpZ25vcmVkLlxuICAgKi9cbiAgYWN0aW9uc0JsYWNrbGlzdD86IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBzdHJpbmcgb3IgYXJyYXkgb2Ygc3RyaW5ncyBhcyByZWdleCAtIGFjdGlvbnMgdHlwZXMgdG8gYmUgc2hvd24gaW4gdGhlIG1vbml0b3JzICh3aGlsZSBwYXNzZWQgdG8gdGhlIHJlZHVjZXJzKS5cbiAgICogSWYgYWN0aW9uc1doaXRlbGlzdCBzcGVjaWZpZWQsIGFjdGlvbnNCbGFja2xpc3QgaXMgaWdub3JlZC5cbiAgICovXG4gIGFjdGlvbnNXaGl0ZWxpc3Q/OiBzdHJpbmcgfCBzdHJpbmdbXTtcblxuXG4gIC8qKlxuICAgKiBjYWxsZWQgZm9yIGV2ZXJ5IGFjdGlvbiBiZWZvcmUgc2VuZGluZywgdGFrZXMgc3RhdGUgYW5kIGFjdGlvbiBvYmplY3QsIGFuZCByZXR1cm5zIHRydWUgaW4gY2FzZSBpdCBhbGxvd3NcbiAgICogc2VuZGluZyB0aGUgY3VycmVudCBkYXRhIHRvIHRoZSBtb25pdG9yLiBVc2UgaXQgYXMgYSBtb3JlIGFkdmFuY2VkIHZlcnNpb24gb2ZcbiAgICogYWN0aW9uc0JsYWNrbGlzdC9hY3Rpb25zV2hpdGVsaXN0IHBhcmFtZXRlcnNcbiAgICovXG4gIHByZWRpY2F0ZT86IChzdGF0ZTogYW55LCBhY3Rpb246IGFueSkgPT4gYm9vbGVhbjtcblxuICAvKipcbiAgICogUmVmb3JtYXQgYWN0aW9ucyBiZWZvcmUgc2VuZGluZyB0byBkZXYgdG9vbHNcbiAgICovXG4gIGFjdGlvblNhbml0aXplcj86IChhY3Rpb246IGFueSkgPT4gdm9pZDtcblxuICAvKipcbiAgICogUmVmb3JtYXQgc3RhdGUgYmVmb3JlIHNlbmRpbmcgdG8gZGV2dG9vbHNcbiAgICovXG4gIHN0YXRlU2FuaXRpemVyPzogKHN0YXRlOiBhbnkpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBOR1hTX0RFVlRPT0xTX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ05HWFNfREVWVE9PTFNfT1BUSU9OUycpO1xuIl19