@sbb-esta/lyne-elements-dev 4.12.0-dev.1777358825 → 4.12.0-dev.1777455695

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.
@@ -31,10 +31,10 @@ function n(t, n, r, i) {
31
31
  vertical: "below"
32
32
  }, y = `${m - a}px`;
33
33
  i?.centered && u - 16 + c.width / 2 > l.offsetWidth / 2 && f - 16 > _ / 2 && (h -= _ /= 2, v.horizontal = "center"), f < _ && u > _ && (h -= _, v.horizontal = "end"), o && v.horizontal !== "center" && c.width / 2 < o && (h += o * (v.horizontal === "start" ? -1 : 1)), (u < _ && f < _ || document.documentElement.clientWidth < l.offsetWidth) && (h = document.documentElement.clientWidth / 2 - l.offsetWidth / 2);
34
- let b = m - a < l.scrollHeight && p - a > (s ? l.clientHeight : l.scrollHeight) || p > m && m - a < l.clientHeight && !s;
35
- !i?.forceBelow && (i?.forceAbove || b) && (g = p < l.scrollHeight ? g - c.height - p - a : d - l.clientHeight - a, y = `${p - a}px`, v.vertical = "above");
36
- let x = r.getBoundingClientRect();
37
- return x.left < 0 && (h -= x.left), x.top < 0 && (g -= x.top), {
34
+ let b = m - a >= l.scrollHeight, x = p - a >= (s ? l.clientHeight : l.scrollHeight), S = !b && (x || p > m);
35
+ !i?.forceBelow && (i?.forceAbove || S) && (g = p < l.scrollHeight ? g - c.height - p - a : d - l.clientHeight - a, y = `${p - a}px`, v.vertical = "above");
36
+ let C = r.getBoundingClientRect();
37
+ return C.left < 0 && (h -= C.left), C.top < 0 && (g -= C.top), {
38
38
  top: g,
39
39
  left: h,
40
40
  maxHeight: y,
@@ -94658,6 +94658,253 @@
94658
94658
  }
94659
94659
  ]
94660
94660
  },
94661
+ {
94662
+ "kind": "javascript-module",
94663
+ "path": "form-field/form-field-text-counter/form-field-text-counter.component.js",
94664
+ "declarations": [
94665
+ {
94666
+ "kind": "class",
94667
+ "description": "It displays the remaining characters count for input/textarea elements with a configured\nmaxlength property in the `sbb-form-field`.\nThe component automatically uses the form field's inputElement and displays the remaining character count.\nIf the input is disabled, readonly or an `sbb-error` is present, the output is suppressed.",
94668
+ "name": "SbbFormFieldTextCounterElement",
94669
+ "slots": [
94670
+ {
94671
+ "description": "Use the unnamed slot to display a custom description text after the counter.",
94672
+ "name": "",
94673
+ "inheritedFrom": {
94674
+ "name": "SbbHintElement",
94675
+ "module": "form-field/hint/hint.component.js"
94676
+ }
94677
+ }
94678
+ ],
94679
+ "members": [
94680
+ {
94681
+ "kind": "field",
94682
+ "name": "elementName",
94683
+ "type": {
94684
+ "text": "string"
94685
+ },
94686
+ "privacy": "public",
94687
+ "static": true,
94688
+ "readonly": true,
94689
+ "default": "'sbb-form-field-text-counter'",
94690
+ "inheritedFrom": {
94691
+ "name": "SbbElement",
94692
+ "module": "core/base-elements/element.js"
94693
+ }
94694
+ },
94695
+ {
94696
+ "kind": "field",
94697
+ "name": "_remainingCharacters",
94698
+ "type": {
94699
+ "text": "number"
94700
+ },
94701
+ "privacy": "private",
94702
+ "default": "0"
94703
+ },
94704
+ {
94705
+ "kind": "field",
94706
+ "name": "_language",
94707
+ "privacy": "private",
94708
+ "default": "new SbbLanguageController(this)"
94709
+ },
94710
+ {
94711
+ "kind": "field",
94712
+ "name": "_abortController",
94713
+ "type": {
94714
+ "text": "AbortController | null"
94715
+ },
94716
+ "privacy": "private",
94717
+ "default": "null"
94718
+ },
94719
+ {
94720
+ "kind": "method",
94721
+ "name": "_onInputUpdate",
94722
+ "privacy": "private",
94723
+ "return": {
94724
+ "type": {
94725
+ "text": "void"
94726
+ }
94727
+ }
94728
+ },
94729
+ {
94730
+ "kind": "method",
94731
+ "name": "_infoText",
94732
+ "privacy": "private",
94733
+ "return": {
94734
+ "type": {
94735
+ "text": "string"
94736
+ }
94737
+ }
94738
+ },
94739
+ {
94740
+ "kind": "field",
94741
+ "name": "negative",
94742
+ "type": {
94743
+ "text": "boolean"
94744
+ },
94745
+ "privacy": "public",
94746
+ "default": "false",
94747
+ "description": "Negative coloring variant flag.",
94748
+ "attribute": "negative",
94749
+ "reflects": true,
94750
+ "inheritedFrom": {
94751
+ "name": "SbbNegativeMixin",
94752
+ "module": "core/mixins/negative-mixin.js"
94753
+ }
94754
+ },
94755
+ {
94756
+ "kind": "field",
94757
+ "name": "formField",
94758
+ "type": {
94759
+ "text": "SbbFormFieldElement | null"
94760
+ },
94761
+ "privacy": "protected",
94762
+ "default": "null",
94763
+ "inheritedFrom": {
94764
+ "name": "SbbHintElement",
94765
+ "module": "form-field/hint/hint.component.js"
94766
+ }
94767
+ },
94768
+ {
94769
+ "kind": "field",
94770
+ "name": "_hydrationRequired",
94771
+ "type": {
94772
+ "text": "boolean"
94773
+ },
94774
+ "privacy": "private",
94775
+ "default": "!!this.shadowRoot",
94776
+ "inheritedFrom": {
94777
+ "name": "SbbElement",
94778
+ "module": "core/base-elements/element.js"
94779
+ }
94780
+ },
94781
+ {
94782
+ "kind": "field",
94783
+ "name": "_hydrationComplete",
94784
+ "privacy": "private",
94785
+ "default": "new Promise<boolean>( (resolve) => (this._resolveHydration = resolve), )",
94786
+ "inheritedFrom": {
94787
+ "name": "SbbElement",
94788
+ "module": "core/base-elements/element.js"
94789
+ }
94790
+ },
94791
+ {
94792
+ "kind": "field",
94793
+ "name": "_resolveHydration",
94794
+ "type": {
94795
+ "text": "(hydrationRequired: boolean) => void"
94796
+ },
94797
+ "privacy": "private",
94798
+ "inheritedFrom": {
94799
+ "name": "SbbElement",
94800
+ "module": "core/base-elements/element.js"
94801
+ }
94802
+ },
94803
+ {
94804
+ "kind": "field",
94805
+ "name": "hydrationRequired",
94806
+ "type": {
94807
+ "text": "boolean"
94808
+ },
94809
+ "privacy": "protected",
94810
+ "description": "Returns whether hydration is required and not completed.",
94811
+ "readonly": true,
94812
+ "inheritedFrom": {
94813
+ "name": "SbbElement",
94814
+ "module": "core/base-elements/element.js"
94815
+ },
94816
+ "default": "!!this.shadowRoot"
94817
+ },
94818
+ {
94819
+ "kind": "method",
94820
+ "name": "toggleState",
94821
+ "privacy": "protected",
94822
+ "return": {
94823
+ "type": {
94824
+ "text": "void"
94825
+ }
94826
+ },
94827
+ "parameters": [
94828
+ {
94829
+ "name": "value",
94830
+ "type": {
94831
+ "text": "string"
94832
+ }
94833
+ },
94834
+ {
94835
+ "name": "force",
94836
+ "optional": true,
94837
+ "type": {
94838
+ "text": "boolean"
94839
+ }
94840
+ }
94841
+ ],
94842
+ "inheritedFrom": {
94843
+ "name": "SbbElement",
94844
+ "module": "core/base-elements/element.js"
94845
+ }
94846
+ },
94847
+ {
94848
+ "kind": "field",
94849
+ "name": "['_$sbbElement$']",
94850
+ "type": {
94851
+ "text": "boolean"
94852
+ },
94853
+ "privacy": "public",
94854
+ "static": true,
94855
+ "default": "true",
94856
+ "inheritedFrom": {
94857
+ "name": "SbbElement",
94858
+ "module": "core/base-elements/element.js"
94859
+ }
94860
+ },
94861
+ {
94862
+ "kind": "field",
94863
+ "name": "_controllers",
94864
+ "type": {
94865
+ "text": "Set<SbbReactiveController> | undefined"
94866
+ },
94867
+ "privacy": "private",
94868
+ "inheritedFrom": {
94869
+ "name": "SbbElement",
94870
+ "module": "core/base-elements/element.js"
94871
+ }
94872
+ }
94873
+ ],
94874
+ "superclass": {
94875
+ "name": "SbbHintElement",
94876
+ "module": "form-field/hint/hint.component.js"
94877
+ },
94878
+ "tagName": "sbb-form-field-text-counter",
94879
+ "customElement": true,
94880
+ "attributes": [
94881
+ {
94882
+ "name": "negative",
94883
+ "type": {
94884
+ "text": "boolean"
94885
+ },
94886
+ "default": "false",
94887
+ "description": "Negative coloring variant flag.",
94888
+ "fieldName": "negative",
94889
+ "inheritedFrom": {
94890
+ "name": "SbbNegativeMixin",
94891
+ "module": "core/mixins/negative-mixin.js"
94892
+ }
94893
+ }
94894
+ ]
94895
+ }
94896
+ ],
94897
+ "exports": [
94898
+ {
94899
+ "kind": "js",
94900
+ "name": "SbbFormFieldTextCounterElement",
94901
+ "declaration": {
94902
+ "name": "SbbFormFieldTextCounterElement",
94903
+ "module": "form-field/form-field-text-counter/form-field-text-counter.component.js"
94904
+ }
94905
+ }
94906
+ ]
94907
+ },
94661
94908
  {
94662
94909
  "kind": "javascript-module",
94663
94910
  "path": "form-field/form-field-clear/form-field-clear.component.js",
@@ -95466,253 +95713,6 @@
95466
95713
  }
95467
95714
  ]
95468
95715
  },
