@sbb-esta/lyne-elements 1.5.0 → 1.6.0

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 (51) hide show
  1. package/alert/alert/alert.d.ts +22 -16
  2. package/alert/alert/alert.d.ts.map +1 -1
  3. package/alert/alert-group/alert-group.d.ts +1 -1
  4. package/alert/alert-group/alert-group.d.ts.map +1 -1
  5. package/alert/alert-group.js +31 -26
  6. package/alert/alert.js +45 -37
  7. package/clock/clock.d.ts.map +1 -1
  8. package/clock.js +14 -14
  9. package/core/testing/wait-for-event.d.ts +2 -0
  10. package/core/testing/wait-for-event.d.ts.map +1 -0
  11. package/core/testing.d.ts +1 -0
  12. package/core/testing.d.ts.map +1 -1
  13. package/core/testing.js +49 -36
  14. package/custom-elements.json +211 -51
  15. package/development/alert/alert/alert.d.ts +22 -16
  16. package/development/alert/alert/alert.d.ts.map +1 -1
  17. package/development/alert/alert-group/alert-group.d.ts +1 -1
  18. package/development/alert/alert-group/alert-group.d.ts.map +1 -1
  19. package/development/alert/alert-group.js +16 -11
  20. package/development/alert/alert.js +65 -24
  21. package/development/clock/clock.d.ts.map +1 -1
  22. package/development/clock.js +3 -2
  23. package/development/core/testing/wait-for-event.d.ts +2 -0
  24. package/development/core/testing/wait-for-event.d.ts.map +1 -0
  25. package/development/core/testing.d.ts +1 -0
  26. package/development/core/testing.d.ts.map +1 -1
  27. package/development/core/testing.js +17 -1
  28. package/development/icon/icon.d.ts +9 -1
  29. package/development/icon/icon.d.ts.map +1 -1
  30. package/development/icon.js +16 -2
  31. package/development/menu/menu/menu.d.ts.map +1 -1
  32. package/development/menu/menu.js +2 -1
  33. package/development/navigation/navigation/navigation.d.ts.map +1 -1
  34. package/development/navigation/navigation.js +2 -1
  35. package/development/notification/notification.d.ts +4 -4
  36. package/development/notification.js +1 -1
  37. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  38. package/development/overlay.js +35 -17
  39. package/development/toggle/toggle.js +1 -1
  40. package/icon/icon.d.ts +9 -1
  41. package/icon/icon.d.ts.map +1 -1
  42. package/icon.js +71 -62
  43. package/menu/menu/menu.d.ts.map +1 -1
  44. package/menu/menu.js +3 -3
  45. package/navigation/navigation/navigation.d.ts.map +1 -1
  46. package/navigation/navigation.js +4 -4
  47. package/notification/notification.d.ts +4 -4
  48. package/overlay/overlay-base-element.d.ts.map +1 -1
  49. package/overlay.js +33 -33
  50. package/package.json +1 -1
  51. package/toggle/toggle.js +1 -1
@@ -5896,6 +5896,16 @@
5896
5896
  "privacy": "private",
5897
5897
  "default": "''"
5898
5898
  },
5899
+ {
5900
+ "kind": "field",
5901
+ "name": "_sbbAngularCompatibility",
5902
+ "type": {
5903
+ "text": "boolean"
5904
+ },
5905
+ "privacy": "private",
5906
+ "default": "false",
5907
+ "description": "The sbb-angular library has a sbb-icon component as well. In order to provide\ncompatibility with it (as some icons are used internally inside the other sbb-angular\ncomponents) we need to check whether the attribute svgicon is used."
5908
+ },
5899
5909
  {
5900
5910
  "kind": "method",
5901
5911
  "name": "fetchSvgIcon",
@@ -8141,28 +8151,28 @@
8141
8151
  "type": {
8142
8152
  "text": "CustomEvent<void>"
8143
8153
  },
8144
- "description": "Emits whenever the `sbb-notification` starts the opening transition.",
8154
+ "description": "Emits when the opening animation starts.",
8145
8155
  "name": "willOpen"
8146
8156
  },
8147
8157
  {
8148
8158
  "type": {
8149
8159
  "text": "CustomEvent<void>"
8150
8160
  },
8151
- "description": "Emits whenever the `sbb-notification` is opened.",
8161
+ "description": "Emits when the opening animation ends.",
8152
8162
  "name": "didOpen"
8153
8163
  },
8154
8164
  {
8155
8165
  "type": {
8156
8166
  "text": "CustomEvent<void>"
8157
8167
  },
8158
- "description": "Emits whenever the `sbb-notification` begins the closing transition.",
8168
+ "description": "Emits when the closing animation starts.",
8159
8169
  "name": "willClose"
8160
8170
  },
8161
8171
  {
8162
8172
  "type": {
8163
8173
  "text": "CustomEvent<void>"
8164
8174
  },
8165
- "description": "Emits whenever the `sbb-notification` is closed.",
8175
+ "description": "Emits when the closing animation ends.",
8166
8176
  "name": "didClose"
8167
8177
  }
8168
8178
  ],
@@ -14735,7 +14745,7 @@
14735
14745
  },
14736
14746
  {
14737
14747
  "kind": "method",
14738
- "name": "_removeAlert",
14748
+ "name": "_alertClosed",
14739
14749
  "privacy": "private",
14740
14750
  "return": {
14741
14751
  "type": {
@@ -14926,9 +14936,13 @@
14926
14936
  "privacy": "public",
14927
14937
  "static": true,
14928
14938
  "readonly": true,
14929
- "default": "{ willOpen: 'willOpen', didOpen: 'didOpen', dismissalRequested: 'dismissalRequested', }",
14939
+ "default": "{ willOpen: 'willOpen', didOpen: 'didOpen', willClose: 'willClose', didClose: 'didClose', dismissalRequested: 'dismissalRequested', }",
14930
14940
  "type": {
14931
- "text": "{\n willOpen: 'willOpen',\n didOpen: 'didOpen',\n dismissalRequested: 'dismissalRequested',\n }"
14941
+ "text": "{\n willOpen: 'willOpen',\n didOpen: 'didOpen',\n willClose: 'willClose',\n didClose: 'didClose',\n }"
14942
+ },
14943
+ "inheritedFrom": {
14944
+ "name": "SbbOpenCloseBaseElement",
14945
+ "module": "core/base-elements.js"
14932
14946
  }
14933
14947
  },
14934
14948
  {
@@ -15046,43 +15060,14 @@
15046
15060
  "kind": "field",
15047
15061
  "name": "animation",
15048
15062
  "type": {
15049
- "text": "'open' | 'none'"
15063
+ "text": "'open' | 'close' | 'all' | 'none'"
15050
15064
  },
15051
15065
  "privacy": "public",
15052
- "default": "'open'",
15066
+ "default": "'all'",
15053
15067
  "description": "The enabled animations.",
15054
15068
  "attribute": "animation",
15055
15069
  "reflects": true
15056
15070
  },
15057
- {
15058
- "kind": "field",
15059
- "name": "_state",
15060
- "type": {
15061
- "text": "SbbAlertState"
15062
- },
15063
- "privacy": "private",
15064
- "description": "The state of the alert."
15065
- },
15066
- {
15067
- "kind": "field",
15068
- "name": "_willOpen",
15069
- "type": {
15070
- "text": "EventEmitter<void>"
15071
- },
15072
- "privacy": "private",
15073
- "default": "new EventEmitter(this, SbbAlertElement.events.willOpen)",
15074
- "description": "Emits when the fade in animation starts."
15075
- },
15076
- {
15077
- "kind": "field",
15078
- "name": "_didOpen",
15079
- "type": {
15080
- "text": "EventEmitter<void>"
15081
- },
15082
- "privacy": "private",
15083
- "default": "new EventEmitter(this, SbbAlertElement.events.didOpen)",
15084
- "description": "Emits when the fade in animation ends and the button is displayed."
15085
- },
15086
15071
  {
15087
15072
  "kind": "field",
15088
15073
  "name": "_dismissalRequested",
@@ -15091,7 +15076,8 @@
15091
15076
  },
15092
15077
  "privacy": "private",
15093
15078
  "default": "new EventEmitter( this, SbbAlertElement.events.dismissalRequested, )",
15094
- "description": "Emits when dismissal of an alert was requested."
15079
+ "description": "Emits when dismissal of an alert was requested.",
15080
+ "deprecated": "true"
15095
15081
  },
15096
15082
  {
15097
15083
  "kind": "field",
@@ -15108,18 +15094,38 @@
15108
15094
  "text": "void"
15109
15095
  }
15110
15096
  },
