@jbrowse/plugin-linear-genome-view 1.7.9 → 2.0.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 (272) hide show
  1. package/dist/BaseLinearDisplay/components/BaseLinearDisplay.d.ts +1 -5
  2. package/dist/BaseLinearDisplay/components/BaseLinearDisplay.js +118 -226
  3. package/dist/BaseLinearDisplay/components/BaseLinearDisplay.js.map +1 -0
  4. package/dist/BaseLinearDisplay/components/Block.js +53 -74
  5. package/dist/BaseLinearDisplay/components/Block.js.map +1 -0
  6. package/dist/BaseLinearDisplay/components/LinearBlocks.d.ts +11 -1
  7. package/dist/BaseLinearDisplay/components/LinearBlocks.js +64 -103
  8. package/dist/BaseLinearDisplay/components/LinearBlocks.js.map +1 -0
  9. package/dist/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js +145 -175
  10. package/dist/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js.map +1 -0
  11. package/dist/BaseLinearDisplay/components/Tooltip.d.ts +8 -0
  12. package/dist/BaseLinearDisplay/components/Tooltip.js +118 -0
  13. package/dist/BaseLinearDisplay/components/Tooltip.js.map +1 -0
  14. package/dist/BaseLinearDisplay/index.js +13 -40
  15. package/dist/BaseLinearDisplay/index.js.map +1 -0
  16. package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +20 -15
  17. package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.js +605 -683
  18. package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.js.map +1 -0
  19. package/dist/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.js +15 -22
  20. package/dist/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.js.map +1 -0
  21. package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.d.ts +7 -8
  22. package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.js +266 -312
  23. package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.js.map +1 -0
  24. package/dist/LinearBareDisplay/configSchema.js +11 -17
  25. package/dist/LinearBareDisplay/configSchema.js.map +1 -0
  26. package/dist/LinearBareDisplay/index.js +7 -20
  27. package/dist/LinearBareDisplay/index.js.map +1 -0
  28. package/dist/LinearBareDisplay/model.d.ts +16 -14
  29. package/dist/LinearBareDisplay/model.js +36 -42
  30. package/dist/LinearBareDisplay/model.js.map +1 -0
  31. package/dist/LinearBasicDisplay/components/SetMaxHeight.d.ts +1 -1
  32. package/dist/LinearBasicDisplay/components/SetMaxHeight.js +76 -85
  33. package/dist/LinearBasicDisplay/components/SetMaxHeight.js.map +1 -0
  34. package/dist/LinearBasicDisplay/configSchema.js +15 -23
  35. package/dist/LinearBasicDisplay/configSchema.js.map +1 -0
  36. package/dist/LinearBasicDisplay/index.js +10 -22
  37. package/dist/LinearBasicDisplay/index.js.map +1 -0
  38. package/dist/LinearBasicDisplay/model.d.ts +20 -15
  39. package/dist/LinearBasicDisplay/model.js +180 -159
  40. package/dist/LinearBasicDisplay/model.js.map +1 -0
  41. package/dist/LinearGenomeView/components/CenterLine.d.ts +2 -8
  42. package/dist/LinearGenomeView/components/CenterLine.js +60 -74
  43. package/dist/LinearGenomeView/components/CenterLine.js.map +1 -0
  44. package/dist/LinearGenomeView/components/ExportSvgDialog.js +141 -141
  45. package/dist/LinearGenomeView/components/ExportSvgDialog.js.map +1 -0
  46. package/dist/LinearGenomeView/components/Header.js +70 -123
  47. package/dist/LinearGenomeView/components/Header.js.map +1 -0
  48. package/dist/LinearGenomeView/components/HelpDialog.d.ts +0 -1
  49. package/dist/LinearGenomeView/components/HelpDialog.js +62 -45
  50. package/dist/LinearGenomeView/components/HelpDialog.js.map +1 -0
  51. package/dist/LinearGenomeView/components/ImportForm.js +223 -320
  52. package/dist/LinearGenomeView/components/ImportForm.js.map +1 -0
  53. package/dist/LinearGenomeView/components/LinearGenomeView.js +64 -120
  54. package/dist/LinearGenomeView/components/LinearGenomeView.js.map +1 -0
  55. package/dist/LinearGenomeView/components/LinearGenomeViewSvg.js +198 -337
  56. package/dist/LinearGenomeView/components/LinearGenomeViewSvg.js.map +1 -0
  57. package/dist/LinearGenomeView/components/MiniControls.js +64 -78
  58. package/dist/LinearGenomeView/components/MiniControls.js.map +1 -0
  59. package/dist/LinearGenomeView/components/OverviewRubberBand.js +226 -293
  60. package/dist/LinearGenomeView/components/OverviewRubberBand.js.map +1 -0
  61. package/dist/LinearGenomeView/components/OverviewScaleBar.d.ts +24 -8
  62. package/dist/LinearGenomeView/components/OverviewScaleBar.js +277 -365
  63. package/dist/LinearGenomeView/components/OverviewScaleBar.js.map +1 -0
  64. package/dist/LinearGenomeView/components/RefNameAutocomplete.d.ts +1 -1
  65. package/dist/LinearGenomeView/components/RefNameAutocomplete.js +237 -324
  66. package/dist/LinearGenomeView/components/RefNameAutocomplete.js.map +1 -0
  67. package/dist/LinearGenomeView/components/RubberBand.js +229 -296
  68. package/dist/LinearGenomeView/components/RubberBand.js.map +1 -0
  69. package/dist/LinearGenomeView/components/Ruler.js +45 -90
  70. package/dist/LinearGenomeView/components/Ruler.js.map +1 -0
  71. package/dist/LinearGenomeView/components/ScaleBar.d.ts +8 -399
  72. package/dist/LinearGenomeView/components/ScaleBar.js +121 -167
  73. package/dist/LinearGenomeView/components/ScaleBar.js.map +1 -0
  74. package/dist/LinearGenomeView/components/SearchBox.js +158 -205
  75. package/dist/LinearGenomeView/components/SearchBox.js.map +1 -0
  76. package/dist/LinearGenomeView/components/SearchResultsDialog.d.ts +0 -1
  77. package/dist/LinearGenomeView/components/SearchResultsDialog.js +105 -150
  78. package/dist/LinearGenomeView/components/SearchResultsDialog.js.map +1 -0
  79. package/dist/LinearGenomeView/components/SequenceDialog.js +219 -272
  80. package/dist/LinearGenomeView/components/SequenceDialog.js.map +1 -0
  81. package/dist/LinearGenomeView/components/TrackContainer.js +116 -156
  82. package/dist/LinearGenomeView/components/TrackContainer.js.map +1 -0
  83. package/dist/LinearGenomeView/components/TrackLabel.d.ts +6 -42
  84. package/dist/LinearGenomeView/components/TrackLabel.js +115 -150
  85. package/dist/LinearGenomeView/components/TrackLabel.js.map +1 -0
  86. package/dist/LinearGenomeView/components/TracksContainer.d.ts +1 -1
  87. package/dist/LinearGenomeView/components/TracksContainer.js +172 -199
  88. package/dist/LinearGenomeView/components/TracksContainer.js.map +1 -0
  89. package/dist/LinearGenomeView/components/VerticalGuides.d.ts +2 -3
  90. package/dist/LinearGenomeView/components/VerticalGuides.js +66 -104
  91. package/dist/LinearGenomeView/components/VerticalGuides.js.map +1 -0
  92. package/dist/LinearGenomeView/components/ZoomControls.js +72 -87
  93. package/dist/LinearGenomeView/components/ZoomControls.js.map +1 -0
  94. package/dist/LinearGenomeView/components/util.d.ts +12 -0
  95. package/dist/LinearGenomeView/components/util.js +95 -13
  96. package/dist/LinearGenomeView/components/util.js.map +1 -0
  97. package/dist/LinearGenomeView/index.d.ts +6 -11
  98. package/dist/LinearGenomeView/index.js +1163 -1387
  99. package/dist/LinearGenomeView/index.js.map +1 -0
  100. package/dist/LinearGenomeView/util.js +76 -83
  101. package/dist/LinearGenomeView/util.js.map +1 -0
  102. package/dist/index.d.ts +101 -51
  103. package/dist/index.js +225 -284
  104. package/dist/index.js.map +1 -0
  105. package/esm/BaseLinearDisplay/components/BaseLinearDisplay.d.ts +9 -0
  106. package/esm/BaseLinearDisplay/components/BaseLinearDisplay.js +68 -0
  107. package/esm/BaseLinearDisplay/components/BaseLinearDisplay.js.map +1 -0
  108. package/esm/BaseLinearDisplay/components/Block.d.ts +15 -0
  109. package/esm/BaseLinearDisplay/components/Block.js +46 -0
  110. package/esm/BaseLinearDisplay/components/Block.js.map +1 -0
  111. package/esm/BaseLinearDisplay/components/LinearBlocks.d.ts +22 -0
  112. package/esm/BaseLinearDisplay/components/LinearBlocks.js +62 -0
  113. package/esm/BaseLinearDisplay/components/LinearBlocks.js.map +1 -0
  114. package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.d.ts +4 -0
  115. package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js +113 -0
  116. package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js.map +1 -0
  117. package/esm/BaseLinearDisplay/components/Tooltip.d.ts +8 -0
  118. package/esm/BaseLinearDisplay/components/Tooltip.js +64 -0
  119. package/esm/BaseLinearDisplay/components/Tooltip.js.map +1 -0
  120. package/esm/BaseLinearDisplay/index.d.ts +5 -0
  121. package/esm/BaseLinearDisplay/index.js +4 -0
  122. package/esm/BaseLinearDisplay/index.js.map +1 -0
  123. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +232 -0
  124. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.js +541 -0
  125. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.js.map +1 -0
  126. package/esm/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.d.ts +1 -0
  127. package/esm/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.js +14 -0
  128. package/esm/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.js.map +1 -0
  129. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.d.ts +96 -0
  130. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.js +225 -0
  131. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.js.map +1 -0
  132. package/esm/LinearBareDisplay/configSchema.d.ts +2 -0
  133. package/esm/LinearBareDisplay/configSchema.js +9 -0
  134. package/esm/LinearBareDisplay/configSchema.js.map +1 -0
  135. package/esm/LinearBareDisplay/index.d.ts +2 -0
  136. package/esm/LinearBareDisplay/index.js +3 -0
  137. package/esm/LinearBareDisplay/index.js.map +1 -0
  138. package/esm/LinearBareDisplay/model.d.ts +194 -0
  139. package/esm/LinearBareDisplay/model.js +28 -0
  140. package/esm/LinearBareDisplay/model.js.map +1 -0
  141. package/esm/LinearBasicDisplay/components/SetMaxHeight.d.ts +10 -0
  142. package/esm/LinearBasicDisplay/components/SetMaxHeight.js +40 -0
  143. package/esm/LinearBasicDisplay/components/SetMaxHeight.js.map +1 -0
  144. package/esm/LinearBasicDisplay/configSchema.d.ts +2 -0
  145. package/esm/LinearBasicDisplay/configSchema.js +14 -0
  146. package/esm/LinearBasicDisplay/configSchema.js.map +1 -0
  147. package/esm/LinearBasicDisplay/index.d.ts +2 -0
  148. package/esm/LinearBasicDisplay/index.js +3 -0
  149. package/esm/LinearBasicDisplay/index.js.map +1 -0
  150. package/esm/LinearBasicDisplay/model.d.ts +218 -0
  151. package/esm/LinearBasicDisplay/model.js +127 -0
  152. package/esm/LinearBasicDisplay/model.js.map +1 -0
  153. package/esm/LinearGenomeView/components/CenterLine.d.ts +8 -0
  154. package/esm/LinearGenomeView/components/CenterLine.js +40 -0
  155. package/esm/LinearGenomeView/components/CenterLine.js.map +1 -0
  156. package/esm/LinearGenomeView/components/ExportSvgDialog.d.ts +6 -0
  157. package/esm/LinearGenomeView/components/ExportSvgDialog.js +52 -0
  158. package/esm/LinearGenomeView/components/ExportSvgDialog.js.map +1 -0
  159. package/esm/LinearGenomeView/components/Header.d.ts +7 -0
  160. package/esm/LinearGenomeView/components/Header.js +81 -0
  161. package/esm/LinearGenomeView/components/Header.js.map +1 -0
  162. package/esm/LinearGenomeView/components/HelpDialog.d.ts +4 -0
  163. package/esm/LinearGenomeView/components/HelpDialog.js +58 -0
  164. package/esm/LinearGenomeView/components/HelpDialog.js.map +1 -0
  165. package/esm/LinearGenomeView/components/ImportForm.d.ts +7 -0
  166. package/esm/LinearGenomeView/components/ImportForm.js +141 -0
  167. package/esm/LinearGenomeView/components/ImportForm.js.map +1 -0
  168. package/esm/LinearGenomeView/components/LinearGenomeView.d.ts +7 -0
  169. package/esm/LinearGenomeView/components/LinearGenomeView.js +67 -0
  170. package/esm/LinearGenomeView/components/LinearGenomeView.js.map +1 -0
  171. package/esm/LinearGenomeView/components/LinearGenomeViewSvg.d.ts +4 -0
  172. package/esm/LinearGenomeView/components/LinearGenomeViewSvg.js +132 -0
  173. package/esm/LinearGenomeView/components/LinearGenomeViewSvg.js.map +1 -0
  174. package/esm/LinearGenomeView/components/MiniControls.d.ts +6 -0
  175. package/esm/LinearGenomeView/components/MiniControls.js +25 -0
  176. package/esm/LinearGenomeView/components/MiniControls.js.map +1 -0
  177. package/esm/LinearGenomeView/components/OverviewRubberBand.d.ts +22 -0
  178. package/esm/LinearGenomeView/components/OverviewRubberBand.js +194 -0
  179. package/esm/LinearGenomeView/components/OverviewRubberBand.js.map +1 -0
  180. package/esm/LinearGenomeView/components/OverviewScaleBar.d.ts +148 -0
  181. package/esm/LinearGenomeView/components/OverviewScaleBar.js +287 -0
  182. package/esm/LinearGenomeView/components/OverviewScaleBar.js.map +1 -0
  183. package/esm/LinearGenomeView/components/RefNameAutocomplete.d.ts +22 -0
  184. package/esm/LinearGenomeView/components/RefNameAutocomplete.js +136 -0
  185. package/esm/LinearGenomeView/components/RefNameAutocomplete.js.map +1 -0
  186. package/esm/LinearGenomeView/components/RubberBand.d.ts +9 -0
  187. package/esm/LinearGenomeView/components/RubberBand.js +198 -0
  188. package/esm/LinearGenomeView/components/RubberBand.js.map +1 -0
  189. package/esm/LinearGenomeView/components/Ruler.d.ts +27 -0
  190. package/esm/LinearGenomeView/components/Ruler.js +50 -0
  191. package/esm/LinearGenomeView/components/Ruler.js.map +1 -0
  192. package/esm/LinearGenomeView/components/ScaleBar.d.ts +10 -0
  193. package/esm/LinearGenomeView/components/ScaleBar.js +112 -0
  194. package/esm/LinearGenomeView/components/ScaleBar.js.map +1 -0
  195. package/esm/LinearGenomeView/components/SearchBox.d.ts +8 -0
  196. package/esm/LinearGenomeView/components/SearchBox.js +94 -0
  197. package/esm/LinearGenomeView/components/SearchBox.js.map +1 -0
  198. package/esm/LinearGenomeView/components/SearchResultsDialog.d.ts +7 -0
  199. package/esm/LinearGenomeView/components/SearchResultsDialog.js +107 -0
  200. package/esm/LinearGenomeView/components/SearchResultsDialog.js.map +1 -0
  201. package/esm/LinearGenomeView/components/SequenceDialog.d.ts +8 -0
  202. package/esm/LinearGenomeView/components/SequenceDialog.js +147 -0
  203. package/esm/LinearGenomeView/components/SequenceDialog.js.map +1 -0
  204. package/esm/LinearGenomeView/components/TrackContainer.d.ts +9 -0
  205. package/esm/LinearGenomeView/components/TrackContainer.js +109 -0
  206. package/esm/LinearGenomeView/components/TrackContainer.js.map +1 -0
  207. package/esm/LinearGenomeView/components/TrackLabel.d.ts +8 -0
  208. package/esm/LinearGenomeView/components/TrackLabel.js +89 -0
  209. package/esm/LinearGenomeView/components/TrackLabel.js.map +1 -0
  210. package/esm/LinearGenomeView/components/TracksContainer.d.ts +10 -0
  211. package/esm/LinearGenomeView/components/TracksContainer.js +142 -0
  212. package/esm/LinearGenomeView/components/TracksContainer.js.map +1 -0
  213. package/esm/LinearGenomeView/components/VerticalGuides.d.ts +8 -0
  214. package/esm/LinearGenomeView/components/VerticalGuides.js +71 -0
  215. package/esm/LinearGenomeView/components/VerticalGuides.js.map +1 -0
  216. package/esm/LinearGenomeView/components/ZoomControls.d.ts +7 -0
  217. package/esm/LinearGenomeView/components/ZoomControls.js +32 -0
  218. package/esm/LinearGenomeView/components/ZoomControls.js.map +1 -0
  219. package/esm/LinearGenomeView/components/util.d.ts +14 -0
  220. package/esm/LinearGenomeView/components/util.js +17 -0
  221. package/esm/LinearGenomeView/components/util.js.map +1 -0
  222. package/esm/LinearGenomeView/index.d.ts +288 -0
  223. package/esm/LinearGenomeView/index.js +1124 -0
  224. package/esm/LinearGenomeView/index.js.map +1 -0
  225. package/esm/LinearGenomeView/util.d.ts +14 -0
  226. package/esm/LinearGenomeView/util.js +62 -0
  227. package/esm/LinearGenomeView/util.js.map +1 -0
  228. package/esm/index.d.ts +615 -0
  229. package/esm/index.js +127 -0
  230. package/esm/index.js.map +1 -0
  231. package/package.json +21 -13
  232. package/src/BaseLinearDisplay/components/BaseLinearDisplay.tsx +6 -90
  233. package/src/BaseLinearDisplay/components/Block.tsx +5 -5
  234. package/src/BaseLinearDisplay/components/LinearBlocks.tsx +4 -4
  235. package/src/BaseLinearDisplay/components/ServerSideRenderedBlockContent.tsx +7 -8
  236. package/src/BaseLinearDisplay/components/Tooltip.tsx +107 -0
  237. package/src/BaseLinearDisplay/models/BaseLinearDisplayModel.tsx +16 -8
  238. package/src/BaseLinearDisplay/models/serverSideRenderedBlock.ts +1 -1
  239. package/src/LinearBasicDisplay/components/SetMaxHeight.tsx +10 -7
  240. package/src/LinearBasicDisplay/model.ts +21 -15
  241. package/src/LinearGenomeView/components/CenterLine.tsx +6 -11
  242. package/src/LinearGenomeView/components/ExportSvgDialog.tsx +5 -5
  243. package/src/LinearGenomeView/components/Header.tsx +12 -16
  244. package/src/LinearGenomeView/components/HelpDialog.tsx +10 -9
  245. package/src/LinearGenomeView/components/ImportForm.tsx +24 -37
  246. package/src/LinearGenomeView/components/LinearGenomeView.test.js +18 -8
  247. package/src/LinearGenomeView/components/LinearGenomeView.tsx +20 -13
  248. package/src/LinearGenomeView/components/MiniControls.tsx +29 -40
  249. package/src/LinearGenomeView/components/OverviewRubberBand.tsx +6 -10
  250. package/src/LinearGenomeView/components/OverviewScaleBar.tsx +103 -93
  251. package/src/LinearGenomeView/components/RefNameAutocomplete.tsx +13 -44
  252. package/src/LinearGenomeView/components/RubberBand.tsx +12 -17
  253. package/src/LinearGenomeView/components/Ruler.tsx +5 -11
  254. package/src/LinearGenomeView/components/ScaleBar.tsx +27 -34
  255. package/src/LinearGenomeView/components/SearchBox.tsx +22 -32
  256. package/src/LinearGenomeView/components/SearchResultsDialog.tsx +7 -7
  257. package/src/LinearGenomeView/components/SequenceDialog.tsx +9 -9
  258. package/src/LinearGenomeView/components/TrackContainer.tsx +12 -12
  259. package/src/LinearGenomeView/components/TrackLabel.tsx +37 -50
  260. package/src/LinearGenomeView/components/TracksContainer.tsx +8 -13
  261. package/src/LinearGenomeView/components/VerticalGuides.tsx +9 -11
  262. package/src/LinearGenomeView/components/ZoomControls.tsx +12 -13
  263. package/src/LinearGenomeView/components/__snapshots__/LinearGenomeView.test.js.snap +504 -568
  264. package/src/LinearGenomeView/components/util.ts +43 -0
  265. package/src/LinearGenomeView/index.test.ts +21 -5
  266. package/src/LinearGenomeView/index.tsx +101 -88
  267. package/src/index.ts +36 -31
  268. package/dist/LinearBareDisplay/index.test.js +0 -33
  269. package/dist/LinearGenomeView/components/LinearGenomeView.test.js +0 -234
  270. package/dist/LinearGenomeView/components/ScaleBar.test.js +0 -180
  271. package/dist/LinearGenomeView/index.test.js +0 -1170
  272. package/dist/LinearGenomeView/util.test.js +0 -78
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchResultsDialog.js","sourceRoot":"","sources":["../../../src/LinearGenomeView/components/SearchResultsDialog.tsx"],"names":[],"mappings":"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"}
@@ -1,295 +1,242 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
9
17
  });
