@mnaoumov/obsidian-lib 10.8.0 → 10.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/README.md +4 -0
  2. package/codemirror/editor-mode-extension/package.json +6 -0
  3. package/dist/lib/cjs/__merged.cjs +42 -1
  4. package/dist/lib/cjs/__merged.d.cts +7 -2
  5. package/dist/lib/cjs/code-block-render-handoff.cjs +2 -5
  6. package/dist/lib/cjs/codemirror/editor-mode-extension.cjs +180 -0
  7. package/dist/lib/cjs/codemirror/editor-mode-extension.d.cts +50 -0
  8. package/dist/lib/cjs/codemirror/index.cjs +4 -1
  9. package/dist/lib/cjs/codemirror/index.d.cts +1 -0
  10. package/dist/lib/cjs/codemirror/inline-token-widgets.cjs +4 -7
  11. package/dist/lib/cjs/command-handlers/unlock-active-note-command-handler.cjs +2 -2
  12. package/dist/lib/cjs/community-plugins.cjs +2 -2
  13. package/dist/lib/cjs/components/all-windows-event-component.cjs +86 -14
  14. package/dist/lib/cjs/components/all-windows-event-component.d.cts +54 -3
  15. package/dist/lib/cjs/components/monkey-around-component.cjs +1 -1
  16. package/dist/lib/cjs/components/plugin-notice-component.cjs +2 -6
  17. package/dist/lib/cjs/components/plugin-settings-component.cjs +4 -3
  18. package/dist/lib/cjs/components/plugin-settings-component.d.cts +2 -1
  19. package/dist/lib/cjs/components/style-sheet-component.cjs +1 -4
  20. package/dist/lib/cjs/css-class.cjs +7 -1
  21. package/dist/lib/cjs/css-class.d.cts +24 -0
  22. package/dist/lib/cjs/data-stores/shared-data-store.cjs +15 -4
  23. package/dist/lib/cjs/desktop-bulk-operation-git.cjs +5 -5
  24. package/dist/lib/cjs/folder-note.cjs +5 -5
  25. package/dist/lib/cjs/formula-function.cjs +152 -0
  26. package/dist/lib/cjs/formula-function.d.cts +98 -0
  27. package/dist/lib/cjs/frontmatter-formatting.cjs +2 -2
  28. package/dist/lib/cjs/generated-during-build.cjs +2 -2
  29. package/dist/lib/cjs/i18n/i18n.cjs +38 -10
  30. package/dist/lib/cjs/i18n/i18n.d.cts +29 -2
  31. package/dist/lib/cjs/i18n/locales/en.cjs +13 -1
  32. package/dist/lib/cjs/i18n/locales/en.d.cts +12 -0
  33. package/dist/lib/cjs/i18n/locales/translations-map.d.cts +12 -0
  34. package/dist/lib/cjs/index.cjs +7 -1
  35. package/dist/lib/cjs/index.d.cts +2 -0
  36. package/dist/lib/cjs/link.cjs +12 -12
  37. package/dist/lib/cjs/markdown.cjs +7 -7
  38. package/dist/lib/cjs/modals/code-block-builder.cjs +486 -0
  39. package/dist/lib/cjs/modals/code-block-builder.d.cts +321 -0
  40. package/dist/lib/cjs/modals/index.cjs +4 -1
  41. package/dist/lib/cjs/modals/index.d.cts +1 -0
  42. package/dist/lib/cjs/plugin/index.cjs +4 -1
  43. package/dist/lib/cjs/plugin/index.d.cts +1 -0
  44. package/dist/lib/cjs/plugin/plugin-async-cleanup.cjs +189 -0
  45. package/dist/lib/cjs/plugin/plugin-async-cleanup.d.cts +111 -0
  46. package/dist/lib/cjs/plugin/plugin.cjs +47 -2
  47. package/dist/lib/cjs/plugin/plugin.d.cts +25 -1
  48. package/dist/lib/cjs/vault.cjs +2 -2
  49. package/dist/lib/cjs/virtual-file.cjs +340 -0
  50. package/dist/lib/cjs/virtual-file.d.cts +48 -0
  51. package/dist/lib/esm/__merged.d.mts +7 -2
  52. package/dist/lib/esm/__merged.mjs +48 -2
  53. package/dist/lib/esm/code-block-render-handoff.mjs +2 -5
  54. package/dist/lib/esm/codemirror/editor-mode-extension.d.mts +50 -0
  55. package/dist/lib/esm/codemirror/editor-mode-extension.mjs +93 -0
  56. package/dist/lib/esm/codemirror/index.d.mts +1 -0
  57. package/dist/lib/esm/codemirror/index.mjs +3 -1
  58. package/dist/lib/esm/codemirror/inline-token-widgets.mjs +3 -9
  59. package/dist/lib/esm/command-handlers/unlock-active-note-command-handler.mjs +2 -2
  60. package/dist/lib/esm/community-plugins.mjs +2 -2
  61. package/dist/lib/esm/components/all-windows-event-component.d.mts +54 -3
  62. package/dist/lib/esm/components/all-windows-event-component.mjs +87 -14
  63. package/dist/lib/esm/components/monkey-around-component.mjs +1 -1
  64. package/dist/lib/esm/components/plugin-notice-component.mjs +2 -6
  65. package/dist/lib/esm/components/plugin-settings-component.d.mts +2 -1
  66. package/dist/lib/esm/components/plugin-settings-component.mjs +4 -3
  67. package/dist/lib/esm/components/style-sheet-component.mjs +1 -4
  68. package/dist/lib/esm/css-class.d.mts +24 -0
  69. package/dist/lib/esm/css-class.mjs +7 -1
  70. package/dist/lib/esm/data-stores/shared-data-store.mjs +15 -4
  71. package/dist/lib/esm/desktop-bulk-operation-git.mjs +5 -5
  72. package/dist/lib/esm/folder-note.mjs +5 -5
  73. package/dist/lib/esm/formula-function.d.mts +98 -0
  74. package/dist/lib/esm/formula-function.mjs +62 -0
  75. package/dist/lib/esm/frontmatter-formatting.mjs +2 -2
  76. package/dist/lib/esm/generated-during-build.mjs +2 -2
  77. package/dist/lib/esm/i18n/i18n.d.mts +29 -2
  78. package/dist/lib/esm/i18n/i18n.mjs +40 -10
  79. package/dist/lib/esm/i18n/locales/en.d.mts +12 -0
  80. package/dist/lib/esm/i18n/locales/en.mjs +13 -1
  81. package/dist/lib/esm/i18n/locales/translations-map.d.mts +12 -0
  82. package/dist/lib/esm/index.d.mts +2 -0
  83. package/dist/lib/esm/index.mjs +5 -1
  84. package/dist/lib/esm/link.mjs +12 -12
  85. package/dist/lib/esm/markdown.mjs +7 -7
  86. package/dist/lib/esm/modals/code-block-builder.d.mts +321 -0
  87. package/dist/lib/esm/modals/code-block-builder.mjs +408 -0
  88. package/dist/lib/esm/modals/index.d.mts +1 -0
  89. package/dist/lib/esm/modals/index.mjs +3 -1
  90. package/dist/lib/esm/plugin/index.d.mts +1 -0
  91. package/dist/lib/esm/plugin/index.mjs +3 -1
  92. package/dist/lib/esm/plugin/plugin-async-cleanup.d.mts +111 -0
  93. package/dist/lib/esm/plugin/plugin-async-cleanup.mjs +96 -0
  94. package/dist/lib/esm/plugin/plugin.d.mts +25 -1
  95. package/dist/lib/esm/plugin/plugin.mjs +52 -2
  96. package/dist/lib/esm/vault.mjs +2 -2
  97. package/dist/lib/esm/virtual-file.d.mts +48 -0
  98. package/dist/lib/esm/virtual-file.mjs +264 -0
  99. package/dist/styles.css +31 -1
  100. package/modals/code-block-builder/package.json +6 -0
  101. package/package.json +5 -5
  102. package/plugin/plugin-async-cleanup/package.json +6 -0
package/README.md CHANGED
@@ -14,6 +14,10 @@ npm install @mnaoumov/obsidian-lib
14
14
 