15111
- "description": "Requests dismissal of the alert."
15097
+ "description": "Requests dismissal of the alert.",
15098
+ "deprecated": "in favour of 'willClose' and 'didClose' events"
15112
15099
  },
15113
15100
  {
15114
15101
  "kind": "method",
15115
- "name": "_open",
15116
- "privacy": "private",
15102
+ "name": "open",
15103
+ "privacy": "public",
15117
15104
  "return": {
15118
15105
  "type": {
15119
15106
  "text": "void"
15120
15107
  }
15121
15108
  },
15122
- "description": "Open the alert."
15109
+ "description": "Open the alert.",
15110
+ "inheritedFrom": {
15111
+ "name": "SbbOpenCloseBaseElement",
15112
+ "module": "core/base-elements.js"
15113
+ }
15114
+ },
15115
+ {
15116
+ "kind": "method",
15117
+ "name": "close",
15118
+ "privacy": "public",
15119
+ "return": {
15120
+ "type": {
15121
+ "text": "void"
15122
+ }
15123
+ },
15124
+ "description": "Close the alert.",
15125
+ "inheritedFrom": {
15126
+ "name": "SbbOpenCloseBaseElement",
15127
+ "module": "core/base-elements.js"
15128
+ }
15123
15129
  },
15124
15130
  {
15125
15131
  "kind": "method",
@@ -15139,6 +15145,26 @@
15139
15145
  }
15140
15146
  ]
15141
15147
  },
15148
+ {
15149
+ "kind": "method",
15150
+ "name": "_handleOpening",
15151
+ "privacy": "private",
15152
+ "return": {
15153
+ "type": {
15154
+ "text": "void"
15155
+ }
15156
+ }
15157
+ },
15158
+ {
15159
+ "kind": "method",
15160
+ "name": "_handleClosing",
15161
+ "privacy": "private",
15162
+ "return": {
15163
+ "type": {
15164
+ "text": "void"
15165
+ }
15166
+ }
15167
+ },
15142
15168
  {
15143
15169
  "kind": "method",
15144
15170
  "name": "renderIconSlot",
@@ -15161,22 +15187,121 @@
15161
15187
  "name": "SbbIconNameMixin",
15162
15188
  "module": "icon.js"
15163
15189
  }
15190
+ },
15191
+ {
15192
+ "kind": "field",
15193
+ "name": "state",
15194
+ "privacy": "protected",
15195
+ "description": "The state of the component.",
15196
+ "type": {
15197
+ "text": "SbbOpenedClosedState"
15198
+ },
15199
+ "inheritedFrom": {
15200
+ "name": "SbbOpenCloseBaseElement",
15201
+ "module": "core/base-elements.js"
15202
+ }
15203
+ },
15204
+ {
15205
+ "kind": "field",
15206
+ "name": "willOpen",
15207
+ "type": {
15208
+ "text": "EventEmitter"
15209
+ },
15210
+ "privacy": "protected",
15211
+ "default": "new EventEmitter( this, SbbOpenCloseBaseElement.events.willOpen, )",
15212
+ "description": "Emits whenever the component starts the opening transition.",
15213
+ "inheritedFrom": {
15214
+ "name": "SbbOpenCloseBaseElement",
15215
+ "module": "core/base-elements.js"
15216
+ }
15217
+ },
15218
+ {
15219
+ "kind": "field",
15220
+ "name": "didOpen",
15221
+ "type": {
15222
+ "text": "EventEmitter"
15223
+ },
15224
+ "privacy": "protected",
15225
+ "default": "new EventEmitter(this, SbbOpenCloseBaseElement.events.didOpen)",
15226
+ "description": "Emits whenever the component is opened.",
15227
+ "inheritedFrom": {
15228
+ "name": "SbbOpenCloseBaseElement",
15229
+ "module": "core/base-elements.js"
15230
+ }
15231
+ },
15232
+ {
15233
+ "kind": "field",
15234
+ "name": "willClose",
15235
+ "type": {
15236
+ "text": "EventEmitter"
15237
+ },
15238
+ "privacy": "protected",
15239
+ "default": "new EventEmitter( this, SbbOpenCloseBaseElement.events.willClose, )",
15240
+ "description": "Emits whenever the component begins the closing transition.",
15241
+ "inheritedFrom": {
15242
+ "name": "SbbOpenCloseBaseElement",
15243
+ "module": "core/base-elements.js"
15244
+ }
15245
+ },
15246
+ {
15247
+ "kind": "field",
15248
+ "name": "didClose",
15249
+ "type": {
15250
+ "text": "EventEmitter"
15251
+ },
15252
+ "privacy": "protected",
15253
+ "default": "new EventEmitter( this, SbbOpenCloseBaseElement.events.didClose, )",
15254
+ "description": "Emits whenever the component is closed.",
15255
+ "inheritedFrom": {
15256
+ "name": "SbbOpenCloseBaseElement",
15257
+ "module": "core/base-elements.js"
15258
+ }
15164
15259
  }
15165
15260
  ],
15166
15261
  "events": [
15167
15262
  {
15263
+ "description": "Emits when the opening animation starts.",
15264
+ "name": "willOpen",
15168
15265
  "type": {
15169
15266
  "text": "CustomEvent<void>"
15170
15267
  },
15171
- "description": "Emits when the fade in animation starts.",
15172
- "name": "willOpen"
15268
+ "inheritedFrom": {
15269
+ "name": "SbbOpenCloseBaseElement",
15270
+ "module": "core/base-elements.js"
15271
+ }
15173
15272
  },
15174
15273
  {
15274
+ "description": "Emits when the opening animation ends.",
15275
+ "name": "didOpen",
15175
15276
  "type": {
15176
15277
  "text": "CustomEvent<void>"
15177
15278
  },
15178
- "description": "Emits when the fade in animation ends and the button is displayed.",
15179
- "name": "didOpen"
15279
+ "inheritedFrom": {
15280
+ "name": "SbbOpenCloseBaseElement",
15281
+ "module": "core/base-elements.js"
15282
+ }
15283
+ },
15284
+ {
15285
+ "description": "Emits when the closing animation starts. Can be canceled.",
15286
+ "name": "willClose",
15287
+ "type": {
15288
+ "text": "CustomEvent<void>"
15289
+ },
15290
+ "inheritedFrom": {
15291
+ "name": "SbbOpenCloseBaseElement",
15292
+ "module": "core/base-elements.js"
15293
+ }
15294
+ },
15295
+ {
15296
+ "description": "Emits when the closing animation ends.",
15297
+ "name": "didClose",
15298
+ "type": {
15299
+ "text": "CustomEvent<void>"
15300
+ },
15301
+ "inheritedFrom": {
15302
+ "name": "SbbOpenCloseBaseElement",
15303
+ "module": "core/base-elements.js"
15304
+ }
15180
15305
  },
15181
15306
  {
15182
15307
  "type": {
@@ -15278,9 +15403,9 @@
15278
15403
  {
15279
15404
  "name": "animation",
15280
15405
  "type": {
15281
- "text": "'open' | 'none'"
15406
+ "text": "'open' | 'close' | 'all' | 'none'"
15282
15407
  },
15283
- "default": "'open'",
15408
+ "default": "'all'",
15284
15409
  "description": "The enabled animations.",
15285
15410
  "fieldName": "animation"
15286
15411
  }
@@ -15292,8 +15417,8 @@
15292
15417
  }
15293
15418
  ],
15294
15419
  "superclass": {
15295
- "name": "LitElement",
15296
- "package": "lit"
15420
+ "name": "SbbOpenCloseBaseElement",
15421
+ "module": "core/base-elements.js"
15297
15422
  },
15298
15423
  "tagName": "sbb-alert",
15299
15424
  "customElement": true
@@ -33959,6 +34084,33 @@
33959
34084
  }