10
- exports.default = void 0;
11
-
12
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
-
14
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
-
16
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
17
-
18
- var _react = _interopRequireWildcard(require("react"));
19
-
20
- var _core = require("@material-ui/core");
21
-
22
- var _mobxReact = require("mobx-react");
23
-
24
- var _fileSaver = require("file-saver");
25
-
26
- var _configuration = require("@jbrowse/core/configuration");
27
-
28
- var _copyToClipboard = _interopRequireDefault(require("copy-to-clipboard"));
29
-
30
- var _util = require("@jbrowse/core/util");
31
-
32
- var _formatFastaStrings = require("@jbrowse/core/util/formatFastaStrings");
33
-
34
- var _Icons = require("@jbrowse/core/ui/Icons");
35
-
36
- var _Close = _interopRequireDefault(require("@material-ui/icons/Close"));
37
-
38
- var _GetApp = _interopRequireDefault(require("@material-ui/icons/GetApp"));
39
-
40
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
41
-
42
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
43
-
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __generator = (this && this.__generator) || function (thisArg, body) {
35
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
36
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
+ function verb(n) { return function (v) { return step([n, v]); }; }
38
+ function step(op) {
39
+ if (f) throw new TypeError("Generator is already executing.");
40
+ while (_) try {
41
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
42
+ if (y = 0, t) op = [op[0] & 2, t.value];
43
+ switch (op[0]) {
44
+ case 0: case 1: t = op; break;
45
+ case 4: _.label++; return { value: op[1], done: false };
46
+ case 5: _.label++; y = op[1]; op = [0]; continue;
47
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
+ default:
49
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
+ if (t[2]) _.ops.pop();
54
+ _.trys.pop(); continue;
55
+ }
56
+ op = body.call(thisArg, _);
57
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
+ }
60
+ };
61
+ var __read = (this && this.__read) || function (o, n) {
62
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
63
+ if (!m) return o;
64
+ var i = m.call(o), r, ar = [], e;
65
+ try {
66
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
67
+ }
68
+ catch (error) { e = { error: error }; }
69
+ finally {
70
+ try {
71
+ if (r && !r.done && (m = i["return"])) m.call(i);
72
+ }
73
+ finally { if (e) throw e.error; }
74
+ }
75
+ return ar;
76
+ };
77
+ var __importDefault = (this && this.__importDefault) || function (mod) {
78
+ return (mod && mod.__esModule) ? mod : { "default": mod };
79
+ };
80
+ Object.defineProperty(exports, "__esModule", { value: true });
81
+ var react_1 = __importStar(require("react"));
82
+ var mui_1 = require("tss-react/mui");
83
+ var material_1 = require("@mui/material");
84
+ var mobx_react_1 = require("mobx-react");
85
+ var file_saver_1 = require("file-saver");
86
+ var configuration_1 = require("@jbrowse/core/configuration");
87
+ var copy_to_clipboard_1 = __importDefault(require("copy-to-clipboard"));
88
+ var util_1 = require("@jbrowse/core/util");
89
+ var formatFastaStrings_1 = require("@jbrowse/core/util/formatFastaStrings");
44
90
  // icons
45
- var useStyles = (0, _core.makeStyles)(function (theme) {
46
- return {
91
+ var Icons_1 = require("@jbrowse/core/ui/Icons");
92
+ var Close_1 = __importDefault(require("@mui/icons-material/Close"));
93
+ var GetApp_1 = __importDefault(require("@mui/icons-material/GetApp"));
94
+ var useStyles = (0, mui_1.makeStyles)()(function (theme) { return ({
47
95
  loadingMessage: {
48
- padding: theme.spacing(5)
96
+ padding: theme.spacing(5),
49
97
  },
50
98
  closeButton: {
51
- position: 'absolute',
52
- right: theme.spacing(1),
53
- top: theme.spacing(1),
54
- color: theme.palette.grey[500]
99
+ position: 'absolute',
100
+ right: theme.spacing(1),
101
+ top: theme.spacing(1),
102
+ color: theme.palette.grey[500],
55
103
  },
56
104
  dialogContent: {
57
- width: '80em'
105
+ width: '80em',
58
106
  },
59
107
  textAreaFont: {
60
- fontFamily: 'Courier New'
61
- }
62
- };
63
- });
64
-
108
+ fontFamily: 'Courier New',
109
+ },
110
+ }); });
65
111
  /**
66
112
  * Fetches and returns a list features for a given list of regions
67
113
  */
