@eo-sdk/client 9.0.0-rc.3 → 9.0.0-rc.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/README.md +3 -0
  2. package/app/eo-framework/app-shell/app-bar/app-process/app-process.component.d.ts +1 -1
  3. package/app/eo-framework/grid/column-configurator/column-configurator.component.d.ts +2 -0
  4. package/app/eo-framework/grid/extensions/filter/setFilters/set-filter.component.d.ts +1 -0
  5. package/app/eo-framework/ui/eo-dialog/eo-dialog.component.d.ts +1 -1
  6. package/app/eo-framework-core/api/grid.service.d.ts +10 -2
  7. package/assets/_default/i18n/de.json +7 -6
  8. package/assets/_default/i18n/en.json +7 -6
  9. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.js +4 -2
  10. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.js.map +1 -1
  11. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.min.js +2 -2
  12. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.min.js.map +1 -1
  13. package/bundles/eo-sdk-client.umd.js +173 -120
  14. package/bundles/eo-sdk-client.umd.js.map +1 -1
  15. package/bundles/eo-sdk-client.umd.min.js +1 -1
  16. package/bundles/eo-sdk-client.umd.min.js.map +1 -1
  17. package/eo-sdk-client.d.ts +67 -69
  18. package/eo-sdk-client.metadata.json +1 -1
  19. package/esm2015/app/eo-client/about-state/about-state.component.js +3 -3
  20. package/esm2015/app/eo-framework/app-shell/app-bar/app-process/app-process.component.js +3 -3
  21. package/esm2015/app/eo-framework/form-elements/codesystem/codesystem.component.js +8 -2
  22. package/esm2015/app/eo-framework/form-elements/number-range/number-range.component.js +2 -2
  23. package/esm2015/app/eo-framework/form-elements/string/string.component.js +2 -2
  24. package/esm2015/app/eo-framework/grid/column-configurator/column-configurator.component.js +31 -6
  25. package/esm2015/app/eo-framework/grid/extensions/filter/setFilters/set-filter.component.js +4 -2
  26. package/esm2015/app/eo-framework/grid/extensions/filter/text/text-filter.component.js +2 -3
  27. package/esm2015/app/eo-framework/grid/filters/list-filter.component.js +2 -2
  28. package/esm2015/app/eo-framework/inbox-details/inbox-details.component.js +7 -2
  29. package/esm2015/app/eo-framework/object-details/object-history/object-history.component.js +4 -3
  30. package/esm2015/app/eo-framework/object-form/object-form/form-element/form-element.component.js +4 -1
  31. package/esm2015/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.js +6 -5
  32. package/esm2015/app/eo-framework/object-form/object-form.module.js +2 -2
  33. package/esm2015/app/eo-framework/result-list/result-list.component.js +3 -3
  34. package/esm2015/app/eo-framework/ui/eo-dialog/eo-dialog.component.js +2 -2
  35. package/esm2015/app/eo-framework-core/api/grid.service.js +40 -29
  36. package/esm2015/eo-sdk-client.js +68 -70
  37. package/esm2015/projects/eo-sdk/core/lib/service/search/search-query.model.js +3 -2
  38. package/esm2015/projects/eo-sdk/core/lib/service/search/search.service.js +2 -2
  39. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.js +3 -2
  40. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.js.map +1 -1
  41. package/fesm2015/eo-sdk-client.js +105 -52
  42. package/fesm2015/eo-sdk-client.js.map +1 -1
  43. package/package.json +2 -2
  44. package/projects/eo-sdk/core/eo-sdk-client-projects-eo-sdk-core.metadata.json +1 -1
  45. package/projects/eo-sdk/core/lib/service/search/search-query.model.d.ts +8 -1
  46. package/projects/eo-sdk/core/package.json +1 -1
  47. package/scss/_form.scss +2 -2
  48. package/styles.css +1 -1
@@ -2,77 +2,75 @@
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
4
  export * from './public_api';
5
- export { EoClientRoutingModule as ɵct } from './app/eo-client/eo-client-routing.module';
6
- export { InboxStateRoutingModule as ɵcr } from './app/eo-client/inbox-state/inbox-state-routing.module';
7
- export { ObjectStateRoutingModule as ɵcq } from './app/eo-client/object-state/object-state-routing.module';
8
- export { PrepareStateRoutingModule as ɵcs } from './app/eo-client/prepare-state/prepare-state-routing.module';
9
- export { ProcessStateComponent as ɵcu } from './app/eo-client/process-state/process-state.component';
10
- export { PendingChangesService as ɵe } from './app/eo-framework-core';
5
+ export { EoClientRoutingModule as ɵcr } from './app/eo-client/eo-client-routing.module';
6
+ export { InboxStateRoutingModule as ɵcp } from './app/eo-client/inbox-state/inbox-state-routing.module';
7
+ export { ObjectStateRoutingModule as ɵco } from './app/eo-client/object-state/object-state-routing.module';
8
+ export { PrepareStateRoutingModule as ɵcq } from './app/eo-client/prepare-state/prepare-state-routing.module';
9
+ export { ProcessStateComponent as ɵcs } from './app/eo-client/process-state/process-state.component';
11
10
  export { PendingChangesGuard as ɵa } from './app/eo-framework-core/pending-changes/pending-changes-guard.service';
12
- export { PipesModule as ɵf } from './app/eo-framework-core/pipes/pipes.module';
13
- export { ActionComponentAnchorDirective as ɵx } from './app/eo-framework/actions/action-menu/action-component-anchor/action-component-anchor.directive';
14
- export { AddResubmissionActionComponent as ɵbz } from './app/eo-framework/actions/actions/add-resubmission-action/add-resubmission-action';
15
- export { AddResubmissionComponent as ɵca } from './app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component';
16
- export { AddSubscriptionActionComponent as ɵbt } from './app/eo-framework/actions/actions/add-subscription-action/add-subscription-action';
17
- export { AddSubscriptionComponent as ɵbu } from './app/eo-framework/actions/actions/add-subscription-action/add-subscription/add-subscription.component';
18
- export { ClipboardActionComponent as ɵbj } from './app/eo-framework/actions/actions/clipboard/clipboard-action';
19
- export { ClipboardLinkActionComponent as ɵbk } from './app/eo-framework/actions/actions/clipboard/clipboard-link-action';
20
- export { ClipboardOriginalActionComponent as ɵbl } from './app/eo-framework/actions/actions/clipboard/clipboard-original-action';
21
- export { ClipboardPdfActionComponent as ɵbm } from './app/eo-framework/actions/actions/clipboard/clipboard-pdf-action';
22
- export { CopyActionComponent as ɵz } from './app/eo-framework/actions/actions/copy-action/copy-action';
23
- export { CustomActionsComponent as ɵby } from './app/eo-framework/actions/actions/custom-actions/custom-actions.component';
24
- export { CutActionComponent as ɵce } from './app/eo-framework/actions/actions/cut-action/cut-action';
25
- export { DeleteActionComponent as ɵbo } from './app/eo-framework/actions/actions/delete-action/delete-action';
26
- export { DeletePreparedActionComponent as ɵbs } from './app/eo-framework/actions/actions/delete-action/delete-prepared-action';
27
- export { DeleteComponent as ɵbp } from './app/eo-framework/actions/actions/delete-action/delete/delete.component';
28
- export { DeleteContentActionComponent as ɵch } from './app/eo-framework/actions/actions/delete-content-action/delete-content-action';
29
- export { DownloadActionComponent as ɵbb } from './app/eo-framework/actions/actions/download-action/download-action';
30
- export { DownloadOriginalActionComponent as ɵbc } from './app/eo-framework/actions/actions/download-original-action/download-original-action';
31
- export { DownloadPdfActionComponent as ɵbd } from './app/eo-framework/actions/actions/download-pdf-action/download-pdf-action';
32
- export { EmailActionComponent as ɵbf } from './app/eo-framework/actions/actions/email/email-action';
33
- export { EmailLinkActionComponent as ɵbg } from './app/eo-framework/actions/actions/email/email-link-action';
34
- export { EmailOriginalActionComponent as ɵbh } from './app/eo-framework/actions/actions/email/email-original-action';
35
- export { EmailPdfActionComponent as ɵbi } from './app/eo-framework/actions/actions/email/email-pdf-action';
36
- export { FavoriteActionComponent as ɵbn } from './app/eo-framework/actions/actions/favorite-action/favorite-action';
37
- export { DefinalizeActionComponent as ɵcg } from './app/eo-framework/actions/actions/finalize/definalize-action';
38
- export { FinalizeActionComponent as ɵcf } from './app/eo-framework/actions/actions/finalize/finalize-action';
39
- export { OpenContextActionComponent as ɵba } from './app/eo-framework/actions/actions/open-context-action/open-context-action';
40
- export { OpenDocumentActionComponent as ɵbe } from './app/eo-framework/actions/actions/open-document-action/open-document-action';
41
- export { OpenDocumentComponent as ɵy } from './app/eo-framework/actions/actions/open-document-action/open-document-action.component';
42
- export { OpenVersionsActionComponent as ɵbq } from './app/eo-framework/actions/actions/open-versions-action/open-versions-action';
43
- export { RemoveSubscriptionActionComponent as ɵbv } from './app/eo-framework/actions/actions/remove-subscription-action/remove-subscription-action';
44
- export { RestoreVersionActionComponent as ɵbr } from './app/eo-framework/actions/actions/restore-version-action/restore-version-action';
45
- export { ShareObjectActionComponent as ɵcc } from './app/eo-framework/actions/actions/share-object-action/share-object-action';
46
- export { ShareObjectComponent as ɵcd } from './app/eo-framework/actions/actions/share-object-action/share-object/share-object.component';
47
- export { UnlockActionComponent as ɵci } from './app/eo-framework/actions/actions/unlock-action/unlock-action';
48
- export { UpdateResubmissionActionComponent as ɵcb } from './app/eo-framework/actions/actions/update-resubmission-action/update-resubmission-action';
49
- export { SimpleWorkflowActionComponent as ɵcj } from './app/eo-framework/actions/actions/workflow-action/simple-workflow-action.component';
50
- export { WorkflowActionComponent as ɵbw } from './app/eo-framework/actions/actions/workflow-action/workflow-action.component';
51
- export { WorkflowComponent as ɵbx } from './app/eo-framework/actions/actions/workflow-action/workflow/workflow.component';
11
+ export { PipesModule as ɵe } from './app/eo-framework-core/pipes/pipes.module';
12
+ export { ActionComponentAnchorDirective as ɵv } from './app/eo-framework/actions/action-menu/action-component-anchor/action-component-anchor.directive';
13
+ export { AddResubmissionActionComponent as ɵbx } from './app/eo-framework/actions/actions/add-resubmission-action/add-resubmission-action';
14
+ export { AddResubmissionComponent as ɵby } from './app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component';
15
+ export { AddSubscriptionActionComponent as ɵbr } from './app/eo-framework/actions/actions/add-subscription-action/add-subscription-action';
16
+ export { AddSubscriptionComponent as ɵbs } from './app/eo-framework/actions/actions/add-subscription-action/add-subscription/add-subscription.component';
17
+ export { ClipboardActionComponent as ɵbh } from './app/eo-framework/actions/actions/clipboard/clipboard-action';
18
+ export { ClipboardLinkActionComponent as ɵbi } from './app/eo-framework/actions/actions/clipboard/clipboard-link-action';
19
+ export { ClipboardOriginalActionComponent as ɵbj } from './app/eo-framework/actions/actions/clipboard/clipboard-original-action';
20
+ export { ClipboardPdfActionComponent as ɵbk } from './app/eo-framework/actions/actions/clipboard/clipboard-pdf-action';
21
+ export { CopyActionComponent as ɵx } from './app/eo-framework/actions/actions/copy-action/copy-action';
22
+ export { CustomActionsComponent as ɵbw } from './app/eo-framework/actions/actions/custom-actions/custom-actions.component';
23
+ export { CutActionComponent as ɵcc } from './app/eo-framework/actions/actions/cut-action/cut-action';
24
+ export { DeleteActionComponent as ɵbm } from './app/eo-framework/actions/actions/delete-action/delete-action';
25
+ export { DeletePreparedActionComponent as ɵbq } from './app/eo-framework/actions/actions/delete-action/delete-prepared-action';
26
+ export { DeleteComponent as ɵbn } from './app/eo-framework/actions/actions/delete-action/delete/delete.component';
27
+ export { DeleteContentActionComponent as ɵcf } from './app/eo-framework/actions/actions/delete-content-action/delete-content-action';
28
+ export { DownloadActionComponent as ɵz } from './app/eo-framework/actions/actions/download-action/download-action';
29
+ export { DownloadOriginalActionComponent as ɵba } from './app/eo-framework/actions/actions/download-original-action/download-original-action';
30
+ export { DownloadPdfActionComponent as ɵbb } from './app/eo-framework/actions/actions/download-pdf-action/download-pdf-action';
31
+ export { EmailActionComponent as ɵbd } from './app/eo-framework/actions/actions/email/email-action';
32
+ export { EmailLinkActionComponent as ɵbe } from './app/eo-framework/actions/actions/email/email-link-action';
33
+ export { EmailOriginalActionComponent as ɵbf } from './app/eo-framework/actions/actions/email/email-original-action';
34
+ export { EmailPdfActionComponent as ɵbg } from './app/eo-framework/actions/actions/email/email-pdf-action';
35
+ export { FavoriteActionComponent as ɵbl } from './app/eo-framework/actions/actions/favorite-action/favorite-action';
36
+ export { DefinalizeActionComponent as ɵce } from './app/eo-framework/actions/actions/finalize/definalize-action';
37
+ export { FinalizeActionComponent as ɵcd } from './app/eo-framework/actions/actions/finalize/finalize-action';
38
+ export { OpenContextActionComponent as ɵy } from './app/eo-framework/actions/actions/open-context-action/open-context-action';
39
+ export { OpenDocumentActionComponent as ɵbc } from './app/eo-framework/actions/actions/open-document-action/open-document-action';
40
+ export { OpenDocumentComponent as ɵw } from './app/eo-framework/actions/actions/open-document-action/open-document-action.component';
41
+ export { OpenVersionsActionComponent as ɵbo } from './app/eo-framework/actions/actions/open-versions-action/open-versions-action';
42
+ export { RemoveSubscriptionActionComponent as ɵbt } from './app/eo-framework/actions/actions/remove-subscription-action/remove-subscription-action';
43
+ export { RestoreVersionActionComponent as ɵbp } from './app/eo-framework/actions/actions/restore-version-action/restore-version-action';
44
+ export { ShareObjectActionComponent as ɵca } from './app/eo-framework/actions/actions/share-object-action/share-object-action';
45
+ export { ShareObjectComponent as ɵcb } from './app/eo-framework/actions/actions/share-object-action/share-object/share-object.component';
46
+ export { UnlockActionComponent as ɵcg } from './app/eo-framework/actions/actions/unlock-action/unlock-action';
47
+ export { UpdateResubmissionActionComponent as ɵbz } from './app/eo-framework/actions/actions/update-resubmission-action/update-resubmission-action';
48
+ export { SimpleWorkflowActionComponent as ɵch } from './app/eo-framework/actions/actions/workflow-action/simple-workflow-action.component';
49
+ export { WorkflowActionComponent as ɵbu } from './app/eo-framework/actions/actions/workflow-action/workflow-action.component';
50
+ export { WorkflowComponent as ɵbv } from './app/eo-framework/actions/actions/workflow-action/workflow/workflow.component';
52
51
  export { AppProcessComponent as ɵd } from './app/eo-framework/app-shell/app-bar/app-process/app-process.component';
53
52
  export { AppShellRoutingModule as ɵc } from './app/eo-framework/app-shell/app-shell-routing.module';
54
- export { DatepickerService as ɵl } from './app/eo-framework/form-elements/datetime/datepicker/service/datepicker.service';
55
- export { YearRangeDirective as ɵm } from './app/eo-framework/form-elements/datetime/year-range/year-range.directive';
56
- export { fadeInOut as ɵo } from './app/eo-framework/form-elements/id-reference/animation/reference-finder.animation';
57
- export { ReferenceFinderEntryComponent as ɵq } from './app/eo-framework/form-elements/id-reference/reference-finder-entry/reference-finder-entry.component';
58
- export { ReferenceFinderComponent as ɵn } from './app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component';
59
- export { ReferenceFinderService as ɵp } from './app/eo-framework/form-elements/id-reference/service/reference-finder.service';
60
- export { PaginationComponent as ɵt } from './app/eo-framework/grid/extensions/pagination/pagination.component';
61
- export { DynamicListFilterComponent as ɵr } from './app/eo-framework/grid/filters/dynamic-list-filter.component';
62
- export { ListFilterComponent as ɵs } from './app/eo-framework/grid/filters/list-filter.component';
63
- export { DuetimeInfoComponent as ɵcn } from './app/eo-framework/inbox-details/duetimeInfo/duetimeInfo.component';
64
- export { MediaModule as ɵu } from './app/eo-framework/media';
65
- export { EditIconComponent as ɵcm } from './app/eo-framework/object-details/edit-icon/edit-icon.component';
66
- export { PrepareContentExistsInfoComponent as ɵco } from './app/eo-framework/prepare-details/prepare-content-exists-info/prepare-content-exists-info.component';
67
- export { ProcessFormComponent as ɵw } from './app/eo-framework/process-form/process-form.component';
68
- export { ProcessFormModule as ɵv } from './app/eo-framework/process-form/process-form.module';
69
- export { StoredQueryModule as ɵcp } from './app/eo-framework/stored-query';
70
- export { TreeNodeComponent as ɵk } from './app/eo-framework/tree/tree-node/tree-node.component';
71
- export { IndexdataSummaryEntryComponent as ɵi } from './app/eo-framework/ui/indexdata-summary/indexdata-summary-entry/indexdata-summary-entry.component';
72
- export { QueryScopeSelectComponent as ɵh } from './app/eo-framework/ui/query-scope-select/query-scope-select.component';
53
+ export { DatepickerService as ɵk } from './app/eo-framework/form-elements/datetime/datepicker/service/datepicker.service';
54
+ export { YearRangeDirective as ɵl } from './app/eo-framework/form-elements/datetime/year-range/year-range.directive';
55
+ export { fadeInOut as ɵn } from './app/eo-framework/form-elements/id-reference/animation/reference-finder.animation';
56
+ export { ReferenceFinderEntryComponent as ɵp } from './app/eo-framework/form-elements/id-reference/reference-finder-entry/reference-finder-entry.component';
57
+ export { ReferenceFinderComponent as ɵm } from './app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component';
58
+ export { ReferenceFinderService as ɵo } from './app/eo-framework/form-elements/id-reference/service/reference-finder.service';
59
+ export { PaginationComponent as ɵs } from './app/eo-framework/grid/extensions/pagination/pagination.component';
60
+ export { DynamicListFilterComponent as ɵq } from './app/eo-framework/grid/filters/dynamic-list-filter.component';
61
+ export { ListFilterComponent as ɵr } from './app/eo-framework/grid/filters/list-filter.component';
62
+ export { DuetimeInfoComponent as ɵcl } from './app/eo-framework/inbox-details/duetimeInfo/duetimeInfo.component';
63
+ export { EditIconComponent as ɵck } from './app/eo-framework/object-details/edit-icon/edit-icon.component';
64
+ export { PrepareContentExistsInfoComponent as ɵcm } from './app/eo-framework/prepare-details/prepare-content-exists-info/prepare-content-exists-info.component';
65
+ export { ProcessFormComponent as ɵu } from './app/eo-framework/process-form/process-form.component';
66
+ export { ProcessFormModule as ɵt } from './app/eo-framework/process-form/process-form.module';
67
+ export { StoredQueryModule as ɵcn } from './app/eo-framework/stored-query';
68
+ export { TreeNodeComponent as ɵj } from './app/eo-framework/tree/tree-node/tree-node.component';
69
+ export { IndexdataSummaryEntryComponent as ɵh } from './app/eo-framework/ui/indexdata-summary/indexdata-summary-entry/indexdata-summary-entry.component';
70
+ export { QueryScopeSelectComponent as ɵg } from './app/eo-framework/ui/query-scope-select/query-scope-select.component';
73
71
  export { UploadOverlayGuard as ɵb } from './app/eo-framework/upload-overlay/upload-overlay-guard.service';
