@skyux/grids 7.4.2 → 7.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.
@@ -134,7 +134,7 @@
134
134
  "isPublic": true
135
135
  },
136
136
  "comment": {
137
- "shortText": "Specifies the horizontal alignment of the column's data and header.\nOptions include: `\"left\"`, `\"center\"`, and `\"right\"`.",
137
+ "shortText": "The horizontal alignment of the column's data and header.\nOptions include: `\"left\"`, `\"center\"`, and `\"right\"`.",
138
138
  "tags": [
139
139
  {
140
140
  "tag": "default",
@@ -177,7 +177,7 @@
177
177
  "isPublic": true
178
178
  },
179
179
  "comment": {
180
- "shortText": "Specifies a description for the column."
180
+ "shortText": "The description for the column."
181
181
  },
182
182
  "decorators": [
183
183
  {
@@ -270,7 +270,7 @@
270
270
  "isPublic": true
271
271
  },
272
272
  "comment": {
273
- "shortText": "Indicates whether to disable the highlighting of search text in the column.",
273
+ "shortText": "Whether to disable the highlighting of search text in the column.",
274
274
  "tags": [
275
275
  {
276
276
  "tag": "default",
@@ -311,7 +311,7 @@
311
311
  "isPublic": true
312
312
  },
313
313
  "comment": {
314
- "shortText": "Specifies the property to retrieve cell information from an entry on the grid `data` array.\nYou must provide either the `id` or `field` property for every column,\nbut do not provide both. If `id` does not exist on a column, then `field` is the entry\nfor the grid `selectedColumnIds` array."
314
+ "shortText": "The property to retrieve cell information from an entry on the grid `data` array.\nYou must provide either the `id` or `field` property for every column,\nbut do not provide both. If `id` does not exist on a column, then `field` is the entry\nfor the grid `selectedColumnIds` array."
315
315
  },
316
316
  "decorators": [
317
317
  {
@@ -346,7 +346,7 @@
346
346
  "isPublic": true
347
347
  },
348
348
  "comment": {
349
- "shortText": "Specifies text to display in the column header."
349
+ "shortText": "Text to display in the column header."
350
350
  },
351
351
  "decorators": [
352
352
  {
@@ -439,7 +439,7 @@
439
439
  "isPublic": true
440
440
  },
441
441
  "comment": {
442
- "shortText": "Indicates whether the column is initially hidden when grid `selectedColumnIds` are not provided.",
442
+ "shortText": "Whether the column is initially hidden when grid `selectedColumnIds` are not provided.",
443
443
  "tags": [
444
444
  {
445
445
  "tag": "default",
@@ -480,7 +480,7 @@
480
480
  "isPublic": true
481
481
  },
482
482
  "comment": {
483
- "shortText": "Specifies a unique ID for the column. You must provide either the `id` or `field` property\nfor every column, but do not provide both. If `field` does not exist on a column,\nthen the `id` property retrieves cell information from an entry on the grid `data` array."
483
+ "shortText": "The unique ID for the column. You must provide either the `id` or `field` property\nfor every column, but do not provide both. If `field` does not exist on a column,\nthen the `id` property retrieves cell information from an entry on the grid `data` array."
484
484
  },
485
485
  "decorators": [
486
486
  {
@@ -515,7 +515,7 @@
515
515
  "isPublic": true
516
516
  },
517
517
  "comment": {
518
- "shortText": "Specifies a template to display inside an inline help popup for this column."
518
+ "shortText": "The template to display inside an inline help popup for this column."
519
519
  },
520
520
  "decorators": [
521
521
  {
@@ -579,7 +579,7 @@
579
579
  "isPublic": true
580
580
  },
581
581
  "comment": {
582
- "shortText": "Indicates whether the column sorts the grid when users click the column header.",
582
+ "shortText": "Whether the column sorts the grid when users click the column header.",
583
583
  "tags": [
584
584
  {
585
585
  "tag": "default",
@@ -621,7 +621,7 @@
621
621
  "isPublic": true
622
622
  },
623
623
  "comment": {
624
- "shortText": "Indicates whether the column is locked. The intent is to display locked columns first\non the left side of the grid. If set to `true`, then users cannot drag the column\nto another position and or drag other columns before the locked column.",
624
+ "shortText": "Whether the column is locked. The intent is to display locked columns first\non the left side of the grid. If set to `true`, then users cannot drag the column\nto another position and or drag other columns before the locked column.",
625
625
  "tags": [
626
626
  {
627
627
  "tag": "default",
@@ -698,7 +698,7 @@
698
698
  "kindString": "Call signature",
699
699
  "flags": {},
700
700
  "comment": {
701
- "shortText": "Specifies a search function to apply for the specific column. By default,\nthe column executes a string compare on the column data.",
701
+ "shortText": "The search function to apply for the specific column. By default,\nthe column executes a string compare on the column data.",
702
702
  "tags": [
703
703
  {
704
704
  "tag": "default",
@@ -749,7 +749,7 @@
749
749
  "isPublic": true
750
750
  },
751
751
  "comment": {
752
- "shortText": "Specifies a template for a column. This can be assigned as a reference\nto the `template` attribute, or it can be assigned as a child of the `template` element\ninside the `sky-grid-column` component. The template has access to the `value` variable,\nwhich contains the value passed to the column, and the `row` variable, which contains\nthe entire row data."
752
+ "shortText": "The template for a column. This can be assigned as a reference\nto the `template` attribute, or it can be assigned as a child of the `template` element\ninside the `sky-grid-column` component. The template has access to the `value` variable,\nwhich contains the value passed to the column, and the `row` variable, which contains\nthe entire row data."
753
753
  },
754
754
  "decorators": [
755
755
  {
@@ -794,7 +794,7 @@
794
794
  "isPublic": true
795
795
  },
796
796
  "comment": {
797
- "shortText": "Specifies the width of the column in pixels.\nIf undefined, the column width is evenly distributed."
797
+ "shortText": "The width of the column in pixels.\nIf undefined, the column width is evenly distributed."
798
798
  },
799
799
  "decorators": [
800
800
  {
@@ -1230,7 +1230,7 @@
1230
1230
  "isPublic": true
1231
1231
  },
1232
1232
  "comment": {
1233
- "shortText": "Specifies the data for the grid. Each item requires an `id` and a property that maps\nto the `field` or `id` property of each column in the grid."
1233
+ "shortText": "The data for the grid. Each item requires an `id` and a property that maps\nto the `field` or `id` property of each column in the grid."
1234
1234
  },
1235
1235
  "decorators": [
1236
1236
  {
@@ -1311,7 +1311,7 @@
1311
1311
  "isPublic": true
1312
1312
  },
1313
1313
  "comment": {
1314
- "shortText": "Indicates whether to enable the multiselect feature to display a column of\ncheckboxes on the left side of the grid. You can specify a unique ID with\nthe `multiselectRowId` property, but multiselect defaults to the `id` property on\nthe `data` object.",
1314
+ "shortText": "Whether to enable the multiselect feature to display a column of\ncheckboxes on the left side of the grid. You can specify a unique ID with\nthe `multiselectRowId` property, but multiselect defaults to the `id` property on\nthe `data` object.",
1315
1315
  "tags": [
1316
1316
  {
1317
1317
  "tag": "default",
@@ -1353,7 +1353,7 @@
1353
1353
  "isPublic": true
1354
1354
  },
1355
1355
  "comment": {
1356
- "shortText": "Specifies how the grid fits to its parent. The valid options are `width`,\nwhich fits the grid to the parent's full width, and `scroll`, which allows the grid\nto exceed the parent's width. If the grid does not have enough columns to fill\nthe parent's width, it always stretches to the parent's full width.",
1356
+ "shortText": "How the grid fits to its parent. The valid options are `width`,\nwhich fits the grid to the parent's full width, and `scroll`, which allows the grid\nto exceed the parent's width. If the grid does not have enough columns to fill\nthe parent's width, it always stretches to the parent's full width.",
1357
1357
  "tags": [
1358
1358
  {
1359
1359
  "tag": "default",
@@ -1416,7 +1416,7 @@
1416
1416
  "isPublic": true
1417
1417
  },
1418
1418
  "comment": {
1419
- "shortText": "Indicates whether to display a toolbar with the grid."
1419
+ "shortText": "Whether to display a toolbar with the grid."
1420
1420
  },
1421
1421
  "decorators": [
1422
1422
  {
@@ -1452,7 +1452,7 @@
1452
1452
  "isPublic": true
1453
1453
  },
1454
1454
  "comment": {
1455
- "shortText": "Specifies the height of the grid."
1455
+ "shortText": "The height of the grid."
1456
1456
  },
1457
1457
  "decorators": [
1458
1458
  {
@@ -1487,7 +1487,7 @@
1487
1487
  "isPublic": true
1488
1488
  },
1489
1489
  "comment": {
1490
- "shortText": "Specifies text to highlight within the grid.\nTypically, this property is used in conjunction with search."
1490
+ "shortText": "Text to highlight within the grid.\nTypically, this property is used in conjunction with search."
1491
1491
  },
1492
1492
  "decorators": [
1493
1493
  {
@@ -1566,7 +1566,7 @@
1566
1566
  "isPublic": true
1567
1567
  },
1568
1568
  "comment": {
1569
- "shortText": "Provides an observable to send commands to the grid."
1569
+ "shortText": "The observable to send commands to the grid."
1570
1570
  },
1571
1571
  "decorators": [
1572
1572
  {
@@ -1632,7 +1632,7 @@
1632
1632
  "isPublic": true
1633
1633
  },
1634
1634
  "comment": {
1635
- "shortText": "Specifies a unique ID that matches a property on the `data` object.\nBy default, this property uses the `id` property."
1635
+ "shortText": "The unique ID that matches a property on the `data` object.\nBy default, this property uses the `id` property."
1636
1636
  },
1637
1637
  "decorators": [
1638
1638
  {
@@ -1736,7 +1736,7 @@
1736
1736
  "isPublic": true
1737
1737
  },
1738
1738
  "comment": {
1739
- "shortText": "Specifies the ID of the row to highlight. The ID matches the `id` property\nof the `data` object. Typically, this property is used in conjunction with\nthe flyout component to indicate the currently selected row."
1739
+ "shortText": "The ID of the row to highlight. The ID matches the `id` property\nof the `data` object. Typically, this property is used in conjunction with\nthe flyout component to indicate the currently selected row."
1740
1740
  },
1741
1741
  "decorators": [
1742
1742
  {
@@ -1818,7 +1818,7 @@
1818
1818
  "isPublic": true
1819
1819
  },
1820
1820
  "comment": {
1821
- "shortText": "Specifies a unique key for the UI Config Service to retrieve stored settings from a database.\nThe UI Config Service saves configuration settings for users and returns\n`selectedColumnIds` to preserve the columns to display and the preferred column order. You must provide `id` values for your `sky-grid-column` elements because the UI Config Service depends on those values to organize columns based on user settings. For more information about the UI Config Service, see [the sticky settings documentation](https://developer.blackbaud.com/skyux/learn/get-started/sticky-settings)."
1821
+ "shortText": "The unique key for the UI Config Service to retrieve stored settings from a database.\nThe UI Config Service saves configuration settings for users and returns\n`selectedColumnIds` to preserve the columns to display and the preferred column order. You must provide `id` values for your `sky-grid-column` elements because the UI Config Service depends on those values to organize columns based on user settings. For more information about the UI Config Service, see [the sticky settings documentation](https://developer.blackbaud.com/skyux/learn/get-started/sticky-settings)."
1822
1822
  },
1823
1823
  "decorators": [
1824
1824
  {
@@ -1974,7 +1974,7 @@
1974
1974
  "isPublic": true
1975
1975
  },
1976
1976
  "comment": {
1977
- "shortText": "Specifies the width of the grid in pixels."
1977
+ "shortText": "The width of the grid in pixels."
1978
1978
  },
1979
1979
  "decorators": [
1980
1980
  {
@@ -2035,7 +2035,7 @@
2035
2035
  "kindString": "Get signature",
2036
2036
  "flags": {},
2037
2037
  "comment": {
2038
- "shortText": "Specifies columns and column properties for the grid."
2038
+ "shortText": "Columns and column properties for the grid."
2039
2039
  },
2040
2040
  "type": {
2041
2041
  "type": "array",
@@ -2054,7 +2054,7 @@
2054
2054
  "kindString": "Set signature",
2055
2055
  "flags": {},
2056
2056
  "comment": {
2057
- "shortText": "Specifies columns and column properties for the grid."
2057
+ "shortText": "Columns and column properties for the grid."
2058
2058
  },
2059
2059
  "parameters": [
2060
2060
  {
@@ -2114,7 +2114,7 @@
2114
2114
  "kindString": "Get signature",
2115
2115
  "flags": {},
2116
2116
  "comment": {
2117
- "shortText": "Specifies the columns to display in the grid based on the `id` or `field` properties\nof the columns. If no columns are specified, then the grid displays all columns."
2117
+ "shortText": "The columns to display in the grid based on the `id` or `field` properties\nof the columns. If no columns are specified, then the grid displays all columns."
2118
2118
  },
2119
2119
  "type": {
2120
2120
  "type": "array",
@@ -2133,7 +2133,7 @@
2133
2133
  "kindString": "Set signature",
2134
2134
  "flags": {},
2135
2135
  "comment": {
2136
- "shortText": "Specifies the columns to display in the grid based on the `id` or `field` properties\nof the columns. If no columns are specified, then the grid displays all columns."
2136
+ "shortText": "The columns to display in the grid based on the `id` or `field` properties\nof the columns. If no columns are specified, then the grid displays all columns."
2137
2137
  },
2138
2138
  "parameters": [
2139
2139
  {
@@ -2193,7 +2193,7 @@
2193
2193
  "kindString": "Get signature",
2194
2194
  "flags": {},
2195
2195
  "comment": {
2196
- "shortText": "Specifies a set of IDs for the rows to select in a multiselect grid.\nThe IDs match the `id` properties of the `data` objects.\nRows with IDs that are not included are de-selected in the grid."
2196
+ "shortText": "The set of IDs for the rows to select in a multiselect grid.\nThe IDs match the `id` properties of the `data` objects.\nRows with IDs that are not included are de-selected in the grid."
2197
2197
  },
2198
2198
  "type": {
2199
2199
  "type": "array",
@@ -2212,7 +2212,7 @@
2212
2212
  "kindString": "Set signature",
2213
2213
  "flags": {},
2214
2214
  "comment": {
2215
- "shortText": "Specifies a set of IDs for the rows to select in a multiselect grid.\nThe IDs match the `id` properties of the `data` objects.\nRows with IDs that are not included are de-selected in the grid."
2215
+ "shortText": "The set of IDs for the rows to select in a multiselect grid.\nThe IDs match the `id` properties of the `data` objects.\nRows with IDs that are not included are de-selected in the grid."
2216
2216
  },
2217
2217
  "parameters": [
2218
2218
  {
@@ -4087,7 +4087,7 @@
4087
4087
  "isOptional": true
4088
4088
  },
4089
4089
  "comment": {
4090
- "shortText": "Specifies the field of the column."
4090
+ "shortText": "The field of the column."
4091
4091
  },
4092
4092
  "sources": [
4093
4093
  {
@@ -4110,7 +4110,7 @@
4110
4110
  "isOptional": true
4111
4111
  },
4112
4112
  "comment": {
4113
- "shortText": "Specifies the id of the column."
4113
+ "shortText": "The ID of the column."
4114
4114
  },
4115
4115
  "sources": [
4116
4116
  {
@@ -4131,7 +4131,7 @@
4131
4131
  "kindString": "Property",
4132
4132
  "flags": {},
4133
4133
  "comment": {
4134
- "shortText": "Specifies the width of the column in pixels."
4134
+ "shortText": "The width of the column in pixels."
4135
4135
  },
4136
4136
  "sources": [
4137
4137
  {
@@ -4187,7 +4187,7 @@
4187
4187
  "kindString": "Property",
4188
4188
  "flags": {},
4189
4189
  "comment": {
4190
- "shortText": "Indicates what type of message is being sent."
4190
+ "shortText": "The type of message being sent."
4191
4191
  },
4192
4192
  "sources": [
4193
4193
  {
@@ -4244,7 +4244,7 @@
4244
4244
  "isOptional": true
4245
4245
  },
4246
4246
  "comment": {
4247
- "shortText": "Indicates the `id`s of the rows that are selected."
4247
+ "shortText": "The IDs of the rows that are selected."
4248
4248
  },
4249
4249
  "sources": [
4250
4250
  {
@@ -7,18 +7,18 @@ import * as i0 from "@angular/core";
7
7
  export class SkyGridColumnComponent {
8
8
  constructor() {
9
9
  /**
10
- * Specifies the horizontal alignment of the column's data and header.
10
+ * The horizontal alignment of the column's data and header.
11
11
  * Options include: `"left"`, `"center"`, and `"right"`.
12
12
  * @default "left"
13
13
  */
14
14
  this.alignment = 'left';
15
15
  /**
16
- * Indicates whether the column sorts the grid when users click the column header.
16
+ * Whether the column sorts the grid when users click the column header.
17
17
  * @default true
18
18
  */
19
19
  this.isSortable = true;
20
20
  /**
21
- * Specifies a search function to apply for the specific column. By default,
21
+ * The search function to apply for the specific column. By default,
22
22
  * the column executes a string compare on the column data.
23
23
  * @default (value, searchText) => value.toString().toLowerCase().indexOf(searchText) !== -1
24
24
  */
@@ -112,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
112
112
  type: ContentChildren,
113
113
  args: [TemplateRef]
114
114
  }] } });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1jb2x1bW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2dyaWRzL3NyYy9saWIvbW9kdWxlcy9ncmlkL2dyaWQtY29sdW1uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLEtBQUssRUFJTCxXQUFXLEdBQ1osTUFBTSxlQUFlLENBQUM7O0FBT3ZCOzs7R0FHRztBQU1ILE1BQU0sT0FBTyxzQkFBc0I7SUFMbkM7UUFNRTs7OztXQUlHO1FBRUksY0FBUyxHQUEyQixNQUFNLENBQUM7UUFtRGxEOzs7V0FHRztRQUVJLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFXekI7Ozs7V0FJRztRQUNILDJEQUEyRDtRQUVwRCxtQkFBYyxHQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDO1FBMEJQLHVCQUFrQixHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBRXRFLDRCQUF1QixHQUM1QixJQUFJLFlBQVksRUFBdUMsQ0FBQztRQUVuRCxtQkFBYyxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBRWxFLHdCQUFtQixHQUN4QixJQUFJLFlBQVksRUFBbUMsQ0FBQztRQUUvQyxrQ0FBNkIsR0FDbEMsSUFBSSxZQUFZLEVBQTZDLENBQUM7S0FpRGpFO0lBNUNRLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QyxJQUFJLE9BQU8sQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEtBQUssS0FBSyxFQUFFO1lBQzVELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN2QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDO2dCQUM1QixLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU87Z0JBQ25CLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtnQkFDWCxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7YUFDbEIsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxJQUFJLE9BQU8sQ0FBQyxXQUFXLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEtBQUssS0FBSyxFQUFFO1lBQ3BFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQy9DLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUM7Z0JBQ2hDLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVztnQkFDdkIsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO2dCQUNYLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSzthQUNsQixDQUFDLENBQUM7U0FDSjtRQUNELElBQ0UsT0FBTyxDQUFDLGlCQUFpQjtZQUN6QixPQUFPLENBQUMsaUJBQWlCLENBQUMsV0FBVyxLQUFLLEtBQUssRUFDL0M7WUFDQSxJQUFJLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDO2dCQUN0QyxLQUFLLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjtnQkFDN0IsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO2dCQUNYLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSzthQUNsQixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDN0IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztTQUM3QjtRQUVELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRU8sTUFBTSxDQUFDLEtBQVUsRUFBRSxVQUFrQjtRQUMzQyxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUksRUFBRTtZQUN6QyxPQUFPLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDbEU7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7O29IQXZLVSxzQkFBc0I7d0dBQXRCLHNCQUFzQixtZEF5SGhCLFdBQVcsa0RBNUhsQiwyQkFBMkI7NEZBRzFCLHNCQUFzQjtrQkFMbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7OEJBUVEsU0FBUztzQkFEZixLQUFLO2dCQU9DLFdBQVc7c0JBRGpCLEtBQUs7Z0JBUUMsdUJBQXVCO3NCQUQ3QixLQUFLO2dCQVVDLEtBQUs7c0JBRFgsS0FBSztnQkFPQyxPQUFPO3NCQURiLEtBQUs7Z0JBUUMsTUFBTTtzQkFEWixLQUFLO2dCQVNDLEVBQUU7c0JBRFIsS0FBSztnQkFPQyxpQkFBaUI7c0JBRHZCLEtBQUs7Z0JBUUMsVUFBVTtzQkFEaEIsS0FBSztnQkFVQyxNQUFNO3NCQURaLEtBQUs7Z0JBVUMsY0FBYztzQkFEcEIsS0FBSzt1QkFBQyxRQUFRO2dCQVFSLElBQUk7c0JBRFYsS0FBSztnQkFZQyxhQUFhO3NCQURuQixLQUFLO3VCQUFDLFVBQVU7Z0JBUVYsS0FBSztzQkFEWCxLQUFLO2dCQWlCRSxTQUFTO3NCQURoQixlQUFlO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgUXVlcnlMaXN0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreUdyaWRDb2x1bW5BbGlnbm1lbnQgfSBmcm9tICcuL3R5cGVzL2dyaWQtY29sdW1uLWFsaWdubWVudCc7XG5pbXBvcnQgeyBTa3lHcmlkQ29sdW1uRGVzY3JpcHRpb25Nb2RlbENoYW5nZSB9IGZyb20gJy4vdHlwZXMvZ3JpZC1jb2x1bW4tZGVzY3JpcHRpb24tbW9kZWwtY2hhbmdlJztcbmltcG9ydCB7IFNreUdyaWRDb2x1bW5IZWFkaW5nTW9kZWxDaGFuZ2UgfSBmcm9tICcuL3R5cGVzL2dyaWQtY29sdW1uLWhlYWRpbmctbW9kZWwtY2hhbmdlJztcbmltcG9ydCB7IFNreUdyaWRDb2x1bW5JbmxpbmVIZWxwUG9wb3Zlck1vZGVsQ2hhbmdlIH0gZnJvbSAnLi90eXBlcy9ncmlkLWNvbHVtbi1pbmxpbmUtaGVscC1wb3BvdmVyLW1vZGVsLWNoYW5nZSc7XG5cbi8qKlxuICogU3BlY2lmaWVzIHRoZSBjb2x1bW4gaW5mb3JtYXRpb24uXG4gKiBAZGVwcmVjYXRlZCBgU2t5R3JpZENvbXBvbmVudGAgYW5kIGl0cyBmZWF0dXJlcyBhcmUgZGVwcmVjYXRlZC4gV2UgcmVjb21tZW5kIHVzaW5nIHRoZSBkYXRhIGdyaWQgaW5zdGVhZC4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvZGF0YS1ncmlkXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1ncmlkLWNvbHVtbicsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lHcmlkQ29sdW1uQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgaG9yaXpvbnRhbCBhbGlnbm1lbnQgb2YgdGhlIGNvbHVtbidzIGRhdGEgYW5kIGhlYWRlci5cbiAgICogT3B0aW9ucyBpbmNsdWRlOiBgXCJsZWZ0XCJgLCBgXCJjZW50ZXJcImAsIGFuZCBgXCJyaWdodFwiYC5cbiAgICogQGRlZmF1bHQgXCJsZWZ0XCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhbGlnbm1lbnQ6IFNreUdyaWRDb2x1bW5BbGlnbm1lbnQgPSAnbGVmdCc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhIGRlc2NyaXB0aW9uIGZvciB0aGUgY29sdW1uLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRvIGRpc2FibGUgdGhlIGhpZ2hsaWdodGluZyBvZiBzZWFyY2ggdGV4dCBpbiB0aGUgY29sdW1uLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGV4Y2x1ZGVGcm9tSGlnaGxpZ2h0aW5nOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHByb3BlcnR5IHRvIHJldHJpZXZlIGNlbGwgaW5mb3JtYXRpb24gZnJvbSBhbiBlbnRyeSBvbiB0aGUgZ3JpZCBgZGF0YWAgYXJyYXkuXG4gICAqIFlvdSBtdXN0IHByb3ZpZGUgZWl0aGVyIHRoZSBgaWRgIG9yIGBmaWVsZGAgcHJvcGVydHkgZm9yIGV2ZXJ5IGNvbHVtbixcbiAgICogYnV0IGRvIG5vdCBwcm92aWRlIGJvdGguIElmIGBpZGAgZG9lcyBub3QgZXhpc3Qgb24gYSBjb2x1bW4sIHRoZW4gYGZpZWxkYCBpcyB0aGUgZW50cnlcbiAgICogZm9yIHRoZSBncmlkIGBzZWxlY3RlZENvbHVtbklkc2AgYXJyYXkuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZmllbGQ6IHN0cmluZztcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRleHQgdG8gZGlzcGxheSBpbiB0aGUgY29sdW1uIGhlYWRlci5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoZWFkaW5nOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBjb2x1bW4gaXMgaW5pdGlhbGx5IGhpZGRlbiB3aGVuIGdyaWQgYHNlbGVjdGVkQ29sdW1uSWRzYCBhcmUgbm90IHByb3ZpZGVkLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGhpZGRlbjogYm9vbGVhbjtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIGEgdW5pcXVlIElEIGZvciB0aGUgY29sdW1uLiBZb3UgbXVzdCBwcm92aWRlIGVpdGhlciB0aGUgYGlkYCBvciBgZmllbGRgIHByb3BlcnR5XG4gICAqIGZvciBldmVyeSBjb2x1bW4sIGJ1dCBkbyBub3QgcHJvdmlkZSBib3RoLiBJZiBgZmllbGRgIGRvZXMgbm90IGV4aXN0IG9uIGEgY29sdW1uLFxuICAgKiB0aGVuIHRoZSBgaWRgIHByb3BlcnR5IHJldHJpZXZlcyBjZWxsIGluZm9ybWF0aW9uIGZyb20gYW4gZW50cnkgb24gdGhlIGdyaWQgYGRhdGFgIGFycmF5LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhIHRlbXBsYXRlIHRvIGRpc3BsYXkgaW5zaWRlIGFuIGlubGluZSBoZWxwIHBvcHVwIGZvciB0aGlzIGNvbHVtbi5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpbmxpbmVIZWxwUG9wb3ZlcjogYW55O1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgY29sdW1uIHNvcnRzIHRoZSBncmlkIHdoZW4gdXNlcnMgY2xpY2sgdGhlIGNvbHVtbiBoZWFkZXIuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpc1NvcnRhYmxlID0gdHJ1ZTtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGNvbHVtbiBpcyBsb2NrZWQuIFRoZSBpbnRlbnQgaXMgdG8gZGlzcGxheSBsb2NrZWQgY29sdW1ucyBmaXJzdFxuICAgKiBvbiB0aGUgbGVmdCBzaWRlIG9mIHRoZSBncmlkLiBJZiBzZXQgdG8gYHRydWVgLCB0aGVuIHVzZXJzIGNhbm5vdCBkcmFnIHRoZSBjb2x1bW5cbiAgICogdG8gYW5vdGhlciBwb3NpdGlvbiBhbmQgb3IgZHJhZyBvdGhlciBjb2x1bW5zIGJlZm9yZSB0aGUgbG9ja2VkIGNvbHVtbi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsb2NrZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhIHNlYXJjaCBmdW5jdGlvbiB0byBhcHBseSBmb3IgdGhlIHNwZWNpZmljIGNvbHVtbi4gQnkgZGVmYXVsdCxcbiAgICogdGhlIGNvbHVtbiBleGVjdXRlcyBhIHN0cmluZyBjb21wYXJlIG9uIHRoZSBjb2x1bW4gZGF0YS5cbiAgICogQGRlZmF1bHQgKHZhbHVlLCBzZWFyY2hUZXh0KSA9PiB2YWx1ZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2hUZXh0KSAhPT0gLTFcbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gIEBJbnB1dCgnc2VhcmNoJylcbiAgcHVibGljIHNlYXJjaEZ1bmN0aW9uOiAodmFsdWU6IGFueSwgc2VhcmNoVGV4dDogc3RyaW5nKSA9PiBib29sZWFuID1cbiAgICB0aGlzLnNlYXJjaDtcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgdHlwZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYSB0ZW1wbGF0ZSBmb3IgYSBjb2x1bW4uIFRoaXMgY2FuIGJlIGFzc2lnbmVkIGFzIGEgcmVmZXJlbmNlXG4gICAqIHRvIHRoZSBgdGVtcGxhdGVgIGF0dHJpYnV0ZSwgb3IgaXQgY2FuIGJlIGFzc2lnbmVkIGFzIGEgY2hpbGQgb2YgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudFxuICAgKiBpbnNpZGUgdGhlIGBza3ktZ3JpZC1jb2x1bW5gIGNvbXBvbmVudC4gVGhlIHRlbXBsYXRlIGhhcyBhY2Nlc3MgdG8gdGhlIGB2YWx1ZWAgdmFyaWFibGUsXG4gICAqIHdoaWNoIGNvbnRhaW5zIHRoZSB2YWx1ZSBwYXNzZWQgdG8gdGhlIGNvbHVtbiwgYW5kIHRoZSBgcm93YCB2YXJpYWJsZSwgd2hpY2ggY29udGFpbnNcbiAgICogdGhlIGVudGlyZSByb3cgZGF0YS5cbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gIEBJbnB1dCgndGVtcGxhdGUnKVxuICBwdWJsaWMgdGVtcGxhdGVJbnB1dDogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbiBpbiBwaXhlbHMuXG4gICAqIElmIHVuZGVmaW5lZCwgdGhlIGNvbHVtbiB3aWR0aCBpcyBldmVubHkgZGlzdHJpYnV0ZWQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgd2lkdGg6IG51bWJlcjtcblxuICBwdWJsaWMgZGVzY3JpcHRpb25DaGFuZ2VzOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIHB1YmxpYyBkZXNjcmlwdGlvbk1vZGVsQ2hhbmdlcyA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxTa3lHcmlkQ29sdW1uRGVzY3JpcHRpb25Nb2RlbENoYW5nZT4oKTtcblxuICBwdWJsaWMgaGVhZGluZ0NoYW5nZXM6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgcHVibGljIGhlYWRpbmdNb2RlbENoYW5nZXMgPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8U2t5R3JpZENvbHVtbkhlYWRpbmdNb2RlbENoYW5nZT4oKTtcblxuICBwdWJsaWMgaW5saW5lSGVscFBvcG92ZXJNb2RlbENoYW5nZXMgPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8U2t5R3JpZENvbHVtbklubGluZUhlbHBQb3BvdmVyTW9kZWxDaGFuZ2U+KCk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihUZW1wbGF0ZVJlZilcbiAgcHJpdmF0ZSB0ZW1wbGF0ZXM6IFF1ZXJ5TGlzdDxUZW1wbGF0ZVJlZjx1bmtub3duPj47XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5oZWFkaW5nICYmIGNoYW5nZXMuaGVhZGluZy5maXJzdENoYW5nZSA9PT0gZmFsc2UpIHtcbiAgICAgIHRoaXMuaGVhZGluZ0NoYW5nZXMuZW1pdCh0aGlzLmhlYWRpbmcpO1xuICAgICAgdGhpcy5oZWFkaW5nTW9kZWxDaGFuZ2VzLmVtaXQoe1xuICAgICAgICB2YWx1ZTogdGhpcy5oZWFkaW5nLFxuICAgICAgICBpZDogdGhpcy5pZCxcbiAgICAgICAgZmllbGQ6IHRoaXMuZmllbGQsXG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXMuZGVzY3JpcHRpb24gJiYgY2hhbmdlcy5kZXNjcmlwdGlvbi5maXJzdENoYW5nZSA9PT0gZmFsc2UpIHtcbiAgICAgIHRoaXMuZGVzY3JpcHRpb25DaGFuZ2VzLmVtaXQodGhpcy5kZXNjcmlwdGlvbik7XG4gICAgICB0aGlzLmRlc2NyaXB0aW9uTW9kZWxDaGFuZ2VzLmVtaXQoe1xuICAgICAgICB2YWx1ZTogdGhpcy5kZXNjcmlwdGlvbixcbiAgICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICAgIGZpZWxkOiB0aGlzLmZpZWxkLFxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChcbiAgICAgIGNoYW5nZXMuaW5saW5lSGVscFBvcG92ZXIgJiZcbiAgICAgIGNoYW5nZXMuaW5saW5lSGVscFBvcG92ZXIuZmlyc3RDaGFuZ2UgPT09IGZhbHNlXG4gICAgKSB7XG4gICAgICB0aGlzLmlubGluZUhlbHBQb3BvdmVyTW9kZWxDaGFuZ2VzLmVtaXQoe1xuICAgICAgICB2YWx1ZTogdGhpcy5pbmxpbmVIZWxwUG9wb3ZlcixcbiAgICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICAgIGZpZWxkOiB0aGlzLmZpZWxkLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCB0ZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB7XG4gICAgaWYgKHRoaXMudGVtcGxhdGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiB0aGlzLnRlbXBsYXRlcy5maXJzdDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZUlucHV0O1xuICB9XG5cbiAgcHJpdmF0ZSBzZWFyY2godmFsdWU6IGFueSwgc2VhcmNoVGV4dDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdmFsdWUgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB2YWx1ZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2hUZXh0KSAhPT0gLTE7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1jb2x1bW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2dyaWRzL3NyYy9saWIvbW9kdWxlcy9ncmlkL2dyaWQtY29sdW1uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLEtBQUssRUFJTCxXQUFXLEdBQ1osTUFBTSxlQUFlLENBQUM7O0FBT3ZCOzs7R0FHRztBQU1ILE1BQU0sT0FBTyxzQkFBc0I7SUFMbkM7UUFNRTs7OztXQUlHO1FBRUksY0FBUyxHQUEyQixNQUFNLENBQUM7UUFtRGxEOzs7V0FHRztRQUVJLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFXekI7Ozs7V0FJRztRQUNILDJEQUEyRDtRQUVwRCxtQkFBYyxHQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDO1FBMEJQLHVCQUFrQixHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBRXRFLDRCQUF1QixHQUM1QixJQUFJLFlBQVksRUFBdUMsQ0FBQztRQUVuRCxtQkFBYyxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBRWxFLHdCQUFtQixHQUN4QixJQUFJLFlBQVksRUFBbUMsQ0FBQztRQUUvQyxrQ0FBNkIsR0FDbEMsSUFBSSxZQUFZLEVBQTZDLENBQUM7S0FpRGpFO0lBNUNRLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QyxJQUFJLE9BQU8sQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEtBQUssS0FBSyxFQUFFO1lBQzVELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN2QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDO2dCQUM1QixLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU87Z0JBQ25CLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtnQkFDWCxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7YUFDbEIsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxJQUFJLE9BQU8sQ0FBQyxXQUFXLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEtBQUssS0FBSyxFQUFFO1lBQ3BFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQy9DLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUM7Z0JBQ2hDLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVztnQkFDdkIsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO2dCQUNYLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSzthQUNsQixDQUFDLENBQUM7U0FDSjtRQUNELElBQ0UsT0FBTyxDQUFDLGlCQUFpQjtZQUN6QixPQUFPLENBQUMsaUJBQWlCLENBQUMsV0FBVyxLQUFLLEtBQUssRUFDL0M7WUFDQSxJQUFJLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDO2dCQUN0QyxLQUFLLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjtnQkFDN0IsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO2dCQUNYLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSzthQUNsQixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDN0IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztTQUM3QjtRQUVELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRU8sTUFBTSxDQUFDLEtBQVUsRUFBRSxVQUFrQjtRQUMzQyxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUksRUFBRTtZQUN6QyxPQUFPLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDbEU7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7O29IQXZLVSxzQkFBc0I7d0dBQXRCLHNCQUFzQixtZEF5SGhCLFdBQVcsa0RBNUhsQiwyQkFBMkI7NEZBRzFCLHNCQUFzQjtrQkFMbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7OEJBUVEsU0FBUztzQkFEZixLQUFLO2dCQU9DLFdBQVc7c0JBRGpCLEtBQUs7Z0JBUUMsdUJBQXVCO3NCQUQ3QixLQUFLO2dCQVVDLEtBQUs7c0JBRFgsS0FBSztnQkFPQyxPQUFPO3NCQURiLEtBQUs7Z0JBUUMsTUFBTTtzQkFEWixLQUFLO2dCQVNDLEVBQUU7c0JBRFIsS0FBSztnQkFPQyxpQkFBaUI7c0JBRHZCLEtBQUs7Z0JBUUMsVUFBVTtzQkFEaEIsS0FBSztnQkFVQyxNQUFNO3NCQURaLEtBQUs7Z0JBVUMsY0FBYztzQkFEcEIsS0FBSzt1QkFBQyxRQUFRO2dCQVFSLElBQUk7c0JBRFYsS0FBSztnQkFZQyxhQUFhO3NCQURuQixLQUFLO3VCQUFDLFVBQVU7Z0JBUVYsS0FBSztzQkFEWCxLQUFLO2dCQWlCRSxTQUFTO3NCQURoQixlQUFlO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgUXVlcnlMaXN0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreUdyaWRDb2x1bW5BbGlnbm1lbnQgfSBmcm9tICcuL3R5cGVzL2dyaWQtY29sdW1uLWFsaWdubWVudCc7XG5pbXBvcnQgeyBTa3lHcmlkQ29sdW1uRGVzY3JpcHRpb25Nb2RlbENoYW5nZSB9IGZyb20gJy4vdHlwZXMvZ3JpZC1jb2x1bW4tZGVzY3JpcHRpb24tbW9kZWwtY2hhbmdlJztcbmltcG9ydCB7IFNreUdyaWRDb2x1bW5IZWFkaW5nTW9kZWxDaGFuZ2UgfSBmcm9tICcuL3R5cGVzL2dyaWQtY29sdW1uLWhlYWRpbmctbW9kZWwtY2hhbmdlJztcbmltcG9ydCB7IFNreUdyaWRDb2x1bW5JbmxpbmVIZWxwUG9wb3Zlck1vZGVsQ2hhbmdlIH0gZnJvbSAnLi90eXBlcy9ncmlkLWNvbHVtbi1pbmxpbmUtaGVscC1wb3BvdmVyLW1vZGVsLWNoYW5nZSc7XG5cbi8qKlxuICogU3BlY2lmaWVzIHRoZSBjb2x1bW4gaW5mb3JtYXRpb24uXG4gKiBAZGVwcmVjYXRlZCBgU2t5R3JpZENvbXBvbmVudGAgYW5kIGl0cyBmZWF0dXJlcyBhcmUgZGVwcmVjYXRlZC4gV2UgcmVjb21tZW5kIHVzaW5nIHRoZSBkYXRhIGdyaWQgaW5zdGVhZC4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvZGF0YS1ncmlkXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1ncmlkLWNvbHVtbicsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lHcmlkQ29sdW1uQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgLyoqXG4gICAqIFRoZSBob3Jpem9udGFsIGFsaWdubWVudCBvZiB0aGUgY29sdW1uJ3MgZGF0YSBhbmQgaGVhZGVyLlxuICAgKiBPcHRpb25zIGluY2x1ZGU6IGBcImxlZnRcImAsIGBcImNlbnRlclwiYCwgYW5kIGBcInJpZ2h0XCJgLlxuICAgKiBAZGVmYXVsdCBcImxlZnRcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFsaWdubWVudDogU2t5R3JpZENvbHVtbkFsaWdubWVudCA9ICdsZWZ0JztcblxuICAvKipcbiAgICogVGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgY29sdW1uLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgaGlnaGxpZ2h0aW5nIG9mIHNlYXJjaCB0ZXh0IGluIHRoZSBjb2x1bW4uXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZXhjbHVkZUZyb21IaWdobGlnaHRpbmc6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBwcm9wZXJ0eSB0byByZXRyaWV2ZSBjZWxsIGluZm9ybWF0aW9uIGZyb20gYW4gZW50cnkgb24gdGhlIGdyaWQgYGRhdGFgIGFycmF5LlxuICAgKiBZb3UgbXVzdCBwcm92aWRlIGVpdGhlciB0aGUgYGlkYCBvciBgZmllbGRgIHByb3BlcnR5IGZvciBldmVyeSBjb2x1bW4sXG4gICAqIGJ1dCBkbyBub3QgcHJvdmlkZSBib3RoLiBJZiBgaWRgIGRvZXMgbm90IGV4aXN0IG9uIGEgY29sdW1uLCB0aGVuIGBmaWVsZGAgaXMgdGhlIGVudHJ5XG4gICAqIGZvciB0aGUgZ3JpZCBgc2VsZWN0ZWRDb2x1bW5JZHNgIGFycmF5LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGZpZWxkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRleHQgdG8gZGlzcGxheSBpbiB0aGUgY29sdW1uIGhlYWRlci5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoZWFkaW5nOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNvbHVtbiBpcyBpbml0aWFsbHkgaGlkZGVuIHdoZW4gZ3JpZCBgc2VsZWN0ZWRDb2x1bW5JZHNgIGFyZSBub3QgcHJvdmlkZWQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgaGlkZGVuOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgdW5pcXVlIElEIGZvciB0aGUgY29sdW1uLiBZb3UgbXVzdCBwcm92aWRlIGVpdGhlciB0aGUgYGlkYCBvciBgZmllbGRgIHByb3BlcnR5XG4gICAqIGZvciBldmVyeSBjb2x1bW4sIGJ1dCBkbyBub3QgcHJvdmlkZSBib3RoLiBJZiBgZmllbGRgIGRvZXMgbm90IGV4aXN0IG9uIGEgY29sdW1uLFxuICAgKiB0aGVuIHRoZSBgaWRgIHByb3BlcnR5IHJldHJpZXZlcyBjZWxsIGluZm9ybWF0aW9uIGZyb20gYW4gZW50cnkgb24gdGhlIGdyaWQgYGRhdGFgIGFycmF5LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0ZW1wbGF0ZSB0byBkaXNwbGF5IGluc2lkZSBhbiBpbmxpbmUgaGVscCBwb3B1cCBmb3IgdGhpcyBjb2x1bW4uXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgaW5saW5lSGVscFBvcG92ZXI6IGFueTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY29sdW1uIHNvcnRzIHRoZSBncmlkIHdoZW4gdXNlcnMgY2xpY2sgdGhlIGNvbHVtbiBoZWFkZXIuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpc1NvcnRhYmxlID0gdHJ1ZTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY29sdW1uIGlzIGxvY2tlZC4gVGhlIGludGVudCBpcyB0byBkaXNwbGF5IGxvY2tlZCBjb2x1bW5zIGZpcnN0XG4gICAqIG9uIHRoZSBsZWZ0IHNpZGUgb2YgdGhlIGdyaWQuIElmIHNldCB0byBgdHJ1ZWAsIHRoZW4gdXNlcnMgY2Fubm90IGRyYWcgdGhlIGNvbHVtblxuICAgKiB0byBhbm90aGVyIHBvc2l0aW9uIGFuZCBvciBkcmFnIG90aGVyIGNvbHVtbnMgYmVmb3JlIHRoZSBsb2NrZWQgY29sdW1uLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGxvY2tlZDogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHNlYXJjaCBmdW5jdGlvbiB0byBhcHBseSBmb3IgdGhlIHNwZWNpZmljIGNvbHVtbi4gQnkgZGVmYXVsdCxcbiAgICogdGhlIGNvbHVtbiBleGVjdXRlcyBhIHN0cmluZyBjb21wYXJlIG9uIHRoZSBjb2x1bW4gZGF0YS5cbiAgICogQGRlZmF1bHQgKHZhbHVlLCBzZWFyY2hUZXh0KSA9PiB2YWx1ZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2hUZXh0KSAhPT0gLTFcbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gIEBJbnB1dCgnc2VhcmNoJylcbiAgcHVibGljIHNlYXJjaEZ1bmN0aW9uOiAodmFsdWU6IGFueSwgc2VhcmNoVGV4dDogc3RyaW5nKSA9PiBib29sZWFuID1cbiAgICB0aGlzLnNlYXJjaDtcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgdHlwZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdGVtcGxhdGUgZm9yIGEgY29sdW1uLiBUaGlzIGNhbiBiZSBhc3NpZ25lZCBhcyBhIHJlZmVyZW5jZVxuICAgKiB0byB0aGUgYHRlbXBsYXRlYCBhdHRyaWJ1dGUsIG9yIGl0IGNhbiBiZSBhc3NpZ25lZCBhcyBhIGNoaWxkIG9mIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnRcbiAgICogaW5zaWRlIHRoZSBgc2t5LWdyaWQtY29sdW1uYCBjb21wb25lbnQuIFRoZSB0ZW1wbGF0ZSBoYXMgYWNjZXNzIHRvIHRoZSBgdmFsdWVgIHZhcmlhYmxlLFxuICAgKiB3aGljaCBjb250YWlucyB0aGUgdmFsdWUgcGFzc2VkIHRvIHRoZSBjb2x1bW4sIGFuZCB0aGUgYHJvd2AgdmFyaWFibGUsIHdoaWNoIGNvbnRhaW5zXG4gICAqIHRoZSBlbnRpcmUgcm93IGRhdGEuXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ3RlbXBsYXRlJylcbiAgcHVibGljIHRlbXBsYXRlSW5wdXQ6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIC8qKlxuICAgKiBUaGUgd2lkdGggb2YgdGhlIGNvbHVtbiBpbiBwaXhlbHMuXG4gICAqIElmIHVuZGVmaW5lZCwgdGhlIGNvbHVtbiB3aWR0aCBpcyBldmVubHkgZGlzdHJpYnV0ZWQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgd2lkdGg6IG51bWJlcjtcblxuICBwdWJsaWMgZGVzY3JpcHRpb25DaGFuZ2VzOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIHB1YmxpYyBkZXNjcmlwdGlvbk1vZGVsQ2hhbmdlcyA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxTa3lHcmlkQ29sdW1uRGVzY3JpcHRpb25Nb2RlbENoYW5nZT4oKTtcblxuICBwdWJsaWMgaGVhZGluZ0NoYW5nZXM6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgcHVibGljIGhlYWRpbmdNb2RlbENoYW5nZXMgPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8U2t5R3JpZENvbHVtbkhlYWRpbmdNb2RlbENoYW5nZT4oKTtcblxuICBwdWJsaWMgaW5saW5lSGVscFBvcG92ZXJNb2RlbENoYW5nZXMgPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8U2t5R3JpZENvbHVtbklubGluZUhlbHBQb3BvdmVyTW9kZWxDaGFuZ2U+KCk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihUZW1wbGF0ZVJlZilcbiAgcHJpdmF0ZSB0ZW1wbGF0ZXM6IFF1ZXJ5TGlzdDxUZW1wbGF0ZVJlZjx1bmtub3duPj47XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5oZWFkaW5nICYmIGNoYW5nZXMuaGVhZGluZy5maXJzdENoYW5nZSA9PT0gZmFsc2UpIHtcbiAgICAgIHRoaXMuaGVhZGluZ0NoYW5nZXMuZW1pdCh0aGlzLmhlYWRpbmcpO1xuICAgICAgdGhpcy5oZWFkaW5nTW9kZWxDaGFuZ2VzLmVtaXQoe1xuICAgICAgICB2YWx1ZTogdGhpcy5oZWFkaW5nLFxuICAgICAgICBpZDogdGhpcy5pZCxcbiAgICAgICAgZmllbGQ6IHRoaXMuZmllbGQsXG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXMuZGVzY3JpcHRpb24gJiYgY2hhbmdlcy5kZXNjcmlwdGlvbi5maXJzdENoYW5nZSA9PT0gZmFsc2UpIHtcbiAgICAgIHRoaXMuZGVzY3JpcHRpb25DaGFuZ2VzLmVtaXQodGhpcy5kZXNjcmlwdGlvbik7XG4gICAgICB0aGlzLmRlc2NyaXB0aW9uTW9kZWxDaGFuZ2VzLmVtaXQoe1xuICAgICAgICB2YWx1ZTogdGhpcy5kZXNjcmlwdGlvbixcbiAgICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICAgIGZpZWxkOiB0aGlzLmZpZWxkLFxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChcbiAgICAgIGNoYW5nZXMuaW5saW5lSGVscFBvcG92ZXIgJiZcbiAgICAgIGNoYW5nZXMuaW5saW5lSGVscFBvcG92ZXIuZmlyc3RDaGFuZ2UgPT09IGZhbHNlXG4gICAgKSB7XG4gICAgICB0aGlzLmlubGluZUhlbHBQb3BvdmVyTW9kZWxDaGFuZ2VzLmVtaXQoe1xuICAgICAgICB2YWx1ZTogdGhpcy5pbmxpbmVIZWxwUG9wb3ZlcixcbiAgICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICAgIGZpZWxkOiB0aGlzLmZpZWxkLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCB0ZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB7XG4gICAgaWYgKHRoaXMudGVtcGxhdGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiB0aGlzLnRlbXBsYXRlcy5maXJzdDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZUlucHV0O1xuICB9XG5cbiAgcHJpdmF0ZSBzZWFyY2godmFsdWU6IGFueSwgc2VhcmNoVGV4dDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdmFsdWUgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB2YWx1ZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2hUZXh0KSAhPT0gLTE7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=