@flyfish-group/file-viewer3 1.0.26 → 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 (359) hide show
  1. package/README.en.md +3 -388
  2. package/README.md +3 -364
  3. package/dist/file-viewer3.css +1 -2
  4. package/dist/index.d.ts +2 -0
  5. package/dist/index.js +2 -0
  6. package/package.json +22 -126
  7. package/dist/components/3MFLoader.js +0 -527
  8. package/dist/components/AMFLoader.js +0 -188
  9. package/dist/components/ArchiveViewer.js +0 -526
  10. package/dist/components/AudioViewer.js +0 -66
  11. package/dist/components/CadViewer.js +0 -9040
  12. package/dist/components/CodeViewer.js +0 -151
  13. package/dist/components/ColladaLoader.js +0 -2282
  14. package/dist/components/DrawingViewer.js +0 -295
  15. package/dist/components/EdaViewer.js +0 -630
  16. package/dist/components/EmailViewer.js +0 -276
  17. package/dist/components/EpubViewer.js +0 -172
  18. package/dist/components/FBXLoader.js +0 -1574
  19. package/dist/components/GLTFLoader.js +0 -1383
  20. package/dist/components/ImageViewer.js +0 -1519
  21. package/dist/components/KMZLoader.js +0 -45
  22. package/dist/components/MarkdownViewer.js +0 -1476
  23. package/dist/components/ModelViewer.js +0 -797
  24. package/dist/components/OBJLoader.js +0 -287
  25. package/dist/components/OfdViewer.js +0 -133
  26. package/dist/components/PCDLoader.js +0 -141
  27. package/dist/components/PLYLoader.js +0 -305
  28. package/dist/components/PdfView.js +0 -27667
  29. package/dist/components/PptxRender.js +0 -11217
  30. package/dist/components/STLLoader.js +0 -83
  31. package/dist/components/TDSLoader.js +0 -228
  32. package/dist/components/TypstViewer.js +0 -1697
  33. package/dist/components/USDLoader.js +0 -2526
  34. package/dist/components/UmdViewer.js +0 -1873
  35. package/dist/components/VRMLLoader.js +0 -6422
  36. package/dist/components/VTKLoader.js +0 -337
  37. package/dist/components/XYZLoader.js +0 -30
  38. package/dist/components/XlsxTable.js +0 -7879
  39. package/dist/components/__vite-browser-external.js +0 -7
  40. package/dist/components/_plugin-vue_export-helper.js +0 -8
  41. package/dist/components/ar-SA-G6X2FPQ2.js +0 -523
  42. package/dist/components/arc.js +0 -79
  43. package/dist/components/architecture-7EHR7CIX.js +0 -3
  44. package/dist/components/architectureDiagram-3BPJPVTR.js +0 -4096
  45. package/dist/components/archive.js +0 -24
  46. package/dist/components/asyncToGenerator.js +0 -29
  47. package/dist/components/audio.js +0 -19
  48. package/dist/components/az-AZ-76LH7QW2.js +0 -523
  49. package/dist/components/bash.js +0 -169
  50. package/dist/components/bg-BG-XCXSNQG7.js +0 -523
  51. package/dist/components/blockDiagram-GPEHLZMM.js +0 -3357
  52. package/dist/components/bn-BD-2XOGV67Q.js +0 -523
  53. package/dist/components/c4Diagram-AAUBKEIU.js +0 -2957
  54. package/dist/components/ca-ES-6MX7JW3Y.js +0 -523
  55. package/dist/components/cad.js +0 -23
  56. package/dist/components/cfb.js +0 -1174
  57. package/dist/components/channel.js +0 -5
  58. package/dist/components/chunk-2J33WTMH.js +0 -26
  59. package/dist/components/chunk-3OPIFGDE.js +0 -4167
  60. package/dist/components/chunk-4BX2VUAB.js +0 -19
  61. package/dist/components/chunk-55IACEB6.js +0 -9
  62. package/dist/components/chunk-5ZQYHXKU.js +0 -669
  63. package/dist/components/chunk-6U3AYISY.js +0 -624
  64. package/dist/components/chunk-727SXJPM.js +0 -3356
  65. package/dist/components/chunk-AGHRB4JF.js +0 -324
  66. package/dist/components/chunk-AQP2D5EJ.js +0 -2055
  67. package/dist/components/chunk-BSJP7CBP.js +0 -83
  68. package/dist/components/chunk-CSCIHK7Q.js +0 -3500
  69. package/dist/components/chunk-EIO257PC.js +0 -1836
  70. package/dist/components/chunk-FMBD7UC4.js +0 -5
  71. package/dist/components/chunk-K2UTITRG.js +0 -17627
  72. package/dist/components/chunk-KSCS5N6A.js +0 -572
  73. package/dist/components/chunk-L5ZTLDWV.js +0 -40
  74. package/dist/components/chunk-LZXEDZCA.js +0 -60
  75. package/dist/components/chunk-ND2GUHAM.js +0 -61
  76. package/dist/components/chunk-NNHCCRGN.js +0 -20425
  77. package/dist/components/chunk-NZK2D7GU.js +0 -68
  78. package/dist/components/chunk-O5CBEL6O.js +0 -1894
  79. package/dist/components/chunk-QZHKN3VN.js +0 -12
  80. package/dist/components/chunk-SRAX5OIU.js +0 -22
  81. package/dist/components/chunk-WU5MYG2G.js +0 -14
  82. package/dist/components/chunk-XPW4576I.js +0 -1146
  83. package/dist/components/chunk-Z3N5DIM6.js +0 -59
  84. package/dist/components/chunk-ZUYEQ4TG.js +0 -22
  85. package/dist/components/chunk.js +0 -23
  86. package/dist/components/classDiagram-4FO5ZUOK.js +0 -29
  87. package/dist/components/classDiagram-v2-Q7XG4LA2.js +0 -29
  88. package/dist/components/compiler.js +0 -2
  89. package/dist/components/core.js +0 -845
  90. package/dist/components/cose-bilkent-S5V4N54A.js +0 -2268
  91. package/dist/components/cpp.js +0 -225
  92. package/dist/components/cs-CZ-2BRQDIVT.js +0 -523
  93. package/dist/components/csharp.js +0 -260
  94. package/dist/components/css.js +0 -140
  95. package/dist/components/cytoscape.esm.js +0 -18114
  96. package/dist/components/da-DK-5WZEPLOC.js +0 -523
  97. package/dist/components/dagre-BM42HDAG.js +0 -325
  98. package/dist/components/dagre.js +0 -1936
  99. package/dist/components/de-DE-XR44H4JA.js +0 -523
  100. package/dist/components/defaultLocale.js +0 -201
  101. package/dist/components/defineProperty.js +0 -50
  102. package/dist/components/diagram-2AECGRRQ.js +0 -229
  103. package/dist/components/diagram-5GNKFQAL.js +0 -108
  104. package/dist/components/diagram-KO2AKTUF.js +0 -443
  105. package/dist/components/diagram-LMA3HP47.js +0 -139
  106. package/dist/components/diagram-OG6HWLK6.js +0 -541
  107. package/dist/components/diff.js +0 -39
  108. package/dist/components/directory-open-01563666.js +0 -26
  109. package/dist/components/directory-open-4ed118d0.js +0 -83
  110. package/dist/components/dist.js +0 -50
  111. package/dist/components/dist2.js +0 -3291
  112. package/dist/components/dist3.js +0 -1593
  113. package/dist/components/documentSearch.js +0 -378
  114. package/dist/components/docx-preview.js +0 -3113
  115. package/dist/components/drawing.js +0 -19
  116. package/dist/components/ebook.js +0 -16
  117. package/dist/components/eda.js +0 -20
  118. package/dist/components/el-GR-BZB4AONW.js +0 -523
  119. package/dist/components/email.js +0 -21
  120. package/dist/components/en-B4ZKOASM.js +0 -3
  121. package/dist/components/erDiagram-TEJ5UH35.js +0 -1719
  122. package/dist/components/es-ES-U4NZUMDT.js +0 -523
  123. package/dist/components/eu-ES-A7QVB2H4.js +0 -523
  124. package/dist/components/eventmodeling-FCH6USID.js +0 -3
  125. package/dist/components/fa-IR-HGAKTJCU.js +0 -523
  126. package/dist/components/fflate.module.js +0 -323
  127. package/dist/components/fi-FI-Z5N7JZ37.js +0 -523
  128. package/dist/components/file-open-002ab408.js +0 -38
  129. package/dist/components/file-open-7c801643.js +0 -24
  130. package/dist/components/file-save-3189631c.js +0 -40
  131. package/dist/components/file-save-745eba88.js +0 -36
  132. package/dist/components/flowDiagram-I6XJVG4X.js +0 -4181
  133. package/dist/components/fr-FR-RHASNOE6.js +0 -523
  134. package/dist/components/ganttDiagram-6RSMTGT7.js +0 -2182
  135. package/dist/components/gitGraph-WXDBUCRP.js +0 -3
  136. package/dist/components/gitGraphDiagram-PVQCEYII.js +0 -788
  137. package/dist/components/gl-ES-HMX3MZ6V.js +0 -523
  138. package/dist/components/global-compiler.js +0 -23
  139. package/dist/components/global-renderer.js +0 -23
  140. package/dist/components/go.js +0 -140
  141. package/dist/components/graphlib.js +0 -1267
  142. package/dist/components/he-IL-6SHJWFNN.js +0 -523
  143. package/dist/components/hi-IN-IWLTKZ5I.js +0 -523
  144. package/dist/components/hu-HU-A5ZG7DT2.js +0 -523
  145. package/dist/components/id-ID-SAP4L64H.js +0 -523
  146. package/dist/components/image-GAAHSSAO.js +0 -3
  147. package/dist/components/image-blob-reduce.esm.js +0 -1429
  148. package/dist/components/image.js +0 -17
  149. package/dist/components/info-J43DQDTF.js +0 -3
  150. package/dist/components/infoDiagram-5YYISTIA.js +0 -26
  151. package/dist/components/ini.js +0 -88
  152. package/dist/components/init.js +0 -15
  153. package/dist/components/ishikawaDiagram-YF4QCWOH.js +0 -718
  154. package/dist/components/it-IT-JPQ66NNP.js +0 -523
  155. package/dist/components/ja-JP-DBVTYXUO.js +0 -523
  156. package/dist/components/java.js +0 -169
  157. package/dist/components/javascript.js +0 -436
  158. package/dist/components/journeyDiagram-JHISSGLW.js +0 -885
  159. package/dist/components/json.js +0 -36
  160. package/dist/components/jszip.min.js +0 -3033
  161. package/dist/components/kaa-6HZHGXH3.js +0 -523
  162. package/dist/components/kab-KAB-ZGHBKWFO.js +0 -523
  163. package/dist/components/kanban-definition-UN3LZRKU.js +0 -986
  164. package/dist/components/katex.js +0 -21979
  165. package/dist/components/kk-KZ-P5N5QNE5.js +0 -523
  166. package/dist/components/km-KH-HSX4SM5Z.js +0 -523
  167. package/dist/components/ko-KR-MTYHY66A.js +0 -523
  168. package/dist/components/ku-TR-6OUDTVRD.js +0 -523
  169. package/dist/components/lib.js +0 -4877
  170. package/dist/components/libarchive.js +0 -360
  171. package/dist/components/linear.js +0 -289
  172. package/dist/components/lt-LT-XHIRWOB4.js +0 -523
  173. package/dist/components/lv-LV-5QDEKY6T.js +0 -523
  174. package/dist/components/markdown.js +0 -181
  175. package/dist/components/md.js +0 -17
  176. package/dist/components/mermaid-parser.core.js +0 -328
  177. package/dist/components/mindmap-definition-RKZ34NQL.js +0 -1016
  178. package/dist/components/model.js +0 -21
  179. package/dist/components/mp4.js +0 -12
  180. package/dist/components/mr-IN-CRQNXWMA.js +0 -523
  181. package/dist/components/my-MM-5M5IBNSE.js +0 -523
  182. package/dist/components/nb-NO-T6EIAALU.js +0 -523
  183. package/dist/components/nestedRender.js +0 -158
  184. package/dist/components/nl-NL-IS3SIHDZ.js +0 -523
  185. package/dist/components/nn-NO-6E72VCQL.js +0 -523
  186. package/dist/components/objectSpread2.js +0 -29
  187. package/dist/components/objectWithoutProperties.js +0 -28
  188. package/dist/components/oc-FR-POXYY2M6.js +0 -523
  189. package/dist/components/ofd.js +0 -5261
  190. package/dist/components/ofd2.js +0 -16
  191. package/dist/components/ordinal.js +0 -65
  192. package/dist/components/pa-IN-N4M65BXN.js +0 -523
  193. package/dist/components/packet-YPE3B663.js +0 -3
  194. package/dist/components/pdf.js +0 -24
  195. package/dist/components/percentages-BXMCSKIN.js +0 -3
  196. package/dist/components/php.js +0 -294
  197. package/dist/components/pica.js +0 -1009
  198. package/dist/components/pie-LRSECV5Y.js +0 -3
  199. package/dist/components/pie.js +0 -47
  200. package/dist/components/pieDiagram-4H26LBE5.js +0 -130
  201. package/dist/components/pl-PL-T2D74RX3.js +0 -523
  202. package/dist/components/postal-mime.js +0 -3146
  203. package/dist/components/pptx.js +0 -15
  204. package/dist/components/printLayout.js +0 -42
  205. package/dist/components/prod.js +0 -21770
  206. package/dist/components/pt-BR-5N22H2LF.js +0 -523
  207. package/dist/components/pt-PT-UZXXM6DQ.js +0 -523
  208. package/dist/components/python.js +0 -238
  209. package/dist/components/quadrantDiagram-W4KKPZXB.js +0 -1988
  210. package/dist/components/radar-GUYGQ44K.js +0 -3
  211. package/dist/components/renderer.js +0 -2
  212. package/dist/components/requirementDiagram-4Y6WPE33.js +0 -2230
  213. package/dist/components/ro-RO-JPDTUUEW.js +0 -523
  214. package/dist/components/rough.esm.js +0 -1355
  215. package/dist/components/roundRect.js +0 -90
  216. package/dist/components/ru-RU-B4JR7IUQ.js +0 -523
  217. package/dist/components/rust.js +0 -169
  218. package/dist/components/sankeyDiagram-5OEKKPKP.js +0 -972
  219. package/dist/components/sequenceDiagram-3UESZ5HK.js +0 -4255
  220. package/dist/components/shared.js +0 -175
  221. package/dist/components/shared2.js +0 -4
  222. package/dist/components/si-LK-N5RQ5JYF.js +0 -523
  223. package/dist/components/sk-SK-C5VTKIMK.js +0 -523
  224. package/dist/components/sl-SI-NN7IZMDC.js +0 -523
  225. package/dist/components/sourceLoading.js +0 -134
  226. package/dist/components/sql.js +0 -118
  227. package/dist/components/src.js +0 -2664
  228. package/dist/components/src2.js +0 -10722
  229. package/dist/components/stateDiagram-AJRCARHV.js +0 -217
  230. package/dist/components/stateDiagram-v2-BHNVJYJU.js +0 -27
  231. package/dist/components/subset-shared.chunk.js +0 -3
  232. package/dist/components/subset-worker.chunk.js +0 -21
  233. package/dist/components/sv-SE-XGPEYMSR.js +0 -523
  234. package/dist/components/ta-IN-2NMHFXQM.js +0 -523
  235. package/dist/components/text.js +0 -20
  236. package/dist/components/th-TH-HPSO5L25.js +0 -523
  237. package/dist/components/three.module.js +0 -13134
  238. package/dist/components/time.js +0 -910
  239. package/dist/components/timeline-definition-PNZ67QCA.js +0 -1084
  240. package/dist/components/tr-TR-DEFEU3FU.js +0 -523
  241. package/dist/components/treeView-BLDUP644.js +0 -3
  242. package/dist/components/treemap-LRROVOQU.js +0 -3
  243. package/dist/components/typescript.js +0 -521
  244. package/dist/components/typst.js +0 -25
  245. package/dist/components/uk-UA-QMV73CPH.js +0 -523
  246. package/dist/components/umd.js +0 -16
  247. package/dist/components/use.js +0 -422
  248. package/dist/components/util.js +0 -49
  249. package/dist/components/vennDiagram-CIIHVFJN.js +0 -1880
  250. package/dist/components/vi-VN-M7AON7JQ.js +0 -523
  251. package/dist/components/viewerZoom.js +0 -92
  252. package/dist/components/wardley-L42UT6IY.js +0 -3
  253. package/dist/components/wardleyDiagram-YWT4CUSO.js +0 -656
  254. package/dist/components/wasm-pack-shim.js +0 -1711
  255. package/dist/components/wasm-pack-shim2.js +0 -934
  256. package/dist/components/wasm.js +0 -97
  257. package/dist/components/word.js +0 -3055
  258. package/dist/components/worker-ref.js +0 -16
  259. package/dist/components/xlsx.js +0 -21
  260. package/dist/components/xml.js +0 -166
  261. package/dist/components/xychartDiagram-2RQKCTM6.js +0 -2015
  262. package/dist/components/yaml.js +0 -144
  263. package/dist/components/zh-CN-LNUGB5OW.js +0 -523
  264. package/dist/components/zh-HK-E62DVLB3.js +0 -523
  265. package/dist/components/zh-TW-RAJ6MFWO.js +0 -523
  266. package/dist/index.mjs +0 -3293
  267. package/dist/src/App.vue.d.ts +0 -3
  268. package/dist/src/compare/CompareApp.vue.d.ts +0 -3
  269. package/dist/src/compare/main.d.ts +0 -0
  270. package/dist/src/compare/useSynchronizedScroll.d.ts +0 -7
  271. package/dist/src/components/HelloWorld.vue.d.ts +0 -3
  272. package/dist/src/components/utils.d.ts +0 -4
  273. package/dist/src/main.d.ts +0 -0
  274. package/dist/src/package/common/printCapability.d.ts +0 -27
  275. package/dist/src/package/common/printLayout.d.ts +0 -16
  276. package/dist/src/package/common/sourceLoading.d.ts +0 -10
  277. package/dist/src/package/common/type.d.ts +0 -544
  278. package/dist/src/package/common/util.d.ts +0 -5
  279. package/dist/src/package/common/worker-ref.d.ts +0 -12
  280. package/dist/src/package/components/FileViewer/FileViewer.vue.d.ts +0 -75
  281. package/dist/src/package/components/FileViewer/exportDocumentTemplate.d.ts +0 -9
  282. package/dist/src/package/components/FileViewer/hooks/useViewerDocumentFeatures.d.ts +0 -29
  283. package/dist/src/package/components/FileViewer/hooks/useViewerExport.d.ts +0 -21
  284. package/dist/src/package/components/FileViewer/hooks/useViewerWatermark.d.ts +0 -8
  285. package/dist/src/package/components/FileViewer/hooks/useViewerZoom.d.ts +0 -34
  286. package/dist/src/package/components/FileViewer/index.d.ts +0 -2
  287. package/dist/src/package/components/FileViewer/util.d.ts +0 -3
  288. package/dist/src/package/index.d.ts +0 -22
  289. package/dist/src/package/use/documentLocation.d.ts +0 -15
  290. package/dist/src/package/use/documentSearch.d.ts +0 -234
  291. package/dist/src/package/use/index.d.ts +0 -5
  292. package/dist/src/package/use/loading.d.ts +0 -33
  293. package/dist/src/package/use/viewerZoom.d.ts +0 -42
  294. package/dist/src/package/use/worker.d.ts +0 -24
  295. package/dist/src/package/vendors/archive/ArchiveViewer.vue.d.ts +0 -9
  296. package/dist/src/package/vendors/archive/cache.d.ts +0 -10
  297. package/dist/src/package/vendors/archive/fallback.d.ts +0 -9
  298. package/dist/src/package/vendors/archive/index.d.ts +0 -3
  299. package/dist/src/package/vendors/archive/shared.d.ts +0 -24
  300. package/dist/src/package/vendors/audio/AudioViewer.vue.d.ts +0 -7
  301. package/dist/src/package/vendors/audio/index.d.ts +0 -7
  302. package/dist/src/package/vendors/cad/CadViewer.vue.d.ts +0 -9
  303. package/dist/src/package/vendors/cad/index.d.ts +0 -8
  304. package/dist/src/package/vendors/drawing/DrawingViewer.vue.d.ts +0 -15
  305. package/dist/src/package/vendors/drawing/index.d.ts +0 -7
  306. package/dist/src/package/vendors/ebook/EpubViewer.vue.d.ts +0 -6
  307. package/dist/src/package/vendors/ebook/index.d.ts +0 -7
  308. package/dist/src/package/vendors/eda/EdaViewer.vue.d.ts +0 -8
  309. package/dist/src/package/vendors/eda/index.d.ts +0 -2
  310. package/dist/src/package/vendors/eda/parser.d.ts +0 -77
  311. package/dist/src/package/vendors/email/EmailViewer.vue.d.ts +0 -10
  312. package/dist/src/package/vendors/email/index.d.ts +0 -2
  313. package/dist/src/package/vendors/image/ImageViewer.vue.d.ts +0 -6
  314. package/dist/src/package/vendors/image/index.d.ts +0 -4
  315. package/dist/src/package/vendors/md/MarkdownViewer.vue.d.ts +0 -6
  316. package/dist/src/package/vendors/md/index.d.ts +0 -4
  317. package/dist/src/package/vendors/model/ModelViewer.vue.d.ts +0 -8
  318. package/dist/src/package/vendors/model/index.d.ts +0 -3
  319. package/dist/src/package/vendors/model/shared.d.ts +0 -1
  320. package/dist/src/package/vendors/mp4/index.d.ts +0 -4
  321. package/dist/src/package/vendors/nestedRender.d.ts +0 -10
  322. package/dist/src/package/vendors/ofd/OfdViewer.vue.d.ts +0 -6
  323. package/dist/src/package/vendors/ofd/index.d.ts +0 -7
  324. package/dist/src/package/vendors/pdf/PdfView.vue.d.ts +0 -10
  325. package/dist/src/package/vendors/pdf/index.d.ts +0 -2
  326. package/dist/src/package/vendors/pdf/worker/index.d.ts +0 -4
  327. package/dist/src/package/vendors/pdf/worker/pdf.worker.d.ts +0 -0
  328. package/dist/src/package/vendors/pptx/PptxRender.vue.d.ts +0 -9
  329. package/dist/src/package/vendors/pptx/index.d.ts +0 -6
  330. package/dist/src/package/vendors/pptx/options.d.ts +0 -39
  331. package/dist/src/package/vendors/pptx/support/chart.d.ts +0 -4
  332. package/dist/src/package/vendors/pptx/worker/index.d.ts +0 -4
  333. package/dist/src/package/vendors/renders.d.ts +0 -3
  334. package/dist/src/package/vendors/text/CodeViewer.vue.d.ts +0 -7
  335. package/dist/src/package/vendors/text/index.d.ts +0 -10
  336. package/dist/src/package/vendors/typst/TypstViewer.vue.d.ts +0 -15
  337. package/dist/src/package/vendors/typst/index.d.ts +0 -8
  338. package/dist/src/package/vendors/umd/UmdViewer.vue.d.ts +0 -6
  339. package/dist/src/package/vendors/umd/index.d.ts +0 -7
  340. package/dist/src/package/vendors/umd/parser.d.ts +0 -30
  341. package/dist/src/package/vendors/word/doc.d.ts +0 -5
  342. package/dist/src/package/vendors/word/docx.d.ts +0 -5
  343. package/dist/src/package/vendors/word/docx.worker.d.ts +0 -1
  344. package/dist/src/package/vendors/word/index.d.ts +0 -3
  345. package/dist/src/package/vendors/xlsx/XlsxTable.state.d.ts +0 -80
  346. package/dist/src/package/vendors/xlsx/XlsxTable.view.d.ts +0 -25
  347. package/dist/src/package/vendors/xlsx/XlsxTable.vue.d.ts +0 -6
  348. package/dist/src/package/vendors/xlsx/index.d.ts +0 -6
  349. package/dist/src/package/vendors/xlsx/util.d.ts +0 -3
  350. package/dist/src/package/vendors/xlsx/worker/index.d.ts +0 -4
  351. package/dist/src/package/vendors/xlsx/worker/sheetjs/SheetJsModel.d.ts +0 -73
  352. package/dist/src/package/vendors/xlsx/worker/sheetjs/color.d.ts +0 -2
  353. package/dist/src/package/vendors/xlsx/worker/sheetjs/index.d.ts +0 -4
  354. package/dist/src/package/vendors/xlsx/worker/sheetjs/sheet.worker.d.ts +0 -1
  355. package/dist/style.css +0 -1
  356. package/dist/wasm/cad/dwfv-render.wasm +0 -0
  357. package/dist/wasm/cad/dwg-worker.js +0 -24
  358. package/dist/wasm/cad/libredwg-web.js +0 -15
  359. package/dist/wasm/cad/libredwg-web.wasm +0 -0
package/dist/index.mjs DELETED
@@ -1,3293 +0,0 @@
1
- import { r as e } from "./components/chunk.js";
2
- import { n as t, t as n } from "./components/objectWithoutProperties.js";
3
- import { n as r, t as i } from "./components/defineProperty.js";
4
- import { n as a, t as o } from "./components/objectSpread2.js";
5
- import { n as s, t as c } from "./components/asyncToGenerator.js";
6
- import { a as l, i as u, n as d, o as f, r as p } from "./components/sourceLoading.js";
7
- import { t as m } from "./components/util.js";
8
- import { n as h } from "./components/use.js";
9
- import { a as g, i as _, o as ee, r as v } from "./components/documentSearch.js";
10
- import { i as y } from "./components/viewerZoom.js";
11
- import { t as b } from "./components/shared.js";
12
- import { t as te } from "./components/shared2.js";
13
- import { t as x } from "./components/_plugin-vue_export-helper.js";
14
- import { computed as S, createCommentVNode as C, createElementBlock as w, createElementVNode as T, createVNode as ne, defineComponent as E, h as D, inject as O, nextTick as re, normalizeClass as k, normalizeStyle as ie, onBeforeUnmount as A, openBlock as j, ref as ae, shallowRef as oe, toDisplayString as se, unref as M, watch as ce } from "vue";
15
- //#region src/package/style.css?url
16
- var le = "" + "data:text/css;base64,LmZpbGUtdmlld2VyW2RhdGEtdi03MTc2MGUyMF17LS1saWdodG5pbmdjc3MtbGlnaHQ6aW5pdGlhbDstLWxpZ2h0bmluZ2Nzcy1kYXJrOiA7Y29sb3Itc2NoZW1lOmxpZ2h0O2JhY2tncm91bmQ6I2ZmZjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmV9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPWRhcmtdW2RhdGEtdi03MTc2MGUyMF17LS1saWdodG5pbmdjc3MtbGlnaHQ6IDstLWxpZ2h0bmluZ2Nzcy1kYXJrOmluaXRpYWw7Y29sb3Itc2NoZW1lOmRhcms7YmFja2dyb3VuZDojMGYxNzFkfS52aWV3ZXItc3RhZ2VbZGF0YS12LTcxNzYwZTIwXXtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleDoxO21pbi1oZWlnaHQ6MDtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS52aWV3ZXItYWN0aW9uc1tkYXRhLXYtNzE3NjBlMjBde2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuOTIpO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMjAsMzUsNTMsLjA2KTtmbGV4LXNocmluazowO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDttaW4taGVpZ2h0OjQ1cHg7cGFkZGluZzo2cHggMTBweDtkaXNwbGF5OmlubGluZS1mbGV4fS52aWV3ZXItYWN0aW9ucy0tZmxvYXRpbmdbZGF0YS12LTcxNzYwZTIwXXt6LWluZGV4OjMwO3JpZ2h0OmNhbGMoMTZweCArIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQsMHB4KSk7Ym90dG9tOmNhbGMoMTZweCArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tLDBweCkpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC45NCk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDIwLDM1LDUzLC4xKTtib3JkZXItcmFkaXVzOjk5OXB4O21pbi1oZWlnaHQ6NDJweDtwYWRkaW5nOjZweDtwb3NpdGlvbjphYnNvbHV0ZTtib3gtc2hhZG93OjAgMThweCA0NHB4IHJnYmEoMTUsMjMsNDIsLjE2KX0udmlld2VyLWFjdGlvbnMtZ3JvdXBbZGF0YS12LTcxNzYwZTIwXXtiYWNrZ3JvdW5kOnJnYmEoMjAsMzUsNTMsLjAzNSk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDIwLDM1LDUzLC4wOCk7Ym9yZGVyLXJhZGl1czo5OTlweDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjJweDtwYWRkaW5nOjJweDtkaXNwbGF5OmlubGluZS1mbGV4fS52aWV3ZXItYWN0aW9ucyBidXR0b25bZGF0YS12LTcxNzYwZTIwXXtjb2xvcjojNDA1NDZhO21pbi13aWR0aDo0MnB4O2hlaWdodDozMHB4O2ZvbnQ6aW5oZXJpdDtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kOjAgMDtib3JkZXI6MDtib3JkZXItcmFkaXVzOjhweDtwYWRkaW5nOjAgMTBweDtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo4MDB9LnZpZXdlci1hY3Rpb25zIC52aWV3ZXItaWNvbi1idXR0b25bZGF0YS12LTcxNzYwZTIwXXtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDozMHB4O21pbi13aWR0aDozMHB4O3BhZGRpbmc6MDtkaXNwbGF5OmlubGluZS1mbGV4fS52aWV3ZXItYWN0aW9ucyAudmlld2VyLXpvb20tbWV0ZXJbZGF0YS12LTcxNzYwZTIwXXtjb2xvcjojMjM0NjVlO21pbi13aWR0aDo0OHB4O3BhZGRpbmc6MCA4cHh9LnZpZXdlci1hY3Rpb25zLS1mbG9hdGluZyBidXR0b25bZGF0YS12LTcxNzYwZTIwXXtib3JkZXItcmFkaXVzOjk5OXB4O21pbi13aWR0aDo0OHB4O2hlaWdodDozMnB4fS52aWV3ZXItYWN0aW9ucy0tZmxvYXRpbmcgLnZpZXdlci1pY29uLWJ1dHRvbltkYXRhLXYtNzE3NjBlMjBde3dpZHRoOjMycHg7bWluLXdpZHRoOjMycHh9LnZpZXdlci1hY3Rpb25zLS1mbG9hdGluZyAudmlld2VyLXpvb20tbWV0ZXJbZGF0YS12LTcxNzYwZTIwXXttaW4td2lkdGg6NTRweH0udmlld2VyLWFjdGlvbnMgYnV0dG9uW2RhdGEtdi03MTc2MGUyMF06aG92ZXI6bm90KDpkaXNhYmxlZCl7Y29sb3I6IzE2Nzc0YztiYWNrZ3JvdW5kOnJnYmEoMzMsMTYzLDEwMiwuMSl9LnZpZXdlci1hY3Rpb25zIGJ1dHRvbltkYXRhLXYtNzE3NjBlMjBdOmRpc2FibGVke2NvbG9yOiNhYWI1YzA7Y3Vyc29yOm5vdC1hbGxvd2VkfS52aWV3ZXItY29udGVudC1zaGVsbFtkYXRhLXYtNzE3NjBlMjBde2ZsZXg6MTttaW4taGVpZ2h0OjA7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5jb250ZW50W2RhdGEtdi03MTc2MGUyMF17YmFja2dyb3VuZDojZjJmMmYyO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9jaztvdmVyZmxvdzphdXRvfS5jb250ZW50LmhpZGRlbltkYXRhLXYtNzE3NjBlMjBde3Zpc2liaWxpdHk6aGlkZGVufS5mbHlmaXNoLXNlYXJjaC1tYXRjaHtjb2xvcjppbmhlcml0O2JhY2tncm91bmQ6cmdiYSgyNTUsMjE0LDEwMiwuNzIpO2JvcmRlci1yYWRpdXM6NHB4O3BhZGRpbmc6MCAycHg7Ym94LXNoYWRvdzowIDAgMCAxcHggcmdiYSgxODUsMTI4LDAsLjE0KX0uZmx5ZmlzaC1zZWFyY2gtbWF0Y2gtLWFjdGl2ZXtiYWNrZ3JvdW5kOnJnYmEoNDcsMTkxLDEyMiwuODIpO2JveC1zaGFkb3c6MCAwIDAgMnB4IHJnYmEoMzAsMTMyLDgzLC4yNCl9LnZpZXdlci13YXRlcm1hcmtbZGF0YS12LTcxNzYwZTIwXXt6LWluZGV4OjIwO3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowfS5zdGF0ZS1wYW5lbFtkYXRhLXYtNzE3NjBlMjBde3otaW5kZXg6NDA7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQocmdiYSgyNTUsMjU1LDI1NSwuOTIpLHJnYmEoMjQ2LDI0OCwyNDksLjk4KSk7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzoyNHB4O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MH0ubG9hZGluZy1jYXJkW2RhdGEtdi03MTc2MGUyMF0sLmVycm9yLWNhcmRbZGF0YS12LTcxNzYwZTIwXXtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjkyKTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTksMzYsNTUsLjA2KTtib3JkZXItcmFkaXVzOjI0cHg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxOHB4O3dpZHRoOm1pbigxMDAlLDQ2MHB4KTtwYWRkaW5nOjIycHg7ZGlzcGxheTpmbGV4O2JveC1zaGFkb3c6MCAxOHB4IDQycHggcmdiYSgxNSwzMSw0NywuMTIpfS5sb2FkaW5nLWljb25bZGF0YS12LTcxNzYwZTIwXXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLXZpZXdlci1hY2NlbnQpIDAlLCB2YXIoLS12aWV3ZXItYWNjZW50KSAxMDAlKTtjb2xvcjojZmZmO2xldHRlci1zcGFjaW5nOi4wNGVtO2JvcmRlci1yYWRpdXM6MjBweDtmbGV4LXNocmluazowO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21pbi13aWR0aDo3MHB4O2hlaWdodDo3MHB4O3BhZGRpbmc6MCAxMnB4O2ZvbnQtc2l6ZToyMnB4O2ZvbnQtd2VpZ2h0OjgwMDtkaXNwbGF5OmlubGluZS1mbGV4O2JveC1zaGFkb3c6MCAxNHB4IDMwcHggcmdiYSgxNywyOCw0MCwuMTQpfS5sb2FkaW5nLWNvcHlbZGF0YS12LTcxNzYwZTIwXXtmbGV4OjE7bWluLXdpZHRoOjB9LmxvYWRpbmcta2lja2VyW2RhdGEtdi03MTc2MGUyMF17Y29sb3I6dmFyKC0tdmlld2VyLWFjY2VudCk7bGV0dGVyLXNwYWNpbmc6LjA4ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtkaXNwbGF5OmJsb2NrfS5sb2FkaW5nLWNvcHkgc3Ryb25nW2RhdGEtdi03MTc2MGUyMF0sLmVycm9yLWNhcmQgc3Ryb25nW2RhdGEtdi03MTc2MGUyMF17Y29sb3I6IzE2MjgzYjttYXJnaW4tdG9wOjRweDtmb250LXNpemU6MjBweDtsaW5lLWhlaWdodDoxLjI7ZGlzcGxheTpibG9ja30ubG9hZGluZy1jb3B5IHBbZGF0YS12LTcxNzYwZTIwXSwuZXJyb3ItY2FyZCBwW2RhdGEtdi03MTc2MGUyMF17Y29sb3I6IzZhN2Q5MDttYXJnaW46OHB4IDAgMDtsaW5lLWhlaWdodDoxLjZ9LmxvYWRpbmctcmluZ1tkYXRhLXYtNzE3NjBlMjBde2JvcmRlcjozcHggc29saWQgdmFyKC0tdmlld2VyLXNvZnQpO2JvcmRlci10b3AtY29sb3I6dmFyKC0tdmlld2VyLWFjY2VudCk7Ym9yZGVyLXJhZGl1czo5OTlweDtmbGV4LXNocmluazowO3dpZHRoOjM4cHg7aGVpZ2h0OjM4cHg7YW5pbWF0aW9uOi45cyBsaW5lYXIgaW5maW5pdGUgdmlld2VyLXNwaW4tNzE3NjBlMjB9LmVycm9yLWNhcmRbZGF0YS12LTcxNzYwZTIwXXt0ZXh0LWFsaWduOmNlbnRlcjtkaXNwbGF5OmJsb2NrfS5lcnJvci1jYXJkIHN0cm9uZ1tkYXRhLXYtNzE3NjBlMjBde2NvbG9yOiNiNDIzMTh9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPWRhcmtdIC52aWV3ZXItYWN0aW9ucy0tZmxvYXRpbmdbZGF0YS12LTcxNzYwZTIwXXtiYWNrZ3JvdW5kOnJnYmEoMTQsMjIsMjgsLjk0KTtib3JkZXItY29sb3I6cmdiYSgxNjcsMTg1LDE5OCwuMTYpO2JveC1zaGFkb3c6MCAyMHB4IDUycHggcmdiYSgwLDAsMCwuMzQpfS5maWxlLXZpZXdlcltkYXRhLXZpZXdlci10aGVtZT1kYXJrXSAudmlld2VyLWFjdGlvbnNbZGF0YS12LTcxNzYwZTIwXXtiYWNrZ3JvdW5kOnJnYmEoMTQsMjIsMjgsLjk0KTtib3JkZXItYm90dG9tLWNvbG9yOnJnYmEoMTY3LDE4NSwxOTgsLjEyKX0uZmlsZS12aWV3ZXJbZGF0YS12aWV3ZXItdGhlbWU9ZGFya10gLnZpZXdlci1hY3Rpb25zIGJ1dHRvbltkYXRhLXYtNzE3NjBlMjBde2NvbG9yOiNiOGM3ZDV9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPWRhcmtdIC52aWV3ZXItYWN0aW9ucy1ncm91cFtkYXRhLXYtNzE3NjBlMjBde2JhY2tncm91bmQ6cmdiYSgxNjcsMTg1LDE5OCwuMDgpO2JvcmRlci1jb2xvcjpyZ2JhKDE2NywxODUsMTk4LC4xMyl9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPWRhcmtdIC52aWV3ZXItYWN0aW9ucyBidXR0b25bZGF0YS12LTcxNzYwZTIwXTpob3Zlcjpub3QoOmRpc2FibGVkKXtjb2xvcjojNWVlMGFlO2JhY2tncm91bmQ6cmdiYSg0NSwyMTIsMTU0LC4xNCl9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPWRhcmtdIC52aWV3ZXItYWN0aW9ucyBidXR0b25bZGF0YS12LTcxNzYwZTIwXTpkaXNhYmxlZHtjb2xvcjojNjY3ODg4fS5maWxlLXZpZXdlcltkYXRhLXZpZXdlci10aGVtZT1kYXJrXSAuY29udGVudFtkYXRhLXYtNzE3NjBlMjBde2JhY2tncm91bmQ6IzE0MWMyM30uZmlsZS12aWV3ZXJbZGF0YS12aWV3ZXItdGhlbWU9ZGFya10gLnN0YXRlLXBhbmVsW2RhdGEtdi03MTc2MGUyMF17YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQocmdiYSgxNSwyMywzMCwuOTIpLHJnYmEoMTEsMTcsMjIsLjk4KSl9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPWRhcmtdIC5sb2FkaW5nLWNhcmRbZGF0YS12LTcxNzYwZTIwXSwuZmlsZS12aWV3ZXJbZGF0YS12aWV3ZXItdGhlbWU9ZGFya10gLmVycm9yLWNhcmRbZGF0YS12LTcxNzYwZTIwXXtiYWNrZ3JvdW5kOnJnYmEoMTksMjksMzcsLjk0KTtib3JkZXItY29sb3I6cmdiYSgxMzksMTYxLDE3NywuMTYpO2JveC1zaGFkb3c6MCAyMnB4IDUycHggcmdiYSgwLDAsMCwuMzQpfS5maWxlLXZpZXdlcltkYXRhLXZpZXdlci10aGVtZT1kYXJrXSAubG9hZGluZy1jb3B5IHN0cm9uZ1tkYXRhLXYtNzE3NjBlMjBdLC5maWxlLXZpZXdlcltkYXRhLXZpZXdlci10aGVtZT1kYXJrXSAuZXJyb3ItY2FyZCBzdHJvbmdbZGF0YS12LTcxNzYwZTIwXXtjb2xvcjojZWZmN2ZifS5maWxlLXZpZXdlcltkYXRhLXZpZXdlci10aGVtZT1kYXJrXSAubG9hZGluZy1jb3B5IHBbZGF0YS12LTcxNzYwZTIwXSwuZmlsZS12aWV3ZXJbZGF0YS12aWV3ZXItdGhlbWU9ZGFya10gLmVycm9yLWNhcmQgcFtkYXRhLXYtNzE3NjBlMjBde2NvbG9yOiM5ZWIwYmZ9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPWRhcmtdIC5lcnJvci1jYXJkIHN0cm9uZ1tkYXRhLXYtNzE3NjBlMjBde2NvbG9yOiNmZjljOTF9QGtleWZyYW1lcyB2aWV3ZXItc3Bpbi03MTc2MGUyMHswJXt0cmFuc2Zvcm06cm90YXRlKDApfXRve3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19QG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpkYXJrKXsuZmlsZS12aWV3ZXJbZGF0YS12aWV3ZXItdGhlbWU9c3lzdGVtXVtkYXRhLXYtNzE3NjBlMjBdey0tbGlnaHRuaW5nY3NzLWxpZ2h0OiA7LS1saWdodG5pbmdjc3MtZGFyazppbml0aWFsO2NvbG9yLXNjaGVtZTpkYXJrO2JhY2tncm91bmQ6IzBmMTcxZH0uZmlsZS12aWV3ZXJbZGF0YS12aWV3ZXItdGhlbWU9c3lzdGVtXSAudmlld2VyLWFjdGlvbnMtLWZsb2F0aW5nW2RhdGEtdi03MTc2MGUyMF17YmFja2dyb3VuZDpyZ2JhKDE0LDIyLDI4LC45NCk7Ym9yZGVyLWNvbG9yOnJnYmEoMTY3LDE4NSwxOTgsLjE2KTtib3gtc2hhZG93OjAgMjBweCA1MnB4IHJnYmEoMCwwLDAsLjM0KX0uZmlsZS12aWV3ZXJbZGF0YS12aWV3ZXItdGhlbWU9c3lzdGVtXSAudmlld2VyLWFjdGlvbnNbZGF0YS12LTcxNzYwZTIwXXtiYWNrZ3JvdW5kOnJnYmEoMTQsMjIsMjgsLjk0KTtib3JkZXItYm90dG9tLWNvbG9yOnJnYmEoMTY3LDE4NSwxOTgsLjEyKX0uZmlsZS12aWV3ZXJbZGF0YS12aWV3ZXItdGhlbWU9c3lzdGVtXSAudmlld2VyLWFjdGlvbnMgYnV0dG9uW2RhdGEtdi03MTc2MGUyMF17Y29sb3I6I2I4YzdkNX0uZmlsZS12aWV3ZXJbZGF0YS12aWV3ZXItdGhlbWU9c3lzdGVtXSAudmlld2VyLWFjdGlvbnMtZ3JvdXBbZGF0YS12LTcxNzYwZTIwXXtiYWNrZ3JvdW5kOnJnYmEoMTY3LDE4NSwxOTgsLjA4KTtib3JkZXItY29sb3I6cmdiYSgxNjcsMTg1LDE5OCwuMTMpfS5maWxlLXZpZXdlcltkYXRhLXZpZXdlci10aGVtZT1zeXN0ZW1dIC52aWV3ZXItYWN0aW9ucyBidXR0b25bZGF0YS12LTcxNzYwZTIwXTpob3Zlcjpub3QoOmRpc2FibGVkKXtjb2xvcjojNWVlMGFlO2JhY2tncm91bmQ6cmdiYSg0NSwyMTIsMTU0LC4xNCl9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPXN5c3RlbV0gLnZpZXdlci1hY3Rpb25zIGJ1dHRvbltkYXRhLXYtNzE3NjBlMjBdOmRpc2FibGVke2NvbG9yOiM2Njc4ODh9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPXN5c3RlbV0gLmNvbnRlbnRbZGF0YS12LTcxNzYwZTIwXXtiYWNrZ3JvdW5kOiMxNDFjMjN9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPXN5c3RlbV0gLnN0YXRlLXBhbmVsW2RhdGEtdi03MTc2MGUyMF17YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQocmdiYSgxNSwyMywzMCwuOTIpLHJnYmEoMTEsMTcsMjIsLjk4KSl9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPXN5c3RlbV0gLmxvYWRpbmctY2FyZFtkYXRhLXYtNzE3NjBlMjBdLC5maWxlLXZpZXdlcltkYXRhLXZpZXdlci10aGVtZT1zeXN0ZW1dIC5lcnJvci1jYXJkW2RhdGEtdi03MTc2MGUyMF17YmFja2dyb3VuZDpyZ2JhKDE5LDI5LDM3LC45NCk7Ym9yZGVyLWNvbG9yOnJnYmEoMTM5LDE2MSwxNzcsLjE2KTtib3gtc2hhZG93OjAgMjJweCA1MnB4IHJnYmEoMCwwLDAsLjM0KX0uZmlsZS12aWV3ZXJbZGF0YS12aWV3ZXItdGhlbWU9c3lzdGVtXSAubG9hZGluZy1jb3B5IHN0cm9uZ1tkYXRhLXYtNzE3NjBlMjBdLC5maWxlLXZpZXdlcltkYXRhLXZpZXdlci10aGVtZT1zeXN0ZW1dIC5lcnJvci1jYXJkIHN0cm9uZ1tkYXRhLXYtNzE3NjBlMjBde2NvbG9yOiNlZmY3ZmJ9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPXN5c3RlbV0gLmxvYWRpbmctY29weSBwW2RhdGEtdi03MTc2MGUyMF0sLmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPXN5c3RlbV0gLmVycm9yLWNhcmQgcFtkYXRhLXYtNzE3NjBlMjBde2NvbG9yOiM5ZWIwYmZ9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPXN5c3RlbV0gLmVycm9yLWNhcmQgc3Ryb25nW2RhdGEtdi03MTc2MGUyMF17Y29sb3I6I2ZmOWM5MX19QG1lZGlhIChtYXgtd2lkdGg6NzY3cHgpey52aWV3ZXItYWN0aW9ucy0tZmxvYXRpbmdbZGF0YS12LTcxNzYwZTIwXXtyaWdodDpjYWxjKDEwcHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0LDBweCkpO2JvdHRvbTpjYWxjKDEwcHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwwcHgpKTtnYXA6NHB4O21heC13aWR0aDpjYWxjKDEwMCUgLSAyMHB4KTtwYWRkaW5nOjVweDtvdmVyZmxvdy14OmF1dG99LnZpZXdlci1hY3Rpb25zLS1mbG9hdGluZyBidXR0b25bZGF0YS12LTcxNzYwZTIwXXttaW4td2lkdGg6NDBweDtoZWlnaHQ6MzBweDtwYWRkaW5nOjAgOXB4fX0uZmlsZS1yZW5kZXJ7d2lkdGg6MTAwJTttaW4td2lkdGg6MDtoZWlnaHQ6MTAwJTttaW4taGVpZ2h0OjB9LnNsaWRle3otaW5kZXg6MTAwO2JvcmRlcjoxcHggc29saWQgIzMzMztib3JkZXItcmFkaXVzOjEwcHg7bWFyZ2luLWJvdHRvbTo1MHB4O21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG87cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5zbGlkZSBkaXYuYmxvY2t7d2lkdGg6MTAwJTtsaW5lLWhlaWdodDoxO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MH0uc2xpZGUgZGl2LmNvbnRlbnQsLnNsaWRlIGRpdi5kaWFncmFtLWNvbnRlbnR7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2Rpc3BsYXk6ZmxleH0uc2xpZGUgZGl2LmNvbnRlbnQtcnRse2RpcmVjdGlvbjpydGw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2Rpc3BsYXk6ZmxleH0uc2xpZGUgLnByZWdyYXBoLXJ0bHtkaXJlY3Rpb246cnRsfS5zbGlkZSAucHJlZ3JhcGgtbHRye2RpcmVjdGlvbjpsdHJ9LnNsaWRlIC5wcmVncmFwaC1pbmhlcml0e2RpcmVjdGlvbjppbmhlcml0fS5zbGlkZSAuc2xpZGUtcHJncnBoe3dpZHRoOjEwMCV9LnNsaWRlIC5saW5lLWJyZWFrLWJyOmJlZm9yZXtjb250ZW50OiJcYSAiO3doaXRlLXNwYWNlOnByZX0uc2xpZGUgZGl2LnYtdXB7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9LnNsaWRlIGRpdi52LW1pZHtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5zbGlkZSBkaXYudi1kb3due2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uc2xpZGUgZGl2LmgtbGVmdHt0ZXh0LWFsaWduOmxlZnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0uc2xpZGUgZGl2LmgtbGVmdC1ydGx7dGV4dC1hbGlnbjpsZWZ0O2p1c3RpZnktY29udGVudDpmbGV4LWVuZDthbGlnbi1pdGVtczpmbGV4LWVuZH0uc2xpZGUgZGl2LmgtbWlke3RleHQtYWxpZ246Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS5zbGlkZSBkaXYuaC1yaWdodHt0ZXh0LWFsaWduOnJpZ2h0O2p1c3RpZnktY29udGVudDpmbGV4LWVuZDthbGlnbi1pdGVtczpmbGV4LWVuZH0uc2xpZGUgZGl2LmgtcmlnaHQtcnRse3RleHQtYWxpZ246cmlnaHQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0uc2xpZGUgZGl2LmgtanVzdCwuc2xpZGUgZGl2LmgtZGlzdHt0ZXh0LWFsaWduOmp1c3RpZnl9LnNsaWRlIGRpdi51cC1sZWZ0e3RleHQtYWxpZ246bGVmdDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS5zbGlkZSBkaXYudXAtY2VudGVye2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O2FsaWduLWl0ZW1zOmNlbnRlcn0uc2xpZGUgZGl2LnVwLXJpZ2h0e2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtZW5kfS5zbGlkZSBkaXYuY2VudGVyLWxlZnR7dGV4dC1hbGlnbjpsZWZ0O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0uc2xpZGUgZGl2LmNlbnRlci1jZW50ZXJ7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9LnNsaWRlIGRpdi5jZW50ZXItcmlnaHR7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpmbGV4LWVuZH0uc2xpZGUgZGl2LmRvd24tbGVmdHt0ZXh0LWFsaWduOmxlZnQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9LnNsaWRlIGRpdi5kb3duLWNlbnRlcntqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7YWxpZ24taXRlbXM6Y2VudGVyfS5zbGlkZSBkaXYuZG93bi1yaWdodHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7YWxpZ24taXRlbXM6ZmxleC1lbmR9LnNsaWRlIGxpLnNsaWRle21hcmdpbjoxMHB4IDA7Zm9udC1zaXplOjE4cHh9LnNsaWRlIHRhYmxle3Bvc2l0aW9uOmFic29sdXRlfS5zbGlkZSBzdmcuZHJhd2luZ3twb3NpdGlvbjphYnNvbHV0ZTtvdmVyZmxvdzp2aXNpYmxlfS5iYi1jb2xvci1wYXR0ZXJue2JhY2tncm91bmQtaW1hZ2U6dXJsKCMwMGM3M2M7I2ZhNzE3MTsjMmFkMGZmOyM3Mjk0Y2U7I2UzZTQ0ODsjY2M3ZTZlOyNmYjZjY2Y7I2M5OGRmZjsjNGFlYTk5OyNiYmJiYmI7KX0uYmIgc3Zne2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWYsQXJpYWwsbmFudW1nb3RoaWMsRG90dW07Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MX0uYmIgcGF0aCwuYmIgbGluZXtmaWxsOm5vbmU7c3Ryb2tlOiNjNGM0YzR9LmJiIHRleHQsLmJiIC5iYi1idXR0b257LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO2ZpbGw6IzU1NTtmb250LXNpemU6MTFweH0uYmItbGVnZW5kLWl0ZW0tdGl0bGUsLmJiLXhncmlkLWZvY3VzLC5iYi15Z3JpZC1mb2N1cywuYmIteWdyaWR7c2hhcGUtcmVuZGVyaW5nOmNyaXNwZWRnZXN9LmJiLWNoYXJ0LWFyY3MgLmJiLW5lZWRsZXtmaWxsOiMwMDB9LmJiLWNoYXJ0LWZ1bm5lbHMgcGF0aHtzdHJva2Utd2lkdGg6MH0uYmItY2hhcnQtZnVubmVscysuYmItY2hhcnQtdGV4dHMgdGV4dHtmaWxsOiNmZmZ9LmJiLWF4aXN7c2hhcGUtcmVuZGVyaW5nOmNyaXNwZWRnZXN9LmJiLWF4aXMgLmJiLWF4aXMteC10b29sdGlwLC5iYi1heGlzIC5iYi1heGlzLXktdG9vbHRpcCwuYmItYXhpcyAuYmItYXhpcy15Mi10b29sdGlwe2ZpbGw6I2ZmZjt3aGl0ZS1zcGFjZTpub3dyYXA7Zm9udC1zaXplOi45ZW19LmJiLWF4aXMteSB0ZXh0LC5iYi1heGlzLXkyIHRleHR7ZmlsbDojNzM3MzczfS5iYi1ldmVudC1yZWN0c3tmaWxsLW9wYWNpdHk6MSFpbXBvcnRhbnR9LmJiLWV2ZW50LXJlY3RzIC5iYi1ldmVudC1yZWN0e2ZpbGw6dHJhbnNwYXJlbnR9LmJiLWV2ZW50LXJlY3RzIC5iYi1ldmVudC1yZWN0Ll9hY3RpdmVfe2ZpbGw6cmdiYSgzOSwyMDEsMywuMDUpfS50aWNrLl9hY3RpdmVfIHRleHR7ZmlsbDojMDBjODNjIWltcG9ydGFudH0uYmItZ3JpZHtwb2ludGVyLWV2ZW50czpub25lfS5iYi1ncmlkIGxpbmV7c3Ryb2tlOiNmMWYxZjF9LmJiLXhncmlkLWZvY3VzIGxpbmUsLmJiLXlncmlkLWZvY3VzIGxpbmV7c3Ryb2tlOiNkZGR9LmJiLXRleHQuYmItZW1wdHl7ZmlsbDojNzY3Njc2fS5iYi1saW5le3N0cm9rZS13aWR0aDoxcHh9LmJiLWNpcmNsZS5fZXhwYW5kZWRfe3N0cm9rZS13aWR0aDoycHg7c3Ryb2tlOnJlZDtmaWxsOiNmZmYhaW1wb3J0YW50fXJlY3QuYmItY2lyY2xlLl9leHBhbmRlZF8sdXNlLmJiLWNpcmNsZS5fZXhwYW5kZWRfe3N0cm9rZS13aWR0aDoxcHh9LmJiLXNlbGVjdGVkLWNpcmNsZXtmaWxsOiNmZmY7c3Ryb2tlLXdpZHRoOjJweH0uYmItYmFye3N0cm9rZS13aWR0aDowfS5iYi1iYXIuX2V4cGFuZGVkX3tmaWxsLW9wYWNpdHk6Ljc1fS5iYi1jYW5kbGVzdGlja3tzdHJva2Utd2lkdGg6MXB4fS5iYi1jYW5kbGVzdGljay5fZXhwYW5kZWRfe2ZpbGwtb3BhY2l0eTouNzV9LmJiLXRhcmdldC5iYi1mb2N1c2VkLC5iYi1jaXJjbGVzLmJiLWZvY3VzZWR7b3BhY2l0eToxfS5iYi10YXJnZXQuYmItZm9jdXNlZCBwYXRoLmJiLWxpbmUsLmJiLXRhcmdldC5iYi1mb2N1c2VkIHBhdGguYmItc3RlcCwuYmItY2lyY2xlcy5iYi1mb2N1c2VkIHBhdGguYmItbGluZSwuYmItY2lyY2xlcy5iYi1mb2N1c2VkIHBhdGguYmItc3RlcHtzdHJva2Utd2lkdGg6MnB4fS5iYi10YXJnZXQuYmItZGVmb2N1c2VkLC5iYi1jaXJjbGVzLmJiLWRlZm9jdXNlZHtvcGFjaXR5Oi4zIWltcG9ydGFudH0uYmItdGFyZ2V0LmJiLWRlZm9jdXNlZCAudGV4dC1vdmVybGFwcGluZywuYmItY2lyY2xlcy5iYi1kZWZvY3VzZWQgLnRleHQtb3ZlcmxhcHBpbmd7b3BhY2l0eTouMDUhaW1wb3J0YW50fS5iYi1yZWdpb257ZmlsbDojNDY4MmI0fS5iYi1yZWdpb24gcmVjdHtmaWxsLW9wYWNpdHk6LjF9LmJiLXJlZ2lvbi5zZWxlY3RlZCByZWN0e2ZpbGw6IzI3YzkwM30uYmItem9vbS1icnVzaCwuYmItYnJ1c2ggLmV4dGVudHtmaWxsLW9wYWNpdHk6LjF9LmJiLWxlZ2VuZC1pdGVtey13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0uYmItbGVnZW5kLWl0ZW0taGlkZGVue29wYWNpdHk6LjE1fS5iYi1sZWdlbmQtYmFja2dyb3VuZHtvcGFjaXR5Oi43NTtmaWxsOiNmZmY7c3Ryb2tlOiNkM2QzZDM7c3Ryb2tlLXdpZHRoOjFweH0uYmItdGl0bGV7Zm9udC1zaXplOjE0cHh9LmJiLWNoYXJ0LXRyZWVtYXBzIHJlY3R7c3Ryb2tlOiNmZmY7c3Ryb2tlLXdpZHRoOjFweH0uYmItdG9vbHRpcC1jb250YWluZXJ7ei1pbmRleDoxMDstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZixBcmlhbCxuYW51bWdvdGhpYyxEb3R1bTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0uYmItdG9vbHRpcHtib3JkZXItY29sbGFwc2U6c2VwYXJhdGU7Ym9yZGVyLXNwYWNpbmc6MDtlbXB0eS1jZWxsczpzaG93O3RleHQtYWxpZ246bGVmdDt3aGl0ZS1zcGFjZTpub3dyYXA7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgIzk5OTtmb250LXNpemU6MTFweH0uYmItdG9vbHRpcCB0aHt0ZXh0LWFsaWduOmxlZnQ7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2VlZTtwYWRkaW5nOjRweCA4cHg7Zm9udC1zaXplOjEycHh9LmJiLXRvb2x0aXAgdGR7YmFja2dyb3VuZC1jb2xvcjojZmZmO3BhZGRpbmc6NHB4IDZweH0uYmItdG9vbHRpcCB0ZDpmaXJzdC1jaGlsZHtwYWRkaW5nLWxlZnQ6OHB4fS5iYi10b29sdGlwIHRkOmxhc3QtY2hpbGR7cGFkZGluZy1yaWdodDo4cHh9LmJiLXRvb2x0aXAgdGQ+c3BhbiwuYmItdG9vbHRpcCB0ZD5zdmd7dmVydGljYWwtYWxpZ246bWlkZGxlO2JvcmRlci1yYWRpdXM6NXB4O3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHg7bWFyZ2luLXJpZ2h0OjZweDtkaXNwbGF5OmlubGluZS1ibG9ja30uYmItdG9vbHRpcCB0ZC52YWx1ZXtib3JkZXItbGVmdDoxcHggc29saWQgdHJhbnNwYXJlbnR9LmJiLXRvb2x0aXAgLmJiLXRvb2x0aXAtdGl0bGV7Y29sb3I6I2FhYTtsaW5lLWhlaWdodDoyMHB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5iYi10b29sdGlwIC5iYi10b29sdGlwLWRldGFpbCB0YWJsZXtib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7Ym9yZGVyLXNwYWNpbmc6MH0uYmItdG9vbHRpcCAuYmItdG9vbHRpcC1kZXRhaWwgLmJiLXRvb2x0aXAtbmFtZSwuYmItdG9vbHRpcCAuYmItdG9vbHRpcC1kZXRhaWwgLmJiLXRvb2x0aXAtdmFsdWV7Y29sb3I6IzQ0NDt0ZXh0LWFsaWduOmxlZnQ7cGFkZGluZzo0cHggMCAzcHg7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEzcHh9LmJiLXRvb2x0aXAgLmJiLXRvb2x0aXAtZGV0YWlsIC5iYi10b29sdGlwLXZhbHVle3BhZGRpbmctbGVmdDo1cHg7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6ODAwfS5iYi1hcmVhe3N0cm9rZS13aWR0aDowO29wYWNpdHk6LjJ9LmJiLWNoYXJ0LWFyY3MtdGl0bGV7ZG9taW5hbnQtYmFzZWxpbmU6bWlkZGxlO2ZvbnQtc2l6ZToxLjNlbX10ZXh0LmJiLWNoYXJ0LWFyY3MtZ2F1Z2UtdGl0bGV7ZG9taW5hbnQtYmFzZWxpbmU6bWlkZGxlO2ZvbnQtc2l6ZToyLjdlbX0uYmItY2hhcnQtYXJjcyAuYmItY2hhcnQtYXJjcy1iYWNrZ3JvdW5ke2ZpbGw6I2UwZTBlMDtzdHJva2U6bm9uZX0uYmItY2hhcnQtYXJjcyAuYmItY2hhcnQtYXJjcy1nYXVnZS11bml0e2ZpbGw6IzAwMDtmb250LXNpemU6MTZweH0uYmItY2hhcnQtYXJjcyAuYmItY2hhcnQtYXJjcy1nYXVnZS1taW4sLmJiLWNoYXJ0LWFyY3MgLmJiLWNoYXJ0LWFyY3MtZ2F1Z2UtbWF4e2ZpbGw6Izc3N30uYmItY2hhcnQtYXJjcyAuYmItY2hhcnQtYXJjcy10aXRsZXtmaWxsOiMwMDA7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxNnB4IWltcG9ydGFudH0uYmItY2hhcnQtYXJjcyBwYXRoLmVtcHR5e2ZpbGw6I2VhZWFlYTtzdHJva2Utd2lkdGg6MH0uYmItY2hhcnQtYXJjcyAuYmItbGV2ZWxzIGNpcmNsZXtmaWxsOm5vbmU7c3Ryb2tlOiM4NDgyODI7c3Ryb2tlLXdpZHRoOi41cHh9LmJiLWNoYXJ0LWFyY3MgLmJiLWxldmVscyB0ZXh0e2ZpbGw6Izg0ODI4Mn0uYmItY2hhcnQtYXJjIC5iYi1nYXVnZS12YWx1ZXtmaWxsOiMwMDB9LmJiLWNoYXJ0LWFyYyBwYXRoe3N0cm9rZTojZmZmfS5iYi1jaGFydC1hcmMgcmVjdHtzdHJva2U6I2ZmZjtzdHJva2Utd2lkdGg6MXB4fS5iYi1jaGFydC1hcmMgdGV4dHtmaWxsOiNmZmY7Zm9udC1zaXplOjEzcHh9LmJiLWNoYXJ0LWFyYyAuYmItYXJjLWxhYmVsLWxpbmV7ZmlsbDpub25lO3N0cm9rZS13aWR0aDoxcHg7cG9pbnRlci1ldmVudHM6bm9uZTtzdHJva2U6IzdmN2Y3Zn0uYmItY2hhcnQtYXJjPnRleHQuYmItYXJjLWxhYmVsLWxpbmUtdGV4dHtmaWxsOiMwMDB9LmJiLWNoYXJ0LXJhZGFycyAuYmItbGV2ZWxzIHBvbHlnb257ZmlsbDpub25lO3N0cm9rZTojODQ4MjgyO3N0cm9rZS13aWR0aDouNXB4fS5iYi1jaGFydC1yYWRhcnMgLmJiLWxldmVscyB0ZXh0e2ZpbGw6Izg0ODI4Mn0uYmItY2hhcnQtcmFkYXJzIC5iYi1heGlzIGxpbmV7c3Ryb2tlOiM4NDgyODI7c3Ryb2tlLXdpZHRoOi41cHh9LmJiLWNoYXJ0LXJhZGFycyAuYmItYXhpcyB0ZXh0e2N1cnNvcjpkZWZhdWx0O2ZvbnQtc2l6ZToxLjE1ZW19LmJiLWNoYXJ0LXJhZGFycyAuYmItc2hhcGVzIHBvbHlnb257ZmlsbC1vcGFjaXR5Oi4yO3N0cm9rZS13aWR0aDoxcHh9LmJiLWJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDtyaWdodDoxMHB4fS5iYi1idXR0b24gLmJiLXpvb20tcmVzZXR7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgI2NjYztib3JkZXItcmFkaXVzOjVweDtwYWRkaW5nOjVweH0ucHB0eC13cmFwcGVyW2RhdGEtdi03N2Q3MDZjOF17bWluLXdpZHRoOjA7bWF4LXdpZHRoOjEwMCU7bWFyZ2luOjAgYXV0b30ucHB0eC1lcnJvcltkYXRhLXYtNzdkNzA2Yzhde2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjojMWYyZDNiO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjgsNDMsNTgsLjEyKTtib3JkZXItcmFkaXVzOjE0cHg7d2lkdGg6bWluKDY4MHB4LDEwMCUgLSAzMnB4KTttYXJnaW46NDhweCBhdXRvO3BhZGRpbmc6MjRweDtmb250LWZhbWlseTpBcHRvcyxTZWdvZSBVSSxQaW5nRmFuZyBTQyxNaWNyb3NvZnQgWWFIZWksc2Fucy1zZXJpZjtib3gtc2hhZG93OjAgMTZweCA0MnB4IHJnYmEoMjUsNDIsNTQsLjA4KX0ucHB0eC1lcnJvciBzdHJvbmdbZGF0YS12LTc3ZDcwNmM4XXttYXJnaW4tYm90dG9tOjEwcHg7Zm9udC1zaXplOjE4cHg7ZGlzcGxheTpibG9ja30ucHB0eC1lcnJvciBwW2RhdGEtdi03N2Q3MDZjOF17Y29sb3I6IzYwNzI4MjttYXJnaW46MDtsaW5lLWhlaWdodDoxLjd9LmV4Y2VsLXdyYXBwZXJbZGF0YS12LTcwYTc4Mzg1XXtiYWNrZ3JvdW5kOiNmZmY7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlfS50YWJsZS13cmFwcGVyW2RhdGEtdi03MGE3ODM4NV17YmFja2dyb3VuZDojZmZmO2ZsZXg6MTt3aWR0aDoxMDAlO21pbi1oZWlnaHQ6MDtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW59LnNoZWV0LWxvYWRpbmdbZGF0YS12LTcwYTc4Mzg1XXt6LWluZGV4OjIwO2NvbG9yOiMxYTdmNTA7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kOnJnYmEoMzMsMTYzLDEwMiwuMSk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDMzLDE2MywxMDIsLjIpO2JvcmRlci1yYWRpdXM6MTRweDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtwYWRkaW5nOjEwcHggMTRweDtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo2MDA7ZGlzcGxheTppbmxpbmUtZmxleDtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MThweDtyaWdodDoxOHB4O2JveC1zaGFkb3c6MCA4cHggMjBweCByZ2JhKDMzLDE2MywxMDIsLjEyKX0uc2hlZXQtbG9hZGluZy1kb3RbZGF0YS12LTcwYTc4Mzg1XXtiYWNrZ3JvdW5kOiMyMWEzNjY7Ym9yZGVyLXJhZGl1czo5OTlweDtmbGV4LXNocmluazowO3dpZHRoOjhweDtoZWlnaHQ6OHB4O2FuaW1hdGlvbjoxLjJzIGVhc2UtaW4tb3V0IGluZmluaXRlIHNoZWV0LWxvYWRpbmctcHVsc2UtNzBhNzgzODU7Ym94LXNoYWRvdzowIDAgMCA2cHggcmdiYSgzMywxNjMsMTAyLC4xMil9LnNoZWV0LWxvYWRpbmctc3VtbWFyeVtkYXRhLXYtNzBhNzgzODVde2NvbG9yOiM1ZjYzNjh9LnRhYmxlLWhvc3RbZGF0YS12LTcwYTc4Mzg1XXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MH0uZXhjZWwtaW1hZ2Utdmlld3BvcnRbZGF0YS12LTcwYTc4Mzg1XXt6LWluZGV4OjM1O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cmlnaHQ6MDtvdmVyZmxvdzpoaWRkZW59LmV4Y2VsLWltYWdlLWxheWVyW2RhdGEtdi03MGE3ODM4NV17dHJhbnNmb3JtLW9yaWdpbjowIDA7d2lsbC1jaGFuZ2U6dHJhbnNmb3JtO3dpZHRoOjA7aGVpZ2h0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOmF1dG87bGVmdDowO3JpZ2h0OmF1dG99LmV4Y2VsLWltYWdlW2RhdGEtdi03MGE3ODM4NV17b2JqZWN0LWZpdDpjb250YWluOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTttYXgtd2lkdGg6bm9uZTtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlfS50YWJsZS1ob3N0W2RhdGEtdi03MGE3ODM4NV0gLmUtdmlydC10YWJsZS1jb250YWluZXIsLnRhYmxlLWhvc3RbZGF0YS12LTcwYTc4Mzg1XSAuZS12aXJ0LXRhYmxlLXN0YWdle3dpZHRoOjEwMCUhaW1wb3J0YW50fS50YWJsZS1ob3N0W2RhdGEtdi03MGE3ODM4NV0gLmUtdmlydC10YWJsZS1jb250YWluZXJ7aGVpZ2h0OjEwMCUhaW1wb3J0YW50fS50YWJsZS1ob3N0W2RhdGEtdi03MGE3ODM4NV0gLmUtdmlydC10YWJsZS1zdGFnZXtvdmVyZmxvdzpoaWRkZW59LmxvYWRpbmdbZGF0YS12LTcwYTc4Mzg1XXt6LWluZGV4Ojk5OTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoNnB4KTtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjk2KTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjB9LmxvYWRpbmctY2FyZFtkYXRhLXYtNzBhNzgzODVde2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuOTIpO2JvcmRlcjoxcHggc29saWQgcmdiYSgzMywxNjMsMTAyLC4xKTtib3JkZXItcmFkaXVzOjI0cHg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxOHB4O3dpZHRoOm1pbigxMDAlLDQ2MHB4KTtwYWRkaW5nOjIycHg7ZGlzcGxheTpmbGV4O2JveC1zaGFkb3c6MCAyMnB4IDQ4cHggcmdiYSgxOCwzNiwyNywuMTIpfS5sb2FkaW5nLWJyYW5kW2RhdGEtdi03MGE3ODM4NV17YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYmEoMzMsMTYzLDEwMiwuMTQpLHJnYmEoMzMsMTYzLDEwMiwuMDQpKTtib3JkZXItcmFkaXVzOjIycHg7ZmxleC1zaHJpbms6MDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDo3OHB4O2hlaWdodDo3OHB4O2Rpc3BsYXk6ZmxleH0uZXhjZWwtd3JhcHBlciBpbWdbZGF0YS12LTcwYTc4Mzg1XXtoZWlnaHQ6YXV0bztkaXNwbGF5OmJsb2NrfS5leGNlbC13cmFwcGVyIGltZy5sZ1tkYXRhLXYtNzBhNzgzODVde3dpZHRoOjQ4cHh9LmxvYWRpbmctY29weVtkYXRhLXYtNzBhNzgzODVde2ZsZXg6MTttaW4td2lkdGg6MH0ubG9hZGluZy1raWNrZXJbZGF0YS12LTcwYTc4Mzg1XXtjb2xvcjojMjFhMzY2O2xldHRlci1zcGFjaW5nOi4wOGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo3MDA7ZGlzcGxheTpibG9ja30ubG9hZGluZy1jb3B5IHN0cm9uZ1tkYXRhLXYtNzBhNzgzODVde2NvbG9yOiMxODM4Mjg7bWFyZ2luLXRvcDo2cHg7Zm9udC1zaXplOjIwcHg7bGluZS1oZWlnaHQ6MS4zO2Rpc3BsYXk6YmxvY2t9LmxvYWRpbmctY29weSBwW2RhdGEtdi03MGE3ODM4NV17Y29sb3I6IzYxNzU2NTttYXJnaW46OHB4IDAgMDtsaW5lLWhlaWdodDoxLjZ9LmxvYWRpbmctc3Bpbm5lcltkYXRhLXYtNzBhNzgzODVde2JvcmRlcjozcHggc29saWQgcmdiYSgzMywxNjMsMTAyLC4xNCk7Ym9yZGVyLXRvcC1jb2xvcjojMjFhMzY2O2JvcmRlci1yYWRpdXM6OTk5cHg7ZmxleC1zaHJpbms6MDt3aWR0aDozOHB4O2hlaWdodDozOHB4O2FuaW1hdGlvbjouOXMgbGluZWFyIGluZmluaXRlIHNoZWV0LWxvYWRpbmctc3Bpbi03MGE3ODM4NX0uZXJyb3JbZGF0YS12LTcwYTc4Mzg1XXt0ZXh0LWFsaWduOmNlbnRlcjt6LWluZGV4Ojk5OTtjb2xvcjojYjQyMzE4O2JhY2tncm91bmQ6I2ZmZjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjI0cHg7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NjAwO2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MH0udG9vbGJhcltkYXRhLXYtNzBhNzgzODVde2JhY2tncm91bmQ6I2YzZjNmMztib3JkZXItdG9wOjFweCBzb2xpZCAjY2ZkNGQ5O2ZsZXgtc2hyaW5rOjA7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMnB4O21pbi1oZWlnaHQ6MzhweDttYXJnaW4tdG9wOjJweDtwYWRkaW5nOjAgOHB4IDAgNnB4O2Rpc3BsYXk6ZmxleH0uYnRuLWdyb3VwW2RhdGEtdi03MGE3ODM4NV17c2Nyb2xsYmFyLXdpZHRoOnRoaW47LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7ZmxleDoxO2FsaWduLWl0ZW1zOmZsZXgtZW5kO2dhcDoycHg7bWluLXdpZHRoOjA7ZGlzcGxheTpmbGV4O292ZXJmbG93LXg6YXV0bztvdmVyZmxvdy15OmhpZGRlbn0uc2hlZXQtdGFiW2RhdGEtdi03MGE3ODM4NV17Y29sb3I6IzRkNTM1ODt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgjZjdmN2Y3IDAlLCNlOGVjZWYgMTAwJSk7Ym9yZGVyOjFweCBzb2xpZCAjYzZjY2QyO2JvcmRlci1ib3R0b206MnB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3AtbGVmdC1yYWRpdXM6N3B4O2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjdweDtvdXRsaW5lOjA7bWF4LXdpZHRoOjI0MHB4O21pbi1oZWlnaHQ6MzBweDtwYWRkaW5nOjAgMjRweDtmb250LXNpemU6MTJweDtvdmVyZmxvdzpoaWRkZW59LnNoZWV0LXRhYi5hY3RpdmVbZGF0YS12LTcwYTc4Mzg1XXtjb2xvcjojMjAyMTI0O2JhY2tncm91bmQ6I2ZmZjtib3JkZXItY29sb3I6I2M2Y2NkMiAjYzZjY2QyICMyMWEzNjY7Ym94LXNoYWRvdzppbnNldCAwIC0ycHggIzIxYTM2Nn0uc3VtbWFyeVtkYXRhLXYtNzBhNzgzODVde2NvbG9yOiM1ZjYzNjg7d2hpdGUtc3BhY2U6bm93cmFwO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjRweCA4cHg7Zm9udC1zaXplOjEycHg7ZGlzcGxheTpmbGV4fUBtZWRpYSAobWF4LXdpZHRoOjY0MHB4KXsudG9vbGJhcltkYXRhLXYtNzBhNzgzODVde3otaW5kZXg6NDU7YmFja2dyb3VuZDpyZ2JhKDI0OCwyNTEsMjQ5LC45Nik7Ym9yZGVyLXRvcDowO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMzMsMTYzLDEwMiwuMTYpO29yZGVyOi0xO2dhcDo4cHg7bWluLWhlaWdodDo1MHB4O21hcmdpbi10b3A6MDtwYWRkaW5nOjZweCA4cHg7Ym94LXNoYWRvdzowIDhweCAxOHB4IHJnYmEoMTUsMjMsNDIsLjA2KX0uYnRuLWdyb3VwW2RhdGEtdi03MGE3ODM4NV17c2Nyb2xsYmFyLXdpZHRoOm5vbmU7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7cGFkZGluZzowIDJweH0uYnRuLWdyb3VwW2RhdGEtdi03MGE3ODM4NV06Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0uc2hlZXQtdGFiW2RhdGEtdi03MGE3ODM4NV17YmFja2dyb3VuZDojZmZmO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNjNmNjZDI7Ym9yZGVyLXJhZGl1czo5OTlweDtmbGV4Om5vbmU7bWF4LXdpZHRoOm1pbig1OHZ3LDIyMHB4KTttaW4taGVpZ2h0OjM2cHg7cGFkZGluZzowIDE0cHg7Zm9udC1zaXplOjEzcHg7Ym94LXNoYWRvdzowIDRweCAxMnB4IHJnYmEoMTUsMjMsNDIsLjA2KX0uc2hlZXQtdGFiLmFjdGl2ZVtkYXRhLXYtNzBhNzgzODVde2NvbG9yOiMxNDZjNDM7YmFja2dyb3VuZDojZWNmZGY1O2JvcmRlci1jb2xvcjpyZ2JhKDMzLDE2MywxMDIsLjM1KTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCByZ2JhKDMzLDE2MywxMDIsLjI0KX0uc3VtbWFyeVtkYXRhLXYtNzBhNzgzODVde2Rpc3BsYXk6bm9uZX19QGtleWZyYW1lcyBzaGVldC1sb2FkaW5nLXB1bHNlLTcwYTc4Mzg1ezAlLHRve29wYWNpdHk6MTt0cmFuc2Zvcm06c2NhbGUoMSl9NTAle29wYWNpdHk6Ljg7dHJhbnNmb3JtOnNjYWxlKC44Nil9fUBrZXlmcmFtZXMgc2hlZXQtbG9hZGluZy1zcGluLTcwYTc4Mzg1ezAle3RyYW5zZm9ybTpyb3RhdGUoMCl9dG97dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX0udGV4dExheWVyey0tbGlnaHRuaW5nY3NzLWxpZ2h0OmluaXRpYWw7LS1saWdodG5pbmdjc3MtZGFyazogO2NvbG9yLXNjaGVtZTpsaWdodCBvbmx5O3RleHQtYWxpZ246aW5pdGlhbDtvcGFjaXR5OjE7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO3dvcmQtc3BhY2luZzpub3JtYWw7LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0Om5vbmU7LW1vei10ZXh0LXNpemUtYWRqdXN0Om5vbmU7LW1zLXRleHQtc2l6ZS1hZGp1c3Q6bm9uZTt0ZXh0LXNpemUtYWRqdXN0Om5vbmU7Zm9yY2VkLWNvbG9yLWFkanVzdDpub25lO3RyYW5zZm9ybS1vcmlnaW46MCAwO2NhcmV0LWNvbG9yOmNhbnZhc3RleHQ7ei1pbmRleDowOy0tbWluLWZvbnQtc2l6ZToxOy0tdGV4dC1zY2FsZS1mYWN0b3I6Y2FsYyh2YXIoLS10b3RhbC1zY2FsZS1mYWN0b3IpICogdmFyKC0tbWluLWZvbnQtc2l6ZSkpOy0tbWluLWZvbnQtc2l6ZS1pbnY6Y2FsYygxIC8gdmFyKC0tbWluLWZvbnQtc2l6ZSkpO2xpbmUtaGVpZ2h0OjE7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7b3ZlcmZsb3c6Y2xpcH0udGV4dExheWVyLmhpZ2hsaWdodGluZ3t0b3VjaC1hY3Rpb246bm9uZX0udGV4dExheWVyIDotd2Via2l0LWFueShzcGFuLGJyKXtjb2xvcjp0cmFuc3BhcmVudDt3aGl0ZS1zcGFjZTpwcmU7Y3Vyc29yOnRleHQ7dHJhbnNmb3JtLW9yaWdpbjowIDA7LXdlYmtpdC11c2VyLXNlbGVjdDp0ZXh0Oy1tb3otdXNlci1zZWxlY3Q6dGV4dDstbXMtdXNlci1zZWxlY3Q6dGV4dDt1c2VyLXNlbGVjdDp0ZXh0O3Bvc2l0aW9uOmFic29sdXRlfS50ZXh0TGF5ZXIgOi1tb3otYW55KHNwYW4sYnIpe2NvbG9yOnRyYW5zcGFyZW50O3doaXRlLXNwYWNlOnByZTtjdXJzb3I6dGV4dDt0cmFuc2Zvcm0tb3JpZ2luOjAgMDstd2Via2l0LXVzZXItc2VsZWN0OnRleHQ7LW1vei11c2VyLXNlbGVjdDp0ZXh0Oy1tcy11c2VyLXNlbGVjdDp0ZXh0O3VzZXItc2VsZWN0OnRleHQ7cG9zaXRpb246YWJzb2x1dGV9LnRleHRMYXllciA6aXMoc3Bhbixicil7Y29sb3I6dHJhbnNwYXJlbnQ7d2hpdGUtc3BhY2U6cHJlO2N1cnNvcjp0ZXh0O3RyYW5zZm9ybS1vcmlnaW46MCAwOy13ZWJraXQtdXNlci1zZWxlY3Q6dGV4dDstbW96LXVzZXItc2VsZWN0OnRleHQ7LW1zLXVzZXItc2VsZWN0OnRleHQ7dXNlci1zZWxlY3Q6dGV4dDtwb3NpdGlvbjphYnNvbHV0ZX0udGV4dExheWVyPjpub3QoLm1hcmtlZENvbnRlbnQpLC50ZXh0TGF5ZXIgLm1hcmtlZENvbnRlbnQgc3Bhbjpub3QoLm1hcmtlZENvbnRlbnQpe3otaW5kZXg6MTstLWZvbnQtaGVpZ2h0OjA7Zm9udC1zaXplOmNhbGModmFyKC0tdGV4dC1zY2FsZS1mYWN0b3IpICogdmFyKC0tZm9udC1oZWlnaHQpKTstLXNjYWxlLXg6MTstLXJvdGF0ZTowZGVnO3RyYW5zZm9ybTpyb3RhdGUodmFyKC0tcm90YXRlKSkgc2NhbGVYKHZhcigtLXNjYWxlLXgpKSBzY2FsZSh2YXIoLS1taW4tZm9udC1zaXplLWludikpfS50ZXh0TGF5ZXIgLm1hcmtlZENvbnRlbnR7ZGlzcGxheTpjb250ZW50c30udGV4dExheWVyIC5tYXJrZWRDb250ZW50LmhpZ2hsaWdodHstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpub25lO2JhY2tkcm9wLWZpbHRlcjpub25lO2JhY2tncm91bmQ6MCAwO21hcmdpbjowO3BhZGRpbmc6MH0udGV4dExheWVyIHNwYW5bcm9sZT1pbWddey13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtjdXJzb3I6ZGVmYXVsdH0udGV4dExheWVyIC5oaWdobGlnaHR7LS1oaWdobGlnaHQtYmctY29sb3I6cmdiYSgxODAsMCwxNzAsLjI1KTstLWhpZ2hsaWdodC1zZWxlY3RlZC1iZy1jb2xvcjpyZ2JhKDAsMTAwLDAsLjI1KTstLWhpZ2hsaWdodC1iYWNrZHJvcC1maWx0ZXI6bm9uZTstLWhpZ2hsaWdodC1zZWxlY3RlZC1iYWNrZHJvcC1maWx0ZXI6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWhpZ2hsaWdodC1iZy1jb2xvcik7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0taGlnaGxpZ2h0LWJhY2tkcm9wLWZpbHRlcik7YmFja2Ryb3AtZmlsdGVyOnZhcigtLWhpZ2hsaWdodC1iYWNrZHJvcC1maWx0ZXIpO2JvcmRlci1yYWRpdXM6NHB4O21hcmdpbjotMXB4O3BhZGRpbmc6MXB4fS50ZXh0TGF5ZXIgLmhpZ2hsaWdodC5hcHBlbmRlZHtwb3NpdGlvbjppbml0aWFsfS50ZXh0TGF5ZXIgLmhpZ2hsaWdodC5iZWdpbntib3JkZXItcmFkaXVzOjRweCAwIDAgNHB4fS50ZXh0TGF5ZXIgLmhpZ2hsaWdodC5lbmR7Ym9yZGVyLXJhZGl1czowIDRweCA0cHggMH0udGV4dExheWVyIC5oaWdobGlnaHQubWlkZGxle2JvcmRlci1yYWRpdXM6MH0udGV4dExheWVyIC5oaWdobGlnaHQuc2VsZWN0ZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1oaWdobGlnaHQtc2VsZWN0ZWQtYmctY29sb3IpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLWhpZ2hsaWdodC1zZWxlY3RlZC1iYWNrZHJvcC1maWx0ZXIpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS1oaWdobGlnaHQtc2VsZWN0ZWQtYmFja2Ryb3AtZmlsdGVyKTtzY3JvbGwtbWFyZ2luLXRvcDo1MHB4fS50ZXh0TGF5ZXIgOjotbW96LXNlbGVjdGlvbntiYWNrZ3JvdW5kOjAgMH0udGV4dExheWVyIDo6c2VsZWN0aW9ue2JhY2tncm91bmQ6MCAwfS50ZXh0TGF5ZXIgYnI6Oi1tb3otc2VsZWN0aW9ue2JhY2tncm91bmQ6MCAwfS50ZXh0TGF5ZXIgYnI6OnNlbGVjdGlvbntiYWNrZ3JvdW5kOjAgMH0udGV4dExheWVyIC5lbmRPZkNvbnRlbnR7ei1pbmRleDowO2N1cnNvcjpkZWZhdWx0Oy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMDAlO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowfS50ZXh0TGF5ZXIuc2VsZWN0aW5nIC5lbmRPZkNvbnRlbnR7dG9wOjB9LnRleHRMYXllckltYWdlc3std2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjB9LnRleHRMYXllckltYWdlcyBjYW52YXN7dHJhbnNmb3JtLW9yaWdpbjowIDA7cG9zaXRpb246YWJzb2x1dGV9QG1lZGlhIHNjcmVlbiBhbmQgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsudGV4dExheWVyIC5oaWdobGlnaHR7LS1oaWdobGlnaHQtYmctY29sb3I6dHJhbnNwYXJlbnQ7LS1oaWdobGlnaHQtc2VsZWN0ZWQtYmctY29sb3I6dHJhbnNwYXJlbnQ7LS1oaWdobGlnaHQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLWhjbS1oaWdobGlnaHQtZmlsdGVyKTstLWhpZ2hsaWdodC1zZWxlY3RlZC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0taGNtLWhpZ2hsaWdodC1zZWxlY3RlZC1maWx0ZXIpfX06cm9vdHstLWFubm90YXRpb24tdW5mb2N1c2VkLWZpZWxkLWJhY2tncm91bmQ6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCw8c3ZnIHdpZHRoPScxcHgnIGhlaWdodD0nMXB4JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxyZWN0IHdpZHRoPScxMDAlJyBoZWlnaHQ9JzEwMCUnIHN0eWxlPSdmaWxsOnJnYmEoMCwgNTQsIDI1NSwgMC4xMyk7Jy8+PC9zdmc+Iil9QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7LmFubm90YXRpb25MYXllciAudGV4dFdpZGdldEFubm90YXRpb24gaW5wdXQ6cmVxdWlyZWR7b3V0bGluZToxLjVweCBzb2xpZCBzZWxlY3RlZGl0ZW19LmFubm90YXRpb25MYXllciAudGV4dFdpZGdldEFubm90YXRpb24gdGV4dGFyZWE6cmVxdWlyZWR7b3V0bGluZToxLjVweCBzb2xpZCBzZWxlY3RlZGl0ZW19LmFubm90YXRpb25MYXllciAuY2hvaWNlV2lkZ2V0QW5ub3RhdGlvbiBzZWxlY3Q6cmVxdWlyZWR7b3V0bGluZToxLjVweCBzb2xpZCBzZWxlY3RlZGl0ZW19LmFubm90YXRpb25MYXllciAuYnV0dG9uV2lkZ2V0QW5ub3RhdGlvbi5jaGVja0JveCBpbnB1dDpyZXF1aXJlZHtvdXRsaW5lOjEuNXB4IHNvbGlkIHNlbGVjdGVkaXRlbX0uYW5ub3RhdGlvbkxheWVyIC5idXR0b25XaWRnZXRBbm5vdGF0aW9uLnJhZGlvQnV0dG9uIGlucHV0OnJlcXVpcmVke291dGxpbmU6MS41cHggc29saWQgc2VsZWN0ZWRpdGVtfX0uYW5ub3RhdGlvbkxheWVye3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNmb3JtLW9yaWdpbjowIDA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowfS5hbm5vdGF0aW9uTGF5ZXIgc2VjdGlvbnt0ZXh0LWFsaWduOmluaXRpYWw7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7dHJhbnNmb3JtLW9yaWdpbjowIDA7cG9zaXRpb246YWJzb2x1dGV9LmFubm90YXRpb25MYXllciAubGlua0Fubm90YXRpb24+YSwuYW5ub3RhdGlvbkxheWVyIC5idXR0b25XaWRnZXRBbm5vdGF0aW9uLnB1c2hCdXR0b24+YXt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2ZvbnQtc2l6ZToxZW07cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowfS5hbm5vdGF0aW9uTGF5ZXIgLmJ1dHRvbldpZGdldEFubm90YXRpb24ucHVzaEJ1dHRvbj5jYW52YXN7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0uYW5ub3RhdGlvbkxheWVyIC5saW5rQW5ub3RhdGlvbj5hOmhvdmVyLC5hbm5vdGF0aW9uTGF5ZXIgLmJ1dHRvbldpZGdldEFubm90YXRpb24ucHVzaEJ1dHRvbj5hOmhvdmVye29wYWNpdHk6LjI7YmFja2dyb3VuZDojZmYwO2JveC1zaGFkb3c6MCAycHggMTBweCAjZmYwfS5hbm5vdGF0aW9uTGF5ZXIgLnRleHRBbm5vdGF0aW9uIGltZ3tjdXJzb3I6cG9pbnRlcjt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlfS5hbm5vdGF0aW9uTGF5ZXIgLnRleHRXaWRnZXRBbm5vdGF0aW9uIGlucHV0LC5hbm5vdGF0aW9uTGF5ZXIgLnRleHRXaWRnZXRBbm5vdGF0aW9uIHRleHRhcmVhLC5hbm5vdGF0aW9uTGF5ZXIgLmNob2ljZVdpZGdldEFubm90YXRpb24gc2VsZWN0LC5hbm5vdGF0aW9uTGF5ZXIgLmJ1dHRvbldpZGdldEFubm90YXRpb24uY2hlY2tCb3ggaW5wdXQsLmFubm90YXRpb25MYXllciAuYnV0dG9uV2lkZ2V0QW5ub3RhdGlvbi5yYWRpb0J1dHRvbiBpbnB1dHtiYWNrZ3JvdW5kLWltYWdlOnZhcigtLWFubm90YXRpb24tdW5mb2N1c2VkLWZpZWxkLWJhY2tncm91bmQpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtmb250OmNhbGMoOXB4ICogdmFyKC0tc2NhbGUtZmFjdG9yKSkgc2Fucy1zZXJpZjt2ZXJ0aWNhbC1hbGlnbjp0b3A7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO21hcmdpbjowfS5hbm5vdGF0aW9uTGF5ZXIgLnRleHRXaWRnZXRBbm5vdGF0aW9uIGlucHV0OnJlcXVpcmVke291dGxpbmU6MS41cHggc29saWQgcmVkfS5hbm5vdGF0aW9uTGF5ZXIgLnRleHRXaWRnZXRBbm5vdGF0aW9uIHRleHRhcmVhOnJlcXVpcmVke291dGxpbmU6MS41cHggc29saWQgcmVkfS5hbm5vdGF0aW9uTGF5ZXIgLmNob2ljZVdpZGdldEFubm90YXRpb24gc2VsZWN0OnJlcXVpcmVke291dGxpbmU6MS41cHggc29saWQgcmVkfS5hbm5vdGF0aW9uTGF5ZXIgLmJ1dHRvbldpZGdldEFubm90YXRpb24uY2hlY2tCb3ggaW5wdXQ6cmVxdWlyZWR7b3V0bGluZToxLjVweCBzb2xpZCByZWR9LmFubm90YXRpb25MYXllciAuYnV0dG9uV2lkZ2V0QW5ub3RhdGlvbi5yYWRpb0J1dHRvbiBpbnB1dDpyZXF1aXJlZHtvdXRsaW5lOjEuNXB4IHNvbGlkIHJlZH0uYW5ub3RhdGlvbkxheWVyIC5jaG9pY2VXaWRnZXRBbm5vdGF0aW9uIHNlbGVjdCBvcHRpb257cGFkZGluZzowfS5hbm5vdGF0aW9uTGF5ZXIgLmJ1dHRvbldpZGdldEFubm90YXRpb24ucmFkaW9CdXR0b24gaW5wdXR7Ym9yZGVyLXJhZGl1czo1MCV9LmFubm90YXRpb25MYXllciAudGV4dFdpZGdldEFubm90YXRpb24gdGV4dGFyZWF7cmVzaXplOm5vbmV9LmFubm90YXRpb25MYXllciAudGV4dFdpZGdldEFubm90YXRpb24gaW5wdXRbZGlzYWJsZWRdLC5hbm5vdGF0aW9uTGF5ZXIgLnRleHRXaWRnZXRBbm5vdGF0aW9uIHRleHRhcmVhW2Rpc2FibGVkXSwuYW5ub3RhdGlvbkxheWVyIC5jaG9pY2VXaWRnZXRBbm5vdGF0aW9uIHNlbGVjdFtkaXNhYmxlZF0sLmFubm90YXRpb25MYXllciAuYnV0dG9uV2lkZ2V0QW5ub3RhdGlvbi5jaGVja0JveCBpbnB1dFtkaXNhYmxlZF0sLmFubm90YXRpb25MYXllciAuYnV0dG9uV2lkZ2V0QW5ub3RhdGlvbi5yYWRpb0J1dHRvbiBpbnB1dFtkaXNhYmxlZF17Y3Vyc29yOm5vdC1hbGxvd2VkO2JhY2tncm91bmQ6MCAwO2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnR9LmFubm90YXRpb25MYXllciAudGV4dFdpZGdldEFubm90YXRpb24gaW5wdXQ6aG92ZXIsLmFubm90YXRpb25MYXllciAudGV4dFdpZGdldEFubm90YXRpb24gdGV4dGFyZWE6aG92ZXIsLmFubm90YXRpb25MYXllciAuY2hvaWNlV2lkZ2V0QW5ub3RhdGlvbiBzZWxlY3Q6aG92ZXIsLmFubm90YXRpb25MYXllciAuYnV0dG9uV2lkZ2V0QW5ub3RhdGlvbi5jaGVja0JveCBpbnB1dDpob3ZlciwuYW5ub3RhdGlvbkxheWVyIC5idXR0b25XaWRnZXRBbm5vdGF0aW9uLnJhZGlvQnV0dG9uIGlucHV0OmhvdmVye2JvcmRlcjoxcHggc29saWQgIzAwMH0uYW5ub3RhdGlvbkxheWVyIC50ZXh0V2lkZ2V0QW5ub3RhdGlvbiBpbnB1dDpmb2N1cywuYW5ub3RhdGlvbkxheWVyIC50ZXh0V2lkZ2V0QW5ub3RhdGlvbiB0ZXh0YXJlYTpmb2N1cywuYW5ub3RhdGlvbkxheWVyIC5jaG9pY2VXaWRnZXRBbm5vdGF0aW9uIHNlbGVjdDpmb2N1c3tiYWNrZ3JvdW5kOjAgMDtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50fS5hbm5vdGF0aW9uTGF5ZXIgLnRleHRXaWRnZXRBbm5vdGF0aW9uIGlucHV0IDpmb2N1cywuYW5ub3RhdGlvbkxheWVyIC50ZXh0V2lkZ2V0QW5ub3RhdGlvbiB0ZXh0YXJlYSA6Zm9jdXMsLmFubm90YXRpb25MYXllciAuY2hvaWNlV2lkZ2V0QW5ub3RhdGlvbiBzZWxlY3QgOmZvY3VzLC5hbm5vdGF0aW9uTGF5ZXIgLmJ1dHRvbldpZGdldEFubm90YXRpb24uY2hlY2tCb3ggOmZvY3VzLC5hbm5vdGF0aW9uTGF5ZXIgLmJ1dHRvbldpZGdldEFubm90YXRpb24ucmFkaW9CdXR0b24gOmZvY3Vze2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1pbWFnZTpub25lO291dGxpbmU6YXV0b30uYW5ub3RhdGlvbkxheWVyIC5idXR0b25XaWRnZXRBbm5vdGF0aW9uLmNoZWNrQm94IGlucHV0OmNoZWNrZWQ6YmVmb3JlLC5hbm5vdGF0aW9uTGF5ZXIgLmJ1dHRvbldpZGdldEFubm90YXRpb24uY2hlY2tCb3ggaW5wdXQ6Y2hlY2tlZDphZnRlciwuYW5ub3RhdGlvbkxheWVyIC5idXR0b25XaWRnZXRBbm5vdGF0aW9uLnJhZGlvQnV0dG9uIGlucHV0OmNoZWNrZWQ6YmVmb3Jle2NvbnRlbnQ6IiI7YmFja2dyb3VuZC1jb2xvcjpjYW52YXN0ZXh0O2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGV9LmFubm90YXRpb25MYXllciAuYnV0dG9uV2lkZ2V0QW5ub3RhdGlvbi5jaGVja0JveCBpbnB1dDpjaGVja2VkOmJlZm9yZSwuYW5ub3RhdGlvbkxheWVyIC5idXR0b25XaWRnZXRBbm5vdGF0aW9uLmNoZWNrQm94IGlucHV0OmNoZWNrZWQ6YWZ0ZXJ7d2lkdGg6MXB4O2hlaWdodDo4MCU7bGVmdDo0NSV9LmFubm90YXRpb25MYXllciAuYnV0dG9uV2lkZ2V0QW5ub3RhdGlvbi5jaGVja0JveCBpbnB1dDpjaGVja2VkOmJlZm9yZXt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKX0uYW5ub3RhdGlvbkxheWVyIC5idXR0b25XaWRnZXRBbm5vdGF0aW9uLmNoZWNrQm94IGlucHV0OmNoZWNrZWQ6YWZ0ZXJ7dHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpfS5hbm5vdGF0aW9uTGF5ZXIgLmJ1dHRvbldpZGdldEFubm90YXRpb24ucmFkaW9CdXR0b24gaW5wdXQ6Y2hlY2tlZDpiZWZvcmV7Ym9yZGVyLXJhZGl1czo1MCU7d2lkdGg6NTAlO2hlaWdodDo1MCU7dG9wOjIwJTtsZWZ0OjMwJX0uYW5ub3RhdGlvbkxheWVyIC50ZXh0V2lkZ2V0QW5ub3RhdGlvbiBpbnB1dC5jb21ie3BhZGRpbmctbGVmdDoycHg7cGFkZGluZy1yaWdodDowO2ZvbnQtZmFtaWx5Om1vbm9zcGFjZX0uYW5ub3RhdGlvbkxheWVyIC50ZXh0V2lkZ2V0QW5ub3RhdGlvbiBpbnB1dC5jb21iOmZvY3Vze3dpZHRoOjEwMyV9LmFubm90YXRpb25MYXllciAuYnV0dG9uV2lkZ2V0QW5ub3RhdGlvbi5jaGVja0JveCBpbnB1dCwuYW5ub3RhdGlvbkxheWVyIC5idXR0b25XaWRnZXRBbm5vdGF0aW9uLnJhZGlvQnV0dG9uIGlucHV0ey13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lOy1tcy1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lfS5hbm5vdGF0aW9uTGF5ZXIgLnBvcHVwVHJpZ2dlckFyZWF7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0uYW5ub3RhdGlvbkxheWVyIC5wb3B1cFdyYXBwZXJ7Zm9udC1zaXplOmNhbGMoOXB4ICogdmFyKC0tc2NhbGUtZmFjdG9yKSk7d2lkdGg6MTAwJTttaW4td2lkdGg6Y2FsYygxODBweCAqIHZhcigtLXNjYWxlLWZhY3RvcikpO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGV9LmFubm90YXRpb25MYXllciAucG9wdXB7ei1pbmRleDoyMDA7bWF4LXdpZHRoOmNhbGMoMTgwcHggKiB2YXIoLS1zY2FsZS1mYWN0b3IpKTtib3gtc2hhZG93OjAgY2FsYygycHggKiB2YXIoLS1zY2FsZS1mYWN0b3IpKSBjYWxjKDVweCAqIHZhcigtLXNjYWxlLWZhY3RvcikpICM4ODg7Ym9yZGVyLXJhZGl1czpjYWxjKDJweCAqIHZhcigtLXNjYWxlLWZhY3RvcikpO3BhZGRpbmc6Y2FsYyg2cHggKiB2YXIoLS1zY2FsZS1mYWN0b3IpKTttYXJnaW4tbGVmdDpjYWxjKDVweCAqIHZhcigtLXNjYWxlLWZhY3RvcikpO2N1cnNvcjpwb2ludGVyO2ZvbnQ6bWVzc2FnZS1ib3g7d2hpdGUtc3BhY2U6bm9ybWFsO3dvcmQtd3JhcDpicmVhay13b3JkO3BvaW50ZXItZXZlbnRzOmF1dG87YmFja2dyb3VuZC1jb2xvcjojZmY5O3Bvc2l0aW9uOmFic29sdXRlfS5hbm5vdGF0aW9uTGF5ZXIgLnBvcHVwPip7Zm9udC1zaXplOmNhbGMoOXB4ICogdmFyKC0tc2NhbGUtZmFjdG9yKSl9LmFubm90YXRpb25MYXllciAucG9wdXAgaDF7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmFubm90YXRpb25MYXllciAucG9wdXBEYXRle21hcmdpbi1sZWZ0OmNhbGMoNXB4ICogdmFyKC0tc2NhbGUtZmFjdG9yKSk7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmFubm90YXRpb25MYXllciAucG9wdXBDb250ZW50e21hcmdpbi10b3A6Y2FsYygycHggKiB2YXIoLS1zY2FsZS1mYWN0b3IpKTtwYWRkaW5nLXRvcDpjYWxjKDJweCAqIHZhcigtLXNjYWxlLWZhY3RvcikpO2JvcmRlci10b3A6MXB4IHNvbGlkICMzMzN9LmFubm90YXRpb25MYXllciAucmljaFRleHQ+Knt3aGl0ZS1zcGFjZTpwcmUtd3JhcDtmb250LXNpemU6Y2FsYyg5cHggKiB2YXIoLS1zY2FsZS1mYWN0b3IpKX0uYW5ub3RhdGlvbkxheWVyIC5oaWdobGlnaHRBbm5vdGF0aW9uLC5hbm5vdGF0aW9uTGF5ZXIgLnVuZGVybGluZUFubm90YXRpb24sLmFubm90YXRpb25MYXllciAuc3F1aWdnbHlBbm5vdGF0aW9uLC5hbm5vdGF0aW9uTGF5ZXIgLnN0cmlrZW91dEFubm90YXRpb24sLmFubm90YXRpb25MYXllciAuZnJlZVRleHRBbm5vdGF0aW9uLC5hbm5vdGF0aW9uTGF5ZXIgLmxpbmVBbm5vdGF0aW9uIHN2ZyBsaW5lLC5hbm5vdGF0aW9uTGF5ZXIgLnNxdWFyZUFubm90YXRpb24gc3ZnIHJlY3QsLmFubm90YXRpb25MYXllciAuY2lyY2xlQW5ub3RhdGlvbiBzdmcgZWxsaXBzZSwuYW5ub3RhdGlvbkxheWVyIC5wb2x5bGluZUFubm90YXRpb24gc3ZnIHBvbHlsaW5lLC5hbm5vdGF0aW9uTGF5ZXIgLnBvbHlnb25Bbm5vdGF0aW9uIHN2ZyBwb2x5Z29uLC5hbm5vdGF0aW9uTGF5ZXIgLmNhcmV0QW5ub3RhdGlvbiwuYW5ub3RhdGlvbkxheWVyIC5pbmtBbm5vdGF0aW9uIHN2ZyBwb2x5bGluZSwuYW5ub3RhdGlvbkxheWVyIC5zdGFtcEFubm90YXRpb24sLmFubm90YXRpb25MYXllciAuZmlsZUF0dGFjaG1lbnRBbm5vdGF0aW9ue2N1cnNvcjpwb2ludGVyfS5hbm5vdGF0aW9uTGF5ZXIgc2VjdGlvbiBzdmd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZX06cm9vdHstLXhmYS11bmZvY3VzZWQtZmllbGQtYmFja2dyb3VuZDp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LDxzdmcgd2lkdGg9JzFweCcgaGVpZ2h0PScxcHgnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+PHJlY3Qgd2lkdGg9JzEwMCUnIGhlaWdodD0nMTAwJScgc3R5bGU9J2ZpbGw6cmdiYSgwLCA1NCwgMjU1LCAwLjEzKTsnLz48L3N2Zz4iKX1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueGZhTGF5ZXIgOnJlcXVpcmVke291dGxpbmU6MS41cHggc29saWQgc2VsZWN0ZWRpdGVtfX0ueGZhTGF5ZXIgLmhpZ2hsaWdodHtiYWNrZ3JvdW5kLWNvbG9yOiNlZmNiZWQ7Ym9yZGVyLXJhZGl1czo0cHg7bWFyZ2luOi0xcHg7cGFkZGluZzoxcHh9LnhmYUxheWVyIC5oaWdobGlnaHQuYXBwZW5kZWR7cG9zaXRpb246aW5pdGlhbH0ueGZhTGF5ZXIgLmhpZ2hsaWdodC5iZWdpbntib3JkZXItcmFkaXVzOjRweCAwIDAgNHB4fS54ZmFMYXllciAuaGlnaGxpZ2h0LmVuZHtib3JkZXItcmFkaXVzOjAgNHB4IDRweCAwfS54ZmFMYXllciAuaGlnaGxpZ2h0Lm1pZGRsZXtib3JkZXItcmFkaXVzOjB9LnhmYUxheWVyIC5oaWdobGlnaHQuc2VsZWN0ZWR7YmFja2dyb3VuZC1jb2xvcjojY2JkZmNifS54ZmFMYXllciA6Oi1tb3otc2VsZWN0aW9ue2JhY2tncm91bmQ6IzAwZn0ueGZhTGF5ZXIgOjpzZWxlY3Rpb257YmFja2dyb3VuZDojMDBmfS54ZmFQYWdle3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0ueGZhQ29udGVudGFyZWF7cG9zaXRpb246YWJzb2x1dGV9LnhmYVByaW50T25seXtkaXNwbGF5Om5vbmV9LnhmYUxheWVye3RleHQtYWxpZ246aW5pdGlhbDt0cmFuc2Zvcm0tb3JpZ2luOjAgMDtsaW5lLWhlaWdodDoxLjI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowfS54ZmFMYXllciAqe2NvbG9yOmluaGVyaXQ7Zm9udDppbmhlcml0O2ZvbnQtc3R5bGU6aW5oZXJpdDtmb250LXdlaWdodDppbmhlcml0O2ZvbnQta2VybmluZzppbmhlcml0O2xldHRlci1zcGFjaW5nOi0uMDFweDt0ZXh0LWFsaWduOmluaGVyaXQ7LXdlYmtpdC10ZXh0LWRlY29yYXRpb246aW5oZXJpdDt0ZXh0LWRlY29yYXRpb246aW5oZXJpdDtib3gtc2l6aW5nOmJvcmRlci1ib3g7cG9pbnRlci1ldmVudHM6YXV0bztsaW5lLWhlaWdodDppbmhlcml0O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7bWFyZ2luOjA7cGFkZGluZzowfS54ZmFMYXllciA6cmVxdWlyZWR7b3V0bGluZToxLjVweCBzb2xpZCByZWR9LnhmYUxheWVyIGRpdiwueGZhTGF5ZXIgc3ZnLC54ZmFMYXllciBzdmcgKntwb2ludGVyLWV2ZW50czpub25lfS54ZmFMYXllciBhe2NvbG9yOiMwMGZ9LnhmYVJpY2ggbGl7bWFyZ2luLWxlZnQ6M2VtfS54ZmFGb250e2NvbG9yOiMwMDA7Zm9udC1rZXJuaW5nOm5vbmU7bGV0dGVyLXNwYWNpbmc6MDt2ZXJ0aWNhbC1hbGlnbjowO2ZvbnQtc2l6ZToxMHB4O2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDt0ZXh0LWRlY29yYXRpb246bm9uZX0ueGZhQ2FwdGlvbntmbGV4Om5vbmU7b3ZlcmZsb3c6aGlkZGVufS54ZmFDYXB0aW9uRm9yQ2hlY2tCdXR0b257ZmxleDphdXRvO292ZXJmbG93OmhpZGRlbn0ueGZhTGFiZWx7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueGZhTGVmdHtmbGV4LWRpcmVjdGlvbjpyb3c7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH0ueGZhUmlnaHR7ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2U7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH0ueGZhTGVmdD4ueGZhQ2FwdGlvbiwueGZhTGVmdD4ueGZhQ2FwdGlvbkZvckNoZWNrQnV0dG9uLC54ZmFSaWdodD4ueGZhQ2FwdGlvbiwueGZhUmlnaHQ+LnhmYUNhcHRpb25Gb3JDaGVja0J1dHRvbnttYXgtaGVpZ2h0OjEwMCV9LnhmYVRvcHtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1zdGFydDtkaXNwbGF5OmZsZXh9LnhmYUJvdHRvbXtmbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZTthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2Rpc3BsYXk6ZmxleH0ueGZhVG9wPi54ZmFDYXB0aW9uLC54ZmFUb3A+LnhmYUNhcHRpb25Gb3JDaGVja0J1dHRvbiwueGZhQm90dG9tPi54ZmFDYXB0aW9uLC54ZmFCb3R0b20+LnhmYUNhcHRpb25Gb3JDaGVja0J1dHRvbnt3aWR0aDoxMDAlfS54ZmFCb3JkZXJ7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3Bvc2l0aW9uOmFic29sdXRlfS54ZmFXcmFwcGVke3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9LnhmYVRleHRmaWVsZDpmb2N1cywueGZhU2VsZWN0OmZvY3Vze291dGxpbmUtb2Zmc2V0Oi0xcHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7b3V0bGluZTphdXRvfS54ZmFDaGVja2JveDpmb2N1cywueGZhUmFkaW86Zm9jdXN7b3V0bGluZTphdXRvfS54ZmFUZXh0ZmllbGQsLnhmYVNlbGVjdHtyZXNpemU6bm9uZTtiYWNrZ3JvdW5kLWltYWdlOnZhcigtLXhmYS11bmZvY3VzZWQtZmllbGQtYmFja2dyb3VuZCk7Ym9yZGVyOm5vbmU7ZmxleDphdXRvO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9LnhmYVRvcD4ueGZhVGV4dGZpZWxkLC54ZmFUb3A+LnhmYVNlbGVjdCwueGZhQm90dG9tPi54ZmFUZXh0ZmllbGQsLnhmYUJvdHRvbT4ueGZhU2VsZWN0e2ZsZXg6MCBhdXRvfS54ZmFCdXR0b257Y3Vyc29yOnBvaW50ZXI7dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyOm5vbmU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueGZhTGlua3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MH0ueGZhQ2hlY2tib3gsLnhmYVJhZGlve2JvcmRlcjpub25lO2ZsZXg6bm9uZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS54ZmFSaWNoe3doaXRlLXNwYWNlOnByZS13cmFwO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9LnhmYUltYWdley1vLW9iamVjdC1wb3NpdGlvbjpsZWZ0IHRvcDtvYmplY3QtcG9zaXRpb246bGVmdCB0b3A7LW8tb2JqZWN0LWZpdDpjb250YWluO29iamVjdC1maXQ6Y29udGFpbjt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS54ZmFMclRiLC54ZmFSbFRiLC54ZmFUYntmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6c3RyZXRjaDtkaXNwbGF5OmZsZXh9LnhmYUxye2ZsZXgtZGlyZWN0aW9uOnJvdzthbGlnbi1pdGVtczpzdHJldGNoO2Rpc3BsYXk6ZmxleH0ueGZhUmx7ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2U7YWxpZ24taXRlbXM6c3RyZXRjaDtkaXNwbGF5OmZsZXh9LnhmYVRiPmRpdntqdXN0aWZ5LWNvbnRlbnQ6bGVmdH0ueGZhUG9zaXRpb24sLnhmYUFyZWF7cG9zaXRpb246cmVsYXRpdmV9LnhmYVZhbGlnbk1pZGRsZXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4fS54ZmFUYWJsZXtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6c3RyZXRjaDtkaXNwbGF5OmZsZXh9LnhmYVRhYmxlIC54ZmFSb3d7ZmxleC1kaXJlY3Rpb246cm93O2FsaWduLWl0ZW1zOnN0cmV0Y2g7ZGlzcGxheTpmbGV4fS54ZmFUYWJsZSAueGZhUmxSb3d7ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2U7ZmxleDoxO2FsaWduLWl0ZW1zOnN0cmV0Y2g7ZGlzcGxheTpmbGV4fS54ZmFUYWJsZSAueGZhUmxSb3c+ZGl2e2ZsZXg6MX0ueGZhTm9uSW50ZXJhY3RpdmUgaW5wdXQsLnhmYU5vbkludGVyYWN0aXZlIHRleHRhcmVhLC54ZmFEaXNhYmxlZCBpbnB1dCwueGZhRGlzYWJsZWQgdGV4dGFyZWEsLnhmYVJlYWRPbmx5IGlucHV0LC54ZmFSZWFkT25seSB0ZXh0YXJlYXtiYWNrZ3JvdW5kOmluaXRpYWx9QG1lZGlhIHByaW50ey54ZmFUZXh0ZmllbGQsLnhmYVNlbGVjdHtiYWNrZ3JvdW5kOjAgMH0ueGZhU2VsZWN0ey13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lOy1tcy1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO3RleHQtaW5kZW50OjFweDt0ZXh0LW92ZXJmbG93OiIifX06cm9vdHstLWZvY3VzLW91dGxpbmU6c29saWQgMnB4IHJlZDstLWhvdmVyLW91dGxpbmU6ZGFzaGVkIDJweCBibHVlOy0tZnJlZXRleHQtbGluZS1oZWlnaHQ6MS4zNTstLWZyZWV0ZXh0LXBhZGRpbmc6MnB4fUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpezpyb290ey0tZm9jdXMtb3V0bGluZTpzb2xpZCAzcHggQnV0dG9uVGV4dDstLWhvdmVyLW91dGxpbmU6ZGFzaGVkIDNweCBCdXR0b25UZXh0fX1bZGF0YS1lZGl0b3Itcm90YXRpb249IjkwIl17dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyl9W2RhdGEtZWRpdG9yLXJvdGF0aW9uPSIxODAiXXt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9W2RhdGEtZWRpdG9yLXJvdGF0aW9uPSIyNzAiXXt0cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9LmFubm90YXRpb25FZGl0b3JMYXllcntmb250LXNpemU6Y2FsYygxMDBweCAqIHZhcigtLXNjYWxlLWZhY3RvcikpO3RyYW5zZm9ybS1vcmlnaW46MCAwO2JhY2tncm91bmQ6MCAwO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MH0uYW5ub3RhdGlvbkVkaXRvckxheWVyIC5zZWxlY3RlZEVkaXRvcntvdXRsaW5lOnZhcigtLWZvY3VzLW91dGxpbmUpO3Jlc2l6ZTpub25lfS5hbm5vdGF0aW9uRWRpdG9yTGF5ZXIgLmZyZWVUZXh0RWRpdG9ye3BhZGRpbmc6Y2FsYyh2YXIoLS1mcmVldGV4dC1wYWRkaW5nKSAqIHZhcigtLXNjYWxlLWZhY3RvcikpO3Jlc2l6ZTpub25lO3otaW5kZXg6MTt0cmFuc2Zvcm0tb3JpZ2luOjAgMDt0b3VjaC1hY3Rpb246bm9uZTtiYWNrZ3JvdW5kOjAgMDtib3JkZXItcmFkaXVzOjNweDt3aWR0aDphdXRvO2hlaWdodDphdXRvO3Bvc2l0aW9uOmFic29sdXRlfS5hbm5vdGF0aW9uRWRpdG9yTGF5ZXIgLmZyZWVUZXh0RWRpdG9yIC5pbnRlcm5hbHt3aGl0ZS1zcGFjZTpub3dyYXA7cmVzaXplOm5vbmU7Zm9udDoxMHB4IHNhbnMtc2VyaWY7bGluZS1oZWlnaHQ6dmFyKC0tZnJlZXRleHQtbGluZS1oZWlnaHQpO2JhY2tncm91bmQ6MCAwO2JvcmRlcjpub25lO3RvcDowO2xlZnQ6MDtvdmVyZmxvdzp2aXNpYmxlfS5hbm5vdGF0aW9uRWRpdG9yTGF5ZXIgLmZyZWVUZXh0RWRpdG9yIC5vdmVybGF5e2JhY2tncm91bmQ6MCAwO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MH0uYW5ub3RhdGlvbkVkaXRvckxheWVyIC5mcmVlVGV4dEVkaXRvciAub3ZlcmxheS5lbmFibGVke2Rpc3BsYXk6YmxvY2t9LmFubm90YXRpb25FZGl0b3JMYXllciAuZnJlZVRleHRFZGl0b3IgLmludGVybmFsOmVtcHR5OmJlZm9yZXtjb250ZW50OmF0dHIoZGVmYXVsdC1jb250ZW50KTtjb2xvcjpncmF5fS5hbm5vdGF0aW9uRWRpdG9yTGF5ZXIgLmZyZWVUZXh0RWRpdG9yIC5pbnRlcm5hbDpmb2N1c3tvdXRsaW5lOm5vbmV9LmFubm90YXRpb25FZGl0b3JMYXllciAuaW5rRWRpdG9yLmRpc2FibGVke3Jlc2l6ZTpub25lfS5hbm5vdGF0aW9uRWRpdG9yTGF5ZXIgLmlua0VkaXRvci5kaXNhYmxlZC5zZWxlY3RlZEVkaXRvcntyZXNpemU6aG9yaXpvbnRhbH0uYW5ub3RhdGlvbkVkaXRvckxheWVyIC5mcmVlVGV4dEVkaXRvcjpob3Zlcjpub3QoLnNlbGVjdGVkRWRpdG9yKSwuYW5ub3RhdGlvbkVkaXRvckxheWVyIC5pbmtFZGl0b3I6aG92ZXI6bm90KC5zZWxlY3RlZEVkaXRvcil7b3V0bGluZTp2YXIoLS1ob3Zlci1vdXRsaW5lKX0uYW5ub3RhdGlvbkVkaXRvckxheWVyIC5pbmtFZGl0b3J7ei1pbmRleDoxO3RyYW5zZm9ybS1vcmlnaW46MCAwO2N1cnNvcjphdXRvO2JhY2tncm91bmQ6MCAwO2JvcmRlci1yYWRpdXM6M3B4O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6YXV0b30uYW5ub3RhdGlvbkVkaXRvckxheWVyIC5pbmtFZGl0b3IuZWRpdGluZ3tyZXNpemU6bm9uZTtjdXJzb3I6dmFyKC0tZWRpdG9ySW5rLWVkaXRpbmctY3Vyc29yKSwgcG9pbnRlcn0uYW5ub3RhdGlvbkVkaXRvckxheWVyIC5pbmtFZGl0b3IgLmlua0VkaXRvckNhbnZhc3t0b3VjaC1hY3Rpb246bm9uZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MH06cm9vdHstLXZpZXdlci1jb250YWluZXItaGVpZ2h0OjA7LS1wZGZWaWV3ZXItcGFkZGluZy1ib3R0b206MDstLXBhZ2UtbWFyZ2luOjFweCBhdXRvIC04cHg7LS1wYWdlLWJvcmRlcjo5cHggc29saWQgdHJhbnNwYXJlbnQ7LS1wYWdlLWJvcmRlci1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCTUFBQUFUQ0FZQUFBQnlVRGJNQUFBQTFFbEVRVlE0amJXVVd3NkVJQXhGeTJORnMvOE56UjRVSmhwcUxzZGk1bU9tU1NNVU9mWVdxdjNTMGdNcjRYbFlILzY0Z1phL2dOM0FOWUE3S0FYQUx0NGt0b1E1TUk5WXhxYUc4Yldtc0l5c011VDZwaVNRQ2E0d2haVGhDdThDTTR6UDlZSmFLY2k5amljUHEzTmNCV1lvUE1HVWxoRzdpdnRrQitnVnlGWTc1d1hnaE92aDh0NW10bzFNZGltNmUrTUJxSDZYc1krWUF3anBxM3ZHRjd3ZVRXUXB0TEVEVkNadlBUTWw1Slpac2RoNDdGSFc2cUZNeXZMWXFqY25tZEZmWTlYay9LRE9sekN1c1gybWkvb2ZNN01Qa3pCY1NwNFExL3dBQUFBQVNVVk9SSzVDWUlJPSkgOSA5IHJlcGVhdDstLXNwcmVhZEhvcml6b250YWxXcmFwcGVkLW1hcmdpbi1MUjotMy41cHg7LS1zY2FsZS1mYWN0b3I6MX1AbWVkaWEgc2NyZWVuIGFuZCAoZm9yY2VkLWNvbG9yczphY3RpdmUpezpyb290ey0tcGRmVmlld2VyLXBhZGRpbmctYm90dG9tOjlweDstLXBhZ2UtbWFyZ2luOjhweCBhdXRvIC0xcHg7LS1wYWdlLWJvcmRlcjoxcHggc29saWQgQ2FudmFzVGV4dDstLXBhZ2UtYm9yZGVyLWltYWdlOm5vbmU7LS1zcHJlYWRIb3Jpem9udGFsV3JhcHBlZC1tYXJnaW4tTFI6My41cHh9fS5wZGZWaWV3ZXIsLnBkZlZpZXdlciAqLC5wZGZWaWV3ZXIgOmJlZm9yZSwucGRmVmlld2VyIDphZnRlcntib3gtc2l6aW5nOmNvbnRlbnQtYm94fVtkYXRhLW1haW4tcm90YXRpb249IjkwIl17dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyl0cmFuc2xhdGVZKC0xMDAlKX1bZGF0YS1tYWluLXJvdGF0aW9uPSIxODAiXXt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl0cmFuc2xhdGUoLTEwMCUsLTEwMCUpfVtkYXRhLW1haW4tcm90YXRpb249IjI3MCJde3RyYW5zZm9ybTpyb3RhdGUoMjcwZGVnKXRyYW5zbGF0ZSgtMTAwJSl9LnBkZlZpZXdlcntwYWRkaW5nLWJvdHRvbTp2YXIoLS1wZGZWaWV3ZXItcGFkZGluZy1ib3R0b20pfS5wZGZWaWV3ZXIgLmNhbnZhc1dyYXBwZXJ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW59LnBkZlZpZXdlciAucGFnZXstLXVzZXItdW5pdDoxOy0tdG90YWwtc2NhbGUtZmFjdG9yOmNhbGModmFyKC0tc2NhbGUtZmFjdG9yKSAqIHZhcigtLXVzZXItdW5pdCkpOy0tc2NhbGUtcm91bmQteDoxcHg7LS1zY2FsZS1yb3VuZC15OjFweDt3aWR0aDo4MTZweDtoZWlnaHQ6MTA1NnB4O21hcmdpbjp2YXIoLS1wYWdlLW1hcmdpbik7Ym9yZGVyOnZhcigtLXBhZ2UtYm9yZGVyKTstby1ib3JkZXItaW1hZ2U6dmFyKC0tcGFnZS1ib3JkZXItaW1hZ2UpO2JvcmRlci1pbWFnZTp2YXIoLS1wYWdlLWJvcmRlci1pbWFnZSk7ZGlyZWN0aW9uOmx0cjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OnZpc2libGV9LnBkZlZpZXdlciAuZHVtbXlQYWdle3dpZHRoOjA7aGVpZ2h0OnZhcigtLXZpZXdlci1jb250YWluZXItaGVpZ2h0KTtwb3NpdGlvbjpyZWxhdGl2ZX0ucGRmVmlld2VyLnJlbW92ZVBhZ2VCb3JkZXJzIC5wYWdle2JvcmRlcjpub25lO21hcmdpbjowIGF1dG8gMTBweH0ucGRmVmlld2VyLnNpbmdsZVBhZ2VWaWV3e2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5wZGZWaWV3ZXIuc2luZ2xlUGFnZVZpZXcgLnBhZ2V7Ym9yZGVyOm5vbmU7bWFyZ2luOjB9LnBkZlZpZXdlci5zY3JvbGxIb3Jpem9udGFsLC5wZGZWaWV3ZXIuc2Nyb2xsV3JhcHBlZCwuc3ByZWFke3RleHQtYWxpZ246Y2VudGVyO21hcmdpbi1sZWZ0OjMuNXB4O21hcmdpbi1yaWdodDozLjVweH0ucGRmVmlld2VyLnNjcm9sbEhvcml6b250YWwsLnNwcmVhZHt3aGl0ZS1zcGFjZTpub3dyYXB9LnBkZlZpZXdlci5yZW1vdmVQYWdlQm9yZGVycywucGRmVmlld2VyLnNjcm9sbEhvcml6b250YWwgLnNwcmVhZCwucGRmVmlld2VyLnNjcm9sbFdyYXBwZWQgLnNwcmVhZHttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDowfS5zcHJlYWQgLnBhZ2UsLnNwcmVhZCAuZHVtbXlQYWdlLC5wZGZWaWV3ZXIuc2Nyb2xsSG9yaXpvbnRhbCAucGFnZSwucGRmVmlld2VyLnNjcm9sbFdyYXBwZWQgLnBhZ2UsLnBkZlZpZXdlci5zY3JvbGxIb3Jpem9udGFsIC5zcHJlYWQsLnBkZlZpZXdlci5zY3JvbGxXcmFwcGVkIC5zcHJlYWR7dmVydGljYWwtYWxpZ246bWlkZGxlO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5zcHJlYWQgLnBhZ2UsLnBkZlZpZXdlci5zY3JvbGxIb3Jpem9udGFsIC5wYWdlLC5wZGZWaWV3ZXIuc2Nyb2xsV3JhcHBlZCAucGFnZXttYXJnaW4tbGVmdDp2YXIoLS1zcHJlYWRIb3Jpem9udGFsV3JhcHBlZC1tYXJnaW4tTFIpO21hcmdpbi1yaWdodDp2YXIoLS1zcHJlYWRIb3Jpem9udGFsV3JhcHBlZC1tYXJnaW4tTFIpfS5wZGZWaWV3ZXIucmVtb3ZlUGFnZUJvcmRlcnMgLnNwcmVhZCAucGFnZSwucGRmVmlld2VyLnJlbW92ZVBhZ2VCb3JkZXJzLnNjcm9sbEhvcml6b250YWwgLnBhZ2UsLnBkZlZpZXdlci5yZW1vdmVQYWdlQm9yZGVycy5zY3JvbGxXcmFwcGVkIC5wYWdle21hcmdpbi1sZWZ0OjVweDttYXJnaW4tcmlnaHQ6NXB4fS5wZGZWaWV3ZXIgLnBhZ2UgY2FudmFze2NvbnRhaW46Y29udGVudDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO21hcmdpbjowO2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowfS5wZGZWaWV3ZXIgLnBhZ2UgY2FudmFzW2hpZGRlbl17ZGlzcGxheTpub25lfS5wZGZWaWV3ZXIgLnBhZ2UgLmxvYWRpbmdJY29ue2JhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEdBQVlBUFFBQVAvLy93QUFBTTdPenZyNit1RGc0TEN3c09qbzZJNk9qc2pJeUp5Y25OalkyS2lvcU1EQXdQTHk4bloyZG9hR2hyaTR1R2hvYUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0gvQzA1RlZGTkRRVkJGTWk0d0F3RUFBQUFoL2hwRGNtVmhkR1ZrSUhkcGRHZ2dZV3BoZUd4dllXUXVhVzVtYndBaCtRUUpCd0FBQUN3QUFBQUFHQUFZQUFBRnJpQWdqaVFBUVdWYURncjVQT1Nna29URGpGRTBOb1E4aXc4SFFaUVREUWpEbjRqaFNBQmhBQU9ob1RxU0RnN3FTVVF3eEVhRXd3RmhYSGhIZ3pPQTF4c2h4QW5mVHpvdEdSYUhnbEpxa0pjYVZFcUNneW9DQlFrSkJRS0REWFFHRFlhSWlveU9nWVNYQTM2WElnWU1CV1J6WFpvS0JRVU1taWwwbGdhbExTSUNsZ0JwTzBnK3MyNm5VV2RkWHlvRURJc0FDcTVTc1RNTURJRUN3VWRKUHcwTXpzdTBxSFlrdzcyYkJtb3pJUUFoK1FRSkJ3QUFBQ3dBQUFBQUdBQVlBQUFGc0NBZ2ppVEFNR1ZhRGdSNUhLUXdxS054SUtQampGQ2swS05YQzZBVEtTSTdvQWh4V0loZXp3aEVOVENRRW9lR0NkV0lQRWd6RVNHeEVJZ0dCV3N0RVc0UUNHR0FJSkVveEdtR3Q1WmtnQ1JRUUhrR2QyQ0VTb2VJSXdvTUJRVU1QNGNOZVFRR0RZdU5qNGlTYjVXSm5tZUduZzBDREdhQmxJUUVKemlIazNzQUJpZERBSEJnYWdCdXRTS3ZBQW95dUh1VVlIZ0NrQVpxZWJ3MEFnTEJReXl6TktPM2J5TnVvU1M4eDhPZndJY2hBQ0g1QkFrSEFBQUFMQUFBQUFBWUFCZ0FBQVc0SUNDT0pJQWdaVm9PQkpra3BES29vNUVJNDNHTWpOUFNva1hDSU5LSkNJNEhjQ1JJUUVRdnFJT2hHaEJIaFVURGhHbzRkaU9aeUZBb0tFUUR4cmEybUFFZ2pnaE9wQ2d6M0xUQkl4SjVrZ3dNQlNoQUNSRUhaMVY0S2cxclM0NHBCQWdNREFnL1N3MEdCQVFHRFpHVGxZK1ltcHlQcFNRRGlxWWlEUW9DbGlxWkJxa0dBZ0tJUzVrRWpRMjFWd0N5cDc2ZEJIaU52eitNUjc0QXFTT2RWd2JRdW8rYWJwcG8xMHNzamRrQW5jMHJmOHZnbDhZcUlRQWgrUVFKQndBQUFDd0FBQUFBR0FBWUFBQUZyQ0FnamlRZ0NHVmFEZ1paRkNReHFLTlJLR09Tak1qUjBxTFhUeWNpSEE3QWthTEFDTUlBaXdPQzFpQXhDck1Ub0hIWWpXUWlBNE5CRUEwUTFScFd4SGc0Y01YeE5EazRPQnhOVWtQQVFBRVhEZ2xsS2dNelFBMXBTWW9wQmdvbkNqOUpFQThSRVE4UWpZK1JRSk9WbDR1Z29Zc3NCSnVNcFlZakRRU2xpd2FzaVFPd05ha0FMS3FzcWJXdklvaEZtN1Y2clFBR1A2K0pRTGxGZzdLRFFMS0pyTGpCS2J2QW9yM0lLaUVBSWZrRUNRY0FBQUFzQUFBQUFCZ0FHQUFBQmJVZ0lJNGtvQ2hsbWhva3c1REVvSTROUTR4Rk1Rb0pPNHV1aGlnbk1pUVd2eEdCSVFDK0FKQkVVeVVjSVJpeUU2Q1IwQ2xsVzRIQUJ4QlVSVFV3NG5DNEZjV281Q0RCUnBRYUNvRjdWamdzeUNVRFlETU5aMG1IZHdZRUJBYUdNd3dIRGc0SERBMktqSTRxa0pLVWlKNmZhSmtpQTRxQUtRa1JCM0UwaTZZcEF3OFJFUkFqQTR0bkJvTUFwQ01RRGhGVHV5U0tvU0tNSkFxNnJENEd6QVNpSll0Z2k2UFVjczlLZXcweGg3ck5KTXFJaFljaEFDSDVCQWtIQUFBQUxBQUFBQUFZQUJnQUFBVzBJQ0NPSkVBUVpabzJKSUtReHFDT2pXQ01ERE1xeFQyTEFnRUxrQk1aQ29YZnlDQlFpRndpUnNHcGt1MEVzaE5nVU5BdHJZUFQwR1FWTlJCV3dTS0JNcDk4UDI0aUlTZ05EQVM0aXBHQTZKVXBBMldBaERSNGVXTS9DQWtIQndrSURZY0dpVE9MalkrRm1aa05sQ04zZVVvTERtd2xEVytBQXdjT0RsNWJZbDh3Q1ZZTUR3NVVXekJ0bkFBTkVROGtCSU0wb0FBR1BnY1JFSVFuVmxvQUNoRU9xQVJqemdBUUViY3pnOFlrV0pxOG5TVWhBQ0g1QkFrSEFBQUFMQUFBQUFBWUFCZ0FBQVd0SUNDT0pHQVlaWm9PcEtLUXFEb09SRE1Ld2tnd3Rpd1NCQllBSjJvd0dMNVJneEJ6aVFRTWdrd29Na2hOcUFFREFSUFNhaU1ERmRESWlSU0ZRb3dNWEU4WjZSZHBZSFduRUFXR1BWa2FqUG1BUlZaTVBVa0NCUWtKQlFJTmd3YUZQb2VKaTRHVmxRMlFjM1ZKQlFjTFYwcHRmQU1KQndkY0lsK0ZZakFMUWdpbW9HTldJaEFRWkE0SFhTcExNUThQSWdrT1NIeEFRaEVSUHc3QVNUU0Z5Q01NRHFCVEpMOHRmM3kyZkNFQUlma0VDUWNBQUFBc0FBQUFBQmdBR0FBQUJhOGdJSTRrMERSbG1nNmtZWkNvT2c1RURCREVhQWkyakxPM25Fa2drTUVJTDRCTHBCQWtWeTNoQ1RBUUtHQXpuTTBBRk5GR0JBYmoyY0E5alFpeGNHWkFHZ0VDQnUvOUhuVHArRkdqamV6SkZBd0ZCUXdLZTJaK0tvQ0NoSG1OalZNcUEyMW5LUXdKRUpSbGJuVUZDUWxGWGxwZUNXY0dCVUFDQ3dscmR3OFJLR0ltQndrdGR5TVFFUWNpQjdvQUN3Y0llQTRSVndBT0RpSUd2SFFLRVJBanh5TUlCNVFsVlNUTFlMWjBzVzhoQUNINUJBa0hBQUFBTEFBQUFBQVlBQmdBQUFXMElDQ09KTkEwWlpvT3BHR1FyRG9PQkNvU3hOZ1FzUXpnTVp5SWx2T0pkaStBUzJTb3lYcks0dW1XUE01d05pVjBVRFVJQk5rZG9lcFRmTWtBN3RoSUVDaXlSdFVBR3E4Zm0yTzRqSUJnTUJBMWVBWjZLbngrZ0hhSlI0UXdkQ01LQnhFSlJnZ0ZER2dRRVJFUGpqQU1CUVVLSXdJUkRoQkRDMlFORERFS29Fa0RvaU1IRGlnSUNHa0pCUzJkREE2VEFBbkFFQWtDZFE4T1JRY0hUQWtMY1FRT0RMUE1JZ0lKYUNXeEpNSWtQSW9BdDNFaEFDSDVCQWtIQUFBQUxBQUFBQUFZQUJnQUFBV3RJQ0NPSk5BMFpab09wR0dRckRvT0JDb1N4TmdRc1F6Z01aeUlsdk9KZGkrQVMyU295WHJLNHVtV0hNNXdOaVYwVU4zeGRMaXFyK21FTmNXcE05VElicnNCa0VjazhvQzBEUXFCUUdHSXordDNlWHRvYjBaVFBnTnJJd1FKRGd0R0Fnd0NXU0lNRGc0SGlpVUlEQXhGQUFvT0R3eERCV0lOQ0VHZFNUUWtDUWNvZWdBREJhUTZNZ2dIandBRkJaVUZDbTBIQjBrSkNVeTliQVlIQ0NQR0l3cW1ScTBqeVNNR21qNnlSaUVBSWZrRUNRY0FBQUFzQUFBQUFCZ0FHQUFBQmJJZ0lJNGswRFJsbWc2a1laQ3NPZzRFS2hMRTJCQ3hET0F4bklpVzg0bDJMNEJMWktpcEJvcFc4WFJMRGtlQ2lBTXlNdlFBQSt1T040SkVJbyt2cXVra0tRNlJoTEhwbFZHTitMeUtjWEE0RGd4NURXd0dEWHgrZ0lLRU5ucU5keklEYWlNRUN3Y0ZSZ1FDQ293aUNBY0hDWklsQ2dJQ1ZnU2ZDRU1NbkEwQ1hhVTJZU1FGb1FBS1VRTU1xam95QWdsY0FBeUJBQUlNUlVZTENVa0ZseWJEZUFZSnJ5TE5rNnhHTkNUUVhZMGp1SGdoQUNINUJBa0hBQUFBTEFBQUFBQVlBQmdBQUFXeklDQ09KTkEwWlZvT0Fta1k1S0NTU2dTTkJERTJoRHlMam9oQ2xCTU5pajhSSkhJUXZad0VWT3BJZWtSUUp5SnM1QU1vSEErR01iRTFsbm05RWNQaE9IUm5ocHdVbDNBc2tuSERtNVJOK3Y4cUNBa0hCd2tJZncxeEJBWU5nb1NHaUlxTWdKUWlmWlVqQmhBSllqOTVld0lKQ1FWN0tZcHpCQWtMTFFBRENIT3RPcFk1UGdObEFBeWtBRVVzUTF3ekNnV2RDSWRlQXJjekJRVmJESjBOQXF5ZUJiNjRuUUFHQXJCVHQ4UjhtTHV5UHlFQU93QUFBQUFBQUFBQUFBPT0pIDUwJSBuby1yZXBlYXQ7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MH0ucGRmVmlld2VyIC5wYWdlIC5sb2FkaW5nSWNvbi5ub3RWaXNpYmxle2JhY2tncm91bmQ6MCAwfS5wZGZWaWV3ZXIuZW5hYmxlUGVybWlzc2lvbnMgLnRleHRMYXllciBzcGFue2N1cnNvcjpub3QtYWxsb3dlZDstd2Via2l0LXVzZXItc2VsZWN0Om5vbmUhaW1wb3J0YW50Oy1tb3otdXNlci1zZWxlY3Q6bm9uZSFpbXBvcnRhbnQ7LW1zLXVzZXItc2VsZWN0Om5vbmUhaW1wb3J0YW50O3VzZXItc2VsZWN0Om5vbmUhaW1wb3J0YW50fS5wZGZQcmVzZW50YXRpb25Nb2RlIC5wZGZWaWV3ZXJ7cGFkZGluZy1ib3R0b206MH0ucGRmUHJlc2VudGF0aW9uTW9kZSAuc3ByZWFke21hcmdpbjowfS5wZGZQcmVzZW50YXRpb25Nb2RlIC5wZGZWaWV3ZXIgLnBhZ2V7Ym9yZGVyOjJweCBzb2xpZCB0cmFuc3BhcmVudDttYXJnaW46MCBhdXRvfS5wZGYtc2hlbGxbZGF0YS12LTMyY2U1MjU4XXtjb2xvcjojMWYyOTM3O2JhY2tncm91bmQ6I2VkZjJmNztmbGV4LWRpcmVjdGlvbjpjb2x1bW47d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTttaW4taGVpZ2h0OjA7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlfS5wZGYtdG9vbGJhcltkYXRhLXYtMzJjZTUyNThde3otaW5kZXg6MjtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2Q3ZGVlODthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7bWluLWhlaWdodDo0OHB4O3BhZGRpbmc6NnB4IDEycHg7ZGlzcGxheTpmbGV4O2JveC1zaGFkb3c6MCAxcHggNHB4IHJnYmEoMTUsMjMsNDIsLjA4KX0ucGRmLXRvb2xiYXItZ3JvdXBbZGF0YS12LTMyY2U1MjU4XXtiYWNrZ3JvdW5kOiNmOGZhZmM7Ym9yZGVyOjFweCBzb2xpZCAjZGRlNWVmO2JvcmRlci1yYWRpdXM6OHB4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O2hlaWdodDozNnB4O3BhZGRpbmc6MCA2cHg7ZGlzcGxheTppbmxpbmUtZmxleH0ucGRmLXRvb2xiYXItZ3JvdXAtLXpvb21bZGF0YS12LTMyY2U1MjU4XXttYXJnaW4tbGVmdDphdXRvfS5wZGYtdG9vbGJhci1ncm91cC0tcm90YXRlW2RhdGEtdi0zMmNlNTI1OF17ZmxleC1zaHJpbms6MH0ucGRmLWljb24tYnV0dG9uW2RhdGEtdi0zMmNlNTI1OF0sLnBkZi1zY2FsZS1idXR0b25bZGF0YS12LTMyY2U1MjU4XXtjb2xvcjojMzM0MTU1O2hlaWdodDozMHB4O2ZvbnQ6aW5oZXJpdDtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kOjAgMDtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6NnB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2xpbmUtaGVpZ2h0OjE7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4xNnMsYm9yZGVyLWNvbG9yIC4xNnMsY29sb3IgLjE2cztkaXNwbGF5OmlubGluZS1mbGV4fS5wZGYtaWNvbi1idXR0b25bZGF0YS12LTMyY2U1MjU4XXt3aWR0aDozMHB4O2ZvbnQtc2l6ZToxOHB4fS5wZGYtc2NhbGUtYnV0dG9uW2RhdGEtdi0zMmNlNTI1OF17d2lkdGg6NjRweDtmb250LXNpemU6MTNweDtmb250LXdlaWdodDo2MDB9LnBkZi1pY29uLWJ1dHRvbltkYXRhLXYtMzJjZTUyNThdOmhvdmVyOm5vdCg6ZGlzYWJsZWQpLC5wZGYtc2NhbGUtYnV0dG9uW2RhdGEtdi0zMmNlNTI1OF06aG92ZXJ7Y29sb3I6IzE3NjlkODtiYWNrZ3JvdW5kOiNlZGY1ZmY7Ym9yZGVyLWNvbG9yOiNiOWM4ZDh9LnBkZi1pY29uLWJ1dHRvbltkYXRhLXYtMzJjZTUyNThdOmRpc2FibGVke2NvbG9yOiNhOGIzYzA7Y3Vyc29yOm5vdC1hbGxvd2VkfS5wZGYtaWNvbi1idXR0b24tLWFjdGl2ZVtkYXRhLXYtMzJjZTUyNThde2NvbG9yOiMxNzY5ZDg7YmFja2dyb3VuZDojZTdmMWZmO2JvcmRlci1jb2xvcjojOWFjMmZmfS5wZGYtcGFuZWwtaWNvbltkYXRhLXYtMzJjZTUyNThde2JvcmRlcjoycHggc29saWQ7Ym9yZGVyLXJhZGl1czozcHg7d2lkdGg6MTZweDtoZWlnaHQ6MTRweDtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlfS5wZGYtcGFuZWwtaWNvbltkYXRhLXYtMzJjZTUyNThdOmJlZm9yZXtjb250ZW50OiIiO2JhY2tncm91bmQ6Y3VycmVudENvbG9yO3dpZHRoOjJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTJweDtib3R0b206LTJweDtsZWZ0OjRweH0ucGRmLXBhZ2UtbWV0ZXJbZGF0YS12LTMyY2U1MjU4XXtjb2xvcjojNjQ3NDhiO3doaXRlLXNwYWNlOm5vd3JhcDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmJhc2VsaW5lO2dhcDozcHg7bWluLXdpZHRoOjcycHg7Zm9udC1zaXplOjEzcHg7ZGlzcGxheTppbmxpbmUtZmxleH0ucGRmLXBhZ2UtbWV0ZXIgc3Ryb25nW2RhdGEtdi0zMmNlNTI1OF17Y29sb3I6IzFlMjkzYjtmb250LXNpemU6MTRweH0ucGRmLXJvdGF0aW9uLW1ldGVyW2RhdGEtdi0zMmNlNTI1OF17Y29sb3I6IzY0NzQ4Yjt3aGl0ZS1zcGFjZTpub3dyYXA7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWluLXdpZHRoOjQycHg7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NzAwO2Rpc3BsYXk6aW5saW5lLWZsZXh9LnBkZi1jb250ZW50W2RhdGEtdi0zMmNlNTI1OF17ZmxleDoxO2dyaWQtdGVtcGxhdGUtY29sdW1uczptYXgoMTQ4cHgsbWluKDIyJSwyMjBweCkpIG1pbm1heCgwLDFmcik7bWluLWhlaWdodDowO2Rpc3BsYXk6Z3JpZDtwb3NpdGlvbjpyZWxhdGl2ZX0ucGRmLXNoZWxsLS1uYXYtaGlkZGVuIC5wZGYtY29udGVudFtkYXRhLXYtMzJjZTUyNThde2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpfS5wZGYtbmF2LXBhbmVbZGF0YS12LTMyY2U1MjU4XXtiYWNrZ3JvdW5kOiNmOGZhZmM7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZDdkZWU4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MDttaW4taGVpZ2h0OjA7ZGlzcGxheTpmbGV4O292ZXJmbG93OmhpZGRlbn0ucGRmLW5hdi1oZWFkW2RhdGEtdi0zMmNlNTI1OF17Y29sb3I6IzQ3NTU2OTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZTNlOWYxO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjtoZWlnaHQ6NDRweDtwYWRkaW5nOjAgMTJweDtmb250LXNpemU6MTNweDtkaXNwbGF5OmZsZXh9LnBkZi1uYXYtaGVhZCBzdHJvbmdbZGF0YS12LTMyY2U1MjU4XXtjb2xvcjojMWUyOTNiO2ZvbnQtc2l6ZToxMnB4fS5wZGYtbmF2LXRhYnNbZGF0YS12LTMyY2U1MjU4XXtiYWNrZ3JvdW5kOiNmOGZhZmM7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2UzZTlmMTtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsbWlubWF4KDAsMWZyKSk7Z2FwOjRweDtwYWRkaW5nOjhweDtkaXNwbGF5OmdyaWR9LnBkZi1uYXYtdGFicyBidXR0b25bZGF0YS12LTMyY2U1MjU4XXtjb2xvcjojNjQ3NDhiO21pbi13aWR0aDowO2hlaWdodDozMHB4O2ZvbnQ6aW5oZXJpdDtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kOjAgMDtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6NnB4O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMH0ucGRmLW5hdi10YWJzIGJ1dHRvbltkYXRhLXYtMzJjZTUyNThdOmhvdmVyLC5wZGYtbmF2LXRhYnMgYnV0dG9uLmFjdGl2ZVtkYXRhLXYtMzJjZTUyNThde2NvbG9yOiMxNzY5ZDg7YmFja2dyb3VuZDojZWRmNWZmO2JvcmRlci1jb2xvcjojYjlkNGY2fS5wZGYtcGFnZS1saXN0W2RhdGEtdi0zMmNlNTI1OF17ZmxleDoxO2FsaWduLWNvbnRlbnQ6c3RhcnQ7Z2FwOjhweDttaW4taGVpZ2h0OjA7cGFkZGluZzoxMHB4O2Rpc3BsYXk6Z3JpZDtvdmVyZmxvdy15OmF1dG99LnBkZi1wYWdlLWJ1dHRvbltkYXRhLXYtMzJjZTUyNThde2NvbG9yOiMzMzQxNTU7Y3Vyc29yOnBvaW50ZXI7dGV4dC1hbGlnbjpsZWZ0O2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNkY2U0ZWU7Ym9yZGVyLXJhZGl1czo4cHg7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjQycHggbWlubWF4KDAsMWZyKTthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7d2lkdGg6MTAwJTttaW4taGVpZ2h0OjU0cHg7cGFkZGluZzo2cHggOHB4O3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4xNnMsYm94LXNoYWRvdyAuMTZzLGJhY2tncm91bmQtY29sb3IgLjE2cztkaXNwbGF5OmdyaWR9LnBkZi1wYWdlLWJ1dHRvbltkYXRhLXYtMzJjZTUyNThdOmhvdmVye2JhY2tncm91bmQ6I2YzZjhmZjtib3JkZXItY29sb3I6I2E5YzVlYX0ucGRmLXBhZ2UtYnV0dG9uLS1hY3RpdmVbZGF0YS12LTMyY2U1MjU4XXtiYWNrZ3JvdW5kOiNlYWYzZmY7Ym9yZGVyLWNvbG9yOiM0MDhmZmY7Ym94LXNoYWRvdzppbnNldCAzcHggMCAjNDA4ZmZmfS5wZGYtcGFnZS10aHVtYltkYXRhLXYtMzJjZTUyNThde2NvbG9yOiMxNzY5ZDg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoI2ZmZiAwJSwjZWRmNWZmIDEwMCUpO2JvcmRlcjoxcHggc29saWQgI2Q2ZTFlZTtib3JkZXItcmFkaXVzOjRweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDozNHB4O2hlaWdodDo0MnB4O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtkaXNwbGF5OmlubGluZS1mbGV4fS5wZGYtcGFnZS1sYWJlbFtkYXRhLXYtMzJjZTUyNThde3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO21pbi13aWR0aDowO2ZvbnQtc2l6ZToxM3B4O292ZXJmbG93OmhpZGRlbn0ucGRmLW91dGxpbmUtbGlzdFtkYXRhLXYtMzJjZTUyNThde2ZsZXg6MTthbGlnbi1jb250ZW50OnN0YXJ0O2dhcDo0cHg7bWluLWhlaWdodDowO3BhZGRpbmc6OHB4O2Rpc3BsYXk6Z3JpZDtvdmVyZmxvdy15OmF1dG99LnBkZi1vdXRsaW5lLWJ1dHRvbltkYXRhLXYtMzJjZTUyNThdey0tb3V0bGluZS1kZXB0aDowO3dpZHRoOjEwMCU7bWluLWhlaWdodDozMnB4O3BhZGRpbmc6NXB4IDdweCA1cHggY2FsYyg3cHggKyB2YXIoLS1vdXRsaW5lLWRlcHRoKSAqIDE0cHgpO2NvbG9yOiMzMzQxNTU7Zm9udDppbmhlcml0O3RleHQtYWxpZ246bGVmdDtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kOjAgMDtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6NnB4O2dyaWQtdGVtcGxhdGUtY29sdW1uczoxNnB4IG1pbm1heCgwLDFmcik7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7ZGlzcGxheTpncmlkfS5wZGYtb3V0bGluZS1idXR0b25bZGF0YS12LTMyY2U1MjU4XTpob3ZlcntiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLWNvbG9yOiNjN2Q3ZWJ9LnBkZi1vdXRsaW5lLXRvZ2dsZVtkYXRhLXYtMzJjZTUyNThde2NvbG9yOiM2NDc0OGI7Ym9yZGVyLXJhZGl1czo0cHg7d2lkdGg6MTRweDtoZWlnaHQ6MTRweDtwb3NpdGlvbjpyZWxhdGl2ZX0ucGRmLW91dGxpbmUtdG9nZ2xlW2RhdGEtdi0zMmNlNTI1OF06YmVmb3Jle2NvbnRlbnQ6IiI7Ym9yZGVyLWJvdHRvbToycHggc29saWQ7Ym9yZGVyLXJpZ2h0OjJweCBzb2xpZDt3aWR0aDo2cHg7aGVpZ2h0OjZweDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMTZzO3Bvc2l0aW9uOmFic29sdXRlO3RvcDozcHg7bGVmdDo0cHg7dHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpfS5wZGYtb3V0bGluZS10b2dnbGUtLW9wZW5bZGF0YS12LTMyY2U1MjU4XTpiZWZvcmV7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyl9LnBkZi1vdXRsaW5lLXRvZ2dsZS0tZW1wdHlbZGF0YS12LTMyY2U1MjU4XTpiZWZvcmV7ZGlzcGxheTpub25lfS5wZGYtb3V0bGluZS10aXRsZVtkYXRhLXYtMzJjZTUyNThde3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO21pbi13aWR0aDowO2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjEuMzU7b3ZlcmZsb3c6aGlkZGVufS5wZGYtb3V0bGluZS1lbXB0eVtkYXRhLXYtMzJjZTUyNThde2NvbG9yOiM2NDc0OGI7dGV4dC1hbGlnbjpjZW50ZXI7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggZGFzaGVkICNjYmQ1ZTE7Ym9yZGVyLXJhZGl1czo4cHg7bWFyZ2luOjI0cHggOHB4O3BhZGRpbmc6MTRweCAxMHB4O2ZvbnQtc2l6ZToxMnB4fS5wZGZWaWV3ZXJbZGF0YS12LTMyY2U1MjU4XXttYXJnaW46MCBhdXRvO3BhZGRpbmc6MThweCAxNHB4IDI4cHh9LnBkZi12aWV3cG9ydFtkYXRhLXYtMzJjZTUyNThde3dpZHRoOjEwMCU7bWluLXdpZHRoOjA7aGVpZ2h0OjEwMCU7bWluLWhlaWdodDowO3Bvc2l0aW9uOnJlbGF0aXZlfS5wZGYtd3JhcHBlcltkYXRhLXYtMzJjZTUyNThde2JhY2tncm91bmQ6I2U4ZWRmNDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO292ZXJmbG93OmF1dG99LnBkZi1zdGF0ZVtkYXRhLXYtMzJjZTUyNThde2NvbG9yOiM0NzU1Njk7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgI2Q3ZGVlODtib3JkZXItcmFkaXVzOjhweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttaW4td2lkdGg6MTY4cHg7bWluLWhlaWdodDo0MnB4O3BhZGRpbmc6MCAxNnB4O2Rpc3BsYXk6aW5saW5lLWZsZXg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7Ym94LXNoYWRvdzowIDEwcHggMzBweCByZ2JhKDE1LDIzLDQyLC4xMil9LnBkZi1zdGF0ZS0tZXJyb3JbZGF0YS12LTMyY2U1MjU4XXtjb2xvcjojYjQyMzE4O3RleHQtYWxpZ246Y2VudGVyO21heC13aWR0aDptaW4oNDYwcHgsMTAwJSAtIDMycHgpfUBtZWRpYSAobWF4LXdpZHRoOjcyMHB4KXsucGRmLXRvb2xiYXJbZGF0YS12LTMyY2U1MjU4XXtmbGV4LXdyYXA6d3JhcDthbGlnbi1jb250ZW50OmNlbnRlcjttaW4taGVpZ2h0Ojg4cHh9LnBkZi10b29sYmFyLWdyb3VwLS16b29tW2RhdGEtdi0zMmNlNTI1OF17bWFyZ2luLWxlZnQ6MH0ucGRmLWNvbnRlbnRbZGF0YS12LTMyY2U1MjU4XSwucGRmLXNoZWxsLS1uYXYtaGlkZGVuIC5wZGYtY29udGVudFtkYXRhLXYtMzJjZTUyNThde2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpfS5wZGYtbmF2LXBhbmVbZGF0YS12LTMyY2U1MjU4XXt6LWluZGV4OjM7d2lkdGg6bWluKDc4dncsMjQwcHgpO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtib3gtc2hhZG93OjEwcHggMCAyNHB4IHJnYmEoMTUsMjMsNDIsLjE0KX19Lm9mZC12aWV3ZXJbZGF0YS12LTIyNWY0YmMzXXtiYWNrZ3JvdW5kOiNlOWVkZjI7bWluLWhlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlfS5vZmQtc3RhZ2VbZGF0YS12LTIyNWY0YmMzXXtzY3JvbGxiYXItZ3V0dGVyOnN0YWJsZTttaW4taGVpZ2h0OjEwMCU7cGFkZGluZzoxOHB4IDAgMjhweDtvdmVyZmxvdzphdXRvfS5vZmQtc3RhdGVbZGF0YS12LTIyNWY0YmMzXXt6LWluZGV4OjE7Y29sb3I6IzY0NzQ4YjtiYWNrZ3JvdW5kOnJnYmEoMjQ2LDI0OCwyNTAsLjkyKTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtmb250LXNpemU6MTRweDtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjB9Lm9mZC1zdGF0ZS5lcnJvcltkYXRhLXYtMjI1ZjRiYzNde2NvbG9yOiNiNDIzMTh9Lm9mZC1wYWdlLWZyYW1le21hcmdpbjowIGF1dG8gMjBweDtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OnZpc2libGV9Lm9mZC1wYWdle3RyYW5zaXRpb246dHJhbnNmb3JtIC4xNnM7ZGlzcGxheTpibG9jaztib3gtc2hhZG93OjAgMTBweCAyNnB4IHJnYmEoMTUsMjMsNDIsLjEyKTttYXJnaW4tbGVmdDphdXRvIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6YXV0byFpbXBvcnRhbnR9LnR5cHN0LXZpZXdlcltkYXRhLXYtMmNkZDc5OWJde2NvbG9yOiMxNzIwMzM7YmFja2dyb3VuZDojZWVmMWY0O21pbi1oZWlnaHQ6MTAwJTtvdmVyZmxvdzphdXRvfS50eXBzdC10b29sYmFyW2RhdGEtdi0yY2RkNzk5Yl17ei1pbmRleDoyOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2dyb3VuZDpyZ2JhKDI0OCwyNTAsMjUyLC45Mik7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgxMjAsMTM0LDE1NSwuMTgpO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTZweDttaW4taGVpZ2h0OjUycHg7cGFkZGluZzoxMHB4IDE4cHg7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOi13ZWJraXQtc3RpY2t5O3Bvc2l0aW9uOnN0aWNreTt0b3A6MH0udHlwc3QtdG9vbGJhciBkaXZbZGF0YS12LTJjZGQ3OTliXXttaW4td2lkdGg6MH0udHlwc3QtdG9vbGJhciBzdHJvbmdbZGF0YS12LTJjZGQ3OTliXSwudHlwc3QtdG9vbGJhciBzcGFuW2RhdGEtdi0yY2RkNzk5Yl17dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW59LnR5cHN0LXRvb2xiYXIgc3Ryb25nW2RhdGEtdi0yY2RkNzk5Yl17Y29sb3I6IzE3MjAzMztmb250LXNpemU6MTRweDtmb250LXdlaWdodDo4MDB9LnR5cHN0LXRvb2xiYXIgc3BhbltkYXRhLXYtMmNkZDc5OWJdLC50eXBzdC10b29sYmFyIGVtW2RhdGEtdi0yY2RkNzk5Yl17Y29sb3I6IzZhNzc4Yjtmb250LXNpemU6MTJweDtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo3MDB9LnR5cHN0LXBhZ2VzW2RhdGEtdi0yY2RkNzk5Yl17Ym94LXNpemluZzpib3JkZXItYm94O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjIycHg7bWluLWhlaWdodDpjYWxjKDEwMCUgLSA1MnB4KTtwYWRkaW5nOjI4cHggMTZweCA0NHB4O2Rpc3BsYXk6ZmxleH0udHlwc3QtcGFnZS1zaGVsbFtkYXRhLXYtMmNkZDc5OWJde3dpZHRoOm1pbih2YXIoLS10eXBzdC1wYWdlLXdpZHRoKSwgMTAwJSk7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgcmdiYSgyMCwzNSw1MywuMSk7bWF4LXdpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO2JveC1zaGFkb3c6MCAxOHB4IDQ0cHggcmdiYSgxNSwyMyw0MiwuMTQpfS50eXBzdC1wYWdlLWNvbnRlbnRbZGF0YS12LTJjZGQ3OTliXSBzdmd7d2lkdGg6MTAwJTtoZWlnaHQ6YXV0bztkaXNwbGF5OmJsb2NrfS50eXBzdC1sb2FkaW5nW2RhdGEtdi0yY2RkNzk5Yl0sLnR5cHN0LWVycm9yW2RhdGEtdi0yY2RkNzk5Yl17Ym94LXNpemluZzpib3JkZXItYm94O2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTIwLDEzNCwxNTUsLjE4KTtib3JkZXItcmFkaXVzOjE0cHg7d2lkdGg6bWluKDUyMHB4LDEwMCUgLSAzMnB4KTttYXJnaW46ODBweCBhdXRvO3BhZGRpbmc6MjZweDtib3gtc2hhZG93OjAgMThweCA0NHB4IHJnYmEoMTUsMjMsNDIsLjEyKX0udHlwc3QtbG9hZGluZ1tkYXRhLXYtMmNkZDc5OWJde3RleHQtYWxpZ246Y2VudGVyO2p1c3RpZnktaXRlbXM6Y2VudGVyO2dhcDoxMHB4O2Rpc3BsYXk6Z3JpZH0udHlwc3QtbG9hZGluZyBzcGFuW2RhdGEtdi0yY2RkNzk5Yl17Ym9yZGVyOjNweCBzb2xpZCByZ2JhKDQ2LDEzMCw5NCwuMTgpO2JvcmRlci10b3AtY29sb3I6IzIzOTY2MTtib3JkZXItcmFkaXVzOjk5OXB4O3dpZHRoOjM0cHg7aGVpZ2h0OjM0cHg7YW5pbWF0aW9uOi44cyBsaW5lYXIgaW5maW5pdGUgdHlwc3Qtc3Bpbi0yY2RkNzk5Yn0udHlwc3QtbG9hZGluZyBzdHJvbmdbZGF0YS12LTJjZGQ3OTliXSwudHlwc3QtZXJyb3Igc3Ryb25nW2RhdGEtdi0yY2RkNzk5Yl17Y29sb3I6IzE3MjAzMztmb250LXNpemU6MTZweH0udHlwc3QtbG9hZGluZyBwW2RhdGEtdi0yY2RkNzk5Yl17Y29sb3I6IzZhNzc4YjttYXJnaW46MDtmb250LXNpemU6MTNweH0udHlwc3QtZXJyb3JbZGF0YS12LTJjZGQ3OTliXXtjb2xvcjojOWYxZDFkfS50eXBzdC1lcnJvciBwcmVbZGF0YS12LTJjZGQ3OTliXXtjb2xvcjojOWYxZDFkO3doaXRlLXNwYWNlOnByZS13cmFwO2JhY2tncm91bmQ6I2ZmZjFmMjtib3JkZXItcmFkaXVzOjEwcHg7bWF4LWhlaWdodDozNjBweDttYXJnaW46MTRweCAwIDA7cGFkZGluZzoxNHB4O2ZvbnQtZmFtaWx5OnVpLW1vbm9zcGFjZSxTRk1vbm8tUmVndWxhcixNZW5sbyxNb25hY28sQ29uc29sYXMsTGliZXJhdGlvbiBNb25vLG1vbm9zcGFjZTtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxLjc7b3ZlcmZsb3c6YXV0b30uZmlsZS12aWV3ZXJbZGF0YS12aWV3ZXItdGhlbWU9ZGFya10gLnR5cHN0LXZpZXdlcntjb2xvcjojZTZlZGYzO2JhY2tncm91bmQ6IzEwMTgyMH0uZmlsZS12aWV3ZXJbZGF0YS12aWV3ZXItdGhlbWU9ZGFya10gLnR5cHN0LXRvb2xiYXJ7YmFja2dyb3VuZDpyZ2JhKDE1LDIzLDQyLC45KTtib3JkZXItYm90dG9tLWNvbG9yOnJnYmEoMTM5LDE0OCwxNTgsLjIyKX0uZmlsZS12aWV3ZXJbZGF0YS12aWV3ZXItdGhlbWU9ZGFya10gLnR5cHN0LXRvb2xiYXIgc3Ryb25ne2NvbG9yOiNmOGZhZmN9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPWRhcmtdIC50eXBzdC10b29sYmFyIHNwYW4sLmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPWRhcmtdIC50eXBzdC10b29sYmFyIGVte2NvbG9yOiM5YWE3Yjh9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPWRhcmtdIC50eXBzdC1wYWdlLXNoZWxse2JvcmRlci1jb2xvcjpyZ2JhKDEzOSwxNDgsMTU4LC4yNik7Ym94LXNoYWRvdzowIDI0cHggNTZweCByZ2JhKDAsMCwwLC4zOCl9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPWRhcmtdIC50eXBzdC1sb2FkaW5nLC5maWxlLXZpZXdlcltkYXRhLXZpZXdlci10aGVtZT1kYXJrXSAudHlwc3QtZXJyb3J7YmFja2dyb3VuZDojMTUxYjIzO2JvcmRlci1jb2xvcjpyZ2JhKDEzOSwxNDgsMTU4LC4yMik7Ym94LXNoYWRvdzowIDI0cHggNTZweCByZ2JhKDAsMCwwLC4zMil9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPWRhcmtdIC50eXBzdC1sb2FkaW5nIHN0cm9uZywuZmlsZS12aWV3ZXJbZGF0YS12aWV3ZXItdGhlbWU9ZGFya10gLnR5cHN0LWVycm9yIHN0cm9uZ3tjb2xvcjojZjhmYWZjfUBrZXlmcmFtZXMgdHlwc3Qtc3Bpbi0yY2RkNzk5Ynt0b3t0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9fUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsudHlwc3QtdG9vbGJhcltkYXRhLXYtMmNkZDc5OWJde2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2dhcDo0cHh9LnR5cHN0LXBhZ2VzW2RhdGEtdi0yY2RkNzk5Yl17Z2FwOjE2cHg7cGFkZGluZzoxNnB4IDEwcHggMjhweH19QG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpkYXJrKXsuZmlsZS12aWV3ZXJbZGF0YS12aWV3ZXItdGhlbWU9c3lzdGVtXSAudHlwc3Qtdmlld2Vye2NvbG9yOiNlNmVkZjM7YmFja2dyb3VuZDojMTAxODIwfS5maWxlLXZpZXdlcltkYXRhLXZpZXdlci10aGVtZT1zeXN0ZW1dIC50eXBzdC10b29sYmFye2JhY2tncm91bmQ6cmdiYSgxNSwyMyw0MiwuOSk7Ym9yZGVyLWJvdHRvbS1jb2xvcjpyZ2JhKDEzOSwxNDgsMTU4LC4yMil9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPXN5c3RlbV0gLnR5cHN0LXRvb2xiYXIgc3Ryb25ne2NvbG9yOiNmOGZhZmN9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPXN5c3RlbV0gLnR5cHN0LXRvb2xiYXIgc3BhbiwuZmlsZS12aWV3ZXJbZGF0YS12aWV3ZXItdGhlbWU9c3lzdGVtXSAudHlwc3QtdG9vbGJhciBlbXtjb2xvcjojOWFhN2I4fS5maWxlLXZpZXdlcltkYXRhLXZpZXdlci10aGVtZT1zeXN0ZW1dIC50eXBzdC1wYWdlLXNoZWxse2JvcmRlci1jb2xvcjpyZ2JhKDEzOSwxNDgsMTU4LC4yNik7Ym94LXNoYWRvdzowIDI0cHggNTZweCByZ2JhKDAsMCwwLC4zOCl9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPXN5c3RlbV0gLnR5cHN0LWxvYWRpbmcsLmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPXN5c3RlbV0gLnR5cHN0LWVycm9ye2JhY2tncm91bmQ6IzE1MWIyMztib3JkZXItY29sb3I6cmdiYSgxMzksMTQ4LDE1OCwuMjIpO2JveC1zaGFkb3c6MCAyNHB4IDU2cHggcmdiYSgwLDAsMCwuMzIpfS5maWxlLXZpZXdlcltkYXRhLXZpZXdlci10aGVtZT1zeXN0ZW1dIC50eXBzdC1sb2FkaW5nIHN0cm9uZywuZmlsZS12aWV3ZXJbZGF0YS12aWV3ZXItdGhlbWU9c3lzdGVtXSAudHlwc3QtZXJyb3Igc3Ryb25ne2NvbG9yOiNmOGZhZmN9fS5hcmNoaXZlLXZpZXdlcltkYXRhLXYtZmVlZmJiN2Rde2NvbG9yOiMxNzIwMzM7YmFja2dyb3VuZDojZWRmMmY3O2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMjgwcHgsMzQlKSBtaW5tYXgoMCwxZnIpO2hlaWdodDoxMDAlO2Rpc3BsYXk6Z3JpZDtwb3NpdGlvbjpyZWxhdGl2ZX0uYXJjaGl2ZS1zaWRlYmFyW2RhdGEtdi1mZWVmYmI3ZF17YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC43Mik7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCByZ2JhKDIzLDMyLDUxLC4wOCk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxMnB4O21pbi13aWR0aDowO21pbi1oZWlnaHQ6MDtwYWRkaW5nOjE2cHg7ZGlzcGxheTpmbGV4fS5hcmNoaXZlLWhlYWQgc3BhbltkYXRhLXYtZmVlZmJiN2RdLC5hcmNoaXZlLXByZXZpZXctdG9vbGJhciBzcGFuW2RhdGEtdi1mZWVmYmI3ZF17Y29sb3I6IzZjN2M5MDtsZXR0ZXItc3BhY2luZzowO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjgwMH0uYXJjaGl2ZS1oZWFkIHN0cm9uZ1tkYXRhLXYtZmVlZmJiN2RdLC5hcmNoaXZlLXByZXZpZXctdG9vbGJhciBzdHJvbmdbZGF0YS12LWZlZWZiYjdkXXttYXJnaW4tdG9wOjRweDtmb250LXNpemU6MThweDtsaW5lLWhlaWdodDoxLjI1O2Rpc3BsYXk6YmxvY2t9LmFyY2hpdmUtaGVhZCBwW2RhdGEtdi1mZWVmYmI3ZF17Y29sb3I6IzY5Nzk4YjttYXJnaW46OHB4IDAgMDtmb250LXNpemU6MTNweH0uYXJjaGl2ZS13YXJuaW5nW2RhdGEtdi1mZWVmYmI3ZF0sLmFyY2hpdmUtaW5mb1tkYXRhLXYtZmVlZmJiN2RdLC5hcmNoaXZlLWVycm9yW2RhdGEtdi1mZWVmYmI3ZF17Y29sb3I6IzhhNGIwMDtiYWNrZ3JvdW5kOiNmZmY3ZTg7Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6MTBweCAxMnB4O2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjEuNX0uYXJjaGl2ZS1pbmZvW2RhdGEtdi1mZWVmYmI3ZF17Y29sb3I6IzE2NjUzNDtiYWNrZ3JvdW5kOiNlY2ZkZjV9LmFyY2hpdmUtc2VhcmNoW2RhdGEtdi1mZWVmYmI3ZF17d2lkdGg6MTAwJTtoZWlnaHQ6NDJweDtmb250OmluaGVyaXQ7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDIzLDMyLDUxLC4xKTtib3JkZXItcmFkaXVzOjEycHg7b3V0bGluZTpub25lO3BhZGRpbmc6MCAxMnB4fS5hcmNoaXZlLWxpc3RbZGF0YS12LWZlZWZiYjdkXXtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleDoxO2dhcDo3cHg7bWluLWhlaWdodDowO3BhZGRpbmctcmlnaHQ6NHB4O2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzphdXRvfS5hcmNoaXZlLWVudHJ5W2RhdGEtdi1mZWVmYmI3ZF17d2lkdGg6MTAwJTttaW4taGVpZ2h0OjU4cHg7cGFkZGluZzo4cHggMTBweCA4cHggY2FsYygxMHB4ICsgdmFyKC0tZW50cnktZGVwdGgsMCkgKiAxMHB4KTtjb2xvcjppbmhlcml0O3RleHQtYWxpZ246bGVmdDtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjg2KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjMsMzIsNTEsLjA3KTtib3JkZXItcmFkaXVzOjEycHg7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjQycHggbWlubWF4KDAsMWZyKSBhdXRvO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtkaXNwbGF5OmdyaWR9LmFyY2hpdmUtZW50cnlbZGF0YS12LWZlZWZiYjdkXTpob3ZlciwuYXJjaGl2ZS1lbnRyeS5hY3RpdmVbZGF0YS12LWZlZWZiYjdkXXtib3JkZXItY29sb3I6cmdiYSgzMywxMjksOTUsLjI4KTtib3gtc2hhZG93OjAgMTBweCAyMnB4IHJnYmEoMjMsMzIsNTEsLjA4KX0uZW50cnktZXh0W2RhdGEtdi1mZWVmYmI3ZF17Y29sb3I6IzFkN2E1Njt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7YmFja2dyb3VuZDpyZ2JhKDMzLDEyOSw5NSwuMTIpO2JvcmRlci1yYWRpdXM6MTBweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtoZWlnaHQ6MzRweDtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo5MDA7ZGlzcGxheTppbmxpbmUtZmxleH0uZW50cnktY29weVtkYXRhLXYtZmVlZmJiN2Rde21pbi13aWR0aDowfS5lbnRyeS1jb3B5IHN0cm9uZ1tkYXRhLXYtZmVlZmJiN2RdLC5lbnRyeS1jb3B5IGVtW2RhdGEtdi1mZWVmYmI3ZF17dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW59LmVudHJ5LWNvcHkgZW1bZGF0YS12LWZlZWZiYjdkXSwuYXJjaGl2ZS1lbnRyeSBzbWFsbFtkYXRhLXYtZmVlZmJiN2Rde2NvbG9yOiM3MTgwOTY7Zm9udC1zaXplOjEycHg7Zm9udC1zdHlsZTpub3JtYWx9LmFyY2hpdmUtcHJldmlld1tkYXRhLXYtZmVlZmJiN2Rde2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MDttaW4taGVpZ2h0OjA7ZGlzcGxheTpmbGV4fS5hcmNoaXZlLXByZXZpZXctdG9vbGJhcltkYXRhLXYtZmVlZmJiN2Rde2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuNzYpO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMjMsMzIsNTEsLjA4KTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjE0cHg7bWluLWhlaWdodDo2NHB4O3BhZGRpbmc6MTJweCAxNnB4O2Rpc3BsYXk6ZmxleH0uYXJjaGl2ZS1wcmV2aWV3LXRvb2xiYXIgYnV0dG9uW2RhdGEtdi1mZWVmYmI3ZF17Y29sb3I6I2ZmZjtoZWlnaHQ6MzRweDtmb250OmluaGVyaXQ7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDojMWY3YTU4O2JvcmRlcjowO2JvcmRlci1yYWRpdXM6MTBweDtwYWRkaW5nOjAgMTJweDtmb250LXNpemU6MTNweDtmb250LXdlaWdodDo4MDB9LmFyY2hpdmUtbmVzdGVkLXRhcmdldFtkYXRhLXYtZmVlZmJiN2Rde2ZsZXg6MTttaW4taGVpZ2h0OjA7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6YXV0b30uYXJjaGl2ZS1lbXB0eVtkYXRhLXYtZmVlZmJiN2Rde3RleHQtYWxpZ246Y2VudGVyO2NvbG9yOiM2NDc0OGI7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2hlaWdodDoxMDAlO3BhZGRpbmc6MjhweDtkaXNwbGF5OmZsZXh9LmFyY2hpdmUtZW1wdHkgc3Ryb25nW2RhdGEtdi1mZWVmYmI3ZF17Y29sb3I6IzE3MjAzMztmb250LXNpemU6MThweH0uYXJjaGl2ZS1zdGF0ZVtkYXRhLXYtZmVlZmJiN2Rdey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoOHB4KTtiYWNrZHJvcC1maWx0ZXI6Ymx1cig4cHgpO2JhY2tncm91bmQ6cmdiYSgyNDEsMjQ1LDI0OSwuODIpO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MH0uYXJjaGl2ZS1zdGF0ZT5kaXZbZGF0YS12LWZlZWZiYjdkXXtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJhZGl1czoxNnB4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTRweDt3aWR0aDptaW4oOTIlLDQzMHB4KTtwYWRkaW5nOjE4cHg7ZGlzcGxheTpmbGV4O2JveC1zaGFkb3c6MCAxOHB4IDQycHggcmdiYSgxNSwyMyw0MiwuMTQpfS5hcmNoaXZlLXN0YXRlIHBbZGF0YS12LWZlZWZiYjdkXXtjb2xvcjojNjQ3NDhiO21hcmdpbjo0cHggMCAwfS5hcmNoaXZlLXNwaW5uZXJbZGF0YS12LWZlZWZiYjdkXXtib3JkZXI6M3B4IHNvbGlkIHJnYmEoMzEsMTIyLDg4LC4xNik7Ym9yZGVyLXRvcC1jb2xvcjojMWY3YTU4O2JvcmRlci1yYWRpdXM6OTk5cHg7ZmxleC1zaHJpbms6MDt3aWR0aDozNHB4O2hlaWdodDozNHB4O2FuaW1hdGlvbjouOXMgbGluZWFyIGluZmluaXRlIGFyY2hpdmUtc3Bpbi1mZWVmYmI3ZH0uYXJjaGl2ZS1lcnJvcltkYXRhLXYtZmVlZmJiN2Rde3dpZHRoOm1pbig0NjBweCwxMDAlIC0gMzZweCk7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjE4cHg7cmlnaHQ6MThweDtib3gtc2hhZG93OjAgMTZweCAzNnB4IHJnYmEoMjMsMzIsNTEsLjE0KX1Aa2V5ZnJhbWVzIGFyY2hpdmUtc3Bpbi1mZWVmYmI3ZHt0b3t0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9fUBtZWRpYSAobWF4LXdpZHRoOjg2MHB4KXsuYXJjaGl2ZS12aWV3ZXJbZGF0YS12LWZlZWZiYjdkXXtncmlkLXRlbXBsYXRlLXJvd3M6bWlubWF4KDIyMHB4LDM4JSkgbWlubWF4KDAsMWZyKTtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfS5hcmNoaXZlLXNpZGViYXJbZGF0YS12LWZlZWZiYjdkXXtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDIzLDMyLDUxLC4wOCk7Ym9yZGVyLXJpZ2h0OjB9fS5hcmNoaXZlLW5lc3RlZC1jb250ZW50e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7bWluLWhlaWdodDo0MjBweH0uZW1haWwtdmlld2VyW2RhdGEtdi0wOTg5ZDc5OF17Y29sb3I6IzE3MjAzMztiYWNrZ3JvdW5kOiNmM2Y2Zjg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2hlaWdodDoxMDAlO21pbi1oZWlnaHQ6MDtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmV9LmVtYWlsLWhlYWRlcltkYXRhLXYtMDk4OWQ3OThde2JhY2tncm91bmQ6I2ZmZjtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDIzLDMyLDUxLC4wOCk7cGFkZGluZzoxOHB4IDIycHh9LmVtYWlsLWhlYWRlcj5zcGFuW2RhdGEtdi0wOTg5ZDc5OF17Y29sb3I6IzFmN2E1ODtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo5MDB9LmVtYWlsLWhlYWRlciBoMltkYXRhLXYtMDk4OWQ3OThde21hcmdpbjo0cHggMCAxMnB4O2ZvbnQtc2l6ZToyMnB4O2xpbmUtaGVpZ2h0OjEuMjV9LmVtYWlsLW1ldGFbZGF0YS12LTA5ODlkNzk4XXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsbWlubWF4KDAsMWZyKSk7Z2FwOjhweCAxOHB4O2Rpc3BsYXk6Z3JpZH0uZW1haWwtbWV0YSBwW2RhdGEtdi0wOTg5ZDc5OF17Y29sb3I6IzUyNjI3NTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDttYXJnaW46MDtmb250LXNpemU6MTNweDtvdmVyZmxvdzpoaWRkZW59LmVtYWlsLW1ldGEgc3Ryb25nW2RhdGEtdi0wOTg5ZDc5OF17Y29sb3I6IzE3MjAzMzttYXJnaW4tcmlnaHQ6OHB4fS5lbWFpbC1ib2R5W2RhdGEtdi0wOTg5ZDc5OF17ZmxleDoxO2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMjQwcHgsMzAwcHgpIG1pbm1heCgwLDFmcik7bWluLWhlaWdodDowO2Rpc3BsYXk6Z3JpZH0uZW1haWwtc2lkZWJhcltkYXRhLXYtMDk4OWQ3OThde2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuNyk7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCByZ2JhKDIzLDMyLDUxLC4wOCk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxNHB4O21pbi1oZWlnaHQ6MDtwYWRkaW5nOjE0cHg7ZGlzcGxheTpmbGV4fS5ib2R5LXRhYnNbZGF0YS12LTA5ODlkNzk4XXtiYWNrZ3JvdW5kOnJnYmEoMjMsMzIsNTEsLjA2KTtib3JkZXItcmFkaXVzOjEycHg7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLG1pbm1heCgwLDFmcikpO2dhcDo2cHg7cGFkZGluZzo0cHg7ZGlzcGxheTpncmlkfS5ib2R5LXRhYnMgYnV0dG9uW2RhdGEtdi0wOTg5ZDc5OF0sLmF0dGFjaG1lbnQtaXRlbVtkYXRhLXYtMDk4OWQ3OThdLC5hdHRhY2htZW50LXByZXZpZXctaGVhZCBidXR0b25bZGF0YS12LTA5ODlkNzk4XXtmb250OmluaGVyaXQ7Y3Vyc29yOnBvaW50ZXJ9LmJvZHktdGFicyBidXR0b25bZGF0YS12LTA5ODlkNzk4XXtjb2xvcjojNjQ3NDhiO2JhY2tncm91bmQ6MCAwO2JvcmRlcjowO2JvcmRlci1yYWRpdXM6OXB4O2hlaWdodDozNHB4O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjgwMH0uYm9keS10YWJzIGJ1dHRvbi5hY3RpdmVbZGF0YS12LTA5ODlkNzk4XXtjb2xvcjojMTcyMDMzO2JhY2tncm91bmQ6I2ZmZn0uYm9keS10YWJzIGJ1dHRvbltkYXRhLXYtMDk4OWQ3OThdOmRpc2FibGVke29wYWNpdHk6LjQ7Y3Vyc29yOm5vdC1hbGxvd2VkfS5hdHRhY2htZW50LXBhbmVsW2RhdGEtdi0wOTg5ZDc5OF17bWluLWhlaWdodDowO292ZXJmbG93OmF1dG99LmF0dGFjaG1lbnQtdGl0bGVbZGF0YS12LTA5ODlkNzk4XXtjb2xvcjojMTcyMDMzO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO21hcmdpbi1ib3R0b206OHB4O2ZvbnQtc2l6ZToxNHB4O2Rpc3BsYXk6ZmxleH0uYXR0YWNobWVudC10aXRsZSBzcGFuW2RhdGEtdi0wOTg5ZDc5OF17Y29sb3I6IzY0NzQ4Yn0uYXR0YWNobWVudC1pdGVtW2RhdGEtdi0wOTg5ZDc5OF17dGV4dC1hbGlnbjpsZWZ0O2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjMsMzIsNTEsLjA4KTtib3JkZXItcmFkaXVzOjEycHg7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjQycHggbWlubWF4KDAsMWZyKTthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7d2lkdGg6MTAwJTttaW4taGVpZ2h0OjYycHg7bWFyZ2luLWJvdHRvbTo4cHg7cGFkZGluZzo5cHg7ZGlzcGxheTpncmlkfS5hdHRhY2htZW50LWl0ZW1bZGF0YS12LTA5ODlkNzk4XTpob3ZlciwuYXR0YWNobWVudC1pdGVtLmFjdGl2ZVtkYXRhLXYtMDk4OWQ3OThde2JvcmRlci1jb2xvcjpyZ2JhKDMxLDEyMiw4OCwuMjgpO2JveC1zaGFkb3c6MCAxMHB4IDIycHggcmdiYSgyMywzMiw1MSwuMDgpfS5hdHRhY2htZW50LWl0ZW0gc3BhbltkYXRhLXYtMDk4OWQ3OThde2NvbG9yOiMxZjdhNTg7YmFja2dyb3VuZDpyZ2JhKDMxLDEyMiw4OCwuMTIpO2JvcmRlci1yYWRpdXM6MTBweDtncmlkLXJvdzpzcGFuIDI7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjM4cHg7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6OTAwO2Rpc3BsYXk6aW5saW5lLWZsZXh9LmF0dGFjaG1lbnQtaXRlbSBzdHJvbmdbZGF0YS12LTA5ODlkNzk4XSwuYXR0YWNobWVudC1pdGVtIGVtW2RhdGEtdi0wOTg5ZDc5OF17dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVufS5hdHRhY2htZW50LWl0ZW0gZW1bZGF0YS12LTA5ODlkNzk4XXtjb2xvcjojNjQ3NDhiO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtc3R5bGU6bm9ybWFsfS5tZXNzYWdlLXBhbmVsW2RhdGEtdi0wOTg5ZDc5OF17Z3JpZC10ZW1wbGF0ZS1yb3dzOm1pbm1heCgyNDBweCw0NiUpIG1pbm1heCgwLDFmcik7bWluLXdpZHRoOjA7bWluLWhlaWdodDowO2Rpc3BsYXk6Z3JpZH0uZW1haWwtaHRtbFtkYXRhLXYtMDk4OWQ3OThdLC5lbWFpbC10ZXh0W2RhdGEtdi0wOTg5ZDc5OF17YmFja2dyb3VuZDojZmZmO2JvcmRlcjowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9LmVtYWlsLXRleHRbZGF0YS12LTA5ODlkNzk4XXt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7bWFyZ2luOjA7cGFkZGluZzoyMHB4O2xpbmUtaGVpZ2h0OjEuNjU7b3ZlcmZsb3c6YXV0b30uYXR0YWNobWVudC1wcmV2aWV3W2RhdGEtdi0wOTg5ZDc5OF17Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgyMywzMiw1MSwuMDgpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4taGVpZ2h0OjA7ZGlzcGxheTpmbGV4fS5hdHRhY2htZW50LXByZXZpZXctaGVhZFtkYXRhLXYtMDk4OWQ3OThde2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuNzgpO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTJweDttaW4taGVpZ2h0OjQ4cHg7cGFkZGluZzo4cHggMTRweDtkaXNwbGF5OmZsZXh9LmF0dGFjaG1lbnQtcHJldmlldy1oZWFkIGJ1dHRvbltkYXRhLXYtMDk4OWQ3OThde2NvbG9yOiNmZmY7YmFja2dyb3VuZDojMWY3YTU4O2JvcmRlcjowO2JvcmRlci1yYWRpdXM6OXB4O2hlaWdodDozMnB4O3BhZGRpbmc6MCAxMnB4O2ZvbnQtd2VpZ2h0OjgwMH0uYXR0YWNobWVudC10YXJnZXRbZGF0YS12LTA5ODlkNzk4XXtmbGV4OjE7bWluLWhlaWdodDowO292ZXJmbG93OmF1dG99LmVtYWlsLXN0YXRlW2RhdGEtdi0wOTg5ZDc5OF17YmFja2dyb3VuZDpyZ2JhKDI0MywyNDYsMjQ4LC44Nik7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjE0cHg7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowfS5lbWFpbC1zdGF0ZSBzcGFuW2RhdGEtdi0wOTg5ZDc5OF17Ym9yZGVyOjNweCBzb2xpZCByZ2JhKDMxLDEyMiw4OCwuMTYpO2JvcmRlci10b3AtY29sb3I6IzFmN2E1ODtib3JkZXItcmFkaXVzOjk5OXB4O3dpZHRoOjM0cHg7aGVpZ2h0OjM0cHg7YW5pbWF0aW9uOi45cyBsaW5lYXIgaW5maW5pdGUgZW1haWwtc3Bpbi0wOTg5ZDc5OH0uZW1haWwtZXJyb3JbZGF0YS12LTA5ODlkNzk4XXtjb2xvcjojOGE0YjAwO2JhY2tncm91bmQ6I2ZmZjdlODtib3JkZXItcmFkaXVzOjE0cHg7d2lkdGg6bWluKDQ2MHB4LDEwMCUgLSAzNnB4KTtwYWRkaW5nOjE0cHg7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjE4cHg7cmlnaHQ6MThweDtib3gtc2hhZG93OjAgMTZweCAzNnB4IHJnYmEoMjMsMzIsNTEsLjE0KX1Aa2V5ZnJhbWVzIGVtYWlsLXNwaW4tMDk4OWQ3OTh7dG97dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX1AbWVkaWEgKG1heC13aWR0aDo4NjBweCl7LmVtYWlsLW1ldGFbZGF0YS12LTA5ODlkNzk4XSwuZW1haWwtYm9keVtkYXRhLXYtMDk4OWQ3OThde2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9LmVtYWlsLWJvZHlbZGF0YS12LTA5ODlkNzk4XXtncmlkLXRlbXBsYXRlLXJvd3M6YXV0byBtaW5tYXgoMCwxZnIpfS5lbWFpbC1zaWRlYmFyW2RhdGEtdi0wOTg5ZDc5OF17Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgyMywzMiw1MSwuMDgpO2JvcmRlci1yaWdodDowfX0uZW1haWwtYXR0YWNobWVudC1yZW5kZXJ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTttaW4taGVpZ2h0OjMyMHB4fS5lZGEtdmlld2VyW2RhdGEtdi05ZWI5YjkyN117Y29sb3I6IzE3MjAzMztiYWNrZ3JvdW5kOiNlZGYxZjU7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2hlaWdodDoxMDAlO21pbi1oZWlnaHQ6MDtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmV9LmVkYS1oZWFkZXJbZGF0YS12LTllYjliOTI3XXtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgyMywzMiw1MSwuMDgpO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MThweDttaW4taGVpZ2h0Ojg0cHg7cGFkZGluZzoxOHB4IDE3NnB4IDE4cHggMjJweDtkaXNwbGF5OmZsZXh9LmVkYS1oZWFkZXIgc3BhbltkYXRhLXYtOWViOWI5MjddLC5lZGEtcGFuZWwtaGVhZCBzcGFuW2RhdGEtdi05ZWI5YjkyN117Y29sb3I6IzBiNzQ4MDtsZXR0ZXItc3BhY2luZzowO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjkwMH0uZWRhLWhlYWRlciBoMltkYXRhLXYtOWViOWI5Mjdde21hcmdpbjo0cHggMCAwO2ZvbnQtc2l6ZToyMnB4O2xpbmUtaGVpZ2h0OjEuMn0uZWRhLWhlYWRlciBkbFtkYXRhLXYtOWViOWI5Mjdde2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCxtaW5tYXgoNzBweCxhdXRvKSk7Z2FwOjEwcHg7bWFyZ2luOjA7ZGlzcGxheTpncmlkfS5lZGEtaGVhZGVyIGR0W2RhdGEtdi05ZWI5YjkyN10sLmVkYS1oZWFkZXIgZGRbZGF0YS12LTllYjliOTI3XSwuZWRhLWVudGl0eS1ncm91cCBkbFtkYXRhLXYtOWViOWI5MjddLC5lZGEtZW50aXR5LWdyb3VwIGR0W2RhdGEtdi05ZWI5YjkyN10sLmVkYS1lbnRpdHktZ3JvdXAgZGRbZGF0YS12LTllYjliOTI3XXttYXJnaW46MH0uZWRhLWhlYWRlciBkdFtkYXRhLXYtOWViOWI5Mjdde2NvbG9yOiM3MTgwOTY7Zm9udC1zaXplOjEycHh9LmVkYS1oZWFkZXIgZGRbZGF0YS12LTllYjliOTI3XXtjb2xvcjojMTcyMDMzO2ZvbnQtd2VpZ2h0OjkwMH0uZWRhLWJvZHlbZGF0YS12LTllYjliOTI3XXtmbGV4OjE7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgzMDBweCwzMiUpIG1pbm1heCgwLDFmcik7bWluLWhlaWdodDowO2Rpc3BsYXk6Z3JpZH0uZWRhLXNpZGViYXJbZGF0YS12LTllYjliOTI3XXtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjc0KTtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMjMsMzIsNTEsLjA4KTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEycHg7bWluLWhlaWdodDowO3BhZGRpbmc6MTZweDtkaXNwbGF5OmZsZXh9LmVkYS1zdW1tYXJ5W2RhdGEtdi05ZWI5YjkyN10sLmVkYS13YXJuaW5nW2RhdGEtdi05ZWI5YjkyN10sLmVkYS1wYW5lbFtkYXRhLXYtOWViOWI5MjddLC5lZGEtZXJyb3JbZGF0YS12LTllYjliOTI3XXtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJhZGl1czoxNHB4O2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4IHJnYmEoMjMsMzIsNTEsLjA2KX0uZWRhLXN1bW1hcnlbZGF0YS12LTllYjliOTI3XSwuZWRhLXdhcm5pbmdbZGF0YS12LTllYjliOTI3XXtwYWRkaW5nOjEycHh9LmVkYS1zdW1tYXJ5IHN0cm9uZ1tkYXRhLXYtOWViOWI5Mjdde2NvbG9yOiMxNzIwMzM7ZGlzcGxheTpibG9ja30uZWRhLXN1bW1hcnkgcFtkYXRhLXYtOWViOWI5MjddLC5lZGEtd2FybmluZyBwW2RhdGEtdi05ZWI5YjkyN10sLmVkYS1lbXB0eSBwW2RhdGEtdi05ZWI5YjkyN10sLmVkYS1lbnRpdHktZ3JvdXAgcFtkYXRhLXYtOWViOWI5Mjdde2NvbG9yOiM2NDc0OGI7bWFyZ2luOjZweCAwIDA7bGluZS1oZWlnaHQ6MS41NX0uZWRhLW1pbmktZ3JpZFtkYXRhLXYtOWViOWI5MjddLC5lZGEtc3RhdC1ncmlkW2RhdGEtdi05ZWI5YjkyN117Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg0LG1pbm1heCgwLDFmcikpO2dhcDo4cHg7ZGlzcGxheTpncmlkfS5lZGEtbWluaS1ncmlkIGRpdltkYXRhLXYtOWViOWI5MjddLC5lZGEtc3RhdC1ncmlkIGRpdltkYXRhLXYtOWViOWI5Mjdde2JhY2tncm91bmQ6I2ZmZjtib3JkZXItcmFkaXVzOjEycHg7bWluLXdpZHRoOjA7cGFkZGluZzoxMHB4O2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4IHJnYmEoMjMsMzIsNTEsLjA2KX0uZWRhLW1pbmktZ3JpZCBzcGFuW2RhdGEtdi05ZWI5YjkyN10sLmVkYS1zdGF0LWdyaWQgc3BhbltkYXRhLXYtOWViOWI5Mjdde2NvbG9yOiM3MTgwOTY7Zm9udC1zaXplOjEycHg7ZGlzcGxheTpibG9ja30uZWRhLW1pbmktZ3JpZCBzdHJvbmdbZGF0YS12LTllYjliOTI3XSwuZWRhLXN0YXQtZ3JpZCBzdHJvbmdbZGF0YS12LTllYjliOTI3XXtjb2xvcjojMTcyMDMzO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO21hcmdpbi10b3A6NHB4O2ZvbnQtc2l6ZToxOHB4O2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVufS5lZGEtd2FybmluZ1tkYXRhLXYtOWViOWI5Mjdde2NvbG9yOiM4YTRiMDA7YmFja2dyb3VuZDojZmZmN2U4fS5lZGEtc2VhcmNoW2RhdGEtdi05ZWI5YjkyN117aGVpZ2h0OjQycHg7Zm9udDppbmhlcml0O2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjMsMzIsNTEsLjEpO2JvcmRlci1yYWRpdXM6MTJweDtvdXRsaW5lOm5vbmU7cGFkZGluZzowIDEycHh9LmVkYS1zdHJlYW0tbGlzdFtkYXRhLXYtOWViOWI5Mjdde2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4OjE7Z2FwOjhweDttaW4taGVpZ2h0OjA7ZGlzcGxheTpmbGV4O292ZXJmbG93OmF1dG99LmVkYS1zdHJlYW1bZGF0YS12LTllYjliOTI3XXttaW4taGVpZ2h0Ojc4cHg7Y29sb3I6aW5oZXJpdDtmb250OmluaGVyaXQ7dGV4dC1hbGlnbjpsZWZ0O2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjMsMzIsNTEsLjA4KTtib3JkZXItcmFkaXVzOjEzcHg7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjc0cHggbWlubWF4KDAsMWZyKTthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweCAxMHB4O3BhZGRpbmc6MTBweDtkaXNwbGF5OmdyaWR9LmVkYS1zdHJlYW1bZGF0YS12LTllYjliOTI3XTpob3ZlciwuZWRhLXN0cmVhbS5hY3RpdmVbZGF0YS12LTllYjliOTI3XSwuZWRhLXRyZWUgYnV0dG9uW2RhdGEtdi05ZWI5YjkyN106aG92ZXIsLmVkYS10cmVlIGJ1dHRvbi5hY3RpdmVbZGF0YS12LTllYjliOTI3XSwuZWRhLWVudGl0eS1ncm91cCBidXR0b25bZGF0YS12LTllYjliOTI3XTpob3Zlcntib3JkZXItY29sb3I6cmdiYSgxMSwxMTYsMTI4LC4zKTtib3gtc2hhZG93OjAgMTBweCAyMnB4IHJnYmEoMjMsMzIsNTEsLjA4KX0uZWRhLXN0cmVhbSBzcGFuW2RhdGEtdi05ZWI5YjkyN117Y29sb3I6IzBiNzQ4MDtiYWNrZ3JvdW5kOnJnYmEoMTEsMTE2LDEyOCwuMTIpO2JvcmRlci1yYWRpdXM6MTBweDtncmlkLXJvdzpzcGFuIDM7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWluLWhlaWdodDo0MHB4O3BhZGRpbmc6MCA4cHg7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6OTAwO2Rpc3BsYXk6aW5saW5lLWZsZXh9LmVkYS1zdHJlYW0gc3BhbltkYXRhLXJvbGU9c3ltYm9sXVtkYXRhLXYtOWViOWI5Mjdde2NvbG9yOiMxZDdhNTI7YmFja2dyb3VuZDpyZ2JhKDM0LDEzNCw5MCwuMTQpfS5lZGEtc3RyZWFtIHNwYW5bZGF0YS1yb2xlPWZvb3RwcmludF1bZGF0YS12LTllYjliOTI3XSwuZWRhLXN0cmVhbSBzcGFuW2RhdGEtcm9sZT1wYWRzdGFja11bZGF0YS12LTllYjliOTI3XXtjb2xvcjojNWM0N2E1O2JhY2tncm91bmQ6cmdiYSgxMTEsODcsMTkwLC4xNCl9LmVkYS1zdHJlYW0gc3Ryb25nW2RhdGEtdi05ZWI5YjkyN10sLmVkYS1zdHJlYW0gZW1bZGF0YS12LTllYjliOTI3XSwuZWRhLXRyZWUgc3Ryb25nW2RhdGEtdi05ZWI5YjkyN10sLmVkYS10cmVlIGVtW2RhdGEtdi05ZWI5YjkyN10sLmVkYS10cmVlIHNtYWxsW2RhdGEtdi05ZWI5YjkyN10sLmVkYS1lbnRpdHktZ3JvdXAgc3Ryb25nW2RhdGEtdi05ZWI5YjkyN10sLmVkYS1lbnRpdHktZ3JvdXAgc3BhbltkYXRhLXYtOWViOWI5MjddLC5lZGEtZW50aXR5LWdyb3VwIGRkW2RhdGEtdi05ZWI5YjkyN117dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVufS5lZGEtc3RyZWFtIGVtW2RhdGEtdi05ZWI5YjkyN10sLmVkYS1zdHJlYW0gc21hbGxbZGF0YS12LTllYjliOTI3XXtjb2xvcjojNzE4MDk2O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtc3R5bGU6bm9ybWFsfS5lZGEtcHJldmlld1tkYXRhLXYtOWViOWI5Mjdde2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTRweDttaW4td2lkdGg6MDttaW4taGVpZ2h0OjA7cGFkZGluZzoxNnB4O2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzphdXRvfS5lZGEtcGFuZWxbZGF0YS12LTllYjliOTI3XXttaW4taGVpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVufS5lZGEtcGFuZWwtaGVhZFtkYXRhLXYtOWViOWI5Mjdde2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMjMsMzIsNTEsLjA4KTttaW4taGVpZ2h0OjU0cHg7cGFkZGluZzoxMnB4IDE0cHh9LmVkYS1wYW5lbC1oZWFkIHN0cm9uZ1tkYXRhLXYtOWViOWI5Mjdde3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO21hcmdpbi10b3A6NHB4O2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVufS5lZGEtcGFuZWwtLWNvbXBhY3QgLmVkYS1wYW5lbC1oZWFkW2RhdGEtdi05ZWI5YjkyN117bWluLWhlaWdodDphdXRvfS5lZGEtc3RhdC1ncmlkW2RhdGEtdi05ZWI5YjkyN117cGFkZGluZzoxNHB4fS5lZGEtc3RhdC1ncmlkIGRpdltkYXRhLXYtOWViOWI5Mjdde2JhY2tncm91bmQ6I2Y2ZjlmYn0uZWRhLXRvcG9sb2d5W2RhdGEtdi05ZWI5YjkyN10sLmVkYS1ib3R0b21bZGF0YS12LTllYjliOTI3XXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6bWlubWF4KDAsLjkyZnIpIG1pbm1heCgwLDEuMDhmcik7Z2FwOjE0cHg7bWluLWhlaWdodDozMDBweDtkaXNwbGF5OmdyaWR9LmVkYS10b3BvbG9neT4uZWRhLXBhbmVsW2RhdGEtdi05ZWI5YjkyN117ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi1oZWlnaHQ6MzYwcHg7bWF4LWhlaWdodDptaW4oNTh2aCw2MjBweCk7ZGlzcGxheTpmbGV4fS5lZGEtdHJlZVtkYXRhLXYtOWViOWI5MjddLC5lZGEtZW50aXRpZXNbZGF0YS12LTllYjliOTI3XSwuZWRhLWRpYWdub3N0aWNzW2RhdGEtdi05ZWI5YjkyN10sLmVkYS1zdHJpbmctZ3JpZFtkYXRhLXYtOWViOWI5Mjdde292ZXJzY3JvbGwtYmVoYXZpb3I6Y29udGFpbjttaW4taGVpZ2h0OjA7bWF4LWhlaWdodDozODBweDtvdmVyZmxvdzphdXRvfS5lZGEtdHJlZVtkYXRhLXYtOWViOWI5Mjdde2ZsZXg6MTttYXgtaGVpZ2h0Om5vbmU7cGFkZGluZzoxMHB4fS5lZGEtZW50aXRpZXNbZGF0YS12LTllYjliOTI3XXtmbGV4OjE7bWF4LWhlaWdodDpub25lfS5lZGEtdHJlZSBidXR0b25bZGF0YS12LTllYjliOTI3XXt3aWR0aDoxMDAlO21pbi1oZWlnaHQ6NDJweDtjb2xvcjppbmhlcml0O2ZvbnQ6aW5oZXJpdDt0ZXh0LWFsaWduOmxlZnQ7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDojZjhmYWZjO2JvcmRlcjoxcHggc29saWQgcmdiYSgyMywzMiw1MSwuMDYpO2JvcmRlci1yYWRpdXM6MTBweDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6bWlubWF4KDIycHgsYXV0bykgbWlubWF4KDAsMWZyKSBtaW5tYXgoNzJweCxhdXRvKSBtaW5tYXgoNzJweCxhdXRvKTthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDttYXJnaW4tYm90dG9tOjZweDtwYWRkaW5nOjhweDtkaXNwbGF5OmdyaWR9LmVkYS10cmVlIHNwYW5bZGF0YS12LTllYjliOTI3XXtjb2xvcjojMGI3NDgwO2ZvbnQtd2VpZ2h0OjkwMH0uZWRhLXRyZWUgZW1bZGF0YS12LTllYjliOTI3XSwuZWRhLXRyZWUgc21hbGxbZGF0YS12LTllYjliOTI3XXtjb2xvcjojNzE4MDk2O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtc3R5bGU6bm9ybWFsfS5lZGEtZW50aXRpZXNbZGF0YS12LTllYjliOTI3XXtwYWRkaW5nOjEycHh9LmVkYS1lbnRpdHktZ3JvdXArLmVkYS1lbnRpdHktZ3JvdXBbZGF0YS12LTllYjliOTI3XXttYXJnaW4tdG9wOjE2cHh9LmVkYS1lbnRpdHktZ3JvdXAgaDNbZGF0YS12LTllYjliOTI3XXtjb2xvcjojMTcyMDMzO21hcmdpbjowIDAgOHB4O2ZvbnQtc2l6ZToxNHB4fS5lZGEtZW50aXR5LWdyb3VwIGJ1dHRvbltkYXRhLXYtOWViOWI5Mjdde3dpZHRoOjEwMCU7Y29sb3I6aW5oZXJpdDtmb250OmluaGVyaXQ7dGV4dC1hbGlnbjpsZWZ0O2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQ6I2Y4ZmFmYztib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjMsMzIsNTEsLjA4KTtib3JkZXItcmFkaXVzOjEycHg7bWFyZ2luLWJvdHRvbTo4cHg7cGFkZGluZzoxMnB4O2Rpc3BsYXk6YmxvY2t9LmVkYS1lbnRpdHktZ3JvdXAgYnV0dG9uPnNwYW5bZGF0YS12LTllYjliOTI3XXtjb2xvcjojNzE4MDk2O21hcmdpbi10b3A6NHB4O2ZvbnQtc2l6ZToxMnB4O2Rpc3BsYXk6YmxvY2t9LmVkYS1lbnRpdHktZ3JvdXAgZGxbZGF0YS12LTllYjliOTI3XXtnYXA6NnB4O21hcmdpbi10b3A6MTBweDtkaXNwbGF5OmdyaWR9LmVkYS1lbnRpdHktZ3JvdXAgZGwgZGl2W2RhdGEtdi05ZWI5YjkyN117Y29sb3I6IzQ3NTU2OTtncmlkLXRlbXBsYXRlLWNvbHVtbnM6OTBweCBtaW5tYXgoMCwxZnIpO2dhcDo4cHg7bWluLXdpZHRoOjA7Zm9udC1zaXplOjEycHg7ZGlzcGxheTpncmlkfS5lZGEtZW50aXR5LWdyb3VwIGR0W2RhdGEtdi05ZWI5YjkyN117Y29sb3I6IzcxODA5Njtmb250LXdlaWdodDo4MDB9LmVkYS1zZWxlY3RlZC1tZXRhW2RhdGEtdi05ZWI5YjkyN10sLmVkYS1wcm9wZXJ0eS1ncmlkW2RhdGEtdi05ZWI5YjkyN10sLmVkYS1sb2NhbC1zdHJpbmdzW2RhdGEtdi05ZWI5YjkyN117ZmxleC13cmFwOndyYXA7Z2FwOjhweDtwYWRkaW5nOjEycHggMTRweCAwO2Rpc3BsYXk6ZmxleH0uZWRhLXNlbGVjdGVkLW1ldGEgc3BhbltkYXRhLXYtOWViOWI5MjddLC5lZGEtcHJvcGVydHktZ3JpZCBkaXZbZGF0YS12LTllYjliOTI3XSwuZWRhLWxvY2FsLXN0cmluZ3Mgc3BhbltkYXRhLXYtOWViOWI5Mjdde2NvbG9yOiMwYjc0ODA7YmFja2dyb3VuZDojZWVmNmY3O2JvcmRlci1yYWRpdXM6OTk5cHg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7bWluLXdpZHRoOjA7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6ODAwO2Rpc3BsYXk6aW5saW5lLWZsZXh9LmVkYS1zZWxlY3RlZC1tZXRhIHNwYW5bZGF0YS12LTllYjliOTI3XSwuZWRhLWxvY2FsLXN0cmluZ3Mgc3BhbltkYXRhLXYtOWViOWI5Mjdde3BhZGRpbmc6NnB4IDEwcHh9LmVkYS1wcm9wZXJ0eS1ncmlkIGRpdltkYXRhLXYtOWViOWI5Mjdde21heC13aWR0aDoxMDAlO3BhZGRpbmc6NnB4IDEwcHh9LmVkYS1wcm9wZXJ0eS1ncmlkIHNwYW5bZGF0YS12LTllYjliOTI3XXtjb2xvcjojNjQ3NDhiO2ZvbnQtd2VpZ2h0OjcwMH0uZWRhLXByb3BlcnR5LWdyaWQgc3Ryb25nW2RhdGEtdi05ZWI5YjkyN117dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVufS5lZGEtcGFuZWwgcHJlW2RhdGEtdi05ZWI5YjkyN117Y29sb3I6I2Q5ZTdmZjt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7YmFja2dyb3VuZDojMTAxNzI1O2JvcmRlci10b3A6MXB4IHNvbGlkIHJnYmEoMjMsMzIsNTEsLjA4KTttaW4taGVpZ2h0OjIyMHB4O21heC1oZWlnaHQ6NDQwcHg7bWFyZ2luOjEycHggMCAwO3BhZGRpbmc6MTZweDtmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDoxLjY7b3ZlcmZsb3c6YXV0b30uZWRhLWVtcHR5W2RhdGEtdi05ZWI5YjkyN117dGV4dC1hbGlnbjpjZW50ZXI7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21pbi1oZWlnaHQ6MTgwcHg7cGFkZGluZzoyNHB4O2Rpc3BsYXk6ZmxleH0uZWRhLXN0cmluZy1ncmlkW2RhdGEtdi05ZWI5YjkyN117Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdChhdXRvLWZpbGwsbWlubWF4KDE4MHB4LDFmcikpO2FsaWduLWNvbnRlbnQ6c3RhcnQ7Z2FwOjhweDtwYWRkaW5nOjE0cHg7ZGlzcGxheTpncmlkfS5lZGEtc3RyaW5nLWdyaWQgc3BhbltkYXRhLXYtOWViOWI5Mjdde2NvbG9yOiMzMzQxNTU7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7YmFja2dyb3VuZDojZjZmOWZiO2JvcmRlci1yYWRpdXM6MTBweDttaW4td2lkdGg6MDtwYWRkaW5nOjhweCAxMHB4O2ZvbnQtc2l6ZToxMnB4O292ZXJmbG93OmhpZGRlbn0uZWRhLWRpYWdub3N0aWNzW2RhdGEtdi05ZWI5YjkyN117cGFkZGluZzoxNHB4fS5lZGEtZGlhZ25vc3RpY3MgcFtkYXRhLXYtOWViOWI5Mjdde2NvbG9yOiM0NzU1Njk7YmFja2dyb3VuZDojZjZmOWZiO2JvcmRlci1yYWRpdXM6MTBweDttYXJnaW46MCAwIDhweDtwYWRkaW5nOjEwcHg7bGluZS1oZWlnaHQ6MS41fS5lZGEtZGlhZ25vc3RpY3MgcFtkYXRhLWxldmVsPXdhcm5pbmddW2RhdGEtdi05ZWI5YjkyN117Y29sb3I6IzhhNGIwMDtiYWNrZ3JvdW5kOiNmZmY3ZTh9LmVkYS1kaWFnbm9zdGljcyBzcGFuW2RhdGEtdi05ZWI5YjkyN117Y29sb3I6IzBiNzQ4MDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bWFyZ2luLXJpZ2h0OjhweDtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo5MDA7ZGlzcGxheTppbmxpbmUtZmxleH0uZWRhLWxvY2FsLXN0cmluZ3NbZGF0YS12LTllYjliOTI3XXtwYWRkaW5nLWJvdHRvbToxNHB4fS5lZGEtbG9jYWwtc3RyaW5ncyBzdHJvbmdbZGF0YS12LTllYjliOTI3XXtjb2xvcjojMTcyMDMzO3dpZHRoOjEwMCU7Zm9udC1zaXplOjEzcHh9LmVkYS1zdGF0ZVtkYXRhLXYtOWViOWI5Mjdde2JhY2tncm91bmQ6cmdiYSgyMzcsMjQxLDI0NSwuOSk7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEycHg7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowfS5lZGEtc3RhdGUgc3BhbltkYXRhLXYtOWViOWI5Mjdde2JvcmRlcjozcHggc29saWQgcmdiYSgxMSwxMTYsMTI4LC4xNik7Ym9yZGVyLXRvcC1jb2xvcjojMGI3NDgwO2JvcmRlci1yYWRpdXM6OTk5cHg7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDthbmltYXRpb246LjlzIGxpbmVhciBpbmZpbml0ZSBlZGEtc3Bpbi05ZWI5YjkyN30uZWRhLWVycm9yW2RhdGEtdi05ZWI5YjkyN117Y29sb3I6IzhhNGIwMDtiYWNrZ3JvdW5kOiNmZmY3ZTg7d2lkdGg6bWluKDQ0MHB4LDEwMCUgLSAzNnB4KTtwYWRkaW5nOjE0cHg7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjE4cHg7cmlnaHQ6MThweH1Aa2V5ZnJhbWVzIGVkYS1zcGluLTllYjliOTI3e3Rve3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19QG1lZGlhIChtYXgtd2lkdGg6OTgwcHgpey5lZGEtaGVhZGVyW2RhdGEtdi05ZWI5YjkyN10sLmVkYS1ib2R5W2RhdGEtdi05ZWI5YjkyN10sLmVkYS10b3BvbG9neVtkYXRhLXYtOWViOWI5MjddLC5lZGEtYm90dG9tW2RhdGEtdi05ZWI5YjkyN117Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcn0uZWRhLWhlYWRlcltkYXRhLXYtOWViOWI5Mjdde2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O3BhZGRpbmctcmlnaHQ6MjJweH0uZWRhLWJvZHlbZGF0YS12LTllYjliOTI3XXtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZGlzcGxheTpmbGV4fS5lZGEtc2lkZWJhcltkYXRhLXYtOWViOWI5Mjdde2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMjMsMzIsNTEsLjA4KTtib3JkZXItcmlnaHQ6MDttYXgtaGVpZ2h0OjQydmh9fUBtZWRpYSAobWF4LXdpZHRoOjY0MHB4KXsuZWRhLWhlYWRlciBkbFtkYXRhLXYtOWViOWI5MjddLC5lZGEtbWluaS1ncmlkW2RhdGEtdi05ZWI5YjkyN10sLmVkYS1zdGF0LWdyaWRbZGF0YS12LTllYjliOTI3XXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsbWlubWF4KDAsMWZyKSl9LmVkYS10cmVlIGJ1dHRvbltkYXRhLXYtOWViOWI5Mjdde2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMjJweCxhdXRvKSBtaW5tYXgoMCwxZnIpfS5lZGEtdHJlZSBlbVtkYXRhLXYtOWViOWI5MjddLC5lZGEtdHJlZSBzbWFsbFtkYXRhLXYtOWViOWI5Mjdde2Rpc3BsYXk6bm9uZX19LmR3ZnYtcm9vdHtjb2xvcjojMTExODI3O2dyaWQtdGVtcGxhdGUtcm93czphdXRvIDFmcjtoZWlnaHQ6MTAwJTttaW4taGVpZ2h0OjA7Zm9udC1mYW1pbHk6c3lzdGVtLXVpLC1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFNlZ29lIFVJLFJvYm90byxOb3RvIFNhbnMsVWJ1bnR1LENhbnRhcmVsbCxIZWx2ZXRpY2EgTmV1ZSxzYW5zLXNlcmlmO2Rpc3BsYXk6Z3JpZH0uZHdmdi10b29sYmFye2JhY2tncm91bmQ6I2ZmZjtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZTVlN2ViO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O3BhZGRpbmc6OHB4IDEycHg7ZGlzcGxheTpmbGV4fS5kd2Z2LXRvb2xiYXIgYnV0dG9uLC5kd2Z2LXRvb2xiYXIgc2VsZWN0e2ZvbnQ6aW5oZXJpdH0uZHdmdi13b3Jrc3BhY2V7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgyMjBweCwzMDBweCkgMWZyO21pbi1oZWlnaHQ6MDtkaXNwbGF5OmdyaWR9LmR3ZnYtdHJlZXtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZDZkOGRkO3BhZGRpbmc6OHB4O2ZvbnQtc2l6ZToxMnB4O292ZXJmbG93OmF1dG99LmR3ZnYtdHJlZVtzdHlsZSo9ImRpc3BsYXk6IG5vbmUiXSsuZHdmdi1zdGFnZXtncmlkLWNvbHVtbjoxLy0xfS5kd2Z2LXRyZWUtaGVhZGVye21hcmdpbi1ib3R0b206NHB4O2ZvbnQtd2VpZ2h0OjcwMH0uZHdmdi10cmVlLXN0YXRze2NvbG9yOiM2YjcyODA7bWFyZ2luLWJvdHRvbTo4cHh9LmR3ZnYtdHJlZSBkZXRhaWxze21hcmdpbi1sZWZ0OjhweH0uZHdmdi10cmVlIHN1bW1hcnl7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzoycHggMH0uZHdmdi10cmVlLW1ldGF7Y29sb3I6IzZiNzI4MDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtwYWRkaW5nLWxlZnQ6MTRweDtmb250LWZhbWlseTp1aS1tb25vc3BhY2UsU0ZNb25vLVJlZ3VsYXIsTWVubG8sbW9ub3NwYWNlO2ZvbnQtc2l6ZToxMHB4O292ZXJmbG93OmhpZGRlbn0uZHdmdi1zdGFnZXtiYWNrZ3JvdW5kOiNlNWU3ZWI7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5kd2Z2LWNhbnZhc3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowfS5kd2Z2LXdlYmdsLWNhbnZhc3twb2ludGVyLWV2ZW50czpub25lfS5kd2Z2LW92ZXJsYXktY2FudmFze3BvaW50ZXItZXZlbnRzOmF1dG87dG91Y2gtYWN0aW9uOm5vbmU7Y3Vyc29yOmdyYWJ9LmR3ZnYtb3ZlcmxheS1jYW52YXM6YWN0aXZle2N1cnNvcjpncmFiYmluZ30uZHdmdi1zdGF0dXN7Y29sb3I6IzRiNTU2MzttYXJnaW4tbGVmdDphdXRvO2ZvbnQtc2l6ZToxMnB4fS5kd2Z2LXdhcm57Y29sb3I6IzkyNDAwZX0uY2FkLXZpZXdlci1jb250YWluZXJ7bWluLXdpZHRoOjA7bWluLWhlaWdodDowO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0uY2FkLXZpZXdlci1jYW52YXN7Y3Vyc29yOmdyYWI7dG91Y2gtYWN0aW9uOm5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9ja30uY2FkLXZpZXdlci1jYW52YXMuaXMtZHJhZ2dpbmd7Y3Vyc29yOmdyYWJiaW5nfS5jYWQtdmlld2VyLXdlYmdsLWNhbnZhc3t6LWluZGV4OjA7cG9zaXRpb246cmVsYXRpdmV9LmNhZC12aWV3ZXItdGV4dC1vdmVybGF5e2NvbnRhaW46c3RyaWN0Oy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtkaXNwbGF5OmJsb2NrfS5jYWQtdmlld2VyLW5hdGl2ZS1ob3N0e3otaW5kZXg6MjtiYWNrZ3JvdW5kOiMwNTA3MGQ7bWluLXdpZHRoOjA7bWluLWhlaWdodDowO2Rpc3BsYXk6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MH0uY2FkLXZpZXdlci1uYXRpdmUtaG9zdC5pcy1hY3RpdmV7ZGlzcGxheTpibG9ja30uY2FkLXZpZXdlci1uYXRpdmUtaG9zdCAuZHdmdi1yb290e2NvbG9yOiNkYmVhZmU7YmFja2dyb3VuZDojMDUwNzBkO2hlaWdodDoxMDAlO21pbi1oZWlnaHQ6MH0uY2FkLXZpZXdlci1uYXRpdmUtaG9zdCAuZHdmdi10b29sYmFye2NvbG9yOiNlNWU3ZWI7YmFja2dyb3VuZDpyZ2JhKDE1LDIzLDQyLC45Nik7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSg3MSw4NSwxMDUsLjY1KTtnYXA6NnB4O21pbi1oZWlnaHQ6MzRweDtwYWRkaW5nOjVweCA4cHh9LmNhZC12aWV3ZXItbmF0aXZlLWhvc3QgLmR3ZnYtdG9vbGJhciBidXR0b24sLmNhZC12aWV3ZXItbmF0aXZlLWhvc3QgLmR3ZnYtdG9vbGJhciBzZWxlY3R7Y29sb3I6I2U1ZTdlYjtiYWNrZ3JvdW5kOiMxMTE4Mjc7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDEwMCwxMTYsMTM5LC43NSk7Ym9yZGVyLXJhZGl1czo2cHg7aGVpZ2h0OjI0cHg7Zm9udC1zaXplOjEycHh9LmNhZC12aWV3ZXItbmF0aXZlLWhvc3QgLmR3ZnYtdG9vbGJhciBidXR0b257Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzowIDhweH0uY2FkLXZpZXdlci1uYXRpdmUtaG9zdCAuZHdmdi10b29sYmFyIGJ1dHRvbjpob3ZlciwuY2FkLXZpZXdlci1uYXRpdmUtaG9zdCAuZHdmdi10b29sYmFyIHNlbGVjdDpob3Zlcntjb2xvcjojYmZkYmZlO2JvcmRlci1jb2xvcjojNjBhNWZhfS5jYWQtdmlld2VyLW5hdGl2ZS1ob3N0IC5kd2Z2LXN0YXR1c3tjb2xvcjojOTNjNWZkO2ZvbnQtc2l6ZToxMnB4fS5jYWQtdmlld2VyLW5hdGl2ZS1ob3N0IC5kd2Z2LXdvcmtzcGFjZXtiYWNrZ3JvdW5kOiMwNTA3MGQ7bWluLWhlaWdodDowfS5jYWQtdmlld2VyLW5hdGl2ZS1ob3N0IC5kd2Z2LXN0YWdle2JhY2tncm91bmQ6IzA1MDcwZH0uY2FkLXZpZXdlci1uYXRpdmUtaG9zdCAuZHdmdi10cmVle2NvbG9yOiNkYmVhZmU7YmFja2dyb3VuZDojMGYxNzJhO2JvcmRlci1yaWdodDoxcHggc29saWQgcmdiYSg3MSw4NSwxMDUsLjcpfS5jYWQtdmlld2VyLW5hdGl2ZS1ob3N0IC5kd2Z2LXRyZWUtc3RhdHMsLmNhZC12aWV3ZXItbmF0aXZlLWhvc3QgLmR3ZnYtdHJlZS1tZXRhe2NvbG9yOiM5NGEzYjh9LmNhZC12aWV3ZXItbmF0aXZlLWhvc3QgLmR3ZnYtd2Fybntjb2xvcjojZmJiZjI0fS5jYWQtc2hlbGxbZGF0YS12LTc2OTMzMzJjXXtjb2xvcjojMTQyMzM1O2JhY2tncm91bmQ6I2Y1ZjdmYjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47aGVpZ2h0OjEwMCU7bWluLWhlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleH0uY2FkLXRvb2xiYXJbZGF0YS12LTc2OTMzMzJjXXtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgxNSwyMyw0MiwuMDgpO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTZweDttaW4taGVpZ2h0OjQ4cHg7cGFkZGluZzowIDE0cHg7ZGlzcGxheTpmbGV4fS5jYWQtdG9vbHNbZGF0YS12LTc2OTMzMzJjXSwuY2FkLW1ldGFbZGF0YS12LTc2OTMzMzJjXXthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtkaXNwbGF5OmZsZXh9LmNhZC10b29scyBidXR0b25bZGF0YS12LTc2OTMzMzJjXXtjb2xvcjojMjUzNDRjO2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQ6cmdiYSgxNSwyMyw0MiwuMDYpO2JvcmRlcjowO2JvcmRlci1yYWRpdXM6OHB4O21pbi13aWR0aDozNHB4O21pbi1oZWlnaHQ6MzBweDtmb250LXdlaWdodDo4MDA7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4xOHMsY29sb3IgLjE4c30uY2FkLXRvb2xzIGJ1dHRvbltkYXRhLXYtNzY5MzMzMmNdOmhvdmVye2NvbG9yOiMwZjhmNjI7YmFja2dyb3VuZDpyZ2JhKDMxLDE1MCwxMTAsLjE0KX0uY2FkLXpvb21bZGF0YS12LTc2OTMzMzJjXSwuY2FkLW1ldGEgc3BhbltkYXRhLXYtNzY5MzMzMmNde2NvbG9yOiM2NDc0OGI7bGV0dGVyLXNwYWNpbmc6MDtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo4MDB9LmNhZC1tZXRhIHNwYW5bZGF0YS12LTc2OTMzMzJjXXtiYWNrZ3JvdW5kOnJnYmEoMTUsMjMsNDIsLjA2KTtib3JkZXItcmFkaXVzOjk5OXB4O3BhZGRpbmc6NXB4IDlweH0uY2FkLWJvZHlbZGF0YS12LTc2OTMzMzJjXXtiYWNrZ3JvdW5kOiNlZWYyZjc7ZmxleDoxO2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMTY4cHgsMjIwcHgpIG1pbm1heCgwLDFmcikgbWlubWF4KDE1MHB4LDE5MHB4KTttaW4taGVpZ2h0OjA7ZGlzcGxheTpncmlkfS5jYWQtYm9keS53aXRob3V0LWxheWVyc1tkYXRhLXYtNzY5MzMzMmNde2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpIG1pbm1heCgxNTBweCwxOTBweCl9LmNhZC1sYXllcnNbZGF0YS12LTc2OTMzMzJjXSwuY2FkLWluc3BlY3RvcltkYXRhLXYtNzY5MzMzMmNde2JhY2tncm91bmQ6I2ZmZjtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMTUsMjMsNDIsLjA4KTttaW4taGVpZ2h0OjA7b3ZlcmZsb3c6YXV0b30uY2FkLWluc3BlY3RvcltkYXRhLXYtNzY5MzMzMmNde2JvcmRlci1sZWZ0OjFweCBzb2xpZCByZ2JhKDE1LDIzLDQyLC4wOCk7Ym9yZGVyLXJpZ2h0OjA7cGFkZGluZzoxNHB4fS5jYWQtbGF5ZXJzLWhlYWRbZGF0YS12LTc2OTMzMzJjXXtjb2xvcjojMWYyYTNkO3otaW5kZXg6MTtiYWNrZ3JvdW5kOiNmZmY7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6MTJweCAxMnB4IDhweDtmb250LXNpemU6MTNweDtkaXNwbGF5OmZsZXg7cG9zaXRpb246LXdlYmtpdC1zdGlja3k7cG9zaXRpb246c3RpY2t5O3RvcDowfS5jYWQtbGF5ZXJzLWhlYWQgc3BhbltkYXRhLXYtNzY5MzMzMmNde2NvbG9yOiM3YjhjYTU7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NzAwfS5jYWQtbGF5ZXJzIGJ1dHRvbltkYXRhLXYtNzY5MzMzMmNde2NvbG9yOiMyNTM0NGM7Y3Vyc29yOnBvaW50ZXI7dGV4dC1hbGlnbjpsZWZ0O2JhY2tncm91bmQ6I2Y4ZmFmYztib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTQ4LDE2MywxODQsLjIyKTtib3JkZXItcmFkaXVzOjhweDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDt3aWR0aDpjYWxjKDEwMCUgLSAxNnB4KTttaW4taGVpZ2h0OjM0cHg7bWFyZ2luOjAgOHB4IDZweDtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo3MDA7ZGlzcGxheTpmbGV4fS5jYWQtbGF5ZXJzIGJ1dHRvbi5tdXRlZFtkYXRhLXYtNzY5MzMzMmNde29wYWNpdHk6LjQ4fS5jYWQtbGF5ZXItY29sb3JbZGF0YS12LTc2OTMzMzJjXXtiYWNrZ3JvdW5kOiMxZjk2NmU7Ym9yZGVyLXJhZGl1czo1MCU7ZmxleDpub25lO3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHg7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggcmdiYSgxNSwyMyw0MiwuMTQpfS5jYWQtY2FudmFzLXdyYXBbZGF0YS12LTc2OTMzMzJjXXtiYWNrZ3JvdW5kLWNvbG9yOiNmOGZhZmM7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoOTBkZWcscmdiYSgxNSwyMyw0MiwuMDQpIDFweCx0cmFuc3BhcmVudCAxcHgpLGxpbmVhci1ncmFkaWVudChyZ2JhKDE1LDIzLDQyLC4wNCkgMXB4LHRyYW5zcGFyZW50IDFweCksbm9uZTtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMCwwIDAsMCAwO2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdCxyZXBlYXQscmVwZWF0O2JhY2tncm91bmQtc2l6ZToyOHB4IDI4cHg7YmFja2dyb3VuZC1hdHRhY2htZW50OnNjcm9sbCxzY3JvbGwsc2Nyb2xsO2JhY2tncm91bmQtb3JpZ2luOnBhZGRpbmctYm94LHBhZGRpbmctYm94LHBhZGRpbmctYm94O2JhY2tncm91bmQtY2xpcDpib3JkZXItYm94LGJvcmRlci1ib3gsYm9yZGVyLWJveDttaW4td2lkdGg6MDttaW4taGVpZ2h0OjA7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5jYWQtc3RhZ2VbZGF0YS12LTc2OTMzMzJjXXt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO21pbi1oZWlnaHQ6NDIwcHg7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5jYWQtc3RhZ2VbZGF0YS12LTc2OTMzMzJjXSBjYW52YXN7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt3aWR0aDoxMDAlIWltcG9ydGFudDtoZWlnaHQ6MTAwJSFpbXBvcnRhbnR9LmNhZC1uYXRpdmUtc3RhZ2VbZGF0YS12LTc2OTMzMzJjXXt6LWluZGV4OjI7ZGlzcGxheTpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO292ZXJmbG93OmhpZGRlbn0uY2FkLW5hdGl2ZS1zdGFnZVtkYXRhLXYtNzY5MzMzMmNdOm5vdCg6ZW1wdHkpe2Rpc3BsYXk6YmxvY2t9LmNhZC1uYXRpdmUtc3RhZ2VbZGF0YS12LTc2OTMzMzJjXSAqe2JveC1zaXppbmc6Ym9yZGVyLWJveH0uY2FkLW5hdGl2ZS1zdGFnZVtkYXRhLXYtNzY5MzMzMmNdIC5kd2Z2LXJvb3QsLmNhZC1uYXRpdmUtc3RhZ2VbZGF0YS12LTc2OTMzMzJjXSAuZHdmdi13b3Jrc3BhY2UsLmNhZC1uYXRpdmUtc3RhZ2VbZGF0YS12LTc2OTMzMzJjXSAuZHdmdi1zdGFnZXt3aWR0aDoxMDAlO21pbi13aWR0aDowO21pbi1oZWlnaHQ6MH0uY2FkLW5hdGl2ZS1zdGFnZVtkYXRhLXYtNzY5MzMzMmNdIC5kd2Z2LXJvb3R7aGVpZ2h0OjEwMCV9LmNhZC1zdGF0ZVtkYXRhLXYtNzY5MzMzMmNde2NvbG9yOiM1MzYzN2E7dGV4dC1hbGlnbjpjZW50ZXI7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC45Mik7Ym9yZGVyLXJhZGl1czoxMnB4O21heC13aWR0aDptaW4oNTIwcHgsMTAwJSAtIDQ4cHgpO3BhZGRpbmc6MTRweCAxOHB4O2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjgwMDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2JvdHRvbTphdXRvO2xlZnQ6NTAlO3JpZ2h0OmF1dG87dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO2JveC1zaGFkb3c6MCAxNHB4IDM4cHggcmdiYSgxNSwyMyw0MiwuMTIpfS5jYWQtc3RhdGUuZXJyb3JbZGF0YS12LTc2OTMzMzJjXXtjb2xvcjojYjQyMzE4fS5jYWQtaW5zcGVjdG9yIHN0cm9uZ1tkYXRhLXYtNzY5MzMzMmNde2NvbG9yOiMxZjJhM2Q7bWFyZ2luLWJvdHRvbToxMnB4O2ZvbnQtc2l6ZToxM3B4O2Rpc3BsYXk6YmxvY2t9LmNhZC1pbnNwZWN0b3IgZGxbZGF0YS12LTc2OTMzMzJjXXtnYXA6OHB4O21hcmdpbjowO2Rpc3BsYXk6Z3JpZH0uY2FkLWluc3BlY3RvciBkbCBkaXZbZGF0YS12LTc2OTMzMzJjXXtiYWNrZ3JvdW5kOiNmOGZhZmM7Ym9yZGVyLXJhZGl1czo4cHg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMnB4O3BhZGRpbmc6OHB4IDEwcHg7ZGlzcGxheTpmbGV4fS5jYWQtaW5zcGVjdG9yIGR0W2RhdGEtdi03NjkzMzMyY10sLmNhZC1pbnNwZWN0b3IgZGRbZGF0YS12LTc2OTMzMzJjXXttYXJnaW46MDtmb250LXNpemU6MTJweH0uY2FkLWluc3BlY3RvciBkdFtkYXRhLXYtNzY5MzMzMmNde2NvbG9yOiM3YjhjYTU7Zm9udC13ZWlnaHQ6NzAwfS5jYWQtaW5zcGVjdG9yIGRkW2RhdGEtdi03NjkzMzMyY117Y29sb3I6IzIwMzA0YTtmb250LXdlaWdodDo5MDB9LmNhZC13YXJuaW5nW2RhdGEtdi03NjkzMzMyY117Y29sb3I6IzkyNDAwZTtiYWNrZ3JvdW5kOnJnYmEoMjQ1LDE1OCwxMSwuMTMpO2JvcmRlci1yYWRpdXM6OHB4O21hcmdpbjoxMnB4IDAgMDtwYWRkaW5nOjEwcHg7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MS41NX1AbWVkaWEgKG1heC13aWR0aDo4NjBweCl7LmNhZC1ib2R5W2RhdGEtdi03NjkzMzMyY10sLmNhZC1ib2R5LndpdGhvdXQtbGF5ZXJzW2RhdGEtdi03NjkzMzMyY117Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgwLDFmcil9LmNhZC1sYXllcnNbZGF0YS12LTc2OTMzMzJjXSwuY2FkLWluc3BlY3RvcltkYXRhLXYtNzY5MzMzMmNde2Rpc3BsYXk6bm9uZX19Lm1vZGVsLXZpZXdlcltkYXRhLXYtOWQyZTIzZGZde2NvbG9yOiMxNjIzMzM7YmFja2dyb3VuZDojZjhmYWZjO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtoZWlnaHQ6MTAwJTttaW4taGVpZ2h0OjEwMCU7ZGlzcGxheTpmbGV4fS5tb2RlbC10b29sYmFyW2RhdGEtdi05ZDJlMjNkZl17YmFja2dyb3VuZDojZmZmO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMTUsMjMsNDIsLjA4KTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjE2cHg7bWluLWhlaWdodDo0OHB4O3BhZGRpbmc6MCAxMnB4O2Rpc3BsYXk6ZmxleH0ubW9kZWwtYWN0aW9uc1tkYXRhLXYtOWQyZTIzZGZde2ZsZXgtd3JhcDp3cmFwO2dhcDo2cHg7bWluLXdpZHRoOjA7ZGlzcGxheTpmbGV4fS5tb2RlbC1hY3Rpb25zIGJ1dHRvbltkYXRhLXYtOWQyZTIzZGZde2NvbG9yOiM0NzU1Njk7Y3Vyc29yOnBvaW50ZXI7bGV0dGVyLXNwYWNpbmc6MDtiYWNrZ3JvdW5kOnJnYmEoMTUsMjMsNDIsLjA2KTtib3JkZXI6MDtib3JkZXItcmFkaXVzOjhweDttaW4taGVpZ2h0OjMwcHg7cGFkZGluZzowIDEwcHg7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NzAwO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMThzLGNvbG9yIC4xOHN9Lm1vZGVsLWFjdGlvbnMgYnV0dG9uLmFjdGl2ZVtkYXRhLXYtOWQyZTIzZGZdLC5tb2RlbC1hY3Rpb25zIGJ1dHRvbltkYXRhLXYtOWQyZTIzZGZdOmhvdmVye2NvbG9yOiMxNjgwNGY7YmFja2dyb3VuZDpyZ2JhKDMzLDE2MywxMDIsLjE0KX0ubW9kZWwtbWV0YVtkYXRhLXYtOWQyZTIzZGZde2NvbG9yOiM2NDc0OGI7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O21pbi13aWR0aDowO2ZvbnQtc2l6ZToxMnB4O2Rpc3BsYXk6ZmxleH0ubW9kZWwtbWV0YSBzdHJvbmdbZGF0YS12LTlkMmUyM2RmXXtjb2xvcjojMGY3NjZlO2ZvbnQtd2VpZ2h0OjgwMH0ubW9kZWwtbWV0YSBzcGFuW2RhdGEtdi05ZDJlMjNkZl17dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVufS5tb2RlbC1zdGFnZVtkYXRhLXYtOWQyZTIzZGZde2ZsZXg6MTttaW4taGVpZ2h0OjA7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5tb2RlbC1zdGFnZSBjYW52YXNbZGF0YS12LTlkMmUyM2RmXXtvdXRsaW5lOm5vbmU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrfS5tb2RlbC1zdGF0ZVtkYXRhLXYtOWQyZTIzZGZde2NvbG9yOiM2NDc0OGI7dGV4dC1hbGlnbjpjZW50ZXI7YmFja2dyb3VuZDpyZ2JhKDI0OCwyNTAsMjUyLC44OCk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O3BhZGRpbmc6MjRweDtsaW5lLWhlaWdodDoxLjc7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowfS5tb2RlbC1zdGF0ZS5lcnJvcltkYXRhLXYtOWQyZTIzZGZde2NvbG9yOiNiNDIzMTh9Lm1vZGVsLXN0YXRlIHN0cm9uZ1tkYXRhLXYtOWQyZTIzZGZde2NvbG9yOiNiNDIzMTg7Zm9udC1zaXplOjE4cHh9QG1lZGlhIChtYXgtd2lkdGg6NzIwcHgpey5tb2RlbC10b29sYmFyW2RhdGEtdi05ZDJlMjNkZl17ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7Z2FwOjhweDttaW4taGVpZ2h0OjY0cHg7cGFkZGluZzo4cHggMTBweH0ubW9kZWwtbWV0YVtkYXRhLXYtOWQyZTIzZGZde2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O3dpZHRoOjEwMCV9fS5kcmF3aW5nLXZpZXdlcltkYXRhLXYtYmFlZmQ4MzNde2NvbG9yOiMxNzIwMzM7YmFja2dyb3VuZDojZWRmMmY3O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtoZWlnaHQ6MTAwJTttaW4taGVpZ2h0OjM2MHB4O2Rpc3BsYXk6ZmxleH0uZHJhd2luZy10b29sYmFyW2RhdGEtdi1iYWVmZDgzM117ei1pbmRleDoyOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTJweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTJweCk7YmFja2dyb3VuZDpyZ2JhKDI0OCwyNTAsMjUyLC45Mik7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgxNDgsMTYzLDE4NCwuMzUpO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTZweDttaW4taGVpZ2h0OjQ2cHg7cGFkZGluZzo4cHggMTRweDtkaXNwbGF5OmZsZXg7cG9zaXRpb246LXdlYmtpdC1zdGlja3k7cG9zaXRpb246c3RpY2t5O3RvcDowfS5kcmF3aW5nLXRpdGxlW2RhdGEtdi1iYWVmZDgzM117YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O21pbi13aWR0aDowO2Rpc3BsYXk6ZmxleH0uZHJhd2luZy10aXRsZSBzcGFuW2RhdGEtdi1iYWVmZDgzM117Y29sb3I6I2ZmZjtsZXR0ZXItc3BhY2luZzowO2JhY2tncm91bmQ6IzBmNzY2ZTtib3JkZXItcmFkaXVzOjZweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtoZWlnaHQ6MjRweDtwYWRkaW5nOjAgOHB4O2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjgwMDtkaXNwbGF5OmlubGluZS1mbGV4fS5kcmF3aW5nLXRpdGxlIHN0cm9uZ1tkYXRhLXYtYmFlZmQ4MzNde2NvbG9yOiMxNzIwMzM7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6ODAwO292ZXJmbG93OmhpZGRlbn0uZHJhd2luZy1hY3Rpb25zW2RhdGEtdi1iYWVmZDgzM117ZmxleC1zaHJpbms6MDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtkaXNwbGF5OmZsZXh9LmRyYXdpbmctYWN0aW9ucyBidXR0b25bZGF0YS12LWJhZWZkODMzXXtjb2xvcjojMGYxNzJhO2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTAwLDExNiwxMzksLjI4KTtib3JkZXItcmFkaXVzOjZweDttaW4td2lkdGg6MzJweDtoZWlnaHQ6MjhweDtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo4MDB9LmRyYXdpbmctYWN0aW9ucyBidXR0b25bZGF0YS12LWJhZWZkODMzXTpob3Zlcntjb2xvcjojMGY3NjZlO2JvcmRlci1jb2xvcjpyZ2JhKDE1LDExOCwxMTAsLjUpfS5kcmF3aW5nLWFjdGlvbnMgc3BhbltkYXRhLXYtYmFlZmQ4MzNde2NvbG9yOiM2NDc0OGI7dGV4dC1hbGlnbjpjZW50ZXI7bWluLXdpZHRoOjQ4cHg7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6ODAwfS5kcmF3aW5nLXN0YWdlW2RhdGEtdi1iYWVmZDgzM117ZmxleDoxO21pbi1oZWlnaHQ6MDtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW59LmRyYXdpbmctc2Nyb2xsW2RhdGEtdi1iYWVmZDgzM117aGVpZ2h0OjEwMCU7cGFkZGluZzoyMnB4O292ZXJmbG93OmF1dG99LmRyYXdpbmctY2FudmFzW2RhdGEtdi1iYWVmZDgzM117d2lkdGg6MTAwJTttaW4taGVpZ2h0OjQyMHB4O3RyYW5zaXRpb246dHJhbnNmb3JtIC4xOHMsem9vbSAuMThzfS5kcmF3aW5nLWNhbnZhc1tkYXRhLXYtYmFlZmQ4MzNdIC5kcmF3aW5nLXN2ZywuZHJhd2luZy1jYW52YXNbZGF0YS12LWJhZWZkODMzXSBzdmd7YmFja2dyb3VuZDojZmZmO2JvcmRlci1yYWRpdXM6MTBweDttYXgtd2lkdGg6MTAwJTtoZWlnaHQ6YXV0bzttYXJnaW46MCBhdXRvO2Rpc3BsYXk6YmxvY2s7Ym94LXNoYWRvdzowIDE4cHggNDJweCByZ2JhKDE1LDIzLDQyLC4xMil9LmRyYXdpbmctY2FudmFzW2RhdGEtdi1iYWVmZDgzM10gLmRyYXdpbmctbXhncmFwaHtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJhZGl1czoxMHB4O21pbi1oZWlnaHQ6NDIwcHg7b3ZlcmZsb3c6aGlkZGVuO2JveC1zaGFkb3c6MCAxOHB4IDQycHggcmdiYSgxNSwyMyw0MiwuMTIpfS5kcmF3aW5nLXN0YXRlW2RhdGEtdi1iYWVmZDgzM117ei1pbmRleDoxO2NvbG9yOiM2NDc0OGI7dGV4dC1hbGlnbjpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzoyNHB4O2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjcwMDtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjB9LmRyYXdpbmctc3RhdGUuZXJyb3JbZGF0YS12LWJhZWZkODMzXXtjb2xvcjojYjQyMzE4fUBtZWRpYSAobWF4LXdpZHRoOjcyMHB4KXsuZHJhd2luZy10b29sYmFyW2RhdGEtdi1iYWVmZDgzM117ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9LmRyYXdpbmctYWN0aW9uc1tkYXRhLXYtYmFlZmQ4MzNde2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3dpZHRoOjEwMCV9LmRyYXdpbmctc2Nyb2xsW2RhdGEtdi1iYWVmZDgzM117cGFkZGluZzoxMnB4fX0uZXB1Yi12aWV3ZXJbZGF0YS12LThmOGEyYjNiXXtjb2xvcjojMTcyMDMzO2JhY2tncm91bmQ6I2VlZjFmNDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmZsZXg7b3ZlcmZsb3c6aGlkZGVufS5lcHViLXRvb2xiYXJbZGF0YS12LThmOGEyYjNiXXtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjkyKTtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDE1LDIzLDQyLC4wOCk7ZmxleC1zaHJpbms6MDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6NDBweCBtaW5tYXgoMCwxZnIpIGF1dG87YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMnB4O3BhZGRpbmc6MTJweCAxNHB4O2Rpc3BsYXk6Z3JpZH0uZXB1Yi10aXRsZVtkYXRhLXYtOGY4YTJiM2Jde2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6M3B4O21pbi13aWR0aDowO2Rpc3BsYXk6ZmxleH0uZXB1Yi10aXRsZSBzdHJvbmdbZGF0YS12LThmOGEyYjNiXSwuZXB1Yi10aXRsZSBzcGFuW2RhdGEtdi04ZjhhMmIzYl17dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVufS5lcHViLXRpdGxlIHN0cm9uZ1tkYXRhLXYtOGY4YTJiM2Jde2ZvbnQtc2l6ZToxNHB4fS5lcHViLXRpdGxlIHNwYW5bZGF0YS12LThmOGEyYjNiXXtjb2xvcjojNjQ3NDhiO2ZvbnQtc2l6ZToxMnB4fS5lcHViLWljb24tYnV0dG9uW2RhdGEtdi04ZjhhMmIzYl0sLmVwdWItYnV0dG9uW2RhdGEtdi04ZjhhMmIzYl17Y29sb3I6IzE3MjAzMztoZWlnaHQ6MzZweDtmb250OmluaGVyaXQ7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgcmdiYSgxNSwyMyw0MiwuMDgpfS5lcHViLWljb24tYnV0dG9uW2RhdGEtdi04ZjhhMmIzYl17Ym9yZGVyLXJhZGl1czo4cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6NDBweDtkaXNwbGF5OmlubGluZS1mbGV4fS5lcHViLWljb24tYnV0dG9uIHNwYW5bZGF0YS12LThmOGEyYjNiXSwuZXB1Yi1pY29uLWJ1dHRvbiBzcGFuW2RhdGEtdi04ZjhhMmIzYl06YmVmb3JlLC5lcHViLWljb24tYnV0dG9uIHNwYW5bZGF0YS12LThmOGEyYjNiXTphZnRlcntiYWNrZ3JvdW5kOmN1cnJlbnRDb2xvcjtib3JkZXItcmFkaXVzOjk5OXB4O3dpZHRoOjE2cHg7aGVpZ2h0OjJweDtkaXNwbGF5OmJsb2NrfS5lcHViLWljb24tYnV0dG9uIHNwYW5bZGF0YS12LThmOGEyYjNiXXtwb3NpdGlvbjpyZWxhdGl2ZX0uZXB1Yi1pY29uLWJ1dHRvbiBzcGFuW2RhdGEtdi04ZjhhMmIzYl06YmVmb3JlLC5lcHViLWljb24tYnV0dG9uIHNwYW5bZGF0YS12LThmOGEyYjNiXTphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MH0uZXB1Yi1pY29uLWJ1dHRvbiBzcGFuW2RhdGEtdi04ZjhhMmIzYl06YmVmb3Jle3RvcDotNXB4fS5lcHViLWljb24tYnV0dG9uIHNwYW5bZGF0YS12LThmOGEyYjNiXTphZnRlcnt0b3A6NXB4fS5lcHViLWljb24tYnV0dG9uLmFjdGl2ZVtkYXRhLXYtOGY4YTJiM2Jde2NvbG9yOiMxZDRlZDg7YmFja2dyb3VuZDpyZ2JhKDM3LDk5LDIzNSwuMDgpO2JvcmRlci1jb2xvcjpyZ2JhKDM3LDk5LDIzNSwuMjQpfS5lcHViLWFjdGlvbnNbZGF0YS12LThmOGEyYjNiXXthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtkaXNwbGF5OmZsZXh9LmVwdWItYnV0dG9uW2RhdGEtdi04ZjhhMmIzYl17Ym9yZGVyLXJhZGl1czo4cHg7bWluLXdpZHRoOjY4cHg7cGFkZGluZzowIDEycHg7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NzAwfS5lcHViLWJ1dHRvbltkYXRhLXYtOGY4YTJiM2JdOmRpc2FibGVke2NvbG9yOiM5NGEzYjg7Y3Vyc29yOm5vdC1hbGxvd2VkfS5lcHViLXByb2dyZXNzW2RhdGEtdi04ZjhhMmIzYl17Y29sb3I6IzY0NzQ4Yjt0ZXh0LWFsaWduOmNlbnRlcjttaW4td2lkdGg6NThweDtmb250LXNpemU6MTJweH0uZXB1Yi1ib2R5W2RhdGEtdi04ZjhhMmIzYl17ZmxleDoxO2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMTgwcHgsMjQwcHgpIG1pbm1heCgwLDFmcik7bWluLWhlaWdodDowO2Rpc3BsYXk6Z3JpZH0uZXB1Yi12aWV3ZXItLXRvYy1oaWRkZW4gLmVwdWItYm9keVtkYXRhLXYtOGY4YTJiM2Jde2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpfS5lcHViLXRvY1tkYXRhLXYtOGY4YTJiM2Jde2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuOCk7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCByZ2JhKDE1LDIzLDQyLC4wOCk7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDowO21pbi1oZWlnaHQ6MDtkaXNwbGF5OmZsZXh9LmVwdWItdG9jLWhlYWRbZGF0YS12LThmOGEyYjNiXXtjb2xvcjojMTcyMDMzO2ZsZXgtc2hyaW5rOjA7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOjhweDtwYWRkaW5nOjEycHg7Zm9udC1zaXplOjEzcHg7ZGlzcGxheTpmbGV4fS5lcHViLXRvYy1oZWFkIHNwYW5bZGF0YS12LThmOGEyYjNiXXtjb2xvcjojNjQ3NDhifS5lcHViLXRvYy1saXN0W2RhdGEtdi04ZjhhMmIzYl17ZmxleDoxO21pbi1oZWlnaHQ6MDtwYWRkaW5nOjAgOHB4IDEwcHg7b3ZlcmZsb3c6YXV0b30uZXB1Yi10b2MtaXRlbVtkYXRhLXYtOGY4YTJiM2Jde2NvbG9yOiM0NzU1Njk7d2lkdGg6MTAwJTttaW4taGVpZ2h0OjM0cHg7Zm9udDppbmhlcml0O3RleHQtYWxpZ246bGVmdDtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kOjAgMDtib3JkZXI6MDtib3JkZXItcmFkaXVzOjhweDtmb250LXNpemU6MTJweH0uZXB1Yi10b2MtaXRlbVtkYXRhLXYtOGY4YTJiM2JdOmhvdmVyLC5lcHViLXRvYy1pdGVtLmFjdGl2ZVtkYXRhLXYtOGY4YTJiM2Jde2NvbG9yOiMxZDRlZDg7YmFja2dyb3VuZDpyZ2JhKDM3LDk5LDIzNSwuMDgpfS5lcHViLXN0YWdlLXdyYXBbZGF0YS12LThmOGEyYjNiXXttaW4td2lkdGg6MDttaW4taGVpZ2h0OjA7cGFkZGluZzoxOHB4O3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0uZXB1Yi1zdGFnZVtkYXRhLXYtOGY4YTJiM2Jde2JhY2tncm91bmQ6I2ZmZjtib3JkZXItcmFkaXVzOjhweDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO292ZXJmbG93LXg6aGlkZGVuO292ZXJmbG93LXk6YXV0bztib3gtc2hhZG93OjAgMThweCA0NXB4IHJnYmEoMTUsMjMsNDIsLjEyKSxpbnNldCAwIDAgMCAxcHggcmdiYSgxNSwyMyw0MiwuMDYpfS5lcHViLXN0YWdlW2RhdGEtdi04ZjhhMmIzYl0gLmVwdWItY29udGFpbmVye21heC13aWR0aDoxMDAlO3dpZHRoOjEwMCUhaW1wb3J0YW50O292ZXJmbG93LXg6aGlkZGVuIWltcG9ydGFudDtvdmVyZmxvdy15OmF1dG8haW1wb3J0YW50fS5lcHViLXN0YWdlW2RhdGEtdi04ZjhhMmIzYl0gaWZyYW1le21heC13aWR0aDoxMDAlfS5lcHViLXN0YXRlW2RhdGEtdi04ZjhhMmIzYl17Y29sb3I6IzY0NzQ4YjtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjkyKTtib3JkZXItcmFkaXVzOjhweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtmb250LXNpemU6MTRweDtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjE4cHg7Ym90dG9tOjE4cHg7bGVmdDoxOHB4O3JpZ2h0OjE4cHh9LmVwdWItc3RhdGUuZXJyb3JbZGF0YS12LThmOGEyYjNiXXtjb2xvcjojYjQyMzE4fUBtZWRpYSAobWF4LXdpZHRoOjcyMHB4KXsuZXB1Yi10b29sYmFyW2RhdGEtdi04ZjhhMmIzYl17Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjQwcHggbWlubWF4KDAsMWZyKX0uZXB1Yi1hY3Rpb25zW2RhdGEtdi04ZjhhMmIzYl17Z3JpZC1jb2x1bW46MS8tMTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0uZXB1Yi1ib2R5W2RhdGEtdi04ZjhhMmIzYl17Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgwLDFmcik7cG9zaXRpb246cmVsYXRpdmV9LmVwdWItdG9jW2RhdGEtdi04ZjhhMmIzYl17ei1pbmRleDo1O3dpZHRoOm1pbig4MnZ3LDI4MHB4KTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7Ym94LXNoYWRvdzoxOHB4IDAgNDBweCByZ2JhKDE1LDIzLDQyLC4xNil9LmVwdWItc3RhZ2Utd3JhcFtkYXRhLXYtOGY4YTJiM2Jde3BhZGRpbmc6MTJweH19LnVtZC12aWV3ZXJbZGF0YS12LTc5YjI0MmExXXtjb2xvcjojMTcyMDMzO2JhY2tncm91bmQ6I2VlZjFmNDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmZsZXg7b3ZlcmZsb3c6aGlkZGVufS51bWQtdG9vbGJhcltkYXRhLXYtNzliMjQyYTFde2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuOTQpO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMTUsMjMsNDIsLjA4KTtmbGV4LXNocmluazowO2dyaWQtdGVtcGxhdGUtY29sdW1uczo0MHB4IG1pbm1heCgwLDFmcikgYXV0bzthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEycHg7cGFkZGluZzoxMnB4IDE0cHg7ZGlzcGxheTpncmlkfS51bWQtdGl0bGVbZGF0YS12LTc5YjI0MmExXXtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjNweDttaW4td2lkdGg6MDtkaXNwbGF5OmZsZXh9LnVtZC10aXRsZSBzdHJvbmdbZGF0YS12LTc5YjI0MmExXSwudW1kLXRpdGxlIHNwYW5bZGF0YS12LTc5YjI0MmExXXt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW59LnVtZC10aXRsZSBzdHJvbmdbZGF0YS12LTc5YjI0MmExXXtmb250LXNpemU6MTRweH0udW1kLXRpdGxlIHNwYW5bZGF0YS12LTc5YjI0MmExXXtjb2xvcjojNjQ3NDhiO2ZvbnQtc2l6ZToxMnB4fS51bWQtaWNvbi1idXR0b25bZGF0YS12LTc5YjI0MmExXSwudW1kLWJ1dHRvbltkYXRhLXYtNzliMjQyYTFde2NvbG9yOiMxNzIwMzM7aGVpZ2h0OjM2cHg7Zm9udDppbmhlcml0O2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTUsMjMsNDIsLjA4KX0udW1kLWljb24tYnV0dG9uW2RhdGEtdi03OWIyNDJhMV17Ym9yZGVyLXJhZGl1czo4cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6NDBweDtkaXNwbGF5OmlubGluZS1mbGV4fS51bWQtaWNvbi1idXR0b24gc3BhbltkYXRhLXYtNzliMjQyYTFdLC51bWQtaWNvbi1idXR0b24gc3BhbltkYXRhLXYtNzliMjQyYTFdOmJlZm9yZSwudW1kLWljb24tYnV0dG9uIHNwYW5bZGF0YS12LTc5YjI0MmExXTphZnRlcntiYWNrZ3JvdW5kOmN1cnJlbnRDb2xvcjtib3JkZXItcmFkaXVzOjk5OXB4O3dpZHRoOjE2cHg7aGVpZ2h0OjJweDtkaXNwbGF5OmJsb2NrfS51bWQtaWNvbi1idXR0b24gc3BhbltkYXRhLXYtNzliMjQyYTFde3Bvc2l0aW9uOnJlbGF0aXZlfS51bWQtaWNvbi1idXR0b24gc3BhbltkYXRhLXYtNzliMjQyYTFdOmJlZm9yZSwudW1kLWljb24tYnV0dG9uIHNwYW5bZGF0YS12LTc5YjI0MmExXTphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MH0udW1kLWljb24tYnV0dG9uIHNwYW5bZGF0YS12LTc5YjI0MmExXTpiZWZvcmV7dG9wOi01cHh9LnVtZC1pY29uLWJ1dHRvbiBzcGFuW2RhdGEtdi03OWIyNDJhMV06YWZ0ZXJ7dG9wOjVweH0udW1kLWljb24tYnV0dG9uLmFjdGl2ZVtkYXRhLXYtNzliMjQyYTFde2NvbG9yOiMwMzY5YTE7YmFja2dyb3VuZDpyZ2JhKDIsMTMyLDE5OSwuMDgpO2JvcmRlci1jb2xvcjpyZ2JhKDIsMTMyLDE5OSwuMjQpfS51bWQtYWN0aW9uc1tkYXRhLXYtNzliMjQyYTFde2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O2Rpc3BsYXk6ZmxleH0udW1kLWJ1dHRvbltkYXRhLXYtNzliMjQyYTFde2JvcmRlci1yYWRpdXM6OHB4O21pbi13aWR0aDo2OHB4O3BhZGRpbmc6MCAxMnB4O2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjcwMH0udW1kLWJ1dHRvbltkYXRhLXYtNzliMjQyYTFdOmRpc2FibGVke2NvbG9yOiM5NGEzYjg7Y3Vyc29yOm5vdC1hbGxvd2VkfS51bWQtcHJvZ3Jlc3NbZGF0YS12LTc5YjI0MmExXXtjb2xvcjojNjQ3NDhiO3RleHQtYWxpZ246Y2VudGVyO21pbi13aWR0aDo1OHB4O2ZvbnQtc2l6ZToxMnB4fS51bWQtYm9keVtkYXRhLXYtNzliMjQyYTFde2ZsZXg6MTtncmlkLXRlbXBsYXRlLWNvbHVtbnM6bWlubWF4KDE4MHB4LDI0MHB4KSBtaW5tYXgoMCwxZnIpO21pbi1oZWlnaHQ6MDtkaXNwbGF5OmdyaWR9LnVtZC12aWV3ZXItLXRvYy1oaWRkZW4gLnVtZC1ib2R5W2RhdGEtdi03OWIyNDJhMV17Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgwLDFmcil9LnVtZC10b2NbZGF0YS12LTc5YjI0MmExXXtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjgyKTtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMTUsMjMsNDIsLjA4KTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjA7bWluLWhlaWdodDowO2Rpc3BsYXk6ZmxleH0udW1kLXRvYy1oZWFkW2RhdGEtdi03OWIyNDJhMV17Y29sb3I6IzE3MjAzMztmbGV4LXNocmluazowO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDo4cHg7cGFkZGluZzoxMnB4O2ZvbnQtc2l6ZToxM3B4O2Rpc3BsYXk6ZmxleH0udW1kLXRvYy1oZWFkIHNwYW5bZGF0YS12LTc5YjI0MmExXXtjb2xvcjojNjQ3NDhifS51bWQtdG9jLWxpc3RbZGF0YS12LTc5YjI0MmExXXtmbGV4OjE7bWluLWhlaWdodDowO3BhZGRpbmc6MCA4cHggMTBweDtvdmVyZmxvdzphdXRvfS51bWQtdG9jLWl0ZW1bZGF0YS12LTc5YjI0MmExXXtjb2xvcjojNDc1NTY5O3dpZHRoOjEwMCU7bWluLWhlaWdodDozNHB4O2ZvbnQ6aW5oZXJpdDt0ZXh0LWFsaWduOmxlZnQ7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDowIDA7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czo4cHg7cGFkZGluZzo3cHggMTBweDtmb250LXNpemU6MTJweH0udW1kLXRvYy1pdGVtW2RhdGEtdi03OWIyNDJhMV06aG92ZXIsLnVtZC10b2MtaXRlbS5hY3RpdmVbZGF0YS12LTc5YjI0MmExXXtjb2xvcjojMDM2OWExO2JhY2tncm91bmQ6cmdiYSgyLDEzMiwxOTksLjA4KX0udW1kLXN0YWdlLXdyYXBbZGF0YS12LTc5YjI0MmExXXttaW4td2lkdGg6MDttaW4taGVpZ2h0OjA7cGFkZGluZzoxOHB4O3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0udW1kLXN0YWdlW2RhdGEtdi03OWIyNDJhMV17YmFja2dyb3VuZDojZmZmZWY4O2JvcmRlci1yYWRpdXM6OHB4O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6YXV0bztib3gtc2hhZG93OjAgMThweCA0NXB4IHJnYmEoMTUsMjMsNDIsLjEyKSxpbnNldCAwIDAgMCAxcHggcmdiYSgxNSwyMyw0MiwuMDYpfS51bWQtYm9vay1oZWFkW2RhdGEtdi03OWIyNDJhMV17Z2FwOjIwcHg7bWF4LXdpZHRoOjgyMHB4O21hcmdpbjowIGF1dG87cGFkZGluZzozMnB4IDM0cHggOHB4O2Rpc3BsYXk6ZmxleH0udW1kLWJvb2staGVhZCBpbWdbZGF0YS12LTc5YjI0MmExXXtvYmplY3QtZml0OmNvdmVyO2JvcmRlci1yYWRpdXM6NnB4O3dpZHRoOjk2cHg7bWF4LWhlaWdodDoxMzZweDtib3gtc2hhZG93OjAgMTJweCAyNnB4IHJnYmEoMTUsMjMsNDIsLjE2KX0udW1kLWJvb2staGVhZCBkaXZbZGF0YS12LTc5YjI0MmExXXttaW4td2lkdGg6MH0udW1kLWJvb2staGVhZCBoMVtkYXRhLXYtNzliMjQyYTFde2NvbG9yOiMxMTE4Mjc7bWFyZ2luOjA7Zm9udC1zaXplOjI0cHg7bGluZS1oZWlnaHQ6MS4zfS51bWQtYm9vay1oZWFkIHBbZGF0YS12LTc5YjI0MmExXXtjb2xvcjojNjQ3NDhiO21hcmdpbjo4cHggMCAwO2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjEuNn0udW1kLWNoYXB0ZXJbZGF0YS12LTc5YjI0MmExXXttYXgtd2lkdGg6ODIwcHg7bWFyZ2luOjAgYXV0bztwYWRkaW5nOjI4cHggMzRweCA1NnB4fS51bWQtY2hhcHRlciBoMltkYXRhLXYtNzliMjQyYTFde2NvbG9yOiMxMTE4Mjc7bWFyZ2luOjAgMCAyMnB4O2ZvbnQtc2l6ZToyMnB4O2xpbmUtaGVpZ2h0OjEuMzV9LnVtZC10ZXh0W2RhdGEtdi03OWIyNDJhMV17Y29sb3I6IzFmMjkzNzt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7Zm9udC1mYW1pbHk6R2VvcmdpYSxUaW1lcyBOZXcgUm9tYW4sU29uZ3RpIFNDLFNpbVN1bixzZXJpZjtmb250LXNpemU6MTdweDtsaW5lLWhlaWdodDoxLjg2fS51bWQtaW1hZ2UtbGlzdFtkYXRhLXYtNzliMjQyYTFde2dhcDoxOHB4O2Rpc3BsYXk6Z3JpZH0udW1kLWltYWdlLWxpc3QgZmlndXJlW2RhdGEtdi03OWIyNDJhMV17dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjB9LnVtZC1pbWFnZS1saXN0IGltZ1tkYXRhLXYtNzliMjQyYTFde2JvcmRlci1yYWRpdXM6NnB4O21heC13aWR0aDoxMDAlO2hlaWdodDphdXRvO2JveC1zaGFkb3c6MCAxMHB4IDI0cHggcmdiYSgxNSwyMyw0MiwuMTIpfS51bWQtZW1wdHlbZGF0YS12LTc5YjI0MmExXSwudW1kLXdhcm5pbmdbZGF0YS12LTc5YjI0MmExXXtjb2xvcjojNjQ3NDhiO2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjEuN30udW1kLXdhcm5pbmdbZGF0YS12LTc5YjI0MmExXXtjb2xvcjojYjQ1MzA5O21heC13aWR0aDo4MjBweDttYXJnaW46LTI4cHggYXV0byAzNnB4O3BhZGRpbmc6MCAzNHB4fS51bWQtc3RhdGVbZGF0YS12LTc5YjI0MmExXXtjb2xvcjojNjQ3NDhiO2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuOTIpO2JvcmRlci1yYWRpdXM6OHB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2ZvbnQtc2l6ZToxNHB4O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MThweDtib3R0b206MThweDtsZWZ0OjE4cHg7cmlnaHQ6MThweH0udW1kLXN0YXRlLmVycm9yW2RhdGEtdi03OWIyNDJhMV17Y29sb3I6I2I0MjMxOH1AbWVkaWEgKG1heC13aWR0aDo3MjBweCl7LnVtZC10b29sYmFyW2RhdGEtdi03OWIyNDJhMV17Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjQwcHggbWlubWF4KDAsMWZyKX0udW1kLWFjdGlvbnNbZGF0YS12LTc5YjI0MmExXXtncmlkLWNvbHVtbjoxLy0xO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS51bWQtYm9keVtkYXRhLXYtNzliMjQyYTFde2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpO3Bvc2l0aW9uOnJlbGF0aXZlfS51bWQtdG9jW2RhdGEtdi03OWIyNDJhMV17ei1pbmRleDo1O3dpZHRoOm1pbig4MnZ3LDI4MHB4KTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7Ym94LXNoYWRvdzoxOHB4IDAgNDBweCByZ2JhKDE1LDIzLDQyLC4xNil9LnVtZC1zdGFnZS13cmFwW2RhdGEtdi03OWIyNDJhMV17cGFkZGluZzoxMnB4fS51bWQtYm9vay1oZWFkW2RhdGEtdi03OWIyNDJhMV17cGFkZGluZzoyNHB4IDIwcHggMH0udW1kLWNoYXB0ZXJbZGF0YS12LTc5YjI0MmExXXtwYWRkaW5nOjI0cHggMjBweCA0MnB4fX0udmlld2VyLXpvb20taW46YmVmb3JlLC52aWV3ZXItem9vbS1vdXQ6YmVmb3JlLC52aWV3ZXItb25lLXRvLW9uZTpiZWZvcmUsLnZpZXdlci1yZXNldDpiZWZvcmUsLnZpZXdlci1wcmV2OmJlZm9yZSwudmlld2VyLXBsYXk6YmVmb3JlLC52aWV3ZXItbmV4dDpiZWZvcmUsLnZpZXdlci1yb3RhdGUtbGVmdDpiZWZvcmUsLnZpZXdlci1yb3RhdGUtcmlnaHQ6YmVmb3JlLC52aWV3ZXItZmxpcC1ob3Jpem9udGFsOmJlZm9yZSwudmlld2VyLWZsaXAtdmVydGljYWw6YmVmb3JlLC52aWV3ZXItZnVsbHNjcmVlbjpiZWZvcmUsLnZpZXdlci1mdWxsc2NyZWVuLWV4aXQ6YmVmb3JlLC52aWV3ZXItY2xvc2U6YmVmb3Jle2NvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyIHZpZXdCb3glM0QlMjIwIDAgNTYwIDQwJTIyJTNFJTNDcGF0aCBmaWxsJTNEJTIyJTIzZmZmJTIyIGQlM0QlMjJNNDkuNiAxNy45aDIwLjJ2My45SDQ5LjZ6bTEyMy4xIDIgMTAuOS0xMSAyLjcgMi44LTguMiA4LjIgOC4yIDguMi0yLjcgMi43LTEwLjktMTAuOXptOTQgMC0xMC44LTExLTIuNyAyLjggOC4xIDguMi04LjEgOC4yIDIuNyAyLjcgMTAuOC0xMC45ek0yMTIgOS4zbDIwLjEgMTAuNkwyMTIgMzAuNVY5LjN6bTE2MS41IDQuNi03LjIgNiA3LjIgNS45di00aDEyLjR2NGw3LjMtNS45LTcuMy02djRoLTEyLjR2LTR6bTQwLjIgMTIuMyA1LjkgNy4yIDUuOS03LjJoLTRWMTMuNmg0bC01LjktNy4zLTUuOSA3LjNoNHYxMi42aC00em0zNS45LTE2LjVoNi4zdjJoLTQuM1YxNmgtMlY5LjdabTE0IDBoNi4yVjE2aC0ydi00LjNoLTQuMnYtMlptNi4yIDE0VjMwaC02LjJ2LTJoNC4ydi00LjNoMlptLTE0IDYuM2gtNi4ydi02LjNoMnY0LjRoNC4zdjJabS00MzggLjF2LTguM0g5LjZ2LTMuOWg4LjJWOS43aDMuOXY4LjJoOC4xdjMuOWgtOC4xdjguM2gtMy45ek05My42IDkuN2gtNS44djMuOWgyVjMwaDMuOFY5Ljd6bTE2LjEgMGgtNS44djMuOWgxLjlWMzBoMy45VjkuN3ptLTExLjkgNC4xaDMuOXYzLjloLTMuOXptMCA4LjJoMy45djMuOWgtMy45em0yNDQuNi0xMS43IDcuMiA1LjktNy4yIDZ2LTMuNmMtNS40LS40LTcuOC44LTguNyAyLjgtLjggMS43LTEuOCA0LjkgMi44IDguMi02LjMtMi03LjUtNi45LTYtMTEuMyAxLjYtNC40IDgtNSAxMS45LTQuOXYtMy4xWm0xNDcuMiAxMy40aDYuM1YzMGgtMnYtNC4zaC00LjN2LTJ6bTE0IDYuM3YtNi4zaDYuMnYyaC00LjNWMzBoLTEuOXptNi4yLTE0aC02LjJWOS43aDEuOVYxNGg0LjN2MnptLTEzLjkgMGgtNi4zdi0yaDQuM1Y5LjdoMlYxNnptMzMuMyAxMi41IDguNi04LjYtOC42LTguNyAxLjktMS45IDguNiA4LjcgOC42LTguNyAxLjkgMS45LTguNiA4LjcgOC42IDguNi0xLjkgMi04LjYtOC43LTguNiA4LjctMS45LTJ6TTI5NyAxMC4zbC03LjEgNS45IDcuMiA2di0zLjZjNS4zLS40IDcuNy44IDguNyAyLjguOCAxLjcgMS43IDQuOS0yLjkgOC4yIDYuMy0yIDcuNS02LjkgNi0xMS4zLTEuNi00LjQtNy45LTUtMTEuOC00Ljl2LTMuMVptLTE1Ny4zLS42YzIuMyAwIDQuNC43IDYgMmwyLjUtMyAxLjkgOS4yaC05LjNsMi42LTMuMWE2LjIgNi4yIDAgMCAwLTkuOSA1LjFjMCAzLjQgMi44IDYuMyA2LjIgNi4zIDIuOCAwIDUuMS0xLjkgNi00LjRoNGMtMSA0LjctNSA4LjMtMTAgOC4zYTEwIDEwIDAgMCAxLTEwLTEwLjIgMTAgMTAgMCAwIDEgMTAtMTAuMlolMjIlMkYlM0UlM0MlMkZzdmclM0UiKTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1zaXplOjI4MHB4O3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7Zm9udC1zaXplOjA7bGluZS1oZWlnaHQ6MDtkaXNwbGF5OmJsb2NrfS52aWV3ZXItem9vbS1pbjpiZWZvcmV7Y29udGVudDoiWm9vbSBJbiI7YmFja2dyb3VuZC1wb3NpdGlvbjowIDB9LnZpZXdlci16b29tLW91dDpiZWZvcmV7Y29udGVudDoiWm9vbSBPdXQiO2JhY2tncm91bmQtcG9zaXRpb246LTIwcHggMH0udmlld2VyLW9uZS10by1vbmU6YmVmb3Jle2NvbnRlbnQ6Ik9uZSB0byBPbmUiO2JhY2tncm91bmQtcG9zaXRpb246LTQwcHggMH0udmlld2VyLXJlc2V0OmJlZm9yZXtjb250ZW50OiJSZXNldCI7YmFja2dyb3VuZC1wb3NpdGlvbjotNjBweCAwfS52aWV3ZXItcHJldjpiZWZvcmV7Y29udGVudDoiUHJldmlvdXMiO2JhY2tncm91bmQtcG9zaXRpb246LTgwcHggMH0udmlld2VyLXBsYXk6YmVmb3Jle2NvbnRlbnQ6IlBsYXkiO2JhY2tncm91bmQtcG9zaXRpb246LTEwMHB4IDB9LnZpZXdlci1uZXh0OmJlZm9yZXtjb250ZW50OiJOZXh0IjtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMjBweCAwfS52aWV3ZXItcm90YXRlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlJvdGF0ZSBMZWZ0IjtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNDBweCAwfS52aWV3ZXItcm90YXRlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJSb3RhdGUgUmlnaHQiO2JhY2tncm91bmQtcG9zaXRpb246LTE2MHB4IDB9LnZpZXdlci1mbGlwLWhvcml6b250YWw6YmVmb3Jle2NvbnRlbnQ6IkZsaXAgSG9yaXpvbnRhbCI7YmFja2dyb3VuZC1wb3NpdGlvbjotMTgwcHggMH0udmlld2VyLWZsaXAtdmVydGljYWw6YmVmb3Jle2NvbnRlbnQ6IkZsaXAgVmVydGljYWwiO2JhY2tncm91bmQtcG9zaXRpb246LTIwMHB4IDB9LnZpZXdlci1mdWxsc2NyZWVuOmJlZm9yZXtjb250ZW50OiJFbnRlciBGdWxsIFNjcmVlbiI7YmFja2dyb3VuZC1wb3NpdGlvbjotMjIwcHggMH0udmlld2VyLWZ1bGxzY3JlZW4tZXhpdDpiZWZvcmV7Y29udGVudDoiRXhpdCBGdWxsIFNjcmVlbiI7YmFja2dyb3VuZC1wb3NpdGlvbjotMjQwcHggMH0udmlld2VyLWNsb3NlOmJlZm9yZXtjb250ZW50OiJDbG9zZSI7YmFja2dyb3VuZC1wb3NpdGlvbjotMjYwcHggMH0udmlld2VyLWNvbnRhaW5lcnstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7LW1zLXRvdWNoLWFjdGlvbjpub25lO3RvdWNoLWFjdGlvbjpub25lOy13ZWJraXQtdG91Y2gtY2FsbG91dDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtkaXJlY3Rpb246bHRyO2ZvbnQtc2l6ZTowO2xpbmUtaGVpZ2h0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVufS52aWV3ZXItY29udGFpbmVyOjotbW96LXNlbGVjdGlvbntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS52aWV3ZXItY29udGFpbmVyIDo6LW1vei1zZWxlY3Rpb257YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0udmlld2VyLWNvbnRhaW5lcjo6LW1vei1zZWxlY3Rpb257YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0udmlld2VyLWNvbnRhaW5lcjo6c2VsZWN0aW9ue2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LnZpZXdlci1jb250YWluZXIgOjotbW96LXNlbGVjdGlvbntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS52aWV3ZXItY29udGFpbmVyIDo6c2VsZWN0aW9ue2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LnZpZXdlci1jb250YWluZXI6Zm9jdXN7b3V0bGluZTowfS52aWV3ZXItY29udGFpbmVyIGltZ3t3aWR0aDoxMDAlO2hlaWdodDphdXRvO2Rpc3BsYXk6YmxvY2s7bWluLXdpZHRoOjAhaW1wb3J0YW50O21heC13aWR0aDpub25lIWltcG9ydGFudDttaW4taGVpZ2h0OjAhaW1wb3J0YW50O21heC1oZWlnaHQ6bm9uZSFpbXBvcnRhbnR9LnZpZXdlci1jYW52YXN7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVufS52aWV3ZXItY2FudmFzPmltZ3t3aWR0aDphdXRvO2hlaWdodDphdXRvO21hcmdpbjoxNXB4IGF1dG87bWF4LXdpZHRoOjkwJSFpbXBvcnRhbnR9LnZpZXdlci1mb290ZXJ7dGV4dC1hbGlnbjpjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVufS52aWV3ZXItbmF2YmFye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNSk7b3ZlcmZsb3c6aGlkZGVufS52aWV3ZXItbGlzdHtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2hlaWdodDo1MHB4O21hcmdpbjowO3BhZGRpbmc6MXB4IDA7b3ZlcmZsb3c6aGlkZGVufS52aWV3ZXItbGlzdD5saXtjb2xvcjp0cmFuc3BhcmVudDtjdXJzb3I6cG9pbnRlcjtmbG9hdDpsZWZ0O29wYWNpdHk6LjU7d2lkdGg6MzBweDtoZWlnaHQ6NTBweDtmb250LXNpemU6MDtsaW5lLWhlaWdodDowO3RyYW5zaXRpb246b3BhY2l0eSAuMTVzO292ZXJmbG93OmhpZGRlbn0udmlld2VyLWxpc3Q+bGk6Zm9jdXMsLnZpZXdlci1saXN0PmxpOmhvdmVye29wYWNpdHk6Ljc1fS52aWV3ZXItbGlzdD5saTpmb2N1c3tvdXRsaW5lOjB9LnZpZXdlci1saXN0PmxpK2xpe21hcmdpbi1sZWZ0OjFweH0udmlld2VyLWxpc3Q+LnZpZXdlci1sb2FkaW5ne3Bvc2l0aW9uOnJlbGF0aXZlfS52aWV3ZXItbGlzdD4udmlld2VyLWxvYWRpbmc6YWZ0ZXJ7Ym9yZGVyLXdpZHRoOjJweDt3aWR0aDoyMHB4O2hlaWdodDoyMHB4O21hcmdpbi10b3A6LTEwcHg7bWFyZ2luLWxlZnQ6LTEwcHh9LnZpZXdlci1saXN0Pi52aWV3ZXItYWN0aXZlLC52aWV3ZXItbGlzdD4udmlld2VyLWFjdGl2ZTpmb2N1cywudmlld2VyLWxpc3Q+LnZpZXdlci1hY3RpdmU6aG92ZXJ7b3BhY2l0eToxfS52aWV3ZXItcGxheWVye2N1cnNvcjpub25lO3otaW5kZXg6MTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7ZGlzcGxheTpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowfS52aWV3ZXItcGxheWVyPmltZ3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjB9LnZpZXdlci10b29sYmFyPnVse21hcmdpbjowIGF1dG8gNXB4O3BhZGRpbmc6NnB4IDNweDtkaXNwbGF5OmlubGluZS1ibG9jaztvdmVyZmxvdzpoaWRkZW59LnZpZXdlci10b29sYmFyPnVsPmxpe2N1cnNvcjpwb2ludGVyO2Zsb2F0OmxlZnQ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC41KTtib3JkZXItcmFkaXVzOjUwJTt3aWR0aDoyNHB4O2hlaWdodDoyNHB4O3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMTVzO292ZXJmbG93OmhpZGRlbn0udmlld2VyLXRvb2xiYXI+dWw+bGk6Zm9jdXMsLnZpZXdlci10b29sYmFyPnVsPmxpOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOCl9LnZpZXdlci10b29sYmFyPnVsPmxpOmZvY3Vze3otaW5kZXg6MTtvdXRsaW5lOjA7cG9zaXRpb246cmVsYXRpdmU7Ym94LXNoYWRvdzowIDAgM3B4ICNmZmZ9LnZpZXdlci10b29sYmFyPnVsPmxpOmJlZm9yZXttYXJnaW46MnB4fS52aWV3ZXItdG9vbGJhcj51bD5saStsaXttYXJnaW4tbGVmdDoxcHh9LnZpZXdlci10b29sYmFyPnVsPi52aWV3ZXItc21hbGx7d2lkdGg6MThweDtoZWlnaHQ6MThweDttYXJnaW4tdG9wOjNweDttYXJnaW4tYm90dG9tOjNweH0udmlld2VyLXRvb2xiYXI+dWw+LnZpZXdlci1zbWFsbDpiZWZvcmV7bWFyZ2luOi0xcHh9LnZpZXdlci10b29sYmFyPnVsPi52aWV3ZXItbGFyZ2V7d2lkdGg6MzBweDtoZWlnaHQ6MzBweDttYXJnaW4tdG9wOi0zcHg7bWFyZ2luLWJvdHRvbTotM3B4fS52aWV3ZXItdG9vbGJhcj51bD4udmlld2VyLWxhcmdlOmJlZm9yZXttYXJnaW46NXB4fS52aWV3ZXItdG9vbHRpcHtjb2xvcjojZmZmO3RleHQtYWxpZ246Y2VudGVyO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOCk7Ym9yZGVyLXJhZGl1czoxMHB4O3dpZHRoOjUwcHg7aGVpZ2h0OjIwcHg7bWFyZ2luLXRvcDotMTBweDttYXJnaW4tbGVmdDotMjVweDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoyMHB4O2Rpc3BsYXk6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlfS52aWV3ZXItdGl0bGV7Y29sb3I6I2NjYztvcGFjaXR5Oi44O3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO21heC13aWR0aDo5MCU7bWluLWhlaWdodDoxNHB4O21hcmdpbjo1cHggNSU7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MS4yO3RyYW5zaXRpb246b3BhY2l0eSAuMTVzO2Rpc3BsYXk6aW5saW5lLWJsb2NrO292ZXJmbG93OmhpZGRlbn0udmlld2VyLXRpdGxlOmhvdmVye29wYWNpdHk6MX0udmlld2VyLWJ1dHRvbnstd2Via2l0LWFwcC1yZWdpb246bm8tZHJhZztjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjUpO2JvcmRlci1yYWRpdXM6NTAlO3dpZHRoOjgwcHg7aGVpZ2h0OjgwcHg7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4xNXM7cG9zaXRpb246YWJzb2x1dGU7dG9wOi00MHB4O3JpZ2h0Oi00MHB4O292ZXJmbG93OmhpZGRlbn0udmlld2VyLWJ1dHRvbjpmb2N1cywudmlld2VyLWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjgpfS52aWV3ZXItYnV0dG9uOmZvY3Vze291dGxpbmU6MDtib3gtc2hhZG93OjAgMCAzcHggI2ZmZn0udmlld2VyLWJ1dHRvbjpiZWZvcmV7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjE1cHg7bGVmdDoxNXB4fS52aWV3ZXItZml4ZWR7cG9zaXRpb246Zml4ZWR9LnZpZXdlci1vcGVue292ZXJmbG93OmhpZGRlbn0udmlld2VyLXNob3d7ZGlzcGxheTpibG9ja30udmlld2VyLWhpZGV7ZGlzcGxheTpub25lfS52aWV3ZXItYmFja2Ryb3B7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC41KX0udmlld2VyLWludmlzaWJsZXt2aXNpYmlsaXR5OmhpZGRlbn0udmlld2VyLW1vdmV7Y3Vyc29yOm1vdmU7Y3Vyc29yOmdyYWJ9LnZpZXdlci1mYWRle29wYWNpdHk6MH0udmlld2VyLWlue29wYWNpdHk6MX0udmlld2VyLXRyYW5zaXRpb257dHJhbnNpdGlvbjphbGwgLjNzfUBrZXlmcmFtZXMgdmlld2VyLXNwaW5uZXJ7MCV7dHJhbnNmb3JtOnJvdGF0ZSgwKX10b3t0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9fS52aWV3ZXItbG9hZGluZzphZnRlcntjb250ZW50OiIiO3otaW5kZXg6MTtib3JkZXI6NHB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjEpO2JvcmRlci1sZWZ0LWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpO2JvcmRlci1yYWRpdXM6NTAlO3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7bWFyZ2luLXRvcDotMjBweDttYXJnaW4tbGVmdDotMjBweDthbmltYXRpb246MXMgbGluZWFyIGluZmluaXRlIHZpZXdlci1zcGlubmVyO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDo1MCV9QG1lZGlhIChtYXgtd2lkdGg6NzY3cHgpey52aWV3ZXItaGlkZS14cy1kb3due2Rpc3BsYXk6bm9uZX19QG1lZGlhIChtYXgtd2lkdGg6OTkxcHgpey52aWV3ZXItaGlkZS1zbS1kb3due2Rpc3BsYXk6bm9uZX19QG1lZGlhIChtYXgtd2lkdGg6MTE5OXB4KXsudmlld2VyLWhpZGUtbWQtZG93bntkaXNwbGF5Om5vbmV9fS5pbWFnZS12aWV3ZXJbZGF0YS12LTRkYzc2YjlkXXtiYWNrZ3JvdW5kOiNlZWYxZjQ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvdmVyZmxvdzphdXRvfS5pbWFnZS1zdGFnZVtkYXRhLXYtNGRjNzZiOWRde2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21pbi13aWR0aDoxMDAlO21pbi1oZWlnaHQ6MTAwJTtkaXNwbGF5OmZsZXh9LmltYWdlW2RhdGEtdi00ZGM3NmI5ZF17d2lkdGg6YXV0bzttYXJnaW46MCBhdXRvO2Rpc3BsYXk6YmxvY2t9Lm1hcmtkb3duLWJvZHl7LS1iYXNlLXNpemUtMTY6MXJlbTstLWJhc2Utc2l6ZS0yNDoxLjVyZW07LS1iYXNlLXNpemUtNDouMjVyZW07LS1iYXNlLXNpemUtNDA6Mi41cmVtOy0tYmFzZS1zaXplLTg6LjVyZW07LS1iYXNlLXRleHQtd2VpZ2h0LW1lZGl1bTo1MDA7LS1iYXNlLXRleHQtd2VpZ2h0LW5vcm1hbDo0MDA7LS1iYXNlLXRleHQtd2VpZ2h0LXNlbWlib2xkOjYwMDstLWZvbnRTdGFjay1tb25vc3BhY2U6dWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgU0YgTW9ubywgTWVubG8sIENvbnNvbGFzLCBMaWJlcmF0aW9uIE1vbm8sIG1vbm9zcGFjZTstLWZvbnRTdGFjay1zYW5zU2VyaWY6LWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAiU2Vnb2UgVUkiLCAiTm90byBTYW5zIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiwgIkFwcGxlIENvbG9yIEVtb2ppIiwgIlNlZ29lIFVJIEVtb2ppIjstLWZnQ29sb3ItYWNjZW50OkhpZ2hsaWdodH1AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOmRhcmspey5tYXJrZG93bi1ib2R5LFtkYXRhLXRoZW1lPWRhcmtdey0tbGlnaHRuaW5nY3NzLWxpZ2h0OiA7LS1saWdodG5pbmdjc3MtZGFyazppbml0aWFsO2NvbG9yLXNjaGVtZTpkYXJrOy0tZmdDb2xvci1hY2NlbnQ6IzQ0OTNmODstLWJnQ29sb3ItYXR0ZW50aW9uLW11dGVkOnJnYmEoMTg3LDEyOCw5LC4xNSk7LS1iZ0NvbG9yLWRlZmF1bHQ6IzBkMTExNzstLWJnQ29sb3ItbXV0ZWQ6IzE1MWIyMzstLWJnQ29sb3ItbmV1dHJhbC1tdXRlZDpyZ2JhKDEwMSwxMDgsMTE4LC4yKTstLWJvcmRlckNvbG9yLWFjY2VudC1lbXBoYXNpczojMWY2ZmViOy0tYm9yZGVyQ29sb3ItYXR0ZW50aW9uLWVtcGhhc2lzOiM5ZTZhMDM7LS1ib3JkZXJDb2xvci1kYW5nZXItZW1waGFzaXM6I2RhMzYzMzstLWJvcmRlckNvbG9yLWRlZmF1bHQ6IzNkNDQ0ZDstLWJvcmRlckNvbG9yLWRvbmUtZW1waGFzaXM6Izg5NTdlNTstLWJvcmRlckNvbG9yLXN1Y2Nlc3MtZW1waGFzaXM6IzIzODYzNjstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtYnJhY2tldGhpZ2hsaWdodGVyLWFuZ2xlOiM5MTk4YTE7LS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LWJyYWNrZXRoaWdobGlnaHRlci11bm1hdGNoZWQ6I2Y4NTE0OTstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtY2FycmlhZ2UtcmV0dXJuLWJnOiNiNjIzMjQ7LS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LWNhcnJpYWdlLXJldHVybi10ZXh0OiNmMGY2ZmM7LS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LWNvbW1lbnQ6IzkxOThhMTstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtY29uc3RhbnQ6Izc5YzBmZjstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtY29uc3RhbnQtb3RoZXItcmVmZXJlbmNlLWxpbms6I2E1ZDZmZjstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtZW50aXR5OiNkMmE4ZmY7LS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LWVudGl0eS10YWc6IzdlZTc4NzstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgta2V5d29yZDojZmY3YjcyOy0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tYXJrdXAtYm9sZDojZjBmNmZjOy0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tYXJrdXAtY2hhbmdlZC1iZzojNWExZTAyOy0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tYXJrdXAtY2hhbmdlZC10ZXh0OiNmZmRmYjY7LS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LW1hcmt1cC1kZWxldGVkLWJnOiM2NzA2MGM7LS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LW1hcmt1cC1kZWxldGVkLXRleHQ6I2ZmZGNkNzstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtbWFya3VwLWhlYWRpbmc6IzFmNmZlYjstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtbWFya3VwLWlnbm9yZWQtYmc6IzExNThjNzstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtbWFya3VwLWlnbm9yZWQtdGV4dDojZjBmNmZjOy0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tYXJrdXAtaW5zZXJ0ZWQtYmc6IzAzM2ExNjstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtbWFya3VwLWluc2VydGVkLXRleHQ6I2FmZjViNDstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtbWFya3VwLWl0YWxpYzojZjBmNmZjOy0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tYXJrdXAtbGlzdDojZjJjYzYwOy0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tZXRhLWRpZmYtcmFuZ2U6I2QyYThmZjstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtc3RvcmFnZS1tb2RpZmllci1pbXBvcnQ6I2YwZjZmYzstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtc3RyaW5nOiNhNWQ2ZmY7LS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LXN0cmluZy1yZWdleHA6IzdlZTc4NzstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtc3VibGltZWxpbnRlci1ndXR0ZXItbWFyazojM2Q0NDRkOy0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC12YXJpYWJsZTojZmZhNjU3Oy0tZmdDb2xvci1hdHRlbnRpb246I2QyOTkyMjstLWZnQ29sb3ItZGFuZ2VyOiNmODUxNDk7LS1mZ0NvbG9yLWRlZmF1bHQ6I2YwZjZmYzstLWZnQ29sb3ItZG9uZTojYWI3ZGY4Oy0tZmdDb2xvci1tdXRlZDojOTE5OGExOy0tZmdDb2xvci1zdWNjZXNzOiMzZmI5NTA7LS1ib3JkZXJDb2xvci1tdXRlZDpyZ2JhKDYxLDY4LDc3LC43KTstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtaW52YWxpZC1pbGxlZ2FsLWJnOnZhcigtLWJnQ29sb3ItZGFuZ2VyLW11dGVkKTstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtaW52YWxpZC1pbGxlZ2FsLXRleHQ6dmFyKC0tZmdDb2xvci1kYW5nZXIpOy0tZm9jdXMtb3V0bGluZUNvbG9yOnZhcigtLWJvcmRlckNvbG9yLWFjY2VudC1lbXBoYXNpcyk7LS1ib3JkZXJDb2xvci1uZXV0cmFsLW11dGVkOnZhcigtLWJvcmRlckNvbG9yLW11dGVkKX19QG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpsaWdodCl7Lm1hcmtkb3duLWJvZHksW2RhdGEtdGhlbWU9bGlnaHRdey0tbGlnaHRuaW5nY3NzLWxpZ2h0OmluaXRpYWw7LS1saWdodG5pbmdjc3MtZGFyazogO2NvbG9yLXNjaGVtZTpsaWdodDstLWZnQ29sb3ItZGFuZ2VyOiNkMTI0MmY7LS1iZ0NvbG9yLWF0dGVudGlvbi1tdXRlZDojZmZmOGM1Oy0tYmdDb2xvci1tdXRlZDojZjZmOGZhOy0tYmdDb2xvci1uZXV0cmFsLW11dGVkOnJnYmEoMTI5LDEzOSwxNTIsLjEyKTstLWJvcmRlckNvbG9yLWFjY2VudC1lbXBoYXNpczojMDk2OWRhOy0tYm9yZGVyQ29sb3ItYXR0ZW50aW9uLWVtcGhhc2lzOiM5YTY3MDA7LS1ib3JkZXJDb2xvci1kYW5nZXItZW1waGFzaXM6I2NmMjIyZTstLWJvcmRlckNvbG9yLWRlZmF1bHQ6I2QxZDllMDstLWJvcmRlckNvbG9yLWRvbmUtZW1waGFzaXM6IzgyNTBkZjstLWJvcmRlckNvbG9yLXN1Y2Nlc3MtZW1waGFzaXM6IzFhN2YzNzstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtYnJhY2tldGhpZ2hsaWdodGVyLWFuZ2xlOiM1OTYzNmU7LS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LWJyYWNrZXRoaWdobGlnaHRlci11bm1hdGNoZWQ6IzgyMDcxZTstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtY2FycmlhZ2UtcmV0dXJuLWJnOiNjZjIyMmU7LS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LWNhcnJpYWdlLXJldHVybi10ZXh0OiNmNmY4ZmE7LS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LWNvbW1lbnQ6IzU5NjM2ZTstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtY29uc3RhbnQ6IzA1NTBhZTstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtY29uc3RhbnQtb3RoZXItcmVmZXJlbmNlLWxpbms6IzBhMzA2OTstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtZW50aXR5OiM2NjM5YmE7LS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LWVudGl0eS10YWc6IzA1NTBhZTstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtaW52YWxpZC1pbGxlZ2FsLXRleHQ6dmFyKC0tZmdDb2xvci1kYW5nZXIpOy0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1rZXl3b3JkOiNjZjIyMmU7LS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LW1hcmt1cC1jaGFuZ2VkLWJnOiNmZmQ4YjU7LS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LW1hcmt1cC1jaGFuZ2VkLXRleHQ6Izk1MzgwMDstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtbWFya3VwLWRlbGV0ZWQtYmc6I2ZmZWJlOTstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtbWFya3VwLWRlbGV0ZWQtdGV4dDojODIwNzFlOy0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tYXJrdXAtaGVhZGluZzojMDU1MGFlOy0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tYXJrdXAtaWdub3JlZC1iZzojMDU1MGFlOy0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tYXJrdXAtaWdub3JlZC10ZXh0OiNkMWQ5ZTA7LS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LW1hcmt1cC1pbnNlcnRlZC1iZzojZGFmYmUxOy0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tYXJrdXAtaW5zZXJ0ZWQtdGV4dDojMTE2MzI5Oy0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tYXJrdXAtbGlzdDojM2IyMzAwOy0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tZXRhLWRpZmYtcmFuZ2U6IzgyNTBkZjstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtc3RyaW5nOiMwYTMwNjk7LS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LXN0cmluZy1yZWdleHA6IzExNjMyOTstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtc3VibGltZWxpbnRlci1ndXR0ZXItbWFyazojODE4Yjk4Oy0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC12YXJpYWJsZTojOTUzODAwOy0tZmdDb2xvci1hY2NlbnQ6IzA5NjlkYTstLWZnQ29sb3ItYXR0ZW50aW9uOiM5YTY3MDA7LS1mZ0NvbG9yLWRvbmU6IzgyNTBkZjstLWZnQ29sb3ItbXV0ZWQ6IzU5NjM2ZTstLWZnQ29sb3Itc3VjY2VzczojMWE3ZjM3Oy0tYmdDb2xvci1kZWZhdWx0OiNmZmY7LS1ib3JkZXJDb2xvci1tdXRlZDpyZ2JhKDIwOSwyMTcsMjI0LC43KTstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtaW52YWxpZC1pbGxlZ2FsLWJnOnZhcigtLWJnQ29sb3ItZGFuZ2VyLW11dGVkKTstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtbWFya3VwLWJvbGQ6IzFmMjMyODstLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtbWFya3VwLWl0YWxpYzojMWYyMzI4Oy0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1zdG9yYWdlLW1vZGlmaWVyLWltcG9ydDojMWYyMzI4Oy0tZmdDb2xvci1kZWZhdWx0OiMxZjIzMjg7LS1mb2N1cy1vdXRsaW5lQ29sb3I6dmFyKC0tYm9yZGVyQ29sb3ItYWNjZW50LWVtcGhhc2lzKTstLWJvcmRlckNvbG9yLW5ldXRyYWwtbXV0ZWQ6dmFyKC0tYm9yZGVyQ29sb3ItbXV0ZWQpfX0ubWFya2Rvd24tYm9keXstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTstbXMtdGV4dC1zaXplLWFkanVzdDoxMDAlO2ZvbnQtd2VpZ2h0OnZhcigtLWJhc2UtdGV4dC13ZWlnaHQtbm9ybWFsLDQwMCk7Y29sb3I6dmFyKC0tZmdDb2xvci1kZWZhdWx0KTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWJnQ29sb3ItZGVmYXVsdCk7Zm9udC1mYW1pbHk6dmFyKC0tZm9udFN0YWNrLXNhbnNTZXJpZiwtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICJTZWdvZSBVSSIsICJOb3RvIFNhbnMiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmLCAiQXBwbGUgQ29sb3IgRW1vamkiLCAiU2Vnb2UgVUkgRW1vamkiKTt3b3JkLXdyYXA6YnJlYWstd29yZDttYXJnaW46MDtmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoxLjV9Lm1hcmtkb3duLWJvZHkgYXt0ZXh0LXVuZGVybGluZS1vZmZzZXQ6LjJyZW07dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ubWFya2Rvd24tYm9keSAub2N0aWNvbntmaWxsOmN1cnJlbnRDb2xvcjt2ZXJ0aWNhbC1hbGlnbjp0ZXh0LWJvdHRvbTtkaXNwbGF5OmlubGluZS1ibG9ja30ubWFya2Rvd24tYm9keSBoMTpob3ZlciAuYW5jaG9yIC5vY3RpY29uLWxpbms6YmVmb3JlLC5tYXJrZG93bi1ib2R5IGgyOmhvdmVyIC5hbmNob3IgLm9jdGljb24tbGluazpiZWZvcmUsLm1hcmtkb3duLWJvZHkgaDM6aG92ZXIgLmFuY2hvciAub2N0aWNvbi1saW5rOmJlZm9yZSwubWFya2Rvd24tYm9keSBoNDpob3ZlciAuYW5jaG9yIC5vY3RpY29uLWxpbms6YmVmb3JlLC5tYXJrZG93bi1ib2R5IGg1OmhvdmVyIC5hbmNob3IgLm9jdGljb24tbGluazpiZWZvcmUsLm1hcmtkb3duLWJvZHkgaDY6aG92ZXIgLmFuY2hvciAub2N0aWNvbi1saW5rOmJlZm9yZXtjb250ZW50OiIgIjtiYWNrZ3JvdW5kLWNvbG9yOmN1cnJlbnRDb2xvcjt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrOy13ZWJraXQtbWFzay1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyB2ZXJzaW9uPScxLjEnIGFyaWEtaGlkZGVuPSd0cnVlJz48cGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGQ9J003Ljc3NSAzLjI3NWEuNzUuNzUgMCAwMDEuMDYgMS4wNmwxLjI1LTEuMjVhMiAyIDAgMTEyLjgzIDIuODNsLTIuNSAyLjVhMiAyIDAgMDEtMi44MyAwIC43NS43NSAwIDAwLTEuMDYgMS4wNiAzLjUgMy41IDAgMDA0Ljk1IDBsMi41LTIuNWEzLjUgMy41IDAgMDAtNC45NS00Ljk1bC0xLjI1IDEuMjV6bS00LjY5IDkuNjRhMiAyIDAgMDEwLTIuODNsMi41LTIuNWEyIDIgMCAwMTIuODMgMCAuNzUuNzUgMCAwMDEuMDYtMS4wNiAzLjUgMy41IDAgMDAtNC45NSAwbC0yLjUgMi41YTMuNSAzLjUgMCAwMDQuOTUgNC45NWwxLjI1LTEuMjVhLjc1Ljc1IDAgMDAtMS4wNi0xLjA2bC0xLjI1IDEuMjVhMiAyIDAgMDEtMi44MyAweic+PC9wYXRoPjwvc3ZnPiIpO21hc2staW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgdmVyc2lvbj0nMS4xJyBhcmlhLWhpZGRlbj0ndHJ1ZSc+PHBhdGggZmlsbC1ydWxlPSdldmVub2RkJyBkPSdNNy43NzUgMy4yNzVhLjc1Ljc1IDAgMDAxLjA2IDEuMDZsMS4yNS0xLjI1YTIgMiAwIDExMi44MyAyLjgzbC0yLjUgMi41YTIgMiAwIDAxLTIuODMgMCAuNzUuNzUgMCAwMC0xLjA2IDEuMDYgMy41IDMuNSAwIDAwNC45NSAwbDIuNS0yLjVhMy41IDMuNSAwIDAwLTQuOTUtNC45NWwtMS4yNSAxLjI1em0tNC42OSA5LjY0YTIgMiAwIDAxMC0yLjgzbDIuNS0yLjVhMiAyIDAgMDEyLjgzIDAgLjc1Ljc1IDAgMDAxLjA2LTEuMDYgMy41IDMuNSAwIDAwLTQuOTUgMGwtMi41IDIuNWEzLjUgMy41IDAgMDA0Ljk1IDQuOTVsMS4yNS0xLjI1YS43NS43NSAwIDAwLTEuMDYtMS4wNmwtMS4yNSAxLjI1YTIgMiAwIDAxLTIuODMgMHonPjwvcGF0aD48L3N2Zz4iKX0ubWFya2Rvd24tYm9keSBkZXRhaWxzLC5tYXJrZG93bi1ib2R5IGZpZ2NhcHRpb24sLm1hcmtkb3duLWJvZHkgZmlndXJle2Rpc3BsYXk6YmxvY2t9Lm1hcmtkb3duLWJvZHkgc3VtbWFyeXtkaXNwbGF5Omxpc3QtaXRlbX0ubWFya2Rvd24tYm9keSBbaGlkZGVuXXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5tYXJrZG93bi1ib2R5IGF7Y29sb3I6dmFyKC0tZmdDb2xvci1hY2NlbnQpO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Lm1hcmtkb3duLWJvZHkgYWJiclt0aXRsZV17Ym9yZGVyLWJvdHRvbTpub25lOy13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWQ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWR9Lm1hcmtkb3duLWJvZHkgYiwubWFya2Rvd24tYm9keSBzdHJvbmd7Zm9udC13ZWlnaHQ6dmFyKC0tYmFzZS10ZXh0LXdlaWdodC1zZW1pYm9sZCw2MDApfS5tYXJrZG93bi1ib2R5IGRmbntmb250LXN0eWxlOml0YWxpY30ubWFya2Rvd24tYm9keSBoMXtmb250LXdlaWdodDp2YXIoLS1iYXNlLXRleHQtd2VpZ2h0LXNlbWlib2xkLDYwMCk7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyQ29sb3ItbXV0ZWQpO21hcmdpbjouNjdlbSAwO3BhZGRpbmctYm90dG9tOi4zZW07Zm9udC1zaXplOjJlbX0ubWFya2Rvd24tYm9keSBtYXJre2JhY2tncm91bmQtY29sb3I6dmFyKC0tYmdDb2xvci1hdHRlbnRpb24tbXV0ZWQpO2NvbG9yOnZhcigtLWZnQ29sb3ItZGVmYXVsdCl9Lm1hcmtkb3duLWJvZHkgc21hbGx7Zm9udC1zaXplOjkwJX0ubWFya2Rvd24tYm9keSBzdWIsLm1hcmtkb3duLWJvZHkgc3Vwe3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO2ZvbnQtc2l6ZTo3NSU7bGluZS1oZWlnaHQ6MDtwb3NpdGlvbjpyZWxhdGl2ZX0ubWFya2Rvd24tYm9keSBzdWJ7Ym90dG9tOi0uMjVlbX0ubWFya2Rvd24tYm9keSBzdXB7dG9wOi0uNWVtfS5tYXJrZG93bi1ib2R5IGltZ3tib3gtc2l6aW5nOmNvbnRlbnQtYm94O2JvcmRlci1zdHlsZTpub25lO21heC13aWR0aDoxMDAlfS5tYXJrZG93bi1ib2R5IGNvZGUsLm1hcmtkb3duLWJvZHkga2JkLC5tYXJrZG93bi1ib2R5IHByZSwubWFya2Rvd24tYm9keSBzYW1we2ZvbnQtZmFtaWx5Om1vbm9zcGFjZTtmb250LXNpemU6MWVtfS5tYXJrZG93bi1ib2R5IGZpZ3VyZXttYXJnaW46MWVtIHZhcigtLWJhc2Utc2l6ZS00MCl9Lm1hcmtkb3duLWJvZHkgaHJ7Ym94LXNpemluZzpjb250ZW50LWJveDtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1ib3JkZXJDb2xvci1tdXRlZCk7aGVpZ2h0Oi4yNWVtO21hcmdpbjp2YXIoLS1iYXNlLXNpemUtMjQpIDA7YmFja2dyb3VuZDowIDA7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1ib3JkZXJDb2xvci1kZWZhdWx0KTtib3JkZXI6MDtwYWRkaW5nOjA7b3ZlcmZsb3c6aGlkZGVufS5tYXJrZG93bi1ib2R5IGlucHV0e2ZvbnQ6aW5oZXJpdDtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2xpbmUtaGVpZ2h0OmluaGVyaXQ7bWFyZ2luOjA7b3ZlcmZsb3c6dmlzaWJsZX0ubWFya2Rvd24tYm9keSBbdHlwZT1idXR0b25dey13ZWJraXQtYXBwZWFyYW5jZTpidXR0b247LW1vei1hcHBlYXJhbmNlOmJ1dHRvbjstbXMtYXBwZWFyYW5jZTpidXR0b247YXBwZWFyYW5jZTpidXR0b259Lm1hcmtkb3duLWJvZHkgW3R5cGU9cmVzZXRdey13ZWJraXQtYXBwZWFyYW5jZTpidXR0b247LW1vei1hcHBlYXJhbmNlOmJ1dHRvbjstbXMtYXBwZWFyYW5jZTpidXR0b247YXBwZWFyYW5jZTpidXR0b259Lm1hcmtkb3duLWJvZHkgW3R5cGU9c3VibWl0XXstd2Via2l0LWFwcGVhcmFuY2U6YnV0dG9uOy1tb3otYXBwZWFyYW5jZTpidXR0b247LW1zLWFwcGVhcmFuY2U6YnV0dG9uO2FwcGVhcmFuY2U6YnV0dG9ufS5tYXJrZG93bi1ib2R5IFt0eXBlPWNoZWNrYm94XXtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzowfS5tYXJrZG93bi1ib2R5IFt0eXBlPXJhZGlvXXtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzowfS5tYXJrZG93bi1ib2R5IFt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b257aGVpZ2h0OmF1dG99Lm1hcmtkb3duLWJvZHkgW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b30ubWFya2Rvd24tYm9keSBbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lOy1tcy1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lfS5tYXJrZG93bi1ib2R5IFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb257LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7LW1zLWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmV9Lm1hcmtkb3duLWJvZHkgOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOmluaGVyaXQ7b3BhY2l0eTouNTR9Lm1hcmtkb3duLWJvZHkgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6YnV0dG9uOy1tb3otYXBwZWFyYW5jZTpidXR0b247LW1zLWFwcGVhcmFuY2U6YnV0dG9uO2FwcGVhcmFuY2U6YnV0dG9uO2ZvbnQ6aW5oZXJpdH0ubWFya2Rvd24tYm9keSBhOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9Lm1hcmtkb3duLWJvZHkgOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOnZhcigtLWZnQ29sb3ItbXV0ZWQpO29wYWNpdHk6MX0ubWFya2Rvd24tYm9keSA6Oi1tb3otcGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tZmdDb2xvci1tdXRlZCk7b3BhY2l0eToxfS5tYXJrZG93bi1ib2R5IDo6LW1zLWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOnZhcigtLWZnQ29sb3ItbXV0ZWQpO29wYWNpdHk6MX0ubWFya2Rvd24tYm9keSA6OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLWZnQ29sb3ItbXV0ZWQpO29wYWNpdHk6MX0ubWFya2Rvd24tYm9keSBocjpiZWZvcmV7Y29udGVudDoiIjtkaXNwbGF5OnRhYmxlfS5tYXJrZG93bi1ib2R5IGhyOmFmdGVye2NsZWFyOmJvdGg7Y29udGVudDoiIjtkaXNwbGF5OnRhYmxlfS5tYXJrZG93bi1ib2R5IHRhYmxle2JvcmRlci1zcGFjaW5nOjA7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2ZvbnQtdmFyaWFudDp0YWJ1bGFyLW51bXM7d2lkdGg6LXdlYmtpdC1tYXgtY29udGVudDt3aWR0aDotbW96LW1heC1jb250ZW50O3dpZHRoOm1heC1jb250ZW50O21heC13aWR0aDoxMDAlO2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6YXV0b30ubWFya2Rvd24tYm9keSB0ZCwubWFya2Rvd24tYm9keSB0aHtwYWRkaW5nOjB9Lm1hcmtkb3duLWJvZHkgZGV0YWlscyBzdW1tYXJ5e2N1cnNvcjpwb2ludGVyfS5tYXJrZG93bi1ib2R5IGE6Zm9jdXMsLm1hcmtkb3duLWJvZHkgW3JvbGU9YnV0dG9uXTpmb2N1c3tvdXRsaW5lOjJweCBzb2xpZCB2YXIoLS1mb2N1cy1vdXRsaW5lQ29sb3IpO291dGxpbmUtb2Zmc2V0Oi0ycHg7Ym94LXNoYWRvdzpub25lfS5tYXJrZG93bi1ib2R5IGlucHV0W3R5cGU9cmFkaW9dOmZvY3Vze291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWZvY3VzLW91dGxpbmVDb2xvcik7b3V0bGluZS1vZmZzZXQ6LTJweDtib3gtc2hhZG93Om5vbmV9Lm1hcmtkb3duLWJvZHkgaW5wdXRbdHlwZT1jaGVja2JveF06Zm9jdXN7b3V0bGluZToycHggc29saWQgdmFyKC0tZm9jdXMtb3V0bGluZUNvbG9yKTtvdXRsaW5lLW9mZnNldDotMnB4O2JveC1zaGFkb3c6bm9uZX0ubWFya2Rvd24tYm9keSBhOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSl7b3V0bGluZToxcHggc29saWQgdHJhbnNwYXJlbnR9Lm1hcmtkb3duLWJvZHkgW3JvbGU9YnV0dG9uXTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpe291dGxpbmU6MXB4IHNvbGlkIHRyYW5zcGFyZW50fS5tYXJrZG93bi1ib2R5IGlucHV0W3R5cGU9cmFkaW9dOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSl7b3V0bGluZToxcHggc29saWQgdHJhbnNwYXJlbnR9Lm1hcmtkb3duLWJvZHkgaW5wdXRbdHlwZT1jaGVja2JveF06Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtvdXRsaW5lOjFweCBzb2xpZCB0cmFuc3BhcmVudH0ubWFya2Rvd24tYm9keSBhOmZvY3VzLXZpc2libGV7b3V0bGluZToycHggc29saWQgdmFyKC0tZm9jdXMtb3V0bGluZUNvbG9yKTtvdXRsaW5lLW9mZnNldDotMnB4O2JveC1zaGFkb3c6bm9uZX0ubWFya2Rvd24tYm9keSBbcm9sZT1idXR0b25dOmZvY3VzLXZpc2libGV7b3V0bGluZToycHggc29saWQgdmFyKC0tZm9jdXMtb3V0bGluZUNvbG9yKTtvdXRsaW5lLW9mZnNldDotMnB4O2JveC1zaGFkb3c6bm9uZX0ubWFya2Rvd24tYm9keSBpbnB1dFt0eXBlPXJhZGlvXTpmb2N1cy12aXNpYmxle291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWZvY3VzLW91dGxpbmVDb2xvcik7b3V0bGluZS1vZmZzZXQ6LTJweDtib3gtc2hhZG93Om5vbmV9Lm1hcmtkb3duLWJvZHkgaW5wdXRbdHlwZT1jaGVja2JveF06Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOjJweCBzb2xpZCB2YXIoLS1mb2N1cy1vdXRsaW5lQ29sb3IpO291dGxpbmUtb2Zmc2V0Oi0ycHg7Ym94LXNoYWRvdzpub25lfS5tYXJrZG93bi1ib2R5IGE6bm90KFtjbGFzc10pOmZvY3Vze291dGxpbmUtb2Zmc2V0OjB9Lm1hcmtkb3duLWJvZHkgYTpub3QoW2NsYXNzXSk6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLW9mZnNldDowfS5tYXJrZG93bi1ib2R5IGlucHV0W3R5cGU9cmFkaW9dOmZvY3Vze291dGxpbmUtb2Zmc2V0OjB9Lm1hcmtkb3duLWJvZHkgaW5wdXRbdHlwZT1yYWRpb106Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLW9mZnNldDowfS5tYXJrZG93bi1ib2R5IGlucHV0W3R5cGU9Y2hlY2tib3hdOmZvY3Vze291dGxpbmUtb2Zmc2V0OjB9Lm1hcmtkb3duLWJvZHkgaW5wdXRbdHlwZT1jaGVja2JveF06Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLW9mZnNldDowfS5tYXJrZG93bi1ib2R5IGtiZHtwYWRkaW5nOnZhcigtLWJhc2Utc2l6ZS00KTtmb250OjExcHggdmFyKC0tZm9udFN0YWNrLW1vbm9zcGFjZSx1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBTRiBNb25vLCBNZW5sbywgQ29uc29sYXMsIExpYmVyYXRpb24gTW9ubywgbW9ub3NwYWNlKTtjb2xvcjp2YXIoLS1mZ0NvbG9yLWRlZmF1bHQpO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWJnQ29sb3ItbXV0ZWQpO2JvcmRlcjpzb2xpZCAxcHggdmFyKC0tYm9yZGVyQ29sb3ItbmV1dHJhbC1tdXRlZCk7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1ib3JkZXJDb2xvci1uZXV0cmFsLW11dGVkKTtib3gtc2hhZG93Omluc2V0IDAgLTFweCAwIHZhcigtLWJvcmRlckNvbG9yLW5ldXRyYWwtbXV0ZWQpO2JvcmRlci1yYWRpdXM6NnB4O2xpbmUtaGVpZ2h0OjEwcHg7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lm1hcmtkb3duLWJvZHkgaDEsLm1hcmtkb3duLWJvZHkgaDIsLm1hcmtkb3duLWJvZHkgaDMsLm1hcmtkb3duLWJvZHkgaDQsLm1hcmtkb3duLWJvZHkgaDUsLm1hcmtkb3duLWJvZHkgaDZ7bWFyZ2luLXRvcDp2YXIoLS1iYXNlLXNpemUtMjQpO21hcmdpbi1ib3R0b206dmFyKC0tYmFzZS1zaXplLTE2KTtmb250LXdlaWdodDp2YXIoLS1iYXNlLXRleHQtd2VpZ2h0LXNlbWlib2xkLDYwMCk7bGluZS1oZWlnaHQ6MS4yNX0ubWFya2Rvd24tYm9keSBoMntmb250LXdlaWdodDp2YXIoLS1iYXNlLXRleHQtd2VpZ2h0LXNlbWlib2xkLDYwMCk7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyQ29sb3ItbXV0ZWQpO3BhZGRpbmctYm90dG9tOi4zZW07Zm9udC1zaXplOjEuNWVtfS5tYXJrZG93bi1ib2R5IGgze2ZvbnQtd2VpZ2h0OnZhcigtLWJhc2UtdGV4dC13ZWlnaHQtc2VtaWJvbGQsNjAwKTtmb250LXNpemU6MS4yNWVtfS5tYXJrZG93bi1ib2R5IGg0e2ZvbnQtd2VpZ2h0OnZhcigtLWJhc2UtdGV4dC13ZWlnaHQtc2VtaWJvbGQsNjAwKTtmb250LXNpemU6MWVtfS5tYXJrZG93bi1ib2R5IGg1e2ZvbnQtd2VpZ2h0OnZhcigtLWJhc2UtdGV4dC13ZWlnaHQtc2VtaWJvbGQsNjAwKTtmb250LXNpemU6Ljg3NWVtfS5tYXJrZG93bi1ib2R5IGg2e2ZvbnQtd2VpZ2h0OnZhcigtLWJhc2UtdGV4dC13ZWlnaHQtc2VtaWJvbGQsNjAwKTtjb2xvcjp2YXIoLS1mZ0NvbG9yLW11dGVkKTtmb250LXNpemU6Ljg1ZW19Lm1hcmtkb3duLWJvZHkgcHttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbToxMHB4fS5tYXJrZG93bi1ib2R5IGJsb2NrcXVvdGV7Y29sb3I6dmFyKC0tZmdDb2xvci1tdXRlZCk7Ym9yZGVyLWxlZnQ6LjI1ZW0gc29saWQgdmFyKC0tYm9yZGVyQ29sb3ItZGVmYXVsdCk7bWFyZ2luOjA7cGFkZGluZzowIDFlbX0ubWFya2Rvd24tYm9keSB1bCwubWFya2Rvd24tYm9keSBvbHttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowO3BhZGRpbmctbGVmdDoyZW19Lm1hcmtkb3duLWJvZHkgb2wgb2wsLm1hcmtkb3duLWJvZHkgdWwgb2x7bGlzdC1zdHlsZS10eXBlOmxvd2VyLXJvbWFufS5tYXJrZG93bi1ib2R5IHVsIHVsIG9sLC5tYXJrZG93bi1ib2R5IHVsIG9sIG9sLC5tYXJrZG93bi1ib2R5IG9sIHVsIG9sLC5tYXJrZG93bi1ib2R5IG9sIG9sIG9se2xpc3Qtc3R5bGUtdHlwZTpsb3dlci1hbHBoYX0ubWFya2Rvd24tYm9keSBkZHttYXJnaW4tbGVmdDowfS5tYXJrZG93bi1ib2R5IHR0LC5tYXJrZG93bi1ib2R5IGNvZGUsLm1hcmtkb3duLWJvZHkgc2FtcHtmb250LWZhbWlseTp2YXIoLS1mb250U3RhY2stbW9ub3NwYWNlLHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIFNGIE1vbm8sIE1lbmxvLCBDb25zb2xhcywgTGliZXJhdGlvbiBNb25vLCBtb25vc3BhY2UpO2ZvbnQtc2l6ZToxMnB4fS5tYXJrZG93bi1ib2R5IHByZXtmb250LWZhbWlseTp2YXIoLS1mb250U3RhY2stbW9ub3NwYWNlLHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIFNGIE1vbm8sIE1lbmxvLCBDb25zb2xhcywgTGliZXJhdGlvbiBNb25vLCBtb25vc3BhY2UpO3dvcmQtd3JhcDpub3JtYWw7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MDtmb250LXNpemU6MTJweH0ubWFya2Rvd24tYm9keSAub2N0aWNvbnt2ZXJ0aWNhbC1hbGlnbjp0ZXh0LWJvdHRvbTtmaWxsOmN1cnJlbnRDb2xvcjtkaXNwbGF5OmlubGluZS1ibG9jaztvdmVyZmxvdzp2aXNpYmxlIWltcG9ydGFudH0ubWFya2Rvd24tYm9keSBpbnB1dDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZTstbXMtYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTttYXJnaW46MH0ubWFya2Rvd24tYm9keSBpbnB1dDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZTstbXMtYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTttYXJnaW46MH0ubWFya2Rvd24tYm9keSAubXItMnttYXJnaW4tcmlnaHQ6dmFyKC0tYmFzZS1zaXplLTgsOHB4KSFpbXBvcnRhbnR9Lm1hcmtkb3duLWJvZHk6YmVmb3Jle2NvbnRlbnQ6IiI7ZGlzcGxheTp0YWJsZX0ubWFya2Rvd24tYm9keTphZnRlcntjbGVhcjpib3RoO2NvbnRlbnQ6IiI7ZGlzcGxheTp0YWJsZX0ubWFya2Rvd24tYm9keT46Zmlyc3QtY2hpbGR7bWFyZ2luLXRvcDowIWltcG9ydGFudH0ubWFya2Rvd24tYm9keT46bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjAhaW1wb3J0YW50fS5tYXJrZG93bi1ib2R5IGE6bm90KFtocmVmXSl7Y29sb3I6aW5oZXJpdDt0ZXh0LWRlY29yYXRpb246bm9uZX0ubWFya2Rvd24tYm9keSAuYWJzZW50e2NvbG9yOnZhcigtLWZnQ29sb3ItZGFuZ2VyKX0ubWFya2Rvd24tYm9keSAuYW5jaG9ye2Zsb2F0OmxlZnQ7cGFkZGluZy1yaWdodDp2YXIoLS1iYXNlLXNpemUtNCk7bWFyZ2luLWxlZnQ6LTIwcHg7bGluZS1oZWlnaHQ6MX0ubWFya2Rvd24tYm9keSAuYW5jaG9yOmZvY3Vze291dGxpbmU6bm9uZX0ubWFya2Rvd24tYm9keSBwLC5tYXJrZG93bi1ib2R5IGJsb2NrcXVvdGUsLm1hcmtkb3duLWJvZHkgdWwsLm1hcmtkb3duLWJvZHkgb2wsLm1hcmtkb3duLWJvZHkgZGwsLm1hcmtkb3duLWJvZHkgdGFibGUsLm1hcmtkb3duLWJvZHkgcHJlLC5tYXJrZG93bi1ib2R5IGRldGFpbHN7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206dmFyKC0tYmFzZS1zaXplLTE2KX0ubWFya2Rvd24tYm9keSBibG9ja3F1b3RlPjpmaXJzdC1jaGlsZHttYXJnaW4tdG9wOjB9Lm1hcmtkb3duLWJvZHkgYmxvY2txdW90ZT46bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9Lm1hcmtkb3duLWJvZHkgaDEgLm9jdGljb24tbGluaywubWFya2Rvd24tYm9keSBoMiAub2N0aWNvbi1saW5rLC5tYXJrZG93bi1ib2R5IGgzIC5vY3RpY29uLWxpbmssLm1hcmtkb3duLWJvZHkgaDQgLm9jdGljb24tbGluaywubWFya2Rvd24tYm9keSBoNSAub2N0aWNvbi1saW5rLC5tYXJrZG93bi1ib2R5IGg2IC5vY3RpY29uLWxpbmt7Y29sb3I6dmFyKC0tZmdDb2xvci1kZWZhdWx0KTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7dmlzaWJpbGl0eTpoaWRkZW59Lm1hcmtkb3duLWJvZHkgaDE6aG92ZXIgLmFuY2hvciwubWFya2Rvd24tYm9keSBoMjpob3ZlciAuYW5jaG9yLC5tYXJrZG93bi1ib2R5IGgzOmhvdmVyIC5hbmNob3IsLm1hcmtkb3duLWJvZHkgaDQ6aG92ZXIgLmFuY2hvciwubWFya2Rvd24tYm9keSBoNTpob3ZlciAuYW5jaG9yLC5tYXJrZG93bi1ib2R5IGg2OmhvdmVyIC5hbmNob3J7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Lm1hcmtkb3duLWJvZHkgaDE6aG92ZXIgLmFuY2hvciAub2N0aWNvbi1saW5rLC5tYXJrZG93bi1ib2R5IGgyOmhvdmVyIC5hbmNob3IgLm9jdGljb24tbGluaywubWFya2Rvd24tYm9keSBoMzpob3ZlciAuYW5jaG9yIC5vY3RpY29uLWxpbmssLm1hcmtkb3duLWJvZHkgaDQ6aG92ZXIgLmFuY2hvciAub2N0aWNvbi1saW5rLC5tYXJrZG93bi1ib2R5IGg1OmhvdmVyIC5hbmNob3IgLm9jdGljb24tbGluaywubWFya2Rvd24tYm9keSBoNjpob3ZlciAuYW5jaG9yIC5vY3RpY29uLWxpbmt7dmlzaWJpbGl0eTp2aXNpYmxlfS5tYXJrZG93bi1ib2R5IGgxIHR0LC5tYXJrZG93bi1ib2R5IGgxIGNvZGUsLm1hcmtkb3duLWJvZHkgaDIgdHQsLm1hcmtkb3duLWJvZHkgaDIgY29kZSwubWFya2Rvd24tYm9keSBoMyB0dCwubWFya2Rvd24tYm9keSBoMyBjb2RlLC5tYXJrZG93bi1ib2R5IGg0IHR0LC5tYXJrZG93bi1ib2R5IGg0IGNvZGUsLm1hcmtkb3duLWJvZHkgaDUgdHQsLm1hcmtkb3duLWJvZHkgaDUgY29kZSwubWFya2Rvd24tYm9keSBoNiB0dCwubWFya2Rvd24tYm9keSBoNiBjb2Rle2ZvbnQtc2l6ZTppbmhlcml0O3BhZGRpbmc6MCAuMmVtfS5tYXJrZG93bi1ib2R5IHN1bW1hcnkgaDEsLm1hcmtkb3duLWJvZHkgc3VtbWFyeSBoMiwubWFya2Rvd24tYm9keSBzdW1tYXJ5IGgzLC5tYXJrZG93bi1ib2R5IHN1bW1hcnkgaDQsLm1hcmtkb3duLWJvZHkgc3VtbWFyeSBoNSwubWFya2Rvd24tYm9keSBzdW1tYXJ5IGg2e2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5tYXJrZG93bi1ib2R5IHN1bW1hcnkgaDEgLmFuY2hvciwubWFya2Rvd24tYm9keSBzdW1tYXJ5IGgyIC5hbmNob3IsLm1hcmtkb3duLWJvZHkgc3VtbWFyeSBoMyAuYW5jaG9yLC5tYXJrZG93bi1ib2R5IHN1bW1hcnkgaDQgLmFuY2hvciwubWFya2Rvd24tYm9keSBzdW1tYXJ5IGg1IC5hbmNob3IsLm1hcmtkb3duLWJvZHkgc3VtbWFyeSBoNiAuYW5jaG9ye21hcmdpbi1sZWZ0Oi00MHB4fS5tYXJrZG93bi1ib2R5IHN1bW1hcnkgaDEsLm1hcmtkb3duLWJvZHkgc3VtbWFyeSBoMntib3JkZXItYm90dG9tOjA7cGFkZGluZy1ib3R0b206MH0ubWFya2Rvd24tYm9keSB1bC5uby1saXN0LC5tYXJrZG93bi1ib2R5IG9sLm5vLWxpc3R7cGFkZGluZzowO2xpc3Qtc3R5bGUtdHlwZTpub25lfS5tYXJrZG93bi1ib2R5IG9sW3R5cGU9YVwgc117bGlzdC1zdHlsZS10eXBlOmxvd2VyLWFscGhhfS5tYXJrZG93bi1ib2R5IG9sW3R5cGU9QVwgc117bGlzdC1zdHlsZS10eXBlOnVwcGVyLWFscGhhfS5tYXJrZG93bi1ib2R5IG9sW3R5cGU9aVwgc117bGlzdC1zdHlsZS10eXBlOmxvd2VyLXJvbWFufS5tYXJrZG93bi1ib2R5IG9sW3R5cGU9SVwgc117bGlzdC1zdHlsZS10eXBlOnVwcGVyLXJvbWFufS5tYXJrZG93bi1ib2R5IG9sW3R5cGU9IjEiXXtsaXN0LXN0eWxlLXR5cGU6ZGVjaW1hbH0ubWFya2Rvd24tYm9keSBkaXY+b2w6bm90KFt0eXBlXSl7bGlzdC1zdHlsZS10eXBlOmRlY2ltYWx9Lm1hcmtkb3duLWJvZHkgdWwgdWwsLm1hcmtkb3duLWJvZHkgdWwgb2wsLm1hcmtkb3duLWJvZHkgb2wgb2wsLm1hcmtkb3duLWJvZHkgb2wgdWx7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MH0ubWFya2Rvd24tYm9keSBsaT5we21hcmdpbi10b3A6dmFyKC0tYmFzZS1zaXplLTE2KX0ubWFya2Rvd24tYm9keSBsaStsaXttYXJnaW4tdG9wOi4yNWVtfS5tYXJrZG93bi1ib2R5IGRse3BhZGRpbmc6MH0ubWFya2Rvd24tYm9keSBkbCBkdHttYXJnaW4tdG9wOnZhcigtLWJhc2Utc2l6ZS0xNik7Zm9udC1zaXplOjFlbTtmb250LXN0eWxlOml0YWxpYztmb250LXdlaWdodDp2YXIoLS1iYXNlLXRleHQtd2VpZ2h0LXNlbWlib2xkLDYwMCk7cGFkZGluZzowfS5tYXJrZG93bi1ib2R5IGRsIGRke3BhZGRpbmc6MCB2YXIoLS1iYXNlLXNpemUtMTYpO21hcmdpbi1ib3R0b206dmFyKC0tYmFzZS1zaXplLTE2KX0ubWFya2Rvd24tYm9keSB0YWJsZSB0aHtmb250LXdlaWdodDp2YXIoLS1iYXNlLXRleHQtd2VpZ2h0LXNlbWlib2xkLDYwMCl9Lm1hcmtkb3duLWJvZHkgdGFibGUgdGgsLm1hcmtkb3duLWJvZHkgdGFibGUgdGR7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXJDb2xvci1kZWZhdWx0KTtwYWRkaW5nOjZweCAxM3B4fS5tYXJrZG93bi1ib2R5IHRhYmxlIHRkPjpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0ubWFya2Rvd24tYm9keSB0YWJsZSB0cntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWJnQ29sb3ItZGVmYXVsdCk7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tYm9yZGVyQ29sb3ItbXV0ZWQpfS5tYXJrZG93bi1ib2R5IHRhYmxlIHRyOm50aC1jaGlsZCgybil7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1iZ0NvbG9yLW11dGVkKX0ubWFya2Rvd24tYm9keSB0YWJsZSBpbWd7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ubWFya2Rvd24tYm9keSBpbWdbYWxpZ249cmlnaHRde3BhZGRpbmctbGVmdDoyMHB4fS5tYXJrZG93bi1ib2R5IGltZ1thbGlnbj1sZWZ0XXtwYWRkaW5nLXJpZ2h0OjIwcHh9Lm1hcmtkb3duLWJvZHkgLmVtb2ppe3ZlcnRpY2FsLWFsaWduOnRleHQtdG9wO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7bWF4LXdpZHRoOm5vbmV9Lm1hcmtkb3duLWJvZHkgc3Bhbi5mcmFtZXtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbn0ubWFya2Rvd24tYm9keSBzcGFuLmZyYW1lPnNwYW57ZmxvYXQ6bGVmdDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlckNvbG9yLWRlZmF1bHQpO3dpZHRoOmF1dG87bWFyZ2luOjEzcHggMCAwO3BhZGRpbmc6N3B4O2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVufS5tYXJrZG93bi1ib2R5IHNwYW4uZnJhbWUgc3BhbiBpbWd7ZmxvYXQ6bGVmdDtkaXNwbGF5OmJsb2NrfS5tYXJrZG93bi1ib2R5IHNwYW4uZnJhbWUgc3BhbiBzcGFue2NsZWFyOmJvdGg7Y29sb3I6dmFyKC0tZmdDb2xvci1kZWZhdWx0KTtwYWRkaW5nOjVweCAwIDA7ZGlzcGxheTpibG9ja30ubWFya2Rvd24tYm9keSBzcGFuLmFsaWduLWNlbnRlcntjbGVhcjpib3RoO2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVufS5tYXJrZG93bi1ib2R5IHNwYW4uYWxpZ24tY2VudGVyPnNwYW57dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjEzcHggYXV0byAwO2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVufS5tYXJrZG93bi1ib2R5IHNwYW4uYWxpZ24tY2VudGVyIHNwYW4gaW1ne3RleHQtYWxpZ246Y2VudGVyO21hcmdpbjowIGF1dG99Lm1hcmtkb3duLWJvZHkgc3Bhbi5hbGlnbi1yaWdodHtjbGVhcjpib3RoO2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVufS5tYXJrZG93bi1ib2R5IHNwYW4uYWxpZ24tcmlnaHQ+c3Bhbnt0ZXh0LWFsaWduOnJpZ2h0O21hcmdpbjoxM3B4IDAgMDtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbn0ubWFya2Rvd24tYm9keSBzcGFuLmFsaWduLXJpZ2h0IHNwYW4gaW1ne3RleHQtYWxpZ246cmlnaHQ7bWFyZ2luOjB9Lm1hcmtkb3duLWJvZHkgc3Bhbi5mbG9hdC1sZWZ0e2Zsb2F0OmxlZnQ7bWFyZ2luLXJpZ2h0OjEzcHg7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW59Lm1hcmtkb3duLWJvZHkgc3Bhbi5mbG9hdC1sZWZ0IHNwYW57bWFyZ2luOjEzcHggMCAwfS5tYXJrZG93bi1ib2R5IHNwYW4uZmxvYXQtcmlnaHR7ZmxvYXQ6cmlnaHQ7bWFyZ2luLWxlZnQ6MTNweDtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbn0ubWFya2Rvd24tYm9keSBzcGFuLmZsb2F0LXJpZ2h0PnNwYW57dGV4dC1hbGlnbjpyaWdodDttYXJnaW46MTNweCBhdXRvIDA7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW59Lm1hcmtkb3duLWJvZHkgY29kZSwubWFya2Rvd24tYm9keSB0dHt3aGl0ZS1zcGFjZTpicmVhay1zcGFjZXM7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1iZ0NvbG9yLW5ldXRyYWwtbXV0ZWQpO2JvcmRlci1yYWRpdXM6NnB4O21hcmdpbjowO3BhZGRpbmc6LjJlbSAuNGVtO2ZvbnQtc2l6ZTo4NSV9Lm1hcmtkb3duLWJvZHkgY29kZSBiciwubWFya2Rvd24tYm9keSB0dCBicntkaXNwbGF5Om5vbmV9Lm1hcmtkb3duLWJvZHkgZGVsIGNvZGV7LXdlYmtpdC10ZXh0LWRlY29yYXRpb246aW5oZXJpdDt0ZXh0LWRlY29yYXRpb246aW5oZXJpdH0ubWFya2Rvd24tYm9keSBzYW1we2ZvbnQtc2l6ZTo4NSV9Lm1hcmtkb3duLWJvZHkgcHJlIGNvZGV7Zm9udC1zaXplOjEwMCV9Lm1hcmtkb3duLWJvZHkgcHJlPmNvZGV7d29yZC1icmVhazpub3JtYWw7d2hpdGUtc3BhY2U6cHJlO2JhY2tncm91bmQ6MCAwO2JvcmRlcjowO21hcmdpbjowO3BhZGRpbmc6MH0ubWFya2Rvd24tYm9keSAuaGlnaGxpZ2h0e21hcmdpbi1ib3R0b206dmFyKC0tYmFzZS1zaXplLTE2KX0ubWFya2Rvd24tYm9keSAuaGlnaGxpZ2h0IHByZXt3b3JkLWJyZWFrOm5vcm1hbDttYXJnaW4tYm90dG9tOjB9Lm1hcmtkb3duLWJvZHkgLmhpZ2hsaWdodCBwcmUsLm1hcmtkb3duLWJvZHkgcHJle3BhZGRpbmc6dmFyKC0tYmFzZS1zaXplLTE2KTtjb2xvcjp2YXIoLS1mZ0NvbG9yLWRlZmF1bHQpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tYmdDb2xvci1tdXRlZCk7Ym9yZGVyLXJhZGl1czo2cHg7Zm9udC1zaXplOjg1JTtsaW5lLWhlaWdodDoxLjQ1O292ZXJmbG93OmF1dG99Lm1hcmtkb3duLWJvZHkgcHJlIGNvZGUsLm1hcmtkb3duLWJvZHkgcHJlIHR0e2xpbmUtaGVpZ2h0OmluaGVyaXQ7d29yZC13cmFwOm5vcm1hbDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjowO21hcmdpbjowO3BhZGRpbmc6MDtkaXNwbGF5OmlubGluZTtvdmVyZmxvdzp2aXNpYmxlfS5tYXJrZG93bi1ib2R5IC5jc3YtZGF0YSB0ZCwubWFya2Rvd24tYm9keSAuY3N2LWRhdGEgdGh7dGV4dC1hbGlnbjpsZWZ0O3doaXRlLXNwYWNlOm5vd3JhcDtwYWRkaW5nOjVweDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxO292ZXJmbG93OmhpZGRlbn0ubWFya2Rvd24tYm9keSAuY3N2LWRhdGEgLmJsb2ItbnVte3BhZGRpbmc6MTBweCB2YXIoLS1iYXNlLXNpemUtOCkgOXB4O3RleHQtYWxpZ246cmlnaHQ7YmFja2dyb3VuZDp2YXIoLS1iZ0NvbG9yLWRlZmF1bHQpO2JvcmRlcjowfS5tYXJrZG93bi1ib2R5IC5jc3YtZGF0YSB0cntib3JkZXItdG9wOjB9Lm1hcmtkb3duLWJvZHkgLmNzdi1kYXRhIHRoe2ZvbnQtd2VpZ2h0OnZhcigtLWJhc2UtdGV4dC13ZWlnaHQtc2VtaWJvbGQsNjAwKTtiYWNrZ3JvdW5kOnZhcigtLWJnQ29sb3ItbXV0ZWQpO2JvcmRlci10b3A6MH0ubWFya2Rvd24tYm9keSBbZGF0YS1mb290bm90ZS1yZWZdOmJlZm9yZXtjb250ZW50OiJbIn0ubWFya2Rvd24tYm9keSBbZGF0YS1mb290bm90ZS1yZWZdOmFmdGVye2NvbnRlbnQ6Il0ifS5tYXJrZG93bi1ib2R5IC5mb290bm90ZXN7Y29sb3I6dmFyKC0tZmdDb2xvci1tdXRlZCk7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tYm9yZGVyQ29sb3ItZGVmYXVsdCk7Zm9udC1zaXplOjEycHh9Lm1hcmtkb3duLWJvZHkgLmZvb3Rub3RlcyBvbHtwYWRkaW5nLWxlZnQ6dmFyKC0tYmFzZS1zaXplLTE2KX0ubWFya2Rvd24tYm9keSAuZm9vdG5vdGVzIG9sIHVse3BhZGRpbmctbGVmdDp2YXIoLS1iYXNlLXNpemUtMTYpO21hcmdpbi10b3A6dmFyKC0tYmFzZS1zaXplLTE2KTtkaXNwbGF5OmlubGluZS1ibG9ja30ubWFya2Rvd24tYm9keSAuZm9vdG5vdGVzIGxpe3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXJrZG93bi1ib2R5IC5mb290bm90ZXMgbGk6dGFyZ2V0OmJlZm9yZXt0b3A6Y2FsYyh2YXIoLS1iYXNlLXNpemUtOCkqLTEpO3JpZ2h0OmNhbGModmFyKC0tYmFzZS1zaXplLTgpKi0xKTtib3R0b206Y2FsYyh2YXIoLS1iYXNlLXNpemUtOCkqLTEpO2xlZnQ6Y2FsYyh2YXIoLS1iYXNlLXNpemUtMjQpKi0xKTtwb2ludGVyLWV2ZW50czpub25lO2NvbnRlbnQ6IiI7Ym9yZGVyOjJweCBzb2xpZCB2YXIoLS1ib3JkZXJDb2xvci1hY2NlbnQtZW1waGFzaXMpO2JvcmRlci1yYWRpdXM6NnB4O3Bvc2l0aW9uOmFic29sdXRlfS5tYXJrZG93bi1ib2R5IC5mb290bm90ZXMgbGk6dGFyZ2V0e2NvbG9yOnZhcigtLWZnQ29sb3ItZGVmYXVsdCl9Lm1hcmtkb3duLWJvZHkgLmZvb3Rub3RlcyAuZGF0YS1mb290bm90ZS1iYWNrcmVmIGctZW1vaml7Zm9udC1mYW1pbHk6bW9ub3NwYWNlfS5tYXJrZG93bi1ib2R5IC5wbC1je2NvbG9yOnZhcigtLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtY29tbWVudCl9Lm1hcmtkb3duLWJvZHkgLnBsLWMxLC5tYXJrZG93bi1ib2R5IC5wbC1zIC5wbC12e2NvbG9yOnZhcigtLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtY29uc3RhbnQpfS5tYXJrZG93bi1ib2R5IC5wbC1lLC5tYXJrZG93bi1ib2R5IC5wbC1lbntjb2xvcjp2YXIoLS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LWVudGl0eSl9Lm1hcmtkb3duLWJvZHkgLnBsLXNtaSwubWFya2Rvd24tYm9keSAucGwtcyAucGwtczF7Y29sb3I6dmFyKC0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1zdG9yYWdlLW1vZGlmaWVyLWltcG9ydCl9Lm1hcmtkb3duLWJvZHkgLnBsLWVudHtjb2xvcjp2YXIoLS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LWVudGl0eS10YWcpfS5tYXJrZG93bi1ib2R5IC5wbC1re2NvbG9yOnZhcigtLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgta2V5d29yZCl9Lm1hcmtkb3duLWJvZHkgLnBsLXMsLm1hcmtkb3duLWJvZHkgLnBsLXBkcywubWFya2Rvd24tYm9keSAucGwtcyAucGwtcHNlIC5wbC1zMSwubWFya2Rvd24tYm9keSAucGwtc3IsLm1hcmtkb3duLWJvZHkgLnBsLXNyIC5wbC1jY2UsLm1hcmtkb3duLWJvZHkgLnBsLXNyIC5wbC1zcmUsLm1hcmtkb3duLWJvZHkgLnBsLXNyIC5wbC1zcmF7Y29sb3I6dmFyKC0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1zdHJpbmcpfS5tYXJrZG93bi1ib2R5IC5wbC12LC5tYXJrZG93bi1ib2R5IC5wbC1zbXd7Y29sb3I6dmFyKC0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC12YXJpYWJsZSl9Lm1hcmtkb3duLWJvZHkgLnBsLWJ1e2NvbG9yOnZhcigtLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtYnJhY2tldGhpZ2hsaWdodGVyLXVubWF0Y2hlZCl9Lm1hcmtkb3duLWJvZHkgLnBsLWlpe2NvbG9yOnZhcigtLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtaW52YWxpZC1pbGxlZ2FsLXRleHQpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1pbnZhbGlkLWlsbGVnYWwtYmcpfS5tYXJrZG93bi1ib2R5IC5wbC1jMntjb2xvcjp2YXIoLS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LWNhcnJpYWdlLXJldHVybi10ZXh0KTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtY2FycmlhZ2UtcmV0dXJuLWJnKX0ubWFya2Rvd24tYm9keSAucGwtc3IgLnBsLWNjZXtjb2xvcjp2YXIoLS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LXN0cmluZy1yZWdleHApO2ZvbnQtd2VpZ2h0OjcwMH0ubWFya2Rvd24tYm9keSAucGwtbWx7Y29sb3I6dmFyKC0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tYXJrdXAtbGlzdCl9Lm1hcmtkb3duLWJvZHkgLnBsLW1oLC5tYXJrZG93bi1ib2R5IC5wbC1taCAucGwtZW4sLm1hcmtkb3duLWJvZHkgLnBsLW1ze2NvbG9yOnZhcigtLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtbWFya3VwLWhlYWRpbmcpO2ZvbnQtd2VpZ2h0OjcwMH0ubWFya2Rvd24tYm9keSAucGwtbWl7Y29sb3I6dmFyKC0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tYXJrdXAtaXRhbGljKTtmb250LXN0eWxlOml0YWxpY30ubWFya2Rvd24tYm9keSAucGwtbWJ7Y29sb3I6dmFyKC0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tYXJrdXAtYm9sZCk7Zm9udC13ZWlnaHQ6NzAwfS5tYXJrZG93bi1ib2R5IC5wbC1tZHtjb2xvcjp2YXIoLS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LW1hcmt1cC1kZWxldGVkLXRleHQpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tYXJrdXAtZGVsZXRlZC1iZyl9Lm1hcmtkb3duLWJvZHkgLnBsLW1pMXtjb2xvcjp2YXIoLS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LW1hcmt1cC1pbnNlcnRlZC10ZXh0KTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtbWFya3VwLWluc2VydGVkLWJnKX0ubWFya2Rvd24tYm9keSAucGwtbWN7Y29sb3I6dmFyKC0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tYXJrdXAtY2hhbmdlZC10ZXh0KTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtbWFya3VwLWNoYW5nZWQtYmcpfS5tYXJrZG93bi1ib2R5IC5wbC1taTJ7Y29sb3I6dmFyKC0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tYXJrdXAtaWdub3JlZC10ZXh0KTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtbWFya3VwLWlnbm9yZWQtYmcpfS5tYXJrZG93bi1ib2R5IC5wbC1tZHJ7Y29sb3I6dmFyKC0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1tZXRhLWRpZmYtcmFuZ2UpO2ZvbnQtd2VpZ2h0OjcwMH0ubWFya2Rvd24tYm9keSAucGwtYmF7Y29sb3I6dmFyKC0tY29sb3ItcHJldHR5bGlnaHRzLXN5bnRheC1icmFja2V0aGlnaGxpZ2h0ZXItYW5nbGUpfS5tYXJrZG93bi1ib2R5IC5wbC1zZ3tjb2xvcjp2YXIoLS1jb2xvci1wcmV0dHlsaWdodHMtc3ludGF4LXN1YmxpbWVsaW50ZXItZ3V0dGVyLW1hcmspfS5tYXJrZG93bi1ib2R5IC5wbC1jb3Jse2NvbG9yOnZhcigtLWNvbG9yLXByZXR0eWxpZ2h0cy1zeW50YXgtY29uc3RhbnQtb3RoZXItcmVmZXJlbmNlLWxpbmspO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9Lm1hcmtkb3duLWJvZHkgW3JvbGU9YnV0dG9uXTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpe2JveC1zaGFkb3c6bm9uZTtvdXRsaW5lOm5vbmV9Lm1hcmtkb3duLWJvZHkgW3JvbGU9dGFicGFuZWxdW3RhYmluZGV4PSIwIl06Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtib3gtc2hhZG93Om5vbmU7b3V0bGluZTpub25lfS5tYXJrZG93bi1ib2R5IGJ1dHRvbjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpe2JveC1zaGFkb3c6bm9uZTtvdXRsaW5lOm5vbmV9Lm1hcmtkb3duLWJvZHkgc3VtbWFyeTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpe2JveC1zaGFkb3c6bm9uZTtvdXRsaW5lOm5vbmV9Lm1hcmtkb3duLWJvZHkgYTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpe2JveC1zaGFkb3c6bm9uZTtvdXRsaW5lOm5vbmV9Lm1hcmtkb3duLWJvZHkgW3RhYmluZGV4PSIwIl06Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtvdXRsaW5lOm5vbmV9Lm1hcmtkb3duLWJvZHkgZGV0YWlscy1kaWFsb2c6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtvdXRsaW5lOm5vbmV9Lm1hcmtkb3duLWJvZHkgZy1lbW9qaXttaW4td2lkdGg6MWNoO2ZvbnQtZmFtaWx5OkFwcGxlIENvbG9yIEVtb2ppLFNlZ29lIFVJIEVtb2ppLFNlZ29lIFVJIFN5bWJvbDtmb250LXNpemU6MWVtO2ZvbnQtd2VpZ2h0OnZhcigtLWJhc2UtdGV4dC13ZWlnaHQtbm9ybWFsLDQwMCk7dmVydGljYWwtYWxpZ246LS4wNzVlbTtsaW5lLWhlaWdodDoxO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc3R5bGU6bm9ybWFsIWltcG9ydGFudH0ubWFya2Rvd24tYm9keSBnLWVtb2ppIGltZ3t3aWR0aDoxZW07aGVpZ2h0OjFlbX0ubWFya2Rvd24tYm9keSBhOmhhcyg+cCw+ZGl2LD5wcmUsPmJsb2NrcXVvdGUpe2Rpc3BsYXk6YmxvY2t9Lm1hcmtkb3duLWJvZHkgYTpoYXMoPnAsPmRpdiw+cHJlLD5ibG9ja3F1b3RlKTpub3QoOmhhcyguc25pcHBldC1jbGlwYm9hcmQtY29udGVudCw+cHJlKSl7d2lkdGg6LXdlYmtpdC1maXQtY29udGVudDt3aWR0aDotbW96LWZpdC1jb250ZW50O3dpZHRoOmZpdC1jb250ZW50fS5tYXJrZG93bi1ib2R5IGE6aGFzKD5wLD5kaXYsPnByZSw+YmxvY2txdW90ZSk6aGFzKC5zbmlwcGV0LWNsaXBib2FyZC1jb250ZW50LD5wcmUpOmZvY3VzLXZpc2libGV7b3V0bGluZToycHggc29saWQgdmFyKC0tZm9jdXMtb3V0bGluZUNvbG9yKTtvdXRsaW5lLW9mZnNldDoycHh9Lm1hcmtkb3duLWJvZHkgLnRhc2stbGlzdC1pdGVte2xpc3Qtc3R5bGUtdHlwZTpub25lfS5tYXJrZG93bi1ib2R5IC50YXNrLWxpc3QtaXRlbSBsYWJlbHtmb250LXdlaWdodDp2YXIoLS1iYXNlLXRleHQtd2VpZ2h0LW5vcm1hbCw0MDApfS5tYXJrZG93bi1ib2R5IC50YXNrLWxpc3QtaXRlbS5lbmFibGVkIGxhYmVse2N1cnNvcjpwb2ludGVyfS5tYXJrZG93bi1ib2R5IC50YXNrLWxpc3QtaXRlbSsudGFzay1saXN0LWl0ZW17bWFyZ2luLXRvcDp2YXIoLS1iYXNlLXNpemUtNCl9Lm1hcmtkb3duLWJvZHkgLnRhc2stbGlzdC1pdGVtIC5oYW5kbGV7ZGlzcGxheTpub25lfS5tYXJrZG93bi1ib2R5IC50YXNrLWxpc3QtaXRlbS1jaGVja2JveHt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7bWFyZ2luOjAgLjJlbSAuMjVlbSAtMS40ZW19Lm1hcmtkb3duLWJvZHkgdWw6LXdlYmtpdC1hbnkoOmxhbmcoYWUpLDpsYW5nKGFyKSw6bGFuZyhhcmMpLDpsYW5nKGJjYyksOmxhbmcoYnFpKSw6bGFuZyhja2IpLDpsYW5nKGR2KSw6bGFuZyhmYSksOmxhbmcoZ2xrKSw6bGFuZyhoZSksOmxhbmcoa3UpLDpsYW5nKG16biksOmxhbmcobnFvKSw6bGFuZyhwbmIpLDpsYW5nKHBzKSw6bGFuZyhzZCksOmxhbmcodWcpLDpsYW5nKHVyKSw6bGFuZyh5aSkpIC50YXNrLWxpc3QtaXRlbS1jaGVja2JveHttYXJnaW46MCAtMS42ZW0gLjI1ZW0gLjJlbX0ubWFya2Rvd24tYm9keSB1bDotbW96LWFueSg6bGFuZyhhZSksOmxhbmcoYXIpLDpsYW5nKGFyYyksOmxhbmcoYmNjKSw6bGFuZyhicWkpLDpsYW5nKGNrYiksOmxhbmcoZHYpLDpsYW5nKGZhKSw6bGFuZyhnbGspLDpsYW5nKGhlKSw6bGFuZyhrdSksOmxhbmcobXpuKSw6bGFuZyhucW8pLDpsYW5nKHBuYiksOmxhbmcocHMpLDpsYW5nKHNkKSw6bGFuZyh1ZyksOmxhbmcodXIpLDpsYW5nKHlpKSkgLnRhc2stbGlzdC1pdGVtLWNoZWNrYm94e21hcmdpbjowIC0xLjZlbSAuMjVlbSAuMmVtfS5tYXJrZG93bi1ib2R5IHVsOmlzKDpsYW5nKGFlKSw6bGFuZyhhciksOmxhbmcoYXJjKSw6bGFuZyhiY2MpLDpsYW5nKGJxaSksOmxhbmcoY2tiKSw6bGFuZyhkdiksOmxhbmcoZmEpLDpsYW5nKGdsayksOmxhbmcoaGUpLDpsYW5nKGt1KSw6bGFuZyhtem4pLDpsYW5nKG5xbyksOmxhbmcocG5iKSw6bGFuZyhwcyksOmxhbmcoc2QpLDpsYW5nKHVnKSw6bGFuZyh1ciksOmxhbmcoeWkpKSAudGFzay1saXN0LWl0ZW0tY2hlY2tib3h7bWFyZ2luOjAgLTEuNmVtIC4yNWVtIC4yZW19Lm1hcmtkb3duLWJvZHkgb2w6LXdlYmtpdC1hbnkoOmxhbmcoYWUpLDpsYW5nKGFyKSw6bGFuZyhhcmMpLDpsYW5nKGJjYyksOmxhbmcoYnFpKSw6bGFuZyhja2IpLDpsYW5nKGR2KSw6bGFuZyhmYSksOmxhbmcoZ2xrKSw6bGFuZyhoZSksOmxhbmcoa3UpLDpsYW5nKG16biksOmxhbmcobnFvKSw6bGFuZyhwbmIpLDpsYW5nKHBzKSw6bGFuZyhzZCksOmxhbmcodWcpLDpsYW5nKHVyKSw6bGFuZyh5aSkpIC50YXNrLWxpc3QtaXRlbS1jaGVja2JveHttYXJnaW46MCAtMS42ZW0gLjI1ZW0gLjJlbX0ubWFya2Rvd24tYm9keSBvbDotbW96LWFueSg6bGFuZyhhZSksOmxhbmcoYXIpLDpsYW5nKGFyYyksOmxhbmcoYmNjKSw6bGFuZyhicWkpLDpsYW5nKGNrYiksOmxhbmcoZHYpLDpsYW5nKGZhKSw6bGFuZyhnbGspLDpsYW5nKGhlKSw6bGFuZyhrdSksOmxhbmcobXpuKSw6bGFuZyhucW8pLDpsYW5nKHBuYiksOmxhbmcocHMpLDpsYW5nKHNkKSw6bGFuZyh1ZyksOmxhbmcodXIpLDpsYW5nKHlpKSkgLnRhc2stbGlzdC1pdGVtLWNoZWNrYm94e21hcmdpbjowIC0xLjZlbSAuMjVlbSAuMmVtfS5tYXJrZG93bi1ib2R5IG9sOmlzKDpsYW5nKGFlKSw6bGFuZyhhciksOmxhbmcoYXJjKSw6bGFuZyhiY2MpLDpsYW5nKGJxaSksOmxhbmcoY2tiKSw6bGFuZyhkdiksOmxhbmcoZmEpLDpsYW5nKGdsayksOmxhbmcoaGUpLDpsYW5nKGt1KSw6bGFuZyhtem4pLDpsYW5nKG5xbyksOmxhbmcocG5iKSw6bGFuZyhwcyksOmxhbmcoc2QpLDpsYW5nKHVnKSw6bGFuZyh1ciksOmxhbmcoeWkpKSAudGFzay1saXN0LWl0ZW0tY2hlY2tib3h7bWFyZ2luOjAgLTEuNmVtIC4yNWVtIC4yZW19Lm1hcmtkb3duLWJvZHkgLmNvbnRhaW5zLXRhc2stbGlzdDpob3ZlciAudGFzay1saXN0LWl0ZW0tY29udmVydC1jb250YWluZXJ7LXdlYmtpdC1jbGlwLXBhdGg6bm9uZTtjbGlwLXBhdGg6bm9uZTt3aWR0aDphdXRvO2hlaWdodDoyNHB4O2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6dmlzaWJsZX0ubWFya2Rvd24tYm9keSAuY29udGFpbnMtdGFzay1saXN0OmZvY3VzLXdpdGhpbiAudGFzay1saXN0LWl0ZW0tY29udmVydC1jb250YWluZXJ7LXdlYmtpdC1jbGlwLXBhdGg6bm9uZTtjbGlwLXBhdGg6bm9uZTt3aWR0aDphdXRvO2hlaWdodDoyNHB4O2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6dmlzaWJsZX0ubWFya2Rvd24tYm9keSA6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvcnstd2Via2l0LWZpbHRlcjppbnZlcnQoNTAlKTtmaWx0ZXI6aW52ZXJ0KDUwJSl9Lm1hcmtkb3duLWJvZHkgLm1hcmtkb3duLWFsZXJ0e3BhZGRpbmc6dmFyKC0tYmFzZS1zaXplLTgpIHZhcigtLWJhc2Utc2l6ZS0xNik7bWFyZ2luLWJvdHRvbTp2YXIoLS1iYXNlLXNpemUtMTYpO2NvbG9yOmluaGVyaXQ7Ym9yZGVyLWxlZnQ6LjI1ZW0gc29saWQgdmFyKC0tYm9yZGVyQ29sb3ItZGVmYXVsdCl9Lm1hcmtkb3duLWJvZHkgLm1hcmtkb3duLWFsZXJ0PjpmaXJzdC1jaGlsZHttYXJnaW4tdG9wOjB9Lm1hcmtkb3duLWJvZHkgLm1hcmtkb3duLWFsZXJ0PjpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0ubWFya2Rvd24tYm9keSAubWFya2Rvd24tYWxlcnQgLm1hcmtkb3duLWFsZXJ0LXRpdGxle2ZvbnQtd2VpZ2h0OnZhcigtLWJhc2UtdGV4dC13ZWlnaHQtbWVkaXVtLDUwMCk7YWxpZ24taXRlbXM6Y2VudGVyO2xpbmUtaGVpZ2h0OjE7ZGlzcGxheTpmbGV4fS5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydC5tYXJrZG93bi1hbGVydC1ub3Rle2JvcmRlci1sZWZ0LWNvbG9yOnZhcigtLWJvcmRlckNvbG9yLWFjY2VudC1lbXBoYXNpcyl9Lm1hcmtkb3duLWJvZHkgLm1hcmtkb3duLWFsZXJ0Lm1hcmtkb3duLWFsZXJ0LW5vdGUgLm1hcmtkb3duLWFsZXJ0LXRpdGxle2NvbG9yOnZhcigtLWZnQ29sb3ItYWNjZW50KX0ubWFya2Rvd24tYm9keSAubWFya2Rvd24tYWxlcnQubWFya2Rvd24tYWxlcnQtaW1wb3J0YW50e2JvcmRlci1sZWZ0LWNvbG9yOnZhcigtLWJvcmRlckNvbG9yLWRvbmUtZW1waGFzaXMpfS5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydC5tYXJrZG93bi1hbGVydC1pbXBvcnRhbnQgLm1hcmtkb3duLWFsZXJ0LXRpdGxle2NvbG9yOnZhcigtLWZnQ29sb3ItZG9uZSl9Lm1hcmtkb3duLWJvZHkgLm1hcmtkb3duLWFsZXJ0Lm1hcmtkb3duLWFsZXJ0LXdhcm5pbmd7Ym9yZGVyLWxlZnQtY29sb3I6dmFyKC0tYm9yZGVyQ29sb3ItYXR0ZW50aW9uLWVtcGhhc2lzKX0ubWFya2Rvd24tYm9keSAubWFya2Rvd24tYWxlcnQubWFya2Rvd24tYWxlcnQtd2FybmluZyAubWFya2Rvd24tYWxlcnQtdGl0bGV7Y29sb3I6dmFyKC0tZmdDb2xvci1hdHRlbnRpb24pfS5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydC5tYXJrZG93bi1hbGVydC10aXB7Ym9yZGVyLWxlZnQtY29sb3I6dmFyKC0tYm9yZGVyQ29sb3Itc3VjY2Vzcy1lbXBoYXNpcyl9Lm1hcmtkb3duLWJvZHkgLm1hcmtkb3duLWFsZXJ0Lm1hcmtkb3duLWFsZXJ0LXRpcCAubWFya2Rvd24tYWxlcnQtdGl0bGV7Y29sb3I6dmFyKC0tZmdDb2xvci1zdWNjZXNzKX0ubWFya2Rvd24tYm9keSAubWFya2Rvd24tYWxlcnQubWFya2Rvd24tYWxlcnQtY2F1dGlvbntib3JkZXItbGVmdC1jb2xvcjp2YXIoLS1ib3JkZXJDb2xvci1kYW5nZXItZW1waGFzaXMpfS5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydC5tYXJrZG93bi1hbGVydC1jYXV0aW9uIC5tYXJrZG93bi1hbGVydC10aXRsZXtjb2xvcjp2YXIoLS1mZ0NvbG9yLWRhbmdlcil9Lm1hcmtkb3duLWJvZHk+OmZpcnN0LWNoaWxkPi5oZWFkaW5nLWVsZW1lbnQ6Zmlyc3QtY2hpbGR7bWFyZ2luLXRvcDowIWltcG9ydGFudH0ubWFya2Rvd24tYm9keSAuaGlnaGxpZ2h0IHByZTpoYXMoKy56ZXJvY2xpcGJvYXJkLWNvbnRhaW5lcil7bWluLWhlaWdodDo1MnB4fS5tYXJrZG93bi12aWV3ZXJbZGF0YS12LTEzZWI0N2ZkXXtiYWNrZ3JvdW5kOiNlZWYxZjQ7bWluLWhlaWdodDoxMDAlO3BhZGRpbmc6MjhweCAxNnB4IDQ4cHg7b3ZlcmZsb3c6YXV0b30ubWFya2Rvd24tYm9keVtkYXRhLXYtMTNlYjQ3ZmRdey0tbGlnaHRuaW5nY3NzLWxpZ2h0OmluaXRpYWw7LS1saWdodG5pbmdjc3MtZGFyazogO2NvbG9yLXNjaGVtZTpsaWdodDstLWJnQ29sb3ItZGVmYXVsdDojZmZmOy0tYmdDb2xvci1tdXRlZDojZjZmOGZhOy0tYmdDb2xvci1uZXV0cmFsLW11dGVkOnJnYmEoMTI5LDEzOSwxNTIsLjEyKTstLWJvcmRlckNvbG9yLWRlZmF1bHQ6I2QxZDllMDstLWJvcmRlckNvbG9yLW11dGVkOnJnYmEoMjA5LDIxNywyMjQsLjcpOy0tYm9yZGVyQ29sb3ItbmV1dHJhbC1tdXRlZDpyZ2JhKDIwOSwyMTcsMjI0LC43KTstLWZnQ29sb3ItZGVmYXVsdDojMWYyMzI4Oy0tZmdDb2xvci1tdXRlZDojNTk2MzZlOy0tZmdDb2xvci1hY2NlbnQ6IzA5NjlkYTtiYWNrZ3JvdW5kOnZhcigtLWJnQ29sb3ItZGVmYXVsdCk7Ym94LXNpemluZzpib3JkZXItYm94O21pbi13aWR0aDoyMDBweDttYXgtd2lkdGg6dmFyKC0tbWFya2Rvd24tbWF4LXdpZHRoLDk4MHB4KTtwYWRkaW5nOnZhcigtLW1hcmtkb3duLXBhZGRpbmcsNDVweCk7Y29sb3I6dmFyKC0tZmdDb2xvci1kZWZhdWx0KTtmb250LXNpemU6dmFyKC0tbWFya2Rvd24tZm9udC1zaXplLDE2cHgpO2JvcmRlcjoxcHggc29saWQgcmdiYSgyMCwzNSw1MywuMSk7Ym9yZGVyLXJhZGl1czoxMnB4O21hcmdpbjowIGF1dG87Ym94LXNoYWRvdzowIDE4cHggNDJweCByZ2JhKDE1LDIzLDQyLC4xKX0uZmlsZS12aWV3ZXJbZGF0YS12aWV3ZXItdGhlbWU9ZGFya10gLm1hcmtkb3duLXZpZXdlcntiYWNrZ3JvdW5kOiMxMDE4MjB9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPWRhcmtdIC5tYXJrZG93bi1ib2R5ey0tbGlnaHRuaW5nY3NzLWxpZ2h0OiA7LS1saWdodG5pbmdjc3MtZGFyazppbml0aWFsO2NvbG9yLXNjaGVtZTpkYXJrOy0tYmdDb2xvci1kZWZhdWx0OiMwZDExMTc7LS1iZ0NvbG9yLW11dGVkOiMxNTFiMjM7LS1iZ0NvbG9yLW5ldXRyYWwtbXV0ZWQ6cmdiYSgxMDEsMTA4LDExOCwuMik7LS1ib3JkZXJDb2xvci1kZWZhdWx0OiMzZDQ0NGQ7LS1ib3JkZXJDb2xvci1tdXRlZDpyZ2JhKDYxLDY4LDc3LC43KTstLWJvcmRlckNvbG9yLW5ldXRyYWwtbXV0ZWQ6cmdiYSg2MSw2OCw3NywuNyk7LS1mZ0NvbG9yLWRlZmF1bHQ6I2YwZjZmYzstLWZnQ29sb3ItbXV0ZWQ6IzkxOThhMTstLWZnQ29sb3ItYWNjZW50OiM0NDkzZjg7YmFja2dyb3VuZDp2YXIoLS1iZ0NvbG9yLWRlZmF1bHQpO2NvbG9yOnZhcigtLWZnQ29sb3ItZGVmYXVsdCk7Ym9yZGVyLWNvbG9yOnJnYmEoMTM5LDE0OCwxNTgsLjI2KTtib3gtc2hhZG93OjAgMjRweCA1NnB4IHJnYmEoMCwwLDAsLjM4KX1AbWVkaWEgKG1heC13aWR0aDo3NjdweCl7Lm1hcmtkb3duLXZpZXdlcltkYXRhLXYtMTNlYjQ3ZmRde3BhZGRpbmc6MTRweCAxMHB4IDI4cHh9Lm1hcmtkb3duLWJvZHlbZGF0YS12LTEzZWI0N2ZkXXtib3JkZXItcmFkaXVzOjEwcHg7cGFkZGluZzoyMnB4IDE4cHh9fUBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6ZGFyayl7LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPXN5c3RlbV0gLm1hcmtkb3duLXZpZXdlcntiYWNrZ3JvdW5kOiMxMDE4MjB9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPXN5c3RlbV0gLm1hcmtkb3duLWJvZHl7LS1saWdodG5pbmdjc3MtbGlnaHQ6IDstLWxpZ2h0bmluZ2Nzcy1kYXJrOmluaXRpYWw7Y29sb3Itc2NoZW1lOmRhcms7LS1iZ0NvbG9yLWRlZmF1bHQ6IzBkMTExNzstLWJnQ29sb3ItbXV0ZWQ6IzE1MWIyMzstLWJnQ29sb3ItbmV1dHJhbC1tdXRlZDpyZ2JhKDEwMSwxMDgsMTE4LC4yKTstLWJvcmRlckNvbG9yLWRlZmF1bHQ6IzNkNDQ0ZDstLWJvcmRlckNvbG9yLW11dGVkOnJnYmEoNjEsNjgsNzcsLjcpOy0tYm9yZGVyQ29sb3ItbmV1dHJhbC1tdXRlZDpyZ2JhKDYxLDY4LDc3LC43KTstLWZnQ29sb3ItZGVmYXVsdDojZjBmNmZjOy0tZmdDb2xvci1tdXRlZDojOTE5OGExOy0tZmdDb2xvci1hY2NlbnQ6IzQ0OTNmODtiYWNrZ3JvdW5kOnZhcigtLWJnQ29sb3ItZGVmYXVsdCk7Y29sb3I6dmFyKC0tZmdDb2xvci1kZWZhdWx0KTtib3JkZXItY29sb3I6cmdiYSgxMzksMTQ4LDE1OCwuMjYpO2JveC1zaGFkb3c6MCAyNHB4IDU2cHggcmdiYSgwLDAsMCwuMzgpfX0uY29kZS12aWV3ZXJbZGF0YS12LTMxYmM5YjM4XXstLWNvZGUtYmc6I2Y2ZjhmYTstLWNvZGUtdG9vbGJhci1iZzpyZ2JhKDI1NSwyNTUsMjU1LC45Mik7LS1jb2RlLWJvcmRlcjpyZ2JhKDMxLDM1LDQwLC4xMik7LS1jb2RlLXRleHQ6IzI0MjkyZjstLWNvZGUtbXV0ZWQ6IzU3NjA2YTstLWNvZGUta2V5d29yZDojY2YyMjJlOy0tY29kZS10aXRsZTojODI1MGRmOy0tY29kZS1zdHJpbmc6IzBhMzA2OTstLWNvZGUtbnVtYmVyOiMwNTUwYWU7LS1jb2RlLWNvbW1lbnQ6IzZlNzc4MTstLWNvZGUtYXR0cjojOTUzODAwOy0tY29kZS1idWlsdC1pbjojMTE2MzI5O2JhY2tncm91bmQ6dmFyKC0tY29kZS1iZyk7bWluLWhlaWdodDoxMDAlO2NvbG9yOnZhcigtLWNvZGUtdGV4dCl9LmNvZGUtdG9vbGJhcltkYXRhLXYtMzFiYzliMzhde3otaW5kZXg6MTtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1jb2RlLWJvcmRlcik7YmFja2dyb3VuZDp2YXIoLS1jb2RlLXRvb2xiYXItYmcpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTJweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTJweCk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxNnB4O2hlaWdodDo0MnB4O3BhZGRpbmc6MCAxNnB4O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjotd2Via2l0LXN0aWNreTtwb3NpdGlvbjpzdGlja3k7dG9wOjB9LmNvZGUtdG9vbGJhciBzcGFuW2RhdGEtdi0zMWJjOWIzOF0sLmNvZGUtdG9vbGJhciBzdHJvbmdbZGF0YS12LTMxYmM5YjM4XXtjb2xvcjp2YXIoLS1jb2RlLW11dGVkKTtsZXR0ZXItc3BhY2luZzowO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMH0uY29kZS1hcmVhW2RhdGEtdi0zMWJjOWIzOF17YmFja2dyb3VuZDowIDA7bWluLXdpZHRoOi13ZWJraXQtbWluLWNvbnRlbnQ7bWluLXdpZHRoOi1tb3otbWluLWNvbnRlbnQ7bWluLXdpZHRoOm1pbi1jb250ZW50O21hcmdpbjowO3BhZGRpbmc6MThweCAyMHB4IDI4cHg7ZGlzcGxheTpibG9jaztvdmVyZmxvdzphdXRvfS5jb2RlLWFyZWEgY29kZVtkYXRhLXYtMzFiYzliMzhde2NvbG9yOmluaGVyaXQ7Zm9udC1mYW1pbHk6dWktbW9ub3NwYWNlLFNGTW9uby1SZWd1bGFyLE1lbmxvLE1vbmFjbyxDb25zb2xhcyxMaWJlcmF0aW9uIE1vbm8sbW9ub3NwYWNlO2ZvbnQtc2l6ZTp2YXIoLS1jb2RlLWZvbnQtc2l6ZSwxM3B4KTstbW96LXRhYi1zaXplOjI7dGFiLXNpemU6Mjt3aGl0ZS1zcGFjZTpwcmU7YmFja2dyb3VuZDowIDA7cGFkZGluZzowO2xpbmUtaGVpZ2h0OjEuNztkaXNwbGF5OmJsb2NrO292ZXJmbG93OnZpc2libGV9LmNvZGUtYXJlYVtkYXRhLXYtMzFiYzliMzhdIC5obGpzLWNvbW1lbnQsLmNvZGUtYXJlYVtkYXRhLXYtMzFiYzliMzhdIC5obGpzLXF1b3Rle2NvbG9yOnZhcigtLWNvZGUtY29tbWVudCl9LmNvZGUtYXJlYVtkYXRhLXYtMzFiYzliMzhdIC5obGpzLWtleXdvcmQsLmNvZGUtYXJlYVtkYXRhLXYtMzFiYzliMzhdIC5obGpzLXNlbGVjdG9yLXRhZywuY29kZS1hcmVhW2RhdGEtdi0zMWJjOWIzOF0gLmhsanMtc3Vic3R7Y29sb3I6dmFyKC0tY29kZS1rZXl3b3JkKX0uY29kZS1hcmVhW2RhdGEtdi0zMWJjOWIzOF0gLmhsanMtc3RyaW5nLC5jb2RlLWFyZWFbZGF0YS12LTMxYmM5YjM4XSAuaGxqcy1kb2N0YWcsLmNvZGUtYXJlYVtkYXRhLXYtMzFiYzliMzhdIC5obGpzLXJlZ2V4cHtjb2xvcjp2YXIoLS1jb2RlLXN0cmluZyl9LmNvZGUtYXJlYVtkYXRhLXYtMzFiYzliMzhdIC5obGpzLXRpdGxlLC5jb2RlLWFyZWFbZGF0YS12LTMxYmM5YjM4XSAuaGxqcy1zZWN0aW9uLC5jb2RlLWFyZWFbZGF0YS12LTMxYmM5YjM4XSAuaGxqcy1zZWxlY3Rvci1pZHtjb2xvcjp2YXIoLS1jb2RlLXRpdGxlKTtmb250LXdlaWdodDo3MDB9LmNvZGUtYXJlYVtkYXRhLXYtMzFiYzliMzhdIC5obGpzLW51bWJlciwuY29kZS1hcmVhW2RhdGEtdi0zMWJjOWIzOF0gLmhsanMtbGl0ZXJhbCwuY29kZS1hcmVhW2RhdGEtdi0zMWJjOWIzOF0gLmhsanMtdmFyaWFibGUsLmNvZGUtYXJlYVtkYXRhLXYtMzFiYzliMzhdIC5obGpzLXRlbXBsYXRlLXZhcmlhYmxle2NvbG9yOnZhcigtLWNvZGUtbnVtYmVyKX0uY29kZS1hcmVhW2RhdGEtdi0zMWJjOWIzOF0gLmhsanMtYXR0ciwuY29kZS1hcmVhW2RhdGEtdi0zMWJjOWIzOF0gLmhsanMtYXR0cmlidXRlLC5jb2RlLWFyZWFbZGF0YS12LTMxYmM5YjM4XSAuaGxqcy1uYW1lLC5jb2RlLWFyZWFbZGF0YS12LTMxYmM5YjM4XSAuaGxqcy1zZWxlY3Rvci1jbGFzc3tjb2xvcjp2YXIoLS1jb2RlLWF0dHIpfS5jb2RlLWFyZWFbZGF0YS12LTMxYmM5YjM4XSAuaGxqcy1idWlsdF9pbiwuY29kZS1hcmVhW2RhdGEtdi0zMWJjOWIzOF0gLmhsanMtdHlwZSwuY29kZS1hcmVhW2RhdGEtdi0zMWJjOWIzOF0gLmhsanMtY2xhc3MgLmhsanMtdGl0bGV7Y29sb3I6dmFyKC0tY29kZS1idWlsdC1pbil9LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPWRhcmtdIC5jb2RlLXZpZXdlcnstLWNvZGUtYmc6IzBkMTExNzstLWNvZGUtdG9vbGJhci1iZzpyZ2JhKDEzLDE3LDIzLC45Mik7LS1jb2RlLWJvcmRlcjpyZ2JhKDEzOSwxNDgsMTU4LC4yNCk7LS1jb2RlLXRleHQ6I2U2ZWRmMzstLWNvZGUtbXV0ZWQ6IzhiOTQ5ZTstLWNvZGUta2V5d29yZDojZmY3YjcyOy0tY29kZS10aXRsZTojZDJhOGZmOy0tY29kZS1zdHJpbmc6I2E1ZDZmZjstLWNvZGUtbnVtYmVyOiM3OWMwZmY7LS1jb2RlLWNvbW1lbnQ6IzhiOTQ5ZTstLWNvZGUtYXR0cjojZmZhNjU3Oy0tY29kZS1idWlsdC1pbjojN2VlNzg3fUBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6ZGFyayl7LmZpbGUtdmlld2VyW2RhdGEtdmlld2VyLXRoZW1lPXN5c3RlbV0gLmNvZGUtdmlld2Vyey0tY29kZS1iZzojMGQxMTE3Oy0tY29kZS10b29sYmFyLWJnOnJnYmEoMTMsMTcsMjMsLjkyKTstLWNvZGUtYm9yZGVyOnJnYmEoMTM5LDE0OCwxNTgsLjI0KTstLWNvZGUtdGV4dDojZTZlZGYzOy0tY29kZS1tdXRlZDojOGI5NDllOy0tY29kZS1rZXl3b3JkOiNmZjdiNzI7LS1jb2RlLXRpdGxlOiNkMmE4ZmY7LS1jb2RlLXN0cmluZzojYTVkNmZmOy0tY29kZS1udW1iZXI6Izc5YzBmZjstLWNvZGUtY29tbWVudDojOGI5NDllOy0tY29kZS1hdHRyOiNmZmE2NTc7LS1jb2RlLWJ1aWx0LWluOiM3ZWU3ODd9fS5hdWRpby12aWV3ZXJbZGF0YS12LTYwOGJkMzI4XXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiYSgxNCwxMTYsMTQ0LC4xKSx0cmFuc3BhcmVudCAzNCUpLGxpbmVhci1ncmFkaWVudCgjZjVmOGZiIDAlLCNlZGYyZjcgMTAwJSk7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6MTAwJTttaW4taGVpZ2h0OjEwMCU7cGFkZGluZzoyOHB4O2Rpc3BsYXk6ZmxleH0uYXVkaW8tY2FyZFtkYXRhLXYtNjA4YmQzMjhde2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuOTIpO2JvcmRlcjoxcHggc29saWQgcmdiYSgxNSwyMyw0MiwuMDgpO2JvcmRlci1yYWRpdXM6OHB4O2dyaWQtdGVtcGxhdGUtY29sdW1uczo4NnB4IG1pbm1heCgwLDFmcik7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxOHB4O3dpZHRoOm1pbigxMDAlLDY0MHB4KTtwYWRkaW5nOjI0cHg7ZGlzcGxheTpncmlkO2JveC1zaGFkb3c6MCAyMHB4IDUycHggcmdiYSgxNSwyMyw0MiwuMTMpfS5hdWRpby1hcnRbZGF0YS12LTYwOGJkMzI4XXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsIzBmNzY2ZSwjMmRkNGJmKTtib3JkZXItcmFkaXVzOjhweDt3aWR0aDo4NnB4O2hlaWdodDo4NnB4O3Bvc2l0aW9uOnJlbGF0aXZlO2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LDI1NSwyNTUsLjI0KX0uYXVkaW8tYXJ0IHNwYW5bZGF0YS12LTYwOGJkMzI4XXtib3JkZXI6OHB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjg4KTtib3JkZXItcmFkaXVzOjk5OXB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxOHB4O2JvdHRvbToxOHB4O2xlZnQ6MThweDtyaWdodDoxOHB4fS5hdWRpby1hcnQgaVtkYXRhLXYtNjA4YmQzMjhde2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuOSk7Ym9yZGVyLXJhZGl1czoxMHB4IDEwcHggNHB4IDRweDt3aWR0aDoxOHB4O2hlaWdodDozNnB4O3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbToyMHB4O3JpZ2h0OjE4cHh9LmF1ZGlvLWNvcHlbZGF0YS12LTYwOGJkMzI4XXttaW4td2lkdGg6MH0uYXVkaW8ta2lja2VyW2RhdGEtdi02MDhiZDMyOF17Y29sb3I6IzBmNzY2ZTtsZXR0ZXItc3BhY2luZzowO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjgwMH0uYXVkaW8tY29weSBzdHJvbmdbZGF0YS12LTYwOGJkMzI4XXtjb2xvcjojMTMyMjM1O21hcmdpbi10b3A6NXB4O2ZvbnQtc2l6ZToyM3B4O2xpbmUtaGVpZ2h0OjEuMTU7ZGlzcGxheTpibG9ja30uYXVkaW8tY29weSBwW2RhdGEtdi02MDhiZDMyOF17Y29sb3I6IzY0NzQ4YjttYXJnaW46OHB4IDAgMDtmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDoxLjd9LmF1ZGlvLW1ldGVyW2RhdGEtdi02MDhiZDMyOF17Y29sb3I6IzY0NzQ4Yjtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXM7Z3JpZC1jb2x1bW46MS8tMTtncmlkLXRlbXBsYXRlLWNvbHVtbnM6NDhweCBtaW5tYXgoMCwxZnIpIDQ4cHg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O2ZvbnQtc2l6ZToxMnB4O2Rpc3BsYXk6Z3JpZH0uYXVkaW8tcHJvZ3Jlc3NbZGF0YS12LTYwOGJkMzI4XXtiYWNrZ3JvdW5kOnJnYmEoMTUsMTE4LDExMCwuMTIpO2JvcmRlci1yYWRpdXM6OTk5cHg7aGVpZ2h0OjZweDtvdmVyZmxvdzpoaWRkZW59LmF1ZGlvLXByb2dyZXNzIGlbZGF0YS12LTYwOGJkMzI4XXtib3JkZXItcmFkaXVzOmluaGVyaXQ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsIzBmNzY2ZSwjMmRkNGJmKTtoZWlnaHQ6MTAwJTt0cmFuc2l0aW9uOndpZHRoIC4xOHM7ZGlzcGxheTpibG9ja30uYXVkaW8tY29udHJvbFtkYXRhLXYtNjA4YmQzMjhde2dyaWQtY29sdW1uOjEvLTE7d2lkdGg6MTAwJTtoZWlnaHQ6NDJweH1AbWVkaWEgKG1heC13aWR0aDo1NjBweCl7LmF1ZGlvLXZpZXdlcltkYXRhLXYtNjA4YmQzMjhde3BhZGRpbmc6MTZweH0uYXVkaW8tY2FyZFtkYXRhLXYtNjA4YmQzMjhde2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9LmF1ZGlvLWFydFtkYXRhLXYtNjA4YmQzMjhde3dpZHRoOjcycHg7aGVpZ2h0OjcycHh9fQovKiR2aXRlJDoxKi8=";
17
- //#endregion
18
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/bind.js
19
- function ue(e, t) {
20
- return function() {
21
- return e.apply(t, arguments);
22
- };
23
- }
24
- //#endregion
25
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/utils.js
26
- var { toString: de } = Object.prototype, { getPrototypeOf: fe } = Object, { iterator: pe, toStringTag: me } = Symbol, N = ((e) => (t) => {
27
- let n = de.call(t);
28
- return e[n] || (e[n] = n.slice(8, -1).toLowerCase());
29
- })(Object.create(null)), P = (e) => (e = e.toLowerCase(), (t) => N(t) === e), F = (e) => (t) => typeof t === e, { isArray: I } = Array, he = F("undefined");
30
- function L(e) {
31
- return e !== null && !he(e) && e.constructor !== null && !he(e.constructor) && R(e.constructor.isBuffer) && e.constructor.isBuffer(e);
32
- }
33
- var ge = P("ArrayBuffer");
34
- function _e(e) {
35
- let t;
36
- return t = typeof ArrayBuffer < "u" && ArrayBuffer.isView ? ArrayBuffer.isView(e) : e && e.buffer && ge(e.buffer), t;
37
- }
38
- var ve = F("string"), R = F("function"), ye = F("number"), be = (e) => typeof e == "object" && !!e, xe = (e) => e === !0 || e === !1, z = (e) => {
39
- if (N(e) !== "object") return !1;
40
- let t = fe(e);
41
- return (t === null || t === Object.prototype || Object.getPrototypeOf(t) === null) && !(me in e) && !(pe in e);
42
- }, Se = (e) => {
43
- if (!be(e) || L(e)) return !1;
44
- try {
45
- return Object.keys(e).length === 0 && Object.getPrototypeOf(e) === Object.prototype;
46
- } catch (e) {
47
- return !1;
48
- }
49
- }, Ce = P("Date"), we = P("File"), Te = (e) => !!(e && e.uri !== void 0), Ee = (e) => e && e.getParts !== void 0, B = P("Blob"), V = P("FileList"), De = (e) => be(e) && R(e.pipe);
50
- function Oe() {
51
- return typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : typeof window < "u" ? window : typeof global < "u" ? global : {};
52
- }
53
- var H = Oe(), ke = H.FormData === void 0 ? void 0 : H.FormData, Ae = (e) => {
54
- if (!e) return !1;
55
- if (ke && e instanceof ke) return !0;
56
- let t = fe(e);
57
- if (!t || t === Object.prototype || !R(e.append)) return !1;
58
- let n = N(e);
59
- return n === "formdata" || n === "object" && R(e.toString) && e.toString() === "[object FormData]";
60
- }, je = P("URLSearchParams"), [Me, Ne, Pe, Fe] = [
61
- "ReadableStream",
62
- "Request",
63
- "Response",
64
- "Headers"
65
- ].map(P), Ie = (e) => e.trim ? e.trim() : e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "");
66
- function U(e, t, { allOwnKeys: n = !1 } = {}) {
67
- if (e == null) return;
68
- let r, i;
69
- if (typeof e != "object" && (e = [e]), I(e)) for (r = 0, i = e.length; r < i; r++) t.call(null, e[r], r, e);
70
- else {
71
- if (L(e)) return;
72
- let i = n ? Object.getOwnPropertyNames(e) : Object.keys(e), a = i.length, o;
73
- for (r = 0; r < a; r++) o = i[r], t.call(null, e[o], o, e);
74
- }
75
- }
76
- function Le(e, t) {
77
- if (L(e)) return null;
78
- t = t.toLowerCase();
79
- let n = Object.keys(e), r = n.length, i;
80
- for (; r-- > 0;) if (i = n[r], t === i.toLowerCase()) return i;
81
- return null;
82
- }
83
- var W = typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : typeof window < "u" ? window : global, Re = (e) => !he(e) && e !== W;
84
- function ze(...e) {
85
- let { caseless: t, skipUndefined: n } = Re(this) && this || {}, r = {}, i = (e, i) => {
86
- if (i === "__proto__" || i === "constructor" || i === "prototype") return;
87
- let a = t && typeof i == "string" && Le(r, i) || i, o = Ye(r, a) ? r[a] : void 0;
88
- z(o) && z(e) ? r[a] = ze(o, e) : z(e) ? r[a] = ze({}, e) : I(e) ? r[a] = e.slice() : (!n || !he(e)) && (r[a] = e);
89
- };
90
- for (let t = 0, n = e.length; t < n; t++) {
91
- let n = e[t];
92
- if (!n || L(n) || (U(n, i), typeof n != "object" || I(n))) continue;
93
- let r = Object.getOwnPropertySymbols(n);
94
- for (let e = 0; e < r.length; e++) {
95
- let t = r[e];
96
- Xe.call(n, t) && i(n[t], t);
97
- }
98
- }
99
- return r;
100
- }
101
- var G = (e, t, n, { allOwnKeys: r } = {}) => (U(t, (t, r) => {
102
- n && R(t) ? Object.defineProperty(e, r, {
103
- __proto__: null,
104
- value: ue(t, n),
105
- writable: !0,
106
- enumerable: !0,
107
- configurable: !0
108
- }) : Object.defineProperty(e, r, {
109
- __proto__: null,
110
- value: t,
111
- writable: !0,
112
- enumerable: !0,
113
- configurable: !0
114
- });
115
- }, { allOwnKeys: r }), e), Be = (e) => (e.charCodeAt(0) === 65279 && (e = e.slice(1)), e), Ve = (e, t, n, r) => {
116
- e.prototype = Object.create(t.prototype, r), Object.defineProperty(e.prototype, "constructor", {
117
- __proto__: null,
118
- value: e,
119
- writable: !0,
120
- enumerable: !1,
121
- configurable: !0
122
- }), Object.defineProperty(e, "super", {
123
- __proto__: null,
124
- value: t.prototype
125
- }), n && Object.assign(e.prototype, n);
126
- }, He = (e, t, n, r) => {
127
- let i, a, o, s = {};
128
- if (t = t || {}, e == null) return t;
129
- do {
130
- for (i = Object.getOwnPropertyNames(e), a = i.length; a-- > 0;) o = i[a], (!r || r(o, e, t)) && !s[o] && (t[o] = e[o], s[o] = !0);
131
- e = n !== !1 && fe(e);
132
- } while (e && (!n || n(e, t)) && e !== Object.prototype);
133
- return t;
134
- }, Ue = (e, t, n) => {
135
- e = String(e), (n === void 0 || n > e.length) && (n = e.length), n -= t.length;
136
- let r = e.indexOf(t, n);
137
- return r !== -1 && r === n;
138
- }, K = (e) => {
139
- if (!e) return null;
140
- if (I(e)) return e;
141
- let t = e.length;
142
- if (!ye(t)) return null;
143
- let n = Array(t);
144
- for (; t-- > 0;) n[t] = e[t];
145
- return n;
146
- }, We = ((e) => (t) => e && t instanceof e)(typeof Uint8Array < "u" && fe(Uint8Array)), Ge = (e, t) => {
147
- let n = (e && e[pe]).call(e), r;
148
- for (; (r = n.next()) && !r.done;) {
149
- let n = r.value;
150
- t.call(e, n[0], n[1]);
151
- }
152
- }, Ke = (e, t) => {
153
- let n, r = [];
154
- for (; (n = e.exec(t)) !== null;) r.push(n);
155
- return r;
156
- }, qe = P("HTMLFormElement"), Je = (e) => e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g, function(e, t, n) {
157
- return t.toUpperCase() + n;
158
- }), Ye = (({ hasOwnProperty: e }) => (t, n) => e.call(t, n))(Object.prototype), { propertyIsEnumerable: Xe } = Object.prototype, Ze = P("RegExp"), Qe = (e, t) => {
159
- let n = Object.getOwnPropertyDescriptors(e), r = {};
160
- U(n, (n, i) => {
161
- let a;
162
- (a = t(n, i, e)) !== !1 && (r[i] = a || n);
163
- }), Object.defineProperties(e, r);
164
- }, $e = (e) => {
165
- Qe(e, (t, n) => {
166
- if (R(e) && [
167
- "arguments",
168
- "caller",
169
- "callee"
170
- ].includes(n)) return !1;
171
- let r = e[n];
172
- if (R(r)) {
173
- if (t.enumerable = !1, "writable" in t) {
174
- t.writable = !1;
175
- return;
176
- }
177
- t.set || (t.set = () => {
178
- throw Error("Can not rewrite read-only method '" + n + "'");
179
- });
180
- }
181
- });
182
- }, et = (e, t) => {
183
- let n = {}, r = (e) => {
184
- e.forEach((e) => {
185
- n[e] = !0;
186
- });
187
- };
188
- return I(e) ? r(e) : r(String(e).split(t)), n;
189
- }, tt = () => {}, nt = (e, t) => e != null && Number.isFinite(e = +e) ? e : t;
190
- function rt(e) {
191
- return !!(e && R(e.append) && e[me] === "FormData" && e[pe]);
192
- }
193
- var it = (e) => {
194
- let t = /* @__PURE__ */ new WeakSet(), n = (e) => {
195
- if (be(e)) {
196
- if (t.has(e)) return;
197
- if (L(e)) return e;
198
- if (!("toJSON" in e)) {
199
- t.add(e);
200
- let r = I(e) ? [] : {};
201
- return U(e, (e, t) => {
202
- let i = n(e);
203
- !he(i) && (r[t] = i);
204
- }), t.delete(e), r;
205
- }
206
- }
207
- return e;
208
- };
209
- return n(e);
210
- }, at = P("AsyncFunction"), ot = (e) => e && (be(e) || R(e)) && R(e.then) && R(e.catch), st = ((e, t) => e ? setImmediate : t ? ((e, t) => (W.addEventListener("message", ({ source: n, data: r }) => {
211
- n === W && r === e && t.length && t.shift()();
212
- }, !1), (n) => {
213
- t.push(n), W.postMessage(e, "*");
214
- }))(`axios@${Math.random()}`, []) : (e) => setTimeout(e))(typeof setImmediate == "function", R(W.postMessage)), q = {
215
- isArray: I,
216
- isArrayBuffer: ge,
217
- isBuffer: L,
218
- isFormData: Ae,
219
- isArrayBufferView: _e,
220
- isString: ve,
221
- isNumber: ye,
222
- isBoolean: xe,
223
- isObject: be,
224
- isPlainObject: z,
225
- isEmptyObject: Se,
226
- isReadableStream: Me,
227
- isRequest: Ne,
228
- isResponse: Pe,
229
- isHeaders: Fe,
230
- isUndefined: he,
231
- isDate: Ce,
232
- isFile: we,
233
- isReactNativeBlob: Te,
234
- isReactNative: Ee,
235
- isBlob: B,
236
- isRegExp: Ze,
237
- isFunction: R,
238
- isStream: De,
239
- isURLSearchParams: je,
240
- isTypedArray: We,
241
- isFileList: V,
242
- forEach: U,
243
- merge: ze,
244
- extend: G,
245
- trim: Ie,
246
- stripBOM: Be,
247
- inherits: Ve,
248
- toFlatObject: He,
249
- kindOf: N,
250
- kindOfTest: P,
251
- endsWith: Ue,
252
- toArray: K,
253
- forEachEntry: Ge,
254
- matchAll: Ke,
255
- isHTMLForm: qe,
256
- hasOwnProperty: Ye,
257
- hasOwnProp: Ye,
258
- reduceDescriptors: Qe,
259
- freezeMethods: $e,
260
- toObjectSet: et,
261
- toCamelCase: Je,
262
- noop: tt,
263
- toFiniteNumber: nt,
264
- findKey: Le,
265
- global: W,
266
- isContextDefined: Re,
267
- isSpecCompliantForm: rt,
268
- toJSONObject: it,
269
- isAsyncFn: at,
270
- isThenable: ot,
271
- setImmediate: st,
272
- asap: typeof queueMicrotask < "u" ? queueMicrotask.bind(W) : typeof process < "u" && process.nextTick || st,
273
- isIterable: (e) => e != null && R(e[pe])
274
- }, ct = q.toObjectSet([
275
- "age",
276
- "authorization",
277
- "content-length",
278
- "content-type",
279
- "etag",
280
- "expires",
281
- "from",
282
- "host",
283
- "if-modified-since",
284
- "if-unmodified-since",
285
- "last-modified",
286
- "location",
287
- "max-forwards",
288
- "proxy-authorization",
289
- "referer",
290
- "retry-after",
291
- "user-agent"
292
- ]), lt = (e) => {
293
- let t = {}, n, r, i;
294
- return e && e.split("\n").forEach(function(e) {
295
- i = e.indexOf(":"), n = e.substring(0, i).trim().toLowerCase(), r = e.substring(i + 1).trim(), !(!n || t[n] && ct[n]) && (n === "set-cookie" ? t[n] ? t[n].push(r) : t[n] = [r] : t[n] = t[n] ? t[n] + ", " + r : r);
296
- }), t;
297
- };
298
- //#endregion
299
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/sanitizeHeaderValue.js
300
- function ut(e) {
301
- let t = 0, n = e.length;
302
- for (; t < n;) {
303
- let n = e.charCodeAt(t);
304
- if (n !== 9 && n !== 32) break;
305
- t += 1;
306
- }
307
- for (; n > t;) {
308
- let t = e.charCodeAt(n - 1);
309
- if (t !== 9 && t !== 32) break;
310
- --n;
311
- }
312
- return t === 0 && n === e.length ? e : e.slice(t, n);
313
- }
314
- var dt = /* @__PURE__ */ RegExp("[\\u0000-\\u0008\\u000a-\\u001f\\u007f]+", "g"), ft = /* @__PURE__ */ RegExp("[^\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+", "g");
315
- function pt(e, t) {
316
- return q.isArray(e) ? e.map((e) => pt(e, t)) : ut(String(e).replace(t, ""));
317
- }
318
- var mt = (e) => pt(e, dt), ht = (e) => pt(e, ft);
319
- function gt(e) {
320
- let t = Object.create(null);
321
- return q.forEach(e.toJSON(), (e, n) => {
322
- t[n] = ht(e);
323
- }), t;
324
- }
325
- //#endregion
326
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/core/AxiosHeaders.js
327
- var _t = Symbol("internals");
328
- function vt(e) {
329
- return e && String(e).trim().toLowerCase();
330
- }
331
- function yt(e) {
332
- return e === !1 || e == null ? e : q.isArray(e) ? e.map(yt) : mt(String(e));
333
- }
334
- function bt(e) {
335
- let t = Object.create(null), n = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g, r;
336
- for (; r = n.exec(e);) t[r[1]] = r[2];
337
- return t;
338
- }
339
- var xt = (e) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());
340
- function St(e, t, n, r, i) {
341
- if (q.isFunction(r)) return r.call(this, t, n);
342
- if (i && (t = n), q.isString(t)) {
343
- if (q.isString(r)) return t.indexOf(r) !== -1;
344
- if (q.isRegExp(r)) return r.test(t);
345
- }
346
- }
347
- function Ct(e) {
348
- return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (e, t, n) => t.toUpperCase() + n);
349
- }
350
- function wt(e, t) {
351
- let n = q.toCamelCase(" " + t);
352
- [
353
- "get",
354
- "set",
355
- "has"
356
- ].forEach((r) => {
357
- Object.defineProperty(e, r + n, {
358
- __proto__: null,
359
- value: function(e, n, i) {
360
- return this[r].call(this, t, e, n, i);
361
- },
362
- configurable: !0
363
- });
364
- });
365
- }
366
- var J = class {
367
- constructor(e) {
368
- e && this.set(e);
369
- }
370
- set(e, t, n) {
371
- let r = this;
372
- function i(e, t, n) {
373
- let i = vt(t);
374
- if (!i) return;
375
- let a = q.findKey(r, i);
376
- (!a || r[a] === void 0 || n === !0 || n === void 0 && r[a] !== !1) && (r[a || t] = yt(e));
377
- }
378
- let a = (e, t) => q.forEach(e, (e, n) => i(e, n, t));
379
- if (q.isPlainObject(e) || e instanceof this.constructor) a(e, t);
380
- else if (q.isString(e) && (e = e.trim()) && !xt(e)) a(lt(e), t);
381
- else if (q.isObject(e) && q.isIterable(e)) {
382
- let n = {}, r, i;
383
- for (let t of e) {
384
- if (!q.isArray(t)) throw TypeError("Object iterator must return a key-value pair");
385
- n[i = t[0]] = (r = n[i]) ? q.isArray(r) ? [...r, t[1]] : [r, t[1]] : t[1];
386
- }
387
- a(n, t);
388
- } else e != null && i(t, e, n);
389
- return this;
390
- }
391
- get(e, t) {
392
- if (e = vt(e), e) {
393
- let n = q.findKey(this, e);
394
- if (n) {
395
- let e = this[n];
396
- if (!t) return e;
397
- if (t === !0) return bt(e);
398
- if (q.isFunction(t)) return t.call(this, e, n);
399
- if (q.isRegExp(t)) return t.exec(e);
400
- throw TypeError("parser must be boolean|regexp|function");
401
- }
402
- }
403
- }
404
- has(e, t) {
405
- if (e = vt(e), e) {
406
- let n = q.findKey(this, e);
407
- return !!(n && this[n] !== void 0 && (!t || St(this, this[n], n, t)));
408
- }
409
- return !1;
410
- }
411
- delete(e, t) {
412
- let n = this, r = !1;
413
- function i(e) {
414
- if (e = vt(e), e) {
415
- let i = q.findKey(n, e);
416
- i && (!t || St(n, n[i], i, t)) && (delete n[i], r = !0);
417
- }
418
- }
419
- return q.isArray(e) ? e.forEach(i) : i(e), r;
420
- }
421
- clear(e) {
422
- let t = Object.keys(this), n = t.length, r = !1;
423
- for (; n--;) {
424
- let i = t[n];
425
- (!e || St(this, this[i], i, e, !0)) && (delete this[i], r = !0);
426
- }
427
- return r;
428
- }
429
- normalize(e) {
430
- let t = this, n = {};
431
- return q.forEach(this, (r, i) => {
432
- let a = q.findKey(n, i);
433
- if (a) {
434
- t[a] = yt(r), delete t[i];
435
- return;
436
- }
437
- let o = e ? Ct(i) : String(i).trim();
438
- o !== i && delete t[i], t[o] = yt(r), n[o] = !0;
439
- }), this;
440
- }
441
- concat(...e) {
442
- return this.constructor.concat(this, ...e);
443
- }
444
- toJSON(e) {
445
- let t = Object.create(null);
446
- return q.forEach(this, (n, r) => {
447
- n != null && n !== !1 && (t[r] = e && q.isArray(n) ? n.join(", ") : n);
448
- }), t;
449
- }
450
- [Symbol.iterator]() {
451
- return Object.entries(this.toJSON())[Symbol.iterator]();
452
- }
453
- toString() {
454
- return Object.entries(this.toJSON()).map(([e, t]) => e + ": " + t).join("\n");
455
- }
456
- getSetCookie() {
457
- return this.get("set-cookie") || [];
458
- }
459
- get [Symbol.toStringTag]() {
460
- return "AxiosHeaders";
461
- }
462
- static from(e) {
463
- return e instanceof this ? e : new this(e);
464
- }
465
- static concat(e, ...t) {
466
- let n = new this(e);
467
- return t.forEach((e) => n.set(e)), n;
468
- }
469
- static accessor(e) {
470
- let t = (this[_t] = this[_t] = { accessors: {} }).accessors, n = this.prototype;
471
- function r(e) {
472
- let r = vt(e);
473
- t[r] || (wt(n, e), t[r] = !0);
474
- }
475
- return q.isArray(e) ? e.forEach(r) : r(e), this;
476
- }
477
- };
478
- J.accessor([
479
- "Content-Type",
480
- "Content-Length",
481
- "Accept",
482
- "Accept-Encoding",
483
- "User-Agent",
484
- "Authorization"
485
- ]), q.reduceDescriptors(J.prototype, ({ value: e }, t) => {
486
- let n = t[0].toUpperCase() + t.slice(1);
487
- return {
488
- get: () => e,
489
- set(e) {
490
- this[n] = e;
491
- }
492
- };
493
- }), q.freezeMethods(J);
494
- //#endregion
495
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/core/AxiosError.js
496
- var Tt = "[REDACTED ****]";
497
- function Et(e) {
498
- if (q.hasOwnProp(e, "toJSON")) return !0;
499
- let t = Object.getPrototypeOf(e);
500
- for (; t && t !== Object.prototype;) {
501
- if (q.hasOwnProp(t, "toJSON")) return !0;
502
- t = Object.getPrototypeOf(t);
503
- }
504
- return !1;
505
- }
506
- function Dt(e, t) {
507
- let n = new Set(t.map((e) => String(e).toLowerCase())), r = [], i = (e) => {
508
- if (typeof e != "object" || !e || q.isBuffer(e)) return e;
509
- if (r.indexOf(e) !== -1) return;
510
- e instanceof J && (e = e.toJSON()), r.push(e);
511
- let t;
512
- if (q.isArray(e)) t = [], e.forEach((e, n) => {
513
- let r = i(e);
514
- q.isUndefined(r) || (t[n] = r);
515
- });
516
- else {
517
- if (!q.isPlainObject(e) && Et(e)) return r.pop(), e;
518
- t = Object.create(null);
519
- for (let [r, a] of Object.entries(e)) {
520
- let e = n.has(r.toLowerCase()) ? Tt : i(a);
521
- q.isUndefined(e) || (t[r] = e);
522
- }
523
- }
524
- return r.pop(), t;
525
- };
526
- return i(e);
527
- }
528
- var Y = class e extends Error {
529
- static from(t, n, r, i, a, o) {
530
- let s = new e(t.message, n || t.code, r, i, a);
531
- return s.cause = t, s.name = t.name, t.status != null && s.status == null && (s.status = t.status), o && Object.assign(s, o), s;
532
- }
533
- constructor(e, t, n, r, i) {
534
- super(e), Object.defineProperty(this, "message", {
535
- __proto__: null,
536
- value: e,
537
- enumerable: !0,
538
- writable: !0,
539
- configurable: !0
540
- }), this.name = "AxiosError", this.isAxiosError = !0, t && (this.code = t), n && (this.config = n), r && (this.request = r), i && (this.response = i, this.status = i.status);
541
- }
542
- toJSON() {
543
- let e = this.config, t = e && q.hasOwnProp(e, "redact") ? e.redact : void 0, n = q.isArray(t) && t.length > 0 ? Dt(e, t) : q.toJSONObject(e);
544
- return {
545
- message: this.message,
546
- name: this.name,
547
- description: this.description,
548
- number: this.number,
549
- fileName: this.fileName,
550
- lineNumber: this.lineNumber,
551
- columnNumber: this.columnNumber,
552
- stack: this.stack,
553
- config: n,
554
- code: this.code,
555
- status: this.status
556
- };
557
- }
558
- };
559
- Y.ERR_BAD_OPTION_VALUE = "ERR_BAD_OPTION_VALUE", Y.ERR_BAD_OPTION = "ERR_BAD_OPTION", Y.ECONNABORTED = "ECONNABORTED", Y.ETIMEDOUT = "ETIMEDOUT", Y.ECONNREFUSED = "ECONNREFUSED", Y.ERR_NETWORK = "ERR_NETWORK", Y.ERR_FR_TOO_MANY_REDIRECTS = "ERR_FR_TOO_MANY_REDIRECTS", Y.ERR_DEPRECATED = "ERR_DEPRECATED", Y.ERR_BAD_RESPONSE = "ERR_BAD_RESPONSE", Y.ERR_BAD_REQUEST = "ERR_BAD_REQUEST", Y.ERR_CANCELED = "ERR_CANCELED", Y.ERR_NOT_SUPPORT = "ERR_NOT_SUPPORT", Y.ERR_INVALID_URL = "ERR_INVALID_URL", Y.ERR_FORM_DATA_DEPTH_EXCEEDED = "ERR_FORM_DATA_DEPTH_EXCEEDED";
560
- //#endregion
561
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/toFormData.js
562
- function Ot(e) {
563
- return q.isPlainObject(e) || q.isArray(e);
564
- }
565
- function kt(e) {
566
- return q.endsWith(e, "[]") ? e.slice(0, -2) : e;
567
- }
568
- function At(e, t, n) {
569
- return e ? e.concat(t).map(function(e, t) {
570
- return e = kt(e), !n && t ? "[" + e + "]" : e;
571
- }).join(n ? "." : "") : t;
572
- }
573
- function jt(e) {
574
- return q.isArray(e) && !e.some(Ot);
575
- }
576
- var Mt = q.toFlatObject(q, {}, null, function(e) {
577
- return /^is[A-Z]/.test(e);
578
- });
579
- function Nt(e, t, n) {
580
- if (!q.isObject(e)) throw TypeError("target must be an object");
581
- t = t || new FormData(), n = q.toFlatObject(n, {
582
- metaTokens: !0,
583
- dots: !1,
584
- indexes: !1
585
- }, !1, function(e, t) {
586
- return !q.isUndefined(t[e]);
587
- });
588
- let r = n.metaTokens, i = n.visitor || d, a = n.dots, o = n.indexes, s = n.Blob || typeof Blob < "u" && Blob, c = n.maxDepth === void 0 ? 100 : n.maxDepth, l = s && q.isSpecCompliantForm(t);
589
- if (!q.isFunction(i)) throw TypeError("visitor must be a function");
590
- function u(e) {
591
- if (e === null) return "";
592
- if (q.isDate(e)) return e.toISOString();
593
- if (q.isBoolean(e)) return e.toString();
594
- if (!l && q.isBlob(e)) throw new Y("Blob is not supported. Use a Buffer instead.");
595
- return q.isArrayBuffer(e) || q.isTypedArray(e) ? l && typeof Blob == "function" ? new Blob([e]) : Buffer.from(e) : e;
596
- }
597
- function d(e, n, i) {
598
- let s = e;
599
- if (q.isReactNative(t) && q.isReactNativeBlob(e)) return t.append(At(i, n, a), u(e)), !1;
600
- if (e && !i && typeof e == "object") {
601
- if (q.endsWith(n, "{}")) n = r ? n : n.slice(0, -2), e = JSON.stringify(e);
602
- else if (q.isArray(e) && jt(e) || (q.isFileList(e) || q.endsWith(n, "[]")) && (s = q.toArray(e))) return n = kt(n), s.forEach(function(e, r) {
603
- !(q.isUndefined(e) || e === null) && t.append(o === !0 ? At([n], r, a) : o === null ? n : n + "[]", u(e));
604
- }), !1;
605
- }
606
- return Ot(e) ? !0 : (t.append(At(i, n, a), u(e)), !1);
607
- }
608
- let f = [], p = Object.assign(Mt, {
609
- defaultVisitor: d,
610
- convertValue: u,
611
- isVisitable: Ot
612
- });
613
- function m(e, n, r = 0) {
614
- if (!q.isUndefined(e)) {
615
- if (r > c) throw new Y("Object is too deeply nested (" + r + " levels). Max depth: " + c, Y.ERR_FORM_DATA_DEPTH_EXCEEDED);
616
- if (f.indexOf(e) !== -1) throw Error("Circular reference detected in " + n.join("."));
617
- f.push(e), q.forEach(e, function(e, a) {
618
- (!(q.isUndefined(e) || e === null) && i.call(t, e, q.isString(a) ? a.trim() : a, n, p)) === !0 && m(e, n ? n.concat(a) : [a], r + 1);
619
- }), f.pop();
620
- }
621
- }
622
- if (!q.isObject(e)) throw TypeError("data must be an object");
623
- return m(e), t;
624
- }
625
- //#endregion
626
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/AxiosURLSearchParams.js
627
- function Pt(e) {
628
- let t = {
629
- "!": "%21",
630
- "'": "%27",
631
- "(": "%28",
632
- ")": "%29",
633
- "~": "%7E",
634
- "%20": "+"
635
- };
636
- return encodeURIComponent(e).replace(/[!'()~]|%20/g, function(e) {
637
- return t[e];
638
- });
639
- }
640
- function Ft(e, t) {
641
- this._pairs = [], e && Nt(e, this, t);
642
- }
643
- var It = Ft.prototype;
644
- It.append = function(e, t) {
645
- this._pairs.push([e, t]);
646
- }, It.toString = function(e) {
647
- let t = e ? function(t) {
648
- return e.call(this, t, Pt);
649
- } : Pt;
650
- return this._pairs.map(function(e) {
651
- return t(e[0]) + "=" + t(e[1]);
652
- }, "").join("&");
653
- };
654
- //#endregion
655
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/buildURL.js
656
- function Lt(e) {
657
- return encodeURIComponent(e).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+");
658
- }
659
- function Rt(e, t, n) {
660
- if (!t) return e;
661
- let r = n && n.encode || Lt, i = q.isFunction(n) ? { serialize: n } : n, a = i && i.serialize, o;
662
- if (o = a ? a(t, i) : q.isURLSearchParams(t) ? t.toString() : new Ft(t, i).toString(r), o) {
663
- let t = e.indexOf("#");
664
- t !== -1 && (e = e.slice(0, t)), e += (e.indexOf("?") === -1 ? "?" : "&") + o;
665
- }
666
- return e;
667
- }
668
- //#endregion
669
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/core/InterceptorManager.js
670
- var zt = class {
671
- constructor() {
672
- this.handlers = [];
673
- }
674
- use(e, t, n) {
675
- return this.handlers.push({
676
- fulfilled: e,
677
- rejected: t,
678
- synchronous: n ? n.synchronous : !1,
679
- runWhen: n ? n.runWhen : null
680
- }), this.handlers.length - 1;
681
- }
682
- eject(e) {
683
- this.handlers[e] && (this.handlers[e] = null);
684
- }
685
- clear() {
686
- this.handlers && (this.handlers = []);
687
- }
688
- forEach(e) {
689
- q.forEach(this.handlers, function(t) {
690
- t !== null && e(t);
691
- });
692
- }
693
- }, Bt = {
694
- silentJSONParsing: !0,
695
- forcedJSONParsing: !0,
696
- clarifyTimeoutError: !1,
697
- legacyInterceptorReqResOrdering: !0,
698
- advertiseZstdAcceptEncoding: !1
699
- }, Vt = {
700
- isBrowser: !0,
701
- classes: {
702
- URLSearchParams: typeof URLSearchParams < "u" ? URLSearchParams : Ft,
703
- FormData: typeof FormData < "u" ? FormData : null,
704
- Blob: typeof Blob < "u" ? Blob : null
705
- },
706
- protocols: [
707
- "http",
708
- "https",
709
- "file",
710
- "blob",
711
- "url",
712
- "data"
713
- ]
714
- }, Ht = /* @__PURE__ */ e({
715
- hasBrowserEnv: () => Ut,
716
- hasStandardBrowserEnv: () => Gt,
717
- hasStandardBrowserWebWorkerEnv: () => Kt,
718
- navigator: () => Wt,
719
- origin: () => qt
720
- }), Ut = typeof window < "u" && typeof document < "u", Wt = typeof navigator == "object" && navigator || void 0, Gt = Ut && (!Wt || [
721
- "ReactNative",
722
- "NativeScript",
723
- "NS"
724
- ].indexOf(Wt.product) < 0), Kt = typeof WorkerGlobalScope < "u" && self instanceof WorkerGlobalScope && typeof self.importScripts == "function", qt = Ut && window.location.href || "http://localhost";
725
- //#endregion
726
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/platform/index.js
727
- a();
728
- var X = o(o({}, Ht), Vt);
729
- //#endregion
730
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/toURLEncodedForm.js
731
- a();
732
- function Jt(e, t) {
733
- return Nt(e, new X.classes.URLSearchParams(), o({ visitor: function(e, t, n, r) {
734
- return X.isNode && q.isBuffer(e) ? (this.append(t, e.toString("base64")), !1) : r.defaultVisitor.apply(this, arguments);
735
- } }, t));
736
- }
737
- //#endregion
738
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/formDataToJSON.js
739
- function Yt(e) {
740
- return q.matchAll(/\w+|\[(\w*)]/g, e).map((e) => e[0] === "[]" ? "" : e[1] || e[0]);
741
- }
742
- function Xt(e) {
743
- let t = {}, n = Object.keys(e), r, i = n.length, a;
744
- for (r = 0; r < i; r++) a = n[r], t[a] = e[a];
745
- return t;
746
- }
747
- function Zt(e) {
748
- function t(e, n, r, i) {
749
- let a = e[i++];
750
- if (a === "__proto__") return !0;
751
- let o = Number.isFinite(+a), s = i >= e.length;
752
- return a = !a && q.isArray(r) ? r.length : a, s ? (q.hasOwnProp(r, a) ? r[a] = q.isArray(r[a]) ? r[a].concat(n) : [r[a], n] : r[a] = n, !o) : ((!q.hasOwnProp(r, a) || !q.isObject(r[a])) && (r[a] = []), t(e, n, r[a], i) && q.isArray(r[a]) && (r[a] = Xt(r[a])), !o);
753
- }
754
- if (q.isFormData(e) && q.isFunction(e.entries)) {
755
- let n = {};
756
- return q.forEachEntry(e, (e, r) => {
757
- t(Yt(e), r, n, 0);
758
- }), n;
759
- }
760
- return null;
761
- }
762
- //#endregion
763
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/defaults/index.js
764
- var Qt = (e, t) => e != null && q.hasOwnProp(e, t) ? e[t] : void 0;
765
- function $t(e, t, n) {
766
- if (q.isString(e)) try {
767
- return (t || JSON.parse)(e), q.trim(e);
768
- } catch (e) {
769
- if (e.name !== "SyntaxError") throw e;
770
- }
771
- return (n || JSON.stringify)(e);
772
- }
773
- var en = {
774
- transitional: Bt,
775
- adapter: [
776
- "xhr",
777
- "http",
778
- "fetch"
779
- ],
780
- transformRequest: [function(e, t) {
781
- let n = t.getContentType() || "", r = n.indexOf("application/json") > -1, i = q.isObject(e);
782
- if (i && q.isHTMLForm(e) && (e = new FormData(e)), q.isFormData(e)) return r ? JSON.stringify(Zt(e)) : e;
783
- if (q.isArrayBuffer(e) || q.isBuffer(e) || q.isStream(e) || q.isFile(e) || q.isBlob(e) || q.isReadableStream(e)) return e;
784
- if (q.isArrayBufferView(e)) return e.buffer;
785
- if (q.isURLSearchParams(e)) return t.setContentType("application/x-www-form-urlencoded;charset=utf-8", !1), e.toString();
786
- let a;
787
- if (i) {
788
- let t = Qt(this, "formSerializer");
789
- if (n.indexOf("application/x-www-form-urlencoded") > -1) return Jt(e, t).toString();
790
- if ((a = q.isFileList(e)) || n.indexOf("multipart/form-data") > -1) {
791
- let n = Qt(this, "env"), r = n && n.FormData;
792
- return Nt(a ? { "files[]": e } : e, r && new r(), t);
793
- }
794
- }
795
- return i || r ? (t.setContentType("application/json", !1), $t(e)) : e;
796
- }],
797
- transformResponse: [function(e) {
798
- let t = Qt(this, "transitional") || en.transitional, n = t && t.forcedJSONParsing, r = Qt(this, "responseType"), i = r === "json";
799
- if (q.isResponse(e) || q.isReadableStream(e)) return e;
800
- if (e && q.isString(e) && (n && !r || i)) {
801
- let n = !(t && t.silentJSONParsing) && i;
802
- try {
803
- return JSON.parse(e, Qt(this, "parseReviver"));
804
- } catch (e) {
805
- if (n) throw e.name === "SyntaxError" ? Y.from(e, Y.ERR_BAD_RESPONSE, this, null, Qt(this, "response")) : e;
806
- }
807
- }
808
- return e;
809
- }],
810
- timeout: 0,
811
- xsrfCookieName: "XSRF-TOKEN",
812
- xsrfHeaderName: "X-XSRF-TOKEN",
813
- maxContentLength: -1,
814
- maxBodyLength: -1,
815
- env: {
816
- FormData: X.classes.FormData,
817
- Blob: X.classes.Blob
818
- },
819
- validateStatus: function(e) {
820
- return e >= 200 && e < 300;
821
- },
822
- headers: { common: {
823
- Accept: "application/json, text/plain, */*",
824
- "Content-Type": void 0
825
- } }
826
- };
827
- q.forEach([
828
- "delete",
829
- "get",
830
- "head",
831
- "post",
832
- "put",
833
- "patch",
834
- "query"
835
- ], (e) => {
836
- en.headers[e] = {};
837
- });
838
- //#endregion
839
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/core/transformData.js
840
- function tn(e, t) {
841
- let n = this || en, r = t || n, i = J.from(r.headers), a = r.data;
842
- return q.forEach(e, function(e) {
843
- a = e.call(n, a, i.normalize(), t ? t.status : void 0);
844
- }), i.normalize(), a;
845
- }
846
- //#endregion
847
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/cancel/isCancel.js
848
- function nn(e) {
849
- return !!(e && e.__CANCEL__);
850
- }
851
- //#endregion
852
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/cancel/CanceledError.js
853
- var rn = class extends Y {
854
- constructor(e, t, n) {
855
- super(e == null ? "canceled" : e, Y.ERR_CANCELED, t, n), this.name = "CanceledError", this.__CANCEL__ = !0;
856
- }
857
- };
858
- //#endregion
859
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/core/settle.js
860
- function an(e, t, n) {
861
- let r = n.config.validateStatus;
862
- !n.status || !r || r(n.status) ? e(n) : t(new Y("Request failed with status code " + n.status, n.status >= 400 && n.status < 500 ? Y.ERR_BAD_REQUEST : Y.ERR_BAD_RESPONSE, n.config, n.request, n));
863
- }
864
- //#endregion
865
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/parseProtocol.js
866
- function on(e) {
867
- let t = /^([-+\w]{1,25}):(?:\/\/)?/.exec(e);
868
- return t && t[1] || "";
869
- }
870
- //#endregion
871
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/speedometer.js
872
- function sn(e, t) {
873
- e = e || 10;
874
- let n = Array(e), r = Array(e), i = 0, a = 0, o;
875
- return t = t === void 0 ? 1e3 : t, function(s) {
876
- let c = Date.now(), l = r[a];
877
- o || (o = c), n[i] = s, r[i] = c;
878
- let u = a, d = 0;
879
- for (; u !== i;) d += n[u++], u %= e;
880
- if (i = (i + 1) % e, i === a && (a = (a + 1) % e), c - o < t) return;
881
- let f = l && c - l;
882
- return f ? Math.round(d * 1e3 / f) : void 0;
883
- };
884
- }
885
- //#endregion
886
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/throttle.js
887
- function cn(e, t) {
888
- let n = 0, r = 1e3 / t, i, a, o = (t, r = Date.now()) => {
889
- n = r, i = null, a && (clearTimeout(a), a = null), e(...t);
890
- };
891
- return [(...e) => {
892
- let t = Date.now(), s = t - n;
893
- s >= r ? o(e, t) : (i = e, a || (a = setTimeout(() => {
894
- a = null, o(i);
895
- }, r - s)));
896
- }, () => i && o(i)];
897
- }
898
- //#endregion
899
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/progressEventReducer.js
900
- var ln = (e, t, n = 3) => {
901
- let r = 0, i = sn(50, 250);
902
- return cn((n) => {
903
- if (!n || typeof n.loaded != "number") return;
904
- let a = n.loaded, o = n.lengthComputable ? n.total : void 0, s = o == null ? a : Math.min(a, o), c = Math.max(0, s - r), l = i(c);
905
- r = Math.max(r, s), e({
906
- loaded: s,
907
- total: o,
908
- progress: o ? s / o : void 0,
909
- bytes: c,
910
- rate: l || void 0,
911
- estimated: l && o ? (o - s) / l : void 0,
912
- event: n,
913
- lengthComputable: o != null,
914
- [t ? "download" : "upload"]: !0
915
- });
916
- }, n);
917
- }, un = (e, t) => {
918
- let n = e != null;
919
- return [(r) => t[0]({
920
- lengthComputable: n,
921
- total: e,
922
- loaded: r
923
- }), t[1]];
924
- }, dn = (e) => (...t) => q.asap(() => e(...t)), fn = X.hasStandardBrowserEnv ? ((e, t) => (n) => (n = new URL(n, X.origin), e.protocol === n.protocol && e.host === n.host && (t || e.port === n.port)))(new URL(X.origin), X.navigator && /(msie|trident)/i.test(X.navigator.userAgent)) : () => !0, pn = X.hasStandardBrowserEnv ? {
925
- write(e, t, n, r, i, a, o) {
926
- if (typeof document > "u") return;
927
- let s = [`${e}=${encodeURIComponent(t)}`];
928
- q.isNumber(n) && s.push(`expires=${new Date(n).toUTCString()}`), q.isString(r) && s.push(`path=${r}`), q.isString(i) && s.push(`domain=${i}`), a === !0 && s.push("secure"), q.isString(o) && s.push(`SameSite=${o}`), document.cookie = s.join("; ");
929
- },
930
- read(e) {
931
- if (typeof document > "u") return null;
932
- let t = document.cookie.split(";");
933
- for (let n = 0; n < t.length; n++) {
934
- let r = t[n].replace(/^\s+/, ""), i = r.indexOf("=");
935
- if (i !== -1 && r.slice(0, i) === e) return decodeURIComponent(r.slice(i + 1));
936
- }
937
- return null;
938
- },
939
- remove(e) {
940
- this.write(e, "", Date.now() - 864e5, "/");
941
- }
942
- } : {
943
- write() {},
944
- read() {
945
- return null;
946
- },
947
- remove() {}
948
- };
949
- //#endregion
950
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/isAbsoluteURL.js
951
- function mn(e) {
952
- return typeof e == "string" ? /^([a-z][a-z\d+\-.]*:)?\/\//i.test(e) : !1;
953
- }
954
- //#endregion
955
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/combineURLs.js
956
- function hn(e, t) {
957
- return t ? e.replace(/\/?\/$/, "") + "/" + t.replace(/^\/+/, "") : e;
958
- }
959
- //#endregion
960
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/core/buildFullPath.js
961
- function gn(e, t, n) {
962
- let r = !mn(t);
963
- return e && (r || n === !1) ? hn(e, t) : t;
964
- }
965
- //#endregion
966
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/core/mergeConfig.js
967
- a();
968
- var _n = (e) => e instanceof J ? o({}, e) : e;
969
- function vn(e, t) {
970
- t = t || {};
971
- let n = Object.create(null);
972
- Object.defineProperty(n, "hasOwnProperty", {
973
- __proto__: null,
974
- value: Object.prototype.hasOwnProperty,
975
- enumerable: !1,
976
- writable: !0,
977
- configurable: !0
978
- });
979
- function r(e, t, n, r) {
980
- return q.isPlainObject(e) && q.isPlainObject(t) ? q.merge.call({ caseless: r }, e, t) : q.isPlainObject(t) ? q.merge({}, t) : q.isArray(t) ? t.slice() : t;
981
- }
982
- function i(e, t, n, i) {
983
- if (!q.isUndefined(t)) return r(e, t, n, i);
984
- if (!q.isUndefined(e)) return r(void 0, e, n, i);
985
- }
986
- function a(e, t) {
987
- if (!q.isUndefined(t)) return r(void 0, t);
988
- }
989
- function s(e, t) {
990
- if (!q.isUndefined(t)) return r(void 0, t);
991
- if (!q.isUndefined(e)) return r(void 0, e);
992
- }
993
- function c(n, i, a) {
994
- if (q.hasOwnProp(t, a)) return r(n, i);
995
- if (q.hasOwnProp(e, a)) return r(void 0, n);
996
- }
997
- let l = {
998
- url: a,
999
- method: a,
1000
- data: a,
1001
- baseURL: s,
1002
- transformRequest: s,
1003
- transformResponse: s,
1004
- paramsSerializer: s,
1005
- timeout: s,
1006
- timeoutMessage: s,
1007
- withCredentials: s,
1008
- withXSRFToken: s,
1009
- adapter: s,
1010
- responseType: s,
1011
- xsrfCookieName: s,
1012
- xsrfHeaderName: s,
1013
- onUploadProgress: s,
1014
- onDownloadProgress: s,
1015
- decompress: s,
1016
- maxContentLength: s,
1017
- maxBodyLength: s,
1018
- beforeRedirect: s,
1019
- transport: s,
1020
- httpAgent: s,
1021
- httpsAgent: s,
1022
- cancelToken: s,
1023
- socketPath: s,
1024
- allowedSocketPaths: s,
1025
- responseEncoding: s,
1026
- validateStatus: c,
1027
- headers: (e, t, n) => i(_n(e), _n(t), n, !0)
1028
- };
1029
- return q.forEach(Object.keys(o(o({}, e), t)), function(r) {
1030
- if (r === "__proto__" || r === "constructor" || r === "prototype") return;
1031
- let a = q.hasOwnProp(l, r) ? l[r] : i, o = a(q.hasOwnProp(e, r) ? e[r] : void 0, q.hasOwnProp(t, r) ? t[r] : void 0, r);
1032
- q.isUndefined(o) && a !== c || (n[r] = o);
1033
- }), n;
1034
- }
1035
- //#endregion
1036
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/resolveConfig.js
1037
- var yn = ["content-type", "content-length"];
1038
- function bn(e, t, n) {
1039
- if (n !== "content-only") {
1040
- e.set(t);
1041
- return;
1042
- }
1043
- Object.entries(t).forEach(([t, n]) => {
1044
- yn.includes(t.toLowerCase()) && e.set(t, n);
1045
- });
1046
- }
1047
- var xn = (e) => encodeURIComponent(e).replace(/%([0-9A-F]{2})/gi, (e, t) => String.fromCharCode(parseInt(t, 16)));
1048
- function Sn(e) {
1049
- let t = vn({}, e), n = (e) => q.hasOwnProp(t, e) ? t[e] : void 0, r = n("data"), i = n("withXSRFToken"), a = n("xsrfHeaderName"), o = n("xsrfCookieName"), s = n("headers"), c = n("auth"), l = n("baseURL"), u = n("allowAbsoluteUrls"), d = n("url");
1050
- if (t.headers = s = J.from(s), t.url = Rt(gn(l, d, u), n("params"), n("paramsSerializer")), c && s.set("Authorization", "Basic " + btoa((c.username || "") + ":" + (c.password ? xn(c.password) : ""))), q.isFormData(r) && (X.hasStandardBrowserEnv || X.hasStandardBrowserWebWorkerEnv || q.isReactNative(r) ? s.setContentType(void 0) : q.isFunction(r.getHeaders) && bn(s, r.getHeaders(), n("formDataHeaderPolicy"))), X.hasStandardBrowserEnv && (q.isFunction(i) && (i = i(t)), i === !0 || i == null && fn(t.url))) {
1051
- let e = a && o && pn.read(o);
1052
- e && s.set(a, e);
1053
- }
1054
- return t;
1055
- }
1056
- var Cn = typeof XMLHttpRequest < "u" && function(e) {
1057
- return new Promise(function(t, n) {
1058
- let r = Sn(e), i = r.data, a = J.from(r.headers).normalize(), { responseType: o, onUploadProgress: s, onDownloadProgress: c } = r, l, u, d, f, p;
1059
- function m() {
1060
- f && f(), p && p(), r.cancelToken && r.cancelToken.unsubscribe(l), r.signal && r.signal.removeEventListener("abort", l);
1061
- }
1062
- let h = new XMLHttpRequest();
1063
- h.open(r.method.toUpperCase(), r.url, !0), h.timeout = r.timeout;
1064
- function g() {
1065
- if (!h) return;
1066
- let r = J.from("getAllResponseHeaders" in h && h.getAllResponseHeaders());
1067
- an(function(e) {
1068
- t(e), m();
1069
- }, function(e) {
1070
- n(e), m();
1071
- }, {
1072
- data: !o || o === "text" || o === "json" ? h.responseText : h.response,
1073
- status: h.status,
1074
- statusText: h.statusText,
1075
- headers: r,
1076
- config: e,
1077
- request: h
1078
- }), h = null;
1079
- }
1080
- "onloadend" in h ? h.onloadend = g : h.onreadystatechange = function() {
1081
- !h || h.readyState !== 4 || h.status === 0 && !(h.responseURL && h.responseURL.startsWith("file:")) || setTimeout(g);
1082
- }, h.onabort = function() {
1083
- h && (n(new Y("Request aborted", Y.ECONNABORTED, e, h)), m(), h = null);
1084
- }, h.onerror = function(t) {
1085
- let r = new Y(t && t.message ? t.message : "Network Error", Y.ERR_NETWORK, e, h);
1086
- r.event = t || null, n(r), m(), h = null;
1087
- }, h.ontimeout = function() {
1088
- let t = r.timeout ? "timeout of " + r.timeout + "ms exceeded" : "timeout exceeded", i = r.transitional || Bt;
1089
- r.timeoutErrorMessage && (t = r.timeoutErrorMessage), n(new Y(t, i.clarifyTimeoutError ? Y.ETIMEDOUT : Y.ECONNABORTED, e, h)), m(), h = null;
1090
- }, i === void 0 && a.setContentType(null), "setRequestHeader" in h && q.forEach(gt(a), function(e, t) {
1091
- h.setRequestHeader(t, e);
1092
- }), q.isUndefined(r.withCredentials) || (h.withCredentials = !!r.withCredentials), o && o !== "json" && (h.responseType = r.responseType), c && ([d, p] = ln(c, !0), h.addEventListener("progress", d)), s && h.upload && ([u, f] = ln(s), h.upload.addEventListener("progress", u), h.upload.addEventListener("loadend", f)), (r.cancelToken || r.signal) && (l = (t) => {
1093
- h && (n(!t || t.type ? new rn(null, e, h) : t), h.abort(), m(), h = null);
1094
- }, r.cancelToken && r.cancelToken.subscribe(l), r.signal && (r.signal.aborted ? l() : r.signal.addEventListener("abort", l)));
1095
- let _ = on(r.url);
1096
- if (_ && !X.protocols.includes(_)) {
1097
- n(new Y("Unsupported protocol " + _ + ":", Y.ERR_BAD_REQUEST, e));
1098
- return;
1099
- }
1100
- h.send(i || null);
1101
- });
1102
- }, wn = (e, t) => {
1103
- if (e = e ? e.filter(Boolean) : [], !t && !e.length) return;
1104
- let n = new AbortController(), r = !1, i = function(e) {
1105
- if (!r) {
1106
- r = !0, o();
1107
- let t = e instanceof Error ? e : this.reason;
1108
- n.abort(t instanceof Y ? t : new rn(t instanceof Error ? t.message : t));
1109
- }
1110
- }, a = t && setTimeout(() => {
1111
- a = null, i(new Y(`timeout of ${t}ms exceeded`, Y.ETIMEDOUT));
1112
- }, t), o = () => {
1113
- e && (a && clearTimeout(a), a = null, e.forEach((e) => {
1114
- e.unsubscribe ? e.unsubscribe(i) : e.removeEventListener("abort", i);
1115
- }), e = null);
1116
- };
1117
- e.forEach((e) => e.addEventListener("abort", i));
1118
- let { signal: s } = n;
1119
- return s.unsubscribe = () => q.asap(o), s;
1120
- };
1121
- //#endregion
1122
- //#region \0@oxc-project+runtime@0.133.0/helpers/esm/asyncGeneratorDelegate.js
1123
- function Tn(e) {
1124
- var t = {}, n = !1;
1125
- function r(t, r) {
1126
- return n = !0, r = new Promise(function(n) {
1127
- n(e[t](r));
1128
- }), {
1129
- done: !1,
1130
- value: new l(r, 1)
1131
- };
1132
- }
1133
- return t[typeof Symbol < "u" && Symbol.iterator || "@@iterator"] = function() {
1134
- return this;
1135
- }, t.next = function(e) {
1136
- return n ? (n = !1, e) : r("next", e);
1137
- }, typeof e.throw == "function" && (t.throw = function(e) {
1138
- if (n) throw n = !1, e;
1139
- return r("throw", e);
1140
- }), typeof e.return == "function" && (t.return = function(e) {
1141
- return n ? (n = !1, e) : r("return", e);
1142
- }), t;
1143
- }
1144
- //#endregion
1145
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/trackStream.js
1146
- s();
1147
- var En = function* (e, t) {
1148
- let n = e.byteLength;
1149
- if (!t || n < t) {
1150
- yield e;
1151
- return;
1152
- }
1153
- let r = 0, i;
1154
- for (; r < n;) i = r + t, yield e.slice(r, i), r = i;
1155
- }, Dn = /* @__PURE__ */ function() {
1156
- var e = p(function* (e, t) {
1157
- var n = !1, r = !1, i;
1158
- try {
1159
- for (var a = f(On(e)), o; n = !(o = yield u(a.next())).done; n = !1) {
1160
- let e = o.value;
1161
- yield* Tn(f(En(e, t)));
1162
- }
1163
- } catch (e) {
1164
- r = !0, i = e;
1165
- } finally {
1166
- try {
1167
- n && a.return != null && (yield u(a.return()));
1168
- } finally {
1169
- if (r) throw i;
1170
- }
1171
- }
1172
- });
1173
- return function(t, n) {
1174
- return e.apply(this, arguments);
1175
- };
1176
- }(), On = /* @__PURE__ */ function() {
1177
- var e = p(function* (e) {
1178
- if (e[Symbol.asyncIterator]) {
1179
- yield* Tn(f(e));
1180
- return;
1181
- }
1182
- let t = e.getReader();
1183
- try {
1184
- for (;;) {
1185
- let { done: e, value: n } = yield u(t.read());
1186
- if (e) break;
1187
- yield n;
1188
- }
1189
- } finally {
1190
- yield u(t.cancel());
1191
- }
1192
- });
1193
- return function(t) {
1194
- return e.apply(this, arguments);
1195
- };
1196
- }(), kn = (e, t, n, r) => {
1197
- let i = Dn(e, t), a = 0, o, s = (e) => {
1198
- o || (o = !0, r && r(e));
1199
- };
1200
- return new ReadableStream({
1201
- pull(e) {
1202
- return c(function* () {
1203
- try {
1204
- let { done: t, value: r } = yield i.next();
1205
- if (t) {
1206
- s(), e.close();
1207
- return;
1208
- }
1209
- let o = r.byteLength;
1210
- n && n(a += o), e.enqueue(new Uint8Array(r));
1211
- } catch (e) {
1212
- throw s(e), e;
1213
- }
1214
- })();
1215
- },
1216
- cancel(e) {
1217
- return s(e), i.return();
1218
- }
1219
- }, { highWaterMark: 2 });
1220
- };
1221
- //#endregion
1222
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js
1223
- function An(e) {
1224
- if (!e || typeof e != "string" || !e.startsWith("data:")) return 0;
1225
- let t = e.indexOf(",");
1226
- if (t < 0) return 0;
1227
- let n = e.slice(5, t), r = e.slice(t + 1);
1228
- if (/;base64/i.test(n)) {
1229
- let e = r.length, t = r.length;
1230
- for (let n = 0; n < t; n++) if (r.charCodeAt(n) === 37 && n + 2 < t) {
1231
- let t = r.charCodeAt(n + 1), i = r.charCodeAt(n + 2);
1232
- (t >= 48 && t <= 57 || t >= 65 && t <= 70 || t >= 97 && t <= 102) && (i >= 48 && i <= 57 || i >= 65 && i <= 70 || i >= 97 && i <= 102) && (e -= 2, n += 2);
1233
- }
1234
- let n = 0, i = t - 1, a = (e) => e >= 2 && r.charCodeAt(e - 2) === 37 && r.charCodeAt(e - 1) === 51 && (r.charCodeAt(e) === 68 || r.charCodeAt(e) === 100);
1235
- i >= 0 && (r.charCodeAt(i) === 61 ? (n++, i--) : a(i) && (n++, i -= 3)), n === 1 && i >= 0 && (r.charCodeAt(i) === 61 || a(i)) && n++;
1236
- let o = Math.floor(e / 4) * 3 - (n || 0);
1237
- return o > 0 ? o : 0;
1238
- }
1239
- if (typeof Buffer < "u" && typeof Buffer.byteLength == "function") return Buffer.byteLength(r, "utf8");
1240
- let i = 0;
1241
- for (let e = 0, t = r.length; e < t; e++) {
1242
- let n = r.charCodeAt(e);
1243
- if (n < 128) i += 1;
1244
- else if (n < 2048) i += 2;
1245
- else if (n >= 55296 && n <= 56319 && e + 1 < t) {
1246
- let t = r.charCodeAt(e + 1);
1247
- t >= 56320 && t <= 57343 ? (i += 4, e++) : i += 3;
1248
- } else i += 3;
1249
- }
1250
- return i;
1251
- }
1252
- //#endregion
1253
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/env/data.js
1254
- var jn = "1.17.0";
1255
- s(), a();
1256
- var Mn = 64 * 1024, { isFunction: Nn } = q, Pn = (e) => encodeURIComponent(e).replace(/%([0-9A-F]{2})/gi, (e, t) => String.fromCharCode(parseInt(t, 16))), Fn = (e) => {
1257
- if (!q.isString(e)) return e;
1258
- try {
1259
- return decodeURIComponent(e);
1260
- } catch (t) {
1261
- return e;
1262
- }
1263
- }, In = (e, ...t) => {
1264
- try {
1265
- return !!e(...t);
1266
- } catch (e) {
1267
- return !1;
1268
- }
1269
- }, Ln = (e) => {
1270
- let t = e.indexOf("://"), n = e;
1271
- return t !== -1 && (n = n.slice(t + 3)), n.includes("@") || n.includes(":");
1272
- }, Rn = (e) => {
1273
- let t = q.global !== void 0 && q.global !== null ? q.global : globalThis, { ReadableStream: n, TextEncoder: r } = t;
1274
- e = q.merge.call({ skipUndefined: !0 }, {
1275
- Request: t.Request,
1276
- Response: t.Response
1277
- }, e);
1278
- let { fetch: i, Request: a, Response: s } = e, l = i ? Nn(i) : typeof fetch == "function", u = Nn(a), d = Nn(s);
1279
- if (!l) return !1;
1280
- let f = l && Nn(n), p = l && (typeof r == "function" ? ((e) => (t) => e.encode(t))(new r()) : function() {
1281
- var e = c(function* (e) {
1282
- return new Uint8Array(yield new a(e).arrayBuffer());
1283
- });
1284
- return function(t) {
1285
- return e.apply(this, arguments);
1286
- };
1287
- }()), m = u && f && In(() => {
1288
- let e = !1, t = new a(X.origin, {
1289
- body: new n(),
1290
- method: "POST",
1291
- get duplex() {
1292
- return e = !0, "half";
1293
- }
1294
- }), r = t.headers.has("Content-Type");
1295
- return t.body != null && t.body.cancel(), e && !r;
1296
- }), h = d && f && In(() => q.isReadableStream(new s("").body)), g = { stream: h && ((e) => e.body) };
1297
- l && [
1298
- "text",
1299
- "arrayBuffer",
1300
- "blob",
1301
- "formData",
1302
- "stream"
1303
- ].forEach((e) => {
1304
- !g[e] && (g[e] = (t, n) => {
1305
- let r = t && t[e];
1306
- if (r) return r.call(t);
1307
- throw new Y(`Response type '${e}' is not supported`, Y.ERR_NOT_SUPPORT, n);
1308
- });
1309
- });
1310
- let _ = function() {
1311
- var e = c(function* (e) {
1312
- if (e == null) return 0;
1313
- if (q.isBlob(e)) return e.size;
1314
- if (q.isSpecCompliantForm(e)) return (yield new a(X.origin, {
1315
- method: "POST",
1316
- body: e
1317
- }).arrayBuffer()).byteLength;
1318
- if (q.isArrayBufferView(e) || q.isArrayBuffer(e)) return e.byteLength;
1319
- if (q.isURLSearchParams(e) && (e += ""), q.isString(e)) return (yield p(e)).byteLength;
1320
- });
1321
- return function(t) {
1322
- return e.apply(this, arguments);
1323
- };
1324
- }(), ee = function() {
1325
- var e = c(function* (e, t) {
1326
- let n = q.toFiniteNumber(e.getContentLength());
1327
- return n == null ? _(t) : n;
1328
- });
1329
- return function(t, n) {
1330
- return e.apply(this, arguments);
1331
- };
1332
- }();
1333
- return function() {
1334
- var e = c(function* (e) {
1335
- let { url: t, method: n, data: c, signal: l, cancelToken: d, timeout: f, onDownloadProgress: p, onUploadProgress: _, responseType: v, headers: y, withCredentials: b = "same-origin", fetchOptions: te, maxContentLength: x, maxBodyLength: S } = Sn(e), C = q.isNumber(x) && x > -1, w = q.isNumber(S) && S > -1, T = (t) => q.hasOwnProp(e, t) ? e[t] : void 0, ne = i || fetch;
1336
- v = v ? (v + "").toLowerCase() : "text";
1337
- let E = wn([l, d && d.toAbortSignal()], f), D = null, O = E && E.unsubscribe && (() => {
1338
- E.unsubscribe();
1339
- }), re;
1340
- try {
1341
- let i, l = T("auth");
1342
- if (l && (i = {
1343
- username: l.username || "",
1344
- password: l.password || ""
1345
- }), Ln(t)) {
1346
- let e = new URL(t, X.origin);
1347
- !i && (e.username || e.password) && (i = {
1348
- username: Fn(e.username),
1349
- password: Fn(e.password)
1350
- }), (e.username || e.password) && (e.username = "", e.password = "", t = e.href);
1351
- }
1352
- if (i && (y.delete("authorization"), y.set("Authorization", "Basic " + btoa(Pn((i.username || "") + ":" + (i.password || ""))))), C && typeof t == "string" && t.startsWith("data:") && An(t) > x) throw new Y("maxContentLength size of " + x + " exceeded", Y.ERR_BAD_RESPONSE, e, D);
1353
- if (w && n !== "get" && n !== "head") {
1354
- let t = yield ee(y, c);
1355
- if (typeof t == "number" && isFinite(t) && t > S) throw new Y("Request body larger than maxBodyLength limit", Y.ERR_BAD_REQUEST, e, D);
1356
- }
1357
- if (_ && m && n !== "get" && n !== "head" && (re = yield ee(y, c)) !== 0) {
1358
- let e = new a(t, {
1359
- method: "POST",
1360
- body: c,
1361
- duplex: "half"
1362
- }), n;
1363
- if (q.isFormData(c) && (n = e.headers.get("content-type")) && y.setContentType(n), e.body) {
1364
- let [t, n] = un(re, ln(dn(_)));
1365
- c = kn(e.body, Mn, t, n);
1366
- }
1367
- }
1368
- q.isString(b) || (b = b ? "include" : "omit");
1369
- let d = u && "credentials" in a.prototype;
1370
- if (q.isFormData(c)) {
1371
- let e = y.getContentType();
1372
- e && /^multipart\/form-data/i.test(e) && !/boundary=/i.test(e) && y.delete("content-type");
1373
- }
1374
- y.set("User-Agent", "axios/" + jn, !1);
1375
- let f = o(o({}, te), {}, {
1376
- signal: E,
1377
- method: n.toUpperCase(),
1378
- headers: gt(y.normalize()),
1379
- body: c,
1380
- duplex: "half",
1381
- credentials: d ? b : void 0
1382
- });
1383
- D = u && new a(t, f);
1384
- let k = yield u ? ne(D, te) : ne(t, f);
1385
- if (C) {
1386
- let t = q.toFiniteNumber(k.headers.get("content-length"));
1387
- if (t != null && t > x) throw new Y("maxContentLength size of " + x + " exceeded", Y.ERR_BAD_RESPONSE, e, D);
1388
- }
1389
- let ie = h && (v === "stream" || v === "response");
1390
- if (h && k.body && (p || C || ie && O)) {
1391
- let t = {};
1392
- [
1393
- "status",
1394
- "statusText",
1395
- "headers"
1396
- ].forEach((e) => {
1397
- t[e] = k[e];
1398
- });
1399
- let n = q.toFiniteNumber(k.headers.get("content-length")), [r, i] = p && un(n, ln(dn(p), !0)) || [], a = 0;
1400
- k = new s(kn(k.body, Mn, (t) => {
1401
- if (C && (a = t, a > x)) throw new Y("maxContentLength size of " + x + " exceeded", Y.ERR_BAD_RESPONSE, e, D);
1402
- r && r(t);
1403
- }, () => {
1404
- i && i(), O && O();
1405
- }), t);
1406
- }
1407
- v = v || "text";
1408
- let A = yield g[q.findKey(g, v) || "text"](k, e);
1409
- if (C && !h && !ie) {
1410
- let t;
1411
- if (A != null && (typeof A.byteLength == "number" ? t = A.byteLength : typeof A.size == "number" ? t = A.size : typeof A == "string" && (t = typeof r == "function" ? new r().encode(A).byteLength : A.length)), typeof t == "number" && t > x) throw new Y("maxContentLength size of " + x + " exceeded", Y.ERR_BAD_RESPONSE, e, D);
1412
- }
1413
- return !ie && O && O(), yield new Promise((t, n) => {
1414
- an(t, n, {
1415
- data: A,
1416
- headers: J.from(k.headers),
1417
- status: k.status,
1418
- statusText: k.statusText,
1419
- config: e,
1420
- request: D
1421
- });
1422
- });
1423
- } catch (t) {
1424
- if (O && O(), E && E.aborted && E.reason instanceof Y) {
1425
- let n = E.reason;
1426
- throw n.config = e, D && (n.request = D), t !== n && (n.cause = t), n;
1427
- }
1428
- throw t && t.name === "TypeError" && /Load failed|fetch/i.test(t.message) ? Object.assign(new Y("Network Error", Y.ERR_NETWORK, e, D, t && t.response), { cause: t.cause || t }) : Y.from(t, t && t.code, e, D, t && t.response);
1429
- }
1430
- });
1431
- return function(t) {
1432
- return e.apply(this, arguments);
1433
- };
1434
- }();
1435
- }, zn = /* @__PURE__ */ new Map(), Bn = (e) => {
1436
- let t = e && e.env || {}, { fetch: n, Request: r, Response: i } = t, a = [
1437
- r,
1438
- i,
1439
- n
1440
- ], o = a.length, s, c, l = zn;
1441
- for (; o--;) s = a[o], c = l.get(s), c === void 0 && l.set(s, c = o ? /* @__PURE__ */ new Map() : Rn(t)), l = c;
1442
- return c;
1443
- };
1444
- Bn();
1445
- //#endregion
1446
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/adapters/adapters.js
1447
- var Vn = {
1448
- http: null,
1449
- xhr: Cn,
1450
- fetch: { get: Bn }
1451
- };
1452
- q.forEach(Vn, (e, t) => {
1453
- if (e) {
1454
- try {
1455
- Object.defineProperty(e, "name", {
1456
- __proto__: null,
1457
- value: t
1458
- });
1459
- } catch (e) {}
1460
- Object.defineProperty(e, "adapterName", {
1461
- __proto__: null,
1462
- value: t
1463
- });
1464
- }
1465
- });
1466
- var Hn = (e) => `- ${e}`, Un = (e) => q.isFunction(e) || e === null || e === !1;
1467
- function Wn(e, t) {
1468
- e = q.isArray(e) ? e : [e];
1469
- let { length: n } = e, r, i, a = {};
1470
- for (let o = 0; o < n; o++) {
1471
- r = e[o];
1472
- let n;
1473
- if (i = r, !Un(r) && (i = Vn[(n = String(r)).toLowerCase()], i === void 0)) throw new Y(`Unknown adapter '${n}'`);
1474
- if (i && (q.isFunction(i) || (i = i.get(t)))) break;
1475
- a[n || "#" + o] = i;
1476
- }
1477
- if (!i) {
1478
- let e = Object.entries(a).map(([e, t]) => `adapter ${e} ` + (t === !1 ? "is not supported by the environment" : "is not available in the build"));
1479
- throw new Y("There is no suitable adapter to dispatch the request " + (n ? e.length > 1 ? "since :\n" + e.map(Hn).join("\n") : " " + Hn(e[0]) : "as no adapter specified"), "ERR_NOT_SUPPORT");
1480
- }
1481
- return i;
1482
- }
1483
- var Gn = {
1484
- getAdapter: Wn,
1485
- adapters: Vn
1486
- };
1487
- //#endregion
1488
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/core/dispatchRequest.js
1489
- function Kn(e) {
1490
- if (e.cancelToken && e.cancelToken.throwIfRequested(), e.signal && e.signal.aborted) throw new rn(null, e);
1491
- }
1492
- function qn(e) {
1493
- return Kn(e), e.headers = J.from(e.headers), e.data = tn.call(e, e.transformRequest), [
1494
- "post",
1495
- "put",
1496
- "patch"
1497
- ].indexOf(e.method) !== -1 && e.headers.setContentType("application/x-www-form-urlencoded", !1), Gn.getAdapter(e.adapter || en.adapter, e)(e).then(function(t) {
1498
- Kn(e), e.response = t;
1499
- try {
1500
- t.data = tn.call(e, e.transformResponse, t);
1501
- } finally {
1502
- delete e.response;
1503
- }
1504
- return t.headers = J.from(t.headers), t;
1505
- }, function(t) {
1506
- if (!nn(t) && (Kn(e), t && t.response)) {
1507
- e.response = t.response;
1508
- try {
1509
- t.response.data = tn.call(e, e.transformResponse, t.response);
1510
- } finally {
1511
- delete e.response;
1512
- }
1513
- t.response.headers = J.from(t.response.headers);
1514
- }
1515
- return Promise.reject(t);
1516
- });
1517
- }
1518
- //#endregion
1519
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/validator.js
1520
- var Jn = {};
1521
- [
1522
- "object",
1523
- "boolean",
1524
- "number",
1525
- "function",
1526
- "string",
1527
- "symbol"
1528
- ].forEach((e, t) => {
1529
- Jn[e] = function(n) {
1530
- return typeof n === e || "a" + (t < 1 ? "n " : " ") + e;
1531
- };
1532
- });
1533
- var Yn = {};
1534
- Jn.transitional = function(e, t, n) {
1535
- function r(e, t) {
1536
- return "[Axios v" + jn + "] Transitional option '" + e + "'" + t + (n ? ". " + n : "");
1537
- }
1538
- return (n, i, a) => {
1539
- if (e === !1) throw new Y(r(i, " has been removed" + (t ? " in " + t : "")), Y.ERR_DEPRECATED);
1540
- return t && !Yn[i] && (Yn[i] = !0, console.warn(r(i, " has been deprecated since v" + t + " and will be removed in the near future"))), e ? e(n, i, a) : !0;
1541
- };
1542
- }, Jn.spelling = function(e) {
1543
- return (t, n) => (console.warn(`${n} is likely a misspelling of ${e}`), !0);
1544
- };
1545
- function Xn(e, t, n) {
1546
- if (typeof e != "object") throw new Y("options must be an object", Y.ERR_BAD_OPTION_VALUE);
1547
- let r = Object.keys(e), i = r.length;
1548
- for (; i-- > 0;) {
1549
- let a = r[i], o = Object.prototype.hasOwnProperty.call(t, a) ? t[a] : void 0;
1550
- if (o) {
1551
- let t = e[a], n = t === void 0 || o(t, a, e);
1552
- if (n !== !0) throw new Y("option " + a + " must be " + n, Y.ERR_BAD_OPTION_VALUE);
1553
- continue;
1554
- }
1555
- if (n !== !0) throw new Y("Unknown option " + a, Y.ERR_BAD_OPTION);
1556
- }
1557
- }
1558
- var Zn = {
1559
- assertOptions: Xn,
1560
- validators: Jn
1561
- };
1562
- //#endregion
1563
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/core/Axios.js
1564
- s();
1565
- var Z = Zn.validators, Qn = class {
1566
- constructor(e) {
1567
- this.defaults = e || {}, this.interceptors = {
1568
- request: new zt(),
1569
- response: new zt()
1570
- };
1571
- }
1572
- request(e, t) {
1573
- var n = this;
1574
- return c(function* () {
1575
- try {
1576
- return yield n._request(e, t);
1577
- } catch (e) {
1578
- if (e instanceof Error) {
1579
- let t = {};
1580
- Error.captureStackTrace ? Error.captureStackTrace(t) : t = /* @__PURE__ */ Error();
1581
- let n = (() => {
1582
- if (!t.stack) return "";
1583
- let e = t.stack.indexOf("\n");
1584
- return e === -1 ? "" : t.stack.slice(e + 1);
1585
- })();
1586
- try {
1587
- if (!e.stack) e.stack = n;
1588
- else if (n) {
1589
- let t = n.indexOf("\n"), r = t === -1 ? -1 : n.indexOf("\n", t + 1), i = r === -1 ? "" : n.slice(r + 1);
1590
- String(e.stack).endsWith(i) || (e.stack += "\n" + n);
1591
- }
1592
- } catch (e) {}
1593
- }
1594
- throw e;
1595
- }
1596
- })();
1597
- }
1598
- _request(e, t) {
1599
- typeof e == "string" ? (t = t || {}, t.url = e) : t = e || {}, t = vn(this.defaults, t);
1600
- let { transitional: n, paramsSerializer: r, headers: i } = t;
1601
- n !== void 0 && Zn.assertOptions(n, {
1602
- silentJSONParsing: Z.transitional(Z.boolean),
1603
- forcedJSONParsing: Z.transitional(Z.boolean),
1604
- clarifyTimeoutError: Z.transitional(Z.boolean),
1605
- legacyInterceptorReqResOrdering: Z.transitional(Z.boolean),
1606
- advertiseZstdAcceptEncoding: Z.transitional(Z.boolean)
1607
- }, !1), r != null && (q.isFunction(r) ? t.paramsSerializer = { serialize: r } : Zn.assertOptions(r, {
1608
- encode: Z.function,
1609
- serialize: Z.function
1610
- }, !0)), t.allowAbsoluteUrls !== void 0 || (this.defaults.allowAbsoluteUrls === void 0 ? t.allowAbsoluteUrls = !0 : t.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls), Zn.assertOptions(t, {
1611
- baseUrl: Z.spelling("baseURL"),
1612
- withXsrfToken: Z.spelling("withXSRFToken")
1613
- }, !0), t.method = (t.method || this.defaults.method || "get").toLowerCase();
1614
- let a = i && q.merge(i.common, i[t.method]);
1615
- i && q.forEach([
1616
- "delete",
1617
- "get",
1618
- "head",
1619
- "post",
1620
- "put",
1621
- "patch",
1622
- "query",
1623
- "common"
1624
- ], (e) => {
1625
- delete i[e];
1626
- }), t.headers = J.concat(a, i);
1627
- let o = [], s = !0;
1628
- this.interceptors.request.forEach(function(e) {
1629
- if (typeof e.runWhen == "function" && e.runWhen(t) === !1) return;
1630
- s = s && e.synchronous;
1631
- let n = t.transitional || Bt;
1632
- n && n.legacyInterceptorReqResOrdering ? o.unshift(e.fulfilled, e.rejected) : o.push(e.fulfilled, e.rejected);
1633
- });
1634
- let c = [];
1635
- this.interceptors.response.forEach(function(e) {
1636
- c.push(e.fulfilled, e.rejected);
1637
- });
1638
- let l, u = 0, d;
1639
- if (!s) {
1640
- let e = [qn.bind(this), void 0];
1641
- for (e.unshift(...o), e.push(...c), d = e.length, l = Promise.resolve(t); u < d;) l = l.then(e[u++], e[u++]);
1642
- return l;
1643
- }
1644
- d = o.length;
1645
- let f = t;
1646
- for (; u < d;) {
1647
- let e = o[u++], t = o[u++];
1648
- try {
1649
- f = e(f);
1650
- } catch (e) {
1651
- t.call(this, e);
1652
- break;
1653
- }
1654
- }
1655
- try {
1656
- l = qn.call(this, f);
1657
- } catch (e) {
1658
- return Promise.reject(e);
1659
- }
1660
- for (u = 0, d = c.length; u < d;) l = l.then(c[u++], c[u++]);
1661
- return l;
1662
- }
1663
- getUri(e) {
1664
- return e = vn(this.defaults, e), Rt(gn(e.baseURL, e.url, e.allowAbsoluteUrls), e.params, e.paramsSerializer);
1665
- }
1666
- };
1667
- q.forEach([
1668
- "delete",
1669
- "get",
1670
- "head",
1671
- "options"
1672
- ], function(e) {
1673
- Qn.prototype[e] = function(t, n) {
1674
- return this.request(vn(n || {}, {
1675
- method: e,
1676
- url: t,
1677
- data: (n || {}).data
1678
- }));
1679
- };
1680
- }), q.forEach([
1681
- "post",
1682
- "put",
1683
- "patch",
1684
- "query"
1685
- ], function(e) {
1686
- function t(t) {
1687
- return function(n, r, i) {
1688
- return this.request(vn(i || {}, {
1689
- method: e,
1690
- headers: t ? { "Content-Type": "multipart/form-data" } : {},
1691
- url: n,
1692
- data: r
1693
- }));
1694
- };
1695
- }
1696
- Qn.prototype[e] = t(), e !== "query" && (Qn.prototype[e + "Form"] = t(!0));
1697
- });
1698
- //#endregion
1699
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/cancel/CancelToken.js
1700
- var $n = class e {
1701
- constructor(e) {
1702
- if (typeof e != "function") throw TypeError("executor must be a function.");
1703
- let t;
1704
- this.promise = new Promise(function(e) {
1705
- t = e;
1706
- });
1707
- let n = this;
1708
- this.promise.then((e) => {
1709
- if (!n._listeners) return;
1710
- let t = n._listeners.length;
1711
- for (; t-- > 0;) n._listeners[t](e);
1712
- n._listeners = null;
1713
- }), this.promise.then = (e) => {
1714
- let t, r = new Promise((e) => {
1715
- n.subscribe(e), t = e;
1716
- }).then(e);
1717
- return r.cancel = function() {
1718
- n.unsubscribe(t);
1719
- }, r;
1720
- }, e(function(e, r, i) {
1721
- n.reason || (n.reason = new rn(e, r, i), t(n.reason));
1722
- });
1723
- }
1724
- throwIfRequested() {
1725
- if (this.reason) throw this.reason;
1726
- }
1727
- subscribe(e) {
1728
- if (this.reason) {
1729
- e(this.reason);
1730
- return;
1731
- }
1732
- this._listeners ? this._listeners.push(e) : this._listeners = [e];
1733
- }
1734
- unsubscribe(e) {
1735
- if (!this._listeners) return;
1736
- let t = this._listeners.indexOf(e);
1737
- t !== -1 && this._listeners.splice(t, 1);
1738
- }
1739
- toAbortSignal() {
1740
- let e = new AbortController(), t = (t) => {
1741
- e.abort(t);
1742
- };
1743
- return this.subscribe(t), e.signal.unsubscribe = () => this.unsubscribe(t), e.signal;
1744
- }
1745
- static source() {
1746
- let t;
1747
- return {
1748
- token: new e(function(e) {
1749
- t = e;
1750
- }),
1751
- cancel: t
1752
- };
1753
- }
1754
- };
1755
- //#endregion
1756
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/spread.js
1757
- function er(e) {
1758
- return function(t) {
1759
- return e.apply(null, t);
1760
- };
1761
- }
1762
- //#endregion
1763
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/isAxiosError.js
1764
- function tr(e) {
1765
- return q.isObject(e) && e.isAxiosError === !0;
1766
- }
1767
- //#endregion
1768
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/HttpStatusCode.js
1769
- var nr = {
1770
- Continue: 100,
1771
- SwitchingProtocols: 101,
1772
- Processing: 102,
1773
- EarlyHints: 103,
1774
- Ok: 200,
1775
- Created: 201,
1776
- Accepted: 202,
1777
- NonAuthoritativeInformation: 203,
1778
- NoContent: 204,
1779
- ResetContent: 205,
1780
- PartialContent: 206,
1781
- MultiStatus: 207,
1782
- AlreadyReported: 208,
1783
- ImUsed: 226,
1784
- MultipleChoices: 300,
1785
- MovedPermanently: 301,
1786
- Found: 302,
1787
- SeeOther: 303,
1788
- NotModified: 304,
1789
- UseProxy: 305,
1790
- Unused: 306,
1791
- TemporaryRedirect: 307,
1792
- PermanentRedirect: 308,
1793
- BadRequest: 400,
1794
- Unauthorized: 401,
1795
- PaymentRequired: 402,
1796
- Forbidden: 403,
1797
- NotFound: 404,
1798
- MethodNotAllowed: 405,
1799
- NotAcceptable: 406,
1800
- ProxyAuthenticationRequired: 407,
1801
- RequestTimeout: 408,
1802
- Conflict: 409,
1803
- Gone: 410,
1804
- LengthRequired: 411,
1805
- PreconditionFailed: 412,
1806
- PayloadTooLarge: 413,
1807
- UriTooLong: 414,
1808
- UnsupportedMediaType: 415,
1809
- RangeNotSatisfiable: 416,
1810
- ExpectationFailed: 417,
1811
- ImATeapot: 418,
1812
- MisdirectedRequest: 421,
1813
- UnprocessableEntity: 422,
1814
- Locked: 423,
1815
- FailedDependency: 424,
1816
- TooEarly: 425,
1817
- UpgradeRequired: 426,
1818
- PreconditionRequired: 428,
1819
- TooManyRequests: 429,
1820
- RequestHeaderFieldsTooLarge: 431,
1821
- UnavailableForLegalReasons: 451,
1822
- InternalServerError: 500,
1823
- NotImplemented: 501,
1824
- BadGateway: 502,
1825
- ServiceUnavailable: 503,
1826
- GatewayTimeout: 504,
1827
- HttpVersionNotSupported: 505,
1828
- VariantAlsoNegotiates: 506,
1829
- InsufficientStorage: 507,
1830
- LoopDetected: 508,
1831
- NotExtended: 510,
1832
- NetworkAuthenticationRequired: 511,
1833
- WebServerIsDown: 521,
1834
- ConnectionTimedOut: 522,
1835
- OriginIsUnreachable: 523,
1836
- TimeoutOccurred: 524,
1837
- SslHandshakeFailed: 525,
1838
- InvalidSslCertificate: 526
1839
- };
1840
- Object.entries(nr).forEach(([e, t]) => {
1841
- nr[t] = e;
1842
- });
1843
- //#endregion
1844
- //#region node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/axios.js
1845
- function rr(e) {
1846
- let t = new Qn(e), n = ue(Qn.prototype.request, t);
1847
- return q.extend(n, Qn.prototype, t, { allOwnKeys: !0 }), q.extend(n, t, null, { allOwnKeys: !0 }), n.create = function(t) {
1848
- return rr(vn(e, t));
1849
- }, n;
1850
- }
1851
- var Q = rr(en);
1852
- Q.Axios = Qn, Q.CanceledError = rn, Q.CancelToken = $n, Q.isCancel = nn, Q.VERSION = jn, Q.toFormData = Nt, Q.AxiosError = Y, Q.Cancel = Q.CanceledError, Q.all = function(e) {
1853
- return Promise.all(e);
1854
- }, Q.spread = er, Q.isAxiosError = tr, Q.mergeConfig = vn, Q.AxiosHeaders = J, Q.formToJSON = (e) => Zt(q.isHTMLForm(e) ? new FormData(e) : e), Q.getAdapter = Gn.getAdapter, Q.HttpStatusCode = nr, Q.default = Q;
1855
- //#endregion
1856
- //#region node_modules/.pnpm/@lucide+vue@1.17.0_vue@3.5.35_typescript@6.0.3_/node_modules/@lucide/vue/dist/esm/shared/src/utils/isEmptyString.mjs
1857
- var ir = (e) => e === "", ar = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), or = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), sr = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), cr = (e) => {
1858
- let t = sr(e);
1859
- return t.charAt(0).toUpperCase() + t.slice(1);
1860
- }, lr = {
1861
- xmlns: "http://www.w3.org/2000/svg",
1862
- width: 24,
1863
- height: 24,
1864
- viewBox: "0 0 24 24",
1865
- fill: "none",
1866
- stroke: "currentColor",
1867
- "stroke-width": 2,
1868
- "stroke-linecap": "round",
1869
- "stroke-linejoin": "round"
1870
- }, ur = Symbol("lucide-icons");
1871
- function dr() {
1872
- return O(ur, {});
1873
- }
1874
- t(), a();
1875
- var fr = [
1876
- "name",
1877
- "iconNode",
1878
- "absoluteStrokeWidth",
1879
- "absolute-stroke-width",
1880
- "strokeWidth",
1881
- "stroke-width",
1882
- "size",
1883
- "color"
1884
- ], pr = (e, { slots: t }) => {
1885
- var r, i, a;
1886
- let { name: s, iconNode: c, absoluteStrokeWidth: l, "absolute-stroke-width": u, strokeWidth: d, "stroke-width": f, size: p, color: m } = e, h = n(e, fr), { size: g, color: _, strokeWidth: ee = 2, absoluteStrokeWidth: v = !1, class: y = "" } = dr(), b = S(() => {
1887
- let e = ir(l) || ir(u) || l === !0 || u === !0 || v === !0, t = d || f || ee || lr["stroke-width"];
1888
- if (e) {
1889
- var n;
1890
- return Number(t) * 24 / Number((n = p == null ? g : p) == null ? lr.width : n);
1891
- }
1892
- return t;
1893
- });
1894
- return D("svg", o(o(o({}, lr), h), {}, {
1895
- width: (r = p == null ? g : p) == null ? lr.width : r,
1896
- height: (i = p == null ? g : p) == null ? lr.height : i,
1897
- stroke: (a = m == null ? _ : m) == null ? lr.stroke : a,
1898
- "stroke-width": b.value,
1899
- class: ar("lucide", y, ...s ? [`lucide-${or(cr(s))}-icon`, `lucide-${or(s)}`] : ["lucide-icon"])
1900
- }), [...c.map((e) => D(...e)), ...t.default ? [t.default()] : []]);
1901
- };
1902
- //#endregion
1903
- //#region node_modules/.pnpm/@lucide+vue@1.17.0_vue@3.5.35_typescript@6.0.3_/node_modules/@lucide/vue/dist/esm/createLucideIcon.mjs
1904
- a();
1905
- var mr = (e, t) => (n, { slots: r, attrs: i }) => D(pr, o(o(o({}, i), n), {}, {
1906
- iconNode: t,
1907
- name: e
1908
- }), r.default ? { default: r.default } : void 0), hr = mr("rotate-ccw", [["path", {
1909
- d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",
1910
- key: "1357e3"
1911
- }], ["path", {
1912
- d: "M3 3v5h5",
1913
- key: "1xhq8a"
1914
- }]]), gr = mr("zoom-in", [
1915
- ["circle", {
1916
- cx: "11",
1917
- cy: "11",
1918
- r: "8",
1919
- key: "4ej97u"
1920
- }],
1921
- ["line", {
1922
- x1: "21",
1923
- x2: "16.65",
1924
- y1: "21",
1925
- y2: "16.65",
1926
- key: "13gj7c"
1927
- }],
1928
- ["line", {
1929
- x1: "11",
1930
- x2: "11",
1931
- y1: "8",
1932
- y2: "14",
1933
- key: "1vmskp"
1934
- }],
1935
- ["line", {
1936
- x1: "8",
1937
- x2: "14",
1938
- y1: "11",
1939
- y2: "11",
1940
- key: "durymu"
1941
- }]
1942
- ]), _r = mr("zoom-out", [
1943
- ["circle", {
1944
- cx: "11",
1945
- cy: "11",
1946
- r: "8",
1947
- key: "4ej97u"
1948
- }],
1949
- ["line", {
1950
- x1: "21",
1951
- x2: "16.65",
1952
- y1: "21",
1953
- y2: "16.65",
1954
- key: "13gj7c"
1955
- }],
1956
- ["line", {
1957
- x1: "8",
1958
- x2: "14",
1959
- y1: "11",
1960
- y2: "11",
1961
- key: "durymu"
1962
- }]
1963
- ]);
1964
- //#endregion
1965
- //#region src/package/common/printCapability.ts
1966
- r();
1967
- var vr = /* @__PURE__ */ "txt.json.js.mjs.cjs.css.java.py.html.htm.jsx.ts.tsx.xml.log.vue.yaml.yml.ini.sh.bash.sql.go.rs.php.c.cpp.cc.h.hpp.cs.diff".split("."), yr = [
1968
- "gif",
1969
- "jpg",
1970
- "jpeg",
1971
- "bmp",
1972
- "tiff",
1973
- "tif",
1974
- "png",
1975
- "svg",
1976
- "webp"
1977
- ], br = [
1978
- "docx",
1979
- "docm",
1980
- "dotx",
1981
- "dotm",
1982
- "doc",
1983
- "dot",
1984
- "pdf",
1985
- "typ",
1986
- "typst"
1987
- ], xr = [
1988
- "pptx",
1989
- "pptm",
1990
- "potx",
1991
- "potm",
1992
- "ppsx",
1993
- "ppsm",
1994
- "ofd",
1995
- "dxf",
1996
- "dwg",
1997
- "dwf",
1998
- "dwfx",
1999
- "xps",
2000
- "excalidraw",
2001
- "drawio",
2002
- "dio",
2003
- "umd",
2004
- "md",
2005
- "markdown",
2006
- "olb",
2007
- "dra",
2008
- ...vr,
2009
- ...yr
2010
- ], Sr = /* @__PURE__ */ "xlsx.xltx.xlsm.xlsb.xls.xlt.xltm.csv.ods.fods.numbers.zip.zipx.7z.rar.tar.gz.gzip.tgz.bz2.bzip2.tbz.tbz2.xz.txz.lzma.zst.tzst.cab.ar.cpio.iso.xar.lha.lzh.jar.war.ear.apk.cbz.cbr.eml.msg.epub.mp4.mp3.mpeg.wav.ogg.oga.opus.m4a.aac.flac.weba.gltf.glb.obj.stl.ply.fbx.dae.3ds.3mf.amf.usd.usda.usdc.usdz.kmz.step.stp.iges.igs.ifc.3dm.pcd.wrl.vrml.xyz.vtk.vtp".split("."), Cr = (e) => e.trim().replace(/^\./, "").toLowerCase(), wr = (e) => br.includes(Cr(e)), Tr = (e) => xr.includes(Cr(e)), Er = (e) => Sr.includes(Cr(e)), Dr = (e, t, n) => {
2011
- if (!n) return !1;
2012
- if (t) {
2013
- if (t.print === !1) return !1;
2014
- if (t.toHtml) return !0;
2015
- }
2016
- return wr(e) || Er(e) ? !1 : Tr(e);
2017
- };
2018
- //#endregion
2019
- //#region src/package/vendors/renders.ts
2020
- s();
2021
- var Or = (e) => ({
2022
- $el: e,
2023
- unmount() {}
2024
- }), kr = [
2025
- {
2026
- accepts: [
2027
- "docx",
2028
- "docm",
2029
- "dotx",
2030
- "dotm"
2031
- ],
2032
- handler: function() {
2033
- var e = c(function* (e, t, n, r) {
2034
- let { renderDocx: i } = yield import("./components/word.js"), a = yield i(e, t, r);
2035
- return window.dispatchEvent(new Event("resize")), a;
2036
- });
2037
- return function(t, n, r, i) {
2038
- return e.apply(this, arguments);
2039
- };
2040
- }()
2041
- },
2042
- {
2043
- accepts: ["doc", "dot"],
2044
- handler: function() {
2045
- var e = c(function* (e, t, n, r) {
2046
- let { renderDoc: i } = yield import("./components/word.js");
2047
- return i(e, t, r);
2048
- });
2049
- return function(t, n, r, i) {
2050
- return e.apply(this, arguments);
2051
- };
2052
- }()
2053
- },
2054
- {
2055
- accepts: [
2056
- "pptx",
2057
- "pptm",
2058
- "potx",
2059
- "potm",
2060
- "ppsx",
2061
- "ppsm"
2062
- ],
2063
- handler: function() {
2064
- var e = c(function* (e, t, n) {
2065
- let { default: r } = yield import("./components/pptx.js");
2066
- return yield r(e, t, n), window.dispatchEvent(new Event("resize")), Or(t);
2067
- });
2068
- return function(t, n, r) {
2069
- return e.apply(this, arguments);
2070
- };
2071
- }()
2072
- },
2073
- {
2074
- accepts: ["xlsx", "xltx"],
2075
- handler: function() {
2076
- var e = c(function* (e, t, n) {
2077
- let { default: r } = yield import("./components/xlsx.js");
2078
- return r(e, t, n);
2079
- });
2080
- return function(t, n, r) {
2081
- return e.apply(this, arguments);
2082
- };
2083
- }()
2084
- },
2085
- {
2086
- accepts: [
2087
- "xlsm",
2088
- "xlsb",
2089
- "xls",
2090
- "xlt",
2091
- "xltm",
2092
- "csv",
2093
- "ods",
2094
- "fods",
2095
- "numbers"
2096
- ],
2097
- handler: function() {
2098
- var e = c(function* (e, t, n) {
2099
- let { default: r } = yield import("./components/xlsx.js");
2100
- return r(e, t, n);
2101
- });
2102
- return function(t, n, r) {
2103
- return e.apply(this, arguments);
2104
- };
2105
- }()
2106
- },
2107
- {
2108
- accepts: ["pdf"],
2109
- handler: function() {
2110
- var e = c(function* (e, t, n, r) {
2111
- let { default: i } = yield import("./components/pdf.js");
2112
- return i(e, t, r);
2113
- });
2114
- return function(t, n, r, i) {
2115
- return e.apply(this, arguments);
2116
- };
2117
- }()
2118
- },
2119
- {
2120
- accepts: ["ofd"],
2121
- handler: function() {
2122
- var e = c(function* (e, t) {
2123
- let { default: n } = yield import("./components/ofd2.js");
2124
- return n(e, t);
2125
- });
2126
- return function(t, n) {
2127
- return e.apply(this, arguments);
2128
- };
2129
- }()
2130
- },
2131
- {
2132
- accepts: ["typ", "typst"],
2133
- handler: function() {
2134
- var e = c(function* (e, t, n, r) {
2135
- let { default: i } = yield import("./components/typst.js");
2136
- return i(e, t, n, r);
2137
- });
2138
- return function(t, n, r, i) {
2139
- return e.apply(this, arguments);
2140
- };
2141
- }()
2142
- },
2143
- {
2144
- accepts: b,
2145
- handler: function() {
2146
- var e = c(function* (e, t, n, r) {
2147
- let { default: i } = yield import("./components/archive.js");
2148
- return i(e, t, r);
2149
- });
2150
- return function(t, n, r, i) {
2151
- return e.apply(this, arguments);
2152
- };
2153
- }()
2154
- },
2155
- {
2156
- accepts: ["eml", "msg"],
2157
- handler: function() {
2158
- var e = c(function* (e, t, n, r) {
2159
- let { default: i } = yield import("./components/email.js");
2160
- return i(e, t, n, r);
2161
- });
2162
- return function(t, n, r, i) {
2163
- return e.apply(this, arguments);
2164
- };
2165
- }()
2166
- },
2167
- {
2168
- accepts: ["olb", "dra"],
2169
- handler: function() {
2170
- var e = c(function* (e, t, n, r) {
2171
- let { default: i } = yield import("./components/eda.js");
2172
- return i(e, t, n, r);
2173
- });
2174
- return function(t, n, r, i) {
2175
- return e.apply(this, arguments);
2176
- };
2177
- }()
2178
- },
2179
- {
2180
- accepts: [
2181
- "dxf",
2182
- "dwg",
2183
- "dwf",
2184
- "dwfx",
2185
- "xps"
2186
- ],
2187
- handler: function() {
2188
- var e = c(function* (e, t, n, r) {
2189
- let { default: i } = yield import("./components/cad.js");
2190
- return i(e, t, n, r);
2191
- });
2192
- return function(t, n, r, i) {
2193
- return e.apply(this, arguments);
2194
- };
2195
- }()
2196
- },
2197
- {
2198
- accepts: te,
2199
- handler: function() {
2200
- var e = c(function* (e, t, n, r) {
2201
- let { default: i } = yield import("./components/model.js");
2202
- return i(e, t, n, r);
2203
- });
2204
- return function(t, n, r, i) {
2205
- return e.apply(this, arguments);
2206
- };
2207
- }()
2208
- },
2209
- {
2210
- accepts: [
2211
- "excalidraw",
2212
- "drawio",
2213
- "dio"
2214
- ],
2215
- handler: function() {
2216
- var e = c(function* (e, t, n) {
2217
- let { default: r } = yield import("./components/drawing.js");
2218
- return r(e, t, n);
2219
- });
2220
- return function(t, n, r) {
2221
- return e.apply(this, arguments);
2222
- };
2223
- }()
2224
- },
2225
- {
2226
- accepts: ["epub"],
2227
- handler: function() {
2228
- var e = c(function* (e, t) {
2229
- let { default: n } = yield import("./components/ebook.js");
2230
- return n(e, t);
2231
- });
2232
- return function(t, n) {
2233
- return e.apply(this, arguments);
2234
- };
2235
- }()
2236
- },
2237
- {
2238
- accepts: ["umd"],
2239
- handler: function() {
2240
- var e = c(function* (e, t) {
2241
- let { default: n } = yield import("./components/umd.js");
2242
- return n(e, t);
2243
- });
2244
- return function(t, n) {
2245
- return e.apply(this, arguments);
2246
- };
2247
- }()
2248
- },
2249
- {
2250
- accepts: [
2251
- "gif",
2252
- "jpg",
2253
- "jpeg",
2254
- "bmp",
2255
- "tiff",
2256
- "tif",
2257
- "png",
2258
- "svg",
2259
- "webp"
2260
- ],
2261
- handler: function() {
2262
- var e = c(function* (e, t) {
2263
- let { default: n } = yield import("./components/image.js");
2264
- return n(e, t);
2265
- });
2266
- return function(t, n) {
2267
- return e.apply(this, arguments);
2268
- };
2269
- }()
2270
- },
2271
- {
2272
- accepts: ["md", "markdown"],
2273
- handler: function() {
2274
- var e = c(function* (e, t) {
2275
- let { default: n } = yield import("./components/md.js");
2276
- return n(e, t);
2277
- });
2278
- return function(t, n) {
2279
- return e.apply(this, arguments);
2280
- };
2281
- }()
2282
- },
2283
- {
2284
- accepts: /* @__PURE__ */ "txt.json.js.mjs.cjs.css.java.py.html.htm.jsx.ts.tsx.xml.log.vue.yaml.yml.ini.sh.bash.sql.go.rs.php.c.cpp.cc.h.hpp.cs.diff".split("."),
2285
- handler: function() {
2286
- var e = c(function* (e, t, n) {
2287
- let { default: r } = yield import("./components/text.js");
2288
- return r(e, t, n);
2289
- });
2290
- return function(t, n, r) {
2291
- return e.apply(this, arguments);
2292
- };
2293
- }()
2294
- },
2295
- {
2296
- accepts: ["mp4"],
2297
- handler: function() {
2298
- var e = c(function* (e, t) {
2299
- let { default: n } = yield import("./components/mp4.js");
2300
- return n(e, t), Or(t);
2301
- });
2302
- return function(t, n) {
2303
- return e.apply(this, arguments);
2304
- };
2305
- }()
2306
- },
2307
- {
2308
- accepts: [
2309
- "mp3",
2310
- "mpeg",
2311
- "wav",
2312
- "ogg",
2313
- "oga",
2314
- "opus",
2315
- "m4a",
2316
- "aac",
2317
- "flac",
2318
- "weba"
2319
- ],
2320
- handler: function() {
2321
- var e = c(function* (e, t, n) {
2322
- let { default: r } = yield import("./components/audio.js");
2323
- return r(e, t, n);
2324
- });
2325
- return function(t, n, r) {
2326
- return e.apply(this, arguments);
2327
- };
2328
- }()
2329
- },
2330
- {
2331
- accepts: ["error"],
2332
- handler: function() {
2333
- var e = c(function* (e, t, n) {
2334
- return t.innerHTML = `<div style='text-align: center; margin-top: 80px'>不支持.${n}格式的在线预览,请下载后预览或转换为支持的格式</div>
2335
- <div style='text-align: center'>支持 Word、Excel、PPT、PDF、OFD、Typst、压缩包、邮件、OLB/DRA、CAD、3D 模型、Excalidraw、draw.io、EPUB、UMD、Markdown、代码/文本、图片、音频和 MP4 的在线预览</div>`, Or(t);
2336
- });
2337
- return function(t, n, r) {
2338
- return e.apply(this, arguments);
2339
- };
2340
- }()
2341
- }
2342
- ].reduce((e, { accepts: t, handler: n }) => (t.forEach((t) => e.set(t, n)), e), /* @__PURE__ */ new Map());
2343
- //#endregion
2344
- //#region src/package/components/FileViewer/util.ts
2345
- s();
2346
- var Ar = kr.get("error");
2347
- function jr(e) {
2348
- let t = e.lastIndexOf(".");
2349
- return e.substring(t + 1);
2350
- }
2351
- function Mr(e, t, n, r) {
2352
- return Nr.apply(this, arguments);
2353
- }
2354
- function Nr() {
2355
- return Nr = c(function* (e, t, n, r) {
2356
- let i = t.toLowerCase(), a = kr.get(i);
2357
- if (a) return a(e, n, i, r);
2358
- if (Ar) return Ar(e, n, i, r);
2359
- }), Nr.apply(this, arguments);
2360
- }
2361
- a(), s();
2362
- var Pr = () => typeof window < "u" && window.parent !== window, Fr = (e, t, n) => {
2363
- Pr() && window.parent.postMessage({
2364
- type: e,
2365
- event: t,
2366
- payload: n
2367
- }, "*");
2368
- }, Ir = (e) => Math.max(0, e.scrollHeight - e.clientHeight), Lr = (e) => {
2369
- if (typeof window > "u") return !1;
2370
- let t = window.getComputedStyle(e), n = t.overflowY || t.overflow;
2371
- return Ir(e) > 2 && [
2372
- "auto",
2373
- "scroll",
2374
- "overlay"
2375
- ].includes(n);
2376
- }, Rr = (e) => ({
2377
- query: e.query,
2378
- total: e.total,
2379
- currentIndex: e.currentIndex,
2380
- current: e.current ? o({}, e.current) : null,
2381
- matches: e.matches.map((e) => o({}, e))
2382
- }), zr = ({ output: e, getOptions: t, emitSearchChange: n, emitLocationChange: r }) => {
2383
- let i = () => {
2384
- let t = e.value;
2385
- if (!t) return null;
2386
- let n = t.querySelector("[data-viewer-scroll-container], .pdf-wrapper");
2387
- return n && Lr(n) ? n : Lr(t) ? t : Array.from(t.querySelectorAll("div, section, article, pre")).filter(Lr).sort((e, t) => Ir(t) - Ir(e))[0] || n || t;
2388
- }, a = v(e, () => {
2389
- var e;
2390
- return (e = t()) == null ? void 0 : e.search;
2391
- }, i), o = () => Rr(a.state), s = () => {
2392
- let e = o();
2393
- return n(e), Fr("flyfish-viewer:search", "search-change", e), e;
2394
- }, l = () => {
2395
- let t = g(e.value, a.anchors.value);
2396
- return r(t), Fr("flyfish-viewer:location", "location-change", t), t;
2397
- }, u = function() {
2398
- var e = c(function* () {
2399
- return a.observe(), yield a.refreshAnchors(), l(), a.anchors.value;
2400
- });
2401
- return function() {
2402
- return e.apply(this, arguments);
2403
- };
2404
- }();
2405
- return {
2406
- refreshDocumentIndex: u,
2407
- clearDocumentState: () => {
2408
- a.clear();
2409
- },
2410
- getScrollContainer: i,
2411
- searchDocument: function() {
2412
- var e = c(function* (e) {
2413
- return yield a.search(e), s();
2414
- });
2415
- return function(t) {
2416
- return e.apply(this, arguments);
2417
- };
2418
- }(),
2419
- clearDocumentSearch: function() {
2420
- var e = c(function* () {
2421
- return yield a.clear(), s();
2422
- });
2423
- return function() {
2424
- return e.apply(this, arguments);
2425
- };
2426
- }(),
2427
- nextSearchResult: function() {
2428
- var e = c(function* () {
2429
- return yield a.next(), l(), s();
2430
- });
2431
- return function() {
2432
- return e.apply(this, arguments);
2433
- };
2434
- }(),
2435
- previousSearchResult: function() {
2436
- var e = c(function* () {
2437
- return yield a.previous(), l(), s();
2438
- });
2439
- return function() {
2440
- return e.apply(this, arguments);
2441
- };
2442
- }(),
2443
- getSearchState: o,
2444
- collectDocumentAnchors: function() {
2445
- var e = c(function* () {
2446
- return yield u(), a.anchors.value;
2447
- });
2448
- return function() {
2449
- return e.apply(this, arguments);
2450
- };
2451
- }(),
2452
- scrollToAnchor: function() {
2453
- var t = c(function* (t) {
2454
- a.anchors.value.length || (yield u());
2455
- let n = ee(e.value, t);
2456
- return l(), n;
2457
- });
2458
- return function(e) {
2459
- return t.apply(this, arguments);
2460
- };
2461
- }(),
2462
- scrollToLine: function() {
2463
- var t = c(function* (t) {
2464
- a.anchors.value.length || (yield u());
2465
- let n = ee(e.value, t);
2466
- return l(), n;
2467
- });
2468
- return function(e) {
2469
- return t.apply(this, arguments);
2470
- };
2471
- }(),
2472
- getDocumentTextChunks: () => {
2473
- var e;
2474
- return _(a.anchors.value, (e = t()) == null ? void 0 : e.ai);
2475
- }
2476
- };
2477
- }, Br = (e) => e.replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/</g, "&lt;").replace(/>/g, "&gt;"), Vr = "\n * { box-sizing: border-box; }\n html, body { margin: 0; min-height: 100%; background: #f2f4f7; color: #172033; font-family: Aptos, \"Segoe UI\", \"PingFang SC\", \"Microsoft YaHei\", sans-serif; print-color-adjust: exact; -webkit-print-color-adjust: exact; }\n body { padding: 24px; }\n .viewer-export-shell { position: relative; min-height: calc(100vh - 48px); overflow: visible; background: #f2f4f7; }\n .viewer-export-content { position: relative; z-index: 1; contain: none; width: 100%; min-height: 100%; overflow: visible; }\n .viewer-export-content .file-render,\n .viewer-export-content .file-viewer,\n .viewer-export-content .viewer-stage,\n .viewer-export-content .content,\n .viewer-export-content .pdf-shell,\n .viewer-export-content .pdf-content,\n .viewer-export-content .pdf-viewport,\n .viewer-export-content .pdf-wrapper,\n .viewer-export-content .docx-fit-viewer,\n .viewer-export-content .docx-wrapper,\n .viewer-export-content .msdoc-stage,\n .viewer-export-content .code-viewer,\n .viewer-export-content .markdown-viewer,\n .viewer-export-content .email-shell,\n .viewer-export-content .archive-shell,\n .viewer-export-content .eda-shell,\n .viewer-export-content .ebook-shell,\n .viewer-export-content .umd-shell,\n .viewer-export-content .drawing-shell,\n .viewer-export-content .audio-shell,\n .viewer-export-content .cad-shell,\n .viewer-export-content .cad-body,\n .viewer-export-content .cad-canvas-wrap,\n .viewer-export-content .dwg-preview-frame {\n position: relative !important;\n inset: auto !important;\n contain: none !important;\n width: 100% !important;\n height: auto !important;\n min-height: 0 !important;\n max-height: none !important;\n overflow: visible !important;\n }\n .viewer-export-content .docx-wrapper {\n display: block !important;\n padding: 0 !important;\n background: transparent !important;\n }\n .viewer-export-content .docx-print-document {\n display: block !important;\n width: fit-content !important;\n max-width: 100% !important;\n height: auto !important;\n overflow: visible !important;\n margin: 0 auto !important;\n }\n .viewer-export-content .docx-page-frame {\n position: relative !important;\n width: var(--viewer-print-page-width, fit-content) !important;\n height: var(--viewer-print-page-height, auto) !important;\n min-height: var(--viewer-print-page-height, 0) !important;\n max-width: 100% !important;\n margin: 0 auto 18px !important;\n overflow: hidden !important;\n break-inside: avoid;\n page-break-inside: avoid;\n break-after: page;\n page-break-after: always;\n }\n .viewer-export-content .msdoc-page {\n position: relative !important;\n width: var(--viewer-print-page-width, 794px) !important;\n min-height: var(--viewer-print-page-height, 1123px) !important;\n max-width: 100% !important;\n height: auto !important;\n margin: 0 auto 18px !important;\n overflow: visible !important;\n break-after: page;\n page-break-after: always;\n }\n .viewer-export-content .docx-page-frame:last-child,\n .viewer-export-content .msdoc-page:last-child {\n break-after: auto;\n page-break-after: auto;\n }\n .viewer-export-content .docx-page-frame > section.docx {\n position: relative !important;\n top: auto !important;\n left: auto !important;\n width: var(--viewer-print-page-width, auto) !important;\n min-height: var(--viewer-print-page-height, auto) !important;\n max-width: none !important;\n margin: 0 auto !important;\n overflow: visible !important;\n transform: none !important;\n box-shadow: none !important;\n break-inside: avoid;\n page-break-inside: avoid;\n }\n .viewer-export-content .msdoc-stage {\n display: block !important;\n padding: 0 !important;\n background: transparent !important;\n }\n .viewer-export-content .msdoc-page > .msdoc-root {\n margin: 0 auto !important;\n box-shadow: none !important;\n overflow: visible !important;\n }\n .viewer-export-content .pdf-toolbar,\n .viewer-export-content .pdf-nav-pane,\n .viewer-export-content .viewer-actions,\n .viewer-export-content .code-toolbar,\n .viewer-export-content .umd-toolbar,\n .viewer-export-content .drawing-toolbar,\n .viewer-export-content .cad-toolbar {\n display: none !important;\n }\n .viewer-export-content .pdf-content,\n .viewer-export-content .pdf-shell--nav-hidden .pdf-content,\n .viewer-export-content .cad-body.without-layers {\n display: block !important;\n grid-template-columns: none !important;\n }\n .viewer-export-content .pdfViewer { padding: 0 !important; }\n .viewer-export-content .pdfViewer .page {\n margin: 0 auto 16px !important;\n border: 0 !important;\n box-shadow: none !important;\n break-after: page;\n page-break-after: always;\n }\n .viewer-export-content .pdfViewer .page:last-child {\n break-after: auto;\n page-break-after: auto;\n }\n .viewer-export-content .pdf-export-document {\n display: grid;\n justify-items: center;\n gap: 18px;\n padding: 4px 0;\n }\n .viewer-export-content .pdf-export-page {\n width: var(--viewer-print-page-width, auto);\n height: var(--viewer-print-page-height, auto);\n max-width: 100%;\n overflow: hidden;\n background: #ffffff;\n box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);\n break-inside: avoid;\n page-break-inside: avoid;\n break-after: page;\n page-break-after: always;\n }\n .viewer-export-content .pdf-export-page:last-child {\n break-after: auto;\n page-break-after: auto;\n }\n .viewer-export-content .pdf-export-page img {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: contain;\n }\n .viewer-export-content .pptx-wrapper {\n width: 100% !important;\n max-width: 100% !important;\n height: auto !important;\n overflow: visible !important;\n transform: none !important;\n }\n .viewer-export-content .pptx-wrapper .slide {\n margin: 0 auto 18px !important;\n break-inside: avoid;\n page-break-inside: avoid;\n break-after: page;\n page-break-after: always;\n box-shadow: none !important;\n }\n .viewer-export-content .pptx-wrapper .slide:last-child {\n break-after: auto;\n page-break-after: auto;\n }\n .viewer-export-content .ofd-stage {\n padding: 0 !important;\n overflow: visible !important;\n }\n .viewer-export-content .ofd-page,\n .viewer-export-content .drawing-svg,\n .viewer-export-content .cad-canvas-wrap,\n .viewer-export-content .dwg-preview-frame {\n break-inside: avoid;\n page-break-inside: avoid;\n break-after: page;\n page-break-after: always;\n box-shadow: none !important;\n }\n .viewer-export-content .ofd-page:last-child,\n .viewer-export-content .drawing-svg:last-child,\n .viewer-export-content .cad-canvas-wrap:last-child,\n .viewer-export-content .dwg-preview-frame:last-child {\n break-after: auto;\n page-break-after: auto;\n }\n .viewer-export-content .code-area {\n overflow: visible !important;\n white-space: pre-wrap !important;\n word-break: break-word !important;\n }\n .viewer-export-content .umd-body,\n .viewer-export-content .umd-stage-wrap,\n .viewer-export-content .umd-stage {\n display: block !important;\n height: auto !important;\n max-height: none !important;\n overflow: visible !important;\n }\n .viewer-export-content .umd-toc {\n display: none !important;\n }\n img, canvas, svg, video { max-width: 100%; }\n @media print {\n @page { margin: 12mm; }\n html, body { min-height: auto; background: #ffffff; }\n body { padding: 0; }\n .viewer-export-shell,\n .viewer-export-content {\n min-height: 0;\n overflow: visible;\n background: #ffffff;\n }\n .viewer-export-content .pdf-export-document {\n display: block;\n padding: 0;\n }\n .viewer-export-content .pdf-export-page {\n width: var(--viewer-print-page-width, auto) !important;\n height: var(--viewer-print-page-height, auto) !important;\n max-width: none !important;\n margin: 0;\n overflow: hidden;\n box-shadow: none;\n }\n .viewer-export-content .docx-page-frame {\n width: var(--viewer-print-page-width, auto) !important;\n height: var(--viewer-print-page-height, auto) !important;\n min-height: var(--viewer-print-page-height, 0) !important;\n max-width: none !important;\n margin: 0 !important;\n overflow: hidden !important;\n }\n .viewer-export-content .msdoc-page {\n width: var(--viewer-print-page-width, 794px) !important;\n min-height: var(--viewer-print-page-height, 1123px) !important;\n max-width: none !important;\n margin: 0 !important;\n overflow: visible !important;\n }\n .viewer-export-content .docx-page-frame > section.docx,\n .viewer-export-content .msdoc-page > .msdoc-root {\n width: var(--viewer-print-page-width, 100%) !important;\n max-width: none !important;\n border: 0 !important;\n }\n .viewer-export-content .pptx-wrapper .slide,\n .viewer-export-content .ofd-page,\n .viewer-export-content .drawing-svg,\n .viewer-export-content .cad-canvas-wrap,\n .viewer-export-content .dwg-preview-frame {\n box-shadow: none !important;\n }\n }\n", Hr = () => Array.from(document.querySelectorAll("style, link[rel=\"stylesheet\"]")).map((e) => e instanceof HTMLStyleElement ? `<style>${e.textContent || ""}</style>` : e.href ? `<link rel="stylesheet" href="${Br(e.href)}" />` : "").filter(Boolean).join("\n"), Ur = ({ contentHtml: e, includeDocumentStyles: t = !0, printStyle: n = "", title: r, watermarkInlineStyle: i = "" }) => {
2478
- let a = i ? `<div class="viewer-export-watermark" style="${i}"></div>` : "", o = t ? Hr() : "", s = n ? `<style data-viewer-print-style>${n}</style>` : "";
2479
- return `<!doctype html>
2480
- <html lang="zh-CN">
2481
- <head>
2482
- <meta charset="utf-8" />
2483
- <meta name="viewport" content="width=device-width,initial-scale=1" />
2484
- <title>${Br(r)}</title>
2485
- ${o}
2486
- <style>${Vr}</style>
2487
- </head>
2488
- <body>
2489
- <main class="viewer-export-shell">
2490
- <div class="viewer-export-content">${e}</div>
2491
- ${a}
2492
- </main>
2493
- ${s}
2494
- </body>
2495
- </html>`;
2496
- };
2497
- //#endregion
2498
- //#region src/package/components/FileViewer/hooks/useViewerExport.ts
2499
- s();
2500
- var Wr = (e, t) => {
2501
- let n = URL.createObjectURL(e), r = document.createElement("a");
2502
- r.href = n, r.download = t, r.rel = "noopener", document.body.appendChild(r), r.click(), r.remove(), window.setTimeout(() => URL.revokeObjectURL(n), 4e3);
2503
- }, Gr = (e, t) => {
2504
- let n = document.createElement("a");
2505
- n.href = e, n.download = t, n.rel = "noopener", n.target = "_blank", document.body.appendChild(n), n.click(), n.remove();
2506
- }, Kr = (e, t) => {
2507
- let n = Array.from(e.querySelectorAll("canvas"));
2508
- Array.from(t.querySelectorAll("canvas")).forEach((e, t) => {
2509
- let r = n[t];
2510
- if (r) try {
2511
- let t = document.createElement("img");
2512
- t.src = r.toDataURL("image/png"), t.alt = "rendered canvas", t.style.maxWidth = "100%", t.style.display = "block", t.style.margin = "0 auto", e.replaceWith(t);
2513
- } catch (e) {}
2514
- });
2515
- }, qr = () => new Promise((e) => {
2516
- window.requestAnimationFrame(() => {
2517
- window.requestAnimationFrame(() => e());
2518
- });
2519
- }), Jr = function() {
2520
- var e = c(function* (e) {
2521
- let t = Array.from(e.querySelectorAll("img"));
2522
- yield Promise.all(t.map(function() {
2523
- var e = c(function* (e) {
2524
- if (!e.complete) {
2525
- if ("decode" in e) try {
2526
- yield e.decode();
2527
- return;
2528
- } catch (e) {}
2529
- yield new Promise((t) => {
2530
- e.addEventListener("load", () => t(), { once: !0 }), e.addEventListener("error", () => t(), { once: !0 });
2531
- });
2532
- }
2533
- });
2534
- return function(t) {
2535
- return e.apply(this, arguments);
2536
- };
2537
- }()));
2538
- });
2539
- return function(t) {
2540
- return e.apply(this, arguments);
2541
- };
2542
- }(), Yr = function() {
2543
- var e = c(function* (e) {
2544
- let { document: t } = e;
2545
- t.readyState !== "complete" && (yield new Promise((t) => {
2546
- e.addEventListener("load", () => t(), { once: !0 }), e.setTimeout(() => t(), 1200);
2547
- })), yield Promise.all(Array.from(t.images).map(function() {
2548
- var t = c(function* (t) {
2549
- if (!t.complete) {
2550
- if ("decode" in t) try {
2551
- yield t.decode();
2552
- return;
2553
- } catch (e) {}
2554
- yield new Promise((n) => {
2555
- t.addEventListener("load", () => n(), { once: !0 }), t.addEventListener("error", () => n(), { once: !0 }), e.setTimeout(() => n(), 1500);
2556
- });
2557
- }
2558
- });
2559
- return function(e) {
2560
- return t.apply(this, arguments);
2561
- };
2562
- }())), yield new Promise((t) => {
2563
- e.requestAnimationFrame(() => {
2564
- e.requestAnimationFrame(() => t());
2565
- });
2566
- });
2567
- });
2568
- return function(t) {
2569
- return e.apply(this, arguments);
2570
- };
2571
- }(), Xr = function() {
2572
- var e = c(function* (e, t) {
2573
- return t.mode !== "print" || !(e != null && e.printStyle) ? "" : typeof e.printStyle == "function" ? yield e.printStyle(t) : e.printStyle;
2574
- });
2575
- return function(t, n) {
2576
- return e.apply(this, arguments);
2577
- };
2578
- }(), Zr = ({ activeExportAdapter: e, currentBuffer: t, currentFile: n, currentSourceUrl: r, displayFilename: i, formatErrorMessage: a, operationAvailability: o, output: s, runBeforeOperation: l, showError: u, watermarkInlineStyle: d }) => {
2579
- let f = function() {
2580
- var t = c(function* (t) {
2581
- var n, r;
2582
- yield (n = e.value) == null || (r = n.beforeSnapshot) == null ? void 0 : r.call(n), yield qr(), yield Jr(t);
2583
- });
2584
- return function(e) {
2585
- return t.apply(this, arguments);
2586
- };
2587
- }(), p = function() {
2588
- var t = c(function* (t = "export") {
2589
- let n = s.value;
2590
- if (!n) throw Error("当前没有可导出的预览内容");
2591
- let r = i.value || "file-viewer-preview", a = e.value, o = {
2592
- mode: t,
2593
- title: r
2594
- }, c = a == null ? void 0 : a.toHtml;
2595
- if (c) {
2596
- let e = yield c(o), t = yield Xr(a, o);
2597
- return Ur({
2598
- contentHtml: e,
2599
- includeDocumentStyles: a.includeDocumentStyles !== !1,
2600
- printStyle: t,
2601
- title: r,
2602
- watermarkInlineStyle: d.value
2603
- });
2604
- }
2605
- yield f(n);
2606
- let l = n.cloneNode(!0);
2607
- Kr(n, l);
2608
- let u = yield Xr(a, o);
2609
- return Ur({
2610
- contentHtml: l.innerHTML,
2611
- printStyle: u,
2612
- title: r,
2613
- watermarkInlineStyle: d.value
2614
- });
2615
- });
2616
- return function() {
2617
- return t.apply(this, arguments);
2618
- };
2619
- }();
2620
- return {
2621
- downloadOriginalFile: function() {
2622
- var e = c(function* () {
2623
- let e = t.value, a = n.value, o = r.value;
2624
- if (!((!e || !a) && !o) && (yield l("download"))) {
2625
- if (e && a) {
2626
- Wr(new Blob([e], { type: a.type || "application/octet-stream" }), a.name || "preview.bin");
2627
- return;
2628
- }
2629
- Gr(o, i.value || "preview.bin");
2630
- }
2631
- });
2632
- return function() {
2633
- return e.apply(this, arguments);
2634
- };
2635
- }(),
2636
- exportRenderedHtml: function() {
2637
- var e = c(function* () {
2638
- try {
2639
- if (!(yield l("export-html"))) return;
2640
- let e = yield p("export"), t = i.value || "preview";
2641
- Wr(new Blob([e], { type: "text/html;charset=utf-8" }), `${t}.rendered.html`);
2642
- } catch (e) {
2643
- u(a("导出 HTML 失败", e));
2644
- }
2645
- });
2646
- return function() {
2647
- return e.apply(this, arguments);
2648
- };
2649
- }(),
2650
- printRenderedHtml: function() {
2651
- var e = c(function* () {
2652
- try {
2653
- if (!o.value.print) throw Error("当前文件类型不支持完整打印,请下载原文件后在本地应用中打印");
2654
- if (!(yield l("print"))) return;
2655
- let e = yield p("print"), t = window.open("", "_blank");
2656
- if (!t) throw Error("浏览器拦截了打印窗口");
2657
- t.document.open(), t.document.write(e), t.document.close(), t.focus(), yield Yr(t), t.print();
2658
- } catch (e) {
2659
- u(a("打印失败", e));
2660
- }
2661
- });
2662
- return function() {
2663
- return e.apply(this, arguments);
2664
- };
2665
- }()
2666
- };
2667
- };
2668
- //#endregion
2669
- //#region src/package/components/FileViewer/hooks/useViewerWatermark.ts
2670
- a();
2671
- var Qr = (e) => e.replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/</g, "&lt;").replace(/>/g, "&gt;"), $r = (e) => `url("data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}")`, $ = (e, t, n, r) => Math.min(r, Math.max(n, typeof e == "number" && Number.isFinite(e) ? e : t)), ei = (e) => e ? e === !0 ? {
2672
- enabled: !0,
2673
- text: "Flyfish Viewer"
2674
- } : e.enabled === !1 || !e.text && !e.image ? null : o({ enabled: !0 }, e) : null, ti = (e) => {
2675
- let t = $(e.gapX, 260, 96, 800), n = $(e.gapY, 180, 80, 800), r = $(e.width, e.image ? 160 : 220, 32, t), i = $(e.height, (e.image, 72), 24, n), a = $(e.rotate, -24, -75, 75), o = $(e.opacity, .18, .02, .8), s = (t - r) / 2, c = (n - i) / 2, l = t / 2, u = n / 2;
2676
- if (e.image) return `<svg xmlns="http://www.w3.org/2000/svg" width="${t}" height="${n}" viewBox="0 0 ${t} ${n}"><g opacity="${o}" transform="rotate(${a} ${l} ${u})"><image href="${Qr(e.image)}" x="${s}" y="${c}" width="${r}" height="${i}" preserveAspectRatio="xMidYMid meet"/></g></svg>`;
2677
- let d = Qr(e.text || "Flyfish Viewer"), f = $(e.fontSize, 20, 10, 72);
2678
- return `<svg xmlns="http://www.w3.org/2000/svg" width="${t}" height="${n}" viewBox="0 0 ${t} ${n}"><g opacity="${o}" transform="rotate(${a} ${l} ${u})"><text x="${l}" y="${u}" text-anchor="middle" dominant-baseline="middle" fill="${Qr(e.color || "#355070")}" font-family="${Qr(e.fontFamily || "Aptos, 'Segoe UI', sans-serif")}" font-size="${f}" font-weight="700">${d}</text></g></svg>`;
2679
- }, ni = (e) => {
2680
- let t = S(() => ei(e()));
2681
- return {
2682
- normalizedWatermark: t,
2683
- watermarkStyle: S(() => {
2684
- let e = t.value;
2685
- if (e) return { backgroundImage: $r(ti(e)) };
2686
- }),
2687
- watermarkInlineStyle: S(() => {
2688
- let e = t.value;
2689
- return e ? `position:absolute;inset:0;pointer-events:none;background-image:${$r(ti(e))};background-repeat:repeat;z-index:20;` : "";
2690
- })
2691
- };
2692
- };
2693
- //#endregion
2694
- //#region src/package/components/FileViewer/hooks/useViewerZoom.ts
2695
- a();
2696
- var ri = ({ output: e, enabled: t, runBeforeOperation: n }) => {
2697
- let r = y({
2698
- root: e,
2699
- enabled: t,
2700
- beforeZoom: (e) => n(e)
2701
- });
2702
- return o(o({}, r), {}, { getZoomState: () => ({
2703
- scale: r.zoomState.scale,
2704
- label: r.zoomState.label,
2705
- canZoomIn: r.zoomState.canZoomIn,
2706
- canZoomOut: r.zoomState.canZoomOut,
2707
- canReset: r.zoomState.canReset,
2708
- minScale: r.zoomState.minScale,
2709
- maxScale: r.zoomState.maxScale
2710
- }) });
2711
- };
2712
- t(), a(), s();
2713
- var ii = ["file"], ai = ["phase"], oi = ["data-viewer-theme"], si = { class: "viewer-stage" }, ci = ["data-toolbar-position"], li = {
2714
- key: 0,
2715
- class: "viewer-actions-group viewer-zoom-actions",
2716
- "aria-label": "缩放控制"
2717
- }, ui = ["disabled"], di = ["disabled"], fi = ["disabled"], pi = ["disabled"], mi = ["disabled"], hi = ["disabled"], gi = ["disabled"], _i = { class: "viewer-content-shell" }, vi = {
2718
- key: 1,
2719
- class: "state-panel loading-panel"
2720
- }, yi = { class: "loading-card" }, bi = { class: "loading-icon" }, xi = { class: "loading-copy" }, Si = { class: "loading-kicker" }, Ci = {
2721
- key: 2,
2722
- class: "state-panel error-panel"
2723
- }, wi = { class: "error-card" }, Ti = /* @__PURE__ */ x(/* @__PURE__ */ E({
2724
- __name: "FileViewer",
2725
- props: {
2726
- file: {},
2727
- url: {},
2728
- options: {}
2729
- },
2730
- emits: [
2731
- "load-start",
2732
- "load-complete",
2733
- "unload-start",
2734
- "unload-complete",
2735
- "operation-before",
2736
- "operation-cancel",
2737
- "operation-availability-change",
2738
- "search-change",
2739
- "location-change",
2740
- "zoom-change"
2741
- ],
2742
- setup(e, { expose: t, emit: r }) {
2743
- let i = e, a = r, s = {
2744
- downloading: "正在下载文件资源...",
2745
- streamingPdf: "正在建立 PDF 流式预览...",
2746
- reading: "正在解析文件内容..."
2747
- }, l = ae(""), u = ae(null), f = ae(null), p = ae(null), g = ae(null), { refreshDocumentIndex: _, clearDocumentState: ee, getScrollContainer: v, searchDocument: y, clearDocumentSearch: b, nextSearchResult: te, previousSearchResult: x, getSearchState: E, collectDocumentAnchors: D, scrollToAnchor: O, scrollToLine: le, getDocumentTextChunks: ue } = zr({
2748
- output: u,
2749
- getOptions: () => i.options,
2750
- emitSearchChange: (e) => a("search-change", e),
2751
- emitLocationChange: (e) => a("location-change", e)
2752
- }), de = S(() => Ae()), fe = S(() => {
2753
- let e = de.value;
2754
- return !e || !e.includes(".") ? "" : jr(e).toLowerCase();
2755
- }), pe = S(() => {
2756
- var e;
2757
- let t = (e = i.options) == null ? void 0 : e.toolbar;
2758
- return t === !1 ? {
2759
- download: !1,
2760
- print: !1,
2761
- exportHtml: !1,
2762
- zoom: !1
2763
- } : t && typeof t == "object" ? {
2764
- download: t.download !== !1,
2765
- print: t.print !== !1,
2766
- exportHtml: t.exportHtml !== !1,
2767
- zoom: t.zoom !== !1
2768
- } : {
2769
- download: !0,
2770
- print: !0,
2771
- exportHtml: !0,
2772
- zoom: !0
2773
- };
2774
- }), me = S(() => {
2775
- var e;
2776
- let t = (e = i.options) == null ? void 0 : e.theme;
2777
- return t === "light" || t === "dark" ? t : "system";
2778
- }), N = oe(null), P = ae(!1), F = ae(!1), { watermarkStyle: I, watermarkInlineStyle: he } = ni(() => {
2779
- var e;
2780
- return (e = i.options) == null ? void 0 : e.watermark;
2781
- }), { loading: L, error: ge, message: _e, theme: ve, styleVars: R, startLoading: ye, setLoadingMessage: be, stopLoading: xe, showError: z, clearError: Se, resetLoading: Ce } = h(fe), we, Te = null, Ee = 0, B = null, V = /* @__PURE__ */ new Map(), De = {
2782
- "load-start": "onLoadStart",
2783
- "load-complete": "onLoadComplete",
2784
- "unload-start": "onUnloadStart",
2785
- "unload-complete": "onUnloadComplete"
2786
- }, Oe = {
2787
- download: "下载原始文件",
2788
- print: "打印完整渲染内容",
2789
- "export-html": "导出渲染 HTML",
2790
- "zoom-in": "放大预览",
2791
- "zoom-out": "缩小预览",
2792
- "zoom-reset": "还原预览比例"
2793
- }, H = (e) => {
2794
- try {
2795
- return decodeURIComponent(e);
2796
- } catch (t) {
2797
- return e;
2798
- }
2799
- }, ke = (e) => {
2800
- var t;
2801
- let n = ((t = e.split("?")[0]) == null ? void 0 : t.split("#")[0]) || e;
2802
- return H(n.substring(n.lastIndexOf("/") + 1) || n);
2803
- }, Ae = () => l.value ? l.value : i.file instanceof File && i.file.name ? H(i.file.name) : typeof i.url == "string" && i.url ? ke(i.url) : "", je = (e) => {
2804
- let t = e.lastIndexOf(".");
2805
- return t >= 0 ? e.substring(t + 1).toLowerCase() : "";
2806
- }, Me = (e) => {
2807
- let { file: t } = e;
2808
- return o(o({}, n(e, ii)), {}, { hasFile: !!e.file });
2809
- }, Ne = (e, t, n) => {
2810
- typeof window > "u" || window.parent === window || window.parent.postMessage({
2811
- type: e,
2812
- event: t,
2813
- payload: Me(n)
2814
- }, "*");
2815
- }, Pe = (e) => {
2816
- typeof window > "u" || window.parent === window || window.parent.postMessage({
2817
- type: "flyfish-viewer:operation",
2818
- event: "operation-availability-change",
2819
- payload: e
2820
- }, "*");
2821
- }, Fe = (e) => {
2822
- typeof window > "u" || window.parent === window || window.parent.postMessage({
2823
- type: "flyfish-viewer:operation",
2824
- event: "zoom-change",
2825
- payload: e
2826
- }, "*");
2827
- }, Ie = ({ phase: e, version: t, source: n, file: r, sourceUrl: i, reason: a }) => {
2828
- var o, s;
2829
- let c = H((r == null ? void 0 : r.name) || l.value || (i ? ke(i) : "")), u = V.get(t), d = Date.now();
2830
- return {
2831
- phase: e,
2832
- type: je(c),
2833
- filename: c,
2834
- source: n,
2835
- url: i,
2836
- file: r || void 0,
2837
- size: (o = r == null ? void 0 : r.size) == null ? (s = p.value) == null ? void 0 : s.byteLength : o,
2838
- version: t,
2839
- timestamp: d,
2840
- duration: e === "load-complete" && u ? d - u : void 0,
2841
- reason: a
2842
- };
2843
- }, U = (e) => {
2844
- var t;
2845
- e.phase === "load-start" ? a("load-start", e) : e.phase === "load-complete" ? a("load-complete", e) : e.phase === "unload-start" ? a("unload-start", e) : a("unload-complete", e);
2846
- let n = (t = i.options) == null || (t = t.hooks) == null ? void 0 : t[De[e.phase]];
2847
- n && Promise.resolve(n(e)).catch((t) => {
2848
- console.error(`FileViewer ${e.phase} hook failed`, t);
2849
- }), Ne("flyfish-viewer:lifecycle", e.phase, e);
2850
- }, Le = (e) => {
2851
- let t = Te || Ie({
2852
- phase: "load-complete",
2853
- version: Ee,
2854
- source: i.file ? "file" : i.url ? "url" : "empty",
2855
- file: f.value,
2856
- sourceUrl: i.url
2857
- }), { phase: r } = t;
2858
- return o(o({}, n(t, ai)), {}, {
2859
- operation: e,
2860
- label: Oe[e],
2861
- timestamp: Date.now()
2862
- });
2863
- }, W = (e) => {
2864
- var t;
2865
- let n = (t = i.options) == null ? void 0 : t.toolbar;
2866
- if (!n || typeof n != "object") return [];
2867
- let r = e === "download" ? n.beforeDownload : e === "print" ? n.beforePrint : e === "export-html" ? n.beforeExportHtml : void 0;
2868
- return [n.beforeOperation, r];
2869
- }, Re = function() {
2870
- var e = c(function* (e) {
2871
- var t;
2872
- let n = Le(e);
2873
- a("operation-before", n), Ne("flyfish-viewer:operation", "operation-before", n);
2874
- let r = [(t = i.options) == null ? void 0 : t.beforeOperation, ...W(e)];
2875
- try {
2876
- for (let e of r) if (e && (yield e(n)) === !1) return a("operation-cancel", n), Ne("flyfish-viewer:operation", "operation-cancel", n), !1;
2877
- } catch (e) {
2878
- return console.error(e), z(Ue("操作前置校验失败", e)), a("operation-cancel", n), Ne("flyfish-viewer:operation", "operation-cancel", n), !1;
2879
- }
2880
- return !0;
2881
- });
2882
- return function(t) {
2883
- return e.apply(this, arguments);
2884
- };
2885
- }(), ze = (e = "replace") => (Ee += 1, B == null || B.abort(), B = null, ot(e), f.value = null, p.value = null, g.value = null, F.value = !1, Se(), Ee), G = (e) => e === Ee, Be = (e) => {
2886
- G(e) && xe();
2887
- }, Ve = () => new Promise((e) => {
2888
- if (typeof window > "u" || typeof window.requestAnimationFrame != "function") {
2889
- setTimeout(e, 0);
2890
- return;
2891
- }
2892
- window.requestAnimationFrame(() => {
2893
- window.requestAnimationFrame(() => e());
2894
- });
2895
- }), He = (e) => Q.isCancel(e) || e instanceof DOMException && e.name === "AbortError" ? !0 : typeof e == "object" && !!e && "code" in e && e.code === "ERR_CANCELED", Ue = (e, t) => t instanceof Error ? `${e}:${t.message}` : `${e}:${String(t)}`, { zoomState: K, refreshZoomProvider: We, startZoomObserver: Ge, stopZoomObserver: Ke, clearZoomProvider: qe, zoomIn: Je, zoomOut: Ye, resetZoom: Xe, getZoomState: Ze } = ri({
2896
- output: u,
2897
- enabled: () => !0,
2898
- runBeforeOperation: Re
2899
- }), Qe = S(() => {
2900
- let e = !!p.value || !!g.value, t = P.value && !ge.value, n = N.value, r = t && (K.canZoomIn || K.canZoomOut || K.canReset);
2901
- return {
2902
- download: e,
2903
- print: t && Dr(fe.value, n, P.value),
2904
- exportHtml: t && (n == null ? void 0 : n.exportHtml) !== !1,
2905
- zoom: r,
2906
- zoomIn: r && K.canZoomIn,
2907
- zoomOut: r && K.canZoomOut,
2908
- zoomReset: r && K.canReset
2909
- };
2910
- }), $e = S(() => {
2911
- let e = pe.value, t = Qe.value;
2912
- return {
2913
- download: e.download && t.download,
2914
- print: e.print && t.print,
2915
- exportHtml: e.exportHtml && t.exportHtml,
2916
- zoom: e.zoom && t.zoom
2917
- };
2918
- }), et = S(() => {
2919
- let e = $e.value;
2920
- return e.download || e.print || e.exportHtml || e.zoom;
2921
- }), tt = S(() => {
2922
- var e;
2923
- let t = (e = i.options) == null ? void 0 : e.toolbar, n = t && typeof t == "object" ? t.position : "auto";
2924
- return n === "top" || n === "bottom-right" ? n : fe.value === "pdf" ? "bottom-right" : "top";
2925
- }), nt = S(() => L.value || !!ge.value), rt = (e) => nt.value || !Qe.value.zoom || !K[e], it = (e, t) => {
2926
- if (e instanceof File) return e;
2927
- let n = H(t || l.value || "preview.bin");
2928
- if (e instanceof Blob) return new File([e], n, { type: e.type });
2929
- if (e instanceof ArrayBuffer) return new File([e], n, {});
2930
- throw Error("不支持的文件类型格式!");
2931
- }, at = (e) => {
2932
- var t;
2933
- if (!e) return;
2934
- let n = e;
2935
- if (n.unmount) {
2936
- n.unmount();
2937
- return;
2938
- }
2939
- (t = n.$destroy) == null || t.call(n);
2940
- }, ot = (e = "replace") => {
2941
- let t = Te;
2942
- t && U(o(o({}, t), {}, {
2943
- phase: "unload-start",
2944
- timestamp: Date.now(),
2945
- reason: e
2946
- }));
2947
- try {
2948
- at(we);
2949
- } catch (e) {
2950
- console.warn("预览内容卸载失败", e);
2951
- } finally {
2952
- we = void 0, Te = null, N.value = null, P.value = !1, F.value = !1, ee(), Ke(), qe();
2953
- let e = u.value;
2954
- if (e) for (; e.firstChild;) e.removeChild(e.firstChild);
2955
- }
2956
- t && U(o(o({}, t), {}, {
2957
- phase: "unload-complete",
2958
- timestamp: Date.now(),
2959
- reason: e
2960
- }));
2961
- }, st = (e) => {
2962
- N.value = e;
2963
- }, q = function() {
2964
- var e = c(function* (e, t, n, r, a) {
2965
- u.value || (yield re());
2966
- let o = u.value;
2967
- if (!o || !G(n)) return;
2968
- ot("replace");
2969
- let s = document.createElement("div");
2970
- if (s.className = "file-render", o.appendChild(s), Ge(), yield re(), yield Ve(), !G(n)) {
2971
- s.parentNode === o && o.removeChild(s);
2972
- return;
2973
- }
2974
- try {
2975
- let c = yield Mr(e, jr(t.name), s, {
2976
- filename: t.name,
2977
- url: r,
2978
- streamUrl: a,
2979
- options: i.options,
2980
- registerExportAdapter: st,
2981
- onProgressiveRender: () => {
2982
- G(n) && (F.value = !0);
2983
- }
2984
- });
2985
- if (!G(n)) {
2986
- at(c), s.parentNode === o && o.removeChild(s);
2987
- return;
2988
- }
2989
- return _(), We(), c;
2990
- } catch (e) {
2991
- throw s.parentNode === o && o.removeChild(s), e;
2992
- }
2993
- });
2994
- return function(t, n, r, i, a) {
2995
- return e.apply(this, arguments);
2996
- };
2997
- }(), ct = function() {
2998
- var e = c(function* (e, t, n, r = n ? "url" : "file") {
2999
- l.value = H(e.name || "");
3000
- let i = yield m(e);
3001
- if (!(i instanceof ArrayBuffer) || !G(t)) return;
3002
- f.value = e, p.value = i, g.value = n || null;
3003
- let a = yield q(i, e, t, n);
3004
- if (!G(t)) {
3005
- at(a);
3006
- return;
3007
- }
3008
- we = a, P.value = !0;
3009
- let o = Ie({
3010
- phase: "load-complete",
3011
- version: t,
3012
- source: r,
3013
- file: e,
3014
- sourceUrl: n
3015
- });
3016
- Te = o, U(o), V.delete(t);
3017
- });
3018
- return function(t, n, r) {
3019
- return e.apply(this, arguments);
3020
- };
3021
- }(), lt = (e, t) => {
3022
- var n;
3023
- return typeof window > "u" ? !1 : d({
3024
- extension: je(t),
3025
- pageHref: window.location.href,
3026
- streaming: (n = i.options) == null || (n = n.pdf) == null ? void 0 : n.streaming,
3027
- url: e
3028
- });
3029
- }, ut = function() {
3030
- var e = c(function* (e, t, n) {
3031
- ye(s.streamingPdf);
3032
- try {
3033
- let r = new File([], n || "preview.pdf", { type: "application/pdf" });
3034
- g.value = e;
3035
- let i = yield q(/* @__PURE__ */ new ArrayBuffer(0), r, t, e, e);
3036
- if (!G(t)) {
3037
- at(i);
3038
- return;
3039
- }
3040
- we = i, P.value = !0;
3041
- let a = Ie({
3042
- phase: "load-complete",
3043
- version: t,
3044
- source: "url",
3045
- sourceUrl: e
3046
- });
3047
- Te = a, U(a), V.delete(t);
3048
- } catch (e) {
3049
- if (!G(t)) return;
3050
- console.error(e), z(Ue("加载 PDF 流式预览异常", e));
3051
- } finally {
3052
- V.delete(t), Be(t);
3053
- }
3054
- });
3055
- return function(t, n, r) {
3056
- return e.apply(this, arguments);
3057
- };
3058
- }(), dt = function() {
3059
- var e = c(function* (e, t) {
3060
- let n = it(e);
3061
- l.value = H(n.name || ""), V.set(t, Date.now()), U(Ie({
3062
- phase: "load-start",
3063
- version: t,
3064
- source: "file",
3065
- file: n
3066
- })), ye(s.reading);
3067
- try {
3068
- yield ct(n, t, void 0, "file");
3069
- } catch (e) {
3070
- if (!G(t)) return;
3071
- console.error(e), z(Ue("读取文件异常", e));
3072
- } finally {
3073
- V.delete(t), Be(t);
3074
- }
3075
- });
3076
- return function(t, n) {
3077
- return e.apply(this, arguments);
3078
- };
3079
- }(), ft = function() {
3080
- var e = c(function* (e, t) {
3081
- let n = ke(e);
3082
- if (l.value = n, V.set(t, Date.now()), U(Ie({
3083
- phase: "load-start",
3084
- version: t,
3085
- source: "url",
3086
- sourceUrl: e
3087
- })), ye(s.downloading), lt(e, n)) {
3088
- yield ut(e, t, n);
3089
- return;
3090
- }
3091
- let r = typeof AbortController == "function" ? new AbortController() : null;
3092
- B = r;
3093
- try {
3094
- let { data: i } = yield Q({
3095
- url: e,
3096
- method: "get",
3097
- responseType: "blob",
3098
- signal: r == null ? void 0 : r.signal
3099
- });
3100
- if (!G(t)) return;
3101
- if (!i) {
3102
- z("文件下载失败");
3103
- return;
3104
- }
3105
- be(s.reading), yield ct(it(i, n), t, e, "url");
3106
- } catch (e) {
3107
- if (!G(t) || He(e)) return;
3108
- console.error(e), z(Ue("加载文件异常", e));
3109
- } finally {
3110
- B === r && (B = null), V.delete(t), Be(t);
3111
- }
3112
- });
3113
- return function(t, n) {
3114
- return e.apply(this, arguments);
3115
- };
3116
- }(), pt = () => {
3117
- l.value = "", f.value = null, p.value = null, g.value = null, P.value = !1, F.value = !1, ot(), Ce();
3118
- }, mt = function() {
3119
- var e = c(function* () {
3120
- let e = ze(i.file || i.url ? "replace" : "reset");
3121
- if (i.file) {
3122
- yield dt(i.file, e);
3123
- return;
3124
- }
3125
- if (i.url) {
3126
- yield ft(i.url, e);
3127
- return;
3128
- }
3129
- pt();
3130
- });
3131
- return function() {
3132
- return e.apply(this, arguments);
3133
- };
3134
- }(), { downloadOriginalFile: ht, exportRenderedHtml: gt, printRenderedHtml: _t } = Zr({
3135
- activeExportAdapter: N,
3136
- currentBuffer: p,
3137
- currentFile: f,
3138
- currentSourceUrl: g,
3139
- displayFilename: de,
3140
- formatErrorMessage: Ue,
3141
- operationAvailability: Qe,
3142
- output: u,
3143
- runBeforeOperation: Re,
3144
- showError: z,
3145
- watermarkInlineStyle: he
3146
- });
3147
- return t({
3148
- downloadOriginalFile: ht,
3149
- printRenderedHtml: _t,
3150
- exportRenderedHtml: gt,
3151
- zoomIn: Je,
3152
- zoomOut: Ye,
3153
- resetZoom: Xe,
3154
- getZoomState: Ze,
3155
- getOperationAvailability: () => o({}, Qe.value),
3156
- getScrollContainer: v,
3157
- searchDocument: y,
3158
- clearDocumentSearch: b,
3159
- nextSearchResult: te,
3160
- previousSearchResult: x,
3161
- getSearchState: E,
3162
- collectDocumentAnchors: D,
3163
- scrollToAnchor: O,
3164
- scrollToLine: le,
3165
- getDocumentTextChunks: ue
3166
- }), ce(Qe, (e) => {
3167
- let t = o({}, e);
3168
- a("operation-availability-change", t), Pe(t);
3169
- }, { immediate: !0 }), ce(() => [
3170
- K.scale,
3171
- K.label,
3172
- K.canZoomIn,
3173
- K.canZoomOut,
3174
- K.canReset
3175
- ], () => {
3176
- let e = Ze();
3177
- a("zoom-change", e), Fe(e);
3178
- }, { immediate: !0 }), ce([() => i.file, () => i.url], () => {
3179
- mt();
3180
- }, { immediate: !0 }), A(() => {
3181
- ze("component-unmount"), Ce(), Ke();
3182
- }), (e, t) => (j(), w("div", {
3183
- class: "file-viewer",
3184
- "data-viewer-theme": me.value,
3185
- style: ie(M(R))
3186
- }, [T("div", si, [et.value ? (j(), w("div", {
3187
- key: 0,
3188
- class: k(["viewer-actions", { "viewer-actions--floating": tt.value === "bottom-right" }]),
3189
- "data-toolbar-position": tt.value
3190
- }, [
3191
- $e.value.zoom ? (j(), w("div", li, [
3192
- T("button", {
3193
- type: "button",
3194
- class: "viewer-icon-button",
3195
- disabled: rt("canZoomOut"),
3196
- title: "缩小预览",
3197
- "aria-label": "缩小预览",
3198
- onClick: t[0] || (t[0] = (...e) => M(Ye) && M(Ye)(...e))
3199
- }, [ne(M(_r), {
3200
- size: 15,
3201
- "stroke-width": 2.4
3202
- })], 8, ui),
3203
- T("button", {
3204
- type: "button",
3205
- class: "viewer-zoom-meter",
3206
- disabled: rt("canReset"),
3207
- title: "还原比例",
3208
- onClick: t[1] || (t[1] = (...e) => M(Xe) && M(Xe)(...e))
3209
- }, se(M(K).label), 9, di),
3210
- T("button", {
3211
- type: "button",
3212
- class: "viewer-icon-button",
3213
- disabled: rt("canZoomIn"),
3214
- title: "放大预览",
3215
- "aria-label": "放大预览",
3216
- onClick: t[2] || (t[2] = (...e) => M(Je) && M(Je)(...e))
3217
- }, [ne(M(gr), {
3218
- size: 15,
3219
- "stroke-width": 2.4
3220
- })], 8, fi),
3221
- T("button", {
3222
- type: "button",
3223
- class: "viewer-icon-button",
3224
- disabled: rt("canReset"),
3225
- title: "还原比例",
3226
- "aria-label": "还原比例",
3227
- onClick: t[3] || (t[3] = (...e) => M(Xe) && M(Xe)(...e))
3228
- }, [ne(M(hr), {
3229
- size: 14,
3230
- "stroke-width": 2.4
3231
- })], 8, pi)
3232
- ])) : C("", !0),
3233
- $e.value.download ? (j(), w("button", {
3234
- key: 1,
3235
- type: "button",
3236
- disabled: nt.value,
3237
- title: "下载原始文件",
3238
- onClick: t[4] || (t[4] = (...e) => M(ht) && M(ht)(...e))
3239
- }, " 下载 ", 8, mi)) : C("", !0),
3240
- $e.value.print ? (j(), w("button", {
3241
- key: 2,
3242
- type: "button",
3243
- disabled: nt.value,
3244
- title: "打印完整渲染内容",
3245
- onClick: t[5] || (t[5] = (...e) => M(_t) && M(_t)(...e))
3246
- }, " 打印 ", 8, hi)) : C("", !0),
3247
- $e.value.exportHtml ? (j(), w("button", {
3248
- key: 3,
3249
- type: "button",
3250
- disabled: nt.value,
3251
- title: "导出当前渲染后的 HTML",
3252
- onClick: t[6] || (t[6] = (...e) => M(gt) && M(gt)(...e))
3253
- }, " HTML ", 8, gi)) : C("", !0)
3254
- ], 10, ci)) : C("", !0), T("div", _i, [
3255
- T("div", {
3256
- ref_key: "output",
3257
- ref: u,
3258
- class: k(["content", { hidden: M(L) && !F.value || !!M(ge) }]),
3259
- "data-viewer-scroll-root": "true"
3260
- }, null, 2),
3261
- M(I) ? (j(), w("div", {
3262
- key: 0,
3263
- class: "viewer-watermark",
3264
- style: ie(M(I))
3265
- }, null, 4)) : C("", !0),
3266
- M(L) && !F.value ? (j(), w("div", vi, [T("div", yi, [
3267
- T("div", bi, se(M(ve).badge), 1),
3268
- T("div", xi, [
3269
- T("span", Si, se(M(ve).label), 1),
3270
- T("strong", null, se(M(_e)), 1),
3271
- T("p", null, se(M(ve).hint), 1)
3272
- ]),
3273
- t[7] || (t[7] = T("span", { class: "loading-ring" }, null, -1))
3274
- ])])) : M(ge) ? (j(), w("div", Ci, [T("div", wi, [t[8] || (t[8] = T("strong", null, "预览失败", -1)), T("p", null, se(M(ge)), 1)])])) : C("", !0)
3275
- ])])], 12, oi));
3276
- }
3277
- }), [["__scopeId", "data-v-71760e20"]]), Ei = [["file-viewer", Ti]], Di = class {
3278
- constructor() {
3279
- i(this, "installed", !1);
3280
- }
3281
- install(e) {
3282
- this.installed || (Ei.forEach(([t, n]) => e.component(t, n)), this.installed = !0);
3283
- }
3284
- };
3285
- function Oi() {
3286
- if (typeof document > "u" || document.querySelector("link[data-file-viewer-style=\"true\"]")) return;
3287
- let e = document.createElement("link");
3288
- e.rel = "stylesheet", e.href = le, e.dataset.fileViewerStyle = "true", document.head.appendChild(e);
3289
- }
3290
- Oi();
3291
- var ki = new Di();
3292
- //#endregion
3293
- export { Ti as FileViewer, ki as default };