68
- function fetchSequence(_x, _x2, _x3) {
69
- return _fetchSequence.apply(this, arguments);
70
- }
71
-
72
- function _fetchSequence() {
73
- _fetchSequence = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(model, regions, signal) {
74
- var session, leftOffset, rightOffset, rpcManager, assemblyManager, assemblyName, assembly, adapterConfig, sessionId;
75
- return _regenerator.default.wrap(function _callee2$(_context2) {
76
- while (1) {
77
- switch (_context2.prev = _context2.next) {
78
- case 0:
79
- session = (0, _util.getSession)(model);
114
+ function fetchSequence(model, regions, signal) {
115
+ return __awaiter(this, void 0, void 0, function () {
116
+ var session, leftOffset, rightOffset, rpcManager, assemblyManager, assemblyName, assembly, adapterConfig, sessionId;
117
+ return __generator(this, function (_a) {
118
+ session = (0, util_1.getSession)(model);
80
119
  leftOffset = model.leftOffset, rightOffset = model.rightOffset;
81
-
82
- if (!(!leftOffset || !rightOffset)) {
83
- _context2.next = 4;
84
- break;
120
+ if (!leftOffset || !rightOffset) {
121
+ throw new Error('no offsets on model to use for range');
85
122
  }
86
-
87
- throw new Error('no offsets on model to use for range');
88
-
89
- case 4:
90
- if (!(leftOffset.assemblyName !== rightOffset.assemblyName)) {
91
- _context2.next = 6;
92
- break;
123
+ if (leftOffset.assemblyName !== rightOffset.assemblyName) {
124
+ throw new Error('not able to fetch sequences from multiple assemblies');
93
125
  }
94
-
95
- throw new Error('not able to fetch sequences from multiple assemblies');
96
-
97
- case 6:
98
126
  rpcManager = session.rpcManager, assemblyManager = session.assemblyManager;
99
127
  assemblyName = leftOffset.assemblyName || rightOffset.assemblyName || '';
100
128
  assembly = assemblyManager.get(assemblyName);
101
-
102
- if (assembly) {
103
- _context2.next = 11;
104
- break;
129
+ if (!assembly) {
130
+ throw new Error("assembly ".concat(assemblyName, " not found"));
105
131
  }
106
-
107
- throw new Error("assembly ".concat(assemblyName, " not found"));
108
-
109
- case 11:
110
- adapterConfig = (0, _configuration.getConf)(assembly, ['sequence', 'adapter']);
132
+ adapterConfig = (0, configuration_1.getConf)(assembly, ['sequence', 'adapter']);
111
133
  sessionId = 'getSequence';
112
- return _context2.abrupt("return", rpcManager.call(sessionId, 'CoreGetFeatures', {
113
- adapterConfig: adapterConfig,
114
- regions: regions,
115
- sessionId: sessionId,
116
- signal: signal
117
- }));
118
-
119
- case 14:
120
- case "end":
121
- return _context2.stop();
122
- }
123
- }
124
- }, _callee2);
125
- }));
126
- return _fetchSequence.apply(this, arguments);
134
+ return [2 /*return*/, rpcManager.call(sessionId, 'CoreGetFeatures', {
135
+ adapterConfig: adapterConfig,
136
+ regions: regions,
137
+ sessionId: sessionId,
138
+ signal: signal,
139
+ })];
140
+ });
141
+ });
127
142
  }
128
-
129
- function SequenceDialog(_ref) {
130
- var model = _ref.model,
131
- handleClose = _ref.handleClose;
132
- var classes = useStyles();
133
- var session = (0, _util.getSession)(model);
134
-
135
- var _useState = (0, _react.useState)(),
136
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
137
- error = _useState2[0],
138
- setError = _useState2[1];
139
-
140
- var _useState3 = (0, _react.useState)(),
141
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
142
- sequence = _useState4[0],
143
- setSequence = _useState4[1];
144
-
145
- var loading = Boolean(sequence === undefined);
146
- var leftOffset = model.leftOffset,
147
- rightOffset = model.rightOffset; // avoid infinite looping of useEffect
148
- // random note: the current selected region can't be a computed because it
149
- // uses action on base1dview even though it's on the ephemeral base1dview
150
-
151
- var regionsSelected = (0, _react.useMemo)(function () {
152
- return model.getSelectedRegions(leftOffset, rightOffset);
153
- }, [model, leftOffset, rightOffset]);
154
- (0, _react.useEffect)(function () {
155
- var active = true;
156
- var controller = new AbortController();
157
- (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
158
- var chunks;
159
- return _regenerator.default.wrap(function _callee$(_context) {
160
- while (1) {
161
- switch (_context.prev = _context.next) {
162
- case 0:
163
- _context.prev = 0;
164
-
165
- if (!(regionsSelected.length > 0)) {
166
- _context.next = 8;
167
- break;
168
- }
169
-
170
- _context.next = 4;
171
- return fetchSequence(model, regionsSelected, controller.signal);
172
-
173
- case 4:
174
- chunks = _context.sent;
175
-
176
- if (active) {
177
- setSequence((0, _formatFastaStrings.formatSeqFasta)(chunks.filter(function (f) {
178
- return !!f;
179
- }).map(function (chunk) {
180
- var chunkSeq = chunk.get('seq');
181
- var chunkRefName = chunk.get('refName');
182
- var chunkStart = chunk.get('start') + 1;
183
- var chunkEnd = chunk.get('end');
184
- var chunkLocstring = "".concat(chunkRefName, ":").concat(chunkStart, "-").concat(chunkEnd);
185
-
186
- if ((chunkSeq === null || chunkSeq === void 0 ? void 0 : chunkSeq.length) !== chunkEnd - chunkStart + 1) {
187
- throw new Error("".concat(chunkLocstring, " returned ").concat(chunkSeq.length.toLocaleString(), " bases, but should have returned ").concat((chunkEnd - chunkStart).toLocaleString()));
188
- }
189
-
190
- return {
191
- header: chunkLocstring,
192
- seq: chunkSeq
193
- };
194
- })));
195
- }
196
-
197
- _context.next = 9;
198
- break;
199
-
200
- case 8:
201
- throw new Error('Selected region is out of bounds');
202
-
203
- case 9:
204
- _context.next = 15;
205
- break;
206
-
207
- case 11:
208
- _context.prev = 11;
209
- _context.t0 = _context["catch"](0);
210
- console.error(_context.t0);
211
-
212
- if (active) {
213
- setError(_context.t0);
214
- }
215
-
216
- case 15:
217
- case "end":
218
- return _context.stop();
219
- }
220
- }
221
- }, _callee, null, [[0, 11]]);
222
- }))();
223
- return function () {
224
- controller.abort();
225
- active = false;
226
- };
227
- }, [model, session, regionsSelected, setSequence]);
228
- var sequenceTooLarge = sequence ? sequence.length > 1000000 : false;
229
- return /*#__PURE__*/_react.default.createElement(_core.Dialog, {
230
- "data-testid": "sequence-dialog",
231
- maxWidth: "xl",
232
- open: true,
233
- onClose: handleClose,
234
- "aria-labelledby": "alert-dialog-title",
235
- "aria-describedby": "alert-dialog-description"
236
- }, /*#__PURE__*/_react.default.createElement(_core.DialogTitle, {
237
- id: "alert-dialog-title"
238
- }, "Reference sequence", handleClose ? /*#__PURE__*/_react.default.createElement(_core.IconButton, {
239
- "data-testid": "close-seqDialog",
240
- className: classes.closeButton,
241
- onClick: function onClick() {
242
- handleClose();
243
- model.setOffsets(undefined, undefined);
244
- }
245
- }, /*#__PURE__*/_react.default.createElement(_Close.default, null)) : null), /*#__PURE__*/_react.default.createElement(_core.Divider, null), /*#__PURE__*/_react.default.createElement(_core.DialogContent, null, error ? /*#__PURE__*/_react.default.createElement(_core.Typography, {
246
- color: "error"
247
- }, "".concat(error)) : null, loading && !error ? /*#__PURE__*/_react.default.createElement(_core.Container, null, "Retrieving reference sequence...", /*#__PURE__*/_react.default.createElement(_core.CircularProgress, {
248
- style: {
249
- marginLeft: 10
250
- },
251
- size: 20,
252
- disableShrink: true
253
- })) : null, /*#__PURE__*/_react.default.createElement(_core.TextField, {
254
- "data-testid": "rubberband-sequence",
255
- variant: "outlined",
256
- multiline: true,
257
- minRows: 5,
258
- disabled: sequenceTooLarge,
259
- className: classes.dialogContent,
260
- fullWidth: true,
261
- value: sequenceTooLarge ? 'Reference sequence too large to display, use the download FASTA button' : sequence,
262
- InputProps: {
263
- readOnly: true,
264
- classes: {
265
- input: classes.textAreaFont
266
- }
267
- }
268
- })), /*#__PURE__*/_react.default.createElement(_core.DialogActions, null, /*#__PURE__*/_react.default.createElement(_core.Button, {
269
- onClick: function onClick() {
270
- (0, _copyToClipboard.default)(sequence || '');
271
- session.notify('Copied to clipboard', 'success');
272
- },
273
- disabled: loading || !!error || sequenceTooLarge,
274
- color: "primary",
275
- startIcon: /*#__PURE__*/_react.default.createElement(_Icons.ContentCopy, null)
276
- }, "Copy to clipboard"), /*#__PURE__*/_react.default.createElement(_core.Button, {
277
- onClick: function onClick() {
278
- var seqFastaFile = new Blob([sequence || ''], {
279
- type: 'text/x-fasta;charset=utf-8'
280
- });
281
- (0, _fileSaver.saveAs)(seqFastaFile, 'jbrowse_ref_seq.fa');
282
- },
283
- disabled: loading || !!error,
284
- color: "primary",
285
- startIcon: /*#__PURE__*/_react.default.createElement(_GetApp.default, null)
286
- }, "Download FASTA"), /*#__PURE__*/_react.default.createElement(_core.Button, {
287
- onClick: handleClose,
288
- color: "primary",
289
- autoFocus: true
290
- }, "Close")));
143
+ function SequenceDialog(_a) {
144
+ var _this = this;
145
+ var model = _a.model, handleClose = _a.handleClose;
146
+ var classes = useStyles().classes;
147
+ var session = (0, util_1.getSession)(model);
148
+ var _b = __read((0, react_1.useState)(), 2), error = _b[0], setError = _b[1];
149
+ var _c = __read((0, react_1.useState)(), 2), sequence = _c[0], setSequence = _c[1];
150
+ var loading = Boolean(sequence === undefined);
151
+ var leftOffset = model.leftOffset, rightOffset = model.rightOffset;
152
+ // avoid infinite looping of useEffect
153
+ // random note: the current selected region can't be a computed because it
154
+ // uses action on base1dview even though it's on the ephemeral base1dview
155
+ var regionsSelected = (0, react_1.useMemo)(function () { return model.getSelectedRegions(leftOffset, rightOffset); }, [model, leftOffset, rightOffset]);
156
+ (0, react_1.useEffect)(function () {
157
+ var active = true;
158
+ var controller = new AbortController();
159
+ (function () { return __awaiter(_this, void 0, void 0, function () {
160
+ var chunks, e_1;
161
+ return __generator(this, function (_a) {
162
+ switch (_a.label) {
163
+ case 0:
164
+ _a.trys.push([0, 4, , 5]);
165
+ if (!(regionsSelected.length > 0)) return [3 /*break*/, 2];
166
+ return [4 /*yield*/, fetchSequence(model, regionsSelected, controller.signal)];
167
+ case 1:
168
+ chunks = _a.sent();
169
+ if (active) {
170
+ setSequence((0, formatFastaStrings_1.formatSeqFasta)(chunks
171
+ .filter(function (f) { return !!f; })
172
+ .map(function (chunk) {
173
+ var chunkSeq = chunk.get('seq');
174
+ var chunkRefName = chunk.get('refName');
175
+ var chunkStart = chunk.get('start') + 1;
176
+ var chunkEnd = chunk.get('end');
177
+ var chunkLocstring = "".concat(chunkRefName, ":").concat(chunkStart, "-").concat(chunkEnd);
178
+ if ((chunkSeq === null || chunkSeq === void 0 ? void 0 : chunkSeq.length) !== chunkEnd - chunkStart + 1) {
179
+ throw new Error("".concat(chunkLocstring, " returned ").concat(chunkSeq.length.toLocaleString(), " bases, but should have returned ").concat((chunkEnd - chunkStart).toLocaleString()));
180
+ }
181
+ return { header: chunkLocstring, seq: chunkSeq };
182
+ })));
183
+ }
184
+ return [3 /*break*/, 3];
185
+ case 2: throw new Error('Selected region is out of bounds');
186
+ case 3: return [3 /*break*/, 5];
187
+ case 4:
188
+ e_1 = _a.sent();
189
+ console.error(e_1);
190
+ if (active) {
191
+ setError(e_1);
192
+ }
193
+ return [3 /*break*/, 5];
194
+ case 5: return [2 /*return*/];
195
+ }
196
+ });
197
+ }); })();
198
+ return function () {
199
+ controller.abort();
200
+ active = false;
201
+ };
202
+ }, [model, session, regionsSelected, setSequence]);
203
+ var sequenceTooLarge = sequence ? sequence.length > 1000000 : false;
204
+ return (react_1.default.createElement(material_1.Dialog, { "data-testid": "sequence-dialog", maxWidth: "xl", open: true, onClose: handleClose, "aria-labelledby": "alert-dialog-title", "aria-describedby": "alert-dialog-description" },
205
+ react_1.default.createElement(material_1.DialogTitle, { id: "alert-dialog-title" },
206
+ "Reference sequence",
207
+ handleClose ? (react_1.default.createElement(material_1.IconButton, { "data-testid": "close-seqDialog", className: classes.closeButton, onClick: function () {
208
+ handleClose();
209
+ model.setOffsets(undefined, undefined);
210
+ }, size: "large" },
211
+ react_1.default.createElement(Close_1.default, null))) : null),
212
+ react_1.default.createElement(material_1.Divider, null),
213
+ react_1.default.createElement(material_1.DialogContent, null,
214
+ error ? react_1.default.createElement(material_1.Typography, { color: "error" }, "".concat(error)) : null,
215
+ loading && !error ? (react_1.default.createElement(material_1.Container, null,
216
+ "Retrieving reference sequence...",
217
+ react_1.default.createElement(material_1.CircularProgress, { style: {
218
+ marginLeft: 10,
219
+ }, size: 20, disableShrink: true }))) : null,
220
+ react_1.default.createElement(material_1.TextField, { "data-testid": "rubberband-sequence", variant: "outlined", multiline: true, minRows: 5, disabled: sequenceTooLarge, className: classes.dialogContent, fullWidth: true, value: sequenceTooLarge
221
+ ? 'Reference sequence too large to display, use the download FASTA button'
222
+ : sequence, InputProps: {
223
+ readOnly: true,
224
+ classes: {
225
+ input: classes.textAreaFont,
226
+ },
227
+ } })),
228
+ react_1.default.createElement(material_1.DialogActions, null,
229
+ react_1.default.createElement(material_1.Button, { onClick: function () {
230
+ (0, copy_to_clipboard_1.default)(sequence || '');
231
+ session.notify('Copied to clipboard', 'success');
232
+ }, disabled: loading || !!error || sequenceTooLarge, color: "primary", startIcon: react_1.default.createElement(Icons_1.ContentCopy, null) }, "Copy to clipboard"),
233
+ react_1.default.createElement(material_1.Button, { onClick: function () {
234
+ var seqFastaFile = new Blob([sequence || ''], {
235
+ type: 'text/x-fasta;charset=utf-8',
236
+ });
237
+ (0, file_saver_1.saveAs)(seqFastaFile, 'jbrowse_ref_seq.fa');
238
+ }, disabled: loading || !!error, color: "primary", startIcon: react_1.default.createElement(GetApp_1.default, null) }, "Download FASTA"),
239
+ react_1.default.createElement(material_1.Button, { onClick: handleClose, color: "primary", autoFocus: true }, "Close"))));
291
240
  }
292
-
293
- var _default = (0, _mobxReact.observer)(SequenceDialog);
294
-
295
- exports.default = _default;
241
+ exports.default = (0, mobx_react_1.observer)(SequenceDialog);
242
+ //# sourceMappingURL=SequenceDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SequenceDialog.js","sourceRoot":"","sources":["../../../src/LinearGenomeView/components/SequenceDialog.tsx"],"names":[],"mappings":"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"}