15
15
  The guides and the API reference are at [mnaoumov.dev/obsidian-lib](https://mnaoumov.dev/obsidian-lib/).
16
16
 
17
+ Register custom global and instance functions for Bases with the [formula-function helpers](./docs/src/content/docs/guides/bases-formula-functions.md).
18
+
19
+ Apply behavior and body classes to the main window and existing or future popouts with the [window helpers](./docs/src/content/docs/guides/windows.md), with cleanup when the window closes or the owner unloads.
20
+
17
21
  ## Where it fits
18
22
 
19
23
  It is one of five packages that replace [`obsidian-dev-utils`](https://github.com/mnaoumov/obsidian-dev-utils): [`@mnaoumov/typescript-lib`](https://github.com/mnaoumov/typescript-lib), [`@mnaoumov/typescript-test-toolkit`](https://github.com/mnaoumov/typescript-test-toolkit), [`@mnaoumov/typescript-dev-toolkit`](https://github.com/mnaoumov/typescript-dev-toolkit), [`@mnaoumov/obsidian-lib`](https://github.com/mnaoumov/obsidian-lib) and [`@mnaoumov/obsidian-dev-toolkit`](https://github.com/mnaoumov/obsidian-dev-toolkit). It depends on [`@mnaoumov/typescript-lib`](https://github.com/mnaoumov/typescript-lib). It moved here from that repository with its history.
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../dist/lib/cjs/codemirror/editor-mode-extension.cjs",
3
+ "module": "../../dist/lib/esm/codemirror/editor-mode-extension.mjs",
4
+ "type": "module",
5
+ "types": "../../dist/lib/cjs/codemirror/editor-mode-extension.d.cts"
6
+ }
@@ -173,6 +173,7 @@ __export(merged_exports, {
173
173
  DEFAULT_INLINE_TOKEN_SKIP_SELECTOR: () => import_inline_token_renderer.DEFAULT_INLINE_TOKEN_SKIP_SELECTOR,
174
174
  DEFAULT_LANGUAGE: () => import_translations_map.DEFAULT_LANGUAGE,
175
175
  DEFAULT_NS: () => import_i18n.DEFAULT_NS,
176
+ DEFAULT_PLUGIN_ASYNC_CLEANUP_TIMEOUT_IN_MILLISECONDS: () => import_plugin_async_cleanup.DEFAULT_PLUGIN_ASYNC_CLEANUP_TIMEOUT_IN_MILLISECONDS,
176
177
  DUMMY_PATH: () => import_attachment_path.DUMMY_PATH,
177
178
  DataStoreLocations: () => import_data_store_locations.DataStoreLocations,
178
179
  DataStoreReplica: () => import_data_store_replica.DataStoreReplica,
@@ -263,6 +264,7 @@ __export(merged_exports, {
263
264
  OpenFeatureRequestCommandHandler: () => import_open_feature_request_command_handler.OpenFeatureRequestCommandHandler,
264
265
  OpenGitHubCommandHandler: () => import_open_git_hub_command_handler.OpenGitHubCommandHandler,
265
266
  OpenSettingsCommandHandler: () => import_open_settings_command_handler.OpenSettingsCommandHandler,
267
+ PLUGIN_ASYNC_CLEANUPS_STATE_KEY: () => import_plugin_async_cleanup.PLUGIN_ASYNC_CLEANUPS_STATE_KEY,
266
268
  PLUGIN_LOADED_EVENT_NAME: () => import_plugin_lifecycle_events.PLUGIN_LOADED_EVENT_NAME,
267
269
  PLUGIN_TRAILER_KEY: () => import_bulk_operation.PLUGIN_TRAILER_KEY,
268
270
  PLUGIN_UNLOADED_EVENT_NAME: () => import_plugin_lifecycle_events.PLUGIN_UNLOADED_EVENT_NAME,
@@ -437,15 +439,19 @@ __export(merged_exports, {
437
439
  createElAsync: () => import_html_element2.createElAsync,
438
440
  createExpectedTypeGuard: () => import_api_contract.createExpectedTypeGuard,
439
441
  createFolderSafe: () => import_vault.createFolderSafe,
442
+ createFormulaFunction: () => import_formula_function.createFormulaFunction,
443
+ createFormulaFunctionParameter: () => import_formula_function.createFormulaFunctionParameter,
440
444
  createFragmentAsync: () => import_html_element2.createFragmentAsync,
441
445
  createFragmentWithCodeBlocks: () => import_html_element.createFragmentWithCodeBlocks,
442
446
  createFunction: () => import_function.createFunction,
443
447
  createIncrementalParseStateField: () => import_incremental_parse_state_field.createIncrementalParseStateField,
444
448
  createInlineTokenPostProcessor: () => import_inline_token_renderer.createInlineTokenPostProcessor,
445
449
  createInlineTokenWidgetsExtension: () => import_inline_token_widgets.createInlineTokenWidgetsExtension,
450
+ createLivePreviewOnlyExtension: () => import_editor_mode_extension.createLivePreviewOnlyExtension,
446
451
  createObsidianMentionRegExp: () => import_obsidian_word_characters.createObsidianMentionRegExp,
447
452
  createRequestUrlFetch: () => import_request_url.createRequestUrlFetch,
448
453
  createSettingsFacet: () => import_settings_facet.createSettingsFacet,
454
+ createSourceModeOnlyExtension: () => import_editor_mode_extension.createSourceModeOnlyExtension,
449
455
  createSpanAsync: () => import_html_element2.createSpanAsync,
450
456
  createSvgAsync: () => import_html_element2.createSvgAsync,
451
457
  createTemporaryFile: () => import_vault.createTemporaryFile,
@@ -461,6 +467,7 @@ __export(merged_exports, {
461
467
  deleteProperties: () => import_object_utils.deleteProperties,
462
468
  deleteProperty: () => import_object_utils.deleteProperty,
463
469
  delimiter: () => import_path.delimiter,
470
+ didPluginAsyncCleanupsSettle: () => import_plugin_async_cleanup.didPluginAsyncCleanupsSettle,
464
471
  dirname: () => import_path.dirname,
465
472
  disableCommunityPlugin: () => import_community_plugins.disableCommunityPlugin,
466
473
  dispatchToAllMarkdownEditorViews: () => import_markdown_editor_views.dispatchToAllMarkdownEditorViews,
@@ -507,9 +514,11 @@ __export(merged_exports, {
507
514
  findPluginApi: () => import_plugin_api.findPluginApi,
508
515
  fixTitle: () => import_dataview_link.fixTitle,
509
516
  flushQueue: () => import_queue.flushQueue,
517
+ forEachWindow: () => import_all_windows_event_component.forEachWindow,
510
518
  format: () => import_path.format,
511
519
  formatBugReportEnvironment: () => import_bug_report.formatBugReportEnvironment,
512
520
  formatBytes: () => import_bytes.formatBytes,
521
+ formatCodeBlock: () => import_code_block_builder.formatCodeBlock,
513
522
  formatDebugGuideReference: () => import_debug2.formatDebugGuideReference,
514
523
  formatHotkey: () => import_hotkey.formatHotkey,
515
524
  formatOperationId: () => import_bulk_operation.formatOperationId,
@@ -578,6 +587,7 @@ __export(merged_exports, {
578
587
  getIndexedBacklinksForFile: () => import_backlink_index.getIndexedBacklinksForFile,
579
588
  getInstalledPluginState: () => import_plugin_install_state.getInstalledPluginState,
580
589
  getInstalledPluginVersion: () => import_plugin_install_state.getInstalledPluginVersion,
590
+ getLanguagesToLoad: () => import_i18n.getLanguagesToLoad,
581
591
  getLatestReleaseVersion: () => import_community_plugins.getLatestReleaseVersion,
582
592
  getLfNormalizedOffsetToOriginalOffsetMapper: () => import_string.getLfNormalizedOffsetToOriginalOffsetMapper,
583
593
  getLibDebugger: () => import_debug2.getLibDebugger,
@@ -633,6 +643,7 @@ __export(merged_exports, {
633
643
  hasLeadingSlash: () => import_link.hasLeadingSlash,
634
644
  hasOwnAttachmentFolder: () => import_attachment_path.hasOwnAttachmentFolder,
635
645
  hasPatchToken: () => import_monkey_around_component.hasPatchToken,
646
+ hasPendingPluginAsyncCleanups: () => import_plugin_async_cleanup.hasPendingPluginAsyncCleanups,
636
647
  hasSingleOccurrence: () => import_string.hasSingleOccurrence,
637
648
  hasWikilinkSyntax: () => import_link.hasWikilinkSyntax,
638
649
  hasWindowsTrailingChars: () => import_validation.hasWindowsTrailingChars,
@@ -696,6 +707,7 @@ __export(merged_exports, {
696
707
  isFunction: () => import_type_guards.isFunction,
697
708
  isImageFile: () => import_blob.isImageFile,
698
709
  isInObsidian: () => import_is_in_obsidian.isInObsidian,
710
+ isLivePreview: () => import_editor_mode_extension.isLivePreview,
699
711
  isLoaded: () => import_html_element2.isLoaded,
700
712
  isMarkdownFile: () => import_file_system.isMarkdownFile,
701
713
  isNote: () => import_file_system.isNote,
@@ -806,16 +818,20 @@ __export(merged_exports, {
806
818
  referenceToFileChange: () => import_reference.referenceToFileChange,
807
819
  registerAsyncErrorEventHandler: () => import_error.registerAsyncErrorEventHandler,
808
820
  registerAsyncEvent: () => import_async_events_component.registerAsyncEvent,
821
+ registerBodyClass: () => import_all_windows_event_component.registerBodyClass,
809
822
  registerBulkOperationProgressListener: () => import_bulk_operation_progress.registerBulkOperationProgressListener,
810
823
  registerDebugSwitch: () => import_debug_switches.registerDebugSwitch,
811
824
  registerFileCacheForNonExistingFile: () => import_metadata_cache.registerFileCacheForNonExistingFile,
812
825
  registerFiles: () => import_metadata_cache.registerFiles,
813
826
  registerFoldHandlers: () => import_rendered_markdown.registerFoldHandlers,
814
827
  registerFootnoteLinkHandler: () => import_rendered_markdown.registerFootnoteLinkHandler,
828
+ registerFormulaFunction: () => import_formula_function.registerFormulaFunction,
815
829
  registerFrontmatterFormattingPreserver: () => import_frontmatter.registerFrontmatterFormattingPreserver,
816
830
  registerInlineTokenRenderer: () => import_inline_token_renderer.registerInlineTokenRenderer,
817
831
  registerLinkHandlers: () => import_markdown.registerLinkHandlers,
832
+ registerPluginAsyncCleanup: () => import_plugin_async_cleanup.registerPluginAsyncCleanup,
818
833
  registerStyle: () => import_style_sheet_component.registerStyle,
834
+ registerVirtualFile: () => import_virtual_file.registerVirtualFile,
819
835
  relative: () => import_path.relative,
820
836
  relativePathToResourceUrl: () => import_resource_url.relativePathToResourceUrl,
821
837
  reloadCurrentFileCache: () => import_dataview.reloadCurrentFileCache,
@@ -872,6 +888,7 @@ __export(merged_exports, {
872
888
  setTimeoutAsync: () => import_async.setTimeoutAsync,
873
889
  shouldResetAlias: () => import_link.shouldResetAlias,
874
890
  shouldUseWikilinks: () => import_obsidian_settings.shouldUseWikilinks,
891
+ showCodeBlockBuilder: () => import_code_block_builder.showCodeBlockBuilder,
875
892
  showErrorAndDisablePlugin: () => import_plugin.showErrorAndDisablePlugin,
876
893
  showInitialDebugMessage: () => import_debug.showInitialDebugMessage,
877
894
  showModal: () => import_modal.showModal,
@@ -908,6 +925,7 @@ __export(merged_exports, {
908
925
  toggleEnableCommunityPlugin: () => import_community_plugins.toggleEnableCommunityPlugin,
909
926
  toggleInstallCommunityPlugin: () => import_community_plugins.toggleInstallCommunityPlugin,
910
927
  tokenizeObsidianWords: () => import_obsidian_word_characters.tokenizeObsidianWords,
928
+ trackPluginAsyncCleanup: () => import_plugin_async_cleanup.trackPluginAsyncCleanup,
911
929
  trashSafe: () => import_vault.trashSafe,
912
930
  triggerPluginLifecycleEvent: () => import_plugin_lifecycle_events.triggerPluginLifecycleEvent,
913
931
  trimEnd: () => import_string.trimEnd,
@@ -964,6 +982,7 @@ var import_canvas = require('./canvas.cjs');
964
982
  var import_case_insensitive_file_index = require('./case-insensitive-file-index.cjs');
965
983
  var import_code_block_reg_exp = require('./code-block-reg-exp.cjs');
966
984
  var import_code_block_render_handoff = require('./code-block-render-handoff.cjs');
985
+ var import_editor_mode_extension = require('./codemirror/editor-mode-extension.cjs');
967
986
  var import_incremental_parse_state_field = require('./codemirror/incremental-parse-state-field.cjs');
968
987
  var import_inline_token_widgets = require('./codemirror/inline-token-widgets.cjs');
969
988
  var import_markdown_editor_views = require('./codemirror/markdown-editor-views.cjs');
@@ -1053,6 +1072,7 @@ var import_file_explorer = require('./file-explorer.cjs');
1053
1072
  var import_file_manager = require('./file-manager.cjs');
1054
1073
  var import_file_system = require('./file-system.cjs');
1055
1074
  var import_folder_note = require('./folder-note.cjs');
1075
+ var import_formula_function = require('./formula-function.cjs');
1056
1076
  var import_frontmatter_formatting = require('./frontmatter-formatting.cjs');
1057
1077
  var import_frontmatter_link_cache_with_offsets = require('./frontmatter-link-cache-with-offsets.cjs');
1058
1078
  var import_frontmatter = require('./frontmatter.cjs');
@@ -1083,6 +1103,7 @@ var import_menu = require('./menu.cjs');
1083
1103
  var import_metadata_cache = require('./metadata-cache.cjs');
1084
1104
  var import_mobile_app_info = require('./mobile-app-info.cjs');
1085
1105
  var import_alert = require('./modals/alert.cjs');
1106
+ var import_code_block_builder = require('./modals/code-block-builder.cjs');
1086
1107
  var import_confirm = require('./modals/confirm.cjs');
1087
1108
  var import_minimizable_modal = require('./modals/minimizable-modal.cjs');
1088
1109
  var import_modal_command_builder = require('./modals/modal-command-builder.cjs');
@@ -1102,6 +1123,7 @@ var import_path_settings = require('./path-settings.cjs');
1102
1123
  var import_pdf = require('./pdf.cjs');
1103
1124
  var import_plugin_cli_handler_registrar = require('./plugin-cli-handler-registrar.cjs');
1104
1125
  var import_plugin_api = require('./plugin/plugin-api.cjs');
1126
+ var import_plugin_async_cleanup = require('./plugin/plugin-async-cleanup.cjs');
1105
1127
  var import_plugin_context = require('./plugin/plugin-context.cjs');
1106
1128
  var import_plugin_event_source = require('./plugin/plugin-event-source.cjs');
1107
1129
  var import_plugin_install_state = require('./plugin/plugin-install-state.cjs');
@@ -1164,6 +1186,7 @@ var import_vault_delete = require('./vault-delete.cjs');
1164
1186
  var import_vault_transaction = require('./vault-transaction.cjs');
1165
1187
  var import_vault = require('./vault.cjs');
1166
1188
  var import_view_registrar = require('./view-registrar.cjs');
1189
+ var import_virtual_file = require('./virtual-file.cjs');
1167
1190
  var import_workspace = require('./workspace.cjs');
1168
1191
  var import_abort_controller = require('@mnaoumov/typescript-lib/abort-controller');
1169
1192
  var import_aggregate_error = require('@mnaoumov/typescript-lib/aggregate-error');
@@ -1267,6 +1290,7 @@ var import_value_wrapper = require('@mnaoumov/typescript-lib/value-wrapper');
1267
1290
  DEFAULT_INLINE_TOKEN_SKIP_SELECTOR,
1268
1291
  DEFAULT_LANGUAGE,
1269
1292
  DEFAULT_NS,
1293
+ DEFAULT_PLUGIN_ASYNC_CLEANUP_TIMEOUT_IN_MILLISECONDS,
1270
1294
  DUMMY_PATH,
1271
1295
  DataStoreLocations,
1272
1296
  DataStoreReplica,
@@ -1357,6 +1381,7 @@ var import_value_wrapper = require('@mnaoumov/typescript-lib/value-wrapper');
1357
1381
  OpenFeatureRequestCommandHandler,
1358
1382
  OpenGitHubCommandHandler,
1359
1383
  OpenSettingsCommandHandler,
1384
+ PLUGIN_ASYNC_CLEANUPS_STATE_KEY,
1360
1385
  PLUGIN_LOADED_EVENT_NAME,
1361
1386
  PLUGIN_TRAILER_KEY,
1362
1387
  PLUGIN_UNLOADED_EVENT_NAME,
@@ -1531,15 +1556,19 @@ var import_value_wrapper = require('@mnaoumov/typescript-lib/value-wrapper');
1531
1556
  createElAsync,
1532
1557
  createExpectedTypeGuard,
1533
1558
  createFolderSafe,
1559
+ createFormulaFunction,
1560
+ createFormulaFunctionParameter,
1534
1561
  createFragmentAsync,
1535
1562
  createFragmentWithCodeBlocks,
1536
1563
  createFunction,
1537
1564
  createIncrementalParseStateField,
1538
1565
  createInlineTokenPostProcessor,
1539
1566
  createInlineTokenWidgetsExtension,
1567
+ createLivePreviewOnlyExtension,
1540
1568
  createObsidianMentionRegExp,
1541
1569
  createRequestUrlFetch,
1542
1570
  createSettingsFacet,
1571
+ createSourceModeOnlyExtension,
1543
1572
  createSpanAsync,
1544
1573
  createSvgAsync,
1545
1574
  createTemporaryFile,
@@ -1555,6 +1584,7 @@ var import_value_wrapper = require('@mnaoumov/typescript-lib/value-wrapper');
1555
1584
  deleteProperties,
1556
1585
  deleteProperty,
1557
1586
  delimiter,
1587
+ didPluginAsyncCleanupsSettle,
1558
1588
  dirname,
1559
1589
  disableCommunityPlugin,
1560
1590
  dispatchToAllMarkdownEditorViews,
@@ -1601,9 +1631,11 @@ var import_value_wrapper = require('@mnaoumov/typescript-lib/value-wrapper');
1601
1631
  findPluginApi,
1602
1632
  fixTitle,
1603
1633
  flushQueue,
1634
+ forEachWindow,
1604
1635
  format,
1605
1636
  formatBugReportEnvironment,
1606
1637
  formatBytes,
1638
+ formatCodeBlock,
1607
1639
  formatDebugGuideReference,
1608
1640
  formatHotkey,
1609
1641
  formatOperationId,
@@ -1672,6 +1704,7 @@ var import_value_wrapper = require('@mnaoumov/typescript-lib/value-wrapper');
1672
1704
  getIndexedBacklinksForFile,
1673
1705
  getInstalledPluginState,
1674
1706
  getInstalledPluginVersion,
1707
+ getLanguagesToLoad,
1675
1708
  getLatestReleaseVersion,
1676
1709
  getLfNormalizedOffsetToOriginalOffsetMapper,
1677
1710
  getLibDebugger,
@@ -1727,6 +1760,7 @@ var import_value_wrapper = require('@mnaoumov/typescript-lib/value-wrapper');
1727
1760
  hasLeadingSlash,
1728
1761
  hasOwnAttachmentFolder,
1729
1762
  hasPatchToken,
1763
+ hasPendingPluginAsyncCleanups,
1730
1764
  hasSingleOccurrence,
1731
1765
  hasWikilinkSyntax,
1732
1766
  hasWindowsTrailingChars,
@@ -1790,6 +1824,7 @@ var import_value_wrapper = require('@mnaoumov/typescript-lib/value-wrapper');
1790
1824
  isFunction,
1791
1825
  isImageFile,
1792
1826
  isInObsidian,
1827
+ isLivePreview,
1793
1828
  isLoaded,
1794
1829
  isMarkdownFile,
1795
1830
  isNote,
@@ -1900,16 +1935,20 @@ var import_value_wrapper = require('@mnaoumov/typescript-lib/value-wrapper');
1900
1935
  referenceToFileChange,
1901
1936
  registerAsyncErrorEventHandler,
1902
1937
  registerAsyncEvent,
1938
+ registerBodyClass,
1903
1939
  registerBulkOperationProgressListener,
1904
1940
  registerDebugSwitch,
1905
1941
  registerFileCacheForNonExistingFile,
1906
1942
  registerFiles,
1907
1943
  registerFoldHandlers,
1908
1944
  registerFootnoteLinkHandler,
1945
+ registerFormulaFunction,
1909
1946
  registerFrontmatterFormattingPreserver,
1910
1947
  registerInlineTokenRenderer,
1911
1948
  registerLinkHandlers,
1949
+ registerPluginAsyncCleanup,
1912
1950
  registerStyle,
1951
+ registerVirtualFile,
1913
1952
  relative,
1914
1953
  relativePathToResourceUrl,
1915
1954
  reloadCurrentFileCache,
@@ -1966,6 +2005,7 @@ var import_value_wrapper = require('@mnaoumov/typescript-lib/value-wrapper');
1966
2005
  setTimeoutAsync,
1967
2006
  shouldResetAlias,
1968
2007
  shouldUseWikilinks,
2008
+ showCodeBlockBuilder,
1969
2009
  showErrorAndDisablePlugin,
1970
2010
  showInitialDebugMessage,
1971
2011
  showModal,
@@ -2002,6 +2042,7 @@ var import_value_wrapper = require('@mnaoumov/typescript-lib/value-wrapper');
2002
2042
  toggleEnableCommunityPlugin,
2003
2043
  toggleInstallCommunityPlugin,
2004
2044
  tokenizeObsidianWords,
2045
+ trackPluginAsyncCleanup,
2005
2046
  trashSafe,
2006
2047
  triggerPluginLifecycleEvent,
2007
2048
  trimEnd,
@@ -2039,4 +2080,4 @@ var import_value_wrapper = require('@mnaoumov/typescript-lib/value-wrapper');
2039
2080
  watchPluginApi,
2040
2081
  wrapForCallout
2041
2082
  });
2042
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9fX21lcmdlZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBUSElTIElTIEEgR0VORVJBVEVEL0JVTkRMRUQgRklMRSBCWSBCVUlMRCBTQ1JJUFQgKi9cblxuZXhwb3J0IHsgQXBwQWN0aXZlRmlsZVByb3ZpZGVyIH0gZnJvbSAnLi9hY3RpdmUtZmlsZS1wcm92aWRlci50cyc7XG5leHBvcnQgeyBBbmNob3JlZFN1Z2dlc3QgfSBmcm9tICcuL2FuY2hvcmVkLXN1Z2dlc3QudHMnO1xuZXhwb3J0IHsgZ2V0QXBwIH0gZnJvbSAnLi9hcHAudHMnO1xuZXhwb3J0IHtcbiAgcmV0cnlXaXRoVGltZW91dE5vdGljZSxcbiAgcnVuV2l0aFRpbWVvdXROb3RpY2Vcbn0gZnJvbSAnLi9hc3luYy13aXRoLW5vdGljZS50cyc7XG5leHBvcnQge1xuICBBdHRhY2htZW50UGF0aENvbnRleHQsXG4gIENVU1RPTV9BVFRBQ0hNRU5UX0xPQ0FUSU9OX1BMVUdJTl9JRCxcbiAgRFVNTVlfUEFUSCxcbiAgZ2V0QXR0YWNobWVudEZpbGVQYXRoLFxuICBnZXRBdHRhY2htZW50Rm9sZGVyUGF0aCxcbiAgZ2V0QXR0YWNobWVudEZvbGRlclBhdGhGb3JBdHRhY2htZW50LFxuICBnZXRBdHRhY2htZW50Rm9sZGVyUGF0aFN5bmNPck51bGwsXG4gIGdldEF2YWlsYWJsZVBhdGhGb3JBdHRhY2htZW50cyxcbiAgZ2V0Q2hlY2tJc0F0dGFjaG1lbnRVbml0Rm9sZGVyRnVuY3Rpb24sXG4gIGhhc093bkF0dGFjaG1lbnRGb2xkZXIsXG4gIGlzQXRQcm9wZXJBdHRhY2htZW50UGF0aFxufSBmcm9tICcuL2F0dGFjaG1lbnQtcGF0aC50cyc7XG5leHBvcnQge1xuICBmaW5kQXR0YWNobWVudFVuaXRGb2xkZXJQYXRoLFxuICByZWJhc2VQYXRoT250b0ZvbGRlclxufSBmcm9tICcuL2F0dGFjaG1lbnQtdW5pdC1mb2xkZXIudHMnO1xuZXhwb3J0IHtcbiAgZ2V0SW5kZXhlZEJhY2tsaW5rc0ZvckZpbGUsXG4gIGl0ZXJhdGVSZWZlcmVuY2VzQWZmZWN0ZWRCeVJlbmFtZVxufSBmcm9tICcuL2JhY2tsaW5rLWluZGV4LnRzJztcbmV4cG9ydCB7XG4gIHJlbmRlckJhY2tsaW5rc1RhYmxlLFxuICByZW5kZXJEZWxheWVkQmFja2xpbmtzLFxuICByZW5kZXJEZWxheWVkQmFja2xpbmtzRm9yRm9sZGVyXG59IGZyb20gJy4vYmFja2xpbmsudHMnO1xuZXhwb3J0IHsgUGx1Z2luQmFzZXNWaWV3UmVnaXN0cmFyIH0gZnJvbSAnLi9iYXNlcy12aWV3LXJlZ2lzdHJhci50cyc7XG5leHBvcnQge1xuICBCcm9rZW5MaW5rQ2FuZGlkYXRlRmluZGVyLFxuICBCcm9rZW5MaW5rRXZpZGVuY2VLaW5kLFxuICBnZXRQYXJlbnRQYXRoLFxuICBnZXRQYXRoTWFwcGluZ1xufSBmcm9tICcuL2Jyb2tlbi1saW5rLWNhbmRpZGF0ZXMudHMnO1xuZXhwb3J0IHtcbiAgQlVHX1JFUE9SVF9JU1NVRV9GT1JNX1RFTVBMQVRFLFxuICBCdWdSZXBvcnRJc3N1ZUZvcm1GaWVsZElkLFxuICBmb3JtYXRCdWdSZXBvcnRFbnZpcm9ubWVudCxcbiAgZ2V0QnVnUmVwb3J0RW52aXJvbm1lbnQsXG4gIGdldEJ1Z1JlcG9ydElzc3VlRm9ybVVybCxcbiAgZ2V0R2l0SHViSXNzdWVGb3JtVXJsXG59IGZyb20gJy4vYnVnLXJlcG9ydC50cyc7XG5leHBvcnQge1xuICBCVUxLX09QRVJBVElPTl9IT0xEX0lOVEVSVkFMX0lOX01JTExJU0VDT05EUyxcbiAgaG9sZEJ1bGtPcGVyYXRpb25XaGlsZSxcbiAgcmVnaXN0ZXJCdWxrT3BlcmF0aW9uUHJvZ3Jlc3NMaXN0ZW5lcixcbiAgcmVwb3J0QnVsa09wZXJhdGlvblByb2dyZXNzXG59IGZyb20gJy4vYnVsay1vcGVyYXRpb24tcHJvZ3Jlc3MudHMnO1xuZXhwb3J0IHtcbiAgYnVpbGRCZWZvcmVPcGVyYXRpb25Db21taXRTdWJqZWN0LFxuICBidWlsZE9wZXJhdGlvbkNvbW1pdE1lc3NhZ2UsXG4gIEJVTEtfT1BFUkFUSU9OX0xPQ0tfRklMRV9OQU1FLFxuICBCVUxLX09QRVJBVElPTl9MT0NLX1NUQUxFX0FGVEVSX0lOX01JTExJU0VDT05EUyxcbiAgZm9ybWF0T3BlcmF0aW9uSWQsXG4gIGdldE5leHRPcGVyYXRpb25JZCxcbiAgaXNCdWxrT3BlcmF0aW9uTG9jayxcbiAgaXNCdWxrT3BlcmF0aW9uTG9ja1N0YWxlLFxuICBPUEVSQVRJT05fVFJBSUxFUl9LRVksXG4gIHBhcnNlQnVsa09wZXJhdGlvbkNvbW1pdCxcbiAgcGFyc2VPcGVyYXRpb25OdW1iZXIsXG4gIFBMVUdJTl9UUkFJTEVSX0tFWVxufSBmcm9tICcuL2J1bGstb3BlcmF0aW9uLnRzJztcbmV4cG9ydCB7XG4gIENhbGxvdXRNb2RlLFxuICByZW5kZXJDYWxsb3V0LFxuICB3cmFwRm9yQ2FsbG91dFxufSBmcm9tICcuL2NhbGxvdXQudHMnO1xuZXhwb3J0IHsgZ2V0Q2FudmFzUmVmZXJlbmNlcyB9IGZyb20gJy4vY2FudmFzLnRzJztcbmV4cG9ydCB7XG4gIENhc2VJbnNlbnNpdGl2ZUZpbGVJbmRleCxcbiAgZ2V0Q2FzZUluc2Vuc2l0aXZlRmlsZUluZGV4LFxuICBzZXRDYXNlSW5zZW5zaXRpdmVGaWxlSW5kZXgsXG4gIHVuc2V0Q2FzZUluc2Vuc2l0aXZlRmlsZUluZGV4XG59IGZyb20gJy4vY2FzZS1pbnNlbnNpdGl2ZS1maWxlLWluZGV4LnRzJztcbmV4cG9ydCB7IGNyZWF0ZUNvZGVCbG9ja1JlZ0V4cCB9IGZyb20gJy4vY29kZS1ibG9jay1yZWctZXhwLnRzJztcbmV4cG9ydCB7XG4gIGNhcHR1cmVDb2RlQmxvY2tGb2N1cyxcbiAgY2xhaW1Db2RlQmxvY2tSZW5kZXJIYW5kb2ZmLFxuICBDT0RFX0JMT0NLX1JFTkRFUl9IQU5ET0ZGX0xJRkVUSU1FX0lOX01JTExJU0VDT05EUyxcbiAgcmVjb3JkQ29kZUJsb2NrUmVuZGVySGFuZG9mZixcbiAgcmVzdG9yZUNvZGVCbG9ja0ZvY3VzXG59IGZyb20gJy4vY29kZS1ibG9jay1yZW5kZXItaGFuZG9mZi50cyc7XG5leHBvcnQgeyBjcmVhdGVJbmNyZW1lbnRhbFBhcnNlU3RhdGVGaWVsZCB9IGZyb20gJy4vY29kZW1pcnJvci9pbmNyZW1lbnRhbC1wYXJzZS1zdGF0ZS1maWVsZC50cyc7XG5leHBvcnQge1xuICBjcmVhdGVJbmxpbmVUb2tlbldpZGdldHNFeHRlbnNpb24sXG4gIGV4ZWNBbGwsXG4gIHRvR2xvYmFsUmVnRXhwXG59IGZyb20gJy4vY29kZW1pcnJvci9pbmxpbmUtdG9rZW4td2lkZ2V0cy50cyc7XG5leHBvcnQge1xuICBkaXNwYXRjaFRvQWxsTWFya2Rvd25FZGl0b3JWaWV3cyxcbiAgZ2V0QWxsTWFya2Rvd25FZGl0b3JWaWV3c1xufSBmcm9tICcuL2NvZGVtaXJyb3IvbWFya2Rvd24tZWRpdG9yLXZpZXdzLnRzJztcbmV4cG9ydCB7IHJhbmdlU2V0VG9BcnJheSB9IGZyb20gJy4vY29kZW1pcnJvci9yYW5nZS1zZXQudHMnO1xuZXhwb3J0IHsgY3JlYXRlU2V0dGluZ3NGYWNldCB9IGZyb20gJy4vY29kZW1pcnJvci9zZXR0aW5ncy1mYWNldC50cyc7XG5leHBvcnQgeyBBYnN0cmFjdEZpbGVDb21tYW5kSGFuZGxlciB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9hYnN0cmFjdC1maWxlLWNvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgeyBDb21tYW5kSGFuZGxlckNvbXBvbmVudCB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9jb21tYW5kLWhhbmRsZXItY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IENvbW1hbmRIYW5kbGVyIH0gZnJvbSAnLi9jb21tYW5kLWhhbmRsZXJzL2NvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgeyBFZGl0b3JDb21tYW5kSGFuZGxlciB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9lZGl0b3ItY29tbWFuZC1oYW5kbGVyLnRzJztcbmV4cG9ydCB7IEZpbGVDb21tYW5kSGFuZGxlciB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9maWxlLWNvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgeyBGb2xkZXJDb21tYW5kSGFuZGxlciB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9mb2xkZXItY29tbWFuZC1oYW5kbGVyLnRzJztcbmV4cG9ydCB7IEdsb2JhbENvbW1hbmRIYW5kbGVyIH0gZnJvbSAnLi9jb21tYW5kLWhhbmRsZXJzL2dsb2JhbC1jb21tYW5kLWhhbmRsZXIudHMnO1xuZXhwb3J0IHsgT3BlbkJ1Z1JlcG9ydENvbW1hbmRIYW5kbGVyIH0gZnJvbSAnLi9jb21tYW5kLWhhbmRsZXJzL29wZW4tYnVnLXJlcG9ydC1jb21tYW5kLWhhbmRsZXIudHMnO1xuZXhwb3J0IHsgT3BlbkRlbW9WYXVsdENvbW1hbmRIYW5kbGVyIH0gZnJvbSAnLi9jb21tYW5kLWhhbmRsZXJzL29wZW4tZGVtby12YXVsdC1jb21tYW5kLWhhbmRsZXIudHMnO1xuZXhwb3J0IHsgT3BlbkRpc2N1c3Npb25Db21tYW5kSGFuZGxlciB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9vcGVuLWRpc2N1c3Npb24tY29tbWFuZC1oYW5kbGVyLnRzJztcbmV4cG9ydCB7IE9wZW5GZWF0dXJlUmVxdWVzdENvbW1hbmRIYW5kbGVyIH0gZnJvbSAnLi9jb21tYW5kLWhhbmRsZXJzL29wZW4tZmVhdHVyZS1yZXF1ZXN0LWNvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgeyBPcGVuR2l0SHViQ29tbWFuZEhhbmRsZXIgfSBmcm9tICcuL2NvbW1hbmQtaGFuZGxlcnMvb3Blbi1naXQtaHViLWNvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgeyBPcGVuU2V0dGluZ3NDb21tYW5kSGFuZGxlciB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9vcGVuLXNldHRpbmdzLWNvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgeyBVbmRvQnVsa09wZXJhdGlvbkNvbW1hbmRIYW5kbGVyIH0gZnJvbSAnLi9jb21tYW5kLWhhbmRsZXJzL3VuZG8tYnVsay1vcGVyYXRpb24tY29tbWFuZC1oYW5kbGVyLnRzJztcbmV4cG9ydCB7IFVubG9ja0FjdGl2ZU5vdGVDb21tYW5kSGFuZGxlciB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy91bmxvY2stYWN0aXZlLW5vdGUtY29tbWFuZC1oYW5kbGVyLnRzJztcbmV4cG9ydCB7IFBsdWdpbkNvbW1hbmRSZWdpc3RyYXIgfSBmcm9tICcuL2NvbW1hbmQtcmVnaXN0cmFyLnRzJztcbmV4cG9ydCB7XG4gIGNvbmZpZ3VyZUNvbW11bml0eVBsdWdpbixcbiAgQ29uZmlndXJlQ29tbXVuaXR5UGx1Z2luUmVzdWx0LFxuICBkaXNhYmxlQ29tbXVuaXR5UGx1Z2luLFxuICBlbmFibGVDb21tdW5pdHlQbHVnaW4sXG4gIGdldENvbW11bml0eVBsdWdpblJlcG8sXG4gIGdldExhdGVzdFJlbGVhc2VWZXJzaW9uLFxuICBpbnN0YWxsQ29tbXVuaXR5UGx1Z2luLFxuICBpbnN0YWxsQ29uZmlndXJlRW5hYmxlQ29tbXVuaXR5UGx1Z2luLFxuICBQbHVnaW5FbmFibGVSZWZ1c2VkRXJyb3IsXG4gIHNlYXJjaENvbW11bml0eVBsdWdpbnMsXG4gIHRvZ2dsZUVuYWJsZUNvbW11bml0eVBsdWdpbixcbiAgdG9nZ2xlSW5zdGFsbENvbW11bml0eVBsdWdpbixcbiAgdW5pbnN0YWxsQ29tbXVuaXR5UGx1Z2luLFxuICB1cGRhdGVDb21tdW5pdHlQbHVnaW4sXG4gIFVwZGF0ZUNvbW11bml0eVBsdWdpblJlc3VsdFxufSBmcm9tICcuL2NvbW11bml0eS1wbHVnaW5zLnRzJztcbmV4cG9ydCB7IEFib3J0U2lnbmFsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Fib3J0LXNpZ25hbC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgQWxsV2luZG93c0V2ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FsbC13aW5kb3dzLWV2ZW50LWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBBc3luY0Vycm9ySGFuZGxlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hc3luYy1lcnJvci1oYW5kbGVyLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyByZWdpc3RlckFzeW5jRXZlbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYXN5bmMtZXZlbnRzLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBCdWxrT3BlcmF0aW9uQ29tbWl0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2J1bGstb3BlcmF0aW9uLWNvbW1pdC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgQ2FzZUluc2Vuc2l0aXZlRmlsZUluZGV4Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Nhc2UtaW5zZW5zaXRpdmUtZmlsZS1pbmRleC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgQ29tcG9uZW50RXggfSBmcm9tICcuL2NvbXBvbmVudHMvY29tcG9uZW50LWV4LnRzJztcbmV4cG9ydCB7IENvbnNvbGVEZWJ1Z0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb25zb2xlLWRlYnVnLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBDb3JlUGx1Z2luVG9nZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUtcGx1Z2luLXRvZ2dsZS1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgYXNEaXNwb3NhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Rpc3Bvc2FibGUtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IEVtYmVkRXh0ZW5zaW9uc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lbWJlZC1leHRlbnNpb25zLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBFbWJlZGRhYmxlTWFya2Rvd25FZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZW1iZWRkYWJsZS1tYXJrZG93bi1lZGl0b3ItY29tcG9uZW50LnRzJztcbmV4cG9ydCB7XG4gIEZpbGVFeHBsb3JlclJvb3RNZW51Q29tcG9uZW50LFxuICBGaWxlRXhwbG9yZXJSb290TWVudVNwb3QsXG4gIFZBVUxUX05BTUVfU0VMRUNUT1JTXG59IGZyb20gJy4vY29tcG9uZW50cy9maWxlLWV4cGxvcmVyLXJvb3QtbWVudS1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgR2VuZXJhdGVNYXJrZG93bkxpbmtEZWZhdWx0UGFyYW1zQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2dlbmVyYXRlLW1hcmtkb3duLWxpbmstZGVmYXVsdC1wYXJhbXMtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IEluY3JlbWVudGFsRmlsZUluZGV4Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2luY3JlbWVudGFsLWZpbGUtaW5kZXgtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7XG4gIENhbGxiYWNrTGF5b3V0UmVhZHlDb21wb25lbnQsXG4gIExheW91dFJlYWR5Q29tcG9uZW50XG59IGZyb20gJy4vY29tcG9uZW50cy9sYXlvdXQtcmVhZHktY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IE1lbnVFdmVudFJlZ2lzdHJhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tZW51LWV2ZW50LXJlZ2lzdHJhci1jb21wb25lbnQudHMnO1xuZXhwb3J0IHtcbiAgYXJvdW5kLFxuICBoYXNQYXRjaFRva2VuLFxuICBNb25rZXlBcm91bmRDb21wb25lbnRcbn0gZnJvbSAnLi9jb21wb25lbnRzL21vbmtleS1hcm91bmQtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IE5vdGVib29rTmF2aWdhdG9yTWVudUV2ZW50UmVnaXN0cmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL25vdGVib29rLW5hdmlnYXRvci1tZW51LWV2ZW50LXJlZ2lzdHJhci1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgUGx1Z2luQ29udGV4dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wbHVnaW4tY29udGV4dC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHtcbiAgUGx1Z2luQ29uZmxpY3RTZXZlcml0eSxcbiAgUGx1Z2luR2F0ZUNvbXBvbmVudFxufSBmcm9tICcuL2NvbXBvbmVudHMvcGx1Z2luLWdhdGUtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7XG4gIFBsdWdpbk5vdGljZUNvbXBvbmVudCxcbiAgUGx1Z2luTm90aWNlTW9kZVxufSBmcm9tICcuL2NvbXBvbmVudHMvcGx1Z2luLW5vdGljZS1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgUGx1Z2luU2V0dGluZ3NDb21wb25lbnRCYXNlIH0gZnJvbSAnLi9jb21wb25lbnRzL3BsdWdpbi1zZXR0aW5ncy1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgUGx1Z2luU2V0dGluZ3NUYWJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGx1Z2luLXNldHRpbmdzLXRhYi1jb21wb25lbnQudHMnO1xuZXhwb3J0IHtcbiAgUGx1Z2luU3VnZ2VzdGlvbkNvbXBvbmVudCxcbiAgU3VnZ2VzdGVkUGx1Z2luU3RhdGVcbn0gZnJvbSAnLi9jb21wb25lbnRzL3BsdWdpbi1zdWdnZXN0aW9uLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBQb2ludGVyUG9zaXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcG9pbnRlci1wb3NpdGlvbi1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgUmVjb25maWd1cmFibGVFZGl0b3JFeHRlbnNpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcmVjb25maWd1cmFibGUtZWRpdG9yLWV4dGVuc2lvbi1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgUmVnaXN0cnlDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcmVnaXN0cnktY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFJlbGVhc2VOb3Rlc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yZWxlYXNlLW5vdGVzLWNvbXBvbmVudC50cyc7XG5leHBvcnQge1xuICBFbXB0eUZvbGRlckJlaGF2aW9yLFxuICBSZW5hbWVEZWxldGVIYW5kbGVyQ29tcG9uZW50XG59IGZyb20gJy4vY29tcG9uZW50cy9yZW5hbWUtZGVsZXRlLWhhbmRsZXItY29tcG9uZW50LnRzJztcbmV4cG9ydCB7XG4gIE5PVF9FTVBUWV9ESVJFQ1RPUllfRVJST1JfQ09ERSxcbiAgUm1kaXJHdWFyZENvbXBvbmVudFxufSBmcm9tICcuL2NvbXBvbmVudHMvcm1kaXItZ3VhcmQtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFNldHRpbmdzRmFjZXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2V0dGluZ3MtZmFjZXQtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFNldHRpbmdzTWlncmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NldHRpbmdzLW1pZ3JhdGlvbi1jb21wb25lbnQudHMnO1xuZXhwb3J0IHtcbiAgcmVnaXN0ZXJTdHlsZSxcbiAgU3R5bGVTaGVldENvbXBvbmVudFxufSBmcm9tICcuL2NvbXBvbmVudHMvc3R5bGUtc2hlZXQtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFN5bnRheEhpZ2hsaWdodGluZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zeW50YXgtaGlnaGxpZ2h0aW5nLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBUZW1wbGF0ZXNMYW5ndWFnZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90ZW1wbGF0ZXMtbGFuZ3VhZ2UtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IGdldERvbUV2ZW50c0hhbmRsZXJzQ29uc3RydWN0b3IgfSBmcm9tICcuL2NvbnN0cnVjdG9ycy9nZXQtZG9tLWV2ZW50cy1oYW5kbGVycy1jb25zdHJ1Y3Rvci50cyc7XG5leHBvcnQgeyBDc3NDbGFzcyB9IGZyb20gJy4vY3NzLWNsYXNzLnRzJztcbmV4cG9ydCB7IFBsdWdpbkRhdGFIYW5kbGVyIH0gZnJvbSAnLi9kYXRhLWhhbmRsZXIudHMnO1xuZXhwb3J0IHsgRGF0YVN0b3JlTG9jYXRpb25zIH0gZnJvbSAnLi9kYXRhLXN0b3Jlcy9kYXRhLXN0b3JlLWxvY2F0aW9ucy50cyc7XG5leHBvcnQge1xuICBEYXRhU3RvcmVSZXBsaWNhLFxuICBpc0RhdGFTdG9yZUpzb25WYWx1ZSxcbiAgaXNEYXRhU3RvcmVPcGVyYXRpb25cbn0gZnJvbSAnLi9kYXRhLXN0b3Jlcy9kYXRhLXN0b3JlLXJlcGxpY2EudHMnO1xuZXhwb3J0IHtcbiAgRGF0YVN0b3JlU2VlZHMsXG4gIHZhbGlkYXRlRGF0YVN0b3JlU2VlZFxufSBmcm9tICcuL2RhdGEtc3RvcmVzL2RhdGEtc3RvcmUtc2VlZHMudHMnO1xuZXhwb3J0IHsgRGF0YVN0b3JlVHJhbnNwb3J0IH0gZnJvbSAnLi9kYXRhLXN0b3Jlcy9kYXRhLXN0b3JlLXRyYW5zcG9ydC50cyc7XG5leHBvcnQgeyBMb2NhbERhdGFTdG9yZSB9IGZyb20gJy4vZGF0YS1zdG9yZXMvbG9jYWwtZGF0YS1zdG9yZS50cyc7XG5leHBvcnQgeyBTaGFyZWREYXRhU3RvcmUgfSBmcm9tICcuL2RhdGEtc3RvcmVzL3NoYXJlZC1kYXRhLXN0b3JlLnRzJztcbmV4cG9ydCB7XG4gIGZpeFRpdGxlLFxuICBtYWtlTGlua1dpdGhQYXRoXG59IGZyb20gJy4vZGF0YXZpZXctbGluay50cyc7XG5leHBvcnQge1xuICBnZXRSZW5kZXJlZENvbnRhaW5lcixcbiAgaW5zZXJ0Q29kZUJsb2NrLFxuICByZWxvYWRDdXJyZW50RmlsZUNhY2hlLFxuICByZW5kZXJJZnJhbWUsXG4gIHJlbmRlclBhZ2luYXRlZExpc3QsXG4gIHJlbmRlclBhZ2luYXRlZFRhYmxlXG59IGZyb20gJy4vZGF0YXZpZXcudHMnO1xuZXhwb3J0IHtcbiAgZ2V0T2JzaWRpYW5MaWJEZWJ1Z2dlcixcbiAgc2hvd0luaXRpYWxEZWJ1Z01lc3NhZ2Vcbn0gZnJvbSAnLi9kZWJ1Zy50cyc7XG5leHBvcnQgeyBib290c3RyYXBEZW1vVmF1bHQgfSBmcm9tICcuL2RlbW8tdmF1bHQtaGVscGVyLnRzJztcbmV4cG9ydCB7XG4gIGdldERlbW9WYXVsdEFyY2hpdmVGaWxlTmFtZSxcbiAgZ2V0RGVtb1ZhdWx0Rm9sZGVyTmFtZVxufSBmcm9tICcuL2RlbW8tdmF1bHQtbmFtaW5nLnRzJztcbmV4cG9ydCB7XG4gIEJ1bGtPcGVyYXRpb25HaXRSZXBvLFxuICBHaXRDb21tYW5kRXJyb3Jcbn0gZnJvbSAnLi9kZXNrdG9wLWJ1bGstb3BlcmF0aW9uLWdpdC50cyc7XG5leHBvcnQgeyBvcGVuRGVtb1ZhdWx0IH0gZnJvbSAnLi9kZXNrdG9wLWRlbW8tdmF1bHQtb3BlbmVyLnRzJztcbmV4cG9ydCB7IGNyZWF0ZURlc2t0b3BHaXRSdW5uZXIgfSBmcm9tICcuL2Rlc2t0b3AtZ2l0LXJ1bm5lci50cyc7XG5leHBvcnQgeyBnZXREZXNrdG9wT3BlcmF0aW5nU3lzdGVtIH0gZnJvbSAnLi9kZXNrdG9wLW9wZXJhdGluZy1zeXN0ZW0udHMnO1xuZXhwb3J0IHsgb3BlbkRlc2t0b3BSZXF1ZXN0VXJsU3RyZWFtIH0gZnJvbSAnLi9kZXNrdG9wLXJlcXVlc3QtdXJsLXN0cmVhbS50cyc7XG5leHBvcnQgeyBQbHVnaW5FZGl0b3JFeHRlbnNpb25SZWdpc3RyYXIgfSBmcm9tICcuL2VkaXRvci1leHRlbnNpb24tcmVnaXN0cmFyLnRzJztcbmV4cG9ydCB7IFBsdWdpbkVkaXRvclN1Z2dlc3RSZWdpc3RyYXIgfSBmcm9tICcuL2VkaXRvci1zdWdnZXN0LXJlZ2lzdHJhci50cyc7XG5leHBvcnQge1xuICBDb21tYW5kRWRpdG9yU3VnZ2VzdCxcbiAgcHJpb3JpdGl6ZUVkaXRvclN1Z2dlc3Rcbn0gZnJvbSAnLi9lZGl0b3Itc3VnZ2VzdC50cyc7XG5leHBvcnQge1xuICBzeW5jT3BlbkVkaXRvckJ1ZmZlcnNGb3JQYXRoLFxuICB0b2dnbGVFZGl0b3JSZWFkT25seVxufSBmcm9tICcuL2VkaXRvci50cyc7XG5leHBvcnQge1xuICBFdmVudFJlZkRpc3Bvc2FibGUsXG4gIHN1YnNjcmliZURpc3Bvc2FibGVFdmVudCxcbiAgc3Vic2NyaWJlRXZlbnRcbn0gZnJvbSAnLi9ldmVudHMudHMnO1xuZXhwb3J0IHsgUGx1Z2luRXh0ZW5zaW9uc1JlZ2lzdHJhciB9IGZyb20gJy4vZXh0ZW5zaW9ucy1yZWdpc3RyYXIudHMnO1xuZXhwb3J0IHtcbiAgRkVBVFVSRV9SRVFVRVNUX0lTU1VFX0ZPUk1fVEVNUExBVEUsXG4gIEZlYXR1cmVSZXF1ZXN0SXNzdWVGb3JtRmllbGRJZCxcbiAgZ2V0RmVhdHVyZVJlcXVlc3RJc3N1ZUZvcm1Vcmxcbn0gZnJvbSAnLi9mZWF0dXJlLXJlcXVlc3QudHMnO1xuZXhwb3J0IHtcbiAgYXBwbHlDb250ZW50Q2hhbmdlcyxcbiAgYXBwbHlGaWxlQ2hhbmdlcyxcbiAgaXNDYW52YXNDaGFuZ2UsXG4gIGlzQ2FudmFzRmlsZU5vZGVDaGFuZ2UsXG4gIGlzQ2FudmFzVGV4dE5vZGVDaGFuZ2UsXG4gIGlzQ29udGVudENoYW5nZSxcbiAgaXNGcm9udG1hdHRlckNoYW5nZSxcbiAgaXNGcm9udG1hdHRlckNoYW5nZVdpdGhPZmZzZXRzLFxuICB0b0Zyb250bWF0dGVyQ2hhbmdlV2l0aE9mZnNldHNcbn0gZnJvbSAnLi9maWxlLWNoYW5nZS50cyc7XG5leHBvcnQgeyByZXZlYWxJbkZpbGVFeHBsb3JlciB9IGZyb20gJy4vZmlsZS1leHBsb3Jlci50cyc7XG5leHBvcnQge1xuICBhZGRBbGlhcyxcbiAgZGVsZXRlQWxpYXMsXG4gIHByb2Nlc3NGcm9udG1hdHRlcixcbiAgd2FpdEZvclBlbmRpbmdMaW5rVXBkYXRlc1xufSBmcm9tICcuL2ZpbGUtbWFuYWdlci50cyc7XG5leHBvcnQge1xuICBhc0FycmF5T2ZGaWxlcyxcbiAgYXNBcnJheU9mRm9sZGVycyxcbiAgYXNGaWxlLFxuICBhc0ZpbGVPck51bGwsXG4gIGFzRm9sZGVyLFxuICBhc0ZvbGRlck9yTnVsbCxcbiAgQkFTRV9GSUxFX0VYVEVOU0lPTixcbiAgQ0FOVkFTX0ZJTEVfRVhURU5TSU9OLFxuICBjaGVja0V4dGVuc2lvbixcbiAgZG9lc0V4aXN0LFxuICBGaWxlU3lzdGVtVHlwZSxcbiAgZ2V0QWJzdHJhY3RGaWxlLFxuICBnZXRBYnN0cmFjdEZpbGVPck51bGwsXG4gIGdldEJhc2VuYW1lLFxuICBnZXRFeHRlbnNpb24sXG4gIGdldEZpbGUsXG4gIGdldEZpbGVPck51bGwsXG4gIGdldEZpbGVTeXN0ZW1UeXBlLFxuICBnZXRGb2xkZXIsXG4gIGdldEZvbGRlck9yTnVsbCxcbiAgZ2V0TWFya2Rvd25GaWxlcyxcbiAgZ2V0T3JDcmVhdGVGaWxlLFxuICBnZXRPckNyZWF0ZUZvbGRlcixcbiAgZ2V0UGF0aCxcbiAgaXNBYnN0cmFjdEZpbGUsXG4gIGlzQmFzZUZpbGUsXG4gIGlzQ2FudmFzRmlsZSxcbiAgaXNGaWxlLFxuICBpc0ZvbGRlcixcbiAgaXNNYXJrZG93bkZpbGUsXG4gIGlzTm90ZSxcbiAgaXNQYXRoT3JGaWxlLFxuICBpc1RyZWF0ZWRBc0F0dGFjaG1lbnQsXG4gIE1BUktET1dOX0ZJTEVfRVhURU5TSU9OLFxuICBNaXNzaW5nUGF0aFRyZWF0bWVudCxcbiAgdHJpbU1hcmtkb3duRXh0ZW5zaW9uXG59IGZyb20gJy4vZmlsZS1zeXN0ZW0udHMnO1xuZXhwb3J0IHtcbiAgRk9MREVSX05PVEVTX1BMVUdJTl9JRCxcbiAgRm9sZGVyTm90ZUxvY2F0aW9uLFxuICBnZXRGb2xkZXJOb3RlRm9sZGVyLFxuICByZXNvbHZlRm9sZGVyTm90ZSxcbiAgcmVzb2x2ZUZvbGRlck5vdGVDb25maWdcbn0gZnJvbSAnLi9mb2xkZXItbm90ZS50cyc7XG5leHBvcnQge1xuICBlbmFibGVGcm9udG1hdHRlckZvcm1hdHRpbmdQcmVzZXJ2YXRpb24sXG4gIHByZXNlcnZlRnJvbnRtYXR0ZXJGb3JtYXR0aW5nXG59IGZyb20gJy4vZnJvbnRtYXR0ZXItZm9ybWF0dGluZy50cyc7XG5leHBvcnQge1xuICBpc0Zyb250bWF0dGVyTGlua0NhY2hlV2l0aE9mZnNldHMsXG4gIHRvRnJvbnRtYXR0ZXJMaW5rQ2FjaGVXaXRoT2Zmc2V0c1xufSBmcm9tICcuL2Zyb250bWF0dGVyLWxpbmstY2FjaGUtd2l0aC1vZmZzZXRzLnRzJztcbmV4cG9ydCB7XG4gIGNoZWNrSXNQbGFpbk9iamVjdCxcbiAgcGFyc2VGcm9udG1hdHRlcixcbiAgcmVnaXN0ZXJGcm9udG1hdHRlckZvcm1hdHRpbmdQcmVzZXJ2ZXIsXG4gIHJlbW92ZUVtcHR5RnJvbnRtYXR0ZXJWYWx1ZXMsXG4gIHNldEZyb250bWF0dGVyXG59IGZyb20gJy4vZnJvbnRtYXR0ZXIudHMnO1xuZXhwb3J0IHtcbiAgTElCUkFSWV9TVFlMRVMsXG4gIExJQlJBUllfVkVSU0lPTlxufSBmcm9tICcuL2dlbmVyYXRlZC1kdXJpbmctYnVpbGQudHMnO1xuZXhwb3J0IHsgZ2V0R2l0SHViRGlzY3Vzc2lvblVybCB9IGZyb20gJy4vZ2l0LWh1Yi1kaXNjdXNzaW9uLnRzJztcbmV4cG9ydCB7XG4gIGxvYWRHaXRSZW5hbWVzLFxuICBwYXJzZUdpdFJlbmFtZUxvZ1xufSBmcm9tICcuL2dpdC1yZW5hbWUtaGlzdG9yeS50cyc7XG5leHBvcnQge1xuICBmb3JtYXRIb3RrZXksXG4gIGdldEhvdGtleUZyb21LZXlib2FyZEV2ZW50LFxuICBpc1NhbWVIb3RrZXlcbn0gZnJvbSAnLi9ob3RrZXkudHMnO1xuZXhwb3J0IHsgUGx1Z2luSG92ZXJMaW5rU291cmNlUmVnaXN0cmFyIH0gZnJvbSAnLi9ob3Zlci1saW5rLXNvdXJjZS1yZWdpc3RyYXIudHMnO1xuZXhwb3J0IHtcbiAgYXBwZW5kQ29kZUJsb2NrLFxuICBhcHBlbmRUZXh0T3JGcmFnbWVudENsb25lLFxuICBhcHBseVNwZWxsY2hlY2tNb2RlLFxuICBhc0NvZGVCbG9jayxcbiAgY3JlYXRlRnJhZ21lbnRXaXRoQ29kZUJsb2Nrc1xufSBmcm9tICcuL2h0bWwtZWxlbWVudC50cyc7XG5leHBvcnQge1xuICBERUZBVUxUX05TLFxuICBpbml0STE4TixcbiAgdFxufSBmcm9tICcuL2kxOG4vaTE4bi50cyc7XG5leHBvcnQgeyBlbiB9IGZyb20gJy4vaTE4bi9sb2NhbGVzL2VuLnRzJztcbmV4cG9ydCB7XG4gIERFRkFVTFRfTEFOR1VBR0UsXG4gIGRlZmF1bHRUcmFuc2xhdGlvbnNNYXBcbn0gZnJvbSAnLi9pMThuL2xvY2FsZXMvdHJhbnNsYXRpb25zLW1hcC50cyc7XG5leHBvcnQge1xuICBjcmVhdGVJbmxpbmVUb2tlblBvc3RQcm9jZXNzb3IsXG4gIERFRkFVTFRfSU5MSU5FX1RPS0VOX1NLSVBfU0VMRUNUT1IsXG4gIHJlZ2lzdGVySW5saW5lVG9rZW5SZW5kZXJlclxufSBmcm9tICcuL2lubGluZS10b2tlbi1yZW5kZXJlci50cyc7XG5leHBvcnQgeyBpc0luT2JzaWRpYW4gfSBmcm9tICcuL2lzLWluLW9ic2lkaWFuLnRzJztcbmV4cG9ydCB7XG4gIGluamVjdExpYnJhcnlTdHlsZXMsXG4gIExBU1RfTElCUkFSWV9WRVJTSU9OX0tFWSxcbiAgTElCUkFSWV9TVFlMRVNfRUxFTUVOVF9JRFxufSBmcm9tICcuL2xpYnJhcnktc3R5bGVzLnRzJztcbmV4cG9ydCB7XG4gIE9CU0lESUFOX0xJQlJBUllfTkFNRSxcbiAgT2JzaWRpYW5MaWJyYXJ5XG59IGZyb20gJy4vbGlicmFyeS50cyc7XG5leHBvcnQge1xuICBnZXRMaW5rQW5kVGFnQ29tcGxldGlvblRyaWdnZXIsXG4gIGdldFZhdWx0VGFnU3VnZ2VzdGlvbnMsXG4gIExpbmtBbmRUYWdDb21wbGV0aW9uS2luZCxcbiAgTGlua0FuZFRhZ0lucHV0U3VnZ2VzdFxufSBmcm9tICcuL2xpbmstYW5kLXRhZy1pbnB1dC1zdWdnZXN0LnRzJztcbmV4cG9ydCB7IG5vcm1hbGl6ZUxpbmtOYW1lIH0gZnJvbSAnLi9saW5rLW5hbWUudHMnO1xuZXhwb3J0IHtcbiAgYnVpbGRCYWNrbGlua3NTbmFwc2hvdCxcbiAgY29udmVydExpbmssXG4gIGVkaXRCYWNrbGlua3MsXG4gIGVkaXRCYWNrbGlua3NTbmFwc2hvdCxcbiAgZWRpdFJlZmVyZW5jZXMsXG4gIGVkaXRSZWZlcmVuY2VzSW5Db250ZW50LFxuICBleHRyYWN0UmVmZXJlbmNlRmlsZSxcbiAgZ2VuZXJhdGVNYXJrZG93bkxpbmssXG4gIGdlbmVyYXRlUmF3TWFya2Rvd25MaW5rLFxuICBnZXRHZW5lcmF0ZU1hcmtkb3duTGlua0RlZmF1bHRQYXJhbXNGbnMsXG4gIGhhc0FuZ2xlQnJhY2tldHMsXG4gIGhhc0VtYmVkU3ludGF4LFxuICBoYXNMZWFkaW5nRG90LFxuICBoYXNMZWFkaW5nU2xhc2gsXG4gIGhhc1dpa2lsaW5rU3ludGF4LFxuICBMaW5rUGF0aFN0eWxlLFxuICBMaW5rU3R5bGUsXG4gIHNob3VsZFJlc2V0QWxpYXMsXG4gIHNwbGl0U3VicGF0aCxcbiAgdXBkYXRlRmlsZVVybExpbmtzSW5Db250ZW50LFxuICB1cGRhdGVGaWxlVXJsTGlua3NJbkZpbGUsXG4gIHVwZGF0ZUxpbmssXG4gIHVwZGF0ZVJlZmVyZW5jZXNJbkNvbnRlbnQsXG4gIHVwZGF0ZVJlZmVyZW5jZXNJbkZpbGVcbn0gZnJvbSAnLi9saW5rLnRzJztcbmV4cG9ydCB7IGludm9rZUFzeW5jQW5kTG9nIH0gZnJvbSAnLi9sb2dnZXIudHMnO1xuZXhwb3J0IHsgbG9vcCB9IGZyb20gJy4vbG9vcC50cyc7XG5leHBvcnQgeyBQbHVnaW5NYXJrZG93bkNvZGVCbG9ja1Byb2Nlc3NvclJlZ2lzdHJhciB9IGZyb20gJy4vbWFya2Rvd24tY29kZS1ibG9jay1wcm9jZXNzb3ItcmVnaXN0cmFyLnRzJztcbmV4cG9ydCB7XG4gIGdldENvZGVCbG9ja01hcmtkb3duSW5mbyxcbiAgaW5zZXJ0QWZ0ZXJDb2RlQmxvY2ssXG4gIGluc2VydEJlZm9yZUNvZGVCbG9jayxcbiAgcmVtb3ZlQ29kZUJsb2NrLFxuICByZXBsYWNlQ29kZUJsb2NrXG59IGZyb20gJy4vbWFya2Rvd24tY29kZS1ibG9jay1wcm9jZXNzb3IudHMnO1xuZXhwb3J0IHsgUGx1Z2luTWFya2Rvd25Qb3N0UHJvY2Vzc29yUmVnaXN0cmFyIH0gZnJvbSAnLi9tYXJrZG93bi1wb3N0LXByb2Nlc3Nvci1yZWdpc3RyYXIudHMnO1xuZXhwb3J0IHsgZ2V0RnVsbENvbnRlbnRIdG1sIH0gZnJvbSAnLi9tYXJrZG93bi12aWV3LnRzJztcbmV4cG9ydCB7XG4gIGZ1bGxSZW5kZXIsXG4gIG1hcmtkb3duVG9IdG1sLFxuICByZWdpc3RlckxpbmtIYW5kbGVycyxcbiAgcmVuZGVyRXh0ZXJuYWxMaW5rLFxuICByZW5kZXJJbnRlcm5hbExpbmtcbn0gZnJvbSAnLi9tYXJrZG93bi50cyc7XG5leHBvcnQgeyBhZGRTaW5nbGVDaG9pY2VNZW51SXRlbXMgfSBmcm9tICcuL21lbnUudHMnO1xuZXhwb3J0IHtcbiAgQURWQU5DRURfTUVUQURBVEFfQ0FDSEVfUExVR0lOX0lELFxuICBCQUNLTElOS19DQUNIRV9QTFVHSU5fSUQsXG4gIENhY2hlZE1ldGFkYXRhRXhGZWF0dXJlLFxuICBlbnN1cmVNZXRhZGF0YUNhY2hlUmVhZHksXG4gIGdldEJhY2tsaW5rc0ZvckZpbGVPclBhdGgsXG4gIGdldEJhY2tsaW5rc0ZvckZpbGVTYWZlLFxuICBnZXRDYWNoZVNhZmUsXG4gIGdldEZyb250bWF0dGVyU2FmZSxcbiAgZ2V0UmVmZXJlbmNlcyxcbiAgaGFzQmFja2xpbmtDYWNoZVBsdWdpbixcbiAgaXNDYWNoZWRNZXRhZGF0YUV4LFxuICBwYXJzZU1ldGFkYXRhLFxuICByZWdpc3RlckZpbGVDYWNoZUZvck5vbkV4aXN0aW5nRmlsZSxcbiAgcmVnaXN0ZXJGaWxlcyxcbiAgdW5yZWdpc3RlckZpbGVDYWNoZUZvck5vbkV4aXN0aW5nRmlsZSxcbiAgdW5yZWdpc3RlckZpbGVzXG59IGZyb20gJy4vbWV0YWRhdGEtY2FjaGUudHMnO1xuZXhwb3J0IHsgZ2V0TW9iaWxlQXBwSW5mbyB9IGZyb20gJy4vbW9iaWxlLWFwcC1pbmZvLnRzJztcbmV4cG9ydCB7IGFsZXJ0IH0gZnJvbSAnLi9tb2RhbHMvYWxlcnQudHMnO1xuZXhwb3J0IHsgY29uZmlybSB9IGZyb20gJy4vbW9kYWxzL2NvbmZpcm0udHMnO1xuZXhwb3J0IHsgTWluaW1pemFibGVNb2RhbCB9IGZyb20gJy4vbW9kYWxzL21pbmltaXphYmxlLW1vZGFsLnRzJztcbmV4cG9ydCB7XG4gIE1vZGFsQ29tbWFuZEJ1aWxkZXIsXG4gIE1vZGFsQ29tbWFuZHNSZW5kZXJNb2RlXG59IGZyb20gJy4vbW9kYWxzL21vZGFsLWNvbW1hbmQtYnVpbGRlci50cyc7XG5leHBvcnQge1xuICBNb2RhbEJhc2UsXG4gIHNob3dNb2RhbFxufSBmcm9tICcuL21vZGFscy9tb2RhbC50cyc7XG5leHBvcnQgeyBwcm9tcHQgfSBmcm9tICcuL21vZGFscy9wcm9tcHQudHMnO1xuZXhwb3J0IHsgc2VsZWN0SXRlbSB9IGZyb20gJy4vbW9kYWxzL3NlbGVjdC1pdGVtLnRzJztcbmV4cG9ydCB7IHNlbGVjdE9wdGlvbiB9IGZyb20gJy4vbW9kYWxzL3NlbGVjdC1vcHRpb24udHMnO1xuZXhwb3J0IHsgU3VnZ2VzdE1vZGFsQ29tbWFuZEJ1aWxkZXIgfSBmcm9tICcuL21vZGFscy9zdWdnZXN0LW1vZGFsLWNvbW1hbmQtYnVpbGRlci50cyc7XG5leHBvcnQge1xuICBmaWx0ZXJIaWdoZXN0UHJpb3JpdHlOb3RlUGF0aHMsXG4gIGZpbmROb1ByaW9yaXR5V2lubmVyUmVhc29uLFxuICBmaW5kTm90ZVByaW9yaXR5UmFuayxcbiAgTk9fUFJJT1JJVFlfTUFUQ0gsXG4gIE5vUHJpb3JpdHlXaW5uZXJSZWFzb24sXG4gIHBpY2tIaWdoZXN0UHJpb3JpdHlOb3RlUGF0aFxufSBmcm9tICcuL25vdGUtcHJpb3JpdHkudHMnO1xuZXhwb3J0IHtcbiAgTk9URUJPT0tfTkFWSUdBVE9SX01FTlVfU09VUkNFLFxuICBOT1RFQk9PS19OQVZJR0FUT1JfUExVR0lOX0lELFxuICByZXNvbHZlTm90ZWJvb2tOYXZpZ2F0b3JBcGlcbn0gZnJvbSAnLi9ub3RlYm9vay1uYXZpZ2F0b3IudHMnO1xuZXhwb3J0IHtcbiAgZ2V0T2JzaWRpYW5MaWJTdGF0ZSxcbiAgcmVzZXRPYnNpZGlhbkxpYlN0YXRlXG59IGZyb20gJy4vb2JzaWRpYW4tbGliLXN0YXRlLnRzJztcbmV4cG9ydCB7IFBsdWdpbk9ic2lkaWFuUHJvdG9jb2xIYW5kbGVyUmVnaXN0cmFyIH0gZnJvbSAnLi9vYnNpZGlhbi1wcm90b2NvbC1oYW5kbGVyLXJlZ2lzdHJhci50cyc7XG5leHBvcnQge1xuICBnZXROZXdMaW5rRm9ybWF0LFxuICBpc1NwZWxsY2hlY2tFbmFibGVkLFxuICBpc1NwZWxsY2hlY2tFbmFibGVkRm9yTW9kZSxcbiAgc2hvdWxkVXNlV2lraWxpbmtzLFxuICBTcGVsbGNoZWNrTW9kZVxufSBmcm9tICcuL29ic2lkaWFuLXNldHRpbmdzLnRzJztcbmV4cG9ydCB7XG4gIGNhbm9uaWNhbGl6ZU9ic2lkaWFuVGV4dCxcbiAgY3JlYXRlT2JzaWRpYW5NZW50aW9uUmVnRXhwLFxuICBnZXRPYnNpZGlhbk5hbWVUb2tlbnMsXG4gIGlzT2JzaWRpYW5Xb3JkQ2hhcmFjdGVyLFxuICB0b2tlbml6ZU9ic2lkaWFuV29yZHNcbn0gZnJvbSAnLi9vYnNpZGlhbi13b3JkLWNoYXJhY3RlcnMudHMnO1xuZXhwb3J0IHtcbiAgZXNjYXBlQWxpYXMsXG4gIGlzUGFyc2VMaW5rRnJvbnRtYXR0ZXJSZWZlcmVuY2UsXG4gIGlzUGFyc2VMaW5rUmVmZXJlbmNlLFxuICBwYXJzZUZyb250bWF0dGVyTGlua3MsXG4gIHBhcnNlTGluayxcbiAgcGFyc2VMaW5rcyxcbiAgdG9QYXJzZUxpbmtSZWZlcmVuY2UsXG4gIHVuZXNjYXBlQWxpYXNcbn0gZnJvbSAnLi9wYXJzZS1saW5rLnRzJztcbmV4cG9ydCB7XG4gIFBhdGhTZXR0aW5ncyxcbiAgcGF0aHNWYWxpZGF0b3Jcbn0gZnJvbSAnLi9wYXRoLXNldHRpbmdzLnRzJztcbmV4cG9ydCB7IHByaW50VG9QZGYgfSBmcm9tICcuL3BkZi50cyc7XG5leHBvcnQgeyBQbHVnaW5DbGlIYW5kbGVyUmVnaXN0cmFyIH0gZnJvbSAnLi9wbHVnaW4tY2xpLWhhbmRsZXItcmVnaXN0cmFyLnRzJztcbmV4cG9ydCB7XG4gIGZpbmRQbHVnaW5BcGksXG4gIGdldFZhbGlkYXRlUGx1Z2luQXBpUGF5bG9hZHNEZWJ1Z1N3aXRjaCxcbiAgUGx1Z2luQXBpUGF5bG9hZEtpbmQsXG4gIFBsdWdpbkFwaVJldm9rZWRFcnJvcixcbiAgUGx1Z2luQXBpVW5hdmFpbGFiaWxpdHlSZWFzb24sXG4gIFBsdWdpbkFwaVVuYXZhaWxhYmxlRXJyb3IsXG4gIFBsdWdpbkFwaVZhbGlkYXRpb25FcnJvcixcbiAgcHVibGlzaFBsdWdpbkFwaSxcbiAgd2F0Y2hQbHVnaW5BcGlcbn0gZnJvbSAnLi9wbHVnaW4vcGx1Z2luLWFwaS50cyc7XG5leHBvcnQge1xuICBhZGRQbHVnaW5Dc3NDbGFzc2VzLFxuICBpbml0RGVidWdDb250cm9sbGVyLFxuICBpbml0UGx1Z2luQ29udGV4dFxufSBmcm9tICcuL3BsdWdpbi9wbHVnaW4tY29udGV4dC50cyc7XG5leHBvcnQgeyBQbHVnaW5FdmVudFNvdXJjZUltcGwgfSBmcm9tICcuL3BsdWdpbi9wbHVnaW4tZXZlbnQtc291cmNlLnRzJztcbmV4cG9ydCB7XG4gIGdldEluc3RhbGxlZFBsdWdpblN0YXRlLFxuICBnZXRJbnN0YWxsZWRQbHVnaW5WZXJzaW9uLFxuICBpbnN0YWxsQW5kRW5hYmxlUGx1Z2luLFxuICBJbnN0YWxsZWRQbHVnaW5TdGF0ZSxcbiAgdXBkYXRlUGx1Z2luXG59IGZyb20gJy4vcGx1Z2luL3BsdWdpbi1pbnN0YWxsLXN0YXRlLnRzJztcbmV4cG9ydCB7XG4gIFBMVUdJTl9MT0FERURfRVZFTlRfTkFNRSxcbiAgUExVR0lOX1VOTE9BREVEX0VWRU5UX05BTUUsXG4gIHRyaWdnZXJQbHVnaW5MaWZlY3ljbGVFdmVudFxufSBmcm9tICcuL3BsdWdpbi9wbHVnaW4tbGlmZWN5Y2xlLWV2ZW50cy50cyc7XG5leHBvcnQge1xuICBQbHVnaW5TZXR0aW5nc1RhYkJhc2UsXG4gIFNBVkVfVE9fRklMRV9DT05URVhUXG59IGZyb20gJy4vcGx1Z2luL3BsdWdpbi1zZXR0aW5ncy10YWIudHMnO1xuZXhwb3J0IHtcbiAgUGx1Z2luQmFzZSxcbiAgcmVsb2FkUGx1Z2luLFxuICBzaG93RXJyb3JBbmREaXNhYmxlUGx1Z2luXG59IGZyb20gJy4vcGx1Z2luL3BsdWdpbi50cyc7XG5leHBvcnQgeyBnZXRTZXR0aW5nc01pZ3JhdGlvbkFwaUNvbnRyYWN0IH0gZnJvbSAnLi9wbHVnaW4vc2V0dGluZ3MtbWlncmF0aW9uLWFwaS50cyc7XG5leHBvcnQgeyBlZGl0RmllbGRzSW5Qb3BvdmVyIH0gZnJvbSAnLi9wb3BvdmVycy9maWVsZC1wb3BvdmVyLnRzJztcbmV4cG9ydCB7XG4gIGNyZWF0ZUFuY2hvckZyb21Eb2N1bWVudENlbnRlcixcbiAgY3JlYXRlQW5jaG9yRnJvbUVsZW1lbnQsXG4gIGNyZWF0ZUFuY2hvckZyb21Qb2ludCxcbiAgY3JlYXRlQW5jaG9yRnJvbVNlbGVjdGlvblxufSBmcm9tICcuL3BvcG92ZXJzL3BvcG92ZXItYW5jaG9yLnRzJztcbmV4cG9ydCB7IHNob3dQb3BvdmVyIH0gZnJvbSAnLi9wb3BvdmVycy9wb3BvdmVyLnRzJztcbmV4cG9ydCB7XG4gIGlzUG9zaXRpb25Jbk9mZnNldFJhbmdlLFxuICBpc1Bvc2l0aW9uSW5zaWRlLFxuICBpc1Bvc2l0aW9uSW5zaWRlU29tZVxufSBmcm9tICcuL3Bvc2l0aW9uLnRzJztcbmV4cG9ydCB7XG4gIGNoZWNrUHJvcGVydHlFbnRyeU1hdGNoZXMsXG4gIGlzUHJvcGVydHlFbnRyeSxcbiAgUFJPUEVSVFlfRU5UUllfUFJFRklYXG59IGZyb20gJy4vcHJvcGVydHktZW50cnkudHMnO1xuZXhwb3J0IHtcbiAgYWRkVG9RdWV1ZSxcbiAgYWRkVG9RdWV1ZUFuZFdhaXQsXG4gIGZsdXNoUXVldWVcbn0gZnJvbSAnLi9xdWV1ZS50cyc7XG5leHBvcnQge1xuICBBcHBDb250ZXh0LFxuICB1c2VBcHBcbn0gZnJvbSAnLi9yZWFjdC9hcHAtY29udGV4dC50cyc7XG5leHBvcnQge1xuICBnZXRSZWZlcmVuY2VMaW5rVGV4dCxcbiAgaXNDYW52YXNGaWxlTm9kZVJlZmVyZW5jZSxcbiAgaXNDYW52YXNSZWZlcmVuY2UsXG4gIGlzQ2FudmFzVGV4dE5vZGVSZWZlcmVuY2UsXG4gIGlzUmVmZXJlbmNlSW5IZWFkaW5nLFxuICBpc1JlZmVyZW5jZUluT2Zmc2V0UmFuZ2UsXG4gIHJlZmVyZW5jZVRvRmlsZUNoYW5nZSxcbiAgc29ydFJlZmVyZW5jZXNcbn0gZnJvbSAnLi9yZWZlcmVuY2UudHMnO1xuZXhwb3J0IHtcbiAgaXNPd25lZEJ5UmVuZGVyZWRNYXJrZG93bixcbiAgcmVnaXN0ZXJGb2xkSGFuZGxlcnMsXG4gIHJlZ2lzdGVyRm9vdG5vdGVMaW5rSGFuZGxlclxufSBmcm9tICcuL3JlbmRlcmVkLW1hcmtkb3duLnRzJztcbmV4cG9ydCB7XG4gIGNyZWF0ZVJlcXVlc3RVcmxGZXRjaCxcbiAgZW5jb2RlUmVxdWVzdFVybFJlcXVlc3QsXG4gIFJlcXVlc3RVcmxFcnJvcixcbiAgcmVxdWVzdFVybEV4LFxuICByZXF1ZXN0VXJsU3RyZWFtXG59IGZyb20gJy4vcmVxdWVzdC11cmwudHMnO1xuZXhwb3J0IHtcbiAgaXNSZXNvdXJjZUxvY2tlZEZvclBhdGgsXG4gIGlzUmVzb3VyY2VMb2NrZWRGb3JQYXRoQnlBbmNlc3RvcixcbiAgbG9ja1Jlc291cmNlRm9yUGF0aCxcbiAgcmVxdWVzdFJlc291cmNlVW5sb2NrRm9yUGF0aCxcbiAgUmVzb3VyY2VMb2NrQ29tcG9uZW50LFxuICBSZXNvdXJjZUxvY2tlZEVycm9yLFxuICB1bmxvY2tSZXNvdXJjZUZvclBhdGhcbn0gZnJvbSAnLi9yZXNvdXJjZS1sb2NrLnRzJztcbmV4cG9ydCB7IHJlbGF0aXZlUGF0aFRvUmVzb3VyY2VVcmwgfSBmcm9tICcuL3Jlc291cmNlLXVybC50cyc7XG5leHBvcnQgeyBQbHVnaW5SaWJib25JY29uUmVnaXN0cmFyIH0gZnJvbSAnLi9yaWJib24taWNvbi1yZWdpc3RyYXIudHMnO1xuZXhwb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy9jaGVja2JveC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgQ29kZUhpZ2hsaWdodGVyQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvY29kZS1oaWdobGlnaHRlci1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgRGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL2RhdGUtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IERhdGVUaW1lQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvZGF0ZS10aW1lLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBFbWFpbENvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL2VtYWlsLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBGaWxlQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvZmlsZS1jb21wb25lbnQudHMnO1xuZXhwb3J0IHtcbiAgRm9sZGVySW5wdXRTdWdnZXN0LFxuICBGb2xkZXJMaXN0Q29tcG9uZW50XG59IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL2ZvbGRlci1saXN0LWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBIb3RrZXlDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy9ob3RrZXktY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IExpc3RDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy9saXN0LWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBNb250aENvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL21vbnRoLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBNdWx0aXBsZURyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvbXVsdGlwbGUtZHJvcGRvd24tY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IE11bHRpcGxlRW1haWxDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy9tdWx0aXBsZS1lbWFpbC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgTXVsdGlwbGVGaWxlQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvbXVsdGlwbGUtZmlsZS1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgTXVsdGlwbGVUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvbXVsdGlwbGUtdGV4dC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgTnVtYmVyQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvbnVtYmVyLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBQYXNzd29yZENvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL3Bhc3N3b3JkLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBlbnN1cmVXcmFwcGVkIH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvc2V0dGluZy1jb21wb25lbnQtd3JhcHBlci50cyc7XG5leHBvcnQge1xuICBUYWdJbnB1dFN1Z2dlc3QsXG4gIFRhZ0xpc3RDb21wb25lbnRcbn0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvdGFnLWxpc3QtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFRlbGVwaG9uZUNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL3RlbGVwaG9uZS1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgZ2V0VGV4dEJhc2VkQ29tcG9uZW50VmFsdWUgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy90ZXh0LWJhc2VkLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBUaW1lQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvdGltZS1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgVHJpU3RhdGVDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL3RyaS1zdGF0ZS1jaGVja2JveC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgVHlwZWREcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL3R5cGVkLWRyb3Bkb3duLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBUeXBlZE11bHRpcGxlRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy90eXBlZC1tdWx0aXBsZS1kcm9wZG93bi1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgVHlwZWRSYW5nZVRleHRDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy90eXBlZC1yYW5nZS10ZXh0LWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBUeXBlZFRleHRDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy90eXBlZC10ZXh0LWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBVcmxDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy91cmwtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IGdldFZhbGlkYXRvckNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL3ZhbGlkYXRvci1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgV2Vla0NvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL3dlZWstY29tcG9uZW50LnRzJztcbmV4cG9ydCB7XG4gIGFkb3B0U2V0dGluZ0V4LFxuICBTZXR0aW5nRXhcbn0gZnJvbSAnLi9zZXR0aW5nLWV4LnRzJztcbmV4cG9ydCB7IFNldHRpbmdHcm91cEV4IH0gZnJvbSAnLi9zZXR0aW5nLWdyb3VwLWV4LnRzJztcbmV4cG9ydCB7IG9wZW5TZXR0aW5nVGFiIH0gZnJvbSAnLi9zZXR0aW5ncy1tb2RhbC50cyc7XG5leHBvcnQgeyBTZXR0aW5nc1RhYnMgfSBmcm9tICcuL3NldHRpbmdzLXRhYnMudHMnO1xuZXhwb3J0IHsgUGx1Z2luU3RhdHVzQmFySXRlbVJlZ2lzdHJhciB9IGZyb20gJy4vc3RhdHVzLWJhci1pdGVtLXJlZ2lzdHJhci50cyc7XG5leHBvcnQge1xuICBnZXRUZW1wbGF0ZXJGdW5jdGlvbnMsXG4gIGdldFRlbXBsYXRlclJlbmRlclRhcmdldEZpbGUsXG4gIHBhcnNlVGVtcGxhdGUsXG4gIHJlcXVpcmVUZW1wbGF0ZXJBcGksXG4gIHJlc29sdmVUZW1wbGF0ZXJBcGksXG4gIFRFTVBMQVRFUl9QTFVHSU5fSUQsXG4gIFRlbXBsYXRlckFjdGl2ZUZpbGVQcm92aWRlcixcbiAgVGVtcGxhdGVyUnVuTW9kZSxcbiAgVGVtcGxhdGVyVW5hdmFpbGFiaWxpdHlSZWFzb24sXG4gIFRlbXBsYXRlclVuYXZhaWxhYmxlRXJyb3Jcbn0gZnJvbSAnLi90ZW1wbGF0ZXIudHMnO1xuZXhwb3J0IHsgRHVyYXRpb25UcmFuc2Zvcm1lciB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2R1cmF0aW9uLXRyYW5zZm9ybWVyLnRzJztcbmV4cG9ydCB7XG4gIGNsaWNrRWxlbWVudCxcbiAgY2xpY2tNb3VzZSxcbiAgaG92ZXJFbGVtZW50LFxuICBtb3ZlTW91c2UsXG4gIHByZXNzS2V5LFxuICB0eXBlSW50b0VkaXRvcixcbiAgdW5ob3ZlckVsZW1lbnRcbn0gZnJvbSAnLi90cnVzdGVkLWlucHV0LnRzJztcbmV4cG9ydCB7XG4gIEFORFJPSURfVU5TQUZFX1BBVEhfQ0hBUlMsXG4gIGdldEZpbGVOYW1lVmFsaWRhdGlvbk1lc3NhZ2UsXG4gIGdldE9zQW5kT2JzaWRpYW5VbnNhZmVQYXRoQ2hhcnNSZWdFeHAsXG4gIGdldE9zVW5zYWZlUGF0aENoYXJzUmVnRXhwLFxuICBnZXRQYXRoVmFsaWRhdGlvbk1lc3NhZ2UsXG4gIGhhc1dpbmRvd3NUcmFpbGluZ0NoYXJzLFxuICBpc1ZhbGlkYXRpb25NZXNzYWdlSG9sZGVyLFxuICBpc1dpbmRvd3NSZXNlcnZlZE5hbWUsXG4gIE9CU0lESUFOX1VOU0FGRV9GSUxFTkFNRV9DSEFSUyxcbiAgdHJpbVdpbmRvd3NUcmFpbGluZ0NoYXJzLFxuICBVTklYX1VOU0FGRV9QQVRIX0NIQVJTLFxuICBXSU5ET1dTX1VOU0FGRV9QQVRIX0NIQVJTXG59IGZyb20gJy4vdmFsaWRhdGlvbi50cyc7XG5leHBvcnQge1xuICBkZWxldGVJZk5vdFVzZWQsXG4gIERlbGV0ZUlmTm90VXNlZFJlc3VsdFxufSBmcm9tICcuL3ZhdWx0LWRlbGV0ZS50cyc7XG5leHBvcnQgeyBWYXVsdFRyYW5zYWN0aW9uIH0gZnJvbSAnLi92YXVsdC10cmFuc2FjdGlvbi50cyc7XG5leHBvcnQge1xuICBjbGVhbnVwRW1wdHlGb2xkZXJzLFxuICBjb3B5U2FmZSxcbiAgY3JlYXRlRm9sZGVyU2FmZSxcbiAgQ3JlYXRlRm9sZGVyU2FmZVJlc3VsdCxcbiAgY3JlYXRlVGVtcG9yYXJ5RmlsZSxcbiAgY3JlYXRlVGVtcG9yYXJ5Rm9sZGVyLFxuICBkZWxldGVFbXB0eUZvbGRlcixcbiAgZGVsZXRlRW1wdHlGb2xkZXJIaWVyYXJjaHksXG4gIGdldEFic3RyYWN0RmlsZVBhdGhTYWZlLFxuICBnZXRBdmFpbGFibGVQYXRoLFxuICBnZXRGaWxlUGF0aFNhZmUsXG4gIGdldEZvbGRlclBhdGhTYWZlLFxuICBnZXRNYXJrZG93bkZpbGVzU29ydGVkLFxuICBnZXROb3RlRmlsZXNTb3J0ZWQsXG4gIGdldE9yQ3JlYXRlQWJzdHJhY3RGaWxlU2FmZSxcbiAgZ2V0T3JDcmVhdGVGaWxlU2FmZSxcbiAgZ2V0T3JDcmVhdGVGb2xkZXJTYWZlLFxuICBnZXRTYWZlUmVuYW1lUGF0aCxcbiAgSW52b2tlRmlsZUFjdGlvblNhZmVSZXN1bHQsXG4gIGludm9rZVdpdGhGaWxlU3lzdGVtTG9jayxcbiAgaXNDaGlsZCxcbiAgaXNDaGlsZE9yU2VsZixcbiAgaXNFbXB0eUZvbGRlcixcbiAgbGlzdFNhZmUsXG4gIHByb2Nlc3MsXG4gIHJlYWRTYWZlLFxuICByZW5hbWVTYWZlLFxuICBzYXZlTm90ZSxcbiAgdHJhc2hTYWZlXG59IGZyb20gJy4vdmF1bHQudHMnO1xuZXhwb3J0IHsgUGx1Z2luVmlld1JlZ2lzdHJhciB9IGZyb20gJy4vdmlldy1yZWdpc3RyYXIudHMnO1xuZXhwb3J0IHtcbiAgZW5zdXJlTGF5b3V0UmVhZHksXG4gIGdldEFsbENvbnRhaW5lcnMsXG4gIGdldEFsbERvbVdpbmRvd3MsXG4gIGdldE1haW5XaW5kb3csXG4gIHN3aXRjaFRvTWFpbldpbmRvdyxcbiAgc3dpdGNoVG9XaW5kb3dcbn0gZnJvbSAnLi93b3Jrc3BhY2UudHMnO1xuZXhwb3J0IHtcbiAgYWJvcnRTaWduYWxBbnksXG4gIGFib3J0U2lnbmFsTmV2ZXIsXG4gIGFib3J0U2lnbmFsVGltZW91dCxcbiAgZ2V0U2hhcmVkQWJvcnRDb250cm9sbGVyLFxuICBnZXRTaGFyZWRBYm9ydFNpZ25hbCxcbiAgSU5GSU5JVEVfVElNRU9VVCxcbiAgb25BYm9ydCxcbiAgUmVzZXR0YWJsZUFib3J0Q29udHJvbGxlcixcbiAgd2FpdEZvckFib3J0XG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9hYm9ydC1jb250cm9sbGVyJztcbmV4cG9ydCB7IGNyZWF0ZUFnZ3JlZ2F0ZUVycm9yIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2FnZ3JlZ2F0ZS1lcnJvcic7XG5leHBvcnQge1xuICBhcnJheUd1YXJkLFxuICBCT09MRUFOX0dVQVJELFxuICBjcmVhdGVBcGlDb250cmFjdFNjaGVtYUJ1aWxkZXJzLFxuICBjcmVhdGVBcmd1bWVudHNTY2hlbWEsXG4gIGNyZWF0ZUV4cGVjdGVkVHlwZUd1YXJkLFxuICBjcmVhdGVUeXBlR3VhcmRTY2hlbWEsXG4gIGRlZmluZUFwaUNvbnRyYWN0LFxuICBpbnN0YW5jZU9mR3VhcmQsXG4gIGxpdGVyYWxHdWFyZCxcbiAgbnVsbGFibGVHdWFyZCxcbiAgTlVNQkVSX0dVQVJELFxuICBvYmplY3RHdWFyZCxcbiAgb3B0aW9uYWxHdWFyZCxcbiAgb3B0aW9uc0d1YXJkLFxuICBTVFJJTkdfQVJSQVlfR1VBUkQsXG4gIFNUUklOR19HVUFSRCxcbiAgVU5ERUZJTkVEX0dVQVJELFxuICB1bmlvbkd1YXJkXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9hcGktY29udHJhY3QnO1xuZXhwb3J0IHtcbiAgdmFsaWRhdGVTeW5jLFxuICB2ZXJpZnlBcGlDb250cmFjdFxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvYXBpLWNvbnRyYWN0LXZlcmlmaWVyJztcbmV4cG9ydCB7XG4gIGZpbHRlckluUGxhY2UsXG4gIHNuYXBzaG90LFxuICB1bmlxdWUsXG4gIHVuaXF1ZUluUGxhY2Vcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2FycmF5JztcbmV4cG9ydCB7IHRvQXJyYXlCdWZmZXIgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvYXJyYXktYnVmZmVyJztcbmV4cG9ydCB7XG4gIGFkZEVycm9ySGFuZGxlcixcbiAgYXN5bmNGaWx0ZXIsXG4gIGFzeW5jRmlsdGVySW5QbGFjZSxcbiAgYXN5bmNGbGF0TWFwLFxuICBhc3luY01hcCxcbiAgY2hhaW4sXG4gIGNvbnZlcnRBc3luY1RvU3luYyxcbiAgY29udmVydFN5bmNUb0FzeW5jLFxuICBoYW5kbGVTaWxlbnRFcnJvcixcbiAgaWdub3JlRXJyb3IsXG4gIGludm9rZUFzeW5jU2FmZWx5LFxuICBpbnZva2VBc3luY1NhZmVseUFmdGVyRGVsYXksXG4gIGlzVGVybWluYXRpb25PblRpbWVvdXRFbmFibGVkLFxuICBtYXJrc0FzVGVybWluYXRlUmV0cnksXG4gIG5ldmVyRW5kcyxcbiAgbmV4dFRpY2tBc3luYyxcbiAgbm9ybWFsaXplUHJvbWlzYWJsZSxcbiAgcHJvbWlzZUFsbEFzeW5jRm5zU2VxdWVudGlhbGx5LFxuICBwcm9taXNlQWxsU2VxdWVudGlhbGx5LFxuICBxdWV1ZU1pY3JvdGFza0FzeW5jLFxuICByZXF1ZXN0QW5pbWF0aW9uRnJhbWVBc3luYyxcbiAgcmV0cnlXaXRoVGltZW91dCxcbiAgcnVuV2l0aFRpbWVvdXQsXG4gIHNldEltbWVkaWF0ZUFzeW5jLFxuICBzZXRUZXJtaW5hdGlvbk9uVGltZW91dEVuYWJsZWQsXG4gIHNldFRpbWVvdXRBc3luYyxcbiAgc2xlZXAsXG4gIHRpbWVvdXQsXG4gIHRvQXJyYXlcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2FzeW5jJztcbmV4cG9ydCB7XG4gIEFzeW5jRXZlbnRSZWZEaXNwb3NhYmxlLFxuICBBc3luY0V2ZW50cyxcbiAgQXN5bmNFdmVudHNCYXNlLFxuICBtaXhpbkFzeW5jRXZlbnRzLFxuICBzdWJzY3JpYmVBc3luY0Rpc3Bvc2FibGVFdmVudFxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvYXN5bmMtZXZlbnRzJztcbmV4cG9ydCB7XG4gIEFTWU5DX09QRVJBVElPTl9IT09LX0tFWSxcbiAgQVNZTkNfT1BFUkFUSU9OX0hPT0tfVkVSU0lPTixcbiAgZ2V0QXN5bmNPcGVyYXRpb25Ib29rLFxuICBub3RpZnlBc3luY09wZXJhdGlvblN0YXJ0ZWQsXG4gIHNldEFzeW5jT3BlcmF0aW9uSG9va1xufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvYXN5bmMtb3BlcmF0aW9uLWhvb2snO1xuZXhwb3J0IHsgQmVlcGVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2JlZXBlcic7XG5leHBvcnQge1xuICBibG9iVG9BcnJheUJ1ZmZlcixcbiAgYmxvYlRvRGF0YVVybCxcbiAgYmxvYlRvSnBlZ0FycmF5QnVmZmVyLFxuICBkYXRhVXJsVG9BcnJheUJ1ZmZlcixcbiAgaXNJbWFnZUZpbGVcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2Jsb2InO1xuZXhwb3J0IHsgZm9ybWF0Qnl0ZXMgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvYnl0ZXMnO1xuZXhwb3J0IHtcbiAgZW5hYmxlTGlicmFyeURlYnVnZ2VycyxcbiAgZm9ybWF0RGVidWdHdWlkZVJlZmVyZW5jZSxcbiAgZ2V0RGVidWdDb250cm9sbGVyLFxuICBnZXREZWJ1Z2dlcixcbiAgZ2V0TGliRGVidWdnZXIsXG4gIGlzRGVidWdOYW1lc3BhY2VFbmFibGVkLFxuICBwcmludFdpdGhTdGFja1RyYWNlXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9kZWJ1Zyc7XG5leHBvcnQge1xuICBnZXREZWJ1Z1N3aXRjaCxcbiAgZ2V0RGVidWdTd2l0Y2hlcyxcbiAgZ2V0VGVybWluYXRlT25UaW1lb3V0RGVidWdTd2l0Y2gsXG4gIG9uRGVidWdTd2l0Y2hDaGFuZ2VkLFxuICByZWdpc3RlckRlYnVnU3dpdGNoLFxuICBzZXREZWJ1Z1N3aXRjaFxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvZGVidWctc3dpdGNoZXMnO1xuZXhwb3J0IHsgZXh0cmFjdFppcEFyY2hpdmUgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvZGVza3RvcC16aXAtZXh0cmFjdG9yJztcbmV4cG9ydCB7XG4gIEFzeW5jQ2FsbGJhY2tEaXNwb3NhYmxlLFxuICBBc3luY0Rpc3Bvc2FibGVCYXNlLFxuICBDYWxsYmFja0Rpc3Bvc2FibGUsXG4gIENvbWJpbmVBc3luY0Rpc3Bvc2FibGUsXG4gIENvbWJpbmVEaXNwb3NhYmxlLFxuICBEaXNwb3NhYmxlQmFzZSxcbiAgZGlzcG9zZSxcbiAgZGlzcG9zZUFzeW5jLFxuICBEaXNwb3NlRXJyb3JCZWhhdmlvcixcbiAgRGlzcG9zZU9yZGVyLFxuICBpc0FzeW5jRGlzcG9zYWJsZSxcbiAgaXNBc3luY0Rpc3Bvc2FibGVFeCxcbiAgaXNEaXNwb3NhYmxlLFxuICBpc0Rpc3Bvc2FibGVFeCxcbiAgTXVsdGlwbGVEaXNwb3NlQmVoYXZpb3IsXG4gIHRvQXN5bmNEaXNwb3NhYmxlRXgsXG4gIHRvRGlzcG9zYWJsZUV4XG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9kaXNwb3NhYmxlJztcbmV4cG9ydCB7XG4gIGdldEVudW1LZXksXG4gIGdldEVudW1WYWx1ZVxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvZW51bSc7XG5leHBvcnQge1xuICBBU1lOQ19XUkFQUEVSX0VSUk9SX01FU1NBR0UsXG4gIEN1c3RvbVN0YWNrVHJhY2VFcnJvcixcbiAgZHJhaW5Db2xsZWN0ZWRVbmhhbmRsZWRBc3luY0Vycm9ycyxcbiAgZW1pdEFzeW5jRXJyb3JFdmVudCxcbiAgZXJyb3JUb1N0cmluZyxcbiAgRXJyb3JXcmFwcGVyLFxuICBnZXRTdGFja1RyYWNlLFxuICBpc0FzeW5jRXJyb3JJZ25vcmVDb250ZXh0QWN0aXZlLFxuICBwcmludEVycm9yLFxuICByZWdpc3RlckFzeW5jRXJyb3JFdmVudEhhbmRsZXIsXG4gIFNpbGVudEVycm9yLFxuICBzdGFydEFzeW5jRXJyb3JJZ25vcmVDb250ZXh0LFxuICBzdGFydENvbGxlY3RpbmdVbmhhbmRsZWRBc3luY0Vycm9ycyxcbiAgc3RvcENvbGxlY3RpbmdVbmhhbmRsZWRBc3luY0Vycm9ycyxcbiAgdGhyb3dFeHByZXNzaW9uXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9lcnJvcic7XG5leHBvcnQge1xuICBjbG9uZUZ1bmN0aW9uLFxuICBjcmVhdGVGdW5jdGlvbixcbiAgZ2V0RnVuY3Rpb25FeHByZXNzaW9uU3RyaW5nLFxuICBub29wLFxuICBub29wQXN5bmMsXG4gIG5vb3BBc3luY1NpbmdsZXRvblByb21pc2UsXG4gIG9taXRBc3luY1JldHVyblR5cGUsXG4gIG9taXRSZXR1cm5UeXBlXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9mdW5jdGlvbic7XG5leHBvcnQge1xuICBjcmVhdGVEaXZBc3luYyxcbiAgY3JlYXRlRWxBc3luYyxcbiAgY3JlYXRlRnJhZ21lbnRBc3luYyxcbiAgY3JlYXRlU3BhbkFzeW5jLFxuICBjcmVhdGVTdmdBc3luYyxcbiAgZW5zdXJlTG9hZGVkLFxuICBnZXREb2N1bWVudFdpbmRvdyxcbiAgZ2V0WkluZGV4LFxuICBpc0VsZW1lbnRWaXNpYmxlSW5PZmZzZXRQYXJlbnQsXG4gIGlzTG9hZGVkLFxuICBvbkFuY2VzdG9yU2Nyb2xsT3JSZXNpemUsXG4gIHRvUHgsXG4gIHdhaXRVbnRpbENvbm5lY3RlZFxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvaHRtbC1lbGVtZW50JztcbmV4cG9ydCB7XG4gIGV4dHJhY3RKcGVnTWV0YWRhdGFTZWdtZW50cyxcbiAgaW5qZWN0SnBlZ01ldGFkYXRhU2VnbWVudHNcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2pwZWctbWV0YWRhdGEnO1xuZXhwb3J0IHtcbiAgREVGQVVMVF9ERUJVR19OQU1FU1BBQ0UsXG4gIExpYnJhcnksXG4gIExJQlJBUllfTkFNRVxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvbGlicmFyeSc7XG5leHBvcnQge1xuICBhc3NpZ25XaXRoTm9uRW51bWVyYWJsZVByb3BlcnRpZXMsXG4gIGNhc3RUbyxcbiAgY2xvbmVXaXRoTm9uRW51bWVyYWJsZVByb3BlcnRpZXMsXG4gIGRlbGV0ZVByb3BlcnRpZXMsXG4gIGRlbGV0ZVByb3BlcnR5LFxuICBleHRyYWN0RGVmYXVsdEV4cG9ydEludGVyb3AsXG4gIEZ1bmN0aW9uSGFuZGxpbmdNb2RlLFxuICBnZXRBbGxFbnRyaWVzLFxuICBnZXRBbGxLZXlzLFxuICBnZXROZXN0ZWRQcm9wZXJ0eVZhbHVlLFxuICBnZXRQcm90b3R5cGVPZixcbiAgaXNEZWVwRXF1YWwsXG4gIG5hbWVvZixcbiAgbm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzLFxuICByZW1vdmVVbmRlZmluZWRQcm9wZXJ0aWVzLFxuICBzZXROZXN0ZWRQcm9wZXJ0eVZhbHVlLFxuICB0b0pzb25cbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL29iamVjdC11dGlscyc7XG5leHBvcnQge1xuICBiYXNlbmFtZSxcbiAgZGVsaW1pdGVyLFxuICBkaXJuYW1lLFxuICBleHRuYW1lLFxuICBmb3JtYXQsXG4gIGdldEZpbGVOYW1lLFxuICBnZXRGb2xkZXJOYW1lLFxuICBpc0Fic29sdXRlLFxuICBqb2luLFxuICBtYWtlRmlsZU5hbWUsXG4gIG5vcm1hbGl6ZUlmUmVsYXRpdmUsXG4gIG5vcm1hbGl6ZVBhdGgsXG4gIHBhcnNlLFxuICBwb3NpeCxcbiAgcmVsYXRpdmUsXG4gIHJlc29sdmUsXG4gIHNlcGFyYXRvcixcbiAgdG9Qb3NpeEJ1ZmZlcixcbiAgdG9Qb3NpeFBhdGhcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3BhdGgnO1xuZXhwb3J0IHtcbiAgQUxXQVlTX01BVENIX1JFR19FWFAsXG4gIGVzY2FwZVJlZ0V4cCxcbiAgZ2V0TWFuZGF0b3J5TmFtZWRHcm91cCxcbiAgZ2V0T3B0aW9uYWxOYW1lZEdyb3VwLFxuICBpc1ZhbGlkUmVnRXhwLFxuICBORVZFUl9NQVRDSF9SRUdfRVhQLFxuICBvbmVPZixcbiAgUmVnRXhwTWVyZ2VGbGFnc0NvbmZsaWN0U3RyYXRlZ3lcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3JlZy1leHAnO1xuZXhwb3J0IHtcbiAgRU1QVFksXG4gIGVuc3VyZUVuZHNXaXRoLFxuICBlbnN1cmVMZkVuZGluZ3MsXG4gIGVuc3VyZVN0YXJ0c1dpdGgsXG4gIGVzY2FwZSxcbiAgZ2V0TGZOb3JtYWxpemVkT2Zmc2V0VG9PcmlnaW5hbE9mZnNldE1hcHBlcixcbiAgaGFzU2luZ2xlT2NjdXJyZW5jZSxcbiAgaW5kZW50LFxuICBpbnNlcnRBdCxcbiAgbWFrZVZhbGlkVmFyaWFibGVOYW1lLFxuICBub3JtYWxpemVTdHJpbmcsXG4gIHJlcGxhY2UsXG4gIHJlcGxhY2VBbGwsXG4gIHJlcGxhY2VBbGxBc3luYyxcbiAgdHJpbUVuZCxcbiAgdHJpbVN0YXJ0LFxuICB1bmVzY2FwZSxcbiAgdW5pbmRlbnRcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3N0cmluZyc7XG5leHBvcnQgeyBEYXRlVHJhbnNmb3JtZXIgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHJhbnNmb3JtZXJzL2RhdGUtdHJhbnNmb3JtZXInO1xuZXhwb3J0IHsgR3JvdXBUcmFuc2Zvcm1lciB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90cmFuc2Zvcm1lcnMvZ3JvdXAtdHJhbnNmb3JtZXInO1xuZXhwb3J0IHsgTWFwVHJhbnNmb3JtZXIgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHJhbnNmb3JtZXJzL21hcC10cmFuc2Zvcm1lcic7XG5leHBvcnQgeyBTZXRUcmFuc2Zvcm1lciB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90cmFuc2Zvcm1lcnMvc2V0LXRyYW5zZm9ybWVyJztcbmV4cG9ydCB7IFNraXBQcml2YXRlUHJvcGVydHlUcmFuc2Zvcm1lciB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90cmFuc2Zvcm1lcnMvc2tpcC1wcml2YXRlLXByb3BlcnR5LXRyYW5zZm9ybWVyJztcbmV4cG9ydCB7IFRyYW5zZm9ybWVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3RyYW5zZm9ybWVycy90cmFuc2Zvcm1lcic7XG5leHBvcnQgeyBUd29XYXlNYXBUcmFuc2Zvcm1lciB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90cmFuc2Zvcm1lcnMvdHdvLXdheS1tYXAtdHJhbnNmb3JtZXInO1xuZXhwb3J0IHsgVHlwZWRUcmFuc2Zvcm1lciB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90cmFuc2Zvcm1lcnMvdHlwZWQtdHJhbnNmb3JtZXInO1xuZXhwb3J0IHsgVHdvV2F5TWFwIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3R3by13YXktbWFwJztcbmV4cG9ydCB7IFR5cGVBc3NlcnRlciB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90eXBlJztcbmV4cG9ydCB7XG4gIGFycmF5VHlwZUd1YXJkLFxuICBhc3NlcnQsXG4gIGFzc2VydEdlbmVyaWNPYmplY3QsXG4gIGFzc2VydE5ldmVyLFxuICBhc3NlcnROb25OdWxsYWJsZSxcbiAgZW5zdXJlR2VuZXJpY09iamVjdCxcbiAgZW5zdXJlTm9uTnVsbGFibGUsXG4gIGZ1bmN0aW9uVHlwZUd1YXJkLFxuICBpbnN0YW5jZU9mVHlwZUd1YXJkLFxuICBpc0Jvb2xlYW4sXG4gIGlzRnVuY3Rpb24sXG4gIGlzTnVsbCxcbiAgaXNOdW1iZXIsXG4gIGlzT2JqZWN0LFxuICBpc1N0cmluZyxcbiAgaXNTdHJpbmdBcnJheSxcbiAgaXNVbmRlZmluZWQsXG4gIGxpdGVyYWxUeXBlR3VhcmQsXG4gIG51bGxhYmxlVHlwZUd1YXJkLFxuICBvYmplY3RUeXBlR3VhcmQsXG4gIG9wdGlvbmFsVHlwZUd1YXJkLFxuICB1bmlvblR5cGVHdWFyZFxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHlwZS1ndWFyZHMnO1xuZXhwb3J0IHtcbiAgZ2V0VHlwZXNjcmlwdExpYlN0YXRlLFxuICBnZXRUeXBlc2NyaXB0TGliU3RhdGVTbG90LFxuICByZXNldFR5cGVzY3JpcHRMaWJTdGF0ZSxcbiAgVFlQRVNDUklQVF9MSUJfU1RBVEVfS0VZLFxuICBUWVBFU0NSSVBUX0xJQl9TVEFURV9WRVJTSU9OXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90eXBlc2NyaXB0LWxpYi1zdGF0ZSc7XG5leHBvcnQge1xuICBlbmNvZGVVcmwsXG4gIGlzRmlsZVVybCxcbiAgaXNVcmwsXG4gIG5vcm1hbGl6ZUZpbGVVcmwsXG4gIHBhdGhUb0ZpbGVVcmxcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3VybCc7XG5leHBvcnQgeyByZXNvbHZlVmFsdWUgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdmFsdWUtcHJvdmlkZXInO1xuZXhwb3J0IHsgVmFsdWVXcmFwcGVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3ZhbHVlLXdyYXBwZXInO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7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U087QUFDUCwrQkFJTztBQUNQLHlCQU1PO0FBQ1AsMkJBUU87QUFDUCwwQkFBMEM7QUFDMUMsbUNBQTBDO0FBQzFDLGdDQUFrQztBQUNsQyx3Q0FBeUM7QUFDekMsNEJBQThCO0FBQzlCLGlDQUFrQztBQUNsQyw2QkFBK0I7QUFDL0IsNEJBQThCO0FBQzlCLG1DQUdPO0FBQ1AsOEJBQWdDO0FBQ2hDLDRCQUE4QjtBQUM5Qiw2QkFBK0I7QUFDL0IseUNBQTBDO0FBQzFDLHNDQUF1QztBQUN2QyxxQ0FBc0M7QUFDdEMscUNBQXNDO0FBQ3RDLDhCQUFnQztBQUNoQyxnQ0FBa0M7QUFDbEMsdUNBQThCO0FBQzlCLGdDQUdPO0FBQ1AsaUNBQW1DO0FBQ25DLGtDQUEyQztBQUMzQyw0QkFBOEI7QUFDOUIsMENBQTBDO0FBQzFDLHNDQUF1QztBQUN2QywrQ0FBK0M7QUFDL0Msd0NBQXdDO0FBQ3hDLGtDQUFtQztBQUNuQywyQkFBNkI7QUFDN0IsaUNBQXNDO0FBQ3RDLDRCQUE4QjtBQUM5Qix3QkFHTztBQUNQLDhCQUErQjtBQUMvQiw0QkFBK0I7QUFDL0IsMkJBQTZCO0FBQzdCLHVDQUE2QztBQUM3Qyx1QkFXTztBQUNQLGtDQUFvQztBQUNwQywyQkFRTztBQUNQLHdCQWFPO0FBQ1AsMEJBR087QUFDUCwrQkFBaUM7QUFDakMsbUJBOEJPO0FBQ1AsNEJBQW9DO0FBQ3BDLHVCQU9PO0FBQ1AsOEJBVU87QUFDUCw2QkFBcUM7QUFDckMsMEJBbUJPO0FBQ1AsbUNBR087QUFDUCxtQkFLTztBQUNQLDBCQUE4QjtBQUM5QixtQkE4Qk87QUFDUCwwQkFNTztBQUNQLGtDQU1PO0FBQ1Asb0JBQXVCO0FBQ3ZCLGtCQU1PO0FBQ1AsbUJBQTRCO0FBQzVCLElBQUFBLGdCQVFPO0FBQ1AsNEJBT087QUFDUCxtQ0FBa0M7QUFDbEMsd0JBa0JPO0FBQ1Asa0JBR087QUFDUCxtQkFnQk87QUFDUCxzQkFTTztBQUNQLElBQUFDLHVCQWNPO0FBQ1AsMkJBR087QUFDUCxJQUFBQyxrQkFJTztBQUNQLDBCQWtCTztBQUNQLGtCQW9CTztBQUNQLHFCQVNPO0FBQ1Asb0JBbUJPO0FBQ1AsOEJBQWdDO0FBQ2hDLCtCQUFpQztBQUNqQyw2QkFBK0I7QUFDL0IsNkJBQStCO0FBQy9CLCtDQUErQztBQUMvQyx5QkFBNEI7QUFDNUIscUNBQXFDO0FBQ3JDLCtCQUFpQztBQUNqQyx5QkFBMEI7QUFDMUIsa0JBQTZCO0FBQzdCLHlCQXVCTztBQUNQLGtDQU1PO0FBQ1AsaUJBTU87QUFDUCw0QkFBNkI7QUFDN0IsMkJBQTZCOyIsIm5hbWVzIjpbImltcG9ydF9kZWJ1ZyIsImltcG9ydF9odG1sX2VsZW1lbnQiLCJpbXBvcnRfbGlicmFyeSJdfQ==
2083
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9fX21lcmdlZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBUSElTIElTIEEgR0VORVJBVEVEL0JVTkRMRUQgRklMRSBCWSBCVUlMRCBTQ1JJUFQgKi9cblxuZXhwb3J0IHsgQXBwQWN0aXZlRmlsZVByb3ZpZGVyIH0gZnJvbSAnLi9hY3RpdmUtZmlsZS1wcm92aWRlci50cyc7XG5leHBvcnQgeyBBbmNob3JlZFN1Z2dlc3QgfSBmcm9tICcuL2FuY2hvcmVkLXN1Z2dlc3QudHMnO1xuZXhwb3J0IHsgZ2V0QXBwIH0gZnJvbSAnLi9hcHAudHMnO1xuZXhwb3J0IHtcbiAgcmV0cnlXaXRoVGltZW91dE5vdGljZSxcbiAgcnVuV2l0aFRpbWVvdXROb3RpY2Vcbn0gZnJvbSAnLi9hc3luYy13aXRoLW5vdGljZS50cyc7XG5leHBvcnQge1xuICBBdHRhY2htZW50UGF0aENvbnRleHQsXG4gIENVU1RPTV9BVFRBQ0hNRU5UX0xPQ0FUSU9OX1BMVUdJTl9JRCxcbiAgRFVNTVlfUEFUSCxcbiAgZ2V0QXR0YWNobWVudEZpbGVQYXRoLFxuICBnZXRBdHRhY2htZW50Rm9sZGVyUGF0aCxcbiAgZ2V0QXR0YWNobWVudEZvbGRlclBhdGhGb3JBdHRhY2htZW50LFxuICBnZXRBdHRhY2htZW50Rm9sZGVyUGF0aFN5bmNPck51bGwsXG4gIGdldEF2YWlsYWJsZVBhdGhGb3JBdHRhY2htZW50cyxcbiAgZ2V0Q2hlY2tJc0F0dGFjaG1lbnRVbml0Rm9sZGVyRnVuY3Rpb24sXG4gIGhhc093bkF0dGFjaG1lbnRGb2xkZXIsXG4gIGlzQXRQcm9wZXJBdHRhY2htZW50UGF0aFxufSBmcm9tICcuL2F0dGFjaG1lbnQtcGF0aC50cyc7XG5leHBvcnQge1xuICBmaW5kQXR0YWNobWVudFVuaXRGb2xkZXJQYXRoLFxuICByZWJhc2VQYXRoT250b0ZvbGRlclxufSBmcm9tICcuL2F0dGFjaG1lbnQtdW5pdC1mb2xkZXIudHMnO1xuZXhwb3J0IHtcbiAgZ2V0SW5kZXhlZEJhY2tsaW5rc0ZvckZpbGUsXG4gIGl0ZXJhdGVSZWZlcmVuY2VzQWZmZWN0ZWRCeVJlbmFtZVxufSBmcm9tICcuL2JhY2tsaW5rLWluZGV4LnRzJztcbmV4cG9ydCB7XG4gIHJlbmRlckJhY2tsaW5rc1RhYmxlLFxuICByZW5kZXJEZWxheWVkQmFja2xpbmtzLFxuICByZW5kZXJEZWxheWVkQmFja2xpbmtzRm9yRm9sZGVyXG59IGZyb20gJy4vYmFja2xpbmsudHMnO1xuZXhwb3J0IHsgUGx1Z2luQmFzZXNWaWV3UmVnaXN0cmFyIH0gZnJvbSAnLi9iYXNlcy12aWV3LXJlZ2lzdHJhci50cyc7XG5leHBvcnQge1xuICBCcm9rZW5MaW5rQ2FuZGlkYXRlRmluZGVyLFxuICBCcm9rZW5MaW5rRXZpZGVuY2VLaW5kLFxuICBnZXRQYXJlbnRQYXRoLFxuICBnZXRQYXRoTWFwcGluZ1xufSBmcm9tICcuL2Jyb2tlbi1saW5rLWNhbmRpZGF0ZXMudHMnO1xuZXhwb3J0IHtcbiAgQlVHX1JFUE9SVF9JU1NVRV9GT1JNX1RFTVBMQVRFLFxuICBCdWdSZXBvcnRJc3N1ZUZvcm1GaWVsZElkLFxuICBmb3JtYXRCdWdSZXBvcnRFbnZpcm9ubWVudCxcbiAgZ2V0QnVnUmVwb3J0RW52aXJvbm1lbnQsXG4gIGdldEJ1Z1JlcG9ydElzc3VlRm9ybVVybCxcbiAgZ2V0R2l0SHViSXNzdWVGb3JtVXJsXG59IGZyb20gJy4vYnVnLXJlcG9ydC50cyc7XG5leHBvcnQge1xuICBCVUxLX09QRVJBVElPTl9IT0xEX0lOVEVSVkFMX0lOX01JTExJU0VDT05EUyxcbiAgaG9sZEJ1bGtPcGVyYXRpb25XaGlsZSxcbiAgcmVnaXN0ZXJCdWxrT3BlcmF0aW9uUHJvZ3Jlc3NMaXN0ZW5lcixcbiAgcmVwb3J0QnVsa09wZXJhdGlvblByb2dyZXNzXG59IGZyb20gJy4vYnVsay1vcGVyYXRpb24tcHJvZ3Jlc3MudHMnO1xuZXhwb3J0IHtcbiAgYnVpbGRCZWZvcmVPcGVyYXRpb25Db21taXRTdWJqZWN0LFxuICBidWlsZE9wZXJhdGlvbkNvbW1pdE1lc3NhZ2UsXG4gIEJVTEtfT1BFUkFUSU9OX0xPQ0tfRklMRV9OQU1FLFxuICBCVUxLX09QRVJBVElPTl9MT0NLX1NUQUxFX0FGVEVSX0lOX01JTExJU0VDT05EUyxcbiAgZm9ybWF0T3BlcmF0aW9uSWQsXG4gIGdldE5leHRPcGVyYXRpb25JZCxcbiAgaXNCdWxrT3BlcmF0aW9uTG9jayxcbiAgaXNCdWxrT3BlcmF0aW9uTG9ja1N0YWxlLFxuICBPUEVSQVRJT05fVFJBSUxFUl9LRVksXG4gIHBhcnNlQnVsa09wZXJhdGlvbkNvbW1pdCxcbiAgcGFyc2VPcGVyYXRpb25OdW1iZXIsXG4gIFBMVUdJTl9UUkFJTEVSX0tFWVxufSBmcm9tICcuL2J1bGstb3BlcmF0aW9uLnRzJztcbmV4cG9ydCB7XG4gIENhbGxvdXRNb2RlLFxuICByZW5kZXJDYWxsb3V0LFxuICB3cmFwRm9yQ2FsbG91dFxufSBmcm9tICcuL2NhbGxvdXQudHMnO1xuZXhwb3J0IHsgZ2V0Q2FudmFzUmVmZXJlbmNlcyB9IGZyb20gJy4vY2FudmFzLnRzJztcbmV4cG9ydCB7XG4gIENhc2VJbnNlbnNpdGl2ZUZpbGVJbmRleCxcbiAgZ2V0Q2FzZUluc2Vuc2l0aXZlRmlsZUluZGV4LFxuICBzZXRDYXNlSW5zZW5zaXRpdmVGaWxlSW5kZXgsXG4gIHVuc2V0Q2FzZUluc2Vuc2l0aXZlRmlsZUluZGV4XG59IGZyb20gJy4vY2FzZS1pbnNlbnNpdGl2ZS1maWxlLWluZGV4LnRzJztcbmV4cG9ydCB7IGNyZWF0ZUNvZGVCbG9ja1JlZ0V4cCB9IGZyb20gJy4vY29kZS1ibG9jay1yZWctZXhwLnRzJztcbmV4cG9ydCB7XG4gIGNhcHR1cmVDb2RlQmxvY2tGb2N1cyxcbiAgY2xhaW1Db2RlQmxvY2tSZW5kZXJIYW5kb2ZmLFxuICBDT0RFX0JMT0NLX1JFTkRFUl9IQU5ET0ZGX0xJRkVUSU1FX0lOX01JTExJU0VDT05EUyxcbiAgcmVjb3JkQ29kZUJsb2NrUmVuZGVySGFuZG9mZixcbiAgcmVzdG9yZUNvZGVCbG9ja0ZvY3VzXG59IGZyb20gJy4vY29kZS1ibG9jay1yZW5kZXItaGFuZG9mZi50cyc7XG5leHBvcnQge1xuICBjcmVhdGVMaXZlUHJldmlld09ubHlFeHRlbnNpb24sXG4gIGNyZWF0ZVNvdXJjZU1vZGVPbmx5RXh0ZW5zaW9uLFxuICBpc0xpdmVQcmV2aWV3XG59IGZyb20gJy4vY29kZW1pcnJvci9lZGl0b3ItbW9kZS1leHRlbnNpb24udHMnO1xuZXhwb3J0IHsgY3JlYXRlSW5jcmVtZW50YWxQYXJzZVN0YXRlRmllbGQgfSBmcm9tICcuL2NvZGVtaXJyb3IvaW5jcmVtZW50YWwtcGFyc2Utc3RhdGUtZmllbGQudHMnO1xuZXhwb3J0IHtcbiAgY3JlYXRlSW5saW5lVG9rZW5XaWRnZXRzRXh0ZW5zaW9uLFxuICBleGVjQWxsLFxuICB0b0dsb2JhbFJlZ0V4cFxufSBmcm9tICcuL2NvZGVtaXJyb3IvaW5saW5lLXRva2VuLXdpZGdldHMudHMnO1xuZXhwb3J0IHtcbiAgZGlzcGF0Y2hUb0FsbE1hcmtkb3duRWRpdG9yVmlld3MsXG4gIGdldEFsbE1hcmtkb3duRWRpdG9yVmlld3Ncbn0gZnJvbSAnLi9jb2RlbWlycm9yL21hcmtkb3duLWVkaXRvci12aWV3cy50cyc7XG5leHBvcnQgeyByYW5nZVNldFRvQXJyYXkgfSBmcm9tICcuL2NvZGVtaXJyb3IvcmFuZ2Utc2V0LnRzJztcbmV4cG9ydCB7IGNyZWF0ZVNldHRpbmdzRmFjZXQgfSBmcm9tICcuL2NvZGVtaXJyb3Ivc2V0dGluZ3MtZmFjZXQudHMnO1xuZXhwb3J0IHsgQWJzdHJhY3RGaWxlQ29tbWFuZEhhbmRsZXIgfSBmcm9tICcuL2NvbW1hbmQtaGFuZGxlcnMvYWJzdHJhY3QtZmlsZS1jb21tYW5kLWhhbmRsZXIudHMnO1xuZXhwb3J0IHsgQ29tbWFuZEhhbmRsZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbW1hbmQtaGFuZGxlcnMvY29tbWFuZC1oYW5kbGVyLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBDb21tYW5kSGFuZGxlciB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9jb21tYW5kLWhhbmRsZXIudHMnO1xuZXhwb3J0IHsgRWRpdG9yQ29tbWFuZEhhbmRsZXIgfSBmcm9tICcuL2NvbW1hbmQtaGFuZGxlcnMvZWRpdG9yLWNvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgeyBGaWxlQ29tbWFuZEhhbmRsZXIgfSBmcm9tICcuL2NvbW1hbmQtaGFuZGxlcnMvZmlsZS1jb21tYW5kLWhhbmRsZXIudHMnO1xuZXhwb3J0IHsgRm9sZGVyQ29tbWFuZEhhbmRsZXIgfSBmcm9tICcuL2NvbW1hbmQtaGFuZGxlcnMvZm9sZGVyLWNvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgeyBHbG9iYWxDb21tYW5kSGFuZGxlciB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9nbG9iYWwtY29tbWFuZC1oYW5kbGVyLnRzJztcbmV4cG9ydCB7IE9wZW5CdWdSZXBvcnRDb21tYW5kSGFuZGxlciB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9vcGVuLWJ1Zy1yZXBvcnQtY29tbWFuZC1oYW5kbGVyLnRzJztcbmV4cG9ydCB7IE9wZW5EZW1vVmF1bHRDb21tYW5kSGFuZGxlciB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9vcGVuLWRlbW8tdmF1bHQtY29tbWFuZC1oYW5kbGVyLnRzJztcbmV4cG9ydCB7IE9wZW5EaXNjdXNzaW9uQ29tbWFuZEhhbmRsZXIgfSBmcm9tICcuL2NvbW1hbmQtaGFuZGxlcnMvb3Blbi1kaXNjdXNzaW9uLWNvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgeyBPcGVuRmVhdHVyZVJlcXVlc3RDb21tYW5kSGFuZGxlciB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9vcGVuLWZlYXR1cmUtcmVxdWVzdC1jb21tYW5kLWhhbmRsZXIudHMnO1xuZXhwb3J0IHsgT3BlbkdpdEh1YkNvbW1hbmRIYW5kbGVyIH0gZnJvbSAnLi9jb21tYW5kLWhhbmRsZXJzL29wZW4tZ2l0LWh1Yi1jb21tYW5kLWhhbmRsZXIudHMnO1xuZXhwb3J0IHsgT3BlblNldHRpbmdzQ29tbWFuZEhhbmRsZXIgfSBmcm9tICcuL2NvbW1hbmQtaGFuZGxlcnMvb3Blbi1zZXR0aW5ncy1jb21tYW5kLWhhbmRsZXIudHMnO1xuZXhwb3J0IHsgVW5kb0J1bGtPcGVyYXRpb25Db21tYW5kSGFuZGxlciB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy91bmRvLWJ1bGstb3BlcmF0aW9uLWNvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgeyBVbmxvY2tBY3RpdmVOb3RlQ29tbWFuZEhhbmRsZXIgfSBmcm9tICcuL2NvbW1hbmQtaGFuZGxlcnMvdW5sb2NrLWFjdGl2ZS1ub3RlLWNvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgeyBQbHVnaW5Db21tYW5kUmVnaXN0cmFyIH0gZnJvbSAnLi9jb21tYW5kLXJlZ2lzdHJhci50cyc7XG5leHBvcnQge1xuICBjb25maWd1cmVDb21tdW5pdHlQbHVnaW4sXG4gIENvbmZpZ3VyZUNvbW11bml0eVBsdWdpblJlc3VsdCxcbiAgZGlzYWJsZUNvbW11bml0eVBsdWdpbixcbiAgZW5hYmxlQ29tbXVuaXR5UGx1Z2luLFxuICBnZXRDb21tdW5pdHlQbHVnaW5SZXBvLFxuICBnZXRMYXRlc3RSZWxlYXNlVmVyc2lvbixcbiAgaW5zdGFsbENvbW11bml0eVBsdWdpbixcbiAgaW5zdGFsbENvbmZpZ3VyZUVuYWJsZUNvbW11bml0eVBsdWdpbixcbiAgUGx1Z2luRW5hYmxlUmVmdXNlZEVycm9yLFxuICBzZWFyY2hDb21tdW5pdHlQbHVnaW5zLFxuICB0b2dnbGVFbmFibGVDb21tdW5pdHlQbHVnaW4sXG4gIHRvZ2dsZUluc3RhbGxDb21tdW5pdHlQbHVnaW4sXG4gIHVuaW5zdGFsbENvbW11bml0eVBsdWdpbixcbiAgdXBkYXRlQ29tbXVuaXR5UGx1Z2luLFxuICBVcGRhdGVDb21tdW5pdHlQbHVnaW5SZXN1bHRcbn0gZnJvbSAnLi9jb21tdW5pdHktcGx1Z2lucy50cyc7XG5leHBvcnQgeyBBYm9ydFNpZ25hbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hYm9ydC1zaWduYWwtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7XG4gIEFsbFdpbmRvd3NFdmVudENvbXBvbmVudCxcbiAgZm9yRWFjaFdpbmRvdyxcbiAgcmVnaXN0ZXJCb2R5Q2xhc3Ncbn0gZnJvbSAnLi9jb21wb25lbnRzL2FsbC13aW5kb3dzLWV2ZW50LWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBBc3luY0Vycm9ySGFuZGxlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hc3luYy1lcnJvci1oYW5kbGVyLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyByZWdpc3RlckFzeW5jRXZlbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYXN5bmMtZXZlbnRzLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBCdWxrT3BlcmF0aW9uQ29tbWl0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2J1bGstb3BlcmF0aW9uLWNvbW1pdC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgQ2FzZUluc2Vuc2l0aXZlRmlsZUluZGV4Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Nhc2UtaW5zZW5zaXRpdmUtZmlsZS1pbmRleC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgQ29tcG9uZW50RXggfSBmcm9tICcuL2NvbXBvbmVudHMvY29tcG9uZW50LWV4LnRzJztcbmV4cG9ydCB7IENvbnNvbGVEZWJ1Z0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb25zb2xlLWRlYnVnLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBDb3JlUGx1Z2luVG9nZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUtcGx1Z2luLXRvZ2dsZS1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgYXNEaXNwb3NhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Rpc3Bvc2FibGUtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IEVtYmVkRXh0ZW5zaW9uc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lbWJlZC1leHRlbnNpb25zLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBFbWJlZGRhYmxlTWFya2Rvd25FZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZW1iZWRkYWJsZS1tYXJrZG93bi1lZGl0b3ItY29tcG9uZW50LnRzJztcbmV4cG9ydCB7XG4gIEZpbGVFeHBsb3JlclJvb3RNZW51Q29tcG9uZW50LFxuICBGaWxlRXhwbG9yZXJSb290TWVudVNwb3QsXG4gIFZBVUxUX05BTUVfU0VMRUNUT1JTXG59IGZyb20gJy4vY29tcG9uZW50cy9maWxlLWV4cGxvcmVyLXJvb3QtbWVudS1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgR2VuZXJhdGVNYXJrZG93bkxpbmtEZWZhdWx0UGFyYW1zQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2dlbmVyYXRlLW1hcmtkb3duLWxpbmstZGVmYXVsdC1wYXJhbXMtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IEluY3JlbWVudGFsRmlsZUluZGV4Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2luY3JlbWVudGFsLWZpbGUtaW5kZXgtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7XG4gIENhbGxiYWNrTGF5b3V0UmVhZHlDb21wb25lbnQsXG4gIExheW91dFJlYWR5Q29tcG9uZW50XG59IGZyb20gJy4vY29tcG9uZW50cy9sYXlvdXQtcmVhZHktY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IE1lbnVFdmVudFJlZ2lzdHJhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tZW51LWV2ZW50LXJlZ2lzdHJhci1jb21wb25lbnQudHMnO1xuZXhwb3J0IHtcbiAgYXJvdW5kLFxuICBoYXNQYXRjaFRva2VuLFxuICBNb25rZXlBcm91bmRDb21wb25lbnRcbn0gZnJvbSAnLi9jb21wb25lbnRzL21vbmtleS1hcm91bmQtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IE5vdGVib29rTmF2aWdhdG9yTWVudUV2ZW50UmVnaXN0cmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL25vdGVib29rLW5hdmlnYXRvci1tZW51LWV2ZW50LXJlZ2lzdHJhci1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgUGx1Z2luQ29udGV4dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wbHVnaW4tY29udGV4dC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHtcbiAgUGx1Z2luQ29uZmxpY3RTZXZlcml0eSxcbiAgUGx1Z2luR2F0ZUNvbXBvbmVudFxufSBmcm9tICcuL2NvbXBvbmVudHMvcGx1Z2luLWdhdGUtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7XG4gIFBsdWdpbk5vdGljZUNvbXBvbmVudCxcbiAgUGx1Z2luTm90aWNlTW9kZVxufSBmcm9tICcuL2NvbXBvbmVudHMvcGx1Z2luLW5vdGljZS1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgUGx1Z2luU2V0dGluZ3NDb21wb25lbnRCYXNlIH0gZnJvbSAnLi9jb21wb25lbnRzL3BsdWdpbi1zZXR0aW5ncy1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgUGx1Z2luU2V0dGluZ3NUYWJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGx1Z2luLXNldHRpbmdzLXRhYi1jb21wb25lbnQudHMnO1xuZXhwb3J0IHtcbiAgUGx1Z2luU3VnZ2VzdGlvbkNvbXBvbmVudCxcbiAgU3VnZ2VzdGVkUGx1Z2luU3RhdGVcbn0gZnJvbSAnLi9jb21wb25lbnRzL3BsdWdpbi1zdWdnZXN0aW9uLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBQb2ludGVyUG9zaXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcG9pbnRlci1wb3NpdGlvbi1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgUmVjb25maWd1cmFibGVFZGl0b3JFeHRlbnNpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcmVjb25maWd1cmFibGUtZWRpdG9yLWV4dGVuc2lvbi1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgUmVnaXN0cnlDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcmVnaXN0cnktY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFJlbGVhc2VOb3Rlc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yZWxlYXNlLW5vdGVzLWNvbXBvbmVudC50cyc7XG5leHBvcnQge1xuICBFbXB0eUZvbGRlckJlaGF2aW9yLFxuICBSZW5hbWVEZWxldGVIYW5kbGVyQ29tcG9uZW50XG59IGZyb20gJy4vY29tcG9uZW50cy9yZW5hbWUtZGVsZXRlLWhhbmRsZXItY29tcG9uZW50LnRzJztcbmV4cG9ydCB7XG4gIE5PVF9FTVBUWV9ESVJFQ1RPUllfRVJST1JfQ09ERSxcbiAgUm1kaXJHdWFyZENvbXBvbmVudFxufSBmcm9tICcuL2NvbXBvbmVudHMvcm1kaXItZ3VhcmQtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFNldHRpbmdzRmFjZXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2V0dGluZ3MtZmFjZXQtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFNldHRpbmdzTWlncmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NldHRpbmdzLW1pZ3JhdGlvbi1jb21wb25lbnQudHMnO1xuZXhwb3J0IHtcbiAgcmVnaXN0ZXJTdHlsZSxcbiAgU3R5bGVTaGVldENvbXBvbmVudFxufSBmcm9tICcuL2NvbXBvbmVudHMvc3R5bGUtc2hlZXQtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFN5bnRheEhpZ2hsaWdodGluZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zeW50YXgtaGlnaGxpZ2h0aW5nLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBUZW1wbGF0ZXNMYW5ndWFnZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90ZW1wbGF0ZXMtbGFuZ3VhZ2UtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IGdldERvbUV2ZW50c0hhbmRsZXJzQ29uc3RydWN0b3IgfSBmcm9tICcuL2NvbnN0cnVjdG9ycy9nZXQtZG9tLWV2ZW50cy1oYW5kbGVycy1jb25zdHJ1Y3Rvci50cyc7XG5leHBvcnQgeyBDc3NDbGFzcyB9IGZyb20gJy4vY3NzLWNsYXNzLnRzJztcbmV4cG9ydCB7IFBsdWdpbkRhdGFIYW5kbGVyIH0gZnJvbSAnLi9kYXRhLWhhbmRsZXIudHMnO1xuZXhwb3J0IHsgRGF0YVN0b3JlTG9jYXRpb25zIH0gZnJvbSAnLi9kYXRhLXN0b3Jlcy9kYXRhLXN0b3JlLWxvY2F0aW9ucy50cyc7XG5leHBvcnQge1xuICBEYXRhU3RvcmVSZXBsaWNhLFxuICBpc0RhdGFTdG9yZUpzb25WYWx1ZSxcbiAgaXNEYXRhU3RvcmVPcGVyYXRpb25cbn0gZnJvbSAnLi9kYXRhLXN0b3Jlcy9kYXRhLXN0b3JlLXJlcGxpY2EudHMnO1xuZXhwb3J0IHtcbiAgRGF0YVN0b3JlU2VlZHMsXG4gIHZhbGlkYXRlRGF0YVN0b3JlU2VlZFxufSBmcm9tICcuL2RhdGEtc3RvcmVzL2RhdGEtc3RvcmUtc2VlZHMudHMnO1xuZXhwb3J0IHsgRGF0YVN0b3JlVHJhbnNwb3J0IH0gZnJvbSAnLi9kYXRhLXN0b3Jlcy9kYXRhLXN0b3JlLXRyYW5zcG9ydC50cyc7XG5leHBvcnQgeyBMb2NhbERhdGFTdG9yZSB9IGZyb20gJy4vZGF0YS1zdG9yZXMvbG9jYWwtZGF0YS1zdG9yZS50cyc7XG5leHBvcnQgeyBTaGFyZWREYXRhU3RvcmUgfSBmcm9tICcuL2RhdGEtc3RvcmVzL3NoYXJlZC1kYXRhLXN0b3JlLnRzJztcbmV4cG9ydCB7XG4gIGZpeFRpdGxlLFxuICBtYWtlTGlua1dpdGhQYXRoXG59IGZyb20gJy4vZGF0YXZpZXctbGluay50cyc7XG5leHBvcnQge1xuICBnZXRSZW5kZXJlZENvbnRhaW5lcixcbiAgaW5zZXJ0Q29kZUJsb2NrLFxuICByZWxvYWRDdXJyZW50RmlsZUNhY2hlLFxuICByZW5kZXJJZnJhbWUsXG4gIHJlbmRlclBhZ2luYXRlZExpc3QsXG4gIHJlbmRlclBhZ2luYXRlZFRhYmxlXG59IGZyb20gJy4vZGF0YXZpZXcudHMnO1xuZXhwb3J0IHtcbiAgZ2V0T2JzaWRpYW5MaWJEZWJ1Z2dlcixcbiAgc2hvd0luaXRpYWxEZWJ1Z01lc3NhZ2Vcbn0gZnJvbSAnLi9kZWJ1Zy50cyc7XG5leHBvcnQgeyBib290c3RyYXBEZW1vVmF1bHQgfSBmcm9tICcuL2RlbW8tdmF1bHQtaGVscGVyLnRzJztcbmV4cG9ydCB7XG4gIGdldERlbW9WYXVsdEFyY2hpdmVGaWxlTmFtZSxcbiAgZ2V0RGVtb1ZhdWx0Rm9sZGVyTmFtZVxufSBmcm9tICcuL2RlbW8tdmF1bHQtbmFtaW5nLnRzJztcbmV4cG9ydCB7XG4gIEJ1bGtPcGVyYXRpb25HaXRSZXBvLFxuICBHaXRDb21tYW5kRXJyb3Jcbn0gZnJvbSAnLi9kZXNrdG9wLWJ1bGstb3BlcmF0aW9uLWdpdC50cyc7XG5leHBvcnQgeyBvcGVuRGVtb1ZhdWx0IH0gZnJvbSAnLi9kZXNrdG9wLWRlbW8tdmF1bHQtb3BlbmVyLnRzJztcbmV4cG9ydCB7IGNyZWF0ZURlc2t0b3BHaXRSdW5uZXIgfSBmcm9tICcuL2Rlc2t0b3AtZ2l0LXJ1bm5lci50cyc7XG5leHBvcnQgeyBnZXREZXNrdG9wT3BlcmF0aW5nU3lzdGVtIH0gZnJvbSAnLi9kZXNrdG9wLW9wZXJhdGluZy1zeXN0ZW0udHMnO1xuZXhwb3J0IHsgb3BlbkRlc2t0b3BSZXF1ZXN0VXJsU3RyZWFtIH0gZnJvbSAnLi9kZXNrdG9wLXJlcXVlc3QtdXJsLXN0cmVhbS50cyc7XG5leHBvcnQgeyBQbHVnaW5FZGl0b3JFeHRlbnNpb25SZWdpc3RyYXIgfSBmcm9tICcuL2VkaXRvci1leHRlbnNpb24tcmVnaXN0cmFyLnRzJztcbmV4cG9ydCB7IFBsdWdpbkVkaXRvclN1Z2dlc3RSZWdpc3RyYXIgfSBmcm9tICcuL2VkaXRvci1zdWdnZXN0LXJlZ2lzdHJhci50cyc7XG5leHBvcnQge1xuICBDb21tYW5kRWRpdG9yU3VnZ2VzdCxcbiAgcHJpb3JpdGl6ZUVkaXRvclN1Z2dlc3Rcbn0gZnJvbSAnLi9lZGl0b3Itc3VnZ2VzdC50cyc7XG5leHBvcnQge1xuICBzeW5jT3BlbkVkaXRvckJ1ZmZlcnNGb3JQYXRoLFxuICB0b2dnbGVFZGl0b3JSZWFkT25seVxufSBmcm9tICcuL2VkaXRvci50cyc7XG5leHBvcnQge1xuICBFdmVudFJlZkRpc3Bvc2FibGUsXG4gIHN1YnNjcmliZURpc3Bvc2FibGVFdmVudCxcbiAgc3Vic2NyaWJlRXZlbnRcbn0gZnJvbSAnLi9ldmVudHMudHMnO1xuZXhwb3J0IHsgUGx1Z2luRXh0ZW5zaW9uc1JlZ2lzdHJhciB9IGZyb20gJy4vZXh0ZW5zaW9ucy1yZWdpc3RyYXIudHMnO1xuZXhwb3J0IHtcbiAgRkVBVFVSRV9SRVFVRVNUX0lTU1VFX0ZPUk1fVEVNUExBVEUsXG4gIEZlYXR1cmVSZXF1ZXN0SXNzdWVGb3JtRmllbGRJZCxcbiAgZ2V0RmVhdHVyZVJlcXVlc3RJc3N1ZUZvcm1Vcmxcbn0gZnJvbSAnLi9mZWF0dXJlLXJlcXVlc3QudHMnO1xuZXhwb3J0IHtcbiAgYXBwbHlDb250ZW50Q2hhbmdlcyxcbiAgYXBwbHlGaWxlQ2hhbmdlcyxcbiAgaXNDYW52YXNDaGFuZ2UsXG4gIGlzQ2FudmFzRmlsZU5vZGVDaGFuZ2UsXG4gIGlzQ2FudmFzVGV4dE5vZGVDaGFuZ2UsXG4gIGlzQ29udGVudENoYW5nZSxcbiAgaXNGcm9udG1hdHRlckNoYW5nZSxcbiAgaXNGcm9udG1hdHRlckNoYW5nZVdpdGhPZmZzZXRzLFxuICB0b0Zyb250bWF0dGVyQ2hhbmdlV2l0aE9mZnNldHNcbn0gZnJvbSAnLi9maWxlLWNoYW5nZS50cyc7XG5leHBvcnQgeyByZXZlYWxJbkZpbGVFeHBsb3JlciB9IGZyb20gJy4vZmlsZS1leHBsb3Jlci50cyc7XG5leHBvcnQge1xuICBhZGRBbGlhcyxcbiAgZGVsZXRlQWxpYXMsXG4gIHByb2Nlc3NGcm9udG1hdHRlcixcbiAgd2FpdEZvclBlbmRpbmdMaW5rVXBkYXRlc1xufSBmcm9tICcuL2ZpbGUtbWFuYWdlci50cyc7XG5leHBvcnQge1xuICBhc0FycmF5T2ZGaWxlcyxcbiAgYXNBcnJheU9mRm9sZGVycyxcbiAgYXNGaWxlLFxuICBhc0ZpbGVPck51bGwsXG4gIGFzRm9sZGVyLFxuICBhc0ZvbGRlck9yTnVsbCxcbiAgQkFTRV9GSUxFX0VYVEVOU0lPTixcbiAgQ0FOVkFTX0ZJTEVfRVhURU5TSU9OLFxuICBjaGVja0V4dGVuc2lvbixcbiAgZG9lc0V4aXN0LFxuICBGaWxlU3lzdGVtVHlwZSxcbiAgZ2V0QWJzdHJhY3RGaWxlLFxuICBnZXRBYnN0cmFjdEZpbGVPck51bGwsXG4gIGdldEJhc2VuYW1lLFxuICBnZXRFeHRlbnNpb24sXG4gIGdldEZpbGUsXG4gIGdldEZpbGVPck51bGwsXG4gIGdldEZpbGVTeXN0ZW1UeXBlLFxuICBnZXRGb2xkZXIsXG4gIGdldEZvbGRlck9yTnVsbCxcbiAgZ2V0TWFya2Rvd25GaWxlcyxcbiAgZ2V0T3JDcmVhdGVGaWxlLFxuICBnZXRPckNyZWF0ZUZvbGRlcixcbiAgZ2V0UGF0aCxcbiAgaXNBYnN0cmFjdEZpbGUsXG4gIGlzQmFzZUZpbGUsXG4gIGlzQ2FudmFzRmlsZSxcbiAgaXNGaWxlLFxuICBpc0ZvbGRlcixcbiAgaXNNYXJrZG93bkZpbGUsXG4gIGlzTm90ZSxcbiAgaXNQYXRoT3JGaWxlLFxuICBpc1RyZWF0ZWRBc0F0dGFjaG1lbnQsXG4gIE1BUktET1dOX0ZJTEVfRVhURU5TSU9OLFxuICBNaXNzaW5nUGF0aFRyZWF0bWVudCxcbiAgdHJpbU1hcmtkb3duRXh0ZW5zaW9uXG59IGZyb20gJy4vZmlsZS1zeXN0ZW0udHMnO1xuZXhwb3J0IHtcbiAgRk9MREVSX05PVEVTX1BMVUdJTl9JRCxcbiAgRm9sZGVyTm90ZUxvY2F0aW9uLFxuICBnZXRGb2xkZXJOb3RlRm9sZGVyLFxuICByZXNvbHZlRm9sZGVyTm90ZSxcbiAgcmVzb2x2ZUZvbGRlck5vdGVDb25maWdcbn0gZnJvbSAnLi9mb2xkZXItbm90ZS50cyc7XG5leHBvcnQge1xuICBjcmVhdGVGb3JtdWxhRnVuY3Rpb24sXG4gIGNyZWF0ZUZvcm11bGFGdW5jdGlvblBhcmFtZXRlcixcbiAgcmVnaXN0ZXJGb3JtdWxhRnVuY3Rpb25cbn0gZnJvbSAnLi9mb3JtdWxhLWZ1bmN0aW9uLnRzJztcbmV4cG9ydCB7XG4gIGVuYWJsZUZyb250bWF0dGVyRm9ybWF0dGluZ1ByZXNlcnZhdGlvbixcbiAgcHJlc2VydmVGcm9udG1hdHRlckZvcm1hdHRpbmdcbn0gZnJvbSAnLi9mcm9udG1hdHRlci1mb3JtYXR0aW5nLnRzJztcbmV4cG9ydCB7XG4gIGlzRnJvbnRtYXR0ZXJMaW5rQ2FjaGVXaXRoT2Zmc2V0cyxcbiAgdG9Gcm9udG1hdHRlckxpbmtDYWNoZVdpdGhPZmZzZXRzXG59IGZyb20gJy4vZnJvbnRtYXR0ZXItbGluay1jYWNoZS13aXRoLW9mZnNldHMudHMnO1xuZXhwb3J0IHtcbiAgY2hlY2tJc1BsYWluT2JqZWN0LFxuICBwYXJzZUZyb250bWF0dGVyLFxuICByZWdpc3RlckZyb250bWF0dGVyRm9ybWF0dGluZ1ByZXNlcnZlcixcbiAgcmVtb3ZlRW1wdHlGcm9udG1hdHRlclZhbHVlcyxcbiAgc2V0RnJvbnRtYXR0ZXJcbn0gZnJvbSAnLi9mcm9udG1hdHRlci50cyc7XG5leHBvcnQge1xuICBMSUJSQVJZX1NUWUxFUyxcbiAgTElCUkFSWV9WRVJTSU9OXG59IGZyb20gJy4vZ2VuZXJhdGVkLWR1cmluZy1idWlsZC50cyc7XG5leHBvcnQgeyBnZXRHaXRIdWJEaXNjdXNzaW9uVXJsIH0gZnJvbSAnLi9naXQtaHViLWRpc2N1c3Npb24udHMnO1xuZXhwb3J0IHtcbiAgbG9hZEdpdFJlbmFtZXMsXG4gIHBhcnNlR2l0UmVuYW1lTG9nXG59IGZyb20gJy4vZ2l0LXJlbmFtZS1oaXN0b3J5LnRzJztcbmV4cG9ydCB7XG4gIGZvcm1hdEhvdGtleSxcbiAgZ2V0SG90a2V5RnJvbUtleWJvYXJkRXZlbnQsXG4gIGlzU2FtZUhvdGtleVxufSBmcm9tICcuL2hvdGtleS50cyc7XG5leHBvcnQgeyBQbHVnaW5Ib3ZlckxpbmtTb3VyY2VSZWdpc3RyYXIgfSBmcm9tICcuL2hvdmVyLWxpbmstc291cmNlLXJlZ2lzdHJhci50cyc7XG5leHBvcnQge1xuICBhcHBlbmRDb2RlQmxvY2ssXG4gIGFwcGVuZFRleHRPckZyYWdtZW50Q2xvbmUsXG4gIGFwcGx5U3BlbGxjaGVja01vZGUsXG4gIGFzQ29kZUJsb2NrLFxuICBjcmVhdGVGcmFnbWVudFdpdGhDb2RlQmxvY2tzXG59IGZyb20gJy4vaHRtbC1lbGVtZW50LnRzJztcbmV4cG9ydCB7XG4gIERFRkFVTFRfTlMsXG4gIGdldExhbmd1YWdlc1RvTG9hZCxcbiAgaW5pdEkxOE4sXG4gIHRcbn0gZnJvbSAnLi9pMThuL2kxOG4udHMnO1xuZXhwb3J0IHsgZW4gfSBmcm9tICcuL2kxOG4vbG9jYWxlcy9lbi50cyc7XG5leHBvcnQge1xuICBERUZBVUxUX0xBTkdVQUdFLFxuICBkZWZhdWx0VHJhbnNsYXRpb25zTWFwXG59IGZyb20gJy4vaTE4bi9sb2NhbGVzL3RyYW5zbGF0aW9ucy1tYXAudHMnO1xuZXhwb3J0IHtcbiAgY3JlYXRlSW5saW5lVG9rZW5Qb3N0UHJvY2Vzc29yLFxuICBERUZBVUxUX0lOTElORV9UT0tFTl9TS0lQX1NFTEVDVE9SLFxuICByZWdpc3RlcklubGluZVRva2VuUmVuZGVyZXJcbn0gZnJvbSAnLi9pbmxpbmUtdG9rZW4tcmVuZGVyZXIudHMnO1xuZXhwb3J0IHsgaXNJbk9ic2lkaWFuIH0gZnJvbSAnLi9pcy1pbi1vYnNpZGlhbi50cyc7XG5leHBvcnQge1xuICBpbmplY3RMaWJyYXJ5U3R5bGVzLFxuICBMQVNUX0xJQlJBUllfVkVSU0lPTl9LRVksXG4gIExJQlJBUllfU1RZTEVTX0VMRU1FTlRfSURcbn0gZnJvbSAnLi9saWJyYXJ5LXN0eWxlcy50cyc7XG5leHBvcnQge1xuICBPQlNJRElBTl9MSUJSQVJZX05BTUUsXG4gIE9ic2lkaWFuTGlicmFyeVxufSBmcm9tICcuL2xpYnJhcnkudHMnO1xuZXhwb3J0IHtcbiAgZ2V0TGlua0FuZFRhZ0NvbXBsZXRpb25UcmlnZ2VyLFxuICBnZXRWYXVsdFRhZ1N1Z2dlc3Rpb25zLFxuICBMaW5rQW5kVGFnQ29tcGxldGlvbktpbmQsXG4gIExpbmtBbmRUYWdJbnB1dFN1Z2dlc3Rcbn0gZnJvbSAnLi9saW5rLWFuZC10YWctaW5wdXQtc3VnZ2VzdC50cyc7XG5leHBvcnQgeyBub3JtYWxpemVMaW5rTmFtZSB9IGZyb20gJy4vbGluay1uYW1lLnRzJztcbmV4cG9ydCB7XG4gIGJ1aWxkQmFja2xpbmtzU25hcHNob3QsXG4gIGNvbnZlcnRMaW5rLFxuICBlZGl0QmFja2xpbmtzLFxuICBlZGl0QmFja2xpbmtzU25hcHNob3QsXG4gIGVkaXRSZWZlcmVuY2VzLFxuICBlZGl0UmVmZXJlbmNlc0luQ29udGVudCxcbiAgZXh0cmFjdFJlZmVyZW5jZUZpbGUsXG4gIGdlbmVyYXRlTWFya2Rvd25MaW5rLFxuICBnZW5lcmF0ZVJhd01hcmtkb3duTGluayxcbiAgZ2V0R2VuZXJhdGVNYXJrZG93bkxpbmtEZWZhdWx0UGFyYW1zRm5zLFxuICBoYXNBbmdsZUJyYWNrZXRzLFxuICBoYXNFbWJlZFN5bnRheCxcbiAgaGFzTGVhZGluZ0RvdCxcbiAgaGFzTGVhZGluZ1NsYXNoLFxuICBoYXNXaWtpbGlua1N5bnRheCxcbiAgTGlua1BhdGhTdHlsZSxcbiAgTGlua1N0eWxlLFxuICBzaG91bGRSZXNldEFsaWFzLFxuICBzcGxpdFN1YnBhdGgsXG4gIHVwZGF0ZUZpbGVVcmxMaW5rc0luQ29udGVudCxcbiAgdXBkYXRlRmlsZVVybExpbmtzSW5GaWxlLFxuICB1cGRhdGVMaW5rLFxuICB1cGRhdGVSZWZlcmVuY2VzSW5Db250ZW50LFxuICB1cGRhdGVSZWZlcmVuY2VzSW5GaWxlXG59IGZyb20gJy4vbGluay50cyc7XG5leHBvcnQgeyBpbnZva2VBc3luY0FuZExvZyB9IGZyb20gJy4vbG9nZ2VyLnRzJztcbmV4cG9ydCB7IGxvb3AgfSBmcm9tICcuL2xvb3AudHMnO1xuZXhwb3J0IHsgUGx1Z2luTWFya2Rvd25Db2RlQmxvY2tQcm9jZXNzb3JSZWdpc3RyYXIgfSBmcm9tICcuL21hcmtkb3duLWNvZGUtYmxvY2stcHJvY2Vzc29yLXJlZ2lzdHJhci50cyc7XG5leHBvcnQge1xuICBnZXRDb2RlQmxvY2tNYXJrZG93bkluZm8sXG4gIGluc2VydEFmdGVyQ29kZUJsb2NrLFxuICBpbnNlcnRCZWZvcmVDb2RlQmxvY2ssXG4gIHJlbW92ZUNvZGVCbG9jayxcbiAgcmVwbGFjZUNvZGVCbG9ja1xufSBmcm9tICcuL21hcmtkb3duLWNvZGUtYmxvY2stcHJvY2Vzc29yLnRzJztcbmV4cG9ydCB7IFBsdWdpbk1hcmtkb3duUG9zdFByb2Nlc3NvclJlZ2lzdHJhciB9IGZyb20gJy4vbWFya2Rvd24tcG9zdC1wcm9jZXNzb3ItcmVnaXN0cmFyLnRzJztcbmV4cG9ydCB7IGdldEZ1bGxDb250ZW50SHRtbCB9IGZyb20gJy4vbWFya2Rvd24tdmlldy50cyc7XG5leHBvcnQge1xuICBmdWxsUmVuZGVyLFxuICBtYXJrZG93blRvSHRtbCxcbiAgcmVnaXN0ZXJMaW5rSGFuZGxlcnMsXG4gIHJlbmRlckV4dGVybmFsTGluayxcbiAgcmVuZGVySW50ZXJuYWxMaW5rXG59IGZyb20gJy4vbWFya2Rvd24udHMnO1xuZXhwb3J0IHsgYWRkU2luZ2xlQ2hvaWNlTWVudUl0ZW1zIH0gZnJvbSAnLi9tZW51LnRzJztcbmV4cG9ydCB7XG4gIEFEVkFOQ0VEX01FVEFEQVRBX0NBQ0hFX1BMVUdJTl9JRCxcbiAgQkFDS0xJTktfQ0FDSEVfUExVR0lOX0lELFxuICBDYWNoZWRNZXRhZGF0YUV4RmVhdHVyZSxcbiAgZW5zdXJlTWV0YWRhdGFDYWNoZVJlYWR5LFxuICBnZXRCYWNrbGlua3NGb3JGaWxlT3JQYXRoLFxuICBnZXRCYWNrbGlua3NGb3JGaWxlU2FmZSxcbiAgZ2V0Q2FjaGVTYWZlLFxuICBnZXRGcm9udG1hdHRlclNhZmUsXG4gIGdldFJlZmVyZW5jZXMsXG4gIGhhc0JhY2tsaW5rQ2FjaGVQbHVnaW4sXG4gIGlzQ2FjaGVkTWV0YWRhdGFFeCxcbiAgcGFyc2VNZXRhZGF0YSxcbiAgcmVnaXN0ZXJGaWxlQ2FjaGVGb3JOb25FeGlzdGluZ0ZpbGUsXG4gIHJlZ2lzdGVyRmlsZXMsXG4gIHVucmVnaXN0ZXJGaWxlQ2FjaGVGb3JOb25FeGlzdGluZ0ZpbGUsXG4gIHVucmVnaXN0ZXJGaWxlc1xufSBmcm9tICcuL21ldGFkYXRhLWNhY2hlLnRzJztcbmV4cG9ydCB7IGdldE1vYmlsZUFwcEluZm8gfSBmcm9tICcuL21vYmlsZS1hcHAtaW5mby50cyc7XG5leHBvcnQgeyBhbGVydCB9IGZyb20gJy4vbW9kYWxzL2FsZXJ0LnRzJztcbmV4cG9ydCB7XG4gIGZvcm1hdENvZGVCbG9jayxcbiAgc2hvd0NvZGVCbG9ja0J1aWxkZXJcbn0gZnJvbSAnLi9tb2RhbHMvY29kZS1ibG9jay1idWlsZGVyLnRzJztcbmV4cG9ydCB7IGNvbmZpcm0gfSBmcm9tICcuL21vZGFscy9jb25maXJtLnRzJztcbmV4cG9ydCB7IE1pbmltaXphYmxlTW9kYWwgfSBmcm9tICcuL21vZGFscy9taW5pbWl6YWJsZS1tb2RhbC50cyc7XG5leHBvcnQge1xuICBNb2RhbENvbW1hbmRCdWlsZGVyLFxuICBNb2RhbENvbW1hbmRzUmVuZGVyTW9kZVxufSBmcm9tICcuL21vZGFscy9tb2RhbC1jb21tYW5kLWJ1aWxkZXIudHMnO1xuZXhwb3J0IHtcbiAgTW9kYWxCYXNlLFxuICBzaG93TW9kYWxcbn0gZnJvbSAnLi9tb2RhbHMvbW9kYWwudHMnO1xuZXhwb3J0IHsgcHJvbXB0IH0gZnJvbSAnLi9tb2RhbHMvcHJvbXB0LnRzJztcbmV4cG9ydCB7IHNlbGVjdEl0ZW0gfSBmcm9tICcuL21vZGFscy9zZWxlY3QtaXRlbS50cyc7XG5leHBvcnQgeyBzZWxlY3RPcHRpb24gfSBmcm9tICcuL21vZGFscy9zZWxlY3Qtb3B0aW9uLnRzJztcbmV4cG9ydCB7IFN1Z2dlc3RNb2RhbENvbW1hbmRCdWlsZGVyIH0gZnJvbSAnLi9tb2RhbHMvc3VnZ2VzdC1tb2RhbC1jb21tYW5kLWJ1aWxkZXIudHMnO1xuZXhwb3J0IHtcbiAgZmlsdGVySGlnaGVzdFByaW9yaXR5Tm90ZVBhdGhzLFxuICBmaW5kTm9Qcmlvcml0eVdpbm5lclJlYXNvbixcbiAgZmluZE5vdGVQcmlvcml0eVJhbmssXG4gIE5PX1BSSU9SSVRZX01BVENILFxuICBOb1ByaW9yaXR5V2lubmVyUmVhc29uLFxuICBwaWNrSGlnaGVzdFByaW9yaXR5Tm90ZVBhdGhcbn0gZnJvbSAnLi9ub3RlLXByaW9yaXR5LnRzJztcbmV4cG9ydCB7XG4gIE5PVEVCT09LX05BVklHQVRPUl9NRU5VX1NPVVJDRSxcbiAgTk9URUJPT0tfTkFWSUdBVE9SX1BMVUdJTl9JRCxcbiAgcmVzb2x2ZU5vdGVib29rTmF2aWdhdG9yQXBpXG59IGZyb20gJy4vbm90ZWJvb2stbmF2aWdhdG9yLnRzJztcbmV4cG9ydCB7XG4gIGdldE9ic2lkaWFuTGliU3RhdGUsXG4gIHJlc2V0T2JzaWRpYW5MaWJTdGF0ZVxufSBmcm9tICcuL29ic2lkaWFuLWxpYi1zdGF0ZS50cyc7XG5leHBvcnQgeyBQbHVnaW5PYnNpZGlhblByb3RvY29sSGFuZGxlclJlZ2lzdHJhciB9IGZyb20gJy4vb2JzaWRpYW4tcHJvdG9jb2wtaGFuZGxlci1yZWdpc3RyYXIudHMnO1xuZXhwb3J0IHtcbiAgZ2V0TmV3TGlua0Zvcm1hdCxcbiAgaXNTcGVsbGNoZWNrRW5hYmxlZCxcbiAgaXNTcGVsbGNoZWNrRW5hYmxlZEZvck1vZGUsXG4gIHNob3VsZFVzZVdpa2lsaW5rcyxcbiAgU3BlbGxjaGVja01vZGVcbn0gZnJvbSAnLi9vYnNpZGlhbi1zZXR0aW5ncy50cyc7XG5leHBvcnQge1xuICBjYW5vbmljYWxpemVPYnNpZGlhblRleHQsXG4gIGNyZWF0ZU9ic2lkaWFuTWVudGlvblJlZ0V4cCxcbiAgZ2V0T2JzaWRpYW5OYW1lVG9rZW5zLFxuICBpc09ic2lkaWFuV29yZENoYXJhY3RlcixcbiAgdG9rZW5pemVPYnNpZGlhbldvcmRzXG59IGZyb20gJy4vb2JzaWRpYW4td29yZC1jaGFyYWN0ZXJzLnRzJztcbmV4cG9ydCB7XG4gIGVzY2FwZUFsaWFzLFxuICBpc1BhcnNlTGlua0Zyb250bWF0dGVyUmVmZXJlbmNlLFxuICBpc1BhcnNlTGlua1JlZmVyZW5jZSxcbiAgcGFyc2VGcm9udG1hdHRlckxpbmtzLFxuICBwYXJzZUxpbmssXG4gIHBhcnNlTGlua3MsXG4gIHRvUGFyc2VMaW5rUmVmZXJlbmNlLFxuICB1bmVzY2FwZUFsaWFzXG59IGZyb20gJy4vcGFyc2UtbGluay50cyc7XG5leHBvcnQge1xuICBQYXRoU2V0dGluZ3MsXG4gIHBhdGhzVmFsaWRhdG9yXG59IGZyb20gJy4vcGF0aC1zZXR0aW5ncy50cyc7XG5leHBvcnQgeyBwcmludFRvUGRmIH0gZnJvbSAnLi9wZGYudHMnO1xuZXhwb3J0IHsgUGx1Z2luQ2xpSGFuZGxlclJlZ2lzdHJhciB9IGZyb20gJy4vcGx1Z2luLWNsaS1oYW5kbGVyLXJlZ2lzdHJhci50cyc7XG5leHBvcnQge1xuICBmaW5kUGx1Z2luQXBpLFxuICBnZXRWYWxpZGF0ZVBsdWdpbkFwaVBheWxvYWRzRGVidWdTd2l0Y2gsXG4gIFBsdWdpbkFwaVBheWxvYWRLaW5kLFxuICBQbHVnaW5BcGlSZXZva2VkRXJyb3IsXG4gIFBsdWdpbkFwaVVuYXZhaWxhYmlsaXR5UmVhc29uLFxuICBQbHVnaW5BcGlVbmF2YWlsYWJsZUVycm9yLFxuICBQbHVnaW5BcGlWYWxpZGF0aW9uRXJyb3IsXG4gIHB1Ymxpc2hQbHVnaW5BcGksXG4gIHdhdGNoUGx1Z2luQXBpXG59IGZyb20gJy4vcGx1Z2luL3BsdWdpbi1hcGkudHMnO1xuZXhwb3J0IHtcbiAgREVGQVVMVF9QTFVHSU5fQVNZTkNfQ0xFQU5VUF9USU1FT1VUX0lOX01JTExJU0VDT05EUyxcbiAgZGlkUGx1Z2luQXN5bmNDbGVhbnVwc1NldHRsZSxcbiAgaGFzUGVuZGluZ1BsdWdpbkFzeW5jQ2xlYW51cHMsXG4gIFBMVUdJTl9BU1lOQ19DTEVBTlVQU19TVEFURV9LRVksXG4gIHJlZ2lzdGVyUGx1Z2luQXN5bmNDbGVhbnVwLFxuICB0cmFja1BsdWdpbkFzeW5jQ2xlYW51cFxufSBmcm9tICcuL3BsdWdpbi9wbHVnaW4tYXN5bmMtY2xlYW51cC50cyc7XG5leHBvcnQge1xuICBhZGRQbHVnaW5Dc3NDbGFzc2VzLFxuICBpbml0RGVidWdDb250cm9sbGVyLFxuICBpbml0UGx1Z2luQ29udGV4dFxufSBmcm9tICcuL3BsdWdpbi9wbHVnaW4tY29udGV4dC50cyc7XG5leHBvcnQgeyBQbHVnaW5FdmVudFNvdXJjZUltcGwgfSBmcm9tICcuL3BsdWdpbi9wbHVnaW4tZXZlbnQtc291cmNlLnRzJztcbmV4cG9ydCB7XG4gIGdldEluc3RhbGxlZFBsdWdpblN0YXRlLFxuICBnZXRJbnN0YWxsZWRQbHVnaW5WZXJzaW9uLFxuICBpbnN0YWxsQW5kRW5hYmxlUGx1Z2luLFxuICBJbnN0YWxsZWRQbHVnaW5TdGF0ZSxcbiAgdXBkYXRlUGx1Z2luXG59IGZyb20gJy4vcGx1Z2luL3BsdWdpbi1pbnN0YWxsLXN0YXRlLnRzJztcbmV4cG9ydCB7XG4gIFBMVUdJTl9MT0FERURfRVZFTlRfTkFNRSxcbiAgUExVR0lOX1VOTE9BREVEX0VWRU5UX05BTUUsXG4gIHRyaWdnZXJQbHVnaW5MaWZlY3ljbGVFdmVudFxufSBmcm9tICcuL3BsdWdpbi9wbHVnaW4tbGlmZWN5Y2xlLWV2ZW50cy50cyc7XG5leHBvcnQge1xuICBQbHVnaW5TZXR0aW5nc1RhYkJhc2UsXG4gIFNBVkVfVE9fRklMRV9DT05URVhUXG59IGZyb20gJy4vcGx1Z2luL3BsdWdpbi1zZXR0aW5ncy10YWIudHMnO1xuZXhwb3J0IHtcbiAgUGx1Z2luQmFzZSxcbiAgcmVsb2FkUGx1Z2luLFxuICBzaG93RXJyb3JBbmREaXNhYmxlUGx1Z2luXG59IGZyb20gJy4vcGx1Z2luL3BsdWdpbi50cyc7XG5leHBvcnQgeyBnZXRTZXR0aW5nc01pZ3JhdGlvbkFwaUNvbnRyYWN0IH0gZnJvbSAnLi9wbHVnaW4vc2V0dGluZ3MtbWlncmF0aW9uLWFwaS50cyc7XG5leHBvcnQgeyBlZGl0RmllbGRzSW5Qb3BvdmVyIH0gZnJvbSAnLi9wb3BvdmVycy9maWVsZC1wb3BvdmVyLnRzJztcbmV4cG9ydCB7XG4gIGNyZWF0ZUFuY2hvckZyb21Eb2N1bWVudENlbnRlcixcbiAgY3JlYXRlQW5jaG9yRnJvbUVsZW1lbnQsXG4gIGNyZWF0ZUFuY2hvckZyb21Qb2ludCxcbiAgY3JlYXRlQW5jaG9yRnJvbVNlbGVjdGlvblxufSBmcm9tICcuL3BvcG92ZXJzL3BvcG92ZXItYW5jaG9yLnRzJztcbmV4cG9ydCB7IHNob3dQb3BvdmVyIH0gZnJvbSAnLi9wb3BvdmVycy9wb3BvdmVyLnRzJztcbmV4cG9ydCB7XG4gIGlzUG9zaXRpb25Jbk9mZnNldFJhbmdlLFxuICBpc1Bvc2l0aW9uSW5zaWRlLFxuICBpc1Bvc2l0aW9uSW5zaWRlU29tZVxufSBmcm9tICcuL3Bvc2l0aW9uLnRzJztcbmV4cG9ydCB7XG4gIGNoZWNrUHJvcGVydHlFbnRyeU1hdGNoZXMsXG4gIGlzUHJvcGVydHlFbnRyeSxcbiAgUFJPUEVSVFlfRU5UUllfUFJFRklYXG59IGZyb20gJy4vcHJvcGVydHktZW50cnkudHMnO1xuZXhwb3J0IHtcbiAgYWRkVG9RdWV1ZSxcbiAgYWRkVG9RdWV1ZUFuZFdhaXQsXG4gIGZsdXNoUXVldWVcbn0gZnJvbSAnLi9xdWV1ZS50cyc7XG5leHBvcnQge1xuICBBcHBDb250ZXh0LFxuICB1c2VBcHBcbn0gZnJvbSAnLi9yZWFjdC9hcHAtY29udGV4dC50cyc7XG5leHBvcnQge1xuICBnZXRSZWZlcmVuY2VMaW5rVGV4dCxcbiAgaXNDYW52YXNGaWxlTm9kZVJlZmVyZW5jZSxcbiAgaXNDYW52YXNSZWZlcmVuY2UsXG4gIGlzQ2FudmFzVGV4dE5vZGVSZWZlcmVuY2UsXG4gIGlzUmVmZXJlbmNlSW5IZWFkaW5nLFxuICBpc1JlZmVyZW5jZUluT2Zmc2V0UmFuZ2UsXG4gIHJlZmVyZW5jZVRvRmlsZUNoYW5nZSxcbiAgc29ydFJlZmVyZW5jZXNcbn0gZnJvbSAnLi9yZWZlcmVuY2UudHMnO1xuZXhwb3J0IHtcbiAgaXNPd25lZEJ5UmVuZGVyZWRNYXJrZG93bixcbiAgcmVnaXN0ZXJGb2xkSGFuZGxlcnMsXG4gIHJlZ2lzdGVyRm9vdG5vdGVMaW5rSGFuZGxlclxufSBmcm9tICcuL3JlbmRlcmVkLW1hcmtkb3duLnRzJztcbmV4cG9ydCB7XG4gIGNyZWF0ZVJlcXVlc3RVcmxGZXRjaCxcbiAgZW5jb2RlUmVxdWVzdFVybFJlcXVlc3QsXG4gIFJlcXVlc3RVcmxFcnJvcixcbiAgcmVxdWVzdFVybEV4LFxuICByZXF1ZXN0VXJsU3RyZWFtXG59IGZyb20gJy4vcmVxdWVzdC11cmwudHMnO1xuZXhwb3J0IHtcbiAgaXNSZXNvdXJjZUxvY2tlZEZvclBhdGgsXG4gIGlzUmVzb3VyY2VMb2NrZWRGb3JQYXRoQnlBbmNlc3RvcixcbiAgbG9ja1Jlc291cmNlRm9yUGF0aCxcbiAgcmVxdWVzdFJlc291cmNlVW5sb2NrRm9yUGF0aCxcbiAgUmVzb3VyY2VMb2NrQ29tcG9uZW50LFxuICBSZXNvdXJjZUxvY2tlZEVycm9yLFxuICB1bmxvY2tSZXNvdXJjZUZvclBhdGhcbn0gZnJvbSAnLi9yZXNvdXJjZS1sb2NrLnRzJztcbmV4cG9ydCB7IHJlbGF0aXZlUGF0aFRvUmVzb3VyY2VVcmwgfSBmcm9tICcuL3Jlc291cmNlLXVybC50cyc7XG5leHBvcnQgeyBQbHVnaW5SaWJib25JY29uUmVnaXN0cmFyIH0gZnJvbSAnLi9yaWJib24taWNvbi1yZWdpc3RyYXIudHMnO1xuZXhwb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy9jaGVja2JveC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgQ29kZUhpZ2hsaWdodGVyQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvY29kZS1oaWdobGlnaHRlci1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgRGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL2RhdGUtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IERhdGVUaW1lQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvZGF0ZS10aW1lLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBFbWFpbENvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL2VtYWlsLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBGaWxlQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvZmlsZS1jb21wb25lbnQudHMnO1xuZXhwb3J0IHtcbiAgRm9sZGVySW5wdXRTdWdnZXN0LFxuICBGb2xkZXJMaXN0Q29tcG9uZW50XG59IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL2ZvbGRlci1saXN0LWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBIb3RrZXlDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy9ob3RrZXktY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IExpc3RDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy9saXN0LWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBNb250aENvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL21vbnRoLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBNdWx0aXBsZURyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvbXVsdGlwbGUtZHJvcGRvd24tY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IE11bHRpcGxlRW1haWxDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy9tdWx0aXBsZS1lbWFpbC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgTXVsdGlwbGVGaWxlQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvbXVsdGlwbGUtZmlsZS1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgTXVsdGlwbGVUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvbXVsdGlwbGUtdGV4dC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgTnVtYmVyQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvbnVtYmVyLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBQYXNzd29yZENvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL3Bhc3N3b3JkLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBlbnN1cmVXcmFwcGVkIH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvc2V0dGluZy1jb21wb25lbnQtd3JhcHBlci50cyc7XG5leHBvcnQge1xuICBUYWdJbnB1dFN1Z2dlc3QsXG4gIFRhZ0xpc3RDb21wb25lbnRcbn0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvdGFnLWxpc3QtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFRlbGVwaG9uZUNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL3RlbGVwaG9uZS1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgZ2V0VGV4dEJhc2VkQ29tcG9uZW50VmFsdWUgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy90ZXh0LWJhc2VkLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBUaW1lQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvdGltZS1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgVHJpU3RhdGVDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL3RyaS1zdGF0ZS1jaGVja2JveC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgVHlwZWREcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL3R5cGVkLWRyb3Bkb3duLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBUeXBlZE11bHRpcGxlRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy90eXBlZC1tdWx0aXBsZS1kcm9wZG93bi1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgVHlwZWRSYW5nZVRleHRDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy90eXBlZC1yYW5nZS10ZXh0LWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBUeXBlZFRleHRDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy90eXBlZC10ZXh0LWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBVcmxDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy91cmwtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IGdldFZhbGlkYXRvckNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL3ZhbGlkYXRvci1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgV2Vla0NvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL3dlZWstY29tcG9uZW50LnRzJztcbmV4cG9ydCB7XG4gIGFkb3B0U2V0dGluZ0V4LFxuICBTZXR0aW5nRXhcbn0gZnJvbSAnLi9zZXR0aW5nLWV4LnRzJztcbmV4cG9ydCB7IFNldHRpbmdHcm91cEV4IH0gZnJvbSAnLi9zZXR0aW5nLWdyb3VwLWV4LnRzJztcbmV4cG9ydCB7IG9wZW5TZXR0aW5nVGFiIH0gZnJvbSAnLi9zZXR0aW5ncy1tb2RhbC50cyc7XG5leHBvcnQgeyBTZXR0aW5nc1RhYnMgfSBmcm9tICcuL3NldHRpbmdzLXRhYnMudHMnO1xuZXhwb3J0IHsgUGx1Z2luU3RhdHVzQmFySXRlbVJlZ2lzdHJhciB9IGZyb20gJy4vc3RhdHVzLWJhci1pdGVtLXJlZ2lzdHJhci50cyc7XG5leHBvcnQge1xuICBnZXRUZW1wbGF0ZXJGdW5jdGlvbnMsXG4gIGdldFRlbXBsYXRlclJlbmRlclRhcmdldEZpbGUsXG4gIHBhcnNlVGVtcGxhdGUsXG4gIHJlcXVpcmVUZW1wbGF0ZXJBcGksXG4gIHJlc29sdmVUZW1wbGF0ZXJBcGksXG4gIFRFTVBMQVRFUl9QTFVHSU5fSUQsXG4gIFRlbXBsYXRlckFjdGl2ZUZpbGVQcm92aWRlcixcbiAgVGVtcGxhdGVyUnVuTW9kZSxcbiAgVGVtcGxhdGVyVW5hdmFpbGFiaWxpdHlSZWFzb24sXG4gIFRlbXBsYXRlclVuYXZhaWxhYmxlRXJyb3Jcbn0gZnJvbSAnLi90ZW1wbGF0ZXIudHMnO1xuZXhwb3J0IHsgRHVyYXRpb25UcmFuc2Zvcm1lciB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2R1cmF0aW9uLXRyYW5zZm9ybWVyLnRzJztcbmV4cG9ydCB7XG4gIGNsaWNrRWxlbWVudCxcbiAgY2xpY2tNb3VzZSxcbiAgaG92ZXJFbGVtZW50LFxuICBtb3ZlTW91c2UsXG4gIHByZXNzS2V5LFxuICB0eXBlSW50b0VkaXRvcixcbiAgdW5ob3ZlckVsZW1lbnRcbn0gZnJvbSAnLi90cnVzdGVkLWlucHV0LnRzJztcbmV4cG9ydCB7XG4gIEFORFJPSURfVU5TQUZFX1BBVEhfQ0hBUlMsXG4gIGdldEZpbGVOYW1lVmFsaWRhdGlvbk1lc3NhZ2UsXG4gIGdldE9zQW5kT2JzaWRpYW5VbnNhZmVQYXRoQ2hhcnNSZWdFeHAsXG4gIGdldE9zVW5zYWZlUGF0aENoYXJzUmVnRXhwLFxuICBnZXRQYXRoVmFsaWRhdGlvbk1lc3NhZ2UsXG4gIGhhc1dpbmRvd3NUcmFpbGluZ0NoYXJzLFxuICBpc1ZhbGlkYXRpb25NZXNzYWdlSG9sZGVyLFxuICBpc1dpbmRvd3NSZXNlcnZlZE5hbWUsXG4gIE9CU0lESUFOX1VOU0FGRV9GSUxFTkFNRV9DSEFSUyxcbiAgdHJpbVdpbmRvd3NUcmFpbGluZ0NoYXJzLFxuICBVTklYX1VOU0FGRV9QQVRIX0NIQVJTLFxuICBXSU5ET1dTX1VOU0FGRV9QQVRIX0NIQVJTXG59IGZyb20gJy4vdmFsaWRhdGlvbi50cyc7XG5leHBvcnQge1xuICBkZWxldGVJZk5vdFVzZWQsXG4gIERlbGV0ZUlmTm90VXNlZFJlc3VsdFxufSBmcm9tICcuL3ZhdWx0LWRlbGV0ZS50cyc7XG5leHBvcnQgeyBWYXVsdFRyYW5zYWN0aW9uIH0gZnJvbSAnLi92YXVsdC10cmFuc2FjdGlvbi50cyc7XG5leHBvcnQge1xuICBjbGVhbnVwRW1wdHlGb2xkZXJzLFxuICBjb3B5U2FmZSxcbiAgY3JlYXRlRm9sZGVyU2FmZSxcbiAgQ3JlYXRlRm9sZGVyU2FmZVJlc3VsdCxcbiAgY3JlYXRlVGVtcG9yYXJ5RmlsZSxcbiAgY3JlYXRlVGVtcG9yYXJ5Rm9sZGVyLFxuICBkZWxldGVFbXB0eUZvbGRlcixcbiAgZGVsZXRlRW1wdHlGb2xkZXJIaWVyYXJjaHksXG4gIGdldEFic3RyYWN0RmlsZVBhdGhTYWZlLFxuICBnZXRBdmFpbGFibGVQYXRoLFxuICBnZXRGaWxlUGF0aFNhZmUsXG4gIGdldEZvbGRlclBhdGhTYWZlLFxuICBnZXRNYXJrZG93bkZpbGVzU29ydGVkLFxuICBnZXROb3RlRmlsZXNTb3J0ZWQsXG4gIGdldE9yQ3JlYXRlQWJzdHJhY3RGaWxlU2FmZSxcbiAgZ2V0T3JDcmVhdGVGaWxlU2FmZSxcbiAgZ2V0T3JDcmVhdGVGb2xkZXJTYWZlLFxuICBnZXRTYWZlUmVuYW1lUGF0aCxcbiAgSW52b2tlRmlsZUFjdGlvblNhZmVSZXN1bHQsXG4gIGludm9rZVdpdGhGaWxlU3lzdGVtTG9jayxcbiAgaXNDaGlsZCxcbiAgaXNDaGlsZE9yU2VsZixcbiAgaXNFbXB0eUZvbGRlcixcbiAgbGlzdFNhZmUsXG4gIHByb2Nlc3MsXG4gIHJlYWRTYWZlLFxuICByZW5hbWVTYWZlLFxuICBzYXZlTm90ZSxcbiAgdHJhc2hTYWZlXG59IGZyb20gJy4vdmF1bHQudHMnO1xuZXhwb3J0IHsgUGx1Z2luVmlld1JlZ2lzdHJhciB9IGZyb20gJy4vdmlldy1yZWdpc3RyYXIudHMnO1xuZXhwb3J0IHsgcmVnaXN0ZXJWaXJ0dWFsRmlsZSB9IGZyb20gJy4vdmlydHVhbC1maWxlLnRzJztcbmV4cG9ydCB7XG4gIGVuc3VyZUxheW91dFJlYWR5LFxuICBnZXRBbGxDb250YWluZXJzLFxuICBnZXRBbGxEb21XaW5kb3dzLFxuICBnZXRNYWluV2luZG93LFxuICBzd2l0Y2hUb01haW5XaW5kb3csXG4gIHN3aXRjaFRvV2luZG93XG59IGZyb20gJy4vd29ya3NwYWNlLnRzJztcbmV4cG9ydCB7XG4gIGFib3J0U2lnbmFsQW55LFxuICBhYm9ydFNpZ25hbE5ldmVyLFxuICBhYm9ydFNpZ25hbFRpbWVvdXQsXG4gIGdldFNoYXJlZEFib3J0Q29udHJvbGxlcixcbiAgZ2V0U2hhcmVkQWJvcnRTaWduYWwsXG4gIElORklOSVRFX1RJTUVPVVQsXG4gIG9uQWJvcnQsXG4gIFJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXIsXG4gIHdhaXRGb3JBYm9ydFxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvYWJvcnQtY29udHJvbGxlcic7XG5leHBvcnQgeyBjcmVhdGVBZ2dyZWdhdGVFcnJvciB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9hZ2dyZWdhdGUtZXJyb3InO1xuZXhwb3J0IHtcbiAgYXJyYXlHdWFyZCxcbiAgQk9PTEVBTl9HVUFSRCxcbiAgY3JlYXRlQXBpQ29udHJhY3RTY2hlbWFCdWlsZGVycyxcbiAgY3JlYXRlQXJndW1lbnRzU2NoZW1hLFxuICBjcmVhdGVFeHBlY3RlZFR5cGVHdWFyZCxcbiAgY3JlYXRlVHlwZUd1YXJkU2NoZW1hLFxuICBkZWZpbmVBcGlDb250cmFjdCxcbiAgaW5zdGFuY2VPZkd1YXJkLFxuICBsaXRlcmFsR3VhcmQsXG4gIG51bGxhYmxlR3VhcmQsXG4gIE5VTUJFUl9HVUFSRCxcbiAgb2JqZWN0R3VhcmQsXG4gIG9wdGlvbmFsR3VhcmQsXG4gIG9wdGlvbnNHdWFyZCxcbiAgU1RSSU5HX0FSUkFZX0dVQVJELFxuICBTVFJJTkdfR1VBUkQsXG4gIFVOREVGSU5FRF9HVUFSRCxcbiAgdW5pb25HdWFyZFxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvYXBpLWNvbnRyYWN0JztcbmV4cG9ydCB7XG4gIHZhbGlkYXRlU3luYyxcbiAgdmVyaWZ5QXBpQ29udHJhY3Rcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2FwaS1jb250cmFjdC12ZXJpZmllcic7XG5leHBvcnQge1xuICBmaWx0ZXJJblBsYWNlLFxuICBzbmFwc2hvdCxcbiAgdW5pcXVlLFxuICB1bmlxdWVJblBsYWNlXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9hcnJheSc7XG5leHBvcnQgeyB0b0FycmF5QnVmZmVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2FycmF5LWJ1ZmZlcic7XG5leHBvcnQge1xuICBhZGRFcnJvckhhbmRsZXIsXG4gIGFzeW5jRmlsdGVyLFxuICBhc3luY0ZpbHRlckluUGxhY2UsXG4gIGFzeW5jRmxhdE1hcCxcbiAgYXN5bmNNYXAsXG4gIGNoYWluLFxuICBjb252ZXJ0QXN5bmNUb1N5bmMsXG4gIGNvbnZlcnRTeW5jVG9Bc3luYyxcbiAgaGFuZGxlU2lsZW50RXJyb3IsXG4gIGlnbm9yZUVycm9yLFxuICBpbnZva2VBc3luY1NhZmVseSxcbiAgaW52b2tlQXN5bmNTYWZlbHlBZnRlckRlbGF5LFxuICBpc1Rlcm1pbmF0aW9uT25UaW1lb3V0RW5hYmxlZCxcbiAgbWFya3NBc1Rlcm1pbmF0ZVJldHJ5LFxuICBuZXZlckVuZHMsXG4gIG5leHRUaWNrQXN5bmMsXG4gIG5vcm1hbGl6ZVByb21pc2FibGUsXG4gIHByb21pc2VBbGxBc3luY0Zuc1NlcXVlbnRpYWxseSxcbiAgcHJvbWlzZUFsbFNlcXVlbnRpYWxseSxcbiAgcXVldWVNaWNyb3Rhc2tBc3luYyxcbiAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lQXN5bmMsXG4gIHJldHJ5V2l0aFRpbWVvdXQsXG4gIHJ1bldpdGhUaW1lb3V0LFxuICBzZXRJbW1lZGlhdGVBc3luYyxcbiAgc2V0VGVybWluYXRpb25PblRpbWVvdXRFbmFibGVkLFxuICBzZXRUaW1lb3V0QXN5bmMsXG4gIHNsZWVwLFxuICB0aW1lb3V0LFxuICB0b0FycmF5XG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9hc3luYyc7XG5leHBvcnQge1xuICBBc3luY0V2ZW50UmVmRGlzcG9zYWJsZSxcbiAgQXN5bmNFdmVudHMsXG4gIEFzeW5jRXZlbnRzQmFzZSxcbiAgbWl4aW5Bc3luY0V2ZW50cyxcbiAgc3Vic2NyaWJlQXN5bmNEaXNwb3NhYmxlRXZlbnRcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2FzeW5jLWV2ZW50cyc7XG5leHBvcnQge1xuICBBU1lOQ19PUEVSQVRJT05fSE9PS19LRVksXG4gIEFTWU5DX09QRVJBVElPTl9IT09LX1ZFUlNJT04sXG4gIGdldEFzeW5jT3BlcmF0aW9uSG9vayxcbiAgbm90aWZ5QXN5bmNPcGVyYXRpb25TdGFydGVkLFxuICBzZXRBc3luY09wZXJhdGlvbkhvb2tcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2FzeW5jLW9wZXJhdGlvbi1ob29rJztcbmV4cG9ydCB7IEJlZXBlciB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9iZWVwZXInO1xuZXhwb3J0IHtcbiAgYmxvYlRvQXJyYXlCdWZmZXIsXG4gIGJsb2JUb0RhdGFVcmwsXG4gIGJsb2JUb0pwZWdBcnJheUJ1ZmZlcixcbiAgZGF0YVVybFRvQXJyYXlCdWZmZXIsXG4gIGlzSW1hZ2VGaWxlXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9ibG9iJztcbmV4cG9ydCB7IGZvcm1hdEJ5dGVzIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2J5dGVzJztcbmV4cG9ydCB7XG4gIGVuYWJsZUxpYnJhcnlEZWJ1Z2dlcnMsXG4gIGZvcm1hdERlYnVnR3VpZGVSZWZlcmVuY2UsXG4gIGdldERlYnVnQ29udHJvbGxlcixcbiAgZ2V0RGVidWdnZXIsXG4gIGdldExpYkRlYnVnZ2VyLFxuICBpc0RlYnVnTmFtZXNwYWNlRW5hYmxlZCxcbiAgcHJpbnRXaXRoU3RhY2tUcmFjZVxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvZGVidWcnO1xuZXhwb3J0IHtcbiAgZ2V0RGVidWdTd2l0Y2gsXG4gIGdldERlYnVnU3dpdGNoZXMsXG4gIGdldFRlcm1pbmF0ZU9uVGltZW91dERlYnVnU3dpdGNoLFxuICBvbkRlYnVnU3dpdGNoQ2hhbmdlZCxcbiAgcmVnaXN0ZXJEZWJ1Z1N3aXRjaCxcbiAgc2V0RGVidWdTd2l0Y2hcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2RlYnVnLXN3aXRjaGVzJztcbmV4cG9ydCB7IGV4dHJhY3RaaXBBcmNoaXZlIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2Rlc2t0b3AtemlwLWV4dHJhY3Rvcic7XG5leHBvcnQge1xuICBBc3luY0NhbGxiYWNrRGlzcG9zYWJsZSxcbiAgQXN5bmNEaXNwb3NhYmxlQmFzZSxcbiAgQ2FsbGJhY2tEaXNwb3NhYmxlLFxuICBDb21iaW5lQXN5bmNEaXNwb3NhYmxlLFxuICBDb21iaW5lRGlzcG9zYWJsZSxcbiAgRGlzcG9zYWJsZUJhc2UsXG4gIGRpc3Bvc2UsXG4gIGRpc3Bvc2VBc3luYyxcbiAgRGlzcG9zZUVycm9yQmVoYXZpb3IsXG4gIERpc3Bvc2VPcmRlcixcbiAgaXNBc3luY0Rpc3Bvc2FibGUsXG4gIGlzQXN5bmNEaXNwb3NhYmxlRXgsXG4gIGlzRGlzcG9zYWJsZSxcbiAgaXNEaXNwb3NhYmxlRXgsXG4gIE11bHRpcGxlRGlzcG9zZUJlaGF2aW9yLFxuICB0b0FzeW5jRGlzcG9zYWJsZUV4LFxuICB0b0Rpc3Bvc2FibGVFeFxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvZGlzcG9zYWJsZSc7XG5leHBvcnQge1xuICBnZXRFbnVtS2V5LFxuICBnZXRFbnVtVmFsdWVcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2VudW0nO1xuZXhwb3J0IHtcbiAgQVNZTkNfV1JBUFBFUl9FUlJPUl9NRVNTQUdFLFxuICBDdXN0b21TdGFja1RyYWNlRXJyb3IsXG4gIGRyYWluQ29sbGVjdGVkVW5oYW5kbGVkQXN5bmNFcnJvcnMsXG4gIGVtaXRBc3luY0Vycm9yRXZlbnQsXG4gIGVycm9yVG9TdHJpbmcsXG4gIEVycm9yV3JhcHBlcixcbiAgZ2V0U3RhY2tUcmFjZSxcbiAgaXNBc3luY0Vycm9ySWdub3JlQ29udGV4dEFjdGl2ZSxcbiAgcHJpbnRFcnJvcixcbiAgcmVnaXN0ZXJBc3luY0Vycm9yRXZlbnRIYW5kbGVyLFxuICBTaWxlbnRFcnJvcixcbiAgc3RhcnRBc3luY0Vycm9ySWdub3JlQ29udGV4dCxcbiAgc3RhcnRDb2xsZWN0aW5nVW5oYW5kbGVkQXN5bmNFcnJvcnMsXG4gIHN0b3BDb2xsZWN0aW5nVW5oYW5kbGVkQXN5bmNFcnJvcnMsXG4gIHRocm93RXhwcmVzc2lvblxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvZXJyb3InO1xuZXhwb3J0IHtcbiAgY2xvbmVGdW5jdGlvbixcbiAgY3JlYXRlRnVuY3Rpb24sXG4gIGdldEZ1bmN0aW9uRXhwcmVzc2lvblN0cmluZyxcbiAgbm9vcCxcbiAgbm9vcEFzeW5jLFxuICBub29wQXN5bmNTaW5nbGV0b25Qcm9taXNlLFxuICBvbWl0QXN5bmNSZXR1cm5UeXBlLFxuICBvbWl0UmV0dXJuVHlwZVxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvZnVuY3Rpb24nO1xuZXhwb3J0IHtcbiAgY3JlYXRlRGl2QXN5bmMsXG4gIGNyZWF0ZUVsQXN5bmMsXG4gIGNyZWF0ZUZyYWdtZW50QXN5bmMsXG4gIGNyZWF0ZVNwYW5Bc3luYyxcbiAgY3JlYXRlU3ZnQXN5bmMsXG4gIGVuc3VyZUxvYWRlZCxcbiAgZ2V0RG9jdW1lbnRXaW5kb3csXG4gIGdldFpJbmRleCxcbiAgaXNFbGVtZW50VmlzaWJsZUluT2Zmc2V0UGFyZW50LFxuICBpc0xvYWRlZCxcbiAgb25BbmNlc3RvclNjcm9sbE9yUmVzaXplLFxuICB0b1B4LFxuICB3YWl0VW50aWxDb25uZWN0ZWRcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2h0bWwtZWxlbWVudCc7XG5leHBvcnQge1xuICBleHRyYWN0SnBlZ01ldGFkYXRhU2VnbWVudHMsXG4gIGluamVjdEpwZWdNZXRhZGF0YVNlZ21lbnRzXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9qcGVnLW1ldGFkYXRhJztcbmV4cG9ydCB7XG4gIERFRkFVTFRfREVCVUdfTkFNRVNQQUNFLFxuICBMaWJyYXJ5LFxuICBMSUJSQVJZX05BTUVcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2xpYnJhcnknO1xuZXhwb3J0IHtcbiAgYXNzaWduV2l0aE5vbkVudW1lcmFibGVQcm9wZXJ0aWVzLFxuICBjYXN0VG8sXG4gIGNsb25lV2l0aE5vbkVudW1lcmFibGVQcm9wZXJ0aWVzLFxuICBkZWxldGVQcm9wZXJ0aWVzLFxuICBkZWxldGVQcm9wZXJ0eSxcbiAgZXh0cmFjdERlZmF1bHRFeHBvcnRJbnRlcm9wLFxuICBGdW5jdGlvbkhhbmRsaW5nTW9kZSxcbiAgZ2V0QWxsRW50cmllcyxcbiAgZ2V0QWxsS2V5cyxcbiAgZ2V0TmVzdGVkUHJvcGVydHlWYWx1ZSxcbiAgZ2V0UHJvdG90eXBlT2YsXG4gIGlzRGVlcEVxdWFsLFxuICBuYW1lb2YsXG4gIG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllcyxcbiAgcmVtb3ZlVW5kZWZpbmVkUHJvcGVydGllcyxcbiAgc2V0TmVzdGVkUHJvcGVydHlWYWx1ZSxcbiAgdG9Kc29uXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9vYmplY3QtdXRpbHMnO1xuZXhwb3J0IHtcbiAgYmFzZW5hbWUsXG4gIGRlbGltaXRlcixcbiAgZGlybmFtZSxcbiAgZXh0bmFtZSxcbiAgZm9ybWF0LFxuICBnZXRGaWxlTmFtZSxcbiAgZ2V0Rm9sZGVyTmFtZSxcbiAgaXNBYnNvbHV0ZSxcbiAgam9pbixcbiAgbWFrZUZpbGVOYW1lLFxuICBub3JtYWxpemVJZlJlbGF0aXZlLFxuICBub3JtYWxpemVQYXRoLFxuICBwYXJzZSxcbiAgcG9zaXgsXG4gIHJlbGF0aXZlLFxuICByZXNvbHZlLFxuICBzZXBhcmF0b3IsXG4gIHRvUG9zaXhCdWZmZXIsXG4gIHRvUG9zaXhQYXRoXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9wYXRoJztcbmV4cG9ydCB7XG4gIEFMV0FZU19NQVRDSF9SRUdfRVhQLFxuICBlc2NhcGVSZWdFeHAsXG4gIGdldE1hbmRhdG9yeU5hbWVkR3JvdXAsXG4gIGdldE9wdGlvbmFsTmFtZWRHcm91cCxcbiAgaXNWYWxpZFJlZ0V4cCxcbiAgTkVWRVJfTUFUQ0hfUkVHX0VYUCxcbiAgb25lT2YsXG4gIFJlZ0V4cE1lcmdlRmxhZ3NDb25mbGljdFN0cmF0ZWd5XG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9yZWctZXhwJztcbmV4cG9ydCB7XG4gIEVNUFRZLFxuICBlbnN1cmVFbmRzV2l0aCxcbiAgZW5zdXJlTGZFbmRpbmdzLFxuICBlbnN1cmVTdGFydHNXaXRoLFxuICBlc2NhcGUsXG4gIGdldExmTm9ybWFsaXplZE9mZnNldFRvT3JpZ2luYWxPZmZzZXRNYXBwZXIsXG4gIGhhc1NpbmdsZU9jY3VycmVuY2UsXG4gIGluZGVudCxcbiAgaW5zZXJ0QXQsXG4gIG1ha2VWYWxpZFZhcmlhYmxlTmFtZSxcbiAgbm9ybWFsaXplU3RyaW5nLFxuICByZXBsYWNlLFxuICByZXBsYWNlQWxsLFxuICByZXBsYWNlQWxsQXN5bmMsXG4gIHRyaW1FbmQsXG4gIHRyaW1TdGFydCxcbiAgdW5lc2NhcGUsXG4gIHVuaW5kZW50XG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9zdHJpbmcnO1xuZXhwb3J0IHsgRGF0ZVRyYW5zZm9ybWVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3RyYW5zZm9ybWVycy9kYXRlLXRyYW5zZm9ybWVyJztcbmV4cG9ydCB7IEdyb3VwVHJhbnNmb3JtZXIgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHJhbnNmb3JtZXJzL2dyb3VwLXRyYW5zZm9ybWVyJztcbmV4cG9ydCB7IE1hcFRyYW5zZm9ybWVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3RyYW5zZm9ybWVycy9tYXAtdHJhbnNmb3JtZXInO1xuZXhwb3J0IHsgU2V0VHJhbnNmb3JtZXIgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHJhbnNmb3JtZXJzL3NldC10cmFuc2Zvcm1lcic7XG5leHBvcnQgeyBTa2lwUHJpdmF0ZVByb3BlcnR5VHJhbnNmb3JtZXIgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHJhbnNmb3JtZXJzL3NraXAtcHJpdmF0ZS1wcm9wZXJ0eS10cmFuc2Zvcm1lcic7XG5leHBvcnQgeyBUcmFuc2Zvcm1lciB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90cmFuc2Zvcm1lcnMvdHJhbnNmb3JtZXInO1xuZXhwb3J0IHsgVHdvV2F5TWFwVHJhbnNmb3JtZXIgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHJhbnNmb3JtZXJzL3R3by13YXktbWFwLXRyYW5zZm9ybWVyJztcbmV4cG9ydCB7IFR5cGVkVHJhbnNmb3JtZXIgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHJhbnNmb3JtZXJzL3R5cGVkLXRyYW5zZm9ybWVyJztcbmV4cG9ydCB7IFR3b1dheU1hcCB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90d28td2F5LW1hcCc7XG5leHBvcnQgeyBUeXBlQXNzZXJ0ZXIgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHlwZSc7XG5leHBvcnQge1xuICBhcnJheVR5cGVHdWFyZCxcbiAgYXNzZXJ0LFxuICBhc3NlcnRHZW5lcmljT2JqZWN0LFxuICBhc3NlcnROZXZlcixcbiAgYXNzZXJ0Tm9uTnVsbGFibGUsXG4gIGVuc3VyZUdlbmVyaWNPYmplY3QsXG4gIGVuc3VyZU5vbk51bGxhYmxlLFxuICBmdW5jdGlvblR5cGVHdWFyZCxcbiAgaW5zdGFuY2VPZlR5cGVHdWFyZCxcbiAgaXNCb29sZWFuLFxuICBpc0Z1bmN0aW9uLFxuICBpc051bGwsXG4gIGlzTnVtYmVyLFxuICBpc09iamVjdCxcbiAgaXNTdHJpbmcsXG4gIGlzU3RyaW5nQXJyYXksXG4gIGlzVW5kZWZpbmVkLFxuICBsaXRlcmFsVHlwZUd1YXJkLFxuICBudWxsYWJsZVR5cGVHdWFyZCxcbiAgb2JqZWN0VHlwZUd1YXJkLFxuICBvcHRpb25hbFR5cGVHdWFyZCxcbiAgdW5pb25UeXBlR3VhcmRcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3R5cGUtZ3VhcmRzJztcbmV4cG9ydCB7XG4gIGdldFR5cGVzY3JpcHRMaWJTdGF0ZSxcbiAgZ2V0VHlwZXNjcmlwdExpYlN0YXRlU2xvdCxcbiAgcmVzZXRUeXBlc2NyaXB0TGliU3RhdGUsXG4gIFRZUEVTQ1JJUFRfTElCX1NUQVRFX0tFWSxcbiAgVFlQRVNDUklQVF9MSUJfU1RBVEVfVkVSU0lPTlxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHlwZXNjcmlwdC1saWItc3RhdGUnO1xuZXhwb3J0IHtcbiAgZW5jb2RlVXJsLFxuICBpc0ZpbGVVcmwsXG4gIGlzVXJsLFxuICBub3JtYWxpemVGaWxlVXJsLFxuICBwYXRoVG9GaWxlVXJsXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi91cmwnO1xuZXhwb3J0IHsgcmVzb2x2ZVZhbHVlIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3ZhbHVlLXByb3ZpZGVyJztcbmV4cG9ydCB7IFZhbHVlV3JhcHBlciB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi92YWx1ZS13cmFwcGVyJztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUEsa0NBQXNDO0FBQ3RDLDhCQUFnQztBQUNoQyxpQkFBdUI7QUFDdkIsK0JBR087QUFDUCw2QkFZTztBQUNQLG9DQUdPO0FBQ1AsNEJBR087QUFDUCxzQkFJTztBQUNQLGtDQUF5QztBQUN6QyxvQ0FLTztBQUNQLHdCQU9PO0FBQ1AscUNBS087QUFDUCw0QkFhTztBQUNQLHFCQUlPO0FBQ1Asb0JBQW9DO0FBQ3BDLHlDQUtPO0FBQ1AsZ0NBQXNDO0FBQ3RDLHVDQU1PO0FBQ1AsbUNBSU87QUFDUCwyQ0FBaUQ7QUFDakQsa0NBSU87QUFDUCxtQ0FHTztBQUNQLHVCQUFnQztBQUNoQyw0QkFBb0M7QUFDcEMsMkNBQTJDO0FBQzNDLHVDQUF3QztBQUN4Qyw2QkFBK0I7QUFDL0Isb0NBQXFDO0FBQ3JDLGtDQUFtQztBQUNuQyxvQ0FBcUM7QUFDckMsb0NBQXFDO0FBQ3JDLDZDQUE0QztBQUM1Qyw2Q0FBNEM7QUFDNUMsNkNBQTZDO0FBQzdDLGtEQUFpRDtBQUNqRCwwQ0FBeUM7QUFDekMsMkNBQTJDO0FBQzNDLGlEQUFnRDtBQUNoRCxnREFBK0M7QUFDL0MsK0JBQXVDO0FBQ3ZDLCtCQWdCTztBQUNQLG9DQUFxQztBQUNyQyx5Q0FJTztBQUNQLDJDQUEyQztBQUMzQyxvQ0FBbUM7QUFDbkMsNkNBQTZDO0FBQzdDLG1EQUFrRDtBQUNsRCwwQkFBNEI7QUFDNUIscUNBQXNDO0FBQ3RDLDBDQUEwQztBQUMxQyxrQ0FBc0M7QUFDdEMsd0NBQXlDO0FBQ3pDLGtEQUFrRDtBQUNsRCwrQ0FJTztBQUNQLDZEQUEyRDtBQUMzRCw4Q0FBOEM7QUFDOUMsb0NBR087QUFDUCw0Q0FBNEM7QUFDNUMscUNBSU87QUFDUCwrREFBNkQ7QUFDN0Qsc0NBQXVDO0FBQ3ZDLG1DQUdPO0FBQ1AscUNBR087QUFDUCx1Q0FBNEM7QUFDNUMsMkNBQTJDO0FBQzNDLHlDQUdPO0FBQ1Asd0NBQXlDO0FBQ3pDLHVEQUF1RDtBQUN2RCxnQ0FBa0M7QUFDbEMscUNBQXNDO0FBQ3RDLDZDQUdPO0FBQ1AsbUNBR087QUFDUCxzQ0FBdUM7QUFDdkMsMENBQTJDO0FBQzNDLG1DQUdPO0FBQ1AsMkNBQTRDO0FBQzVDLDBDQUEyQztBQUMzQyxpREFBZ0Q7QUFDaEQsdUJBQXlCO0FBQ3pCLDBCQUFrQztBQUNsQyxrQ0FBbUM7QUFDbkMsZ0NBSU87QUFDUCw4QkFHTztBQUNQLGtDQUFtQztBQUNuQyw4QkFBK0I7QUFDL0IsK0JBQWdDO0FBQ2hDLDJCQUdPO0FBQ1Asc0JBT087QUFDUCxtQkFHTztBQUNQLCtCQUFtQztBQUNuQywrQkFHTztBQUNQLHdDQUdPO0FBQ1AsdUNBQThCO0FBQzlCLGdDQUF1QztBQUN2QyxzQ0FBMEM7QUFDMUMsd0NBQTRDO0FBQzVDLHdDQUErQztBQUMvQyxzQ0FBNkM7QUFDN0MsNEJBR087QUFDUCxvQkFHTztBQUNQLG9CQUlPO0FBQ1Asa0NBQTBDO0FBQzFDLDZCQUlPO0FBQ1AseUJBVU87QUFDUCwyQkFBcUM7QUFDckMsMEJBS087QUFDUCx5QkFxQ087QUFDUCx5QkFNTztBQUNQLDhCQUlPO0FBQ1Asb0NBR087QUFDUCxpREFHTztBQUNQLHlCQU1PO0FBQ1Asb0NBR087QUFDUCxnQ0FBdUM7QUFDdkMsZ0NBR087QUFDUCxvQkFJTztBQUNQLHlDQUErQztBQUMvQywwQkFNTztBQUNQLGtCQUtPO0FBQ1AsZ0JBQW1CO0FBQ25CLDhCQUdPO0FBQ1AsbUNBSU87QUFDUCw0QkFBNkI7QUFDN0IsNEJBSU87QUFDUCxxQkFHTztBQUNQLHdDQUtPO0FBQ1AsdUJBQWtDO0FBQ2xDLGtCQXlCTztBQUNQLG9CQUFrQztBQUNsQyxrQkFBcUI7QUFDckIscURBQTBEO0FBQzFELDJDQU1PO0FBQ1AsK0NBQXFEO0FBQ3JELDJCQUFtQztBQUNuQyxzQkFNTztBQUNQLGtCQUF5QztBQUN6Qyw0QkFpQk87QUFDUCw2QkFBaUM7QUFDakMsbUJBQXNCO0FBQ3RCLGdDQUdPO0FBQ1AscUJBQXdCO0FBQ3hCLCtCQUFpQztBQUNqQyxtQ0FHTztBQUNQLG1CQUdPO0FBQ1Asb0JBQXVCO0FBQ3ZCLHlCQUEyQjtBQUMzQiwyQkFBNkI7QUFDN0IsMkNBQTJDO0FBQzNDLDJCQU9PO0FBQ1AsZ0NBSU87QUFDUCxnQ0FHTztBQUNQLGlEQUF1RDtBQUN2RCwrQkFNTztBQUNQLHNDQU1PO0FBQ1Asd0JBU087QUFDUCwyQkFHTztBQUNQLGlCQUEyQjtBQUMzQiwwQ0FBMEM7QUFDMUMsd0JBVU87QUFDUCxrQ0FPTztBQUNQLDRCQUlPO0FBQ1AsaUNBQXNDO0FBQ3RDLGtDQU1PO0FBQ1AscUNBSU87QUFDUCxpQ0FHTztBQUNQLG9CQUlPO0FBQ1Asb0NBQWdEO0FBQ2hELDJCQUFvQztBQUNwQyw0QkFLTztBQUNQLHFCQUE0QjtBQUM1QixzQkFJTztBQUNQLDRCQUlPO0FBQ1AsbUJBSU87QUFDUCx5QkFHTztBQUNQLHVCQVNPO0FBQ1AsK0JBSU87QUFDUCx5QkFNTztBQUNQLDJCQVFPO0FBQ1AsMEJBQTBDO0FBQzFDLG1DQUEwQztBQUMxQyxnQ0FBa0M7QUFDbEMsd0NBQXlDO0FBQ3pDLDRCQUE4QjtBQUM5QixpQ0FBa0M7QUFDbEMsNkJBQStCO0FBQy9CLDRCQUE4QjtBQUM5QixtQ0FHTztBQUNQLDhCQUFnQztBQUNoQyw0QkFBOEI7QUFDOUIsNkJBQStCO0FBQy9CLHlDQUEwQztBQUMxQyxzQ0FBdUM7QUFDdkMscUNBQXNDO0FBQ3RDLHFDQUFzQztBQUN0Qyw4QkFBZ0M7QUFDaEMsZ0NBQWtDO0FBQ2xDLHVDQUE4QjtBQUM5QixnQ0FHTztBQUNQLGlDQUFtQztBQUNuQyxrQ0FBMkM7QUFDM0MsNEJBQThCO0FBQzlCLDBDQUEwQztBQUMxQyxzQ0FBdUM7QUFDdkMsK0NBQStDO0FBQy9DLHdDQUF3QztBQUN4QyxrQ0FBbUM7QUFDbkMsMkJBQTZCO0FBQzdCLGlDQUFzQztBQUN0Qyw0QkFBOEI7QUFDOUIsd0JBR087QUFDUCw4QkFBK0I7QUFDL0IsNEJBQStCO0FBQy9CLDJCQUE2QjtBQUM3Qix1Q0FBNkM7QUFDN0MsdUJBV087QUFDUCxrQ0FBb0M7QUFDcEMsMkJBUU87QUFDUCx3QkFhTztBQUNQLDBCQUdPO0FBQ1AsK0JBQWlDO0FBQ2pDLG1CQThCTztBQUNQLDRCQUFvQztBQUNwQywwQkFBb0M7QUFDcEMsdUJBT087QUFDUCw4QkFVTztBQUNQLDZCQUFxQztBQUNyQywwQkFtQk87QUFDUCxtQ0FHTztBQUNQLG1CQUtPO0FBQ1AsMEJBQThCO0FBQzlCLG1CQThCTztBQUNQLDBCQU1PO0FBQ1Asa0NBTU87QUFDUCxvQkFBdUI7QUFDdkIsa0JBTU87QUFDUCxtQkFBNEI7QUFDNUIsSUFBQUEsZ0JBUU87QUFDUCw0QkFPTztBQUNQLG1DQUFrQztBQUNsQyx3QkFrQk87QUFDUCxrQkFHTztBQUNQLG1CQWdCTztBQUNQLHNCQVNPO0FBQ1AsSUFBQUMsdUJBY087QUFDUCwyQkFHTztBQUNQLElBQUFDLGtCQUlPO0FBQ1AsMEJBa0JPO0FBQ1Asa0JBb0JPO0FBQ1AscUJBU087QUFDUCxvQkFtQk87QUFDUCw4QkFBZ0M7QUFDaEMsK0JBQWlDO0FBQ2pDLDZCQUErQjtBQUMvQiw2QkFBK0I7QUFDL0IsK0NBQStDO0FBQy9DLHlCQUE0QjtBQUM1QixxQ0FBcUM7QUFDckMsK0JBQWlDO0FBQ2pDLHlCQUEwQjtBQUMxQixrQkFBNkI7QUFDN0IseUJBdUJPO0FBQ1Asa0NBTU87QUFDUCxpQkFNTztBQUNQLDRCQUE2QjtBQUM3QiwyQkFBNkI7IiwibmFtZXMiOlsiaW1wb3J0X2RlYnVnIiwiaW1wb3J0X2h0bWxfZWxlbWVudCIsImltcG9ydF9saWJyYXJ5Il19
@@ -17,6 +17,7 @@ export { getCanvasReferences } from './canvas.cjs';
17
17
  export { CaseInsensitiveFileIndex, getCaseInsensitiveFileIndex, setCaseInsensitiveFileIndex, unsetCaseInsensitiveFileIndex } from './case-insensitive-file-index.cjs';
18
18
  export { createCodeBlockRegExp } from './code-block-reg-exp.cjs';
19
19
  export { captureCodeBlockFocus, claimCodeBlockRenderHandoff, CODE_BLOCK_RENDER_HANDOFF_LIFETIME_IN_MILLISECONDS, recordCodeBlockRenderHandoff, restoreCodeBlockFocus } from './code-block-render-handoff.cjs';
20
+ export { createLivePreviewOnlyExtension, createSourceModeOnlyExtension, isLivePreview } from './codemirror/editor-mode-extension.cjs';
20
21
  export { createIncrementalParseStateField } from './codemirror/incremental-parse-state-field.cjs';
21
22
  export { createInlineTokenWidgetsExtension, execAll, toGlobalRegExp } from './codemirror/inline-token-widgets.cjs';
22
23
  export { dispatchToAllMarkdownEditorViews, getAllMarkdownEditorViews } from './codemirror/markdown-editor-views.cjs';
@@ -40,7 +41,7 @@ export { UnlockActiveNoteCommandHandler } from './command-handlers/unlock-active
40
41
  export { PluginCommandRegistrar } from './command-registrar.cjs';
41
42
  export { configureCommunityPlugin, ConfigureCommunityPluginResult, disableCommunityPlugin, enableCommunityPlugin, getCommunityPluginRepo, getLatestReleaseVersion, installCommunityPlugin, installConfigureEnableCommunityPlugin, PluginEnableRefusedError, searchCommunityPlugins, toggleEnableCommunityPlugin, toggleInstallCommunityPlugin, uninstallCommunityPlugin, updateCommunityPlugin, UpdateCommunityPluginResult } from './community-plugins.cjs';
42
43
  export { AbortSignalComponent } from './components/abort-signal-component.cjs';
43
- export { AllWindowsEventComponent } from './components/all-windows-event-component.cjs';
44
+ export { AllWindowsEventComponent, forEachWindow, registerBodyClass } from './components/all-windows-event-component.cjs';
44
45
  export { AsyncErrorHandlerComponent } from './components/async-error-handler-component.cjs';
45
46
  export { registerAsyncEvent } from './components/async-events-component.cjs';
46
47
  export { BulkOperationCommitComponent } from './components/bulk-operation-commit-component.cjs';
@@ -106,6 +107,7 @@ export { revealInFileExplorer } from './file-explorer.cjs';
106
107
  export { addAlias, deleteAlias, processFrontmatter, waitForPendingLinkUpdates } from './file-manager.cjs';
107
108
  export { asArrayOfFiles, asArrayOfFolders, asFile, asFileOrNull, asFolder, asFolderOrNull, BASE_FILE_EXTENSION, CANVAS_FILE_EXTENSION, checkExtension, doesExist, FileSystemType, getAbstractFile, getAbstractFileOrNull, getBasename, getExtension, getFile, getFileOrNull, getFileSystemType, getFolder, getFolderOrNull, getMarkdownFiles, getOrCreateFile, getOrCreateFolder, getPath, isAbstractFile, isBaseFile, isCanvasFile, isFile, isFolder, isMarkdownFile, isNote, isPathOrFile, isTreatedAsAttachment, MARKDOWN_FILE_EXTENSION, MissingPathTreatment, trimMarkdownExtension } from './file-system.cjs';
108
109
  export { FOLDER_NOTES_PLUGIN_ID, FolderNoteLocation, getFolderNoteFolder, resolveFolderNote, resolveFolderNoteConfig } from './folder-note.cjs';
110
+ export { createFormulaFunction, createFormulaFunctionParameter, registerFormulaFunction } from './formula-function.cjs';
109
111
  export { enableFrontmatterFormattingPreservation, preserveFrontmatterFormatting } from './frontmatter-formatting.cjs';
110
112
  export { isFrontmatterLinkCacheWithOffsets, toFrontmatterLinkCacheWithOffsets } from './frontmatter-link-cache-with-offsets.cjs';
111
113
  export { checkIsPlainObject, parseFrontmatter, registerFrontmatterFormattingPreserver, removeEmptyFrontmatterValues, setFrontmatter } from './frontmatter.cjs';
@@ -115,7 +117,7 @@ export { loadGitRenames, parseGitRenameLog } from './git-rename-history.cjs';
115
117
  export { formatHotkey, getHotkeyFromKeyboardEvent, isSameHotkey } from './hotkey.cjs';
116
118
  export { PluginHoverLinkSourceRegistrar } from './hover-link-source-registrar.cjs';
117
119
  export { appendCodeBlock, appendTextOrFragmentClone, applySpellcheckMode, asCodeBlock, createFragmentWithCodeBlocks } from './html-element.cjs';
118
- export { DEFAULT_NS, initI18N, t } from './i18n/i18n.cjs';
120
+ export { DEFAULT_NS, getLanguagesToLoad, initI18N, t } from './i18n/i18n.cjs';
119
121
  export { en } from './i18n/locales/en.cjs';
120
122
  export { DEFAULT_LANGUAGE, defaultTranslationsMap } from './i18n/locales/translations-map.cjs';
121
123
  export { createInlineTokenPostProcessor, DEFAULT_INLINE_TOKEN_SKIP_SELECTOR, registerInlineTokenRenderer } from './inline-token-renderer.cjs';
@@ -136,6 +138,7 @@ export { addSingleChoiceMenuItems } from './menu.cjs';
136
138
  export { ADVANCED_METADATA_CACHE_PLUGIN_ID, BACKLINK_CACHE_PLUGIN_ID, CachedMetadataExFeature, ensureMetadataCacheReady, getBacklinksForFileOrPath, getBacklinksForFileSafe, getCacheSafe, getFrontmatterSafe, getReferences, hasBacklinkCachePlugin, isCachedMetadataEx, parseMetadata, registerFileCacheForNonExistingFile, registerFiles, unregisterFileCacheForNonExistingFile, unregisterFiles } from './metadata-cache.cjs';
137
139
  export { getMobileAppInfo } from './mobile-app-info.cjs';
138
140
  export { alert } from './modals/alert.cjs';
141
+ export { formatCodeBlock, showCodeBlockBuilder } from './modals/code-block-builder.cjs';
139
142
  export { confirm } from './modals/confirm.cjs';
140
143
  export { MinimizableModal } from './modals/minimizable-modal.cjs';
141
144
  export { ModalCommandBuilder, ModalCommandsRenderMode } from './modals/modal-command-builder.cjs';
@@ -155,6 +158,7 @@ export { PathSettings, pathsValidator } from './path-settings.cjs';
155
158
  export { printToPdf } from './pdf.cjs';
156
159
  export { PluginCliHandlerRegistrar } from './plugin-cli-handler-registrar.cjs';
157
160
  export { findPluginApi, getValidatePluginApiPayloadsDebugSwitch, PluginApiPayloadKind, PluginApiRevokedError, PluginApiUnavailabilityReason, PluginApiUnavailableError, PluginApiValidationError, publishPluginApi, watchPluginApi } from './plugin/plugin-api.cjs';
161
+ export { DEFAULT_PLUGIN_ASYNC_CLEANUP_TIMEOUT_IN_MILLISECONDS, didPluginAsyncCleanupsSettle, hasPendingPluginAsyncCleanups, PLUGIN_ASYNC_CLEANUPS_STATE_KEY, registerPluginAsyncCleanup, trackPluginAsyncCleanup } from './plugin/plugin-async-cleanup.cjs';
158
162
  export { addPluginCssClasses, initDebugController, initPluginContext } from './plugin/plugin-context.cjs';
159
163
  export { PluginEventSourceImpl } from './plugin/plugin-event-source.cjs';
160
164
  export { getInstalledPluginState, getInstalledPluginVersion, installAndEnablePlugin, InstalledPluginState, updatePlugin } from './plugin/plugin-install-state.cjs';
@@ -217,6 +221,7 @@ export { deleteIfNotUsed, DeleteIfNotUsedResult } from './vault-delete.cjs';
217
221
  export { VaultTransaction } from './vault-transaction.cjs';
218
222
  export { cleanupEmptyFolders, copySafe, createFolderSafe, CreateFolderSafeResult, createTemporaryFile, createTemporaryFolder, deleteEmptyFolder, deleteEmptyFolderHierarchy, getAbstractFilePathSafe, getAvailablePath, getFilePathSafe, getFolderPathSafe, getMarkdownFilesSorted, getNoteFilesSorted, getOrCreateAbstractFileSafe, getOrCreateFileSafe, getOrCreateFolderSafe, getSafeRenamePath, InvokeFileActionSafeResult, invokeWithFileSystemLock, isChild, isChildOrSelf, isEmptyFolder, listSafe, process, readSafe, renameSafe, saveNote, trashSafe } from './vault.cjs';
219
223
  export { PluginViewRegistrar } from './view-registrar.cjs';
224
+ export { registerVirtualFile } from './virtual-file.cjs';
220
225
  export { ensureLayoutReady, getAllContainers, getAllDomWindows, getMainWindow, switchToMainWindow, switchToWindow } from './workspace.cjs';
221
226
  export { abortSignalAny, abortSignalNever, abortSignalTimeout, getSharedAbortController, getSharedAbortSignal, INFINITE_TIMEOUT, onAbort, ResettableAbortController, waitForAbort } from '@mnaoumov/typescript-lib/abort-controller';
222
227
  export { createAggregateError } from '@mnaoumov/typescript-lib/aggregate-error';