74
- export { UnsubscribeOnDestroy as ɵg } from './app/eo-framework/util';
75
- export { PreventDoubleClickDirective as ɵck } from './app/eo-framework/util/directive/prevent-double-click.directive';
76
- export { TrapFocusDirective as ɵcl } from './app/eo-framework/util/directive/trap-focus.directive';
77
- export { OrderByPipe as ɵj } from './app/eo-framework/util/sortable/order-by.pipe';
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW8tc2RrLWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lby1zZGstY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEdBQUcsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ3RGLE9BQU8sRUFBQyx1QkFBdUIsSUFBSSxHQUFHLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUN0RyxPQUFPLEVBQUMsd0JBQXdCLElBQUksR0FBRyxFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDekcsT0FBTyxFQUFDLHlCQUF5QixJQUFJLEdBQUcsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQzVHLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxHQUFHLEVBQUMsTUFBTSx1REFBdUQsQ0FBQztBQUNuRyxPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEUsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLHVFQUF1RSxDQUFDO0FBQ2hILE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDN0UsT0FBTyxFQUFDLDhCQUE4QixJQUFJLEVBQUUsRUFBQyxNQUFNLGtHQUFrRyxDQUFDO0FBQ3RKLE9BQU8sRUFBQyw4QkFBOEIsSUFBSSxHQUFHLEVBQUMsTUFBTSxvRkFBb0YsQ0FBQztBQUN6SSxPQUFPLEVBQUMsd0JBQXdCLElBQUksR0FBRyxFQUFDLE1BQU0sd0dBQXdHLENBQUM7QUFDdkosT0FBTyxFQUFDLDhCQUE4QixJQUFJLEdBQUcsRUFBQyxNQUFNLG9GQUFvRixDQUFDO0FBQ3pJLE9BQU8sRUFBQyx3QkFBd0IsSUFBSSxHQUFHLEVBQUMsTUFBTSx3R0FBd0csQ0FBQztBQUN2SixPQUFPLEVBQUMsd0JBQXdCLElBQUksR0FB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LHdEQUF3RCxDQUFDO0FBQ2xHLE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUM1RixPQUFPLEVBQUMsaUJBQWlCLElBQUksR0FBRyxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDekUsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLHVEQUF1RCxDQUFDO0FBQzlGLE9BQU8sRUFBQyw4QkFBOEIsSUFBSSxFQUFFLEVBQUMsTUFBTSxtR0FBbUcsQ0FBQztBQUN2SixPQUFPLEVBQUMseUJBQXlCLElBQUksRUFBRSxFQUFDLE1BQU0sdUVBQXVFLENBQUM7QUFDdEgsT0FBTyxFQUFDLGtCQUFrQixJQUFJLEVBQUUsRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBQ3hHLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsMkJBQTJCLElBQUksR0FBRyxFQUFDLE1BQU0sa0VBQWtFLENBQUM7QUFDcEgsT0FBTyxFQUFDLGtCQUFrQixJQUFJLEdBQUcsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBQ2pHLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0sZ0RBQWdELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG5cbmV4cG9ydCB7RW9DbGllbnRSb3V0aW5nTW9kdWxlIGFzIMm1Y3R9IGZyb20gJy4vYXBwL2VvLWNsaWVudC9lby1jbGllbnQtcm91dGluZy5tb2R1bGUnO1xuZXhwb3J0IHtJbmJveFN0YXRlUm91dGluZ01vZHVsZSBhcyDJtWNyfSBmcm9tICcuL2FwcC9lby1jbGllbnQvaW5ib3gtc3RhdGUvaW5ib3gtc3RhdGUtcm91dGluZy5tb2R1bGUnO1xuZXhwb3J0IHtPYmplY3RTdGF0ZVJvdXRpbmdNb2R1bGUgYXMgybVjcX0gZnJvbSAnLi9hcHAvZW8tY2xpZW50L29iamVjdC1zdGF0ZS9vYmplY3Qtc3RhdGUtcm91dGluZy5tb2R1bGUnO1xuZXhwb3J0IHtQcmVwYXJlU3RhdGVSb3V0aW5nTW9kdWxlIGFzIMm1Y3N9IGZyb20gJy4vYXBwL2VvLWNsaWVudC9wcmVwYXJlLXN0YXRlL3ByZXBhcmUtc3RhdGUtcm91dGluZy5tb2R1bGUnO1xuZXhwb3J0IHtQcm9jZXNzU3RhdGVDb21wb25lbnQgYXMgybVjdX0gZnJvbSAnLi9hcHAvZW8tY2xpZW50L3Byb2Nlc3Mtc3RhdGUvcHJvY2Vzcy1zdGF0ZS5jb21wb25lbnQnO1xuZXhwb3J0IHtQZW5kaW5nQ2hhbmdlc1NlcnZpY2UgYXMgybVlfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmstY29yZSc7XG5leHBvcnQge1BlbmRpbmdDaGFuZ2VzR3VhcmQgYXMgybVhfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmstY29yZS9wZW5kaW5nLWNoYW5nZXMvcGVuZGluZy1jaGFuZ2VzLWd1YXJkLnNlcnZpY2UnO1xuZXhwb3J0IHtQaXBlc01vZHVsZSBhcyDJtWZ9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay1jb3JlL3BpcGVzL3BpcGVzLm1vZHVsZSc7XG5leHBvcnQge0FjdGlvbkNvbXBvbmVudEFuY2hvckRpcmVjdGl2ZSBhcyDJtXh9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbi1tZW51L2FjdGlvbi1jb21wb25lbnQtYW5jaG9yL2FjdGlvbi1jb21wb25lbnQtYW5jaG9yLmRpcmVjdGl2ZSc7XG5leHBvcnQge0FkZFJlc3VibWlzc2lvbkFjdGlvbkNvbXBvbmVudCBhcyDJtWJ6fSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL2FkZC1yZXN1Ym1pc3Npb24tYWN0aW9uL2FkZC1yZXN1Ym1pc3Npb24tYWN0aW9uJztcbmV4cG9ydCB7QWRkUmVzdWJtaXNzaW9uQ29tcG9uZW50IGFzIMm1Y2F9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvYWRkLXJlc3VibWlzc2lvbi1hY3Rpb24vYWRkLXJlc3VibWlzc2lvbi9hZGQtcmVzdWJtaXNzaW9uLmNvbXBvbmVudCc7XG5leHBvcnQge0FkZFN1YnNjcmlwdGlvbkFjdGlvbkNvbXBvbmVudCBhcyDJtWJ0fSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL2FkZC1zdWJzY3JpcHRpb24tYWN0aW9uL2FkZC1zdWJzY3JpcHRpb24tYWN0aW9uJztcbmV4cG9ydCB7QWRkU3Vic2NyaXB0aW9uQ29tcG9uZW50IGFzIMm1YnV9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvYWRkLXN1YnNjcmlwdGlvbi1hY3Rpb24vYWRkLXN1YnNjcmlwdGlvbi9hZGQtc3Vic2NyaXB0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQge0NsaXBib2FyZEFjdGlvbkNvbXBvbmVudCBhcyDJtWJqfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL2NsaXBib2FyZC9jbGlwYm9hcmQtYWN0aW9uJztcbmV4cG9ydCB7Q2xpcGJvYXJkTGlua0FjdGlvbkNvbXBvbmVudCBhcyDJtWJrfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL2NsaXBib2FyZC9jbGlwYm9hcmQtbGluay1hY3Rpb24nO1xuZXhwb3J0IHtDbGlwYm9hcmRPcmlnaW5hbEFjdGlvbkNvbXBvbmVudCBhcyDJtWJsfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL2NsaXBib2FyZC9jbGlwYm9hcmQtb3JpZ2luYWwtYWN0aW9uJztcbmV4cG9ydCB7Q2xpcGJvYXJkUGRmQWN0aW9uQ29tcG9uZW50IGFzIMm1Ym19IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvY2xpcGJvYXJkL2NsaXBib2FyZC1wZGYtYWN0aW9uJztcbmV4cG9ydCB7Q29weUFjdGlvbkNvbXBvbmVudCBhcyDJtXp9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvY29weS1hY3Rpb24vY29weS1hY3Rpb24nO1xuZXhwb3J0IHtDdXN0b21BY3Rpb25zQ29tcG9uZW50IGFzIMm1Ynl9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvY3VzdG9tLWFjdGlvbnMvY3VzdG9tLWFjdGlvbnMuY29tcG9uZW50JztcbmV4cG9ydCB7Q3V0QWN0aW9uQ29tcG9uZW50IGFzIMm1Y2V9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvY3V0LWFjdGlvbi9jdXQtYWN0aW9uJztcbmV4cG9ydCB7RGVsZXRlQWN0aW9uQ29tcG9uZW50IGFzIMm1Ym99IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvZGVsZXRlLWFjdGlvbi9kZWxldGUtYWN0aW9uJztcbmV4cG9ydCB7RGVsZXRlUHJlcGFyZWRBY3Rpb25Db21wb25lbnQgYXMgybVic30gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9kZWxldGUtYWN0aW9uL2RlbGV0ZS1wcmVwYXJlZC1hY3Rpb24nO1xuZXhwb3J0IHtEZWxldGVDb21wb25lbnQgYXMgybVicH0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9kZWxldGUtYWN0aW9uL2RlbGV0ZS9kZWxldGUuY29tcG9uZW50JztcbmV4cG9ydCB7RGVsZXRlQ29udGVudEFjdGlvbkNvbXBvbmVudCBhcyDJtWNofSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL2RlbGV0ZS1jb250ZW50LWFjdGlvbi9kZWxldGUtY29udGVudC1hY3Rpb24nO1xuZXhwb3J0IHtEb3dubG9hZEFjdGlvbkNvbXBvbmVudCBhcyDJtWJifSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL2Rvd25sb2FkLWFjdGlvbi9kb3dubG9hZC1hY3Rpb24nO1xuZXhwb3J0IHtEb3dubG9hZE9yaWdpbmFsQWN0aW9uQ29tcG9uZW50IGFzIMm1YmN9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvZG93bmxvYWQtb3JpZ2luYWwtYWN0aW9uL2Rvd25sb2FkLW9yaWdpbmFsLWFjdGlvbic7XG5leHBvcnQge0Rvd25sb2FkUGRmQWN0aW9uQ29tcG9uZW50IGFzIMm1YmR9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvZG93bmxvYWQtcGRmLWFjdGlvbi9kb3dubG9hZC1wZGYtYWN0aW9uJztcbmV4cG9ydCB7RW1haWxBY3Rpb25Db21wb25lbnQgYXMgybViZn0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9lbWFpbC9lbWFpbC1hY3Rpb24nO1xuZXhwb3J0IHtFbWFpbExpbmtBY3Rpb25Db21wb25lbnQgYXMgybViZ30gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9lbWFpbC9lbWFpbC1saW5rLWFjdGlvbic7XG5leHBvcnQge0VtYWlsT3JpZ2luYWxBY3Rpb25Db21wb25lbnQgYXMgybViaH0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9lbWFpbC9lbWFpbC1vcmlnaW5hbC1hY3Rpb24nO1xuZXhwb3J0IHtFbWFpbFBkZkFjdGlvbkNvbXBvbmVudCBhcyDJtWJpfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL2VtYWlsL2VtYWlsLXBkZi1hY3Rpb24nO1xuZXhwb3J0IHtGYXZvcml0ZUFjdGlvbkNvbXBvbmVudCBhcyDJtWJufSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL2Zhdm9yaXRlLWFjdGlvbi9mYXZvcml0ZS1hY3Rpb24nO1xuZXhwb3J0IHtEZWZpbmFsaXplQWN0aW9uQ29tcG9uZW50IGFzIMm1Y2d9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvZmluYWxpemUvZGVmaW5hbGl6ZS1hY3Rpb24nO1xuZXhwb3J0IHtGaW5hbGl6ZUFjdGlvbkNvbXBvbmVudCBhcyDJtWNmfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL2ZpbmFsaXplL2ZpbmFsaXplLWFjdGlvbic7XG5leHBvcnQge09wZW5Db250ZXh0QWN0aW9uQ29tcG9uZW50IGFzIMm1YmF9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvb3Blbi1jb250ZXh0LWFjdGlvbi9vcGVuLWNvbnRleHQtYWN0aW9uJztcbmV4cG9ydCB7T3BlbkRvY3VtZW50QWN0aW9uQ29tcG9uZW50IGFzIMm1YmV9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvb3Blbi1kb2N1bWVudC1hY3Rpb24vb3Blbi1kb2N1bWVudC1hY3Rpb24nO1xuZXhwb3J0IHtPcGVuRG9jdW1lbnRDb21wb25lbnQgYXMgybV5fSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL29wZW4tZG9jdW1lbnQtYWN0aW9uL29wZW4tZG9jdW1lbnQtYWN0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQge09wZW5WZXJzaW9uc0FjdGlvbkNvbXBvbmVudCBhcyDJtWJxfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL29wZW4tdmVyc2lvbnMtYWN0aW9uL29wZW4tdmVyc2lvbnMtYWN0aW9uJztcbmV4cG9ydCB7UmVtb3ZlU3Vic2NyaXB0aW9uQWN0aW9uQ29tcG9uZW50IGFzIMm1YnZ9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvcmVtb3ZlLXN1YnNjcmlwdGlvbi1hY3Rpb24vcmVtb3ZlLXN1YnNjcmlwdGlvbi1hY3Rpb24nO1xuZXhwb3J0IHtSZXN0b3JlVmVyc2lvbkFjdGlvbkNvbXBvbmVudCBhcyDJtWJyfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL3Jlc3RvcmUtdmVyc2lvbi1hY3Rpb24vcmVzdG9yZS12ZXJzaW9uLWFjdGlvbic7XG5leHBvcnQge1NoYXJlT2JqZWN0QWN0aW9uQ29tcG9uZW50IGFzIMm1Y2N9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvc2hhcmUtb2JqZWN0LWFjdGlvbi9zaGFyZS1vYmplY3QtYWN0aW9uJztcbmV4cG9ydCB7U2hhcmVPYmplY3RDb21wb25lbnQgYXMgybVjZH0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9zaGFyZS1vYmplY3QtYWN0aW9uL3NoYXJlLW9iamVjdC9zaGFyZS1vYmplY3QuY29tcG9uZW50JztcbmV4cG9ydCB7VW5sb2NrQWN0aW9uQ29tcG9uZW50IGFzIMm1Y2l9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvdW5sb2NrLWFjdGlvbi91bmxvY2stYWN0aW9uJztcbmV4cG9ydCB7VXBkYXRlUmVzdWJtaXNzaW9uQWN0aW9uQ29tcG9uZW50IGFzIMm1Y2J9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvdXBkYXRlLXJlc3VibWlzc2lvbi1hY3Rpb24vdXBkYXRlLXJlc3VibWlzc2lvbi1hY3Rpb24nO1xuZXhwb3J0IHtTaW1wbGVXb3JrZmxvd0FjdGlvbkNvbXBvbmVudCBhcyDJtWNqfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL3dvcmtmbG93LWFjdGlvbi9zaW1wbGUtd29ya2Zsb3ctYWN0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQge1dvcmtmbG93QWN0aW9uQ29tcG9uZW50IGFzIMm1Ynd9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvd29ya2Zsb3ctYWN0aW9uL3dvcmtmbG93LWFjdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0IHtXb3JrZmxvd0NvbXBvbmVudCBhcyDJtWJ4fSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL3dvcmtmbG93LWFjdGlvbi93b3JrZmxvdy93b3JrZmxvdy5jb21wb25lbnQnO1xuZXhwb3J0IHtBcHBQcm9jZXNzQ29tcG9uZW50IGFzIMm1ZH0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FwcC1zaGVsbC9hcHAtYmFyL2FwcC1wcm9jZXNzL2FwcC1wcm9jZXNzLmNvbXBvbmVudCc7XG5leHBvcnQge0FwcFNoZWxsUm91dGluZ01vZHVsZSBhcyDJtWN9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hcHAtc2hlbGwvYXBwLXNoZWxsLXJvdXRpbmcubW9kdWxlJztcbmV4cG9ydCB7RGF0ZXBpY2tlclNlcnZpY2UgYXMgybVsfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvZm9ybS1lbGVtZW50cy9kYXRldGltZS9kYXRlcGlja2VyL3NlcnZpY2UvZGF0ZXBpY2tlci5zZXJ2aWNlJztcbmV4cG9ydCB7WWVhclJhbmdlRGlyZWN0aXZlIGFzIMm1bX0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2Zvcm0tZWxlbWVudHMvZGF0ZXRpbWUveWVhci1yYW5nZS95ZWFyLXJhbmdlLmRpcmVjdGl2ZSc7XG5leHBvcnQge2ZhZGVJbk91dCBhcyDJtW99IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL2lkLXJlZmVyZW5jZS9hbmltYXRpb24vcmVmZXJlbmNlLWZpbmRlci5hbmltYXRpb24nO1xuZXhwb3J0IHtSZWZlcmVuY2VGaW5kZXJFbnRyeUNvbXBvbmVudCBhcyDJtXF9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL2lkLXJlZmVyZW5jZS9yZWZlcmVuY2UtZmluZGVyLWVudHJ5L3JlZmVyZW5jZS1maW5kZXItZW50cnkuY29tcG9uZW50JztcbmV4cG9ydCB7UmVmZXJlbmNlRmluZGVyQ29tcG9uZW50IGFzIMm1bn0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2Zvcm0tZWxlbWVudHMvaWQtcmVmZXJlbmNlL3JlZmVyZW5jZS1maW5kZXIvcmVmZXJlbmNlLWZpbmRlci5jb21wb25lbnQnO1xuZXhwb3J0IHtSZWZlcmVuY2VGaW5kZXJTZXJ2aWNlIGFzIMm1cH0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2Zvcm0tZWxlbWVudHMvaWQtcmVmZXJlbmNlL3NlcnZpY2UvcmVmZXJlbmNlLWZpbmRlci5zZXJ2aWNlJztcbmV4cG9ydCB7UGFnaW5hdGlvbkNvbXBvbmVudCBhcyDJtXR9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9ncmlkL2V4dGVuc2lvbnMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQge0R5bmFtaWNMaXN0RmlsdGVyQ29tcG9uZW50IGFzIMm1cn0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2dyaWQvZmlsdGVycy9keW5hbWljLWxpc3QtZmlsdGVyLmNvbXBvbmVudCc7XG5leHBvcnQge0xpc3RGaWx0ZXJDb21wb25lbnQgYXMgybVzfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvZ3JpZC9maWx0ZXJzL2xpc3QtZmlsdGVyLmNvbXBvbmVudCc7XG5leHBvcnQge0R1ZXRpbWVJbmZvQ29tcG9uZW50IGFzIMm1Y259IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9pbmJveC1kZXRhaWxzL2R1ZXRpbWVJbmZvL2R1ZXRpbWVJbmZvLmNvbXBvbmVudCc7XG5leHBvcnQge01lZGlhTW9kdWxlIGFzIMm1dX0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL21lZGlhJztcbmV4cG9ydCB7RWRpdEljb25Db21wb25lbnQgYXMgybVjbX0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL29iamVjdC1kZXRhaWxzL2VkaXQtaWNvbi9lZGl0LWljb24uY29tcG9uZW50JztcbmV4cG9ydCB7UHJlcGFyZUNvbnRlbnRFeGlzdHNJbmZvQ29tcG9uZW50IGFzIMm1Y299IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9wcmVwYXJlLWRldGFpbHMvcHJlcGFyZS1jb250ZW50LWV4aXN0cy1pbmZvL3ByZXBhcmUtY29udGVudC1leGlzdHMtaW5mby5jb21wb25lbnQnO1xuZXhwb3J0IHtQcm9jZXNzRm9ybUNvbXBvbmVudCBhcyDJtXd9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9wcm9jZXNzLWZvcm0vcHJvY2Vzcy1mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQge1Byb2Nlc3NGb3JtTW9kdWxlIGFzIMm1dn0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL3Byb2Nlc3MtZm9ybS9wcm9jZXNzLWZvcm0ubW9kdWxlJztcbmV4cG9ydCB7U3RvcmVkUXVlcnlNb2R1bGUgYXMgybVjcH0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL3N0b3JlZC1xdWVyeSc7XG5leHBvcnQge1RyZWVOb2RlQ29tcG9uZW50IGFzIMm1a30gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL3RyZWUvdHJlZS1ub2RlL3RyZWUtbm9kZS5jb21wb25lbnQnO1xuZXhwb3J0IHtJbmRleGRhdGFTdW1tYXJ5RW50cnlDb21wb25lbnQgYXMgybVpfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvdWkvaW5kZXhkYXRhLXN1bW1hcnkvaW5kZXhkYXRhLXN1bW1hcnktZW50cnkvaW5kZXhkYXRhLXN1bW1hcnktZW50cnkuY29tcG9uZW50JztcbmV4cG9ydCB7UXVlcnlTY29wZVNlbGVjdENvbXBvbmVudCBhcyDJtWh9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay91aS9xdWVyeS1zY29wZS1zZWxlY3QvcXVlcnktc2NvcGUtc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQge1VwbG9hZE92ZXJsYXlHdWFyZCBhcyDJtWJ9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay91cGxvYWQtb3ZlcmxheS91cGxvYWQtb3ZlcmxheS1ndWFyZC5zZXJ2aWNlJztcbmV4cG9ydCB7VW5zdWJzY3JpYmVPbkRlc3Ryb3kgYXMgybVnfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvdXRpbCc7XG5leHBvcnQge1ByZXZlbnREb3VibGVDbGlja0RpcmVjdGl2ZSBhcyDJtWNrfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvdXRpbC9kaXJlY3RpdmUvcHJldmVudC1kb3VibGUtY2xpY2suZGlyZWN0aXZlJztcbmV4cG9ydCB7VHJhcEZvY3VzRGlyZWN0aXZlIGFzIMm1Y2x9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay91dGlsL2RpcmVjdGl2ZS90cmFwLWZvY3VzLmRpcmVjdGl2ZSc7XG5leHBvcnQge09yZGVyQnlQaXBlIGFzIMm1an0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL3V0aWwvc29ydGFibGUvb3JkZXItYnkucGlwZSc7Il19
72
+ export { UnsubscribeOnDestroy as ɵf } from './app/eo-framework/util';
73
+ export { PreventDoubleClickDirective as ɵci } from './app/eo-framework/util/directive/prevent-double-click.directive';
74
+ export { TrapFocusDirective as ɵcj } from './app/eo-framework/util/directive/trap-focus.directive';
75
+ export { OrderByPipe as ɵi } from './app/eo-framework/util/sortable/order-by.pipe';
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW8tc2RrLWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lby1zZGstY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEdBQUcsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ3RGLE9BQU8sRUFBQyx1QkFBdUIsSUFBSSxHQUFHLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUN0RyxPQUFPLEVBQUMsd0JBQXdCLElBQUksR0FBRyxFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDekcsT0FBTyxFQUFDLHlCQUF5QixJQUFJLEdBQUcsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQzVHLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxHQUFHLEVBQUMsTUFBTSx1REFBdUQsQ0FBQztBQUNuRyxPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0sdUVBQXVFLENBQUM7QUFDaEgsT0FBTyxFQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsOEJBQThCLElBQUksRUFBRSxFQUFDLE1BQU0sa0dBQWtHLENBQUM7QUFDdEosT0FBTyxFQUFDLDhCQUE4QixJQUFJLEdBQUcsRUFBQyxNQUFNLG9GQUFvRixDQUFDO0FBQ3pJLE9BQU8sRUFBQyx3QkFBd0IsSUFBSSxHQUFHLEVBQUMsTUFBTSx3R0FBd0csQ0FBQztBQUN2SixPQUFPLEVBQUMsOEJBQThCLElBQUksR0FBRyxFQUFDLE1BQU0sb0ZBQW9GLENBQUM7QUFDekksT0FBTyxFQUFDLHdCQUF3QixJQUFJLEdBQUcsRUFBQyxNQUFNLHdHQUF3RyxDQUFDO0FBQ3ZKLE9BQU8sRUFBQyx3QkFBd0IsSUFBSSxHQUFHLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUM5RyxPQUFPLEVBQUMsNEJBQTRCLElBQUksR0FB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QU0saUNBQWlDLENBQUM7QUFDekUsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLHVEQUF1RCxDQUFDO0FBQzlGLE9BQU8sRUFBQyw4QkFBOEIsSUFBSSxFQUFFLEVBQUMsTUFBTSxtR0FBbUcsQ0FBQztBQUN2SixPQUFPLEVBQUMseUJBQXlCLElBQUksRUFBRSxFQUFDLE1BQU0sdUVBQXVFLENBQUM7QUFDdEgsT0FBTyxFQUFDLGtCQUFrQixJQUFJLEVBQUUsRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBQ3hHLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsMkJBQTJCLElBQUksR0FBRyxFQUFDLE1BQU0sa0VBQWtFLENBQUM7QUFDcEgsT0FBTyxFQUFDLGtCQUFrQixJQUFJLEdBQUcsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBQ2pHLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0sZ0RBQWdELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG5cbmV4cG9ydCB7RW9DbGllbnRSb3V0aW5nTW9kdWxlIGFzIMm1Y3J9IGZyb20gJy4vYXBwL2VvLWNsaWVudC9lby1jbGllbnQtcm91dGluZy5tb2R1bGUnO1xuZXhwb3J0IHtJbmJveFN0YXRlUm91dGluZ01vZHVsZSBhcyDJtWNwfSBmcm9tICcuL2FwcC9lby1jbGllbnQvaW5ib3gtc3RhdGUvaW5ib3gtc3RhdGUtcm91dGluZy5tb2R1bGUnO1xuZXhwb3J0IHtPYmplY3RTdGF0ZVJvdXRpbmdNb2R1bGUgYXMgybVjb30gZnJvbSAnLi9hcHAvZW8tY2xpZW50L29iamVjdC1zdGF0ZS9vYmplY3Qtc3RhdGUtcm91dGluZy5tb2R1bGUnO1xuZXhwb3J0IHtQcmVwYXJlU3RhdGVSb3V0aW5nTW9kdWxlIGFzIMm1Y3F9IGZyb20gJy4vYXBwL2VvLWNsaWVudC9wcmVwYXJlLXN0YXRlL3ByZXBhcmUtc3RhdGUtcm91dGluZy5tb2R1bGUnO1xuZXhwb3J0IHtQcm9jZXNzU3RhdGVDb21wb25lbnQgYXMgybVjc30gZnJvbSAnLi9hcHAvZW8tY2xpZW50L3Byb2Nlc3Mtc3RhdGUvcHJvY2Vzcy1zdGF0ZS5jb21wb25lbnQnO1xuZXhwb3J0IHtQZW5kaW5nQ2hhbmdlc0d1YXJkIGFzIMm1YX0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrLWNvcmUvcGVuZGluZy1jaGFuZ2VzL3BlbmRpbmctY2hhbmdlcy1ndWFyZC5zZXJ2aWNlJztcbmV4cG9ydCB7UGlwZXNNb2R1bGUgYXMgybVlfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmstY29yZS9waXBlcy9waXBlcy5tb2R1bGUnO1xuZXhwb3J0IHtBY3Rpb25Db21wb25lbnRBbmNob3JEaXJlY3RpdmUgYXMgybV2fSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb24tbWVudS9hY3Rpb24tY29tcG9uZW50LWFuY2hvci9hY3Rpb24tY29tcG9uZW50LWFuY2hvci5kaXJlY3RpdmUnO1xuZXhwb3J0IHtBZGRSZXN1Ym1pc3Npb25BY3Rpb25Db21wb25lbnQgYXMgybVieH0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9hZGQtcmVzdWJtaXNzaW9uLWFjdGlvbi9hZGQtcmVzdWJtaXNzaW9uLWFjdGlvbic7XG5leHBvcnQge0FkZFJlc3VibWlzc2lvbkNvbXBvbmVudCBhcyDJtWJ5fSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL2FkZC1yZXN1Ym1pc3Npb24tYWN0aW9uL2FkZC1yZXN1Ym1pc3Npb24vYWRkLXJlc3VibWlzc2lvbi5jb21wb25lbnQnO1xuZXhwb3J0IHtBZGRTdWJzY3JpcHRpb25BY3Rpb25Db21wb25lbnQgYXMgybVicn0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9hZGQtc3Vic2NyaXB0aW9uLWFjdGlvbi9hZGQtc3Vic2NyaXB0aW9uLWFjdGlvbic7XG5leHBvcnQge0FkZFN1YnNjcmlwdGlvbkNvbXBvbmVudCBhcyDJtWJzfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL2FkZC1zdWJzY3JpcHRpb24tYWN0aW9uL2FkZC1zdWJzY3JpcHRpb24vYWRkLXN1YnNjcmlwdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0IHtDbGlwYm9hcmRBY3Rpb25Db21wb25lbnQgYXMgybViaH0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9jbGlwYm9hcmQvY2xpcGJvYXJkLWFjdGlvbic7XG5leHBvcnQge0NsaXBib2FyZExpbmtBY3Rpb25Db21wb25lbnQgYXMgybViaX0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9jbGlwYm9hcmQvY2xpcGJvYXJkLWxpbmstYWN0aW9uJztcbmV4cG9ydCB7Q2xpcGJvYXJkT3JpZ2luYWxBY3Rpb25Db21wb25lbnQgYXMgybVian0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9jbGlwYm9hcmQvY2xpcGJvYXJkLW9yaWdpbmFsLWFjdGlvbic7XG5leHBvcnQge0NsaXBib2FyZFBkZkFjdGlvbkNvbXBvbmVudCBhcyDJtWJrfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL2NsaXBib2FyZC9jbGlwYm9hcmQtcGRmLWFjdGlvbic7XG5leHBvcnQge0NvcHlBY3Rpb25Db21wb25lbnQgYXMgybV4fSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL2NvcHktYWN0aW9uL2NvcHktYWN0aW9uJztcbmV4cG9ydCB7Q3VzdG9tQWN0aW9uc0NvbXBvbmVudCBhcyDJtWJ3fSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL2N1c3RvbS1hY3Rpb25zL2N1c3RvbS1hY3Rpb25zLmNvbXBvbmVudCc7XG5leHBvcnQge0N1dEFjdGlvbkNvbXBvbmVudCBhcyDJtWNjfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL2N1dC1hY3Rpb24vY3V0LWFjdGlvbic7XG5leHBvcnQge0RlbGV0ZUFjdGlvbkNvbXBvbmVudCBhcyDJtWJtfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL2RlbGV0ZS1hY3Rpb24vZGVsZXRlLWFjdGlvbic7XG5leHBvcnQge0RlbGV0ZVByZXBhcmVkQWN0aW9uQ29tcG9uZW50IGFzIMm1YnF9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvZGVsZXRlLWFjdGlvbi9kZWxldGUtcHJlcGFyZWQtYWN0aW9uJztcbmV4cG9ydCB7RGVsZXRlQ29tcG9uZW50IGFzIMm1Ym59IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvZGVsZXRlLWFjdGlvbi9kZWxldGUvZGVsZXRlLmNvbXBvbmVudCc7XG5leHBvcnQge0RlbGV0ZUNvbnRlbnRBY3Rpb25Db21wb25lbnQgYXMgybVjZn0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9kZWxldGUtY29udGVudC1hY3Rpb24vZGVsZXRlLWNvbnRlbnQtYWN0aW9uJztcbmV4cG9ydCB7RG93bmxvYWRBY3Rpb25Db21wb25lbnQgYXMgybV6fSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL2Rvd25sb2FkLWFjdGlvbi9kb3dubG9hZC1hY3Rpb24nO1xuZXhwb3J0IHtEb3dubG9hZE9yaWdpbmFsQWN0aW9uQ29tcG9uZW50IGFzIMm1YmF9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvZG93bmxvYWQtb3JpZ2luYWwtYWN0aW9uL2Rvd25sb2FkLW9yaWdpbmFsLWFjdGlvbic7XG5leHBvcnQge0Rvd25sb2FkUGRmQWN0aW9uQ29tcG9uZW50IGFzIMm1YmJ9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvZG93bmxvYWQtcGRmLWFjdGlvbi9kb3dubG9hZC1wZGYtYWN0aW9uJztcbmV4cG9ydCB7RW1haWxBY3Rpb25Db21wb25lbnQgYXMgybViZH0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9lbWFpbC9lbWFpbC1hY3Rpb24nO1xuZXhwb3J0IHtFbWFpbExpbmtBY3Rpb25Db21wb25lbnQgYXMgybViZX0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9lbWFpbC9lbWFpbC1saW5rLWFjdGlvbic7XG5leHBvcnQge0VtYWlsT3JpZ2luYWxBY3Rpb25Db21wb25lbnQgYXMgybViZn0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9lbWFpbC9lbWFpbC1vcmlnaW5hbC1hY3Rpb24nO1xuZXhwb3J0IHtFbWFpbFBkZkFjdGlvbkNvbXBvbmVudCBhcyDJtWJnfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL2VtYWlsL2VtYWlsLXBkZi1hY3Rpb24nO1xuZXhwb3J0IHtGYXZvcml0ZUFjdGlvbkNvbXBvbmVudCBhcyDJtWJsfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL2Zhdm9yaXRlLWFjdGlvbi9mYXZvcml0ZS1hY3Rpb24nO1xuZXhwb3J0IHtEZWZpbmFsaXplQWN0aW9uQ29tcG9uZW50IGFzIMm1Y2V9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvZmluYWxpemUvZGVmaW5hbGl6ZS1hY3Rpb24nO1xuZXhwb3J0IHtGaW5hbGl6ZUFjdGlvbkNvbXBvbmVudCBhcyDJtWNkfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL2ZpbmFsaXplL2ZpbmFsaXplLWFjdGlvbic7XG5leHBvcnQge09wZW5Db250ZXh0QWN0aW9uQ29tcG9uZW50IGFzIMm1eX0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9vcGVuLWNvbnRleHQtYWN0aW9uL29wZW4tY29udGV4dC1hY3Rpb24nO1xuZXhwb3J0IHtPcGVuRG9jdW1lbnRBY3Rpb25Db21wb25lbnQgYXMgybViY30gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9vcGVuLWRvY3VtZW50LWFjdGlvbi9vcGVuLWRvY3VtZW50LWFjdGlvbic7XG5leHBvcnQge09wZW5Eb2N1bWVudENvbXBvbmVudCBhcyDJtXd9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvb3Blbi1kb2N1bWVudC1hY3Rpb24vb3Blbi1kb2N1bWVudC1hY3Rpb24uY29tcG9uZW50JztcbmV4cG9ydCB7T3BlblZlcnNpb25zQWN0aW9uQ29tcG9uZW50IGFzIMm1Ym99IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvb3Blbi12ZXJzaW9ucy1hY3Rpb24vb3Blbi12ZXJzaW9ucy1hY3Rpb24nO1xuZXhwb3J0IHtSZW1vdmVTdWJzY3JpcHRpb25BY3Rpb25Db21wb25lbnQgYXMgybVidH0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9yZW1vdmUtc3Vic2NyaXB0aW9uLWFjdGlvbi9yZW1vdmUtc3Vic2NyaXB0aW9uLWFjdGlvbic7XG5leHBvcnQge1Jlc3RvcmVWZXJzaW9uQWN0aW9uQ29tcG9uZW50IGFzIMm1YnB9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvcmVzdG9yZS12ZXJzaW9uLWFjdGlvbi9yZXN0b3JlLXZlcnNpb24tYWN0aW9uJztcbmV4cG9ydCB7U2hhcmVPYmplY3RBY3Rpb25Db21wb25lbnQgYXMgybVjYX0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9zaGFyZS1vYmplY3QtYWN0aW9uL3NoYXJlLW9iamVjdC1hY3Rpb24nO1xuZXhwb3J0IHtTaGFyZU9iamVjdENvbXBvbmVudCBhcyDJtWNifSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL3NoYXJlLW9iamVjdC1hY3Rpb24vc2hhcmUtb2JqZWN0L3NoYXJlLW9iamVjdC5jb21wb25lbnQnO1xuZXhwb3J0IHtVbmxvY2tBY3Rpb25Db21wb25lbnQgYXMgybVjZ30gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy91bmxvY2stYWN0aW9uL3VubG9jay1hY3Rpb24nO1xuZXhwb3J0IHtVcGRhdGVSZXN1Ym1pc3Npb25BY3Rpb25Db21wb25lbnQgYXMgybVien0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy91cGRhdGUtcmVzdWJtaXNzaW9uLWFjdGlvbi91cGRhdGUtcmVzdWJtaXNzaW9uLWFjdGlvbic7XG5leHBvcnQge1NpbXBsZVdvcmtmbG93QWN0aW9uQ29tcG9uZW50IGFzIMm1Y2h9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvd29ya2Zsb3ctYWN0aW9uL3NpbXBsZS13b3JrZmxvdy1hY3Rpb24uY29tcG9uZW50JztcbmV4cG9ydCB7V29ya2Zsb3dBY3Rpb25Db21wb25lbnQgYXMgybVidX0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy93b3JrZmxvdy1hY3Rpb24vd29ya2Zsb3ctYWN0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQge1dvcmtmbG93Q29tcG9uZW50IGFzIMm1YnZ9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvd29ya2Zsb3ctYWN0aW9uL3dvcmtmbG93L3dvcmtmbG93LmNvbXBvbmVudCc7XG5leHBvcnQge0FwcFByb2Nlc3NDb21wb25lbnQgYXMgybVkfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvYXBwLXNoZWxsL2FwcC1iYXIvYXBwLXByb2Nlc3MvYXBwLXByb2Nlc3MuY29tcG9uZW50JztcbmV4cG9ydCB7QXBwU2hlbGxSb3V0aW5nTW9kdWxlIGFzIMm1Y30gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2FwcC1zaGVsbC9hcHAtc2hlbGwtcm91dGluZy5tb2R1bGUnO1xuZXhwb3J0IHtEYXRlcGlja2VyU2VydmljZSBhcyDJtWt9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL2RhdGV0aW1lL2RhdGVwaWNrZXIvc2VydmljZS9kYXRlcGlja2VyLnNlcnZpY2UnO1xuZXhwb3J0IHtZZWFyUmFuZ2VEaXJlY3RpdmUgYXMgybVsfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvZm9ybS1lbGVtZW50cy9kYXRldGltZS95ZWFyLXJhbmdlL3llYXItcmFuZ2UuZGlyZWN0aXZlJztcbmV4cG9ydCB7ZmFkZUluT3V0IGFzIMm1bn0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2Zvcm0tZWxlbWVudHMvaWQtcmVmZXJlbmNlL2FuaW1hdGlvbi9yZWZlcmVuY2UtZmluZGVyLmFuaW1hdGlvbic7XG5leHBvcnQge1JlZmVyZW5jZUZpbmRlckVudHJ5Q29tcG9uZW50IGFzIMm1cH0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2Zvcm0tZWxlbWVudHMvaWQtcmVmZXJlbmNlL3JlZmVyZW5jZS1maW5kZXItZW50cnkvcmVmZXJlbmNlLWZpbmRlci1lbnRyeS5jb21wb25lbnQnO1xuZXhwb3J0IHtSZWZlcmVuY2VGaW5kZXJDb21wb25lbnQgYXMgybVtfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvZm9ybS1lbGVtZW50cy9pZC1yZWZlcmVuY2UvcmVmZXJlbmNlLWZpbmRlci9yZWZlcmVuY2UtZmluZGVyLmNvbXBvbmVudCc7XG5leHBvcnQge1JlZmVyZW5jZUZpbmRlclNlcnZpY2UgYXMgybVvfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvZm9ybS1lbGVtZW50cy9pZC1yZWZlcmVuY2Uvc2VydmljZS9yZWZlcmVuY2UtZmluZGVyLnNlcnZpY2UnO1xuZXhwb3J0IHtQYWdpbmF0aW9uQ29tcG9uZW50IGFzIMm1c30gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2dyaWQvZXh0ZW5zaW9ucy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCB7RHluYW1pY0xpc3RGaWx0ZXJDb21wb25lbnQgYXMgybVxfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvZ3JpZC9maWx0ZXJzL2R5bmFtaWMtbGlzdC1maWx0ZXIuY29tcG9uZW50JztcbmV4cG9ydCB7TGlzdEZpbHRlckNvbXBvbmVudCBhcyDJtXJ9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9ncmlkL2ZpbHRlcnMvbGlzdC1maWx0ZXIuY29tcG9uZW50JztcbmV4cG9ydCB7RHVldGltZUluZm9Db21wb25lbnQgYXMgybVjbH0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL2luYm94LWRldGFpbHMvZHVldGltZUluZm8vZHVldGltZUluZm8uY29tcG9uZW50JztcbmV4cG9ydCB7RWRpdEljb25Db21wb25lbnQgYXMgybVja30gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL29iamVjdC1kZXRhaWxzL2VkaXQtaWNvbi9lZGl0LWljb24uY29tcG9uZW50JztcbmV4cG9ydCB7UHJlcGFyZUNvbnRlbnRFeGlzdHNJbmZvQ29tcG9uZW50IGFzIMm1Y219IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9wcmVwYXJlLWRldGFpbHMvcHJlcGFyZS1jb250ZW50LWV4aXN0cy1pbmZvL3ByZXBhcmUtY29udGVudC1leGlzdHMtaW5mby5jb21wb25lbnQnO1xuZXhwb3J0IHtQcm9jZXNzRm9ybUNvbXBvbmVudCBhcyDJtXV9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay9wcm9jZXNzLWZvcm0vcHJvY2Vzcy1mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQge1Byb2Nlc3NGb3JtTW9kdWxlIGFzIMm1dH0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL3Byb2Nlc3MtZm9ybS9wcm9jZXNzLWZvcm0ubW9kdWxlJztcbmV4cG9ydCB7U3RvcmVkUXVlcnlNb2R1bGUgYXMgybVjbn0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL3N0b3JlZC1xdWVyeSc7XG5leHBvcnQge1RyZWVOb2RlQ29tcG9uZW50IGFzIMm1an0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL3RyZWUvdHJlZS1ub2RlL3RyZWUtbm9kZS5jb21wb25lbnQnO1xuZXhwb3J0IHtJbmRleGRhdGFTdW1tYXJ5RW50cnlDb21wb25lbnQgYXMgybVofSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvdWkvaW5kZXhkYXRhLXN1bW1hcnkvaW5kZXhkYXRhLXN1bW1hcnktZW50cnkvaW5kZXhkYXRhLXN1bW1hcnktZW50cnkuY29tcG9uZW50JztcbmV4cG9ydCB7UXVlcnlTY29wZVNlbGVjdENvbXBvbmVudCBhcyDJtWd9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay91aS9xdWVyeS1zY29wZS1zZWxlY3QvcXVlcnktc2NvcGUtc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQge1VwbG9hZE92ZXJsYXlHdWFyZCBhcyDJtWJ9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay91cGxvYWQtb3ZlcmxheS91cGxvYWQtb3ZlcmxheS1ndWFyZC5zZXJ2aWNlJztcbmV4cG9ydCB7VW5zdWJzY3JpYmVPbkRlc3Ryb3kgYXMgybVmfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvdXRpbCc7XG5leHBvcnQge1ByZXZlbnREb3VibGVDbGlja0RpcmVjdGl2ZSBhcyDJtWNpfSBmcm9tICcuL2FwcC9lby1mcmFtZXdvcmsvdXRpbC9kaXJlY3RpdmUvcHJldmVudC1kb3VibGUtY2xpY2suZGlyZWN0aXZlJztcbmV4cG9ydCB7VHJhcEZvY3VzRGlyZWN0aXZlIGFzIMm1Y2p9IGZyb20gJy4vYXBwL2VvLWZyYW1ld29yay91dGlsL2RpcmVjdGl2ZS90cmFwLWZvY3VzLmRpcmVjdGl2ZSc7XG5leHBvcnQge09yZGVyQnlQaXBlIGFzIMm1aX0gZnJvbSAnLi9hcHAvZW8tZnJhbWV3b3JrL3V0aWwvc29ydGFibGUvb3JkZXItYnkucGlwZSc7Il19
@@ -318,11 +318,12 @@ export class SortOption {
318
318
  * Creates the Model of Field Definitions
319
319
  */
320
320
  export class FieldDefinition {
321
- constructor(elements = [], sortorder = [], grouporder = [], pinned = [], mode) {
321
+ constructor(elements = [], sortorder = [], grouporder = [], pinned = [], alignmentx = [], mode) {
322
322
  this.elements = elements;
323
323
  this.sortorder = sortorder;
324
324
  this.grouporder = grouporder;
325
325
  this.pinned = pinned;
326
+ this.alignmentx = alignmentx;
326
327
  this.mode = mode;
327
328
  }
328
329
  }
@@ -496,4 +497,4 @@ SearchFilter.OPERATOR = {
496
497
  INTERVAL_INCLUDE_FROM: "gtelt",
497
498
  RANGE: "rg" // aggegation ranges
498
499
  };
499
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXF1ZXJ5Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW8tc2RrL2NvcmUvc3JjL2xpYi9zZXJ2aWNlL3NlYXJjaC9zZWFyY2gtcXVlcnkubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRXpDLDJEQUEyRDtBQUUzRCxNQUFNLENBQU4sSUFBWSxVQUlYO0FBSkQsV0FBWSxVQUFVO0lBQ3BCLHlCQUFXLENBQUE7SUFDWCxpQ0FBbUIsQ0FBQTtJQUNuQixzQ0FBd0IsQ0FBQTtBQUMxQixDQUFDLEVBSlcsVUFBVSxLQUFWLFVBQVUsUUFJckI7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUF1SXRCO1FBbkRBOztXQUVHO1FBQ0ksVUFBSyxHQUFpQixFQUFFLENBQUM7UUFDaEM7O1dBRUc7UUFDSSx1QkFBa0IsR0FBaUIsRUFBRSxDQUFDO1FBQzdDOztXQUVHO1FBQ0ksWUFBTyxHQUFtQixFQUFFLENBQUM7UUFLcEM7O1dBRUc7UUFDSSxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBSzFCOztXQUVHO1FBQ0ksZUFBVSxHQUFXLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQztRQUM1RDs7V0FFRztRQUNJLGdCQUFXLEdBQWlCLEVBQUUsQ0FBQztRQUN0Qzs7V0FFRztRQUNJLHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUMvQjs7V0FFRztRQUNJLFVBQUssR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUV2QyxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5QixnQkFBVyxHQUFZLEtBQUssQ0FBQztJQVNyQixDQUFDO0lBRWhCOzs7O09BSUc7SUFDSSxPQUFPLENBQUMsSUFBZ0I7UUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDM0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFVBQVUsQ0FBQyxJQUFnQjtRQUNoQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxVQUFVLENBQUMsSUFBZ0I7UUFDaEMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQzFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdkI7YUFBTTtZQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3ZCO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxTQUFTLENBQUMsTUFBb0I7UUFDbkMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNwQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUMzQjthQUFNO1lBQ0wsMkRBQTJEO1lBQzNELDRDQUE0QztZQUM1QyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUMzQjtJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksWUFBWSxDQUFDLGtCQUEwQjtRQUM1QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksWUFBWSxDQUFDLE1BQW9CLEVBQUUsUUFBa0I7UUFDMUQsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNuQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNuQyxJQUFJLFFBQVEsRUFBRTtnQkFDWixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUMzQjtTQUNGO2FBQU07WUFDTCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUMzQjtJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLFNBQVMsQ0FBQyxZQUFvQjtRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxZQUFZLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU0sZUFBZSxDQUFDLFlBQW9CO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLGFBQWEsQ0FBQyxJQUFZLEVBQUUsS0FBYSxFQUFFLE9BQWdCO1FBQ2hFLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUU7WUFDakQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQzdEO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNJLGdCQUFnQixDQUFDLElBQVk7UUFDbEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksWUFBWTtRQUNqQix1R0FBdUc7UUFDdkcsMEZBQTBGO1FBQzFGLE1BQU0sU0FBUyxHQUFRLEVBQUUsQ0FBQztRQUUxQixtQkFBbUI7UUFDbkIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDekIsU0FBUyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUNuQyxPQUFPLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDbkMsQ0FBQztTQUNIO1FBRUQsa0NBQWtDO1FBQ2xDLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDdEMsU0FBUyxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDekU7UUFFRCxVQUFVO1FBQ1YsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDM0IsU0FBUyxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3ZCLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM5QyxDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2IsU0FBUyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQzVCO1FBQ0QsZ0JBQWdCO1FBQ2hCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLFNBQVMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztTQUNoQztRQUNELElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNiLFNBQVMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztTQUM1QjtRQUNELHVEQUF1RDtRQUN2RCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRTtZQUN2QixTQUFTLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUN2QixTQUFTLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3JDLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDaEIsU0FBUyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2FBQ2xDO1lBQ0QsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNuQixTQUFTLENBQUMsT0FBTyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7YUFDckM7WUFDRCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDekIsU0FBUyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7YUFDM0M7WUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssV0FBVyxDQUFDLG1CQUFtQixFQUFFO2dCQUN2RCxTQUFTLENBQUMsT0FBTyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO2FBQ2hEO1lBQ0QsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFO2dCQUMvQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBc0IsRUFBRSxFQUFFO29CQUNsRCxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUc7d0JBQ3pDLEtBQUssRUFBRSxVQUFVLENBQUMsS0FBSztxQkFDeEIsQ0FBQztnQkFDSixDQUFDLENBQUMsQ0FBQzthQUNKO1lBRUQsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUNyQixTQUFTLENBQUMsT0FBTyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO2FBQ3BEO1lBQ0QsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNwQixTQUFTLENBQUMsT0FBTyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO2FBQ2xEO1NBQ0Y7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsd0ZBQXdGO0lBQ2hGLFlBQVk7UUFDbEIsT0FBTyxDQUNMLElBQUksQ0FBQyxVQUFVO1lBQ2YsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLO1lBQ1osSUFBSSxDQUFDLE9BQU87WUFDWixJQUFJLENBQUMsWUFBWTtZQUNqQixJQUFJLENBQUMsZ0JBQWdCO1lBQ3JCLElBQUksQ0FBQyxXQUFXO1lBQ2hCLElBQUksQ0FBQyxVQUFVLEtBQUssV0FBVyxDQUFDLG1CQUFtQjtZQUNuRCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQzVCLENBQUM7SUFDSixDQUFDOztBQTdVRDs7R0FFRztBQUNXLHVCQUFXLEdBQUc7SUFDMUIsSUFBSSxFQUFFLE1BQU07SUFDWixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixRQUFRLEVBQUUsVUFBVTtJQUNwQixRQUFRLEVBQUUsVUFBVTtJQUNwQixRQUFRLEVBQUUsVUFBVTtJQUNwQixRQUFRLEVBQUUsVUFBVTtJQUNwQixhQUFhLEVBQUUsZUFBZTtDQUMvQixDQUFDO0FBRUY7O0dBRUc7QUFDVywrQkFBbUIsR0FBRztJQUNsQyxLQUFLLEVBQUUsT0FBTztJQUNkLFNBQVMsRUFBRSxXQUFXO0lBQ3RCLFNBQVMsRUFBRSxVQUFVO0lBQ3JCLFNBQVMsRUFBRSxVQUFVO0lBQ3JCLFVBQVUsRUFBRSxXQUFXO0lBQ3ZCLFVBQVUsRUFBRSxXQUFXO0lBQ3ZCLFNBQVMsRUFBRSxVQUFVO0lBQ3JCLFNBQVMsRUFBRSxVQUFVO0NBQ3RCLENBQUM7QUFFRjs7R0FFRztBQUNXLGlDQUFxQixHQUFHO0lBQ3BDLEdBQUcsRUFBRSxLQUFLO0lBQ1YsSUFBSSxFQUFFLE1BQU07SUFDWixJQUFJLEVBQUUsTUFBTTtJQUNaLEtBQUssRUFBRSxPQUFPO0lBQ2QsWUFBWSxFQUFFLGNBQWM7SUFDNUIsR0FBRyxFQUFFLEtBQUs7SUFDVixLQUFLLEVBQUUsT0FBTztJQUNkLFVBQVUsRUFBRSxZQUFZO0lBQ3hCLEtBQUssRUFBRSxPQUFPO0lBQ2QsSUFBSSxFQUFFLE1BQU07SUFDWixLQUFLLEVBQUUsT0FBTztJQUNkLEdBQUcsRUFBRSxLQUFLO0NBQ1gsQ0FBQztBQUVGOztHQUVHO0FBQ1csNkJBQWlCLEdBQUc7SUFDaEMsS0FBSyxFQUFFLE9BQU87SUFDZCxNQUFNLEVBQUUsUUFBUTtJQUNoQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztDQUNuQixDQUFDO0FBRUYseURBQXlEO0FBQzNDLHdCQUFZLEdBQUc7SUFDM0IsWUFBWSxFQUFFLG9CQUFvQjtJQUNsQyxrQkFBa0IsRUFBRSwwQkFBMEI7SUFDOUMsUUFBUSxFQUFFLGdCQUFnQjtJQUMxQixTQUFTLEVBQUUsaUJBQWlCO0lBQzVCLGtCQUFrQixFQUFFLHlCQUF5QjtJQUM3QyxjQUFjLEVBQUUsc0JBQXNCO0lBQ3RDLFlBQVksRUFBRSxvQkFBb0I7SUFDbEMsY0FBYyxFQUFFLHNCQUFzQjtDQUN2QyxDQUFDO0FBQ0Y7O0dBRUc7QUFDVywrQkFBbUIsR0FBRyxNQUFNLENBQUM7QUFDM0M7O0dBRUc7QUFDVyxnQ0FBb0IsR0FBRyxLQUFLLENBQUM7QUFzUTdDOzs7R0FHRztBQUNILE1BQU0sT0FBTyxVQUFVO0lBQ3JCLFlBQ1MsS0FBYSxFQUNiLEtBQWEsRUFDYixPQUFnQjtRQUZoQixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ2IsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLFlBQU8sR0FBUCxPQUFPLENBQVM7SUFDdEIsQ0FBQztDQUNMO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGVBQWU7SUFDMUIsWUFDUyxXQUFrQixFQUFFLEVBQ3BCLFlBQW1CLEVBQUUsRUFDckIsYUFBb0IsRUFBRSxFQUN0QixTQUFnQixFQUFFLEVBQ2xCLElBQWE7UUFKYixhQUFRLEdBQVIsUUFBUSxDQUFZO1FBQ3BCLGNBQVMsR0FBVCxTQUFTLENBQVk7UUFDckIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixXQUFNLEdBQU4sTUFBTSxDQUFZO1FBQ2xCLFNBQUksR0FBSixJQUFJLENBQVM7SUFDbkIsQ0FBQztDQUNMO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUFLdEI7O09BRUc7SUFDSDtRQUNFLElBQUksQ0FBQyxZQUFZLEdBQUc7WUFDbEIsSUFBSSxFQUFFLElBQUksR0FBRyxFQUFrQjtZQUMvQixXQUFXLEVBQUUsSUFBSSxHQUFHLEVBQWtCO1lBQ3RDLE9BQU8sRUFBRSxFQUFFO1lBQ1gsUUFBUSxFQUFFLEVBQUU7WUFDWixhQUFhLEVBQUUsRUFBRTtZQUNqQixRQUFRLEVBQUUsRUFBRTtTQUNiLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBVyxFQUFFLEdBQVcsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQVcsQ0FBQztJQUNsSCxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxlQUFlLENBQUMsSUFBWSxFQUFFLEdBQVcsRUFBRSxLQUFhLEVBQUUsR0FBSTtRQUM1RCxRQUFRLElBQUksRUFBRTtZQUNaLEtBQUssYUFBYSxDQUFDLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQzlDLE1BQU07YUFDUDtZQUNELEtBQUssV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDakMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDdkMsTUFBTTthQUNQO1lBQ0QsS0FBSyxXQUFXLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNwQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7b0JBQzdCLEdBQUcsRUFBRSxHQUFHO29CQUNSLEtBQUssRUFBRSxLQUFLO2lCQUNiLENBQUMsQ0FBQztnQkFDSCxNQUFNO2FBQ1A7WUFDRCxLQUFLLFdBQVcsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztvQkFDOUIsR0FBRyxFQUFFLEdBQUc7b0JBQ1IsS0FBSyxFQUFFLEtBQUs7aUJBQ2IsQ0FBQyxDQUFDO2dCQUNILE1BQU07YUFDUDtZQUNELEtBQUssV0FBVyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDMUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO29CQUNuQyxHQUFHLEVBQUUsR0FBRztvQkFDUixLQUFLLEVBQUUsS0FBSztpQkFDYixDQUFDLENBQUM7Z0JBQ0gsTUFBTTthQUNQO1lBQ0QsS0FBSyxXQUFXLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNyQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7b0JBQzlCLEdBQUcsRUFBRSxHQUFHO29CQUNSLEtBQUssRUFBRSxLQUFLO29CQUNaLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSTtvQkFDZCxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUUsSUFBSSxRQUFRO29CQUN0QixLQUFLLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7aUJBQ25ELENBQUMsQ0FBQztnQkFDSCxNQUFNO2FBQ1A7U0FDRjtJQUNILENBQUM7Q0FDRjtBQUVEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBT3ZCLGdCQUFlLENBQUM7Q0FDakI7QUFFRCxNQUFNLE9BQU8sWUFBWTtJQXdCdkI7Ozs7Ozs7O09BUUc7SUFDSCxZQUNTLFFBQWdCLEVBQ2hCLFFBQWdCLEVBQ2hCLFVBQWUsRUFDZixXQUFpQixFQUNqQixhQUFvRDtRQUpwRCxhQUFRLEdBQVIsUUFBUSxDQUFRO1FBQ2hCLGFBQVEsR0FBUixRQUFRLENBQVE7UUFDaEIsZUFBVSxHQUFWLFVBQVUsQ0FBSztRQUNmLGdCQUFXLEdBQVgsV0FBVyxDQUFNO1FBQ2pCLGtCQUFhLEdBQWIsYUFBYSxDQUF1QztJQUMxRCxDQUFDO0lBRUosVUFBVSxDQUFDLEtBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsYUFBYSxJQUFJLEtBQUs7WUFDaEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUTtnQkFDM0IsQ0FBQyxDQUFDLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsY0FBYyxDQUFDO2dCQUNyRCxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJO29CQUN2QixDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHO29CQUNsRCxDQUFDLENBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUM7WUFDdkQsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNaLENBQUM7SUFFRCxPQUFPO1FBQ0wsdUJBQ0UsQ0FBQyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQ2hCLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFDakMsQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLEVBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFDLENBQUMsRUFDaEU7SUFDSixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3hFLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDakMsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUNuQyxNQUFNLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksVUFBVSxDQUFDLENBQUM7WUFDcEQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNsQyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssWUFBWSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUU7Z0JBQ3pELFVBQVUsR0FBRyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDcEM7aUJBQU07Z0JBQ0wsTUFBTSxTQUFTLEdBQUcsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3ZDLElBQ0UsSUFBSSxDQUFDLFFBQVEsS0FBSyxZQUFZLENBQUMsUUFBUSxDQUFDLFlBQVk7b0JBQ3BELElBQUksQ0FBQyxRQUFRLEtBQUssWUFBWSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQ2hEO29CQUNBLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7aUJBQ3JDO3FCQUFNO29CQUNMLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7aUJBQ2hDO2dCQUNELFVBQVUsR0FBRyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDdEM7WUFDRCxJQUNFLElBQUksQ0FBQyxRQUFRLEtBQUssWUFBWSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUI7Z0JBQzdELElBQUksQ0FBQyxRQUFRLEtBQUssWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQzdDO2dCQUNBLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDckM7WUFDRCx1QkFDRSxDQUFDLEVBQ0MsSUFBSSxDQUFDLFFBQVEsS0FBSyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUs7b0JBQzNDLENBQUMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLHFCQUFxQjtvQkFDN0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQ25CLEVBQUUsRUFBRSxVQUFVLElBQ1gsQ0FBQyxXQUFXLElBQUksRUFBQyxFQUFFLEVBQUUsV0FBVyxFQUFDLENBQUMsRUFDckM7U0FDSDthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQ0gsUUFBZ0IsRUFDaEIsUUFBZ0IsRUFDaEIsVUFBZSxFQUNmLFdBQWlCO1FBRWpCLE9BQU8sQ0FDTCxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVE7WUFDMUIsSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRO1lBQzFCLElBQUksQ0FBQyxXQUFXLEtBQUssV0FBVztZQUNoQyxDQUFDLElBQUksQ0FBQyxVQUFVLFlBQVksS0FBSztnQkFDL0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVLENBQUM7Z0JBQy9DLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxLQUFLLFVBQVUsQ0FBQyxDQUNwQyxDQUFDO0lBQ0osQ0FBQzs7QUFsSEQ7O0dBRUc7QUFDVyxxQkFBUSxHQUFHO0lBQ3ZCLFlBQVk7SUFDWixLQUFLLEVBQUUsSUFBSTtJQUNYLHdEQUF3RDtJQUN4RCxLQUFLLEVBQUUsT0FBTztJQUNkLDRFQUE0RTtJQUM1RSxFQUFFLEVBQUUsSUFBSTtJQUNSLG1CQUFtQjtJQUNuQixZQUFZLEVBQUUsSUFBSTtJQUNsQiw0QkFBNEI7SUFDNUIsZ0JBQWdCLEVBQUUsS0FBSztJQUN2QixTQUFTLEVBQUUsSUFBSTtJQUNmLGFBQWEsRUFBRSxLQUFLO0lBQ3BCLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLHFCQUFxQixFQUFFLFFBQVE7SUFDL0IsbUJBQW1CLEVBQUUsT0FBTztJQUM1QixxQkFBcUIsRUFBRSxPQUFPO0lBQzlCLEtBQUssRUFBRSxJQUFJLENBQUMsb0JBQW9CO0NBQ2pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3JlZHVjZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtPYmplY3RUeXBlfSBmcm9tIFwiLi4vLi4vbW9kZWwvb2JqZWN0LXR5cGUubW9kZWxcIjtcbmltcG9ydCB7RGF0ZVBpcGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcblxuLy9leHBvcnQgdHlwZSBRdWVyeVNjb3BlID0gJ2luZGV4ZGF0ZScgfCAnY29udGVudCcgfCAnYWxsJztcblxuZXhwb3J0IGVudW0gUXVlcnlTY29wZSB7XG4gIEFMTCA9ICdhbGwnLFxuICBDT05URU5UID0gJ2NvbnRlbnQnLFxuICBJTkRFWF9EQVRBID0gJ2luZGV4ZGF0YSdcbn1cblxuLyoqXG4gKiBUaGUgU2VhcmNoUXVlcnkgQ2xhc3NcbiAqXG4gKiBTZWUge0BsaW5rIFNlYXJjaFNlcnZpY2V9IGZvciBVc2FnZVxuICovXG5leHBvcnQgY2xhc3MgU2VhcmNoUXVlcnkge1xuICAvKipcbiAgICogQmFzZSBQYXJhbWV0ZXJzIGZvciBhIFNlYXJjaCBRdWVyeVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBCQVNFX1BBUkFNUyA9IHtcbiAgICBUWVBFOiBcInR5cGVcIixcbiAgICBDUkVBVE9SOiBcImNyZWF0b3JcIixcbiAgICBDUkVBVEVEOiBcImNyZWF0ZWRcIixcbiAgICBNT0RJRklFUjogXCJtb2RpZmllclwiLFxuICAgIE1PRElGSUVEOiBcIm1vZGlmaWVkXCIsXG4gICAgRklMRVNJWkU6IFwiZmlsZXNpemVcIixcbiAgICBGSUxFTkFNRTogXCJmaWxlbmFtZVwiLFxuICAgIE1JTUVUWVBFR1JPVVA6IFwibWltZXR5cGVncm91cFwiXG4gIH07XG5cbiAgLyoqXG4gICAqIFRpbWUgcGVyaW9kIGJ1Y2tldHMgcHJvcGVydHkgbmFtZXNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgVElNRV9QRVJJT0RfQlVDS0VUUyA9IHtcbiAgICBUT0RBWTogXCJ0b2RheVwiLFxuICAgIFlFU1RFUkRBWTogXCJ5ZXN0ZXJkYXlcIixcbiAgICBUSElTX1dFRUs6IFwidGhpc3dlZWtcIixcbiAgICBMQVNUX1dFRUs6IFwibGFzdHdlZWtcIixcbiAgICBUSElTX01PTlRIOiBcInRoaXNtb250aFwiLFxuICAgIExBU1RfTU9OVEg6IFwibGFzdG1vbnRoXCIsXG4gICAgVEhJU19ZRUFSOiBcInRoaXN5ZWFyXCIsXG4gICAgTEFTVF9ZRUFSOiBcImxhc3R5ZWFyXCJcbiAgfTtcblxuICAvKipcbiAgICogbWltZXR5cGUgYnVja2V0cyBwcm9wZXJ0eSBuYW1lc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBNSU1FVFlQRUdST1VQX0JVQ0tFVFMgPSB7XG4gICAgUERGOiBcInBkZlwiLFxuICAgIE1BSUw6IFwibWFpbFwiLFxuICAgIFdPUkQ6IFwid29yZFwiLFxuICAgIElNQUdFOiBcImltYWdlXCIsXG4gICAgT0NURVRfU1RSRUFNOiBcIm9jdGV0LXN0cmVhbVwiLFxuICAgIFRYVDogXCJ0eHRcIixcbiAgICBFWENFTDogXCJleGNlbFwiLFxuICAgIFBPV0VSUE9JTlQ6IFwicG93ZXJwb2ludFwiLFxuICAgIFZJREVPOiBcInZpZGVvXCIsXG4gICAgSFRNTDogXCJodG1sXCIsXG4gICAgQVVESU86IFwiYXVkaW9cIixcbiAgICBaSVA6IFwiemlwXCJcbiAgfTtcblxuICAvKipcbiAgICogZmlsZXNpemUgYnVja2V0cyBwcm9wZXJ0eSBuYW1lc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBGSUxFX1NJWkVfQlVDS0VUUyA9IHtcbiAgICBMVDFNQjogXCJsdDFNQlwiLFxuICAgIExUMTBNQjogXCJsdDEwTUJcIixcbiAgICBMVDEwME1COiBcImx0MTAwTUJcIixcbiAgICBHVDEwME1COiBcImd0MTAwTUJcIlxuICB9O1xuXG4gIC8vIGxpc3Qgb2YgdGhpbmdzIHRoYXQgbWF5IGhhdmUgY2hhbmdlZCB0aGUgY3VycmVudCBxdWVyeVxuICBwdWJsaWMgc3RhdGljIFVQREFURV9DQVVTRSA9IHtcbiAgICBUT0dHTEVEX1RZUEU6IFwiY2F1c2UudHlwZS50b2dnbGVkXCIsXG4gICAgVE9HR0xFRF9FWFBFUlRNT0RFOiBcImNhdXNlLmV4cGVydG1vZGUudG9nZ2xlZFwiLFxuICAgIFRFUk1fU0VUOiBcImNhdXNlLnRlcm0uc2V0XCIsXG4gICAgVFlQRVNfU0VUOiBcImNhdXNlLnR5cGVzLnNldFwiLFxuICAgIENPTlRFWFRfRk9MREVSX1NFVDogXCJjYXVzZS5jb250ZXh0Zm9sZGVyLnNldFwiLFxuICAgIFRPR0dMRURfRklMVEVSOiBcImNhdXNlLmZpbHRlci50b2dnbGVkXCIsXG4gICAgQURERURfRklMVEVSOiBcImNhdXNlLmZpbHRlci5hZGRlZFwiLFxuICAgIFJFTU9WRURfRklMVEVSOiBcImNhdXNlLmZpbHRlci5yZW1vdmVkXCIsXG4gIH07XG4gIC8qKlxuICAgKiBEZXRhdWx0IFNlYXJjaCBtb2RlIEluZGV4XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIERFRkFVTFRfU0VBUkNIX01PREUgPSBcImlkeHNcIjtcbiAgLyoqXG4gICAqIFNlYXJjaCBtb2RlIGZvciBGdWxsIHRlc3QgU2VhcmNoXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIEZVTExURVhUX1NFQVJDSF9NT0RFID0gXCJmdHNcIjtcbiAgLyoqXG4gICAqIGZ1bGx0ZXh0IHNlYXJjaCB0ZXJtXG4gICAqL1xuICBwdWJsaWMgdGVybTogc3RyaW5nO1xuICAvKipcbiAgICogQXJyYXkgb2YgZmllbGRzIHRvIHJlcXVlc3QgZnJvbSB0aGUgc2VhcmNoIHNlcnZpY2UsIGxlYXZpbmcgdGhpcyBibGFuayB3aWxsIHJldHVybiB0aGUgZmllbGRzIHNwZWNpZmllZCBpbiB0aGUgcmVzdWx0IGZpZWxkIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHB1YmxpYyBmaWVsZHM6IHN0cmluZ1tdO1xuICAvKipcbiAgICogTGlzdCBvZiBvYmplY3QgdHlwZXMgdG8gYmUgZmV0Y2hlZCBieSB0aGUgcXVlcnkuIExlYXZpbmcgdGhpcyBibGFuayB3aWxsIHJldHVybiByZXN1bHRzIGZyb20gYW55IHR5cGVcbiAgICovXG4gIHB1YmxpYyB0eXBlczogT2JqZWN0VHlwZVtdID0gW107XG4gIC8qKlxuICAgKiBMaXN0IG9mIGNvbnRleHQgZm9sZGVyIHR5cGVzXG4gICAqL1xuICBwdWJsaWMgY29udGV4dEZvbGRlclR5cGVzOiBPYmplY3RUeXBlW10gPSBbXTtcbiAgLyoqXG4gICAqIExpc3Qgb2YgZmlsdGVycyB0byBkZWZpbmUgdGhlIHF1ZXJ5XG4gICAqL1xuICBwdWJsaWMgZmlsdGVyczogU2VhcmNoRmlsdGVyW10gPSBbXTtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIHJldHJpZXZlIHN1Z2dlc3Rpb25zXG4gICAqL1xuICBwdWJsaWMgc3VnZ2VzdDogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoZSB0ZXJtIGlzIGFuIGV4cGVydCBtb2RlIHF1ZXJ5XG4gICAqL1xuICBwdWJsaWMgZXhwZXJ0TW9kZSA9IGZhbHNlO1xuICAvKipcbiAgICogVGhlIHNjb3BlIG9mIHRoZSBxdWVyeVxuICAgKi9cbiAgcHVibGljIHNjb3BlOiBRdWVyeVNjb3BlO1xuICAvKipcbiAgICogVGhlIHNlYXJjaCBtb2RlIHRvIGJlIHVzZWQgKFNlYXJjaFF1ZXJ5LkRFRkFVTFRfU0VBUkNIX01PREUgb3IgU2VhcmNoUXVlcnkuRlVMTFRFWFRfU0VBUkNIX01PREUpXG4gICAqL1xuICBwdWJsaWMgc2VhcmNoTW9kZTogc3RyaW5nID0gU2VhcmNoUXVlcnkuREVGQVVMVF9TRUFSQ0hfTU9ERTtcbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgb3B0aW9ucyB0byBiZSBhcHBsaWVkIHRvIHRoZSBxdWVyeVxuICAgKi9cbiAgcHVibGljIHNvcnRPcHRpb25zOiBTb3J0T3B0aW9uW10gPSBbXTtcbiAgLyoqXG4gICAqIFJlc29sdmUgcmVmZXJlbmNlcyB3aXRoIHRoZWlyIHRpdGxlIGluc3RlYWQgb2YgdGhlaXIgYWN0dWFsIHZhbHVlXG4gICAqL1xuICBwdWJsaWMgcmVzb2x2ZVJlZmVyZW5jZSA9IHRydWU7XG4gIC8qKlxuICAgKiBUaGUgc3RhdGUgb2YgdGhlIGN1cnJlbnQgcXVlcnlcbiAgICovXG4gIHB1YmxpYyBzdGF0ZTogU2VhcmNoU3RhdGUgPSBuZXcgU2VhcmNoU3RhdGUoKTtcblxuICBwdWJsaWMgaGlnaGxpZ2h0aW5nOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyB3aXRoQ29udGV4dDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBuYW1lPzogc3RyaW5nO1xuXG4gIC8vIEluZGljYXRvciB3aGF0IGNhdXNlZCB0aGUgdXBkYXRlIG9mIGEgU2VhcmNoUXVlcnkgb2JqZWN0LlxuICAvLyBVc2VmdWxsIGZvciBjb21wb25lbnRzIHRoYXQgc3Vic2NyaWJlZCB0byBhIHF1ZXJ5LCBhbmQgbmVlZCB0b1xuICAvLyB0cmFjayB0aGUga2luZCBvZiBjaGFuZ2VzIG1hZGVcbiAgX191cGRhdGVDYXVzZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICAvKipcbiAgICogQWRkcyBhIG5ldyB0YXJnZXQgdHlwZSB0byB0aGUgcXVlcnlcbiAgICpcbiAgICogQHBhcmFtIHR5cGUgT2JqZWN0IHR5cGUgdG8gYmUgYWRkZWRcbiAgICovXG4gIHB1YmxpYyBhZGRUeXBlKHR5cGU6IE9iamVjdFR5cGUpIHtcbiAgICBpZiAoIXRoaXMudHlwZXMuZmluZCh0ID0+IHQuaWQgPT09IHR5cGUuaWQpKSB7XG4gICAgICB0aGlzLnR5cGVzLnB1c2godHlwZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgYSB0eXBlIGZyb20gdGhlIHRhcmdldCB0eXBlcyBsaXN0XG4gICAqXG4gICAqIEBwYXJhbSB0eXBlIFRoZSBvYmplY3QgdHlwZSB0byBiZSByZW1vdmVkXG4gICAqL1xuICBwdWJsaWMgcmVtb3ZlVHlwZSh0eXBlOiBPYmplY3RUeXBlKSB7XG4gICAgdGhpcy50eXBlcyA9IHRoaXMudHlwZXMuZmlsdGVyKHQgPT4gdC5pZCAhPT0gdHlwZS5pZCk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBvciByZW1vdmVzIHRoZSBnaXZlbiB0eXBlIGJhc2VkIG9uIHRoZSBjdXJyZW50IHNldHRpbmdzXG4gICAqXG4gICAqIEBwYXJhbSB0eXBlIFRoZSBvYmplY3QgdHlwZSB0byBiZSB0b2dnbGVkXG4gICAqL1xuICBwdWJsaWMgdG9nZ2xlVHlwZSh0eXBlOiBPYmplY3RUeXBlKSB7XG4gICAgaWYgKHRoaXMudHlwZXMuZmluZCh0ID0+IHQuaWQgPT09IHR5cGUuaWQpKSB7XG4gICAgICB0aGlzLnJlbW92ZVR5cGUodHlwZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudHlwZXMucHVzaCh0eXBlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIG5ldyBmaWx0ZXIgdG8gdGhlIHF1ZXJ5LiBJZiB0aGVyZSBhbHJlYWR5IGlzIGEgZmlsdGVyIHNldCBmb3IgdGhlIGdpdmVuIHByb3BlcnR5LCBpdCB3aWxsIGJlIG92ZXJyaWRkZW4uXG4gICAqXG4gICAqIEBwYXJhbSBmaWx0ZXIgVGhlIGZpbHRlciB0byBiZSBhZGRlZFxuICAgKi9cbiAgcHVibGljIGFkZEZpbHRlcihmaWx0ZXI6IFNlYXJjaEZpbHRlcikge1xuICAgIGlmICghZmlsdGVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghdGhpcy5nZXRGaWx0ZXIoZmlsdGVyLnByb3BlcnR5KSkge1xuICAgICAgdGhpcy5maWx0ZXJzLnB1c2goZmlsdGVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gaWYgdGhlcmUgYWxyZWFkeSBpcyBhIGZpbHRlciBzZXQgZm9yIHRoZSB0YXJnZXQgcHJvcGVydHlcbiAgICAgIC8vIHdlJ2xsIGp1c3Qgb3ZlcnJpZGUgaXQgd2l0aCB0aGUgbmV3IHZhbHVlXG4gICAgICB0aGlzLnJlbW92ZUZpbHRlcihmaWx0ZXIucHJvcGVydHkpO1xuICAgICAgdGhpcy5maWx0ZXJzLnB1c2goZmlsdGVyKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBhIGZpbHRlciBmcm9tIHRoZSBxdWVyeS5cbiAgICpcbiAgICogQHBhcmFtIGZpbHRlclByb3BlcnR5TmFtZSBUaGUgZmlsdGVyIChpdHMgcHJvcGVydHkgbmFtZSkgdG8gYmUgcmVtb3ZlZFxuICAgKi9cbiAgcHVibGljIHJlbW92ZUZpbHRlcihmaWx0ZXJQcm9wZXJ0eU5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuZmlsdGVycyA9IHRoaXMuZmlsdGVycy5maWx0ZXIoZiA9PiBmLnByb3BlcnR5ICE9PSBmaWx0ZXJQcm9wZXJ0eU5hbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgb3IgcmVtb3ZlcyB0aGUgZ2l2ZW4gZmlsdGVyIGJhc2VkIG9uIHRoZSBjdXJyZW50IHNldHRpbmdzXG4gICAqXG4gICAqIEBwYXJhbSBmaWx0ZXIgVGhlIGZpbHRlciB0byBiZSB0b2dnbGVkXG4gICAqL1xuICBwdWJsaWMgdG9nZ2xlRmlsdGVyKGZpbHRlcjogU2VhcmNoRmlsdGVyLCBvdmVycmlkZT86IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5nZXRGaWx0ZXIoZmlsdGVyLnByb3BlcnR5KSkge1xuICAgICAgdGhpcy5yZW1vdmVGaWx0ZXIoZmlsdGVyLnByb3BlcnR5KTtcbiAgICAgIGlmIChvdmVycmlkZSkge1xuICAgICAgICB0aGlzLmZpbHRlcnMucHVzaChmaWx0ZXIpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpbHRlcnMucHVzaChmaWx0ZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgYSBmaWx0ZXIgYnkgaXRzIHByb3BlcnR5IG5hbWUuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wZXJ0eU5hbWUgVGhlIGZpbHRlcnMgcHJvcGVydHkgbmFtZSAocW5hbWUgb2YgZm9ybSBlbGVtZW50KVxuICAgKiBAcmV0dXJucyBTZWFyY2ggRmlsdGVyIE9iamVjdFxuICAgKi9cbiAgcHVibGljIGdldEZpbHRlcihwcm9wZXJ0eU5hbWU6IHN0cmluZyk6IFNlYXJjaEZpbHRlciB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVycy5maW5kKGYgPT4gZi5wcm9wZXJ0eSA9PT0gcHJvcGVydHlOYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRUYWJsZUZpbHRlcnMocHJvcGVydHlOYW1lOiBzdHJpbmcpOiBTZWFyY2hGaWx0ZXJbXSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVycy5maWx0ZXIoZiA9PiBmLnByb3BlcnR5LnN0YXJ0c1dpdGgocHJvcGVydHlOYW1lICsgJy4nKSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkaW5nIG5ldyBTb3J0IE9wdGlvbnNcbiAgICogU29ydCBPcHRpb25zIGFyZSBvbmx5IGFkZGVkIGlmIHRoZXkgYXJlIG5vdCBhbHJlYWR5IHByZXNlbnRcbiAgICpcbiAgICogQHBhcmFtIG5hbWVcbiAgICogQHBhcmFtIG9yZGVyXG4gICAqIEBwYXJhbSBtaXNzaW5nXG4gICAqL1xuICBwdWJsaWMgYWRkU29ydE9wdGlvbihuYW1lOiBzdHJpbmcsIG9yZGVyOiBzdHJpbmcsIG1pc3Npbmc/OiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMuc29ydE9wdGlvbnMuZmluZChzID0+IHMuZmllbGQgPT09IG5hbWUpKSB7XG4gICAgICB0aGlzLnNvcnRPcHRpb25zLnB1c2gobmV3IFNvcnRPcHRpb24obmFtZSwgb3JkZXIsIG1pc3NpbmcpKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIG5hbWVcbiAgICovXG4gIHB1YmxpYyByZW1vdmVTb3J0T3B0aW9uKG5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuc29ydE9wdGlvbnMgPSB0aGlzLnNvcnRPcHRpb25zLmZpbHRlcihzID0+IHMuZmllbGQgIT09IG5hbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIGEgcXVlcnkgSlNPTiBmcm9tIHRoZSBjdXJyZW50IFNlYXJjaFF1ZXJ5IHRoYXQgY2FuIGJlIHNlbmQgdG8gdGhlIHNlYXJjaCBzZXJ2aWNlLlxuICAgKi9cbiAgcHVibGljIGdldFF1ZXJ5SnNvbigpIHtcbiAgICAvLyBDb252ZXJ0IHRoZSBjdXJyZW50IHF1ZXJ5IG9iamVjdCB0byBhIHF1ZXJ5IEpTT04gdGhhdCBjYW4gYmUgY29uc3VtZWQgYnkgdGhlIHNlYXJjaCBzZXJ2aWNlIGJhY2tlbmQuXG4gICAgLy8gVG8ga2VlcCBpdCBzaG9ydCwgd2UnbGwgb25seSBhZGQgcHJvcGVydGllcyB0aGF0IGFyZSBzZXQgYW5kIGRpZmZlciBmcm9tIGRlZmF1bHQgdmFsdWVzXG4gICAgY29uc3QgcXVlcnlKc29uOiBhbnkgPSB7fTtcblxuICAgIC8vIGFkZCB0eXBlIGZpbHRlcnNcbiAgICBpZiAodGhpcy50eXBlcy5sZW5ndGggPiAwKSB7XG4gICAgICBxdWVyeUpzb24udHlwZXMgPSB0aGlzLnR5cGVzLm1hcCh0ID0+XG4gICAgICAgIHR5cGVvZiB0ID09PSBcInN0cmluZ1wiID8gdCA6IHQubmFtZVxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBhZGQgY29udGV4dCBmb2xkZXIgdHlwZSBmaWx0ZXJzXG4gICAgaWYgKHRoaXMuY29udGV4dEZvbGRlclR5cGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHF1ZXJ5SnNvbi5jb250ZXh0Zm9sZGVydHlwZXMgPSB0aGlzLmNvbnRleHRGb2xkZXJUeXBlcy5tYXAodCA9PiB0Lm5hbWUpO1xuICAgIH1cblxuICAgIC8vIGZpbHRlcnNcbiAgICBpZiAodGhpcy5maWx0ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIHF1ZXJ5SnNvbi5maWx0ZXJzID0ge307XG4gICAgICB0aGlzLmZpbHRlcnMuZm9yRWFjaChmID0+IHtcbiAgICAgICAgcXVlcnlKc29uLmZpbHRlcnNbZi5wcm9wZXJ0eV0gPSBmLnRvUXVlcnkoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy50ZXJtKSB7XG4gICAgICBxdWVyeUpzb24udGVybSA9IHRoaXMudGVybTtcbiAgICB9XG4gICAgLy8gc2VhcmNoIGZpZWxkc1xuICAgIGlmICh0aGlzLmZpZWxkcykge1xuICAgICAgcXVlcnlKc29uLmZpZWxkcyA9IHRoaXMuZmllbGRzO1xuICAgIH1cbiAgICBpZiAodGhpcy5uYW1lKSB7XG4gICAgICBxdWVyeUpzb24ubmFtZSA9IHRoaXMubmFtZTtcbiAgICB9XG4gICAgLy8gYWRkIG9wdGlvbnMgd2hlbiB0aGV5IGRpZmZlciBmcm9tIHRoZSBkZWZhdWx0IHZhbHVlc1xuICAgIGlmICh0aGlzLmFwcGx5T3B0aW9ucygpKSB7XG4gICAgICBxdWVyeUpzb24ub3B0aW9ucyA9IHt9O1xuICAgICAgcXVlcnlKc29uLm9wdGlvbnMuc2NvcGUgPSB0aGlzLnNjb3BlO1xuICAgICAgaWYgKHRoaXMuc3VnZ2VzdCkge1xuICAgICAgICBxdWVyeUpzb24ub3B0aW9ucy5zdWdnZXN0ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmV4cGVydE1vZGUpIHtcbiAgICAgICAgcXVlcnlKc29uLm9wdGlvbnMuZXhwZXJ0bW9kZSA9IHRydWU7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5yZXNvbHZlUmVmZXJlbmNlKSB7XG4gICAgICAgIHF1ZXJ5SnNvbi5vcHRpb25zLnJlc29sdmVSZWZlcmVuY2UgPSB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuc2VhcmNoTW9kZSAhPT0gU2VhcmNoUXVlcnkuREVGQVVMVF9TRUFSQ0hfTU9ERSkge1xuICAgICAgICBxdWVyeUpzb24ub3B0aW9ucy5zZWFyY2htb2RlID0gdGhpcy5zZWFyY2hNb2RlO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuc29ydE9wdGlvbnMgJiYgdGhpcy5zb3J0T3B0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgcXVlcnlKc29uLm9wdGlvbnMuc29ydCA9IHt9O1xuICAgICAgICB0aGlzLnNvcnRPcHRpb25zLmZvckVhY2goKHNvcnRPcHRpb246IFNvcnRPcHRpb24pID0+IHtcbiAgICAgICAgICBxdWVyeUpzb24ub3B0aW9ucy5zb3J0W3NvcnRPcHRpb24uZmllbGRdID0ge1xuICAgICAgICAgICAgb3JkZXI6IHNvcnRPcHRpb24ub3JkZXJcbiAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuaGlnaGxpZ2h0aW5nKSB7XG4gICAgICAgIHF1ZXJ5SnNvbi5vcHRpb25zLmhpZ2hsaWdodGluZyA9IHRoaXMuaGlnaGxpZ2h0aW5nO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMud2l0aENvbnRleHQpIHtcbiAgICAgICAgcXVlcnlKc29uLm9wdGlvbnMud2l0aENvbnRleHQgPSB0aGlzLndpdGhDb250ZXh0O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcXVlcnlKc29uO1xuICB9XG5cbiAgLy8gZGV0ZXJtaW5lcyB3aGV0aGVyIG9yIG5vdCB0aGUgcXVlcnkgc2VuZCB0byB0aGUgc2VhcmNoIHNlcnZpY2Ugc2hvdWxkIGNvbnRhaW4gb3B0aW9uc1xuICBwcml2YXRlIGFwcGx5T3B0aW9ucygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5leHBlcnRNb2RlIHx8XG4gICAgICAhIXRoaXMuc2NvcGUgfHxcbiAgICAgIHRoaXMuc3VnZ2VzdCB8fFxuICAgICAgdGhpcy5oaWdobGlnaHRpbmcgfHxcbiAgICAgIHRoaXMucmVzb2x2ZVJlZmVyZW5jZSB8fFxuICAgICAgdGhpcy53aXRoQ29udGV4dCB8fFxuICAgICAgdGhpcy5zZWFyY2hNb2RlICE9PSBTZWFyY2hRdWVyeS5ERUZBVUxUX1NFQVJDSF9NT0RFIHx8XG4gICAgICB0aGlzLnNvcnRPcHRpb25zLmxlbmd0aCA+IDBcbiAgICApO1xuICB9XG59XG5cbi8qKlxuICogQGlnbm9yZVxuICogQ3JlYXRlcyB0aGUgTW9kZWwgb2YgU29ydCBPcHRpb25zXG4gKi9cbmV4cG9ydCBjbGFzcyBTb3J0T3B0aW9uIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGZpZWxkOiBzdHJpbmcsXG4gICAgcHVibGljIG9yZGVyOiBzdHJpbmcsXG4gICAgcHVibGljIG1pc3Npbmc/OiBzdHJpbmdcbiAgKSB7fVxufVxuXG4vKipcbiAqIEBpZ25vcmVcbiAqIENyZWF0ZXMgdGhlIE1vZGVsIG9mIEZpZWxkIERlZmluaXRpb25zXG4gKi9cbmV4cG9ydCBjbGFzcyBGaWVsZERlZmluaXRpb24ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZWxlbWVudHM6IGFueVtdID0gW10sXG4gICAgcHVibGljIHNvcnRvcmRlcjogYW55W10gPSBbXSxcbiAgICBwdWJsaWMgZ3JvdXBvcmRlcjogYW55W10gPSBbXSxcbiAgICBwdWJsaWMgcGlubmVkOiBhbnlbXSA9IFtdLFxuICAgIHB1YmxpYyBtb2RlPzogc3RyaW5nXG4gICkge31cbn1cblxuLyoqXG4gKiBAaWdub3JlXG4gKiBDbGFzcyByZXByZXNlbnRpbmcgdGhlIHN0YXRlIG9mIGEgcXVlcnlcbiAqL1xuZXhwb3J0IGNsYXNzIFNlYXJjaFN0YXRlIHtcbiAgcHVibGljIGNvdW50OiB7dmFsdWU6IG51bWJlciwgcmVsYXRpb24/OiBzdHJpbmd9O1xuICBwdWJsaWMgYWdncmVnYXRpb25zO1xuICBwdWJsaWMgbGFzdENoYW5nZT86IHN0cmluZztcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5hZ2dyZWdhdGlvbnMgPSB7XG4gICAgICB0eXBlOiBuZXcgTWFwPHN0cmluZywgbnVtYmVyPigpLFxuICAgICAgY29udGV4dFR5cGU6IG5ldyBNYXA8c3RyaW5nLCBudW1iZXI+KCksXG4gICAgICBjcmVhdGVkOiBbXSxcbiAgICAgIG1vZGlmaWVkOiBbXSxcbiAgICAgIG1pbWV0eXBlZ3JvdXA6IFtdLFxuICAgICAgZmlsZXNpemU6IFtdXG4gICAgfTtcbiAgfVxuXG4gIGdldCB0b3RhbENvdW50KCkge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuYWdncmVnYXRpb25zLnR5cGUudmFsdWVzKCkpLnJlZHVjZSgoYWNjOiBudW1iZXIsIGN1cjogbnVtYmVyKSA9PiBhY2MgKyBjdXIsIDApIGFzIG51bWJlcjtcbiAgfVxuXG4gIGdldCBpc0VtcHR5KCkge1xuICAgIHJldHVybiAhKHRoaXMuY291bnQgJiYgdGhpcy5jb3VudC52YWx1ZSk7XG4gIH1cblxuICBhZGRBZ2dyZWdhdGlvbnModHlwZTogc3RyaW5nLCBrZXk6IHN0cmluZywgdmFsdWU6IG51bWJlciwgYWdnPykge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSBcImNvbnRleHR0eXBlXCI6IHtcbiAgICAgICAgdGhpcy5hZ2dyZWdhdGlvbnMuY29udGV4dFR5cGUuc2V0KGtleSwgdmFsdWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgU2VhcmNoUXVlcnkuQkFTRV9QQVJBTVMuVFlQRToge1xuICAgICAgICB0aGlzLmFnZ3JlZ2F0aW9ucy50eXBlLnNldChrZXksIHZhbHVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIFNlYXJjaFF1ZXJ5LkJBU0VfUEFSQU1TLkNSRUFURUQ6IHtcbiAgICAgICAgdGhpcy5hZ2dyZWdhdGlvbnMuY3JlYXRlZC5wdXNoKHtcbiAgICAgICAgICBrZXk6IGtleSxcbiAgICAgICAgICB2YWx1ZTogdmFsdWVcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBTZWFyY2hRdWVyeS5CQVNFX1BBUkFNUy5NT0RJRklFRDoge1xuICAgICAgICB0aGlzLmFnZ3JlZ2F0aW9ucy5tb2RpZmllZC5wdXNoKHtcbiAgICAgICAgICBrZXk6IGtleSxcbiAgICAgICAgICB2YWx1ZTogdmFsdWVcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBTZWFyY2hRdWVyeS5CQVNFX1BBUkFNUy5NSU1FVFlQRUdST1VQOiB7XG4gICAgICAgIHRoaXMuYWdncmVnYXRpb25zLm1pbWV0eXBlZ3JvdXAucHVzaCh7XG4gICAgICAgICAga2V5OiBrZXksXG4gICAgICAgICAgdmFsdWU6IHZhbHVlXG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgU2VhcmNoUXVlcnkuQkFTRV9QQVJBTVMuRklMRVNJWkU6IHtcbiAgICAgICAgdGhpcy5hZ2dyZWdhdGlvbnMuZmlsZXNpemUucHVzaCh7XG4gICAgICAgICAga2V5OiBrZXksXG4gICAgICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgICAgIGZyb206IGFnZy5mcm9tLFxuICAgICAgICAgIHRvOiBhZ2cudG8gfHwgSW5maW5pdHksXG4gICAgICAgICAgbGFiZWw6IGtleS5yZXBsYWNlKFwiZ3RcIiwgXCI+IFwiKS5yZXBsYWNlKFwibHRcIiwgXCI8IFwiKVxuICAgICAgICB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQGlnbm9yZVxuICogQ3JlYXRlcyB0aGUgTW9kZWwgb2YgU2VhcmNoIFJlc3VsdHNcbiAqL1xuZXhwb3J0IGNsYXNzIFNlYXJjaFJlc3VsdCB7XG4gIHB1YmxpYyBjb3VudDoge3ZhbHVlOiBudW1iZXIsIHJlbGF0aW9uPzogc3RyaW5nfTtcbiAgcHVibGljIHN1Z2dlc3RzOiBzdHJpbmdbXTtcbiAgcHVibGljIGhpdHM6IGFueVtdO1xuICBwdWJsaWMgdHlwZU5hbWU6IHN0cmluZztcbiAgcHVibGljIGZpZWxkczogRmllbGREZWZpbml0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cbn1cblxuZXhwb3J0IGNsYXNzIFNlYXJjaEZpbHRlciB7XG4gIC8qKlxuICAgKiBhdmFpbGFibGUgb3BlcmF0b3JzIGZvciBhIHNlYXJjaCBmaWx0ZXJcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgT1BFUkFUT1IgPSB7XG4gICAgLyoqIGVxdWFsICovXG4gICAgRVFVQUw6IFwiZXFcIixcbiAgICAvKiogbWF0Y2ggKGZvciBzdHJpbmcgd2l0aCBjbGFzc2lmaWNhdGlvbiBcInBhdGg2NjY2XCIpICovXG4gICAgTUFUQ0g6IFwibWF0Y2hcIixcbiAgICAvKiogbWF0Y2ggYXQgbGVhc3Qgb25lIG9mIHRoZSBwcm92aWRlZCB2YWx1ZXMgKHZhbHVlIGhhcyB0byBiZSBhbiBhcnJheSkgICovXG4gICAgSU46IFwiaW5cIixcbiAgICAvKiogZ3JlYXRlciB0aGFuICovXG4gICAgR1JFQVRFUl9USEFOOiBcImd0XCIsXG4gICAgLyoqIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCAqL1xuICAgIEdSRUFURVJfT1JfRVFVQUw6IFwiZ3RlXCIsIC8vXG4gICAgTEVTU19USEFOOiBcImx0XCIsIC8vIGxlc3MgdGhhblxuICAgIExFU1NfT1JfRVFVQUw6IFwibHRlXCIsIC8vIGxlc3MgdGhhbiBvciBlcXVhbFxuICAgIElOVEVSVkFMOiBcImd0bHRcIiwgLy8gaW50ZXJ2YWxcbiAgICBJTlRFUlZBTF9JTkNMVURFX0JPVEg6IFwiZ3RlbHRlXCIsIC8vIGludGVydmFsIGluY2x1ZGUgbGVmdCBhbmQgcmlnaHRcbiAgICBJTlRFUlZBTF9JTkNMVURFX1RPOiBcImd0bHRlXCIsIC8vIGludGVydmFsIGluY2x1ZGUgcmlnaHRcbiAgICBJTlRFUlZBTF9JTkNMVURFX0ZST006IFwiZ3RlbHRcIiwgLy8gaW50ZXJ2YWwgaW5jbHVkZSBsZWZ0XG4gICAgUkFOR0U6IFwicmdcIiAvLyBhZ2dlZ2F0aW9uIHJhbmdlc1xuICB9O1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RvciBmb3IgY3JlYXRpbmcgYSBuZXcgU2VhcmNoRmlsdGVyLlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcGVydHkgVGhlIHF1YWxpZmllZCBuYW1lIG9mIHRoZSBmaWVsZCB0aGlzIGZpbHRlciBzaG91bGQgYXBwbHkgdG8uXG4gICAqIEBwYXJhbSBvcGVyYXRvciBPcGVyYXRvciBpbmRpY2F0aW5nIGhvdyB0byBoYW5kbGUgdGhlIGZpbHRlcnMgdmFsdWUocykuIFNlZSBTZWFyY2hGaWx0ZXIuT1BFUkFUT1IgZm9yIGF2YWlsYWJsZSBvcGVyYXRvcnMuXG4gICAqIEBwYXJhbSBmaXJzdFZhbHVlIFRoZSBmaWx0ZXJzIHZhbHVlXG4gICAqIEBwYXJhbSBzZWNvbmRWYWx1ZSBPcHRpb25hbCBzZWNvbmQgdmFsdWUgZm9yIGZpbHRlcnMgdGhhdCBmb3IgZXhhbXBsZSBkZWZpbmUgcmFuZ2VzIG9mIHZhbHVlc1xuICAgKiBAcGFyYW0gdHJhbnNmb3JtRGF0ZSBGbGFnIHRvIHRyYW5zZm9ybSBkYXRlIGhvdXJzIGFuZCBtaW51dGVzIGJhc2VkIG9uIG9wZXJhdG9yXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcHJvcGVydHk6IHN0cmluZyxcbiAgICBwdWJsaWMgb3BlcmF0b3I6IHN0cmluZyxcbiAgICBwdWJsaWMgZmlyc3RWYWx1ZTogYW55LFxuICAgIHB1YmxpYyBzZWNvbmRWYWx1ZT86IGFueSxcbiAgICBwdWJsaWMgdHJhbnNmb3JtRGF0ZT86IHt0aW1lPzogYm9vbGVhbjsgdGltZXpvbmU/OiBib29sZWFufVxuICApIHt9XG5cbiAgZm9ybWF0RGF0ZSh2YWx1ZTogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNmb3JtRGF0ZSAmJiB2YWx1ZVxuICAgICAgPyB0aGlzLnRyYW5zZm9ybURhdGUudGltZXpvbmVcbiAgICAgICAgPyBuZXcgRGF0ZVBpcGUoXCJlblwiKS50cmFuc2Zvcm0odmFsdWUsIFwieXl5eS1NTS1kZFRaXCIpXG4gICAgICAgIDogdGhpcy50cmFuc2Zvcm1EYXRlLnRpbWVcbiAgICAgICAgICA/IG5ldyBEYXRlKHZhbHVlKS50b0lTT1N0cmluZygpLnNsaWNlKDAsIDE2KSArIFwiWlwiXG4gICAgICAgICAgOiBuZXcgRGF0ZVBpcGUoXCJlblwiKS50cmFuc2Zvcm0odmFsdWUsIFwieXl5eS1NTS1kZFwiKVxuICAgICAgOiB2YWx1ZTtcbiAgfVxuXG4gIHRvUXVlcnkoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG86IHRoaXMub3BlcmF0b3IsXG4gICAgICB2MTogdGhpcy5mb3JtYXREYXRlKHRoaXMuZmlyc3RWYWx1ZSksXG4gICAgICAuLi4odGhpcy5zZWNvbmRWYWx1ZSAmJiB7djI6IHRoaXMuZm9ybWF0RGF0ZSh0aGlzLnNlY29uZFZhbHVlKX0pXG4gICAgfTtcbiAgfVxuXG4gIHRvRGF0ZVRpbWVRdWVyeSgpIHtcbiAgICBpZiAodGhpcy50cmFuc2Zvcm1EYXRlICYmIHRoaXMudHJhbnNmb3JtRGF0ZS50aW1lem9uZSAmJiB0aGlzLmZpcnN0VmFsdWUpIHtcbiAgICAgIGxldCBmaXJzdFZhbHVlID0gdGhpcy5maXJzdFZhbHVlO1xuICAgICAgbGV0IHNlY29uZFZhbHVlID0gdGhpcy5zZWNvbmRWYWx1ZTtcbiAgICAgIGNvbnN0IGVuZERhdGUgPSBuZXcgRGF0ZShzZWNvbmRWYWx1ZSB8fCBmaXJzdFZhbHVlKTtcbiAgICAgIGVuZERhdGUuc2V0SG91cnMoMjMsIDU5LCA1OSwgOTk5KTtcbiAgICAgIGlmICh0aGlzLm9wZXJhdG9yID09PSBTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuTEVTU19PUl9FUVVBTCkge1xuICAgICAgICBmaXJzdFZhbHVlID0gZW5kRGF0ZS50b0lTT1N0cmluZygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3Qgc3RhcnREYXRlID0gbmV3IERhdGUoZmlyc3RWYWx1ZSk7XG4gICAgICAgIGlmIChcbiAgICAgICAgICB0aGlzLm9wZXJhdG9yID09PSBTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuR1JFQVRFUl9USEFOIHx8XG4gICAgICAgICAgdGhpcy5vcGVyYXRvciA9PT0gU2VhcmNoRmlsdGVyLk9QRVJBVE9SLklOVEVSVkFMXG4gICAgICAgICkge1xuICAgICAgICAgIHN0YXJ0RGF0ZS5zZXRIb3VycygyMywgNTksIDU5LCA5OTkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN0YXJ0RGF0ZS5zZXRIb3VycygwLCAwLCAwLCAwKTtcbiAgICAgICAgfVxuICAgICAgICBmaXJzdFZhbHVlID0gc3RhcnREYXRlLnRvSVNPU3RyaW5nKCk7XG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMub3BlcmF0b3IgPT09IFNlYXJjaEZpbHRlci5PUEVSQVRPUi5JTlRFUlZBTF9JTkNMVURFX0JPVEggfHxcbiAgICAgICAgdGhpcy5vcGVyYXRvciA9PT0gU2VhcmNoRmlsdGVyLk9QRVJBVE9SLkVRVUFMXG4gICAgICApIHtcbiAgICAgICAgc2Vjb25kVmFsdWUgPSBlbmREYXRlLnRvSVNPU3RyaW5nKCk7XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICBvOlxuICAgICAgICAgIHRoaXMub3BlcmF0b3IgPT09IFNlYXJjaEZpbHRlci5PUEVSQVRPUi5FUVVBTFxuICAgICAgICAgICAgPyBTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuSU5URVJWQUxfSU5DTFVERV9CT1RIXG4gICAgICAgICAgICA6IHRoaXMub3BlcmF0b3IsXG4gICAgICAgIHYxOiBmaXJzdFZhbHVlLFxuICAgICAgICAuLi4oc2Vjb25kVmFsdWUgJiYge3YyOiBzZWNvbmRWYWx1ZX0pXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy50b1F1ZXJ5KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIG1hdGNoKFxuICAgIHByb3BlcnR5OiBzdHJpbmcsXG4gICAgb3BlcmF0b3I6IHN0cmluZyxcbiAgICBmaXJzdFZhbHVlOiBhbnksXG4gICAgc2Vjb25kVmFsdWU/OiBhbnlcbiAgKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMucHJvcGVydHkgPT09IHByb3BlcnR5ICYmXG4gICAgICB0aGlzLm9wZXJhdG9yID09PSBvcGVyYXRvciAmJlxuICAgICAgdGhpcy5zZWNvbmRWYWx1ZSA9PT0gc2Vjb25kVmFsdWUgJiZcbiAgICAgICh0aGlzLmZpcnN0VmFsdWUgaW5zdGFuY2VvZiBBcnJheVxuICAgICAgICA/ICEhdGhpcy5maXJzdFZhbHVlLmZpbmQodiA9PiB2ID09PSBmaXJzdFZhbHVlKVxuICAgICAgICA6IHRoaXMuZmlyc3RWYWx1ZSA9PT0gZmlyc3RWYWx1ZSlcbiAgICApO1xuICB9XG59XG4iXX0=
500
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXF1ZXJ5Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW8tc2RrL2NvcmUvc3JjL2xpYi9zZXJ2aWNlL3NlYXJjaC9zZWFyY2gtcXVlcnkubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRXpDLDJEQUEyRDtBQUUzRCxNQUFNLENBQU4sSUFBWSxVQUlYO0FBSkQsV0FBWSxVQUFVO0lBQ3BCLHlCQUFXLENBQUE7SUFDWCxpQ0FBbUIsQ0FBQTtJQUNuQixzQ0FBd0IsQ0FBQTtBQUMxQixDQUFDLEVBSlcsVUFBVSxLQUFWLFVBQVUsUUFJckI7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUF1SXRCO1FBbkRBOztXQUVHO1FBQ0ksVUFBSyxHQUFpQixFQUFFLENBQUM7UUFDaEM7O1dBRUc7UUFDSSx1QkFBa0IsR0FBaUIsRUFBRSxDQUFDO1FBQzdDOztXQUVHO1FBQ0ksWUFBTyxHQUFtQixFQUFFLENBQUM7UUFLcEM7O1dBRUc7UUFDSSxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBSzFCOztXQUVHO1FBQ0ksZUFBVSxHQUFXLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQztRQUM1RDs7V0FFRztRQUNJLGdCQUFXLEdBQWlCLEVBQUUsQ0FBQztRQUN0Qzs7V0FFRztRQUNJLHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUMvQjs7V0FFRztRQUNJLFVBQUssR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUV2QyxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5QixnQkFBVyxHQUFZLEtBQUssQ0FBQztJQVNyQixDQUFDO0lBRWhCOzs7O09BSUc7SUFDSSxPQUFPLENBQUMsSUFBZ0I7UUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FB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TyxDQUNMLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUTtZQUMxQixJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVE7WUFDMUIsSUFBSSxDQUFDLFdBQVcsS0FBSyxXQUFXO1lBQ2hDLENBQUMsSUFBSSxDQUFDLFVBQVUsWUFBWSxLQUFLO2dCQUMvQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLFVBQVUsQ0FBQztnQkFDL0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEtBQUssVUFBVSxDQUFDLENBQ3BDLENBQUM7SUFDSixDQUFDOztBQWxIRDs7R0FFRztBQUNXLHFCQUFRLEdBQUc7SUFDdkIsWUFBWTtJQUNaLEtBQUssRUFBRSxJQUFJO0lBQ1gsd0RBQXdEO0lBQ3hELEtBQUssRUFBRSxPQUFPO0lBQ2QsNEVBQTRFO0lBQzVFLEVBQUUsRUFBRSxJQUFJO0lBQ1IsbUJBQW1CO0lBQ25CLFlBQVksRUFBRSxJQUFJO0lBQ2xCLDRCQUE0QjtJQUM1QixnQkFBZ0IsRUFBRSxLQUFLO0lBQ3ZCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsYUFBYSxFQUFFLEtBQUs7SUFDcEIsUUFBUSxFQUFFLE1BQU07SUFDaEIscUJBQXFCLEVBQUUsUUFBUTtJQUMvQixtQkFBbUIsRUFBRSxPQUFPO0lBQzVCLHFCQUFxQixFQUFFLE9BQU87SUFDOUIsS0FBSyxFQUFFLElBQUksQ0FBQyxvQkFBb0I7Q0FDakMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7cmVkdWNlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge09iamVjdFR5cGV9IGZyb20gXCIuLi8uLi9tb2RlbC9vYmplY3QtdHlwZS5tb2RlbFwiO1xuaW1wb3J0IHtEYXRlUGlwZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuXG4vL2V4cG9ydCB0eXBlIFF1ZXJ5U2NvcGUgPSAnaW5kZXhkYXRlJyB8ICdjb250ZW50JyB8ICdhbGwnO1xuXG5leHBvcnQgZW51bSBRdWVyeVNjb3BlIHtcbiAgQUxMID0gJ2FsbCcsXG4gIENPTlRFTlQgPSAnY29udGVudCcsXG4gIElOREVYX0RBVEEgPSAnaW5kZXhkYXRhJ1xufVxuXG4vKipcbiAqIFRoZSBTZWFyY2hRdWVyeSBDbGFzc1xuICpcbiAqIFNlZSB7QGxpbmsgU2VhcmNoU2VydmljZX0gZm9yIFVzYWdlXG4gKi9cbmV4cG9ydCBjbGFzcyBTZWFyY2hRdWVyeSB7XG4gIC8qKlxuICAgKiBCYXNlIFBhcmFtZXRlcnMgZm9yIGEgU2VhcmNoIFF1ZXJ5XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIEJBU0VfUEFSQU1TID0ge1xuICAgIFRZUEU6IFwidHlwZVwiLFxuICAgIENSRUFUT1I6IFwiY3JlYXRvclwiLFxuICAgIENSRUFURUQ6IFwiY3JlYXRlZFwiLFxuICAgIE1PRElGSUVSOiBcIm1vZGlmaWVyXCIsXG4gICAgTU9ESUZJRUQ6IFwibW9kaWZpZWRcIixcbiAgICBGSUxFU0laRTogXCJmaWxlc2l6ZVwiLFxuICAgIEZJTEVOQU1FOiBcImZpbGVuYW1lXCIsXG4gICAgTUlNRVRZUEVHUk9VUDogXCJtaW1ldHlwZWdyb3VwXCJcbiAgfTtcblxuICAvKipcbiAgICogVGltZSBwZXJpb2QgYnVja2V0cyBwcm9wZXJ0eSBuYW1lc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBUSU1FX1BFUklPRF9CVUNLRVRTID0ge1xuICAgIFRPREFZOiBcInRvZGF5XCIsXG4gICAgWUVTVEVSREFZOiBcInllc3RlcmRheVwiLFxuICAgIFRISVNfV0VFSzogXCJ0aGlzd2Vla1wiLFxuICAgIExBU1RfV0VFSzogXCJsYXN0d2Vla1wiLFxuICAgIFRISVNfTU9OVEg6IFwidGhpc21vbnRoXCIsXG4gICAgTEFTVF9NT05USDogXCJsYXN0bW9udGhcIixcbiAgICBUSElTX1lFQVI6IFwidGhpc3llYXJcIixcbiAgICBMQVNUX1lFQVI6IFwibGFzdHllYXJcIlxuICB9O1xuXG4gIC8qKlxuICAgKiBtaW1ldHlwZSBidWNrZXRzIHByb3BlcnR5IG5hbWVzXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIE1JTUVUWVBFR1JPVVBfQlVDS0VUUyA9IHtcbiAgICBQREY6IFwicGRmXCIsXG4gICAgTUFJTDogXCJtYWlsXCIsXG4gICAgV09SRDogXCJ3b3JkXCIsXG4gICAgSU1BR0U6IFwiaW1hZ2VcIixcbiAgICBPQ1RFVF9TVFJFQU06IFwib2N0ZXQtc3RyZWFtXCIsXG4gICAgVFhUOiBcInR4dFwiLFxuICAgIEVYQ0VMOiBcImV4Y2VsXCIsXG4gICAgUE9XRVJQT0lOVDogXCJwb3dlcnBvaW50XCIsXG4gICAgVklERU86IFwidmlkZW9cIixcbiAgICBIVE1MOiBcImh0bWxcIixcbiAgICBBVURJTzogXCJhdWRpb1wiLFxuICAgIFpJUDogXCJ6aXBcIlxuICB9O1xuXG4gIC8qKlxuICAgKiBmaWxlc2l6ZSBidWNrZXRzIHByb3BlcnR5IG5hbWVzXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIEZJTEVfU0laRV9CVUNLRVRTID0ge1xuICAgIExUMU1COiBcImx0MU1CXCIsXG4gICAgTFQxME1COiBcImx0MTBNQlwiLFxuICAgIExUMTAwTUI6IFwibHQxMDBNQlwiLFxuICAgIEdUMTAwTUI6IFwiZ3QxMDBNQlwiXG4gIH07XG5cbiAgLy8gbGlzdCBvZiB0aGluZ3MgdGhhdCBtYXkgaGF2ZSBjaGFuZ2VkIHRoZSBjdXJyZW50IHF1ZXJ5XG4gIHB1YmxpYyBzdGF0aWMgVVBEQVRFX0NBVVNFID0ge1xuICAgIFRPR0dMRURfVFlQRTogXCJjYXVzZS50eXBlLnRvZ2dsZWRcIixcbiAgICBUT0dHTEVEX0VYUEVSVE1PREU6IFwiY2F1c2UuZXhwZXJ0bW9kZS50b2dnbGVkXCIsXG4gICAgVEVSTV9TRVQ6IFwiY2F1c2UudGVybS5zZXRcIixcbiAgICBUWVBFU19TRVQ6IFwiY2F1c2UudHlwZXMuc2V0XCIsXG4gICAgQ09OVEVYVF9GT0xERVJfU0VUOiBcImNhdXNlLmNvbnRleHRmb2xkZXIuc2V0XCIsXG4gICAgVE9HR0xFRF9GSUxURVI6IFwiY2F1c2UuZmlsdGVyLnRvZ2dsZWRcIixcbiAgICBBRERFRF9GSUxURVI6IFwiY2F1c2UuZmlsdGVyLmFkZGVkXCIsXG4gICAgUkVNT1ZFRF9GSUxURVI6IFwiY2F1c2UuZmlsdGVyLnJlbW92ZWRcIixcbiAgfTtcbiAgLyoqXG4gICAqIERldGF1bHQgU2VhcmNoIG1vZGUgSW5kZXhcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgREVGQVVMVF9TRUFSQ0hfTU9ERSA9IFwiaWR4c1wiO1xuICAvKipcbiAgICogU2VhcmNoIG1vZGUgZm9yIEZ1bGwgdGVzdCBTZWFyY2hcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgRlVMTFRFWFRfU0VBUkNIX01PREUgPSBcImZ0c1wiO1xuICAvKipcbiAgICogZnVsbHRleHQgc2VhcmNoIHRlcm1cbiAgICovXG4gIHB1YmxpYyB0ZXJtOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBcnJheSBvZiBmaWVsZHMgdG8gcmVxdWVzdCBmcm9tIHRoZSBzZWFyY2ggc2VydmljZSwgbGVhdmluZyB0aGlzIGJsYW5rIHdpbGwgcmV0dXJuIHRoZSBmaWVsZHMgc3BlY2lmaWVkIGluIHRoZSByZXN1bHQgZmllbGQgY29uZmlndXJhdGlvblxuICAgKi9cbiAgcHVibGljIGZpZWxkczogc3RyaW5nW107XG4gIC8qKlxuICAgKiBMaXN0IG9mIG9iamVjdCB0eXBlcyB0byBiZSBmZXRjaGVkIGJ5IHRoZSBxdWVyeS4gTGVhdmluZyB0aGlzIGJsYW5rIHdpbGwgcmV0dXJuIHJlc3VsdHMgZnJvbSBhbnkgdHlwZVxuICAgKi9cbiAgcHVibGljIHR5cGVzOiBPYmplY3RUeXBlW10gPSBbXTtcbiAgLyoqXG4gICAqIExpc3Qgb2YgY29udGV4dCBmb2xkZXIgdHlwZXNcbiAgICovXG4gIHB1YmxpYyBjb250ZXh0Rm9sZGVyVHlwZXM6IE9iamVjdFR5cGVbXSA9IFtdO1xuICAvKipcbiAgICogTGlzdCBvZiBmaWx0ZXJzIHRvIGRlZmluZSB0aGUgcXVlcnlcbiAgICovXG4gIHB1YmxpYyBmaWx0ZXJzOiBTZWFyY2hGaWx0ZXJbXSA9IFtdO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gcmV0cmlldmUgc3VnZ2VzdGlvbnNcbiAgICovXG4gIHB1YmxpYyBzdWdnZXN0OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdGhlIHRlcm0gaXMgYW4gZXhwZXJ0IG1vZGUgcXVlcnlcbiAgICovXG4gIHB1YmxpYyBleHBlcnRNb2RlID0gZmFsc2U7XG4gIC8qKlxuICAgKiBUaGUgc2NvcGUgb2YgdGhlIHF1ZXJ5XG4gICAqL1xuICBwdWJsaWMgc2NvcGU6IFF1ZXJ5U2NvcGU7XG4gIC8qKlxuICAgKiBUaGUgc2VhcmNoIG1vZGUgdG8gYmUgdXNlZCAoU2VhcmNoUXVlcnkuREVGQVVMVF9TRUFSQ0hfTU9ERSBvciBTZWFyY2hRdWVyeS5GVUxMVEVYVF9TRUFSQ0hfTU9ERSlcbiAgICovXG4gIHB1YmxpYyBzZWFyY2hNb2RlOiBzdHJpbmcgPSBTZWFyY2hRdWVyeS5ERUZBVUxUX1NFQVJDSF9NT0RFO1xuICAvKipcbiAgICogQWRkaXRpb25hbCBvcHRpb25zIHRvIGJlIGFwcGxpZWQgdG8gdGhlIHF1ZXJ5XG4gICAqL1xuICBwdWJsaWMgc29ydE9wdGlvbnM6IFNvcnRPcHRpb25bXSA9IFtdO1xuICAvKipcbiAgICogUmVzb2x2ZSByZWZlcmVuY2VzIHdpdGggdGhlaXIgdGl0bGUgaW5zdGVhZCBvZiB0aGVpciBhY3R1YWwgdmFsdWVcbiAgICovXG4gIHB1YmxpYyByZXNvbHZlUmVmZXJlbmNlID0gdHJ1ZTtcbiAgLyoqXG4gICAqIFRoZSBzdGF0ZSBvZiB0aGUgY3VycmVudCBxdWVyeVxuICAgKi9cbiAgcHVibGljIHN0YXRlOiBTZWFyY2hTdGF0ZSA9IG5ldyBTZWFyY2hTdGF0ZSgpO1xuXG4gIHB1YmxpYyBoaWdobGlnaHRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIHdpdGhDb250ZXh0OiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIG5hbWU/OiBzdHJpbmc7XG5cbiAgLy8gSW5kaWNhdG9yIHdoYXQgY2F1c2VkIHRoZSB1cGRhdGUgb2YgYSBTZWFyY2hRdWVyeSBvYmplY3QuXG4gIC8vIFVzZWZ1bGwgZm9yIGNvbXBvbmVudHMgdGhhdCBzdWJzY3JpYmVkIHRvIGEgcXVlcnksIGFuZCBuZWVkIHRvXG4gIC8vIHRyYWNrIHRoZSBraW5kIG9mIGNoYW5nZXMgbWFkZVxuICBfX3VwZGF0ZUNhdXNlOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgbmV3IHRhcmdldCB0eXBlIHRvIHRoZSBxdWVyeVxuICAgKlxuICAgKiBAcGFyYW0gdHlwZSBPYmplY3QgdHlwZSB0byBiZSBhZGRlZFxuICAgKi9cbiAgcHVibGljIGFkZFR5cGUodHlwZTogT2JqZWN0VHlwZSkge1xuICAgIGlmICghdGhpcy50eXBlcy5maW5kKHQgPT4gdC5pZCA9PT0gdHlwZS5pZCkpIHtcbiAgICAgIHRoaXMudHlwZXMucHVzaCh0eXBlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBhIHR5cGUgZnJvbSB0aGUgdGFyZ2V0IHR5cGVzIGxpc3RcbiAgICpcbiAgICogQHBhcmFtIHR5cGUgVGhlIG9iamVjdCB0eXBlIHRvIGJlIHJlbW92ZWRcbiAgICovXG4gIHB1YmxpYyByZW1vdmVUeXBlKHR5cGU6IE9iamVjdFR5cGUpIHtcbiAgICB0aGlzLnR5cGVzID0gdGhpcy50eXBlcy5maWx0ZXIodCA9PiB0LmlkICE9PSB0eXBlLmlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIG9yIHJlbW92ZXMgdGhlIGdpdmVuIHR5cGUgYmFzZWQgb24gdGhlIGN1cnJlbnQgc2V0dGluZ3NcbiAgICpcbiAgICogQHBhcmFtIHR5cGUgVGhlIG9iamVjdCB0eXBlIHRvIGJlIHRvZ2dsZWRcbiAgICovXG4gIHB1YmxpYyB0b2dnbGVUeXBlKHR5cGU6IE9iamVjdFR5cGUpIHtcbiAgICBpZiAodGhpcy50eXBlcy5maW5kKHQgPT4gdC5pZCA9PT0gdHlwZS5pZCkpIHtcbiAgICAgIHRoaXMucmVtb3ZlVHlwZSh0eXBlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50eXBlcy5wdXNoKHR5cGUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgbmV3IGZpbHRlciB0byB0aGUgcXVlcnkuIElmIHRoZXJlIGFscmVhZHkgaXMgYSBmaWx0ZXIgc2V0IGZvciB0aGUgZ2l2ZW4gcHJvcGVydHksIGl0IHdpbGwgYmUgb3ZlcnJpZGRlbi5cbiAgICpcbiAgICogQHBhcmFtIGZpbHRlciBUaGUgZmlsdGVyIHRvIGJlIGFkZGVkXG4gICAqL1xuICBwdWJsaWMgYWRkRmlsdGVyKGZpbHRlcjogU2VhcmNoRmlsdGVyKSB7XG4gICAgaWYgKCFmaWx0ZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmdldEZpbHRlcihmaWx0ZXIucHJvcGVydHkpKSB7XG4gICAgICB0aGlzLmZpbHRlcnMucHVzaChmaWx0ZXIpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBpZiB0aGVyZSBhbHJlYWR5IGlzIGEgZmlsdGVyIHNldCBmb3IgdGhlIHRhcmdldCBwcm9wZXJ0eVxuICAgICAgLy8gd2UnbGwganVzdCBvdmVycmlkZSBpdCB3aXRoIHRoZSBuZXcgdmFsdWVcbiAgICAgIHRoaXMucmVtb3ZlRmlsdGVyKGZpbHRlci5wcm9wZXJ0eSk7XG4gICAgICB0aGlzLmZpbHRlcnMucHVzaChmaWx0ZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIGEgZmlsdGVyIGZyb20gdGhlIHF1ZXJ5LlxuICAgKlxuICAgKiBAcGFyYW0gZmlsdGVyUHJvcGVydHlOYW1lIFRoZSBmaWx0ZXIgKGl0cyBwcm9wZXJ0eSBuYW1lKSB0byBiZSByZW1vdmVkXG4gICAqL1xuICBwdWJsaWMgcmVtb3ZlRmlsdGVyKGZpbHRlclByb3BlcnR5TmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5maWx0ZXJzID0gdGhpcy5maWx0ZXJzLmZpbHRlcihmID0+IGYucHJvcGVydHkgIT09IGZpbHRlclByb3BlcnR5TmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBvciByZW1vdmVzIHRoZSBnaXZlbiBmaWx0ZXIgYmFzZWQgb24gdGhlIGN1cnJlbnQgc2V0dGluZ3NcbiAgICpcbiAgICogQHBhcmFtIGZpbHRlciBUaGUgZmlsdGVyIHRvIGJlIHRvZ2dsZWRcbiAgICovXG4gIHB1YmxpYyB0b2dnbGVGaWx0ZXIoZmlsdGVyOiBTZWFyY2hGaWx0ZXIsIG92ZXJyaWRlPzogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLmdldEZpbHRlcihmaWx0ZXIucHJvcGVydHkpKSB7XG4gICAgICB0aGlzLnJlbW92ZUZpbHRlcihmaWx0ZXIucHJvcGVydHkpO1xuICAgICAgaWYgKG92ZXJyaWRlKSB7XG4gICAgICAgIHRoaXMuZmlsdGVycy5wdXNoKGZpbHRlcik7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmlsdGVycy5wdXNoKGZpbHRlcik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyBhIGZpbHRlciBieSBpdHMgcHJvcGVydHkgbmFtZS5cbiAgICpcbiAgICogQHBhcmFtIHByb3BlcnR5TmFtZSBUaGUgZmlsdGVycyBwcm9wZXJ0eSBuYW1lIChxbmFtZSBvZiBmb3JtIGVsZW1lbnQpXG4gICAqIEByZXR1cm5zIFNlYXJjaCBGaWx0ZXIgT2JqZWN0XG4gICAqL1xuICBwdWJsaWMgZ2V0RmlsdGVyKHByb3BlcnR5TmFtZTogc3RyaW5nKTogU2VhcmNoRmlsdGVyIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJzLmZpbmQoZiA9PiBmLnByb3BlcnR5ID09PSBwcm9wZXJ0eU5hbWUpO1xuICB9XG5cbiAgcHVibGljIGdldFRhYmxlRmlsdGVycyhwcm9wZXJ0eU5hbWU6IHN0cmluZyk6IFNlYXJjaEZpbHRlcltdIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJzLmZpbHRlcihmID0+IGYucHJvcGVydHkuc3RhcnRzV2l0aChwcm9wZXJ0eU5hbWUgKyAnLicpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRpbmcgbmV3IFNvcnQgT3B0aW9uc1xuICAgKiBTb3J0IE9wdGlvbnMgYXJlIG9ubHkgYWRkZWQgaWYgdGhleSBhcmUgbm90IGFscmVhZHkgcHJlc2VudFxuICAgKlxuICAgKiBAcGFyYW0gbmFtZVxuICAgKiBAcGFyYW0gb3JkZXJcbiAgICogQHBhcmFtIG1pc3NpbmdcbiAgICovXG4gIHB1YmxpYyBhZGRTb3J0T3B0aW9uKG5hbWU6IHN0cmluZywgb3JkZXI6IHN0cmluZywgbWlzc2luZz86IHN0cmluZykge1xuICAgIGlmICghdGhpcy5zb3J0T3B0aW9ucy5maW5kKHMgPT4gcy5maWVsZCA9PT0gbmFtZSkpIHtcbiAgICAgIHRoaXMuc29ydE9wdGlvbnMucHVzaChuZXcgU29ydE9wdGlvbihuYW1lLCBvcmRlciwgbWlzc2luZykpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gbmFtZVxuICAgKi9cbiAgcHVibGljIHJlbW92ZVNvcnRPcHRpb24obmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5zb3J0T3B0aW9ucyA9IHRoaXMuc29ydE9wdGlvbnMuZmlsdGVyKHMgPT4gcy5maWVsZCAhPT0gbmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGUgYSBxdWVyeSBKU09OIGZyb20gdGhlIGN1cnJlbnQgU2VhcmNoUXVlcnkgdGhhdCBjYW4gYmUgc2VuZCB0byB0aGUgc2VhcmNoIHNlcnZpY2UuXG4gICAqL1xuICBwdWJsaWMgZ2V0UXVlcnlKc29uKCkge1xuICAgIC8vIENvbnZlcnQgdGhlIGN1cnJlbnQgcXVlcnkgb2JqZWN0IHRvIGEgcXVlcnkgSlNPTiB0aGF0IGNhbiBiZSBjb25zdW1lZCBieSB0aGUgc2VhcmNoIHNlcnZpY2UgYmFja2VuZC5cbiAgICAvLyBUbyBrZWVwIGl0IHNob3J0LCB3ZSdsbCBvbmx5IGFkZCBwcm9wZXJ0aWVzIHRoYXQgYXJlIHNldCBhbmQgZGlmZmVyIGZyb20gZGVmYXVsdCB2YWx1ZXNcbiAgICBjb25zdCBxdWVyeUpzb246IGFueSA9IHt9O1xuXG4gICAgLy8gYWRkIHR5cGUgZmlsdGVyc1xuICAgIGlmICh0aGlzLnR5cGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHF1ZXJ5SnNvbi50eXBlcyA9IHRoaXMudHlwZXMubWFwKHQgPT5cbiAgICAgICAgdHlwZW9mIHQgPT09IFwic3RyaW5nXCIgPyB0IDogdC5uYW1lXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIGFkZCBjb250ZXh0IGZvbGRlciB0eXBlIGZpbHRlcnNcbiAgICBpZiAodGhpcy5jb250ZXh0Rm9sZGVyVHlwZXMubGVuZ3RoID4gMCkge1xuICAgICAgcXVlcnlKc29uLmNvbnRleHRmb2xkZXJ0eXBlcyA9IHRoaXMuY29udGV4dEZvbGRlclR5cGVzLm1hcCh0ID0+IHQubmFtZSk7XG4gICAgfVxuXG4gICAgLy8gZmlsdGVyc1xuICAgIGlmICh0aGlzLmZpbHRlcnMubGVuZ3RoID4gMCkge1xuICAgICAgcXVlcnlKc29uLmZpbHRlcnMgPSB7fTtcbiAgICAgIHRoaXMuZmlsdGVycy5mb3JFYWNoKGYgPT4ge1xuICAgICAgICBxdWVyeUpzb24uZmlsdGVyc1tmLnByb3BlcnR5XSA9IGYudG9RdWVyeSgpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGlmICh0aGlzLnRlcm0pIHtcbiAgICAgIHF1ZXJ5SnNvbi50ZXJtID0gdGhpcy50ZXJtO1xuICAgIH1cbiAgICAvLyBzZWFyY2ggZmllbGRzXG4gICAgaWYgKHRoaXMuZmllbGRzKSB7XG4gICAgICBxdWVyeUpzb24uZmllbGRzID0gdGhpcy5maWVsZHM7XG4gICAgfVxuICAgIGlmICh0aGlzLm5hbWUpIHtcbiAgICAgIHF1ZXJ5SnNvbi5uYW1lID0gdGhpcy5uYW1lO1xuICAgIH1cbiAgICAvLyBhZGQgb3B0aW9ucyB3aGVuIHRoZXkgZGlmZmVyIGZyb20gdGhlIGRlZmF1bHQgdmFsdWVzXG4gICAgaWYgKHRoaXMuYXBwbHlPcHRpb25zKCkpIHtcbiAgICAgIHF1ZXJ5SnNvbi5vcHRpb25zID0ge307XG4gICAgICBxdWVyeUpzb24ub3B0aW9ucy5zY29wZSA9IHRoaXMuc2NvcGU7XG4gICAgICBpZiAodGhpcy5zdWdnZXN0KSB7XG4gICAgICAgIHF1ZXJ5SnNvbi5vcHRpb25zLnN1Z2dlc3QgPSB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuZXhwZXJ0TW9kZSkge1xuICAgICAgICBxdWVyeUpzb24ub3B0aW9ucy5leHBlcnRtb2RlID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnJlc29sdmVSZWZlcmVuY2UpIHtcbiAgICAgICAgcXVlcnlKc29uLm9wdGlvbnMucmVzb2x2ZVJlZmVyZW5jZSA9IHRydWU7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5zZWFyY2hNb2RlICE9PSBTZWFyY2hRdWVyeS5ERUZBVUxUX1NFQVJDSF9NT0RFKSB7XG4gICAgICAgIHF1ZXJ5SnNvbi5vcHRpb25zLnNlYXJjaG1vZGUgPSB0aGlzLnNlYXJjaE1vZGU7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5zb3J0T3B0aW9ucyAmJiB0aGlzLnNvcnRPcHRpb25zLmxlbmd0aCkge1xuICAgICAgICBxdWVyeUpzb24ub3B0aW9ucy5zb3J0ID0ge307XG4gICAgICAgIHRoaXMuc29ydE9wdGlvbnMuZm9yRWFjaCgoc29ydE9wdGlvbjogU29ydE9wdGlvbikgPT4ge1xuICAgICAgICAgIHF1ZXJ5SnNvbi5vcHRpb25zLnNvcnRbc29ydE9wdGlvbi5maWVsZF0gPSB7XG4gICAgICAgICAgICBvcmRlcjogc29ydE9wdGlvbi5vcmRlclxuICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5oaWdobGlnaHRpbmcpIHtcbiAgICAgICAgcXVlcnlKc29uLm9wdGlvbnMuaGlnaGxpZ2h0aW5nID0gdGhpcy5oaWdobGlnaHRpbmc7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy53aXRoQ29udGV4dCkge1xuICAgICAgICBxdWVyeUpzb24ub3B0aW9ucy53aXRoQ29udGV4dCA9IHRoaXMud2l0aENvbnRleHQ7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBxdWVyeUpzb247XG4gIH1cblxuICAvLyBkZXRlcm1pbmVzIHdoZXRoZXIgb3Igbm90IHRoZSBxdWVyeSBzZW5kIHRvIHRoZSBzZWFyY2ggc2VydmljZSBzaG91bGQgY29udGFpbiBvcHRpb25zXG4gIHByaXZhdGUgYXBwbHlPcHRpb25zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmV4cGVydE1vZGUgfHxcbiAgICAgICEhdGhpcy5zY29wZSB8fFxuICAgICAgdGhpcy5zdWdnZXN0IHx8XG4gICAgICB0aGlzLmhpZ2hsaWdodGluZyB8fFxuICAgICAgdGhpcy5yZXNvbHZlUmVmZXJlbmNlIHx8XG4gICAgICB0aGlzLndpdGhDb250ZXh0IHx8XG4gICAgICB0aGlzLnNlYXJjaE1vZGUgIT09IFNlYXJjaFF1ZXJ5LkRFRkFVTFRfU0VBUkNIX01PREUgfHxcbiAgICAgIHRoaXMuc29ydE9wdGlvbnMubGVuZ3RoID4gMFxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBAaWdub3JlXG4gKiBDcmVhdGVzIHRoZSBNb2RlbCBvZiBTb3J0IE9wdGlvbnNcbiAqL1xuZXhwb3J0IGNsYXNzIFNvcnRPcHRpb24ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZmllbGQ6IHN0cmluZyxcbiAgICBwdWJsaWMgb3JkZXI6IHN0cmluZyxcbiAgICBwdWJsaWMgbWlzc2luZz86IHN0cmluZ1xuICApIHt9XG59XG5cbi8qKlxuICogQGlnbm9yZVxuICogQ3JlYXRlcyB0aGUgTW9kZWwgb2YgRmllbGQgRGVmaW5pdGlvbnNcbiAqL1xuZXhwb3J0IGNsYXNzIEZpZWxkRGVmaW5pdGlvbiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBlbGVtZW50czogYW55W10gPSBbXSxcbiAgICBwdWJsaWMgc29ydG9yZGVyOiBhbnlbXSA9IFtdLFxuICAgIHB1YmxpYyBncm91cG9yZGVyOiBhbnlbXSA9IFtdLFxuICAgIHB1YmxpYyBwaW5uZWQ6IGFueVtdID0gW10sXG4gICAgcHVibGljIGFsaWdubWVudHg6IHtxbmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nfVtdID0gW10sXG4gICAgcHVibGljIG1vZGU/OiBzdHJpbmdcbiAgKSB7fVxufVxuXG4vKipcbiAqIEBpZ25vcmVcbiAqIENsYXNzIHJlcHJlc2VudGluZyB0aGUgc3RhdGUgb2YgYSBxdWVyeVxuICovXG5leHBvcnQgY2xhc3MgU2VhcmNoU3RhdGUge1xuICBwdWJsaWMgY291bnQ6IHt2YWx1ZTogbnVtYmVyLCByZWxhdGlvbj86IHN0cmluZ307XG4gIHB1YmxpYyBhZ2dyZWdhdGlvbnM7XG4gIHB1YmxpYyBsYXN0Q2hhbmdlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmFnZ3JlZ2F0aW9ucyA9IHtcbiAgICAgIHR5cGU6IG5ldyBNYXA8c3RyaW5nLCBudW1iZXI+KCksXG4gICAgICBjb250ZXh0VHlwZTogbmV3IE1hcDxzdHJpbmcsIG51bWJlcj4oKSxcbiAgICAgIGNyZWF0ZWQ6IFtdLFxuICAgICAgbW9kaWZpZWQ6IFtdLFxuICAgICAgbWltZXR5cGVncm91cDogW10sXG4gICAgICBmaWxlc2l6ZTogW11cbiAgICB9O1xuICB9XG5cbiAgZ2V0IHRvdGFsQ291bnQoKSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5hZ2dyZWdhdGlvbnMudHlwZS52YWx1ZXMoKSkucmVkdWNlKChhY2M6IG51bWJlciwgY3VyOiBudW1iZXIpID0+IGFjYyArIGN1ciwgMCkgYXMgbnVtYmVyO1xuICB9XG5cbiAgZ2V0IGlzRW1wdHkoKSB7XG4gICAgcmV0dXJuICEodGhpcy5jb3VudCAmJiB0aGlzLmNvdW50LnZhbHVlKTtcbiAgfVxuXG4gIGFkZEFnZ3JlZ2F0aW9ucyh0eXBlOiBzdHJpbmcsIGtleTogc3RyaW5nLCB2YWx1ZTogbnVtYmVyLCBhZ2c/KSB7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIFwiY29udGV4dHR5cGVcIjoge1xuICAgICAgICB0aGlzLmFnZ3JlZ2F0aW9ucy5jb250ZXh0VHlwZS5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBTZWFyY2hRdWVyeS5CQVNFX1BBUkFNUy5UWVBFOiB7XG4gICAgICAgIHRoaXMuYWdncmVnYXRpb25zLnR5cGUuc2V0KGtleSwgdmFsdWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgU2VhcmNoUXVlcnkuQkFTRV9QQVJBTVMuQ1JFQVRFRDoge1xuICAgICAgICB0aGlzLmFnZ3JlZ2F0aW9ucy5jcmVhdGVkLnB1c2goe1xuICAgICAgICAgIGtleToga2V5LFxuICAgICAgICAgIHZhbHVlOiB2YWx1ZVxuICAgICAgICB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIFNlYXJjaFF1ZXJ5LkJBU0VfUEFSQU1TLk1PRElGSUVEOiB7XG4gICAgICAgIHRoaXMuYWdncmVnYXRpb25zLm1vZGlmaWVkLnB1c2goe1xuICAgICAgICAgIGtleToga2V5LFxuICAgICAgICAgIHZhbHVlOiB2YWx1ZVxuICAgICAgICB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIFNlYXJjaFF1ZXJ5LkJBU0VfUEFSQU1TLk1JTUVUWVBFR1JPVVA6IHtcbiAgICAgICAgdGhpcy5hZ2dyZWdhdGlvbnMubWltZXR5cGVncm91cC5wdXNoKHtcbiAgICAgICAgICBrZXk6IGtleSxcbiAgICAgICAgICB2YWx1ZTogdmFsdWVcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBTZWFyY2hRdWVyeS5CQVNFX1BBUkFNUy5GSUxFU0laRToge1xuICAgICAgICB0aGlzLmFnZ3JlZ2F0aW9ucy5maWxlc2l6ZS5wdXNoKHtcbiAgICAgICAgICBrZXk6IGtleSxcbiAgICAgICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICAgICAgZnJvbTogYWdnLmZyb20sXG4gICAgICAgICAgdG86IGFnZy50byB8fCBJbmZpbml0eSxcbiAgICAgICAgICBsYWJlbDoga2V5LnJlcGxhY2UoXCJndFwiLCBcIj4gXCIpLnJlcGxhY2UoXCJsdFwiLCBcIjwgXCIpXG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBAaWdub3JlXG4gKiBDcmVhdGVzIHRoZSBNb2RlbCBvZiBTZWFyY2ggUmVzdWx0c1xuICovXG5leHBvcnQgY2xhc3MgU2VhcmNoUmVzdWx0IHtcbiAgcHVibGljIGNvdW50OiB7dmFsdWU6IG51bWJlciwgcmVsYXRpb24/OiBzdHJpbmd9O1xuICBwdWJsaWMgc3VnZ2VzdHM6IHN0cmluZ1tdO1xuICBwdWJsaWMgaGl0czogYW55W107XG4gIHB1YmxpYyB0eXBlTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgZmllbGRzOiBGaWVsZERlZmluaXRpb247XG5cbiAgY29uc3RydWN0b3IoKSB7fVxufVxuXG5leHBvcnQgY2xhc3MgU2VhcmNoRmlsdGVyIHtcbiAgLyoqXG4gICAqIGF2YWlsYWJsZSBvcGVyYXRvcnMgZm9yIGEgc2VhcmNoIGZpbHRlclxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBPUEVSQVRPUiA9IHtcbiAgICAvKiogZXF1YWwgKi9cbiAgICBFUVVBTDogXCJlcVwiLFxuICAgIC8qKiBtYXRjaCAoZm9yIHN0cmluZyB3aXRoIGNsYXNzaWZpY2F0aW9uIFwicGF0aDY2NjZcIikgKi9cbiAgICBNQVRDSDogXCJtYXRjaFwiLFxuICAgIC8qKiBtYXRjaCBhdCBsZWFzdCBvbmUgb2YgdGhlIHByb3ZpZGVkIHZhbHVlcyAodmFsdWUgaGFzIHRvIGJlIGFuIGFycmF5KSAgKi9cbiAgICBJTjogXCJpblwiLFxuICAgIC8qKiBncmVhdGVyIHRoYW4gKi9cbiAgICBHUkVBVEVSX1RIQU46IFwiZ3RcIixcbiAgICAvKiogZ3JlYXRlciB0aGFuIG9yIGVxdWFsICovXG4gICAgR1JFQVRFUl9PUl9FUVVBTDogXCJndGVcIiwgLy9cbiAgICBMRVNTX1RIQU46IFwibHRcIiwgLy8gbGVzcyB0aGFuXG4gICAgTEVTU19PUl9FUVVBTDogXCJsdGVcIiwgLy8gbGVzcyB0aGFuIG9yIGVxdWFsXG4gICAgSU5URVJWQUw6IFwiZ3RsdFwiLCAvLyBpbnRlcnZhbFxuICAgIElOVEVSVkFMX0lOQ0xVREVfQk9USDogXCJndGVsdGVcIiwgLy8gaW50ZXJ2YWwgaW5jbHVkZSBsZWZ0IGFuZCByaWdodFxuICAgIElOVEVSVkFMX0lOQ0xVREVfVE86IFwiZ3RsdGVcIiwgLy8gaW50ZXJ2YWwgaW5jbHVkZSByaWdodFxuICAgIElOVEVSVkFMX0lOQ0xVREVfRlJPTTogXCJndGVsdFwiLCAvLyBpbnRlcnZhbCBpbmNsdWRlIGxlZnRcbiAgICBSQU5HRTogXCJyZ1wiIC8vIGFnZ2VnYXRpb24gcmFuZ2VzXG4gIH07XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdG9yIGZvciBjcmVhdGluZyBhIG5ldyBTZWFyY2hGaWx0ZXIuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wZXJ0eSBUaGUgcXVhbGlmaWVkIG5hbWUgb2YgdGhlIGZpZWxkIHRoaXMgZmlsdGVyIHNob3VsZCBhcHBseSB0by5cbiAgICogQHBhcmFtIG9wZXJhdG9yIE9wZXJhdG9yIGluZGljYXRpbmcgaG93IHRvIGhhbmRsZSB0aGUgZmlsdGVycyB2YWx1ZShzKS4gU2VlIFNlYXJjaEZpbHRlci5PUEVSQVRPUiBmb3IgYXZhaWxhYmxlIG9wZXJhdG9ycy5cbiAgICogQHBhcmFtIGZpcnN0VmFsdWUgVGhlIGZpbHRlcnMgdmFsdWVcbiAgICogQHBhcmFtIHNlY29uZFZhbHVlIE9wdGlvbmFsIHNlY29uZCB2YWx1ZSBmb3IgZmlsdGVycyB0aGF0IGZvciBleGFtcGxlIGRlZmluZSByYW5nZXMgb2YgdmFsdWVzXG4gICAqIEBwYXJhbSB0cmFuc2Zvcm1EYXRlIEZsYWcgdG8gdHJhbnNmb3JtIGRhdGUgaG91cnMgYW5kIG1pbnV0ZXMgYmFzZWQgb24gb3BlcmF0b3JcbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBwcm9wZXJ0eTogc3RyaW5nLFxuICAgIHB1YmxpYyBvcGVyYXRvcjogc3RyaW5nLFxuICAgIHB1YmxpYyBmaXJzdFZhbHVlOiBhbnksXG4gICAgcHVibGljIHNlY29uZFZhbHVlPzogYW55LFxuICAgIHB1YmxpYyB0cmFuc2Zvcm1EYXRlPzoge3RpbWU/OiBib29sZWFuOyB0aW1lem9uZT86IGJvb2xlYW59XG4gICkge31cblxuICBmb3JtYXREYXRlKHZhbHVlOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2Zvcm1EYXRlICYmIHZhbHVlXG4gICAgICA/IHRoaXMudHJhbnNmb3JtRGF0ZS50aW1lem9uZVxuICAgICAgICA/IG5ldyBEYXRlUGlwZShcImVuXCIpLnRyYW5zZm9ybSh2YWx1ZSwgXCJ5eXl5LU1NLWRkVFpcIilcbiAgICAgICAgOiB0aGlzLnRyYW5zZm9ybURhdGUudGltZVxuICAgICAgICAgID8gbmV3IERhdGUodmFsdWUpLnRvSVNPU3RyaW5nKCkuc2xpY2UoMCwgMTYpICsgXCJaXCJcbiAgICAgICAgICA6IG5ldyBEYXRlUGlwZShcImVuXCIpLnRyYW5zZm9ybSh2YWx1ZSwgXCJ5eXl5LU1NLWRkXCIpXG4gICAgICA6IHZhbHVlO1xuICB9XG5cbiAgdG9RdWVyeSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbzogdGhpcy5vcGVyYXRvcixcbiAgICAgIHYxOiB0aGlzLmZvcm1hdERhdGUodGhpcy5maXJzdFZhbHVlKSxcbiAgICAgIC4uLih0aGlzLnNlY29uZFZhbHVlICYmIHt2MjogdGhpcy5mb3JtYXREYXRlKHRoaXMuc2Vjb25kVmFsdWUpfSlcbiAgICB9O1xuICB9XG5cbiAgdG9EYXRlVGltZVF1ZXJ5KCkge1xuICAgIGlmICh0aGlzLnRyYW5zZm9ybURhdGUgJiYgdGhpcy50cmFuc2Zvcm1EYXRlLnRpbWV6b25lICYmIHRoaXMuZmlyc3RWYWx1ZSkge1xuICAgICAgbGV0IGZpcnN0VmFsdWUgPSB0aGlzLmZpcnN0VmFsdWU7XG4gICAgICBsZXQgc2Vjb25kVmFsdWUgPSB0aGlzLnNlY29uZFZhbHVlO1xuICAgICAgY29uc3QgZW5kRGF0ZSA9IG5ldyBEYXRlKHNlY29uZFZhbHVlIHx8IGZpcnN0VmFsdWUpO1xuICAgICAgZW5kRGF0ZS5zZXRIb3VycygyMywgNTksIDU5LCA5OTkpO1xuICAgICAgaWYgKHRoaXMub3BlcmF0b3IgPT09IFNlYXJjaEZpbHRlci5PUEVSQVRPUi5MRVNTX09SX0VRVUFMKSB7XG4gICAgICAgIGZpcnN0VmFsdWUgPSBlbmREYXRlLnRvSVNPU3RyaW5nKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBzdGFydERhdGUgPSBuZXcgRGF0ZShmaXJzdFZhbHVlKTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRoaXMub3BlcmF0b3IgPT09IFNlYXJjaEZpbHRlci5PUEVSQVRPUi5HUkVBVEVSX1RIQU4gfHxcbiAgICAgICAgICB0aGlzLm9wZXJhdG9yID09PSBTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuSU5URVJWQUxcbiAgICAgICAgKSB7XG4gICAgICAgICAgc3RhcnREYXRlLnNldEhvdXJzKDIzLCA1OSwgNTksIDk5OSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3RhcnREYXRlLnNldEhvdXJzKDAsIDAsIDAsIDApO1xuICAgICAgICB9XG4gICAgICAgIGZpcnN0VmFsdWUgPSBzdGFydERhdGUudG9JU09TdHJpbmcoKTtcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5vcGVyYXRvciA9PT0gU2VhcmNoRmlsdGVyLk9QRVJBVE9SLklOVEVSVkFMX0lOQ0xVREVfQk9USCB8fFxuICAgICAgICB0aGlzLm9wZXJhdG9yID09PSBTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuRVFVQUxcbiAgICAgICkge1xuICAgICAgICBzZWNvbmRWYWx1ZSA9IGVuZERhdGUudG9JU09TdHJpbmcoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIG86XG4gICAgICAgICAgdGhpcy5vcGVyYXRvciA9PT0gU2VhcmNoRmlsdGVyLk9QRVJBVE9SLkVRVUFMXG4gICAgICAgICAgICA/IFNlYXJjaEZpbHRlci5PUEVSQVRPUi5JTlRFUlZBTF9JTkNMVURFX0JPVEhcbiAgICAgICAgICAgIDogdGhpcy5vcGVyYXRvcixcbiAgICAgICAgdjE6IGZpcnN0VmFsdWUsXG4gICAgICAgIC4uLihzZWNvbmRWYWx1ZSAmJiB7djI6IHNlY29uZFZhbHVlfSlcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnRvUXVlcnkoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgbWF0Y2goXG4gICAgcHJvcGVydHk6IHN0cmluZyxcbiAgICBvcGVyYXRvcjogc3RyaW5nLFxuICAgIGZpcnN0VmFsdWU6IGFueSxcbiAgICBzZWNvbmRWYWx1ZT86IGFueVxuICApIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5wcm9wZXJ0eSA9PT0gcHJvcGVydHkgJiZcbiAgICAgIHRoaXMub3BlcmF0b3IgPT09IG9wZXJhdG9yICYmXG4gICAgICB0aGlzLnNlY29uZFZhbHVlID09PSBzZWNvbmRWYWx1ZSAmJlxuICAgICAgKHRoaXMuZmlyc3RWYWx1ZSBpbnN0YW5jZW9mIEFycmF5XG4gICAgICAgID8gISF0aGlzLmZpcnN0VmFsdWUuZmluZCh2ID0+IHYgPT09IGZpcnN0VmFsdWUpXG4gICAgICAgIDogdGhpcy5maXJzdFZhbHVlID09PSBmaXJzdFZhbHVlKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==