33960
34085
  ]
33961
34086
  },
34087
+ {
34088
+ "kind": "function",
34089
+ "name": "waitForEvent",
34090
+ "return": {
34091
+ "type": {
34092
+ "text": "Promise<void>"
34093
+ }
34094
+ },
34095
+ "parameters": [
34096
+ {
34097
+ "name": "element",
34098
+ "type": {
34099
+ "text": "HTMLElement"
34100
+ }
34101
+ },
34102
+ {
34103
+ "name": "eventName",
34104
+ "type": {
34105
+ "text": "string"
34106
+ }
34107
+ },
34108
+ {
34109
+ "name": "timeout",
34110
+ "default": "1000"
34111
+ }
34112
+ ]
34113
+ },
33962
34114
  {
33963
34115
  "kind": "function",
33964
34116
  "name": "waitForImageReady",
@@ -34063,6 +34215,14 @@
34063
34215
  "module": "core/testing.js"
34064
34216
  }
34065
34217
  },
34218
+ {
34219
+ "kind": "js",
34220
+ "name": "waitForEvent",
34221
+ "declaration": {
34222
+ "name": "waitForEvent",
34223
+ "module": "core/testing.js"
34224
+ }
34225
+ },
34066
34226
  {
34067
34227
  "kind": "js",
34068
34228
  "name": "waitForImageReady",
@@ -1,16 +1,18 @@
1
- import { CSSResultGroup, LitElement, PropertyValues, TemplateResult } from 'lit';
2
- import { LinkTargetType } from '../../core/base-elements.js';
1
+ import { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';
2
+ import { LinkTargetType, SbbOpenCloseBaseElement } from '../../core/base-elements.js';
3
3
  import { SbbTitleLevel } from '../../title.js';
4
4
 
5
- declare const SbbAlertElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../icon.js').SbbIconNameMixinType> & typeof LitElement;
5
+ declare const SbbAlertElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../icon.js').SbbIconNameMixinType> & typeof SbbOpenCloseBaseElement;
6
6
  /**
7
7
  * It displays messages which require user's attention.
8
8
  *
9
9
  * @slot - Use the unnamed slot to add content to the `sbb-alert`.
10
10
  * @slot icon - Should be a `sbb-icon` which is displayed next to the title. Styling is optimized for icons of type HIM-CUS.
11
11
  * @slot title - Title content.
12
- * @event {CustomEvent<void>} willOpen - Emits when the fade in animation starts.
13
- * @event {CustomEvent<void>} didOpen - Emits when the fade in animation ends and the button is displayed.
12
+ * @event {CustomEvent<void>} willOpen - Emits when the opening animation starts.
13
+ * @event {CustomEvent<void>} didOpen - Emits when the opening animation ends.
14
+ * @event {CustomEvent<void>} willClose - Emits when the closing animation starts. Can be canceled.
15
+ * @event {CustomEvent<void>} didClose - Emits when the closing animation ends.
14
16
  * @event {CustomEvent<void>} dismissalRequested - Emits when dismissal of an alert was requested.
15
17
  */
16
18
  export declare class SbbAlertElement extends SbbAlertElement_base {
@@ -18,6 +20,8 @@ export declare class SbbAlertElement extends SbbAlertElement_base {
18
20
  static readonly events: {
19
21
  readonly willOpen: "willOpen";
20
22
  readonly didOpen: "didOpen";
23
+ readonly willClose: "willClose";
24
+ readonly didClose: "didClose";
21
25
  readonly dismissalRequested: "dismissalRequested";
22
26
  };
23
27
  /**
@@ -48,23 +52,25 @@ export declare class SbbAlertElement extends SbbAlertElement_base {
48
52
  /** This will be forwarded as aria-label to the relevant nested element. */
49
53
  accessibilityLabel: string | undefined;
50
54
  /** The enabled animations. */
51
- animation: 'open' | 'none';
52
- /** The state of the alert. */
53
- private get _state();
54
- private set _state(value);
55
- /** Emits when the fade in animation starts. */
56
- private _willOpen;
57
- /** Emits when the fade in animation ends and the button is displayed. */
58
- private _didOpen;
59
- /** Emits when dismissal of an alert was requested. */
55
+ animation: 'open' | 'close' | 'all' | 'none';
56
+ /**
57
+ * Emits when dismissal of an alert was requested.
58
+ * @deprecated
59
+ */
60
60
  private _dismissalRequested;
61
61
  private _language;
62
62
  protected firstUpdated(changedProperties: PropertyValues<this>): Promise<void>;
63
- /** Requests dismissal of the alert. */
63
+ /** Requests dismissal of the alert.
64
+ * @deprecated in favour of 'willClose' and 'didClose' events
65
+ */
64
66
  requestDismissal(): void;
65
67
  /** Open the alert. */
66
- private _open;
68
+ open(): void;
69
+ /** Close the alert. */
70
+ close(): void;
67
71
  private _onAnimationEnd;
72
+ private _handleOpening;
73
+ private _handleClosing;
68
74
  protected render(): TemplateResult;
69
75
  }
70
76
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["../../../../../src/elements/alert/alert/alert.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAGb,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAMlE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAIpD,OAAO,oCAAoC,CAAC;AAC5C,OAAO,kBAAkB,CAAC;AAC1B,OAAO,eAAe,CAAC;AACvB,OAAO,gBAAgB,CAAC;;AAIxB;;;;;;;;;GASG;AACH,qBACa,eAAgB,SAAQ,oBAA4B;IAC/D,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;;;MAIlB;IAEX;;;OAGG;IACgD,QAAQ,UAAS;IAEpE,mDAAmD;IACf,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAO;IAEhE;;;;OAIG;IACmD,QAAQ,EAAE,MAAM,CAAU;IAEhF,wBAAwB;IACyB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEvE,sFAAsF;IACvC,UAAU,EAAE,aAAa,CAAO;IAE/E,2BAA2B;IACqB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErE,0CAA0C;IACvB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAE5C,uCAAuC;IACpB,MAAM,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAAC;IAE/D,wEAAwE;IACrD,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IAE3C,2EAA2E;IACpB,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IAE9F,8BAA8B;IACM,SAAS,EAAE,MAAM,GAAG,MAAM,CAAU;IAExE,8BAA8B;IAC9B,OAAO,KAAK,MAAM,GAEjB;IACD,OAAO,KAAK,MAAM,QAEjB;IAED,+CAA+C;IAC/C,OAAO,CAAC,SAAS,CAA+E;IAEhG,yEAAyE;IACzE,OAAO,CAAC,QAAQ,CAA8E;IAE9F,sDAAsD;IACtD,OAAO,CAAC,mBAAmB,CAGzB;IAEF,OAAO,CAAC,SAAS,CAAmC;cAE3B,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAM7F,uCAAuC;IAChC,gBAAgB,IAAI,IAAI;IAI/B,sBAAsB;IACtB,OAAO,CAAC,KAAK;IAKb,OAAO,CAAC,eAAe;cAOJ,MAAM,IAAI,cAAc;CAqD5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,WAAW,EAAE,eAAe,CAAC;KAC9B;CACF"}
1
+ {"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["../../../../../src/elements/alert/alert/alert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAiB,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAGnG,OAAO,EAAE,KAAK,cAAc,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAK3F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAIpD,OAAO,oCAAoC,CAAC;AAC5C,OAAO,kBAAkB,CAAC;AAC1B,OAAO,eAAe,CAAC;AACvB,OAAO,gBAAgB,CAAC;;AAExB;;;;;;;;;;;GAWG;AACH,qBACa,eAAgB,SAAQ,oBAAyC;IAC5E,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAgC,MAAM;;;;;;MAM3B;IAEX;;;OAGG;IACgD,QAAQ,UAAS;IAEpE,mDAAmD;IACf,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAO;IAEhE;;;;OAIG;IACmD,QAAQ,EAAE,MAAM,CAAU;IAEhF,wBAAwB;IACyB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEvE,sFAAsF;IACvC,UAAU,EAAE,aAAa,CAAO;IAE/E,2BAA2B;IACqB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErE,0CAA0C;IACvB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAE5C,uCAAuC;IACpB,MAAM,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAAC;IAE/D,wEAAwE;IACrD,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IAE3C,2EAA2E;IACpB,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IAE9F,8BAA8B;IACM,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAS;IAEzF;;;OAGG;IACH,OAAO,CAAC,mBAAmB,CAGzB;IAEF,OAAO,CAAC,SAAS,CAAmC;cAE3B,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAM7F;;OAEG;IACI,gBAAgB,IAAI,IAAI;IAI/B,sBAAsB;IACf,IAAI,IAAI,IAAI;IAKnB,uBAAuB;IAChB,KAAK,IAAI,IAAI;IAMpB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,cAAc;cAMH,MAAM,IAAI,cAAc;CAqD5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,WAAW,EAAE,eAAe,CAAC;KAC9B;CACF"}
@@ -34,8 +34,8 @@ export declare class SbbAlertGroupElement extends SbbAlertGroupElement_base {
34
34
  /** Emits when `sbb-alert-group` becomes empty. */
35
35
  private _empty;
36
36
  private _abort;
37
- private _removeAlert;
38
37
  connectedCallback(): void;
38
+ private _alertClosed;
39
39
  private _slotChanged;
40
40
  protected render(): TemplateResult;
41
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"alert-group.d.ts","sourceRoot":"","sources":["../../../../../src/elements/alert/alert-group/alert-group.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAW,MAAM,KAAK,CAAC;AAO1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;;AAKpD;;;;;;;GAOG;AACH,qBACa,oBAAqB,SAAQ,yBAA6B;IACrE,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;;MAGlB;IAEX;;;;;OAKG;IAEa,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAY;IAE7D,gFAAgF;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAEnF,wGAAwG;IAEjG,uBAAuB,EAAE,aAAa,CAAO;IAEpD,kDAAkD;IACzC,OAAO,CAAC,UAAU,CAAC,CAAU;IAEtC,gDAAgD;IAChD,OAAO,CAAC,gBAAgB,CAGtB;IAEF,kDAAkD;IAClD,OAAO,CAAC,MAAM,CAAiF;IAE/F,OAAO,CAAC,MAAM,CAAyC;IAEvD,OAAO,CAAC,YAAY;IAoBJ,iBAAiB,IAAI,IAAI;IAQzC,OAAO,CAAC,YAAY;cAaD,MAAM,IAAI,cAAc;CAe5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,iBAAiB,EAAE,oBAAoB,CAAC;KACzC;CACF"}
1
+ {"version":3,"file":"alert-group.d.ts","sourceRoot":"","sources":["../../../../../src/elements/alert/alert-group/alert-group.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAW,MAAM,KAAK,CAAC;AAO1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;;AAKpD;;;;;;;GAOG;AACH,qBACa,oBAAqB,SAAQ,yBAA6B;IACrE,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;;MAGlB;IAEX;;;;;OAKG;IAEa,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAY;IAE7D,gFAAgF;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAEnF,wGAAwG;IAEjG,uBAAuB,EAAE,aAAa,CAAO;IAEpD,kDAAkD;IACzC,OAAO,CAAC,UAAU,CAAC,CAAU;IAEtC,gDAAgD;IAChD,OAAO,CAAC,gBAAgB,CAGtB;IAEF,kDAAkD;IAClD,OAAO,CAAC,MAAM,CAAiF;IAE/F,OAAO,CAAC,MAAM,CAAyC;IAEvC,iBAAiB,IAAI,IAAI;IAezC,OAAO,CAAC,YAAY;IAkBpB,OAAO,CAAC,YAAY;cAaD,MAAM,IAAI,cAAc;CAe5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,iBAAiB,EAAE,oBAAoB,CAAC;KACzC;CACF"}
@@ -82,11 +82,23 @@ let SbbAlertGroupElement = class extends SbbHydrationMixin(LitElement) {
82
82
  this._empty = new EventEmitter(this, SbbAlertGroupElement.events.empty);
83
83
  this._abort = new SbbConnectedAbortController(this);
84
84
  }
85
- _removeAlert(event) {
86
- var _a;
85
+ connectedCallback() {
86
+ super.connectedCallback();
87
+ const signal = this._abort.signal;
88
+ this.addEventListener(
89
+ SbbAlertElement.events.dismissalRequested,
90
+ (e) => e.target.close(),
91
+ {
92
+ signal
93
+ }
94
+ );
95
+ this.addEventListener(SbbAlertElement.events.didClose, (e) => this._alertClosed(e), {
96
+ signal
97
+ });
98
+ }
99
+ _alertClosed(event) {
87
100
  const target = event.target;
88
101
  const hasFocusInsideAlertGroup = document.activeElement === target;
89
- (_a = target.parentNode) == null ? void 0 : _a.removeChild(target);
90
102
  this._didDismissAlert.emit(target);
91
103
  if (hasFocusInsideAlertGroup) {
92
104
  this.tabIndex = 0;
@@ -96,13 +108,6 @@ let SbbAlertGroupElement = class extends SbbHydrationMixin(LitElement) {
96
108
  });
97
109
  }
98
110
  }
99
- connectedCallback() {
100
- super.connectedCallback();
101
- const signal = this._abort.signal;
102
- this.addEventListener(SbbAlertElement.events.dismissalRequested, (e) => this._removeAlert(e), {
103
- signal
104
- });
105
- }
106
111
  _slotChanged(event) {
107
112
  const hadAlerts = this._hasAlerts;
108
113
  this._hasAlerts = event.target.assignedElements().filter((e) => e instanceof Element && e.localName === "sbb-alert").length > 0;
@@ -146,4 +151,4 @@ SbbAlertGroupElement = __decorateClass([
146
151
  export {
147
152
  SbbAlertGroupElement
148
153
  };
149
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtZ3JvdXAuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9hbGVydC9hbGVydC1ncm91cC9hbGVydC1ncm91cC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBMaXRFbGVtZW50LCBub3RoaW5nIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGh0bWwsIHVuc2FmZVN0YXRpYyB9IGZyb20gJ2xpdC9zdGF0aWMtaHRtbC5qcyc7XG5cbmltcG9ydCB7IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnLi4vLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQgeyBTYmJIeWRyYXRpb25NaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiVGl0bGVMZXZlbCB9IGZyb20gJy4uLy4uL3RpdGxlLmpzJztcbmltcG9ydCB7IFNiYkFsZXJ0RWxlbWVudCB9IGZyb20gJy4uL2FsZXJ0LmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vYWxlcnQtZ3JvdXAuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBJdCBjYW4gYmUgdXNlZCBhcyBhIGNvbnRhaW5lciBmb3Igb25lIG9yIG1vcmUgYHNiYi1hbGVydGAgY29tcG9uZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGBzYmItYWxlcnRgIGVsZW1lbnRzIHRvIHRoZSBgc2JiLWFsZXJ0LWdyb3VwYC5cbiAqIEBzbG90IGFjY2Vzc2liaWxpdHktdGl0bGUgLSB0aXRsZSBmb3IgdGhpcyBgc2JiLWFsZXJ0LWdyb3VwYCB3aGljaCBpcyBvbmx5IHZpc2libGUgZm9yIHNjcmVlbiByZWFkZXIgdXNlcnMuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PFNiYkFsZXJ0RWxlbWVudD59IGRpZERpc21pc3NBbGVydCAtIEVtaXRzIHdoZW4gYW4gYWxlcnQgd2FzIHJlbW92ZWQgZnJvbSBET00uXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSBlbXB0eSAtIEVtaXRzIHdoZW4gYHNiYi1hbGVydC1ncm91cGAgYmVjb21lcyBlbXB0eS5cbiAqL1xuQGN1c3RvbUVsZW1lbnQoJ3NiYi1hbGVydC1ncm91cCcpXG5leHBvcnQgY2xhc3MgU2JiQWxlcnRHcm91cEVsZW1lbnQgZXh0ZW5kcyBTYmJIeWRyYXRpb25NaXhpbihMaXRFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBkaWREaXNtaXNzQWxlcnQ6ICdkaWREaXNtaXNzQWxlcnQnLFxuICAgIGVtcHR5OiAnZW1wdHknLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKlxuICAgKiBUaGUgcm9sZSBhdHRyaWJ1dGUgZGVmaW5lcyBob3cgdG8gYW5ub3VuY2UgYWxlcnRzIHRvIHRoZSB1c2VyLlxuICAgKlxuICAgKiAnc3RhdHVzJzogc2V0cyBhcmlhLWxpdmUgdG8gcG9saXRlIGFuZCBhcmlhLWF0b21pYyB0byB0cnVlLlxuICAgKiAnYWxlcnQnOiBzZXRzIGFyaWEtbGl2ZSB0byBhc3NlcnRpdmUgYW5kIGFyaWEtYXRvbWljIHRvIHRydWUuXG4gICAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSByb2xlOiAnYWxlcnQnIHwgJ3N0YXR1cycgfCBzdHJpbmcgPSAnc3RhdHVzJztcblxuICAvKiogVGl0bGUgZm9yIHRoaXMgYWxlcnQgZ3JvdXAgd2hpY2ggaXMgb25seSB2aXNpYmxlIGZvciBzY3JlZW4gcmVhZGVyIHVzZXJzLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhY2Nlc3NpYmlsaXR5LXRpdGxlJyB9KSBwdWJsaWMgYWNjZXNzaWJpbGl0eVRpdGxlPzogc3RyaW5nO1xuXG4gIC8qKiBMZXZlbCBvZiB0aGUgYWNjZXNzaWJpbGl0eSB0aXRsZSwgd2lsbCBiZSByZW5kZXJlZCBhcyBoZWFkaW5nIHRhZyAoZS5nLiBoMikuIERlZmF1bHRzIHRvIGxldmVsIDIuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktdGl0bGUtbGV2ZWwnIH0pXG4gIHB1YmxpYyBhY2Nlc3NpYmlsaXR5VGl0bGVMZXZlbDogU2JiVGl0bGVMZXZlbCA9ICcyJztcblxuICAvKiogV2hldGhlciB0aGUgZ3JvdXAgY3VycmVudGx5IGhhcyBhbnkgYWxlcnRzLiAqL1xuICBAc3RhdGUoKSBwcml2YXRlIF9oYXNBbGVydHM/OiBib29sZWFuO1xuXG4gIC8qKiBFbWl0cyB3aGVuIGFuIGFsZXJ0IHdhcyByZW1vdmVkIGZyb20gRE9NLiAqL1xuICBwcml2YXRlIF9kaWREaXNtaXNzQWxlcnQ6IEV2ZW50RW1pdHRlcjxTYmJBbGVydEVsZW1lbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcihcbiAgICB0aGlzLFxuICAgIFNiYkFsZXJ0R3JvdXBFbGVtZW50LmV2ZW50cy5kaWREaXNtaXNzQWxlcnQsXG4gICk7XG5cbiAgLyoqIEVtaXRzIHdoZW4gYHNiYi1hbGVydC1ncm91cGAgYmVjb21lcyBlbXB0eS4gKi9cbiAgcHJpdmF0ZSBfZW1wdHk6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIodGhpcywgU2JiQWxlcnRHcm91cEVsZW1lbnQuZXZlbnRzLmVtcHR5KTtcblxuICBwcml2YXRlIF9hYm9ydCA9IG5ldyBTYmJDb25uZWN0ZWRBYm9ydENvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHJpdmF0ZSBfcmVtb3ZlQWxlcnQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIFNiYkFsZXJ0RWxlbWVudDtcbiAgICBjb25zdCBoYXNGb2N1c0luc2lkZUFsZXJ0R3JvdXAgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSB0YXJnZXQ7XG5cbiAgICB0YXJnZXQucGFyZW50Tm9kZT8ucmVtb3ZlQ2hpbGQodGFyZ2V0KTtcbiAgICB0aGlzLl9kaWREaXNtaXNzQWxlcnQuZW1pdCh0YXJnZXQpO1xuXG4gICAgLy8gUmVzdG9yZSBmb2N1c1xuICAgIGlmIChoYXNGb2N1c0luc2lkZUFsZXJ0R3JvdXApIHtcbiAgICAgIC8vIFNldCB0YWJpbmRleCB0byAwIHRoZSBtYWtlIGl0IGZvY3VzYWJsZSBhbmQgYWZ0ZXJ3YXJkcyBmb2N1cyBpdC5cbiAgICAgIC8vIFRoaXMgaXMgZG9uZSB0byBub3QgY29tcGxldGVseSBsb3NlIGZvY3VzIGFmdGVyIHJlbW92YWwgb2YgYW4gYWxlcnQuXG4gICAgICAvLyBPbmNlIHRoZSBzYmItYWxlcnQtZ3JvdXAgd2FzIGJsdXJyZWQsIG1ha2UgdGhlIGFsZXJ0IGdyb3VwIG5vdCBmb2N1c2FibGUgYWdhaW4uXG4gICAgICB0aGlzLnRhYkluZGV4ID0gMDtcbiAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcignYmx1cicsICgpID0+IHRoaXMucmVtb3ZlQXR0cmlidXRlKCd0YWJpbmRleCcpLCB7XG4gICAgICAgIG9uY2U6IHRydWUsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICBjb25zdCBzaWduYWwgPSB0aGlzLl9hYm9ydC5zaWduYWw7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKFNiYkFsZXJ0RWxlbWVudC5ldmVudHMuZGlzbWlzc2FsUmVxdWVzdGVkLCAoZSkgPT4gdGhpcy5fcmVtb3ZlQWxlcnQoZSksIHtcbiAgICAgIHNpZ25hbCxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3Nsb3RDaGFuZ2VkKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGhhZEFsZXJ0cyA9IHRoaXMuX2hhc0FsZXJ0cztcbiAgICB0aGlzLl9oYXNBbGVydHMgPVxuICAgICAgKGV2ZW50LnRhcmdldCBhcyBIVE1MU2xvdEVsZW1lbnQpXG4gICAgICAgIC5hc3NpZ25lZEVsZW1lbnRzKClcbiAgICAgICAgLmZpbHRlcigoZSkgPT4gZSBpbnN0YW5jZW9mIEVsZW1lbnQgJiYgZS5sb2NhbE5hbWUgPT09ICdzYmItYWxlcnQnKS5sZW5ndGggPiAwO1xuICAgIGlmICghdGhpcy5faGFzQWxlcnRzICYmIGhhZEFsZXJ0cykge1xuICAgICAgdGhpcy5fZW1wdHkuZW1pdCgpO1xuICAgIH1cblxuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWVtcHR5JywgIXRoaXMuX2hhc0FsZXJ0cyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBjb25zdCBUSVRMRV9UQUdfTkFNRSA9IGBoJHt0aGlzLmFjY2Vzc2liaWxpdHlUaXRsZUxldmVsfWA7XG5cbiAgICAvKiBlc2xpbnQtZGlzYWJsZSBsaXQvYmluZGluZy1wb3NpdGlvbnMgKi9cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItYWxlcnQtZ3JvdXBcIj5cbiAgICAgICAgJHt0aGlzLl9oYXNBbGVydHNcbiAgICAgICAgICA/IGh0bWxgPCR7dW5zYWZlU3RhdGljKFRJVExFX1RBR19OQU1FKX0gY2xhc3M9XCJzYmItYWxlcnQtZ3JvdXBfX3RpdGxlXCI+XG4gICAgICAgICAgICAgIDxzbG90IG5hbWU9XCJhY2Nlc3NpYmlsaXR5LXRpdGxlXCI+JHt0aGlzLmFjY2Vzc2liaWxpdHlUaXRsZX08L3Nsb3Q+XG4gICAgICAgICAgICA8LyR7dW5zYWZlU3RhdGljKFRJVExFX1RBR19OQU1FKX0+YFxuICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHsoZXZlbnQ6IEV2ZW50KSA9PiB0aGlzLl9zbG90Q2hhbmdlZChldmVudCl9Pjwvc2xvdD5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1hbGVydC1ncm91cCc6IFNiYkFsZXJ0R3JvdXBFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBc0JPLElBQU0sdUJBQU4sY0FBbUMsa0JBQWtCLFVBQVUsRUFBRTtBQUFBLEVBQWpFLGNBQUE7QUFBQSxVQUFBLEdBQUEsU0FBQTtBQWNMLFNBQWdCLE9BQW9DO0FBT3BELFNBQU8sMEJBQXlDO0FBTWhELFNBQVEsbUJBQWtELElBQUk7QUFBQSxNQUM1RDtBQUFBLE1BQ0EscUJBQXFCLE9BQU87QUFBQSxJQUFBO0FBSTlCLFNBQVEsU0FBNkIsSUFBSSxhQUFhLE1BQU0scUJBQXFCLE9BQU8sS0FBSztBQUVyRixTQUFBLFNBQVMsSUFBSSw0QkFBNEIsSUFBSTtBQUFBLEVBQUE7QUFBQSxFQUU3QyxhQUFhLE9BQW9COztBQUN2QyxVQUFNLFNBQVMsTUFBTTtBQUNmLFVBQUEsMkJBQTJCLFNBQVMsa0JBQWtCO0FBRXJELGlCQUFBLGVBQUEsbUJBQVksWUFBWTtBQUMxQixTQUFBLGlCQUFpQixLQUFLLE1BQU07QUFHakMsUUFBSSwwQkFBMEI7QUFJNUIsV0FBSyxXQUFXO0FBQ2hCLFdBQUssTUFBTTtBQUNYLFdBQUssaUJBQWlCLFFBQVEsTUFBTSxLQUFLLGdCQUFnQixVQUFVLEdBQUc7QUFBQSxRQUNwRSxNQUFNO0FBQUEsTUFBQSxDQUNQO0FBQUEsSUFDSDtBQUFBLEVBQ0Y7QUFBQSxFQUVnQixvQkFBMEI7QUFDeEMsVUFBTSxrQkFBa0I7QUFDbEIsVUFBQSxTQUFTLEtBQUssT0FBTztBQUN0QixTQUFBLGlCQUFpQixnQkFBZ0IsT0FBTyxvQkFBb0IsQ0FBQyxNQUFNLEtBQUssYUFBYSxDQUFDLEdBQUc7QUFBQSxNQUM1RjtBQUFBLElBQUEsQ0FDRDtBQUFBLEVBQ0g7QUFBQSxFQUVRLGFBQWEsT0FBb0I7QUFDdkMsVUFBTSxZQUFZLEtBQUs7QUFDdkIsU0FBSyxhQUNGLE1BQU0sT0FDSixpQkFBQSxFQUNBLE9BQU8sQ0FBQyxNQUFNLGFBQWEsV0FBVyxFQUFFLGNBQWMsV0FBVyxFQUFFLFNBQVM7QUFDN0UsUUFBQSxDQUFDLEtBQUssY0FBYyxXQUFXO0FBQ2pDLFdBQUssT0FBTztJQUNkO0FBRUEsU0FBSyxnQkFBZ0IsY0FBYyxDQUFDLEtBQUssVUFBVTtBQUFBLEVBQ3JEO0FBQUEsRUFFbUIsU0FBeUI7QUFDcEMsVUFBQSxpQkFBaUIsSUFBSSxLQUFLLHVCQUF1QjtBQUdoRCxXQUFBO0FBQUE7QUFBQSxVQUVELEtBQUssYUFDSCxRQUFRLGFBQWEsY0FBYyxDQUFDO0FBQUEsaURBQ0MsS0FBSyxrQkFBa0I7QUFBQSxnQkFDeEQsYUFBYSxjQUFjLENBQUMsTUFDaEMsT0FBTztBQUFBLDRCQUNTLENBQUMsVUFBaUIsS0FBSyxhQUFhLEtBQUssQ0FBQztBQUFBO0FBQUE7QUFBQSxFQUdwRTtBQUNGO0FBN0ZhLHFCQUNZLFNBQXlCO0FBRHJDLHFCQUVZLFNBQVM7QUFBQSxFQUM5QixpQkFBaUI7QUFBQSxFQUNqQixPQUFPO0FBQ1Q7QUFTZ0IsZ0JBQUE7QUFBQSxFQURmLFNBQVMsRUFBRSxTQUFTLE1BQU07QUFBQSxHQWJoQixxQkFjSyxXQUFBLFFBQUEsQ0FBQTtBQUd1QyxnQkFBQTtBQUFBLEVBQXRELFNBQVMsRUFBRSxXQUFXLHVCQUF1QjtBQUFBLEdBakJuQyxxQkFpQjRDLFdBQUEsc0JBQUEsQ0FBQTtBQUloRCxnQkFBQTtBQUFBLEVBRE4sU0FBUyxFQUFFLFdBQVcsNkJBQTZCO0FBQUEsR0FwQnpDLHFCQXFCSixXQUFBLDJCQUFBLENBQUE7QUFHVSxnQkFBQTtBQUFBLEVBQWhCLE1BQU07QUFBQSxHQXhCSSxxQkF3Qk0sV0FBQSxjQUFBLENBQUE7QUF4Qk4sdUJBQU4sZ0JBQUE7QUFBQSxFQUROLGNBQWMsaUJBQWlCO0FBQUEsR0FDbkIsb0JBQUE7In0=
154
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtZ3JvdXAuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9hbGVydC9hbGVydC1ncm91cC9hbGVydC1ncm91cC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBMaXRFbGVtZW50LCBub3RoaW5nIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGh0bWwsIHVuc2FmZVN0YXRpYyB9IGZyb20gJ2xpdC9zdGF0aWMtaHRtbC5qcyc7XG5cbmltcG9ydCB7IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnLi4vLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQgeyBTYmJIeWRyYXRpb25NaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiVGl0bGVMZXZlbCB9IGZyb20gJy4uLy4uL3RpdGxlLmpzJztcbmltcG9ydCB7IFNiYkFsZXJ0RWxlbWVudCB9IGZyb20gJy4uL2FsZXJ0LmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vYWxlcnQtZ3JvdXAuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBJdCBjYW4gYmUgdXNlZCBhcyBhIGNvbnRhaW5lciBmb3Igb25lIG9yIG1vcmUgYHNiYi1hbGVydGAgY29tcG9uZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGBzYmItYWxlcnRgIGVsZW1lbnRzIHRvIHRoZSBgc2JiLWFsZXJ0LWdyb3VwYC5cbiAqIEBzbG90IGFjY2Vzc2liaWxpdHktdGl0bGUgLSB0aXRsZSBmb3IgdGhpcyBgc2JiLWFsZXJ0LWdyb3VwYCB3aGljaCBpcyBvbmx5IHZpc2libGUgZm9yIHNjcmVlbiByZWFkZXIgdXNlcnMuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PFNiYkFsZXJ0RWxlbWVudD59IGRpZERpc21pc3NBbGVydCAtIEVtaXRzIHdoZW4gYW4gYWxlcnQgd2FzIHJlbW92ZWQgZnJvbSBET00uXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSBlbXB0eSAtIEVtaXRzIHdoZW4gYHNiYi1hbGVydC1ncm91cGAgYmVjb21lcyBlbXB0eS5cbiAqL1xuQGN1c3RvbUVsZW1lbnQoJ3NiYi1hbGVydC1ncm91cCcpXG5leHBvcnQgY2xhc3MgU2JiQWxlcnRHcm91cEVsZW1lbnQgZXh0ZW5kcyBTYmJIeWRyYXRpb25NaXhpbihMaXRFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBkaWREaXNtaXNzQWxlcnQ6ICdkaWREaXNtaXNzQWxlcnQnLFxuICAgIGVtcHR5OiAnZW1wdHknLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKlxuICAgKiBUaGUgcm9sZSBhdHRyaWJ1dGUgZGVmaW5lcyBob3cgdG8gYW5ub3VuY2UgYWxlcnRzIHRvIHRoZSB1c2VyLlxuICAgKlxuICAgKiAnc3RhdHVzJzogc2V0cyBhcmlhLWxpdmUgdG8gcG9saXRlIGFuZCBhcmlhLWF0b21pYyB0byB0cnVlLlxuICAgKiAnYWxlcnQnOiBzZXRzIGFyaWEtbGl2ZSB0byBhc3NlcnRpdmUgYW5kIGFyaWEtYXRvbWljIHRvIHRydWUuXG4gICAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSByb2xlOiAnYWxlcnQnIHwgJ3N0YXR1cycgfCBzdHJpbmcgPSAnc3RhdHVzJztcblxuICAvKiogVGl0bGUgZm9yIHRoaXMgYWxlcnQgZ3JvdXAgd2hpY2ggaXMgb25seSB2aXNpYmxlIGZvciBzY3JlZW4gcmVhZGVyIHVzZXJzLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhY2Nlc3NpYmlsaXR5LXRpdGxlJyB9KSBwdWJsaWMgYWNjZXNzaWJpbGl0eVRpdGxlPzogc3RyaW5nO1xuXG4gIC8qKiBMZXZlbCBvZiB0aGUgYWNjZXNzaWJpbGl0eSB0aXRsZSwgd2lsbCBiZSByZW5kZXJlZCBhcyBoZWFkaW5nIHRhZyAoZS5nLiBoMikuIERlZmF1bHRzIHRvIGxldmVsIDIuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktdGl0bGUtbGV2ZWwnIH0pXG4gIHB1YmxpYyBhY2Nlc3NpYmlsaXR5VGl0bGVMZXZlbDogU2JiVGl0bGVMZXZlbCA9ICcyJztcblxuICAvKiogV2hldGhlciB0aGUgZ3JvdXAgY3VycmVudGx5IGhhcyBhbnkgYWxlcnRzLiAqL1xuICBAc3RhdGUoKSBwcml2YXRlIF9oYXNBbGVydHM/OiBib29sZWFuO1xuXG4gIC8qKiBFbWl0cyB3aGVuIGFuIGFsZXJ0IHdhcyByZW1vdmVkIGZyb20gRE9NLiAqL1xuICBwcml2YXRlIF9kaWREaXNtaXNzQWxlcnQ6IEV2ZW50RW1pdHRlcjxTYmJBbGVydEVsZW1lbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcihcbiAgICB0aGlzLFxuICAgIFNiYkFsZXJ0R3JvdXBFbGVtZW50LmV2ZW50cy5kaWREaXNtaXNzQWxlcnQsXG4gICk7XG5cbiAgLyoqIEVtaXRzIHdoZW4gYHNiYi1hbGVydC1ncm91cGAgYmVjb21lcyBlbXB0eS4gKi9cbiAgcHJpdmF0ZSBfZW1wdHk6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIodGhpcywgU2JiQWxlcnRHcm91cEVsZW1lbnQuZXZlbnRzLmVtcHR5KTtcblxuICBwcml2YXRlIF9hYm9ydCA9IG5ldyBTYmJDb25uZWN0ZWRBYm9ydENvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgY29uc3Qgc2lnbmFsID0gdGhpcy5fYWJvcnQuc2lnbmFsO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgIFNiYkFsZXJ0RWxlbWVudC5ldmVudHMuZGlzbWlzc2FsUmVxdWVzdGVkLFxuICAgICAgKGUpID0+IChlLnRhcmdldCBhcyBTYmJBbGVydEVsZW1lbnQpLmNsb3NlKCksXG4gICAgICB7XG4gICAgICAgIHNpZ25hbCxcbiAgICAgIH0sXG4gICAgKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoU2JiQWxlcnRFbGVtZW50LmV2ZW50cy5kaWRDbG9zZSwgKGUpID0+IHRoaXMuX2FsZXJ0Q2xvc2VkKGUpLCB7XG4gICAgICBzaWduYWwsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9hbGVydENsb3NlZChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgU2JiQWxlcnRFbGVtZW50O1xuICAgIGNvbnN0IGhhc0ZvY3VzSW5zaWRlQWxlcnRHcm91cCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IHRhcmdldDtcbiAgICB0aGlzLl9kaWREaXNtaXNzQWxlcnQuZW1pdCh0YXJnZXQpO1xuXG4gICAgLy8gUmVzdG9yZSBmb2N1c1xuICAgIGlmIChoYXNGb2N1c0luc2lkZUFsZXJ0R3JvdXApIHtcbiAgICAgIC8vIFNldCB0YWJpbmRleCB0byAwIHRoZSBtYWtlIGl0IGZvY3VzYWJsZSBhbmQgYWZ0ZXJ3YXJkcyBmb2N1cyBpdC5cbiAgICAgIC8vIFRoaXMgaXMgZG9uZSB0byBub3QgY29tcGxldGVseSBsb3NlIGZvY3VzIGFmdGVyIHJlbW92YWwgb2YgYW4gYWxlcnQuXG4gICAgICAvLyBPbmNlIHRoZSBzYmItYWxlcnQtZ3JvdXAgd2FzIGJsdXJyZWQsIG1ha2UgdGhlIGFsZXJ0IGdyb3VwIG5vdCBmb2N1c2FibGUgYWdhaW4uXG4gICAgICB0aGlzLnRhYkluZGV4ID0gMDtcbiAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcignYmx1cicsICgpID0+IHRoaXMucmVtb3ZlQXR0cmlidXRlKCd0YWJpbmRleCcpLCB7XG4gICAgICAgIG9uY2U6IHRydWUsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zbG90Q2hhbmdlZChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBoYWRBbGVydHMgPSB0aGlzLl9oYXNBbGVydHM7XG4gICAgdGhpcy5faGFzQWxlcnRzID1cbiAgICAgIChldmVudC50YXJnZXQgYXMgSFRNTFNsb3RFbGVtZW50KVxuICAgICAgICAuYXNzaWduZWRFbGVtZW50cygpXG4gICAgICAgIC5maWx0ZXIoKGUpID0+IGUgaW5zdGFuY2VvZiBFbGVtZW50ICYmIGUubG9jYWxOYW1lID09PSAnc2JiLWFsZXJ0JykubGVuZ3RoID4gMDtcbiAgICBpZiAoIXRoaXMuX2hhc0FsZXJ0cyAmJiBoYWRBbGVydHMpIHtcbiAgICAgIHRoaXMuX2VtcHR5LmVtaXQoKTtcbiAgICB9XG5cbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1lbXB0eScsICF0aGlzLl9oYXNBbGVydHMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3QgVElUTEVfVEFHX05BTUUgPSBgaCR7dGhpcy5hY2Nlc3NpYmlsaXR5VGl0bGVMZXZlbH1gO1xuXG4gICAgLyogZXNsaW50LWRpc2FibGUgbGl0L2JpbmRpbmctcG9zaXRpb25zICovXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWFsZXJ0LWdyb3VwXCI+XG4gICAgICAgICR7dGhpcy5faGFzQWxlcnRzXG4gICAgICAgICAgPyBodG1sYDwke3Vuc2FmZVN0YXRpYyhUSVRMRV9UQUdfTkFNRSl9IGNsYXNzPVwic2JiLWFsZXJ0LWdyb3VwX190aXRsZVwiPlxuICAgICAgICAgICAgICA8c2xvdCBuYW1lPVwiYWNjZXNzaWJpbGl0eS10aXRsZVwiPiR7dGhpcy5hY2Nlc3NpYmlsaXR5VGl0bGV9PC9zbG90PlxuICAgICAgICAgICAgPC8ke3Vuc2FmZVN0YXRpYyhUSVRMRV9UQUdfTkFNRSl9PmBcbiAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgIDxzbG90IEBzbG90Y2hhbmdlPSR7KGV2ZW50OiBFdmVudCkgPT4gdGhpcy5fc2xvdENoYW5nZWQoZXZlbnQpfT48L3Nsb3Q+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItYWxlcnQtZ3JvdXAnOiBTYmJBbGVydEdyb3VwRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXNCTyxJQUFNLHVCQUFOLGNBQW1DLGtCQUFrQixVQUFVLEVBQUU7QUFBQSxFQUFqRSxjQUFBO0FBQUEsVUFBQSxHQUFBLFNBQUE7QUFjTCxTQUFnQixPQUFvQztBQU9wRCxTQUFPLDBCQUF5QztBQU1oRCxTQUFRLG1CQUFrRCxJQUFJO0FBQUEsTUFDNUQ7QUFBQSxNQUNBLHFCQUFxQixPQUFPO0FBQUEsSUFBQTtBQUk5QixTQUFRLFNBQTZCLElBQUksYUFBYSxNQUFNLHFCQUFxQixPQUFPLEtBQUs7QUFFckYsU0FBQSxTQUFTLElBQUksNEJBQTRCLElBQUk7QUFBQSxFQUFBO0FBQUEsRUFFckMsb0JBQTBCO0FBQ3hDLFVBQU0sa0JBQWtCO0FBQ2xCLFVBQUEsU0FBUyxLQUFLLE9BQU87QUFDdEIsU0FBQTtBQUFBLE1BQ0gsZ0JBQWdCLE9BQU87QUFBQSxNQUN2QixDQUFDLE1BQU8sRUFBRSxPQUEyQixNQUFNO0FBQUEsTUFDM0M7QUFBQSxRQUNFO0FBQUEsTUFDRjtBQUFBLElBQUE7QUFFRyxTQUFBLGlCQUFpQixnQkFBZ0IsT0FBTyxVQUFVLENBQUMsTUFBTSxLQUFLLGFBQWEsQ0FBQyxHQUFHO0FBQUEsTUFDbEY7QUFBQSxJQUFBLENBQ0Q7QUFBQSxFQUNIO0FBQUEsRUFFUSxhQUFhLE9BQW9CO0FBQ3ZDLFVBQU0sU0FBUyxNQUFNO0FBQ2YsVUFBQSwyQkFBMkIsU0FBUyxrQkFBa0I7QUFDdkQsU0FBQSxpQkFBaUIsS0FBSyxNQUFNO0FBR2pDLFFBQUksMEJBQTBCO0FBSTVCLFdBQUssV0FBVztBQUNoQixXQUFLLE1BQU07QUFDWCxXQUFLLGlCQUFpQixRQUFRLE1BQU0sS0FBSyxnQkFBZ0IsVUFBVSxHQUFHO0FBQUEsUUFDcEUsTUFBTTtBQUFBLE1BQUEsQ0FDUDtBQUFBLElBQ0g7QUFBQSxFQUNGO0FBQUEsRUFFUSxhQUFhLE9BQW9CO0FBQ3ZDLFVBQU0sWUFBWSxLQUFLO0FBQ3ZCLFNBQUssYUFDRixNQUFNLE9BQ0osaUJBQUEsRUFDQSxPQUFPLENBQUMsTUFBTSxhQUFhLFdBQVcsRUFBRSxjQUFjLFdBQVcsRUFBRSxTQUFTO0FBQzdFLFFBQUEsQ0FBQyxLQUFLLGNBQWMsV0FBVztBQUNqQyxXQUFLLE9BQU87SUFDZDtBQUVBLFNBQUssZ0JBQWdCLGNBQWMsQ0FBQyxLQUFLLFVBQVU7QUFBQSxFQUNyRDtBQUFBLEVBRW1CLFNBQXlCO0FBQ3BDLFVBQUEsaUJBQWlCLElBQUksS0FBSyx1QkFBdUI7QUFHaEQsV0FBQTtBQUFBO0FBQUEsVUFFRCxLQUFLLGFBQ0gsUUFBUSxhQUFhLGNBQWMsQ0FBQztBQUFBLGlEQUNDLEtBQUssa0JBQWtCO0FBQUEsZ0JBQ3hELGFBQWEsY0FBYyxDQUFDLE1BQ2hDLE9BQU87QUFBQSw0QkFDUyxDQUFDLFVBQWlCLEtBQUssYUFBYSxLQUFLLENBQUM7QUFBQTtBQUFBO0FBQUEsRUFHcEU7QUFDRjtBQWxHYSxxQkFDWSxTQUF5QjtBQURyQyxxQkFFWSxTQUFTO0FBQUEsRUFDOUIsaUJBQWlCO0FBQUEsRUFDakIsT0FBTztBQUNUO0FBU2dCLGdCQUFBO0FBQUEsRUFEZixTQUFTLEVBQUUsU0FBUyxNQUFNO0FBQUEsR0FiaEIscUJBY0ssV0FBQSxRQUFBLENBQUE7QUFHdUMsZ0JBQUE7QUFBQSxFQUF0RCxTQUFTLEVBQUUsV0FBVyx1QkFBdUI7QUFBQSxHQWpCbkMscUJBaUI0QyxXQUFBLHNCQUFBLENBQUE7QUFJaEQsZ0JBQUE7QUFBQSxFQUROLFNBQVMsRUFBRSxXQUFXLDZCQUE2QjtBQUFBLEdBcEJ6QyxxQkFxQkosV0FBQSwyQkFBQSxDQUFBO0FBR1UsZ0JBQUE7QUFBQSxFQUFoQixNQUFNO0FBQUEsR0F4QkkscUJBd0JNLFdBQUEsY0FBQSxDQUFBO0FBeEJOLHVCQUFOLGdCQUFBO0FBQUEsRUFETixjQUFjLGlCQUFpQjtBQUFBLEdBQ25CLG9CQUFBOyJ9