@sourcegraph/code-host-integration 0.0.80 → 0.0.82

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 (83) hide show
  1. package/css/inject.bundle.css +6 -6
  2. package/css/style.bundle.css +2 -2
  3. package/extensions/revision.txt +1 -0
  4. package/extensions/sourcegraph-apex/extension.js +528 -0
  5. package/extensions/sourcegraph-apex/package.json +137 -0
  6. package/extensions/sourcegraph-clojure/extension.js +528 -0
  7. package/extensions/sourcegraph-clojure/package.json +137 -0
  8. package/extensions/sourcegraph-cobol/extension.js +528 -0
  9. package/extensions/sourcegraph-cobol/package.json +137 -0
  10. package/extensions/sourcegraph-cpp/extension.js +528 -0
  11. package/extensions/sourcegraph-cpp/package.json +137 -0
  12. package/extensions/sourcegraph-csharp/extension.js +528 -0
  13. package/extensions/sourcegraph-csharp/package.json +137 -0
  14. package/extensions/sourcegraph-cuda/extension.js +528 -0
  15. package/extensions/sourcegraph-cuda/package.json +137 -0
  16. package/extensions/sourcegraph-dart/extension.js +528 -0
  17. package/extensions/sourcegraph-dart/package.json +137 -0
  18. package/extensions/sourcegraph-elixir/extension.js +528 -0
  19. package/extensions/sourcegraph-elixir/package.json +137 -0
  20. package/extensions/sourcegraph-erlang/extension.js +528 -0
  21. package/extensions/sourcegraph-erlang/package.json +137 -0
  22. package/extensions/sourcegraph-go/extension.js +528 -0
  23. package/extensions/sourcegraph-go/package.json +137 -0
  24. package/extensions/sourcegraph-graphql/extension.js +528 -0
  25. package/extensions/sourcegraph-graphql/package.json +137 -0
  26. package/extensions/sourcegraph-groovy/extension.js +528 -0
  27. package/extensions/sourcegraph-groovy/package.json +137 -0
  28. package/extensions/sourcegraph-haskell/extension.js +528 -0
  29. package/extensions/sourcegraph-haskell/package.json +137 -0
  30. package/extensions/sourcegraph-java/extension.js +528 -0
  31. package/extensions/sourcegraph-java/package.json +137 -0
  32. package/extensions/sourcegraph-jsonnet/extension.js +528 -0
  33. package/extensions/sourcegraph-jsonnet/package.json +137 -0
  34. package/extensions/sourcegraph-kotlin/extension.js +528 -0
  35. package/extensions/sourcegraph-kotlin/package.json +137 -0
  36. package/extensions/sourcegraph-lisp/extension.js +528 -0
  37. package/extensions/sourcegraph-lisp/package.json +137 -0
  38. package/extensions/sourcegraph-lua/extension.js +528 -0
  39. package/extensions/sourcegraph-lua/package.json +137 -0
  40. package/extensions/sourcegraph-ocaml/extension.js +528 -0
  41. package/extensions/sourcegraph-ocaml/package.json +137 -0
  42. package/extensions/sourcegraph-pascal/extension.js +528 -0
  43. package/extensions/sourcegraph-pascal/package.json +137 -0
  44. package/extensions/sourcegraph-perl/extension.js +528 -0
  45. package/extensions/sourcegraph-perl/package.json +137 -0
  46. package/extensions/sourcegraph-php/extension.js +528 -0
  47. package/extensions/sourcegraph-php/package.json +137 -0
  48. package/extensions/sourcegraph-powershell/extension.js +528 -0
  49. package/extensions/sourcegraph-powershell/package.json +137 -0
  50. package/extensions/sourcegraph-protobuf/extension.js +528 -0
  51. package/extensions/sourcegraph-protobuf/package.json +137 -0
  52. package/extensions/sourcegraph-python/extension.js +528 -0
  53. package/extensions/sourcegraph-python/package.json +137 -0
  54. package/extensions/sourcegraph-r/extension.js +528 -0
  55. package/extensions/sourcegraph-r/package.json +137 -0
  56. package/extensions/sourcegraph-ruby/extension.js +528 -0
  57. package/extensions/sourcegraph-ruby/package.json +137 -0
  58. package/extensions/sourcegraph-rust/extension.js +528 -0
  59. package/extensions/sourcegraph-rust/package.json +137 -0
  60. package/extensions/sourcegraph-scala/extension.js +528 -0
  61. package/extensions/sourcegraph-scala/package.json +137 -0
  62. package/extensions/sourcegraph-shell/extension.js +528 -0
  63. package/extensions/sourcegraph-shell/package.json +137 -0
  64. package/extensions/sourcegraph-starlark/extension.js +528 -0
  65. package/extensions/sourcegraph-starlark/package.json +137 -0
  66. package/extensions/sourcegraph-strato/extension.js +528 -0
  67. package/extensions/sourcegraph-strato/package.json +137 -0
  68. package/extensions/sourcegraph-swift/extension.js +528 -0
  69. package/extensions/sourcegraph-swift/package.json +137 -0
  70. package/extensions/sourcegraph-tcl/extension.js +528 -0
  71. package/extensions/sourcegraph-tcl/package.json +137 -0
  72. package/extensions/sourcegraph-thrift/extension.js +528 -0
  73. package/extensions/sourcegraph-thrift/package.json +137 -0
  74. package/extensions/sourcegraph-typescript/extension.js +528 -0
  75. package/extensions/sourcegraph-typescript/package.json +138 -0
  76. package/extensions/sourcegraph-verilog/extension.js +528 -0
  77. package/extensions/sourcegraph-verilog/package.json +137 -0
  78. package/extensions/sourcegraph-vhdl/extension.js +528 -0
  79. package/extensions/sourcegraph-vhdl/package.json +137 -0
  80. package/package.json +1 -1
  81. package/scripts/extensionHostWorker.bundle.js +1 -1
  82. package/scripts/integration.bundle.js +34 -29
  83. package/scripts/phabricator.bundle.js +34 -29
