@angular/animations 14.0.0-next.0 → 14.0.0-next.11

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.
Files changed (50) hide show
  1. package/animations.d.ts +16 -3
  2. package/browser/browser.d.ts +29 -94
  3. package/browser/testing/testing.d.ts +10 -15
  4. package/esm2020/browser/src/dsl/animation.mjs +10 -6
  5. package/esm2020/browser/src/dsl/animation_ast.mjs +1 -1
  6. package/esm2020/browser/src/dsl/animation_ast_builder.mjs +80 -70
  7. package/esm2020/browser/src/dsl/animation_dsl_visitor.mjs +1 -1
  8. package/esm2020/browser/src/dsl/animation_timeline_builder.mjs +79 -88
  9. package/esm2020/browser/src/dsl/animation_timeline_instruction.mjs +1 -1
  10. package/esm2020/browser/src/dsl/animation_transition_expr.mjs +4 -3
  11. package/esm2020/browser/src/dsl/animation_transition_factory.mjs +29 -18
  12. package/esm2020/browser/src/dsl/animation_transition_instruction.mjs +8 -1
  13. package/esm2020/browser/src/dsl/animation_trigger.mjs +9 -9
  14. package/esm2020/browser/src/dsl/style_normalization/animation_style_normalizer.mjs +1 -1
  15. package/esm2020/browser/src/dsl/style_normalization/web_animations_style_normalizer.mjs +35 -10
  16. package/esm2020/browser/src/error_helpers.mjs +135 -0
  17. package/esm2020/browser/src/errors.mjs +9 -0
  18. package/esm2020/browser/src/private_export.mjs +4 -6
  19. package/esm2020/browser/src/render/animation_driver.mjs +8 -5
  20. package/esm2020/browser/src/render/animation_engine_next.mjs +9 -3
  21. package/esm2020/browser/src/render/shared.mjs +39 -33
  22. package/esm2020/browser/src/render/special_cased_styles.mjs +7 -16
  23. package/esm2020/browser/src/render/timeline_animation_engine.mjs +26 -20
  24. package/esm2020/browser/src/render/transition_animation_engine.mjs +82 -88
  25. package/esm2020/browser/src/render/web_animations/animatable_props_set.mjs +214 -0
  26. package/esm2020/browser/src/render/web_animations/web_animations_driver.mjs +21 -29
  27. package/esm2020/browser/src/render/web_animations/web_animations_player.mjs +16 -9
  28. package/esm2020/browser/src/util.mjs +48 -37
  29. package/esm2020/browser/src/warning_helpers.mjs +38 -0
  30. package/esm2020/browser/testing/src/mock_animation_driver.mjs +23 -14
  31. package/esm2020/src/animation_metadata.mjs +10 -2
  32. package/esm2020/src/animations.mjs +1 -1
  33. package/esm2020/src/version.mjs +1 -1
  34. package/fesm2015/animations.mjs +10 -2
  35. package/fesm2015/animations.mjs.map +1 -1
  36. package/fesm2015/browser/testing.mjs +859 -15
  37. package/fesm2015/browser/testing.mjs.map +1 -1
  38. package/fesm2015/browser.mjs +863 -858
  39. package/fesm2015/browser.mjs.map +1 -1
  40. package/fesm2020/animations.mjs +10 -2
  41. package/fesm2020/animations.mjs.map +1 -1
  42. package/fesm2020/browser/testing.mjs +859 -15
  43. package/fesm2020/browser/testing.mjs.map +1 -1
  44. package/fesm2020/browser.mjs +861 -857
  45. package/fesm2020/browser.mjs.map +1 -1
  46. package/package.json +3 -3
  47. package/esm2020/browser/src/render/css_keyframes/css_keyframes_driver.mjs +0 -121
  48. package/esm2020/browser/src/render/css_keyframes/css_keyframes_player.mjs +0 -133
  49. package/esm2020/browser/src/render/css_keyframes/direct_style_player.mjs +0 -51
  50. package/esm2020/browser/src/render/css_keyframes/element_animation_style_handler.mjs +0 -137