95469
- {
95470
- "kind": "javascript-module",
95471
- "path": "form-field/form-field-text-counter/form-field-text-counter.component.js",
95472
- "declarations": [
95473
- {
95474
- "kind": "class",
95475
- "description": "It displays the remaining characters count for input/textarea elements with a configured\nmaxlength property in the `sbb-form-field`.\nThe component automatically uses the form field's inputElement and displays the remaining character count.\nIf the input is disabled, readonly or an `sbb-error` is present, the output is suppressed.",
95476
- "name": "SbbFormFieldTextCounterElement",
95477
- "slots": [
95478
- {
95479
- "description": "Use the unnamed slot to display a custom description text after the counter.",
95480
- "name": "",
95481
- "inheritedFrom": {
95482
- "name": "SbbHintElement",
95483
- "module": "form-field/hint/hint.component.js"
95484
- }
95485
- }
95486
- ],
95487
- "members": [
95488
- {
95489
- "kind": "field",
95490
- "name": "elementName",
95491
- "type": {
95492
- "text": "string"
95493
- },
95494
- "privacy": "public",
95495
- "static": true,
95496
- "readonly": true,
95497
- "default": "'sbb-form-field-text-counter'",
95498
- "inheritedFrom": {
95499
- "name": "SbbElement",
95500
- "module": "core/base-elements/element.js"
95501
- }
95502
- },
95503
- {
95504
- "kind": "field",
95505
- "name": "_remainingCharacters",
95506
- "type": {
95507
- "text": "number"
95508
- },
95509
- "privacy": "private",
95510
- "default": "0"
95511
- },
95512
- {
95513
- "kind": "field",
95514
- "name": "_language",
95515
- "privacy": "private",
95516
- "default": "new SbbLanguageController(this)"
95517
- },
95518
- {
95519
- "kind": "field",
95520
- "name": "_abortController",
95521
- "type": {
95522
- "text": "AbortController | null"
95523
- },
95524
- "privacy": "private",
95525
- "default": "null"
95526
- },
95527
- {
95528
- "kind": "method",
95529
- "name": "_onInputUpdate",
95530
- "privacy": "private",
95531
- "return": {
95532
- "type": {
95533
- "text": "void"
95534
- }
95535
- }
95536
- },
95537
- {
95538
- "kind": "method",
95539
- "name": "_infoText",
95540
- "privacy": "private",
95541
- "return": {
95542
- "type": {
95543
- "text": "string"
95544
- }
95545
- }
95546
- },
95547
- {
95548
- "kind": "field",
95549
- "name": "negative",
95550
- "type": {
95551
- "text": "boolean"
95552
- },
95553
- "privacy": "public",
95554
- "default": "false",
95555
- "description": "Negative coloring variant flag.",
95556
- "attribute": "negative",
95557
- "reflects": true,
95558
- "inheritedFrom": {
95559
- "name": "SbbNegativeMixin",
95560
- "module": "core/mixins/negative-mixin.js"
95561
- }
95562
- },
95563
- {
95564
- "kind": "field",
95565
- "name": "formField",
95566
- "type": {
95567
- "text": "SbbFormFieldElement | null"
95568
- },
95569
- "privacy": "protected",
95570
- "default": "null",
95571
- "inheritedFrom": {
95572
- "name": "SbbHintElement",
95573
- "module": "form-field/hint/hint.component.js"
95574
- }
95575
- },
95576
- {
95577
- "kind": "field",
95578
- "name": "_hydrationRequired",
95579
- "type": {
95580
- "text": "boolean"
95581
- },
95582
- "privacy": "private",
95583
- "default": "!!this.shadowRoot",
95584
- "inheritedFrom": {
95585
- "name": "SbbElement",
95586
- "module": "core/base-elements/element.js"
95587
- }
95588
- },
95589
- {
95590
- "kind": "field",
95591
- "name": "_hydrationComplete",
95592
- "privacy": "private",
95593
- "default": "new Promise<boolean>( (resolve) => (this._resolveHydration = resolve), )",
95594
- "inheritedFrom": {
95595
- "name": "SbbElement",
95596
- "module": "core/base-elements/element.js"
95597
- }
95598
- },
95599
- {
95600
- "kind": "field",
95601
- "name": "_resolveHydration",
95602
- "type": {
95603
- "text": "(hydrationRequired: boolean) => void"
95604
- },
95605
- "privacy": "private",
95606
- "inheritedFrom": {
95607
- "name": "SbbElement",
95608
- "module": "core/base-elements/element.js"
95609
- }
95610
- },
95611
- {
95612
- "kind": "field",
95613
- "name": "hydrationRequired",
95614
- "type": {
95615
- "text": "boolean"
95616
- },
95617
- "privacy": "protected",
95618
- "description": "Returns whether hydration is required and not completed.",
95619
- "readonly": true,
95620
- "inheritedFrom": {
95621
- "name": "SbbElement",
95622
- "module": "core/base-elements/element.js"
95623
- },
95624
- "default": "!!this.shadowRoot"
95625
- },
95626
- {
95627
- "kind": "method",
95628
- "name": "toggleState",
95629
- "privacy": "protected",
95630
- "return": {
95631
- "type": {
95632
- "text": "void"
95633
- }
95634
- },
95635
- "parameters": [
95636
- {
95637
- "name": "value",
95638
- "type": {
95639
- "text": "string"
95640
- }
95641
- },
95642
- {
95643
- "name": "force",
95644
- "optional": true,
95645
- "type": {
95646
- "text": "boolean"
95647
- }
95648
- }
95649
- ],
95650
- "inheritedFrom": {
95651
- "name": "SbbElement",
95652
- "module": "core/base-elements/element.js"
95653
- }
95654
- },
95655
- {
95656
- "kind": "field",
95657
- "name": "['_$sbbElement$']",
95658
- "type": {
95659
- "text": "boolean"
95660
- },
95661
- "privacy": "public",
95662
- "static": true,
95663
- "default": "true",
95664
- "inheritedFrom": {
95665
- "name": "SbbElement",
95666
- "module": "core/base-elements/element.js"
95667
- }
95668
- },
95669
- {
95670
- "kind": "field",
95671
- "name": "_controllers",
95672
- "type": {
95673
- "text": "Set<SbbReactiveController> | undefined"
95674
- },
95675
- "privacy": "private",
95676
- "inheritedFrom": {
95677
- "name": "SbbElement",
95678
- "module": "core/base-elements/element.js"
95679
- }
95680
- }
95681
- ],
95682
- "superclass": {
95683
- "name": "SbbHintElement",
95684
- "module": "form-field/hint/hint.component.js"
95685
- },
95686
- "tagName": "sbb-form-field-text-counter",
95687
- "customElement": true,
95688
- "attributes": [
95689
- {
95690
- "name": "negative",
95691
- "type": {
95692
- "text": "boolean"
95693
- },
95694
- "default": "false",
95695
- "description": "Negative coloring variant flag.",
95696
- "fieldName": "negative",
95697
- "inheritedFrom": {
95698
- "name": "SbbNegativeMixin",
95699
- "module": "core/mixins/negative-mixin.js"
95700
- }
95701
- }
95702
- ]
95703
- }
95704
- ],
95705
- "exports": [
95706
- {
95707
- "kind": "js",
95708
- "name": "SbbFormFieldTextCounterElement",
95709
- "declaration": {
95710
- "name": "SbbFormFieldTextCounterElement",
95711
- "module": "form-field/form-field-text-counter/form-field-text-counter.component.js"
95712
- }
95713
- }
95714
- ]
95715
- },
95716
95716
  {
95717
95717
  "kind": "javascript-module",
95718
95718
  "path": "form-field/hint/hint.component.js",
@@ -1 +1 @@
1
- {"version":3,"file":"position.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/overlay/position.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,WAAW,EACX,cAAc,GAAG,cAAc,GAAG,cAAc,GAAG,aAAa,GAAG,aAAa,GAAG,aAAa,CACjG,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACvC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,YAAY,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,WAAW,GAAG,gBAAgB,CAoCrE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,WAAW,GAAG,IAAI,EAC3B,KAAK,EAAE,UAAU,GAAG,YAAY,GAC/B,OAAO,CAYT;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,WAAW,EACtB,UAAU,CAAC,EAAE;IACX,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GACA,uBAAuB,CAsGzB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,WAAW,EACtB,UAAU,CAAC,EAAE;IACX,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GACA,uBAAuB,CAgEzB"}
1
+ {"version":3,"file":"position.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/overlay/position.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,WAAW,EACX,cAAc,GAAG,cAAc,GAAG,cAAc,GAAG,aAAa,GAAG,aAAa,GAAG,aAAa,CACjG,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACvC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,YAAY,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,WAAW,GAAG,gBAAgB,CAoCrE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,WAAW,GAAG,IAAI,EAC3B,KAAK,EAAE,UAAU,GAAG,YAAY,GAC/B,OAAO,CAYT;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,WAAW,EACtB,UAAU,CAAC,EAAE;IACX,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GACA,uBAAuB,CAuGzB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,WAAW,EACtB,UAAU,CAAC,EAAE;IACX,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GACA,uBAAuB,CAgEzB"}
@@ -81,7 +81,9 @@ function getElementPosition(element, trigger, container, properties) {
81
81
  }
82
82
  if (horizontalOffset && alignment.horizontal !== "center" && triggerRec.width / 2 < horizontalOffset) elementXPosition += horizontalOffset * (alignment.horizontal === "start" ? -1 : 1);
83
83
  if (triggerLeft < elementXOverflow && availableSpaceRight < elementXOverflow || document.documentElement.clientWidth < elementRec.offsetWidth) elementXPosition = document.documentElement.clientWidth / 2 - elementRec.offsetWidth / 2;
84
- const shouldOpenAbove = availableSpaceBelow - verticalOffset < elementRec.scrollHeight && availableSpaceAbove - verticalOffset > (responsiveHeight ? elementRec.clientHeight : elementRec.scrollHeight) || availableSpaceAbove > availableSpaceBelow && availableSpaceBelow - verticalOffset < elementRec.clientHeight && !responsiveHeight;
84
+ const fitsBelow = availableSpaceBelow - verticalOffset >= elementRec.scrollHeight;
85
+ const fitsAbove = availableSpaceAbove - verticalOffset >= (responsiveHeight ? elementRec.clientHeight : elementRec.scrollHeight);
86
+ const shouldOpenAbove = !fitsBelow && (fitsAbove || availableSpaceAbove > availableSpaceBelow);
85
87
  if (!properties?.forceBelow && (properties?.forceAbove || shouldOpenAbove)) {
86
88
  elementYPosition = availableSpaceAbove < elementRec.scrollHeight ? elementYPosition - triggerRec.height - availableSpaceAbove - verticalOffset : triggerTop - elementRec.clientHeight - verticalOffset;
87
89
  elementMaxHeight = `${availableSpaceAbove - verticalOffset}px`;
@@ -148,4 +150,4 @@ function getElementPositionHorizontal(element, trigger, container, properties) {
148
150
  //#endregion
149
151
  export { getElementPosition, getElementPositionHorizontal, getElementRectangle, isEventOnElement };
150
152
 
151
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb24uanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvb3ZlcmxheS9wb3NpdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBFbGVtZW50UmVjdGFuZ2xlID0gUGljazxcbiAgSFRNTEVsZW1lbnQsXG4gICdzY3JvbGxIZWlnaHQnIHwgJ2NsaWVudEhlaWdodCcgfCAnb2Zmc2V0SGVpZ2h0JyB8ICdzY3JvbGxXaWR0aCcgfCAnY2xpZW50V2lkdGgnIHwgJ29mZnNldFdpZHRoJ1xuPjtcblxuZXhwb3J0IGludGVyZmFjZSBTYmJBbGlnbm1lbnQge1xuICBob3Jpem9udGFsOiAnc3RhcnQnIHwgJ2NlbnRlcicgfCAnZW5kJztcbiAgdmVydGljYWw6ICdhYm92ZScgfCAnYmVsb3cnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNiYkVsZW1lbnRQb3NpdGlvbkluZm9zIHtcbiAgdG9wOiBudW1iZXI7XG4gIGxlZnQ6IG51bWJlcjtcbiAgbWF4SGVpZ2h0OiBzdHJpbmc7XG4gIGFsaWdubWVudDogU2JiQWxpZ25tZW50O1xufVxuXG4vKipcbiAqIEdldHMgaGVpZ2h0IGFuZCB3aWR0aCBvZiBhbiBlbGVtZW50IGV2ZW4gaWYgaXQncyBoaWRkZW4gKGBkaXNwbGF5OiBub25lYCkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbGVtZW50UmVjdGFuZ2xlKGVsOiBIVE1MRWxlbWVudCk6IEVsZW1lbnRSZWN0YW5nbGUge1xuICBjb25zdCBlbGVtZW50U3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbCksXG4gICAgZWxlbWVudERpc3BsYXkgPSBlbGVtZW50U3R5bGUuZGlzcGxheSxcbiAgICBlbGVtZW50TWF4SGVpZ2h0ID0gcGFyc2VJbnQoZWxlbWVudFN0eWxlLm1heEhlaWdodCwgMTApLnRvU3RyaW5nKCk7XG5cbiAgLy8gSWYgaXQgaXMgbm90IGhpZGRlbiB3ZSBqdXN0IHJldHVybiBub3JtYWwgaGVpZ2h0XG4gIGlmIChlbGVtZW50RGlzcGxheSAhPT0gJ25vbmUnICYmIGVsZW1lbnRNYXhIZWlnaHQgIT09ICcwJykge1xuICAgIHJldHVybiB7XG4gICAgICBzY3JvbGxIZWlnaHQ6IGVsLnNjcm9sbEhlaWdodCxcbiAgICAgIGNsaWVudEhlaWdodDogZWwuY2xpZW50SGVpZ2h0LFxuICAgICAgb2Zmc2V0SGVpZ2h0OiBlbC5vZmZzZXRIZWlnaHQsXG4gICAgICBzY3JvbGxXaWR0aDogZWwuc2Nyb2xsV2lkdGgsXG4gICAgICBjbGllbnRXaWR0aDogZWwuY2xpZW50V2lkdGgsXG4gICAgICBvZmZzZXRXaWR0aDogZWwub2Zmc2V0V2lkdGgsXG4gICAgfTtcbiAgfVxuXG4gIC8vIFRoZSBlbGVtZW50IGlzIGhpZGRlbiBzbzpcbiAgLy8gbWFrZSB0aGUgZWwgYmxvY2sgaW4gb3JkZXIgdG8gbWVhc3VyZSBpdHMgaGVpZ2h0IGJ1dCBzdGlsbCBiZSBoaWRkZW5cbiAgZWwuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICBlbC5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbic7XG4gIGVsLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuXG4gIGNvbnN0IHNjcm9sbEhlaWdodCA9IGVsLnNjcm9sbEhlaWdodCxcbiAgICBjbGllbnRIZWlnaHQgPSBlbC5jbGllbnRIZWlnaHQsXG4gICAgb2Zmc2V0SGVpZ2h0ID0gZWwub2Zmc2V0SGVpZ2h0LFxuICAgIHNjcm9sbFdpZHRoID0gZWwuc2Nyb2xsV2lkdGgsXG4gICAgY2xpZW50V2lkdGggPSBlbC5jbGllbnRXaWR0aCxcbiAgICBvZmZzZXRXaWR0aCA9IGVsLm9mZnNldFdpZHRoO1xuXG4gIC8vIFJldmVydGluZyB0byB0aGUgb3JpZ2luYWwgdmFsdWVzXG4gIGVsLnN0eWxlLmRpc3BsYXkgPSAnJztcbiAgZWwuc3R5bGUucG9zaXRpb24gPSAnJztcbiAgZWwuc3R5bGUudmlzaWJpbGl0eSA9ICcnO1xuXG4gIHJldHVybiB7IHNjcm9sbEhlaWdodCwgY2xpZW50SGVpZ2h0LCBvZmZzZXRIZWlnaHQsIHNjcm9sbFdpZHRoLCBjbGllbnRXaWR0aCwgb2Zmc2V0V2lkdGggfTtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgYW4gZXZlbnQgaXMgZmlyZWQgb24gYSBzcGVjaWZpYyBlbGVtZW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNFdmVudE9uRWxlbWVudChcbiAgZWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsLFxuICBldmVudDogTW91c2VFdmVudCB8IFBvaW50ZXJFdmVudCxcbik6IGJvb2xlYW4ge1xuICBpZiAoIWVsZW1lbnQgfHwgIWV2ZW50KSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgcmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIHJldHVybiAoXG4gICAgcmVjdC50b3AgPD0gZXZlbnQuY2xpZW50WSAmJlxuICAgIGV2ZW50LmNsaWVudFkgPD0gcmVjdC50b3AgKyByZWN0LmhlaWdodCAmJlxuICAgIHJlY3QubGVmdCA8PSBldmVudC5jbGllbnRYICYmXG4gICAgZXZlbnQuY2xpZW50WCA8PSByZWN0LmxlZnQgKyByZWN0LndpZHRoXG4gICk7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB0aGUgcG9zaXRpb24gb2YgYW4gZWxlbWVudCByZWxhdGl2ZSB0byBhIHRyaWdnZXIgZWxlbWVudCBieSBldmFsdWF0aW5nXG4gKiB0aGUgb3B0aW1hbCBwb3NpdGlvbiBiYXNlZCBvbiB0aGUgYXZhaWxhYmxlIHNwYWNlLlxuICpcbiAqIEBwYXJhbSBlbGVtZW50IFRoZSBlbGVtZW50IG9mIHdoaWNoIHRvIGNhbGN1bGF0ZSB0aGUgcG9zaXRpb24uXG4gKiBAcGFyYW0gdHJpZ2dlciBUaGUgZWxlbWVudCByZWxhdGl2ZSB0byB3aGljaCB0byBjYWxjdWxhdGUgdGhlIHBvc2l0aW9uLlxuICogQHBhcmFtIGNvbnRhaW5lciBUaGUgZWxlbWVudCB3aGljaCBoYXMgdGhlIHBvc2l0aW9uOmZpeGVkIGFwcGxpZWQuXG4gKiBAcGFyYW0gcHJvcGVydGllcyBQcm9wZXJ0aWVzIHRvIHRha2UgaW50byBhY2NvdW50IGluIGNhbGN1bGF0aW9ucyAob3B0aW9uYWwpLlxuICogQHBhcmFtIHByb3BlcnRpZXMudmVydGljYWxPZmZzZXQgVGhlIGRpc3RhbmNlIHRvIGJlIGFkZGVkIGJldHdlZW4gdGhlIGVsZW1lbnQgYW5kIHRoZSB0cmlnZ2VyIChvcHRpb25hbCkuXG4gKiBAcGFyYW0gcHJvcGVydGllcy5ob3Jpem9udGFsT2Zmc2V0IFRoZSBob3Jpem9udGFsIG9mZnNldCB0byBiZSBhcHBsaWVkIHRvIHRoZSBlbGVtZW50IChvcHRpb25hbCkuXG4gKiBAcGFyYW0gcHJvcGVydGllcy5jZW50ZXJlZCBXaGV0aGVyIHRoZSBlbGVtZW50IHNob3VsZCBiZSBwbGFjZWQgaW4gdGhlIGNlbnRlciBieSBkZWZhdWx0IChvcHRpb25hbCkuXG4gKiBAcGFyYW0gcHJvcGVydGllcy5yZXNwb25zaXZlSGVpZ2h0IFdoZXRoZXIgdGhlIGVsZW1lbnQgY2FsY3VsYXRlcyBpdHMgaGVpZ2h0IGJhc2VkIG9uIGl0cyBjb250ZW50IChvcHRpb25hbCkuXG4gKiBAcmV0dXJucyBSZXR1cm5zIGFuIG9iamVjdCBjb250YWluaW5nIHRoZSBsZWZ0IHBvc2l0aW9uLCB0aGUgdG9wIHBvc2l0aW9uLCB0aGUgbWF4aW11bSBoZWlnaHRcbiAqIG9mIHRoZSBlbGVtZW50IGFuZCB0aGUgY3VycmVudCBhbGlnbm1lbnQgb2JqZWN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWxlbWVudFBvc2l0aW9uKFxuICBlbGVtZW50OiBIVE1MRWxlbWVudCxcbiAgdHJpZ2dlcjogSFRNTEVsZW1lbnQsXG4gIGNvbnRhaW5lcjogSFRNTEVsZW1lbnQsXG4gIHByb3BlcnRpZXM/OiB7XG4gICAgdmVydGljYWxPZmZzZXQ/OiBudW1iZXI7XG4gICAgaG9yaXpvbnRhbE9mZnNldD86IG51bWJlcjtcbiAgICBjZW50ZXJlZD86IGJvb2xlYW47XG4gICAgcmVzcG9uc2l2ZUhlaWdodD86IGJvb2xlYW47XG4gICAgZm9yY2VBYm92ZT86IGJvb2xlYW47XG4gICAgZm9yY2VCZWxvdz86IGJvb2xlYW47XG4gIH0sXG4pOiBTYmJFbGVtZW50UG9zaXRpb25JbmZvcyB7XG4gIGNvbnN0IG1heFdpZHRoT2Zmc2V0ID0gMTY7XG4gIGNvbnN0IHZlcnRpY2FsT2Zmc2V0ID0gcHJvcGVydGllcz8udmVydGljYWxPZmZzZXQgfHwgMDtcbiAgY29uc3QgaG9yaXpvbnRhbE9mZnNldCA9IHByb3BlcnRpZXM/Lmhvcml6b250YWxPZmZzZXQgfHwgMDtcbiAgY29uc3QgcmVzcG9uc2l2ZUhlaWdodCA9IHByb3BlcnRpZXM/LnJlc3BvbnNpdmVIZWlnaHQgfHwgZmFsc2U7XG5cbiAgY29uc3QgdHJpZ2dlclJlYyA9IHRyaWdnZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIGNvbnN0IGVsZW1lbnRSZWMgPSBnZXRFbGVtZW50UmVjdGFuZ2xlKGVsZW1lbnQpO1xuXG4gIGNvbnN0IHRyaWdnZXJMZWZ0ID0gdHJpZ2dlclJlYy5sZWZ0O1xuICBjb25zdCB0cmlnZ2VyVG9wID0gdHJpZ2dlclJlYy50b3A7XG5cbiAgY29uc3QgYXZhaWxhYmxlU3BhY2VSaWdodCA9XG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoIC0gKHRyaWdnZXJMZWZ0ICsgdHJpZ2dlclJlYy53aWR0aCk7XG4gIGNvbnN0IGF2YWlsYWJsZVNwYWNlQWJvdmUgPSB0cmlnZ2VyVG9wIC0gdmVydGljYWxPZmZzZXQ7XG4gIGNvbnN0IGF2YWlsYWJsZVNwYWNlQmVsb3cgPVxuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQgLSAodHJpZ2dlclRvcCArIHRyaWdnZXJSZWMuaGVpZ2h0ICsgdmVydGljYWxPZmZzZXQpO1xuXG4gIC8vIERlZmF1bHQgZWxlbWVudCBhbGlnbm1lbnQgaXMgXCJzdGFydC9iZWxvd1wiXG4gIGxldCBlbGVtZW50WFBvc2l0aW9uID0gdHJpZ2dlckxlZnQ7XG4gIGxldCBlbGVtZW50WVBvc2l0aW9uID0gdHJpZ2dlclRvcCArIHRyaWdnZXJSZWMuaGVpZ2h0ICsgdmVydGljYWxPZmZzZXQ7XG4gIGxldCBlbGVtZW50WE92ZXJmbG93ID0gZWxlbWVudFJlYy5vZmZzZXRXaWR0aCAtIHRyaWdnZXJSZWMud2lkdGg7XG4gIGNvbnN0IGFsaWdubWVudDogU2JiQWxpZ25tZW50ID0geyBob3Jpem9udGFsOiAnc3RhcnQnLCB2ZXJ0aWNhbDogJ2JlbG93JyB9O1xuXG4gIC8vIENhbGN1bGF0ZSBlbGVtZW50IG1heC1oZWlnaHRcbiAgbGV0IGVsZW1lbnRNYXhIZWlnaHQgPSBgJHthdmFpbGFibGVTcGFjZUJlbG93IC0gdmVydGljYWxPZmZzZXR9cHhgO1xuXG4gIC8vIENoZWNrIGlmIGhvcml6b250YWwgYWxpZ25tZW50IG5lZWRzIHRvIGJlIGNoYW5nZWQgdG8gXCJjZW50ZXJcIlxuICBpZiAoXG4gICAgcHJvcGVydGllcz8uY2VudGVyZWQgJiZcbiAgICB0cmlnZ2VyTGVmdCAtIG1heFdpZHRoT2Zmc2V0ICsgdHJpZ2dlclJlYy53aWR0aCAvIDIgPiBlbGVtZW50UmVjLm9mZnNldFdpZHRoIC8gMiAmJlxuICAgIGF2YWlsYWJsZVNwYWNlUmlnaHQgLSBtYXhXaWR0aE9mZnNldCA+IGVsZW1lbnRYT3ZlcmZsb3cgLyAyXG4gICkge1xuICAgIGVsZW1lbnRYUG9zaXRpb24gLT0gZWxlbWVudFhPdmVyZmxvdyAvPSAyO1xuICAgIGFsaWdubWVudC5ob3Jpem9udGFsID0gJ2NlbnRlcic7XG4gIH1cblxuICAvLyBDaGVjayBpZiBob3Jpem9udGFsIGFsaWdubWVudCBuZWVkcyB0byBiZSBjaGFuZ2VkIHRvIFwiZW5kXCJcbiAgaWYgKGF2YWlsYWJsZVNwYWNlUmlnaHQgPCBlbGVtZW50WE92ZXJmbG93ICYmIHRyaWdnZXJMZWZ0ID4gZWxlbWVudFhPdmVyZmxvdykge1xuICAgIGVsZW1lbnRYUG9zaXRpb24gPSBlbGVtZW50WFBvc2l0aW9uIC0gZWxlbWVudFhPdmVyZmxvdztcbiAgICBhbGlnbm1lbnQuaG9yaXpvbnRhbCA9ICdlbmQnO1xuICB9XG5cbiAgLy8gQWRkIGhvcml6b250YWwgb2Zmc2V0XG4gIGlmIChcbiAgICBob3Jpem9udGFsT2Zmc2V0ICYmXG4gICAgYWxpZ25tZW50Lmhvcml6b250YWwgIT09ICdjZW50ZXInICYmXG4gICAgdHJpZ2dlclJlYy53aWR0aCAvIDIgPCBob3Jpem9udGFsT2Zmc2V0XG4gICkge1xuICAgIGVsZW1lbnRYUG9zaXRpb24gKz0gaG9yaXpvbnRhbE9mZnNldCAqIChhbGlnbm1lbnQuaG9yaXpvbnRhbCA9PT0gJ3N0YXJ0JyA/IC0xIDogMSk7XG4gIH1cblxuICAvLyBDaGVjayB3aGV0aGVyIHRoZXJlIGlzIGluc3VmZmljaWVudCBzcGFjZSBvbiBib3RoIHNpZGVzXG4gIGlmIChcbiAgICAodHJpZ2dlckxlZnQgPCBlbGVtZW50WE92ZXJmbG93ICYmIGF2YWlsYWJsZVNwYWNlUmlnaHQgPCBlbGVtZW50WE92ZXJmbG93KSB8fFxuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCA8IGVsZW1lbnRSZWMub2Zmc2V0V2lkdGhcbiAgKSB7XG4gICAgZWxlbWVudFhQb3NpdGlvbiA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCAvIDIgLSBlbGVtZW50UmVjLm9mZnNldFdpZHRoIC8gMjtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHZlcnRpY2FsIGFsaWdubWVudCBuZWVkcyB0byBiZSBjaGFuZ2VkIHRvIFwiYWJvdmVcIjpcbiAgY29uc3Qgc2hvdWxkT3BlbkFib3ZlID1cbiAgICAoYXZhaWxhYmxlU3BhY2VCZWxvdyAtIHZlcnRpY2FsT2Zmc2V0IDwgZWxlbWVudFJlYy5zY3JvbGxIZWlnaHQgJiZcbiAgICAgIGF2YWlsYWJsZVNwYWNlQWJvdmUgLSB2ZXJ0aWNhbE9mZnNldCA+XG4gICAgICAgIChyZXNwb25zaXZlSGVpZ2h0ID8gZWxlbWVudFJlYy5jbGllbnRIZWlnaHQgOiBlbGVtZW50UmVjLnNjcm9sbEhlaWdodCkpIHx8XG4gICAgKGF2YWlsYWJsZVNwYWNlQWJvdmUgPiBhdmFpbGFibGVTcGFjZUJlbG93ICYmXG4gICAgICBhdmFpbGFibGVTcGFjZUJlbG93IC0gdmVydGljYWxPZmZzZXQgPCBlbGVtZW50UmVjLmNsaWVudEhlaWdodCAmJlxuICAgICAgIXJlc3BvbnNpdmVIZWlnaHQpO1xuXG4gIGlmICghcHJvcGVydGllcz8uZm9yY2VCZWxvdyAmJiAocHJvcGVydGllcz8uZm9yY2VBYm92ZSB8fCBzaG91bGRPcGVuQWJvdmUpKSB7XG4gICAgZWxlbWVudFlQb3NpdGlvbiA9XG4gICAgICBhdmFpbGFibGVTcGFjZUFib3ZlIDwgZWxlbWVudFJlYy5zY3JvbGxIZWlnaHRcbiAgICAgICAgPyBlbGVtZW50WVBvc2l0aW9uIC0gdHJpZ2dlclJlYy5oZWlnaHQgLSBhdmFpbGFibGVTcGFjZUFib3ZlIC0gdmVydGljYWxPZmZzZXRcbiAgICAgICAgOiB0cmlnZ2VyVG9wIC0gZWxlbWVudFJlYy5jbGllbnRIZWlnaHQgLSB2ZXJ0aWNhbE9mZnNldDtcblxuICAgIGVsZW1lbnRNYXhIZWlnaHQgPSBgJHthdmFpbGFibGVTcGFjZUFib3ZlIC0gdmVydGljYWxPZmZzZXR9cHhgO1xuICAgIGFsaWdubWVudC52ZXJ0aWNhbCA9ICdhYm92ZSc7XG4gIH1cblxuICBjb25zdCBjb250YWluZXJSZWN0ID0gY29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gIC8vIFdoZW4gem9vbWluZyBpbiBTYWZhcmkgdGhlIGNvbnRhaW5lciByZWN0YW5nbGUgY29udGFpbnMgbmVnYXRpdmUgdmFsdWVzIGZvciB0aGUgcG9zaXRpb24sXG4gIC8vIGFuZCB3ZSBuZWVkIHRvIHJlLWFkZCB0aGVtIHRvIHRoZSBjYWxjdWxhdGVkIGNvb3JkaW5hdGVzLlxuICBpZiAoY29udGFpbmVyUmVjdC5sZWZ0IDwgMCkge1xuICAgIGVsZW1lbnRYUG9zaXRpb24gLT0gY29udGFpbmVyUmVjdC5sZWZ0O1xuICB9XG5cbiAgLy8gTm9ybWFsbHkgdGhlIGNvbnRhaW5lclJlY3QncyB0b3AgdmFsdWUgd291bGQgYmUgemVybywgaG93ZXZlciB3aGVuIHRoZSBvdmVybGF5IGlzIGF0dGFjaGVkIHRvIGFuIGlucHV0XG4gIC8vIChlLmcuIGluIGFuIGF1dG9jb21wbGV0ZSksIG1vYmlsZSBicm93c2VycyB3aWxsIHNoaWZ0IGV2ZXJ5dGhpbmcgaW4gb3JkZXIgdG8gcHV0IHRoZSBpbnB1dCBpbiB0aGUgbWlkZGxlXG4gIC8vIG9mIHRoZSBzY3JlZW4gYW5kIHRvIG1ha2Ugc3BhY2UgZm9yIHRoZSB2aXJ0dWFsIGtleWJvYXJkLiBXZSBuZWVkIHRvIGFjY291bnQgZm9yIHRoaXMgb2Zmc2V0LFxuICAvLyBvdGhlcndpc2Ugb3VyIHBvc2l0aW9uaW5nIHdpbGwgYmUgdGhyb3duIG9mZi5cbiAgLy8gQWRkaXRpb25hbGx5LCB3aGVuIHpvb21pbmcgaW4gU2FmYXJpIHRoaXMgZml4ZXMgdGhlIHZlcnRpY2FsIHBvc2l0aW9uLlxuICBpZiAoY29udGFpbmVyUmVjdC50b3AgPCAwKSB7XG4gICAgZWxlbWVudFlQb3NpdGlvbiAtPSBjb250YWluZXJSZWN0LnRvcDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgdG9wOiBlbGVtZW50WVBvc2l0aW9uLFxuICAgIGxlZnQ6IGVsZW1lbnRYUG9zaXRpb24sXG4gICAgbWF4SGVpZ2h0OiBlbGVtZW50TWF4SGVpZ2h0LFxuICAgIGFsaWdubWVudDogYWxpZ25tZW50LFxuICB9O1xufVxuXG4vKipcbiAqIERldGVybWluZXMgdGhlIHBvc2l0aW9uIG9mIGFuIGVsZW1lbnQgcmVsYXRpdmUgdG8gYSB0cmlnZ2VyIGVsZW1lbnQgYnkgZXZhbHVhdGluZ1xuICogdGhlIG9wdGltYWwgcG9zaXRpb24gYmFzZWQgb24gdGhlIGF2YWlsYWJsZSBzcGFjZS5cbiAqXG4gKiBAcGFyYW0gZWxlbWVudCBUaGUgZWxlbWVudCBvZiB3aGljaCB0byBjYWxjdWxhdGUgdGhlIHBvc2l0aW9uLlxuICogQHBhcmFtIHRyaWdnZXIgVGhlIGVsZW1lbnQgcmVsYXRpdmUgdG8gd2hpY2ggdG8gY2FsY3VsYXRlIHRoZSBwb3NpdGlvbi5cbiAqIEBwYXJhbSBjb250YWluZXIgVGhlIGVsZW1lbnQgd2hpY2ggaGFzIHRoZSBwb3NpdGlvbjpmaXhlZCBhcHBsaWVkLlxuICogQHBhcmFtIHByb3BlcnRpZXMgUHJvcGVydGllcyB0byB0YWtlIGludG8gYWNjb3VudCBpbiBjYWxjdWxhdGlvbnMgKG9wdGlvbmFsKS5cbiAqIEBwYXJhbSBwcm9wZXJ0aWVzLnZlcnRpY2FsT2Zmc2V0IFRoZSBkaXN0YW5jZSB0byBiZSBhZGRlZCBiZXR3ZWVuIHRoZSBlbGVtZW50IGFuZCB0aGUgdHJpZ2dlciAob3B0aW9uYWwpLlxuICogQHBhcmFtIHByb3BlcnRpZXMuaG9yaXpvbnRhbE9mZnNldCBUaGUgaG9yaXpvbnRhbCBvZmZzZXQgdG8gYmUgYXBwbGllZCB0byB0aGUgZWxlbWVudCAob3B0aW9uYWwpLlxuICogQHBhcmFtIHByb3BlcnRpZXMucmVzcG9uc2l2ZUhlaWdodCBXaGV0aGVyIHRoZSBlbGVtZW50IGNhbGN1bGF0ZXMgaXRzIGhlaWdodCBiYXNlZCBvbiBpdHMgY29udGVudCAob3B0aW9uYWwpLlxuICogQHJldHVybnMgUmV0dXJucyBhbiBvYmplY3QgY29udGFpbmluZyB0aGUgbGVmdCBwb3NpdGlvbiwgdGhlIHRvcCBwb3NpdGlvbiwgdGhlIG1heGltdW0gaGVpZ2h0XG4gKiBvZiB0aGUgZWxlbWVudCBhbmQgdGhlIGN1cnJlbnQgYWxpZ25tZW50IG9iamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEVsZW1lbnRQb3NpdGlvbkhvcml6b250YWwoXG4gIGVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICB0cmlnZ2VyOiBIVE1MRWxlbWVudCxcbiAgY29udGFpbmVyOiBIVE1MRWxlbWVudCxcbiAgcHJvcGVydGllcz86IHtcbiAgICB2ZXJ0aWNhbE9mZnNldD86IG51bWJlcjtcbiAgICBob3Jpem9udGFsT2Zmc2V0PzogbnVtYmVyO1xuICAgIHJlc3BvbnNpdmVIZWlnaHQ/OiBib29sZWFuO1xuICAgIGNvbnRlbnRTZWxlY3Rvcj86IHN0cmluZztcbiAgfSxcbik6IFNiYkVsZW1lbnRQb3NpdGlvbkluZm9zIHtcbiAgY29uc3QgbWF4SGVpZ2h0T2Zmc2V0ID0gMTY7XG5cbiAgY29uc3QgdmVydGljYWxPZmZzZXQgPSBwcm9wZXJ0aWVzPy52ZXJ0aWNhbE9mZnNldCB8fCAwO1xuICBjb25zdCBob3Jpem9udGFsT2Zmc2V0ID0gcHJvcGVydGllcz8uaG9yaXpvbnRhbE9mZnNldCB8fCAwO1xuXG4gIGNvbnN0IHRyaWdnZXJSZWMgPSB0cmlnZ2VyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICBjb25zdCBlbGVtZW50UmVjID0gZ2V0RWxlbWVudFJlY3RhbmdsZShlbGVtZW50KTtcbiAgY29uc3QgdHJpZ2dlclBhcmVudFJlYyA9IHRyaWdnZXJcbiAgICAucGFyZW50RWxlbWVudCEuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcihcbiAgICAgIHByb3BlcnRpZXM/LmNvbnRlbnRTZWxlY3RvciA/PyBgLiR7ZWxlbWVudC5jbGFzc05hbWV9YCxcbiAgICApIVxuICAgIC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgY29uc3QgY29udGFpbmVyUmVjdCA9IGNvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICBjb25zdCBhdmFpbGFibGVTcGFjZVJpZ2h0ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoIC0gdHJpZ2dlclBhcmVudFJlYy5yaWdodDtcbiAgY29uc3QgYXZhaWxhYmxlU3BhY2VCZWxvdyA9XG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCAtICh0cmlnZ2VyUmVjLnRvcCAtIHZlcnRpY2FsT2Zmc2V0KTtcbiAgY29uc3QgYXZhaWxhYmxlVmVydGljYWxTcGFjZSA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7XG4gIGNvbnN0IGVsZW1lbnRNYXhIZWlnaHQgPSBgJHthdmFpbGFibGVWZXJ0aWNhbFNwYWNlIC0gbWF4SGVpZ2h0T2Zmc2V0ICogMn1weGA7XG4gIGNvbnN0IGFsaWdubWVudDogU2JiQWxpZ25tZW50ID0geyBob3Jpem9udGFsOiAnZW5kJywgdmVydGljYWw6ICdhYm92ZScgfTtcbiAgY29uc3QgZWxlbWVudFhPdmVyZmxvdyA9IGVsZW1lbnRSZWMub2Zmc2V0V2lkdGggKyBob3Jpem9udGFsT2Zmc2V0O1xuXG4gIC8vIERlZmF1bHQgZWxlbWVudCBhbGlnbm1lbnQgaXMgXCJlbmQvYWJvdmVcIlxuICBsZXQgZWxlbWVudFhQb3NpdGlvbiA9IHRyaWdnZXJQYXJlbnRSZWMucmlnaHQ7XG4gIGxldCBlbGVtZW50WVBvc2l0aW9uID0gdHJpZ2dlclJlYy50b3AgKyB2ZXJ0aWNhbE9mZnNldDtcblxuICAvLyBDaGVjayBpZiBob3Jpem9udGFsIGFsaWdubWVudCBuZWVkcyB0byBiZSBjaGFuZ2VkIHRvIFwic3RhcnRcIlxuICBpZiAoYXZhaWxhYmxlU3BhY2VSaWdodCA8IGVsZW1lbnRYT3ZlcmZsb3cgJiYgdHJpZ2dlclJlYy5sZWZ0ID4gZWxlbWVudFhPdmVyZmxvdykge1xuICAgIGVsZW1lbnRYUG9zaXRpb24gPSBlbGVtZW50WFBvc2l0aW9uIC0gdHJpZ2dlclBhcmVudFJlYy53aWR0aCAtIGVsZW1lbnRSZWMub2Zmc2V0V2lkdGg7XG4gICAgYWxpZ25tZW50Lmhvcml6b250YWwgPSAnc3RhcnQnO1xuICB9XG5cbiAgLy8gQWRkIGhvcml6b250YWwgb2Zmc2V0XG4gIGlmIChob3Jpem9udGFsT2Zmc2V0ICYmIGFsaWdubWVudC5ob3Jpem9udGFsICE9PSAnY2VudGVyJykge1xuICAgIGVsZW1lbnRYUG9zaXRpb24gKz0gaG9yaXpvbnRhbE9mZnNldCAqIChhbGlnbm1lbnQuaG9yaXpvbnRhbCA9PT0gJ3N0YXJ0JyA/IC0xIDogMSk7XG4gIH1cblxuICAvLyBDaGVjayBpZiB2ZXJ0aWNhbCBhbGlnbm1lbnQgbmVlZHMgdG8gYmUgY2hhbmdlZCB0byBcImFib3ZlXCI6XG4gIGlmIChhdmFpbGFibGVTcGFjZUJlbG93IDwgZWxlbWVudFJlYy5zY3JvbGxIZWlnaHQpIHtcbiAgICBlbGVtZW50WVBvc2l0aW9uID0gYXZhaWxhYmxlVmVydGljYWxTcGFjZSAtIGVsZW1lbnRSZWMuY2xpZW50SGVpZ2h0IC0gbWF4SGVpZ2h0T2Zmc2V0O1xuICB9XG5cbiAgLy8gV2hlbiB6b29taW5nIGluIFNhZmFyaSB0aGUgY29udGFpbmVyIHJlY3RhbmdsZSBjb250YWlucyBuZWdhdGl2ZSB2YWx1ZXMgZm9yIHRoZSBwb3NpdGlvbixcbiAgLy8gYW5kIHdlIG5lZWQgdG8gcmUtYWRkIHRoZW0gdG8gdGhlIGNhbGN1bGF0ZWQgY29vcmRpbmF0ZXMuXG4gIGlmIChjb250YWluZXJSZWN0LmxlZnQgPCAwKSB7XG4gICAgZWxlbWVudFhQb3NpdGlvbiAtPSBjb250YWluZXJSZWN0LmxlZnQ7XG4gIH1cblxuICAvLyBOb3JtYWxseSB0aGUgY29udGFpbmVyUmVjdCdzIHRvcCB2YWx1ZSB3b3VsZCBiZSB6ZXJvLCBob3dldmVyIHdoZW4gdGhlIG92ZXJsYXkgaXMgYXR0YWNoZWQgdG8gYW4gaW5wdXRcbiAgLy8gKGUuZy4gaW4gYW4gYXV0b2NvbXBsZXRlKSwgbW9iaWxlIGJyb3dzZXJzIHdpbGwgc2hpZnQgZXZlcnl0aGluZyBpbiBvcmRlciB0byBwdXQgdGhlIGlucHV0IGluIHRoZSBtaWRkbGVcbiAgLy8gb2YgdGhlIHNjcmVlbiBhbmQgdG8gbWFrZSBzcGFjZSBmb3IgdGhlIHZpcnR1YWwga2V5Ym9hcmQuIFdlIG5lZWQgdG8gYWNjb3VudCBmb3IgdGhpcyBvZmZzZXQsXG4gIC8vIG90aGVyd2lzZSBvdXIgcG9zaXRpb25pbmcgd2lsbCBiZSB0aHJvd24gb2ZmLlxuICAvLyBBZGRpdGlvbmFsbHksIHdoZW4gem9vbWluZyBpbiBTYWZhcmkgdGhpcyBmaXhlcyB0aGUgdmVydGljYWwgcG9zaXRpb24uXG4gIGlmIChjb250YWluZXJSZWN0LnRvcCA8IDApIHtcbiAgICBlbGVtZW50WVBvc2l0aW9uIC09IGNvbnRhaW5lclJlY3QudG9wO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB0b3A6IGVsZW1lbnRZUG9zaXRpb24sXG4gICAgbGVmdDogZWxlbWVudFhQb3NpdGlvbixcbiAgICBtYXhIZWlnaHQ6IGVsZW1lbnRNYXhIZWlnaHQsXG4gICAgYWxpZ25tZW50OiBhbGlnbm1lbnQsXG4gIH07XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFvQkEsU0FBZ0Isb0JBQW9CLElBQWU7Q0FDakQsTUFBTSxlQUFlLE9BQU8saUJBQWlCLEdBQUcsRUFDOUMsaUJBQWlCLGFBQWEsU0FDOUIsbUJBQW1CLFNBQVMsYUFBYSxXQUFXLEdBQUcsQ0FBQyxVQUFVO0FBR3BFLEtBQUksbUJBQW1CLFVBQVUscUJBQXFCLElBQ3BELFFBQU87RUFDTCxjQUFjLEdBQUc7RUFDakIsY0FBYyxHQUFHO0VBQ2pCLGNBQWMsR0FBRztFQUNqQixhQUFhLEdBQUc7RUFDaEIsYUFBYSxHQUFHO0VBQ2hCLGFBQWEsR0FBRztFQUNqQjtBQUtILElBQUcsTUFBTSxXQUFXO0FBQ3BCLElBQUcsTUFBTSxhQUFhO0FBQ3RCLElBQUcsTUFBTSxVQUFVO0NBRW5CLE1BQU0sZUFBZSxHQUFHLGNBQ3RCLGVBQWUsR0FBRyxjQUNsQixlQUFlLEdBQUcsY0FDbEIsY0FBYyxHQUFHLGFBQ2pCLGNBQWMsR0FBRyxhQUNqQixjQUFjLEdBQUc7QUFHbkIsSUFBRyxNQUFNLFVBQVU7QUFDbkIsSUFBRyxNQUFNLFdBQVc7QUFDcEIsSUFBRyxNQUFNLGFBQWE7QUFFdEIsUUFBTztFQUFFO0VBQWM7RUFBYztFQUFjO0VBQWE7RUFBYTtFQUFhOzs7OztBQU01RixTQUFnQixpQkFDZCxTQUNBLE9BQWdDO0FBRWhDLEtBQUksQ0FBQyxXQUFXLENBQUMsTUFDZixRQUFPO0NBR1QsTUFBTSxPQUFPLFFB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
153
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb24uanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvb3ZlcmxheS9wb3NpdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBFbGVtZW50UmVjdGFuZ2xlID0gUGljazxcbiAgSFRNTEVsZW1lbnQsXG4gICdzY3JvbGxIZWlnaHQnIHwgJ2NsaWVudEhlaWdodCcgfCAnb2Zmc2V0SGVpZ2h0JyB8ICdzY3JvbGxXaWR0aCcgfCAnY2xpZW50V2lkdGgnIHwgJ29mZnNldFdpZHRoJ1xuPjtcblxuZXhwb3J0IGludGVyZmFjZSBTYmJBbGlnbm1lbnQge1xuICBob3Jpem9udGFsOiAnc3RhcnQnIHwgJ2NlbnRlcicgfCAnZW5kJztcbiAgdmVydGljYWw6ICdhYm92ZScgfCAnYmVsb3cnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNiYkVsZW1lbnRQb3NpdGlvbkluZm9zIHtcbiAgdG9wOiBudW1iZXI7XG4gIGxlZnQ6IG51bWJlcjtcbiAgbWF4SGVpZ2h0OiBzdHJpbmc7XG4gIGFsaWdubWVudDogU2JiQWxpZ25tZW50O1xufVxuXG4vKipcbiAqIEdldHMgaGVpZ2h0IGFuZCB3aWR0aCBvZiBhbiBlbGVtZW50IGV2ZW4gaWYgaXQncyBoaWRkZW4gKGBkaXNwbGF5OiBub25lYCkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbGVtZW50UmVjdGFuZ2xlKGVsOiBIVE1MRWxlbWVudCk6IEVsZW1lbnRSZWN0YW5nbGUge1xuICBjb25zdCBlbGVtZW50U3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbCksXG4gICAgZWxlbWVudERpc3BsYXkgPSBlbGVtZW50U3R5bGUuZGlzcGxheSxcbiAgICBlbGVtZW50TWF4SGVpZ2h0ID0gcGFyc2VJbnQoZWxlbWVudFN0eWxlLm1heEhlaWdodCwgMTApLnRvU3RyaW5nKCk7XG5cbiAgLy8gSWYgaXQgaXMgbm90IGhpZGRlbiB3ZSBqdXN0IHJldHVybiBub3JtYWwgaGVpZ2h0XG4gIGlmIChlbGVtZW50RGlzcGxheSAhPT0gJ25vbmUnICYmIGVsZW1lbnRNYXhIZWlnaHQgIT09ICcwJykge1xuICAgIHJldHVybiB7XG4gICAgICBzY3JvbGxIZWlnaHQ6IGVsLnNjcm9sbEhlaWdodCxcbiAgICAgIGNsaWVudEhlaWdodDogZWwuY2xpZW50SGVpZ2h0LFxuICAgICAgb2Zmc2V0SGVpZ2h0OiBlbC5vZmZzZXRIZWlnaHQsXG4gICAgICBzY3JvbGxXaWR0aDogZWwuc2Nyb2xsV2lkdGgsXG4gICAgICBjbGllbnRXaWR0aDogZWwuY2xpZW50V2lkdGgsXG4gICAgICBvZmZzZXRXaWR0aDogZWwub2Zmc2V0V2lkdGgsXG4gICAgfTtcbiAgfVxuXG4gIC8vIFRoZSBlbGVtZW50IGlzIGhpZGRlbiBzbzpcbiAgLy8gbWFrZSB0aGUgZWwgYmxvY2sgaW4gb3JkZXIgdG8gbWVhc3VyZSBpdHMgaGVpZ2h0IGJ1dCBzdGlsbCBiZSBoaWRkZW5cbiAgZWwuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICBlbC5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbic7XG4gIGVsLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuXG4gIGNvbnN0IHNjcm9sbEhlaWdodCA9IGVsLnNjcm9sbEhlaWdodCxcbiAgICBjbGllbnRIZWlnaHQgPSBlbC5jbGllbnRIZWlnaHQsXG4gICAgb2Zmc2V0SGVpZ2h0ID0gZWwub2Zmc2V0SGVpZ2h0LFxuICAgIHNjcm9sbFdpZHRoID0gZWwuc2Nyb2xsV2lkdGgsXG4gICAgY2xpZW50V2lkdGggPSBlbC5jbGllbnRXaWR0aCxcbiAgICBvZmZzZXRXaWR0aCA9IGVsLm9mZnNldFdpZHRoO1xuXG4gIC8vIFJldmVydGluZyB0byB0aGUgb3JpZ2luYWwgdmFsdWVzXG4gIGVsLnN0eWxlLmRpc3BsYXkgPSAnJztcbiAgZWwuc3R5bGUucG9zaXRpb24gPSAnJztcbiAgZWwuc3R5bGUudmlzaWJpbGl0eSA9ICcnO1xuXG4gIHJldHVybiB7IHNjcm9sbEhlaWdodCwgY2xpZW50SGVpZ2h0LCBvZmZzZXRIZWlnaHQsIHNjcm9sbFdpZHRoLCBjbGllbnRXaWR0aCwgb2Zmc2V0V2lkdGggfTtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgYW4gZXZlbnQgaXMgZmlyZWQgb24gYSBzcGVjaWZpYyBlbGVtZW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNFdmVudE9uRWxlbWVudChcbiAgZWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsLFxuICBldmVudDogTW91c2VFdmVudCB8IFBvaW50ZXJFdmVudCxcbik6IGJvb2xlYW4ge1xuICBpZiAoIWVsZW1lbnQgfHwgIWV2ZW50KSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgcmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIHJldHVybiAoXG4gICAgcmVjdC50b3AgPD0gZXZlbnQuY2xpZW50WSAmJlxuICAgIGV2ZW50LmNsaWVudFkgPD0gcmVjdC50b3AgKyByZWN0LmhlaWdodCAmJlxuICAgIHJlY3QubGVmdCA8PSBldmVudC5jbGllbnRYICYmXG4gICAgZXZlbnQuY2xpZW50WCA8PSByZWN0LmxlZnQgKyByZWN0LndpZHRoXG4gICk7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB0aGUgcG9zaXRpb24gb2YgYW4gZWxlbWVudCByZWxhdGl2ZSB0byBhIHRyaWdnZXIgZWxlbWVudCBieSBldmFsdWF0aW5nXG4gKiB0aGUgb3B0aW1hbCBwb3NpdGlvbiBiYXNlZCBvbiB0aGUgYXZhaWxhYmxlIHNwYWNlLlxuICpcbiAqIEBwYXJhbSBlbGVtZW50IFRoZSBlbGVtZW50IG9mIHdoaWNoIHRvIGNhbGN1bGF0ZSB0aGUgcG9zaXRpb24uXG4gKiBAcGFyYW0gdHJpZ2dlciBUaGUgZWxlbWVudCByZWxhdGl2ZSB0byB3aGljaCB0byBjYWxjdWxhdGUgdGhlIHBvc2l0aW9uLlxuICogQHBhcmFtIGNvbnRhaW5lciBUaGUgZWxlbWVudCB3aGljaCBoYXMgdGhlIHBvc2l0aW9uOmZpeGVkIGFwcGxpZWQuXG4gKiBAcGFyYW0gcHJvcGVydGllcyBQcm9wZXJ0aWVzIHRvIHRha2UgaW50byBhY2NvdW50IGluIGNhbGN1bGF0aW9ucyAob3B0aW9uYWwpLlxuICogQHBhcmFtIHByb3BlcnRpZXMudmVydGljYWxPZmZzZXQgVGhlIGRpc3RhbmNlIHRvIGJlIGFkZGVkIGJldHdlZW4gdGhlIGVsZW1lbnQgYW5kIHRoZSB0cmlnZ2VyIChvcHRpb25hbCkuXG4gKiBAcGFyYW0gcHJvcGVydGllcy5ob3Jpem9udGFsT2Zmc2V0IFRoZSBob3Jpem9udGFsIG9mZnNldCB0byBiZSBhcHBsaWVkIHRvIHRoZSBlbGVtZW50IChvcHRpb25hbCkuXG4gKiBAcGFyYW0gcHJvcGVydGllcy5jZW50ZXJlZCBXaGV0aGVyIHRoZSBlbGVtZW50IHNob3VsZCBiZSBwbGFjZWQgaW4gdGhlIGNlbnRlciBieSBkZWZhdWx0IChvcHRpb25hbCkuXG4gKiBAcGFyYW0gcHJvcGVydGllcy5yZXNwb25zaXZlSGVpZ2h0IFdoZXRoZXIgdGhlIGVsZW1lbnQgY2FsY3VsYXRlcyBpdHMgaGVpZ2h0IGJhc2VkIG9uIGl0cyBjb250ZW50IChvcHRpb25hbCkuXG4gKiBAcmV0dXJucyBSZXR1cm5zIGFuIG9iamVjdCBjb250YWluaW5nIHRoZSBsZWZ0IHBvc2l0aW9uLCB0aGUgdG9wIHBvc2l0aW9uLCB0aGUgbWF4aW11bSBoZWlnaHRcbiAqIG9mIHRoZSBlbGVtZW50IGFuZCB0aGUgY3VycmVudCBhbGlnbm1lbnQgb2JqZWN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWxlbWVudFBvc2l0aW9uKFxuICBlbGVtZW50OiBIVE1MRWxlbWVudCxcbiAgdHJpZ2dlcjogSFRNTEVsZW1lbnQsXG4gIGNvbnRhaW5lcjogSFRNTEVsZW1lbnQsXG4gIHByb3BlcnRpZXM/OiB7XG4gICAgdmVydGljYWxPZmZzZXQ/OiBudW1iZXI7XG4gICAgaG9yaXpvbnRhbE9mZnNldD86IG51bWJlcjtcbiAgICBjZW50ZXJlZD86IGJvb2xlYW47XG4gICAgcmVzcG9uc2l2ZUhlaWdodD86IGJvb2xlYW47XG4gICAgZm9yY2VBYm92ZT86IGJvb2xlYW47XG4gICAgZm9yY2VCZWxvdz86IGJvb2xlYW47XG4gIH0sXG4pOiBTYmJFbGVtZW50UG9zaXRpb25JbmZvcyB7XG4gIGNvbnN0IG1heFdpZHRoT2Zmc2V0ID0gMTY7XG4gIGNvbnN0IHZlcnRpY2FsT2Zmc2V0ID0gcHJvcGVydGllcz8udmVydGljYWxPZmZzZXQgfHwgMDtcbiAgY29uc3QgaG9yaXpvbnRhbE9mZnNldCA9IHByb3BlcnRpZXM/Lmhvcml6b250YWxPZmZzZXQgfHwgMDtcbiAgY29uc3QgcmVzcG9uc2l2ZUhlaWdodCA9IHByb3BlcnRpZXM/LnJlc3BvbnNpdmVIZWlnaHQgfHwgZmFsc2U7XG5cbiAgY29uc3QgdHJpZ2dlclJlYyA9IHRyaWdnZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIGNvbnN0IGVsZW1lbnRSZWMgPSBnZXRFbGVtZW50UmVjdGFuZ2xlKGVsZW1lbnQpO1xuXG4gIGNvbnN0IHRyaWdnZXJMZWZ0ID0gdHJpZ2dlclJlYy5sZWZ0O1xuICBjb25zdCB0cmlnZ2VyVG9wID0gdHJpZ2dlclJlYy50b3A7XG5cbiAgY29uc3QgYXZhaWxhYmxlU3BhY2VSaWdodCA9XG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoIC0gKHRyaWdnZXJMZWZ0ICsgdHJpZ2dlclJlYy53aWR0aCk7XG4gIGNvbnN0IGF2YWlsYWJsZVNwYWNlQWJvdmUgPSB0cmlnZ2VyVG9wIC0gdmVydGljYWxPZmZzZXQ7XG4gIGNvbnN0IGF2YWlsYWJsZVNwYWNlQmVsb3cgPVxuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQgLSAodHJpZ2dlclRvcCArIHRyaWdnZXJSZWMuaGVpZ2h0ICsgdmVydGljYWxPZmZzZXQpO1xuXG4gIC8vIERlZmF1bHQgZWxlbWVudCBhbGlnbm1lbnQgaXMgXCJzdGFydC9iZWxvd1wiXG4gIGxldCBlbGVtZW50WFBvc2l0aW9uID0gdHJpZ2dlckxlZnQ7XG4gIGxldCBlbGVtZW50WVBvc2l0aW9uID0gdHJpZ2dlclRvcCArIHRyaWdnZXJSZWMuaGVpZ2h0ICsgdmVydGljYWxPZmZzZXQ7XG4gIGxldCBlbGVtZW50WE92ZXJmbG93ID0gZWxlbWVudFJlYy5vZmZzZXRXaWR0aCAtIHRyaWdnZXJSZWMud2lkdGg7XG4gIGNvbnN0IGFsaWdubWVudDogU2JiQWxpZ25tZW50ID0geyBob3Jpem9udGFsOiAnc3RhcnQnLCB2ZXJ0aWNhbDogJ2JlbG93JyB9O1xuXG4gIC8vIENhbGN1bGF0ZSBlbGVtZW50IG1heC1oZWlnaHRcbiAgbGV0IGVsZW1lbnRNYXhIZWlnaHQgPSBgJHthdmFpbGFibGVTcGFjZUJlbG93IC0gdmVydGljYWxPZmZzZXR9cHhgO1xuXG4gIC8vIENoZWNrIGlmIGhvcml6b250YWwgYWxpZ25tZW50IG5lZWRzIHRvIGJlIGNoYW5nZWQgdG8gXCJjZW50ZXJcIlxuICBpZiAoXG4gICAgcHJvcGVydGllcz8uY2VudGVyZWQgJiZcbiAgICB0cmlnZ2VyTGVmdCAtIG1heFdpZHRoT2Zmc2V0ICsgdHJpZ2dlclJlYy53aWR0aCAvIDIgPiBlbGVtZW50UmVjLm9mZnNldFdpZHRoIC8gMiAmJlxuICAgIGF2YWlsYWJsZVNwYWNlUmlnaHQgLSBtYXhXaWR0aE9mZnNldCA+IGVsZW1lbnRYT3ZlcmZsb3cgLyAyXG4gICkge1xuICAgIGVsZW1lbnRYUG9zaXRpb24gLT0gZWxlbWVudFhPdmVyZmxvdyAvPSAyO1xuICAgIGFsaWdubWVudC5ob3Jpem9udGFsID0gJ2NlbnRlcic7XG4gIH1cblxuICAvLyBDaGVjayBpZiBob3Jpem9udGFsIGFsaWdubWVudCBuZWVkcyB0byBiZSBjaGFuZ2VkIHRvIFwiZW5kXCJcbiAgaWYgKGF2YWlsYWJsZVNwYWNlUmlnaHQgPCBlbGVtZW50WE92ZXJmbG93ICYmIHRyaWdnZXJMZWZ0ID4gZWxlbWVudFhPdmVyZmxvdykge1xuICAgIGVsZW1lbnRYUG9zaXRpb24gPSBlbGVtZW50WFBvc2l0aW9uIC0gZWxlbWVudFhPdmVyZmxvdztcbiAgICBhbGlnbm1lbnQuaG9yaXpvbnRhbCA9ICdlbmQnO1xuICB9XG5cbiAgLy8gQWRkIGhvcml6b250YWwgb2Zmc2V0XG4gIGlmIChcbiAgICBob3Jpem9udGFsT2Zmc2V0ICYmXG4gICAgYWxpZ25tZW50Lmhvcml6b250YWwgIT09ICdjZW50ZXInICYmXG4gICAgdHJpZ2dlclJlYy53aWR0aCAvIDIgPCBob3Jpem9udGFsT2Zmc2V0XG4gICkge1xuICAgIGVsZW1lbnRYUG9zaXRpb24gKz0gaG9yaXpvbnRhbE9mZnNldCAqIChhbGlnbm1lbnQuaG9yaXpvbnRhbCA9PT0gJ3N0YXJ0JyA/IC0xIDogMSk7XG4gIH1cblxuICAvLyBDaGVjayB3aGV0aGVyIHRoZXJlIGlzIGluc3VmZmljaWVudCBzcGFjZSBvbiBib3RoIHNpZGVzXG4gIGlmIChcbiAgICAodHJpZ2dlckxlZnQgPCBlbGVtZW50WE92ZXJmbG93ICYmIGF2YWlsYWJsZVNwYWNlUmlnaHQgPCBlbGVtZW50WE92ZXJmbG93KSB8fFxuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCA8IGVsZW1lbnRSZWMub2Zmc2V0V2lkdGhcbiAgKSB7XG4gICAgZWxlbWVudFhQb3NpdGlvbiA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCAvIDIgLSBlbGVtZW50UmVjLm9mZnNldFdpZHRoIC8gMjtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHZlcnRpY2FsIGFsaWdubWVudCBuZWVkcyB0byBiZSBjaGFuZ2VkIHRvIFwiYWJvdmVcIi5cbiAgLy8gV2hlbiB0aGUgZWxlbWVudCBkb2Vzbid0IGZpdCBpbiBlaXRoZXIgZGlyZWN0aW9uLCBwcmVmZXIgdGhlIHNpZGUgd2l0aCBtb3JlIHNwYWNlXG4gIC8vIHRvIGF2b2lkIGFuIGluZmluaXRlIHJlcG9zaXRpb25pbmcgbG9vcCAoYWJvdmUg4oaUIGJlbG93KS5cbiAgY29uc3QgZml0c0JlbG93ID0gYXZhaWxhYmxlU3BhY2VCZWxvdyAtIHZlcnRpY2FsT2Zmc2V0ID49IGVsZW1lbnRSZWMuc2Nyb2xsSGVpZ2h0O1xuICBjb25zdCBmaXRzQWJvdmUgPVxuICAgIGF2YWlsYWJsZVNwYWNlQWJvdmUgLSB2ZXJ0aWNhbE9mZnNldCA+PVxuICAgIChyZXNwb25zaXZlSGVpZ2h0ID8gZWxlbWVudFJlYy5jbGllbnRIZWlnaHQgOiBlbGVtZW50UmVjLnNjcm9sbEhlaWdodCk7XG4gIGNvbnN0IG1vcmVTcGFjZUFib3ZlID0gYXZhaWxhYmxlU3BhY2VBYm92ZSA+IGF2YWlsYWJsZVNwYWNlQmVsb3c7XG4gIGNvbnN0IHNob3VsZE9wZW5BYm92ZSA9ICFmaXRzQmVsb3cgJiYgKGZpdHNBYm92ZSB8fCBtb3JlU3BhY2VBYm92ZSk7XG5cbiAgaWYgKCFwcm9wZXJ0aWVzPy5mb3JjZUJlbG93ICYmIChwcm9wZXJ0aWVzPy5mb3JjZUFib3ZlIHx8IHNob3VsZE9wZW5BYm92ZSkpIHtcbiAgICBlbGVtZW50WVBvc2l0aW9uID1cbiAgICAgIGF2YWlsYWJsZVNwYWNlQWJvdmUgPCBlbGVtZW50UmVjLnNjcm9sbEhlaWdodFxuICAgICAgICA/IGVsZW1lbnRZUG9zaXRpb24gLSB0cmlnZ2VyUmVjLmhlaWdodCAtIGF2YWlsYWJsZVNwYWNlQWJvdmUgLSB2ZXJ0aWNhbE9mZnNldFxuICAgICAgICA6IHRyaWdnZXJUb3AgLSBlbGVtZW50UmVjLmNsaWVudEhlaWdodCAtIHZlcnRpY2FsT2Zmc2V0O1xuXG4gICAgZWxlbWVudE1heEhlaWdodCA9IGAke2F2YWlsYWJsZVNwYWNlQWJvdmUgLSB2ZXJ0aWNhbE9mZnNldH1weGA7XG4gICAgYWxpZ25tZW50LnZlcnRpY2FsID0gJ2Fib3ZlJztcbiAgfVxuXG4gIGNvbnN0IGNvbnRhaW5lclJlY3QgPSBjb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgLy8gV2hlbiB6b29taW5nIGluIFNhZmFyaSB0aGUgY29udGFpbmVyIHJlY3RhbmdsZSBjb250YWlucyBuZWdhdGl2ZSB2YWx1ZXMgZm9yIHRoZSBwb3NpdGlvbixcbiAgLy8gYW5kIHdlIG5lZWQgdG8gcmUtYWRkIHRoZW0gdG8gdGhlIGNhbGN1bGF0ZWQgY29vcmRpbmF0ZXMuXG4gIGlmIChjb250YWluZXJSZWN0LmxlZnQgPCAwKSB7XG4gICAgZWxlbWVudFhQb3NpdGlvbiAtPSBjb250YWluZXJSZWN0LmxlZnQ7XG4gIH1cblxuICAvLyBOb3JtYWxseSB0aGUgY29udGFpbmVyUmVjdCdzIHRvcCB2YWx1ZSB3b3VsZCBiZSB6ZXJvLCBob3dldmVyIHdoZW4gdGhlIG92ZXJsYXkgaXMgYXR0YWNoZWQgdG8gYW4gaW5wdXRcbiAgLy8gKGUuZy4gaW4gYW4gYXV0b2NvbXBsZXRlKSwgbW9iaWxlIGJyb3dzZXJzIHdpbGwgc2hpZnQgZXZlcnl0aGluZyBpbiBvcmRlciB0byBwdXQgdGhlIGlucHV0IGluIHRoZSBtaWRkbGVcbiAgLy8gb2YgdGhlIHNjcmVlbiBhbmQgdG8gbWFrZSBzcGFjZSBmb3IgdGhlIHZpcnR1YWwga2V5Ym9hcmQuIFdlIG5lZWQgdG8gYWNjb3VudCBmb3IgdGhpcyBvZmZzZXQsXG4gIC8vIG90aGVyd2lzZSBvdXIgcG9zaXRpb25pbmcgd2lsbCBiZSB0aHJvd24gb2ZmLlxuICAvLyBBZGRpdGlvbmFsbHksIHdoZW4gem9vbWluZyBpbiBTYWZhcmkgdGhpcyBmaXhlcyB0aGUgdmVydGljYWwgcG9zaXRpb24uXG4gIGlmIChjb250YWluZXJSZWN0LnRvcCA8IDApIHtcbiAgICBlbGVtZW50WVBvc2l0aW9uIC09IGNvbnRhaW5lclJlY3QudG9wO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB0b3A6IGVsZW1lbnRZUG9zaXRpb24sXG4gICAgbGVmdDogZWxlbWVudFhQb3NpdGlvbixcbiAgICBtYXhIZWlnaHQ6IGVsZW1lbnRNYXhIZWlnaHQsXG4gICAgYWxpZ25tZW50OiBhbGlnbm1lbnQsXG4gIH07XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB0aGUgcG9zaXRpb24gb2YgYW4gZWxlbWVudCByZWxhdGl2ZSB0byBhIHRyaWdnZXIgZWxlbWVudCBieSBldmFsdWF0aW5nXG4gKiB0aGUgb3B0aW1hbCBwb3NpdGlvbiBiYXNlZCBvbiB0aGUgYXZhaWxhYmxlIHNwYWNlLlxuICpcbiAqIEBwYXJhbSBlbGVtZW50IFRoZSBlbGVtZW50IG9mIHdoaWNoIHRvIGNhbGN1bGF0ZSB0aGUgcG9zaXRpb24uXG4gKiBAcGFyYW0gdHJpZ2dlciBUaGUgZWxlbWVudCByZWxhdGl2ZSB0byB3aGljaCB0byBjYWxjdWxhdGUgdGhlIHBvc2l0aW9uLlxuICogQHBhcmFtIGNvbnRhaW5lciBUaGUgZWxlbWVudCB3aGljaCBoYXMgdGhlIHBvc2l0aW9uOmZpeGVkIGFwcGxpZWQuXG4gKiBAcGFyYW0gcHJvcGVydGllcyBQcm9wZXJ0aWVzIHRvIHRha2UgaW50byBhY2NvdW50IGluIGNhbGN1bGF0aW9ucyAob3B0aW9uYWwpLlxuICogQHBhcmFtIHByb3BlcnRpZXMudmVydGljYWxPZmZzZXQgVGhlIGRpc3RhbmNlIHRvIGJlIGFkZGVkIGJldHdlZW4gdGhlIGVsZW1lbnQgYW5kIHRoZSB0cmlnZ2VyIChvcHRpb25hbCkuXG4gKiBAcGFyYW0gcHJvcGVydGllcy5ob3Jpem9udGFsT2Zmc2V0IFRoZSBob3Jpem9udGFsIG9mZnNldCB0byBiZSBhcHBsaWVkIHRvIHRoZSBlbGVtZW50IChvcHRpb25hbCkuXG4gKiBAcGFyYW0gcHJvcGVydGllcy5yZXNwb25zaXZlSGVpZ2h0IFdoZXRoZXIgdGhlIGVsZW1lbnQgY2FsY3VsYXRlcyBpdHMgaGVpZ2h0IGJhc2VkIG9uIGl0cyBjb250ZW50IChvcHRpb25hbCkuXG4gKiBAcmV0dXJucyBSZXR1cm5zIGFuIG9iamVjdCBjb250YWluaW5nIHRoZSBsZWZ0IHBvc2l0aW9uLCB0aGUgdG9wIHBvc2l0aW9uLCB0aGUgbWF4aW11bSBoZWlnaHRcbiAqIG9mIHRoZSBlbGVtZW50IGFuZCB0aGUgY3VycmVudCBhbGlnbm1lbnQgb2JqZWN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWxlbWVudFBvc2l0aW9uSG9yaXpvbnRhbChcbiAgZWxlbWVudDogSFRNTEVsZW1lbnQsXG4gIHRyaWdnZXI6IEhUTUxFbGVtZW50LFxuICBjb250YWluZXI6IEhUTUxFbGVtZW50LFxuICBwcm9wZXJ0aWVzPzoge1xuICAgIHZlcnRpY2FsT2Zmc2V0PzogbnVtYmVyO1xuICAgIGhvcml6b250YWxPZmZzZXQ/OiBudW1iZXI7XG4gICAgcmVzcG9uc2l2ZUhlaWdodD86IGJvb2xlYW47XG4gICAgY29udGVudFNlbGVjdG9yPzogc3RyaW5nO1xuICB9LFxuKTogU2JiRWxlbWVudFBvc2l0aW9uSW5mb3Mge1xuICBjb25zdCBtYXhIZWlnaHRPZmZzZXQgPSAxNjtcblxuICBjb25zdCB2ZXJ0aWNhbE9mZnNldCA9IHByb3BlcnRpZXM/LnZlcnRpY2FsT2Zmc2V0IHx8IDA7XG4gIGNvbnN0IGhvcml6b250YWxPZmZzZXQgPSBwcm9wZXJ0aWVzPy5ob3Jpem9udGFsT2Zmc2V0IHx8IDA7XG5cbiAgY29uc3QgdHJpZ2dlclJlYyA9IHRyaWdnZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIGNvbnN0IGVsZW1lbnRSZWMgPSBnZXRFbGVtZW50UmVjdGFuZ2xlKGVsZW1lbnQpO1xuICBjb25zdCB0cmlnZ2VyUGFyZW50UmVjID0gdHJpZ2dlclxuICAgIC5wYXJlbnRFbGVtZW50IS5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKFxuICAgICAgcHJvcGVydGllcz8uY29udGVudFNlbGVjdG9yID8/IGAuJHtlbGVtZW50LmNsYXNzTmFtZX1gLFxuICAgICkhXG4gICAgLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICBjb25zdCBjb250YWluZXJSZWN0ID0gY29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gIGNvbnN0IGF2YWlsYWJsZVNwYWNlUmlnaHQgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggLSB0cmlnZ2VyUGFyZW50UmVjLnJpZ2h0O1xuICBjb25zdCBhdmFpbGFibGVTcGFjZUJlbG93ID1cbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0IC0gKHRyaWdnZXJSZWMudG9wIC0gdmVydGljYWxPZmZzZXQpO1xuICBjb25zdCBhdmFpbGFibGVWZXJ0aWNhbFNwYWNlID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodDtcbiAgY29uc3QgZWxlbWVudE1heEhlaWdodCA9IGAke2F2YWlsYWJsZVZlcnRpY2FsU3BhY2UgLSBtYXhIZWlnaHRPZmZzZXQgKiAyfXB4YDtcbiAgY29uc3QgYWxpZ25tZW50OiBTYmJBbGlnbm1lbnQgPSB7IGhvcml6b250YWw6ICdlbmQnLCB2ZXJ0aWNhbDogJ2Fib3ZlJyB9O1xuICBjb25zdCBlbGVtZW50WE92ZXJmbG93ID0gZWxlbWVudFJlYy5vZmZzZXRXaWR0aCArIGhvcml6b250YWxPZmZzZXQ7XG5cbiAgLy8gRGVmYXVsdCBlbGVtZW50IGFsaWdubWVudCBpcyBcImVuZC9hYm92ZVwiXG4gIGxldCBlbGVtZW50WFBvc2l0aW9uID0gdHJpZ2dlclBhcmVudFJlYy5yaWdodDtcbiAgbGV0IGVsZW1lbnRZUG9zaXRpb24gPSB0cmlnZ2VyUmVjLnRvcCArIHZlcnRpY2FsT2Zmc2V0O1xuXG4gIC8vIENoZWNrIGlmIGhvcml6b250YWwgYWxpZ25tZW50IG5lZWRzIHRvIGJlIGNoYW5nZWQgdG8gXCJzdGFydFwiXG4gIGlmIChhdmFpbGFibGVTcGFjZVJpZ2h0IDwgZWxlbWVudFhPdmVyZmxvdyAmJiB0cmlnZ2VyUmVjLmxlZnQgPiBlbGVtZW50WE92ZXJmbG93KSB7XG4gICAgZWxlbWVudFhQb3NpdGlvbiA9IGVsZW1lbnRYUG9zaXRpb24gLSB0cmlnZ2VyUGFyZW50UmVjLndpZHRoIC0gZWxlbWVudFJlYy5vZmZzZXRXaWR0aDtcbiAgICBhbGlnbm1lbnQuaG9yaXpvbnRhbCA9ICdzdGFydCc7XG4gIH1cblxuICAvLyBBZGQgaG9yaXpvbnRhbCBvZmZzZXRcbiAgaWYgKGhvcml6b250YWxPZmZzZXQgJiYgYWxpZ25tZW50Lmhvcml6b250YWwgIT09ICdjZW50ZXInKSB7XG4gICAgZWxlbWVudFhQb3NpdGlvbiArPSBob3Jpem9udGFsT2Zmc2V0ICogKGFsaWdubWVudC5ob3Jpem9udGFsID09PSAnc3RhcnQnID8gLTEgOiAxKTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHZlcnRpY2FsIGFsaWdubWVudCBuZWVkcyB0byBiZSBjaGFuZ2VkIHRvIFwiYWJvdmVcIjpcbiAgaWYgKGF2YWlsYWJsZVNwYWNlQmVsb3cgPCBlbGVtZW50UmVjLnNjcm9sbEhlaWdodCkge1xuICAgIGVsZW1lbnRZUG9zaXRpb24gPSBhdmFpbGFibGVWZXJ0aWNhbFNwYWNlIC0gZWxlbWVudFJlYy5jbGllbnRIZWlnaHQgLSBtYXhIZWlnaHRPZmZzZXQ7XG4gIH1cblxuICAvLyBXaGVuIHpvb21pbmcgaW4gU2FmYXJpIHRoZSBjb250YWluZXIgcmVjdGFuZ2xlIGNvbnRhaW5zIG5lZ2F0aXZlIHZhbHVlcyBmb3IgdGhlIHBvc2l0aW9uLFxuICAvLyBhbmQgd2UgbmVlZCB0byByZS1hZGQgdGhlbSB0byB0aGUgY2FsY3VsYXRlZCBjb29yZGluYXRlcy5cbiAgaWYgKGNvbnRhaW5lclJlY3QubGVmdCA8IDApIHtcbiAgICBlbGVtZW50WFBvc2l0aW9uIC09IGNvbnRhaW5lclJlY3QubGVmdDtcbiAgfVxuXG4gIC8vIE5vcm1hbGx5IHRoZSBjb250YWluZXJSZWN0J3MgdG9wIHZhbHVlIHdvdWxkIGJlIHplcm8sIGhvd2V2ZXIgd2hlbiB0aGUgb3ZlcmxheSBpcyBhdHRhY2hlZCB0byBhbiBpbnB1dFxuICAvLyAoZS5nLiBpbiBhbiBhdXRvY29tcGxldGUpLCBtb2JpbGUgYnJvd3NlcnMgd2lsbCBzaGlmdCBldmVyeXRoaW5nIGluIG9yZGVyIHRvIHB1dCB0aGUgaW5wdXQgaW4gdGhlIG1pZGRsZVxuICAvLyBvZiB0aGUgc2NyZWVuIGFuZCB0byBtYWtlIHNwYWNlIGZvciB0aGUgdmlydHVhbCBrZXlib2FyZC4gV2UgbmVlZCB0byBhY2NvdW50IGZvciB0aGlzIG9mZnNldCxcbiAgLy8gb3RoZXJ3aXNlIG91ciBwb3NpdGlvbmluZyB3aWxsIGJlIHRocm93biBvZmYuXG4gIC8vIEFkZGl0aW9uYWxseSwgd2hlbiB6b29taW5nIGluIFNhZmFyaSB0aGlzIGZpeGVzIHRoZSB2ZXJ0aWNhbCBwb3NpdGlvbi5cbiAgaWYgKGNvbnRhaW5lclJlY3QudG9wIDwgMCkge1xuICAgIGVsZW1lbnRZUG9zaXRpb24gLT0gY29udGFpbmVyUmVjdC50b3A7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHRvcDogZWxlbWVudFlQb3NpdGlvbixcbiAgICBsZWZ0OiBlbGVtZW50WFBvc2l0aW9uLFxuICAgIG1heEhlaWdodDogZWxlbWVudE1heEhlaWdodCxcbiAgICBhbGlnbm1lbnQ6IGFsaWdubWVudCxcbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7OztBQW9CQSxTQUFnQixvQkFBb0IsSUFBZTtDQUNqRCxNQUFNLGVBQWUsT0FBTyxpQkFBaUIsR0FBRyxFQUM5QyxpQkFBaUIsYUFBYSxTQUM5QixtQkFBbUIsU0FBUyxhQUFhLFdBQVcsR0FBRyxDQUFDLFVBQVU7QUFHcEUsS0FBSSxtQkFBbUIsVUFBVSxxQkFBcUIsSUFDcEQsUUFBTztFQUNMLGNBQWMsR0FBRztFQUNqQixjQUFjLEdBQUc7RUFDakIsY0FBYyxHQUFHO0VBQ2pCLGFBQWEsR0FBRztFQUNoQixhQUFhLEdBQUc7RUFDaEIsYUFBYSxHQUFHO0VBQ2pCO0FBS0gsSUFBRyxNQUFNLFdBQVc7QUFDcEIsSUFBRyxNQUFNLGFBQWE7QUFDdEIsSUFBRyxNQUFNLFVBQVU7Q0FFbkIsTUFBTSxlQUFlLEdBQUcsY0FDdEIsZUFBZSxHQUFHLGNBQ2xCLGVBQWUsR0FBRyxjQUNsQixjQUFjLEdBQUcsYUFDakIsY0FBYyxHQUFHLGFBQ2pCLGNBQWMsR0FBRztBQUduQixJQUFHLE1BQU0sVUFBVTtBQUNuQixJQUFHLE1BQU0sV0FBVztBQUNwQixJQUFH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
@@ -85,7 +85,7 @@ export declare class SbbPopoverElement extends SbbPopoverBaseElement {
85
85
  private _closeDelay?;
86
86
  /** This will be forwarded as aria-label to the close button element. */
87
87
  accessor accessibilityCloseLabel: string;
88
- private _hoverTrigger;
88
+ private accessor _hoverTrigger;
89
89
  private _openTimeout?;
90
90
  private _language;
91
91
  private _overlayAbortController;