@@ -0,0 +1,137 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/sourcegraph/sourcegraph/master/shared/src/schema/extension.schema.json",
3
+ "name": "cuda",
4
+ "description": "Provides search-based code intelligence for CUDA using the Sourcegraph search API",
5
+ "private": true,
6
+ "sideEffects": false,
7
+ "publisher": "sourcegraph",
8
+ "version": "0.0.0-DEVELOPMENT",
9
+ "license": "MIT",
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "github:sourcegraph/code-intel-extensions",
13
+ "directory": "template"
14
+ },
15
+ "categories": [
16
+ "Programming languages"
17
+ ],
18
+ "tags": [
19
+ "fuzzy"
20
+ ],
21
+ "main": "dist/extension.js",
22
+ "files": [
23
+ "dist"
24
+ ],
25
+ "engines": {
26
+ "node": ">=v14.19.3"
27
+ },
28
+ "browserslist": [
29
+ "last 1 Chrome versions",
30
+ "last 1 Firefox versions",
31
+ "last 1 Edge versions",
32
+ "last 1 Safari versions"
33
+ ],
34
+ "activationEvents": [
35
+ "onLanguage:cuda"
36
+ ],
37
+ "scripts": {
38
+ "build": "../node_modules/.bin/tsc -b . && ../node_modules/.bin/parcel build --out-file extension.js src/extension.ts",
39
+ "test": "../node_modules/.bin/nyc --reporter=lcov mocha '**/*.test.ts'",
40
+ "symlink-package": "../node_modules/.bin/mkdirp dist && ../node_modules/.bin/lnfs ./package.json ./dist/package.json",
41
+ "serve": "yarn run symlink-package && ../node_modules/.bin/parcel serve --no-hmr --out-file dist/extension.js src/extension.ts",
42
+ "sourcegraph:prepublish": "yarn run build",
43
+ "publish": "yarn -s && src -config \"${SRC_CONFIG}\" ext publish -git-head \"${BUILDKITE_COMMIT}\""
44
+ },
45
+ "contributes": {
46
+ "menus": {
47
+ "panel/toolbar": [
48
+ {
49
+ "action": "mixPreciseAndSearchBasedReferences.toggle",
50
+ "when": "panel.activeView.id == 'references' && !config.codeIntel.disableSearchBased"
51
+ }
52
+ ],
53
+ "hover": [
54
+ {
55
+ "action": "findImplementations",
56
+ "when": "resource.language == 'cuda' && get(context, `implementations_${resource.language}`) && (goToDefinition.showLoading || goToDefinition.url || goToDefinition.error)"
57
+ }
58
+ ]
59
+ },
60
+ "actions": [
61
+ {
62
+ "id": "mixPreciseAndSearchBasedReferences.toggle",
63
+ "command": "updateConfiguration",
64
+ "title": "${!!config.codeIntel.mixPreciseAndSearchBasedReferences && \"Hide search-based results when precise results are available\" || \"Mix precise and search-based results\"}",
65
+ "commandArguments": [
66
+ [
67
+ "codeIntel.mixPreciseAndSearchBasedReferences"
68
+ ],
69
+ "${!config.codeIntel.mixPreciseAndSearchBasedReferences}",
70
+ null,
71
+ "json"
72
+ ],
73
+ "actionItem": {
74
+ "label": "${!!config.codeIntel.mixPreciseAndSearchBasedReferences && \"Hide search-based results when precise results are available\" || \"Mix precise and search-based results\"}"
75
+ }
76
+ },
77
+ {
78
+ "id": "findImplementations",
79
+ "title": "Find implementations",
80
+ "command": "open",
81
+ "commandArguments": [
82
+ "${get(context, 'implementations_cuda') && get(context, 'panel.url') && sub(get(context, 'panel.url'), 'panelID', 'implementations_cuda') || 'noop'}"
83
+ ],
84
+ "actionItem": {
85
+ "label": "Find implementations"
86
+ }
87
+ }
88
+ ],
89
+ "configuration": {
90
+ "title": "Search-based code intelligence settings",
91
+ "properties": {
92
+ "codeIntel.lsif": {
93
+ "description": "Whether to use pre-computed LSIF data for code intelligence (such as hovers, definitions, and references). See https://docs.sourcegraph.com/code_intelligence/explanations/precise_code_intelligence.",
94
+ "type": "boolean"
95
+ },
96
+ "codeIntel.disableSearchBased": {
97
+ "description": "Never fall back to search-based code intelligence.",
98
+ "type": "boolean"
99
+ },
100
+ "codeIntel.traceExtension": {
101
+ "description": "Whether to enable trace logging on the extension.",
102
+ "type": "boolean"
103
+ },
104
+ "codeIntel.disableRangeQueries": {
105
+ "description": "Whether to fetch multiple precise definitions and references on hover.",
106
+ "type": "boolean"
107
+ },
108
+ "codeIntel.mixPreciseAndSearchBasedReferences": {
109
+ "description": "Whether to supplement precise references with search-based results.",
110
+ "type": "boolean"
111
+ },
112
+ "basicCodeIntel.includeForks": {
113
+ "description": "Whether to include forked repositories in search results.",
114
+ "type": "boolean"
115
+ },
116
+ "basicCodeIntel.includeArchives": {
117
+ "description": "Whether to include archived repositories in search results.",
118
+ "type": "boolean"
119
+ },
120
+ "basicCodeIntel.globalSearchesEnabled": {
121
+ "description": "Whether to run global searches over all repositories. On instances with many repositories, this can lead to issues such as: low quality results, slow response times, or significant load on the Sourcegraph instance. Defaults to true.",
122
+ "type": "boolean"
123
+ },
124
+ "basicCodeIntel.indexOnly": {
125
+ "description": "Whether to use only indexed requests to the search API.",
126
+ "type": "boolean"
127
+ },
128
+ "basicCodeIntel.unindexedSearchTimeout": {
129
+ "description": "The timeout (in milliseconds) for un-indexed search requests.",
130
+ "type": "number"
131
+ }
132
+ }
133
+ }
134
+ },
135
+ "title": "CUDA code intelligence",
136
+ "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAACXBIWXMAAAsTAAALEwEAmpwYAABBK2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMjEgNzkuMTU0OTExLCAyMDEzLzEwLzI5LTExOjQ3OjE2ICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICAgICAgICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICAgICAgICAgIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIgogICAgICAgICAgICB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDx4bXA6Q3JlYXRvclRvb2w+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwveG1wOkNyZWF0b3JUb29sPgogICAgICAgICA8eG1wOkNyZWF0ZURhdGU+MjAxNy0xMS0xOVQxOToyNDozNyswMTowMDwveG1wOkNyZWF0ZURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTctMTEtMTlUMTk6MjQ6NDUrMDE6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDE3LTExLTE5VDE5OjI0OjQ1KzAxOjAwPC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9wbmc8L2RjOmZvcm1hdD4KICAgICAgICAgPHhtcE1NOkluc3RhbmNlSUQ+eG1wLmlpZDphNGU2NTdhYi04NTNiLWVkNDItODYwOC00ZjI4YmU1MWQ5Y2U8L3htcE1NOkluc3RhbmNlSUQ+CiAgICAgICAgIDx4bXBNTTpEb2N1bWVudElEPnhtcC5kaWQ6MGVhMTVmYzUtYmUyNi0yOTQzLWI4MjItZTU0N2U1MTZhODhhPC94bXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06T3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6MGVhMTVmYzUtYmUyNi0yOTQzLWI4MjItZTU0N2U1MTZhODhhPC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjBlYTE1ZmM1LWJlMjYtMjk0My1iODIyLWU1NDdlNTE2YTg4YTwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNy0xMS0xOVQxOToyNDozNyswMTowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6Y2IwN2UyYjEtMGQ2NS04MTRmLWJmYjUtNzFkM2EwNjk3ZTBiPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE3LTExLTE5VDE5OjI0OjQ1KzAxOjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y29udmVydGVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpwYXJhbWV0ZXJzPmZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmc8L3N0RXZ0OnBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5kZXJpdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpwYXJhbWV0ZXJzPmNvbnZlcnRlZCBmcm9tIGFwcGxpY2F0aW9uL3ZuZC5hZG9iZS5waG90b3Nob3AgdG8gaW1hZ2UvcG5nPC9zdEV2dDpwYXJhbWV0ZXJzPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDphNGU2NTdhYi04NTNiLWVkNDItODYwOC00ZjI4YmU1MWQ5Y2U8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTctMTEtMTlUMTk6MjQ6NDUrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPHhtcE1NOkRlcml2ZWRGcm9tIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgPHN0UmVmOmluc3RhbmNlSUQ+eG1wLmlpZDpjYjA3ZTJiMS0wZDY1LTgxNGYtYmZiNS03MWQzYTA2OTdlMGI8L3N0UmVmOmluc3RhbmNlSUQ+CiAgICAgICAgICAgIDxzdFJlZjpkb2N1bWVudElEPnhtcC5kaWQ6MGVhMTVmYzUtYmUyNi0yOTQzLWI4MjItZTU0N2U1MTZhODhhPC9zdFJlZjpkb2N1bWVudElEPgogICAgICAgICAgICA8c3RSZWY6b3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6MGVhMTVmYzUtYmUyNi0yOTQzLWI4MjItZTU0N2U1MTZhODhhPC9zdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDwveG1wTU06RGVyaXZlZEZyb20+CiAgICAgICAgIDxwaG90b3Nob3A6VGV4dExheWVycz4KICAgICAgICAgICAgPHJkZjpCYWc+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8cGhvdG9zaG9wOkxheWVyTmFtZT5DPC9waG90b3Nob3A6TGF5ZXJOYW1lPgogICAgICAgICAgICAgICAgICA8cGhvdG9zaG9wOkxheWVyVGV4dD5DPC9waG90b3Nob3A6TGF5ZXJUZXh0PgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxwaG90b3Nob3A6TGF5ZXJOYW1lPnU8L3Bob3Rvc2hvcDpMYXllck5hbWU+CiAgICAgICAgICAgICAgICAgIDxwaG90b3Nob3A6TGF5ZXJUZXh0PnU8L3Bob3Rvc2hvcDpMYXllclRleHQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpCYWc+CiAgICAgICAgIDwvcGhvdG9zaG9wOlRleHRMYXllcnM+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4xMjg8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MTI4PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz6vMu7xAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAmuSURBVHja7J19kJV1Fcc/97qg4sSim7wUViouCqRmC0OB5V5B0XxXbIqycojM0rEyWYu83V6I1alBx5dSnMnaXkilHHRMWS4WaIQuZjmIRUsh4CjKi4rkwt7tj/PbAZa77HOffe49v+e55zvz/AG7e+95nvN9zu+c8zu/c1JdXV0YqhdpewRGAIMRwGAEMBgBDEYAQ5Whpr8fkMt7xaGBwInASUA98D53DQXqgMHAEfvc9x5gJ7AdeAXYDKwD1gJ/B54DOsopcDZTiDcBlPFuoBH4ODABOBUYUOL917rr/UV+3gGsBlrdtQLoNAugi3HAxcCFwGlAqswWZaK75gCvAw8BvwKeAApGgMpgOPAZ4HOOAFqoA65013+Ae4C7gdfMCSwPJgK/BjYAtygrvyc+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"
137
+ }