package/animations.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v14.0.0-next.0
2
+ * @license Angular v14.0.0-next.11
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -993,7 +993,7 @@ export declare class NoopAnimationPlayer implements AnimationPlayer {
993
993
  * (if their insertion/removal is simply a consequence of that of their parent they
994
994
  * should be queried via a different token in their parent's `:enter`/`:leave` transitions).
995
995
  *
996
- * The only elements Angular assumes can enter/leave on their own logic (thus the only
996
+ * The only elements Angular assumes can enter/leave based on their own logic (thus the only
997
997
  * ones that can be queried via the `:enter` and `:leave` tokens) are:
998
998
  * - Those inserted dynamically (via `ViewContainerRef`)
999
999
  * - Those that have a structural directive (which, under the hood, are a subset of the above ones)
@@ -1006,6 +1006,14 @@ export declare class NoopAnimationPlayer implements AnimationPlayer {
1006
1006
  *
1007
1007
  * </div>
1008
1008
  *
1009
+ * <div class="alert is-important">
1010
+ *
1011
+ * There is an exception to what previously mentioned, besides elements entering/leaving based on
1012
+ * their own logic, elements with an animation trigger can always be queried via `:leave` when
1013
+ * their parent is also leaving.
1014
+ *
1015
+ * </div>
1016
+ *
1009
1017
  * ### Usage Example
1010
1018
  *
1011
1019
  * The following example queries for inner elements and animates them
@@ -1600,10 +1608,15 @@ export declare const ɵPRE_STYLE = "!";
1600
1608
 
1601
1609
 
1602
1610
  /**
1603
- * Represents a set of CSS styles for use in an animation style.
1611
+ * Represents a set of CSS styles for use in an animation style as a generic.
1604
1612
  */
1605
1613
  export declare interface ɵStyleData {
1606
1614
  [key: string]: string | number;
1607
1615
  }
1608
1616
 
1617
+ /**
1618
+ * Represents a set of CSS styles for use in an animation style as a Map.
1619
+ */
1620
+ export declare type ɵStyleDataMap = Map<string, string | number>;
1621
+
1609
1622
  export { }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v14.0.0-next.0
2
+ * @license Angular v14.0.0-next.11
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -10,6 +10,7 @@ import { AnimationPlayer } from '@angular/animations';
10
10
  import { AnimationTriggerMetadata } from '@angular/animations';
11
11
  import * as i0 from '@angular/core';
12
12
  import { ɵStyleData } from '@angular/animations';
13
+ import { ɵStyleDataMap } from '@angular/animations';
13
14
 
14
15
  /**
15
16
  * @publicApi
@@ -17,16 +18,19 @@ import { ɵStyleData } from '@angular/animations';
17
18
  export declare abstract class AnimationDriver {
18
19
  static NOOP: AnimationDriver;
19
20
  abstract validateStyleProperty(prop: string): boolean;
21
+ abstract validateAnimatableStyleProperty?: (prop: string) => boolean;
20
22
  /**
21
23
  * @deprecated No longer in use. Will be removed.
22
24
  */
23
25
  abstract matchesElement(element: any, selector: string): boolean;
24
26
  abstract containsElement(elm1: any, elm2: any): boolean;
27
+ /**
28
+ * Obtains the parent element, if any. `null` is returned if the element does not have a parent.
29
+ */
30
+ abstract getParentElement(element: unknown): unknown;
25
31
  abstract query(element: any, selector: string, multi: boolean): any[];
26
32
  abstract computeStyle(element: any, prop: string, defaultValue?: string): string;
27
- abstract animate(element: any, keyframes: {
28
- [key: string]: string | number;
29
- }[], duration: number, delay: number, easing?: string | null, previousPlayers?: any[], scrubberAccessRequested?: boolean): any;
33
+ abstract animate(element: any, keyframes: Array<Map<string, string | number>>, duration: number, delay: number, easing?: string | null, previousPlayers?: any[], scrubberAccessRequested?: boolean): any;
30
34
  }
31
35
 
32
36
  declare interface AnimationEngineInstruction {
@@ -35,7 +39,7 @@ declare interface AnimationEngineInstruction {
35
39
 
36
40
  declare interface AnimationTimelineInstruction extends AnimationEngineInstruction {
37
41
  element: any;
38
- keyframes: ɵStyleData[];
42
+ keyframes: Array<ɵStyleDataMap>;
39
43
  preStyleProps: string[];
40
44
  postStyleProps: string[];
41
45
  duration: number;
@@ -93,16 +97,10 @@ declare class SpecialCasedStyles {
93
97
  private _element;
94
98
  private _startStyles;
95
99
  private _endStyles;
96
- static initialStylesByElement: WeakMap<any, {
97
- [key: string]: any;
98
- }>;
100
+ static initialStylesByElement: WeakMap<any, ɵStyleDataMap>;
99
101
  private _state;
100
102
  private _initialStyles;
101
- constructor(_element: any, _startStyles: {
102
- [key: string]: any;
103
- } | null, _endStyles: {
104
- [key: string]: any;
105
- } | null);
103
+ constructor(_element: any, _startStyles: ɵStyleDataMap | null, _endStyles: ɵStyleDataMap | null);
106
104
  start(): void;
107
105
  finish(): void;
108
106
  destroy(): void;
@@ -114,7 +112,7 @@ export declare class ɵAnimation {
114
112
  private _driver;
115
113
  private _animationAst;
116
114
  constructor(_driver: AnimationDriver, input: AnimationMetadata | AnimationMetadata[]);
117
- buildTimelines(element: any, startingStyles: ɵStyleData | ɵStyleData[], destinationStyles: ɵStyleData | ɵStyleData[], options: AnimationOptions, subInstructions?: ElementInstructionMap): AnimationTimelineInstruction[];
115
+ buildTimelines(element: any, startingStyles: ɵStyleDataMap | Array<ɵStyleDataMap>, destinationStyles: ɵStyleDataMap | Array<ɵStyleDataMap>, options: AnimationOptions, subInstructions?: ElementInstructionMap): AnimationTimelineInstruction[];
118
116
  }
119
117
 
120
118
  export declare class ɵAnimationEngine {
@@ -144,69 +142,13 @@ export declare class ɵAnimationEngine {
144
142
  * @publicApi
145
143
  */
146
144
  export declare abstract class ɵAnimationStyleNormalizer {
147
- abstract normalizePropertyName(propertyName: string, errors: string[]): string;
148
- abstract normalizeStyleValue(userProvidedProperty: string, normalizedProperty: string, value: string | number, errors: string[]): string;
145
+ abstract normalizePropertyName(propertyName: string, errors: Error[]): string;
146
+ abstract normalizeStyleValue(userProvidedProperty: string, normalizedProperty: string, value: string | number, errors: Error[]): string;
149
147
  }
150
148
 
151
149
  export declare const ɵcontainsElement: (elm1: any, elm2: any) => boolean;
152
150
 
153
- export declare class ɵCssKeyframesDriver implements AnimationDriver {
154
- private _count;
155
- validateStyleProperty(prop: string): boolean;
156
- matchesElement(_element: any, _selector: string): boolean;
157
- containsElement(elm1: any, elm2: any): boolean;
158
- query(element: any, selector: string, multi: boolean): any[];
159
- computeStyle(element: any, prop: string, defaultValue?: string): string;
160
- buildKeyframeElement(element: any, name: string, keyframes: {
161
- [key: string]: any;
162
- }[]): any;
163
- animate(element: any, keyframes: ɵStyleData[], duration: number, delay: number, easing: string, previousPlayers?: AnimationPlayer[], scrubberAccessRequested?: boolean): AnimationPlayer;
164
- }
165
-
166
- export declare class ɵCssKeyframesPlayer implements AnimationPlayer {
167
- readonly element: any;
168
- readonly keyframes: {
169
- [key: string]: string | number;
170
- }[];
171
- readonly animationName: string;
172
- private readonly _duration;
173
- private readonly _delay;
174
- private readonly _finalStyles;
175
- private readonly _specialStyles?;
176
- private _onDoneFns;
177
- private _onStartFns;
178
- private _onDestroyFns;
179
- private _styler;
180
- parentPlayer: AnimationPlayer;
181
- readonly totalTime: number;
182
- readonly easing: string;
183
- currentSnapshot: {
184
- [key: string]: string;
185
- };
186
- private _state;
187
- constructor(element: any, keyframes: {
188
- [key: string]: string | number;
189
- }[], animationName: string, _duration: number, _delay: number, easing: string, _finalStyles: {
190
- [key: string]: any;
191
- }, _specialStyles?: SpecialCasedStyles | null | undefined);
192
- onStart(fn: () => void): void;
193
- onDone(fn: () => void): void;
194
- onDestroy(fn: () => void): void;
195
- destroy(): void;
196
- private _flushDoneFns;
197
- private _flushStartFns;
198
- finish(): void;
199
- setPosition(value: number): void;
200
- getPosition(): number;
201
- hasStarted(): boolean;
202
- init(): void;
203
- play(): void;
204
- pause(): void;
205
- restart(): void;
206
- reset(): void;
207
- private _buildStyler;
208
- beforeDestroy(): void;
209
- }
151
+ export declare function ɵgetParentElement(element: any): unknown | null;
210
152
 
211
153
  export declare const ɵinvokeQuery: (element: any, selector: string, multi: boolean) => any[];
212
154
 
@@ -217,11 +159,10 @@ export declare class ɵNoopAnimationDriver implements AnimationDriver {
217
159
  validateStyleProperty(prop: string): boolean;
218
160
  matchesElement(_element: any, _selector: string): boolean;
219
161
  containsElement(elm1: any, elm2: any): boolean;
162
+ getParentElement(element: unknown): unknown;
220
163
  query(element: any, selector: string, multi: boolean): any[];
221
164
  computeStyle(element: any, prop: string, defaultValue?: string): string;
222
- animate(element: any, keyframes: {
223
- [key: string]: string | number;
224
- }[], duration: number, delay: number, easing: string, previousPlayers?: any[], scrubberAccessRequested?: boolean): AnimationPlayer;
165
+ animate(element: any, keyframes: Array<Map<string, string | number>>, duration: number, delay: number, easing: string, previousPlayers?: any[], scrubberAccessRequested?: boolean): AnimationPlayer;
225
166
  static ɵfac: i0.ɵɵFactoryDeclaration<ɵNoopAnimationDriver, never>;
226
167
  static ɵprov: i0.ɵɵInjectableDeclaration<ɵNoopAnimationDriver>;
227
168
  }
@@ -230,31 +171,28 @@ export declare class ɵNoopAnimationDriver implements AnimationDriver {
230
171
  * @publicApi
231
172
  */
232
173
  export declare class ɵNoopAnimationStyleNormalizer {
233
- normalizePropertyName(propertyName: string, errors: string[]): string;
234
- normalizeStyleValue(userProvidedProperty: string, normalizedProperty: string, value: string | number, errors: string[]): string;
174
+ normalizePropertyName(propertyName: string, errors: Error[]): string;
175
+ normalizeStyleValue(userProvidedProperty: string, normalizedProperty: string, value: string | number, errors: Error[]): string;
235
176
  }
236
177
 
237
- export declare function ɵsupportsWebAnimations(): boolean;
178
+ export declare function ɵnormalizeKeyframes(keyframes: Array<ɵStyleData> | Array<ɵStyleDataMap>): Array<ɵStyleDataMap>;
238
179
 
239
180
  export declare function ɵvalidateStyleProperty(prop: string): boolean;
240
181
 
241
182
  export declare class ɵWebAnimationsDriver implements AnimationDriver {
242
- private _isNativeImpl;
243
- private _cssKeyframesDriver;
244
183
  validateStyleProperty(prop: string): boolean;
184
+ validateAnimatableStyleProperty(prop: string): boolean;
245
185
  matchesElement(_element: any, _selector: string): boolean;
246
186
  containsElement(elm1: any, elm2: any): boolean;
187
+ getParentElement(element: unknown): unknown;
247
188
  query(element: any, selector: string, multi: boolean): any[];
248
189
  computeStyle(element: any, prop: string, defaultValue?: string): string;
249
- overrideWebAnimationsSupport(supported: boolean): void;
250
- animate(element: any, keyframes: ɵStyleData[], duration: number, delay: number, easing: string, previousPlayers?: AnimationPlayer[], scrubberAccessRequested?: boolean): AnimationPlayer;
190
+ animate(element: any, keyframes: Array<Map<string, string | number>>, duration: number, delay: number, easing: string, previousPlayers?: AnimationPlayer[]): AnimationPlayer;
251
191
  }
252
192
 
253
193
  export declare class ɵWebAnimationsPlayer implements AnimationPlayer {
254
194
  element: any;
255
- keyframes: {
256
- [key: string]: string | number;
257
- }[];
195
+ keyframes: Array<ɵStyleDataMap>;
258
196
  options: {
259
197
  [key: string]: string | number;
260
198
  };
@@ -272,18 +210,15 @@ export declare class ɵWebAnimationsPlayer implements AnimationPlayer {
272
210
  readonly domPlayer: DOMAnimation;
273
211
  time: number;
274
212
  parentPlayer: AnimationPlayer | null;
275
- currentSnapshot: {
276
- [styleName: string]: string | number;
277
- };
278
- constructor(element: any, keyframes: {
279
- [key: string]: string | number;
280
- }[], options: {
213
+ currentSnapshot: ɵStyleDataMap;
214
+ constructor(element: any, keyframes: Array<ɵStyleDataMap>, options: {
281
215
  [key: string]: string | number;
282
216
  }, _specialStyles?: SpecialCasedStyles | null | undefined);
283
217
  private _onFinish;
284
218
  init(): void;
285
219
  private _buildPlayer;
286
220
  private _preparePlayerBeforeStart;
221
+ private _convertKeyframesToObject;
287
222
  onStart(fn: () => void): void;
288
223
  onDone(fn: () => void): void;
289
224
  onDestroy(fn: () => void): void;
@@ -302,8 +237,8 @@ export declare class ɵWebAnimationsPlayer implements AnimationPlayer {
302
237
  }
303
238
 
304
239
  export declare class ɵWebAnimationsStyleNormalizer extends ɵAnimationStyleNormalizer {
305
- normalizePropertyName(propertyName: string, errors: string[]): string;
306
- normalizeStyleValue(userProvidedProperty: string, normalizedProperty: string, value: string | number, errors: string[]): string;
240
+ normalizePropertyName(propertyName: string, errors: Error[]): string;
241
+ normalizeStyleValue(userProvidedProperty: string, normalizedProperty: string, value: string | number, errors: Error[]): string;
307
242
  }
308
243
 
309
244
  export { }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v14.0.0-next.0
2
+ * @license Angular v14.0.0-next.11
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -7,7 +7,7 @@
7
7
  import { AnimationDriver } from '@angular/animations/browser';
8
8
  import { AnimationPlayer } from '@angular/animations';
9
9
  import { NoopAnimationPlayer } from '@angular/animations';
10
- import { ɵStyleData } from '@angular/animations';
10
+ import { ɵStyleDataMap } from '@angular/animations';
11
11
 
12
12
  /**
13
13
  * @publicApi
@@ -15,13 +15,13 @@ import { ɵStyleData } from '@angular/animations';
15
15
  export declare class MockAnimationDriver implements AnimationDriver {
16
16
  static log: AnimationPlayer[];
17
17
  validateStyleProperty(prop: string): boolean;
18
+ validateAnimatableStyleProperty(prop: string): boolean;
18
19
  matchesElement(_element: any, _selector: string): boolean;
19
20
  containsElement(elm1: any, elm2: any): boolean;
21
+ getParentElement(element: unknown): unknown;
20
22
  query(element: any, selector: string, multi: boolean): any[];
21
23
  computeStyle(element: any, prop: string, defaultValue?: string): string;
22
- animate(element: any, keyframes: {
23
- [key: string]: string | number;
24
- }[], duration: number, delay: number, easing: string, previousPlayers?: any[]): MockAnimationPlayer;
24
+ animate(element: any, keyframes: Array<ɵStyleDataMap>, duration: number, delay: number, easing: string, previousPlayers?: any[]): MockAnimationPlayer;
25
25
  }
26
26
 
27
27
  /**
@@ -29,23 +29,18 @@ export declare class MockAnimationDriver implements AnimationDriver {
29
29
  */
30
30
  export declare class MockAnimationPlayer extends NoopAnimationPlayer {
31
31
  element: any;
32
- keyframes: {
33
- [key: string]: string | number;
34
- }[];
32
+ keyframes: Array<ɵStyleDataMap>;
35
33
  duration: number;
36
34
  delay: number;
37
35
  easing: string;
38
36
  previousPlayers: any[];
39
37
  private __finished;
40
38
  private __started;
41
- previousStyles: {
42
- [key: string]: string | number;
43
- };
39
+ previousStyles: ɵStyleDataMap;
44
40
  private _onInitFns;
45
- currentSnapshot: ɵStyleData;
46
- constructor(element: any, keyframes: {
47
- [key: string]: string | number;
48
- }[], duration: number, delay: number, easing: string, previousPlayers: any[]);
41
+ currentSnapshot: ɵStyleDataMap;
42
+ private _keyframes;
43
+ constructor(element: any, keyframes: Array<ɵStyleDataMap>, duration: number, delay: number, easing: string, previousPlayers: any[]);
49
44
  reset(): void;
50
45
  finish(): void;
51
46
  destroy(): void;
@@ -1,4 +1,6 @@
1
+ import { buildingFailed, validationFailed } from '../error_helpers';
1
2
  import { ENTER_CLASSNAME, LEAVE_CLASSNAME, normalizeStyles } from '../util';
3
+ import { warnValidation } from '../warning_helpers';
2
4
  import { buildAnimationAst } from './animation_ast_builder';
3
5
  import { buildAnimationTimelines } from './animation_timeline_builder';
4
6
  import { ElementInstructionMap } from './element_instruction_map';
@@ -6,10 +8,13 @@ export class Animation {
6
8
  constructor(_driver, input) {
7
9
  this._driver = _driver;
8
10
  const errors = [];
9
- const ast = buildAnimationAst(_driver, input, errors);
11
+ const warnings = [];
12
+ const ast = buildAnimationAst(_driver, input, errors, warnings);
10
13
  if (errors.length) {
11
- const errorMessage = `animation validation failed:\n${errors.join('\n')}`;
12
- throw new Error(errorMessage);
14
+ throw validationFailed(errors);
15
+ }
16
+ if (warnings.length) {
17
+ warnValidation(warnings);
13
18
  }
14
19
  this._animationAst = ast;
15
20
  }
@@ -22,10 +27,9 @@ export class Animation {
22
27
  subInstructions = subInstructions || new ElementInstructionMap();
23
28
  const result = buildAnimationTimelines(this._driver, element, this._animationAst, ENTER_CLASSNAME, LEAVE_CLASSNAME, start, dest, options, subInstructions, errors);
24
29
  if (errors.length) {
25
- const errorMessage = `animation building failed:\n${errors.join('\n')}`;
26
- throw new Error(errorMessage);
30
+ throw buildingFailed(errors);
27
31
  }
28
32
  return result;
29
33
  }
30
34
  }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5pbWF0aW9ucy9icm93c2VyL3NyYy9kc2wvYW5pbWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVVBLE9BQU8sRUFBQyxlQUFlLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUcxRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUVyRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUVoRSxNQUFNLE9BQU8sU0FBUztJQUVwQixZQUFvQixPQUF3QixFQUFFLEtBQTRDO1FBQXRFLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBQzFDLE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQztRQUM1QixNQUFNLEdBQUcsR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3RELElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUNqQixNQUFNLFlBQVksR0FBRyxpQ0FBaUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzFFLE1BQU0sSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDL0I7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQztJQUMzQixDQUFDO0lBRUQsY0FBYyxDQUNWLE9BQVksRUFBRSxjQUF1QyxFQUNyRCxpQkFBMEMsRUFBRSxPQUF5QixFQUNyRSxlQUF1QztRQUN6QyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztZQUNyQixjQUFjLENBQUM7UUFDekUsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO1lBQ3hCLGlCQUFpQixDQUFDO1FBQzlFLE1BQU0sTUFBTSxHQUFRLEVBQUUsQ0FBQztRQUN2QixlQUFlLEdBQUcsZUFBZSxJQUFJLElBQUkscUJBQXFCLEVBQUUsQ0FBQztRQUNqRSxNQUFNLE1BQU0sR0FBRyx1QkFBdUIsQ0FDbEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQ3hGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdEMsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQ2pCLE1BQU0sWUFBWSxHQUFHLCtCQUErQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDeEUsTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUMvQjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0IHtBbmltYXRpb25NZXRhZGF0YSwgQW5pbWF0aW9uTWV0YWRhdGFUeXBlLCBBbmltYXRpb25PcHRpb25zLCDJtVN0eWxlRGF0YX0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbmltcG9ydCB7QW5pbWF0aW9uRHJpdmVyfSBmcm9tICcuLi9yZW5kZXIvYW5pbWF0aW9uX2RyaXZlcic7XG5pbXBvcnQge0VOVEVSX0NMQVNTTkFNRSwgTEVBVkVfQ0xBU1NOQU1FLCBub3JtYWxpemVTdHlsZXN9IGZyb20gJy4uL3V0aWwnO1xuXG5pbXBvcnQge0FzdH0gZnJvbSAnLi9hbmltYXRpb25fYXN0JztcbmltcG9ydCB7YnVpbGRBbmltYXRpb25Bc3R9IGZyb20gJy4vYW5pbWF0aW9uX2FzdF9idWlsZGVyJztcbmltcG9ydCB7YnVpbGRBbmltYXRpb25UaW1lbGluZXN9IGZyb20gJy4vYW5pbWF0aW9uX3RpbWVsaW5lX2J1aWxkZXInO1xuaW1wb3J0IHtBbmltYXRpb25UaW1lbGluZUluc3RydWN0aW9ufSBmcm9tICcuL2FuaW1hdGlvbl90aW1lbGluZV9pbnN0cnVjdGlvbic7XG5pbXBvcnQge0VsZW1lbnRJbnN0cnVjdGlvbk1hcH0gZnJvbSAnLi9lbGVtZW50X2luc3RydWN0aW9uX21hcCc7XG5cbmV4cG9ydCBjbGFzcyBBbmltYXRpb24ge1xuICBwcml2YXRlIF9hbmltYXRpb25Bc3Q6IEFzdDxBbmltYXRpb25NZXRhZGF0YVR5cGU+O1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9kcml2ZXI6IEFuaW1hdGlvbkRyaXZlciwgaW5wdXQ6IEFuaW1hdGlvbk1ldGFkYXRhfEFuaW1hdGlvbk1ldGFkYXRhW10pIHtcbiAgICBjb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG4gICAgY29uc3QgYXN0ID0gYnVpbGRBbmltYXRpb25Bc3QoX2RyaXZlciwgaW5wdXQsIGVycm9ycyk7XG4gICAgaWYgKGVycm9ycy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGBhbmltYXRpb24gdmFsaWRhdGlvbiBmYWlsZWQ6XFxuJHtlcnJvcnMuam9pbignXFxuJyl9YDtcbiAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvck1lc3NhZ2UpO1xuICAgIH1cbiAgICB0aGlzLl9hbmltYXRpb25Bc3QgPSBhc3Q7XG4gIH1cblxuICBidWlsZFRpbWVsaW5lcyhcbiAgICAgIGVsZW1lbnQ6IGFueSwgc3RhcnRpbmdTdHlsZXM6IMm1U3R5bGVEYXRhfMm1U3R5bGVEYXRhW10sXG4gICAgICBkZXN0aW5hdGlvblN0eWxlczogybVTdHlsZURhdGF8ybVTdHlsZURhdGFbXSwgb3B0aW9uczogQW5pbWF0aW9uT3B0aW9ucyxcbiAgICAgIHN1Ykluc3RydWN0aW9ucz86IEVsZW1lbnRJbnN0cnVjdGlvbk1hcCk6IEFuaW1hdGlvblRpbWVsaW5lSW5zdHJ1Y3Rpb25bXSB7XG4gICAgY29uc3Qgc3RhcnQgPSBBcnJheS5pc0FycmF5KHN0YXJ0aW5nU3R5bGVzKSA/IG5vcm1hbGl6ZVN0eWxlcyhzdGFydGluZ1N0eWxlcykgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ybVTdHlsZURhdGE+c3RhcnRpbmdTdHlsZXM7XG4gICAgY29uc3QgZGVzdCA9IEFycmF5LmlzQXJyYXkoZGVzdGluYXRpb25TdHlsZXMpID8gbm9ybWFsaXplU3R5bGVzKGRlc3RpbmF0aW9uU3R5bGVzKSA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPMm1U3R5bGVEYXRhPmRlc3RpbmF0aW9uU3R5bGVzO1xuICAgIGNvbnN0IGVycm9yczogYW55ID0gW107XG4gICAgc3ViSW5zdHJ1Y3Rpb25zID0gc3ViSW5zdHJ1Y3Rpb25zIHx8IG5ldyBFbGVtZW50SW5zdHJ1Y3Rpb25NYXAoKTtcbiAgICBjb25zdCByZXN1bHQgPSBidWlsZEFuaW1hdGlvblRpbWVsaW5lcyhcbiAgICAgICAgdGhpcy5fZHJpdmVyLCBlbGVtZW50LCB0aGlzLl9hbmltYXRpb25Bc3QsIEVOVEVSX0NMQVNTTkFNRSwgTEVBVkVfQ0xBU1NOQU1FLCBzdGFydCwgZGVzdCxcbiAgICAgICAgb3B0aW9ucywgc3ViSW5zdHJ1Y3Rpb25zLCBlcnJvcnMpO1xuICAgIGlmIChlcnJvcnMubGVuZ3RoKSB7XG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBgYW5pbWF0aW9uIGJ1aWxkaW5nIGZhaWxlZDpcXG4ke2Vycm9ycy5qb2luKCdcXG4nKX1gO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yTWVzc2FnZSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cbiJdfQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5pbWF0aW9ucy9icm93c2VyL3NyYy9kc2wvYW5pbWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVNBLE9BQU8sRUFBQyxjQUFjLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUVsRSxPQUFPLEVBQUMsZUFBZSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUMsTUFBTSxTQUFTLENBQUM7QUFDMUUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBR2xELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRXJFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRWhFLE1BQU0sT0FBTyxTQUFTO0lBRXBCLFlBQW9CLE9BQXdCLEVBQUUsS0FBNEM7UUFBdEUsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFDMUMsTUFBTSxNQUFNLEdBQVksRUFBRSxDQUFDO1FBQzNCLE1BQU0sUUFBUSxHQUFhLEVBQUUsQ0FBQztRQUM5QixNQUFNLEdBQUcsR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNoRSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUU7WUFDakIsTUFBTSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNoQztRQUNELElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRTtZQUNuQixjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDMUI7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQztJQUMzQixDQUFDO0lBRUQsY0FBYyxDQUNWLE9BQVksRUFBRSxjQUFrRCxFQUNoRSxpQkFBcUQsRUFBRSxPQUF5QixFQUNoRixlQUF1QztRQUN6QyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztZQUNsQixjQUFjLENBQUM7UUFDNUUsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO1lBQ3JCLGlCQUFpQixDQUFDO1FBQ2pGLE1BQU0sTUFBTSxHQUFRLEVBQUUsQ0FBQztRQUN2QixlQUFlLEdBQUcsZUFBZSxJQUFJLElBQUkscUJBQXFCLEVBQUUsQ0FBQztRQUNqRSxNQUFNLE1BQU0sR0FBRyx1QkFBdUIsQ0FDbEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQ3hGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdEMsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQ2pCLE1BQU0sY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzlCO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQge0FuaW1hdGlvbk1ldGFkYXRhLCBBbmltYXRpb25NZXRhZGF0YVR5cGUsIEFuaW1hdGlvbk9wdGlvbnMsIMm1U3R5bGVEYXRhTWFwfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcblxuaW1wb3J0IHtidWlsZGluZ0ZhaWxlZCwgdmFsaWRhdGlvbkZhaWxlZH0gZnJvbSAnLi4vZXJyb3JfaGVscGVycyc7XG5pbXBvcnQge0FuaW1hdGlvbkRyaXZlcn0gZnJvbSAnLi4vcmVuZGVyL2FuaW1hdGlvbl9kcml2ZXInO1xuaW1wb3J0IHtFTlRFUl9DTEFTU05BTUUsIExFQVZFX0NMQVNTTkFNRSwgbm9ybWFsaXplU3R5bGVzfSBmcm9tICcuLi91dGlsJztcbmltcG9ydCB7d2FyblZhbGlkYXRpb259IGZyb20gJy4uL3dhcm5pbmdfaGVscGVycyc7XG5cbmltcG9ydCB7QXN0fSBmcm9tICcuL2FuaW1hdGlvbl9hc3QnO1xuaW1wb3J0IHtidWlsZEFuaW1hdGlvbkFzdH0gZnJvbSAnLi9hbmltYXRpb25fYXN0X2J1aWxkZXInO1xuaW1wb3J0IHtidWlsZEFuaW1hdGlvblRpbWVsaW5lc30gZnJvbSAnLi9hbmltYXRpb25fdGltZWxpbmVfYnVpbGRlcic7XG5pbXBvcnQge0FuaW1hdGlvblRpbWVsaW5lSW5zdHJ1Y3Rpb259IGZyb20gJy4vYW5pbWF0aW9uX3RpbWVsaW5lX2luc3RydWN0aW9uJztcbmltcG9ydCB7RWxlbWVudEluc3RydWN0aW9uTWFwfSBmcm9tICcuL2VsZW1lbnRfaW5zdHJ1Y3Rpb25fbWFwJztcblxuZXhwb3J0IGNsYXNzIEFuaW1hdGlvbiB7XG4gIHByaXZhdGUgX2FuaW1hdGlvbkFzdDogQXN0PEFuaW1hdGlvbk1ldGFkYXRhVHlwZT47XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2RyaXZlcjogQW5pbWF0aW9uRHJpdmVyLCBpbnB1dDogQW5pbWF0aW9uTWV0YWRhdGF8QW5pbWF0aW9uTWV0YWRhdGFbXSkge1xuICAgIGNvbnN0IGVycm9yczogRXJyb3JbXSA9IFtdO1xuICAgIGNvbnN0IHdhcm5pbmdzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGNvbnN0IGFzdCA9IGJ1aWxkQW5pbWF0aW9uQXN0KF9kcml2ZXIsIGlucHV0LCBlcnJvcnMsIHdhcm5pbmdzKTtcbiAgICBpZiAoZXJyb3JzLmxlbmd0aCkge1xuICAgICAgdGhyb3cgdmFsaWRhdGlvbkZhaWxlZChlcnJvcnMpO1xuICAgIH1cbiAgICBpZiAod2FybmluZ3MubGVuZ3RoKSB7XG4gICAgICB3YXJuVmFsaWRhdGlvbih3YXJuaW5ncyk7XG4gICAgfVxuICAgIHRoaXMuX2FuaW1hdGlvbkFzdCA9IGFzdDtcbiAgfVxuXG4gIGJ1aWxkVGltZWxpbmVzKFxuICAgICAgZWxlbWVudDogYW55LCBzdGFydGluZ1N0eWxlczogybVTdHlsZURhdGFNYXB8QXJyYXk8ybVTdHlsZURhdGFNYXA+LFxuICAgICAgZGVzdGluYXRpb25TdHlsZXM6IMm1U3R5bGVEYXRhTWFwfEFycmF5PMm1U3R5bGVEYXRhTWFwPiwgb3B0aW9uczogQW5pbWF0aW9uT3B0aW9ucyxcbiAgICAgIHN1Ykluc3RydWN0aW9ucz86IEVsZW1lbnRJbnN0cnVjdGlvbk1hcCk6IEFuaW1hdGlvblRpbWVsaW5lSW5zdHJ1Y3Rpb25bXSB7XG4gICAgY29uc3Qgc3RhcnQgPSBBcnJheS5pc0FycmF5KHN0YXJ0aW5nU3R5bGVzKSA/IG5vcm1hbGl6ZVN0eWxlcyhzdGFydGluZ1N0eWxlcykgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ybVTdHlsZURhdGFNYXA+c3RhcnRpbmdTdHlsZXM7XG4gICAgY29uc3QgZGVzdCA9IEFycmF5LmlzQXJyYXkoZGVzdGluYXRpb25TdHlsZXMpID8gbm9ybWFsaXplU3R5bGVzKGRlc3RpbmF0aW9uU3R5bGVzKSA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPMm1U3R5bGVEYXRhTWFwPmRlc3RpbmF0aW9uU3R5bGVzO1xuICAgIGNvbnN0IGVycm9yczogYW55ID0gW107XG4gICAgc3ViSW5zdHJ1Y3Rpb25zID0gc3ViSW5zdHJ1Y3Rpb25zIHx8IG5ldyBFbGVtZW50SW5zdHJ1Y3Rpb25NYXAoKTtcbiAgICBjb25zdCByZXN1bHQgPSBidWlsZEFuaW1hdGlvblRpbWVsaW5lcyhcbiAgICAgICAgdGhpcy5fZHJpdmVyLCBlbGVtZW50LCB0aGlzLl9hbmltYXRpb25Bc3QsIEVOVEVSX0NMQVNTTkFNRSwgTEVBVkVfQ0xBU1NOQU1FLCBzdGFydCwgZGVzdCxcbiAgICAgICAgb3B0aW9ucywgc3ViSW5zdHJ1Y3Rpb25zLCBlcnJvcnMpO1xuICAgIGlmIChlcnJvcnMubGVuZ3RoKSB7XG4gICAgICB0aHJvdyBidWlsZGluZ0ZhaWxlZChlcnJvcnMpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG4iXX0=
@@ -1,3 +1,3 @@
1
1
  const EMPTY_ANIMATION_OPTIONS = {};
2
2
  export {};
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uX2FzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuaW1hdGlvbnMvYnJvd3Nlci9zcmMvZHNsL2FuaW1hdGlvbl9hc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsTUFBTSx1QkFBdUIsR0FBcUIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQge0FuaW1hdGVUaW1pbmdzLCBBbmltYXRpb25NZXRhZGF0YVR5cGUsIEFuaW1hdGlvbk9wdGlvbnMsIMm1U3R5bGVEYXRhfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcblxuY29uc3QgRU1QVFlfQU5JTUFUSU9OX09QVElPTlM6IEFuaW1hdGlvbk9wdGlvbnMgPSB7fTtcblxuZXhwb3J0IGludGVyZmFjZSBBc3RWaXNpdG9yIHtcbiAgdmlzaXRUcmlnZ2VyKGFzdDogVHJpZ2dlckFzdCwgY29udGV4dDogYW55KTogYW55O1xuICB2aXNpdFN0YXRlKGFzdDogU3RhdGVBc3QsIGNvbnRleHQ6IGFueSk6IGFueTtcbiAgdmlzaXRUcmFuc2l0aW9uKGFzdDogVHJhbnNpdGlvbkFzdCwgY29udGV4dDogYW55KTogYW55O1xuICB2aXNpdFNlcXVlbmNlKGFzdDogU2VxdWVuY2VBc3QsIGNvbnRleHQ6IGFueSk6IGFueTtcbiAgdmlzaXRHcm91cChhc3Q6IEdyb3VwQXN0LCBjb250ZXh0OiBhbnkpOiBhbnk7XG4gIHZpc2l0QW5pbWF0ZShhc3Q6IEFuaW1hdGVBc3QsIGNvbnRleHQ6IGFueSk6IGFueTtcbiAgdmlzaXRTdHlsZShhc3Q6IFN0eWxlQXN0LCBjb250ZXh0OiBhbnkpOiBhbnk7XG4gIHZpc2l0S2V5ZnJhbWVzKGFzdDogS2V5ZnJhbWVzQXN0LCBjb250ZXh0OiBhbnkpOiBhbnk7XG4gIHZpc2l0UmVmZXJlbmNlKGFzdDogUmVmZXJlbmNlQXN0LCBjb250ZXh0OiBhbnkpOiBhbnk7XG4gIHZpc2l0QW5pbWF0ZUNoaWxkKGFzdDogQW5pbWF0ZUNoaWxkQXN0LCBjb250ZXh0OiBhbnkpOiBhbnk7XG4gIHZpc2l0QW5pbWF0ZVJlZihhc3Q6IEFuaW1hdGVSZWZBc3QsIGNvbnRleHQ6IGFueSk6IGFueTtcbiAgdmlzaXRRdWVyeShhc3Q6IFF1ZXJ5QXN0LCBjb250ZXh0OiBhbnkpOiBhbnk7XG4gIHZpc2l0U3RhZ2dlcihhc3Q6IFN0YWdnZXJBc3QsIGNvbnRleHQ6IGFueSk6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBc3Q8VCBleHRlbmRzIEFuaW1hdGlvbk1ldGFkYXRhVHlwZT4ge1xuICB0eXBlOiBUO1xuICBvcHRpb25zOiBBbmltYXRpb25PcHRpb25zfG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJpZ2dlckFzdCBleHRlbmRzIEFzdDxBbmltYXRpb25NZXRhZGF0YVR5cGUuVHJpZ2dlcj4ge1xuICB0eXBlOiBBbmltYXRpb25NZXRhZGF0YVR5cGUuVHJpZ2dlcjtcbiAgbmFtZTogc3RyaW5nO1xuICBzdGF0ZXM6IFN0YXRlQXN0W107XG4gIHRyYW5zaXRpb25zOiBUcmFuc2l0aW9uQXN0W107XG4gIHF1ZXJ5Q291bnQ6IG51bWJlcjtcbiAgZGVwQ291bnQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGF0ZUFzdCBleHRlbmRzIEFzdDxBbmltYXRpb25NZXRhZGF0YVR5cGUuU3RhdGU+IHtcbiAgdHlwZTogQW5pbWF0aW9uTWV0YWRhdGFUeXBlLlN0YXRlO1xuICBuYW1lOiBzdHJpbmc7XG4gIHN0eWxlOiBTdHlsZUFzdDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2l0aW9uQXN0IGV4dGVuZHMgQXN0PEFuaW1hdGlvbk1ldGFkYXRhVHlwZS5UcmFuc2l0aW9uPiB7XG4gIG1hdGNoZXJzOiAoKGZyb21TdGF0ZTogc3RyaW5nLCB0b1N0YXRlOiBzdHJpbmcsIGVsZW1lbnQ6IGFueSwgcGFyYW1zOiB7W2tleTogc3RyaW5nXTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW55fSkgPT4gYm9vbGVhbilbXTtcbiAgYW5pbWF0aW9uOiBBc3Q8QW5pbWF0aW9uTWV0YWRhdGFUeXBlPjtcbiAgcXVlcnlDb3VudDogbnVtYmVyO1xuICBkZXBDb3VudDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlcXVlbmNlQXN0IGV4dGVuZHMgQXN0PEFuaW1hdGlvbk1ldGFkYXRhVHlwZS5TZXF1ZW5jZT4ge1xuICBzdGVwczogQXN0PEFuaW1hdGlvbk1ldGFkYXRhVHlwZT5bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcm91cEFzdCBleHRlbmRzIEFzdDxBbmltYXRpb25NZXRhZGF0YVR5cGUuR3JvdXA+IHtcbiAgc3RlcHM6IEFzdDxBbmltYXRpb25NZXRhZGF0YVR5cGU+W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQW5pbWF0ZUFzdCBleHRlbmRzIEFzdDxBbmltYXRpb25NZXRhZGF0YVR5cGUuQW5pbWF0ZT4ge1xuICB0aW1pbmdzOiBUaW1pbmdBc3Q7XG4gIHN0eWxlOiBTdHlsZUFzdHxLZXlmcmFtZXNBc3Q7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3R5bGVBc3QgZXh0ZW5kcyBBc3Q8QW5pbWF0aW9uTWV0YWRhdGFUeXBlLlN0eWxlPiB7XG4gIHN0eWxlczogKMm1U3R5bGVEYXRhfHN0cmluZylbXTtcbiAgZWFzaW5nOiBzdHJpbmd8bnVsbDtcbiAgb2Zmc2V0OiBudW1iZXJ8bnVsbDtcbiAgY29udGFpbnNEeW5hbWljU3R5bGVzOiBib29sZWFuO1xuICBpc0VtcHR5U3RlcD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgS2V5ZnJhbWVzQXN0IGV4dGVuZHMgQXN0PEFuaW1hdGlvbk1ldGFkYXRhVHlwZS5LZXlmcmFtZXM+IHtcbiAgc3R5bGVzOiBTdHlsZUFzdFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlZmVyZW5jZUFzdCBleHRlbmRzIEFzdDxBbmltYXRpb25NZXRhZGF0YVR5cGUuUmVmZXJlbmNlPiB7XG4gIGFuaW1hdGlvbjogQXN0PEFuaW1hdGlvbk1ldGFkYXRhVHlwZT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQW5pbWF0ZUNoaWxkQXN0IGV4dGVuZHMgQXN0PEFuaW1hdGlvbk1ldGFkYXRhVHlwZS5BbmltYXRlQ2hpbGQ+IHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgQW5pbWF0ZVJlZkFzdCBleHRlbmRzIEFzdDxBbmltYXRpb25NZXRhZGF0YVR5cGUuQW5pbWF0ZVJlZj4ge1xuICBhbmltYXRpb246IFJlZmVyZW5jZUFzdDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBRdWVyeUFzdCBleHRlbmRzIEFzdDxBbmltYXRpb25NZXRhZGF0YVR5cGUuUXVlcnk+IHtcbiAgc2VsZWN0b3I6IHN0cmluZztcbiAgbGltaXQ6IG51bWJlcjtcbiAgb3B0aW9uYWw6IGJvb2xlYW47XG4gIGluY2x1ZGVTZWxmOiBib29sZWFuO1xuICBhbmltYXRpb246IEFzdDxBbmltYXRpb25NZXRhZGF0YVR5cGU+O1xuICBvcmlnaW5hbFNlbGVjdG9yOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhZ2dlckFzdCBleHRlbmRzIEFzdDxBbmltYXRpb25NZXRhZGF0YVR5cGUuU3RhZ2dlcj4ge1xuICB0aW1pbmdzOiBBbmltYXRlVGltaW5ncztcbiAgYW5pbWF0aW9uOiBBc3Q8QW5pbWF0aW9uTWV0YWRhdGFUeXBlPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUaW1pbmdBc3Qge1xuICBkdXJhdGlvbjogbnVtYmVyO1xuICBkZWxheTogbnVtYmVyO1xuICBlYXNpbmc6IHN0cmluZ3xudWxsO1xuICBkeW5hbWljPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEeW5hbWljVGltaW5nQXN0IGV4dGVuZHMgVGltaW5nQXN0IHtcbiAgc3RyVmFsdWU6IHN0cmluZztcbiAgZHluYW1pYzogdHJ1ZTtcbn1cbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uX2FzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuaW1hdGlvbnMvYnJvd3Nlci9zcmMvZHNsL2FuaW1hdGlvbl9hc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsTUFBTSx1QkFBdUIsR0FBcUIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQge0FuaW1hdGVUaW1pbmdzLCBBbmltYXRpb25NZXRhZGF0YVR5cGUsIEFuaW1hdGlvbk9wdGlvbnMsIMm1U3R5bGVEYXRhTWFwfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcblxuY29uc3QgRU1QVFlfQU5JTUFUSU9OX09QVElPTlM6IEFuaW1hdGlvbk9wdGlvbnMgPSB7fTtcblxuZXhwb3J0IGludGVyZmFjZSBBc3RWaXNpdG9yIHtcbiAgdmlzaXRUcmlnZ2VyKGFzdDogVHJpZ2dlckFzdCwgY29udGV4dDogYW55KTogYW55O1xuICB2aXNpdFN0YXRlKGFzdDogU3RhdGVBc3QsIGNvbnRleHQ6IGFueSk6IGFueTtcbiAgdmlzaXRUcmFuc2l0aW9uKGFzdDogVHJhbnNpdGlvbkFzdCwgY29udGV4dDogYW55KTogYW55O1xuICB2aXNpdFNlcXVlbmNlKGFzdDogU2VxdWVuY2VBc3QsIGNvbnRleHQ6IGFueSk6IGFueTtcbiAgdmlzaXRHcm91cChhc3Q6IEdyb3VwQXN0LCBjb250ZXh0OiBhbnkpOiBhbnk7XG4gIHZpc2l0QW5pbWF0ZShhc3Q6IEFuaW1hdGVBc3QsIGNvbnRleHQ6IGFueSk6IGFueTtcbiAgdmlzaXRTdHlsZShhc3Q6IFN0eWxlQXN0LCBjb250ZXh0OiBhbnkpOiBhbnk7XG4gIHZpc2l0S2V5ZnJhbWVzKGFzdDogS2V5ZnJhbWVzQXN0LCBjb250ZXh0OiBhbnkpOiBhbnk7XG4gIHZpc2l0UmVmZXJlbmNlKGFzdDogUmVmZXJlbmNlQXN0LCBjb250ZXh0OiBhbnkpOiBhbnk7XG4gIHZpc2l0QW5pbWF0ZUNoaWxkKGFzdDogQW5pbWF0ZUNoaWxkQXN0LCBjb250ZXh0OiBhbnkpOiBhbnk7XG4gIHZpc2l0QW5pbWF0ZVJlZihhc3Q6IEFuaW1hdGVSZWZBc3QsIGNvbnRleHQ6IGFueSk6IGFueTtcbiAgdmlzaXRRdWVyeShhc3Q6IFF1ZXJ5QXN0LCBjb250ZXh0OiBhbnkpOiBhbnk7XG4gIHZpc2l0U3RhZ2dlcihhc3Q6IFN0YWdnZXJBc3QsIGNvbnRleHQ6IGFueSk6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBc3Q8VCBleHRlbmRzIEFuaW1hdGlvbk1ldGFkYXRhVHlwZT4ge1xuICB0eXBlOiBUO1xuICBvcHRpb25zOiBBbmltYXRpb25PcHRpb25zfG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJpZ2dlckFzdCBleHRlbmRzIEFzdDxBbmltYXRpb25NZXRhZGF0YVR5cGUuVHJpZ2dlcj4ge1xuICB0eXBlOiBBbmltYXRpb25NZXRhZGF0YVR5cGUuVHJpZ2dlcjtcbiAgbmFtZTogc3RyaW5nO1xuICBzdGF0ZXM6IFN0YXRlQXN0W107XG4gIHRyYW5zaXRpb25zOiBUcmFuc2l0aW9uQXN0W107XG4gIHF1ZXJ5Q291bnQ6IG51bWJlcjtcbiAgZGVwQ291bnQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGF0ZUFzdCBleHRlbmRzIEFzdDxBbmltYXRpb25NZXRhZGF0YVR5cGUuU3RhdGU+IHtcbiAgdHlwZTogQW5pbWF0aW9uTWV0YWRhdGFUeXBlLlN0YXRlO1xuICBuYW1lOiBzdHJpbmc7XG4gIHN0eWxlOiBTdHlsZUFzdDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2l0aW9uQXN0IGV4dGVuZHMgQXN0PEFuaW1hdGlvbk1ldGFkYXRhVHlwZS5UcmFuc2l0aW9uPiB7XG4gIG1hdGNoZXJzOiBBcnJheTwoXG4gICAgICAoZnJvbVN0YXRlOiBzdHJpbmcsIHRvU3RhdGU6IHN0cmluZywgZWxlbWVudDogYW55LCBwYXJhbXM6IHtba2V5OiBzdHJpbmddOiBhbnl9KSA9PiBib29sZWFuKT47XG4gIGFuaW1hdGlvbjogQXN0PEFuaW1hdGlvbk1ldGFkYXRhVHlwZT47XG4gIHF1ZXJ5Q291bnQ6IG51bWJlcjtcbiAgZGVwQ291bnQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZXF1ZW5jZUFzdCBleHRlbmRzIEFzdDxBbmltYXRpb25NZXRhZGF0YVR5cGUuU2VxdWVuY2U+IHtcbiAgc3RlcHM6IEFzdDxBbmltYXRpb25NZXRhZGF0YVR5cGU+W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JvdXBBc3QgZXh0ZW5kcyBBc3Q8QW5pbWF0aW9uTWV0YWRhdGFUeXBlLkdyb3VwPiB7XG4gIHN0ZXBzOiBBc3Q8QW5pbWF0aW9uTWV0YWRhdGFUeXBlPltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFuaW1hdGVBc3QgZXh0ZW5kcyBBc3Q8QW5pbWF0aW9uTWV0YWRhdGFUeXBlLkFuaW1hdGU+IHtcbiAgdGltaW5nczogVGltaW5nQXN0O1xuICBzdHlsZTogU3R5bGVBc3R8S2V5ZnJhbWVzQXN0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0eWxlQXN0IGV4dGVuZHMgQXN0PEFuaW1hdGlvbk1ldGFkYXRhVHlwZS5TdHlsZT4ge1xuICBzdHlsZXM6IEFycmF5PCjJtVN0eWxlRGF0YU1hcCB8IHN0cmluZyk+O1xuICBlYXNpbmc6IHN0cmluZ3xudWxsO1xuICBvZmZzZXQ6IG51bWJlcnxudWxsO1xuICBjb250YWluc0R5bmFtaWNTdHlsZXM6IGJvb2xlYW47XG4gIGlzRW1wdHlTdGVwPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBLZXlmcmFtZXNBc3QgZXh0ZW5kcyBBc3Q8QW5pbWF0aW9uTWV0YWRhdGFUeXBlLktleWZyYW1lcz4ge1xuICBzdHlsZXM6IFN0eWxlQXN0W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVmZXJlbmNlQXN0IGV4dGVuZHMgQXN0PEFuaW1hdGlvbk1ldGFkYXRhVHlwZS5SZWZlcmVuY2U+IHtcbiAgYW5pbWF0aW9uOiBBc3Q8QW5pbWF0aW9uTWV0YWRhdGFUeXBlPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbmltYXRlQ2hpbGRBc3QgZXh0ZW5kcyBBc3Q8QW5pbWF0aW9uTWV0YWRhdGFUeXBlLkFuaW1hdGVDaGlsZD4ge31cblxuZXhwb3J0IGludGVyZmFjZSBBbmltYXRlUmVmQXN0IGV4dGVuZHMgQXN0PEFuaW1hdGlvbk1ldGFkYXRhVHlwZS5BbmltYXRlUmVmPiB7XG4gIGFuaW1hdGlvbjogUmVmZXJlbmNlQXN0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5QXN0IGV4dGVuZHMgQXN0PEFuaW1hdGlvbk1ldGFkYXRhVHlwZS5RdWVyeT4ge1xuICBzZWxlY3Rvcjogc3RyaW5nO1xuICBsaW1pdDogbnVtYmVyO1xuICBvcHRpb25hbDogYm9vbGVhbjtcbiAgaW5jbHVkZVNlbGY6IGJvb2xlYW47XG4gIGFuaW1hdGlvbjogQXN0PEFuaW1hdGlvbk1ldGFkYXRhVHlwZT47XG4gIG9yaWdpbmFsU2VsZWN0b3I6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGFnZ2VyQXN0IGV4dGVuZHMgQXN0PEFuaW1hdGlvbk1ldGFkYXRhVHlwZS5TdGFnZ2VyPiB7XG4gIHRpbWluZ3M6IEFuaW1hdGVUaW1pbmdzO1xuICBhbmltYXRpb246IEFzdDxBbmltYXRpb25NZXRhZGF0YVR5cGU+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRpbWluZ0FzdCB7XG4gIGR1cmF0aW9uOiBudW1iZXI7XG4gIGRlbGF5OiBudW1iZXI7XG4gIGVhc2luZzogc3RyaW5nfG51bGw7XG4gIGR5bmFtaWM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIER5bmFtaWNUaW1pbmdBc3QgZXh0ZW5kcyBUaW1pbmdBc3Qge1xuICBzdHJWYWx1ZTogc3RyaW5nO1xuICBkeW5hbWljOiB0cnVlO1xufVxuIl19