@trebco/treb 32.14.0 → 36.1.2

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 (266) hide show
  1. package/api-generator/api-generator-types.ts +3 -0
  2. package/api-generator/api-generator.ts +15 -1
  3. package/bun.lock +145 -99
  4. package/dist/chunk-43DLP2OX.mjs +11 -0
  5. package/dist/chunk-4CKS56PE.mjs +11 -0
  6. package/dist/chunk-75PARUQE.mjs +11 -0
  7. package/dist/chunk-7QD63AZS.mjs +24601 -0
  8. package/dist/chunk-A55ARVRD.mjs +11 -0
  9. package/dist/chunk-DESAKYW4.mjs +11 -0
  10. package/dist/chunk-EQ2R5W6P.mjs +24565 -0
  11. package/dist/chunk-IYJU2J6D.mjs +24601 -0
  12. package/dist/chunk-KSJFPGXT.mjs +11 -0
  13. package/dist/chunk-ORQFKLXM.mjs +24601 -0
  14. package/dist/chunk-SFDNNDHY.mjs +11 -0
  15. package/dist/chunk-T47DX5MI.mjs +11 -0
  16. package/dist/chunk-T6ILBVEX.mjs +11 -0
  17. package/dist/chunk-TPRCDYYG.mjs +11 -0
  18. package/dist/chunk-YAHNOOHO.mjs +11 -0
  19. package/dist/treb-export-worker.mjs +9 -2
  20. package/dist/treb-spreadsheet.mjs +7 -19
  21. package/dist/treb.d.ts +20 -4
  22. package/esbuild-composite.mjs +18 -6
  23. package/esbuild-utils.mjs +62 -3
  24. package/i18n/languages/treb-i18n-da.mjs +1 -1
  25. package/i18n/languages/treb-i18n-de.mjs +1 -1
  26. package/i18n/languages/treb-i18n-es.mjs +1 -1
  27. package/i18n/languages/treb-i18n-fr.mjs +1 -1
  28. package/i18n/languages/treb-i18n-it.mjs +1 -1
  29. package/i18n/languages/treb-i18n-nl.mjs +1 -1
  30. package/i18n/languages/treb-i18n-no.mjs +1 -1
  31. package/i18n/languages/treb-i18n-pl.mjs +1 -1
  32. package/i18n/languages/treb-i18n-pt.mjs +1 -1
  33. package/i18n/languages/treb-i18n-sv.mjs +1 -1
  34. package/ooxml-types/README.md +141 -0
  35. package/ooxml-types/package.json +5 -0
  36. package/ooxml-types/src/types/drawingml/chart.ts +327 -0
  37. package/ooxml-types/src/types/drawingml/index.ts +63 -0
  38. package/ooxml-types/src/types/drawingml/spreadsheetDrawing.ts +105 -0
  39. package/ooxml-types/src/types/drawingml/theme.ts +104 -0
  40. package/ooxml-types/src/types/index.ts +3 -0
  41. package/ooxml-types/src/types/package/contentTypes.ts +49 -0
  42. package/ooxml-types/src/types/package/docProps.ts +46 -0
  43. package/ooxml-types/src/types/package/index.ts +17 -0
  44. package/ooxml-types/src/types/package/relationships.ts +37 -0
  45. package/ooxml-types/src/types/spreadsheetml/columns.ts +20 -0
  46. package/ooxml-types/src/types/spreadsheetml/comments.ts +30 -0
  47. package/ooxml-types/src/types/spreadsheetml/dataFeatures.ts +261 -0
  48. package/ooxml-types/src/types/spreadsheetml/enums.ts +175 -0
  49. package/ooxml-types/src/types/spreadsheetml/index.ts +186 -0
  50. package/ooxml-types/src/types/spreadsheetml/metadata.ts +90 -0
  51. package/ooxml-types/src/types/spreadsheetml/misc.ts +35 -0
  52. package/ooxml-types/src/types/spreadsheetml/pageLayout.ts +83 -0
  53. package/ooxml-types/src/types/spreadsheetml/sharedStrings.ts +33 -0
  54. package/ooxml-types/src/types/spreadsheetml/sheetData.ts +70 -0
  55. package/ooxml-types/src/types/spreadsheetml/sheetProperties.ts +86 -0
  56. package/ooxml-types/src/types/spreadsheetml/sheetViews.ts +51 -0
  57. package/ooxml-types/src/types/spreadsheetml/sparkline.ts +46 -0
  58. package/ooxml-types/src/types/spreadsheetml/styles.ts +274 -0
  59. package/ooxml-types/src/types/spreadsheetml/table.ts +106 -0
  60. package/ooxml-types/src/types/spreadsheetml/util.ts +15 -0
  61. package/ooxml-types/src/types/spreadsheetml/workbook.ts +165 -0
  62. package/ooxml-types/src/types/spreadsheetml/worksheet.ts +60 -0
  63. package/package.json +13 -11
  64. package/treb-base-types/src/api_types.ts +1 -1
  65. package/treb-base-types/src/area-utils.ts +1 -1
  66. package/treb-base-types/src/area.ts +1 -1
  67. package/treb-base-types/src/basic_types.ts +1 -1
  68. package/treb-base-types/src/cell.ts +1 -1
  69. package/treb-base-types/src/cells.ts +1 -1
  70. package/treb-base-types/src/color.ts +1 -1
  71. package/treb-base-types/src/dom-utilities.ts +1 -1
  72. package/treb-base-types/src/evaluate-options.ts +1 -1
  73. package/treb-base-types/src/font-stack.ts +1 -1
  74. package/treb-base-types/src/gradient.ts +1 -1
  75. package/treb-base-types/src/import.ts +1 -1
  76. package/treb-base-types/src/index-standalone.ts +1 -1
  77. package/treb-base-types/src/index.ts +2 -1
  78. package/treb-base-types/src/layout.ts +1 -1
  79. package/treb-base-types/src/localization.ts +1 -1
  80. package/treb-base-types/src/rectangle.ts +1 -1
  81. package/treb-base-types/src/render_text.ts +7 -1
  82. package/treb-base-types/src/style.ts +1 -1
  83. package/treb-base-types/src/table.ts +1 -1
  84. package/treb-base-types/src/text_part.ts +1 -1
  85. package/treb-base-types/src/theme.ts +1 -1
  86. package/treb-base-types/src/union.ts +4 -1
  87. package/treb-base-types/src/value-type.ts +1 -1
  88. package/treb-base-types/src/worker-proxy.ts +294 -0
  89. package/treb-base-types/style/resizable.css +1 -1
  90. package/treb-calculator/src/calculator.ts +133 -14
  91. package/treb-calculator/src/complex-math.ts +1 -1
  92. package/treb-calculator/src/dag/array-vertex.ts +1 -1
  93. package/treb-calculator/src/dag/calculation_leaf_vertex.ts +1 -1
  94. package/treb-calculator/src/dag/graph.ts +1 -1
  95. package/treb-calculator/src/dag/spreadsheet_vertex.ts +1 -1
  96. package/treb-calculator/src/dag/spreadsheet_vertex_base.ts +1 -1
  97. package/treb-calculator/src/dag/state_leaf_vertex.ts +1 -1
  98. package/treb-calculator/src/dag/vertex.ts +1 -1
  99. package/treb-calculator/src/descriptors.ts +9 -1
  100. package/treb-calculator/src/expression-calculator.ts +1 -1
  101. package/treb-calculator/src/function-error.ts +1 -1
  102. package/treb-calculator/src/function-library.ts +1 -1
  103. package/treb-calculator/src/functions/base-functions.ts +8 -4
  104. package/treb-calculator/src/functions/beta.ts +1 -1
  105. package/treb-calculator/src/functions/checkbox.ts +1 -1
  106. package/treb-calculator/src/functions/complex-functions.ts +1 -1
  107. package/treb-calculator/src/functions/date-utils.ts +1 -1
  108. package/treb-calculator/src/functions/finance-functions.ts +2 -4
  109. package/treb-calculator/src/functions/fp.ts +1 -1
  110. package/treb-calculator/src/functions/function-utilities.ts +1 -1
  111. package/treb-calculator/src/functions/gamma.ts +1 -1
  112. package/treb-calculator/src/functions/information-functions.ts +1 -1
  113. package/treb-calculator/src/functions/lambda-functions.ts +4 -1
  114. package/treb-calculator/src/functions/matrix-functions.ts +1 -1
  115. package/treb-calculator/src/functions/normal.ts +1 -1
  116. package/treb-calculator/src/functions/regex-functions.ts +13 -4
  117. package/treb-calculator/src/functions/sparkline.ts +1 -1
  118. package/treb-calculator/src/functions/statistics-functions.ts +1 -1
  119. package/treb-calculator/src/functions/students-t.ts +1 -1
  120. package/treb-calculator/src/functions/text-functions.ts +5 -1
  121. package/treb-calculator/src/index.ts +1 -1
  122. package/treb-calculator/src/notifier-types.ts +1 -1
  123. package/treb-calculator/src/primitives.ts +1 -1
  124. package/treb-calculator/src/utilities.ts +1 -1
  125. package/treb-charts/src/chart-functions.ts +1 -1
  126. package/treb-charts/src/chart-types.ts +1 -1
  127. package/treb-charts/src/chart-utils.ts +1 -1
  128. package/treb-charts/src/chart.ts +1 -1
  129. package/treb-charts/src/default-chart-renderer.ts +1 -1
  130. package/treb-charts/src/index.ts +1 -1
  131. package/treb-charts/src/main.ts +1 -1
  132. package/treb-charts/src/quicksort.ts +1 -1
  133. package/treb-charts/src/rectangle.ts +1 -1
  134. package/treb-charts/src/renderer-type.ts +1 -1
  135. package/treb-charts/src/renderer.ts +1 -1
  136. package/treb-charts/src/util.ts +1 -1
  137. package/treb-charts/style/charts.scss +1 -1
  138. package/treb-data-model/src/annotation.ts +1 -1
  139. package/treb-data-model/src/conditional_format.ts +1 -1
  140. package/treb-data-model/src/data-validation.ts +1 -1
  141. package/treb-data-model/src/data_model.ts +32 -5
  142. package/treb-data-model/src/index.ts +1 -1
  143. package/treb-data-model/src/language-model.ts +1 -1
  144. package/treb-data-model/src/named.ts +1 -1
  145. package/treb-data-model/src/serialize_options.ts +1 -1
  146. package/treb-data-model/src/sheet.ts +1 -1
  147. package/treb-data-model/src/sheet_collection.ts +1 -1
  148. package/treb-data-model/src/sheet_selection.ts +1 -1
  149. package/treb-data-model/src/sheet_types.ts +1 -1
  150. package/treb-data-model/src/types.ts +1 -1
  151. package/treb-embed/src/content-types.d.ts +1 -1
  152. package/treb-embed/src/custom-element/global.d.ts +1 -1
  153. package/treb-embed/src/custom-element/spreadsheet-constructor.ts +1 -1
  154. package/treb-embed/src/custom-element/treb-global.ts +1 -1
  155. package/treb-embed/src/custom-element/treb-spreadsheet-element.ts +1 -1
  156. package/treb-embed/src/embedded-spreadsheet.ts +342 -149
  157. package/treb-embed/src/index.ts +1 -1
  158. package/treb-embed/src/options.ts +4 -2
  159. package/treb-embed/src/plugin.ts +1 -1
  160. package/treb-embed/src/progress-dialog.ts +1 -1
  161. package/treb-embed/src/selection-state.ts +1 -1
  162. package/treb-embed/src/spinner.ts +1 -1
  163. package/treb-embed/src/toolbar-message.ts +6 -1
  164. package/treb-embed/src/types.ts +13 -1
  165. package/treb-embed/style/autocomplete.scss +1 -1
  166. package/treb-embed/style/dark-theme.scss +1 -1
  167. package/treb-embed/style/defaults.scss +1 -1
  168. package/treb-embed/style/dialog.scss +1 -1
  169. package/treb-embed/style/dropdown-select.scss +1 -1
  170. package/treb-embed/style/font-stacks.scss +1 -1
  171. package/treb-embed/style/formula-bar.scss +1 -1
  172. package/treb-embed/style/grid.scss +1 -1
  173. package/treb-embed/style/layout.scss +1 -1
  174. package/treb-embed/style/mouse-mask.scss +1 -1
  175. package/treb-embed/style/note.scss +1 -1
  176. package/treb-embed/style/overlay-editor.scss +1 -1
  177. package/treb-embed/style/spinner.scss +1 -1
  178. package/treb-embed/style/tab-bar.scss +1 -1
  179. package/treb-embed/style/table.scss +1 -1
  180. package/treb-embed/style/theme-defaults.scss +1 -1
  181. package/treb-embed/style/toolbar.scss +1 -1
  182. package/treb-embed/style/tooltip.scss +1 -1
  183. package/treb-embed/style/treb-icons.scss +1 -1
  184. package/treb-embed/style/treb-spreadsheet-element.scss +1 -1
  185. package/treb-embed/style/z-index.scss +1 -1
  186. package/treb-export/src/address-type.ts +1 -1
  187. package/treb-export/src/base-template.ts +1 -1
  188. package/treb-export/src/column-width.ts +1 -1
  189. package/treb-export/src/drawing/bubble-chart-template.ts +1 -1
  190. package/treb-export/src/drawing/chart-template-components2.ts +1 -1
  191. package/treb-export/src/drawing/chart.ts +1 -1
  192. package/treb-export/src/drawing/column-chart-template2.ts +1 -1
  193. package/treb-export/src/drawing/donut-chart-template2.ts +1 -1
  194. package/treb-export/src/drawing/drawing.ts +1 -1
  195. package/treb-export/src/drawing/embedded-image.ts +1 -1
  196. package/treb-export/src/drawing/scatter-chart-template2.ts +1 -1
  197. package/treb-export/src/export.ts +10 -6
  198. package/treb-export/src/import-export-messages.ts +61 -0
  199. package/treb-export/src/import.ts +318 -301
  200. package/treb-export/src/index.worker.ts +85 -53
  201. package/treb-export/src/metadata.ts +71 -3
  202. package/treb-export/src/ooxml.ts +47 -0
  203. package/treb-export/src/relationship.ts +1 -1
  204. package/treb-export/src/shared-strings.ts +19 -15
  205. package/treb-export/src/template-2.ts +1 -1
  206. package/treb-export/src/unescape_xml.ts +1 -1
  207. package/treb-export/src/workbook-sheet.ts +11 -6
  208. package/treb-export/src/workbook-style.ts +137 -25
  209. package/treb-export/src/workbook-theme.ts +20 -4
  210. package/treb-export/src/workbook.ts +85 -88
  211. package/treb-export/src/xml-test.ts +1 -1
  212. package/treb-export/src/xml-utils.ts +1 -1
  213. package/treb-export/src/zip-wrapper.ts +1 -1
  214. package/treb-export/tsconfig.json +2 -1
  215. package/treb-format/src/format.test.ts +1 -1
  216. package/treb-format/src/format.ts +12 -5
  217. package/treb-format/src/format_cache.ts +3 -3
  218. package/treb-format/src/format_parser.ts +1 -1
  219. package/treb-format/src/index.ts +1 -1
  220. package/treb-format/src/number_format_section.ts +1 -1
  221. package/treb-format/src/value_parser.ts +1 -1
  222. package/treb-grid/src/editors/autocomplete.ts +1 -1
  223. package/treb-grid/src/editors/autocomplete_matcher.ts +1 -1
  224. package/treb-grid/src/editors/editor.ts +15 -6
  225. package/treb-grid/src/editors/external_editor.ts +33 -8
  226. package/treb-grid/src/editors/formula_bar.ts +12 -1
  227. package/treb-grid/src/editors/overlay_editor.ts +4 -1
  228. package/treb-grid/src/index.ts +1 -1
  229. package/treb-grid/src/layout/base_layout.ts +1 -1
  230. package/treb-grid/src/layout/grid_layout.ts +1 -1
  231. package/treb-grid/src/layout/mock-layout.ts +1 -1
  232. package/treb-grid/src/render/selection-renderer.ts +1 -1
  233. package/treb-grid/src/render/svg_header_overlay.ts +1 -1
  234. package/treb-grid/src/render/svg_selection_block.ts +1 -1
  235. package/treb-grid/src/render/tile_renderer.ts +36 -7
  236. package/treb-grid/src/types/border_constants.ts +1 -1
  237. package/treb-grid/src/types/clipboard_data.ts +1 -1
  238. package/treb-grid/src/types/clipboard_data2.ts +1 -1
  239. package/treb-grid/src/types/drag_mask.ts +1 -1
  240. package/treb-grid/src/types/external_editor_config.ts +1 -1
  241. package/treb-grid/src/types/grid.ts +181 -40
  242. package/treb-grid/src/types/grid_base.ts +7 -4
  243. package/treb-grid/src/types/grid_command.ts +7 -1
  244. package/treb-grid/src/types/grid_events.ts +2 -1
  245. package/treb-grid/src/types/grid_options.ts +1 -1
  246. package/treb-grid/src/types/scale-control.ts +1 -1
  247. package/treb-grid/src/types/set_range_options.ts +1 -1
  248. package/treb-grid/src/types/tab_bar.ts +1 -1
  249. package/treb-grid/src/types/tile.ts +1 -1
  250. package/treb-grid/src/types/update_flags.ts +1 -1
  251. package/treb-grid/src/util/fontmetrics.ts +1 -1
  252. package/treb-grid/src/util/ua.ts +1 -1
  253. package/treb-parser/src/csv-parser.ts +1 -1
  254. package/treb-parser/src/index.ts +1 -1
  255. package/treb-parser/src/md-parser.ts +1 -1
  256. package/treb-parser/src/parser-types.ts +1 -1
  257. package/treb-parser/src/parser.ts +1 -1
  258. package/treb-utils/src/event_source.ts +1 -1
  259. package/treb-utils/src/ievent_source.ts +1 -1
  260. package/treb-utils/src/index.ts +1 -1
  261. package/treb-utils/src/measurement.ts +1 -1
  262. package/treb-utils/src/scale.ts +1 -1
  263. package/treb-utils/src/serialize_html.ts +1 -1
  264. package/treb-utils/src/validate_uri.ts +1 -1
  265. package/tsproject.json +2 -3
  266. package/treb-embed/src/export-worker.ts +0 -44
@@ -1,2 +1,9 @@
1
- /*! TREB v32.14.0. Copyright 2018-2025 trebco, llc. All rights reserved. LGPL: https://treb.app/license */
2
- var e='var hs=Object.create;var Br=Object.defineProperty;var us=Object.getOwnPropertyDescriptor;var fs=Object.getOwnPropertyNames;var ps=Object.getPrototypeOf,ms=Object.prototype.hasOwnProperty;var Wr=(s,e)=>()=>(e||s((e={exports:{}}).exports,e),e.exports);var _s=(s,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of fs(e))!ms.call(s,i)&&i!==t&&Br(s,i,{get:()=>e[i],enumerable:!(r=us(e,i))||r.enumerable});return s};var Tt=(s,e,t)=>(t=s!=null?hs(ps(s)):{},_s(e||!s||!s.__esModule?Br(t,"default",{value:s,enumerable:!0}):t,s));var kt=Wr(It=>{"use strict";It.byteLength=gs;It.toByteArray=ws;It.fromByteArray=Cs;var xe=[],pe=[],bs=typeof Uint8Array<"u"?Uint8Array:Array,nr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(Ge=0,Hr=nr.length;Ge<Hr;++Ge)xe[Ge]=nr[Ge],pe[nr.charCodeAt(Ge)]=Ge;var Ge,Hr;pe[45]=62;pe[95]=63;function jr(s){var e=s.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=s.indexOf("=");t===-1&&(t=e);var r=t===e?0:4-t%4;return[t,r]}function gs(s){var e=jr(s),t=e[0],r=e[1];return(t+r)*3/4-r}function ys(s,e,t){return(e+t)*3/4-t}function ws(s){var e,t=jr(s),r=t[0],i=t[1],n=new bs(ys(s,r,i)),a=0,o=i>0?r-4:r,l;for(l=0;l<o;l+=4)e=pe[s.charCodeAt(l)]<<18|pe[s.charCodeAt(l+1)]<<12|pe[s.charCodeAt(l+2)]<<6|pe[s.charCodeAt(l+3)],n[a++]=e>>16&255,n[a++]=e>>8&255,n[a++]=e&255;return i===2&&(e=pe[s.charCodeAt(l)]<<2|pe[s.charCodeAt(l+1)]>>4,n[a++]=e&255),i===1&&(e=pe[s.charCodeAt(l)]<<10|pe[s.charCodeAt(l+1)]<<4|pe[s.charCodeAt(l+2)]>>2,n[a++]=e>>8&255,n[a++]=e&255),n}function xs(s){return xe[s>>18&63]+xe[s>>12&63]+xe[s>>6&63]+xe[s&63]}function vs(s,e,t){for(var r,i=[],n=e;n<t;n+=3)r=(s[n]<<16&16711680)+(s[n+1]<<8&65280)+(s[n+2]&255),i.push(xs(r));return i.join("")}function Cs(s){for(var e,t=s.length,r=t%3,i=[],n=16383,a=0,o=t-r;a<o;a+=n)i.push(vs(s,a,a+n>o?o:a+n));return r===1?(e=s[t-1],i.push(xe[e>>2]+xe[e<<4&63]+"==")):r===2&&(e=(s[t-2]<<8)+s[t-1],i.push(xe[e>>10]+xe[e>>4&63]+xe[e<<2&63]+"=")),i.join("")}});var rs=Wr((Rp,$r)=>{var m={};typeof $r=="object"&&($r.exports=m);m.parse=function(s,e){for(var t=m.bin.readUshort,r=m.bin.readUint,o=0,i={},n=new Uint8Array(s),a=n.length-4;r(n,a)!=101010256;)a--;var o=a;o+=4,o+=4;var l=t(n,o);o+=2;var c=t(n,o);o+=2;var d=r(n,o);o+=4;var h=r(n,o);o+=4,o=h;for(var f=0;f<l;f++){var u=r(n,o);o+=4,o+=4,o+=4,o+=4;var p=r(n,o);o+=4;var d=r(n,o);o+=4;var b=r(n,o);o+=4;var C=t(n,o),w=t(n,o+2),v=t(n,o+4);o+=6,o+=8;var _=r(n,o);o+=4,o+=C+w+v,m._readLocal(n,_,i,d,b,e)}return i};m._readLocal=function(s,e,t,r,i,n){var a=m.bin.readUshort,o=m.bin.readUint,l=o(s,e);e+=4;var c=a(s,e);e+=2;var d=a(s,e);e+=2;var h=a(s,e);e+=2;var f=o(s,e);e+=4;var u=o(s,e);e+=4,e+=8;var p=a(s,e);e+=2;var b=a(s,e);e+=2;var C=m.bin.readUTF8(s,e,p);if(e+=p,e+=b,n){t[C]={size:i,csize:r};return}var w=new Uint8Array(s.buffer,e);if(h==0)t[C]=new Uint8Array(w.buffer.slice(e,e+r));else if(h==8){var v=new Uint8Array(i);m.inflateRaw(w,v),t[C]=v}else throw"unknown compression method: "+h};m.inflateRaw=function(s,e){return m.F.inflate(s,e)};m.inflate=function(s,e){var t=s[0],r=s[1],i=t&15,n=t>>>4;return m.inflateRaw(new Uint8Array(s.buffer,s.byteOffset+2,s.length-6),e)};m.deflate=function(s,e){e==null&&(e={level:6});var t=0,r=new Uint8Array(50+Math.floor(s.length*1.1));r[t]=120,r[t+1]=156,t+=2,t=m.F.deflateRaw(s,r,t,e.level);var i=m.adler(s,0,s.length);return r[t+0]=i>>>24&255,r[t+1]=i>>>16&255,r[t+2]=i>>>8&255,r[t+3]=i>>>0&255,new Uint8Array(r.buffer,0,t+4)};m.deflateRaw=function(s,e){e==null&&(e={level:6});var t=new Uint8Array(50+Math.floor(s.length*1.1)),r=m.F.deflateRaw(s,t,r,e.level);return new Uint8Array(t.buffer,0,r)};m.encode=function(s,e){e==null&&(e=!1);var t=0,r=m.bin.writeUint,i=m.bin.writeUshort,n={};for(var a in s){var o=!m._noNeed(a)&&!e,l=s[a],c=m.crc.crc(l,0,l.length);n[a]={cpr:o,usize:l.length,crc:c,file:o?m.deflateRaw(l):l}}for(var a in n)t+=n[a].file.length+30+46+2*m.bin.sizeUTF8(a);t+=22;var d=new Uint8Array(t),h=0,f=[];for(var a in n){var u=n[a];f.push(h),h=m._writeHeader(d,h,a,u,0)}var p=0,b=h;for(var a in n){var u=n[a];f.push(h),h=m._writeHeader(d,h,a,u,1,f[p++])}var C=h-b;return r(d,h,101010256),h+=4,h+=4,i(d,h,p),h+=2,i(d,h,p),h+=2,r(d,h,C),h+=4,r(d,h,b),h+=4,h+=2,d.buffer};m._noNeed=function(s){var e=s.split(".").pop().toLowerCase();return"png,jpg,jpeg,zip".indexOf(e)!=-1};m._writeHeader=function(s,e,t,r,i,n){var a=m.bin.writeUint,o=m.bin.writeUshort,l=r.file;a(s,e,i==0?67324752:33639248),e+=4,i==1&&(e+=2),o(s,e,20),e+=2,o(s,e,0),e+=2,o(s,e,r.cpr?8:0),e+=2,a(s,e,0),e+=4,a(s,e,r.crc),e+=4,a(s,e,l.length),e+=4,a(s,e,r.usize),e+=4,o(s,e,m.bin.sizeUTF8(t)),e+=2,o(s,e,0),e+=2,i==1&&(e+=2,e+=2,e+=6,a(s,e,n),e+=4);var c=m.bin.writeUTF8(s,e,t);return e+=c,i==0&&(s.set(l,e),e+=l.length),e};m.crc={table:(function(){for(var s=new Uint32Array(256),e=0;e<256;e++){for(var t=e,r=0;r<8;r++)t&1?t=3988292384^t>>>1:t=t>>>1;s[e]=t}return s})(),update:function(s,e,t,r){for(var i=0;i<r;i++)s=m.crc.table[(s^e[t+i])&255]^s>>>8;return s},crc:function(s,e,t){return m.crc.update(4294967295,s,e,t)^4294967295}};m.adler=function(s,e,t){for(var r=1,i=0,n=e,a=e+t;n<a;){for(var o=Math.min(n+5552,a);n<o;)r+=s[n++],i+=r;r=r%65521,i=i%65521}return i<<16|r};m.bin={readUshort:function(s,e){return s[e]|s[e+1]<<8},writeUshort:function(s,e,t){s[e]=t&255,s[e+1]=t>>8&255},readUint:function(s,e){return s[e+3]*(256*256*256)+(s[e+2]<<16|s[e+1]<<8|s[e])},writeUint:function(s,e,t){s[e]=t&255,s[e+1]=t>>8&255,s[e+2]=t>>16&255,s[e+3]=t>>24&255},readASCII:function(s,e,t){for(var r="",i=0;i<t;i++)r+=String.fromCharCode(s[e+i]);return r},writeASCII:function(s,e,t){for(var r=0;r<t.length;r++)s[e+r]=t.charCodeAt(r)},pad:function(s){return s.length<2?"0"+s:s},readUTF8:function(s,e,t){for(var r="",i,n=0;n<t;n++)r+="%"+m.bin.pad(s[e+n].toString(16));try{i=decodeURIComponent(r)}catch{return m.bin.readASCII(s,e,t)}return i},writeUTF8:function(s,e,t){for(var r=t.length,i=0,n=0;n<r;n++){var a=t.charCodeAt(n);if((a&4294967168)==0)s[e+i]=a,i++;else if((a&4294965248)==0)s[e+i]=192|a>>6,s[e+i+1]=128|a>>0&63,i+=2;else if((a&4294901760)==0)s[e+i]=224|a>>12,s[e+i+1]=128|a>>6&63,s[e+i+2]=128|a>>0&63,i+=3;else if((a&4294967295-(1<<21)+1)==0)s[e+i]=240|a>>18,s[e+i+1]=128|a>>12&63,s[e+i+2]=128|a>>6&63,s[e+i+3]=128|a>>0&63,i+=4;else throw"e"}return i},sizeUTF8:function(s){for(var e=s.length,t=0,r=0;r<e;r++){var i=s.charCodeAt(r);if((i&4294967168)==0)t++;else if((i&4294965248)==0)t+=2;else if((i&4294901760)==0)t+=3;else if((i&4294967295-(1<<21)+1)==0)t+=4;else throw"e"}return t}};m.F={};m.F.deflateRaw=function(s,e,t,r){var i=[[0,0,0,0,0],[4,4,8,4,0],[4,5,16,8,0],[4,6,16,16,0],[4,10,16,32,0],[8,16,32,32,0],[8,16,128,128,0],[8,32,128,256,0],[32,128,258,1024,1],[32,258,258,4096,1]],n=i[r],a=m.F.U,o=m.F._goodIndex,l=m.F._hash,c=m.F._putsE,d=0,h=t<<3,f=0,u=s.length;if(r==0){for(;d<u;){var p=Math.min(65535,u-d);c(e,h,d+p==u?1:0),h=m.F._copyExact(s,d,p,e,h+8),d+=p}return h>>>3}var b=a.lits,C=a.strt,w=a.prev,v=0,_=0,g=0,A=0,D=0,M=0;u>2&&(M=m.F._hash(s,0),C[M]=0);var G=0,z=0;for(d=0;d<u;d++){if(D=M,d+1<u-2){M=m.F._hash(s,d+1);var $=d+1&32767;w[$]=C[M],C[M]=$}if(f<=d){(v>14e3||_>26697)&&u-d>100&&(f<d&&(b[v]=d-f,v+=2,f=d),h=m.F._writeBlock(d==u-1||f==u?1:0,b,v,A,s,g,d-g,e,h),v=_=A=0,g=d);var V=0;d<u-2&&(V=m.F._bestMatch(s,d,w,D,Math.min(n[2],u-d),n[3]));var p=V>>>16,Q=V&65535;if(V!=0){var p=V>>>16,Q=V&65535,J=o(p,a.of0);a.lhst[257+J]++;var q=o(Q,a.df0);a.dhst[q]++,A+=a.exb[J]+a.dxb[q],b[v]=p<<23|d-f,b[v+1]=Q<<16|J<<8|q,v+=2,f=d+p}else a.lhst[s[d]]++;_++}}for((g!=d||s.length==0)&&(f<d&&(b[v]=d-f,v+=2,f=d),h=m.F._writeBlock(1,b,v,A,s,g,d-g,e,h),v=0,_=0,v=_=A=0,g=d);(h&7)!=0;)h++;return h>>>3};m.F._bestMatch=function(s,e,t,r,i,n){var a=e&32767,o=t[a],l=a-o+32768&32767;if(o==a||r!=m.F._hash(s,e-l))return 0;for(var c=0,d=0,h=Math.min(32767,e);l<=h&&--n!=0&&o!=a;){if(c==0||s[e+c]==s[e+c-l]){var f=m.F._howLong(s,e,l);if(f>c){if(c=f,d=l,c>=i)break;l+2<f&&(f=l+2);for(var u=0,p=0;p<f-2;p++){var b=e-l+p+32768&32767,C=t[b],w=b-C+32768&32767;w>u&&(u=w,o=b)}}}a=o,o=t[a],l+=a-o+32768&32767}return c<<16|d};m.F._howLong=function(s,e,t){if(s[e]!=s[e-t]||s[e+1]!=s[e+1-t]||s[e+2]!=s[e+2-t])return 0;var r=e,i=Math.min(s.length,e+258);for(e+=3;e<i&&s[e]==s[e-t];)e++;return e-r};m.F._hash=function(s,e){return(s[e]<<8|s[e+1])+(s[e+2]<<4)&65535};m.saved=0;m.F._writeBlock=function(s,e,t,r,i,n,a,o,l){var c=m.F.U,d=m.F._putsF,h=m.F._putsE,f,u,p,b,C,w,v,_,g;c.lhst[256]++,f=m.F.getTrees(),u=f[0],p=f[1],b=f[2],C=f[3],w=f[4],v=f[5],_=f[6],g=f[7];var A=((l+3&7)==0?0:8-(l+3&7))+32+(a<<3),D=r+m.F.contSize(c.fltree,c.lhst)+m.F.contSize(c.fdtree,c.dhst),M=r+m.F.contSize(c.ltree,c.lhst)+m.F.contSize(c.dtree,c.dhst);M+=14+3*v+m.F.contSize(c.itree,c.ihst)+(c.ihst[16]*2+c.ihst[17]*3+c.ihst[18]*7);for(var G=0;G<286;G++)c.lhst[G]=0;for(var G=0;G<30;G++)c.dhst[G]=0;for(var G=0;G<19;G++)c.ihst[G]=0;var z=A<D&&A<M?0:D<M?1:2;d(o,l,s),d(o,l+1,z),l+=3;var $=l;if(z==0){for(;(l&7)!=0;)l++;l=m.F._copyExact(i,n,a,o,l)}else{var V,Q;if(z==1&&(V=c.fltree,Q=c.fdtree),z==2){m.F.makeCodes(c.ltree,u),m.F.revCodes(c.ltree,u),m.F.makeCodes(c.dtree,p),m.F.revCodes(c.dtree,p),m.F.makeCodes(c.itree,b),m.F.revCodes(c.itree,b),V=c.ltree,Q=c.dtree,h(o,l,C-257),l+=5,h(o,l,w-1),l+=5,h(o,l,v-4),l+=4;for(var J=0;J<v;J++)h(o,l+J*3,c.itree[(c.ordr[J]<<1)+1]);l+=3*v,l=m.F._codeTiny(_,c.itree,o,l),l=m.F._codeTiny(g,c.itree,o,l)}for(var q=n,ie=0;ie<t;ie+=2){for(var te=e[ie],X=te>>>23,de=q+(te&(1<<23)-1);q<de;)l=m.F._writeLit(i[q++],V,o,l);if(X!=0){var he=e[ie+1],oe=he>>16,ue=he>>8&255,re=he&255;l=m.F._writeLit(257+ue,V,o,l),h(o,l,X-c.of0[ue]),l+=c.exb[ue],l=m.F._writeLit(re,Q,o,l),d(o,l,oe-c.df0[re]),l+=c.dxb[re],q+=X}}l=m.F._writeLit(256,V,o,l)}return l};m.F._copyExact=function(s,e,t,r,i){var n=i>>>3;return r[n]=t,r[n+1]=t>>>8,r[n+2]=255-r[n],r[n+3]=255-r[n+1],n+=4,r.set(new Uint8Array(s.buffer,e,t),n),i+(t+4<<3)};m.F.getTrees=function(){for(var s=m.F.U,e=m.F._hufTree(s.lhst,s.ltree,15),t=m.F._hufTree(s.dhst,s.dtree,15),r=[],i=m.F._lenCodes(s.ltree,r),n=[],a=m.F._lenCodes(s.dtree,n),o=0;o<r.length;o+=2)s.ihst[r[o]]++;for(var o=0;o<n.length;o+=2)s.ihst[n[o]]++;for(var l=m.F._hufTree(s.ihst,s.itree,7),c=19;c>4&&s.itree[(s.ordr[c-1]<<1)+1]==0;)c--;return[e,t,l,i,a,c,r,n]};m.F.getSecond=function(s){for(var e=[],t=0;t<s.length;t+=2)e.push(s[t+1]);return e};m.F.nonZero=function(s){for(var e="",t=0;t<s.length;t+=2)s[t+1]!=0&&(e+=(t>>1)+",");return e};m.F.contSize=function(s,e){for(var t=0,r=0;r<e.length;r++)t+=e[r]*s[(r<<1)+1];return t};m.F._codeTiny=function(s,e,t,r){for(var i=0;i<s.length;i+=2){var n=s[i],a=s[i+1];r=m.F._writeLit(n,e,t,r);var o=n==16?2:n==17?3:7;n>15&&(m.F._putsE(t,r,a,o),r+=o)}return r};m.F._lenCodes=function(s,e){for(var t=s.length;t!=2&&s[t-1]==0;)t-=2;for(var r=0;r<t;r+=2){var i=s[r+1],n=r+3<t?s[r+3]:-1,a=r+5<t?s[r+5]:-1,o=r==0?-1:s[r-1];if(i==0&&n==i&&a==i){for(var l=r+5;l+2<t&&s[l+2]==i;)l+=2;var c=Math.min(l+1-r>>>1,138);c<11?e.push(17,c-3):e.push(18,c-11),r+=c*2-2}else if(i==o&&n==i&&a==i){for(var l=r+5;l+2<t&&s[l+2]==i;)l+=2;var c=Math.min(l+1-r>>>1,6);e.push(16,c-3),r+=c*2-2}else e.push(i,0)}return t>>>1};m.F._hufTree=function(s,e,t){var r=[],i=s.length,n=e.length,a=0;for(a=0;a<n;a+=2)e[a]=0,e[a+1]=0;for(a=0;a<i;a++)s[a]!=0&&r.push({lit:a,f:s[a]});var o=r.length,l=r.slice(0);if(o==0)return 0;if(o==1){var c=r[0].lit,l=c==0?1:0;return e[(c<<1)+1]=1,e[(l<<1)+1]=1,1}r.sort(function(C,w){return C.f-w.f});var d=r[0],h=r[1],f=0,u=1,p=2;for(r[0]={lit:-1,f:d.f+h.f,l:d,r:h,d:0};u!=o-1;)f!=u&&(p==o||r[f].f<r[p].f)?d=r[f++]:d=r[p++],f!=u&&(p==o||r[f].f<r[p].f)?h=r[f++]:h=r[p++],r[u++]={lit:-1,f:d.f+h.f,l:d,r:h};var b=m.F.setDepth(r[u-1],0);for(b>t&&(m.F.restrictDepth(l,t,b),b=t),a=0;a<o;a++)e[(l[a].lit<<1)+1]=l[a].d;return b};m.F.setDepth=function(s,e){return s.lit!=-1?(s.d=e,e):Math.max(m.F.setDepth(s.l,e+1),m.F.setDepth(s.r,e+1))};m.F.restrictDepth=function(s,e,t){var r=0,i=1<<t-e,n=0;for(s.sort(function(o,l){return l.d==o.d?o.f-l.f:l.d-o.d}),r=0;r<s.length&&s[r].d>e;r++){var a=s[r].d;s[r].d=e,n+=i-(1<<t-a)}for(n=n>>>t-e;n>0;){var a=s[r].d;a<e?(s[r].d++,n-=1<<e-a-1):r++}for(;r>=0;r--)s[r].d==e&&n<0&&(s[r].d--,n++);n!=0&&console.log("debt left")};m.F._goodIndex=function(s,e){var t=0;return e[t|16]<=s&&(t|=16),e[t|8]<=s&&(t|=8),e[t|4]<=s&&(t|=4),e[t|2]<=s&&(t|=2),e[t|1]<=s&&(t|=1),t};m.F._writeLit=function(s,e,t,r){return m.F._putsF(t,r,e[s<<1]),r+e[(s<<1)+1]};m.F.inflate=function(s,e){var t=Uint8Array;if(s[0]==3&&s[1]==0)return e||new t(0);var r=m.F,i=r._bitsF,n=r._bitsE,a=r._decodeTiny,o=r.makeCodes,l=r.codes2map,c=r._get17,d=r.U,h=e==null;h&&(e=new t(s.length>>>2<<3));for(var f=0,u=0,p=0,b=0,C=0,w=0,v=0,_=0,g=0,A,D;f==0;){if(f=i(s,g,1),u=i(s,g+1,2),g+=3,u==0){(g&7)!=0&&(g+=8-(g&7));var M=(g>>>3)+4,G=s[M-4]|s[M-3]<<8;h&&(e=m.F._check(e,_+G)),e.set(new t(s.buffer,s.byteOffset+M,G),_),g=M+G<<3,_+=G;continue}if(h&&(e=m.F._check(e,_+(1<<17))),u==1&&(A=d.flmap,D=d.fdmap,w=511,v=31),u==2){p=n(s,g,5)+257,b=n(s,g+5,5)+1,C=n(s,g+10,4)+4,g+=14;for(var z=g,$=0;$<38;$+=2)d.itree[$]=0,d.itree[$+1]=0;for(var V=1,$=0;$<C;$++){var Q=n(s,g+$*3,3);d.itree[(d.ordr[$]<<1)+1]=Q,Q>V&&(V=Q)}g+=3*C,o(d.itree,V),l(d.itree,V,d.imap),A=d.lmap,D=d.dmap,g=a(d.imap,(1<<V)-1,p+b,s,g,d.ttree);var J=r._copyOut(d.ttree,0,p,d.ltree);w=(1<<J)-1;var q=r._copyOut(d.ttree,p,b,d.dtree);v=(1<<q)-1,o(d.ltree,J),l(d.ltree,J,A),o(d.dtree,q),l(d.dtree,q,D)}for(;;){var ie=A[c(s,g)&w];g+=ie&15;var te=ie>>>4;if(!(te>>>8))e[_++]=te;else{if(te==256)break;var X=_+te-254;if(te>264){var de=d.ldef[te-257];X=_+(de>>>3)+n(s,g,de&7),g+=de&7}var he=D[c(s,g)&v];g+=he&15;var oe=he>>>4,ue=d.ddef[oe],re=(ue>>>4)+i(s,g,ue&15);for(g+=ue&15,h&&(e=m.F._check(e,_+(1<<17)));_<X;)e[_]=e[_++-re],e[_]=e[_++-re],e[_]=e[_++-re],e[_]=e[_++-re];_=X}}}return e.length==_?e:e.slice(0,_)};m.F._check=function(s,e){var t=s.length;if(e<=t)return s;var r=new Uint8Array(Math.max(t<<1,e));return r.set(s,0),r};m.F._decodeTiny=function(s,e,t,r,i,n){for(var a=m.F._bitsE,o=m.F._get17,l=0;l<t;){var c=s[o(r,i)&e];i+=c&15;var d=c>>>4;if(d<=15)n[l]=d,l++;else{var h=0,f=0;d==16?(f=3+a(r,i,2),i+=2,h=n[l-1]):d==17?(f=3+a(r,i,3),i+=3):d==18&&(f=11+a(r,i,7),i+=7);for(var u=l+f;l<u;)n[l]=h,l++}}return i};m.F._copyOut=function(s,e,t,r){for(var i=0,n=0,a=r.length>>>1;n<t;){var o=s[n+e];r[n<<1]=0,r[(n<<1)+1]=o,o>i&&(i=o),n++}for(;n<a;)r[n<<1]=0,r[(n<<1)+1]=0,n++;return i};m.F.makeCodes=function(s,e){for(var t=m.F.U,r=s.length,i,n,a,o,l,c=t.bl_count,o=0;o<=e;o++)c[o]=0;for(o=1;o<r;o+=2)c[s[o]]++;var d=t.next_code;for(i=0,c[0]=0,n=1;n<=e;n++)i=i+c[n-1]<<1,d[n]=i;for(a=0;a<r;a+=2)l=s[a+1],l!=0&&(s[a]=d[l],d[l]++)};m.F.codes2map=function(s,e,t){for(var r=s.length,i=m.F.U,n=i.rev15,a=0;a<r;a+=2)if(s[a+1]!=0)for(var o=a>>1,l=s[a+1],c=o<<4|l,d=e-l,h=s[a]<<d,f=h+(1<<d);h!=f;){var u=n[h]>>>15-e;t[u]=c,h++}};m.F.revCodes=function(s,e){for(var t=m.F.U.rev15,r=15-e,i=0;i<s.length;i+=2){var n=s[i]<<e-s[i+1];s[i]=t[n]>>>r}};m.F._putsE=function(s,e,t){t=t<<(e&7);var r=e>>>3;s[r]|=t,s[r+1]|=t>>>8};m.F._putsF=function(s,e,t){t=t<<(e&7);var r=e>>>3;s[r]|=t,s[r+1]|=t>>>8,s[r+2]|=t>>>16};m.F._bitsE=function(s,e,t){return(s[e>>>3]|s[(e>>>3)+1]<<8)>>>(e&7)&(1<<t)-1};m.F._bitsF=function(s,e,t){return(s[e>>>3]|s[(e>>>3)+1]<<8|s[(e>>>3)+2]<<16)>>>(e&7)&(1<<t)-1};m.F._get17=function(s,e){return(s[e>>>3]|s[(e>>>3)+1]<<8|s[(e>>>3)+2]<<16)>>>(e&7)};m.F._get25=function(s,e){return(s[e>>>3]|s[(e>>>3)+1]<<8|s[(e>>>3)+2]<<16|s[(e>>>3)+3]<<24)>>>(e&7)};m.F.U=(function(){var s=Uint16Array,e=Uint32Array;return{next_code:new s(16),bl_count:new s(16),ordr:[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],of0:[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,999,999,999],exb:[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0],ldef:new s(32),df0:[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,65535,65535],dxb:[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0],ddef:new e(32),flmap:new s(512),fltree:[],fdmap:new s(32),fdtree:[],lmap:new s(32768),ltree:[],ttree:[],dmap:new s(32768),dtree:[],imap:new s(512),itree:[],rev15:new s(32768),lhst:new e(286),dhst:new e(30),ihst:new e(19),lits:new e(15e3),strt:new s(65536),prev:new s(32768)}})();(function(){for(var s=m.F.U,e=32768,t=0;t<e;t++){var r=t;r=(r&2863311530)>>>1|(r&1431655765)<<1,r=(r&3435973836)>>>2|(r&858993459)<<2,r=(r&4042322160)>>>4|(r&252645135)<<4,r=(r&4278255360)>>>8|(r&16711935)<<8,s.rev15[t]=(r>>>16|r<<16)>>>17}function i(n,a,o){for(;a--!=0;)n.push(0,o)}for(var t=0;t<32;t++)s.ldef[t]=s.of0[t]<<3|s.exb[t],s.ddef[t]=s.df0[t]<<4|s.dxb[t];i(s.fltree,144,8),i(s.fltree,112,9),i(s.fltree,24,7),i(s.fltree,8,8),m.F.makeCodes(s.fltree,9),m.F.codes2map(s.fltree,9,s.flmap),m.F.revCodes(s.fltree,9),i(s.fdtree,32,5),m.F.makeCodes(s.fdtree,5),m.F.codes2map(s.fdtree,5,s.fdmap),m.F.revCodes(s.fdtree,5),i(s.itree,19,0),i(s.ltree,286,0),i(s.dtree,30,0),i(s.ttree,320,0)})()});var os=Tt(kt());var Rt=s=>{let e=Math.floor((s-5)/7*100+.5)/100;return Math.floor((e*7+5)/7*256)/256},or=s=>Math.floor((256*s+Math.floor(18.285714285714285))/256*7);var Yr="UEsDBAoAAAAAAAAAIQBi7p1okAQAAJAEAAATAAAAW0NvbnRlbnRfVHlwZXNdLnhtbDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJ5ZXMiPz4NCjxUeXBlcyB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3BhY2thZ2UvMjAwNi9jb250ZW50LXR5cGVzIj48RGVmYXVsdCBFeHRlbnNpb249InJlbHMiIENvbnRlbnRUeXBlPSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtcGFja2FnZS5yZWxhdGlvbnNoaXBzK3htbCIvPjxEZWZhdWx0IEV4dGVuc2lvbj0ieG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24veG1sIi8+PE92ZXJyaWRlIFBhcnROYW1lPSIveGwvd29ya2Jvb2sueG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQubWFpbit4bWwiLz48T3ZlcnJpZGUgUGFydE5hbWU9Ii94bC93b3Jrc2hlZXRzL3NoZWV0MS54bWwiIENvbnRlbnRUeXBlPSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC53b3Jrc2hlZXQreG1sIi8+PE92ZXJyaWRlIFBhcnROYW1lPSIveGwvdGhlbWUvdGhlbWUxLnhtbCIgQ29udGVudFR5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC50aGVtZSt4bWwiLz48T3ZlcnJpZGUgUGFydE5hbWU9Ii94bC9zdHlsZXMueG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc3R5bGVzK3htbCIvPjxPdmVycmlkZSBQYXJ0TmFtZT0iL3hsL3NoYXJlZFN0cmluZ3MueG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hhcmVkU3RyaW5ncyt4bWwiLz48T3ZlcnJpZGUgUGFydE5hbWU9Ii9kb2NQcm9wcy9jb3JlLnhtbCIgQ29udGVudFR5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1wYWNrYWdlLmNvcmUtcHJvcGVydGllcyt4bWwiLz48T3ZlcnJpZGUgUGFydE5hbWU9Ii9kb2NQcm9wcy9hcHAueG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LmV4dGVuZGVkLXByb3BlcnRpZXMreG1sIi8+PC9UeXBlcz5QSwMECgAAAAAAAAAhALVVMCNMAgAATAIAAAsAAABfcmVscy8ucmVsczw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJ5ZXMiPz4NCjxSZWxhdGlvbnNoaXBzIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvcGFja2FnZS8yMDA2L3JlbGF0aW9uc2hpcHMiPjxSZWxhdGlvbnNoaXAgSWQ9InJJZDMiIFR5cGU9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvZXh0ZW5kZWQtcHJvcGVydGllcyIgVGFyZ2V0PSJkb2NQcm9wcy9hcHAueG1sIi8+PFJlbGF0aW9uc2hpcCBJZD0icklkMiIgVHlwZT0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3BhY2thZ2UvMjAwNi9yZWxhdGlvbnNoaXBzL21ldGFkYXRhL2NvcmUtcHJvcGVydGllcyIgVGFyZ2V0PSJkb2NQcm9wcy9jb3JlLnhtbCIvPjxSZWxhdGlvbnNoaXAgSWQ9InJJZDEiIFR5cGU9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvb2ZmaWNlRG9jdW1lbnQiIFRhcmdldD0ieGwvd29ya2Jvb2sueG1sIi8+PC9SZWxhdGlvbnNoaXBzPlBLAwQKAAAAAAAAACEAunCeZsoGAADKBgAADwAAAHhsL3dvcmtib29rLnhtbDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJ5ZXMiPz4NCjx3b3JrYm9vayB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3NwcmVhZHNoZWV0bWwvMjAwNi9tYWluIiB4bWxuczpyPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzIiB4bWxuczptYz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL21hcmt1cC1jb21wYXRpYmlsaXR5LzIwMDYiIG1jOklnbm9yYWJsZT0ieDE1IHhyIHhyNiB4cjEwIHhyMiIgeG1sbnM6eDE1PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTAvMTEvbWFpbiIgeG1sbnM6eHI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNlL3NwcmVhZHNoZWV0bWwvMjAxNC9yZXZpc2lvbiIgeG1sbnM6eHI2PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTYvcmV2aXNpb242IiB4bWxuczp4cjEwPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTYvcmV2aXNpb24xMCIgeG1sbnM6eHIyPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTUvcmV2aXNpb24yIj48ZmlsZVZlcnNpb24gYXBwTmFtZT0ieGwiIGxhc3RFZGl0ZWQ9IjciIGxvd2VzdEVkaXRlZD0iNyIgcnVwQnVpbGQ9IjIxMTI2Ii8+PHdvcmtib29rUHIgZGVmYXVsdFRoZW1lVmVyc2lvbj0iMTY2OTI1Ii8+PG1jOkFsdGVybmF0ZUNvbnRlbnQgeG1sbnM6bWM9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9tYXJrdXAtY29tcGF0aWJpbGl0eS8yMDA2Ij48bWM6Q2hvaWNlIFJlcXVpcmVzPSJ4MTUiPjx4MTVhYzphYnNQYXRoIHVybD0iSDpcVFJFQlx0cmViLWV4cG9ydFx0ZW1wbGF0ZVwiIHhtbG5zOngxNWFjPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTAvMTEvYWMiLz48L21jOkNob2ljZT48L21jOkFsdGVybmF0ZUNvbnRlbnQ+PHhyOnJldmlzaW9uUHRyIHJldklETGFzdFNhdmU9IjAiIGRvY3VtZW50SWQ9Ijhfe0Q4NThGOUY3LTBEOTItNEFFNC04QTQyLTQ4MENCMzU5QjYyRH0iIHhyNjpjb2F1dGhWZXJzaW9uTGFzdD0iNDAiIHhyNjpjb2F1dGhWZXJzaW9uTWF4PSI0MCIgeHIxMDp1aWRMYXN0U2F2ZT0iezAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMH0iLz48Ym9va1ZpZXdzPjx3b3JrYm9va1ZpZXcgeFdpbmRvdz0iMCIgeVdpbmRvdz0iMCIgd2luZG93V2lkdGg9IjI0NTcwIiB3aW5kb3dIZWlnaHQ9IjExMTMwIiB4cjI6dWlkPSJ7REU0RTdEMzUtNDkyRC00MEQ3LTk5MjUtNDY0N0Y1ODdFMURFfSIvPjwvYm9va1ZpZXdzPjxzaGVldHM+PHNoZWV0IG5hbWU9IlNoZWV0MSIgc2hlZXRJZD0iMSIgcjppZD0icklkMSIvPjwvc2hlZXRzPjxjYWxjUHIgY2FsY0lkPSIxOTEwMjkiLz48ZXh0THN0PjxleHQgdXJpPSJ7MTQwQTcwOTQtMEUzNS00ODkyLTg0MzItQzREMkU1N0VERUI1fSIgeG1sbnM6eDE1PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTAvMTEvbWFpbiI+PHgxNTp3b3JrYm9va1ByIGNoYXJ0VHJhY2tpbmdSZWZCYXNlPSIxIi8+PC9leHQ+PC9leHRMc3Q+PC93b3JrYm9vaz5QSwMECgAAAAAAAAAhAIE+lJe6AgAAugIAABoAAAB4bC9fcmVscy93b3JrYm9vay54bWwucmVsczw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJ5ZXMiPz4NCjxSZWxhdGlvbnNoaXBzIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvcGFja2FnZS8yMDA2L3JlbGF0aW9uc2hpcHMiPjxSZWxhdGlvbnNoaXAgSWQ9InJJZDMiIFR5cGU9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvc3R5bGVzIiBUYXJnZXQ9InN0eWxlcy54bWwiLz48UmVsYXRpb25zaGlwIElkPSJySWQyIiBUeXBlPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3RoZW1lIiBUYXJnZXQ9InRoZW1lL3RoZW1lMS54bWwiLz48UmVsYXRpb25zaGlwIElkPSJySWQxIiBUeXBlPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3dvcmtzaGVldCIgVGFyZ2V0PSJ3b3Jrc2hlZXRzL3NoZWV0MS54bWwiLz48UmVsYXRpb25zaGlwIElkPSJySWQ0IiBUeXBlPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3NoYXJlZFN0cmluZ3MiIFRhcmdldD0ic2hhcmVkU3RyaW5ncy54bWwiLz48L1JlbGF0aW9uc2hpcHM+UEsDBAoAAAAAAAAAIQACrURzpAMAAKQDAAAYAAAAeGwvd29ya3NoZWV0cy9zaGVldDEueG1sPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pg0KPHdvcmtzaGVldCB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3NwcmVhZHNoZWV0bWwvMjAwNi9tYWluIiB4bWxuczpyPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzIiB4bWxuczptYz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL21hcmt1cC1jb21wYXRpYmlsaXR5LzIwMDYiIG1jOklnbm9yYWJsZT0ieDE0YWMgeHIgeHIyIHhyMyIgeG1sbnM6eDE0YWM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNlL3NwcmVhZHNoZWV0bWwvMjAwOS85L2FjIiB4bWxuczp4cj0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2Uvc3ByZWFkc2hlZXRtbC8yMDE0L3JldmlzaW9uIiB4bWxuczp4cjI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNlL3NwcmVhZHNoZWV0bWwvMjAxNS9yZXZpc2lvbjIiIHhtbG5zOnhyMz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2Uvc3ByZWFkc2hlZXRtbC8yMDE2L3JldmlzaW9uMyIgeHI6dWlkPSJ7MEQ4RTVDQTItNUM5RS00RDRCLTk0QzUtRjM1QzA0MUYzOUJEfSI+PGRpbWVuc2lvbiByZWY9IkExIi8+PHNoZWV0Vmlld3M+PHNoZWV0VmlldyB0YWJTZWxlY3RlZD0iMSIgd29ya2Jvb2tWaWV3SWQ9IjAiLz48L3NoZWV0Vmlld3M+PHNoZWV0Rm9ybWF0UHIgZGVmYXVsdFJvd0hlaWdodD0iMTUiIHgxNGFjOmR5RGVzY2VudD0iMC4yNSIvPjxzaGVldERhdGEvPjxwYWdlTWFyZ2lucyBsZWZ0PSIwLjciIHJpZ2h0PSIwLjciIHRvcD0iMC43NSIgYm90dG9tPSIwLjc1IiBoZWFkZXI9IjAuMyIgZm9vdGVyPSIwLjMiLz48L3dvcmtzaGVldD5QSwMECgAAAAAAAAAhAMEXEL7GIAAAxiAAABMAAAB4bC90aGVtZS90aGVtZTEueG1sPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pg0KPGE6dGhlbWUgeG1sbnM6YT0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL2RyYXdpbmdtbC8yMDA2L21haW4iIG5hbWU9Ik9mZmljZSBUaGVtZSI+PGE6dGhlbWVFbGVtZW50cz48YTpjbHJTY2hlbWUgbmFtZT0iT2ZmaWNlIj48YTpkazE+PGE6c3lzQ2xyIHZhbD0id2luZG93VGV4dCIgbGFzdENscj0iMDAwMDAwIi8+PC9hOmRrMT48YTpsdDE+PGE6c3lzQ2xyIHZhbD0id2luZG93IiBsYXN0Q2xyPSJGRkZGRkYiLz48L2E6bHQxPjxhOmRrMj48YTpzcmdiQ2xyIHZhbD0iNDQ1NDZBIi8+PC9hOmRrMj48YTpsdDI+PGE6c3JnYkNsciB2YWw9IkU3RTZFNiIvPjwvYTpsdDI+PGE6YWNjZW50MT48YTpzcmdiQ2xyIHZhbD0iNDQ3MkM0Ii8+PC9hOmFjY2VudDE+PGE6YWNjZW50Mj48YTpzcmdiQ2xyIHZhbD0iRUQ3RDMxIi8+PC9hOmFjY2VudDI+PGE6YWNjZW50Mz48YTpzcmdiQ2xyIHZhbD0iQTVBNUE1Ii8+PC9hOmFjY2VudDM+PGE6YWNjZW50ND48YTpzcmdiQ2xyIHZhbD0iRkZDMDAwIi8+PC9hOmFjY2VudDQ+PGE6YWNjZW50NT48YTpzcmdiQ2xyIHZhbD0iNUI5QkQ1Ii8+PC9hOmFjY2VudDU+PGE6YWNjZW50Nj48YTpzcmdiQ2xyIHZhbD0iNzBBRDQ3Ii8+PC9hOmFjY2VudDY+PGE6aGxpbms+PGE6c3JnYkNsciB2YWw9IjA1NjNDMSIvPjwvYTpobGluaz48YTpmb2xIbGluaz48YTpzcmdiQ2xyIHZhbD0iOTU0RjcyIi8+PC9hOmZvbEhsaW5rPjwvYTpjbHJTY2hlbWU+PGE6Zm9udFNjaGVtZSBuYW1lPSJPZmZpY2UiPjxhOm1ham9yRm9udD48YTpsYXRpbiB0eXBlZmFjZT0iQ2FsaWJyaSBMaWdodCIgcGFub3NlPSIwMjBGMDMwMjAyMDIwNDAzMDIwNCIvPjxhOmVhIHR5cGVmYWNlPSIiLz48YTpjcyB0eXBlZmFjZT0iIi8+PGE6Zm9udCBzY3JpcHQ9IkpwYW4iIHR5cGVmYWNlPSLmuLjjgrTjgrfjg4Pjgq8gTGlnaHQiLz48YTpmb250IHNjcmlwdD0iSGFuZyIgdHlwZWZhY2U9IuunkeydgCDqs6DrlJUiLz48YTpmb250IHNjcmlwdD0iSGFucyIgdHlwZWZhY2U9Iuetiee6vyBMaWdodCIvPjxhOmZvbnQgc2NyaXB0PSJIYW50IiB0eXBlZmFjZT0i5paw57Sw5piO6auUIi8+PGE6Zm9udCBzY3JpcHQ9IkFyYWIiIHR5cGVmYWNlPSJUaW1lcyBOZXcgUm9tYW4iLz48YTpmb250IHNjcmlwdD0iSGViciIgdHlwZWZhY2U9IlRpbWVzIE5ldyBSb21hbiIvPjxhOmZvbnQgc2NyaXB0PSJUaGFpIiB0eXBlZmFjZT0iVGFob21hIi8+PGE6Zm9udCBzY3JpcHQ9IkV0aGkiIHR5cGVmYWNlPSJOeWFsYSIvPjxhOmZvbnQgc2NyaXB0PSJCZW5nIiB0eXBlZmFjZT0iVnJpbmRhIi8+PGE6Zm9udCBzY3JpcHQ9Ikd1anIiIHR5cGVmYWNlPSJTaHJ1dGkiLz48YTpmb250IHNjcmlwdD0iS2htciIgdHlwZWZhY2U9Ik1vb2xCb3JhbiIvPjxhOmZvbnQgc2NyaXB0PSJLbmRhIiB0eXBlZmFjZT0iVHVuZ2EiLz48YTpmb250IHNjcmlwdD0iR3VydSIgdHlwZWZhY2U9IlJhYXZpIi8+PGE6Zm9udCBzY3JpcHQ9IkNhbnMiIHR5cGVmYWNlPSJFdXBoZW1pYSIvPjxhOmZvbnQgc2NyaXB0PSJDaGVyIiB0eXBlZmFjZT0iUGxhbnRhZ2VuZXQgQ2hlcm9rZWUiLz48YTpmb250IHNjcmlwdD0iWWlpaSIgdHlwZWZhY2U9Ik1pY3Jvc29mdCBZaSBCYWl0aSIvPjxhOmZvbnQgc2NyaXB0PSJUaWJ0IiB0eXBlZmFjZT0iTWljcm9zb2Z0IEhpbWFsYXlhIi8+PGE6Zm9udCBzY3JpcHQ9IlRoYWEiIHR5cGVmYWNlPSJNViBCb2xpIi8+PGE6Zm9udCBzY3JpcHQ9IkRldmEiIHR5cGVmYWNlPSJNYW5nYWwiLz48YTpmb250IHNjcmlwdD0iVGVsdSIgdHlwZWZhY2U9IkdhdXRhbWkiLz48YTpmb250IHNjcmlwdD0iVGFtbCIgdHlwZWZhY2U9IkxhdGhhIi8+PGE6Zm9udCBzY3JpcHQ9IlN5cmMiIHR5cGVmYWNlPSJFc3RyYW5nZWxvIEVkZXNzYSIvPjxhOmZvbnQgc2NyaXB0PSJPcnlhIiB0eXBlZmFjZT0iS2FsaW5nYSIvPjxhOmZvbnQgc2NyaXB0PSJNbHltIiB0eXBlZmFjZT0iS2FydGlrYSIvPjxhOmZvbnQgc2NyaXB0PSJMYW9vIiB0eXBlZmFjZT0iRG9rQ2hhbXBhIi8+PGE6Zm9udCBzY3JpcHQ9IlNpbmgiIHR5cGVmYWNlPSJJc2tvb2xhIFBvdGEiLz48YTpmb250IHNjcmlwdD0iTW9uZyIgdHlwZWZhY2U9Ik1vbmdvbGlhbiBCYWl0aSIvPjxhOmZvbnQgc2NyaXB0PSJWaWV0IiB0eXBlZmFjZT0iVGltZXMgTmV3IFJvbWFuIi8+PGE6Zm9udCBzY3JpcHQ9IlVpZ2giIHR5cGVmYWNlPSJNaWNyb3NvZnQgVWlnaHVyIi8+PGE6Zm9udCBzY3JpcHQ9Ikdlb3IiIHR5cGVmYWNlPSJTeWxmYWVuIi8+PGE6Zm9udCBzY3JpcHQ9IkFybW4iIHR5cGVmYWNlPSJBcmlhbCIvPjxhOmZvbnQgc2NyaXB0PSJCdWdpIiB0eXBlZmFjZT0iTGVlbGF3YWRlZSBVSSIvPjxhOmZvbnQgc2NyaXB0PSJCb3BvIiB0eXBlZmFjZT0iTWljcm9zb2Z0IEpoZW5nSGVpIi8+PGE6Zm9udCBzY3JpcHQ9IkphdmEiIHR5cGVmYWNlPSJKYXZhbmVzZSBUZXh0Ii8+PGE6Zm9udCBzY3JpcHQ9Ikxpc3UiIHR5cGVmYWNlPSJTZWdvZSBVSSIvPjxhOmZvbnQgc2NyaXB0PSJNeW1yIiB0eXBlZmFjZT0iTXlhbm1hciBUZXh0Ii8+PGE6Zm9udCBzY3JpcHQ9Ik5rb28iIHR5cGVmYWNlPSJFYnJpbWEiLz48YTpmb250IHNjcmlwdD0iT2xjayIgdHlwZWZhY2U9Ik5pcm1hbGEgVUkiLz48YTpmb250IHNjcmlwdD0iT3NtYSIgdHlwZWZhY2U9IkVicmltYSIvPjxhOmZvbnQgc2NyaXB0PSJQaGFnIiB0eXBlZmFjZT0iUGhhZ3NwYSIvPjxhOmZvbnQgc2NyaXB0PSJTeXJuIiB0eXBlZmFjZT0iRXN0cmFuZ2VsbyBFZGVzc2EiLz48YTpmb250IHNjcmlwdD0iU3lyaiIgdHlwZWZhY2U9IkVzdHJhbmdlbG8gRWRlc3NhIi8+PGE6Zm9udCBzY3JpcHQ9IlN5cmUiIHR5cGVmYWNlPSJFc3RyYW5nZWxvIEVkZXNzYSIvPjxhOmZvbnQgc2NyaXB0PSJTb3JhIiB0eXBlZmFjZT0iTmlybWFsYSBVSSIvPjxhOmZvbnQgc2NyaXB0PSJUYWxlIiB0eXBlZmFjZT0iTWljcm9zb2Z0IFRhaSBMZSIvPjxhOmZvbnQgc2NyaXB0PSJUYWx1IiB0eXBlZmFjZT0iTWljcm9zb2Z0IE5ldyBUYWkgTHVlIi8+PGE6Zm9udCBzY3JpcHQ9IlRmbmciIHR5cGVmYWNlPSJFYnJpbWEiLz48L2E6bWFqb3JGb250PjxhOm1pbm9yRm9udD48YTpsYXRpbiB0eXBlZmFjZT0iQ2FsaWJyaSIgcGFub3NlPSIwMjBGMDUwMjAyMDIwNDAzMDIwNCIvPjxhOmVhIHR5cGVmYWNlPSIiLz48YTpjcyB0eXBlZmFjZT0iIi8+PGE6Zm9udCBzY3JpcHQ9IkpwYW4iIHR5cGVmYWNlPSLmuLjjgrTjgrfjg4Pjgq8iLz48YTpmb250IHNjcmlwdD0iSGFuZyIgdHlwZWZhY2U9IuunkeydgCDqs6DrlJUiLz48YTpmb250IHNjcmlwdD0iSGFucyIgdHlwZWZhY2U9Iuetiee6vyIvPjxhOmZvbnQgc2NyaXB0PSJIYW50IiB0eXBlZmFjZT0i5paw57Sw5piO6auUIi8+PGE6Zm9udCBzY3JpcHQ9IkFyYWIiIHR5cGVmYWNlPSJBcmlhbCIvPjxhOmZvbnQgc2NyaXB0PSJIZWJyIiB0eXBlZmFjZT0iQXJpYWwiLz48YTpmb250IHNjcmlwdD0iVGhhaSIgdHlwZWZhY2U9IlRhaG9tYSIvPjxhOmZvbnQgc2NyaXB0PSJFdGhpIiB0eXBlZmFjZT0iTnlhbGEiLz48YTpmb250IHNjcmlwdD0iQmVuZyIgdHlwZWZhY2U9IlZyaW5kYSIvPjxhOmZvbnQgc2NyaXB0PSJHdWpyIiB0eXBlZmFjZT0iU2hydXRpIi8+PGE6Zm9udCBzY3JpcHQ9IktobXIiIHR5cGVmYWNlPSJEYXVuUGVuaCIvPjxhOmZvbnQgc2NyaXB0PSJLbmRhIiB0eXBlZmFjZT0iVHVuZ2EiLz48YTpmb250IHNjcmlwdD0iR3VydSIgdHlwZWZhY2U9IlJhYXZpIi8+PGE6Zm9udCBzY3JpcHQ9IkNhbnMiIHR5cGVmYWNlPSJFdXBoZW1pYSIvPjxhOmZvbnQgc2NyaXB0PSJDaGVyIiB0eXBlZmFjZT0iUGxhbnRhZ2VuZXQgQ2hlcm9rZWUiLz48YTpmb250IHNjcmlwdD0iWWlpaSIgdHlwZWZhY2U9Ik1pY3Jvc29mdCBZaSBCYWl0aSIvPjxhOmZvbnQgc2NyaXB0PSJUaWJ0IiB0eXBlZmFjZT0iTWljcm9zb2Z0IEhpbWFsYXlhIi8+PGE6Zm9udCBzY3JpcHQ9IlRoYWEiIHR5cGVmYWNlPSJNViBCb2xpIi8+PGE6Zm9udCBzY3JpcHQ9IkRldmEiIHR5cGVmYWNlPSJNYW5nYWwiLz48YTpmb250IHNjcmlwdD0iVGVsdSIgdHlwZWZhY2U9IkdhdXRhbWkiLz48YTpmb250IHNjcmlwdD0iVGFtbCIgdHlwZWZhY2U9IkxhdGhhIi8+PGE6Zm9udCBzY3JpcHQ9IlN5cmMiIHR5cGVmYWNlPSJFc3RyYW5nZWxvIEVkZXNzYSIvPjxhOmZvbnQgc2NyaXB0PSJPcnlhIiB0eXBlZmFjZT0iS2FsaW5nYSIvPjxhOmZvbnQgc2NyaXB0PSJNbHltIiB0eXBlZmFjZT0iS2FydGlrYSIvPjxhOmZvbnQgc2NyaXB0PSJMYW9vIiB0eXBlZmFjZT0iRG9rQ2hhbXBhIi8+PGE6Zm9udCBzY3JpcHQ9IlNpbmgiIHR5cGVmYWNlPSJJc2tvb2xhIFBvdGEiLz48YTpmb250IHNjcmlwdD0iTW9uZyIgdHlwZWZhY2U9Ik1vbmdvbGlhbiBCYWl0aSIvPjxhOmZvbnQgc2NyaXB0PSJWaWV0IiB0eXBlZmFjZT0iQXJpYWwiLz48YTpmb250IHNjcmlwdD0iVWlnaCIgdHlwZWZhY2U9Ik1pY3Jvc29mdCBVaWdodXIiLz48YTpmb250IHNjcmlwdD0iR2VvciIgdHlwZWZhY2U9IlN5bGZhZW4iLz48YTpmb250IHNjcmlwdD0iQXJtbiIgdHlwZWZhY2U9IkFyaWFsIi8+PGE6Zm9udCBzY3JpcHQ9IkJ1Z2kiIHR5cGVmYWNlPSJMZWVsYXdhZGVlIFVJIi8+PGE6Zm9udCBzY3JpcHQ9IkJvcG8iIHR5cGVmYWNlPSJNaWNyb3NvZnQgSmhlbmdIZWkiLz48YTpmb250IHNjcmlwdD0iSmF2YSIgdHlwZWZhY2U9IkphdmFuZXNlIFRleHQiLz48YTpmb250IHNjcmlwdD0iTGlzdSIgdHlwZWZhY2U9IlNlZ29lIFVJIi8+PGE6Zm9udCBzY3JpcHQ9Ik15bXIiIHR5cGVmYWNlPSJNeWFubWFyIFRleHQiLz48YTpmb250IHNjcmlwdD0iTmtvbyIgdHlwZWZhY2U9IkVicmltYSIvPjxhOmZvbnQgc2NyaXB0PSJPbGNrIiB0eXBlZmFjZT0iTmlybWFsYSBVSSIvPjxhOmZvbnQgc2NyaXB0PSJPc21hIiB0eXBlZmFjZT0iRWJyaW1hIi8+PGE6Zm9udCBzY3JpcHQ9IlBoYWciIHR5cGVmYWNlPSJQaGFnc3BhIi8+PGE6Zm9udCBzY3JpcHQ9IlN5cm4iIHR5cGVmYWNlPSJFc3RyYW5nZWxvIEVkZXNzYSIvPjxhOmZvbnQgc2NyaXB0PSJTeXJqIiB0eXBlZmFjZT0iRXN0cmFuZ2VsbyBFZGVzc2EiLz48YTpmb250IHNjcmlwdD0iU3lyZSIgdHlwZWZhY2U9IkVzdHJhbmdlbG8gRWRlc3NhIi8+PGE6Zm9udCBzY3JpcHQ9IlNvcmEiIHR5cGVmYWNlPSJOaXJtYWxhIFVJIi8+PGE6Zm9udCBzY3JpcHQ9IlRhbGUiIHR5cGVmYWNlPSJNaWNyb3NvZnQgVGFpIExlIi8+PGE6Zm9udCBzY3JpcHQ9IlRhbHUiIHR5cGVmYWNlPSJNaWNyb3NvZnQgTmV3IFRhaSBMdWUiLz48YTpmb250IHNjcmlwdD0iVGZuZyIgdHlwZWZhY2U9IkVicmltYSIvPjwvYTptaW5vckZvbnQ+PC9hOmZvbnRTY2hlbWU+PGE6Zm10U2NoZW1lIG5hbWU9Ik9mZmljZSI+PGE6ZmlsbFN0eWxlTHN0PjxhOnNvbGlkRmlsbD48YTpzY2hlbWVDbHIgdmFsPSJwaENsciIvPjwvYTpzb2xpZEZpbGw+PGE6Z3JhZEZpbGwgcm90V2l0aFNoYXBlPSIxIj48YTpnc0xzdD48YTpncyBwb3M9IjAiPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIj48YTpsdW1Nb2QgdmFsPSIxMTAwMDAiLz48YTpzYXRNb2QgdmFsPSIxMDUwMDAiLz48YTp0aW50IHZhbD0iNjcwMDAiLz48L2E6c2NoZW1lQ2xyPjwvYTpncz48YTpncyBwb3M9IjUwMDAwIj48YTpzY2hlbWVDbHIgdmFsPSJwaENsciI+PGE6bHVtTW9kIHZhbD0iMTA1MDAwIi8+PGE6c2F0TW9kIHZhbD0iMTAzMDAwIi8+PGE6dGludCB2YWw9IjczMDAwIi8+PC9hOnNjaGVtZUNscj48L2E6Z3M+PGE6Z3MgcG9zPSIxMDAwMDAiPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIj48YTpsdW1Nb2QgdmFsPSIxMDUwMDAiLz48YTpzYXRNb2QgdmFsPSIxMDkwMDAiLz48YTp0aW50IHZhbD0iODEwMDAiLz48L2E6c2NoZW1lQ2xyPjwvYTpncz48L2E6Z3NMc3Q+PGE6bGluIGFuZz0iNTQwMDAwMCIgc2NhbGVkPSIwIi8+PC9hOmdyYWRGaWxsPjxhOmdyYWRGaWxsIHJvdFdpdGhTaGFwZT0iMSI+PGE6Z3NMc3Q+PGE6Z3MgcG9zPSIwIj48YTpzY2hlbWVDbHIgdmFsPSJwaENsciI+PGE6c2F0TW9kIHZhbD0iMTAzMDAwIi8+PGE6bHVtTW9kIHZhbD0iMTAyMDAwIi8+PGE6dGludCB2YWw9Ijk0MDAwIi8+PC9hOnNjaGVtZUNscj48L2E6Z3M+PGE6Z3MgcG9zPSI1MDAwMCI+PGE6c2NoZW1lQ2xyIHZhbD0icGhDbHIiPjxhOnNhdE1vZCB2YWw9IjExMDAwMCIvPjxhOmx1bU1vZCB2YWw9IjEwMDAwMCIvPjxhOnNoYWRlIHZhbD0iMTAwMDAwIi8+PC9hOnNjaGVtZUNscj48L2E6Z3M+PGE6Z3MgcG9zPSIxMDAwMDAiPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIj48YTpsdW1Nb2QgdmFsPSI5OTAwMCIvPjxhOnNhdE1vZCB2YWw9IjEyMDAwMCIvPjxhOnNoYWRlIHZhbD0iNzgwMDAiLz48L2E6c2NoZW1lQ2xyPjwvYTpncz48L2E6Z3NMc3Q+PGE6bGluIGFuZz0iNTQwMDAwMCIgc2NhbGVkPSIwIi8+PC9hOmdyYWRGaWxsPjwvYTpmaWxsU3R5bGVMc3Q+PGE6bG5TdHlsZUxzdD48YTpsbiB3PSI2MzUwIiBjYXA9ImZsYXQiIGNtcGQ9InNuZyIgYWxnbj0iY3RyIj48YTpzb2xpZEZpbGw+PGE6c2NoZW1lQ2xyIHZhbD0icGhDbHIiLz48L2E6c29saWRGaWxsPjxhOnByc3REYXNoIHZhbD0ic29saWQiLz48YTptaXRlciBsaW09IjgwMDAwMCIvPjwvYTpsbj48YTpsbiB3PSIxMjcwMCIgY2FwPSJmbGF0IiBjbXBkPSJzbmciIGFsZ249ImN0ciI+PGE6c29saWRGaWxsPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIi8+PC9hOnNvbGlkRmlsbD48YTpwcnN0RGFzaCB2YWw9InNvbGlkIi8+PGE6bWl0ZXIgbGltPSI4MDAwMDAiLz48L2E6bG4+PGE6bG4gdz0iMTkwNTAiIGNhcD0iZmxhdCIgY21wZD0ic25nIiBhbGduPSJjdHIiPjxhOnNvbGlkRmlsbD48YTpzY2hlbWVDbHIgdmFsPSJwaENsciIvPjwvYTpzb2xpZEZpbGw+PGE6cHJzdERhc2ggdmFsPSJzb2xpZCIvPjxhOm1pdGVyIGxpbT0iODAwMDAwIi8+PC9hOmxuPjwvYTpsblN0eWxlTHN0PjxhOmVmZmVjdFN0eWxlTHN0PjxhOmVmZmVjdFN0eWxlPjxhOmVmZmVjdExzdC8+PC9hOmVmZmVjdFN0eWxlPjxhOmVmZmVjdFN0eWxlPjxhOmVmZmVjdExzdC8+PC9hOmVmZmVjdFN0eWxlPjxhOmVmZmVjdFN0eWxlPjxhOmVmZmVjdExzdD48YTpvdXRlclNoZHcgYmx1clJhZD0iNTcxNTAiIGRpc3Q9IjE5MDUwIiBkaXI9IjU0MDAwMDAiIGFsZ249ImN0ciIgcm90V2l0aFNoYXBlPSIwIj48YTpzcmdiQ2xyIHZhbD0iMDAwMDAwIj48YTphbHBoYSB2YWw9IjYzMDAwIi8+PC9hOnNyZ2JDbHI+PC9hOm91dGVyU2hkdz48L2E6ZWZmZWN0THN0PjwvYTplZmZlY3RTdHlsZT48L2E6ZWZmZWN0U3R5bGVMc3Q+PGE6YmdGaWxsU3R5bGVMc3Q+PGE6c29saWRGaWxsPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIi8+PC9hOnNvbGlkRmlsbD48YTpzb2xpZEZpbGw+PGE6c2NoZW1lQ2xyIHZhbD0icGhDbHIiPjxhOnRpbnQgdmFsPSI5NTAwMCIvPjxhOnNhdE1vZCB2YWw9IjE3MDAwMCIvPjwvYTpzY2hlbWVDbHI+PC9hOnNvbGlkRmlsbD48YTpncmFkRmlsbCByb3RXaXRoU2hhcGU9IjEiPjxhOmdzTHN0PjxhOmdzIHBvcz0iMCI+PGE6c2NoZW1lQ2xyIHZhbD0icGhDbHIiPjxhOnRpbnQgdmFsPSI5MzAwMCIvPjxhOnNhdE1vZCB2YWw9IjE1MDAwMCIvPjxhOnNoYWRlIHZhbD0iOTgwMDAiLz48YTpsdW1Nb2QgdmFsPSIxMDIwMDAiLz48L2E6c2NoZW1lQ2xyPjwvYTpncz48YTpncyBwb3M9IjUwMDAwIj48YTpzY2hlbWVDbHIgdmFsPSJwaENsciI+PGE6dGludCB2YWw9Ijk4MDAwIi8+PGE6c2F0TW9kIHZhbD0iMTMwMDAwIi8+PGE6c2hhZGUgdmFsPSI5MDAwMCIvPjxhOmx1bU1vZCB2YWw9IjEwMzAwMCIvPjwvYTpzY2hlbWVDbHI+PC9hOmdzPjxhOmdzIHBvcz0iMTAwMDAwIj48YTpzY2hlbWVDbHIgdmFsPSJwaENsciI+PGE6c2hhZGUgdmFsPSI2MzAwMCIvPjxhOnNhdE1vZCB2YWw9IjEyMDAwMCIvPjwvYTpzY2hlbWVDbHI+PC9hOmdzPjwvYTpnc0xzdD48YTpsaW4gYW5nPSI1NDAwMDAwIiBzY2FsZWQ9IjAiLz48L2E6Z3JhZEZpbGw+PC9hOmJnRmlsbFN0eWxlTHN0PjwvYTpmbXRTY2hlbWU+PC9hOnRoZW1lRWxlbWVudHM+PGE6b2JqZWN0RGVmYXVsdHMvPjxhOmV4dHJhQ2xyU2NoZW1lTHN0Lz48YTpleHRMc3Q+PGE6ZXh0IHVyaT0iezA1QTRDMjVDLTA4NUUtNDM0MC04NUEzLUE1NTMxRTUxMERCMn0iPjx0aG0xNTp0aGVtZUZhbWlseSB4bWxuczp0aG0xNT0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2UvdGhlbWVtbC8yMDEyL21haW4iIG5hbWU9Ik9mZmljZSBUaGVtZSIgaWQ9Ins2MkY5MzlCNi05M0FGLTREQjgtOUM2Qi1ENkM3REZEQzU4OUZ9IiB2aWQ9Ins0QTNDNDZFOC02MUNDLTQ2MDMtQTU4OS03NDIyQTQ3QThFNEF9Ii8+PC9hOmV4dD48L2E6ZXh0THN0PjwvYTp0aGVtZT5QSwMECgAAAAAAAAAhAHmhgGxSBgAAUgYAAA0AAAB4bC9zdHlsZXMueG1sPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pg0KPHN0eWxlU2hlZXQgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9zcHJlYWRzaGVldG1sLzIwMDYvbWFpbiIgeG1sbnM6bWM9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9tYXJrdXAtY29tcGF0aWJpbGl0eS8yMDA2IiBtYzpJZ25vcmFibGU9IngxNGFjIHgxNnIyIHhyIiB4bWxuczp4MTRhYz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2Uvc3ByZWFkc2hlZXRtbC8yMDA5LzkvYWMiIHhtbG5zOngxNnIyPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTUvMDIvbWFpbiIgeG1sbnM6eHI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNlL3NwcmVhZHNoZWV0bWwvMjAxNC9yZXZpc2lvbiI+PGZvbnRzIGNvdW50PSIxIiB4MTRhYzprbm93bkZvbnRzPSIxIj48Zm9udD48c3ogdmFsPSIxMSIvPjxjb2xvciB0aGVtZT0iMSIvPjxuYW1lIHZhbD0iQ2FsaWJyaSIvPjxmYW1pbHkgdmFsPSIyIi8+PHNjaGVtZSB2YWw9Im1pbm9yIi8+PC9mb250PjwvZm9udHM+PGZpbGxzIGNvdW50PSIyIj48ZmlsbD48cGF0dGVybkZpbGwgcGF0dGVyblR5cGU9Im5vbmUiLz48L2ZpbGw+PGZpbGw+PHBhdHRlcm5GaWxsIHBhdHRlcm5UeXBlPSJncmF5MTI1Ii8+PC9maWxsPjwvZmlsbHM+PGJvcmRlcnMgY291bnQ9IjEiPjxib3JkZXI+PGxlZnQvPjxyaWdodC8+PHRvcC8+PGJvdHRvbS8+PGRpYWdvbmFsLz48L2JvcmRlcj48L2JvcmRlcnM+PGNlbGxTdHlsZVhmcyBjb3VudD0iMSI+PHhmIG51bUZtdElkPSIwIiBmb250SWQ9IjAiIGZpbGxJZD0iMCIgYm9yZGVySWQ9IjAiLz48L2NlbGxTdHlsZVhmcz48Y2VsbFhmcyBjb3VudD0iMSI+PHhmIG51bUZtdElkPSIwIiBmb250SWQ9IjAiIGZpbGxJZD0iMCIgYm9yZGVySWQ9IjAiIHhmSWQ9IjAiLz48L2NlbGxYZnM+PGNlbGxTdHlsZXMgY291bnQ9IjEiPjxjZWxsU3R5bGUgbmFtZT0iTm9ybWFsIiB4ZklkPSIwIiBidWlsdGluSWQ9IjAiLz48L2NlbGxTdHlsZXM+PGR4ZnMgY291bnQ9IjAiLz48dGFibGVTdHlsZXMgY291bnQ9IjAiIGRlZmF1bHRUYWJsZVN0eWxlPSJUYWJsZVN0eWxlTWVkaXVtMiIgZGVmYXVsdFBpdm90U3R5bGU9IlBpdm90U3R5bGVMaWdodDE2Ii8+PGV4dExzdD48ZXh0IHVyaT0ie0VCNzlERUYyLTgwQjgtNDNlNS05NUJELTU0Q0JEREY5MDIwQ30iIHhtbG5zOngxND0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2Uvc3ByZWFkc2hlZXRtbC8yMDA5LzkvbWFpbiI+PHgxNDpzbGljZXJTdHlsZXMgZGVmYXVsdFNsaWNlclN0eWxlPSJTbGljZXJTdHlsZUxpZ2h0MSIvPjwvZXh0PjxleHQgdXJpPSJ7OTI2MEE1MTAtRjMwMS00NmE4LTg2MzUtRjUxMkQ2NEJFNUY1fSIgeG1sbnM6eDE1PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTAvMTEvbWFpbiI+PHgxNTp0aW1lbGluZVN0eWxlcyBkZWZhdWx0VGltZWxpbmVTdHlsZT0iVGltZVNsaWNlclN0eWxlTGlnaHQxIi8+PC9leHQ+PC9leHRMc3Q+PC9zdHlsZVNoZWV0PlBLAwQKAAAAAAAAACEA0IywC4EAAACBAAAAFAAAAHhsL3NoYXJlZFN0cmluZ3MueG1sPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pg0KPHNzdCB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3NwcmVhZHNoZWV0bWwvMjAwNi9tYWluIi8+UEsDBAoAAAAAAAAAIQDcCx83XQIAAF0CAAARAAAAZG9jUHJvcHMvY29yZS54bWw8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgc3RhbmRhbG9uZT0ieWVzIj8+DQo8Y3A6Y29yZVByb3BlcnRpZXMgeG1sbnM6Y3A9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9wYWNrYWdlLzIwMDYvbWV0YWRhdGEvY29yZS1wcm9wZXJ0aWVzIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOmRjdGVybXM9Imh0dHA6Ly9wdXJsLm9yZy9kYy90ZXJtcy8iIHhtbG5zOmRjbWl0eXBlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIj48ZGM6Y3JlYXRvcj5kdW5jYW48L2RjOmNyZWF0b3I+PGNwOmxhc3RNb2RpZmllZEJ5PmR1bmNhbjwvY3A6bGFzdE1vZGlmaWVkQnk+PGRjdGVybXM6Y3JlYXRlZCB4c2k6dHlwZT0iZGN0ZXJtczpXM0NEVEYiPjIwMTktMDEtMzFUMTY6NDg6MDNaPC9kY3Rlcm1zOmNyZWF0ZWQ+PGRjdGVybXM6bW9kaWZpZWQgeHNpOnR5cGU9ImRjdGVybXM6VzNDRFRGIj4yMDE5LTAxLTMxVDE2OjQ4OjI4WjwvZGN0ZXJtczptb2RpZmllZD48L2NwOmNvcmVQcm9wZXJ0aWVzPlBLAwQKAAAAAAAAACEAYUkJEBEDAAARAwAAEAAAAGRvY1Byb3BzL2FwcC54bWw8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgc3RhbmRhbG9uZT0ieWVzIj8+DQo8UHJvcGVydGllcyB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL29mZmljZURvY3VtZW50LzIwMDYvZXh0ZW5kZWQtcHJvcGVydGllcyIgeG1sbnM6dnQ9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L2RvY1Byb3BzVlR5cGVzIj48QXBwbGljYXRpb24+TWljcm9zb2Z0IEV4Y2VsPC9BcHBsaWNhdGlvbj48RG9jU2VjdXJpdHk+MDwvRG9jU2VjdXJpdHk+PFNjYWxlQ3JvcD5mYWxzZTwvU2NhbGVDcm9wPjxIZWFkaW5nUGFpcnM+PHZ0OnZlY3RvciBzaXplPSIyIiBiYXNlVHlwZT0idmFyaWFudCI+PHZ0OnZhcmlhbnQ+PHZ0Omxwc3RyPldvcmtzaGVldHM8L3Z0Omxwc3RyPjwvdnQ6dmFyaWFudD48dnQ6dmFyaWFudD48dnQ6aTQ+MTwvdnQ6aTQ+PC92dDp2YXJpYW50PjwvdnQ6dmVjdG9yPjwvSGVhZGluZ1BhaXJzPjxUaXRsZXNPZlBhcnRzPjx2dDp2ZWN0b3Igc2l6ZT0iMSIgYmFzZVR5cGU9Imxwc3RyIj48dnQ6bHBzdHI+U2hlZXQxPC92dDpscHN0cj48L3Z0OnZlY3Rvcj48L1RpdGxlc09mUGFydHM+PENvbXBhbnk+PC9Db21wYW55PjxMaW5rc1VwVG9EYXRlPmZhbHNlPC9MaW5rc1VwVG9EYXRlPjxTaGFyZWREb2M+ZmFsc2U8L1NoYXJlZERvYz48SHlwZXJsaW5rc0NoYW5nZWQ+ZmFsc2U8L0h5cGVybGlua3NDaGFuZ2VkPjxBcHBWZXJzaW9uPjE2LjAzMDA8L0FwcFZlcnNpb24+PC9Qcm9wZXJ0aWVzPlBLAQIUAAoAAAAAAAAAIQBi7p1okAQAAJAEAAATAAAAAAAAAAAAAAAAAAAAAABbQ29udGVudF9UeXBlc10ueG1sUEsBAhQACgAAAAAAAAAhALVVMCNMAgAATAIAAAsAAAAAAAAAAAAAAAAAwQQAAF9yZWxzLy5yZWxzUEsBAhQACgAAAAAAAAAhALpwnmbKBgAAygYAAA8AAAAAAAAAAAAAAAAANgcAAHhsL3dvcmtib29rLnhtbFBLAQIUAAoAAAAAAAAAIQCBPpSXugIAALoCAAAaAAAAAAAAAAAAAAAAAC0OAAB4bC9fcmVscy93b3JrYm9vay54bWwucmVsc1BLAQIUAAoAAAAAAAAAIQACrURzpAMAAKQDAAAYAAAAAAAAAAAAAAAAAB8RAAB4bC93b3Jrc2hlZXRzL3NoZWV0MS54bWxQSwECFAAKAAAAAAAAACEAwRcQvsYgAADGIAAAEwAAAAAAAAAAAAAAAAD5FAAAeGwvdGhlbWUvdGhlbWUxLnhtbFBLAQIUAAoAAAAAAAAAIQB5oYBsUgYAAFIGAAANAAAAAAAAAAAAAAAAAPA1AAB4bC9zdHlsZXMueG1sUEsBAhQACgAAAAAAAAAhANCMsAuBAAAAgQAAABQAAAAAAAAAAAAAAAAAbTwAAHhsL3NoYXJlZFN0cmluZ3MueG1sUEsBAhQACgAAAAAAAAAhANwLHzddAgAAXQIAABEAAAAAAAAAAAAAAAAAID0AAGRvY1Byb3BzL2NvcmUueG1sUEsBAhQACgAAAAAAAAAhAGFJCRARAwAAEQMAABAAAAAAAAAAAAAAAAAArD8AAGRvY1Byb3BzL2FwcC54bWxQSwUGAAAAAAoACgCAAgAA60IAAAAA";var Jr=s=>s!==null&&typeof s=="object"&&"row"in s&&"column"in s;var H=class s{start_;end_;constructor(e,t=e,r=!1){this.end_=this.PatchNull(t),this.start_=this.PatchNull(e),r&&this.Normalize()}static FromColumn(e){return new s({row:1/0,column:e})}static FromRow(e){return new s({row:e,column:1/0})}static ColumnToLabel(e){let t=String.fromCharCode(65+e%26);for(;e>25;)e=Math.floor(e/26)-1,t=String.fromCharCode(65+e%26)+t;return t}static CellAddressToLabel(e,t=!1){if(e.row===1/0&&e.column===1/0)throw new Error("this is going to break something");let r=t?`${e.sheet_id||0}!`:"";return e.row===1/0?r+(e.absolute_column?"$":"")+this.ColumnToLabel(e.column):e.column===1/0?r+(e.absolute_row?"$":"")+(e.row+1):r+(e.absolute_column?"$":"")+this.ColumnToLabel(e.column)+(e.absolute_row?"$":"")+(e.row+1)+(e.spill?"#":"")}static Join(e,...t){let r=new s(e.start,e.end);for(let i of t)i&&(r.ConsumeAddress(i.start),r.ConsumeAddress(i.end));return r}static Bleed(e,t=1){return new s({row:Math.max(0,e.start.row-t),column:Math.max(0,e.start.column-t),sheet_id:e.start.sheet_id},{row:e.end.row+t,column:e.end.column+t})}static PatchArea(e,t){let{before_column:r,column_count:i,before_row:n,row_count:a}=t,o=new s(e.start,e.end),l=e.start.sheet_id;if(i&&r<=o.end.column){if(i>0)r<=o.start.column?o.Shift(0,i):r>o.start.column&&r<=o.end.column?o.ConsumeAddress({row:o.end.row,column:o.end.column+i}):console.warn("AA X case 1",r,i,JSON.stringify(o));else if(i<0)if(r-i<=o.start.column)o.Shift(0,i);else{if(r<=o.start.column&&r-i>o.end.column)return!1;if(r<=o.start.column){let c=r-i-1;o=new s({row:o.start.row,column:c+1+i,sheet_id:l},{row:o.end.row,column:o.end.column+i})}else r<=o.end.column?r-i-1>=o.end.column?o=new s({row:o.start.row,column:o.start.column,sheet_id:l},{row:o.end.row,column:r-1}):o=new s({row:o.start.row,column:o.start.column,sheet_id:l},{row:o.end.row,column:o.start.column+o.columns+i-1}):console.warn("AA X case 2",r,i,JSON.stringify(o))}}if(a&&n<=o.end.row){if(a>0)n<=o.start.row?o.Shift(a,0):n>o.start.row&&n<=o.end.row?o.ConsumeAddress({row:o.end.row+a,column:o.end.column}):console.warn("AA X case 3",n,a,JSON.stringify(o));else if(a<0)if(n-a<=o.start.row)o.Shift(a,0);else{if(n<=o.start.row&&n-a>o.end.row)return!1;if(n<=o.start.row){let c=n-a-1;o=new s({column:o.start.column,row:c+1+a,sheet_id:l},{column:o.end.column,row:o.end.row+a})}else n<=o.end.row?n-a-1>=o.end.row?o=new s({column:o.start.column,row:o.start.row,sheet_id:l},{column:o.end.column,row:n-1}):o=new s({column:o.start.column,row:o.start.row,sheet_id:l},{column:o.end.column,row:o.start.row+o.rows+a-1}):console.warn("AA X case 4",n,a,JSON.stringify(o))}}return o}get start(){return{...this.start_}}set start(e){this.start_=e}get end(){return{...this.end_}}set end(e){this.end_=e}get rows(){return this.start_.row===1/0||this.end_.row===1/0?1/0:this.end_.row-this.start_.row+1}get columns(){return this.start_.column===1/0||this.end_.column===1/0?1/0:this.end_.column-this.start_.column+1}get count(){return this.rows*this.columns}get entire_sheet(){return this.entire_row&&this.entire_column}get entire_column(){return this.start_.row===1/0}get entire_row(){return this.start_.column===1/0}PatchNull(e){let t={...e};return t.row===null&&(t.row=1/0),t.column===null&&(t.column=1/0),t}SetSheetID(e){this.start_.sheet_id=e}Normalize(){let e={...this.start_},t={...this.end_};e.row===1/0||t.row===1/0?e.row=t.row=1/0:e.row>t.row&&(e.row=this.end_.row,e.absolute_row=this.end_.absolute_row,t.row=this.start_.row,t.absolute_row=this.start_.absolute_row),e.column===1/0||t.column===1/0?e.column=t.column=1/0:e.column>t.column&&(e.column=this.end_.column,e.absolute_column=this.end_.absolute_column,t.column=this.start_.column,t.absolute_column=this.start_.absolute_column),this.start_=e,this.end_=t}TopLeft(){let e={row:0,column:0};return this.entire_row||(e.column=this.start.column),this.entire_column||(e.row=this.start.row),e}BottomRight(){let e={row:0,column:0};return this.entire_row||(e.column=this.end.column),this.entire_column||(e.row=this.end.row),e}ContainsRow(e){return this.entire_column||e>=this.start_.row&&e<=this.end_.row}ContainsColumn(e){return this.entire_row||e>=this.start_.column&&e<=this.end_.column}Contains(e){return(this.entire_column||e.row>=this.start_.row&&e.row<=this.end_.row)&&(this.entire_row||e.column>=this.start_.column&&e.column<=this.end_.column)}ContainsArea(e){return this.start.column<=e.start.column&&this.end.column>=e.end.column&&this.start.row<=e.start.row&&this.end.row>=e.end.row}Intersects(e){return!(e.start.column>this.end.column||this.start.column>e.end.column||e.start.row>this.end.row||this.start.row>e.end.row)}Equals(e){return e.start_.row===this.start_.row&&e.start_.column===this.start_.column&&e.end_.row===this.end_.row&&e.end_.column===this.end_.column}Equals2(e){return e.start.row===this.start_.row&&e.start.column===this.start_.column&&e.end.row===this.end_.row&&e.end.column===this.end_.column}Clone(){return new s(this.start,this.end)}get left(){let e=new s(this.start_,this.end_);return e.end_.column=e.start_.column,e}get right(){let e=new s(this.start_,this.end_);return e.start_.column=e.end_.column,e}get top(){let e=new s(this.start_,this.end_);return e.end_.row=e.start_.row,e}get bottom(){let e=new s(this.start_,this.end_);return e.start_.row=e.end_.row,e}Shift(e,t){return this.start_.row+=e,this.start_.column+=t,this.end_.row+=e,this.end_.column+=t,this}ConsumeAddress(e){this.entire_row||(e.column<this.start_.column&&(this.start_.column=e.column),e.column>this.end_.column&&(this.end_.column=e.column)),this.entire_column||(e.row<this.start_.row&&(this.start_.row=e.row),e.row>this.end_.row&&(this.end_.row=e.row))}Reshape(e,t){return this.end_.row=this.start_.row+e-1,this.end_.column=this.start_.column+t-1,this}ConsumeArea(e){this.ConsumeAddress(e.start),this.ConsumeAddress(e.end)}Resize(e,t){return this.end_.row=this.start_.row+e-1,this.end_.column=this.start_.column+t-1,this}[Symbol.iterator](){if(this.entire_row||this.entire_column)throw new Error("don\'t iterate infinite area");let e=this.start_.row,t=this.start_.column;return{next:()=>{let r={column:t,row:e,sheet_id:this.start_.sheet_id};return t>this.end_.column?{done:!0,value:void 0}:(++e>this.end_.row&&(e=this.start_.row,t++),{value:r})}}}get spreadsheet_label(){let e;return this.entire_sheet?"":this.entire_column?(e=s.ColumnToLabel(this.start_.column),e+=":"+s.ColumnToLabel(this.end_.column),e):this.entire_row?(e=String(this.start_.row+1),e+=":"+(this.end_.row+1),e):(e=s.CellAddressToLabel(this.start_),this.columns>1||this.rows>1?e+":"+s.CellAddressToLabel(this.end_):e)}toJSON(){return{start:{...this.start_},end:{...this.end_}}}};var Ss=s=>typeof s=="object"&&!!s&&typeof s.real=="number"&&typeof s.imaginary=="number";var As=s=>typeof s=="object"&&!!s&&typeof s.value=="number"&&typeof s.unit=="string",Ts=s=>typeof s=="object"&&s.type==="function",ar=["undefined","formula","string","number","boolean","object","function","error","complex","array","dimensioned_quantity"];var $e=s=>{switch(typeof s){case"undefined":return 0;case"number":return 3;case"boolean":return 4;case"object":return s===null?0:Ts(s)?6:Ss(s)?8:As(s)?10:5;case"string":return s[0]==="="?1:2;default:return 7}};var se=class{static StringToColumn(e){let t=0;e=e.toUpperCase();for(let r=0;r<e.length;r++)t*=26,t+=e.charCodeAt(r)-64;return t-1}value;type=0;calculated;calculated_type;formatted;rendered_type;style;area;spill;merge_area;table;renderer_data;render_clean=[];note;hyperlink;editing;render_function;click_function;constructor(e,t){typeof e<"u"&&this.Set(e,t)}ValueIsNumber(){return this.type===3}ValueIsFormula(){return this.type===1}ValueIsBoolean(){return this.type===4}ValueIsComplex(){return this.type===8}FlushStyle(){this.formatted=this.rendered_type=this.style=void 0,this.render_clean=[]}FlushArray(){this.area=void 0}FlushCache(){this.calculated=this.calculated_type=this.formatted=this.rendered_type=this.render_function=this.click_function=void 0,this.render_clean=[]}Reset(){this.type=0,this.value=this.spill=this.note=this.hyperlink=this.formatted=this.rendered_type=this.style=this.calculated=this.calculated_type=this.area=this.renderer_data=this.render_function=this.click_function=void 0,this.render_clean=[]}Set(e,t=$e(e)){this.value=e,this.type=t,this.spill=this.formatted=this.rendered_type=this.style=this.calculated=this.calculated_type=this.render_function=this.click_function=this.area=void 0,this.render_clean=[]}SetCalculatedValue(e,t=$e(e)){e===void 0&&(e=0,t=3),this.calculated!==e&&(this.calculated=e,this.calculated_type=t,this.formatted=this.rendered_type=void 0,this.render_clean=[])}GetValue(){return this.calculated_type?this.calculated:typeof this.value=="string"&&this.value[0]==="\'"?this.value.slice(1):this.value}GetValue4(){return this.calculated_type?{type:this.calculated_type,value:this.calculated}:this.type===1?{type:3,value:0}:{type:this.type,value:typeof this.value=="string"&&this.value[0]==="\'"?this.value.slice(1):this.value}}SetNote(e){this.note=e,this.render_clean=[]}SetCalculationError(e="ERR"){this.SetCalculatedValue(e,7)}SetArray(e){this.type=0,this.value=this.formatted=this.rendered_type=this.style=this.hyperlink=this.calculated=this.calculated_type=void 0,this.area=e,this.render_clean=[]}SetArrayHead(e,t){this.type=$e(t),this.value=t,this.formatted=this.rendered_type=this.style=this.calculated=this.calculated_type=void 0,this.area=e,this.render_clean=[]}};var Is=s=>!s.cells,ks=s=>!!s[0]&&Is(s[0]),Rs=s=>!!s[0]&&s[0].row!==void 0,Es=ar.map((s,e)=>({[s]:e})).reduce((s,e)=>({...s,...e}),{}),Et=class{data=[];rows_=0;columns_=0;get rows(){return this.rows_}get columns(){return this.columns_}EnsureRow(e){this.rows_=Math.max(e+1,this.rows_)}EnsureColumn(e){this.columns_=Math.max(e+1,this.columns_)}InsertColumns(e=0,t=1){this.data=this.data.map(r=>{if(r.length>=e){let i=r.slice(0,e),n=e+t,a=r.slice(e);for(let o=0;o<a.length;o++)i[n++]=a[o];return i}return r}),this.columns_+=t}DeleteColumns(e,t=1){this.data.forEach(r=>r.splice(e,t)),this.columns_-=t}DeleteRows(e,t=1){this.data.splice(e,t),this.rows_-=t}InsertRows(e=0,t=1){let r=[e,0,[]];for(let i=1;i<t;i++)r.push([]);Array.prototype.splice.apply(this.data,r),this.rows_+=t}GetCell(e,t){let{row:r,column:i}=e;if(!this.data[r])if(t)this.data[r]=[],this.rows_=Math.max(this.rows_,r+1);else return;return this.data[r][i]||t&&(this.data[r][i]=new se,this.columns_=Math.max(this.columns_,i+1)),this.data[r][i]}EnsureCell(e){let{row:t,column:r}=e,i=this.data[t];i||(this.data[t]=i=[],this.rows_=Math.max(this.rows_,t+1));let n=i[r];return n||(n=i[r]=new se,this.columns_=Math.max(this.columns_,r+1)),n}FromArray(e=[],t=!1){this.data=[];let r=0,i=0;if(t){i=e.length;for(let n=0;n<i;n++){let a=e[n];r=Math.max(r,a.length);for(let o=0;o<a.length;o++)this.data[o]||(this.data[o]=[]),this.data[o][n]=new se(a[o])}}else{r=e.length;for(let n=0;n<r;n++){let a=[],o=e[n];i=Math.max(i,o.length);for(let l=0;l<o.length;l++)a[l]=new se(o[l]);this.data[n]=a}}this.rows_=r,this.columns_=i}SerializedTypeToValueType(e){if(e)return typeof e=="number"?e:Es[e]||void 0}ValueTypeToSerializedType(e){return e?ar[e]:void 0}FromJSON(e=[],t){if(this.data=[],!ks(e)){let i=[];if(Rs(e))for(let n of e)for(let a of n.cells)i.push({...a,row:n.row});else for(let n of e)for(let a of n.cells)i.push({...a,column:n.column});e=i}let r=[];for(let i of e){this.data[i.row]||(this.data[i.row]=[]);let n=new se(i.value);if(typeof i.calculated<"u"&&(n.SetCalculatedValue(i.calculated,this.SerializedTypeToValueType(i.calculated_type)),i.spill&&(n.spill=new H(i.spill.start,i.spill.end))),t&&typeof i.style_ref<"u"&&(n.style=t[i.style_ref]),typeof i.note<"u"&&(n.note=i.note),typeof i.hyperlink<"u"&&(n.hyperlink=i.hyperlink),this.data[i.row][i.column]&&this.data[i.row][i.column].area&&(n.area=this.data[i.row][i.column].area),this.data[i.row][i.column]=n,i.area){let a=new H(i.area.start,i.area.end);for(let o=a.start.row;o<=a.end.row;o++)for(let l=a.start.column;l<=a.end.column;l++)this.data[o]||(this.data[o]=[]),this.data[o][l]||(this.data[o][l]=new se),this.data[o][l].area=a}if(i.table&&r.push({...i.table}),i.merge_area){let a=new H(i.merge_area.start,i.merge_area.end);for(let o=a.start.row;o<=a.end.row;o++)for(let l=a.start.column;l<=a.end.column;l++)this.data[o]||(this.data[o]=[]),this.data[o][l]||(this.data[o][l]=new se),this.data[o][l].merge_area=a}}for(let i of r)for(let n=i.area.start.row;n<=i.area.end.row;n++)for(let a=i.area.start.column;a<=i.area.end.column;a++)this.data[n]||(this.data[n]=[]),this.data[n][a]||(this.data[n][a]=new se),this.data[n][a].table=i;this.rows_=this.data.length,this.columns_=this.data.reduce((i,n)=>Math.max(i,n.length),0)}toJSON(e={}){let t=0,r=0,i=this.data.length-1,n;e.subset&&(t=e.subset.start.column,r=e.subset.start.row,i=e.subset.end.row);let a=[],o=-1,l=-1,c={},d={};for(let h=r;h<=i;h++)if(this.data[h]){let f=this.data[h];n=f.length-1,e.subset&&(n=e.subset.end.column);for(let u=t;u<=n;u++){let p=f[u],b=p&&p.merge_area&&p.merge_area.start.row===h&&p.merge_area.start.column===u,C=p&&p.area&&p.area.start.row===h&&p.area.start.column===u,w=p&&p.table&&p.table.area.start.row===h&&p.table.area.start.column===u,v=p?p.type===2&&!p.value:!0;if(p&&(!v||e.preserve_empty_strings)&&(b||p.type||p.calculated_type&&e.expand_arrays||p.calculated_type&&e.calculated_value||p.note||e.decorated_cells&&p.style&&(p.style.fill||p.style.border_bottom||p.style.border_top||p.style.border_left||p.style.border_right))){let _={row:h,column:u,value:p.value};p.note&&(_.note=p.note),p.hyperlink&&(_.hyperlink=p.hyperlink),e.preserve_type&&(_.type=this.ValueTypeToSerializedType(p.type)),e.sheet_id&&(_.sheet_id=e.sheet_id),e.calculated_value&&typeof p.calculated<"u"&&(_.calculated=p.calculated,p.spill&&(_.spill=p.spill.toJSON()),(e.preserve_type||p.calculated_type===7)&&(_.calculated_type=this.ValueTypeToSerializedType(p.calculated_type))),p.table&&w&&e.tables&&(_.table=JSON.parse(JSON.stringify(p.table))),p.area&&C&&(_.area=p.area.toJSON()),p.merge_area&&(_.merge_area=p.merge_area.toJSON()),e.cell_style_refs&&e.cell_style_refs[u]&&e.cell_style_refs[u][h]&&(_.style_ref=e.cell_style_refs[u][h],e.cell_style_refs[u][h]=0),c[h]=h,d[u]=u,o=Math.max(h,o),l=Math.max(u,l),a.push(_)}}}if(e.nested){let h=Object.keys(c),f=Object.keys(d);if(h.length<=f.length&&h.length){let u={},p=[];for(let b of a){let{row:C,...w}=b;u[b.row]||(u[b.row]=[]),u[b.row].push(w)}for(let b of h){let C=Number(b);p.push({row:C,cells:u[C]})}return{data:p,rows:o,columns:l+1}}else if(f.length){let u={},p=[];for(let b of a){let{column:C,...w}=b;u[b.column]||(u[b.column]=[]),u[b.column].push(w)}for(let b of f){let C=Number(b);p.push({column:C,cells:u[C]})}return{data:p,rows:o,columns:l+1}}}return{data:a,rows:o+1,columns:l+1}}GetAll(e=!1){return this.GetRange({row:0,column:0},{row:this.rows_-1,column:this.columns_-1},e)}Normalize(e,t){return e={...e,row:e.row==1/0?0:e.row,column:e.column==1/0?0:e.column},t&&(t={...t,row:t.row==1/0?this.rows_-1:t.row,column:t.column==1/0?this.columns_-1:t.column}),{from:e,to:t}}RawValue(e,t=e){if({from:e,to:t}=this.Normalize(e,t),e.row===t.row&&e.column===t.column)return this.data[e.row]&&this.data[e.row][e.column]?this.data[e.row][e.column].value:void 0;let r=[],i=this.data.slice(e.row,t.row+1),n=e.column,a=t.column+1;for(let o of i){let l=[];for(let c=n,d=0;c<a;c++,d++){let h=o[c];l.push(h?h.value:void 0)}r.push(l)}return r}GetRange(e,t,r=!1){if({from:e,to:t}=this.Normalize(e,t),!t||e===t||e.column===t.column&&e.row===t.row)return this.data[e.row]&&this.data[e.row][e.column]?this.data[e.row][e.column].GetValue():void 0;let i=[];if(r)for(let n=e.column;n<=t.column;n++){let a=[];for(let o=e.row;o<=t.row;o++)this.data[o]&&this.data[o][n]?a.push(this.data[o][n].GetValue()):a.push(void 0);i.push(a)}else for(let n=e.row;n<=t.row;n++){let a=[];for(let o=e.column;o<=t.column;o++)this.data[n]&&this.data[n][o]?a.push(this.data[n][o].GetValue()):a.push(void 0);i.push(a)}return i}GetRange4(e,t=e,r=!1){if({from:e,to:t}=this.Normalize(e,t),e.row===t.row&&e.column===t.column)return this.data[e.row]&&this.data[e.row][e.column]?this.data[e.row][e.column].GetValue4():{value:void 0,type:0};let i=[];if(r)for(let n=e.column;n<=t.column;n++){let a=[];for(let o=e.row;o<=t.row;o++)this.data[o]&&this.data[o][n]?a.push(this.data[o][n].GetValue4()):a.push({type:0});i.push(a)}else for(let n=e.row;n<=t.row;n++){let a=[];for(let o=e.column;o<=t.column;o++)this.data[n]&&this.data[n][o]?a.push(this.data[n][o].GetValue4()):a.push({type:0});i.push(a)}return{type:9,value:i}}SetArea(e,t){if(ArrayBuffer.isView(t))throw new Error("ABIV");if(Array.isArray(t))for(let r=e.start.row,i=0;r<=e.end.row;r++,i++){this.data[r]||(this.data[r]=[]);let n=this.data[r];if(t[i])for(let a=e.start.column,o=0;a<=e.end.column;a++,o++)n[a]||(n[a]=new se),n[a].Set(t[i][o])}else{let r=$e(t);for(let i=e.start.row;i<=e.end.row;i++){this.data[i]||(this.data[i]=[]);let n=this.data[i];for(let a=e.start.column;a<=e.end.column;a++)n[a]||(n[a]=new se),n[a].Set(t,r)}}this.rows_=Math.max(this.rows_,e.end.row+1),this.columns_=Math.max(this.columns_,e.end.column+1)}*IterateRC(e,t=!1){if(!e&&t&&(e=new H({row:0,column:0},{row:this.rows_-1,column:this.columns-1})),e)if(t)for(let r=e.start.row;r<=e.end.row;r++){this.data[r]||(this.data[r]=[]);let i=this.data[r];for(let n=e.start.column;n<=e.end.column;n++)i[n]||(i[n]=new se),yield{cell:i[n],row:r,column:n}}else for(let r=e.start.row;r<=e.end.row;r++){let i=this.data[r];if(i)for(let n=e.start.column;n<=e.end.column;n++){let a=i[n];a&&(yield{cell:a,row:r,column:n})}}else for(let[r,i]of this.data.entries())if(i)for(let[n,a]of i.entries())a&&(yield{cell:a,row:r,column:n})}*Iterate(e,t=!1){if(!e&&t&&(e=new H({row:0,column:0},{row:this.rows_-1,column:this.columns-1})),e){Jr(e)&&(e=new H(e)),(e.entire_column||e.entire_row)&&(e=new H(e.start,e.end),e.start.column===1/0&&(e.start.column=0,e.end.column=this.columns_-1),e.start.row===1/0&&(e.start.row=0,e.end.row=this.rows_-1));let r=e.start,i=e.end;if(t)for(let n=r.row;n<=i.row;n++){this.data[n]||(this.data[n]=[]);let a=this.data[n];for(let o=r.column;o<=i.column;o++)a[o]||(a[o]=new se),yield a[o]}else for(let n=r.row;n<=i.row;n++)if(this.data[n]){let a=this.data[n];for(let o=r.column;o<=i.column;o++)a[o]&&(yield a[o])}}else for(let r of this.data)if(r)for(let i of r)i&&(yield i)}FlushCellStyles(){for(let e of this.data)if(e)for(let t of e)t&&t.FlushStyle()}FlushCachedValues(){for(let e of this.data)if(e)for(let t of e)t&&t.FlushCache()}};var st=class{static locale="en-us";static decimal_separator=".";static argument_separator=",";static grouping_separator=",";static date_components={short_days:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],long_days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],short_months:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],long_months:["January","February","March","April","May","June","July","August","September","October","November","December"]};static UpdateLocale(e){if(e)this.locale=e;else if(typeof self<"u"){let i=self?.document?.location;if(i&&i.search&&/locale=([^?&]+?)(?:\\?|$|&)/.test(i.search)){let n=i.search.match(/locale=(.*?)(?:\\?|$|&)/);n&&(this.locale=n[1]),console.info("override locale",this.locale)}else typeof navigator<"u"&&(navigator.languages&&navigator.languages[0]?this.locale=navigator.languages[0]:this.locale=navigator.language)}this.locale==="C"&&(console.warn("Locale not set, defaulting to en-us"),this.locale="en-us");let t=new Intl.NumberFormat(this.locale,{minimumFractionDigits:1}).format(3.3).replace(/\\d/g,"");this.decimal_separator=t===","?",":".",this.decimal_separator===","?(this.argument_separator=";",this.grouping_separator=" "):(this.argument_separator=",",this.grouping_separator=",");let r=new Date(2e3,0,2,12,0,0,0);this.UpdateDateComponent(0,0,r),r=new Date(2e3,1,7,12,0,0,0),this.UpdateDateComponent(1,1,r),r=new Date(2e3,2,7,12,0,0,0),this.UpdateDateComponent(2,2,r),r=new Date(2e3,3,5,12,0,0,0),this.UpdateDateComponent(3,3,r),r=new Date(2e3,4,4,12,0,0,0),this.UpdateDateComponent(4,4,r),r=new Date(2e3,5,2,12,0,0,0),this.UpdateDateComponent(5,5,r),r=new Date(2e3,6,1,12,0,0,0),this.UpdateDateComponent(6,6,r),r=new Date(2e3,7,1,12,0,0,0),this.UpdateDateComponent(7,-1,r),r=new Date(2e3,8,1,12,0,0,0),this.UpdateDateComponent(8,-1,r),r=new Date(2e3,9,1,12,0,0,0),this.UpdateDateComponent(9,-1,r),r=new Date(2e3,10,1,12,0,0,0),this.UpdateDateComponent(10,-1,r),r=new Date(2e3,11,1,12,0,0,0),this.UpdateDateComponent(11,-1,r)}static UpdateDateComponent(e,t,r){t>=0&&(this.date_components.short_days[t]=r.toLocaleString(this.locale,{weekday:"short"}),this.date_components.long_days[t]=r.toLocaleString(this.locale,{weekday:"long"})),e>=0&&(this.date_components.short_months[e]=r.toLocaleString(this.locale,{month:"short"}),this.date_components.long_months[e]=r.toLocaleString(this.locale,{month:"long"}))}};st.UpdateLocale();var Ns=JSON.stringify({}),Ms={Background:0,Text:1,Background2:2,Text2:3,Accent:4,Accent2:5,Accent3:6,Accent4:7,Accent5:8,Accent6:9},Ve=s=>typeof s.theme=="number"?s.theme:Ms[s.theme]||0,Te=s=>!!s&&typeof s.text=="string",Ie=s=>!!s&&typeof s.theme<"u";var Ae={DefaultProperties:{horizontal_align:"",vertical_align:"",number_format:"General",nan:"NaN",font_size:{unit:"em",value:1},bold:!1,italic:!1,underline:!1,strike:!1,text:{theme:1},border_top:0,border_left:0,border_right:0,border_bottom:0},CompositeBorders:s=>({top:{width:s.border_top||0,color:s.border_top_fill||{}},left:{width:s.border_left||0,color:s.border_left_fill||{}},right:{width:s.border_right||0,color:s.border_right_fill||{}},bottom:{width:s.border_bottom||0,color:s.border_bottom_fill||{}}}),Serialize:s=>{let e=JSON.parse(JSON.stringify(s));return e.border_bottom_fill&&!e.border_bottom&&(e.border_bottom_fill=void 0),e.border_top_fill&&!e.border_top&&(e.border_top_fill=void 0),e.border_left_fill&&!e.border_left&&(e.border_left_fill=void 0),e.border_right_fill&&!e.border_right&&(e.border_right_fill=void 0),JSON.stringify(e)},Merge:(s,e,t=!0)=>{let r=t?{...s,...e}:{...e};return JSON.parse(JSON.stringify(r))},Composite:s=>JSON.parse(JSON.stringify(s.reduce((e,t)=>({...e,...t}),{}))),Empty:s=>JSON.stringify(s)===Ns,ParseFontSize:(s="",e="em")=>{let t=s.match(/(-*[\\d.]+)\\s*(\\S*)/);if(t){let r=Number(t[1]);if(!r||isNaN(r)||r<0)return{};let i=t[2].toLowerCase()||e;if(i==="pt"||i==="em"||i==="%"||i==="px")return{font_size:{unit:i,value:r}}}return{}},RelativeFontSize:(s,e)=>{let t=12,r=12;switch(s.font_size?.unit){case"pt":if(!s.font_size.value)return 1;r=s.font_size.value;break;case"px":if(!s.font_size.value)return 1;r=Math.round(s.font_size.value*300/4)/100;break;case"em":return s.font_size.value||1;case"%":return(s.font_size.value||100)/100;default:return 1}switch(e.font_size?.unit){case"pt":if(!e.font_size.value)return 1;t=e.font_size.value;break;case"px":if(!e.font_size.value)return 1;t=Math.round(e.font_size.value*300/4)/100;break;default:return 1}return r/t},FontSize:(s,e=!0)=>{let t=s.font_size?.value;switch(s.font_size?.unit){case"pt":return(t||12)+"pt";case"px":return e?Math.round((t||16)*300/4)/100+"pt":(t||16)+"px";case"em":return(t||1)+"em";case"%":return(t||100)+"%"}return""},CompositeFontSize:(s,e,t=1,r=!1)=>{let i={...s};return e.unit==="pt"||e.unit==="px"?i={...e}:(i.value=e.value*s.value,e.unit==="%"&&(i.value/=100)),i.unit==="px"&&r&&(i.value=Math.round((i.value||16)*300/4)/100),i.value*=t,i},CompositeFont:(s,e,t,r)=>{let i,n,a,o=[];e.bold&&o.push("bold"),e.italic&&o.push("italic");let l=e.font_face||"stack:default";if(l.startsWith("stack:")){let c=r.font_stacks[l.substring(6)||"default"];c||(c=r.font_stacks.default),c&&(n=e.font_size,a=Ae.CompositeFontSize(c.size,e.font_size||{unit:"pt",value:10},t),o.push(a.value.toFixed(2)+a.unit),o.push(c.font||""),i=c.variants)}else a=Ae.CompositeFontSize(s,e.font_size||{unit:"pt",value:10},t),o.push(a.value.toFixed(2)+a.unit),o.push(l||"");return{font:o.join(" "),variants:i,base:s,size:e.font_size,scale:t,stack_size:n,font_size:a}}};var Fs=1e3,Oe=class{constructor(e=!1,t){this.verbose=e;this.log_id=t}queue=[];dispatched=!1;subscribers=[];Publish(e){this.verbose&&console.info(`es publish (${this.log_id})`,e),Array.isArray(e)?this.queue.push(...e):this.queue.push(e),this.dispatched||(this.dispatched=!0,Promise.resolve().then(()=>{let t=this.queue.slice(0);this.dispatched=!1,this.queue=[];for(let r of t)for(let i of this.subscribers)i.subscriber(r)}))}Subscribe(e){let t=Fs++;return this.subscribers.push({subscriber:e,token:t}),t}Cancel(e){this.subscribers=this.subscribers.filter(t=>t.token!==e)}CancelAll(){this.subscribers=[]}};var Ze=s=>s!==null&&typeof s=="object"&&"row"in s&&"column"in s;var ee=class s{start_;end_;constructor(e,t=e,r=!1){this.end_=this.PatchNull(t),this.start_=this.PatchNull(e),r&&this.Normalize()}static FromColumn(e){return new s({row:1/0,column:e})}static FromRow(e){return new s({row:e,column:1/0})}static ColumnToLabel(e){let t=String.fromCharCode(65+e%26);for(;e>25;)e=Math.floor(e/26)-1,t=String.fromCharCode(65+e%26)+t;return t}static CellAddressToLabel(e,t=!1){if(e.row===1/0&&e.column===1/0)throw new Error("this is going to break something");let r=t?`${e.sheet_id||0}!`:"";return e.row===1/0?r+(e.absolute_column?"$":"")+this.ColumnToLabel(e.column):e.column===1/0?r+(e.absolute_row?"$":"")+(e.row+1):r+(e.absolute_column?"$":"")+this.ColumnToLabel(e.column)+(e.absolute_row?"$":"")+(e.row+1)+(e.spill?"#":"")}static Join(e,...t){let r=new s(e.start,e.end);for(let i of t)i&&(r.ConsumeAddress(i.start),r.ConsumeAddress(i.end));return r}static Bleed(e,t=1){return new s({row:Math.max(0,e.start.row-t),column:Math.max(0,e.start.column-t),sheet_id:e.start.sheet_id},{row:e.end.row+t,column:e.end.column+t})}static PatchArea(e,t){let{before_column:r,column_count:i,before_row:n,row_count:a}=t,o=new s(e.start,e.end),l=e.start.sheet_id;if(i&&r<=o.end.column){if(i>0)r<=o.start.column?o.Shift(0,i):r>o.start.column&&r<=o.end.column?o.ConsumeAddress({row:o.end.row,column:o.end.column+i}):console.warn("AA X case 1",r,i,JSON.stringify(o));else if(i<0)if(r-i<=o.start.column)o.Shift(0,i);else{if(r<=o.start.column&&r-i>o.end.column)return!1;if(r<=o.start.column){let c=r-i-1;o=new s({row:o.start.row,column:c+1+i,sheet_id:l},{row:o.end.row,column:o.end.column+i})}else r<=o.end.column?r-i-1>=o.end.column?o=new s({row:o.start.row,column:o.start.column,sheet_id:l},{row:o.end.row,column:r-1}):o=new s({row:o.start.row,column:o.start.column,sheet_id:l},{row:o.end.row,column:o.start.column+o.columns+i-1}):console.warn("AA X case 2",r,i,JSON.stringify(o))}}if(a&&n<=o.end.row){if(a>0)n<=o.start.row?o.Shift(a,0):n>o.start.row&&n<=o.end.row?o.ConsumeAddress({row:o.end.row+a,column:o.end.column}):console.warn("AA X case 3",n,a,JSON.stringify(o));else if(a<0)if(n-a<=o.start.row)o.Shift(a,0);else{if(n<=o.start.row&&n-a>o.end.row)return!1;if(n<=o.start.row){let c=n-a-1;o=new s({column:o.start.column,row:c+1+a,sheet_id:l},{column:o.end.column,row:o.end.row+a})}else n<=o.end.row?n-a-1>=o.end.row?o=new s({column:o.start.column,row:o.start.row,sheet_id:l},{column:o.end.column,row:n-1}):o=new s({column:o.start.column,row:o.start.row,sheet_id:l},{column:o.end.column,row:o.start.row+o.rows+a-1}):console.warn("AA X case 4",n,a,JSON.stringify(o))}}return o}get start(){return{...this.start_}}set start(e){this.start_=e}get end(){return{...this.end_}}set end(e){this.end_=e}get rows(){return this.start_.row===1/0||this.end_.row===1/0?1/0:this.end_.row-this.start_.row+1}get columns(){return this.start_.column===1/0||this.end_.column===1/0?1/0:this.end_.column-this.start_.column+1}get count(){return this.rows*this.columns}get entire_sheet(){return this.entire_row&&this.entire_column}get entire_column(){return this.start_.row===1/0}get entire_row(){return this.start_.column===1/0}PatchNull(e){let t={...e};return t.row===null&&(t.row=1/0),t.column===null&&(t.column=1/0),t}SetSheetID(e){this.start_.sheet_id=e}Normalize(){let e={...this.start_},t={...this.end_};e.row===1/0||t.row===1/0?e.row=t.row=1/0:e.row>t.row&&(e.row=this.end_.row,e.absolute_row=this.end_.absolute_row,t.row=this.start_.row,t.absolute_row=this.start_.absolute_row),e.column===1/0||t.column===1/0?e.column=t.column=1/0:e.column>t.column&&(e.column=this.end_.column,e.absolute_column=this.end_.absolute_column,t.column=this.start_.column,t.absolute_column=this.start_.absolute_column),this.start_=e,this.end_=t}TopLeft(){let e={row:0,column:0};return this.entire_row||(e.column=this.start.column),this.entire_column||(e.row=this.start.row),e}BottomRight(){let e={row:0,column:0};return this.entire_row||(e.column=this.end.column),this.entire_column||(e.row=this.end.row),e}ContainsRow(e){return this.entire_column||e>=this.start_.row&&e<=this.end_.row}ContainsColumn(e){return this.entire_row||e>=this.start_.column&&e<=this.end_.column}Contains(e){return(this.entire_column||e.row>=this.start_.row&&e.row<=this.end_.row)&&(this.entire_row||e.column>=this.start_.column&&e.column<=this.end_.column)}ContainsArea(e){return this.start.column<=e.start.column&&this.end.column>=e.end.column&&this.start.row<=e.start.row&&this.end.row>=e.end.row}Intersects(e){return!(e.start.column>this.end.column||this.start.column>e.end.column||e.start.row>this.end.row||this.start.row>e.end.row)}Equals(e){return e.start_.row===this.start_.row&&e.start_.column===this.start_.column&&e.end_.row===this.end_.row&&e.end_.column===this.end_.column}Equals2(e){return e.start.row===this.start_.row&&e.start.column===this.start_.column&&e.end.row===this.end_.row&&e.end.column===this.end_.column}Clone(){return new s(this.start,this.end)}get left(){let e=new s(this.start_,this.end_);return e.end_.column=e.start_.column,e}get right(){let e=new s(this.start_,this.end_);return e.start_.column=e.end_.column,e}get top(){let e=new s(this.start_,this.end_);return e.end_.row=e.start_.row,e}get bottom(){let e=new s(this.start_,this.end_);return e.start_.row=e.end_.row,e}Shift(e,t){return this.start_.row+=e,this.start_.column+=t,this.end_.row+=e,this.end_.column+=t,this}ConsumeAddress(e){this.entire_row||(e.column<this.start_.column&&(this.start_.column=e.column),e.column>this.end_.column&&(this.end_.column=e.column)),this.entire_column||(e.row<this.start_.row&&(this.start_.row=e.row),e.row>this.end_.row&&(this.end_.row=e.row))}Reshape(e,t){return this.end_.row=this.start_.row+e-1,this.end_.column=this.start_.column+t-1,this}ConsumeArea(e){this.ConsumeAddress(e.start),this.ConsumeAddress(e.end)}Resize(e,t){return this.end_.row=this.start_.row+e-1,this.end_.column=this.start_.column+t-1,this}[Symbol.iterator](){if(this.entire_row||this.entire_column)throw new Error("don\'t iterate infinite area");let e=this.start_.row,t=this.start_.column;return{next:()=>{let r={column:t,row:e,sheet_id:this.start_.sheet_id};return t>this.end_.column?{done:!0,value:void 0}:(++e>this.end_.row&&(e=this.start_.row,t++),{value:r})}}}get spreadsheet_label(){let e;return this.entire_sheet?"":this.entire_column?(e=s.ColumnToLabel(this.start_.column),e+=":"+s.ColumnToLabel(this.end_.column),e):this.entire_row?(e=String(this.start_.row+1),e+=":"+(this.end_.row+1),e):(e=s.CellAddressToLabel(this.start_),this.columns>1||this.rows>1?e+":"+s.CellAddressToLabel(this.end_):e)}toJSON(){return{start:{...this.start_},end:{...this.end_}}}};var Nt=s=>typeof s=="object"&&!!s&&typeof s.value=="number"&&typeof s.unit=="string";var Xr=["undefined","formula","string","number","boolean","object","function","error","complex","array","dimensioned_quantity"];var Ia=Xr.map((s,e)=>({[s]:e})).reduce((s,e)=>({...s,...e}),{});var U=class{static locale="en-us";static decimal_separator=".";static argument_separator=",";static grouping_separator=",";static date_components={short_days:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],long_days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],short_months:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],long_months:["January","February","March","April","May","June","July","August","September","October","November","December"]};static UpdateLocale(e){if(e)this.locale=e;else if(typeof self<"u"){let i=self?.document?.location;if(i&&i.search&&/locale=([^?&]+?)(?:\\?|$|&)/.test(i.search)){let n=i.search.match(/locale=(.*?)(?:\\?|$|&)/);n&&(this.locale=n[1]),console.info("override locale",this.locale)}else typeof navigator<"u"&&(navigator.languages&&navigator.languages[0]?this.locale=navigator.languages[0]:this.locale=navigator.language)}this.locale==="C"&&(console.warn("Locale not set, defaulting to en-us"),this.locale="en-us");let t=new Intl.NumberFormat(this.locale,{minimumFractionDigits:1}).format(3.3).replace(/\\d/g,"");this.decimal_separator=t===","?",":".",this.decimal_separator===","?(this.argument_separator=";",this.grouping_separator=" "):(this.argument_separator=",",this.grouping_separator=",");let r=new Date(2e3,0,2,12,0,0,0);this.UpdateDateComponent(0,0,r),r=new Date(2e3,1,7,12,0,0,0),this.UpdateDateComponent(1,1,r),r=new Date(2e3,2,7,12,0,0,0),this.UpdateDateComponent(2,2,r),r=new Date(2e3,3,5,12,0,0,0),this.UpdateDateComponent(3,3,r),r=new Date(2e3,4,4,12,0,0,0),this.UpdateDateComponent(4,4,r),r=new Date(2e3,5,2,12,0,0,0),this.UpdateDateComponent(5,5,r),r=new Date(2e3,6,1,12,0,0,0),this.UpdateDateComponent(6,6,r),r=new Date(2e3,7,1,12,0,0,0),this.UpdateDateComponent(7,-1,r),r=new Date(2e3,8,1,12,0,0,0),this.UpdateDateComponent(8,-1,r),r=new Date(2e3,9,1,12,0,0,0),this.UpdateDateComponent(9,-1,r),r=new Date(2e3,10,1,12,0,0,0),this.UpdateDateComponent(10,-1,r),r=new Date(2e3,11,1,12,0,0,0),this.UpdateDateComponent(11,-1,r)}static UpdateDateComponent(e,t,r){t>=0&&(this.date_components.short_days[t]=r.toLocaleString(this.locale,{weekday:"short"}),this.date_components.long_days[t]=r.toLocaleString(this.locale,{weekday:"long"})),e>=0&&(this.date_components.short_months[e]=r.toLocaleString(this.locale,{month:"short"}),this.date_components.long_months[e]=r.toLocaleString(this.locale,{month:"long"}))}};U.UpdateLocale();var Re=class s{constructor(e=0,t=0,r=0,i=0){this.left=e;this.top=t;this.width=r;this.height=i}get right(){return this.left+this.width}get bottom(){return this.top+this.height}static Create(e){return new s(e.left||0,e.top||0,e.width||0,e.height||0)}static IsRectangle(e){return!!e&&typeof e=="object"&&typeof e.left=="number"&&typeof e.top=="number"&&typeof e.width=="number"&&typeof e.height=="number"}Shift(e=0,t=0){return new s(this.left+e,this.top+t,this.width,this.height)}Scale(e=1,t=e){return new s(this.left*e,this.top*t,this.width*e,this.height*t)}Expand(e=0,t=0){return new s(this.left,this.top,this.width+e,this.height+t)}Combine(e){return new s(Math.min(this.left,e.left),Math.min(this.top,e.top),Math.max(this.right,e.right)-Math.min(this.left,e.left),Math.max(this.bottom,e.bottom)-Math.min(this.top,e.top))}Contains(e,t,r=0){return e>=this.left-r&&e<=this.left+this.width+r&&t>=this.top-r&&t<=this.top+this.height+r}ContextFill(e){e.fillRect(this.left,this.top,this.width,this.height)}ContextStroke(e){e.strokeRect(this.left,this.top,this.width,this.height)}Clamp(e,t){return e=Math.min(Math.max(e,this.left),this.right),t=Math.min(Math.max(t,this.top),this.bottom),{x:e,y:t}}ApplyStyle(e){e.style.top=this.top+"px",e.style.left=this.left+"px",e.style.width=this.width+"px",e.style.height=this.height+"px"}toJSON(){return{top:this.top,left:this.left,width:this.width,height:this.height}}};var Na=JSON.stringify({});var Ps="http://www.w3.org/2000/svg",le=class s{static instances=[];static GetInstance(e){for(let r of this.instances)if(r.doc===e)return r;let t=new s(e);return this.instances.push(t),t}doc;view;get HTMLElement(){return this.view?.HTMLElement}constructor(e){e&&(this.doc=e,this.view=e?.defaultView)}GetSelection(){return this.view?.getSelection()}Div(e,t,r){return this.Create("div",e,t,r)}ClassNames(e,t){e.classList.add(...(Array.isArray(t)?t:[t]).reduce((r,i)=>[...r,...i.split(/\\s+/g)],[]))}SVG(e,t,r){let i=this.doc.createElementNS(Ps,e);return t&&this.ClassNames(i,t),r&&r.appendChild(i),i}Text(e){return this.doc.createTextNode(e)}Fragment(){return this.doc.createDocumentFragment()}Create(e,t,r,i){let n=this.doc.createElement(e);if(t&&this.ClassNames(n,t),i){if(i.attrs)for(let[a,o]of Object.entries(i.attrs))n.setAttribute(a,o);if(i.data)for(let[a,o]of Object.entries(i.data))n.dataset[a]=o;if(i.text&&(n.textContent=i.text),i.html&&(n.innerHTML=i.html),i.events)for(let[a,o]of Object.entries(i.events))n.addEventListener(a,o);if(i.style)for(let[a,o]of Object.entries(i.style))n.style[a]=o}return r&&r.appendChild(n),n}};var Gs={"==":6,"!=":6,"<>":6,"=":6,"<":7,">":7,"<=":7,">=":7,"+":9,"-":9,"&":9,"*":10,"/":10,"^":11,":":13};var Tl=[...Object.keys(Gs),"@"].sort((s,e)=>e.length-s.length);var Ft=class s{static _instance=new s;constructor(){}static get instance(){return this._instance}HTML(e,t={}){t={br:!0,...t};let r=[];for(let i of e){let n=[];for(let a of i)a.pre&&n.push("<pre>"),a.emphasis&&n.push("<em>"),a.strong&&n.push("<strong>"),a.strike&&n.push("<strike>"),n.push(a.text),a.strike&&n.push("</strike>"),a.strong&&n.push("</strong>"),a.emphasis&&n.push("</em>"),a.pre&&n.push("</pre>");r.push(n.join(""))}return r.join(t.br?`<br/>\n`:`\n`)}Dummy(e=""){return e.split(/\\n/).map(t=>[{text:t}])}Parse(e=""){let t=this.Tokenize(e);for(let r=0;r<t.length;r++){let i=t[r];if(i.type==="delimeter"){let n=t[r-1],a=t[r+1],o=!n||n.type==="whitespace"||n.type==="newline",l=n&&n.type==="text"&&/[^\\w\\d]$/.test(n.text),c=!a||a.type==="whitespace"||a.type==="newline",d=a&&a.type==="text"&&/^[^\\w\\d]/.test(a.text);i.left_flanking=!c&&(!d||o),i.right_flanking=!o&&(!l||c||d)}}return this.ApplyFormatting(t),this.Consolidate(t)}IsWhitespace(e){return e===" "||e===" "}IsNewline(e){return e==="\\r"||e===`\n`}IsDelimeter(e){return e==="*"||e==="_"||e==="~"}Consolidate(e){let t=[],r={},i=[],n={type:"text",text:""};for(let a of e)if(a.type==="newline")n.text.length&&i.push(n),n={...r,text:"",type:"text"},t.push(i),i=[];else switch((!!r.strong!=!!a.strong||!!r.emphasis!=!!a.emphasis||!!r.strike!=!!a.strike)&&(r.strong=!!a.strong,r.emphasis=!!a.emphasis,r.strike=!!a.strike,n.text.length&&i.push(n),n={...r,text:"",type:"text"}),a.type){case"text":case"whitespace":n.text+=a.text;break;case"delimeter":for(let o=0;o<a.length;o++)n.text+=a.char;break}return n.text.length&&i.push(n),i.length&&t.push(i),t}ApplyFormatting(e,t){let r=0,i=e.length;for(r=0;r<i;r++){let n=e[r];if(n.type==="delimeter"){if(t&&n.right_flanking&&t.char===n.char&&n.length>0)return{index:r,token:n};if(n.left_flanking){let a=this.ApplyFormatting(e.slice(r+1),n);if(a.token){let o=Math.min(a.token.length,n.length),l=n.char==="~",c=!l&&!!(o%2),d=!l&&o>=2;for(let h=r+1;h<=r+a.index;h++)e[h].strong=!!e[h].strong||d,e[h].emphasis=!!e[h].emphasis||c,e[h].strike=!!e[h].strike||l;a.token.length-=o,n.length-=o,n.length>0?r--:r+=a.index}}}}return{index:r}}Tokenize(e=""){let t=[],r=e.length,i=0,n=!1,a="";for(i=0;i<r;i++){let o=e[i];if(this.IsWhitespace(o)){a&&t.push({type:"text",text:a});let l=o;for(;;){let c=e[i+1];if(this.IsWhitespace(c))l+=c,i++;else break}t.push({type:"whitespace",text:l}),n=!1,a=""}else if(this.IsNewline(o)){a&&t.push({type:"text",text:a}),t.push({type:"newline",text:o});let l="";for(;;){let c=e[i+1];if(this.IsNewline(c))l+=c,i++;else break}l.length&&t.push({type:"newline",text:l}),n=!1,a=""}else if(n)a+=o,n=!1;else if(this.IsDelimeter(o)){a&&t.push({type:"text",text:a});let l=o;for(;;){let c=e[i+1];if(c===o)l+=c,i++;else break}t.push({type:"delimeter",text:l,char:o,length:l.length}),n=!1,a=""}else o==="\\\\"?n=!0:a+=o}return a&&t.push({type:"text",text:a}),t}};var Ee=class{date_format=!1;string_format=!1;fraction_format=!1;twelve_hour=!1;fraction_denominator=0;fraction_integer=!0;fraction_align=0;fraction_denominator_digits=0;integer_min_digits=0;decimal_min_digits=0;decimal_max_digits=0;grouping=!1;has_number_format=!1;prefix=[{text:""}];suffix=[{text:""}];scaling=0;percent=!1;exponential=!1;has_asterisk=!1};var Kr=42,ei=95,dr=63,Pt=48,ti=46,hr=44,ri=37,ur=34,ot=35,ii=59,Dt=92,si=64,$s=91,Vs=93,ni=69,oi=101,Os=72,Zs=104,Bs=77,Ws=109,Hs=83,js=115,Ys=68,Js=100,Xs=89,Qs=121,qs=65,Ks=97;var Lt=class{static date_pattern=!1;static pattern="";static char_index=0;static characters=[];static sections=[];static current_section=new Ee;static preserve_formatting_characters=!1;static decimal_mark=ti;static group_separator=hr;static Parse(e){if(this.pattern=e,this.characters=e.split("").map(t=>t.charCodeAt(0)),this.char_index=0,this.current_section=new Ee,this.sections=[this.current_section],this.ParseDatePattern())return this.sections;for(this.char_index=0,this.current_section=new Ee,this.sections=[this.current_section];this.char_index<this.characters.length;)this.ConsumeChar();return this.sections}static ConsumeString(){let e="";for(this.preserve_formatting_characters&&(e+=this.pattern[this.char_index]),++this.char_index;this.char_index<this.characters.length;this.char_index++)switch(this.characters[this.char_index]){case Dt:this.preserve_formatting_characters&&(e+=this.pattern[this.char_index]),this.char_index+1<this.characters.length&&(e+=this.pattern[++this.char_index]);break;case ur:return this.preserve_formatting_characters&&(e+=this.pattern[this.char_index]),this.char_index++,e;default:e+=this.pattern[this.char_index];break}throw new Error("unterminated string")}static ConsumeFormatting(){let e="";for(++this.char_index;this.char_index<this.characters.length;this.char_index++)switch(this.characters[this.char_index]){case Dt:throw new Error("invalid escape character in formatting block");case Vs:return this.char_index++,e;default:e+=this.pattern[this.char_index];break}throw new Error("unterminated format")}static ScanFractionFormat(){let e=/^([#?]+ +){0,1}([#?]+)\\/([#?0-9]+)(?:$|[^#?0-9])/,r=this.pattern.substr(this.char_index).match(e);if(!r)return!1;let i=(r[1]||"").length+r[2].length+r[3].length+1;this.current_section.fraction_format=!0,this.current_section.fraction_integer=!!r[1];let n=Number(r[3]);return isNaN(n)||(this.current_section.fraction_denominator=n),this.current_section.decimal_max_digits=this.current_section.fraction_denominator_digits=r[3].length,this.char_index+=i,this.current_section.has_number_format=!0,!0}static ConsumeNumberFormat(){let e=0;for(this.char_index;this.char_index<this.characters.length;this.char_index++)switch(this.characters[this.char_index]){case this.group_separator:{let r=!1;for(let i=this.char_index+1;!r&&i<this.characters.length;i++){let n=this.characters[i];if(n===this.decimal_mark||n===ot||n===Pt)r=!0;else if(n!==hr)break}if(r){if(e===1)throw new Error("invalid grouping in decimal part");this.current_section.grouping=!0}else this.current_section.scaling=(this.current_section.scaling||1)*1e3}break;case this.decimal_mark:if(e===1)throw new Error("too many decimal marks");e=1;break;case ot:e===1?this.current_section.decimal_max_digits++:this.current_section.integer_min_digits&&this.current_section.integer_min_digits++;break;case Pt:e===1?(this.current_section.decimal_max_digits++,this.current_section.decimal_min_digits=this.current_section.decimal_max_digits):this.current_section.integer_min_digits++;break;default:return}}static AppendCharAsText(e=!0){this.current_section.has_number_format?this.current_section.suffix[this.current_section.suffix.length-1].text+=this.pattern[this.char_index]:this.current_section.prefix[this.current_section.prefix.length-1].text+=this.pattern[this.char_index],e&&this.char_index++}static AppendString(e){this.current_section.has_number_format?this.current_section.suffix[this.current_section.suffix.length-1].text+=e:this.current_section.prefix[this.current_section.prefix.length-1].text+=e}static AppendTextPart(e){this.current_section.has_number_format?(this.current_section.suffix.push(e),this.current_section.suffix.push({text:""})):(this.current_section.prefix.push(e),this.current_section.prefix.push({text:""}))}static ConsumeChar(){let e=this.characters[this.char_index];if(!((e===dr||e===ot)&&!this.current_section.has_number_format&&!this.current_section.string_format&&this.ScanFractionFormat()))switch(e){case ii:this.char_index++,this.current_section=new Ee,this.sections.length===3&&(this.current_section.string_format=!0),this.sections.push(this.current_section);break;case si:this.char_index++,this.AppendTextPart({text:"@",flag:5}),this.current_section.string_format=!0;break;case Pt:case ot:case ti:case hr:!this.current_section.has_number_format&&!this.current_section.string_format?(this.ConsumeNumberFormat(),this.current_section.has_number_format=!0):this.AppendCharAsText();break;case $s:this.AppendTextPart({text:this.ConsumeFormatting(),flag:6});break;case ur:this.AppendString(this.ConsumeString());break;case dr:this.preserve_formatting_characters?this.AppendCharAsText():(this.AppendTextPart({text:"0",flag:1}),this.char_index++);break;case ei:if(this.preserve_formatting_characters)this.AppendCharAsText();else{if(++this.char_index>=this.characters.length)throw new Error("invalid pad character at end");this.AppendTextPart({text:this.pattern[this.char_index++],flag:1})}break;case Kr:if(this.current_section.has_asterisk)throw new Error("we don\'t support multiple asterisks");if(this.preserve_formatting_characters)this.AppendCharAsText();else{if(++this.char_index>=this.characters.length)throw new Error("invalid pad character at end");this.AppendTextPart({text:this.pattern[this.char_index++],flag:2}),this.current_section.has_asterisk=!0}break;case oi:case ni:this.current_section.percent||this.current_section.exponential||this.current_section.string_format?this.AppendCharAsText():(this.current_section.exponential=!0,this.char_index++);break;case ri:!this.current_section.exponential&&!this.current_section.string_format&&(this.current_section.percent=!0),this.AppendCharAsText();break;case Dt:if(this.preserve_formatting_characters&&this.AppendCharAsText(!1),++this.char_index>=this.characters.length)throw new Error("invalid escape character at end");this.AppendCharAsText();break;default:this.AppendCharAsText()}}static ParseDatePattern(){for(this.date_pattern=!0;this.date_pattern&&this.char_index<this.pattern.length;)this.DatePatternConsumeChar();if(this.date_pattern){this.date_pattern=!1;for(let e of this.sections)for(let t of e.prefix)t.flag&&t.flag&7&&(this.date_pattern=!0)}return this.date_pattern&&(this.sections[0].date_format=!0,this.sections[0].prefix.forEach((e,t)=>{if(e.flag===3&&(e.text==="mm"||e.text==="m")){if(t)for(let r=t-1;r;r--){let i=this.sections[0].prefix[r];if(i.flag===3){/h/i.test(i.text)&&(e.flag=4,e.text=e.text.toLowerCase());break}}if(t<this.sections[0].prefix.length-1)for(let r=t+1;r<this.sections[0].prefix.length;r++){let i=this.sections[0].prefix[r];if(i.flag===3){/s/i.test(i.text)&&(e.flag=4,e.text=e.text.toLowerCase());break}}}})),this.date_pattern}static ConsumeDatePart(){let e=this.pattern[this.char_index++],t=e.toLowerCase(),r={text:e,flag:3};for(;this.pattern[this.char_index]&&this.pattern[this.char_index].toLowerCase()===t;)r.text+=this.pattern[this.char_index++];if(t==="s"&&this.pattern[this.char_index]===".")for(r.text+=this.pattern[this.char_index++];this.pattern[this.char_index]==="0";)r.text+=this.pattern[this.char_index++];return r}static ConsumeAMPM(){let e=this.pattern.substr(this.char_index,5);if(e==="am/pm"||e==="AM/PM")return this.char_index+=5,this.sections[0].twelve_hour=!0,{text:e,flag:3};if(e=this.pattern.substr(this.char_index,3),e==="a/p"||e==="A/P")return this.char_index+=3,this.sections[0].twelve_hour=!0,{text:e,flag:3}}static DatePatternConsumeChar(){switch(this.characters[this.char_index]){case ii:this.char_index=this.characters.length;break;case Pt:case ot:case oi:case ni:case ri:case si:this.date_pattern=!1;break;case Os:case Zs:case Bs:case Ws:case Hs:case js:case Ys:case Js:case Xs:case Qs:this.AppendTextPart(this.ConsumeDatePart());break;case qs:case Ks:{let t=this.ConsumeAMPM();t?this.AppendTextPart(t):this.AppendCharAsText()}break;case ur:this.AppendString(this.ConsumeString());break;case dr:this.preserve_formatting_characters?this.AppendCharAsText():(this.AppendTextPart({text:"0",flag:1}),this.char_index++);break;case ei:if(this.preserve_formatting_characters)this.AppendCharAsText();else{if(++this.char_index>=this.characters.length)throw new Error("invalid pad character at end");this.AppendTextPart({text:this.pattern[this.char_index++],flag:1})}break;case Kr:if(this.current_section.has_asterisk)throw new Error("we don\'t support multiple asterisks");if(this.preserve_formatting_characters)this.AppendCharAsText();else{if(++this.char_index>=this.characters.length)throw new Error("invalid pad character at end");this.AppendTextPart({text:this.pattern[this.char_index++],flag:2}),this.current_section.has_asterisk=!0}break;case Dt:if(this.preserve_formatting_characters&&this.AppendCharAsText(!1),++this.char_index>=this.characters.length)throw new Error("invalid escape character at end");this.AppendCharAsText();break;default:this.AppendCharAsText()}}};var ai=s=>(s>=60&&s--,new Date(-22090752e5+864e5*s)),li=(s,e=!0)=>{if(e){let t=new Date(s);s=new Date(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()).getTime()}return s=(s+22090752e5)/864e5,s>=60&&s++,s},Pe=class s{static grouping_regexp=/\\d{1,3}(?=(\\d{3})+(?!\\d))/g;static fraction_limits=[9,99,999,9999];static imaginary_character="\\u{1D456}";static minus_character="-";magic_decimal=!1;transform_value;_pattern="";sections;decimal_zero_regexp=[];cloned=[];get pattern(){return this._pattern}get date_format(){return this.sections[0]&&this.sections[0].date_format}constructor(e){if(this._pattern=e,this.sections=Lt.Parse(e),this.sections.length||(this.sections=[]),this.sections[0]||(this.sections[0]=new Ee),this.sections[1]||(this.sections[1]={...this.sections[0]},this.sections[1].prefix=JSON.parse(JSON.stringify(this.sections[1].prefix)),this.sections[1].suffix=JSON.parse(JSON.stringify(this.sections[1].suffix)),this.sections[1].prefix.push({text:"-"}),this.cloned[1]=!0),this.sections[2]||(this.sections[2]={...this.sections[0]},this.cloned[2]=!0),!this.sections[3]){for(let t of this.sections[0].prefix)if(t.flag===5){this.sections[3]={...this.sections[0]},this.sections[3].string_format=!0,this.cloned[3]=!0;break}}this.decimal_zero_regexp=this.sections.map(t=>{if(t.decimal_max_digits>t.decimal_min_digits)return new RegExp(`0{1,${t.decimal_max_digits-t.decimal_min_digits}}(?:$|e)`)})}static FormatPartsAsText(e,t=0){let r=-1,i=e.map((n,a)=>{switch(n.flag){case 2:return r=a,n.text;case 1:return n.text.replace(/./g," ");case 6:return"";default:return n.text}});if(r>=0&&t){let n=i.reduce((o,l,c)=>c===r?o:o+l.length,0),a="";for(let o=0;o<t-n;o++)a+=i[r];i[r]=a}return i.join("")}SetDecimal(e){for(let t of this.sections)t.fraction_format||(t.decimal_min_digits=e,t.decimal_max_digits=e)}IncreaseDecimal(){this.sections.forEach(e=>{e.fraction_format?e.fraction_denominator||(e.fraction_denominator_digits=Math.min(e.fraction_denominator_digits+1,4)):(e.decimal_min_digits++,e.decimal_max_digits=e.decimal_min_digits)})}DecreaseDecimal(){this.sections.forEach(e=>{e.fraction_format?e.fraction_denominator||(e.fraction_denominator_digits=Math.max(e.fraction_denominator_digits-1,1)):(e.decimal_min_digits=Math.max(0,e.decimal_min_digits-1),e.decimal_max_digits=e.decimal_min_digits)})}AddGrouping(){this.sections.forEach(e=>{e.grouping=!0})}RemoveGrouping(){this.sections.forEach(e=>{e.grouping=!1})}ToggleGrouping(){let e=!this.sections[0].grouping;this.sections.forEach(t=>{t.grouping=e})}toString(){return this.sections[0].date_format?this._pattern:this.sections.filter((e,t)=>!this.cloned[t]).map(e=>{let t="",r=0;if(e.fraction_format){e.fraction_integer&&(t+="? ");let i="";for(let n=0;n<e.fraction_denominator_digits;n++)i+="#";t+=i,t+="/",e.fraction_denominator?t+=e.fraction_denominator:t+=i}else if(e.has_number_format){for(r=0;r<e.integer_min_digits;r++)t+="0";if(e.grouping&&(t.length<4&&(t=("####"+t).slice(-4)),t=t.replace(/[\\d#]{1,3}(?=([\\d#]{3})+(?![\\d#]))/g,"$&,")),e.decimal_max_digits||e.decimal_min_digits){for(t+=".",r=0;r<e.decimal_min_digits;r++)t+="0";for(;r<e.decimal_max_digits;r++)t+="#"}if(e.scaling){let i=Math.log10(e.scaling)/3;for(r=0;r<i;r++)t+=","}e.exponential&&(t+="e")}return e.prefix.map(i=>i.flag===1?i.text==="0"?"?":"_"+i.text:i.flag===2?"*"+i.text:i.flag===6?"["+i.text+"]":i.text).join("")+t+e.suffix.map(i=>i.flag===1?i.text==="0"?"?":"_"+i.text:i.flag===2?"*"+i.text:i.text).join("")}).join(";")}FormatDimensionedQuantity(e){if(this.transform_value){let r=this.transform_value(e);if(Nt(r))e=r;else return typeof r=="string"?r:this.FormatParts(r)}let t=this.FormatParts(e.value||0);return e.unit&&t.push({text:" "},{text:e.unit}),t}FormatComplex(e){if(e.imaginary===1/0||e.imaginary===-1/0||e.real===1/0||e.real===-1/0)return[{text:"Infinity"}];let t=[],r=[],i=!1,n=!!e.imaginary;n&&(t=this.FormatParts(e.imaginary),n=t.some(l=>/[1-9]/.test(l.text)),t.length===1&&this.sections[0].integer_min_digits<=1&&t[0].text==="1"?(t[0].text="",i=!0):t.length===1&&this.sections[1].integer_min_digits<=1&&t[0].text==="-1"&&(t[0].text="-",i=!0));let a=!!e.real;a&&(r=this.FormatParts(e.real),a=r.some(l=>/[1-9]/.test(l.text)));let o=[];if(a||!a&&!n){if(o.push(...r),n){o.push({text:e.imaginary<0?` ${s.minus_character} `:" + "});let l=i?[]:this.FormatParts(Math.abs(e.imaginary));o.push(...l,{text:s.imaginary_character})}}else n&&o.push(...t,{text:s.imaginary_character});return o}FormatParts(e){if(typeof e!="number"&&!this.sections[3])return[{text:(e??"").toString()}];let{parts:t,section:r}=this.BaseFormat(e),i=[];if(r.date_format||r.string_format)for(let n of t)typeof n=="string"?i.push({text:n}):i.push(n);else this.magic_decimal&&t[1]===""&&t.splice(1,1),i=[...r.prefix.map(n=>({...n})),{text:r.has_number_format?t.join(U.decimal_separator):""},...r.suffix.map(n=>({...n}))];for(let n=1;n<i.length;n++)i[n].flag===i[n-1].flag&&(i[n].text=i[n-1].text+i[n].text,i[n-1].text="");return i.filter(n=>n.text)}Format(e,t=0){return s.FormatPartsAsText(this.FormatParts(e),t)}ZeroPad(e,t){for(;e.length<t;)e="0"+e;return e}DateFormat(e){let t=ai(e),r=this.sections[0],i=t.getUTCHours();return r.twelve_hour&&(i>12&&(i-=12),i===0&&(i=12)),{parts:r.prefix.map(a=>{if(a.flag===4)return a.text==="mm"?{text:this.ZeroPad(t.getUTCMinutes().toString(),2)}:{text:this.ZeroPad(t.getUTCMinutes().toString(),1)};if(a.flag===3){switch(a.text.toLowerCase()){case"am/pm":case"a/p":{let l=a.text.split("/");return{text:t.getUTCHours()>12?l[1]:l[0]}}case"mmmmm":return{text:U.date_components.long_months[t.getUTCMonth()][0]};case"mmmm":return a.text==="MMMM"?{text:U.date_components.long_months[t.getUTCMonth()].toUpperCase()}:{text:U.date_components.long_months[t.getUTCMonth()]};case"mmm":return a.text==="MMM"?{text:U.date_components.short_months[t.getUTCMonth()].toUpperCase()}:{text:U.date_components.short_months[t.getUTCMonth()]};case"mm":return{text:this.ZeroPad((t.getUTCMonth()+1).toString(),2)};case"m":return{text:this.ZeroPad((t.getUTCMonth()+1).toString(),1)};case"ddddd":case"dddd":return a.text==="DDDDD"||a.text==="DDDD"?{text:U.date_components.long_days[t.getUTCDay()].toUpperCase()}:{text:U.date_components.long_days[t.getUTCDay()]};case"ddd":return a.text==="DDD"?{text:U.date_components.short_days[t.getUTCDay()].toUpperCase()}:{text:U.date_components.short_days[t.getUTCDay()]};case"dd":return{text:this.ZeroPad(t.getUTCDate().toString(),2)};case"d":return{text:this.ZeroPad(t.getUTCDate().toString(),1)};case"yyyy":case"yyy":return{text:t.getUTCFullYear().toString()};case"yy":case"y":return{text:this.ZeroPad((t.getUTCFullYear()%100).toString(),2)};case"hh":return{text:this.ZeroPad(i.toString(),2)};case"h":return{text:this.ZeroPad(i.toString(),1)};case"ss":return{text:this.ZeroPad(t.getUTCSeconds().toString(),2)};case"s":return{text:this.ZeroPad(t.getUTCSeconds().toString(),1)}}let o=a.text.match(/^(s+)\\.(0+)$/);if(o)return{text:this.ZeroPad(t.getUTCSeconds().toString(),o[1].length)+U.decimal_separator+(t.getUTCMilliseconds()/1e3).toFixed(o[2].length).substr(2)}}return{...a}}),section:r}}StringFormat(e,t){let r=[];for(let i of t.prefix)i.flag===5?r.push({text:e}):r.push({...i});return{parts:r,section:t}}Round2(e,t){let r=Math.pow(10,t);return Math.round(r*e)/r}FormatFraction(e,t){t.percent&&(e*=100);let r={denominator:1,numerator:Math.round(e),error:Math.abs(Math.round(e)-e)};if(t.fraction_denominator)r.denominator=t.fraction_denominator,r.numerator=Math.round(e*r.denominator);else if(r.error){let n=s.fraction_limits[t.fraction_denominator_digits-1]||s.fraction_limits[0];for(let a=2;a<=n;a++){let o=Math.round(e*a),l=Math.abs(o/a-e);if(l<r.error&&(r={numerator:o,denominator:a,error:l},!l))break}}let i=[];if(t.fraction_integer){let n=Math.floor(r.numerator/r.denominator);r.numerator%=r.denominator,(n||!r.numerator)&&(i.push(n.toString()),r.numerator&&i.push(" "))}else r.numerator||i.push("0");return r.numerator&&(i.push(r.numerator.toString()),i.push("/"),i.push(r.denominator.toString())),i.join("")}BaseFormat(e){if(this.sections[0].date_format)return this.DateFormat(Number(e));if(typeof e!="number")return this.StringFormat((e??"").toString(),this.sections[3]);let t=this.sections[0],r=this.decimal_zero_regexp[0];e<0&&(t=this.sections[1]);let i=t.percent?t.decimal_max_digits+2:t.decimal_max_digits,n=Math.pow(10,-i)/2,a=Math.abs(e);if(a<n&&(t=this.sections[2],r=this.decimal_zero_regexp[2]),t.scaling&&(a/=t.scaling,a<n&&(t=this.sections[2],r=this.decimal_zero_regexp[2])),t.string_format)return this.StringFormat(e.toString(),t);let o="";if(t.fraction_format)return{parts:[this.FormatFraction(a,t)],section:t};t.exponential?o=a.toExponential(t.decimal_max_digits):(t.percent&&(a*=100),o=this.Round2(a,t.decimal_max_digits).toFixed(t.decimal_max_digits)),r&&(o=o.replace(r,""));let l=o.split(".");for(;l[0].length<t.integer_min_digits;)l[0]=("0000000000000000"+l[0]).slice(-t.integer_min_digits);return t.integer_min_digits===0&&l[0]==="0"&&(l[0]=""),t.grouping&&(l[0]=l[0].replace(s.grouping_regexp,"$&"+U.grouping_separator)),{parts:l,section:t}}};var Ye=class{static cache={};static complex_general;static symbolc_name_map={};static base_formats={Accounting:"_(#,##0.00_);(#,##0.00);-???",Number:"0.00",Integer:"0",Percent:"0.00%",General:"0.######",Fraction:"# ?/?",Dollar:"$* _(#,##0.00_);$* (#,##0.00);$* -???",Exponential:"0.000e","Short Date":"mm/dd/yy","Long Date":"dddd, mmm d yyyy",Timestamp:"mm-dd-yy hh:mm:ss"};static aliases={Scientific:"Exponential",Percentage:"Percent",Currency:"Dollar"};static Get(e,t=!1){if(t&&e==="General")return this.complex_general;let r=this.symbolc_name_map[e.toLowerCase()],i=this.cache[r||e];return i||(i=new Pe(e),this.cache[e]=i),i}static Equals(e,t){if(e===t)return!0;let r=this.Get(e),i=this.Get(t);return r.pattern===i.pattern}static Translate(e){let t=this.symbolc_name_map[e.toLowerCase()];return t?this.cache[t].toString():e}static SymbolicName(e){for(let t of Object.keys(this.base_formats))if(e===this.base_formats[t])return t;return null}static InitCache(){for(let e of Object.keys(this.base_formats))this.cache[e]=new Pe(this.base_formats[e]),this.symbolc_name_map[e.toLowerCase()]=e;this.cache.General.magic_decimal=!0,this.complex_general=new Pe("0.###"),this.complex_general.magic_decimal=!0;for(let e of Object.keys(this.aliases))this.cache[e]=this.cache[this.aliases[e]],this.symbolc_name_map[e.toLowerCase()]=e}};Ye.InitCache();var ci=new Date().getUTCFullYear(),fr=class{compare_day;compare_month;TestDate(e){let t=Date.parse(e);if(isNaN(t))return!1;let r=new Date(t),n=e.replace(/[\\d\\-\\\\/,.\\s]+/g," ").toLocaleLowerCase().split(/\\s+/).map(l=>l.trim()).filter(l=>!!l);if(!n.length)return t;if(!this.compare_month){this.compare_month={};for(let l=0;l<12;l++)this.compare_month[U.date_components.long_months[l].toLocaleLowerCase().replace(/\\./,"")]=l,this.compare_month[U.date_components.short_months[l].toLocaleLowerCase().replace(/\\./,"")]=l}if(!this.compare_day){this.compare_day={};for(let l=0;l<7;l++)this.compare_day[U.date_components.long_days[l].toLocaleLowerCase().replace(/\\./,"")]=l,this.compare_day[U.date_components.short_days[l].toLocaleLowerCase().replace(/\\./,"")]=l}let a=!1,o=!1;for(let l of n){let c=!1;for(let[d,h]of Object.entries(this.compare_month))if(l===d){if(a||r.getUTCMonth()!==h)return!1;c=!0,a=!0}if(!c){for(let[d,h]of Object.entries(this.compare_day))if(l===d){if(o||r.getUTCDay()!==h)return!1;c=!0,o=!0}}if(!c)return!1}return o&&!a?!1:t}TryParse(e=""){let t={};if(e[0]==="\'")return{value:e,type:2};if(e==="")return{value:e,type:2};if(e==="NaN")return{value:NaN,type:3,hints:{Nan:!0}};let r=e.trim(),i=r.match(/^[$](.*?)$/);i&&(r=i[1],t.Currency=!0);let n=r.match(/^\\((.*?)\\)$/);n&&(r=n[1],t.Parens=!0);let a=r.match(/^(.*?)%\\s*$/);a&&(r=a[1],t.Percent=!0),U.decimal_separator==="."?/,/.test(r)&&(r=r.replace(/,/g,""),t.Grouping=!0):(r=r.replace(/(\\d)\\s+/g,"$1"),r=r.replace(/\\./g,""),r=r.replace(/,/,"."));let o=Number(r);if(o===null||isNaN(o)){let l=e.toLowerCase();if(l==="false")return{value:!1,type:4};if(l==="true")return{value:!0,type:4};let c=this.TestDate(e);if(c!==!1&&!isNaN(c)){let d=new Date(c),h=d.getUTCFullYear();if(h>=ci-200&&h<=ci+200)return t={Date:!0},(d.getHours()||d.getMinutes()||d.getSeconds())&&(t.Time=!0),{value:li(c,!0),type:3,hints:t}}return{value:e,type:2}}if(n&&(o=-o),a){let l=o<0?-1:1,c=(l*o).toString().split(".");c[0]=("00"+c[0]).replace(/(\\d\\d)$/,".$1"),o=Number(c.join(""))*l}return/e/.test(e)&&(t.Exponential=!0),{value:o,type:3,hints:t}}},pr=new fr;var lt=class s extends Oe{constructor(t,r,i){super();this.model=t;this.view=r;this.autocomplete=i;this.parser=t.parser}static FormulaChars=("$^&*(-+={[<>/~%@"+U.argument_separator).split("");active_cell;autocomplete_matcher;container_node;active_editor;nodes=[];target_address;assume_formula=!1;text_formula=!1;get selecting(){if(this.assume_formula)return!0;if(!this.text_formula)return!1;if(this.active_editor&&this.active_editor.node===this.active_editor.node.ownerDocument.activeElement){let t=this.active_editor.node.ownerDocument.defaultView,r=t.getSelection();if(r?.rangeCount){let a=r?.getRangeAt(0);if((a?.endContainer instanceof t.HTMLElement?a.endContainer:a.endContainer?.parentElement)?.dataset.reference!==void 0)return!0;if(a?.startContainer instanceof t.Text){let l=(a.startContainer.textContent?.substring(0,a.startOffset)||"").trim();if(l.length&&s.FormulaChars.includes(l[l.length-1]))return!0}else console.info("mark 21",a)}let n=this.SubstringToCaret2(this.active_editor.node)[1].trim();if(n.length){let a=n[n.length-1];return s.FormulaChars.includes(a)}}return!1}composite_dependencies=[];get dependencies(){return this.composite_dependencies}parser;FocusEditor(){this.active_editor&&this.active_editor.node.focus()}RegisterListener(t,r,i){t.node.addEventListener(r,i),t.listeners||(t.listeners=new Map),t.listeners.set(r,i)}SelectAll(t){let i=t.ownerDocument.defaultView.getSelection(),n=t.ownerDocument.createRange();n.selectNode(t),i?.removeAllRanges(),i?.addRange(n)}SetCaret(t,r){let i=t.node.ownerDocument,n=i?.defaultView,a=n.getSelection(),o=i?.createRange(),l=d=>{let h=d;for(;h&&!(h instanceof n.Text)&&h.firstChild;)h=h.firstChild;return h},c=l(t.node);if(r){let d=l(r.node);a&&o&&(o.setStart(c,t.offset),o.setEnd(d,r.offset),a.removeAllRanges(),a.addRange(o))}else a&&o&&(o.setStart(c,t.offset),o.setEnd(c,t.offset),o.collapse(!0),a.removeAllRanges(),a.addRange(o))}InsertReference(t){if(!this.active_editor)return;let r=this.active_editor.node.ownerDocument.defaultView,i=r.getSelection();if(!i)throw new Error("error getting selection");if(i.rangeCount===0)return"";let n=i.getRangeAt(0),a=this.active_editor.node.textContent||"";if(n.startContainer instanceof r.Text)if(!n.collapsed&&n.startOffset<n.endOffset){let o=this.SubstringToCaret2(this.active_editor.node);this.active_editor.node.textContent=o[0]+t+a.substring(o[1].length),this.SetCaret({node:this.active_editor.node,offset:o[0].length},{node:this.active_editor.node,offset:o[0].length+t.length})}else{let o=n.startContainer.parentElement;if(o instanceof r.HTMLElement&&o.dataset.reference)o.textContent=t,this.SetCaret({node:o,offset:t.length});else{let l=this.SubstringToCaret2(this.active_editor.node)[1],c="",d=l.trim();if(d.length){let h=d[d.length-1];s.FormulaChars.includes(h)||(l.length===d.length?c=" +":c="+")}this.active_editor.node.textContent=l+c+t+a.substring(l.length),this.SetCaret({node:this.active_editor.node,offset:l.length+t.length+c.length})}}else n.startContainer instanceof r.HTMLElement?(n.startContainer.textContent=t,this.SetCaret({node:n.startContainer,offset:t.length})):console.warn("unexpected range start container",n.startContainer);this.UpdateText(this.active_editor),this.UpdateColors(),this.active_editor.node.dispatchEvent(new Event("input",{bubbles:!0,cancelable:!0}))}UpdateColors(t=!1,r=!1){let i=new Map,n=new Map;for(let o of this.nodes)for(let l of o.references||[]){let c=this.model.AddressToLabel(l);i.has(c)||(i.set(c,l),n.set(c,n.size))}for(let o of this.nodes){for(let l of Array.from(o.node.childNodes)){let c=l.ownerDocument?.defaultView;if(c&&l instanceof c.HTMLElement&&l.dataset.reference){let d=n.get(l.dataset.reference);l.dataset.highlightIndex=typeof d=="number"?(d%5+1).toString():"?"}}o.check=o.node.innerHTML.length}let a=Array.from(i.values());!t&&JSON.stringify(this.composite_dependencies)===JSON.stringify(a)||(this.composite_dependencies=a,r||this.Publish({type:"update",dependencies:this.composite_dependencies}))}UpdateDependencies(t,r){let i=[];for(let l of r.full_reference_list||[])switch(l.type){case"address":case"range":{let c=l.type==="range"?l.start:l;c.sheet_id||(c.sheet?c.sheet_id=this.model.sheets.Find(c.sheet)?.id||0:c.sheet_id=this.view.active_sheet.id),i.push(l);break}case"structured-reference":if(this.target_address){let c=this.model.ResolveStructuredReference(l,this.target_address);c&&i.push(c)}else console.info("target address not set");break;case"identifier":{let c=this.model.GetName(l.name,this.view.active_sheet.id);c?.type==="range"&&(c.area.count===1?i.push({type:"address",...c.area.start,label:l.name,position:l.position,id:l.id}):i.push({type:"range",start:{type:"address",position:l.position,id:l.id,label:l.name,...c.area.start},end:{type:"address",position:l.position,label:l.name,id:l.id,...c.area.end},label:l.name,position:l.position,id:l.id}));break}}i.sort((l,c)=>l.position-c.position);let n=[],a=new Set,o=new Map;for(let l of i){let c=this.model.AddressToLabel(l),d=Ze(l)?new ee(l):new ee(l.start,l.end);a.has(c)||(n.push(d),a.add(c)),o.set(l.label,c)}return this.UpdateReferences(t,n),o}UpdateReferences(t,r=[]){t.node.dataset.references=JSON.stringify(r.map(i=>this.model.AddressToLabel(i))),t.references=r}UpdateText(t,r={}){let i=t.node,n=i.textContent||"",a=le.GetInstance(i.ownerDocument);if(this.text_formula=n[0]==="=",this.active_editor&&!this.assume_formula&&(this.active_editor.node.spellcheck=!this.text_formula,!this.text_formula)||n===t.formatted_text)return;let[o,l]=this.SubstringToCaret2(i),c=o.length,d=l.length;if(c===0&&d===0&&(d=n.length),!n)this.UpdateReferences(t);else{let f=this.parser.Parse(n);if(f.expression){let u=this.UpdateDependencies(t,f),p=n[0]==="="?1:0,b=0,C,w,v=0,_,g=a.Fragment(),A=(D,M="text",G="",z=!1)=>{let $=a.Text(D);if((z||(c>v||c===0&&v===0)&&c<=v+D.length)&&(C={offset:c-v,node:$}),d>v&&d<=v+D.length&&(w={offset:d-v,node:$}),M!=="text"){let V=a.Create("span",M);G&&(V.dataset.reference=G),V.appendChild($),g.appendChild(V)}else g.appendChild($);_=$,v+=D.length};this.parser.Walk(f.expression,D=>{if(D.type==="missing"||D.type==="group"||D.type==="dimensioned")return!0;let M=D.position+p,G=n.substring(b,M),z="",$=D.type,V="";switch(D.type){case"identifier":z=n.substring(M,M+D.name.length),V=u.get(D.name)||"";break;case"call":z=n.substring(M,M+D.name.length);break;case"literal":if(typeof D.value=="string")z=n.substring(M,M+D.value.length+2),$="string";else return!1;break;case"address":case"range":case"structured-reference":V=u.get(D.label)||"???",z=r.rewrite_addresses?D.label:n.substring(M,M+D.label.length);break;default:return!0}return A(G),A(z,$,V),b=M+z.length,D.type!=="range"}),b<n.length&&A(n.substring(b)),C||(_?C={node:_,offset:(_.data||"").length}:A("",void 0,"",!0)),i.textContent="",i.appendChild(g),C&&!r.format_only&&i===this.active_editor?.node&&this.SetCaret(C,w)}}t.formatted_text=n;let h=this.autocomplete_matcher;h&&Promise.resolve().then(()=>{let f=h.Exec({text:n,cursor:l.length});this.selecting&&f.completions?.length&&(f.completions=void 0);let u=this.NodeAtIndex(f.completions?.length?f.position||0:f.function_position||0);this.Autocomplete(f,u)})}NodeAtIndex(t){let r=this.active_editor?.node.childNodes||[];for(let i=0;i<r.length;i++){let n=r[i].textContent?.length||0;if(n>t)return r[i];t-=n}}AcceptAutocomplete(t){if(!this.active_editor)return;let r;if(t.data&&t.data.completions){for(let d of t.data.completions)if(d.name.toLowerCase()===t.value?.toLowerCase()){r=d.type;break}}let i=t.data?.position||0,n=i+(t.data?.token?.length||0),a=r==="token"?t.value:t.value+"(",o=this.active_editor.node.textContent||"",l=o.substring(0,i)+a,c=l.length;l+=o.substring(n),this.active_editor.node.textContent=l,this.SetCaret({node:this.active_editor.node,offset:c}),this.autocomplete?.Hide(),this.UpdateText(this.active_editor),this.UpdateColors()}Autocomplete(t,r){if(!this.container_node||!this.autocomplete)return;let i;r?.nodeType===Node.ELEMENT_NODE?i=r.getBoundingClientRect():i=this.container_node.getBoundingClientRect();let n=new Re(Math.round(i.left),Math.round(i.top),i.width,i.height);this.autocomplete.Show(this.AcceptAutocomplete.bind(this),t,n)}SubstringToCaret2(t,r=!1){let i=["",""];if(!r&&t!==t.ownerDocument.activeElement||t!==this.active_editor?.node)return i;let a=t.ownerDocument.defaultView,o=[!1,!1],l=(d,h)=>{if(d===h.startContainer&&d===h.endContainer&&!(d instanceof a.Text)){o[0]=o[1]=!0,i[0]+=d.textContent,i[1]+=d.textContent;return}if(d===h.startContainer&&(i[0]+=(d.textContent||"").substring(0,h.startOffset),o[0]=!0),d===h.endContainer&&(i[1]+=(d.textContent||"").substring(0,h.endOffset),o[1]=!0),!(o[0]&&o[1])){if(d instanceof a.Text){let f=d.textContent||"";o[0]||(i[0]+=f),o[1]||(i[1]+=f)}else if(d.hasChildNodes()){for(let f of Array.from(d.childNodes))if(l(f,h),o[0]&&o[1])return}}},c=a.getSelection();if(c?.rangeCount??!1){let d=c?.getRangeAt(0);d&&l(t,d)}return i}};var tn=typeof navigator>"u"?"":navigator.appVersion,ve=typeof navigator>"u"?"":navigator.userAgent,mr=class{is_edge=/Edge/.test(tn);is_ipad=/iPad|iPhone/.test(ve);is_iphone=/iPhone/.test(ve);is_android=/android|samsung/i.test(ve);is_mobile=this.is_ipad||this.is_android;is_firefox=/firefox/i.test(ve);is_safari=/safari/i.test(ve)&&!/edg/i.test(ve);is_mac=/macintosh/i.test(ve);is_chrome=/Chrome/i.test(ve);is_windows=/win64|win32|windows\\s+nt/i.test(ve);is_modern=!this.is_edge&&!(this.is_firefox&&this.is_android)&&/webkit|firefox/i.test(ve)},rn={is_edge:!1,is_ipad:!1,is_iphone:!1,is_android:!1,is_firefox:!1,is_safari:!1,is_mac:!1,is_chrome:!1,is_windows:!1,is_modern:!0,is_mobile:!1},nt=typeof navigator>"u"?rn:new mr;var mi=":A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD",hn=mi+"\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040",un="["+mi+"]["+hn+"]*",fn=new RegExp("^"+un+"$");function Ut(s,e){let t=[],r=e.exec(s);for(;r;){let i=[];i.startIndex=e.lastIndex-r[0].length;let n=r.length;for(let a=0;a<n;a++)i.push(r[a]);t.push(i),r=e.exec(s)}return t}var ct=function(s){let e=fn.exec(s);return!(e===null||typeof e>"u")};function _i(s){return typeof s<"u"}var pn={allowBooleanAttributes:!1,unpairedTags:[]};function xi(s,e){e=Object.assign({},pn,e);let t=[],r=!1,i=!1;s[0]==="\\uFEFF"&&(s=s.substr(1));for(let n=0;n<s.length;n++)if(s[n]==="<"&&s[n+1]==="?"){if(n+=2,n=gi(s,n),n.err)return n}else if(s[n]==="<"){let a=n;if(n++,s[n]==="!"){n=yi(s,n);continue}else{let o=!1;s[n]==="/"&&(o=!0,n++);let l="";for(;n<s.length&&s[n]!==">"&&s[n]!==" "&&s[n]!==" "&&s[n]!==`\n`&&s[n]!=="\\r";n++)l+=s[n];if(l=l.trim(),l[l.length-1]==="/"&&(l=l.substring(0,l.length-1),n--),!vn(l)){let h;return l.trim().length===0?h="Invalid space after \'<\'.":h="Tag \'"+l+"\' is an invalid name.",Y("InvalidTag",h,ne(s,n))}let c=bn(s,n);if(c===!1)return Y("InvalidAttr","Attributes for \'"+l+"\' have open quote.",ne(s,n));let d=c.value;if(n=c.index,d[d.length-1]==="/"){let h=n-d.length;d=d.substring(0,d.length-1);let f=wi(d,e);if(f===!0)r=!0;else return Y(f.err.code,f.err.msg,ne(s,h+f.err.line))}else if(o)if(c.tagClosed){if(d.trim().length>0)return Y("InvalidTag","Closing tag \'"+l+"\' can\'t have attributes or invalid starting.",ne(s,a));if(t.length===0)return Y("InvalidTag","Closing tag \'"+l+"\' has not been opened.",ne(s,a));{let h=t.pop();if(l!==h.tagName){let f=ne(s,h.tagStartPos);return Y("InvalidTag","Expected closing tag \'"+h.tagName+"\' (opened in line "+f.line+", col "+f.col+") instead of closing tag \'"+l+"\'.",ne(s,a))}t.length==0&&(i=!0)}}else return Y("InvalidTag","Closing tag \'"+l+"\' doesn\'t have proper closing.",ne(s,n));else{let h=wi(d,e);if(h!==!0)return Y(h.err.code,h.err.msg,ne(s,n-d.length+h.err.line));if(i===!0)return Y("InvalidXml","Multiple possible root nodes found.",ne(s,n));e.unpairedTags.indexOf(l)!==-1||t.push({tagName:l,tagStartPos:a}),r=!0}for(n++;n<s.length;n++)if(s[n]==="<")if(s[n+1]==="!"){n++,n=yi(s,n);continue}else if(s[n+1]==="?"){if(n=gi(s,++n),n.err)return n}else break;else if(s[n]==="&"){let h=wn(s,n);if(h==-1)return Y("InvalidChar","char \'&\' is not expected.",ne(s,n));n=h}else if(i===!0&&!bi(s[n]))return Y("InvalidXml","Extra text at the end",ne(s,n));s[n]==="<"&&n--}}else{if(bi(s[n]))continue;return Y("InvalidChar","char \'"+s[n]+"\' is not expected.",ne(s,n))}if(r){if(t.length==1)return Y("InvalidTag","Unclosed tag \'"+t[0].tagName+"\'.",ne(s,t[0].tagStartPos));if(t.length>0)return Y("InvalidXml","Invalid \'"+JSON.stringify(t.map(n=>n.tagName),null,4).replace(/\\r?\\n/g,"")+"\' found.",{line:1,col:1})}else return Y("InvalidXml","Start tag expected.",1);return!0}function bi(s){return s===" "||s===" "||s===`\n`||s==="\\r"}function gi(s,e){let t=e;for(;e<s.length;e++)if(s[e]=="?"||s[e]==" "){let r=s.substr(t,e-t);if(e>5&&r==="xml")return Y("InvalidXml","XML declaration allowed only at the start of the document.",ne(s,e));if(s[e]=="?"&&s[e+1]==">"){e++;break}else continue}return e}function yi(s,e){if(s.length>e+5&&s[e+1]==="-"&&s[e+2]==="-"){for(e+=3;e<s.length;e++)if(s[e]==="-"&&s[e+1]==="-"&&s[e+2]===">"){e+=2;break}}else if(s.length>e+8&&s[e+1]==="D"&&s[e+2]==="O"&&s[e+3]==="C"&&s[e+4]==="T"&&s[e+5]==="Y"&&s[e+6]==="P"&&s[e+7]==="E"){let t=1;for(e+=8;e<s.length;e++)if(s[e]==="<")t++;else if(s[e]===">"&&(t--,t===0))break}else if(s.length>e+9&&s[e+1]==="["&&s[e+2]==="C"&&s[e+3]==="D"&&s[e+4]==="A"&&s[e+5]==="T"&&s[e+6]==="A"&&s[e+7]==="["){for(e+=8;e<s.length;e++)if(s[e]==="]"&&s[e+1]==="]"&&s[e+2]===">"){e+=2;break}}return e}var mn=\'"\',_n="\'";function bn(s,e){let t="",r="",i=!1;for(;e<s.length;e++){if(s[e]===mn||s[e]===_n)r===""?r=s[e]:r!==s[e]||(r="");else if(s[e]===">"&&r===""){i=!0;break}t+=s[e]}return r!==""?!1:{value:t,index:e,tagClosed:i}}var gn=new RegExp(`(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*([\'"])(([\\\\s\\\\S])*?)\\\\5)?`,"g");function wi(s,e){let t=Ut(s,gn),r={};for(let i=0;i<t.length;i++){if(t[i][1].length===0)return Y("InvalidAttr","Attribute \'"+t[i][2]+"\' has no space in starting.",dt(t[i]));if(t[i][3]!==void 0&&t[i][4]===void 0)return Y("InvalidAttr","Attribute \'"+t[i][2]+"\' is without value.",dt(t[i]));if(t[i][3]===void 0&&!e.allowBooleanAttributes)return Y("InvalidAttr","boolean attribute \'"+t[i][2]+"\' is not allowed.",dt(t[i]));let n=t[i][2];if(!xn(n))return Y("InvalidAttr","Attribute \'"+n+"\' is an invalid name.",dt(t[i]));if(!r.hasOwnProperty(n))r[n]=1;else return Y("InvalidAttr","Attribute \'"+n+"\' is repeated.",dt(t[i]))}return!0}function yn(s,e){let t=/\\d/;for(s[e]==="x"&&(e++,t=/[\\da-fA-F]/);e<s.length;e++){if(s[e]===";")return e;if(!s[e].match(t))break}return-1}function wn(s,e){if(e++,s[e]===";")return-1;if(s[e]==="#")return e++,yn(s,e);let t=0;for(;e<s.length;e++,t++)if(!(s[e].match(/\\w/)&&t<20)){if(s[e]===";")break;return-1}return e}function Y(s,e,t){return{err:{code:s,msg:e,line:t.line||t,col:t.col}}}function xn(s){return ct(s)}function vn(s){return ct(s)}function ne(s,e){let t=s.substring(0,e).split(/\\r?\\n/);return{line:t.length,col:t[t.length-1].length+1}}function dt(s){return s.startIndex+s[1].length}var Cn={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(s,e){return e},attributeValueProcessor:function(s,e){return e},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(s,e,t){return s},captureMetaData:!1},vi=function(s){return Object.assign({},Cn,s)};var zt;typeof Symbol!="function"?zt="@@xmlMetadata":zt=Symbol("XML Node Metadata");var ce=class{constructor(e){this.tagname=e,this.child=[],this[":@"]={}}add(e,t){e==="__proto__"&&(e="#__proto__"),this.child.push({[e]:t})}addChild(e,t){e.tagname==="__proto__"&&(e.tagname="#__proto__"),e[":@"]&&Object.keys(e[":@"]).length>0?this.child.push({[e.tagname]:e.child,":@":e[":@"]}):this.child.push({[e.tagname]:e.child}),t!==void 0&&(this.child[this.child.length-1][zt]={startIndex:t})}static getMetaDataSymbol(){return zt}};function _r(s,e){let t={};if(s[e+3]==="O"&&s[e+4]==="C"&&s[e+5]==="T"&&s[e+6]==="Y"&&s[e+7]==="P"&&s[e+8]==="E"){e=e+9;let r=1,i=!1,n=!1,a="";for(;e<s.length;e++)if(s[e]==="<"&&!n){if(i&&Be(s,"!ENTITY",e)){e+=7;let o,l;[o,l,e]=Sn(s,e+1),l.indexOf("&")===-1&&(t[o]={regx:RegExp(`&${o};`,"g"),val:l})}else if(i&&Be(s,"!ELEMENT",e)){e+=8;let{index:o}=Tn(s,e+1);e=o}else if(i&&Be(s,"!ATTLIST",e))e+=8;else if(i&&Be(s,"!NOTATION",e)){e+=9;let{index:o}=An(s,e+1);e=o}else if(Be(s,"!--",e))n=!0;else throw new Error("Invalid DOCTYPE");r++,a=""}else if(s[e]===">"){if(n?s[e-1]==="-"&&s[e-2]==="-"&&(n=!1,r--):r--,r===0)break}else s[e]==="["?i=!0:a+=s[e];if(r!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:t,i:e}}var De=(s,e)=>{for(;e<s.length&&/\\s/.test(s[e]);)e++;return e};function Sn(s,e){e=De(s,e);let t="";for(;e<s.length&&!/\\s/.test(s[e])&&s[e]!==\'"\'&&s[e]!=="\'";)t+=s[e],e++;if(br(t),e=De(s,e),s.substring(e,e+6).toUpperCase()==="SYSTEM")throw new Error("External entities are not supported");if(s[e]==="%")throw new Error("Parameter entities are not supported");let r="";return[e,r]=Gt(s,e,"entity"),e--,[t,r,e]}function An(s,e){e=De(s,e);let t="";for(;e<s.length&&!/\\s/.test(s[e]);)t+=s[e],e++;br(t),e=De(s,e);let r=s.substring(e,e+6).toUpperCase();if(r!=="SYSTEM"&&r!=="PUBLIC")throw new Error(`Expected SYSTEM or PUBLIC, found "${r}"`);e+=r.length,e=De(s,e);let i=null,n=null;if(r==="PUBLIC")[e,i]=Gt(s,e,"publicIdentifier"),e=De(s,e),(s[e]===\'"\'||s[e]==="\'")&&([e,n]=Gt(s,e,"systemIdentifier"));else if(r==="SYSTEM"&&([e,n]=Gt(s,e,"systemIdentifier"),!n))throw new Error("Missing mandatory system identifier for SYSTEM notation");return{notationName:t,publicIdentifier:i,systemIdentifier:n,index:--e}}function Gt(s,e,t){let r="",i=s[e];if(i!==\'"\'&&i!=="\'")throw new Error(`Expected quoted string, found "${i}"`);for(e++;e<s.length&&s[e]!==i;)r+=s[e],e++;if(s[e]!==i)throw new Error(`Unterminated ${t} value`);return e++,[e,r]}function Tn(s,e){e=De(s,e);let t="";for(;e<s.length&&!/\\s/.test(s[e]);)t+=s[e],e++;if(!br(t))throw new Error(`Invalid element name: "${t}"`);e=De(s,e);let r="";if(s[e]==="E"&&Be(s,"MPTY",e))e+=4;else if(s[e]==="A"&&Be(s,"NY",e))e+=2;else if(s[e]==="("){for(e++;e<s.length&&s[e]!==")";)r+=s[e],e++;if(s[e]!==")")throw new Error("Unterminated content model")}else throw new Error(`Invalid Element Expression, found "${s[e]}"`);return{elementName:t,contentModel:r.trim(),index:e}}function Be(s,e,t){for(let r=0;r<e.length;r++)if(e[r]!==s[t+r+1])return!1;return!0}function br(s){if(ct(s))return s;throw new Error(`Invalid entity name ${s}`)}var In=/^[-+]?0x[a-fA-F0-9]+$/,kn=/^([\\-\\+])?(0*)([0-9]*(\\.[0-9]*)?)$/,Rn={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function gr(s,e={}){if(e=Object.assign({},Rn,e),!s||typeof s!="string")return s;let t=s.trim();if(e.skipLike!==void 0&&e.skipLike.test(t))return s;if(s==="0")return 0;if(e.hex&&In.test(t))return Fn(t,16);if(t.search(/.+[eE].+/)!==-1)return Nn(s,t,e);{let r=kn.exec(t);if(r){let i=r[1]||"",n=r[2],a=Mn(r[3]),o=i?s[n.length+1]===".":s[n.length]===".";if(!e.leadingZeros&&(n.length>1||n.length===1&&!o))return s;{let l=Number(t),c=String(l);if(l===0)return l;if(c.search(/[eE]/)!==-1)return e.eNotation?l:s;if(t.indexOf(".")!==-1)return c==="0"||c===a||c===`${i}${a}`?l:s;let d=n?a:t;return n?d===c||i+d===c?l:s:d===c||d===i+c?l:s}}else return s}}var En=/^([-+])?(0*)(\\d*(\\.\\d*)?[eE][-\\+]?\\d+)$/;function Nn(s,e,t){if(!t.eNotation)return s;let r=e.match(En);if(r){let i=r[1]||"",n=r[3].indexOf("e")===-1?"E":"e",a=r[2],o=i?s[a.length+1]===n:s[a.length]===n;return a.length>1&&o?s:a.length===1&&(r[3].startsWith(`.${n}`)||r[3][0]===n)?Number(e):t.leadingZeros&&!o?(e=(r[1]||"")+r[3],Number(e)):s}else return s}function Mn(s){return s&&s.indexOf(".")!==-1&&(s=s.replace(/0+$/,""),s==="."?s="0":s[0]==="."?s="0"+s:s[s.length-1]==="."&&(s=s.substring(0,s.length-1))),s}function Fn(s,e){if(parseInt)return parseInt(s,e);if(Number.parseInt)return Number.parseInt(s,e);if(window&&window.parseInt)return window.parseInt(s,e);throw new Error("parseInt, Number.parseInt, window.parseInt are not supported")}function ht(s){return typeof s=="function"?s:Array.isArray(s)?e=>{for(let t of s)if(typeof t=="string"&&e===t||t instanceof RegExp&&t.test(e))return!0}:()=>!1}var ut=class{constructor(e){this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"\'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:\'"\'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\\xA2"},pound:{regex:/&(pound|#163);/g,val:"\\xA3"},yen:{regex:/&(yen|#165);/g,val:"\\xA5"},euro:{regex:/&(euro|#8364);/g,val:"\\u20AC"},copyright:{regex:/&(copy|#169);/g,val:"\\xA9"},reg:{regex:/&(reg|#174);/g,val:"\\xAE"},inr:{regex:/&(inr|#8377);/g,val:"\\u20B9"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(t,r)=>String.fromCodePoint(Number.parseInt(r,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(t,r)=>String.fromCodePoint(Number.parseInt(r,16))}},this.addExternalEntities=Pn,this.parseXml=Gn,this.parseTextData=Dn,this.resolveNameSpace=Ln,this.buildAttributesMap=zn,this.isItStopNode=Zn,this.replaceEntitiesValue=Vn,this.readStopNodeData=Wn,this.saveTextToParentTag=On,this.addChild=$n,this.ignoreAttributesFn=ht(this.options.ignoreAttributes)}};function Pn(s){let e=Object.keys(s);for(let t=0;t<e.length;t++){let r=e[t];this.lastEntities[r]={regex:new RegExp("&"+r+";","g"),val:s[r]}}}function Dn(s,e,t,r,i,n,a){if(s!==void 0&&(this.options.trimValues&&!r&&(s=s.trim()),s.length>0)){a||(s=this.replaceEntitiesValue(s));let o=this.options.tagValueProcessor(e,s,t,i,n);return o==null?s:typeof o!=typeof s||o!==s?o:this.options.trimValues?wr(s,this.options.parseTagValue,this.options.numberParseOptions):s.trim()===s?wr(s,this.options.parseTagValue,this.options.numberParseOptions):s}}function Ln(s){if(this.options.removeNSPrefix){let e=s.split(":"),t=s.charAt(0)==="/"?"/":"";if(e[0]==="xmlns")return"";e.length===2&&(s=t+e[1])}return s}var Un=new RegExp(`([^\\\\s=]+)\\\\s*(=\\\\s*([\'"])([\\\\s\\\\S]*?)\\\\3)?`,"gm");function zn(s,e,t){if(this.options.ignoreAttributes!==!0&&typeof s=="string"){let r=Ut(s,Un),i=r.length,n={};for(let a=0;a<i;a++){let o=this.resolveNameSpace(r[a][1]);if(this.ignoreAttributesFn(o,e))continue;let l=r[a][4],c=this.options.attributeNamePrefix+o;if(o.length)if(this.options.transformAttributeName&&(c=this.options.transformAttributeName(c)),c==="__proto__"&&(c="#__proto__"),l!==void 0){this.options.trimValues&&(l=l.trim()),l=this.replaceEntitiesValue(l);let d=this.options.attributeValueProcessor(o,l,e);d==null?n[c]=l:typeof d!=typeof l||d!==l?n[c]=d:n[c]=wr(l,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(n[c]=!0)}if(!Object.keys(n).length)return;if(this.options.attributesGroupName){let a={};return a[this.options.attributesGroupName]=n,a}return n}}var Gn=function(s){s=s.replace(/\\r\\n?/g,`\n`);let e=new ce("!xml"),t=e,r="",i="";for(let n=0;n<s.length;n++)if(s[n]==="<")if(s[n+1]==="/"){let o=We(s,">",n,"Closing Tag is not closed."),l=s.substring(n+2,o).trim();if(this.options.removeNSPrefix){let h=l.indexOf(":");h!==-1&&(l=l.substr(h+1))}this.options.transformTagName&&(l=this.options.transformTagName(l)),t&&(r=this.saveTextToParentTag(r,t,i));let c=i.substring(i.lastIndexOf(".")+1);if(l&&this.options.unpairedTags.indexOf(l)!==-1)throw new Error(`Unpaired tag can not be used as closing tag: </${l}>`);let d=0;c&&this.options.unpairedTags.indexOf(c)!==-1?(d=i.lastIndexOf(".",i.lastIndexOf(".")-1),this.tagsNodeStack.pop()):d=i.lastIndexOf("."),i=i.substring(0,d),t=this.tagsNodeStack.pop(),r="",n=o}else if(s[n+1]==="?"){let o=yr(s,n,!1,"?>");if(!o)throw new Error("Pi Tag is not closed.");if(r=this.saveTextToParentTag(r,t,i),!(this.options.ignoreDeclaration&&o.tagName==="?xml"||this.options.ignorePiTags)){let l=new ce(o.tagName);l.add(this.options.textNodeName,""),o.tagName!==o.tagExp&&o.attrExpPresent&&(l[":@"]=this.buildAttributesMap(o.tagExp,i,o.tagName)),this.addChild(t,l,i,n)}n=o.closeIndex+1}else if(s.substr(n+1,3)==="!--"){let o=We(s,"-->",n+4,"Comment is not closed.");if(this.options.commentPropName){let l=s.substring(n+4,o-2);r=this.saveTextToParentTag(r,t,i),t.add(this.options.commentPropName,[{[this.options.textNodeName]:l}])}n=o}else if(s.substr(n+1,2)==="!D"){let o=_r(s,n);this.docTypeEntities=o.entities,n=o.i}else if(s.substr(n+1,2)==="!["){let o=We(s,"]]>",n,"CDATA is not closed.")-2,l=s.substring(n+9,o);r=this.saveTextToParentTag(r,t,i);let c=this.parseTextData(l,t.tagname,i,!0,!1,!0,!0);c==null&&(c=""),this.options.cdataPropName?t.add(this.options.cdataPropName,[{[this.options.textNodeName]:l}]):t.add(this.options.textNodeName,c),n=o+2}else{let o=yr(s,n,this.options.removeNSPrefix),l=o.tagName,c=o.rawTagName,d=o.tagExp,h=o.attrExpPresent,f=o.closeIndex;this.options.transformTagName&&(l=this.options.transformTagName(l)),t&&r&&t.tagname!=="!xml"&&(r=this.saveTextToParentTag(r,t,i,!1));let u=t;u&&this.options.unpairedTags.indexOf(u.tagname)!==-1&&(t=this.tagsNodeStack.pop(),i=i.substring(0,i.lastIndexOf("."))),l!==e.tagname&&(i+=i?"."+l:l);let p=n;if(this.isItStopNode(this.options.stopNodes,i,l)){let b="";if(d.length>0&&d.lastIndexOf("/")===d.length-1)l[l.length-1]==="/"?(l=l.substr(0,l.length-1),i=i.substr(0,i.length-1),d=l):d=d.substr(0,d.length-1),n=o.closeIndex;else if(this.options.unpairedTags.indexOf(l)!==-1)n=o.closeIndex;else{let w=this.readStopNodeData(s,c,f+1);if(!w)throw new Error(`Unexpected end of ${c}`);n=w.i,b=w.tagContent}let C=new ce(l);l!==d&&h&&(C[":@"]=this.buildAttributesMap(d,i,l)),b&&(b=this.parseTextData(b,l,i,!0,h,!0,!0)),i=i.substr(0,i.lastIndexOf(".")),C.add(this.options.textNodeName,b),this.addChild(t,C,i,p)}else{if(d.length>0&&d.lastIndexOf("/")===d.length-1){l[l.length-1]==="/"?(l=l.substr(0,l.length-1),i=i.substr(0,i.length-1),d=l):d=d.substr(0,d.length-1),this.options.transformTagName&&(l=this.options.transformTagName(l));let b=new ce(l);l!==d&&h&&(b[":@"]=this.buildAttributesMap(d,i,l)),this.addChild(t,b,i,p),i=i.substr(0,i.lastIndexOf("."))}else{let b=new ce(l);this.tagsNodeStack.push(t),l!==d&&h&&(b[":@"]=this.buildAttributesMap(d,i,l)),this.addChild(t,b,i,p),t=b}r="",n=f}}else r+=s[n];return e.child};function $n(s,e,t,r){this.options.captureMetaData||(r=void 0);let i=this.options.updateTag(e.tagname,t,e[":@"]);i===!1||(typeof i=="string"&&(e.tagname=i),s.addChild(e,r))}var Vn=function(s){if(this.options.processEntities){for(let e in this.docTypeEntities){let t=this.docTypeEntities[e];s=s.replace(t.regx,t.val)}for(let e in this.lastEntities){let t=this.lastEntities[e];s=s.replace(t.regex,t.val)}if(this.options.htmlEntities)for(let e in this.htmlEntities){let t=this.htmlEntities[e];s=s.replace(t.regex,t.val)}s=s.replace(this.ampEntity.regex,this.ampEntity.val)}return s};function On(s,e,t,r){return s&&(r===void 0&&(r=e.child.length===0),s=this.parseTextData(s,e.tagname,t,!1,e[":@"]?Object.keys(e[":@"]).length!==0:!1,r),s!==void 0&&s!==""&&e.add(this.options.textNodeName,s),s=""),s}function Zn(s,e,t){let r="*."+t;for(let i in s){let n=s[i];if(r===n||e===n)return!0}return!1}function Bn(s,e,t=">"){let r,i="";for(let n=e;n<s.length;n++){let a=s[n];if(r)a===r&&(r="");else if(a===\'"\'||a==="\'")r=a;else if(a===t[0])if(t[1]){if(s[n+1]===t[1])return{data:i,index:n}}else return{data:i,index:n};else a===" "&&(a=" ");i+=a}}function We(s,e,t,r){let i=s.indexOf(e,t);if(i===-1)throw new Error(r);return i+e.length-1}function yr(s,e,t,r=">"){let i=Bn(s,e+1,r);if(!i)return;let n=i.data,a=i.index,o=n.search(/\\s/),l=n,c=!0;o!==-1&&(l=n.substring(0,o),n=n.substring(o+1).trimStart());let d=l;if(t){let h=l.indexOf(":");h!==-1&&(l=l.substr(h+1),c=l!==i.data.substr(h+1))}return{tagName:l,tagExp:n,closeIndex:a,attrExpPresent:c,rawTagName:d}}function Wn(s,e,t){let r=t,i=1;for(;t<s.length;t++)if(s[t]==="<")if(s[t+1]==="/"){let n=We(s,">",t,`${e} is not closed`);if(s.substring(t+2,n).trim()===e&&(i--,i===0))return{tagContent:s.substring(r,t),i:n};t=n}else if(s[t+1]==="?")t=We(s,"?>",t+1,"StopNode is not closed.");else if(s.substr(t+1,3)==="!--")t=We(s,"-->",t+3,"StopNode is not closed.");else if(s.substr(t+1,2)==="![")t=We(s,"]]>",t,"StopNode is not closed.")-2;else{let n=yr(s,t,">");n&&((n&&n.tagName)===e&&n.tagExp[n.tagExp.length-1]!=="/"&&i++,t=n.closeIndex)}}function wr(s,e,t){if(e&&typeof s=="string"){let r=s.trim();return r==="true"?!0:r==="false"?!1:gr(s,t)}else return _i(s)?s:""}var xr=ce.getMetaDataSymbol();function vr(s,e){return Ci(s,e)}function Ci(s,e,t){let r,i={};for(let n=0;n<s.length;n++){let a=s[n],o=Hn(a),l="";if(t===void 0?l=o:l=t+"."+o,o===e.textNodeName)r===void 0?r=a[o]:r+=""+a[o];else{if(o===void 0)continue;if(a[o]){let c=Ci(a[o],e,l),d=Yn(c,e);a[xr]!==void 0&&(c[xr]=a[xr]),a[":@"]?jn(c,a[":@"],l,e):Object.keys(c).length===1&&c[e.textNodeName]!==void 0&&!e.alwaysCreateTextNode?c=c[e.textNodeName]:Object.keys(c).length===0&&(e.alwaysCreateTextNode?c[e.textNodeName]="":c=""),i[o]!==void 0&&i.hasOwnProperty(o)?(Array.isArray(i[o])||(i[o]=[i[o]]),i[o].push(c)):e.isArray(o,l,d)?i[o]=[c]:i[o]=c}}}return typeof r=="string"?r.length>0&&(i[e.textNodeName]=r):r!==void 0&&(i[e.textNodeName]=r),i}function Hn(s){let e=Object.keys(s);for(let t=0;t<e.length;t++){let r=e[t];if(r!==":@")return r}}function jn(s,e,t,r){if(e){let i=Object.keys(e),n=i.length;for(let a=0;a<n;a++){let o=i[a];r.isArray(o,t+"."+o,!0,!0)?s[o]=[e[o]]:s[o]=e[o]}}}function Yn(s,e){let{textNodeName:t}=e,r=Object.keys(s).length;return!!(r===0||r===1&&(s[t]||typeof s[t]=="boolean"||s[t]===0))}var Le=class{constructor(e){this.externalEntities={},this.options=vi(e)}parse(e,t){if(typeof e!="string")if(e.toString)e=e.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(t){t===!0&&(t={});let n=xi(e,t);if(n!==!0)throw Error(`${n.err.msg}:${n.err.line}:${n.err.col}`)}let r=new ut(this.options);r.addExternalEntities(this.externalEntities);let i=r.parseXml(e);return this.options.preserveOrder||i===void 0?i:vr(i,this.options)}addEntity(e,t){if(t.indexOf("&")!==-1)throw new Error("Entity value can\'t have \'&\'");if(e.indexOf("&")!==-1||e.indexOf(";")!==-1)throw new Error("An entity must be set without \'&\' and \';\'. Eg. use \'#xD\' for \'&#xD;\'");if(t==="&")throw new Error("An entity with value \'&\' is not permitted");this.externalEntities[e]=t}static getMetaDataSymbol(){return ce.getMetaDataSymbol()}};function Cr(s,e){let t="";return e.format&&e.indentBy.length>0&&(t=`\n`),Ai(s,e,"",t)}function Ai(s,e,t,r){let i="",n=!1;for(let a=0;a<s.length;a++){let o=s[a],l=Jn(o);if(l===void 0)continue;let c="";if(t.length===0?c=l:c=`${t}.${l}`,l===e.textNodeName){let p=o[l];Xn(c,e)||(p=e.tagValueProcessor(l,p),p=Ti(p,e)),n&&(i+=r),i+=p,n=!1;continue}else if(l===e.cdataPropName){n&&(i+=r),i+=`<![CDATA[${o[l][0][e.textNodeName]}]]>`,n=!1;continue}else if(l===e.commentPropName){i+=r+`<!--${o[l][0][e.textNodeName]}-->`,n=!0;continue}else if(l[0]==="?"){let p=Si(o[":@"],e),b=l==="?xml"?"":r,C=o[l][0][e.textNodeName];C=C.length!==0?" "+C:"",i+=b+`<${l}${C}${p}?>`,n=!0;continue}let d=r;d!==""&&(d+=e.indentBy);let h=Si(o[":@"],e),f=r+`<${l}${h}`,u=Ai(o[l],e,c,d);e.unpairedTags.indexOf(l)!==-1?e.suppressUnpairedNode?i+=f+">":i+=f+"/>":(!u||u.length===0)&&e.suppressEmptyNode?i+=f+"/>":u&&u.endsWith(">")?i+=f+`>${u}${r}</${l}>`:(i+=f+">",u&&r!==""&&(u.includes("/>")||u.includes("</"))?i+=r+e.indentBy+u+r:i+=u,i+=`</${l}>`),n=!0}return i}function Jn(s){let e=Object.keys(s);for(let t=0;t<e.length;t++){let r=e[t];if(s.hasOwnProperty(r)&&r!==":@")return r}}function Si(s,e){let t="";if(s&&!e.ignoreAttributes)for(let r in s){if(!s.hasOwnProperty(r))continue;let i=e.attributeValueProcessor(r,s[r]);i=Ti(i,e),i===!0&&e.suppressBooleanAttributes?t+=` ${r.substr(e.attributeNamePrefix.length)}`:t+=` ${r.substr(e.attributeNamePrefix.length)}="${i}"`}return t}function Xn(s,e){s=s.substr(0,s.length-e.textNodeName.length-1);let t=s.substr(s.lastIndexOf(".")+1);for(let r in e.stopNodes)if(e.stopNodes[r]===s||e.stopNodes[r]==="*."+t)return!0;return!1}function Ti(s,e){if(s&&s.length>0&&e.processEntities)for(let t=0;t<e.entities.length;t++){let r=e.entities[t];s=s.replace(r.regex,r.val)}return s}var Qn={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(s,e){return e},attributeValueProcessor:function(s,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("\'","g"),val:"&apos;"},{regex:new RegExp(\'"\',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function ge(s){this.options=Object.assign({},Qn,s),this.options.ignoreAttributes===!0||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn=ht(this.options.ignoreAttributes),this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=eo),this.processTextOrObjNode=qn,this.options.format?(this.indentate=Kn,this.tagEndChar=`>\n`,this.newLine=`\n`):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}ge.prototype.build=function(s){return this.options.preserveOrder?Cr(s,this.options):(Array.isArray(s)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(s={[this.options.arrayNodeName]:s}),this.j2x(s,0,[]).val)};ge.prototype.j2x=function(s,e,t){let r="",i="",n=t.join(".");for(let a in s)if(Object.prototype.hasOwnProperty.call(s,a))if(typeof s[a]>"u")this.isAttribute(a)&&(i+="");else if(s[a]===null)this.isAttribute(a)||a===this.options.cdataPropName?i+="":a[0]==="?"?i+=this.indentate(e)+"<"+a+"?"+this.tagEndChar:i+=this.indentate(e)+"<"+a+"/"+this.tagEndChar;else if(s[a]instanceof Date)i+=this.buildTextValNode(s[a],a,"",e);else if(typeof s[a]!="object"){let o=this.isAttribute(a);if(o&&!this.ignoreAttributesFn(o,n))r+=this.buildAttrPairStr(o,""+s[a]);else if(!o)if(a===this.options.textNodeName){let l=this.options.tagValueProcessor(a,""+s[a]);i+=this.replaceEntitiesValue(l)}else i+=this.buildTextValNode(s[a],a,"",e)}else if(Array.isArray(s[a])){let o=s[a].length,l="",c="";for(let d=0;d<o;d++){let h=s[a][d];if(!(typeof h>"u"))if(h===null)a[0]==="?"?i+=this.indentate(e)+"<"+a+"?"+this.tagEndChar:i+=this.indentate(e)+"<"+a+"/"+this.tagEndChar;else if(typeof h=="object")if(this.options.oneListGroup){let f=this.j2x(h,e+1,t.concat(a));l+=f.val,this.options.attributesGroupName&&h.hasOwnProperty(this.options.attributesGroupName)&&(c+=f.attrStr)}else l+=this.processTextOrObjNode(h,a,e,t);else if(this.options.oneListGroup){let f=this.options.tagValueProcessor(a,h);f=this.replaceEntitiesValue(f),l+=f}else l+=this.buildTextValNode(h,a,"",e)}this.options.oneListGroup&&(l=this.buildObjectNode(l,a,c,e)),i+=l}else if(this.options.attributesGroupName&&a===this.options.attributesGroupName){let o=Object.keys(s[a]),l=o.length;for(let c=0;c<l;c++)r+=this.buildAttrPairStr(o[c],""+s[a][o[c]])}else i+=this.processTextOrObjNode(s[a],a,e,t);return{attrStr:r,val:i}};ge.prototype.buildAttrPairStr=function(s,e){return e=this.options.attributeValueProcessor(s,""+e),e=this.replaceEntitiesValue(e),this.options.suppressBooleanAttributes&&e==="true"?" "+s:" "+s+\'="\'+e+\'"\'};function qn(s,e,t,r){let i=this.j2x(s,t+1,r.concat(e));return s[this.options.textNodeName]!==void 0&&Object.keys(s).length===1?this.buildTextValNode(s[this.options.textNodeName],e,i.attrStr,t):this.buildObjectNode(i.val,e,i.attrStr,t)}ge.prototype.buildObjectNode=function(s,e,t,r){if(s==="")return e[0]==="?"?this.indentate(r)+"<"+e+t+"?"+this.tagEndChar:this.indentate(r)+"<"+e+t+this.closeTag(e)+this.tagEndChar;{let i="</"+e+this.tagEndChar,n="";return e[0]==="?"&&(n="?",i=""),(t||t==="")&&s.indexOf("<")===-1?this.indentate(r)+"<"+e+t+n+">"+s+i:this.options.commentPropName!==!1&&e===this.options.commentPropName&&n.length===0?this.indentate(r)+`<!--${s}-->`+this.newLine:this.indentate(r)+"<"+e+t+n+this.tagEndChar+s+this.indentate(r)+i}};ge.prototype.closeTag=function(s){let e="";return this.options.unpairedTags.indexOf(s)!==-1?this.options.suppressUnpairedNode||(e="/"):this.options.suppressEmptyNode?e="/":e=`></${s}`,e};ge.prototype.buildTextValNode=function(s,e,t,r){if(this.options.cdataPropName!==!1&&e===this.options.cdataPropName)return this.indentate(r)+`<![CDATA[${s}]]>`+this.newLine;if(this.options.commentPropName!==!1&&e===this.options.commentPropName)return this.indentate(r)+`<!--${s}-->`+this.newLine;if(e[0]==="?")return this.indentate(r)+"<"+e+t+"?"+this.tagEndChar;{let i=this.options.tagValueProcessor(e,s);return i=this.replaceEntitiesValue(i),i===""?this.indentate(r)+"<"+e+t+this.closeTag(e)+this.tagEndChar:this.indentate(r)+"<"+e+t+">"+i+"</"+e+this.tagEndChar}};ge.prototype.replaceEntitiesValue=function(s){if(s&&s.length>0&&this.options.processEntities)for(let e=0;e<this.options.entities.length;e++){let t=this.options.entities[e];s=s.replace(t.regex,t.val)}return s};function Kn(s){return this.options.indentBy.repeat(s)}function eo(s){return s.startsWith(this.options.attributeNamePrefix)&&s!==this.options.textNodeName?s.substr(this.attrPrefixLen):!1}var to={"&lt;":"<","&gt;":">","&amp;":"&","&quot;":\'"\',"&apos;":"\'"},ro=/&\\w+;/g,io=s=>s.replace(ro,e=>to[e]||e);var $t=io;var so=(s,e)=>$t(e);var Sr=s=>{if(s){if(Array.isArray(s))for(let e of s)Sr(e);else if(typeof s=="object")for(let[e,t]of Object.entries(s))if(e==="a$"){if(typeof t=="object"){let r={};for(let[i,n]of Object.entries(t))n!==void 0&&(r[i]=n);s[e]=r}}else Sr(t)}return s},Ii=s=>{let e=new ge(s),t=e.build;return e.build=r=>t.call(e,Sr(r)),e},Vt={ignoreAttributes:!1,attributesGroupName:"a$",attributeNamePrefix:"",textNodeName:"t$",trimValues:!1,ignoreDeclaration:!0,isArray:s=>/Relationship$/.test(s),tagValueProcessor:so},R=class{static FindChild(e={},t){let r=t.split("/");for(let i of r)if(e=e[i],!e)return;return e}static FindAll(e={},t){let r=t.split("/");if(r[0]==="."&&r.shift(),r[0]==="..")throw new Error("invalid path (no access to parent)");if(r[0]==="")throw new Error("invalid path (no access to root)");if(r[0]==="**")throw new Error("ENOTIMPL");return this.FindAllTail(e,r)}static FindAllTail(e,t){if(Array.isArray(e))return e.reduce((r,i)=>r.concat(this.FindAllTail(i,t)),[]);for(let r=0;r<t.length;r++){let i=t[r];if(i==="*"?e=Object.entries(e).reduce((a,[o,l])=>(o!=="a$"&&o!=="t$"&&a.push(l),a),[]):e=e[i],!e)return[];if(Array.isArray(e)){if(r===t.length-1||e.length===0)return e;let n=t.slice(1);return e.reduce((a,o)=>a.concat(this.FindAllTail(o,n)),[])}}return[e]}};var Je=class{strings=[];reverse={};FromXML(e){this.strings=[],this.reverse={};let t=0;for(let r of R.FindAll(e,"sst/si")){if(r.t!==void 0){let i="";typeof r.t=="string"?i=r.t:r.t.t$&&(i=r.t.t$),this.strings[t]=i,this.reverse[i]=t}else if(r.r){let n=R.FindAll(r.r,"t").map(a=>typeof a=="string"?a:a.t$||"").join("");this.strings[t]=n,this.reverse[n]=t}else console.warn(` ** unexpected shared string @ ${t}`),console.info(r);t++}}Get(e){return this.strings[e]}Ensure(e){e[0]==="\'"&&(e=e.substring(1));let t=this.reverse[e];return typeof t=="number"||(t=this.strings.length,this.strings.push(e),this.reverse[e]=t),t}};var Ue=class s{static color_map=["lt1","dk1","lt2","dk2","accent1","accent2","accent3","accent4","accent5","accent6","hlink","folHlink"];colors={};FromXML(e){let t=Object.keys(e)[0],r="",i=t.toString().match(/^(.*?):/);if(i&&(r=i[1]+":"),e[t]&&e[t][`${r}themeElements`]){let n=e[t][`${r}themeElements`][`${r}clrScheme`];for(let a of s.color_map){let o=n[`${r}${a}`],l,c="rgb";o[`${r}srgbClr`]?(c="rgb",l=o[`${r}srgbClr`].a$.val||""):o[`${r}sysClr`]&&(c="system",l=o[`${r}sysClr`].a$.lastClr||""),this.colors[a]={name:a,value:l,type:c}}}}};var Ne=class{date_format=!1;string_format=!1;fraction_format=!1;twelve_hour=!1;fraction_denominator=0;fraction_integer=!0;fraction_align=0;fraction_denominator_digits=0;integer_min_digits=0;decimal_min_digits=0;decimal_max_digits=0;grouping=!1;has_number_format=!1;prefix=[{text:""}];suffix=[{text:""}];scaling=0;percent=!1;exponential=!1;has_asterisk=!1};var ki=42,Ri=95,Ar=63,Ot=48,Ei=46,Tr=44,Ni=37,Ir=34,ft=35,Mi=59,Zt=92,Fi=64,no=91,oo=93,Pi=69,Di=101,ao=72,lo=104,co=77,ho=109,uo=83,fo=115,po=68,mo=100,_o=89,bo=121,go=65,yo=97;var Bt=class{static date_pattern=!1;static pattern="";static char_index=0;static characters=[];static sections=[];static current_section=new Ne;static preserve_formatting_characters=!1;static decimal_mark=Ei;static group_separator=Tr;static Parse(e){if(this.pattern=e,this.characters=e.split("").map(t=>t.charCodeAt(0)),this.char_index=0,this.current_section=new Ne,this.sections=[this.current_section],this.ParseDatePattern())return this.sections;for(this.char_index=0,this.current_section=new Ne,this.sections=[this.current_section];this.char_index<this.characters.length;)this.ConsumeChar();return this.sections}static ConsumeString(){let e="";for(this.preserve_formatting_characters&&(e+=this.pattern[this.char_index]),++this.char_index;this.char_index<this.characters.length;this.char_index++)switch(this.characters[this.char_index]){case Zt:this.preserve_formatting_characters&&(e+=this.pattern[this.char_index]),this.char_index+1<this.characters.length&&(e+=this.pattern[++this.char_index]);break;case Ir:return this.preserve_formatting_characters&&(e+=this.pattern[this.char_index]),this.char_index++,e;default:e+=this.pattern[this.char_index];break}throw new Error("unterminated string")}static ConsumeFormatting(){let e="";for(++this.char_index;this.char_index<this.characters.length;this.char_index++)switch(this.characters[this.char_index]){case Zt:throw new Error("invalid escape character in formatting block");case oo:return this.char_index++,e;default:e+=this.pattern[this.char_index];break}throw new Error("unterminated format")}static ScanFractionFormat(){let e=/^([#?]+ +){0,1}([#?]+)\\/([#?0-9]+)(?:$|[^#?0-9])/,r=this.pattern.substr(this.char_index).match(e);if(!r)return!1;let i=(r[1]||"").length+r[2].length+r[3].length+1;this.current_section.fraction_format=!0,this.current_section.fraction_integer=!!r[1];let n=Number(r[3]);return isNaN(n)||(this.current_section.fraction_denominator=n),this.current_section.decimal_max_digits=this.current_section.fraction_denominator_digits=r[3].length,this.char_index+=i,this.current_section.has_number_format=!0,!0}static ConsumeNumberFormat(){let e=0;for(this.char_index;this.char_index<this.characters.length;this.char_index++)switch(this.characters[this.char_index]){case this.group_separator:{let r=!1;for(let i=this.char_index+1;!r&&i<this.characters.length;i++){let n=this.characters[i];if(n===this.decimal_mark||n===ft||n===Ot)r=!0;else if(n!==Tr)break}if(r){if(e===1)throw new Error("invalid grouping in decimal part");this.current_section.grouping=!0}else this.current_section.scaling=(this.current_section.scaling||1)*1e3}break;case this.decimal_mark:if(e===1)throw new Error("too many decimal marks");e=1;break;case ft:e===1?this.current_section.decimal_max_digits++:this.current_section.integer_min_digits&&this.current_section.integer_min_digits++;break;case Ot:e===1?(this.current_section.decimal_max_digits++,this.current_section.decimal_min_digits=this.current_section.decimal_max_digits):this.current_section.integer_min_digits++;break;default:return}}static AppendCharAsText(e=!0){this.current_section.has_number_format?this.current_section.suffix[this.current_section.suffix.length-1].text+=this.pattern[this.char_index]:this.current_section.prefix[this.current_section.prefix.length-1].text+=this.pattern[this.char_index],e&&this.char_index++}static AppendString(e){this.current_section.has_number_format?this.current_section.suffix[this.current_section.suffix.length-1].text+=e:this.current_section.prefix[this.current_section.prefix.length-1].text+=e}static AppendTextPart(e){this.current_section.has_number_format?(this.current_section.suffix.push(e),this.current_section.suffix.push({text:""})):(this.current_section.prefix.push(e),this.current_section.prefix.push({text:""}))}static ConsumeChar(){let e=this.characters[this.char_index];if(!((e===Ar||e===ft)&&!this.current_section.has_number_format&&!this.current_section.string_format&&this.ScanFractionFormat()))switch(e){case Mi:this.char_index++,this.current_section=new Ne,this.sections.length===3&&(this.current_section.string_format=!0),this.sections.push(this.current_section);break;case Fi:this.char_index++,this.AppendTextPart({text:"@",flag:5}),this.current_section.string_format=!0;break;case Ot:case ft:case Ei:case Tr:!this.current_section.has_number_format&&!this.current_section.string_format?(this.ConsumeNumberFormat(),this.current_section.has_number_format=!0):this.AppendCharAsText();break;case no:this.AppendTextPart({text:this.ConsumeFormatting(),flag:6});break;case Ir:this.AppendString(this.ConsumeString());break;case Ar:this.preserve_formatting_characters?this.AppendCharAsText():(this.AppendTextPart({text:"0",flag:1}),this.char_index++);break;case Ri:if(this.preserve_formatting_characters)this.AppendCharAsText();else{if(++this.char_index>=this.characters.length)throw new Error("invalid pad character at end");this.AppendTextPart({text:this.pattern[this.char_index++],flag:1})}break;case ki:if(this.current_section.has_asterisk)throw new Error("we don\'t support multiple asterisks");if(this.preserve_formatting_characters)this.AppendCharAsText();else{if(++this.char_index>=this.characters.length)throw new Error("invalid pad character at end");this.AppendTextPart({text:this.pattern[this.char_index++],flag:2}),this.current_section.has_asterisk=!0}break;case Di:case Pi:this.current_section.percent||this.current_section.exponential||this.current_section.string_format?this.AppendCharAsText():(this.current_section.exponential=!0,this.char_index++);break;case Ni:!this.current_section.exponential&&!this.current_section.string_format&&(this.current_section.percent=!0),this.AppendCharAsText();break;case Zt:if(this.preserve_formatting_characters&&this.AppendCharAsText(!1),++this.char_index>=this.characters.length)throw new Error("invalid escape character at end");this.AppendCharAsText();break;default:this.AppendCharAsText()}}static ParseDatePattern(){for(this.date_pattern=!0;this.date_pattern&&this.char_index<this.pattern.length;)this.DatePatternConsumeChar();if(this.date_pattern){this.date_pattern=!1;for(let e of this.sections)for(let t of e.prefix)t.flag&&t.flag&7&&(this.date_pattern=!0)}return this.date_pattern&&(this.sections[0].date_format=!0,this.sections[0].prefix.forEach((e,t)=>{if(e.flag===3&&(e.text==="mm"||e.text==="m")){if(t)for(let r=t-1;r;r--){let i=this.sections[0].prefix[r];if(i.flag===3){/h/i.test(i.text)&&(e.flag=4,e.text=e.text.toLowerCase());break}}if(t<this.sections[0].prefix.length-1)for(let r=t+1;r<this.sections[0].prefix.length;r++){let i=this.sections[0].prefix[r];if(i.flag===3){/s/i.test(i.text)&&(e.flag=4,e.text=e.text.toLowerCase());break}}}})),this.date_pattern}static ConsumeDatePart(){let e=this.pattern[this.char_index++],t=e.toLowerCase(),r={text:e,flag:3};for(;this.pattern[this.char_index]&&this.pattern[this.char_index].toLowerCase()===t;)r.text+=this.pattern[this.char_index++];if(t==="s"&&this.pattern[this.char_index]===".")for(r.text+=this.pattern[this.char_index++];this.pattern[this.char_index]==="0";)r.text+=this.pattern[this.char_index++];return r}static ConsumeAMPM(){let e=this.pattern.substr(this.char_index,5);if(e==="am/pm"||e==="AM/PM")return this.char_index+=5,this.sections[0].twelve_hour=!0,{text:e,flag:3};if(e=this.pattern.substr(this.char_index,3),e==="a/p"||e==="A/P")return this.char_index+=3,this.sections[0].twelve_hour=!0,{text:e,flag:3}}static DatePatternConsumeChar(){switch(this.characters[this.char_index]){case Mi:this.char_index=this.characters.length;break;case Ot:case ft:case Di:case Pi:case Ni:case Fi:this.date_pattern=!1;break;case ao:case lo:case co:case ho:case uo:case fo:case po:case mo:case _o:case bo:this.AppendTextPart(this.ConsumeDatePart());break;case go:case yo:{let t=this.ConsumeAMPM();t?this.AppendTextPart(t):this.AppendCharAsText()}break;case Ir:this.AppendString(this.ConsumeString());break;case Ar:this.preserve_formatting_characters?this.AppendCharAsText():(this.AppendTextPart({text:"0",flag:1}),this.char_index++);break;case Ri:if(this.preserve_formatting_characters)this.AppendCharAsText();else{if(++this.char_index>=this.characters.length)throw new Error("invalid pad character at end");this.AppendTextPart({text:this.pattern[this.char_index++],flag:1})}break;case ki:if(this.current_section.has_asterisk)throw new Error("we don\'t support multiple asterisks");if(this.preserve_formatting_characters)this.AppendCharAsText();else{if(++this.char_index>=this.characters.length)throw new Error("invalid pad character at end");this.AppendTextPart({text:this.pattern[this.char_index++],flag:2}),this.current_section.has_asterisk=!0}break;case Zt:if(this.preserve_formatting_characters&&this.AppendCharAsText(!1),++this.char_index>=this.characters.length)throw new Error("invalid escape character at end");this.AppendCharAsText();break;default:this.AppendCharAsText()}}};var wo=s=>(s>=60&&s--,new Date(-22090752e5+864e5*s)),Li=(s,e=!0)=>{if(e){let t=new Date(s);s=new Date(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()).getTime()}return s=(s+22090752e5)/864e5,s>=60&&s++,s},Xe=class s{static grouping_regexp=/\\d{1,3}(?=(\\d{3})+(?!\\d))/g;static fraction_limits=[9,99,999,9999];static imaginary_character="\\u{1D456}";static minus_character="-";magic_decimal=!1;transform_value;_pattern="";sections;decimal_zero_regexp=[];cloned=[];get pattern(){return this._pattern}get date_format(){return this.sections[0]&&this.sections[0].date_format}constructor(e){if(this._pattern=e,this.sections=Bt.Parse(e),this.sections.length||(this.sections=[]),this.sections[0]||(this.sections[0]=new Ne),this.sections[1]||(this.sections[1]={...this.sections[0]},this.sections[1].prefix=JSON.parse(JSON.stringify(this.sections[1].prefix)),this.sections[1].suffix=JSON.parse(JSON.stringify(this.sections[1].suffix)),this.sections[1].prefix.push({text:"-"}),this.cloned[1]=!0),this.sections[2]||(this.sections[2]={...this.sections[0]},this.cloned[2]=!0),!this.sections[3]){for(let t of this.sections[0].prefix)if(t.flag===5){this.sections[3]={...this.sections[0]},this.sections[3].string_format=!0,this.cloned[3]=!0;break}}this.decimal_zero_regexp=this.sections.map(t=>{if(t.decimal_max_digits>t.decimal_min_digits)return new RegExp(`0{1,${t.decimal_max_digits-t.decimal_min_digits}}(?:$|e)`)})}static FormatPartsAsText(e,t=0){let r=-1,i=e.map((n,a)=>{switch(n.flag){case 2:return r=a,n.text;case 1:return n.text.replace(/./g," ");case 6:return"";default:return n.text}});if(r>=0&&t){let n=i.reduce((o,l,c)=>c===r?o:o+l.length,0),a="";for(let o=0;o<t-n;o++)a+=i[r];i[r]=a}return i.join("")}SetDecimal(e){for(let t of this.sections)t.fraction_format||(t.decimal_min_digits=e,t.decimal_max_digits=e)}IncreaseDecimal(){this.sections.forEach(e=>{e.fraction_format?e.fraction_denominator||(e.fraction_denominator_digits=Math.min(e.fraction_denominator_digits+1,4)):(e.decimal_min_digits++,e.decimal_max_digits=e.decimal_min_digits)})}DecreaseDecimal(){this.sections.forEach(e=>{e.fraction_format?e.fraction_denominator||(e.fraction_denominator_digits=Math.max(e.fraction_denominator_digits-1,1)):(e.decimal_min_digits=Math.max(0,e.decimal_min_digits-1),e.decimal_max_digits=e.decimal_min_digits)})}AddGrouping(){this.sections.forEach(e=>{e.grouping=!0})}RemoveGrouping(){this.sections.forEach(e=>{e.grouping=!1})}ToggleGrouping(){let e=!this.sections[0].grouping;this.sections.forEach(t=>{t.grouping=e})}toString(){return this.sections[0].date_format?this._pattern:this.sections.filter((e,t)=>!this.cloned[t]).map(e=>{let t="",r=0;if(e.fraction_format){e.fraction_integer&&(t+="? ");let i="";for(let n=0;n<e.fraction_denominator_digits;n++)i+="#";t+=i,t+="/",e.fraction_denominator?t+=e.fraction_denominator:t+=i}else if(e.has_number_format){for(r=0;r<e.integer_min_digits;r++)t+="0";if(e.grouping&&(t.length<4&&(t=("####"+t).slice(-4)),t=t.replace(/[\\d#]{1,3}(?=([\\d#]{3})+(?![\\d#]))/g,"$&,")),e.decimal_max_digits||e.decimal_min_digits){for(t+=".",r=0;r<e.decimal_min_digits;r++)t+="0";for(;r<e.decimal_max_digits;r++)t+="#"}if(e.scaling){let i=Math.log10(e.scaling)/3;for(r=0;r<i;r++)t+=","}e.exponential&&(t+="e")}return e.prefix.map(i=>i.flag===1?i.text==="0"?"?":"_"+i.text:i.flag===2?"*"+i.text:i.flag===6?"["+i.text+"]":i.text).join("")+t+e.suffix.map(i=>i.flag===1?i.text==="0"?"?":"_"+i.text:i.flag===2?"*"+i.text:i.text).join("")}).join(";")}FormatDimensionedQuantity(e){if(this.transform_value){let r=this.transform_value(e);if(Nt(r))e=r;else return typeof r=="string"?r:this.FormatParts(r)}let t=this.FormatParts(e.value||0);return e.unit&&t.push({text:" "},{text:e.unit}),t}FormatComplex(e){if(e.imaginary===1/0||e.imaginary===-1/0||e.real===1/0||e.real===-1/0)return[{text:"Infinity"}];let t=[],r=[],i=!1,n=!!e.imaginary;n&&(t=this.FormatParts(e.imaginary),n=t.some(l=>/[1-9]/.test(l.text)),t.length===1&&this.sections[0].integer_min_digits<=1&&t[0].text==="1"?(t[0].text="",i=!0):t.length===1&&this.sections[1].integer_min_digits<=1&&t[0].text==="-1"&&(t[0].text="-",i=!0));let a=!!e.real;a&&(r=this.FormatParts(e.real),a=r.some(l=>/[1-9]/.test(l.text)));let o=[];if(a||!a&&!n){if(o.push(...r),n){o.push({text:e.imaginary<0?` ${s.minus_character} `:" + "});let l=i?[]:this.FormatParts(Math.abs(e.imaginary));o.push(...l,{text:s.imaginary_character})}}else n&&o.push(...t,{text:s.imaginary_character});return o}FormatParts(e){if(typeof e!="number"&&!this.sections[3])return[{text:(e??"").toString()}];let{parts:t,section:r}=this.BaseFormat(e),i=[];if(r.date_format||r.string_format)for(let n of t)typeof n=="string"?i.push({text:n}):i.push(n);else this.magic_decimal&&t[1]===""&&t.splice(1,1),i=[...r.prefix.map(n=>({...n})),{text:r.has_number_format?t.join(U.decimal_separator):""},...r.suffix.map(n=>({...n}))];for(let n=1;n<i.length;n++)i[n].flag===i[n-1].flag&&(i[n].text=i[n-1].text+i[n].text,i[n-1].text="");return i.filter(n=>n.text)}Format(e,t=0){return s.FormatPartsAsText(this.FormatParts(e),t)}ZeroPad(e,t){for(;e.length<t;)e="0"+e;return e}DateFormat(e){let t=wo(e),r=this.sections[0],i=t.getUTCHours();return r.twelve_hour&&(i>12&&(i-=12),i===0&&(i=12)),{parts:r.prefix.map(a=>{if(a.flag===4)return a.text==="mm"?{text:this.ZeroPad(t.getUTCMinutes().toString(),2)}:{text:this.ZeroPad(t.getUTCMinutes().toString(),1)};if(a.flag===3){switch(a.text.toLowerCase()){case"am/pm":case"a/p":{let l=a.text.split("/");return{text:t.getUTCHours()>12?l[1]:l[0]}}case"mmmmm":return{text:U.date_components.long_months[t.getUTCMonth()][0]};case"mmmm":return a.text==="MMMM"?{text:U.date_components.long_months[t.getUTCMonth()].toUpperCase()}:{text:U.date_components.long_months[t.getUTCMonth()]};case"mmm":return a.text==="MMM"?{text:U.date_components.short_months[t.getUTCMonth()].toUpperCase()}:{text:U.date_components.short_months[t.getUTCMonth()]};case"mm":return{text:this.ZeroPad((t.getUTCMonth()+1).toString(),2)};case"m":return{text:this.ZeroPad((t.getUTCMonth()+1).toString(),1)};case"ddddd":case"dddd":return a.text==="DDDDD"||a.text==="DDDD"?{text:U.date_components.long_days[t.getUTCDay()].toUpperCase()}:{text:U.date_components.long_days[t.getUTCDay()]};case"ddd":return a.text==="DDD"?{text:U.date_components.short_days[t.getUTCDay()].toUpperCase()}:{text:U.date_components.short_days[t.getUTCDay()]};case"dd":return{text:this.ZeroPad(t.getUTCDate().toString(),2)};case"d":return{text:this.ZeroPad(t.getUTCDate().toString(),1)};case"yyyy":case"yyy":return{text:t.getUTCFullYear().toString()};case"yy":case"y":return{text:this.ZeroPad((t.getUTCFullYear()%100).toString(),2)};case"hh":return{text:this.ZeroPad(i.toString(),2)};case"h":return{text:this.ZeroPad(i.toString(),1)};case"ss":return{text:this.ZeroPad(t.getUTCSeconds().toString(),2)};case"s":return{text:this.ZeroPad(t.getUTCSeconds().toString(),1)}}let o=a.text.match(/^(s+)\\.(0+)$/);if(o)return{text:this.ZeroPad(t.getUTCSeconds().toString(),o[1].length)+U.decimal_separator+(t.getUTCMilliseconds()/1e3).toFixed(o[2].length).substr(2)}}return{...a}}),section:r}}StringFormat(e,t){let r=[];for(let i of t.prefix)i.flag===5?r.push({text:e}):r.push({...i});return{parts:r,section:t}}Round2(e,t){let r=Math.pow(10,t);return Math.round(r*e)/r}FormatFraction(e,t){t.percent&&(e*=100);let r={denominator:1,numerator:Math.round(e),error:Math.abs(Math.round(e)-e)};if(t.fraction_denominator)r.denominator=t.fraction_denominator,r.numerator=Math.round(e*r.denominator);else if(r.error){let n=s.fraction_limits[t.fraction_denominator_digits-1]||s.fraction_limits[0];for(let a=2;a<=n;a++){let o=Math.round(e*a),l=Math.abs(o/a-e);if(l<r.error&&(r={numerator:o,denominator:a,error:l},!l))break}}let i=[];if(t.fraction_integer){let n=Math.floor(r.numerator/r.denominator);r.numerator%=r.denominator,(n||!r.numerator)&&(i.push(n.toString()),r.numerator&&i.push(" "))}else r.numerator||i.push("0");return r.numerator&&(i.push(r.numerator.toString()),i.push("/"),i.push(r.denominator.toString())),i.join("")}BaseFormat(e){if(this.sections[0].date_format)return this.DateFormat(Number(e));if(typeof e!="number")return this.StringFormat((e??"").toString(),this.sections[3]);let t=this.sections[0],r=this.decimal_zero_regexp[0];e<0&&(t=this.sections[1]);let i=t.percent?t.decimal_max_digits+2:t.decimal_max_digits,n=Math.pow(10,-i)/2,a=Math.abs(e);if(a<n&&(t=this.sections[2],r=this.decimal_zero_regexp[2]),t.scaling&&(a/=t.scaling,a<n&&(t=this.sections[2],r=this.decimal_zero_regexp[2])),t.string_format)return this.StringFormat(e.toString(),t);let o="";if(t.fraction_format)return{parts:[this.FormatFraction(a,t)],section:t};t.exponential?o=a.toExponential(t.decimal_max_digits):(t.percent&&(a*=100),o=this.Round2(a,t.decimal_max_digits).toFixed(t.decimal_max_digits)),r&&(o=o.replace(r,""));let l=o.split(".");for(;l[0].length<t.integer_min_digits;)l[0]=("0000000000000000"+l[0]).slice(-t.integer_min_digits);return t.integer_min_digits===0&&l[0]==="0"&&(l[0]=""),t.grouping&&(l[0]=l[0].replace(s.grouping_regexp,"$&"+U.grouping_separator)),{parts:l,section:t}}};var pt=class{static cache={};static complex_general;static symbolc_name_map={};static base_formats={Accounting:"_(#,##0.00_);(#,##0.00);-???",Number:"0.00",Integer:"0",Percent:"0.00%",General:"0.######",Fraction:"# ?/?",Dollar:"$* _(#,##0.00_);$* (#,##0.00);$* -???",Exponential:"0.000e","Short Date":"mm/dd/yy","Long Date":"dddd, mmm d yyyy",Timestamp:"mm-dd-yy hh:mm:ss"};static aliases={Scientific:"Exponential",Percentage:"Percent",Currency:"Dollar"};static Get(e,t=!1){if(t&&e==="General")return this.complex_general;let r=this.symbolc_name_map[e.toLowerCase()],i=this.cache[r||e];return i||(i=new Xe(e),this.cache[e]=i),i}static Equals(e,t){if(e===t)return!0;let r=this.Get(e),i=this.Get(t);return r.pattern===i.pattern}static Translate(e){let t=this.symbolc_name_map[e.toLowerCase()];return t?this.cache[t].toString():e}static SymbolicName(e){for(let t of Object.keys(this.base_formats))if(e===this.base_formats[t])return t;return null}static InitCache(){for(let e of Object.keys(this.base_formats))this.cache[e]=new Xe(this.base_formats[e]),this.symbolc_name_map[e.toLowerCase()]=e;this.cache.General.magic_decimal=!0,this.complex_general=new Xe("0.###"),this.complex_general.magic_decimal=!0;for(let e of Object.keys(this.aliases))this.cache[e]=this.cache[this.aliases[e]],this.symbolc_name_map[e.toLowerCase()]=e}};pt.InitCache();var Ui=new Date().getUTCFullYear(),kr=class{compare_day;compare_month;TestDate(e){let t=Date.parse(e);if(isNaN(t))return!1;let r=new Date(t),n=e.replace(/[\\d\\-\\\\/,.\\s]+/g," ").toLocaleLowerCase().split(/\\s+/).map(l=>l.trim()).filter(l=>!!l);if(!n.length)return t;if(!this.compare_month){this.compare_month={};for(let l=0;l<12;l++)this.compare_month[U.date_components.long_months[l].toLocaleLowerCase().replace(/\\./,"")]=l,this.compare_month[U.date_components.short_months[l].toLocaleLowerCase().replace(/\\./,"")]=l}if(!this.compare_day){this.compare_day={};for(let l=0;l<7;l++)this.compare_day[U.date_components.long_days[l].toLocaleLowerCase().replace(/\\./,"")]=l,this.compare_day[U.date_components.short_days[l].toLocaleLowerCase().replace(/\\./,"")]=l}let a=!1,o=!1;for(let l of n){let c=!1;for(let[d,h]of Object.entries(this.compare_month))if(l===d){if(a||r.getUTCMonth()!==h)return!1;c=!0,a=!0}if(!c){for(let[d,h]of Object.entries(this.compare_day))if(l===d){if(o||r.getUTCDay()!==h)return!1;c=!0,o=!0}}if(!c)return!1}return o&&!a?!1:t}TryParse(e=""){let t={};if(e[0]==="\'")return{value:e,type:2};if(e==="")return{value:e,type:2};if(e==="NaN")return{value:NaN,type:3,hints:{Nan:!0}};let r=e.trim(),i=r.match(/^[$](.*?)$/);i&&(r=i[1],t.Currency=!0);let n=r.match(/^\\((.*?)\\)$/);n&&(r=n[1],t.Parens=!0);let a=r.match(/^(.*?)%\\s*$/);a&&(r=a[1],t.Percent=!0),U.decimal_separator==="."?/,/.test(r)&&(r=r.replace(/,/g,""),t.Grouping=!0):(r=r.replace(/(\\d)\\s+/g,"$1"),r=r.replace(/\\./g,""),r=r.replace(/,/,"."));let o=Number(r);if(o===null||isNaN(o)){let l=e.toLowerCase();if(l==="false")return{value:!1,type:4};if(l==="true")return{value:!0,type:4};let c=this.TestDate(e);if(c!==!1&&!isNaN(c)){let d=new Date(c),h=d.getUTCFullYear();if(h>=Ui-200&&h<=Ui+200)return t={Date:!0},(d.getHours()||d.getMinutes()||d.getSeconds())&&(t.Time=!0),{value:Li(c,!0),type:3,hints:t}}return{value:e,type:2}}if(n&&(o=-o),a){let l=o<0?-1:1,c=(l*o).toString().split(".");c[0]=("00"+c[0]).replace(/(\\d\\d)$/,".$1"),o=Number(c.join(""))*l}return/e/.test(e)&&(t.Exponential=!0),{value:o,type:3,hints:t}}},zf=new kr;var zi=11,Rr={top:{},left:{},bottom:{},right:{},diagonal:{}},Qe=class s{static default_styles={0:"General",1:"0",2:"0.00",3:"#,##0",4:"#,##0.00",9:"0%",10:"0.00%",11:"0.00E+00",12:"# ?/?",13:"# ??/??",14:"mm-dd-yy",15:"d-mmm-yy",16:"d-mmm",17:"mmm-yy",18:"h:mm AM/PM",19:"h:mm:ss AM/PM",20:"h:mm",21:"h:mm:ss",22:"m/d/yy h:mm",37:"#,##0 ;(#,##0)",38:"#,##0 ;[Red](#,##0)",39:"#,##0.00;(#,##0.00)",40:"#,##0.00;[Red](#,##0.00)",45:"mm:ss",46:"[h]:mm:ss",47:"mmss.0",48:"##0.0E+0",49:"@"};theme=new Ue;cell_xfs=[];fonts=[];borders=[];fills=[];number_formats=[];base_number_format_id=200;dxf_styles=[];modified=!1;Clamp(e,t,r){return Math.max(t,Math.min(e,r))}TintColor(e,t){let r=parseInt(e.substr(0,2),16),i=parseInt(e.substr(2,2),16),n=parseInt(e.substr(4,2),16);return t<0?(r=Math.round(r*t+r),i=Math.round(i*t+i),n=Math.round(n*t+n)):(r=Math.round((255-r)*t+r),i=Math.round((255-i)*t+i),n=Math.round((255-n)*t+n)),[r,i,n].map(a=>{let o=this.Clamp(a,0,255).toString(16);return o.length<2?"0"+o:o}).join("")}StyleOptionsFromProperties(e){let t=JSON.parse(JSON.stringify(e));for(let c of Object.keys(t))t[c]==="none"&&delete t[c];let r={},i={pattern_type:"none"},n=JSON.parse(JSON.stringify(Rr)),a={font:r,border:n};t.number_format&&(a.number_format={format:pt.Translate(t.number_format),symbolic_name:t.number_format},/Scientific/i.test(t.number_format)&&(a.number_format.format="0.00E+00")),t.font_size?.unit&&t.font_size.value&&(t.font_size.unit==="em"?r.size=t.font_size.value*zi:t.font_size.unit==="%"?r.size=t.font_size.value*zi/100:t.font_size.unit==="pt"?r.size=t.font_size.value:t.font_size.unit==="px"?r.size=t.font_size.value*.75:console.warn("Unhandled font size unit",t.font_size)),t.bold&&(r.bold=!0),t.italic&&(r.italic=!0),t.underline&&(r.underline=!0),t.text&&(Te(t.text)?r.color_argb=t.text.text:Ie(t.text)&&(r.color_theme=Ve(t.text),t.text.tint&&(r.color_tint=t.text.tint)));let o=(c,d)=>{c.width&&(d.style="thin",Te(c.color)?d.rgba=c.color.text:Ie(c.color)?(d.theme=Ve(c.color),c.color.tint&&(d.tint=c.color.tint)):d.color=64)},l=Ae.CompositeBorders(t);switch(o(l.top,n.top),o(l.left,n.left),o(l.right,n.right),o(l.bottom,n.bottom),t.vertical_align){case"top":a.vertical_alignment="top";break;case"middle":a.vertical_alignment="center";break}switch(t.horizontal_align){case"center":a.horizontal_alignment="center";break;case"left":a.horizontal_alignment="left";break;case"right":a.horizontal_alignment="right";break}return a.indent=t.indent,t.fill&&(i.pattern_type="solid",Te(t.fill)?(i.fg_color={argb:t.fill.text},a.fill=i):Ie(t.fill)&&(i.fg_color={theme:Ve(t.fill)},t.fill.tint&&(i.fg_color.tint=t.fill.tint),a.fill=i)),t.wrap&&(a.wrap=!0),a}CellXfToStyle(e){let t={},r=s.default_styles[e.number_format];if(!r){for(let c of this.number_formats)if(c.id===e.number_format&&c.format){r=c.format;break}}if(r){let c=/\\[\\$(.)-[0-9A-Za-z]{1,4}\\]/g;r=r.replace(c,"$1");let d=/\\[\\$-[0-9A-Za-z]{1,4}\\]/g;r=r.replace(d,""),t.number_format=r}let i=this.fonts[0],n=this.fonts[e.font||0];n&&(n.bold&&(t.bold=!0),n.italic&&(t.italic=!0),n.underline&&(t.underline=!0),n.strike&&(t.strike=!0),i&&i.size&&n.size&&i.size!==n.size&&(t.font_size={value:100*n.size/i.size,unit:"%"}),n.color_argb?t.text={text:"#"+(n.color_argb.length>6?n.color_argb.substr(n.color_argb.length-6):n.color_argb)}:typeof n.color_theme=="number"&&(t.text={theme:n.color_theme}));let a=this.fills[e.fill||0];if(a&&a.pattern_type!=="none"){if(a.pattern_type==="gray"){let c=Math.round((a.pattern_gray||0)/1e3*255);t.fill={text:`rgb(${c}, ${c}, ${c})`}}a.pattern_type==="solid"&&a.fg_color&&(a.fg_color.argb?t.fill={text:"#"+(a.fg_color.argb.length>6?a.fg_color.argb.substr(a.fg_color.argb.length-6):a.fg_color.argb)}:typeof a.fg_color.theme=="number"&&(t.fill={theme:a.fg_color.theme},a.fg_color.tint&&(t.fill.tint=Math.round(a.fg_color.tint*1e3)/1e3)))}switch(e.horizontal_alignment){case"center":t.horizontal_align="center";break;case"right":t.horizontal_align="right";break;case"left":t.horizontal_align="left";break}switch(e.vertical_alignment){case"center":t.vertical_align="middle";break;case"top":t.vertical_align="top";break;case"bottom":t.vertical_align="bottom";break}t.indent=typeof e.indent=="string"?Number(e.indent):e.indent,e.wrap_text&&(t.wrap=!0);let o=c=>{if(typeof c.theme<"u")return{theme:c.theme,tint:c.tint}},l=this.borders[e.border||0];return l&&(l.bottom.style&&(l.bottom.style==="double"?t.border_bottom=2:t.border_bottom=1,t.border_bottom_fill=o(l.bottom)),l.left.style&&(t.border_left=1,t.border_left_fill=o(l.left)),l.top.style&&(t.border_top=1,t.border_top_fill=o(l.top)),l.right.style&&(t.border_right=1,t.border_right_fill=o(l.right))),t}CellXfToStyles(){return this.cell_xfs.map(e=>this.CellXfToStyle(e))}EnsureNumberFormat(e){if(typeof e.format>"u"||e.symbolic_name&&/^general$/i.test(e.symbolic_name))return 0;for(let r=0;r<100;r++){let i=s.default_styles[r];if(i&&i===e.format)return r}for(let r of this.number_formats)if(r.format===e.format)return r.id||0;this.modified=!0;let t={id:this.base_number_format_id++,format:e.format};return this.number_formats.push(t),t.id}CompareBorderEdge(e,t){return e.color===t.color&&e.rgba===t.rgba&&e.style===t.style&&e.theme===t.theme&&e.tint===t.tint}CompareBorder(e,t){return this.CompareBorderEdge(e.top,t.top)&&this.CompareBorderEdge(e.left,t.left)&&this.CompareBorderEdge(e.bottom,t.bottom)&&this.CompareBorderEdge(e.right,t.right)&&this.CompareBorderEdge(e.diagonal,t.diagonal)}EnsureBorder(e){for(let r=0;r<this.borders.length;r++){let i=this.borders[r];if(this.CompareBorder(i,e))return r}this.modified=!0;let t=JSON.parse(JSON.stringify(e));return this.borders.push(t),this.borders.length-1}MatchColor(e,t){return!e&&!t?!0:!e||!t?!1:e.argb===t.argb&&e.indexed===t.indexed&&e.theme===t.theme&&e.tint===t.tint}EnsureFill(e){for(let r=0;r<this.fills.length;r++){let i=this.fills[r];if(this.MatchColor(e.bg_color,i.bg_color)&&this.MatchColor(e.fg_color,i.fg_color)&&e.pattern_gray===i.pattern_gray&&e.pattern_type===i.pattern_type)return r}this.modified=!0;let t={...e};return this.fills.push(t),this.fills.length-1}EnsureFont(e){let t={...this.fonts[0],...e};for(let r=0;r<this.fonts.length;r++){let i=this.fonts[r];if(i.bold===t.bold&&i.italic===t.italic&&i.underline===t.underline&&i.size===t.size&&i.strike===t.strike&&i.color_argb===t.color_argb&&i.color_theme===t.color_theme&&i.color_tint===t.color_tint&&i.family===t.family)return r}return this.modified=!0,this.fonts.push(t),this.fonts.length-1}EnsureStyle(e){let t=this.EnsureFont(e.font||{}),r=this.EnsureBorder(e.border||Rr),i=this.EnsureNumberFormat(e.number_format||{}),n=this.EnsureFill(e.fill||{pattern_type:"none"});for(let o=0;o<this.cell_xfs.length;o++){let l=this.cell_xfs[o];if(l.font===t&&l.fill===n&&l.border===r&&l.number_format===i&&!!l.wrap_text==!!e.wrap&&l.indent===e.indent&&(!e.horizontal_alignment&&!l.horizontal_alignment||e.horizontal_alignment===l.horizontal_alignment)&&(!e.vertical_alignment&&!l.vertical_alignment||e.vertical_alignment===l.vertical_alignment))return o}this.modified=!0;let a={font:t,fill:n,border:r,number_format:i,indent:e.indent};return e.horizontal_alignment&&(a.horizontal_alignment=e.horizontal_alignment),e.vertical_alignment&&(a.vertical_alignment=e.vertical_alignment),e.wrap&&(a.wrap_text=!0),this.cell_xfs.push(a),this.cell_xfs.length-1}FromXML(e,t){let r=R.FindAll.bind(R,e);this.theme=t;let i=r("styleSheet/numFmts/numFmt");this.number_formats=i.map(d=>({id:Number(d.a$?.numFmtId||0),format:$t(d.a$?.formatCode||"")})),i=r("styleSheet/borders/border");let n=(d,h)=>{d?.a$&&(h.style=d.a$.style,typeof d.color=="object"&&(typeof d.color.a$?.indexed<"u"&&(h.color=Number(d.color.a$.indexed)),typeof d.color.a$?.theme<"u"&&(h.theme=Number(d.color.a$.theme)),typeof d.color.a$?.tint<"u"&&(h.tint=Number(d.color.a$.tint))))};this.borders=i.map(d=>{let h=JSON.parse(JSON.stringify(Rr));return n(d.left,h.left),n(d.right,h.right),n(d.top,h.top),n(d.bottom,h.bottom),h}),i=r("styleSheet/cellXfs/xf"),this.cell_xfs=i.map(d=>{let h={number_format:Number(d.a$.numFmtId),font:Number(d.a$.fontId),fill:Number(d.a$.fillId),border:Number(d.a$.borderId),xfid:Number(d.a$.xfId)};return d.alignment&&(h.horizontal_alignment=d.alignment.a$.horizontal,h.vertical_alignment=d.alignment.a$.vertical,h.wrap_text=!!d.alignment.a$.wrapText,h.indent=d.alignment.a$.indent||void 0),h});let a=d=>{let h={pattern_type:"none"};if(d.patternFill){let f=d.patternFill.a$?.patternType;switch(f){case"none":case void 0:break;case"solid":h.pattern_type="solid",d.patternFill.fgColor&&(h.fg_color={theme:d.patternFill.fgColor.a$?.theme?Number(d.patternFill.fgColor.a$.theme):void 0,indexed:d.patternFill.fgColor.a$?.indexed?Number(d.patternFill.fgColor.a$.indexed):void 0,tint:d.patternFill.fgColor.a$?.tint?Number(d.patternFill.fgColor.a$.tint):void 0,argb:d.patternFill.fgColor.a$?.rgb});break;default:{let u=f?.match(/^gray(\\d+)$/);if(u){h.pattern_type="gray",h.pattern_gray=Number(u[1]);break}}}}return h};i=r("styleSheet/fills/fill"),this.fills=i.map(a);let o=d=>{let h={};return h.italic=typeof d.i<"u",h.bold=typeof d.b<"u",h.underline=typeof d.u<"u",h.strike=typeof d.strike<"u",d.sz&&(h.size=Number(d.sz.a$.val)),d.scheme&&(h.scheme=d.scheme.a$.val),d.name&&(h.name=d.name.a$.val),d.family&&(h.family=Number(d.family.a$.val)),d.color&&(d.color.a$?.theme&&(h.color_theme=Number(d.color.a$.theme)),d.color.a$?.tint&&(h.color_tint=Number(d.color.a$.tint)),d.color.a$?.rgb&&(h.color_argb=d.color.a$.rgb)),h};i=r("styleSheet/fonts/font"),this.fonts=i.map(o);let l=d=>{let h={};return d.a$.rgb?h.text="#"+d.a$.rgb.substring(2):d.a$.theme&&(h.theme=Number(d.a$.theme)||0,d.a$.tint&&(h.tint=Math.round(d.a$.tint*1e3)/1e3)),h},c=r("styleSheet/dxfs/dxf");this.dxf_styles=c.map(d=>{let h={};return d.font&&(h.bold=!!d.font.b,h.italic=!!d.font.i&&d.font.i.a$.val!=="0"),d.font?.color?.a$&&(h.text=l(d.font.color)),d.fill?.patternFill?.bgColor?.a$&&(h.fill=l(d.fill.patternFill.bgColor)),h})}};var me=(s,e,t,r)=>{let n=`rId${Object.keys(s).length+1}`;return s[n]={id:n,type:e,target:t,mode:r},n};var Gi={spreadsheet_semantics:!0,dimensioned_quantities:!1,fractions:!0,decimal_mark:".",argument_separator:",",boolean_true:"TRUE",boolean_false:"FALSE"};var $i=/[\\s-+=<>!()]/;var Er=34,Nr=39,vo=160,Vi=32,Co=9,So=10,Ao=13,Me=48,mt=57,Mr=46,Fr=43,_t=45,Oi=40,Pr=41,bt=44,To=37,Dr=95,Wt=36,Io=123,ko=125,gt=91,Zi=93,Ro=63,Eo=33,Bi=59,Lr=35,No=64,qe=65,yt=97,Mo=69,Fo=101,Ht=90,jt=122,Po=105,Ur=192,zr=382,Gr={"==":6,"!=":6,"<>":6,"=":6,"<":7,">":7,"<=":7,">=":7,"+":9,"-":9,"&":9,"*":10,"/":10,"^":11,":":13},Do={"@":50,"-":100,"+":100},Lo=[...Object.keys(Gr),"@"].sort((s,e)=>e.length-s.length),Ke=class{get argument_separator(){return this.flags.argument_separator}get decimal_mark(){return this.flags.decimal_mark}flags={...Gi};r1c1_regex=/[rR]((?:\\[[-+]{0,1}\\d+\\]|\\d*))[cC]((?:\\[[-+]{0,1}\\d+\\]|\\d*))$/;argument_separator_char=bt;decimal_mark_char=Mr;imaginary_char=Po;imaginary_number="i";id_counter=0;expression="";data=[];index=0;length=0;valid=!0;error_position;error;dependencies={addresses:{},ranges:{}};address_refcount={};full_reference_list=[];parser_state_cache=[];SetLocaleSettings(e,t){if(typeof t>"u"&&(t=e===","?";":","),t===e)throw new Error("invalid locale setting");this.flags.argument_separator=t,this.flags.decimal_mark=e}Save(){this.parser_state_cache.push(JSON.stringify(this.flags))}Restore(){let e=this.parser_state_cache.shift();if(e)try{this.flags=JSON.parse(e)}catch(t){console.error(t)}else console.warn("No parser state to restore")}Walk2(e,t){let r=t(e);if(typeof r=="object")return r;switch(e.type){case"address":case"missing":case"literal":case"complex":case"identifier":case"operator":case"structured-reference":break;case"dimensioned":r&&(e.expression=this.Walk2(e.expression,t),e.unit=this.Walk2(e.unit,t));break;case"range":t(e)&&(e.start=this.Walk2(e.start,t),e.end=this.Walk2(e.end,t));break;case"binary":t(e)&&(e.left=this.Walk2(e.left,t),e.right=this.Walk2(e.right,t));break;case"unary":t(e)&&(e.operand=this.Walk2(e.operand,t));break;case"group":t(e)&&(e.elements=e.elements.map(i=>this.Walk2(i,t)));break;case"implicit-call":t(e)&&(e.call=this.Walk2(e.call,t),e.args=e.args.map(i=>this.Walk2(i,t)));break;case"call":t(e)&&(e.args=e.args.map(i=>this.Walk2(i,t)));break}return e}Walk(e,t){switch(e.type){case"address":case"missing":case"literal":case"complex":case"identifier":case"operator":case"structured-reference":t(e);return;case"dimensioned":t(e)&&(this.Walk(e.expression,t),this.Walk(e.unit,t));return;case"range":t(e)&&(this.Walk(e.start,t),this.Walk(e.end,t));return;case"binary":t(e)&&(this.Walk(e.left,t),this.Walk(e.right,t));return;case"unary":t(e)&&this.Walk(e.operand,t);return;case"group":if(t(e))for(let r of e.elements)this.Walk(r,t);return;case"implicit-call":if(t(e)){this.Walk(e.call,t);for(let r of e.args)this.Walk(r,t)}return;case"call":if(t(e))for(let r of e.args)this.Walk(r,t)}}Transpose(e){let t=e.length,r=[],i=0;for(let n=0;n<t;n++)Array.isArray(e[n])&&(i=Math.max(i,e[n].length));for(let n=0;n<i;n++){r[n]=[];for(let a=0;a<t;a++)r[n][a]=e[a]?e[a][n]:void 0}return r}Render(e,t={}){let r=t.offset||{rows:0,columns:0},i=t.missing??"(missing)",{convert_decimal:n,convert_argument_separator:a,long_structured_references:o,table_name:l}=t,c=this.flags.argument_separator+" ";a===","?c=", ":a===";"&&(c="; ");let d=n===","?",":".",h=this.flags.decimal_mark===","?/,/:/\\./,f=this.flags.decimal_mark===","?/,/g:/\\./g;switch(e.type){case"address":return t.pass_through_addresses?e.label:t.r1c1?this.R1C1Label(e,t):this.AddressLabel(e,r);case"range":return t.pass_through_addresses?e.label:t.r1c1?this.R1C1Label(e.start,t)+":"+this.R1C1Label(e.end,t):this.AddressLabel(e.start,r)+":"+this.AddressLabel(e.end,r);case"missing":return i;case"array":return"{"+this.Transpose(e.values).map(u=>u.map(p=>typeof p=="string"?\'"\'+p+\'"\':p).join(", ")).join("; ")+"}";case"binary":{let u=e.operator===":"||e.operator==="^"?"":" ";return this.Render(e.left,t)+u+e.operator+u+this.Render(e.right,t)}case"unary":return e.operator+this.Render(e.operand,t);case"complex":if(e.text)return n?e.text.replace(f,d):e.text;{let u=Math.abs(e.imaginary).toString();if((n===","||this.flags.decimal_mark===",")&&(u=u.replace(/\\./,",")),e.real){let p=e.real.toString();(n===","||this.flags.decimal_mark===",")&&(p=p.replace(/\\./,","));let b=Math.abs(e.imaginary);return`${p}${e.imaginary<0?" - ":" + "}${b===1?"":u}i`}else return e.imaginary===-1?"-i":e.imaginary===1?"i":`${e.imaginary<0?"-":""}${u}i`}break;case"literal":if(typeof e.value=="string")return\'"\'+e.value.replace(/"/g,\'""\')+\'"\';if(typeof e.value=="boolean")return e.value?t.boolean_true||this.flags.boolean_true||"true":t.boolean_false||this.flags.boolean_false||"false";if(n&&typeof e.value=="number")if(e.text){let u=e.text;return n===","&&this.flags.decimal_mark==="."&&(u=u.replace(/,/g,"")),u.replace(h,d)}else return e.value.toString().replace(/\\./,d);else if(e.text)return e.text;return e.value.toString();case"identifier":return e.name;case"operator":return"["+e.operator+"]";case"group":return e.explicit?"("+e.elements.map(u=>this.Render(u,t)).join(c)+")":e.elements.map(u=>this.Render(u,t)).join(c);case"implicit-call":return this.Render(e.call,t)+"("+e.args.map(u=>this.Render(u,t)).join(c)+")";case"call":return e.name+"("+e.args.map(u=>this.Render(u,t)).join(c)+")";case"dimensioned":return this.Render(e.expression)+" "+this.Render(e.unit);case"structured-reference":{let u=e.column;/[^A-Za-z]/.test(u)&&(u="["+u+"]");let p=e.table;switch(!p&&o&&l&&(p=l),e.scope){case"all":return`${p}[[#all],${u}]`;case"row":return o?`${p}[[#this row],${u}]`:`${p}[@${u}]`;case"column":return`${p}[${u}]`}throw new Error("unhandled scope in structured reference")}}return"??"}Parse(e){switch(e=e.trim(),e[0]==="="&&(e=e.substr(1).trim()),this.expression=e,this.data=[],this.length=e.length,this.index=0,this.valid=!0,this.error_position=void 0,this.error=void 0,this.dependencies.addresses={},this.dependencies.ranges={},this.address_refcount={},this.full_reference_list=[],this.id_counter=0,this.flags.argument_separator){case";":this.argument_separator_char=Bi;break;default:this.argument_separator_char=bt;break}switch(this.flags.decimal_mark){case",":this.decimal_mark_char=bt;break;default:this.decimal_mark_char=Mr;break}for(let i=0;i<this.length;i++)this.data[i]=e.charCodeAt(i);let t=this.ParseGeneric(),r={};for(let i of Object.keys(this.dependencies.addresses))this.address_refcount[i]&&(r[i]=this.dependencies.addresses[i]);return this.dependencies.addresses=r,{expression:t||void 0,valid:this.valid,error:this.error,error_position:this.error_position,dependencies:this.dependencies,separator:this.flags.argument_separator,decimal_mark:this.flags.decimal_mark,full_reference_list:this.full_reference_list.slice(0)}}ColumnLabel(e){if(e===1/0)return"";let t=String.fromCharCode(65+e%26);for(;e>25;)e=Math.floor(e/26)-1,t=String.fromCharCode(65+e%26)+t;return t}R1C1Label(e,t){let r=!!t.r1c1_force_relative,i=t.r1c1_base,n="";e.sheet&&(n=($i.test(e.sheet)?"\'"+e.sheet+"\'":e.sheet)+"!");let a="",o="";if(r&&t.r1c1_proper_semantics&&i){if(e.absolute_row)a=(e.row+1).toString();else{let l=e.row-i.row;l&&(a=`[${l}]`)}if(e.absolute_column)o=(e.column+1).toString();else{let l=e.column-i.column;l&&(o=`[${l}]`)}}else if(r&&i){let l=e.row-i.row,c=e.column-i.column;l&&(a=`[${l}]`),c&&(o=`[${c}]`)}else a=e.offset_row?`[${e.row}]`:(e.row+1).toString(),o=e.offset_column?`[${e.column}]`:(e.column+1).toString();return n+=`R${a}C${o}`,n}AddressLabel(e,t){let r=e.column;!e.absolute_column&&e.column!==1/0&&(r+=t.columns);let i=e.row;if(!e.absolute_row&&e.row!==1/0&&(i+=t.rows),i<0||r<0||i===1/0&&r===1/0)return"#REF";let n="";return e.sheet&&(n=($i.test(e.sheet)?"\'"+e.sheet+"\'":e.sheet)+"!"),i===1/0?n+(e.absolute_column?"$":"")+this.ColumnLabel(r):r===1/0?n+(e.absolute_row?"$":"")+(i+1):n+(e.absolute_column?"$":"")+this.ColumnLabel(r)+(e.absolute_row?"$":"")+(i+1)+(e.spill?"#":"")}ParseGeneric(e=[0],t=!1){let r=[];for(;this.index<this.length;){let i=this.ParseNext(r.length===0);if(typeof i=="number"){if(e.some(n=>i===n))break;if(i===Oi){this.index++;let n=this.ParseGeneric([Pr],!0);this.index++,r.push({type:"group",id:this.id_counter++,elements:n?[n]:[],explicit:!0})}else{let n=this.ConsumeOperator();n?r.push(n):t&&i===this.argument_separator_char?(r.push({type:"group-separator",position:this.index,id:this.id_counter++}),this.index++):(this.error=`unexpected character [1]: ${String.fromCharCode(i)}, 0x${i.toString(16)}`,this.valid=!1,this.index++)}}else r.push(i)}if(r.length){if(r=this.BinaryToRange2(r),this.flags.fractions){let i=[],n=o=>o.type==="literal"&&typeof o.value=="number"&&o.value%1===0,a=0;for(;a<r.length-3;a++)if(n(r[a])&&n(r[a+1])&&r[a+2].type==="operator"&&r[a+2].operator==="/"&&n(r[a+3])){let o=r[a],l=r[a+1],c=r[a+3],d=(o.value<0?-1:1)*(l.value/c.value);a+=3,i.push({id:r[a].id,type:"literal",text:this.expression.substring(o.position,c.position+1),value:o.value+d,position:o.position})}else i.push(r[a]);for(;a<r.length;a++)i.push(r[a]);r=i}if(r=r.map(i=>i.type==="identifier"&&i.name===this.imaginary_number?{type:"complex",real:0,imaginary:1,position:i.position,text:i.name,id:this.id_counter++}:i),this.flags.dimensioned_quantities){let i=[],n;for(let a=0;a<r.length;a++){let o=r[a];if(!n)n=o;else if(o.type==="identifier"&&(n.type==="literal"||n.type==="group"||n.type==="call")){let l=o;for(;r[a+1]?.type==="identifier";)l.name+=" "+r[++a].name;i.push({type:"dimensioned",expression:n,unit:o,id:this.id_counter++}),n=void 0}else i.push(n),n=o}n&&i.push(n),r=i}}return r.length===0?null:r.length===1?r[0]:this.BinaryToComplex(this.ArrangeUnits(r))}UnitToAddress(e){if(e.type==="literal"){if(typeof e.value=="number"&&e.value>0&&!/\\./.test(e.text||""))return{type:"address",position:e.position,label:e.value.toString(),row:e.value-1,id:this.id_counter++,column:1/0}}else{let t,r=e.name,i=r.split("!");if(i.length>1&&(t=i.slice(0,i.length-1).join("!"),r=r.substr(t.length+1),t[0]==="\'"))if(t.length>1&&t[t.length-1]==="\'")t=t.substr(1,t.length-2);else return;let n=r[0]==="$";r=(n?r.substr(1):r).toUpperCase();let a=Number(r);if(isNaN(a)){if(/[A-Z]{1,3}/.test(r)){let o=-1;for(let l=0;l<r.length;l++){let c=r[l].charCodeAt(0);o=26*(1+o)+(c-qe)}return{type:"address",position:e.position,absolute_column:n,label:e.name,column:o,id:this.id_counter++,row:1/0,sheet:t}}}else if(a>0&&a!==1/0&&!/\\./.test(r))return{type:"address",position:e.position,absolute_row:n,label:e.name,row:a-1,id:this.id_counter++,column:1/0,sheet:t}}}BinaryToRange2(e){let t=[];for(let r=0;r<e.length;r++){let i=e[r],n=e[r+1],a=e[r+2],o,l="",c;if(i&&n&&a&&n.type==="operator"&&n.operator===":"){if(i.type==="address"&&a.type==="address"){let d=i.position+i.label.length,h=a.position;o={type:"range",id:this.id_counter++,position:i.position,start:i,end:a,label:i.label+this.expression.substring(d,h)+a.label},l=o.start.label+":"+o.end.label,this.address_refcount[o.start.label]--,this.address_refcount[o.end.label]--;let f=[i.position,a.position];this.full_reference_list=this.full_reference_list.filter(u=>u.position!==f[0]&&u.position!==f[1])}else if((i.type==="literal"||i.type==="identifier")&&(a.type==="literal"||a.type==="identifier")){let d=this.UnitToAddress(i);if(!d&&i.type==="literal"&&typeof i.value=="number"&&i.value<0){let f={...i,text:(i.text||"").replace(/^-/,""),position:i.position+1,value:-i.value};d=this.UnitToAddress(f),d&&(c={type:"operator",operator:"-",position:i.position,id:this.id_counter++})}let h=this.UnitToAddress(a);d&&h&&(d.column===1/0&&h.column===1/0||d.row===1/0&&h.row===1/0)&&(l=d.label+":"+h.label,o={type:"range",id:this.id_counter++,position:d.position,start:d,end:h,label:l})}}o?(c&&t.push(c),t.push(o),this.dependencies.ranges[l]=o,this.full_reference_list.push(o),r+=2):t.push(i)}return t}BinaryToComplex(e){if(e.type==="binary")if((e.operator==="+"||e.operator==="-")&&e.left.type==="literal"&&typeof e.left.value=="number"&&e.right.type==="complex"&&!e.right.composited){let t="";t=this.expression.substring(e.left.position,e.right.position+(e.right.text?.length||0));let r=e.right.imaginary;return e.operator==="-"&&(r=-r),{type:"complex",position:e.left.position,text:t,id:this.id_counter++,imaginary:r,real:e.left.value,composited:!0}}else e.left=this.BinaryToComplex(e.left),e.right=this.BinaryToComplex(e.right);else if(e.type==="unary"&&(e.operator==="-"||e.operator==="+")&&e.operand.type==="complex"&&e.operand.text===this.imaginary_number)return{...e.operand,position:e.position,text:this.expression.substring(e.position,e.operand.position+(e.operand.text||"").length),imaginary:e.operand.imaginary*(e.operator==="-"?-1:1)};return e}ArrangeUnits(e){if(e.length===0)return{type:"missing",id:this.id_counter++};if(e.length===1)return e[0];let t=[];for(let r=0;r<e.length;r++){let i=e[r];if(i.type!=="group-separator"){if(i.type==="operator")if(t.length===0||t[t.length-1].type==="operator")if(Do[i.operator]){let n=this.BinaryToComplex(this.ArrangeUnits(e.slice(r+1)));if(!this.valid)return{type:"group",id:this.id_counter++,elements:e,explicit:!1};n.type==="binary"?(n.left={type:"unary",id:this.id_counter++,operator:i.operator,operand:n.left,position:i.position},i=n):i={type:"unary",id:this.id_counter++,operator:i.operator,operand:n,position:i.position},r=e.length}else return this.error=`unexpected character [2]: ${i.operator}`,this.error_position=i.position,this.valid=!1,{type:"group",id:this.id_counter++,elements:e,explicit:!1};else{t.push(i);continue}if(t.length<2){if(t.length===1){let n=t[0].type;if(i.type==="group"&&i.explicit&&(n==="address"||n==="call"||n==="identifier"||n==="implicit-call")){let a=i.elements;a.length===1&&a[0].type==="group"&&!a[0].explicit&&(a=a[0].elements),t[0]={type:"implicit-call",call:t[0],args:a,id:this.id_counter++,position:t[0].position};continue}}t.push(i)}else if(t[t.length-1].type==="operator"){let n=t[t.length-2],a=t[t.length-1],o=a.operator,l={type:"binary",id:this.id_counter++,left:n,operator:o,position:a.position,right:i};n.type==="binary"&&Gr[o]>Gr[n.operator]&&(l.left=n.left,l.operator=n.operator,l.position=n.position,l.right={type:"binary",id:this.id_counter++,left:n.right,right:i,operator:o,position:a.position}),t.splice(-2,2,l)}else t.push(i)}}return t.length>1?{type:"group",id:this.id_counter++,elements:t,explicit:!1}:t[0]}ParseNext(e=!0){this.ConsumeWhiteSpace();let t=this.data[this.index];if(t===Er)return{type:"literal",id:this.id_counter++,position:this.index,value:this.ConsumeString()};if(t>=Me&&t<=mt||t===this.decimal_mark_char)return this.ConsumeNumber();if(t===Io)return this.ConsumeArray();if(e&&(t===_t||t===Fr)){let r=this.data[this.index+1];if(r>=Me&&r<=mt||r===this.decimal_mark_char)return this.ConsumeNumber()}else if(t>=qe&&t<=Ht||t>=yt&&t<=jt||t===Dr||t===Lr||t===Nr||t===Wt||t===gt||t>=Ur&&t<=zr)return this.ConsumeToken(t);return t}ConsumeArray(){let e={type:"array",id:this.id_counter++,values:[],position:this.index};this.index++;let t=0,r=0;for(;this.index<this.length;){let i=this.ParseNext(),n=this.index;if(typeof i=="number")switch(this.index++,i){case Bi:r++,t=0;break;case bt:t++;break;case ko:return e;default:this.valid&&(this.error="invalid character in array literal",this.error_position=n,this.valid=!1);break}else switch(i.type){case"literal":e.values[t]||(e.values[t]=[]),e.values[t][r]=i.value;break;default:this.valid&&(this.error="invalid value in array literal",this.error_position=n,this.valid=!1);break}}return e}ConsumeOperator(){for(let e of Lo)if(this.expression.substr(this.index,e.length)===e){let t=this.index;return this.index+=e.length,{type:"operator",id:this.id_counter++,operator:e,position:t}}return null}ConsumeArguments(){this.index++;let e=0,t=[];for(;this.index<this.length;){let r=this.ParseGeneric([this.argument_separator_char,Pr]);r!==null&&t.push(r);let i=this.data[this.index];if(i===this.argument_separator_char){this.index++,e++;for(let n=t.length;n<e;n++)t.push({type:"missing",id:this.id_counter++})}else if(i===Pr)return this.index++,t}return t}ConsumeToken(e){let t=[e],r=this.index,i=e===Nr,n=0,a=!1;for(e===gt&&(n=1,a=!0),++this.index;this.index<this.length;this.index++){let h=this.data[this.index];if(h>=qe&&h<=Ht||h>=yt&&h<=jt||h>=Ur&&h<=zr||h===Dr||h===Wt||h===Mr||h===Eo||i||h>=Me&&h<=mt||h===gt||n>0&&h===Zi||h===_t&&this.flags.r1c1&&n===1||n>0&&h===No&&this.data[this.index-1]===gt||n===1&&(h===bt||h===Vi)||n>1||h===Ro&&n===0)t.push(h),h===gt&&(n++,a=!0),h===Zi&&n--,h===Nr&&(i=!1);else break}this.data[this.index]===Lr&&t.push(this.data[this.index++]);let o=t.map(h=>String.fromCharCode(h)).join("");if(i)return this.error="unbalanced single quote",this.error_position=r,this.valid=!1,{type:"identifier",id:this.id_counter++,name:o,position:r};if(n)return this.error="unbalanced square bracket",this.error_position=r,this.valid=!1,{type:"identifier",id:this.id_counter++,name:o,position:r};if(this.ConsumeWhiteSpace(),this.flags.spreadsheet_semantics){let h=this.ConsumeAddress(o,r);if(h)return h}if(this.data[this.index]===Oi){let h=this.ConsumeArguments();return{type:"call",id:this.id_counter++,name:o,args:h,position:r,end:this.index}}if(this.flags.spreadsheet_semantics&&a){let h=this.ConsumeStructuredReference(o,r);if(h)return h}let c=o.toLowerCase();if(c==="true"||this.flags.boolean_true&&c===this.flags.boolean_true.toLowerCase())return{type:"literal",id:this.id_counter++,value:!0,position:r};if(c==="false"||this.flags.boolean_false&&c===this.flags.boolean_false.toLowerCase())return{type:"literal",id:this.id_counter++,value:!1,position:r};let d={type:"identifier",id:this.id_counter++,name:o,position:r};return this.full_reference_list.push(d),d}ConsumeStructuredReference(e,t){let r=e.length,i=e,n="",a=0;for(;a<r;a++){if(e[a]==="["){e=e.substring(a);break}n+=e[a]}if(e[0]!=="["||e[e.length-1]!=="]")return;e=e.substring(1,e.length-1);let o=e.split(",").map(h=>h.trim()),l="column",c="";if(o.length>2)return;o.length===2?(/\\[#this row\\]/i.test(o[0])?l="row":/\\[#all\\]/i.test(o[0])&&(l="all"),c=o[1]):(c=o[0],c[0]==="@"&&(l="row",c=c.substring(1,c.length))),c[0]==="["&&c[c.length-1]==="]"&&(c=c.substring(1,c.length-1));let d={type:"structured-reference",id:this.id_counter++,label:i,position:t,scope:l,column:c,table:n};return this.full_reference_list.push(d),d}ConsumeAddress(e,t){let r=t,i=e.length,n,a=e.split("!");if(a.length>1&&(n=a.slice(0,a.length-1).join("!"),t+=n.length+1),this.flags.r1c1){let h=a[a.length-1].match(this.r1c1_regex);if(h){let f={type:"address",id:this.id_counter++,label:e,row:0,column:0,position:r,sheet:n,r1c1:!0};return h[1][0]==="["?(f.offset_row=!0,f.row=Number(h[1].substring(1,h[1].length-1))):h[1]?(f.row=Number(h[1])-1,this.flags.r1c1_proper_semantics&&(f.absolute_row=!0)):(f.offset_row=!0,f.row=0),h[2][0]==="["?(f.offset_column=!0,f.column=Number(h[2].substring(1,h[2].length-1))):h[2]?(f.column=Number(h[2])-1,this.flags.r1c1_proper_semantics&&(f.absolute_column=!0)):(f.offset_column=!0,f.column=0),f}}let o=this.ConsumeAddressColumn(t);if(!o)return null;t=o.position;let l=this.ConsumeAddressRow(t);if(!l||(t=l.position,o.column===8508&&l.row===9))return null;let c=n?n+e.substr(n.length,t-r).toUpperCase():e.substr(0,t-r).toUpperCase();n&&n[0]==="\'"&&(n=n.substr(1,n.length-2));let d={type:"address",id:this.id_counter++,label:c,row:l.row,column:o.column,absolute_row:l.absolute,absolute_column:o.absolute,position:r,sheet:n,spill:l.spill};return i!==t-r?null:(this.dependencies.addresses[d.label]=d,this.address_refcount[d.label]=(this.address_refcount[d.label]||0)+1,this.full_reference_list.push(d),d)}ConsumeAddressRow(e){let t=this.data[e]===Wt;t&&e++;let r=e,i=0;for(;;e++){let a=this.data[e];if(a>=Me&&a<=mt)i*=10,i+=a-Me;else break}if(r===e||i===0)return!1;let n=!1;return this.data[e]===Lr&&(e++,n=!0),{absolute:t,row:i-1,position:e,spill:n}}ConsumeAddressColumn(e){let t=-1,r=0,i=this.data[e]===Wt;for(i&&e++;;e++,r++){if(r>=4)return!1;let n=this.data[e];if(n>=qe&&n<=Ht)t=26*(1+t)+(n-qe);else if(n>=yt&&n<=jt)t=26*(1+t)+(n-yt);else break}return t<0?!1:{absolute:i,column:t,position:e}}ConsumeNumber(){let e=this.index,t=0,r=!1,i=!1,n=0,a=0,o=0,l="integer",c=0,d=!1,h=this.index;for(;this.index<this.length;this.index++,c++){let u=this.data[this.index];if(u===this.decimal_mark_char)if(l==="integer")l="fraction";else break;else if(u===To){n/=100,o/=100,this.index++;break}else if(u===Fr||u===_t)if(c===0)u===_t&&(i=!0);else break;else if(u===Mo||u===Fo)if(l==="integer"||l==="fraction")l="exponent",this.index<this.length-1&&(this.data[this.index+1]===Fr?this.index++:this.data[this.index+1]===_t&&(this.index++,r=!0));else break;else if(u===this.imaginary_char){let p=this.data[this.index+1];if(p>=qe&&p<=Ht||p>=yt&&p<=jt||p>=Ur&&p<=zr||p===Dr)break;if(l==="integer"||l==="fraction"){this.index++,d=!0;break}}else if(u>=Me&&u<=mt)switch(l){case"integer":n=n*10+(u-Me);break;case"fraction":o=o*10+(u-Me),a++;break;case"exponent":t=t*10+(u-Me);break}else break}let f=n+o/Math.pow(10,a);return l==="exponent"&&(f=f*Math.pow(10,(r?-1:1)*t)),d?{type:"complex",id:this.id_counter++,position:e,imaginary:i?-f:f,real:0,text:this.expression.substring(h,this.index)||""}:{type:"literal",id:this.id_counter++,position:e,value:i?-f:f,text:this.expression.substring(h,this.index)||""}}ConsumeString(){this.index++;let e=[];for(;this.index<this.length;this.index++){let t=this.data[this.index];if(t===Er&&(this.index++,this.index>=this.length||this.data[this.index]!==Er))break;e.push(t)}return e.map(t=>String.fromCharCode(t)).join("")}ConsumeWhiteSpace(){for(;this.index<this.length;){let e=this.data[this.index];if(e===Vi||e===Co||e===So||e===Ao||e===vo)this.index++;else return}}};var Wi=class s{static _instance=new s;constructor(){}static get instance(){return this._instance}HTML(e,t={}){t={br:!0,...t};let r=[];for(let i of e){let n=[];for(let a of i)a.pre&&n.push("<pre>"),a.emphasis&&n.push("<em>"),a.strong&&n.push("<strong>"),a.strike&&n.push("<strike>"),n.push(a.text),a.strike&&n.push("</strike>"),a.strong&&n.push("</strong>"),a.emphasis&&n.push("</em>"),a.pre&&n.push("</pre>");r.push(n.join(""))}return r.join(t.br?`<br/>\n`:`\n`)}Dummy(e=""){return e.split(/\\n/).map(t=>[{text:t}])}Parse(e=""){let t=this.Tokenize(e);for(let r=0;r<t.length;r++){let i=t[r];if(i.type==="delimeter"){let n=t[r-1],a=t[r+1],o=!n||n.type==="whitespace"||n.type==="newline",l=n&&n.type==="text"&&/[^\\w\\d]$/.test(n.text),c=!a||a.type==="whitespace"||a.type==="newline",d=a&&a.type==="text"&&/^[^\\w\\d]/.test(a.text);i.left_flanking=!c&&(!d||o),i.right_flanking=!o&&(!l||c||d)}}return this.ApplyFormatting(t),this.Consolidate(t)}IsWhitespace(e){return e===" "||e===" "}IsNewline(e){return e==="\\r"||e===`\n`}IsDelimeter(e){return e==="*"||e==="_"||e==="~"}Consolidate(e){let t=[],r={},i=[],n={type:"text",text:""};for(let a of e)if(a.type==="newline")n.text.length&&i.push(n),n={...r,text:"",type:"text"},t.push(i),i=[];else switch((!!r.strong!=!!a.strong||!!r.emphasis!=!!a.emphasis||!!r.strike!=!!a.strike)&&(r.strong=!!a.strong,r.emphasis=!!a.emphasis,r.strike=!!a.strike,n.text.length&&i.push(n),n={...r,text:"",type:"text"}),a.type){case"text":case"whitespace":n.text+=a.text;break;case"delimeter":for(let o=0;o<a.length;o++)n.text+=a.char;break}return n.text.length&&i.push(n),i.length&&t.push(i),t}ApplyFormatting(e,t){let r=0,i=e.length;for(r=0;r<i;r++){let n=e[r];if(n.type==="delimeter"){if(t&&n.right_flanking&&t.char===n.char&&n.length>0)return{index:r,token:n};if(n.left_flanking){let a=this.ApplyFormatting(e.slice(r+1),n);if(a.token){let o=Math.min(a.token.length,n.length),l=n.char==="~",c=!l&&!!(o%2),d=!l&&o>=2;for(let h=r+1;h<=r+a.index;h++)e[h].strong=!!e[h].strong||d,e[h].emphasis=!!e[h].emphasis||c,e[h].strike=!!e[h].strike||l;a.token.length-=o,n.length-=o,n.length>0?r--:r+=a.index}}}}return{index:r}}Tokenize(e=""){let t=[],r=e.length,i=0,n=!1,a="";for(i=0;i<r;i++){let o=e[i];if(this.IsWhitespace(o)){a&&t.push({type:"text",text:a});let l=o;for(;;){let c=e[i+1];if(this.IsWhitespace(c))l+=c,i++;else break}t.push({type:"whitespace",text:l}),n=!1,a=""}else if(this.IsNewline(o)){a&&t.push({type:"text",text:a}),t.push({type:"newline",text:o});let l="";for(;;){let c=e[i+1];if(this.IsNewline(c))l+=c,i++;else break}l.length&&t.push({type:"newline",text:l}),n=!1,a=""}else if(n)a+=o,n=!1;else if(this.IsDelimeter(o)){a&&t.push({type:"text",text:a});let l=o;for(;;){let c=e[i+1];if(c===o)l+=c,i++;else break}t.push({type:"delimeter",text:l,char:o,length:l.length}),n=!1,a=""}else o==="\\\\"?n=!0:a+=o}return a&&t.push({type:"text",text:a}),t}};var Hi={"c:tx":{"c:strRef":{"c:f":"","c:strCache":{"c:ptCount":{a$:{val:"1"}},"c:pt":{a$:{idx:"0"},"c:v":""}}}},"c:overlay":{a$:{val:"0"}},"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"0",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"1400",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",spc:"0",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}}},ji={"c:tx":{"c:rich":{"a:bodyPr":{a$:{rot:"0",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"1400",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",spc:"0",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:r":{"a:rPr":{a$:{lang:""}},"a:t":""}}}},"c:overlay":{a$:{val:"0"}},"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"0",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"1400",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",spc:"0",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}}},wt={"c:chartSpace":{a$:{"xmlns:c":"http://schemas.openxmlformats.org/drawingml/2006/chart","xmlns:a":"http://schemas.openxmlformats.org/drawingml/2006/main","xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships","xmlns:c16r2":"http://schemas.microsoft.com/office/drawing/2015/06/chart"},"c:date1904":{a$:{val:"0"}},"c:lang":{a$:{val:"en-US"}},"c:roundedCorners":{a$:{val:"0"}},"mc:AlternateContent":{a$:{"xmlns:mc":"http://schemas.openxmlformats.org/markup-compatibility/2006"},"mc:Choice":{a$:{Requires:"c14","xmlns:c14":"http://schemas.microsoft.com/office/drawing/2007/8/2/chart"},"c14:style":{a$:{val:"102"}}},"mc:Fallback":{"c:style":{a$:{val:"2"}}}},"c:chart":{},"c:spPr":{"a:solidFill":{"a:schemeClr":{a$:{val:"bg1"}}},"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"15000"}},"a:lumOff":{a$:{val:"85000"}}}},"a:round":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{}},"a:endParaRPr":{a$:{lang:"en-US"}}}},"c:printSettings":{"c:headerFooter":{},"c:pageMargins":{a$:{b:"0.75",l:"0.7",r:"0.7",t:"0.75",header:"0.3",footer:"0.3"}},"c:pageSetup":{}}}};var Yi={"c:idx":{a$:{val:"0"}},"c:order":{a$:{val:"0"}},"c:spPr":{"a:solidFill":{"a:schemeClr":{a$:{val:"accent1"}}},"a:ln":{"a:noFill":{}},"a:effectLst":{}},"c:invertIfNegative":{a$:{val:"0"}},"c:val":{"c:numRef":{"c:f":""}},"c:extLst":{"c:ext":{a$:{uri:"{C3380CC4-5D6E-409C-BE32-E72D297353CC}","xmlns:c16":"http://schemas.microsoft.com/office/drawing/2014/chart"},"c16:uniqueId":{a$:{val:"{00000000-F52E-47BC-822F-A046A80610BE}"}}}}},Ji={"c:title":{},"c:autoTitleDeleted":{a$:{val:"0"}},"c:plotArea":{"c:layout":{},"c:barChart":{"c:barDir":{a$:{val:"col"}},"c:grouping":{a$:{val:"clustered"}},"c:varyColors":{a$:{val:"0"}},"c:ser":[],"c:dLbls":{"c:showLegendKey":{a$:{val:"0"}},"c:showVal":{a$:{val:"0"}},"c:showCatName":{a$:{val:"0"}},"c:showSerName":{a$:{val:"0"}},"c:showPercent":{a$:{val:"0"}},"c:showBubbleSize":{a$:{val:"0"}}},"c:gapWidth":{a$:{val:"219"}},"c:overlap":{a$:{val:"-27"}},"c:axId":[{a$:{val:"47003664"}},{a$:{val:"1789284464"}}]},"c:catAx":{"c:axId":{a$:{val:"47003664"}},"c:scaling":{"c:orientation":{a$:{val:"minMax"}}},"c:delete":{a$:{val:"0"}},"c:axPos":{a$:{val:"b"}},"c:majorTickMark":{a$:{val:"none"}},"c:minorTickMark":{a$:{val:"none"}},"c:tickLblPos":{a$:{val:"nextTo"}},"c:spPr":{"a:noFill":{},"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"15000"}},"a:lumOff":{a$:{val:"85000"}}}},"a:round":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"-60000000",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"900",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}},"c:crossAx":{a$:{val:"1789284464"}},"c:crosses":{a$:{val:"autoZero"}},"c:auto":{a$:{val:"1"}},"c:lblAlgn":{a$:{val:"ctr"}},"c:lblOffset":{a$:{val:"100"}},"c:noMultiLvlLbl":{a$:{val:"0"}}},"c:valAx":{"c:axId":{a$:{val:"1789284464"}},"c:scaling":{"c:orientation":{a$:{val:"minMax"}}},"c:delete":{a$:{val:"0"}},"c:axPos":{a$:{val:"l"}},"c:majorGridlines":{"c:spPr":{"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"15000"}},"a:lumOff":{a$:{val:"85000"}}}},"a:round":{}},"a:effectLst":{}}},"c:numFmt":{a$:{formatCode:"General",sourceLinked:"1"}},"c:majorTickMark":{a$:{val:"none"}},"c:minorTickMark":{a$:{val:"none"}},"c:tickLblPos":{a$:{val:"nextTo"}},"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"-60000000",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"900",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}},"c:crossAx":{a$:{val:"47003664"}},"c:crosses":{a$:{val:"autoZero"}},"c:crossBetween":{a$:{val:"between"}}},"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}}},"c:plotVisOnly":{a$:{val:"1"}},"c:dispBlanksAs":{a$:{val:"gap"}},"c:extLst":{"c:ext":{a$:{uri:"{56B9EC1D-385E-4148-901F-78D8002777C0}","xmlns:c16r3":"http://schemas.microsoft.com/office/drawing/2017/03/chart"},"c16r3:dataDisplayOptions16":{"c16r3:dispNaAsBlank":{a$:{val:"1"}}}}},"c:showDLblsOverMax":{a$:{val:"0"}}};var Xi={"c:title":{},"c:autoTitleDeleted":{a$:{val:"0"}},"c:plotArea":{"c:layout":{},"c:doughnutChart":{"c:varyColors":{a$:{val:"1"}},"c:ser":{"c:idx":{a$:{val:"0"}},"c:order":{a$:{val:"0"}},"c:dPt":{"c:idx":{a$:{val:"3"}},"c:bubble3D":{a$:{val:"0"}},"c:spPr":{"a:solidFill":{"a:schemeClr":{a$:{val:"accent4"}}},"a:ln":{a$:{w:"19050"},"a:solidFill":{"a:schemeClr":{a$:{val:"lt1"}}}},"a:effectLst":{}},"c:extLst":{"c:ext":{a$:{uri:"{C3380CC4-5D6E-409C-BE32-E72D297353CC}","xmlns:c16":"http://schemas.microsoft.com/office/drawing/2014/chart"},"c16:uniqueId":{a$:{val:"{00000007-E886-49A6-AE6D-C67D8A27530F}"}}}}},"c:cat":{"c:strRef":{"c:f":""}},"c:val":{"c:numRef":{"c:f":""}},"c:extLst":{"c:ext":{a$:{uri:"{C3380CC4-5D6E-409C-BE32-E72D297353CC}","xmlns:c16":"http://schemas.microsoft.com/office/drawing/2014/chart"},"c16:uniqueId":{a$:{val:"{00000000-3689-4BB4-A84F-05B9F3BBE577}"}}}}},"c:dLbls":{"c:showLegendKey":{a$:{val:"0"}},"c:showVal":{a$:{val:"0"}},"c:showCatName":{a$:{val:"0"}},"c:showSerName":{a$:{val:"0"}},"c:showPercent":{a$:{val:"0"}},"c:showBubbleSize":{a$:{val:"0"}},"c:showLeaderLines":{a$:{val:"1"}}},"c:firstSliceAng":{a$:{val:"0"}},"c:holeSize":{a$:{val:"75"}}},"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}}},"c:legend":{"c:legendPos":{a$:{val:"b"}},"c:overlay":{a$:{val:"0"}},"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"0",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{a$:{rtl:"0"},"a:defRPr":{a$:{sz:"900",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}}},"c:plotVisOnly":{a$:{val:"1"}},"c:dispBlanksAs":{a$:{val:"gap"}},"c:extLst":{"c:ext":{a$:{uri:"{56B9EC1D-385E-4148-901F-78D8002777C0}","xmlns:c16r3":"http://schemas.microsoft.com/office/drawing/2017/03/chart"},"c16r3:dataDisplayOptions16":{"c16r3:dispNaAsBlank":{a$:{val:"1"}}}}},"c:showDLblsOverMax":{a$:{val:"0"}}};var Qi={"c:title":{},"c:autoTitleDeleted":{a$:{val:"0"}},"c:plotArea":{"c:layout":{},"c:scatterChart":{"c:scatterStyle":{a$:{val:"lineMarker"}},"c:varyColors":{a$:{val:"0"}},"c:ser":[],"c:dLbls":{"c:showLegendKey":{a$:{val:"0"}},"c:showVal":{a$:{val:"0"}},"c:showCatName":{a$:{val:"0"}},"c:showSerName":{a$:{val:"0"}},"c:showPercent":{a$:{val:"0"}},"c:showBubbleSize":{a$:{val:"0"}}},"c:axId":[{a$:{val:"2028657983"}},{a$:{val:"2023395087"}}]},"c:valAx":[{"c:axId":{a$:{val:"2028657983"}},"c:scaling":{"c:orientation":{a$:{val:"minMax"}}},"c:delete":{a$:{val:"0"}},"c:axPos":{a$:{val:"b"}},"c:majorGridlines":{"c:spPr":{"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"15000"}},"a:lumOff":{a$:{val:"85000"}}}},"a:round":{}},"a:effectLst":{}}},"c:majorTickMark":{a$:{val:"none"}},"c:minorTickMark":{a$:{val:"none"}},"c:tickLblPos":{a$:{val:"nextTo"}},"c:spPr":{"a:noFill":{},"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"25000"}},"a:lumOff":{a$:{val:"75000"}}}},"a:round":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"-60000000",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"900",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}},"c:crossAx":{a$:{val:"2023395087"}},"c:crosses":{a$:{val:"autoZero"}},"c:crossBetween":{a$:{val:"midCat"}}},{"c:axId":{a$:{val:"2023395087"}},"c:scaling":{"c:orientation":{a$:{val:"minMax"}}},"c:delete":{a$:{val:"0"}},"c:axPos":{a$:{val:"l"}},"c:majorGridlines":{"c:spPr":{"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"15000"}},"a:lumOff":{a$:{val:"85000"}}}},"a:round":{}},"a:effectLst":{}}},"c:numFmt":{a$:{formatCode:"0.00",sourceLinked:"1"}},"c:majorTickMark":{a$:{val:"none"}},"c:minorTickMark":{a$:{val:"none"}},"c:tickLblPos":{a$:{val:"nextTo"}},"c:spPr":{"a:noFill":{},"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"25000"}},"a:lumOff":{a$:{val:"75000"}}}},"a:round":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"-60000000",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"900",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}},"c:crossAx":{a$:{val:"2028657983"}},"c:crosses":{a$:{val:"autoZero"}},"c:crossBetween":{a$:{val:"midCat"}}}],"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}}},"c:plotVisOnly":{a$:{val:"1"}},"c:dispBlanksAs":{a$:{val:"gap"}},"c:extLst":{"c:ext":{a$:{uri:"{56B9EC1D-385E-4148-901F-78D8002777C0}","xmlns:c16r3":"http://schemas.microsoft.com/office/drawing/2017/03/chart"},"c16r3:dataDisplayOptions16":{"c16r3:dispNaAsBlank":{a$:{val:"1"}}}}},"c:showDLblsOverMax":{a$:{val:"0"}}},qi={"c:spPr":{"a:ln":{a$:{w:"19050",cap:"rnd"},"a:solidFill":{"a:schemeClr":{a$:{val:"accent1"}}},"a:round":{}},"a:effectLst":{}},"c:marker":{"c:symbol":{a$:{val:"none"}}},"c:xVal":{"c:numRef":{"c:f":""}},"c:yVal":{"c:numRef":{"c:f":""}},"c:smooth":{a$:{val:"0"}},"c:extLst":{"c:ext":{a$:{uri:"{C3380CC4-5D6E-409C-BE32-E72D297353CC}","xmlns:c16":"http://schemas.microsoft.com/office/drawing/2014/chart"},"c16:uniqueId":{a$:{val:"{00000000-1F6C-44A9-AA4F-6706F20CC72E}"}}}}};var Ki={"c:title":{},"c:autoTitleDeleted":{a$:{val:"0"}},"c:plotArea":{"c:layout":{},"c:bubbleChart":{"c:varyColors":{a$:{val:"0"}},"c:ser":[],"c:dLbls":{"c:showLegendKey":{a$:{val:"0"}},"c:showVal":{a$:{val:"0"}},"c:showCatName":{a$:{val:"0"}},"c:showSerName":{a$:{val:"0"}},"c:showPercent":{a$:{val:"0"}},"c:showBubbleSize":{a$:{val:"0"}}},"c:axId":[{a$:{val:"2028657983"}},{a$:{val:"2023395087"}}]},"c:valAx":[{"c:axId":{a$:{val:"2028657983"}},"c:scaling":{"c:orientation":{a$:{val:"minMax"}}},"c:delete":{a$:{val:"0"}},"c:axPos":{a$:{val:"b"}},"c:majorGridlines":{"c:spPr":{"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"15000"}},"a:lumOff":{a$:{val:"85000"}}}},"a:round":{}},"a:effectLst":{}}},"c:majorTickMark":{a$:{val:"none"}},"c:minorTickMark":{a$:{val:"none"}},"c:tickLblPos":{a$:{val:"nextTo"}},"c:spPr":{"a:noFill":{},"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"25000"}},"a:lumOff":{a$:{val:"75000"}}}},"a:round":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"-60000000",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"900",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}},"c:crossAx":{a$:{val:"2023395087"}},"c:crosses":{a$:{val:"autoZero"}},"c:crossBetween":{a$:{val:"midCat"}}},{"c:axId":{a$:{val:"2023395087"}},"c:scaling":{"c:orientation":{a$:{val:"minMax"}}},"c:delete":{a$:{val:"0"}},"c:axPos":{a$:{val:"l"}},"c:majorGridlines":{"c:spPr":{"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"15000"}},"a:lumOff":{a$:{val:"85000"}}}},"a:round":{}},"a:effectLst":{}}},"c:numFmt":{a$:{formatCode:"0.00",sourceLinked:"1"}},"c:majorTickMark":{a$:{val:"none"}},"c:minorTickMark":{a$:{val:"none"}},"c:tickLblPos":{a$:{val:"nextTo"}},"c:spPr":{"a:noFill":{},"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"25000"}},"a:lumOff":{a$:{val:"75000"}}}},"a:round":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"-60000000",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"900",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}},"c:crossAx":{a$:{val:"2028657983"}},"c:crosses":{a$:{val:"autoZero"}},"c:crossBetween":{a$:{val:"midCat"}}}],"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}}},"c:plotVisOnly":{a$:{val:"1"}},"c:dispBlanksAs":{a$:{val:"gap"}},"c:extLst":{"c:ext":{a$:{uri:"{56B9EC1D-385E-4148-901F-78D8002777C0}","xmlns:c16r3":"http://schemas.microsoft.com/office/drawing/2017/03/chart"},"c16r3:dataDisplayOptions16":{"c16r3:dispNaAsBlank":{a$:{val:"1"}}}}},"c:showDLblsOverMax":{a$:{val:"0"}}},es={"c:spPr":{"a:solidFill":{"a:schemeClr":{a$:{val:"accent1"},"a:alpha":{a$:{val:"75000"}}}},"a:ln":{"a:noFill":{}},"a:effectLst":{}},"c:xVal":{"c:numRef":{"c:f":""}},"c:yVal":{"c:numRef":{"c:f":""}},"c:bubbleSize":{"c:numRef":{"c:f":""}},"c:bubble3D":{a$:{val:"0"}},"c:extLst":{"c:ext":{a$:{uri:"{C3380CC4-5D6E-409C-BE32-E72D297353CC}","xmlns:c16":"http://schemas.microsoft.com/office/drawing/2014/chart"},"c16:uniqueId":{a$:{val:"{00000000-03D7-43A5-9DAB-5775FFEF9C03}"}}}}};var et=class s{constructor(e,t=s.next_chart_index++){this.options=e;this.index=t}static next_chart_index=1;relationships={};UpdateChartTitle(e){let t=this.options.title||{type:"literal",value:""};if(t&&t.type==="literal"){let r=JSON.parse(JSON.stringify(ji)),i=r["c:tx"]["c:rich"]["a:p"];i["a:r"]={"a:rPr":{a$:{lang:st.locale}},"a:t":t.value},e["c:title"]=r}else if(t){let r=JSON.parse(JSON.stringify(Hi));r["c:tx"]["c:strRef"]["c:f"]=t.label,e["c:title"]=r}}toJSON(){switch(this.options.type){case"column":case"bar":return this.CreateBarChart();case"scatter":case"scatter2":return this.CreateScatterChart();case"bubble":return this.CreateBubbleChart();case"donut":return this.CreateDonutChart();default:console.info("unhandled chart type",this.options.type)}return this.CreateBarChart()}CreateBubbleChart(){let e=JSON.parse(JSON.stringify(wt)),t=e["c:chartSpace"],r=JSON.parse(JSON.stringify(Ki));t["c:chart"]=r,this.UpdateChartTitle(t["c:chart"]);let i=t["c:chart"]["c:plotArea"]["c:bubbleChart"]["c:ser"],n=!1;for(let a=0;a<this.options.data.length;a++){let o=JSON.parse(JSON.stringify(es));if(o["c:idx"]={a$:{val:a.toString()}},o["c:order"]={a$:{val:a.toString()}},this.options.names&&this.options.names[a]){let l=this.options.names[a];switch(l.type){case"literal":o["c:tx"]={"c:v":l.value.toString()},n=!0;break;case"range":case"address":o["c:tx"]={"c:strRef":{"c:f":l.label}},n=!0;break}}a<6&&(o["c:spPr"]["a:solidFill"]["a:schemeClr"].a$.val=`accent${a+1}`),o["c:yVal"]["c:numRef"]["c:f"]=this.options.data[a]?.label,this.options.labels2&&this.options.labels2[a]&&(o["c:xVal"]["c:numRef"]["c:f"]=this.options.labels2[a]?.label),this.options.labels3&&this.options.labels3[a]&&(o["c:bubbleSize"]["c:numRef"]["c:f"]=this.options.labels3[a]?.label),i.push(o)}return n&&(t["c:chart"]["c:legend"]={"c:legendPos":{a$:{val:"b"}},"c:overlay":{a$:{val:"0"}}}),e}CreateScatterChart(){let e=JSON.parse(JSON.stringify(wt)),t=e["c:chartSpace"],r=JSON.parse(JSON.stringify(Qi));this.options.smooth&&(r["c:plotArea"]["c:scatterChart"]["c:scatterStyle"].a$.val="smoothMarker"),t["c:chart"]=r,this.UpdateChartTitle(t["c:chart"]);let i=t["c:chart"]["c:plotArea"]["c:scatterChart"]["c:ser"],n=!1;for(let a=0;a<this.options.data.length;a++){let o=JSON.parse(JSON.stringify(qi));if(o["c:idx"]={a$:{val:a.toString()}},o["c:order"]={a$:{val:a.toString()}},this.options.names&&this.options.names[a]){let l=this.options.names[a];switch(l.type){case"literal":o["c:tx"]={"c:v":l.value.toString()},n=!0;break;case"range":case"address":o["c:tx"]={"c:strRef":{"c:f":l.label}},n=!0;break}}a<6&&(o["c:spPr"]["a:ln"]["a:solidFill"]["a:schemeClr"].a$.val=`accent${a+1}`),o["c:yVal"]["c:numRef"]["c:f"]=this.options.data[a]?.label,this.options.labels2&&this.options.labels2[a]&&(o["c:xVal"]["c:numRef"]["c:f"]=this.options.labels2[a]?.label),this.options.smooth&&(o["c:smooth"]={a$:{val:1}}),i.push(o)}return n&&(t["c:chart"]["c:legend"]={"c:legendPos":{a$:{val:"b"}},"c:overlay":{a$:{val:"0"}}}),e}CreateDonutChart(){let e=JSON.parse(JSON.stringify(wt)),t=e["c:chartSpace"],r=JSON.parse(JSON.stringify(Xi));t["c:chart"]=r,this.UpdateChartTitle(t["c:chart"]);let i=r["c:plotArea"]["c:doughnutChart"];return i&&(i["c:ser"]["c:cat"]["c:strRef"]["c:f"]=this.options.labels?.label||"",i["c:ser"]["c:val"]["c:numRef"]["c:f"]=this.options.data[0]?.label||""),e}CreateBarChart(){let e=JSON.parse(JSON.stringify(wt)),t=e["c:chartSpace"],r=JSON.parse(JSON.stringify(Ji));t["c:chart"]=r,this.UpdateChartTitle(t["c:chart"]);let i=r["c:plotArea"]["c:barChart"];if(i){let n=i["c:barDir"];n&&(n.a$.val=this.options.type==="bar"?"bar":"col");let a=i["c:ser"];for(let o=0;o<this.options.data.length;o++){let l=JSON.parse(JSON.stringify(Yi));l["c:idx"]={a$:{val:o.toString()}},l["c:order"]={a$:{val:o.toString()}},o<6&&(l["c:spPr"]["a:solidFill"]["a:schemeClr"].a$.val=`accent${o+1}`),!o&&this.options.labels&&(l["c:cat"]={"c:strRef":{"c:f":this.options.labels.label}}),l["c:val"]["c:numRef"]["c:f"]=this.options.data[o]?.label,a.push(l)}}return e}};var Yt=class s{constructor(e,t=s.next_image_index++){this.options=e;this.index=t;switch(e.mimetype){case"svg+xml":this.extension="svg";break;case"image/png":this.extension="png";break;case"jpg":this.extension="jpeg";break;case"svg":case"png":case"jpeg":case"gif":this.extension=e.mimetype;break;default:console.warn("unhandled mime type",e.mimetype);break}}static next_image_index=1;extension=""};var ts=9525,xt=class s{constructor(e=s.next_drawing_index++){this.index=e}static next_drawing_index=1;sheet_drawing_relationship=0;charts=[];images=[];relationships={};AddImage(e,t){let r=new Yt(e);if(r.extension){let i=me(this.relationships,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",`../media/image${r.index}.${r.extension}`);this.images.push({image:r,relationship:i,anchor:t})}}AddChart(e,t){let r=new et(e),i=me(this.relationships,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart",`../charts/chart${r.index}.xml`);this.charts.push({chart:r,anchor:t,relationship:i})}CornerToJSON(e){return{"xdr:col":e.column,"xdr:colOff":(e.column_offset||0)*ts,"xdr:row":e.row,"xdr:rowOff":(e.row_offset||0)*ts}}AnchorToJSON(e){return{"xdr:from":{...this.CornerToJSON(e.from)},"xdr:to":{...this.CornerToJSON(e.to)}}}toJSON(){let e=this.images.map(i=>({a$:{editAs:"oneCell"},...this.AnchorToJSON(i.anchor),"xdr:pic":{"xdr:nvPicPr":{"xdr:cNvPr":{a$:{id:i.image.index+1,name:"Image "+i.image.index}},"xdr:cNvPicPr":{"a:picLocks":{a$:{noChangeAspect:1}}}},"xdr:blipFill":{"a:blip":{a$:i.image.extension==="svg"?{"xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships"}:{"xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships","r:embed":i.relationship},"a:extLst":{"a:ext":[{a$:{uri:"{28A0092B-C50C-407E-A947-70E740481C1C}"},"a14:useLocalDpi":{a$:{"xmlns:a14":"http://schemas.microsoft.com/office/drawing/2010/main",val:0}}},i.image.extension==="svg"?{a$:{uri:"{96DAC541-7B7A-43D3-8B79-37D633B846F1}"},"asvg:svgBlip":{a$:{"xmlns:asvg":"http://schemas.microsoft.com/office/drawing/2016/SVG/main","r:embed":i.relationship}}}:void 0]}},"a:stretch":{"a:fillRect":{}}},"xdr:spPr":{"a:xfrm":{"a:off":{a$:{x:0,y:0}},"a:ext":{a$:{cx:4057650,cy:6172200}}},"a:prstGeom":{a$:{prst:"rect"},"a:avLst":{}}}},"xdr:clientData":{}})),t=this.charts.map(i=>({...this.AnchorToJSON(i.anchor),"xdr:graphicFrame":{a$:{macro:""},"xdr:nvGraphicFramePr":{"xdr:cNvPr":{a$:{id:i.chart.index+1,name:`Chart ${i.chart.index}`}},"xdr:cNvGraphicFramePr":{}},"xdr:xfrm":{"a:off":{a$:{x:0,y:0}},"a:ext":{a$:{cx:0,cy:0}}},"a:graphic":{"a:graphicData":{a$:{uri:"http://schemas.openxmlformats.org/drawingml/2006/chart"},"c:chart":{a$:{"xmlns:c":"http://schemas.openxmlformats.org/drawingml/2006/chart","xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships","r:id":i.relationship}}}}},"xdr:clientData":{}}));return{"xdr:wsDr":{a$:{"xmlns:xdr":"http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing","xmlns:a":"http://schemas.openxmlformats.org/drawingml/2006/main"},"xdr:twoCellAnchor":[...t,...e]}}}};var tt=s=>"row"in s&&"col"in s,ze=s=>"from"in s&&"to"in s&&tt(s.from)&&tt(s.to),vt=(s,e)=>e.sheet===s.sheet&&e.row>=s.from.row&&e.row<=s.to.row&&e.col>=s.from.col&&e.col<=s.to.col,Jt=(s,e=0,t=0)=>({from:{row:s.from.row+e,col:s.from.col+t,sheet:s.from.sheet},to:{row:s.to.row+e,col:s.to.col+t,sheet:s.to.sheet}});var Xt=class{constructor(e={}){this.options=e}path;rels_path;rels={};sheet_data={};shared_strings;extent;visible_state;tab_selected=!1;default_width=0;drawings=[];TranslateAddress(e){e=e.toUpperCase();let t=e.match(/([A-Z]+\\d+):([A-Z]+\\d+)/);if(t)return{from:this.TranslateAddress(t[1]),to:this.TranslateAddress(t[2])};let r=0,i=0;if(t=e.match(/^([A-Z]+)(\\d+)$/),t){r=Number(t[2]),i=0;let n=t[1].length;for(let a=0;a<n;a++){let o=t[1].charCodeAt(a)-64;i=i*26+o}}return{row:r,col:i}}Address(e,t=!1){if(ze(e))return this.Address(e.from,t)+":"+this.Address(e.to,t);let r="",i=e.col;for(;i>0;){let a=(i-1)%26+1;r=String.fromCharCode(64+a)+r,i=(i-a)/26}let n=e.sheet?`\'${e.sheet}\'!`:"";return t?`${n}$${r}$${e.row}`:n+r+e.row}NormalizeAddress(e){let t,r;return typeof e=="string"?(t=e.toUpperCase(),r=this.TranslateAddress(t)):(r=e,t=this.Address(r)),{a:t,rc:r}}Parse(){let e=this.sheet_data.worksheet?.dimension?.a$?.ref,t=this.TranslateAddress(e||"");ze(t)?this.extent=JSON.parse(JSON.stringify(t)):this.extent={from:JSON.parse(JSON.stringify(t)),to:JSON.parse(JSON.stringify(t))}}};var Vr=Tt(rs()),is=Tt(kt()),rt=class{records;text=new Map;constructor(e){this.records=Vr.default.parse(e)}Has(e){return this.text.has(e)||!!this.records?.[e]}ArrayBuffer(){let e={};if(this.records)for(let[r,i]of Object.entries(this.records))e[r]=new Uint8Array(i);let t=new TextEncoder;for(let[r,i]of this.text.entries())e[r]=t.encode(i);return Vr.default.encode(e)}SetBinary(e,t,r){if(r==="base64"){let i=is.default.toByteArray(t);this.records[e]=i}else throw new Error("unsupported encoding: "+r)}Set(e,t){this.text.set(e,t),this.records[e]&&delete this.records[e]}GetBinary(e){let t=this.records[e];if(t)return new Uint8Array(t);throw new Error("path not in records: "+e)}Get(e){let t=this.text.get(e);if(t)return t;let r=this.records[e];if(r)return t=new TextDecoder().decode(r),this.text.set(e,t),delete this.records[e],t;throw console.info(this),new Error("path not in zip file: "+e)}};var ss=(s,e,t)=>{if(e==="cell"){let r=s.cell_metadata[t-1];if(r){let i=s.metadata_types[r.t-1];if(i&&i.name!=="XLMDX"){let n=s.future_metadata[i.name];if(n)return n[r.v]||{}}}}else console.warn("value metadata not implemented");return{flags:{}}},ns=s=>{let e={metadata_types:[],cell_metadata:[],future_metadata:{}},t=R.FindAll(s,"metadata/metadataTypes/metadataType");for(let i of t){let n=i.a$?.name||"",a=i.a$?.cellMeta,o=a==="1"||a==="true";e.metadata_types.push({name:n,cell_meta:o})}let r=R.FindAll(s,"metadata/futureMetadata");for(let i of r){let n=i.a$?.name||"";if(n){let a=[];for(let o of R.FindAll(i,"bk")){let l={flags:{}};for(let c of R.FindAll(o,"extLst/ext/xda:dynamicArrayProperties"))c?.a$.fDynamic==="1"&&(l.flags["dynamic-array"]=!0);a.push(l)}e.future_metadata[n]=a}}for(let i of R.FindAll(s,"metadata/cellMetadata/bk/rc"))e.cell_metadata.push({t:Number(i.a$?.t||-1),v:Number(i.a$?.v||-1)});return e};var Ce=new Le(Vt),qt={greaterThan:">",greaterThanOrEqual:">=",lessThan:"<",lessThanOrEqual:"<=",equal:"=",notEqual:"<>"};var Qt=class{constructor(e){this.zip=e}xml={};shared_strings=new Je;style_cache=new Qe;theme=new Ue;named=[];rels={};metadata;sheets=[];active_tab=0;get sheet_count(){return this.sheets.length}ReadRels(e){let t={},r=this.zip.Has(e)?this.zip.Get(e):"",i=Ce.parse(r||"");for(let n of i.Relationships?.Relationship||[]){let a=n.a$.Id;t[a]={id:a,type:n.a$.Type,target:n.a$.Target}}return t}Init(){this.rels=this.ReadRels("xl/_rels/workbook.xml.rels");let e=this.zip.Has("xl/sharedStrings.xml")?this.zip.Get("xl/sharedStrings.xml"):"",t=Ce.parse(e||"");this.shared_strings.FromXML(t),this.zip.Has("xl/metadata.xml")&&(e=this.zip.Get("xl/metadata.xml"),t=Ce.parse(e),this.metadata=ns(t)),e=this.zip.Get("xl/theme/theme1.xml"),t=Ce.parse(e),this.theme.FromXML(t),e=this.zip.Get("xl/styles.xml"),t=Ce.parse(e),this.style_cache.FromXML(t,this.theme),e=this.zip.Get("xl/workbook.xml"),t=Ce.parse(e),this.named=[];let r=R.FindAll(t,"workbook/definedNames/definedName");for(let a of r){let o=a.a$?.name,l=a.t$||"",c=a.a$?.localSheetId?Number(a.a$.localSheetId):void 0;this.named.push({name:o,expression:typeof l=="string"?l:l?.toString()||"",local_scope:c})}let i=R.FindAll(t,"workbook/bookViews/workbookView");i[0]?.a$?.activeTab&&(this.active_tab=Number(i[0].a$.activeTab)||0);let n=R.FindAll(t,"workbook/sheets/sheet");for(let a of n){let o=a.a$?.name;if(o){let l=a.a$.state,c=a.a$["r:id"],d=new Xt({name:o,rid:c,id:Number(a.a$.sheetId)});l==="hidden"?d.visible_state=1:l==="veryHidden"&&(d.visible_state=2),d.shared_strings=this.shared_strings,d.path=`xl/${this.rels[c].target}`,d.rels_path=d.path.replace("worksheets","worksheets/_rels")+".rels",e=this.zip.Get(d.path),d.sheet_data=Ce.parse(e||""),d.rels=this.ReadRels(d.rels_path),d.Parse(),this.sheets.push(d)}}}ReadTable(e){let t=this.zip.Get(e.replace(/^../,"xl"));if(!t)return;let r=Ce.parse(t),i=r.table?.a$?.name||"";return{name:i,display_name:r.table?.a$?.displayName||i,ref:r.table?.a$.ref||"",totals_row_shown:Number(r.table?.a$.totalsRowShown||"0")||0,totals_row_count:Number(r.table?.a$.totalsRowCount||"0")||0}}ReadDrawing(e){let t=this.zip.Get(e.replace(/^../,"xl"));if(!t)return;let r=Ce.parse(t),i=this.ReadRels(e.replace(/^..\\/drawings/,"xl/drawings/_rels")+".rels"),n=[],a=R.FindAll(r,"xdr:wsDr/xdr:twoCellAnchor"),o=(l={})=>({column:l["xdr:col"]||0,column_offset:l["xdr:colOff"]||0,row:l["xdr:row"]||0,row_offset:l["xdr:rowOff"]||0});for(let l of a){let c={from:o(l["xdr:from"]),to:o(l["xdr:to"])},d=R.FindAll(l,"xdr:graphicFrame/a:graphic/a:graphicData/c:chart")[0];if(d||(d=R.FindAll(l,"mc:AlternateContent/mc:Choice/xdr:graphicFrame/a:graphic/a:graphicData/cx:chart")[0]),d&&d.a$&&d.a$["r:id"]){let h={type:"chart",anchor:c},f=i[d.a$["r:id"]];f&&f.target&&(h.chart=this.ReadChart(f.target)),n.push(h)}else{let h=R.FindAll(l,"xdr:pic/xdr:blipFill/a:blip")[0];if(h&&h.a$["r:embed"]){let f=i[h.a$["r:embed"]];if(f&&f.target&&/(?:jpg|jpeg|png|gif)$/i.test(f.target)){let u=f.target.replace(/^\\.\\./,"xl"),p=u.replace(/^.*\\//,""),b={type:"image",anchor:c,image:this.zip.GetBinary(u),filename:p};n.push(b)}}else{let f,u=R.FindAll(l,"xdr:sp")[0];if(u){let p=u.a$?.textlink||void 0,b=R.FindAll(u,"xdr:spPr")[0];if(b){f={};let w=b["a:solidFill"];if(w&&w["a:schemeClr"]?.a$?.val){let v=w["a:schemeClr"].a$.val.match(/accent(\\d+)/);if(v&&(f.fill={theme:Number(v[1])+3},w["a:schemeClr"]["a:lumOff"]?.a$?.val)){let _=Number(w["a:schemeClr"]["a:lumOff"].a$.val);isNaN(_)||(f.fill.tint=_/1e5)}}}let C=R.FindAll(u,"xdr:txBody")[0];if(C){let w=[],v=R.FindAll(C,"a:p");for(let _ of v){let g=[],A,D=_["a:fld"];if(D&&D.a$?.type==="TxLink"){let z={text:`{${p}}`,reference:!0},$=D["a:rPr"];$&&(z.style={},$.a$?.b==="1"&&(z.style.bold=!0),$.a$?.i==="1"&&(z.style.italic=!0)),g.push(z)}let M=_["a:pPr"];M&&(A={},M.a$?.algn==="r"?A.horizontal_align="right":M.a$?.algn==="ctr"&&(A.horizontal_align="center"));let G=_["a:r"];if(G){Array.isArray(G)||(G=[G]);for(let z of G){let $={text:z["a:t"]||""},V=z["a:rPr"];V&&($.style={},V.a$?.b==="1"&&($.style.bold=!0),V.a$?.i==="1"&&($.style.italic=!0)),g.push($)}}w.push({content:g,style:A})}n.push({type:"textbox",style:f,paragraphs:w,anchor:c,reference:p})}}}}}return n}ReadChart(e){let t=this.zip.Get(e.replace(/^../,"xl"));if(!t)return;let r=Ce.parse(t),i={type:0},n=R.FindChild(r,"c:chartSpace/c:chart/c:title");if(n){let l=R.FindChild(n,"c:tx/c:strRef/c:f");if(l)typeof l=="string"?i.title=l:l.t$&&(i.title=l.t$);else{let c=[],d=R.FindAll(n,"c:tx/c:rich/a:p/a:r");for(let h of d)h["a:t"]&&c.push(h["a:t"]);i.title=\'"\'+c.map(h=>typeof h=="string"?h:h.t$||"").join("")+\'"\'}}let a=(l,c)=>{let d=[],h=l["c:ser"]||[];Array.isArray(h)||(h=[h]);for(let f of h){let u=d.length,p=f["c:order"];p&&(u=Number(p.a$?.val||0)||0);let b={},C=R.FindChild(f,"c:tx/c:v");if(C){let w=C;w&&(b.title=`"${w}"`)}else C=R.FindChild(f,"c:tx/c:strRef/c:f"),C&&(b.title=C);if(c===4||c===7){let w=R.FindChild(f,"c:xVal/c:numRef/c:f");w&&(b.categories=w);let v=R.FindChild(f,"c:yVal/c:numRef/c:f");if(v&&(b.values=v),c===7){let _=R.FindChild(f,"c:bubbleSize/c:numRef/c:f");_&&(b.bubble_size=_)}}else{let w=R.FindChild(f,"c:val/c:numRef/c:f");w&&(b.values=w);let v=R.FindChild(f,"c:cat/c:strRef/c:f");v||(v=R.FindChild(f,"c:cat/c:numRef/c:f")),v&&(b.categories=v)}d[u]=b}return d},o=R.FindChild(r,"c:chartSpace/c:chart/c:plotArea/c:barChart");if(o&&(i.type=2,o["c:barDir"]&&o["c:barDir"].a$?.val==="col"&&(i.type=1,o["c:grouping"]?.a$?.val==="stacked"&&(i.flags||(i.flags=[]),i.flags.push("stacked"))),i.series=a(o)),o||(o=R.FindChild(r,"c:chartSpace/c:chart/c:plotArea/c:lineChart"),o&&(i.type=3,i.series=a(o))),o||(o=R.FindChild(r,"c:chartSpace/c:chart/c:plotArea/c:doughnutChart"),o&&(i.type=5,i.series=a(o))),o||(o=R.FindChild(r,"c:chartSpace/c:chart/c:plotArea/c:pieChart"),o&&(i.type=6,i.series=a(o))),o||(o=R.FindChild(r,"c:chartSpace/c:chart/c:plotArea/c:scatterChart"),o&&(i.type=4,i.series=a(o,4))),o||(o=R.FindChild(r,"c:chartSpace/c:chart/c:plotArea/c:bubbleChart"),o&&(i.type=7,i.series=a(o,7))),!o){let l=R.FindAll(r,"cx:chartSpace/cx:chart/cx:plotArea/cx:plotAreaRegion/cx:series");if(l?.length){let c=!0,d=!0,h=!0;for(let f of l){let u=f.a$?.layoutId;c&&u!=="clusteredColumn"&&(c=!1),h&&u!=="boxWhisker"&&(h=!1),c&&d&&(R.FindAll(f,"cx:layoutPr/cx:binning").length||(d=!1))}if(d){i.type=9,i.series=[];for(let u of l){if(u.a$?.hidden==="1")continue;let p={},b=R.FindAll(r,"cx:chartSpace/cx:chartData/cx:data"),C=[];for(let v of b)C.push(v["cx:numDim"]?.["cx:f"]||"");p.values=C.join(",");let w=R.FindAll(u,"cx:layoutPr/cx:binning/cx:binCount");if(w[0]){let v=Number(w[0].a$?.val||0);v&&(p.bin_count=v)}i.series.push(p)}let f=R.FindAll(r,"cx:chartSpace/cx:chart/cx:title/cx:tx/cx:txData");return f&&(f[0]?.["cx:f"]?i.title=f[0]["cx:f"]:f[0]?.["cx:v"]&&(i.title=\'"\'+f[0]["cx:v"]+\'"\')),console.info("histogram",i),i}if(h){i.type=8,i.series=[];let f=R.FindAll(r,"cx:chartSpace/cx:chartData/cx:data");for(let u of l){let p={},b=Number(u["cx:dataId"]?.a$?.val);for(let v of f)if(Number(v.a$?.id)===b){p.values=v["cx:numDim"]?.["cx:f"]||"";break}let C=R.FindAll(u,"cx:tx/cx:txData");C&&(C[0]?.["cx:f"]?p.title=C[0]["cx:f"]:C[0]?.["cx:v"]&&(p.title=\'"\'+C[0]["cx:v"]+\'"\'));let w=R.FindAll(r,"cx:chartSpace/cx:chart/cx:title/cx:tx/cx:txData");w&&(w[0]?.["cx:f"]?i.title=w[0]["cx:f"]:w[0]?.["cx:v"]&&(i.title=\'"\'+w[0]["cx:v"]+\'"\')),i.series.push(p)}return i}}}return o||(console.info("Chart type not handled",{xml:r}),i.type=10),i}GetNamedRanges(){return this.named}};var Se=`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n`,Or=s=>{if(Te(s))return{a$:{rgb:"FF"+s.text.substring(1)}};if(Ie(s))return{a$:{theme:Ve(s),tint:s.tint}}},Kt=class{zip;xmloptions={format:!0,attributesGroupName:"a$",textNodeName:"t$",ignoreAttributes:!1,suppressEmptyNode:!0};xmlbuilder1=Ii(this.xmloptions);xmlparser2=new Le(Vt);parser=new Ke;decorated_functions={};Init(e={}){for(let r of Object.keys(e))this.decorated_functions[r.toLowerCase()]=e[r];let t=os.toByteArray(Yr);this.zip=new rt(t.buffer)}WriteRels(e,t,r=!1){if(!this.zip)throw new Error("missing zip");let i=Object.keys(e),n={Relationships:{a$:{xmlns:"http://schemas.openxmlformats.org/package/2006/relationships"},Relationship:i.map(o=>{let l=e[o],c={Id:l.id,Target:l.target,Type:l.type};return l.mode&&(c.TargetMode=l.mode),{a$:c}})}},a=Se+this.xmlbuilder1.build(n);r&&console.info(a),this.zip.Set(t,a)}WriteStyleCache(e){if(!this.zip)throw new Error("missing zip");let t=u=>{let p={};return u.indexed!==void 0&&(p.indexed=u.indexed),u.theme!==void 0&&(p.theme=u.theme),u.tint!==void 0&&(p.tint=u.tint),u.argb!==void 0&&(p.rgb=u.argb),p},r=e.cell_xfs.map(u=>{let p={a$:{numFmtId:u.number_format,fontId:u.font,fillId:u.fill,borderId:u.border}};if(u.horizontal_alignment||u.vertical_alignment||u.wrap_text||u.indent){let b={};u.horizontal_alignment&&(b.horizontal=u.horizontal_alignment),u.vertical_alignment&&(b.vertical=u.vertical_alignment),u.wrap_text&&(b.wrapText=1),u.indent&&u.horizontal_alignment!=="center"&&(b.indent=u.indent),p.alignment={a$:b}}return p}),i=u=>{if(u.color)return{indexed:u.color};if(u.rgba)return{rgb:u.rgba};if(typeof u.theme<"u")return{theme:u.theme,tint:u.tint}},n=e.borders.map(u=>{let p={},b={},C={},w={},v={};if(u.top.style){p.a$={style:u.top.style};let _=i(u.top);_&&(p.color={a$:_})}if(u.left.style){b.a$={style:u.left.style};let _=i(u.left);_&&(b.color={a$:_})}if(u.bottom.style){w.a$={style:u.bottom.style};let _=i(u.bottom);_&&(w.color={a$:_})}if(u.right.style){C.a$={style:u.right.style};let _=i(u.right);_&&(C.color={a$:_})}if(u.diagonal.style){v.a$={style:u.diagonal.style};let _=i(u.diagonal);_&&(v.color={a$:_})}return{left:b,right:C,top:p,bottom:w,diagonal:v}}),a=e.fills.map(u=>({patternFill:{a$:{patternType:u.pattern_gray!==void 0?`gray${u.pattern_gray}`:u.pattern_type},bgColor:u.bg_color?{a$:t(u.bg_color)}:void 0,fgColor:u.fg_color?{a$:t(u.fg_color)}:void 0}})),o=u=>{if(!(typeof u>"u"))return{a$:{val:u}}},l=e.fonts.map(u=>({b:u.bold?"":void 0,i:u.italic?"":void 0,u:u.underline?"":void 0,strike:u.strike?"":void 0,sz:o(u.size),family:o(u.family),name:o(u.name),scheme:o(u.scheme),color:u.color_argb?{a$:{rgb:u.color_argb}}:typeof u.color_theme<"u"?{a$:{theme:u.color_theme,tint:u.color_tint}}:void 0})),c=(u,p)=>{if(p.length)return{a$:{count:p.length},[u]:p}},d=e.dxf_styles.map(u=>{let p={};return(u.text||u.bold||u.italic||u.underline)&&(p.font={b:u.bold?{}:void 0,i:u.italic?{}:void 0,u:u.underline?{}:void 0,strike:u.strike?{}:void 0,color:Or(u.text)}),u.fill&&(p.fill={patternFill:{bgColor:Or(u.fill)}}),p}),h={styleSheet:{a$:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main","xmlns:mc":"http://schemas.openxmlformats.org/markup-compatibility/2006","mc:Ignorable":"x14ac x16r2 xr","xmlns:x14ac":"http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac","xmlns:x16r2":"http://schemas.microsoft.com/office/spreadsheetml/2015/02/main","xmlns:xr":"http://schemas.microsoft.com/office/spreadsheetml/2014/revision"},numFmts:e.number_formats.length?{a$:{count:e.number_formats.length},numFmt:e.number_formats.map(u=>({a$:{numFmtId:u.id,formatCode:u.format}}))}:void 0,fonts:c("font",l),fills:c("fill",a),borders:c("border",n),cellXfs:c("xf",r),dxfs:c("dxf",d)}},f=Se+this.xmlbuilder1.build(h);this.zip?.Set("xl/styles.xml",f)}WriteSharedStrings(e){if(!this.zip)throw new Error("missing zip");let t={sst:{a$:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main",count:e.strings.length,uniqueCount:e.strings.length},si:[...e.strings.map(i=>({t:i}))]}},r=Se+this.xmlbuilder1.build(t);this.zip.Set("xl/sharedStrings.xml",r)}SheetStyle(e,t){if(!e.sheet_style)return 0;let r=t.StyleOptionsFromProperties(e.sheet_style);return t.EnsureStyle(r)}RowStyle(e,t,r){let i=e.styles||e.cell_style_refs||[],n=[e.sheet_style];if(e.row_style){let o=e.row_style[r];typeof o=="number"&&(o=i[o]),o&&n.push(o)}let a=t.StyleOptionsFromProperties(Ae.Composite(n));return t.EnsureStyle(a)}ColumnStyle(e,t,r){let i=e.styles||e.cell_style_refs||[],n=[e.sheet_style];if(e.column_style){let o=e.column_style[r];typeof o=="number"&&(o=i[o]),o&&n.push(o)}let a=t.StyleOptionsFromProperties(Ae.Composite(n));return t.EnsureStyle(a)}StyleFromCell(e,t,r,i,n={}){let a=e.styles||e.cell_style_refs||[],o=[e.sheet_style];if(e.row_style){let c=e.row_style[r];typeof c=="number"&&(c=a[c]),c&&o.push(c)}if(e.column_style){let c=e.column_style[i];typeof c=="number"&&(c=a[c]),c&&o.push(c)}o.push(n);let l=t.StyleOptionsFromProperties(Ae.Composite(o));return t.EnsureStyle(l)}NormalizeAddress(e,t){let r=e.type==="address"?[e]:[e.start,e.end];for(let i of r)i.absolute_row=!0,i.absolute_column=!0,i.sheet||(i.sheet=t.name);return e.type==="range"&&(e.end.sheet=void 0),e.label=this.parser.Render(e),e}EnsureRange(e){return e.type==="range"?e:{type:"range",start:e,end:e,label:e.label,id:e.id,position:e.position}}AnnotationLayoutToAnchor(e,t){let r=i=>{let n=t.column_width&&t.column_width[i.address.column]?t.column_width[i.address.column]:t.default_column_width||100,a=t.row_height&&t.row_height[i.address.row]?t.row_height[i.address.row]:t.default_row_height||20;return{...i.address,row_offset:Math.round(i.offset.y*a),column_offset:Math.round(i.offset.x*n)}};return{from:r(e.tl),to:r(e.br)}}AnnotationRectToAnchor(e,t){let r={from:{row:-1,column:-1},to:{row:-1,column:-1}},i={top:0,left:0,width:301,height:301,...e},n={...i,right:i.left+i.width,bottom:i.top+i.height};for(let a=0,o=0;o<1e3;o++){let l=t.column_width&&t.column_width[o]?t.column_width[o]:t.default_column_width||100;if(r.from.column<0&&n.left<=a+l&&(r.from.column=o,r.from.column_offset=n.left-a),r.to.column<0&&n.right<=a+l){r.to.column=o,r.to.column_offset=n.right-a;break}a+=l}for(let a=0,o=0;o<1e3;o++){let l=t.row_height&&t.row_height[o]?t.row_height[o]:t.default_row_height||20;if(r.from.row<0&&n.top<=a+l&&(r.from.row=o,r.from.row_offset=n.top-a),r.to.row<0&&n.bottom<=a+l){r.to.row=o,r.to.row_offset=n.bottom-a;break}a+=l}return r}ParseImages(e){let t=[];for(let r of e.annotations||[])if(r.type==="image"&&r.data?.src){let i=r.data.src,n=i.match(/^data:image\\/([^;]*?);base64,/);if(n){let a=i.substr(n[0].length),o=n[1],l={data:a,mimetype:o,encoding:"base64"};switch(o){case"svg+xml":case"webp":case"jpeg":case"jpg":case"image/png":case"png":case"gif":r.layout?t.push({anchor:this.AnnotationLayoutToAnchor(r.layout,e),options:l}):r.rect?t.push({anchor:this.AnnotationRectToAnchor(r.rect,e),options:l}):console.warn("annotation missing layout");break;default:console.info("unhandled image type",o);break}}}return t}ParseCharts(e){let t=[],r=(i,n,a)=>{if(i.type==="range")n.data.push(this.NormalizeAddress(i,e));else if(i.type==="call"){if(/group/i.test(i.name))for(let o of i.args||[])r(o,n,a?a+" (recurse)":void 0);else if(/series/i.test(i.name)){let[o,l,c,d]=i.args;c&&(c.type==="range"||c.type==="address")?(n.data.push(this.EnsureRange(this.NormalizeAddress(c,e))),o&&(n.names||(n.names=[]),o.type==="address"&&this.NormalizeAddress(o,e),o.type==="range"?(this.NormalizeAddress(o.start,e),n.names[n.data.length-1]=o.start):n.names[n.data.length-1]=o),n.labels2||(n.labels2=[]),l&&(l.type==="range"||l.type==="address")&&(n.labels2[n.data.length-1]=this.EnsureRange(this.NormalizeAddress(l,e))),d&&(d.type==="range"||d.type==="address")&&(n.labels3||(n.labels3=[]),n.labels3[n.data.length-1]=this.EnsureRange(this.NormalizeAddress(d,e)))):console.info("invalid series missing Y",{y:c,arg:i,ref:a})}}};for(let i of e.annotations||[]){let n=this.parser.Parse(i.formula||"");if(n.expression&&n.expression.type==="call"){let a="";switch(n.expression.name.toLowerCase()){case"line.chart":a="scatter";break;case"bubble.chart":a="bubble";break;case"scatter.line":a="scatter2";break;case"donut.chart":a="donut";break;case"bar.chart":a="bar";break;case"column.chart":a="column";break}if(a==="column"||a==="donut"||a==="bar"||a==="scatter"||a==="scatter2"||a==="bubble"){let o={type:a,data:[]},l=a==="scatter2"||a==="bubble"?1:2,c=n.expression.args[l];if(c&&c.type==="literal"?o.title=c:c&&c.type==="address"&&(o.title=this.NormalizeAddress(c,e)),n.expression.args[0]){let h=n.expression.args[0];if(a==="scatter2"||a==="bar"||a==="column"||a==="scatter"||a==="bubble")r(h,o,e.name);else if(h.type==="range")o.data.push(this.NormalizeAddress(h,e));else if(h.type==="call"&&/group/i.test(h.name))for(let f of h.args)f.type==="range"?o.data.push(this.NormalizeAddress(f,e)):f.type==="call"&&/series/i.test(f.name)&&f.args[2]&&f.args[2].type==="range"&&o.data.push(this.NormalizeAddress(f.args[2],e));else h.type==="call"&&/series/i.test(h.name)&&h.args[2]&&h.args[2].type==="range"&&o.data.push(this.NormalizeAddress(h.args[2],e))}a!=="scatter2"&&a!=="bubble"&&n.expression.args[1]&&n.expression.args[1].type==="range"&&(o.labels=this.NormalizeAddress(n.expression.args[1],e)),(a==="scatter"&&n.expression.args[4]&&n.expression.args[4].type==="literal"&&n.expression.args[4].value.toString().toLowerCase()==="smooth"||a==="scatter2"&&n.expression.args[2]&&n.expression.args[2].type==="literal"&&/smooth/i.test(n.expression.args[2].value.toString()))&&(o.smooth=!0);let d=i.rect;i.layout?t.push({anchor:this.AnnotationLayoutToAnchor(i.layout,e),options:o}):d?t.push({anchor:this.AnnotationRectToAnchor(d,e),options:o}):console.warn("annotation missing layout")}}}return t}FormulaText(e,t){if(e[0]!=="=")return e;let r=this.parser.Parse(e);if(r.expression){this.parser.Walk(r.expression,n=>{if(n.type==="call"){let a=n.name.toLowerCase();this.decorated_functions[a]&&(n.name=this.decorated_functions[a]+"."+n.name)}return!0});let i=t.table?.name||"";return this.parser.Render(r.expression,{missing:"",long_structured_references:!0,table_name:i})}else return console.warn("parsing function failed"),console.warn(e),e.substring(1)}Export(e){let t=0,r=[];for(let _=0;_<e.sheet_data.length;_++){let g=e.sheet_data[_],A=g.id||0;A&&(r[A]=g.name||""),A===e.active_sheet&&(t=_)}let i=new Je,n=new Qe,a=new Ue,o=this.zip?.Get("xl/theme/theme1.xml");a.FromXML(this.xmlparser2.parse(o||"")),o=this.zip?.Get("xl/styles.xml"),n.FromXML(this.xmlparser2.parse(o||""),a);let l=!1;xt.next_drawing_index=1,et.next_chart_index=1;let c=[],d=[];for(let _=0;_<e.sheet_data.length;_++){let g=e.sheet_data[_],A={},D={xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main","xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships","xmlns:mc":"http://schemas.openxmlformats.org/markup-compatibility/2006","mc:Ignorable":"x14ac xr xr2 xr3","xmlns:x14ac":"http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac","xmlns:xr":"http://schemas.microsoft.com/office/spreadsheetml/2014/revision","xmlns:xr2":"http://schemas.microsoft.com/office/spreadsheetml/2015/revision2","xmlns:xr3":"http://schemas.microsoft.com/office/spreadsheetml/2016/revision3","xr:uid":"{D37933E2-499F-4789-8D13-194E11B743FC}"},M=g.default_row_height?g.default_row_height/20*15:15,G=g.styles||g.cell_style_refs||[],z=new Et;z.FromJSON(g.data,G);for(let x of g.cell_styles){let P=z.EnsureCell(x);P.style||(P.style=G[x.ref])}let $={start:{row:z.rows+1,column:z.columns+1},end:{row:z.rows+1,column:z.columns+1}},V=[],Q=[],J=[],q=[],ie=[],te=[],X=this.SheetStyle(g,n);for(let x=0;x<z.data.length;x++){let P=this.RowStyle(g,n,x);if(z.data[x]&&z.data[x].length){x<$.start.row&&($.start.row=x);let O={start:-1,end:-1},L=[];for(let k=0;k<z.data[x].length;k++){te[k]||(te[k]=this.ColumnStyle(g,n,k));let I=z.data[x][k];if(I){if(I.table&&I.table.area.start.row===x&&I.table.area.start.column===k){let we=new H(I.table.area.start,I.table.area.end),Ct=d.length+1,ls=`../tables/table${Ct}.xml`,rr=[];for(let fe=0;fe<we.columns;fe++){let K=z.data[x][k+fe],Fe="";K.type!==2?(typeof K.calculated<"u"?Fe=K.calculated.toString():typeof K.value<"u"&&(Fe=K.value.toString()),K.type=2,K.value=Fe):Fe=K.value||"",Fe||(Fe=`Column${fe+1}`);let At=Fe,sr=!1,cs=1;for(;!sr;){sr=!0;e:for(let ds of rr)if(ds.toLowerCase()===At.toLowerCase()){sr=!1,At=`${Fe}${++cs}`;break e}}K.value=At,rr.push(At)}let St;if(I.table.totals_row){St=[];for(let fe=0;fe<we.columns;fe++){let K=z.data[we.end.row][we.start.column+fe];K.type&&(K.type===1?St[fe]={type:"formula",value:(K.value||"").toString().substring(1)}:(K.type!==2&&(K.type=2,K.value=K.value?.toString()||""),St[fe]={type:"label",value:K.value}))}}let ir={rel:me(A,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/table",ls),index:Ct,ref:we.spreadsheet_label,name:`Table${Ct}`,display_name:`Table${Ct}`,totals_row_shown:0,totals_row_count:I.table?.totals_row?1:0,columns:rr,footers:St};if(I.table.totals_row){let fe=new H(we.start,{row:we.end.row-1,column:we.end.column});ir.filterRef=fe.spreadsheet_label}ie.push(ir),d.push(ir)}if(I.merge_area&&I.merge_area.start.row===x&&I.merge_area.start.column===k&&q.push(new H(I.merge_area.start,I.merge_area.end)),I.hyperlink){let we=me(A,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",I.hyperlink,"External");Q.push({rel:we,target:I.hyperlink,address:{row:x,column:k}})}if(I.type===1&&/^=?sparkline\\./i.test(I.value)){J.push({address:{row:x,column:k},formula:I.value,style:I.style});continue}k<$.start.column&&($.start.column=k),O.start<0&&(O.start=k),O.end=k;let W=this.StyleFromCell(g,n,x,k,I.style);if(I.type===0&&(P&&W===P||!P&&te[k]&&W===te[k]))continue;let j,be,ae;switch(I.type){case 1:switch(ae=this.FormulaText(I.value,I),I.calculated_type){case 2:j=I.calculated,be="str";break;case 3:j=I.calculated;break;case 4:j=I.calculated?1:0,be="b";break}break;case 2:j=i.Ensure(I.value),be="s";break;case 3:j=I.value;break;case 4:j=I.value?1:0,be="b";break}I.area&&I.area.start.row===x&&I.area.start.column===k&&typeof ae=="string"&&(ae={t$:ae,a$:{t:"array",ref:I.area.spreadsheet_label}});let it;I.spill&&I.spill.start.row===x&&I.spill.start.column===k&&(it=1,l=!0,typeof ae=="string"&&(ae={t$:ae,a$:{t:"array",ref:I.spill.spreadsheet_label}})),L.push({a$:{r:H.CellAddressToLabel({row:x,column:k}),t:be,s:W,cm:it},f:ae,v:j})}}if(L.length||P&&P!==X){let k,I,W,j;g.row_height&&typeof g.row_height[x]=="number"&&g.row_height[x]!==g.default_row_height&&(k=1,I=g.row_height[x]*3/4),P&&P!==X&&(W=P,j=1),V.push({a$:{r:x+1,spans:`${O.start+1}:${O.end+1}`,customHeight:k,ht:I,s:W,customFormat:j},c:L})}}}let de=[];for(let x=0;x<g.columns;x++){let P={index:x};g.column_width&&g.default_column_width&&typeof g.column_width[x]=="number"&&g.column_width[x]!==g.default_column_width&&(P.width=Rt(g.column_width[x]));let O=te[x];O&&O!==X&&(P.style=O),(P.style!==void 0||P.width!==void 0)&&(de[x]=P)}let he;if(de.length||X){let x=[],P=Rt(g.default_column_width||90);{let O=0;for(let L of de)L&&(X&&L.index>O+1&&x.push({a$:{min:O+1,max:L.index,style:X,width:P}}),x.push({a$:{min:L.index+1,max:L.index+1,style:L.style===void 0?X:L.style,width:L.width===void 0?P:L.width,customWidth:L.width===void 0?void 0:1}}),O=L.index);X&&O<16384&&x.push({a$:{min:O+1,max:16384,style:X,width:P}}),he={col:x}}}let oe;g.data_validations?.length&&(oe={a$:{count:g.data_validations.length},dataValidation:g.data_validations.map(x=>{let P=x.target.map(L=>new H(L.start,L.end).spreadsheet_label).join(" "),O;if(x.type==="range"){let L={id:0,type:"range",label:"",position:0,start:{...x.area.start,absolute_column:!0,absolute_row:!0,id:0,label:"",position:0,type:"address"},end:{...x.area.end,absolute_column:!0,absolute_row:!0,id:0,label:"",position:0,type:"address"}};typeof x.area.start.sheet_id<"u"&&(L.start.sheet=r[x.area.start.sheet_id]),O=this.parser.Render(L)}else x.type==="list"&&(O=`"${x.list.join(",")}"`);return{a$:{type:"list",allowBlank:1,showInputMessage:1,showErrorMessage:1,sqref:P},formula1:O}})});let ue;ie.length&&(ue={a$:{count:ie.length},tablePart:ie.map(x=>({a$:{"r:id":x.rel||""}}))});for(let x of ie){let P={};x.totals_row_count&&(P.totalsRowCount=1);let O={a$:{count:(x.columns||[]).length},tableColumn:(x.columns||[]).map((I,W)=>{let j=(x.footers||[])[W];return{a$:{id:W+1,name:I||`Column${W+1}`,totalsRowLabel:j?.type==="label"?j.value:void 0,totalsRowFunction:j?.type==="formula"?"custom":void 0},totalsRowFormula:j?.type==="formula"?j.value:void 0}})},L={table:{a$:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main","xmlns:mc":"http://schemas.openxmlformats.org/markup-compatibility/2006","mc:Ignorable":"xr xr3","xmlns:xr":"http://schemas.microsoft.com/office/spreadsheetml/2014/revision","xmlns:xr3":"http://schemas.microsoft.com/office/spreadsheetml/2016/revision3",id:x.index||0,name:x.name,displayName:x.display_name,...P,ref:x.ref},autoFilter:{a$:{ref:x.filterRef||x.ref}},tableColumns:O,tableStyleInfo:{a$:{name:"TableStyleMedium2",showFirstColumn:0,showLastColumn:0,showRowStripes:1,showColumnStripes:0}}}},k=Se+this.xmlbuilder1.build(L);this.zip?.Set(`xl/tables/table${x.index}.xml`,k)}let re;if(g.conditional_formats?.length){let x=[],P=1,O={},L=Object.entries(qt).map(k=>(O[k[1]]=k[0],k[1]));L.sort((k,I)=>I.length-k.length);for(let k of g.conditional_formats){let I=0;switch(k.type!=="gradient"&&k.type!=="data-bar"&&(I=n.dxf_styles.length,n.dxf_styles.push(k.style)),k.type){case"cell-match":{let W="",j="";for(let be of L)if(new RegExp("^"+be+"\\\\s").test(k.expression)){W=O[be],j=k.expression.substring(be.length).trim();break}W&&x.push({a$:{sqref:new H(k.area.start,k.area.end).spreadsheet_label},cfRule:{a$:{type:"cellIs",dxfId:I,operator:W,priority:P++},formula:j}})}break;case"expression":x.push({a$:{sqref:new H(k.area.start,k.area.end).spreadsheet_label},cfRule:{a$:{type:"expression",dxfId:I,priority:P++},formula:k.expression}});break;case"duplicate-values":x.push({a$:{sqref:new H(k.area.start,k.area.end).spreadsheet_label},cfRule:{a$:{type:k.unique?"uniqueValues":"duplicateValues",dxfId:I,priority:P++}}});break;case"gradient":{let W=[],j=[];for(let ae of k.stops){ae.value===0?W.push({a$:{type:"min"}}):ae.value===1?W.push({a$:{type:"max"}}):W.push({a$:{type:"percentile",val:ae.value*100}});let it=Or(ae.color);it&&j.push(it)}let be={a$:{sqref:new H(k.area.start,k.area.end).spreadsheet_label},cfRule:{a$:{type:"colorScale",priority:P++},colorScale:{cfvo:W,color:j}}};x.push(be)}break}}x.length&&(re=x.length>1?x:x[0])}let y;q.length&&(y={a$:{count:q.length},mergeCell:q.map(x=>({a$:{ref:x.spreadsheet_label}}))});let F;Q.length&&(F={hyperlink:Q.map(x=>({a$:{"r:id":x.rel,ref:new H(x.address).spreadsheet_label,"xr:uid":"{0C6B7792-7EA0-4932-BF15-D49C453C565D}"}}))});let N;if(J.length){let x={a$:{"xmlns:xm":"http://schemas.microsoft.com/office/excel/2006/main"},"x14:sparklineGroup":J.map(P=>{let O=this.parser.Parse(P.formula),L="";if(O.expression&&O.expression.type==="call"&&O.expression.args.length>0){let I=O.expression.args[0];if(I.type==="range"||I.type==="address"){let W=I.type==="range"?I.start:I;W.sheet||(typeof W.sheet_id<"u"?W.sheet=r[W.sheet_id]:W.sheet=g.name),L=this.parser.Render(I)}}let k={rgb:"FF376092"};return P.style?.text&&(Te(P.style.text)?k.rgb=P.style.text.text:Ie(P.style.text)&&(k.rgb=void 0,k.theme=P.style.text.theme.toString(),k.tint=typeof P.style.text.tint=="number"?P.style.text.tint.toString():void 0)),{a$:{displayEmptyCellsAs:"gap",displayHidden:"1",type:/column/i.test(P.formula)?"column":void 0},"x14:colorSeries":{a$:{...k}},"x14:sparklines":{"x14:sparkline":{"xm:f":L,"xm:sqref":new H(P.address).spreadsheet_label}}}})};N={ext:{a$:{uri:"{05C60535-1F16-4fd2-B633-F4F36F0B64E0}","xmlns:x14":"http://schemas.microsoft.com/office/spreadsheetml/2009/9/main"},"x14:sparklineGroups":x}}}let E,T=this.ParseCharts(g),S=this.ParseImages(g);if(T.length||S.length){let x=new xt;for(let L of T)x.AddChart(L.options,L.anchor);for(let L of S)x.AddImage(L.options,L.anchor);for(let{image:L}of x.images)L.options.data&&this.zip?.SetBinary(`xl/media/image${L.index}.${L.extension}`,L.options.data,L.options.encoding);for(let{chart:L}of x.charts){let k=L.toJSON(),I=Se+this.xmlbuilder1.build(k);this.zip?.Set(`xl/charts/chart${L.index}.xml`,I),this.WriteRels(L.relationships,`xl/charts/_rels/chart${L.index}.xml.rels`)}this.WriteRels(x.relationships,`xl/drawings/_rels/drawing${x.index}.xml.rels`);let P=Se+this.xmlbuilder1.build(x.toJSON());this.zip?.Set(`xl/drawings/drawing${x.index}.xml`,P),c.push(x),E={a$:{"r:id":me(A,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing",`../drawings/drawing${x.index}.xml`)}}}let B={};if(g.tab_color){if(Ie(g.tab_color))B.sheetPr={tabColor:{a$:{theme:g.tab_color.theme,tint:g.tab_color.tint}}};else if(Te(g.tab_color)){let x=g.tab_color.text||"";/^#[0-9a-fA-F]*$/.test(x)&&(B.sheetPr={tabColor:{a$:{rgb:"FF"+x.substring(1)}}})}}let Z={a$:{"x14ac:dyDescent":.25,defaultRowHeight:M===15?void 0:M,customHeight:M===15?void 0:1,defaultColWidth:g.default_column_width?Rt(g.default_column_width):void 0}},_e={worksheet:{a$:{...D},...B,dimension:{a$:{ref:new H($.start,$.end).spreadsheet_label}},sheetViews:{sheetView:{a$:{workbookViewId:0}}},sheetFormatPr:Z,cols:he,sheetData:{row:V},mergeCells:y,conditionalFormatting:re,dataValidations:oe,hyperlinks:F,pageMargins:{a$:{left:.7,right:.7,top:.75,bottom:.75,header:.3,footer:.3}},drawing:E,tableParts:ue,extLst:N}},ye=Se+this.xmlbuilder1.build(_e);this.zip?.Set(`xl/worksheets/sheet${_+1}.xml`,ye),Object.keys(A).length&&this.WriteRels(A,`xl/worksheets/_rels/sheet${_+1}.xml.rels`)}this.WriteSharedStrings(i),this.WriteStyleCache(n);let h={};me(h,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles","styles.xml"),me(h,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme","theme/theme1.xml"),me(h,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings","sharedStrings.xml");let f=e.sheet_data.map((_,g)=>me(h,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet",`worksheets/sheet${g+1}.xml`));if(l){let _={metadata:{a$:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main","xmlns:xda":"http://schemas.microsoft.com/office/spreadsheetml/2017/dynamicarray"},metadataTypes:{a$:{count:1},metadataType:{a$:{name:"XLDAPR",minSupportedVersion:"120000",copy:1,pasteAll:1,pasteValues:1,merge:1,splitFirst:1,rowColShift:1,clearFormats:1,clearComments:1,assign:1,coerce:1,cellMeta:1}}},futureMetadata:{a$:{name:"XLDAPR",count:1},bk:{extLst:{ext:{a$:{uri:"{bdbb8cdc-fa1e-496e-a857-3c3f30c029c3}"},"xda:dynamicArrayProperties":{a$:{fDynamic:1,fCollapsed:"0"}}}}}},cellMetadata:{a$:{count:1},bk:{rc:{a$:{t:1,v:"0"}}}}}},g=Se+this.xmlbuilder1.build(_);this.zip?.Set("xl/metadata.xml",g),me(h,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata","metadata.xml")}this.WriteRels(h,"xl/_rels/workbook.xml.rels");let u=e.named?.length?{definedName:(e.named||[]).map(_=>{let g;if(_.scope){let A=_.scope.toLowerCase();for(let[D,M]of e.sheet_data.entries())if(M.name?.toLowerCase()===A){g=D.toString();break}}return{a$:{name:_.name,localSheetId:g},t$:_.expression}})}:void 0,p={workbook:{a$:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main","xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships","xmlns:mc":"http://schemas.openxmlformats.org/markup-compatibility/2006","mc:Ignorable":"x15 xr xr6 xr10 xr2","xmlns:x15":"http://schemas.microsoft.com/office/spreadsheetml/2010/11/main","xmlns:xr":"http://schemas.microsoft.com/office/spreadsheetml/2014/revision","xmlns:xr6":"http://schemas.microsoft.com/office/spreadsheetml/2016/revision6","xmlns:xr10":"http://schemas.microsoft.com/office/spreadsheetml/2016/revision10","xmlns:xr2":"http://schemas.microsoft.com/office/spreadsheetml/2015/revision2"},workbookPr:{a$:{defaultThemeVersion:"166925"}},bookViews:{workbookView:{a$:{activeTab:t||0}}},sheets:{sheet:e.sheet_data.map((_,g)=>({a$:{name:_.name||`Sheet${g+1}`,sheetId:g+1,"r:id":f[g],state:_.visible===!1?"hidden":void 0}}))},definedNames:u}},b=Se+this.xmlbuilder1.build(p);this.zip?.Set("xl/workbook.xml",b);let C={};for(let _ of c)for(let g of _.images)switch(g.image.extension){case"gif":case"png":case"jpeg":C[g.image.extension]="image/"+g.image.extension;break;case"svg":C.svg="image/svg+xml";break}let w={Types:{a$:{xmlns:"http://schemas.openxmlformats.org/package/2006/content-types"},Default:[{a$:{Extension:"rels",ContentType:"application/vnd.openxmlformats-package.relationships+xml"}},{a$:{Extension:"xml",ContentType:"application/xml"}},...Object.keys(C).map(_=>({a$:{Extension:_,ContentType:C[_]}}))],Override:[{a$:{PartName:"/xl/workbook.xml",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"}},...e.sheet_data.map((_,g)=>({a$:{ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",PartName:`/xl/worksheets/sheet${g+1}.xml`}})),...c.reduce((_,g)=>_.concat([...g.charts.map(A=>({a$:{ContentType:"application/vnd.openxmlformats-officedocument.drawingml.chart+xml",PartName:`/xl/charts/chart${A.chart.index}.xml`}})),{a$:{ContentType:"application/vnd.openxmlformats-officedocument.drawing+xml",PartName:`/xl/drawings/drawing${g.index}.xml`}}]),[]),{a$:{PartName:"/xl/theme/theme1.xml",ContentType:"application/vnd.openxmlformats-officedocument.theme+xml"}},{a$:{PartName:"/xl/styles.xml",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml"}},{a$:{PartName:"/xl/sharedStrings.xml",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml"}},...l?[{a$:{PartName:"/xl/metadata.xml",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml"}}]:[],...d.map(_=>({a$:{ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml",PartName:`/xl/tables/table${_.index||0}.xml`}})),{a$:{PartName:"/docProps/core.xml",ContentType:"application/vnd.openxmlformats-package.core-properties+xml"}},{a$:{PartName:"/docProps/app.xml",ContentType:"application/vnd.openxmlformats-officedocument.extended-properties+xml"}}]}},v=Se+this.xmlbuilder1.build(w);this.zip?.Set("[Content_Types].xml",v)}ArrayBuffer(){if(!this.zip)throw new Error("missing zip");return this.zip.ArrayBuffer()}Blob(){if(!this.zip)throw new Error("missing zip");let e=this.zip.ArrayBuffer();return new Blob([e],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"})}};var as=Tt(kt());var zo=s=>typeof s=="object"&&typeof s.$t<"u",er=class{parser=new Ke;workbook;zip;Init(e){this.zip=new rt(e),this.workbook=new Qt(this.zip),this.workbook.Init()}SheetCount(){return this.workbook?.sheet_count||0}ParseCell(e,t,r,i,n,a,o){let l=t.a$?.r;if(!l){console.warn("cell missing address");return}let c=e.TranslateAddress(l);if(ze(c)){console.warn("cell has range address");return}let d={};if(t.a$?.cm){let w=Number(t.a$?.cm);this.workbook?.metadata&&(d=ss(this.workbook.metadata,"cell",w).flags)}let h,f="undefined",u,p="undefined";if(t.a$?.t&&t.a$.t==="s"){if(f="string",typeof t.v<"u"){let w=Number(t.v);!isNaN(w)&&e.shared_strings&&(h=e.shared_strings.Get(w)||"",h[0]==="="&&(h="\'"+h))}}else if(typeof t.f<"u"){f="formula";let w=(typeof t.f=="string"?t.f:t.f.t$)||"";if(w){if(h="="+w.replace(/^_xll\\./g,""),/#REF/.test(w))h=w;else{let v=this.parser.Parse(w);if(v.expression){let _=A=>(/^_xll\\./.test(A)&&(A=A.substring(5)),/^_xlfn\\./.test(A)&&(console.info("xlfn:",A),A=A.substring(6)),/^_xlws\\./.test(A)&&(console.info("xlws:",A),A=A.substring(6)),A),g=A=>{if(A.type==="call"){if(/^_xlfn\\.single/i.test(A.name)){let D=A.args[0];if(D.type==="call"){let M=JSON.parse(JSON.stringify(D));M.name="@"+_(M.name);for(let G=0;G<M.args.length;G++)M.args[G]=this.parser.Walk2(M.args[G],g);return M}else console.info("_xlfn.SINGLE unexpected argument",A.args[0])}A.name=_(A.name)}return!0};v.expression=this.parser.Walk2(v.expression,g),h="="+this.parser.Render(v.expression,{missing:""})}}typeof t.f!="string"&&t.f.a$?.t==="shared"&&t.f.a$.si&&(r[t.f.a$.si]={row:c.row-1,column:c.col-1,formula:h,parse_result:this.parser.Parse(h)})}else if(typeof t.f!="string"&&t.f.a$?.t==="shared"&&t.f.a$.si){let v=r[t.f.a$.si];v&&(v.parse_result.expression?h="="+this.parser.Render(v.parse_result.expression,{offset:{rows:c.row-1-v.row,columns:c.col-1-v.column},missing:""}):h=v.formula)}if(typeof t.f!="string"&&t.f.a$?.t==="array"){let _=e.TranslateAddress(t.f.a$.ref||"");ze(_)||(_={to:{..._},from:{..._},sheet:_.sheet}),d["dynamic-array"]?n.push(Jt(_,-1,-1)):i.push(Jt(_,-1,-1))}if(typeof t.v<"u"){let v=typeof t.v=="object"?t.v?.t$:t.v,_=Number(v.toString());isNaN(_)?(p="string",u=v.toString()):(p="number",u=_)}}else if(typeof t.v<"u"){let w=Number(t.v.toString());isNaN(w)?(f="string",h=t.v.toString()):(f="number",h=w)}let b={row:c.row-1,col:c.col-1};for(let w of[i,n])for(let v of w)vt(v,b)&&(b.row!==v.from.row||b.col!==v.from.col)&&(p=f,u=h,h=void 0,f="undefined");let C={row:b.row,column:b.col,value:h,type:f};typeof u<"u"&&(C.calculated_type=p,C.calculated=u),t.a$?.s&&(C.style_ref=Number(t.a$.s));for(let w of o)w.address.row===c.row&&w.address.col===c.col&&(C.hyperlink=w.reference);for(let w of a)vt(w,b)&&(C.merge_area={start:{row:w.from.row,column:w.from.col},end:{row:w.to.row,column:w.to.col}});for(let w of n)vt(w,b)&&(C.spill={start:{row:w.from.row,column:w.from.col},end:{row:w.to.row,column:w.to.col}});for(let w of i)vt(w,b)&&(C.area={start:{row:w.from.row,column:w.from.col},end:{row:w.to.row,column:w.to.col}});return C}AddressToArea(e){return tt(e)?{start:{row:e.row-1,column:e.col-1},end:{row:e.row-1,column:e.col-1}}:{start:{row:e.from.row-1,column:e.from.col-1},end:{row:e.to.row-1,column:e.to.col-1}}}ParseConditionalFormat(e,t,r){let i=this.AddressToArea(e),n=qt;switch(t.a$.type){case"duplicateValues":case"uniqueValues":{let a={};if(t.a$.dxfId){let o=Number(t.a$.dxfId);isNaN(o)||(a=this.workbook?.style_cache.dxf_styles[o]||{})}return{type:"duplicate-values",area:i,style:a,unique:t.a$.type==="uniqueValues",priority:t.a$.priority?Number(t.a$.priority):void 0}}case"cellIs":if(t.a$.operator&&(t.formula||typeof t.formula=="number")){let a={};if(t.a$.dxfId){let l=Number(t.a$.dxfId);isNaN(l)||(a=this.workbook?.style_cache.dxf_styles[l]||{})}if(t.a$.operator==="between"&&Array.isArray(t.formula)&&t.formula.length===2&&typeof t.formula[0]=="number"&&typeof t.formula[1]=="number")return{type:"cell-match",expression:"",between:t.formula,area:i,style:a,priority:t.a$.priority?Number(t.a$.priority):void 0};let o=n[t.a$.operator||""];if(!o)console.info("unhandled cellIs operator:",t.a$.operator,{rule:t});else return{type:"cell-match",expression:o+" "+t.formula,area:i,style:a,priority:t.a$.priority?Number(t.a$.priority):void 0}}else console.info("miss?",t);break;case"containsErrors":case"notContainsErrors":case"expression":if(t.formula){typeof t.formula!="string"&&(zo(t.formula)?t.formula=t.formula.t$:(console.info("unexpected conditional expression",{rule:t}),t.formula=""));let a={};if(t.a$.dxfId){let o=Number(t.a$.dxfId);isNaN(o)||(a=this.workbook?.style_cache.dxf_styles[o]||{})}if(t.a$.type==="expression"&&(i.start.row!==i.end.row||i.start.column!==i.end.column)){this.parser.Save(),this.parser.SetLocaleSettings(".");let o=[],l=new H(i.start,i.end),c=this.parser.Parse(t.formula);if(c.expression)for(let d of l){let h=this.parser.Render(c.expression,{missing:"",offset:{rows:d.row-i.start.row,columns:d.column-i.start.column}});o.push({type:"expression",expression:h,style:a,area:{start:d,end:d},priority:t.a$.priority?Number(t.a$.priority):void 0})}return this.parser.Restore(),o}return{type:"expression",expression:t.formula,area:i,style:a,priority:t.a$.priority?Number(t.a$.priority):void 0}}break;case"dataBar":{let a=t.dataBar?.a$?.showValue==="0",o;if(t.extLst?.ext?.["x14:id"]){for(let l of r||[])if(l["x14:cfRule"]?.a$?.id===t.extLst.ext["x14:id"]){o=l;break}o||console.info("conditional format extension not found")}if(t.dataBar?.color?.a$?.rgb){let l;o?.["x14:cfRule"]?.["x14:dataBar"]?.["x14:negativeFillColor"]?.a$?.rgb&&(l={text:"#"+o["x14:cfRule"]["x14:dataBar"]["x14:negativeFillColor"].a$.rgb.toString().substring(2)});let c={text:"#"+t.dataBar.color.a$.rgb.substring(2)};return{type:"data-bar",area:i,fill:c,hide_values:a,negative:l}}}break;case"colorScale":if(t.colorScale&&Array.isArray(t.colorScale.cfvo)&&Array.isArray(t.colorScale.color)){let a=[];for(let[o,l]of t.colorScale.cfvo.entries()){let c=0,d={},h=t.colorScale.color[o];switch(h.a$.rgb?d.text="#"+h.a$.rgb.substring(2):h.a$.theme&&(d.theme=Number(h.a$.theme)||0,h.a$.tint&&(d.tint=Math.round(Number(h.a$.tint)*1e3)/1e3)),l.a$.type){case"min":c=0;break;case"max":c=1;break;case"percentile":c=(Number(l.a$.val)||0)/100;break}a.push({color:d,value:c})}return{type:"gradient",stops:a,color_space:"RGB",area:i,priority:t.a$.priority?Number(t.a$.priority):void 0}}else console.info("unexpected colorScale",{rule:t});break;default:console.info("unhandled cf type:",{rule:t})}}GetSheet(e=0){if(!this.workbook)throw new Error("missing workbook");let t=this.workbook.sheets[e],r=[],i={},n=[],a=[],o=[],l=[],c=[],d=[],h=[],f=[],u=R.FindAll.bind(R,t.sheet_data),p=u("worksheet/sheetPr/tabColor"),b;if(p?.[0]){let y=p[0];if(y.a$?.theme&&(b={theme:Number(y.a$.theme)},y.a$?.tint&&(b.tint=Number(y.a$.tint))),y.a$?.rgb){let F=y.a$.rgb;b={text:"#"+(F.length>6?F.substr(F.length-6):F)}}}let C=u("worksheet/conditionalFormatting"),w=u("worksheet/extLst/ext/x14:conditionalFormattings/x14:conditionalFormatting");for(let y of C)if(y.a$?.sqref){let F=y.a$.sqref.split(/\\s+/);for(let N of F){let E=t.TranslateAddress(N);if(y.cfRule){let T=Array.isArray(y.cfRule)?y.cfRule:[y.cfRule];for(let S of T){let B=this.ParseConditionalFormat(E,S,w);B&&(Array.isArray(B)?l.push(...B):l.push(B))}}}}let v=u("worksheet/mergeCells/mergeCell");for(let y of v)if(y.a$?.ref){let F=t.TranslateAddress(y.a$.ref);ze(F)&&o.push(Jt(F,-1,-1))}let _=u("worksheet/dataValidations/dataValidation");for(let y of _){let F=y.a$?.type,N=y.a$?.sqref,E=y.formula1;if(N&&E&&typeof E=="string"&&F==="list"){let T,S=this.parser.Parse(N),B=[];S.expression&&(S.expression.type==="address"?B.push({start:S.expression,end:S.expression}):S.expression.type==="range"&&B.push(S.expression)),S=this.parser.Parse(E),S.expression&&(S.expression.type==="range"?T={type:"range",area:S.expression,target:B}:S.expression.type==="literal"&&(T={type:"list",target:B,list:S.expression.value.toString().split(/,/).map(Z=>{let _e=Number(Z);return isNaN(_e)?Z.toLowerCase()==="true"?!0:Z.toLowerCase()==="false"?!1:Z:_e})})),B.length&&T&&h.push(T)}}let g=u("worksheet/hyperlinks/hyperlink");for(let y of g){let F=t.TranslateAddress(y.a$?.ref||"");ze(F)&&(F=F.from);let N="",E="";if(y.a$&&y.a$["r:id"]){N="remote link";let T=t.rels[y.a$["r:id"]];T&&(E=T.target||"")}else E=typeof y.__location=="string"?y.__location:"",N=typeof y.__display=="string"?y.__display:"";c.push({address:F,reference:E,text:N})}let A=21,D=100,M=t.sheet_data.worksheet?.sheetFormatPr;if(M){if(M.a$?.defaultColWidth){let y=Number(M.a$.defaultColWidth);isNaN(y)||(D=or(y))}if(M.a$?.defaultRowHeight){let y=Number(M.a$.defaultRowHeight);isNaN(y)||(A=Math.round(y*4/3))}}let G=[],z=[],$=u("worksheet/sheetData/row");for(let y of $){let F=y.a$?.r?Number(y.a$.r):1,N=A;if(y.a$?.ht){let T=Number(y.a$.ht);isNaN(T)||(N=Math.round(T*4/3))}if(y.a$?.outlineLevel){let T=Number(y.a$.outlineLevel);isNaN(T)||(z[F-1]=T)}if(y.a$?.s){let T=Number(y.a$?.s);isNaN(T)||(d[F-1]=T)}N!==A&&(G[F-1]=N);let E=y.c?Array.isArray(y.c)?y.c:[y.c]:[];for(let T of E){let S=this.ParseCell(t,T,i,n,a,o,c);S&&r.push(S)}}let V=[],Q=-1,J=[],q=u("worksheet/cols/col");for(let y of q){let F=Number(y.a$?.min),N=Number(y.a$?.max);if(y.a$?.style){let E=Number(y.a$.style);if(!isNaN(F)&&!isNaN(N)&&!isNaN(E))if(t.extent&&N>=t.extent.to.col||N-F>100)Q=E;else for(let T=F;T<=N;T++)V[T]=E}if(y.a$?.customWidth){let E=Number(y.a$.width);if(!isNaN(F)&&!isNaN(N)&&!isNaN(E)&&N!==16384){E=or(E);for(let T=F;T<=N;T++)J[T-1]=E}}}let ie=u("worksheet/tableParts/tablePart");for(let y of ie){let F=y.a$?y.a$["r:id"]:void 0;if(F){let N="",E=t.rels[F];if(E){N=E.target||"";let T=this.workbook.ReadTable(N);if(T){let S=t.TranslateAddress(T.ref),B=tt(S)?{start:{row:S.row-1,column:S.col-1},end:{row:S.row-1,column:S.col-1}}:{start:{row:S.from.row-1,column:S.from.col-1},end:{row:S.to.row-1,column:S.to.col-1}};for(let Z of r)if(Z.row===B.start.row&&Z.column===B.start.column){Z.table={area:B,name:T.name,totals_row:!!T.totals_row_count};break}}}}}let te=u("worksheet/drawing"),X=[],de=[],he=[];for(let y of te){let F=y.a$?y.a$["r:id"]:void 0;if(F){let N="",E=t.rels[F];if(E&&(N=E.target||""),N){let T=this.workbook.ReadDrawing(N);if(T&&T.length)for(let S of T)switch(S.type){case"chart":X.push(S);break;case"image":de.push(S);break;case"textbox":he.push(S);break}}}}let oe=y=>{let F={address:{row:y.row,column:y.column},offset:{x:0,y:0}};if(y.row_offset){let N=G[y.row];N===void 0&&(N=A),F.offset.y=y.row_offset/9525/N}if(y.column_offset){let N=J[y.column];N===void 0&&(N=D),F.offset.x=y.column_offset/9525/N}return F};for(let y of he){let N={layout:{tl:oe(y.anchor.from),br:oe(y.anchor.to)},type:"textbox",data:{style:y.style,paragraphs:y.paragraphs}};y.reference&&(N.formula="="+y.reference),f.push(N)}for(let y of de)if(y&&y.image){let F={tl:oe(y.anchor.from),br:oe(y.anchor.to)},N="image",E=as.default.fromByteArray(y.image),T="";if(y.filename&&(/jpe*g$/i.test(y.filename)?T="jpeg":/png$/i.test(y.filename)?T="png":/gif$/i.test(y.filename)&&(T="gif")),T&&E){let S="data:image/"+T+";base64,"+E;f.push({layout:F,type:N,data:{src:S}})}}for(let y of X)if(y&&y.chart){let F={tl:oe(y.anchor.from),br:oe(y.anchor.to)},N,E=[],T="",S=y.chart?.series;switch(y.chart.type){case 7:N="treb-chart",T="Bubble.Chart",S&&S.length&&(E[0]=`Group(${S.map(Z=>`Series(${[Z.title||"",Z.values||"",Z.categories||"",Z.bubble_size||""].join(", ")})`).join(", ")})`),E[1]=y.chart.title;break;case 9:N="treb-chart",T="Histogram.Plot",S?.length,E[1]=y.chart.title;break;case 8:N="treb-chart",T="Box.Plot",S?.length&&(E[0]=`Group(${S.map(Z=>`Series(${Z.title||""},,${Z.values||""})`).join(", ")})`),E[1]=y.chart.title;break;case 4:N="treb-chart",T="Scatter.Line",S&&S.length&&(E[0]=`Group(${S.map(Z=>`Series(${Z.title||""},${Z.categories||""},${Z.values||""})`).join(", ")})`),E[1]=y.chart.title;break;case 5:case 6:T=y.chart.type===5?"Donut.Chart":"Pie.Chart",N="treb-chart",S&&S[0]&&(E[0]=S[0].values,E[1]=S[0]?.categories||""),E[2]=y.chart.title;break;case 2:case 1:case 3:switch(E[2]=y.chart.title,N="treb-chart",y.chart.type){case 2:T="Bar.Chart";break;case 1:T="Column.Chart";break;default:T="Line.Chart"}S&&(S.length>1?E[0]=`Group(${S.map(Z=>`Series(${Z.title||""},,${Z.values||""})`).join(", ")})`:S.length===1&&(S[0].title?E[0]=`Series(${S[0].title||""},,${S[0].values||""})`:E[0]=S[0].values),E[1]=S[0]?.categories||""),y.chart.type===1&&y.chart.flags?.includes("stacked")&&(E[3]=\'"stacked"\');break}let B=`=${T}(${E.join(", ")})`;N&&B&&f.push({layout:F,type:N,formula:B})}let ue=u("worksheet/extLst/ext");for(let y of ue){let F="";for(let E of Object.keys(y?.a$||{})){let T=E.match(/^xmlns:(.*)$/);if(T){F=T[1];break}}let N=R.FindAll(y,`${F}:sparklineGroups/${F}:sparklineGroup`);for(let E of N){let T="Sparkline.line",S="",B="";E.a$?.type==="column"&&(T="Sparkline.column");let Z=R.FindAll(E,`${F}:sparklines/${F}:sparkline`);for(let _e of Z)for(let ye of Object.keys(_e))/:f$/.test(ye)?B=_e[ye]:/:sqref$/.test(ye)&&(S=_e[ye]);if(B&&S){let _e=`=${T}(${B})`,ye=t.TranslateAddress(S);if(tt(ye)){let x={row:ye.row-1,column:ye.col-1,value:_e,type:"formula"},P=!1;for(let O of r)if(O.row===x.row&&O.column===x.column){P=!0,O.type="formula",O.value=_e;break}P||r.push(x)}}}}let re={name:t.options.name,cells:r,default_column_width:D,column_widths:J,row_heights:G,tab_color:b,row_styles:d,annotations:f,conditional_formats:l,data_validations:h,styles:this.workbook?.style_cache?.CellXfToStyles()||[]};return z.length&&(re.outline=z),(t.visible_state===1||t.visible_state===2)&&(re.hidden=!0),Q>=0&&(re.sheet_style=Q),V.length&&(re.column_styles=V),re}};var tr=self,Zr=new Kt,Go=s=>{s.sheet&&(Zr.Init(s.decorated||[]),Zr.Export(s.sheet),tr.postMessage({status:"complete",blob:Zr.Blob()}))},$o=s=>{let e=new er;try{e.Init(s.data);let t=e.workbook?.GetNamedRanges(),r=e.SheetCount(),i={sheets:[],named:t,active_tab:e.workbook?.active_tab};for(let n=0;n<r;n++){let a=e.GetSheet(n);a&&i.sheets.push(a)}for(let n of t||[])if(typeof n.local_scope=="number"){let a=i.sheets[n.local_scope];a&&(n.scope=a.name)}tr.postMessage({status:"complete",results:i})}catch(t){console.warn("error importing xlsx file"),console.info(t),tr.postMessage({status:"error",data:t})}};tr.addEventListener("message",s=>{s.data&&s.data.command==="export"?Go(s.data):s.data&&s.data.command==="import"&&$o(s.data)});\n';var a=async()=>new Worker(URL.createObjectURL(new Blob([e],{type:"application/javascript"})));export{a as CreateWorker};
1
+ /*! TREB v36.1.2. Copyright 2018-2026 trebco, llc. All rights reserved. LGPL: https://treb.app/license */
2
+ import{E as Yt,N as Bt,a as Rt,b as He,d as Ue,g as q,m as zt,n as Ot,p as Ce,q as be,r as ge,s as Ze}from"./chunk-4CKS56PE.mjs";var Je=Rt(Xe=>{"use strict";Xe.byteLength=_r;Xe.toByteArray=Gr;Xe.fromByteArray=Or;var de=[],ae=[],Wr=typeof Uint8Array<"u"?Uint8Array:Array,ht="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(ve=0,kt=ht.length;ve<kt;++ve)de[ve]=ht[ve],ae[ht.charCodeAt(ve)]=ve;var ve,kt;ae[45]=62;ae[95]=63;function Lt(r){var e=r.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=r.indexOf("=");t===-1&&(t=e);var n=t===e?0:4-t%4;return[t,n]}function _r(r){var e=Lt(r),t=e[0],n=e[1];return(t+n)*3/4-n}function Er(r,e,t){return(e+t)*3/4-t}function Gr(r){var e,t=Lt(r),n=t[0],s=t[1],i=new Wr(Er(r,n,s)),o=0,a=s>0?n-4:n,l;for(l=0;l<a;l+=4)e=ae[r.charCodeAt(l)]<<18|ae[r.charCodeAt(l+1)]<<12|ae[r.charCodeAt(l+2)]<<6|ae[r.charCodeAt(l+3)],i[o++]=e>>16&255,i[o++]=e>>8&255,i[o++]=e&255;return s===2&&(e=ae[r.charCodeAt(l)]<<2|ae[r.charCodeAt(l+1)]>>4,i[o++]=e&255),s===1&&(e=ae[r.charCodeAt(l)]<<10|ae[r.charCodeAt(l+1)]<<4|ae[r.charCodeAt(l+2)]>>2,i[o++]=e>>8&255,i[o++]=e&255),i}function Rr(r){return de[r>>18&63]+de[r>>12&63]+de[r>>6&63]+de[r&63]}function zr(r,e,t){for(var n,s=[],i=e;i<t;i+=3)n=(r[i]<<16&16711680)+(r[i+1]<<8&65280)+(r[i+2]&255),s.push(Rr(n));return s.join("")}function Or(r){for(var e,t=r.length,n=t%3,s=[],i=16383,o=0,a=t-n;o<a;o+=i)s.push(zr(r,o,o+i>a?a:o+i));return n===1?(e=r[t-1],s.push(de[e>>2]+de[e<<4&63]+"==")):n===2&&(e=(r[t-2]<<8)+r[t-1],s.push(de[e>>10]+de[e>>4&63]+de[e<<2&63]+"=")),s.join("")}});var Ar=Rt((Is,Pt)=>{var p={};typeof Pt=="object"&&(Pt.exports=p);p.parse=function(r,e){for(var t=p.bin.readUshort,n=p.bin.readUint,a=0,s={},i=new Uint8Array(r),o=i.length-4;n(i,o)!=101010256;)o--;var a=o;a+=4,a+=4;var l=t(i,a);a+=2;var c=t(i,a);a+=2;var f=n(i,a);a+=4;var d=n(i,a);a+=4,a=d;for(var u=0;u<l;u++){var h=n(i,a);a+=4,a+=4,a+=4,a+=4;var y=n(i,a);a+=4;var f=n(i,a);a+=4;var w=n(i,a);a+=4;var N=t(i,a),x=t(i,a+2),v=t(i,a+4);a+=6,a+=8;var m=n(i,a);a+=4,a+=N+x+v,p._readLocal(i,m,s,f,w,e)}return s};p._readLocal=function(r,e,t,n,s,i){var o=p.bin.readUshort,a=p.bin.readUint,l=a(r,e);e+=4;var c=o(r,e);e+=2;var f=o(r,e);e+=2;var d=o(r,e);e+=2;var u=a(r,e);e+=4;var h=a(r,e);e+=4,e+=8;var y=o(r,e);e+=2;var w=o(r,e);e+=2;var N=p.bin.readUTF8(r,e,y);if(e+=y,e+=w,i){t[N]={size:s,csize:n};return}var x=new Uint8Array(r.buffer,e);if(d==0)t[N]=new Uint8Array(x.buffer.slice(e,e+n));else if(d==8){var v=new Uint8Array(s);p.inflateRaw(x,v),t[N]=v}else throw"unknown compression method: "+d};p.inflateRaw=function(r,e){return p.F.inflate(r,e)};p.inflate=function(r,e){var t=r[0],n=r[1],s=t&15,i=t>>>4;return p.inflateRaw(new Uint8Array(r.buffer,r.byteOffset+2,r.length-6),e)};p.deflate=function(r,e){e==null&&(e={level:6});var t=0,n=new Uint8Array(50+Math.floor(r.length*1.1));n[t]=120,n[t+1]=156,t+=2,t=p.F.deflateRaw(r,n,t,e.level);var s=p.adler(r,0,r.length);return n[t+0]=s>>>24&255,n[t+1]=s>>>16&255,n[t+2]=s>>>8&255,n[t+3]=s>>>0&255,new Uint8Array(n.buffer,0,t+4)};p.deflateRaw=function(r,e){e==null&&(e={level:6});var t=new Uint8Array(50+Math.floor(r.length*1.1)),n=p.F.deflateRaw(r,t,n,e.level);return new Uint8Array(t.buffer,0,n)};p.encode=function(r,e){e==null&&(e=!1);var t=0,n=p.bin.writeUint,s=p.bin.writeUshort,i={};for(var o in r){var a=!p._noNeed(o)&&!e,l=r[o],c=p.crc.crc(l,0,l.length);i[o]={cpr:a,usize:l.length,crc:c,file:a?p.deflateRaw(l):l}}for(var o in i)t+=i[o].file.length+30+46+2*p.bin.sizeUTF8(o);t+=22;var f=new Uint8Array(t),d=0,u=[];for(var o in i){var h=i[o];u.push(d),d=p._writeHeader(f,d,o,h,0)}var y=0,w=d;for(var o in i){var h=i[o];u.push(d),d=p._writeHeader(f,d,o,h,1,u[y++])}var N=d-w;return n(f,d,101010256),d+=4,d+=4,s(f,d,y),d+=2,s(f,d,y),d+=2,n(f,d,N),d+=4,n(f,d,w),d+=4,d+=2,f.buffer};p._noNeed=function(r){var e=r.split(".").pop().toLowerCase();return"png,jpg,jpeg,zip".indexOf(e)!=-1};p._writeHeader=function(r,e,t,n,s,i){var o=p.bin.writeUint,a=p.bin.writeUshort,l=n.file;o(r,e,s==0?67324752:33639248),e+=4,s==1&&(e+=2),a(r,e,20),e+=2,a(r,e,0),e+=2,a(r,e,n.cpr?8:0),e+=2,o(r,e,0),e+=4,o(r,e,n.crc),e+=4,o(r,e,l.length),e+=4,o(r,e,n.usize),e+=4,a(r,e,p.bin.sizeUTF8(t)),e+=2,a(r,e,0),e+=2,s==1&&(e+=2,e+=2,e+=6,o(r,e,i),e+=4);var c=p.bin.writeUTF8(r,e,t);return e+=c,s==0&&(r.set(l,e),e+=l.length),e};p.crc={table:(function(){for(var r=new Uint32Array(256),e=0;e<256;e++){for(var t=e,n=0;n<8;n++)t&1?t=3988292384^t>>>1:t=t>>>1;r[e]=t}return r})(),update:function(r,e,t,n){for(var s=0;s<n;s++)r=p.crc.table[(r^e[t+s])&255]^r>>>8;return r},crc:function(r,e,t){return p.crc.update(4294967295,r,e,t)^4294967295}};p.adler=function(r,e,t){for(var n=1,s=0,i=e,o=e+t;i<o;){for(var a=Math.min(i+5552,o);i<a;)n+=r[i++],s+=n;n=n%65521,s=s%65521}return s<<16|n};p.bin={readUshort:function(r,e){return r[e]|r[e+1]<<8},writeUshort:function(r,e,t){r[e]=t&255,r[e+1]=t>>8&255},readUint:function(r,e){return r[e+3]*(256*256*256)+(r[e+2]<<16|r[e+1]<<8|r[e])},writeUint:function(r,e,t){r[e]=t&255,r[e+1]=t>>8&255,r[e+2]=t>>16&255,r[e+3]=t>>24&255},readASCII:function(r,e,t){for(var n="",s=0;s<t;s++)n+=String.fromCharCode(r[e+s]);return n},writeASCII:function(r,e,t){for(var n=0;n<t.length;n++)r[e+n]=t.charCodeAt(n)},pad:function(r){return r.length<2?"0"+r:r},readUTF8:function(r,e,t){for(var n="",s,i=0;i<t;i++)n+="%"+p.bin.pad(r[e+i].toString(16));try{s=decodeURIComponent(n)}catch{return p.bin.readASCII(r,e,t)}return s},writeUTF8:function(r,e,t){for(var n=t.length,s=0,i=0;i<n;i++){var o=t.charCodeAt(i);if((o&4294967168)==0)r[e+s]=o,s++;else if((o&4294965248)==0)r[e+s]=192|o>>6,r[e+s+1]=128|o>>0&63,s+=2;else if((o&4294901760)==0)r[e+s]=224|o>>12,r[e+s+1]=128|o>>6&63,r[e+s+2]=128|o>>0&63,s+=3;else if((o&4294967295-(1<<21)+1)==0)r[e+s]=240|o>>18,r[e+s+1]=128|o>>12&63,r[e+s+2]=128|o>>6&63,r[e+s+3]=128|o>>0&63,s+=4;else throw"e"}return s},sizeUTF8:function(r){for(var e=r.length,t=0,n=0;n<e;n++){var s=r.charCodeAt(n);if((s&4294967168)==0)t++;else if((s&4294965248)==0)t+=2;else if((s&4294901760)==0)t+=3;else if((s&4294967295-(1<<21)+1)==0)t+=4;else throw"e"}return t}};p.F={};p.F.deflateRaw=function(r,e,t,n){var s=[[0,0,0,0,0],[4,4,8,4,0],[4,5,16,8,0],[4,6,16,16,0],[4,10,16,32,0],[8,16,32,32,0],[8,16,128,128,0],[8,32,128,256,0],[32,128,258,1024,1],[32,258,258,4096,1]],i=s[n],o=p.F.U,a=p.F._goodIndex,l=p.F._hash,c=p.F._putsE,f=0,d=t<<3,u=0,h=r.length;if(n==0){for(;f<h;){var y=Math.min(65535,h-f);c(e,d,f+y==h?1:0),d=p.F._copyExact(r,f,y,e,d+8),f+=y}return d>>>3}var w=o.lits,N=o.strt,x=o.prev,v=0,m=0,b=0,P=0,V=0,E=0;h>2&&(E=p.F._hash(r,0),N[E]=0);var R=0,k=0;for(f=0;f<h;f++){if(V=E,f+1<h-2){E=p.F._hash(r,f+1);var Y=f+1&32767;x[Y]=N[E],N[E]=Y}if(u<=f){(v>14e3||m>26697)&&h-f>100&&(u<f&&(w[v]=f-u,v+=2,u=f),d=p.F._writeBlock(f==h-1||u==h?1:0,w,v,P,r,b,f-b,e,d),v=m=P=0,b=f);var B=0;f<h-2&&(B=p.F._bestMatch(r,f,x,V,Math.min(i[2],h-f),i[3]));var y=B>>>16,U=B&65535;if(B!=0){var y=B>>>16,U=B&65535,g=a(y,o.of0);o.lhst[257+g]++;var M=a(U,o.df0);o.dhst[M]++,P+=o.exb[g]+o.dxb[M],w[v]=y<<23|f-u,w[v+1]=U<<16|g<<8|M,v+=2,u=f+y}else o.lhst[r[f]]++;m++}}for((b!=f||r.length==0)&&(u<f&&(w[v]=f-u,v+=2,u=f),d=p.F._writeBlock(1,w,v,P,r,b,f-b,e,d),v=0,m=0,v=m=P=0,b=f);(d&7)!=0;)d++;return d>>>3};p.F._bestMatch=function(r,e,t,n,s,i){var o=e&32767,a=t[o],l=o-a+32768&32767;if(a==o||n!=p.F._hash(r,e-l))return 0;for(var c=0,f=0,d=Math.min(32767,e);l<=d&&--i!=0&&a!=o;){if(c==0||r[e+c]==r[e+c-l]){var u=p.F._howLong(r,e,l);if(u>c){if(c=u,f=l,c>=s)break;l+2<u&&(u=l+2);for(var h=0,y=0;y<u-2;y++){var w=e-l+y+32768&32767,N=t[w],x=w-N+32768&32767;x>h&&(h=x,a=w)}}}o=a,a=t[o],l+=o-a+32768&32767}return c<<16|f};p.F._howLong=function(r,e,t){if(r[e]!=r[e-t]||r[e+1]!=r[e+1-t]||r[e+2]!=r[e+2-t])return 0;var n=e,s=Math.min(r.length,e+258);for(e+=3;e<s&&r[e]==r[e-t];)e++;return e-n};p.F._hash=function(r,e){return(r[e]<<8|r[e+1])+(r[e+2]<<4)&65535};p.saved=0;p.F._writeBlock=function(r,e,t,n,s,i,o,a,l){var c=p.F.U,f=p.F._putsF,d=p.F._putsE,u,h,y,w,N,x,v,m,b;c.lhst[256]++,u=p.F.getTrees(),h=u[0],y=u[1],w=u[2],N=u[3],x=u[4],v=u[5],m=u[6],b=u[7];var P=((l+3&7)==0?0:8-(l+3&7))+32+(o<<3),V=n+p.F.contSize(c.fltree,c.lhst)+p.F.contSize(c.fdtree,c.dhst),E=n+p.F.contSize(c.ltree,c.lhst)+p.F.contSize(c.dtree,c.dhst);E+=14+3*v+p.F.contSize(c.itree,c.ihst)+(c.ihst[16]*2+c.ihst[17]*3+c.ihst[18]*7);for(var R=0;R<286;R++)c.lhst[R]=0;for(var R=0;R<30;R++)c.dhst[R]=0;for(var R=0;R<19;R++)c.ihst[R]=0;var k=P<V&&P<E?0:V<E?1:2;f(a,l,r),f(a,l+1,k),l+=3;var Y=l;if(k==0){for(;(l&7)!=0;)l++;l=p.F._copyExact(s,i,o,a,l)}else{var B,U;if(k==1&&(B=c.fltree,U=c.fdtree),k==2){p.F.makeCodes(c.ltree,h),p.F.revCodes(c.ltree,h),p.F.makeCodes(c.dtree,y),p.F.revCodes(c.dtree,y),p.F.makeCodes(c.itree,w),p.F.revCodes(c.itree,w),B=c.ltree,U=c.dtree,d(a,l,N-257),l+=5,d(a,l,x-1),l+=5,d(a,l,v-4),l+=4;for(var g=0;g<v;g++)d(a,l+g*3,c.itree[(c.ordr[g]<<1)+1]);l+=3*v,l=p.F._codeTiny(m,c.itree,a,l),l=p.F._codeTiny(b,c.itree,a,l)}for(var M=i,$=0;$<t;$+=2){for(var C=e[$],Z=C>>>23,I=M+(C&(1<<23)-1);M<I;)l=p.F._writeLit(s[M++],B,a,l);if(Z!=0){var _=e[$+1],z=_>>16,J=_>>8&255,Q=_&255;l=p.F._writeLit(257+J,B,a,l),d(a,l,Z-c.of0[J]),l+=c.exb[J],l=p.F._writeLit(Q,U,a,l),f(a,l,z-c.df0[Q]),l+=c.dxb[Q],M+=Z}}l=p.F._writeLit(256,B,a,l)}return l};p.F._copyExact=function(r,e,t,n,s){var i=s>>>3;return n[i]=t,n[i+1]=t>>>8,n[i+2]=255-n[i],n[i+3]=255-n[i+1],i+=4,n.set(new Uint8Array(r.buffer,e,t),i),s+(t+4<<3)};p.F.getTrees=function(){for(var r=p.F.U,e=p.F._hufTree(r.lhst,r.ltree,15),t=p.F._hufTree(r.dhst,r.dtree,15),n=[],s=p.F._lenCodes(r.ltree,n),i=[],o=p.F._lenCodes(r.dtree,i),a=0;a<n.length;a+=2)r.ihst[n[a]]++;for(var a=0;a<i.length;a+=2)r.ihst[i[a]]++;for(var l=p.F._hufTree(r.ihst,r.itree,7),c=19;c>4&&r.itree[(r.ordr[c-1]<<1)+1]==0;)c--;return[e,t,l,s,o,c,n,i]};p.F.getSecond=function(r){for(var e=[],t=0;t<r.length;t+=2)e.push(r[t+1]);return e};p.F.nonZero=function(r){for(var e="",t=0;t<r.length;t+=2)r[t+1]!=0&&(e+=(t>>1)+",");return e};p.F.contSize=function(r,e){for(var t=0,n=0;n<e.length;n++)t+=e[n]*r[(n<<1)+1];return t};p.F._codeTiny=function(r,e,t,n){for(var s=0;s<r.length;s+=2){var i=r[s],o=r[s+1];n=p.F._writeLit(i,e,t,n);var a=i==16?2:i==17?3:7;i>15&&(p.F._putsE(t,n,o,a),n+=a)}return n};p.F._lenCodes=function(r,e){for(var t=r.length;t!=2&&r[t-1]==0;)t-=2;for(var n=0;n<t;n+=2){var s=r[n+1],i=n+3<t?r[n+3]:-1,o=n+5<t?r[n+5]:-1,a=n==0?-1:r[n-1];if(s==0&&i==s&&o==s){for(var l=n+5;l+2<t&&r[l+2]==s;)l+=2;var c=Math.min(l+1-n>>>1,138);c<11?e.push(17,c-3):e.push(18,c-11),n+=c*2-2}else if(s==a&&i==s&&o==s){for(var l=n+5;l+2<t&&r[l+2]==s;)l+=2;var c=Math.min(l+1-n>>>1,6);e.push(16,c-3),n+=c*2-2}else e.push(s,0)}return t>>>1};p.F._hufTree=function(r,e,t){var n=[],s=r.length,i=e.length,o=0;for(o=0;o<i;o+=2)e[o]=0,e[o+1]=0;for(o=0;o<s;o++)r[o]!=0&&n.push({lit:o,f:r[o]});var a=n.length,l=n.slice(0);if(a==0)return 0;if(a==1){var c=n[0].lit,l=c==0?1:0;return e[(c<<1)+1]=1,e[(l<<1)+1]=1,1}n.sort(function(N,x){return N.f-x.f});var f=n[0],d=n[1],u=0,h=1,y=2;for(n[0]={lit:-1,f:f.f+d.f,l:f,r:d,d:0};h!=a-1;)u!=h&&(y==a||n[u].f<n[y].f)?f=n[u++]:f=n[y++],u!=h&&(y==a||n[u].f<n[y].f)?d=n[u++]:d=n[y++],n[h++]={lit:-1,f:f.f+d.f,l:f,r:d};var w=p.F.setDepth(n[h-1],0);for(w>t&&(p.F.restrictDepth(l,t,w),w=t),o=0;o<a;o++)e[(l[o].lit<<1)+1]=l[o].d;return w};p.F.setDepth=function(r,e){return r.lit!=-1?(r.d=e,e):Math.max(p.F.setDepth(r.l,e+1),p.F.setDepth(r.r,e+1))};p.F.restrictDepth=function(r,e,t){var n=0,s=1<<t-e,i=0;for(r.sort(function(a,l){return l.d==a.d?a.f-l.f:l.d-a.d}),n=0;n<r.length&&r[n].d>e;n++){var o=r[n].d;r[n].d=e,i+=s-(1<<t-o)}for(i=i>>>t-e;i>0;){var o=r[n].d;o<e?(r[n].d++,i-=1<<e-o-1):n++}for(;n>=0;n--)r[n].d==e&&i<0&&(r[n].d--,i++);i!=0&&console.log("debt left")};p.F._goodIndex=function(r,e){var t=0;return e[t|16]<=r&&(t|=16),e[t|8]<=r&&(t|=8),e[t|4]<=r&&(t|=4),e[t|2]<=r&&(t|=2),e[t|1]<=r&&(t|=1),t};p.F._writeLit=function(r,e,t,n){return p.F._putsF(t,n,e[r<<1]),n+e[(r<<1)+1]};p.F.inflate=function(r,e){var t=Uint8Array;if(r[0]==3&&r[1]==0)return e||new t(0);var n=p.F,s=n._bitsF,i=n._bitsE,o=n._decodeTiny,a=n.makeCodes,l=n.codes2map,c=n._get17,f=n.U,d=e==null;d&&(e=new t(r.length>>>2<<3));for(var u=0,h=0,y=0,w=0,N=0,x=0,v=0,m=0,b=0,P,V;u==0;){if(u=s(r,b,1),h=s(r,b+1,2),b+=3,h==0){(b&7)!=0&&(b+=8-(b&7));var E=(b>>>3)+4,R=r[E-4]|r[E-3]<<8;d&&(e=p.F._check(e,m+R)),e.set(new t(r.buffer,r.byteOffset+E,R),m),b=E+R<<3,m+=R;continue}if(d&&(e=p.F._check(e,m+(1<<17))),h==1&&(P=f.flmap,V=f.fdmap,x=511,v=31),h==2){y=i(r,b,5)+257,w=i(r,b+5,5)+1,N=i(r,b+10,4)+4,b+=14;for(var k=b,Y=0;Y<38;Y+=2)f.itree[Y]=0,f.itree[Y+1]=0;for(var B=1,Y=0;Y<N;Y++){var U=i(r,b+Y*3,3);f.itree[(f.ordr[Y]<<1)+1]=U,U>B&&(B=U)}b+=3*N,a(f.itree,B),l(f.itree,B,f.imap),P=f.lmap,V=f.dmap,b=o(f.imap,(1<<B)-1,y+w,r,b,f.ttree);var g=n._copyOut(f.ttree,0,y,f.ltree);x=(1<<g)-1;var M=n._copyOut(f.ttree,y,w,f.dtree);v=(1<<M)-1,a(f.ltree,g),l(f.ltree,g,P),a(f.dtree,M),l(f.dtree,M,V)}for(;;){var $=P[c(r,b)&x];b+=$&15;var C=$>>>4;if(!(C>>>8))e[m++]=C;else{if(C==256)break;var Z=m+C-254;if(C>264){var I=f.ldef[C-257];Z=m+(I>>>3)+i(r,b,I&7),b+=I&7}var _=V[c(r,b)&v];b+=_&15;var z=_>>>4,J=f.ddef[z],Q=(J>>>4)+s(r,b,J&15);for(b+=J&15,d&&(e=p.F._check(e,m+(1<<17)));m<Z;)e[m]=e[m++-Q],e[m]=e[m++-Q],e[m]=e[m++-Q],e[m]=e[m++-Q];m=Z}}}return e.length==m?e:e.slice(0,m)};p.F._check=function(r,e){var t=r.length;if(e<=t)return r;var n=new Uint8Array(Math.max(t<<1,e));return n.set(r,0),n};p.F._decodeTiny=function(r,e,t,n,s,i){for(var o=p.F._bitsE,a=p.F._get17,l=0;l<t;){var c=r[a(n,s)&e];s+=c&15;var f=c>>>4;if(f<=15)i[l]=f,l++;else{var d=0,u=0;f==16?(u=3+o(n,s,2),s+=2,d=i[l-1]):f==17?(u=3+o(n,s,3),s+=3):f==18&&(u=11+o(n,s,7),s+=7);for(var h=l+u;l<h;)i[l]=d,l++}}return s};p.F._copyOut=function(r,e,t,n){for(var s=0,i=0,o=n.length>>>1;i<t;){var a=r[i+e];n[i<<1]=0,n[(i<<1)+1]=a,a>s&&(s=a),i++}for(;i<o;)n[i<<1]=0,n[(i<<1)+1]=0,i++;return s};p.F.makeCodes=function(r,e){for(var t=p.F.U,n=r.length,s,i,o,a,l,c=t.bl_count,a=0;a<=e;a++)c[a]=0;for(a=1;a<n;a+=2)c[r[a]]++;var f=t.next_code;for(s=0,c[0]=0,i=1;i<=e;i++)s=s+c[i-1]<<1,f[i]=s;for(o=0;o<n;o+=2)l=r[o+1],l!=0&&(r[o]=f[l],f[l]++)};p.F.codes2map=function(r,e,t){for(var n=r.length,s=p.F.U,i=s.rev15,o=0;o<n;o+=2)if(r[o+1]!=0)for(var a=o>>1,l=r[o+1],c=a<<4|l,f=e-l,d=r[o]<<f,u=d+(1<<f);d!=u;){var h=i[d]>>>15-e;t[h]=c,d++}};p.F.revCodes=function(r,e){for(var t=p.F.U.rev15,n=15-e,s=0;s<r.length;s+=2){var i=r[s]<<e-r[s+1];r[s]=t[i]>>>n}};p.F._putsE=function(r,e,t){t=t<<(e&7);var n=e>>>3;r[n]|=t,r[n+1]|=t>>>8};p.F._putsF=function(r,e,t){t=t<<(e&7);var n=e>>>3;r[n]|=t,r[n+1]|=t>>>8,r[n+2]|=t>>>16};p.F._bitsE=function(r,e,t){return(r[e>>>3]|r[(e>>>3)+1]<<8)>>>(e&7)&(1<<t)-1};p.F._bitsF=function(r,e,t){return(r[e>>>3]|r[(e>>>3)+1]<<8|r[(e>>>3)+2]<<16)>>>(e&7)&(1<<t)-1};p.F._get17=function(r,e){return(r[e>>>3]|r[(e>>>3)+1]<<8|r[(e>>>3)+2]<<16)>>>(e&7)};p.F._get25=function(r,e){return(r[e>>>3]|r[(e>>>3)+1]<<8|r[(e>>>3)+2]<<16|r[(e>>>3)+3]<<24)>>>(e&7)};p.F.U=(function(){var r=Uint16Array,e=Uint32Array;return{next_code:new r(16),bl_count:new r(16),ordr:[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],of0:[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,999,999,999],exb:[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0],ldef:new r(32),df0:[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,65535,65535],dxb:[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0],ddef:new e(32),flmap:new r(512),fltree:[],fdmap:new r(32),fdtree:[],lmap:new r(32768),ltree:[],ttree:[],dmap:new r(32768),dtree:[],imap:new r(512),itree:[],rev15:new r(32768),lhst:new e(286),dhst:new e(30),ihst:new e(19),lits:new e(15e3),strt:new r(65536),prev:new r(32768)}})();(function(){for(var r=p.F.U,e=32768,t=0;t<e;t++){var n=t;n=(n&2863311530)>>>1|(n&1431655765)<<1,n=(n&3435973836)>>>2|(n&858993459)<<2,n=(n&4042322160)>>>4|(n&252645135)<<4,n=(n&4278255360)>>>8|(n&16711935)<<8,r.rev15[t]=(n>>>16|n<<16)>>>17}function s(i,o,a){for(;o--!=0;)i.push(0,a)}for(var t=0;t<32;t++)r.ldef[t]=r.of0[t]<<3|r.exb[t],r.ddef[t]=r.df0[t]<<4|r.dxb[t];s(r.fltree,144,8),s(r.fltree,112,9),s(r.fltree,24,7),s(r.fltree,8,8),p.F.makeCodes(r.fltree,9),p.F.codes2map(r.fltree,9,r.flmap),p.F.revCodes(r.fltree,9),s(r.fdtree,32,5),p.F.makeCodes(r.fdtree,5),p.F.codes2map(r.fdtree,5,r.fdmap),p.F.revCodes(r.fdtree,5),s(r.itree,19,0),s(r.ltree,286,0),s(r.dtree,30,0),s(r.ttree,320,0)})()});var Cr=He(Je());var De=r=>{let e=Math.floor((r-5)/7*100+.5)/100;return Math.floor((e*7+5)/7*256)/256},ut=r=>Math.floor((256*r+Math.floor(18.285714285714285))/256*7);var Vt="UEsDBAoAAAAAAAAAIQBi7p1okAQAAJAEAAATAAAAW0NvbnRlbnRfVHlwZXNdLnhtbDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJ5ZXMiPz4NCjxUeXBlcyB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3BhY2thZ2UvMjAwNi9jb250ZW50LXR5cGVzIj48RGVmYXVsdCBFeHRlbnNpb249InJlbHMiIENvbnRlbnRUeXBlPSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtcGFja2FnZS5yZWxhdGlvbnNoaXBzK3htbCIvPjxEZWZhdWx0IEV4dGVuc2lvbj0ieG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24veG1sIi8+PE92ZXJyaWRlIFBhcnROYW1lPSIveGwvd29ya2Jvb2sueG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQubWFpbit4bWwiLz48T3ZlcnJpZGUgUGFydE5hbWU9Ii94bC93b3Jrc2hlZXRzL3NoZWV0MS54bWwiIENvbnRlbnRUeXBlPSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC53b3Jrc2hlZXQreG1sIi8+PE92ZXJyaWRlIFBhcnROYW1lPSIveGwvdGhlbWUvdGhlbWUxLnhtbCIgQ29udGVudFR5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC50aGVtZSt4bWwiLz48T3ZlcnJpZGUgUGFydE5hbWU9Ii94bC9zdHlsZXMueG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc3R5bGVzK3htbCIvPjxPdmVycmlkZSBQYXJ0TmFtZT0iL3hsL3NoYXJlZFN0cmluZ3MueG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hhcmVkU3RyaW5ncyt4bWwiLz48T3ZlcnJpZGUgUGFydE5hbWU9Ii9kb2NQcm9wcy9jb3JlLnhtbCIgQ29udGVudFR5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1wYWNrYWdlLmNvcmUtcHJvcGVydGllcyt4bWwiLz48T3ZlcnJpZGUgUGFydE5hbWU9Ii9kb2NQcm9wcy9hcHAueG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LmV4dGVuZGVkLXByb3BlcnRpZXMreG1sIi8+PC9UeXBlcz5QSwMECgAAAAAAAAAhALVVMCNMAgAATAIAAAsAAABfcmVscy8ucmVsczw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJ5ZXMiPz4NCjxSZWxhdGlvbnNoaXBzIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvcGFja2FnZS8yMDA2L3JlbGF0aW9uc2hpcHMiPjxSZWxhdGlvbnNoaXAgSWQ9InJJZDMiIFR5cGU9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvZXh0ZW5kZWQtcHJvcGVydGllcyIgVGFyZ2V0PSJkb2NQcm9wcy9hcHAueG1sIi8+PFJlbGF0aW9uc2hpcCBJZD0icklkMiIgVHlwZT0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3BhY2thZ2UvMjAwNi9yZWxhdGlvbnNoaXBzL21ldGFkYXRhL2NvcmUtcHJvcGVydGllcyIgVGFyZ2V0PSJkb2NQcm9wcy9jb3JlLnhtbCIvPjxSZWxhdGlvbnNoaXAgSWQ9InJJZDEiIFR5cGU9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvb2ZmaWNlRG9jdW1lbnQiIFRhcmdldD0ieGwvd29ya2Jvb2sueG1sIi8+PC9SZWxhdGlvbnNoaXBzPlBLAwQKAAAAAAAAACEAunCeZsoGAADKBgAADwAAAHhsL3dvcmtib29rLnhtbDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJ5ZXMiPz4NCjx3b3JrYm9vayB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3NwcmVhZHNoZWV0bWwvMjAwNi9tYWluIiB4bWxuczpyPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzIiB4bWxuczptYz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL21hcmt1cC1jb21wYXRpYmlsaXR5LzIwMDYiIG1jOklnbm9yYWJsZT0ieDE1IHhyIHhyNiB4cjEwIHhyMiIgeG1sbnM6eDE1PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTAvMTEvbWFpbiIgeG1sbnM6eHI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNlL3NwcmVhZHNoZWV0bWwvMjAxNC9yZXZpc2lvbiIgeG1sbnM6eHI2PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTYvcmV2aXNpb242IiB4bWxuczp4cjEwPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTYvcmV2aXNpb24xMCIgeG1sbnM6eHIyPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTUvcmV2aXNpb24yIj48ZmlsZVZlcnNpb24gYXBwTmFtZT0ieGwiIGxhc3RFZGl0ZWQ9IjciIGxvd2VzdEVkaXRlZD0iNyIgcnVwQnVpbGQ9IjIxMTI2Ii8+PHdvcmtib29rUHIgZGVmYXVsdFRoZW1lVmVyc2lvbj0iMTY2OTI1Ii8+PG1jOkFsdGVybmF0ZUNvbnRlbnQgeG1sbnM6bWM9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9tYXJrdXAtY29tcGF0aWJpbGl0eS8yMDA2Ij48bWM6Q2hvaWNlIFJlcXVpcmVzPSJ4MTUiPjx4MTVhYzphYnNQYXRoIHVybD0iSDpcVFJFQlx0cmViLWV4cG9ydFx0ZW1wbGF0ZVwiIHhtbG5zOngxNWFjPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTAvMTEvYWMiLz48L21jOkNob2ljZT48L21jOkFsdGVybmF0ZUNvbnRlbnQ+PHhyOnJldmlzaW9uUHRyIHJldklETGFzdFNhdmU9IjAiIGRvY3VtZW50SWQ9Ijhfe0Q4NThGOUY3LTBEOTItNEFFNC04QTQyLTQ4MENCMzU5QjYyRH0iIHhyNjpjb2F1dGhWZXJzaW9uTGFzdD0iNDAiIHhyNjpjb2F1dGhWZXJzaW9uTWF4PSI0MCIgeHIxMDp1aWRMYXN0U2F2ZT0iezAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMH0iLz48Ym9va1ZpZXdzPjx3b3JrYm9va1ZpZXcgeFdpbmRvdz0iMCIgeVdpbmRvdz0iMCIgd2luZG93V2lkdGg9IjI0NTcwIiB3aW5kb3dIZWlnaHQ9IjExMTMwIiB4cjI6dWlkPSJ7REU0RTdEMzUtNDkyRC00MEQ3LTk5MjUtNDY0N0Y1ODdFMURFfSIvPjwvYm9va1ZpZXdzPjxzaGVldHM+PHNoZWV0IG5hbWU9IlNoZWV0MSIgc2hlZXRJZD0iMSIgcjppZD0icklkMSIvPjwvc2hlZXRzPjxjYWxjUHIgY2FsY0lkPSIxOTEwMjkiLz48ZXh0THN0PjxleHQgdXJpPSJ7MTQwQTcwOTQtMEUzNS00ODkyLTg0MzItQzREMkU1N0VERUI1fSIgeG1sbnM6eDE1PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTAvMTEvbWFpbiI+PHgxNTp3b3JrYm9va1ByIGNoYXJ0VHJhY2tpbmdSZWZCYXNlPSIxIi8+PC9leHQ+PC9leHRMc3Q+PC93b3JrYm9vaz5QSwMECgAAAAAAAAAhAIE+lJe6AgAAugIAABoAAAB4bC9fcmVscy93b3JrYm9vay54bWwucmVsczw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJ5ZXMiPz4NCjxSZWxhdGlvbnNoaXBzIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvcGFja2FnZS8yMDA2L3JlbGF0aW9uc2hpcHMiPjxSZWxhdGlvbnNoaXAgSWQ9InJJZDMiIFR5cGU9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvc3R5bGVzIiBUYXJnZXQ9InN0eWxlcy54bWwiLz48UmVsYXRpb25zaGlwIElkPSJySWQyIiBUeXBlPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3RoZW1lIiBUYXJnZXQ9InRoZW1lL3RoZW1lMS54bWwiLz48UmVsYXRpb25zaGlwIElkPSJySWQxIiBUeXBlPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3dvcmtzaGVldCIgVGFyZ2V0PSJ3b3Jrc2hlZXRzL3NoZWV0MS54bWwiLz48UmVsYXRpb25zaGlwIElkPSJySWQ0IiBUeXBlPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3NoYXJlZFN0cmluZ3MiIFRhcmdldD0ic2hhcmVkU3RyaW5ncy54bWwiLz48L1JlbGF0aW9uc2hpcHM+UEsDBAoAAAAAAAAAIQACrURzpAMAAKQDAAAYAAAAeGwvd29ya3NoZWV0cy9zaGVldDEueG1sPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pg0KPHdvcmtzaGVldCB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3NwcmVhZHNoZWV0bWwvMjAwNi9tYWluIiB4bWxuczpyPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzIiB4bWxuczptYz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL21hcmt1cC1jb21wYXRpYmlsaXR5LzIwMDYiIG1jOklnbm9yYWJsZT0ieDE0YWMgeHIgeHIyIHhyMyIgeG1sbnM6eDE0YWM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNlL3NwcmVhZHNoZWV0bWwvMjAwOS85L2FjIiB4bWxuczp4cj0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2Uvc3ByZWFkc2hlZXRtbC8yMDE0L3JldmlzaW9uIiB4bWxuczp4cjI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNlL3NwcmVhZHNoZWV0bWwvMjAxNS9yZXZpc2lvbjIiIHhtbG5zOnhyMz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2Uvc3ByZWFkc2hlZXRtbC8yMDE2L3JldmlzaW9uMyIgeHI6dWlkPSJ7MEQ4RTVDQTItNUM5RS00RDRCLTk0QzUtRjM1QzA0MUYzOUJEfSI+PGRpbWVuc2lvbiByZWY9IkExIi8+PHNoZWV0Vmlld3M+PHNoZWV0VmlldyB0YWJTZWxlY3RlZD0iMSIgd29ya2Jvb2tWaWV3SWQ9IjAiLz48L3NoZWV0Vmlld3M+PHNoZWV0Rm9ybWF0UHIgZGVmYXVsdFJvd0hlaWdodD0iMTUiIHgxNGFjOmR5RGVzY2VudD0iMC4yNSIvPjxzaGVldERhdGEvPjxwYWdlTWFyZ2lucyBsZWZ0PSIwLjciIHJpZ2h0PSIwLjciIHRvcD0iMC43NSIgYm90dG9tPSIwLjc1IiBoZWFkZXI9IjAuMyIgZm9vdGVyPSIwLjMiLz48L3dvcmtzaGVldD5QSwMECgAAAAAAAAAhAMEXEL7GIAAAxiAAABMAAAB4bC90aGVtZS90aGVtZTEueG1sPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pg0KPGE6dGhlbWUgeG1sbnM6YT0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL2RyYXdpbmdtbC8yMDA2L21haW4iIG5hbWU9Ik9mZmljZSBUaGVtZSI+PGE6dGhlbWVFbGVtZW50cz48YTpjbHJTY2hlbWUgbmFtZT0iT2ZmaWNlIj48YTpkazE+PGE6c3lzQ2xyIHZhbD0id2luZG93VGV4dCIgbGFzdENscj0iMDAwMDAwIi8+PC9hOmRrMT48YTpsdDE+PGE6c3lzQ2xyIHZhbD0id2luZG93IiBsYXN0Q2xyPSJGRkZGRkYiLz48L2E6bHQxPjxhOmRrMj48YTpzcmdiQ2xyIHZhbD0iNDQ1NDZBIi8+PC9hOmRrMj48YTpsdDI+PGE6c3JnYkNsciB2YWw9IkU3RTZFNiIvPjwvYTpsdDI+PGE6YWNjZW50MT48YTpzcmdiQ2xyIHZhbD0iNDQ3MkM0Ii8+PC9hOmFjY2VudDE+PGE6YWNjZW50Mj48YTpzcmdiQ2xyIHZhbD0iRUQ3RDMxIi8+PC9hOmFjY2VudDI+PGE6YWNjZW50Mz48YTpzcmdiQ2xyIHZhbD0iQTVBNUE1Ii8+PC9hOmFjY2VudDM+PGE6YWNjZW50ND48YTpzcmdiQ2xyIHZhbD0iRkZDMDAwIi8+PC9hOmFjY2VudDQ+PGE6YWNjZW50NT48YTpzcmdiQ2xyIHZhbD0iNUI5QkQ1Ii8+PC9hOmFjY2VudDU+PGE6YWNjZW50Nj48YTpzcmdiQ2xyIHZhbD0iNzBBRDQ3Ii8+PC9hOmFjY2VudDY+PGE6aGxpbms+PGE6c3JnYkNsciB2YWw9IjA1NjNDMSIvPjwvYTpobGluaz48YTpmb2xIbGluaz48YTpzcmdiQ2xyIHZhbD0iOTU0RjcyIi8+PC9hOmZvbEhsaW5rPjwvYTpjbHJTY2hlbWU+PGE6Zm9udFNjaGVtZSBuYW1lPSJPZmZpY2UiPjxhOm1ham9yRm9udD48YTpsYXRpbiB0eXBlZmFjZT0iQ2FsaWJyaSBMaWdodCIgcGFub3NlPSIwMjBGMDMwMjAyMDIwNDAzMDIwNCIvPjxhOmVhIHR5cGVmYWNlPSIiLz48YTpjcyB0eXBlZmFjZT0iIi8+PGE6Zm9udCBzY3JpcHQ9IkpwYW4iIHR5cGVmYWNlPSLmuLjjgrTjgrfjg4Pjgq8gTGlnaHQiLz48YTpmb250IHNjcmlwdD0iSGFuZyIgdHlwZWZhY2U9IuunkeydgCDqs6DrlJUiLz48YTpmb250IHNjcmlwdD0iSGFucyIgdHlwZWZhY2U9Iuetiee6vyBMaWdodCIvPjxhOmZvbnQgc2NyaXB0PSJIYW50IiB0eXBlZmFjZT0i5paw57Sw5piO6auUIi8+PGE6Zm9udCBzY3JpcHQ9IkFyYWIiIHR5cGVmYWNlPSJUaW1lcyBOZXcgUm9tYW4iLz48YTpmb250IHNjcmlwdD0iSGViciIgdHlwZWZhY2U9IlRpbWVzIE5ldyBSb21hbiIvPjxhOmZvbnQgc2NyaXB0PSJUaGFpIiB0eXBlZmFjZT0iVGFob21hIi8+PGE6Zm9udCBzY3JpcHQ9IkV0aGkiIHR5cGVmYWNlPSJOeWFsYSIvPjxhOmZvbnQgc2NyaXB0PSJCZW5nIiB0eXBlZmFjZT0iVnJpbmRhIi8+PGE6Zm9udCBzY3JpcHQ9Ikd1anIiIHR5cGVmYWNlPSJTaHJ1dGkiLz48YTpmb250IHNjcmlwdD0iS2htciIgdHlwZWZhY2U9Ik1vb2xCb3JhbiIvPjxhOmZvbnQgc2NyaXB0PSJLbmRhIiB0eXBlZmFjZT0iVHVuZ2EiLz48YTpmb250IHNjcmlwdD0iR3VydSIgdHlwZWZhY2U9IlJhYXZpIi8+PGE6Zm9udCBzY3JpcHQ9IkNhbnMiIHR5cGVmYWNlPSJFdXBoZW1pYSIvPjxhOmZvbnQgc2NyaXB0PSJDaGVyIiB0eXBlZmFjZT0iUGxhbnRhZ2VuZXQgQ2hlcm9rZWUiLz48YTpmb250IHNjcmlwdD0iWWlpaSIgdHlwZWZhY2U9Ik1pY3Jvc29mdCBZaSBCYWl0aSIvPjxhOmZvbnQgc2NyaXB0PSJUaWJ0IiB0eXBlZmFjZT0iTWljcm9zb2Z0IEhpbWFsYXlhIi8+PGE6Zm9udCBzY3JpcHQ9IlRoYWEiIHR5cGVmYWNlPSJNViBCb2xpIi8+PGE6Zm9udCBzY3JpcHQ9IkRldmEiIHR5cGVmYWNlPSJNYW5nYWwiLz48YTpmb250IHNjcmlwdD0iVGVsdSIgdHlwZWZhY2U9IkdhdXRhbWkiLz48YTpmb250IHNjcmlwdD0iVGFtbCIgdHlwZWZhY2U9IkxhdGhhIi8+PGE6Zm9udCBzY3JpcHQ9IlN5cmMiIHR5cGVmYWNlPSJFc3RyYW5nZWxvIEVkZXNzYSIvPjxhOmZvbnQgc2NyaXB0PSJPcnlhIiB0eXBlZmFjZT0iS2FsaW5nYSIvPjxhOmZvbnQgc2NyaXB0PSJNbHltIiB0eXBlZmFjZT0iS2FydGlrYSIvPjxhOmZvbnQgc2NyaXB0PSJMYW9vIiB0eXBlZmFjZT0iRG9rQ2hhbXBhIi8+PGE6Zm9udCBzY3JpcHQ9IlNpbmgiIHR5cGVmYWNlPSJJc2tvb2xhIFBvdGEiLz48YTpmb250IHNjcmlwdD0iTW9uZyIgdHlwZWZhY2U9Ik1vbmdvbGlhbiBCYWl0aSIvPjxhOmZvbnQgc2NyaXB0PSJWaWV0IiB0eXBlZmFjZT0iVGltZXMgTmV3IFJvbWFuIi8+PGE6Zm9udCBzY3JpcHQ9IlVpZ2giIHR5cGVmYWNlPSJNaWNyb3NvZnQgVWlnaHVyIi8+PGE6Zm9udCBzY3JpcHQ9Ikdlb3IiIHR5cGVmYWNlPSJTeWxmYWVuIi8+PGE6Zm9udCBzY3JpcHQ9IkFybW4iIHR5cGVmYWNlPSJBcmlhbCIvPjxhOmZvbnQgc2NyaXB0PSJCdWdpIiB0eXBlZmFjZT0iTGVlbGF3YWRlZSBVSSIvPjxhOmZvbnQgc2NyaXB0PSJCb3BvIiB0eXBlZmFjZT0iTWljcm9zb2Z0IEpoZW5nSGVpIi8+PGE6Zm9udCBzY3JpcHQ9IkphdmEiIHR5cGVmYWNlPSJKYXZhbmVzZSBUZXh0Ii8+PGE6Zm9udCBzY3JpcHQ9Ikxpc3UiIHR5cGVmYWNlPSJTZWdvZSBVSSIvPjxhOmZvbnQgc2NyaXB0PSJNeW1yIiB0eXBlZmFjZT0iTXlhbm1hciBUZXh0Ii8+PGE6Zm9udCBzY3JpcHQ9Ik5rb28iIHR5cGVmYWNlPSJFYnJpbWEiLz48YTpmb250IHNjcmlwdD0iT2xjayIgdHlwZWZhY2U9Ik5pcm1hbGEgVUkiLz48YTpmb250IHNjcmlwdD0iT3NtYSIgdHlwZWZhY2U9IkVicmltYSIvPjxhOmZvbnQgc2NyaXB0PSJQaGFnIiB0eXBlZmFjZT0iUGhhZ3NwYSIvPjxhOmZvbnQgc2NyaXB0PSJTeXJuIiB0eXBlZmFjZT0iRXN0cmFuZ2VsbyBFZGVzc2EiLz48YTpmb250IHNjcmlwdD0iU3lyaiIgdHlwZWZhY2U9IkVzdHJhbmdlbG8gRWRlc3NhIi8+PGE6Zm9udCBzY3JpcHQ9IlN5cmUiIHR5cGVmYWNlPSJFc3RyYW5nZWxvIEVkZXNzYSIvPjxhOmZvbnQgc2NyaXB0PSJTb3JhIiB0eXBlZmFjZT0iTmlybWFsYSBVSSIvPjxhOmZvbnQgc2NyaXB0PSJUYWxlIiB0eXBlZmFjZT0iTWljcm9zb2Z0IFRhaSBMZSIvPjxhOmZvbnQgc2NyaXB0PSJUYWx1IiB0eXBlZmFjZT0iTWljcm9zb2Z0IE5ldyBUYWkgTHVlIi8+PGE6Zm9udCBzY3JpcHQ9IlRmbmciIHR5cGVmYWNlPSJFYnJpbWEiLz48L2E6bWFqb3JGb250PjxhOm1pbm9yRm9udD48YTpsYXRpbiB0eXBlZmFjZT0iQ2FsaWJyaSIgcGFub3NlPSIwMjBGMDUwMjAyMDIwNDAzMDIwNCIvPjxhOmVhIHR5cGVmYWNlPSIiLz48YTpjcyB0eXBlZmFjZT0iIi8+PGE6Zm9udCBzY3JpcHQ9IkpwYW4iIHR5cGVmYWNlPSLmuLjjgrTjgrfjg4Pjgq8iLz48YTpmb250IHNjcmlwdD0iSGFuZyIgdHlwZWZhY2U9IuunkeydgCDqs6DrlJUiLz48YTpmb250IHNjcmlwdD0iSGFucyIgdHlwZWZhY2U9Iuetiee6vyIvPjxhOmZvbnQgc2NyaXB0PSJIYW50IiB0eXBlZmFjZT0i5paw57Sw5piO6auUIi8+PGE6Zm9udCBzY3JpcHQ9IkFyYWIiIHR5cGVmYWNlPSJBcmlhbCIvPjxhOmZvbnQgc2NyaXB0PSJIZWJyIiB0eXBlZmFjZT0iQXJpYWwiLz48YTpmb250IHNjcmlwdD0iVGhhaSIgdHlwZWZhY2U9IlRhaG9tYSIvPjxhOmZvbnQgc2NyaXB0PSJFdGhpIiB0eXBlZmFjZT0iTnlhbGEiLz48YTpmb250IHNjcmlwdD0iQmVuZyIgdHlwZWZhY2U9IlZyaW5kYSIvPjxhOmZvbnQgc2NyaXB0PSJHdWpyIiB0eXBlZmFjZT0iU2hydXRpIi8+PGE6Zm9udCBzY3JpcHQ9IktobXIiIHR5cGVmYWNlPSJEYXVuUGVuaCIvPjxhOmZvbnQgc2NyaXB0PSJLbmRhIiB0eXBlZmFjZT0iVHVuZ2EiLz48YTpmb250IHNjcmlwdD0iR3VydSIgdHlwZWZhY2U9IlJhYXZpIi8+PGE6Zm9udCBzY3JpcHQ9IkNhbnMiIHR5cGVmYWNlPSJFdXBoZW1pYSIvPjxhOmZvbnQgc2NyaXB0PSJDaGVyIiB0eXBlZmFjZT0iUGxhbnRhZ2VuZXQgQ2hlcm9rZWUiLz48YTpmb250IHNjcmlwdD0iWWlpaSIgdHlwZWZhY2U9Ik1pY3Jvc29mdCBZaSBCYWl0aSIvPjxhOmZvbnQgc2NyaXB0PSJUaWJ0IiB0eXBlZmFjZT0iTWljcm9zb2Z0IEhpbWFsYXlhIi8+PGE6Zm9udCBzY3JpcHQ9IlRoYWEiIHR5cGVmYWNlPSJNViBCb2xpIi8+PGE6Zm9udCBzY3JpcHQ9IkRldmEiIHR5cGVmYWNlPSJNYW5nYWwiLz48YTpmb250IHNjcmlwdD0iVGVsdSIgdHlwZWZhY2U9IkdhdXRhbWkiLz48YTpmb250IHNjcmlwdD0iVGFtbCIgdHlwZWZhY2U9IkxhdGhhIi8+PGE6Zm9udCBzY3JpcHQ9IlN5cmMiIHR5cGVmYWNlPSJFc3RyYW5nZWxvIEVkZXNzYSIvPjxhOmZvbnQgc2NyaXB0PSJPcnlhIiB0eXBlZmFjZT0iS2FsaW5nYSIvPjxhOmZvbnQgc2NyaXB0PSJNbHltIiB0eXBlZmFjZT0iS2FydGlrYSIvPjxhOmZvbnQgc2NyaXB0PSJMYW9vIiB0eXBlZmFjZT0iRG9rQ2hhbXBhIi8+PGE6Zm9udCBzY3JpcHQ9IlNpbmgiIHR5cGVmYWNlPSJJc2tvb2xhIFBvdGEiLz48YTpmb250IHNjcmlwdD0iTW9uZyIgdHlwZWZhY2U9Ik1vbmdvbGlhbiBCYWl0aSIvPjxhOmZvbnQgc2NyaXB0PSJWaWV0IiB0eXBlZmFjZT0iQXJpYWwiLz48YTpmb250IHNjcmlwdD0iVWlnaCIgdHlwZWZhY2U9Ik1pY3Jvc29mdCBVaWdodXIiLz48YTpmb250IHNjcmlwdD0iR2VvciIgdHlwZWZhY2U9IlN5bGZhZW4iLz48YTpmb250IHNjcmlwdD0iQXJtbiIgdHlwZWZhY2U9IkFyaWFsIi8+PGE6Zm9udCBzY3JpcHQ9IkJ1Z2kiIHR5cGVmYWNlPSJMZWVsYXdhZGVlIFVJIi8+PGE6Zm9udCBzY3JpcHQ9IkJvcG8iIHR5cGVmYWNlPSJNaWNyb3NvZnQgSmhlbmdIZWkiLz48YTpmb250IHNjcmlwdD0iSmF2YSIgdHlwZWZhY2U9IkphdmFuZXNlIFRleHQiLz48YTpmb250IHNjcmlwdD0iTGlzdSIgdHlwZWZhY2U9IlNlZ29lIFVJIi8+PGE6Zm9udCBzY3JpcHQ9Ik15bXIiIHR5cGVmYWNlPSJNeWFubWFyIFRleHQiLz48YTpmb250IHNjcmlwdD0iTmtvbyIgdHlwZWZhY2U9IkVicmltYSIvPjxhOmZvbnQgc2NyaXB0PSJPbGNrIiB0eXBlZmFjZT0iTmlybWFsYSBVSSIvPjxhOmZvbnQgc2NyaXB0PSJPc21hIiB0eXBlZmFjZT0iRWJyaW1hIi8+PGE6Zm9udCBzY3JpcHQ9IlBoYWciIHR5cGVmYWNlPSJQaGFnc3BhIi8+PGE6Zm9udCBzY3JpcHQ9IlN5cm4iIHR5cGVmYWNlPSJFc3RyYW5nZWxvIEVkZXNzYSIvPjxhOmZvbnQgc2NyaXB0PSJTeXJqIiB0eXBlZmFjZT0iRXN0cmFuZ2VsbyBFZGVzc2EiLz48YTpmb250IHNjcmlwdD0iU3lyZSIgdHlwZWZhY2U9IkVzdHJhbmdlbG8gRWRlc3NhIi8+PGE6Zm9udCBzY3JpcHQ9IlNvcmEiIHR5cGVmYWNlPSJOaXJtYWxhIFVJIi8+PGE6Zm9udCBzY3JpcHQ9IlRhbGUiIHR5cGVmYWNlPSJNaWNyb3NvZnQgVGFpIExlIi8+PGE6Zm9udCBzY3JpcHQ9IlRhbHUiIHR5cGVmYWNlPSJNaWNyb3NvZnQgTmV3IFRhaSBMdWUiLz48YTpmb250IHNjcmlwdD0iVGZuZyIgdHlwZWZhY2U9IkVicmltYSIvPjwvYTptaW5vckZvbnQ+PC9hOmZvbnRTY2hlbWU+PGE6Zm10U2NoZW1lIG5hbWU9Ik9mZmljZSI+PGE6ZmlsbFN0eWxlTHN0PjxhOnNvbGlkRmlsbD48YTpzY2hlbWVDbHIgdmFsPSJwaENsciIvPjwvYTpzb2xpZEZpbGw+PGE6Z3JhZEZpbGwgcm90V2l0aFNoYXBlPSIxIj48YTpnc0xzdD48YTpncyBwb3M9IjAiPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIj48YTpsdW1Nb2QgdmFsPSIxMTAwMDAiLz48YTpzYXRNb2QgdmFsPSIxMDUwMDAiLz48YTp0aW50IHZhbD0iNjcwMDAiLz48L2E6c2NoZW1lQ2xyPjwvYTpncz48YTpncyBwb3M9IjUwMDAwIj48YTpzY2hlbWVDbHIgdmFsPSJwaENsciI+PGE6bHVtTW9kIHZhbD0iMTA1MDAwIi8+PGE6c2F0TW9kIHZhbD0iMTAzMDAwIi8+PGE6dGludCB2YWw9IjczMDAwIi8+PC9hOnNjaGVtZUNscj48L2E6Z3M+PGE6Z3MgcG9zPSIxMDAwMDAiPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIj48YTpsdW1Nb2QgdmFsPSIxMDUwMDAiLz48YTpzYXRNb2QgdmFsPSIxMDkwMDAiLz48YTp0aW50IHZhbD0iODEwMDAiLz48L2E6c2NoZW1lQ2xyPjwvYTpncz48L2E6Z3NMc3Q+PGE6bGluIGFuZz0iNTQwMDAwMCIgc2NhbGVkPSIwIi8+PC9hOmdyYWRGaWxsPjxhOmdyYWRGaWxsIHJvdFdpdGhTaGFwZT0iMSI+PGE6Z3NMc3Q+PGE6Z3MgcG9zPSIwIj48YTpzY2hlbWVDbHIgdmFsPSJwaENsciI+PGE6c2F0TW9kIHZhbD0iMTAzMDAwIi8+PGE6bHVtTW9kIHZhbD0iMTAyMDAwIi8+PGE6dGludCB2YWw9Ijk0MDAwIi8+PC9hOnNjaGVtZUNscj48L2E6Z3M+PGE6Z3MgcG9zPSI1MDAwMCI+PGE6c2NoZW1lQ2xyIHZhbD0icGhDbHIiPjxhOnNhdE1vZCB2YWw9IjExMDAwMCIvPjxhOmx1bU1vZCB2YWw9IjEwMDAwMCIvPjxhOnNoYWRlIHZhbD0iMTAwMDAwIi8+PC9hOnNjaGVtZUNscj48L2E6Z3M+PGE6Z3MgcG9zPSIxMDAwMDAiPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIj48YTpsdW1Nb2QgdmFsPSI5OTAwMCIvPjxhOnNhdE1vZCB2YWw9IjEyMDAwMCIvPjxhOnNoYWRlIHZhbD0iNzgwMDAiLz48L2E6c2NoZW1lQ2xyPjwvYTpncz48L2E6Z3NMc3Q+PGE6bGluIGFuZz0iNTQwMDAwMCIgc2NhbGVkPSIwIi8+PC9hOmdyYWRGaWxsPjwvYTpmaWxsU3R5bGVMc3Q+PGE6bG5TdHlsZUxzdD48YTpsbiB3PSI2MzUwIiBjYXA9ImZsYXQiIGNtcGQ9InNuZyIgYWxnbj0iY3RyIj48YTpzb2xpZEZpbGw+PGE6c2NoZW1lQ2xyIHZhbD0icGhDbHIiLz48L2E6c29saWRGaWxsPjxhOnByc3REYXNoIHZhbD0ic29saWQiLz48YTptaXRlciBsaW09IjgwMDAwMCIvPjwvYTpsbj48YTpsbiB3PSIxMjcwMCIgY2FwPSJmbGF0IiBjbXBkPSJzbmciIGFsZ249ImN0ciI+PGE6c29saWRGaWxsPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIi8+PC9hOnNvbGlkRmlsbD48YTpwcnN0RGFzaCB2YWw9InNvbGlkIi8+PGE6bWl0ZXIgbGltPSI4MDAwMDAiLz48L2E6bG4+PGE6bG4gdz0iMTkwNTAiIGNhcD0iZmxhdCIgY21wZD0ic25nIiBhbGduPSJjdHIiPjxhOnNvbGlkRmlsbD48YTpzY2hlbWVDbHIgdmFsPSJwaENsciIvPjwvYTpzb2xpZEZpbGw+PGE6cHJzdERhc2ggdmFsPSJzb2xpZCIvPjxhOm1pdGVyIGxpbT0iODAwMDAwIi8+PC9hOmxuPjwvYTpsblN0eWxlTHN0PjxhOmVmZmVjdFN0eWxlTHN0PjxhOmVmZmVjdFN0eWxlPjxhOmVmZmVjdExzdC8+PC9hOmVmZmVjdFN0eWxlPjxhOmVmZmVjdFN0eWxlPjxhOmVmZmVjdExzdC8+PC9hOmVmZmVjdFN0eWxlPjxhOmVmZmVjdFN0eWxlPjxhOmVmZmVjdExzdD48YTpvdXRlclNoZHcgYmx1clJhZD0iNTcxNTAiIGRpc3Q9IjE5MDUwIiBkaXI9IjU0MDAwMDAiIGFsZ249ImN0ciIgcm90V2l0aFNoYXBlPSIwIj48YTpzcmdiQ2xyIHZhbD0iMDAwMDAwIj48YTphbHBoYSB2YWw9IjYzMDAwIi8+PC9hOnNyZ2JDbHI+PC9hOm91dGVyU2hkdz48L2E6ZWZmZWN0THN0PjwvYTplZmZlY3RTdHlsZT48L2E6ZWZmZWN0U3R5bGVMc3Q+PGE6YmdGaWxsU3R5bGVMc3Q+PGE6c29saWRGaWxsPjxhOnNjaGVtZUNsciB2YWw9InBoQ2xyIi8+PC9hOnNvbGlkRmlsbD48YTpzb2xpZEZpbGw+PGE6c2NoZW1lQ2xyIHZhbD0icGhDbHIiPjxhOnRpbnQgdmFsPSI5NTAwMCIvPjxhOnNhdE1vZCB2YWw9IjE3MDAwMCIvPjwvYTpzY2hlbWVDbHI+PC9hOnNvbGlkRmlsbD48YTpncmFkRmlsbCByb3RXaXRoU2hhcGU9IjEiPjxhOmdzTHN0PjxhOmdzIHBvcz0iMCI+PGE6c2NoZW1lQ2xyIHZhbD0icGhDbHIiPjxhOnRpbnQgdmFsPSI5MzAwMCIvPjxhOnNhdE1vZCB2YWw9IjE1MDAwMCIvPjxhOnNoYWRlIHZhbD0iOTgwMDAiLz48YTpsdW1Nb2QgdmFsPSIxMDIwMDAiLz48L2E6c2NoZW1lQ2xyPjwvYTpncz48YTpncyBwb3M9IjUwMDAwIj48YTpzY2hlbWVDbHIgdmFsPSJwaENsciI+PGE6dGludCB2YWw9Ijk4MDAwIi8+PGE6c2F0TW9kIHZhbD0iMTMwMDAwIi8+PGE6c2hhZGUgdmFsPSI5MDAwMCIvPjxhOmx1bU1vZCB2YWw9IjEwMzAwMCIvPjwvYTpzY2hlbWVDbHI+PC9hOmdzPjxhOmdzIHBvcz0iMTAwMDAwIj48YTpzY2hlbWVDbHIgdmFsPSJwaENsciI+PGE6c2hhZGUgdmFsPSI2MzAwMCIvPjxhOnNhdE1vZCB2YWw9IjEyMDAwMCIvPjwvYTpzY2hlbWVDbHI+PC9hOmdzPjwvYTpnc0xzdD48YTpsaW4gYW5nPSI1NDAwMDAwIiBzY2FsZWQ9IjAiLz48L2E6Z3JhZEZpbGw+PC9hOmJnRmlsbFN0eWxlTHN0PjwvYTpmbXRTY2hlbWU+PC9hOnRoZW1lRWxlbWVudHM+PGE6b2JqZWN0RGVmYXVsdHMvPjxhOmV4dHJhQ2xyU2NoZW1lTHN0Lz48YTpleHRMc3Q+PGE6ZXh0IHVyaT0iezA1QTRDMjVDLTA4NUUtNDM0MC04NUEzLUE1NTMxRTUxMERCMn0iPjx0aG0xNTp0aGVtZUZhbWlseSB4bWxuczp0aG0xNT0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2UvdGhlbWVtbC8yMDEyL21haW4iIG5hbWU9Ik9mZmljZSBUaGVtZSIgaWQ9Ins2MkY5MzlCNi05M0FGLTREQjgtOUM2Qi1ENkM3REZEQzU4OUZ9IiB2aWQ9Ins0QTNDNDZFOC02MUNDLTQ2MDMtQTU4OS03NDIyQTQ3QThFNEF9Ii8+PC9hOmV4dD48L2E6ZXh0THN0PjwvYTp0aGVtZT5QSwMECgAAAAAAAAAhAHmhgGxSBgAAUgYAAA0AAAB4bC9zdHlsZXMueG1sPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pg0KPHN0eWxlU2hlZXQgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9zcHJlYWRzaGVldG1sLzIwMDYvbWFpbiIgeG1sbnM6bWM9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9tYXJrdXAtY29tcGF0aWJpbGl0eS8yMDA2IiBtYzpJZ25vcmFibGU9IngxNGFjIHgxNnIyIHhyIiB4bWxuczp4MTRhYz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2Uvc3ByZWFkc2hlZXRtbC8yMDA5LzkvYWMiIHhtbG5zOngxNnIyPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTUvMDIvbWFpbiIgeG1sbnM6eHI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNlL3NwcmVhZHNoZWV0bWwvMjAxNC9yZXZpc2lvbiI+PGZvbnRzIGNvdW50PSIxIiB4MTRhYzprbm93bkZvbnRzPSIxIj48Zm9udD48c3ogdmFsPSIxMSIvPjxjb2xvciB0aGVtZT0iMSIvPjxuYW1lIHZhbD0iQ2FsaWJyaSIvPjxmYW1pbHkgdmFsPSIyIi8+PHNjaGVtZSB2YWw9Im1pbm9yIi8+PC9mb250PjwvZm9udHM+PGZpbGxzIGNvdW50PSIyIj48ZmlsbD48cGF0dGVybkZpbGwgcGF0dGVyblR5cGU9Im5vbmUiLz48L2ZpbGw+PGZpbGw+PHBhdHRlcm5GaWxsIHBhdHRlcm5UeXBlPSJncmF5MTI1Ii8+PC9maWxsPjwvZmlsbHM+PGJvcmRlcnMgY291bnQ9IjEiPjxib3JkZXI+PGxlZnQvPjxyaWdodC8+PHRvcC8+PGJvdHRvbS8+PGRpYWdvbmFsLz48L2JvcmRlcj48L2JvcmRlcnM+PGNlbGxTdHlsZVhmcyBjb3VudD0iMSI+PHhmIG51bUZtdElkPSIwIiBmb250SWQ9IjAiIGZpbGxJZD0iMCIgYm9yZGVySWQ9IjAiLz48L2NlbGxTdHlsZVhmcz48Y2VsbFhmcyBjb3VudD0iMSI+PHhmIG51bUZtdElkPSIwIiBmb250SWQ9IjAiIGZpbGxJZD0iMCIgYm9yZGVySWQ9IjAiIHhmSWQ9IjAiLz48L2NlbGxYZnM+PGNlbGxTdHlsZXMgY291bnQ9IjEiPjxjZWxsU3R5bGUgbmFtZT0iTm9ybWFsIiB4ZklkPSIwIiBidWlsdGluSWQ9IjAiLz48L2NlbGxTdHlsZXM+PGR4ZnMgY291bnQ9IjAiLz48dGFibGVTdHlsZXMgY291bnQ9IjAiIGRlZmF1bHRUYWJsZVN0eWxlPSJUYWJsZVN0eWxlTWVkaXVtMiIgZGVmYXVsdFBpdm90U3R5bGU9IlBpdm90U3R5bGVMaWdodDE2Ii8+PGV4dExzdD48ZXh0IHVyaT0ie0VCNzlERUYyLTgwQjgtNDNlNS05NUJELTU0Q0JEREY5MDIwQ30iIHhtbG5zOngxND0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2Uvc3ByZWFkc2hlZXRtbC8yMDA5LzkvbWFpbiI+PHgxNDpzbGljZXJTdHlsZXMgZGVmYXVsdFNsaWNlclN0eWxlPSJTbGljZXJTdHlsZUxpZ2h0MSIvPjwvZXh0PjxleHQgdXJpPSJ7OTI2MEE1MTAtRjMwMS00NmE4LTg2MzUtRjUxMkQ2NEJFNUY1fSIgeG1sbnM6eDE1PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9zcHJlYWRzaGVldG1sLzIwMTAvMTEvbWFpbiI+PHgxNTp0aW1lbGluZVN0eWxlcyBkZWZhdWx0VGltZWxpbmVTdHlsZT0iVGltZVNsaWNlclN0eWxlTGlnaHQxIi8+PC9leHQ+PC9leHRMc3Q+PC9zdHlsZVNoZWV0PlBLAwQKAAAAAAAAACEA0IywC4EAAACBAAAAFAAAAHhsL3NoYXJlZFN0cmluZ3MueG1sPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pg0KPHNzdCB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3NwcmVhZHNoZWV0bWwvMjAwNi9tYWluIi8+UEsDBAoAAAAAAAAAIQDcCx83XQIAAF0CAAARAAAAZG9jUHJvcHMvY29yZS54bWw8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgc3RhbmRhbG9uZT0ieWVzIj8+DQo8Y3A6Y29yZVByb3BlcnRpZXMgeG1sbnM6Y3A9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9wYWNrYWdlLzIwMDYvbWV0YWRhdGEvY29yZS1wcm9wZXJ0aWVzIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOmRjdGVybXM9Imh0dHA6Ly9wdXJsLm9yZy9kYy90ZXJtcy8iIHhtbG5zOmRjbWl0eXBlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIj48ZGM6Y3JlYXRvcj5kdW5jYW48L2RjOmNyZWF0b3I+PGNwOmxhc3RNb2RpZmllZEJ5PmR1bmNhbjwvY3A6bGFzdE1vZGlmaWVkQnk+PGRjdGVybXM6Y3JlYXRlZCB4c2k6dHlwZT0iZGN0ZXJtczpXM0NEVEYiPjIwMTktMDEtMzFUMTY6NDg6MDNaPC9kY3Rlcm1zOmNyZWF0ZWQ+PGRjdGVybXM6bW9kaWZpZWQgeHNpOnR5cGU9ImRjdGVybXM6VzNDRFRGIj4yMDE5LTAxLTMxVDE2OjQ4OjI4WjwvZGN0ZXJtczptb2RpZmllZD48L2NwOmNvcmVQcm9wZXJ0aWVzPlBLAwQKAAAAAAAAACEAYUkJEBEDAAARAwAAEAAAAGRvY1Byb3BzL2FwcC54bWw8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgc3RhbmRhbG9uZT0ieWVzIj8+DQo8UHJvcGVydGllcyB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL29mZmljZURvY3VtZW50LzIwMDYvZXh0ZW5kZWQtcHJvcGVydGllcyIgeG1sbnM6dnQ9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L2RvY1Byb3BzVlR5cGVzIj48QXBwbGljYXRpb24+TWljcm9zb2Z0IEV4Y2VsPC9BcHBsaWNhdGlvbj48RG9jU2VjdXJpdHk+MDwvRG9jU2VjdXJpdHk+PFNjYWxlQ3JvcD5mYWxzZTwvU2NhbGVDcm9wPjxIZWFkaW5nUGFpcnM+PHZ0OnZlY3RvciBzaXplPSIyIiBiYXNlVHlwZT0idmFyaWFudCI+PHZ0OnZhcmlhbnQ+PHZ0Omxwc3RyPldvcmtzaGVldHM8L3Z0Omxwc3RyPjwvdnQ6dmFyaWFudD48dnQ6dmFyaWFudD48dnQ6aTQ+MTwvdnQ6aTQ+PC92dDp2YXJpYW50PjwvdnQ6dmVjdG9yPjwvSGVhZGluZ1BhaXJzPjxUaXRsZXNPZlBhcnRzPjx2dDp2ZWN0b3Igc2l6ZT0iMSIgYmFzZVR5cGU9Imxwc3RyIj48dnQ6bHBzdHI+U2hlZXQxPC92dDpscHN0cj48L3Z0OnZlY3Rvcj48L1RpdGxlc09mUGFydHM+PENvbXBhbnk+PC9Db21wYW55PjxMaW5rc1VwVG9EYXRlPmZhbHNlPC9MaW5rc1VwVG9EYXRlPjxTaGFyZWREb2M+ZmFsc2U8L1NoYXJlZERvYz48SHlwZXJsaW5rc0NoYW5nZWQ+ZmFsc2U8L0h5cGVybGlua3NDaGFuZ2VkPjxBcHBWZXJzaW9uPjE2LjAzMDA8L0FwcFZlcnNpb24+PC9Qcm9wZXJ0aWVzPlBLAQIUAAoAAAAAAAAAIQBi7p1okAQAAJAEAAATAAAAAAAAAAAAAAAAAAAAAABbQ29udGVudF9UeXBlc10ueG1sUEsBAhQACgAAAAAAAAAhALVVMCNMAgAATAIAAAsAAAAAAAAAAAAAAAAAwQQAAF9yZWxzLy5yZWxzUEsBAhQACgAAAAAAAAAhALpwnmbKBgAAygYAAA8AAAAAAAAAAAAAAAAANgcAAHhsL3dvcmtib29rLnhtbFBLAQIUAAoAAAAAAAAAIQCBPpSXugIAALoCAAAaAAAAAAAAAAAAAAAAAC0OAAB4bC9fcmVscy93b3JrYm9vay54bWwucmVsc1BLAQIUAAoAAAAAAAAAIQACrURzpAMAAKQDAAAYAAAAAAAAAAAAAAAAAB8RAAB4bC93b3Jrc2hlZXRzL3NoZWV0MS54bWxQSwECFAAKAAAAAAAAACEAwRcQvsYgAADGIAAAEwAAAAAAAAAAAAAAAAD5FAAAeGwvdGhlbWUvdGhlbWUxLnhtbFBLAQIUAAoAAAAAAAAAIQB5oYBsUgYAAFIGAAANAAAAAAAAAAAAAAAAAPA1AAB4bC9zdHlsZXMueG1sUEsBAhQACgAAAAAAAAAhANCMsAuBAAAAgQAAABQAAAAAAAAAAAAAAAAAbTwAAHhsL3NoYXJlZFN0cmluZ3MueG1sUEsBAhQACgAAAAAAAAAhANwLHzddAgAAXQIAABEAAAAAAAAAAAAAAAAAID0AAGRvY1Byb3BzL2NvcmUueG1sUEsBAhQACgAAAAAAAAAhAGFJCRARAwAAEQMAABAAAAAAAAAAAAAAAAAArD8AAGRvY1Byb3BzL2FwcC54bWxQSwUGAAAAAAoACgCAAgAA60IAAAAA";var jt=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",Yr=jt+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",Br="["+jt+"]["+Yr+"]*",kr=new RegExp("^"+Br+"$");function Qe(r,e){let t=[],n=e.exec(r);for(;n;){let s=[];s.startIndex=e.lastIndex-n[0].length;let i=n.length;for(let o=0;o<i;o++)s.push(n[o]);t.push(s),n=e.exec(r)}return t}var Pe=function(r){let e=kr.exec(r);return!(e===null||typeof e>"u")};function Ht(r){return typeof r<"u"}var _e=["hasOwnProperty","toString","valueOf","__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__"],qe=["__proto__","constructor","prototype"];var Lr={allowBooleanAttributes:!1,unpairedTags:[]};function Qt(r,e){e=Object.assign({},Lr,e);let t=[],n=!1,s=!1;r[0]==="\uFEFF"&&(r=r.substr(1));for(let i=0;i<r.length;i++)if(r[i]==="<"&&r[i+1]==="?"){if(i+=2,i=Xt(r,i),i.err)return i}else if(r[i]==="<"){let o=i;if(i++,r[i]==="!"){i=Jt(r,i);continue}else{let a=!1;r[i]==="/"&&(a=!0,i++);let l="";for(;i<r.length&&r[i]!==">"&&r[i]!==" "&&r[i]!==" "&&r[i]!==`
3
+ `&&r[i]!=="\r";i++)l+=r[i];if(l=l.trim(),l[l.length-1]==="/"&&(l=l.substring(0,l.length-1),i--),!Qr(l)){let d;return l.trim().length===0?d="Invalid space after '<'.":d="Tag '"+l+"' is an invalid name.",X("InvalidTag",d,K(r,i))}let c=Hr(r,i);if(c===!1)return X("InvalidAttr","Attributes for '"+l+"' have open quote.",K(r,i));let f=c.value;if(i=c.index,f[f.length-1]==="/"){let d=i-f.length;f=f.substring(0,f.length-1);let u=Dt(f,e);if(u===!0)n=!0;else return X(u.err.code,u.err.msg,K(r,d+u.err.line))}else if(a)if(c.tagClosed){if(f.trim().length>0)return X("InvalidTag","Closing tag '"+l+"' can't have attributes or invalid starting.",K(r,o));if(t.length===0)return X("InvalidTag","Closing tag '"+l+"' has not been opened.",K(r,o));{let d=t.pop();if(l!==d.tagName){let u=K(r,d.tagStartPos);return X("InvalidTag","Expected closing tag '"+d.tagName+"' (opened in line "+u.line+", col "+u.col+") instead of closing tag '"+l+"'.",K(r,o))}t.length==0&&(s=!0)}}else return X("InvalidTag","Closing tag '"+l+"' doesn't have proper closing.",K(r,i));else{let d=Dt(f,e);if(d!==!0)return X(d.err.code,d.err.msg,K(r,i-f.length+d.err.line));if(s===!0)return X("InvalidXml","Multiple possible root nodes found.",K(r,i));e.unpairedTags.indexOf(l)!==-1||t.push({tagName:l,tagStartPos:o}),n=!0}for(i++;i<r.length;i++)if(r[i]==="<")if(r[i+1]==="!"){i++,i=Jt(r,i);continue}else if(r[i+1]==="?"){if(i=Xt(r,++i),i.err)return i}else break;else if(r[i]==="&"){let d=Jr(r,i);if(d==-1)return X("InvalidChar","char '&' is not expected.",K(r,i));i=d}else if(s===!0&&!Ut(r[i]))return X("InvalidXml","Extra text at the end",K(r,i));r[i]==="<"&&i--}}else{if(Ut(r[i]))continue;return X("InvalidChar","char '"+r[i]+"' is not expected.",K(r,i))}if(n){if(t.length==1)return X("InvalidTag","Unclosed tag '"+t[0].tagName+"'.",K(r,t[0].tagStartPos));if(t.length>0)return X("InvalidXml","Invalid '"+JSON.stringify(t.map(i=>i.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return X("InvalidXml","Start tag expected.",1);return!0}function Ut(r){return r===" "||r===" "||r===`
4
+ `||r==="\r"}function Xt(r,e){let t=e;for(;e<r.length;e++)if(r[e]=="?"||r[e]==" "){let n=r.substr(t,e-t);if(e>5&&n==="xml")return X("InvalidXml","XML declaration allowed only at the start of the document.",K(r,e));if(r[e]=="?"&&r[e+1]==">"){e++;break}else continue}return e}function Jt(r,e){if(r.length>e+5&&r[e+1]==="-"&&r[e+2]==="-"){for(e+=3;e<r.length;e++)if(r[e]==="-"&&r[e+1]==="-"&&r[e+2]===">"){e+=2;break}}else if(r.length>e+8&&r[e+1]==="D"&&r[e+2]==="O"&&r[e+3]==="C"&&r[e+4]==="T"&&r[e+5]==="Y"&&r[e+6]==="P"&&r[e+7]==="E"){let t=1;for(e+=8;e<r.length;e++)if(r[e]==="<")t++;else if(r[e]===">"&&(t--,t===0))break}else if(r.length>e+9&&r[e+1]==="["&&r[e+2]==="C"&&r[e+3]==="D"&&r[e+4]==="A"&&r[e+5]==="T"&&r[e+6]==="A"&&r[e+7]==="["){for(e+=8;e<r.length;e++)if(r[e]==="]"&&r[e+1]==="]"&&r[e+2]===">"){e+=2;break}}return e}var Vr='"',jr="'";function Hr(r,e){let t="",n="",s=!1;for(;e<r.length;e++){if(r[e]===Vr||r[e]===jr)n===""?n=r[e]:n!==r[e]||(n="");else if(r[e]===">"&&n===""){s=!0;break}t+=r[e]}return n!==""?!1:{value:t,index:e,tagClosed:s}}var Ur=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function Dt(r,e){let t=Qe(r,Ur),n={};for(let s=0;s<t.length;s++){if(t[s][1].length===0)return X("InvalidAttr","Attribute '"+t[s][2]+"' has no space in starting.",Ee(t[s]));if(t[s][3]!==void 0&&t[s][4]===void 0)return X("InvalidAttr","Attribute '"+t[s][2]+"' is without value.",Ee(t[s]));if(t[s][3]===void 0&&!e.allowBooleanAttributes)return X("InvalidAttr","boolean attribute '"+t[s][2]+"' is not allowed.",Ee(t[s]));let i=t[s][2];if(!Dr(i))return X("InvalidAttr","Attribute '"+i+"' is an invalid name.",Ee(t[s]));if(!Object.prototype.hasOwnProperty.call(n,i))n[i]=1;else return X("InvalidAttr","Attribute '"+i+"' is repeated.",Ee(t[s]))}return!0}function Xr(r,e){let t=/\d/;for(r[e]==="x"&&(e++,t=/[\da-fA-F]/);e<r.length;e++){if(r[e]===";")return e;if(!r[e].match(t))break}return-1}function Jr(r,e){if(e++,r[e]===";")return-1;if(r[e]==="#")return e++,Xr(r,e);let t=0;for(;e<r.length;e++,t++)if(!(r[e].match(/\w/)&&t<20)){if(r[e]===";")break;return-1}return e}function X(r,e,t){return{err:{code:r,msg:e,line:t.line||t,col:t.col}}}function Dr(r){return Pe(r)}function Qr(r){return Pe(r)}function K(r,e){let t=r.substring(0,e).split(/\r?\n/);return{line:t.length,col:t[t.length-1].length+1}}function Ee(r){return r.startIndex+r[1].length}var qt=r=>_e.includes(r)?"__"+r:r,qr={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(r,e){return e},attributeValueProcessor:function(r,e){return e},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(r,e,t){return r},captureMetaData:!1,maxNestedTags:100,strictReservedNames:!0,jPath:!0,onDangerousProperty:qt};function Kr(r,e){if(typeof r!="string")return;let t=r.toLowerCase();if(_e.some(n=>t===n.toLowerCase()))throw new Error(`[SECURITY] Invalid ${e}: "${r}" is a reserved JavaScript keyword that could cause prototype pollution`);if(qe.some(n=>t===n.toLowerCase()))throw new Error(`[SECURITY] Invalid ${e}: "${r}" is a reserved JavaScript keyword that could cause prototype pollution`)}function Kt(r){return typeof r=="boolean"?{enabled:r,maxEntitySize:1e4,maxExpansionDepth:10,maxTotalExpansions:1e3,maxExpandedLength:1e5,maxEntityCount:100,allowedTags:null,tagFilter:null}:typeof r=="object"&&r!==null?{enabled:r.enabled!==!1,maxEntitySize:Math.max(1,r.maxEntitySize??1e4),maxExpansionDepth:Math.max(1,r.maxExpansionDepth??10),maxTotalExpansions:Math.max(1,r.maxTotalExpansions??1e3),maxExpandedLength:Math.max(1,r.maxExpandedLength??1e5),maxEntityCount:Math.max(1,r.maxEntityCount??100),allowedTags:r.allowedTags??null,tagFilter:r.tagFilter??null}:Kt(!0)}var er=function(r){let e=Object.assign({},qr,r),t=[{value:e.attributeNamePrefix,name:"attributeNamePrefix"},{value:e.attributesGroupName,name:"attributesGroupName"},{value:e.textNodeName,name:"textNodeName"},{value:e.cdataPropName,name:"cdataPropName"},{value:e.commentPropName,name:"commentPropName"}];for(let{value:n,name:s}of t)n&&Kr(n,s);return e.onDangerousProperty===null&&(e.onDangerousProperty=qt),e.processEntities=Kt(e.processEntities),e.stopNodes&&Array.isArray(e.stopNodes)&&(e.stopNodes=e.stopNodes.map(n=>typeof n=="string"&&n.startsWith("*.")?".."+n.substring(2):n)),e};var Ke;typeof Symbol!="function"?Ke="@@xmlMetadata":Ke=Symbol("XML Node Metadata");var ee=class{constructor(e){this.tagname=e,this.child=[],this[":@"]=Object.create(null)}add(e,t){e==="__proto__"&&(e="#__proto__"),this.child.push({[e]:t})}addChild(e,t){e.tagname==="__proto__"&&(e.tagname="#__proto__"),e[":@"]&&Object.keys(e[":@"]).length>0?this.child.push({[e.tagname]:e.child,":@":e[":@"]}):this.child.push({[e.tagname]:e.child}),t!==void 0&&(this.child[this.child.length-1][Ke]={startIndex:t})}static getMetaDataSymbol(){return Ke}};var Re=class{constructor(e){this.suppressValidationErr=!e,this.options=e}readDocType(e,t){let n=Object.create(null),s=0;if(e[t+3]==="O"&&e[t+4]==="C"&&e[t+5]==="T"&&e[t+6]==="Y"&&e[t+7]==="P"&&e[t+8]==="E"){t=t+9;let i=1,o=!1,a=!1,l="";for(;t<e.length;t++)if(e[t]==="<"&&!a){if(o&&Ie(e,"!ENTITY",t)){t+=7;let c,f;if([c,f,t]=this.readEntityExp(e,t+1,this.suppressValidationErr),f.indexOf("&")===-1){if(this.options.enabled!==!1&&this.options.maxEntityCount!=null&&s>=this.options.maxEntityCount)throw new Error(`Entity count (${s+1}) exceeds maximum allowed (${this.options.maxEntityCount})`);let d=c.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");n[c]={regx:RegExp(`&${d};`,"g"),val:f},s++}}else if(o&&Ie(e,"!ELEMENT",t)){t+=8;let{index:c}=this.readElementExp(e,t+1);t=c}else if(o&&Ie(e,"!ATTLIST",t))t+=8;else if(o&&Ie(e,"!NOTATION",t)){t+=9;let{index:c}=this.readNotationExp(e,t+1,this.suppressValidationErr);t=c}else if(Ie(e,"!--",t))a=!0;else throw new Error("Invalid DOCTYPE");i++,l=""}else if(e[t]===">"){if(a?e[t-1]==="-"&&e[t-2]==="-"&&(a=!1,i--):i--,i===0)break}else e[t]==="["?o=!0:l+=e[t];if(i!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:n,i:t}}readEntityExp(e,t){t=te(e,t);let n=t;for(;t<e.length&&!/\s/.test(e[t])&&e[t]!=='"'&&e[t]!=="'";)t++;let s=e.substring(n,t);if(Ge(s),t=te(e,t),!this.suppressValidationErr){if(e.substring(t,t+6).toUpperCase()==="SYSTEM")throw new Error("External entities are not supported");if(e[t]==="%")throw new Error("Parameter entities are not supported")}let i="";if([t,i]=this.readIdentifierVal(e,t,"entity"),this.options.enabled!==!1&&this.options.maxEntitySize!=null&&i.length>this.options.maxEntitySize)throw new Error(`Entity "${s}" size (${i.length}) exceeds maximum allowed size (${this.options.maxEntitySize})`);return t--,[s,i,t]}readNotationExp(e,t){t=te(e,t);let n=t;for(;t<e.length&&!/\s/.test(e[t]);)t++;let s=e.substring(n,t);!this.suppressValidationErr&&Ge(s),t=te(e,t);let i=e.substring(t,t+6).toUpperCase();if(!this.suppressValidationErr&&i!=="SYSTEM"&&i!=="PUBLIC")throw new Error(`Expected SYSTEM or PUBLIC, found "${i}"`);t+=i.length,t=te(e,t);let o=null,a=null;if(i==="PUBLIC")[t,o]=this.readIdentifierVal(e,t,"publicIdentifier"),t=te(e,t),(e[t]==='"'||e[t]==="'")&&([t,a]=this.readIdentifierVal(e,t,"systemIdentifier"));else if(i==="SYSTEM"&&([t,a]=this.readIdentifierVal(e,t,"systemIdentifier"),!this.suppressValidationErr&&!a))throw new Error("Missing mandatory system identifier for SYSTEM notation");return{notationName:s,publicIdentifier:o,systemIdentifier:a,index:--t}}readIdentifierVal(e,t,n){let s="",i=e[t];if(i!=='"'&&i!=="'")throw new Error(`Expected quoted string, found "${i}"`);t++;let o=t;for(;t<e.length&&e[t]!==i;)t++;if(s=e.substring(o,t),e[t]!==i)throw new Error(`Unterminated ${n} value`);return t++,[t,s]}readElementExp(e,t){t=te(e,t);let n=t;for(;t<e.length&&!/\s/.test(e[t]);)t++;let s=e.substring(n,t);if(!this.suppressValidationErr&&!Pe(s))throw new Error(`Invalid element name: "${s}"`);t=te(e,t);let i="";if(e[t]==="E"&&Ie(e,"MPTY",t))t+=4;else if(e[t]==="A"&&Ie(e,"NY",t))t+=2;else if(e[t]==="("){t++;let o=t;for(;t<e.length&&e[t]!==")";)t++;if(i=e.substring(o,t),e[t]!==")")throw new Error("Unterminated content model")}else if(!this.suppressValidationErr)throw new Error(`Invalid Element Expression, found "${e[t]}"`);return{elementName:s,contentModel:i.trim(),index:t}}readAttlistExp(e,t){t=te(e,t);let n=t;for(;t<e.length&&!/\s/.test(e[t]);)t++;let s=e.substring(n,t);for(Ge(s),t=te(e,t),n=t;t<e.length&&!/\s/.test(e[t]);)t++;let i=e.substring(n,t);if(!Ge(i))throw new Error(`Invalid attribute name: "${i}"`);t=te(e,t);let o="";if(e.substring(t,t+8).toUpperCase()==="NOTATION"){if(o="NOTATION",t+=8,t=te(e,t),e[t]!=="(")throw new Error(`Expected '(', found "${e[t]}"`);t++;let l=[];for(;t<e.length&&e[t]!==")";){let c=t;for(;t<e.length&&e[t]!=="|"&&e[t]!==")";)t++;let f=e.substring(c,t);if(f=f.trim(),!Ge(f))throw new Error(`Invalid notation name: "${f}"`);l.push(f),e[t]==="|"&&(t++,t=te(e,t))}if(e[t]!==")")throw new Error("Unterminated list of notations");t++,o+=" ("+l.join("|")+")"}else{let l=t;for(;t<e.length&&!/\s/.test(e[t]);)t++;o+=e.substring(l,t);let c=["CDATA","ID","IDREF","IDREFS","ENTITY","ENTITIES","NMTOKEN","NMTOKENS"];if(!this.suppressValidationErr&&!c.includes(o.toUpperCase()))throw new Error(`Invalid attribute type: "${o}"`)}t=te(e,t);let a="";return e.substring(t,t+8).toUpperCase()==="#REQUIRED"?(a="#REQUIRED",t+=8):e.substring(t,t+7).toUpperCase()==="#IMPLIED"?(a="#IMPLIED",t+=7):[t,a]=this.readIdentifierVal(e,t,"ATTLIST"),{elementName:s,attributeName:i,attributeType:o,defaultValue:a,index:t}}},te=(r,e)=>{for(;e<r.length&&/\s/.test(r[e]);)e++;return e};function Ie(r,e,t){for(let n=0;n<e.length;n++)if(e[n]!==r[t+n+1])return!1;return!0}function Ge(r){if(Pe(r))return r;throw new Error(`Invalid entity name ${r}`)}var en=/^[-+]?0x[a-fA-F0-9]+$/,tn=/^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/,rn={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0,infinity:"original"};function pt(r,e={}){if(e=Object.assign({},rn,e),!r||typeof r!="string")return r;let t=r.trim();if(t.length===0)return r;if(e.skipLike!==void 0&&e.skipLike.test(t))return r;if(t==="0")return 0;if(e.hex&&en.test(t))return on(t,16);if(isFinite(t)){if(t.includes("e")||t.includes("E"))return sn(r,t,e);{let n=tn.exec(t);if(n){let s=n[1]||"",i=n[2],o=an(n[3]),a=s?r[i.length+1]===".":r[i.length]===".";if(!e.leadingZeros&&(i.length>1||i.length===1&&!a))return r;{let l=Number(t),c=String(l);if(l===0)return l;if(c.search(/[eE]/)!==-1)return e.eNotation?l:r;if(t.indexOf(".")!==-1)return c==="0"||c===o||c===`${s}${o}`?l:r;let f=i?o:t;return i?f===c||s+f===c?l:r:f===c||f===s+c?l:r}}else return r}}else return ln(r,Number(t),e)}var nn=/^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;function sn(r,e,t){if(!t.eNotation)return r;let n=e.match(nn);if(n){let s=n[1]||"",i=n[3].indexOf("e")===-1?"E":"e",o=n[2],a=s?r[o.length+1]===i:r[o.length]===i;return o.length>1&&a?r:o.length===1&&(n[3].startsWith(`.${i}`)||n[3][0]===i)?Number(e):o.length>0?t.leadingZeros&&!a?(e=(n[1]||"")+n[3],Number(e)):r:Number(e)}else return r}function an(r){return r&&r.indexOf(".")!==-1&&(r=r.replace(/0+$/,""),r==="."?r="0":r[0]==="."?r="0"+r:r[r.length-1]==="."&&(r=r.substring(0,r.length-1))),r}function on(r,e){if(parseInt)return parseInt(r,e);if(Number.parseInt)return Number.parseInt(r,e);if(window&&window.parseInt)return window.parseInt(r,e);throw new Error("parseInt, Number.parseInt, window.parseInt are not supported")}function ln(r,e,t){let n=e===1/0;switch(t.infinity.toLowerCase()){case"null":return null;case"infinity":return e;case"string":return n?"Infinity":"-Infinity";default:return r}}function mt(r){return typeof r=="function"?r:Array.isArray(r)?e=>{for(let t of r)if(typeof t=="string"&&e===t||t instanceof RegExp&&t.test(e))return!0}:()=>!1}var ie=class{constructor(e,t={}){this.pattern=e,this.separator=t.separator||".",this.segments=this._parse(e),this._hasDeepWildcard=this.segments.some(n=>n.type==="deep-wildcard"),this._hasAttributeCondition=this.segments.some(n=>n.attrName!==void 0),this._hasPositionSelector=this.segments.some(n=>n.position!==void 0)}_parse(e){let t=[],n=0,s="";for(;n<e.length;)e[n]===this.separator?n+1<e.length&&e[n+1]===this.separator?(s.trim()&&(t.push(this._parseSegment(s.trim())),s=""),t.push({type:"deep-wildcard"}),n+=2):(s.trim()&&t.push(this._parseSegment(s.trim())),s="",n++):(s+=e[n],n++);return s.trim()&&t.push(this._parseSegment(s.trim())),t}_parseSegment(e){let t={type:"tag"},n=null,s=e,i=e.match(/^([^\[]+)(\[[^\]]*\])(.*)$/);if(i&&(s=i[1]+i[3],i[2])){let f=i[2].slice(1,-1);f&&(n=f)}let o,a=s;if(s.includes("::")){let f=s.indexOf("::");if(o=s.substring(0,f).trim(),a=s.substring(f+2).trim(),!o)throw new Error(`Invalid namespace in pattern: ${e}`)}let l,c=null;if(a.includes(":")){let f=a.lastIndexOf(":"),d=a.substring(0,f).trim(),u=a.substring(f+1).trim();["first","last","odd","even"].includes(u)||/^nth\(\d+\)$/.test(u)?(l=d,c=u):l=a}else l=a;if(!l)throw new Error(`Invalid segment pattern: ${e}`);if(t.tag=l,o&&(t.namespace=o),n)if(n.includes("=")){let f=n.indexOf("=");t.attrName=n.substring(0,f).trim(),t.attrValue=n.substring(f+1).trim()}else t.attrName=n.trim();if(c){let f=c.match(/^nth\((\d+)\)$/);f?(t.position="nth",t.positionValue=parseInt(f[1],10)):t.position=c}return t}get length(){return this.segments.length}hasDeepWildcard(){return this._hasDeepWildcard}hasAttributeCondition(){return this._hasAttributeCondition}hasPositionSelector(){return this._hasPositionSelector}toString(){return this.pattern}};var cn=new Set(["push","pop","reset","updateCurrent","restore"]),he=class{constructor(e={}){this.separator=e.separator||".",this.path=[],this.siblingStacks=[]}push(e,t=null,n=null){if(this.path.length>0){let f=this.path[this.path.length-1];f.values=void 0}let s=this.path.length;this.siblingStacks[s]||(this.siblingStacks[s]=new Map);let i=this.siblingStacks[s],o=n?`${n}:${e}`:e,a=i.get(o)||0,l=0;for(let f of i.values())l+=f;i.set(o,a+1);let c={tag:e,position:l,counter:a};n!=null&&(c.namespace=n),t!=null&&(c.values=t),this.path.push(c)}pop(){if(this.path.length===0)return;let e=this.path.pop();return this.siblingStacks.length>this.path.length+1&&(this.siblingStacks.length=this.path.length+1),e}updateCurrent(e){if(this.path.length>0){let t=this.path[this.path.length-1];e!=null&&(t.values=e)}}getCurrentTag(){return this.path.length>0?this.path[this.path.length-1].tag:void 0}getCurrentNamespace(){return this.path.length>0?this.path[this.path.length-1].namespace:void 0}getAttrValue(e){return this.path.length===0?void 0:this.path[this.path.length-1].values?.[e]}hasAttr(e){if(this.path.length===0)return!1;let t=this.path[this.path.length-1];return t.values!==void 0&&e in t.values}getPosition(){return this.path.length===0?-1:this.path[this.path.length-1].position??0}getCounter(){return this.path.length===0?-1:this.path[this.path.length-1].counter??0}getIndex(){return this.getPosition()}getDepth(){return this.path.length}toString(e,t=!0){let n=e||this.separator;return this.path.map(s=>t&&s.namespace?`${s.namespace}:${s.tag}`:s.tag).join(n)}toArray(){return this.path.map(e=>e.tag)}reset(){this.path=[],this.siblingStacks=[]}matches(e){let t=e.segments;return t.length===0?!1:e.hasDeepWildcard()?this._matchWithDeepWildcard(t):this._matchSimple(t)}_matchSimple(e){if(this.path.length!==e.length)return!1;for(let t=0;t<e.length;t++){let n=e[t],s=this.path[t],i=t===this.path.length-1;if(!this._matchSegment(n,s,i))return!1}return!0}_matchWithDeepWildcard(e){let t=this.path.length-1,n=e.length-1;for(;n>=0&&t>=0;){let s=e[n];if(s.type==="deep-wildcard"){if(n--,n<0)return!0;let i=e[n],o=!1;for(let a=t;a>=0;a--){let l=a===this.path.length-1;if(this._matchSegment(i,this.path[a],l)){t=a-1,n--,o=!0;break}}if(!o)return!1}else{let i=t===this.path.length-1;if(!this._matchSegment(s,this.path[t],i))return!1;t--,n--}}return n<0}_matchSegment(e,t,n){if(e.tag!=="*"&&e.tag!==t.tag||e.namespace!==void 0&&e.namespace!=="*"&&e.namespace!==t.namespace)return!1;if(e.attrName!==void 0){if(!n||!t.values||!(e.attrName in t.values))return!1;if(e.attrValue!==void 0){let s=t.values[e.attrName];if(String(s)!==String(e.attrValue))return!1}}if(e.position!==void 0){if(!n)return!1;let s=t.counter??0;if(e.position==="first"&&s!==0)return!1;if(e.position==="odd"&&s%2!==1)return!1;if(e.position==="even"&&s%2!==0)return!1;if(e.position==="nth"&&s!==e.positionValue)return!1}return!0}snapshot(){return{path:this.path.map(e=>({...e})),siblingStacks:this.siblingStacks.map(e=>new Map(e))}}restore(e){this.path=e.path.map(t=>({...t})),this.siblingStacks=e.siblingStacks.map(t=>new Map(t))}readOnly(){let e=this;return new Proxy(e,{get(t,n,s){if(cn.has(n))return()=>{throw new TypeError(`Cannot call '${n}' on a read-only Matcher. Obtain a writable instance to mutate state.`)};let i=Reflect.get(t,n,s);return n==="path"||n==="siblingStacks"?Object.freeze(Array.isArray(i)?i.map(o=>o instanceof Map?Object.freeze(new Map(o)):Object.freeze({...o})):i):typeof i=="function"?i.bind(t):i},set(t,n){throw new TypeError(`Cannot set property '${String(n)}' on a read-only Matcher.`)},deleteProperty(t,n){throw new TypeError(`Cannot delete property '${String(n)}' from a read-only Matcher.`)}})}};function fn(r,e){if(!r)return{};let t=e.attributesGroupName?r[e.attributesGroupName]:r;if(!t)return{};let n={};for(let s in t)if(s.startsWith(e.attributeNamePrefix)){let i=s.substring(e.attributeNamePrefix.length);n[i]=t[s]}else n[s]=t[s];return n}function dn(r){if(!r||typeof r!="string")return;let e=r.indexOf(":");if(e!==-1&&e>0){let t=r.substring(0,e);if(t!=="xmlns")return t}}var ze=class{constructor(e){if(this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\xA2"},pound:{regex:/&(pound|#163);/g,val:"\xA3"},yen:{regex:/&(yen|#165);/g,val:"\xA5"},euro:{regex:/&(euro|#8364);/g,val:"\u20AC"},copyright:{regex:/&(copy|#169);/g,val:"\xA9"},reg:{regex:/&(reg|#174);/g,val:"\xAE"},inr:{regex:/&(inr|#8377);/g,val:"\u20B9"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(t,n)=>tr(n,10,"&#")},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(t,n)=>tr(n,16,"&#x")}},this.addExternalEntities=hn,this.parseXml=gn,this.parseTextData=un,this.resolveNameSpace=pn,this.buildAttributesMap=bn,this.isItStopNode=An,this.replaceEntitiesValue=xn,this.readStopNodeData=In,this.saveTextToParentTag=wn,this.addChild=yn,this.ignoreAttributesFn=mt(this.options.ignoreAttributes),this.entityExpansionCount=0,this.currentExpandedLength=0,this.matcher=new he,this.readonlyMatcher=this.matcher.readOnly(),this.isCurrentNodeStopNode=!1,this.options.stopNodes&&this.options.stopNodes.length>0){this.stopNodeExpressions=[];for(let t=0;t<this.options.stopNodes.length;t++){let n=this.options.stopNodes[t];typeof n=="string"?this.stopNodeExpressions.push(new ie(n)):n instanceof ie&&this.stopNodeExpressions.push(n)}}}};function hn(r){let e=Object.keys(r);for(let t=0;t<e.length;t++){let n=e[t],s=n.replace(/[.\-+*:]/g,"\\.");this.lastEntities[n]={regex:new RegExp("&"+s+";","g"),val:r[n]}}}function un(r,e,t,n,s,i,o){if(r!==void 0&&(this.options.trimValues&&!n&&(r=r.trim()),r.length>0)){o||(r=this.replaceEntitiesValue(r,e,t));let a=this.options.jPath?t.toString():t,l=this.options.tagValueProcessor(e,r,a,s,i);return l==null?r:typeof l!=typeof r||l!==r?l:this.options.trimValues?yt(r,this.options.parseTagValue,this.options.numberParseOptions):r.trim()===r?yt(r,this.options.parseTagValue,this.options.numberParseOptions):r}}function pn(r){if(this.options.removeNSPrefix){let e=r.split(":"),t=r.charAt(0)==="/"?"/":"";if(e[0]==="xmlns")return"";e.length===2&&(r=t+e[1])}return r}var mn=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function bn(r,e,t){if(this.options.ignoreAttributes!==!0&&typeof r=="string"){let n=Qe(r,mn),s=n.length,i={},o={};for(let a=0;a<s;a++){let l=this.resolveNameSpace(n[a][1]),c=n[a][4];if(l.length&&c!==void 0){let f=c;this.options.trimValues&&(f=f.trim()),f=this.replaceEntitiesValue(f,t,this.readonlyMatcher),o[l]=f}}Object.keys(o).length>0&&typeof e=="object"&&e.updateCurrent&&e.updateCurrent(o);for(let a=0;a<s;a++){let l=this.resolveNameSpace(n[a][1]),c=this.options.jPath?e.toString():this.readonlyMatcher;if(this.ignoreAttributesFn(l,c))continue;let f=n[a][4],d=this.options.attributeNamePrefix+l;if(l.length)if(this.options.transformAttributeName&&(d=this.options.transformAttributeName(d)),d=rr(d,this.options),f!==void 0){this.options.trimValues&&(f=f.trim()),f=this.replaceEntitiesValue(f,t,this.readonlyMatcher);let u=this.options.jPath?e.toString():this.readonlyMatcher,h=this.options.attributeValueProcessor(l,f,u);h==null?i[d]=f:typeof h!=typeof f||h!==f?i[d]=h:i[d]=yt(f,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(i[d]=!0)}if(!Object.keys(i).length)return;if(this.options.attributesGroupName){let a={};return a[this.options.attributesGroupName]=i,a}return i}}var gn=function(r){r=r.replace(/\r\n?/g,`
5
+ `);let e=new ee("!xml"),t=e,n="";this.matcher.reset(),this.entityExpansionCount=0,this.currentExpandedLength=0;let s=new Re(this.options.processEntities);for(let i=0;i<r.length;i++)if(r[i]==="<")if(r[i+1]==="/"){let a=Ne(r,">",i,"Closing Tag is not closed."),l=r.substring(i+2,a).trim();if(this.options.removeNSPrefix){let f=l.indexOf(":");f!==-1&&(l=l.substr(f+1))}l=bt(this.options.transformTagName,l,"",this.options).tagName,t&&(n=this.saveTextToParentTag(n,t,this.readonlyMatcher));let c=this.matcher.getCurrentTag();if(l&&this.options.unpairedTags.indexOf(l)!==-1)throw new Error(`Unpaired tag can not be used as closing tag: </${l}>`);c&&this.options.unpairedTags.indexOf(c)!==-1&&(this.matcher.pop(),this.tagsNodeStack.pop()),this.matcher.pop(),this.isCurrentNodeStopNode=!1,t=this.tagsNodeStack.pop(),n="",i=a}else if(r[i+1]==="?"){let a=gt(r,i,!1,"?>");if(!a)throw new Error("Pi Tag is not closed.");if(n=this.saveTextToParentTag(n,t,this.readonlyMatcher),!(this.options.ignoreDeclaration&&a.tagName==="?xml"||this.options.ignorePiTags)){let l=new ee(a.tagName);l.add(this.options.textNodeName,""),a.tagName!==a.tagExp&&a.attrExpPresent&&(l[":@"]=this.buildAttributesMap(a.tagExp,this.matcher,a.tagName)),this.addChild(t,l,this.readonlyMatcher,i)}i=a.closeIndex+1}else if(r.substr(i+1,3)==="!--"){let a=Ne(r,"-->",i+4,"Comment is not closed.");if(this.options.commentPropName){let l=r.substring(i+4,a-2);n=this.saveTextToParentTag(n,t,this.readonlyMatcher),t.add(this.options.commentPropName,[{[this.options.textNodeName]:l}])}i=a}else if(r.substr(i+1,2)==="!D"){let a=s.readDocType(r,i);this.docTypeEntities=a.entities,i=a.i}else if(r.substr(i+1,2)==="!["){let a=Ne(r,"]]>",i,"CDATA is not closed.")-2,l=r.substring(i+9,a);n=this.saveTextToParentTag(n,t,this.readonlyMatcher);let c=this.parseTextData(l,t.tagname,this.readonlyMatcher,!0,!1,!0,!0);c==null&&(c=""),this.options.cdataPropName?t.add(this.options.cdataPropName,[{[this.options.textNodeName]:l}]):t.add(this.options.textNodeName,c),i=a+2}else{let a=gt(r,i,this.options.removeNSPrefix);if(!a){let m=r.substring(Math.max(0,i-50),Math.min(r.length,i+50));throw new Error(`readTagExp returned undefined at position ${i}. Context: "${m}"`)}let l=a.tagName,c=a.rawTagName,f=a.tagExp,d=a.attrExpPresent,u=a.closeIndex;if({tagName:l,tagExp:f}=bt(this.options.transformTagName,l,f,this.options),this.options.strictReservedNames&&(l===this.options.commentPropName||l===this.options.cdataPropName||l===this.options.textNodeName||l===this.options.attributesGroupName))throw new Error(`Invalid tag name: ${l}`);t&&n&&t.tagname!=="!xml"&&(n=this.saveTextToParentTag(n,t,this.readonlyMatcher,!1));let h=t;h&&this.options.unpairedTags.indexOf(h.tagname)!==-1&&(t=this.tagsNodeStack.pop(),this.matcher.pop());let y=!1;f.length>0&&f.lastIndexOf("/")===f.length-1&&(y=!0,l[l.length-1]==="/"?(l=l.substr(0,l.length-1),f=l):f=f.substr(0,f.length-1),d=l!==f);let w=null,N={},x;x=dn(c),l!==e.tagname&&this.matcher.push(l,{},x),l!==f&&d&&(w=this.buildAttributesMap(f,this.matcher,l),w&&(N=fn(w,this.options))),l!==e.tagname&&(this.isCurrentNodeStopNode=this.isItStopNode(this.stopNodeExpressions,this.matcher));let v=i;if(this.isCurrentNodeStopNode){let m="";if(y)i=a.closeIndex;else if(this.options.unpairedTags.indexOf(l)!==-1)i=a.closeIndex;else{let P=this.readStopNodeData(r,c,u+1);if(!P)throw new Error(`Unexpected end of ${c}`);i=P.i,m=P.tagContent}let b=new ee(l);w&&(b[":@"]=w),b.add(this.options.textNodeName,m),this.matcher.pop(),this.isCurrentNodeStopNode=!1,this.addChild(t,b,this.readonlyMatcher,v)}else{if(y){({tagName:l,tagExp:f}=bt(this.options.transformTagName,l,f,this.options));let m=new ee(l);w&&(m[":@"]=w),this.addChild(t,m,this.readonlyMatcher,v),this.matcher.pop(),this.isCurrentNodeStopNode=!1}else if(this.options.unpairedTags.indexOf(l)!==-1){let m=new ee(l);w&&(m[":@"]=w),this.addChild(t,m,this.readonlyMatcher,v),this.matcher.pop(),this.isCurrentNodeStopNode=!1,i=a.closeIndex;continue}else{let m=new ee(l);if(this.tagsNodeStack.length>this.options.maxNestedTags)throw new Error("Maximum nested tags exceeded");this.tagsNodeStack.push(t),w&&(m[":@"]=w),this.addChild(t,m,this.readonlyMatcher,v),t=m}n="",i=u}}else n+=r[i];return e.child};function yn(r,e,t,n){this.options.captureMetaData||(n=void 0);let s=this.options.jPath?t.toString():t,i=this.options.updateTag(e.tagname,s,e[":@"]);i===!1||(typeof i=="string"&&(e.tagname=i),r.addChild(e,n))}function xn(r,e,t){let n=this.options.processEntities;if(!n||!n.enabled)return r;if(n.allowedTags){let s=this.options.jPath?t.toString():t;if(!(Array.isArray(n.allowedTags)?n.allowedTags.includes(e):n.allowedTags(e,s)))return r}if(n.tagFilter){let s=this.options.jPath?t.toString():t;if(!n.tagFilter(e,s))return r}for(let s of Object.keys(this.docTypeEntities)){let i=this.docTypeEntities[s],o=r.match(i.regx);if(o){if(this.entityExpansionCount+=o.length,n.maxTotalExpansions&&this.entityExpansionCount>n.maxTotalExpansions)throw new Error(`Entity expansion limit exceeded: ${this.entityExpansionCount} > ${n.maxTotalExpansions}`);let a=r.length;if(r=r.replace(i.regx,i.val),n.maxExpandedLength&&(this.currentExpandedLength+=r.length-a,this.currentExpandedLength>n.maxExpandedLength))throw new Error(`Total expanded content size exceeded: ${this.currentExpandedLength} > ${n.maxExpandedLength}`)}}for(let s of Object.keys(this.lastEntities)){let i=this.lastEntities[s],o=r.match(i.regex);if(o&&(this.entityExpansionCount+=o.length,n.maxTotalExpansions&&this.entityExpansionCount>n.maxTotalExpansions))throw new Error(`Entity expansion limit exceeded: ${this.entityExpansionCount} > ${n.maxTotalExpansions}`);r=r.replace(i.regex,i.val)}if(r.indexOf("&")===-1)return r;if(this.options.htmlEntities)for(let s of Object.keys(this.htmlEntities)){let i=this.htmlEntities[s],o=r.match(i.regex);if(o&&(this.entityExpansionCount+=o.length,n.maxTotalExpansions&&this.entityExpansionCount>n.maxTotalExpansions))throw new Error(`Entity expansion limit exceeded: ${this.entityExpansionCount} > ${n.maxTotalExpansions}`);r=r.replace(i.regex,i.val)}return r=r.replace(this.ampEntity.regex,this.ampEntity.val),r}function wn(r,e,t,n){return r&&(n===void 0&&(n=e.child.length===0),r=this.parseTextData(r,e.tagname,t,!1,e[":@"]?Object.keys(e[":@"]).length!==0:!1,n),r!==void 0&&r!==""&&e.add(this.options.textNodeName,r),r=""),r}function An(r,e){if(!r||r.length===0)return!1;for(let t=0;t<r.length;t++)if(e.matches(r[t]))return!0;return!1}function vn(r,e,t=">"){let n,s="";for(let i=e;i<r.length;i++){let o=r[i];if(n)o===n&&(n="");else if(o==='"'||o==="'")n=o;else if(o===t[0])if(t[1]){if(r[i+1]===t[1])return{data:s,index:i}}else return{data:s,index:i};else o===" "&&(o=" ");s+=o}}function Ne(r,e,t,n){let s=r.indexOf(e,t);if(s===-1)throw new Error(n);return s+e.length-1}function gt(r,e,t,n=">"){let s=vn(r,e+1,n);if(!s)return;let i=s.data,o=s.index,a=i.search(/\s/),l=i,c=!0;a!==-1&&(l=i.substring(0,a),i=i.substring(a+1).trimStart());let f=l;if(t){let d=l.indexOf(":");d!==-1&&(l=l.substr(d+1),c=l!==s.data.substr(d+1))}return{tagName:l,tagExp:i,closeIndex:o,attrExpPresent:c,rawTagName:f}}function In(r,e,t){let n=t,s=1;for(;t<r.length;t++)if(r[t]==="<")if(r[t+1]==="/"){let i=Ne(r,">",t,`${e} is not closed`);if(r.substring(t+2,i).trim()===e&&(s--,s===0))return{tagContent:r.substring(n,t),i};t=i}else if(r[t+1]==="?")t=Ne(r,"?>",t+1,"StopNode is not closed.");else if(r.substr(t+1,3)==="!--")t=Ne(r,"-->",t+3,"StopNode is not closed.");else if(r.substr(t+1,2)==="![")t=Ne(r,"]]>",t,"StopNode is not closed.")-2;else{let i=gt(r,t,">");i&&((i&&i.tagName)===e&&i.tagExp[i.tagExp.length-1]!=="/"&&s++,t=i.closeIndex)}}function yt(r,e,t){if(e&&typeof r=="string"){let n=r.trim();return n==="true"?!0:n==="false"?!1:pt(r,t)}else return Ht(r)?r:""}function tr(r,e,t){let n=Number.parseInt(r,e);return n>=0&&n<=1114111?String.fromCodePoint(n):t+r+";"}function bt(r,e,t,n){if(r){let s=r(e);t===e&&(t=s),e=s}return e=rr(e,n),{tagName:e,tagExp:t}}function rr(r,e){if(qe.includes(r))throw new Error(`[SECURITY] Invalid name: "${r}" is a reserved JavaScript keyword that could cause prototype pollution`);return _e.includes(r)?e.onDangerousProperty(r):r}var xt=ee.getMetaDataSymbol();function Nn(r,e){if(!r||typeof r!="object")return{};if(!e)return r;let t={};for(let n in r)if(n.startsWith(e)){let s=n.substring(e.length);t[s]=r[n]}else t[n]=r[n];return t}function wt(r,e,t,n){return nr(r,e,t,n)}function nr(r,e,t,n){let s,i={};for(let o=0;o<r.length;o++){let a=r[o],l=Cn(a);if(l!==void 0&&l!==e.textNodeName){let c=Nn(a[":@"]||{},e.attributeNamePrefix);t.push(l,c)}if(l===e.textNodeName)s===void 0?s=a[l]:s+=""+a[l];else{if(l===void 0)continue;if(a[l]){let c=nr(a[l],e,t,n),f=Pn(c,e);if(a[":@"]?Zn(c,a[":@"],n,e):Object.keys(c).length===1&&c[e.textNodeName]!==void 0&&!e.alwaysCreateTextNode?c=c[e.textNodeName]:Object.keys(c).length===0&&(e.alwaysCreateTextNode?c[e.textNodeName]="":c=""),a[xt]!==void 0&&typeof c=="object"&&c!==null&&(c[xt]=a[xt]),i[l]!==void 0&&Object.prototype.hasOwnProperty.call(i,l))Array.isArray(i[l])||(i[l]=[i[l]]),i[l].push(c);else{let d=e.jPath?n.toString():n;e.isArray(l,d,f)?i[l]=[c]:i[l]=c}l!==void 0&&l!==e.textNodeName&&t.pop()}}}return typeof s=="string"?s.length>0&&(i[e.textNodeName]=s):s!==void 0&&(i[e.textNodeName]=s),i}function Cn(r){let e=Object.keys(r);for(let t=0;t<e.length;t++){let n=e[t];if(n!==":@")return n}}function Zn(r,e,t,n){if(e){let s=Object.keys(e),i=s.length;for(let o=0;o<i;o++){let a=s[o],l=a.startsWith(n.attributeNamePrefix)?a.substring(n.attributeNamePrefix.length):a,c=n.jPath?t.toString()+"."+l:t;n.isArray(a,c,!0,!0)?r[a]=[e[a]]:r[a]=e[a]}}}function Pn(r,e){let{textNodeName:t}=e,n=Object.keys(r).length;return!!(n===0||n===1&&(r[t]||typeof r[t]=="boolean"||r[t]===0))}var ye=class{constructor(e){this.externalEntities={},this.options=er(e)}parse(e,t){if(typeof e!="string"&&e.toString)e=e.toString();else if(typeof e!="string")throw new Error("XML data is accepted in String or Bytes[] form.");if(t){t===!0&&(t={});let i=Qt(e,t);if(i!==!0)throw Error(`${i.err.msg}:${i.err.line}:${i.err.col}`)}let n=new ze(this.options);n.addExternalEntities(this.externalEntities);let s=n.parseXml(e);return this.options.preserveOrder||s===void 0?s:wt(s,this.options,n.matcher,n.readonlyMatcher)}addEntity(e,t){if(t.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(e.indexOf("&")!==-1||e.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if(t==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[e]=t}static getMetaDataSymbol(){return ee.getMetaDataSymbol()}};var Sn=`
6
+ `;function vt(r,e){let t="";e.format&&e.indentBy.length>0&&(t=Sn);let n=[];if(e.stopNodes&&Array.isArray(e.stopNodes))for(let i=0;i<e.stopNodes.length;i++){let o=e.stopNodes[i];typeof o=="string"?n.push(new ie(o)):o instanceof ie&&n.push(o)}let s=new he;return sr(r,e,t,s,n)}function sr(r,e,t,n,s){let i="",o=!1;if(e.maxNestedTags&&n.getDepth()>e.maxNestedTags)throw new Error("Maximum nested tags exceeded");if(!Array.isArray(r)){if(r!=null){let a=r.toString();return a=At(a,e),a}return""}for(let a=0;a<r.length;a++){let l=r[a],c=or(l);if(c===void 0)continue;let f=$n(l[":@"],e);n.push(c,f);let d=Mn(n,s);if(c===e.textNodeName){let N=l[c];d||(N=e.tagValueProcessor(c,N),N=At(N,e)),o&&(i+=t),i+=N,o=!1,n.pop();continue}else if(c===e.cdataPropName){o&&(i+=t),i+=`<![CDATA[${l[c][0][e.textNodeName]}]]>`,o=!1,n.pop();continue}else if(c===e.commentPropName){i+=t+`<!--${l[c][0][e.textNodeName]}-->`,o=!0,n.pop();continue}else if(c[0]==="?"){let N=ir(l[":@"],e,d),x=c==="?xml"?"":t,v=l[c][0][e.textNodeName];v=v.length!==0?" "+v:"",i+=x+`<${c}${v}${N}?>`,o=!0,n.pop();continue}let u=t;u!==""&&(u+=e.indentBy);let h=ir(l[":@"],e,d),y=t+`<${c}${h}`,w;d?w=ar(l[c],e):w=sr(l[c],e,u,n,s),e.unpairedTags.indexOf(c)!==-1?e.suppressUnpairedNode?i+=y+">":i+=y+"/>":(!w||w.length===0)&&e.suppressEmptyNode?i+=y+"/>":w&&w.endsWith(">")?i+=y+`>${w}${t}</${c}>`:(i+=y+">",w&&t!==""&&(w.includes("/>")||w.includes("</"))?i+=t+e.indentBy+w+t:i+=w,i+=`</${c}>`),o=!0,n.pop()}return i}function $n(r,e){if(!r||e.ignoreAttributes)return null;let t={},n=!1;for(let s in r){if(!Object.prototype.hasOwnProperty.call(r,s))continue;let i=s.startsWith(e.attributeNamePrefix)?s.substr(e.attributeNamePrefix.length):s;t[i]=r[s],n=!0}return n?t:null}function ar(r,e){if(!Array.isArray(r))return r!=null?r.toString():"";let t="";for(let n=0;n<r.length;n++){let s=r[n],i=or(s);if(i===e.textNodeName)t+=s[i];else if(i===e.cdataPropName)t+=s[i][0][e.textNodeName];else if(i===e.commentPropName)t+=s[i][0][e.textNodeName];else{if(i&&i[0]==="?")continue;if(i){let o=Tn(s[":@"],e),a=ar(s[i],e);!a||a.length===0?t+=`<${i}${o}/>`:t+=`<${i}${o}>${a}</${i}>`}}}return t}function Tn(r,e){let t="";if(r&&!e.ignoreAttributes)for(let n in r){if(!Object.prototype.hasOwnProperty.call(r,n))continue;let s=r[n];s===!0&&e.suppressBooleanAttributes?t+=` ${n.substr(e.attributeNamePrefix.length)}`:t+=` ${n.substr(e.attributeNamePrefix.length)}="${s}"`}return t}function or(r){let e=Object.keys(r);for(let t=0;t<e.length;t++){let n=e[t];if(Object.prototype.hasOwnProperty.call(r,n)&&n!==":@")return n}}function ir(r,e,t){let n="";if(r&&!e.ignoreAttributes)for(let s in r){if(!Object.prototype.hasOwnProperty.call(r,s))continue;let i;t?i=r[s]:(i=e.attributeValueProcessor(s,r[s]),i=At(i,e)),i===!0&&e.suppressBooleanAttributes?n+=` ${s.substr(e.attributeNamePrefix.length)}`:n+=` ${s.substr(e.attributeNamePrefix.length)}="${i}"`}return n}function Mn(r,e){if(!e||e.length===0)return!1;for(let t=0;t<e.length;t++)if(r.matches(e[t]))return!0;return!1}function At(r,e){if(r&&r.length>0&&e.processEntities)for(let t=0;t<e.entities.length;t++){let n=e.entities[t];r=r.replace(n.regex,n.val)}return r}function It(r){return typeof r=="function"?r:Array.isArray(r)?e=>{for(let t of r)if(typeof t=="string"&&e===t||t instanceof RegExp&&t.test(e))return!0}:()=>!1}var Fn={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(r,e){return e},attributeValueProcessor:function(r,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1,maxNestedTags:100,jPath:!0};function re(r){if(this.options=Object.assign({},Fn,r),this.options.stopNodes&&Array.isArray(this.options.stopNodes)&&(this.options.stopNodes=this.options.stopNodes.map(e=>typeof e=="string"&&e.startsWith("*.")?".."+e.substring(2):e)),this.stopNodeExpressions=[],this.options.stopNodes&&Array.isArray(this.options.stopNodes))for(let e=0;e<this.options.stopNodes.length;e++){let t=this.options.stopNodes[e];typeof t=="string"?this.stopNodeExpressions.push(new ie(t)):t instanceof ie&&this.stopNodeExpressions.push(t)}this.options.ignoreAttributes===!0||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn=It(this.options.ignoreAttributes),this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=En),this.processTextOrObjNode=Wn,this.options.format?(this.indentate=_n,this.tagEndChar=`>
7
+ `,this.newLine=`
8
+ `):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}re.prototype.build=function(r){if(this.options.preserveOrder)return vt(r,this.options);{Array.isArray(r)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(r={[this.options.arrayNodeName]:r});let e=new he;return this.j2x(r,0,e).val}};re.prototype.j2x=function(r,e,t){let n="",s="";if(this.options.maxNestedTags&&t.getDepth()>=this.options.maxNestedTags)throw new Error("Maximum nested tags exceeded");let i=this.options.jPath?t.toString():t,o=this.checkStopNode(t);for(let a in r)if(Object.prototype.hasOwnProperty.call(r,a))if(typeof r[a]>"u")this.isAttribute(a)&&(s+="");else if(r[a]===null)this.isAttribute(a)||a===this.options.cdataPropName?s+="":a[0]==="?"?s+=this.indentate(e)+"<"+a+"?"+this.tagEndChar:s+=this.indentate(e)+"<"+a+"/"+this.tagEndChar;else if(r[a]instanceof Date)s+=this.buildTextValNode(r[a],a,"",e,t);else if(typeof r[a]!="object"){let l=this.isAttribute(a);if(l&&!this.ignoreAttributesFn(l,i))n+=this.buildAttrPairStr(l,""+r[a],o);else if(!l)if(a===this.options.textNodeName){let c=this.options.tagValueProcessor(a,""+r[a]);s+=this.replaceEntitiesValue(c)}else{t.push(a);let c=this.checkStopNode(t);if(t.pop(),c){let f=""+r[a];f===""?s+=this.indentate(e)+"<"+a+this.closeTag(a)+this.tagEndChar:s+=this.indentate(e)+"<"+a+">"+f+"</"+a+this.tagEndChar}else s+=this.buildTextValNode(r[a],a,"",e,t)}}else if(Array.isArray(r[a])){let l=r[a].length,c="",f="";for(let d=0;d<l;d++){let u=r[a][d];if(!(typeof u>"u"))if(u===null)a[0]==="?"?s+=this.indentate(e)+"<"+a+"?"+this.tagEndChar:s+=this.indentate(e)+"<"+a+"/"+this.tagEndChar;else if(typeof u=="object")if(this.options.oneListGroup){t.push(a);let h=this.j2x(u,e+1,t);t.pop(),c+=h.val,this.options.attributesGroupName&&u.hasOwnProperty(this.options.attributesGroupName)&&(f+=h.attrStr)}else c+=this.processTextOrObjNode(u,a,e,t);else if(this.options.oneListGroup){let h=this.options.tagValueProcessor(a,u);h=this.replaceEntitiesValue(h),c+=h}else{t.push(a);let h=this.checkStopNode(t);if(t.pop(),h){let y=""+u;y===""?c+=this.indentate(e)+"<"+a+this.closeTag(a)+this.tagEndChar:c+=this.indentate(e)+"<"+a+">"+y+"</"+a+this.tagEndChar}else c+=this.buildTextValNode(u,a,"",e,t)}}this.options.oneListGroup&&(c=this.buildObjectNode(c,a,f,e)),s+=c}else if(this.options.attributesGroupName&&a===this.options.attributesGroupName){let l=Object.keys(r[a]),c=l.length;for(let f=0;f<c;f++)n+=this.buildAttrPairStr(l[f],""+r[a][l[f]],o)}else s+=this.processTextOrObjNode(r[a],a,e,t);return{attrStr:n,val:s}};re.prototype.buildAttrPairStr=function(r,e,t){return t||(e=this.options.attributeValueProcessor(r,""+e),e=this.replaceEntitiesValue(e)),this.options.suppressBooleanAttributes&&e==="true"?" "+r:" "+r+'="'+e+'"'};function Wn(r,e,t,n){let s=this.extractAttributes(r);if(n.push(e,s),this.checkStopNode(n)){let a=this.buildRawContent(r),l=this.buildAttributesForStopNode(r);return n.pop(),this.buildObjectNode(a,e,l,t)}let o=this.j2x(r,t+1,n);return n.pop(),r[this.options.textNodeName]!==void 0&&Object.keys(r).length===1?this.buildTextValNode(r[this.options.textNodeName],e,o.attrStr,t,n):this.buildObjectNode(o.val,e,o.attrStr,t)}re.prototype.extractAttributes=function(r){if(!r||typeof r!="object")return null;let e={},t=!1;if(this.options.attributesGroupName&&r[this.options.attributesGroupName]){let n=r[this.options.attributesGroupName];for(let s in n){if(!Object.prototype.hasOwnProperty.call(n,s))continue;let i=s.startsWith(this.options.attributeNamePrefix)?s.substring(this.options.attributeNamePrefix.length):s;e[i]=n[s],t=!0}}else for(let n in r){if(!Object.prototype.hasOwnProperty.call(r,n))continue;let s=this.isAttribute(n);s&&(e[s]=r[n],t=!0)}return t?e:null};re.prototype.buildRawContent=function(r){if(typeof r=="string")return r;if(typeof r!="object"||r===null)return String(r);if(r[this.options.textNodeName]!==void 0)return r[this.options.textNodeName];let e="";for(let t in r){if(!Object.prototype.hasOwnProperty.call(r,t)||this.isAttribute(t)||this.options.attributesGroupName&&t===this.options.attributesGroupName)continue;let n=r[t];if(t===this.options.textNodeName)e+=n;else if(Array.isArray(n)){for(let s of n)if(typeof s=="string"||typeof s=="number")e+=`<${t}>${s}</${t}>`;else if(typeof s=="object"&&s!==null){let i=this.buildRawContent(s),o=this.buildAttributesForStopNode(s);i===""?e+=`<${t}${o}/>`:e+=`<${t}${o}>${i}</${t}>`}}else if(typeof n=="object"&&n!==null){let s=this.buildRawContent(n),i=this.buildAttributesForStopNode(n);s===""?e+=`<${t}${i}/>`:e+=`<${t}${i}>${s}</${t}>`}else e+=`<${t}>${n}</${t}>`}return e};re.prototype.buildAttributesForStopNode=function(r){if(!r||typeof r!="object")return"";let e="";if(this.options.attributesGroupName&&r[this.options.attributesGroupName]){let t=r[this.options.attributesGroupName];for(let n in t){if(!Object.prototype.hasOwnProperty.call(t,n))continue;let s=n.startsWith(this.options.attributeNamePrefix)?n.substring(this.options.attributeNamePrefix.length):n,i=t[n];i===!0&&this.options.suppressBooleanAttributes?e+=" "+s:e+=" "+s+'="'+i+'"'}}else for(let t in r){if(!Object.prototype.hasOwnProperty.call(r,t))continue;let n=this.isAttribute(t);if(n){let s=r[t];s===!0&&this.options.suppressBooleanAttributes?e+=" "+n:e+=" "+n+'="'+s+'"'}}return e};re.prototype.buildObjectNode=function(r,e,t,n){if(r==="")return e[0]==="?"?this.indentate(n)+"<"+e+t+"?"+this.tagEndChar:this.indentate(n)+"<"+e+t+this.closeTag(e)+this.tagEndChar;{let s="</"+e+this.tagEndChar,i="";return e[0]==="?"&&(i="?",s=""),(t||t==="")&&r.indexOf("<")===-1?this.indentate(n)+"<"+e+t+i+">"+r+s:this.options.commentPropName!==!1&&e===this.options.commentPropName&&i.length===0?this.indentate(n)+`<!--${r}-->`+this.newLine:this.indentate(n)+"<"+e+t+i+this.tagEndChar+r+this.indentate(n)+s}};re.prototype.closeTag=function(r){let e="";return this.options.unpairedTags.indexOf(r)!==-1?this.options.suppressUnpairedNode||(e="/"):this.options.suppressEmptyNode?e="/":e=`></${r}`,e};re.prototype.checkStopNode=function(r){if(!this.stopNodeExpressions||this.stopNodeExpressions.length===0)return!1;for(let e=0;e<this.stopNodeExpressions.length;e++)if(r.matches(this.stopNodeExpressions[e]))return!0;return!1};re.prototype.buildTextValNode=function(r,e,t,n,s){if(this.options.cdataPropName!==!1&&e===this.options.cdataPropName)return this.indentate(n)+`<![CDATA[${r}]]>`+this.newLine;if(this.options.commentPropName!==!1&&e===this.options.commentPropName)return this.indentate(n)+`<!--${r}-->`+this.newLine;if(e[0]==="?")return this.indentate(n)+"<"+e+t+"?"+this.tagEndChar;{let i=this.options.tagValueProcessor(e,r);return i=this.replaceEntitiesValue(i),i===""?this.indentate(n)+"<"+e+t+this.closeTag(e)+this.tagEndChar:this.indentate(n)+"<"+e+t+">"+i+"</"+e+this.tagEndChar}};re.prototype.replaceEntitiesValue=function(r){if(r&&r.length>0&&this.options.processEntities)for(let e=0;e<this.options.entities.length;e++){let t=this.options.entities[e];r=r.replace(t.regex,t.val)}return r};function _n(r){return this.options.indentBy.repeat(r)}function En(r){return r.startsWith(this.options.attributeNamePrefix)&&r!==this.options.textNodeName?r.substr(this.attrPrefixLen):!1}var Nt=re;var ce=new ye({attributesGroupName:"$attributes",ignoreAttributes:!1,parseAttributeValue:!0,attributeNamePrefix:"",removeNSPrefix:!0,textNodeName:"$text",cdataPropName:"$cdata",parseTagValue:!1,alwaysCreateTextNode:!0});function xe(r){return Array.isArray(r)?r:r===void 0?[]:[r]}function O(r,e){for(let t of xe(r))if(e(t)===!1)break}function pe(r,e){let t=[];for(let n of xe(r))t.push(e(n));return t}function Oe(r){return xe(r)[0]}var Se=class{strings=[];reverse={};FromXML(e){this.strings=[],this.reverse={};let t=0;O(e.si,n=>{if(n.t!==void 0){let s="";typeof n.t=="string"?s=n.t:n.t.$text&&(s=n.t.$text),this.strings[t]=s,this.reverse[s]=t}else if(n.r){let s=xe(n.r)[0];if(s){let o=xe(s.t).map(a=>a.$text||"").join("");this.strings[t]=o,this.reverse[o]=t}}else console.warn(` ** unexpected shared string @ ${t}`),console.info(n);t++})}Get(e){return this.strings[e]}Ensure(e){e[0]==="'"&&(e=e.substring(1));let t=this.reverse[e];return typeof t=="number"||(t=this.strings.length,this.strings.push(e),this.reverse[e]=t),t}};var we=class r{static color_map=["lt1","dk1","lt2","dk2","accent1","accent2","accent3","accent4","accent5","accent6","hlink","folHlink"];colors={};FromXML(e){let t=e.themeElements.clrScheme;for(let n of r.color_map){let s=t[n];s.srgbClr?this.colors[n]={name:n,value:s.srgbClr.$attributes?.val||"",type:"rgb"}:s.sysClr&&(this.colors[n]={name:n,value:s.sysClr.$attributes?.lastClr||"",type:"system"})}}};var Gn={"&lt;":"<","&gt;":">","&amp;":"&","&quot;":'"',"&apos;":"'"},Rn=/&\w+;/g,zn=r=>r.replace(Rn,e=>Gn[e]||e);var et=zn;var lr=11,Ct={top:{},left:{},bottom:{},right:{},diagonal:{}},$e=class r{static default_styles={0:"General",1:"0",2:"0.00",3:"#,##0",4:"#,##0.00",9:"0%",10:"0.00%",11:"0.00E+00",12:"# ?/?",13:"# ??/??",14:"mm-dd-yy",15:"d-mmm-yy",16:"d-mmm",17:"mmm-yy",18:"h:mm AM/PM",19:"h:mm:ss AM/PM",20:"h:mm",21:"h:mm:ss",22:"m/d/yy h:mm",37:"#,##0 ;(#,##0)",38:"#,##0 ;[Red](#,##0)",39:"#,##0.00;(#,##0.00)",40:"#,##0.00;[Red](#,##0.00)",45:"mm:ss",46:"[h]:mm:ss",47:"mmss.0",48:"##0.0E+0",49:"@"};theme=new we;cell_xfs=[];fonts=[];borders=[];fills=[];number_formats=[];base_number_format_id=200;dxf_styles=[];modified=!1;Clamp(e,t,n){return Math.max(t,Math.min(e,n))}TintColor(e,t){let n=parseInt(e.substr(0,2),16),s=parseInt(e.substr(2,2),16),i=parseInt(e.substr(4,2),16);return t<0?(n=Math.round(n*t+n),s=Math.round(s*t+s),i=Math.round(i*t+i)):(n=Math.round((255-n)*t+n),s=Math.round((255-s)*t+s),i=Math.round((255-i)*t+i)),[n,s,i].map(o=>{let a=this.Clamp(o,0,255).toString(16);return a.length<2?"0"+a:a}).join("")}StyleOptionsFromProperties(e){let t=JSON.parse(JSON.stringify(e));for(let c of Object.keys(t))t[c]==="none"&&delete t[c];let n={},s={pattern_type:"none"},i=JSON.parse(JSON.stringify(Ct)),o={font:n,border:i};t.number_format&&(o.number_format={format:Yt.Translate(t.number_format),symbolic_name:t.number_format},/Scientific/i.test(t.number_format)&&(o.number_format.format="0.00E+00")),t.font_size?.unit&&t.font_size.value&&(t.font_size.unit==="em"?n.size=t.font_size.value*lr:t.font_size.unit==="%"?n.size=t.font_size.value*lr/100:t.font_size.unit==="pt"?n.size=t.font_size.value:t.font_size.unit==="px"?n.size=t.font_size.value*.75:console.warn("Unhandled font size unit",t.font_size)),t.bold&&(n.bold=!0),t.italic&&(n.italic=!0),t.underline&&(n.underline=!0),t.text&&(be(t.text)?n.color_argb=t.text.text:ge(t.text)&&(n.color_theme=Ce(t.text),t.text.tint&&(n.color_tint=t.text.tint)));let a=(c,f)=>{c.width&&(f.style="thin",be(c.color)?f.rgba=c.color.text:ge(c.color)?(f.theme=Ce(c.color),c.color.tint&&(f.tint=c.color.tint)):f.color=64)},l=Ze.CompositeBorders(t);switch(a(l.top,i.top),a(l.left,i.left),a(l.right,i.right),a(l.bottom,i.bottom),t.vertical_align){case"top":o.vertical_alignment="top";break;case"middle":o.vertical_alignment="center";break}switch(t.horizontal_align){case"center":o.horizontal_alignment="center";break;case"left":o.horizontal_alignment="left";break;case"right":o.horizontal_alignment="right";break}return o.indent=t.indent,t.fill&&(s.pattern_type="solid",be(t.fill)?(s.fg_color={argb:t.fill.text},o.fill=s):ge(t.fill)&&(s.fg_color={theme:Ce(t.fill)},t.fill.tint&&(s.fg_color.tint=t.fill.tint),o.fill=s)),t.wrap&&(o.wrap=!0),o}CellXfToStyle(e){let t={},n=r.default_styles[e.number_format];if(!n){for(let c of this.number_formats)if(c.id===e.number_format&&c.format){n=c.format;break}}if(n){let c=/\[\$(.)-[0-9A-Za-z]{1,4}\]/g;n=n.replace(c,"$1");let f=/\[\$-[0-9A-Za-z]{1,4}\]/g;n=n.replace(f,""),t.number_format=n}let s=this.fonts[0],i=this.fonts[e.font||0];i&&(i.bold&&(t.bold=!0),i.italic&&(t.italic=!0),i.underline&&(t.underline=!0),i.strike&&(t.strike=!0),s&&s.size&&i.size&&s.size!==i.size&&(t.font_size={value:100*i.size/s.size,unit:"%"}),i.color_argb?t.text={text:"#"+(i.color_argb.length>6?i.color_argb.substr(i.color_argb.length-6):i.color_argb)}:typeof i.color_theme=="number"&&(t.text={theme:i.color_theme}));let o=this.fills[e.fill||0];if(o&&o.pattern_type!=="none"){if(o.pattern_type==="gray"){let c=Math.round((o.pattern_gray||0)/1e3*255);t.fill={text:`rgb(${c}, ${c}, ${c})`}}o.pattern_type==="solid"&&o.fg_color&&(o.fg_color.argb?t.fill={text:"#"+(o.fg_color.argb.length>6?o.fg_color.argb.substr(o.fg_color.argb.length-6):o.fg_color.argb)}:typeof o.fg_color.theme=="number"&&(t.fill={theme:o.fg_color.theme},o.fg_color.tint&&(t.fill.tint=Math.round(o.fg_color.tint*1e3)/1e3)))}switch(e.horizontal_alignment){case"center":t.horizontal_align="center";break;case"right":t.horizontal_align="right";break;case"left":t.horizontal_align="left";break}switch(e.vertical_alignment){case"center":t.vertical_align="middle";break;case"top":t.vertical_align="top";break;case"bottom":t.vertical_align="bottom";break}t.indent=typeof e.indent=="string"?Number(e.indent):e.indent,e.wrap_text&&(t.wrap=!0);let a=c=>{if(typeof c.theme<"u")return{theme:c.theme,tint:c.tint}},l=this.borders[e.border||0];return l&&(l.bottom.style&&(l.bottom.style==="double"?t.border_bottom=2:t.border_bottom=1,t.border_bottom_fill=a(l.bottom)),l.left.style&&(t.border_left=1,t.border_left_fill=a(l.left)),l.top.style&&(t.border_top=1,t.border_top_fill=a(l.top)),l.right.style&&(t.border_right=1,t.border_right_fill=a(l.right))),t}CellXfToStyles(){return this.cell_xfs.map(e=>this.CellXfToStyle(e))}EnsureNumberFormat(e){if(typeof e.format>"u"||e.symbolic_name&&/^general$/i.test(e.symbolic_name))return 0;for(let n=0;n<100;n++){let s=r.default_styles[n];if(s&&s===e.format)return n}for(let n of this.number_formats)if(n.format===e.format)return n.id||0;this.modified=!0;let t={id:this.base_number_format_id++,format:e.format};return this.number_formats.push(t),t.id}CompareBorderEdge(e,t){return e.color===t.color&&e.rgba===t.rgba&&e.style===t.style&&e.theme===t.theme&&e.tint===t.tint}CompareBorder(e,t){return this.CompareBorderEdge(e.top,t.top)&&this.CompareBorderEdge(e.left,t.left)&&this.CompareBorderEdge(e.bottom,t.bottom)&&this.CompareBorderEdge(e.right,t.right)&&this.CompareBorderEdge(e.diagonal,t.diagonal)}EnsureBorder(e){for(let n=0;n<this.borders.length;n++){let s=this.borders[n];if(this.CompareBorder(s,e))return n}this.modified=!0;let t=JSON.parse(JSON.stringify(e));return this.borders.push(t),this.borders.length-1}MatchColor(e,t){return!e&&!t?!0:!e||!t?!1:e.argb===t.argb&&e.indexed===t.indexed&&e.theme===t.theme&&e.tint===t.tint}EnsureFill(e){for(let n=0;n<this.fills.length;n++){let s=this.fills[n];if(this.MatchColor(e.bg_color,s.bg_color)&&this.MatchColor(e.fg_color,s.fg_color)&&e.pattern_gray===s.pattern_gray&&e.pattern_type===s.pattern_type)return n}this.modified=!0;let t={...e};return this.fills.push(t),this.fills.length-1}EnsureFont(e){let t={...this.fonts[0],...e};for(let n=0;n<this.fonts.length;n++){let s=this.fonts[n];if(s.bold===t.bold&&s.italic===t.italic&&s.underline===t.underline&&s.size===t.size&&s.strike===t.strike&&s.color_argb===t.color_argb&&s.color_theme===t.color_theme&&s.color_tint===t.color_tint&&s.family===t.family)return n}return this.modified=!0,this.fonts.push(t),this.fonts.length-1}EnsureStyle(e){let t=this.EnsureFont(e.font||{}),n=this.EnsureBorder(e.border||Ct),s=this.EnsureNumberFormat(e.number_format||{}),i=this.EnsureFill(e.fill||{pattern_type:"none"});for(let a=0;a<this.cell_xfs.length;a++){let l=this.cell_xfs[a];if(l.font===t&&l.fill===i&&l.border===n&&l.number_format===s&&!!l.wrap_text==!!e.wrap&&l.indent===e.indent&&(!e.horizontal_alignment&&!l.horizontal_alignment||e.horizontal_alignment===l.horizontal_alignment)&&(!e.vertical_alignment&&!l.vertical_alignment||e.vertical_alignment===l.vertical_alignment))return a}this.modified=!0;let o={font:t,fill:i,border:n,number_format:s,indent:e.indent};return e.horizontal_alignment&&(o.horizontal_alignment=e.horizontal_alignment),e.vertical_alignment&&(o.vertical_alignment=e.vertical_alignment),e.wrap&&(o.wrap_text=!0),this.cell_xfs.push(o),this.cell_xfs.length-1}FromXML(e,t){this.theme=t,this.number_formats=pe(e.numFmts?.numFmt,i=>({id:i.$attributes?.numFmtId,format:et(i.$attributes?.formatCode||"")}));let n=(i,o)=>{i?.$attributes&&(o.style=i.$attributes.style,i.color&&(o.color=i.color.$attributes?.indexed,o.theme=i.color.$attributes?.theme,o.tint=i.color.$attributes?.tint))};this.borders=pe(e.borders?.border,i=>{let o=JSON.parse(JSON.stringify(Ct));return n(i.left,o.left),n(i.right,o.right),n(i.top,o.top),n(i.bottom,o.bottom),o}),this.cell_xfs=pe(e.cellXfs?.xf,i=>{let o={number_format:i.$attributes?.numFmtId??-1,font:i.$attributes?.fontId??-1,fill:i.$attributes?.fillId??-1,border:i.$attributes?.borderId??-1,xfid:i.$attributes?.xfId??-1};return i.alignment&&(o.horizontal_alignment=i.alignment.$attributes?.horizontal,o.vertical_alignment=i.alignment.$attributes?.vertical,o.wrap_text=!!i.alignment.$attributes?.wrapText,o.indent=i.alignment.$attributes?.indent),o}),this.fills=pe(e.fills?.fill,i=>{let o={pattern_type:"none"};if(i.patternFill){let a=i.patternFill.$attributes?.patternType;switch(a){case"none":case void 0:break;case"solid":o.pattern_type="solid",i.patternFill.fgColor&&(o.fg_color={theme:i.patternFill.fgColor.$attributes?.theme,indexed:i.patternFill.fgColor.$attributes?.indexed,tint:i.patternFill.fgColor.$attributes?.tint,argb:i.patternFill.fgColor.$attributes?.rgb});break;default:{let l=a?.match(/^gray(\d+)$/);l&&(o.pattern_type="gray",o.pattern_gray=Number(l[1]))}break}}return o}),this.fonts=pe(e.fonts?.font,i=>{let o={};return o.italic=!!i.i,o.bold=!!i.b,o.underline=!!i.u,o.strike=!!i.strike,o.size=i.sz?.$attributes?.val,o.scheme=i.scheme?.$attributes?.val,o.name=i.name?.$attributes?.val,o.family=i.family?.$attributes?.val,o.color_theme=i.color?.$attributes?.theme,o.color_tint=i.color?.$attributes?.tint,o.color_argb=i.color?.$attributes?.rgb,o});let s=i=>{let o={};return i.$attributes?.rgb?o.text="#"+i.$attributes.rgb.substring(2):i.$attributes?.theme!==void 0&&(o.theme=i.$attributes.theme,i.$attributes.tint!==void 0&&(o.tint=Math.round(i.$attributes.tint*1e3)/1e3)),o};this.dxf_styles=pe(e.dxfs?.dxf,i=>{let o={};return i.font&&(o.bold=!!i.font?.b,o.italic=!!i.font?.i),i.font?.color?.$attributes&&(o.text=s(i.font.color)),i.fill?.patternFill?.bgColor?.$attributes&&(o.fill=s(i.fill.patternFill.bgColor)),o})}};var oe=(r,e,t,n)=>{let i=`rId${Object.keys(r).length+1}`;return r[i]={id:i,type:e,target:t,mode:n},i};var On=(r,e)=>et(e);var Zt=r=>{if(r){if(Array.isArray(r))for(let e of r)Zt(e);else if(typeof r=="object")for(let[e,t]of Object.entries(r))if(e==="a$"){if(typeof t=="object"){let n={};for(let[s,i]of Object.entries(t))i!==void 0&&(n[s]=i);r[e]=n}}else Zt(t)}return r},cr=r=>{let e=new Nt(r),t=e.build;return e.build=n=>t.call(e,Zt(n)),e},fr={ignoreAttributes:!1,attributesGroupName:"a$",attributeNamePrefix:"",textNodeName:"t$",trimValues:!1,ignoreDeclaration:!0,isArray:r=>/Relationship$/.test(r),tagValueProcessor:On},G=class{static FindChild(e={},t){let n=t.split("/");for(let s of n)if(e=e[s],!e)return;return e}static FindAll(e={},t){let n=t.split("/");if(n[0]==="."&&n.shift(),n[0]==="..")throw new Error("invalid path (no access to parent)");if(n[0]==="")throw new Error("invalid path (no access to root)");if(n[0]==="**")throw new Error("ENOTIMPL");return this.FindAllTail(e,n)}static FindAllTail(e,t){if(Array.isArray(e))return e.reduce((n,s)=>n.concat(this.FindAllTail(s,t)),[]);for(let n=0;n<t.length;n++){let s=t[n];if(s==="*"?e=Object.entries(e).reduce((o,[a,l])=>(a!=="a$"&&a!=="t$"&&o.push(l),o),[]):e=e[s],!e)return[];if(Array.isArray(e)){if(n===t.length-1||e.length===0)return e;let i=t.slice(1);return e.reduce((o,a)=>o.concat(this.FindAllTail(a,i)),[])}}return[e]}};var dr={"c:tx":{"c:strRef":{"c:f":"","c:strCache":{"c:ptCount":{a$:{val:"1"}},"c:pt":{a$:{idx:"0"},"c:v":""}}}},"c:overlay":{a$:{val:"0"}},"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"0",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"1400",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",spc:"0",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}}},hr={"c:tx":{"c:rich":{"a:bodyPr":{a$:{rot:"0",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"1400",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",spc:"0",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:r":{"a:rPr":{a$:{lang:""}},"a:t":""}}}},"c:overlay":{a$:{val:"0"}},"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"0",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"1400",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",spc:"0",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}}},Ye={"c:chartSpace":{a$:{"xmlns:c":"http://schemas.openxmlformats.org/drawingml/2006/chart","xmlns:a":"http://schemas.openxmlformats.org/drawingml/2006/main","xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships","xmlns:c16r2":"http://schemas.microsoft.com/office/drawing/2015/06/chart"},"c:date1904":{a$:{val:"0"}},"c:lang":{a$:{val:"en-US"}},"c:roundedCorners":{a$:{val:"0"}},"mc:AlternateContent":{a$:{"xmlns:mc":"http://schemas.openxmlformats.org/markup-compatibility/2006"},"mc:Choice":{a$:{Requires:"c14","xmlns:c14":"http://schemas.microsoft.com/office/drawing/2007/8/2/chart"},"c14:style":{a$:{val:"102"}}},"mc:Fallback":{"c:style":{a$:{val:"2"}}}},"c:chart":{},"c:spPr":{"a:solidFill":{"a:schemeClr":{a$:{val:"bg1"}}},"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"15000"}},"a:lumOff":{a$:{val:"85000"}}}},"a:round":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{}},"a:endParaRPr":{a$:{lang:"en-US"}}}},"c:printSettings":{"c:headerFooter":{},"c:pageMargins":{a$:{b:"0.75",l:"0.7",r:"0.7",t:"0.75",header:"0.3",footer:"0.3"}},"c:pageSetup":{}}}};var ur={"c:idx":{a$:{val:"0"}},"c:order":{a$:{val:"0"}},"c:spPr":{"a:solidFill":{"a:schemeClr":{a$:{val:"accent1"}}},"a:ln":{"a:noFill":{}},"a:effectLst":{}},"c:invertIfNegative":{a$:{val:"0"}},"c:val":{"c:numRef":{"c:f":""}},"c:extLst":{"c:ext":{a$:{uri:"{C3380CC4-5D6E-409C-BE32-E72D297353CC}","xmlns:c16":"http://schemas.microsoft.com/office/drawing/2014/chart"},"c16:uniqueId":{a$:{val:"{00000000-F52E-47BC-822F-A046A80610BE}"}}}}},pr={"c:title":{},"c:autoTitleDeleted":{a$:{val:"0"}},"c:plotArea":{"c:layout":{},"c:barChart":{"c:barDir":{a$:{val:"col"}},"c:grouping":{a$:{val:"clustered"}},"c:varyColors":{a$:{val:"0"}},"c:ser":[],"c:dLbls":{"c:showLegendKey":{a$:{val:"0"}},"c:showVal":{a$:{val:"0"}},"c:showCatName":{a$:{val:"0"}},"c:showSerName":{a$:{val:"0"}},"c:showPercent":{a$:{val:"0"}},"c:showBubbleSize":{a$:{val:"0"}}},"c:gapWidth":{a$:{val:"219"}},"c:overlap":{a$:{val:"-27"}},"c:axId":[{a$:{val:"47003664"}},{a$:{val:"1789284464"}}]},"c:catAx":{"c:axId":{a$:{val:"47003664"}},"c:scaling":{"c:orientation":{a$:{val:"minMax"}}},"c:delete":{a$:{val:"0"}},"c:axPos":{a$:{val:"b"}},"c:majorTickMark":{a$:{val:"none"}},"c:minorTickMark":{a$:{val:"none"}},"c:tickLblPos":{a$:{val:"nextTo"}},"c:spPr":{"a:noFill":{},"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"15000"}},"a:lumOff":{a$:{val:"85000"}}}},"a:round":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"-60000000",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"900",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}},"c:crossAx":{a$:{val:"1789284464"}},"c:crosses":{a$:{val:"autoZero"}},"c:auto":{a$:{val:"1"}},"c:lblAlgn":{a$:{val:"ctr"}},"c:lblOffset":{a$:{val:"100"}},"c:noMultiLvlLbl":{a$:{val:"0"}}},"c:valAx":{"c:axId":{a$:{val:"1789284464"}},"c:scaling":{"c:orientation":{a$:{val:"minMax"}}},"c:delete":{a$:{val:"0"}},"c:axPos":{a$:{val:"l"}},"c:majorGridlines":{"c:spPr":{"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"15000"}},"a:lumOff":{a$:{val:"85000"}}}},"a:round":{}},"a:effectLst":{}}},"c:numFmt":{a$:{formatCode:"General",sourceLinked:"1"}},"c:majorTickMark":{a$:{val:"none"}},"c:minorTickMark":{a$:{val:"none"}},"c:tickLblPos":{a$:{val:"nextTo"}},"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"-60000000",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"900",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}},"c:crossAx":{a$:{val:"47003664"}},"c:crosses":{a$:{val:"autoZero"}},"c:crossBetween":{a$:{val:"between"}}},"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}}},"c:plotVisOnly":{a$:{val:"1"}},"c:dispBlanksAs":{a$:{val:"gap"}},"c:extLst":{"c:ext":{a$:{uri:"{56B9EC1D-385E-4148-901F-78D8002777C0}","xmlns:c16r3":"http://schemas.microsoft.com/office/drawing/2017/03/chart"},"c16r3:dataDisplayOptions16":{"c16r3:dispNaAsBlank":{a$:{val:"1"}}}}},"c:showDLblsOverMax":{a$:{val:"0"}}};var mr={"c:title":{},"c:autoTitleDeleted":{a$:{val:"0"}},"c:plotArea":{"c:layout":{},"c:doughnutChart":{"c:varyColors":{a$:{val:"1"}},"c:ser":{"c:idx":{a$:{val:"0"}},"c:order":{a$:{val:"0"}},"c:dPt":{"c:idx":{a$:{val:"3"}},"c:bubble3D":{a$:{val:"0"}},"c:spPr":{"a:solidFill":{"a:schemeClr":{a$:{val:"accent4"}}},"a:ln":{a$:{w:"19050"},"a:solidFill":{"a:schemeClr":{a$:{val:"lt1"}}}},"a:effectLst":{}},"c:extLst":{"c:ext":{a$:{uri:"{C3380CC4-5D6E-409C-BE32-E72D297353CC}","xmlns:c16":"http://schemas.microsoft.com/office/drawing/2014/chart"},"c16:uniqueId":{a$:{val:"{00000007-E886-49A6-AE6D-C67D8A27530F}"}}}}},"c:cat":{"c:strRef":{"c:f":""}},"c:val":{"c:numRef":{"c:f":""}},"c:extLst":{"c:ext":{a$:{uri:"{C3380CC4-5D6E-409C-BE32-E72D297353CC}","xmlns:c16":"http://schemas.microsoft.com/office/drawing/2014/chart"},"c16:uniqueId":{a$:{val:"{00000000-3689-4BB4-A84F-05B9F3BBE577}"}}}}},"c:dLbls":{"c:showLegendKey":{a$:{val:"0"}},"c:showVal":{a$:{val:"0"}},"c:showCatName":{a$:{val:"0"}},"c:showSerName":{a$:{val:"0"}},"c:showPercent":{a$:{val:"0"}},"c:showBubbleSize":{a$:{val:"0"}},"c:showLeaderLines":{a$:{val:"1"}}},"c:firstSliceAng":{a$:{val:"0"}},"c:holeSize":{a$:{val:"75"}}},"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}}},"c:legend":{"c:legendPos":{a$:{val:"b"}},"c:overlay":{a$:{val:"0"}},"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"0",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{a$:{rtl:"0"},"a:defRPr":{a$:{sz:"900",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}}},"c:plotVisOnly":{a$:{val:"1"}},"c:dispBlanksAs":{a$:{val:"gap"}},"c:extLst":{"c:ext":{a$:{uri:"{56B9EC1D-385E-4148-901F-78D8002777C0}","xmlns:c16r3":"http://schemas.microsoft.com/office/drawing/2017/03/chart"},"c16r3:dataDisplayOptions16":{"c16r3:dispNaAsBlank":{a$:{val:"1"}}}}},"c:showDLblsOverMax":{a$:{val:"0"}}};var br={"c:title":{},"c:autoTitleDeleted":{a$:{val:"0"}},"c:plotArea":{"c:layout":{},"c:scatterChart":{"c:scatterStyle":{a$:{val:"lineMarker"}},"c:varyColors":{a$:{val:"0"}},"c:ser":[],"c:dLbls":{"c:showLegendKey":{a$:{val:"0"}},"c:showVal":{a$:{val:"0"}},"c:showCatName":{a$:{val:"0"}},"c:showSerName":{a$:{val:"0"}},"c:showPercent":{a$:{val:"0"}},"c:showBubbleSize":{a$:{val:"0"}}},"c:axId":[{a$:{val:"2028657983"}},{a$:{val:"2023395087"}}]},"c:valAx":[{"c:axId":{a$:{val:"2028657983"}},"c:scaling":{"c:orientation":{a$:{val:"minMax"}}},"c:delete":{a$:{val:"0"}},"c:axPos":{a$:{val:"b"}},"c:majorGridlines":{"c:spPr":{"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"15000"}},"a:lumOff":{a$:{val:"85000"}}}},"a:round":{}},"a:effectLst":{}}},"c:majorTickMark":{a$:{val:"none"}},"c:minorTickMark":{a$:{val:"none"}},"c:tickLblPos":{a$:{val:"nextTo"}},"c:spPr":{"a:noFill":{},"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"25000"}},"a:lumOff":{a$:{val:"75000"}}}},"a:round":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"-60000000",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"900",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}},"c:crossAx":{a$:{val:"2023395087"}},"c:crosses":{a$:{val:"autoZero"}},"c:crossBetween":{a$:{val:"midCat"}}},{"c:axId":{a$:{val:"2023395087"}},"c:scaling":{"c:orientation":{a$:{val:"minMax"}}},"c:delete":{a$:{val:"0"}},"c:axPos":{a$:{val:"l"}},"c:majorGridlines":{"c:spPr":{"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"15000"}},"a:lumOff":{a$:{val:"85000"}}}},"a:round":{}},"a:effectLst":{}}},"c:numFmt":{a$:{formatCode:"0.00",sourceLinked:"1"}},"c:majorTickMark":{a$:{val:"none"}},"c:minorTickMark":{a$:{val:"none"}},"c:tickLblPos":{a$:{val:"nextTo"}},"c:spPr":{"a:noFill":{},"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"25000"}},"a:lumOff":{a$:{val:"75000"}}}},"a:round":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"-60000000",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"900",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}},"c:crossAx":{a$:{val:"2028657983"}},"c:crosses":{a$:{val:"autoZero"}},"c:crossBetween":{a$:{val:"midCat"}}}],"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}}},"c:plotVisOnly":{a$:{val:"1"}},"c:dispBlanksAs":{a$:{val:"gap"}},"c:extLst":{"c:ext":{a$:{uri:"{56B9EC1D-385E-4148-901F-78D8002777C0}","xmlns:c16r3":"http://schemas.microsoft.com/office/drawing/2017/03/chart"},"c16r3:dataDisplayOptions16":{"c16r3:dispNaAsBlank":{a$:{val:"1"}}}}},"c:showDLblsOverMax":{a$:{val:"0"}}},gr={"c:spPr":{"a:ln":{a$:{w:"19050",cap:"rnd"},"a:solidFill":{"a:schemeClr":{a$:{val:"accent1"}}},"a:round":{}},"a:effectLst":{}},"c:marker":{"c:symbol":{a$:{val:"none"}}},"c:xVal":{"c:numRef":{"c:f":""}},"c:yVal":{"c:numRef":{"c:f":""}},"c:smooth":{a$:{val:"0"}},"c:extLst":{"c:ext":{a$:{uri:"{C3380CC4-5D6E-409C-BE32-E72D297353CC}","xmlns:c16":"http://schemas.microsoft.com/office/drawing/2014/chart"},"c16:uniqueId":{a$:{val:"{00000000-1F6C-44A9-AA4F-6706F20CC72E}"}}}}};var yr={"c:title":{},"c:autoTitleDeleted":{a$:{val:"0"}},"c:plotArea":{"c:layout":{},"c:bubbleChart":{"c:varyColors":{a$:{val:"0"}},"c:ser":[],"c:dLbls":{"c:showLegendKey":{a$:{val:"0"}},"c:showVal":{a$:{val:"0"}},"c:showCatName":{a$:{val:"0"}},"c:showSerName":{a$:{val:"0"}},"c:showPercent":{a$:{val:"0"}},"c:showBubbleSize":{a$:{val:"0"}}},"c:axId":[{a$:{val:"2028657983"}},{a$:{val:"2023395087"}}]},"c:valAx":[{"c:axId":{a$:{val:"2028657983"}},"c:scaling":{"c:orientation":{a$:{val:"minMax"}}},"c:delete":{a$:{val:"0"}},"c:axPos":{a$:{val:"b"}},"c:majorGridlines":{"c:spPr":{"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"15000"}},"a:lumOff":{a$:{val:"85000"}}}},"a:round":{}},"a:effectLst":{}}},"c:majorTickMark":{a$:{val:"none"}},"c:minorTickMark":{a$:{val:"none"}},"c:tickLblPos":{a$:{val:"nextTo"}},"c:spPr":{"a:noFill":{},"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"25000"}},"a:lumOff":{a$:{val:"75000"}}}},"a:round":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"-60000000",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"900",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}},"c:crossAx":{a$:{val:"2023395087"}},"c:crosses":{a$:{val:"autoZero"}},"c:crossBetween":{a$:{val:"midCat"}}},{"c:axId":{a$:{val:"2023395087"}},"c:scaling":{"c:orientation":{a$:{val:"minMax"}}},"c:delete":{a$:{val:"0"}},"c:axPos":{a$:{val:"l"}},"c:majorGridlines":{"c:spPr":{"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"15000"}},"a:lumOff":{a$:{val:"85000"}}}},"a:round":{}},"a:effectLst":{}}},"c:numFmt":{a$:{formatCode:"0.00",sourceLinked:"1"}},"c:majorTickMark":{a$:{val:"none"}},"c:minorTickMark":{a$:{val:"none"}},"c:tickLblPos":{a$:{val:"nextTo"}},"c:spPr":{"a:noFill":{},"a:ln":{a$:{w:"9525",cap:"flat",cmpd:"sng",algn:"ctr"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"25000"}},"a:lumOff":{a$:{val:"75000"}}}},"a:round":{}},"a:effectLst":{}},"c:txPr":{"a:bodyPr":{a$:{rot:"-60000000",spcFirstLastPara:"1",vertOverflow:"ellipsis",vert:"horz",wrap:"square",anchor:"ctr",anchorCtr:"1"}},"a:lstStyle":{},"a:p":{"a:pPr":{"a:defRPr":{a$:{sz:"900",b:"0",i:"0",u:"none",strike:"noStrike",kern:"1200",baseline:"0"},"a:solidFill":{"a:schemeClr":{a$:{val:"tx1"},"a:lumMod":{a$:{val:"65000"}},"a:lumOff":{a$:{val:"35000"}}}},"a:latin":{a$:{typeface:"+mn-lt"}},"a:ea":{a$:{typeface:"+mn-ea"}},"a:cs":{a$:{typeface:"+mn-cs"}}}},"a:endParaRPr":{a$:{lang:"en-US"}}}},"c:crossAx":{a$:{val:"2028657983"}},"c:crosses":{a$:{val:"autoZero"}},"c:crossBetween":{a$:{val:"midCat"}}}],"c:spPr":{"a:noFill":{},"a:ln":{"a:noFill":{}},"a:effectLst":{}}},"c:plotVisOnly":{a$:{val:"1"}},"c:dispBlanksAs":{a$:{val:"gap"}},"c:extLst":{"c:ext":{a$:{uri:"{56B9EC1D-385E-4148-901F-78D8002777C0}","xmlns:c16r3":"http://schemas.microsoft.com/office/drawing/2017/03/chart"},"c16r3:dataDisplayOptions16":{"c16r3:dispNaAsBlank":{a$:{val:"1"}}}}},"c:showDLblsOverMax":{a$:{val:"0"}}},xr={"c:spPr":{"a:solidFill":{"a:schemeClr":{a$:{val:"accent1"},"a:alpha":{a$:{val:"75000"}}}},"a:ln":{"a:noFill":{}},"a:effectLst":{}},"c:xVal":{"c:numRef":{"c:f":""}},"c:yVal":{"c:numRef":{"c:f":""}},"c:bubbleSize":{"c:numRef":{"c:f":""}},"c:bubble3D":{a$:{val:"0"}},"c:extLst":{"c:ext":{a$:{uri:"{C3380CC4-5D6E-409C-BE32-E72D297353CC}","xmlns:c16":"http://schemas.microsoft.com/office/drawing/2014/chart"},"c16:uniqueId":{a$:{val:"{00000000-03D7-43A5-9DAB-5775FFEF9C03}"}}}}};var Te=class r{constructor(e,t=r.next_chart_index++){this.options=e;this.index=t}static next_chart_index=1;relationships={};UpdateChartTitle(e){let t=this.options.title||{type:"literal",value:""};if(t&&t.type==="literal"){let n=JSON.parse(JSON.stringify(hr)),s=n["c:tx"]["c:rich"]["a:p"];s["a:r"]={"a:rPr":{a$:{lang:Ot.locale}},"a:t":t.value},e["c:title"]=n}else if(t){let n=JSON.parse(JSON.stringify(dr));n["c:tx"]["c:strRef"]["c:f"]=t.label,e["c:title"]=n}}toJSON(){switch(this.options.type){case"column":case"bar":return this.CreateBarChart();case"scatter":case"scatter2":return this.CreateScatterChart();case"bubble":return this.CreateBubbleChart();case"donut":return this.CreateDonutChart();default:console.info("unhandled chart type",this.options.type)}return this.CreateBarChart()}CreateBubbleChart(){let e=JSON.parse(JSON.stringify(Ye)),t=e["c:chartSpace"],n=JSON.parse(JSON.stringify(yr));t["c:chart"]=n,this.UpdateChartTitle(t["c:chart"]);let s=t["c:chart"]["c:plotArea"]["c:bubbleChart"]["c:ser"],i=!1;for(let o=0;o<this.options.data.length;o++){let a=JSON.parse(JSON.stringify(xr));if(a["c:idx"]={a$:{val:o.toString()}},a["c:order"]={a$:{val:o.toString()}},this.options.names&&this.options.names[o]){let l=this.options.names[o];switch(l.type){case"literal":a["c:tx"]={"c:v":l.value.toString()},i=!0;break;case"range":case"address":a["c:tx"]={"c:strRef":{"c:f":l.label}},i=!0;break}}o<6&&(a["c:spPr"]["a:solidFill"]["a:schemeClr"].a$.val=`accent${o+1}`),a["c:yVal"]["c:numRef"]["c:f"]=this.options.data[o]?.label,this.options.labels2&&this.options.labels2[o]&&(a["c:xVal"]["c:numRef"]["c:f"]=this.options.labels2[o]?.label),this.options.labels3&&this.options.labels3[o]&&(a["c:bubbleSize"]["c:numRef"]["c:f"]=this.options.labels3[o]?.label),s.push(a)}return i&&(t["c:chart"]["c:legend"]={"c:legendPos":{a$:{val:"b"}},"c:overlay":{a$:{val:"0"}}}),e}CreateScatterChart(){let e=JSON.parse(JSON.stringify(Ye)),t=e["c:chartSpace"],n=JSON.parse(JSON.stringify(br));this.options.smooth&&(n["c:plotArea"]["c:scatterChart"]["c:scatterStyle"].a$.val="smoothMarker"),t["c:chart"]=n,this.UpdateChartTitle(t["c:chart"]);let s=t["c:chart"]["c:plotArea"]["c:scatterChart"]["c:ser"],i=!1;for(let o=0;o<this.options.data.length;o++){let a=JSON.parse(JSON.stringify(gr));if(a["c:idx"]={a$:{val:o.toString()}},a["c:order"]={a$:{val:o.toString()}},this.options.names&&this.options.names[o]){let l=this.options.names[o];switch(l.type){case"literal":a["c:tx"]={"c:v":l.value.toString()},i=!0;break;case"range":case"address":a["c:tx"]={"c:strRef":{"c:f":l.label}},i=!0;break}}o<6&&(a["c:spPr"]["a:ln"]["a:solidFill"]["a:schemeClr"].a$.val=`accent${o+1}`),a["c:yVal"]["c:numRef"]["c:f"]=this.options.data[o]?.label,this.options.labels2&&this.options.labels2[o]&&(a["c:xVal"]["c:numRef"]["c:f"]=this.options.labels2[o]?.label),this.options.smooth&&(a["c:smooth"]={a$:{val:1}}),s.push(a)}return i&&(t["c:chart"]["c:legend"]={"c:legendPos":{a$:{val:"b"}},"c:overlay":{a$:{val:"0"}}}),e}CreateDonutChart(){let e=JSON.parse(JSON.stringify(Ye)),t=e["c:chartSpace"],n=JSON.parse(JSON.stringify(mr));t["c:chart"]=n,this.UpdateChartTitle(t["c:chart"]);let s=n["c:plotArea"]["c:doughnutChart"];return s&&(s["c:ser"]["c:cat"]["c:strRef"]["c:f"]=this.options.labels?.label||"",s["c:ser"]["c:val"]["c:numRef"]["c:f"]=this.options.data[0]?.label||""),e}CreateBarChart(){let e=JSON.parse(JSON.stringify(Ye)),t=e["c:chartSpace"],n=JSON.parse(JSON.stringify(pr));t["c:chart"]=n,this.UpdateChartTitle(t["c:chart"]);let s=n["c:plotArea"]["c:barChart"];if(s){let i=s["c:barDir"];i&&(i.a$.val=this.options.type==="bar"?"bar":"col");let o=s["c:ser"];for(let a=0;a<this.options.data.length;a++){let l=JSON.parse(JSON.stringify(ur));l["c:idx"]={a$:{val:a.toString()}},l["c:order"]={a$:{val:a.toString()}},a<6&&(l["c:spPr"]["a:solidFill"]["a:schemeClr"].a$.val=`accent${a+1}`),!a&&this.options.labels&&(l["c:cat"]={"c:strRef":{"c:f":this.options.labels.label}}),l["c:val"]["c:numRef"]["c:f"]=this.options.data[a]?.label,o.push(l)}}return e}};var tt=class r{constructor(e,t=r.next_image_index++){this.options=e;this.index=t;switch(e.mimetype){case"svg+xml":this.extension="svg";break;case"image/png":this.extension="png";break;case"jpg":this.extension="jpeg";break;case"svg":case"png":case"jpeg":case"gif":this.extension=e.mimetype;break;default:console.warn("unhandled mime type",e.mimetype);break}}static next_image_index=1;extension=""};var wr=9525,Be=class r{constructor(e=r.next_drawing_index++){this.index=e}static next_drawing_index=1;sheet_drawing_relationship=0;charts=[];images=[];relationships={};AddImage(e,t){let n=new tt(e);if(n.extension){let s=oe(this.relationships,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",`../media/image${n.index}.${n.extension}`);this.images.push({image:n,relationship:s,anchor:t})}}AddChart(e,t){let n=new Te(e),s=oe(this.relationships,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart",`../charts/chart${n.index}.xml`);this.charts.push({chart:n,anchor:t,relationship:s})}CornerToJSON(e){return{"xdr:col":e.column,"xdr:colOff":(e.column_offset||0)*wr,"xdr:row":e.row,"xdr:rowOff":(e.row_offset||0)*wr}}AnchorToJSON(e){return{"xdr:from":{...this.CornerToJSON(e.from)},"xdr:to":{...this.CornerToJSON(e.to)}}}toJSON(){let e=this.images.map(s=>({a$:{editAs:"oneCell"},...this.AnchorToJSON(s.anchor),"xdr:pic":{"xdr:nvPicPr":{"xdr:cNvPr":{a$:{id:s.image.index+1,name:"Image "+s.image.index}},"xdr:cNvPicPr":{"a:picLocks":{a$:{noChangeAspect:1}}}},"xdr:blipFill":{"a:blip":{a$:s.image.extension==="svg"?{"xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships"}:{"xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships","r:embed":s.relationship},"a:extLst":{"a:ext":[{a$:{uri:"{28A0092B-C50C-407E-A947-70E740481C1C}"},"a14:useLocalDpi":{a$:{"xmlns:a14":"http://schemas.microsoft.com/office/drawing/2010/main",val:0}}},s.image.extension==="svg"?{a$:{uri:"{96DAC541-7B7A-43D3-8B79-37D633B846F1}"},"asvg:svgBlip":{a$:{"xmlns:asvg":"http://schemas.microsoft.com/office/drawing/2016/SVG/main","r:embed":s.relationship}}}:void 0]}},"a:stretch":{"a:fillRect":{}}},"xdr:spPr":{"a:xfrm":{"a:off":{a$:{x:0,y:0}},"a:ext":{a$:{cx:4057650,cy:6172200}}},"a:prstGeom":{a$:{prst:"rect"},"a:avLst":{}}}},"xdr:clientData":{}})),t=this.charts.map(s=>({...this.AnchorToJSON(s.anchor),"xdr:graphicFrame":{a$:{macro:""},"xdr:nvGraphicFramePr":{"xdr:cNvPr":{a$:{id:s.chart.index+1,name:`Chart ${s.chart.index}`}},"xdr:cNvGraphicFramePr":{}},"xdr:xfrm":{"a:off":{a$:{x:0,y:0}},"a:ext":{a$:{cx:0,cy:0}}},"a:graphic":{"a:graphicData":{a$:{uri:"http://schemas.openxmlformats.org/drawingml/2006/chart"},"c:chart":{a$:{"xmlns:c":"http://schemas.openxmlformats.org/drawingml/2006/chart","xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships","r:id":s.relationship}}}}},"xdr:clientData":{}}));return{"xdr:wsDr":{a$:{"xmlns:xdr":"http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing","xmlns:a":"http://schemas.openxmlformats.org/drawingml/2006/main"},"xdr:twoCellAnchor":[...t,...e]}}}};var Me=r=>"row"in r&&"col"in r,Ae=r=>"from"in r&&"to"in r&&Me(r.from)&&Me(r.to),ke=(r,e)=>e.sheet===r.sheet&&e.row>=r.from.row&&e.row<=r.to.row&&e.col>=r.from.col&&e.col<=r.to.col,rt=(r,e=0,t=0)=>({from:{row:r.from.row+e,col:r.from.col+t,sheet:r.from.sheet},to:{row:r.to.row+e,col:r.to.col+t,sheet:r.to.sheet}});var nt=class{constructor(e,t){this.options=e;this.root=t}path;rels_path;rels={};shared_strings;extent;visible_state;tab_selected=!1;default_width=0;drawings=[];TranslateAddress(e){e=e.toUpperCase();let t=e.match(/([A-Z]+\d+):([A-Z]+\d+)/);if(t)return{from:this.TranslateAddress(t[1]),to:this.TranslateAddress(t[2])};let n=0,s=0;if(t=e.match(/^([A-Z]+)(\d+)$/),t){n=Number(t[2]),s=0;let i=t[1].length;for(let o=0;o<i;o++){let a=t[1].charCodeAt(o)-64;s=s*26+a}}return{row:n,col:s}}Address(e,t=!1){if(Ae(e))return this.Address(e.from,t)+":"+this.Address(e.to,t);let n="",s=e.col;for(;s>0;){let o=(s-1)%26+1;n=String.fromCharCode(64+o)+n,s=(s-o)/26}let i=e.sheet?`'${e.sheet}'!`:"";return t?`${i}$${n}$${e.row}`:i+n+e.row}NormalizeAddress(e){let t,n;return typeof e=="string"?(t=e.toUpperCase(),n=this.TranslateAddress(t)):(n=e,t=this.Address(n)),{a:t,rc:n}}Parse(){let e=this.root.dimension?.$attributes?.ref,t=this.TranslateAddress(e||"");Ae(t)?this.extent=JSON.parse(JSON.stringify(t)):this.extent={from:JSON.parse(JSON.stringify(t)),to:JSON.parse(JSON.stringify(t))}}};var St=He(Ar()),vr=He(Je()),Fe=class{records;text=new Map;constructor(e){this.records=St.default.parse(e)}Has(e){return this.text.has(e)||!!this.records?.[e]}ArrayBuffer(){let e={};if(this.records)for(let[n,s]of Object.entries(this.records))e[n]=new Uint8Array(s);let t=new TextEncoder;for(let[n,s]of this.text.entries())e[n]=t.encode(s);return St.default.encode(e)}SetBinary(e,t,n){if(n==="base64"){let s=vr.default.toByteArray(t);this.records[e]=s}else throw new Error("unsupported encoding: "+n)}Set(e,t){this.text.set(e,t),this.records[e]&&delete this.records[e]}GetBinary(e){let t=this.records[e];if(t)return new Uint8Array(t);throw new Error("path not in records: "+e)}Get(e){let t=this.text.get(e);if(t)return t;let n=this.records[e];if(n)return t=new TextDecoder().decode(n),this.text.set(e,t),delete this.records[e],t;throw console.info(this),new Error("path not in zip file: "+e)}};var Ir=(r,e,t)=>{if(e==="cell"){let n=r.cell_metadata[t-1];if(n){let s=r.metadata_types[n.t-1];if(s&&s.name!=="XLMDX"){let i=r.future_metadata[s.name];if(i)return i[n.v]||{}}}}else console.warn("value metadata not implemented");return{flags:{}}},Nr=r=>{let e={metadata_types:[],cell_metadata:[],future_metadata:{}};return O(r.metadataTypes,t=>{O(t.metadataType,n=>{let s=n.$attributes?.name||"",i=!!n.$attributes?.cellMeta;e.metadata_types.push({name:s,cell_meta:i})})}),O(r.futureMetadata,t=>{let n=t.$attributes?.name;if(n){let s=[];O(t.bk,i=>{let o={flags:{}};O(i.extLst?.ext,a=>{a.dynamicArrayProperties?.$attributes?.fDynamic&&(o.flags["dynamic-array"]=!0)}),s.push(o)}),e.future_metadata[n]=s}}),O(r.cellMetadata,t=>{O(t.bk,n=>{O(n.rc,s=>{s.$attributes&&e.cell_metadata.push({...s.$attributes})})})}),e};var $t=new ye(fr),st={greaterThan:">",greaterThanOrEqual:">=",lessThan:"<",lessThanOrEqual:"<=",equal:"=",notEqual:"<>"};var it=class{constructor(e){this.zip=e}xml={};shared_strings=new Se;style_cache=new $e;theme=new we;named=[];rels={};metadata;sheets=[];active_tab=0;get sheet_count(){return this.sheets.length}ReadRels(e){let t={},n=this.zip.Has(e)?this.zip.Get(e):"",s=ce.parse(n);if(s.Relationships){let i=s.Relationships;O(i.Relationship,o=>{let a=o.$attributes?.Id;a&&(t[a]={id:a,type:o.$attributes?.Type||"",target:o.$attributes?.Target||""})})}return t}Init(){this.rels=this.ReadRels("xl/_rels/workbook.xml.rels");let e=this.zip.Has("xl/sharedStrings.xml")?this.zip.Get("xl/sharedStrings.xml"):"",t=ce.parse(e||"");if(t.sst&&this.shared_strings.FromXML(t.sst),this.zip.Has("xl/metadata.xml")&&(e=this.zip.Get("xl/metadata.xml"),t=ce.parse(e||""),t.metadata&&(this.metadata=Nr(t.metadata))),e=this.zip.Get("xl/theme/theme1.xml"),t=ce.parse(e),t.theme&&this.theme.FromXML(t.theme),e=this.zip.Get("xl/styles.xml"),t=ce.parse(e),t.styleSheet&&this.style_cache.FromXML(t.styleSheet,this.theme),e=this.zip.Get("xl/workbook.xml"),t=ce.parse(e),t.workbook){let n=t.workbook;this.named=pe(n.definedNames?.definedName,i=>({name:i.$attributes?.name||"",expression:i.$text||"",local_scope:i.$attributes?.localSheetId}));let s=Oe(n.bookViews?.workbookView);this.active_tab=s?.$attributes?.activeTab??0,O(n.sheets.sheet,i=>{let o=i.$attributes?.name;if(o){let a=i.$attributes?.state,l=i.$attributes?.id??"",c=i.$attributes?.sheetId,f=`xl/${this.rels[l].target}`;if(e=this.zip.Get(f),t=ce.parse(e),t.worksheet){let d=t.worksheet,u=new nt({name:o,rid:l,id:c},d);switch(a){case"hidden":u.visible_state=1;break;case"veryHidden":u.visible_state=1;break}u.shared_strings=this.shared_strings,u.path=f,u.rels_path=u.path.replace("worksheets","worksheets/_rels")+".rels",u.rels=this.ReadRels(u.rels_path),u.Parse(),this.sheets.push(u)}}})}}ReadTable(e){let t=this.zip.Get(e.replace(/^../,"xl"));if(!t)return;let n=$t.parse(t),s=n.table?.a$?.name||"";return{name:s,display_name:n.table?.a$?.displayName||s,ref:n.table?.a$.ref||"",totals_row_shown:Number(n.table?.a$.totalsRowShown||"0")||0,totals_row_count:Number(n.table?.a$.totalsRowCount||"0")||0}}ReadDrawing(e){let t=this.zip.Get(e.replace(/^../,"xl"));if(!t)return;let n=$t.parse(t),s=this.ReadRels(e.replace(/^..\/drawings/,"xl/drawings/_rels")+".rels"),i=[],o=G.FindAll(n,"xdr:wsDr/xdr:twoCellAnchor"),a=(l={})=>({column:l["xdr:col"]||0,column_offset:l["xdr:colOff"]||0,row:l["xdr:row"]||0,row_offset:l["xdr:rowOff"]||0});for(let l of o){let c={from:a(l["xdr:from"]),to:a(l["xdr:to"])},f=G.FindAll(l,"xdr:graphicFrame/a:graphic/a:graphicData/c:chart")[0];if(f||(f=G.FindAll(l,"mc:AlternateContent/mc:Choice/xdr:graphicFrame/a:graphic/a:graphicData/cx:chart")[0]),f&&f.a$&&f.a$["r:id"]){let d={type:"chart",anchor:c},u=s[f.a$["r:id"]];u&&u.target&&(d.chart=this.ReadChart(u.target)),i.push(d)}else{let d=G.FindAll(l,"xdr:pic/xdr:blipFill/a:blip")[0];if(d&&d.a$["r:embed"]){let u=s[d.a$["r:embed"]];if(u&&u.target&&/(?:jpg|jpeg|png|gif)$/i.test(u.target)){let h=u.target.replace(/^\.\./,"xl"),y=h.replace(/^.*\//,""),w={type:"image",anchor:c,image:this.zip.GetBinary(h),filename:y};i.push(w)}}else{let u,h=G.FindAll(l,"xdr:sp")[0];if(h){let y=h.a$?.textlink||void 0,w=G.FindAll(h,"xdr:spPr")[0];if(w){u={};let x=w["a:solidFill"];if(x&&x["a:schemeClr"]?.a$?.val){let v=x["a:schemeClr"].a$.val.match(/accent(\d+)/);if(v&&(u.fill={theme:Number(v[1])+3},x["a:schemeClr"]["a:lumOff"]?.a$?.val)){let m=Number(x["a:schemeClr"]["a:lumOff"].a$.val);isNaN(m)||(u.fill.tint=m/1e5)}}}let N=G.FindAll(h,"xdr:txBody")[0];if(N){let x=[],v=G.FindAll(N,"a:p");for(let m of v){let b=[],P,V=m["a:fld"];if(V&&V.a$?.type==="TxLink"){let k={text:`{${y}}`,reference:!0},Y=V["a:rPr"];Y&&(k.style={},Y.a$?.b==="1"&&(k.style.bold=!0),Y.a$?.i==="1"&&(k.style.italic=!0)),b.push(k)}let E=m["a:pPr"];E&&(P={},E.a$?.algn==="r"?P.horizontal_align="right":E.a$?.algn==="ctr"&&(P.horizontal_align="center"));let R=m["a:r"];if(R){Array.isArray(R)||(R=[R]);for(let k of R){let Y={text:k["a:t"]||""},B=k["a:rPr"];B&&(Y.style={},B.a$?.b==="1"&&(Y.style.bold=!0),B.a$?.i==="1"&&(Y.style.italic=!0)),b.push(Y)}}x.push({content:b,style:P})}i.push({type:"textbox",style:u,paragraphs:x,anchor:c,reference:y})}}}}}return i}ReadChart(e){let t=this.zip.Get(e.replace(/^../,"xl"));if(!t)return;let n=$t.parse(t),s={type:0},i=G.FindChild(n,"c:chartSpace/c:chart/c:title");if(i){let l=G.FindChild(i,"c:tx/c:strRef/c:f");if(l)typeof l=="string"?s.title=l:l.t$&&(s.title=l.t$);else{let c=[],f=G.FindAll(i,"c:tx/c:rich/a:p/a:r");for(let d of f)d["a:t"]&&c.push(d["a:t"]);s.title='"'+c.map(d=>typeof d=="string"?d:d.t$||"").join("")+'"'}}let o=(l,c)=>{let f=[],d=l["c:ser"]||[];Array.isArray(d)||(d=[d]);for(let u of d){let h=f.length,y=u["c:order"];y&&(h=Number(y.a$?.val||0)||0);let w={},N=G.FindChild(u,"c:tx/c:v");if(N){let x=N;x&&(w.title=`"${x}"`)}else N=G.FindChild(u,"c:tx/c:strRef/c:f"),N&&(w.title=N);if(c===4||c===7){let x=G.FindChild(u,"c:xVal/c:numRef/c:f");x&&(w.categories=x);let v=G.FindChild(u,"c:yVal/c:numRef/c:f");if(v&&(w.values=v),c===7){let m=G.FindChild(u,"c:bubbleSize/c:numRef/c:f");m&&(w.bubble_size=m)}}else{let x=G.FindChild(u,"c:val/c:numRef/c:f");x&&(w.values=x);let v=G.FindChild(u,"c:cat/c:strRef/c:f");v||(v=G.FindChild(u,"c:cat/c:numRef/c:f")),v&&(w.categories=v)}f[h]=w}return f},a=G.FindChild(n,"c:chartSpace/c:chart/c:plotArea/c:barChart");if(a&&(s.type=2,a["c:barDir"]&&a["c:barDir"].a$?.val==="col"&&(s.type=1,a["c:grouping"]?.a$?.val==="stacked"&&(s.flags||(s.flags=[]),s.flags.push("stacked"))),s.series=o(a)),a||(a=G.FindChild(n,"c:chartSpace/c:chart/c:plotArea/c:lineChart"),a&&(s.type=3,s.series=o(a))),a||(a=G.FindChild(n,"c:chartSpace/c:chart/c:plotArea/c:doughnutChart"),a&&(s.type=5,s.series=o(a))),a||(a=G.FindChild(n,"c:chartSpace/c:chart/c:plotArea/c:pieChart"),a&&(s.type=6,s.series=o(a))),a||(a=G.FindChild(n,"c:chartSpace/c:chart/c:plotArea/c:scatterChart"),a&&(s.type=4,s.series=o(a,4))),a||(a=G.FindChild(n,"c:chartSpace/c:chart/c:plotArea/c:bubbleChart"),a&&(s.type=7,s.series=o(a,7))),!a){let l=G.FindAll(n,"cx:chartSpace/cx:chart/cx:plotArea/cx:plotAreaRegion/cx:series");if(l?.length){let c=!0,f=!0,d=!0;for(let u of l){let h=u.a$?.layoutId;c&&h!=="clusteredColumn"&&(c=!1),d&&h!=="boxWhisker"&&(d=!1),c&&f&&(G.FindAll(u,"cx:layoutPr/cx:binning").length||(f=!1))}if(f){s.type=9,s.series=[];for(let h of l){if(h.a$?.hidden==="1")continue;let y={},w=G.FindAll(n,"cx:chartSpace/cx:chartData/cx:data"),N=[];for(let v of w)N.push(v["cx:numDim"]?.["cx:f"]||"");y.values=N.join(",");let x=G.FindAll(h,"cx:layoutPr/cx:binning/cx:binCount");if(x[0]){let v=Number(x[0].a$?.val||0);v&&(y.bin_count=v)}s.series.push(y)}let u=G.FindAll(n,"cx:chartSpace/cx:chart/cx:title/cx:tx/cx:txData");return u&&(u[0]?.["cx:f"]?s.title=u[0]["cx:f"]:u[0]?.["cx:v"]&&(s.title='"'+u[0]["cx:v"]+'"')),console.info("histogram",s),s}if(d){s.type=8,s.series=[];let u=G.FindAll(n,"cx:chartSpace/cx:chartData/cx:data");for(let h of l){let y={},w=Number(h["cx:dataId"]?.a$?.val);for(let v of u)if(Number(v.a$?.id)===w){y.values=v["cx:numDim"]?.["cx:f"]||"";break}let N=G.FindAll(h,"cx:tx/cx:txData");N&&(N[0]?.["cx:f"]?y.title=N[0]["cx:f"]:N[0]?.["cx:v"]&&(y.title='"'+N[0]["cx:v"]+'"'));let x=G.FindAll(n,"cx:chartSpace/cx:chart/cx:title/cx:tx/cx:txData");x&&(x[0]?.["cx:f"]?s.title=x[0]["cx:f"]:x[0]?.["cx:v"]&&(s.title='"'+x[0]["cx:v"]+'"')),s.series.push(y)}return s}}}return a||(console.info("Chart type not handled",{xml:n}),s.type=10),s}GetNamedRanges(){return this.named}};var ue=`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
9
+ `,Tt=r=>{if(be(r))return{a$:{rgb:"FF"+r.text.substring(1)}};if(ge(r))return{a$:{theme:Ce(r),tint:r.tint}}},at=class{zip;xmloptions={format:!0,attributesGroupName:"a$",textNodeName:"t$",ignoreAttributes:!1,suppressEmptyNode:!0};xmlbuilder1=cr(this.xmloptions);parser=new Ue;decorated_functions={};Init(e={}){for(let n of Object.keys(e))this.decorated_functions[n.toLowerCase()]=e[n];let t=Cr.toByteArray(Vt);this.zip=new Fe(t.buffer)}WriteRels(e,t,n=!1){if(!this.zip)throw new Error("missing zip");let s=Object.keys(e),i={Relationships:{a$:{xmlns:"http://schemas.openxmlformats.org/package/2006/relationships"},Relationship:s.map(a=>{let l=e[a],c={Id:l.id,Target:l.target,Type:l.type};return l.mode&&(c.TargetMode=l.mode),{a$:c}})}},o=ue+this.xmlbuilder1.build(i);n&&console.info(o),this.zip.Set(t,o)}WriteStyleCache(e){if(!this.zip)throw new Error("missing zip");let t=h=>{let y={};return h.indexed!==void 0&&(y.indexed=h.indexed),h.theme!==void 0&&(y.theme=h.theme),h.tint!==void 0&&(y.tint=h.tint),h.argb!==void 0&&(y.rgb=h.argb),y},n=e.cell_xfs.map(h=>{let y={a$:{numFmtId:h.number_format,fontId:h.font,fillId:h.fill,borderId:h.border}};if(h.horizontal_alignment||h.vertical_alignment||h.wrap_text||h.indent){let w={};h.horizontal_alignment&&(w.horizontal=h.horizontal_alignment),h.vertical_alignment&&(w.vertical=h.vertical_alignment),h.wrap_text&&(w.wrapText=1),h.indent&&h.horizontal_alignment!=="center"&&(w.indent=h.indent),y.alignment={a$:w}}return y}),s=h=>{if(h.color)return{indexed:h.color};if(h.rgba)return{rgb:h.rgba};if(typeof h.theme<"u")return{theme:h.theme,tint:h.tint}},i=e.borders.map(h=>{let y={},w={},N={},x={},v={};if(h.top.style){y.a$={style:h.top.style};let m=s(h.top);m&&(y.color={a$:m})}if(h.left.style){w.a$={style:h.left.style};let m=s(h.left);m&&(w.color={a$:m})}if(h.bottom.style){x.a$={style:h.bottom.style};let m=s(h.bottom);m&&(x.color={a$:m})}if(h.right.style){N.a$={style:h.right.style};let m=s(h.right);m&&(N.color={a$:m})}if(h.diagonal.style){v.a$={style:h.diagonal.style};let m=s(h.diagonal);m&&(v.color={a$:m})}return{left:w,right:N,top:y,bottom:x,diagonal:v}}),o=e.fills.map(h=>({patternFill:{a$:{patternType:h.pattern_gray!==void 0?`gray${h.pattern_gray}`:h.pattern_type},bgColor:h.bg_color?{a$:t(h.bg_color)}:void 0,fgColor:h.fg_color?{a$:t(h.fg_color)}:void 0}})),a=h=>{if(!(typeof h>"u"))return{a$:{val:h}}},l=e.fonts.map(h=>({b:h.bold?"":void 0,i:h.italic?"":void 0,u:h.underline?"":void 0,strike:h.strike?"":void 0,sz:a(h.size),family:a(h.family),name:a(h.name),scheme:a(h.scheme),color:h.color_argb?{a$:{rgb:h.color_argb}}:typeof h.color_theme<"u"?{a$:{theme:h.color_theme,tint:h.color_tint}}:void 0})),c=(h,y)=>{if(y.length)return{a$:{count:y.length},[h]:y}},f=e.dxf_styles.map(h=>{let y={};return(h.text||h.bold||h.italic||h.underline)&&(y.font={b:h.bold?{}:void 0,i:h.italic?{}:void 0,u:h.underline?{}:void 0,strike:h.strike?{}:void 0,color:Tt(h.text)}),h.fill&&(y.fill={patternFill:{bgColor:Tt(h.fill)}}),y}),d={styleSheet:{a$:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main","xmlns:mc":"http://schemas.openxmlformats.org/markup-compatibility/2006","mc:Ignorable":"x14ac x16r2 xr","xmlns:x14ac":"http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac","xmlns:x16r2":"http://schemas.microsoft.com/office/spreadsheetml/2015/02/main","xmlns:xr":"http://schemas.microsoft.com/office/spreadsheetml/2014/revision"},numFmts:e.number_formats.length?{a$:{count:e.number_formats.length},numFmt:e.number_formats.map(h=>({a$:{numFmtId:h.id,formatCode:h.format}}))}:void 0,fonts:c("font",l),fills:c("fill",o),borders:c("border",i),cellXfs:c("xf",n),dxfs:c("dxf",f)}},u=ue+this.xmlbuilder1.build(d);this.zip?.Set("xl/styles.xml",u)}WriteSharedStrings(e){if(!this.zip)throw new Error("missing zip");let t={sst:{a$:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main",count:e.strings.length,uniqueCount:e.strings.length},si:[...e.strings.map(s=>({t:s}))]}},n=ue+this.xmlbuilder1.build(t);this.zip.Set("xl/sharedStrings.xml",n)}SheetStyle(e,t){if(!e.sheet_style)return 0;let n=t.StyleOptionsFromProperties(e.sheet_style);return t.EnsureStyle(n)}RowStyle(e,t,n){let s=e.styles||e.cell_style_refs||[],i=[e.sheet_style];if(e.row_style){let a=e.row_style[n];typeof a=="number"&&(a=s[a]),a&&i.push(a)}let o=t.StyleOptionsFromProperties(Ze.Composite(i));return t.EnsureStyle(o)}ColumnStyle(e,t,n){let s=e.styles||e.cell_style_refs||[],i=[e.sheet_style];if(e.column_style){let a=e.column_style[n];typeof a=="number"&&(a=s[a]),a&&i.push(a)}let o=t.StyleOptionsFromProperties(Ze.Composite(i));return t.EnsureStyle(o)}StyleFromCell(e,t,n,s,i={}){let o=e.styles||e.cell_style_refs||[],a=[e.sheet_style];if(e.row_style){let c=e.row_style[n];typeof c=="number"&&(c=o[c]),c&&a.push(c)}if(e.column_style){let c=e.column_style[s];typeof c=="number"&&(c=o[c]),c&&a.push(c)}a.push(i);let l=t.StyleOptionsFromProperties(Ze.Composite(a));return t.EnsureStyle(l)}NormalizeAddress(e,t){let n=e.type==="address"?[e]:[e.start,e.end];for(let s of n)s.absolute_row=!0,s.absolute_column=!0,s.sheet||(s.sheet=t.name);return e.type==="range"&&(e.end.sheet=void 0),e.label=this.parser.Render(e),e}EnsureRange(e){return e.type==="range"?e:{type:"range",start:e,end:e,label:e.label,id:e.id,position:e.position}}AnnotationLayoutToAnchor(e,t){let n=s=>{let i=t.column_width&&t.column_width[s.address.column]?t.column_width[s.address.column]:t.default_column_width||100,o=t.row_height&&t.row_height[s.address.row]?t.row_height[s.address.row]:t.default_row_height||20;return{...s.address,row_offset:Math.round(s.offset.y*o),column_offset:Math.round(s.offset.x*i)}};return{from:n(e.tl),to:n(e.br)}}AnnotationRectToAnchor(e,t){let n={from:{row:-1,column:-1},to:{row:-1,column:-1}},s={top:0,left:0,width:301,height:301,...e},i={...s,right:s.left+s.width,bottom:s.top+s.height};for(let o=0,a=0;a<1e3;a++){let l=t.column_width&&t.column_width[a]?t.column_width[a]:t.default_column_width||100;if(n.from.column<0&&i.left<=o+l&&(n.from.column=a,n.from.column_offset=i.left-o),n.to.column<0&&i.right<=o+l){n.to.column=a,n.to.column_offset=i.right-o;break}o+=l}for(let o=0,a=0;a<1e3;a++){let l=t.row_height&&t.row_height[a]?t.row_height[a]:t.default_row_height||20;if(n.from.row<0&&i.top<=o+l&&(n.from.row=a,n.from.row_offset=i.top-o),n.to.row<0&&i.bottom<=o+l){n.to.row=a,n.to.row_offset=i.bottom-o;break}o+=l}return n}ParseImages(e){let t=[];for(let n of e.annotations||[])if(n.type==="image"&&n.data?.src){let s=n.data.src,i=s.match(/^data:image\/([^;]*?);base64,/);if(i){let o=s.substr(i[0].length),a=i[1],l={data:o,mimetype:a,encoding:"base64"};switch(a){case"svg+xml":case"webp":case"jpeg":case"jpg":case"image/png":case"png":case"gif":n.layout?t.push({anchor:this.AnnotationLayoutToAnchor(n.layout,e),options:l}):n.rect?t.push({anchor:this.AnnotationRectToAnchor(n.rect,e),options:l}):console.warn("annotation missing layout");break;default:console.info("unhandled image type",a);break}}}return t}ParseCharts(e){let t=[],n=(s,i,o)=>{if(s.type==="range")i.data.push(this.NormalizeAddress(s,e));else if(s.type==="call"){if(/group/i.test(s.name))for(let a of s.args||[])n(a,i,o?o+" (recurse)":void 0);else if(/series/i.test(s.name)){let[a,l,c,f]=s.args;c&&(c.type==="range"||c.type==="address")?(i.data.push(this.EnsureRange(this.NormalizeAddress(c,e))),a&&(i.names||(i.names=[]),a.type==="address"&&this.NormalizeAddress(a,e),a.type==="range"?(this.NormalizeAddress(a.start,e),i.names[i.data.length-1]=a.start):i.names[i.data.length-1]=a),i.labels2||(i.labels2=[]),l&&(l.type==="range"||l.type==="address")&&(i.labels2[i.data.length-1]=this.EnsureRange(this.NormalizeAddress(l,e))),f&&(f.type==="range"||f.type==="address")&&(i.labels3||(i.labels3=[]),i.labels3[i.data.length-1]=this.EnsureRange(this.NormalizeAddress(f,e)))):console.info("invalid series missing Y",{y:c,arg:s,ref:o})}}};for(let s of e.annotations||[]){let i=this.parser.Parse(s.formula||"");if(i.expression&&i.expression.type==="call"){let o="";switch(i.expression.name.toLowerCase()){case"line.chart":o="scatter";break;case"bubble.chart":o="bubble";break;case"scatter.line":o="scatter2";break;case"donut.chart":o="donut";break;case"bar.chart":o="bar";break;case"column.chart":o="column";break}if(o==="column"||o==="donut"||o==="bar"||o==="scatter"||o==="scatter2"||o==="bubble"){let a={type:o,data:[]},l=o==="scatter2"||o==="bubble"?1:2,c=i.expression.args[l];if(c&&c.type==="literal"?a.title=c:c&&c.type==="address"&&(a.title=this.NormalizeAddress(c,e)),i.expression.args[0]){let d=i.expression.args[0];if(o==="scatter2"||o==="bar"||o==="column"||o==="scatter"||o==="bubble")n(d,a,e.name);else if(d.type==="range")a.data.push(this.NormalizeAddress(d,e));else if(d.type==="call"&&/group/i.test(d.name))for(let u of d.args)u.type==="range"?a.data.push(this.NormalizeAddress(u,e)):u.type==="call"&&/series/i.test(u.name)&&u.args[2]&&u.args[2].type==="range"&&a.data.push(this.NormalizeAddress(u.args[2],e));else d.type==="call"&&/series/i.test(d.name)&&d.args[2]&&d.args[2].type==="range"&&a.data.push(this.NormalizeAddress(d.args[2],e))}o!=="scatter2"&&o!=="bubble"&&i.expression.args[1]&&i.expression.args[1].type==="range"&&(a.labels=this.NormalizeAddress(i.expression.args[1],e)),(o==="scatter"&&i.expression.args[4]&&i.expression.args[4].type==="literal"&&i.expression.args[4].value.toString().toLowerCase()==="smooth"||o==="scatter2"&&i.expression.args[2]&&i.expression.args[2].type==="literal"&&/smooth/i.test(i.expression.args[2].value.toString()))&&(a.smooth=!0);let f=s.rect;s.layout?t.push({anchor:this.AnnotationLayoutToAnchor(s.layout,e),options:a}):f?t.push({anchor:this.AnnotationRectToAnchor(f,e),options:a}):console.warn("annotation missing layout")}}}return t}FormulaText(e,t){if(e[0]!=="=")return e;let n=this.parser.Parse(e);if(n.expression){this.parser.Walk(n.expression,i=>{if(i.type==="call"){let o=i.name.toLowerCase();this.decorated_functions[o]&&(i.name=this.decorated_functions[o]+"."+i.name)}return!0});let s=t.table?.name||"";return this.parser.Render(n.expression,{missing:"",long_structured_references:!0,table_name:s})}else return console.warn("parsing function failed"),console.warn(e),e.substring(1)}Export(e){let t=0,n=[];for(let m=0;m<e.sheet_data.length;m++){let b=e.sheet_data[m],P=b.id||0;P&&(n[P]=b.name||""),P===e.active_sheet&&(t=m)}let s=new Se,i=new $e,o=new we,a=this.zip?.Get("xl/theme/theme1.xml");o.FromXML(ce.parse(a||"")?.theme),a=this.zip?.Get("xl/styles.xml"),i.FromXML(ce.parse(a||"")?.styleSheet,o);let l=!1;Be.next_drawing_index=1,Te.next_chart_index=1;let c=[],f=[];for(let m=0;m<e.sheet_data.length;m++){let b=e.sheet_data[m],P={},V={xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main","xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships","xmlns:mc":"http://schemas.openxmlformats.org/markup-compatibility/2006","mc:Ignorable":"x14ac xr xr2 xr3","xmlns:x14ac":"http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac","xmlns:xr":"http://schemas.microsoft.com/office/spreadsheetml/2014/revision","xmlns:xr2":"http://schemas.microsoft.com/office/spreadsheetml/2015/revision2","xmlns:xr3":"http://schemas.microsoft.com/office/spreadsheetml/2016/revision3","xr:uid":"{D37933E2-499F-4789-8D13-194E11B743FC}"},E=b.default_row_height?b.default_row_height/20*15:15,R=b.styles||b.cell_style_refs||[],k=new zt;k.FromJSON(b.data,R);for(let A of b.cell_styles){let W=k.EnsureCell(A);W.style||(W.style=R[A.ref])}let Y={start:{row:k.rows+1,column:k.columns+1},end:{row:k.rows+1,column:k.columns+1}},B=[],U=[],g=[],M=[],$=[],C=[],Z=this.SheetStyle(b,i);for(let A=0;A<k.data.length;A++){let W=this.RowStyle(b,i,A);if(k.data[A]&&k.data[A].length){A<Y.start.row&&(Y.start.row=A);let L={start:-1,end:-1},F=[];for(let T=0;T<k.data[A].length;T++){C[T]||(C[T]=this.ColumnStyle(b,i,T));let S=k.data[A][T];if(S){if(S.table&&S.table.area.start.row===A&&S.table.area.start.column===T){let fe=new q(S.table.area.start,S.table.area.end),Le=f.length+1,Tr=`../tables/table${Le}.xml`,ct=[];for(let se=0;se<fe.columns;se++){let D=k.data[A][T+se],me="";D.type!==2?(typeof D.calculated<"u"?me=D.calculated.toString():typeof D.value<"u"&&(me=D.value.toString()),D.type=2,D.value=me):me=D.value||"",me||(me=`Column${se+1}`);let je=me,dt=!1,Mr=1;for(;!dt;){dt=!0;e:for(let Fr of ct)if(Fr.toLowerCase()===je.toLowerCase()){dt=!1,je=`${me}${++Mr}`;break e}}D.value=je,ct.push(je)}let Ve;if(S.table.totals_row){Ve=[];for(let se=0;se<fe.columns;se++){let D=k.data[fe.end.row][fe.start.column+se];D.type&&(D.type===1?Ve[se]={type:"formula",value:(D.value||"").toString().substring(1)}:(D.type!==2&&(D.type=2,D.value=D.value?.toString()||""),Ve[se]={type:"label",value:D.value}))}}let ft={rel:oe(P,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/table",Tr),index:Le,ref:fe.spreadsheet_label,name:`Table${Le}`,display_name:`Table${Le}`,totals_row_shown:0,totals_row_count:S.table?.totals_row?1:0,columns:ct,footers:Ve};if(S.table.totals_row){let se=new q(fe.start,{row:fe.end.row-1,column:fe.end.column});ft.filterRef=se.spreadsheet_label}$.push(ft),f.push(ft)}if(S.merge_area&&S.merge_area.start.row===A&&S.merge_area.start.column===T&&M.push(new q(S.merge_area.start,S.merge_area.end)),S.hyperlink){let fe=oe(P,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",S.hyperlink,"External");U.push({rel:fe,target:S.hyperlink,address:{row:A,column:T}})}if(S.type===1&&/^=?sparkline\./i.test(S.value)){g.push({address:{row:A,column:T},formula:S.value,style:S.style});continue}T<Y.start.column&&(Y.start.column=T),L.start<0&&(L.start=T),L.end=T;let j=this.StyleFromCell(b,i,A,T,S.style);if(S.type===0&&(W&&j===W||!W&&C[T]&&j===C[T]))continue;let H,le,ne;switch(S.type){case 1:switch(ne=this.FormulaText(S.value,S),S.calculated_type){case 2:H=S.calculated,le="str";break;case 3:H=S.calculated;break;case 4:H=S.calculated?1:0,le="b";break}break;case 2:H=s.Ensure(S.value),le="s";break;case 3:H=S.value;break;case 4:H=S.value?1:0,le="b";break}S.area&&S.area.start.row===A&&S.area.start.column===T&&typeof ne=="string"&&(ne={t$:ne,a$:{t:"array",ref:S.area.spreadsheet_label}});let We;S.spill&&S.spill.start.row===A&&S.spill.start.column===T&&(We=1,l=!0,typeof ne=="string"&&(ne={t$:ne,a$:{t:"array",ref:S.spill.spreadsheet_label}})),F.push({a$:{r:q.CellAddressToLabel({row:A,column:T}),t:le,s:j,cm:We},f:ne,v:H})}}if(F.length||W&&W!==Z){let T,S,j,H;b.row_height&&typeof b.row_height[A]=="number"&&b.row_height[A]!==b.default_row_height&&(T=1,S=b.row_height[A]*3/4),W&&W!==Z&&(j=W,H=1),B.push({a$:{r:A+1,spans:`${L.start+1}:${L.end+1}`,customHeight:T,ht:S,s:j,customFormat:H},c:F})}}}let I=[];for(let A=0;A<b.columns;A++){let W={index:A};b.column_width&&b.default_column_width&&typeof b.column_width[A]=="number"&&b.column_width[A]!==b.default_column_width&&(W.width=De(b.column_width[A]));let L=C[A];L&&L!==Z&&(W.style=L),(W.style!==void 0||W.width!==void 0)&&(I[A]=W)}let _;if(I.length||Z){let A=[],W=De(b.default_column_width||90);{let L=0;for(let F of I)F&&(Z&&F.index>L+1&&A.push({a$:{min:L+1,max:F.index,style:Z,width:W}}),A.push({a$:{min:F.index+1,max:F.index+1,style:F.style===void 0?Z:F.style,width:F.width===void 0?W:F.width,customWidth:F.width===void 0?void 0:1}}),L=F.index);Z&&L<16384&&A.push({a$:{min:L+1,max:16384,style:Z,width:W}}),_={col:A}}}let z;b.data_validations?.length&&(z={a$:{count:b.data_validations.length},dataValidation:b.data_validations.map(A=>{let W=A.target.map(F=>new q(F.start,F.end).spreadsheet_label).join(" "),L;if(A.type==="range"){let F={id:0,type:"range",label:"",position:0,start:{...A.area.start,absolute_column:!0,absolute_row:!0,id:0,label:"",position:0,type:"address"},end:{...A.area.end,absolute_column:!0,absolute_row:!0,id:0,label:"",position:0,type:"address"}};typeof A.area.start.sheet_id<"u"&&(F.start.sheet=n[A.area.start.sheet_id]),L=this.parser.Render(F)}else A.type==="list"&&(L=`"${A.list.join(",")}"`);return{a$:{type:"list",allowBlank:1,showInputMessage:1,showErrorMessage:1,sqref:W},formula1:L}})});let J;$.length&&(J={a$:{count:$.length},tablePart:$.map(A=>({a$:{"r:id":A.rel||""}}))});for(let A of $){let W={};A.totals_row_count&&(W.totalsRowCount=1);let L={a$:{count:(A.columns||[]).length},tableColumn:(A.columns||[]).map((S,j)=>{let H=(A.footers||[])[j];return{a$:{id:j+1,name:S||`Column${j+1}`,totalsRowLabel:H?.type==="label"?H.value:void 0,totalsRowFunction:H?.type==="formula"?"custom":void 0},totalsRowFormula:H?.type==="formula"?H.value:void 0}})},F={table:{a$:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main","xmlns:mc":"http://schemas.openxmlformats.org/markup-compatibility/2006","mc:Ignorable":"xr xr3","xmlns:xr":"http://schemas.microsoft.com/office/spreadsheetml/2014/revision","xmlns:xr3":"http://schemas.microsoft.com/office/spreadsheetml/2016/revision3",id:A.index||0,name:A.name,displayName:A.display_name,...W,ref:A.ref},autoFilter:{a$:{ref:A.filterRef||A.ref}},tableColumns:L,tableStyleInfo:{a$:{name:"TableStyleMedium2",showFirstColumn:0,showLastColumn:0,showRowStripes:1,showColumnStripes:0}}}},T=ue+this.xmlbuilder1.build(F);this.zip?.Set(`xl/tables/table${A.index}.xml`,T)}let Q;if(b.conditional_formats?.length){let A=[],W=1,L={},F=Object.entries(st).map(T=>(L[T[1]]=T[0],T[1]));F.sort((T,S)=>S.length-T.length);for(let T of b.conditional_formats){let S=0;switch(T.type!=="gradient"&&T.type!=="data-bar"&&(S=i.dxf_styles.length,i.dxf_styles.push(T.style)),T.type){case"cell-match":{let j="",H="";for(let le of F)if(new RegExp("^"+le+"\\s").test(T.expression)){j=L[le],H=T.expression.substring(le.length).trim();break}j&&A.push({a$:{sqref:new q(T.area.start,T.area.end).spreadsheet_label},cfRule:{a$:{type:"cellIs",dxfId:S,operator:j,priority:W++},formula:H}})}break;case"expression":A.push({a$:{sqref:new q(T.area.start,T.area.end).spreadsheet_label},cfRule:{a$:{type:"expression",dxfId:S,priority:W++},formula:T.expression}});break;case"duplicate-values":A.push({a$:{sqref:new q(T.area.start,T.area.end).spreadsheet_label},cfRule:{a$:{type:T.unique?"uniqueValues":"duplicateValues",dxfId:S,priority:W++}}});break;case"gradient":{let j=[],H=[];for(let ne of T.stops){ne.value===0?j.push({a$:{type:"min"}}):ne.value===1?j.push({a$:{type:"max"}}):j.push({a$:{type:"percentile",val:ne.value*100}});let We=Tt(ne.color);We&&H.push(We)}let le={a$:{sqref:new q(T.area.start,T.area.end).spreadsheet_label},cfRule:{a$:{type:"colorScale",priority:W++},colorScale:{cfvo:j,color:H}}};A.push(le)}break}}A.length&&(Q=A.length>1?A:A[0])}let Mt;M.length&&(Mt={a$:{count:M.length},mergeCell:M.map(A=>({a$:{ref:A.spreadsheet_label}}))});let Ft;U.length&&(Ft={hyperlink:U.map(A=>({a$:{"r:id":A.rel,ref:new q(A.address).spreadsheet_label,"xr:uid":"{0C6B7792-7EA0-4932-BF15-D49C453C565D}"}}))});let Wt;if(g.length){let A={a$:{"xmlns:xm":"http://schemas.microsoft.com/office/excel/2006/main"},"x14:sparklineGroup":g.map(W=>{let L=this.parser.Parse(W.formula),F="";if(L.expression&&L.expression.type==="call"&&L.expression.args.length>0){let S=L.expression.args[0];if(S.type==="range"||S.type==="address"){let j=S.type==="range"?S.start:S;j.sheet||(typeof j.sheet_id<"u"?j.sheet=n[j.sheet_id]:j.sheet=b.name),F=this.parser.Render(S)}}let T={rgb:"FF376092"};return W.style?.text&&(be(W.style.text)?T.rgb=W.style.text.text:ge(W.style.text)&&(T.rgb=void 0,T.theme=W.style.text.theme.toString(),T.tint=typeof W.style.text.tint=="number"?W.style.text.tint.toString():void 0)),{a$:{displayEmptyCellsAs:"gap",displayHidden:"1",type:/column/i.test(W.formula)?"column":void 0},"x14:colorSeries":{a$:{...T}},"x14:sparklines":{"x14:sparkline":{"xm:f":F,"xm:sqref":new q(W.address).spreadsheet_label}}}})};Wt={ext:{a$:{uri:"{05C60535-1F16-4fd2-B633-F4F36F0B64E0}","xmlns:x14":"http://schemas.microsoft.com/office/spreadsheetml/2009/9/main"},"x14:sparklineGroups":A}}}let _t,Et=this.ParseCharts(b),Gt=this.ParseImages(b);if(Et.length||Gt.length){let A=new Be;for(let F of Et)A.AddChart(F.options,F.anchor);for(let F of Gt)A.AddImage(F.options,F.anchor);for(let{image:F}of A.images)F.options.data&&this.zip?.SetBinary(`xl/media/image${F.index}.${F.extension}`,F.options.data,F.options.encoding);for(let{chart:F}of A.charts){let T=F.toJSON(),S=ue+this.xmlbuilder1.build(T);this.zip?.Set(`xl/charts/chart${F.index}.xml`,S),this.WriteRels(F.relationships,`xl/charts/_rels/chart${F.index}.xml.rels`)}this.WriteRels(A.relationships,`xl/drawings/_rels/drawing${A.index}.xml.rels`);let W=ue+this.xmlbuilder1.build(A.toJSON());this.zip?.Set(`xl/drawings/drawing${A.index}.xml`,W),c.push(A),_t={a$:{"r:id":oe(P,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing",`../drawings/drawing${A.index}.xml`)}}}let lt={};if(b.tab_color){if(ge(b.tab_color))lt.sheetPr={tabColor:{a$:{theme:b.tab_color.theme,tint:b.tab_color.tint}}};else if(be(b.tab_color)){let A=b.tab_color.text||"";/^#[0-9a-fA-F]*$/.test(A)&&(lt.sheetPr={tabColor:{a$:{rgb:"FF"+A.substring(1)}}})}}let Pr={a$:{"x14ac:dyDescent":.25,defaultRowHeight:E===15?void 0:E,customHeight:E===15?void 0:1,defaultColWidth:b.default_column_width?De(b.default_column_width):void 0}},Sr={worksheet:{a$:{...V},...lt,dimension:{a$:{ref:new q(Y.start,Y.end).spreadsheet_label}},sheetViews:{sheetView:{a$:{workbookViewId:0}}},sheetFormatPr:Pr,cols:_,sheetData:{row:B},mergeCells:Mt,conditionalFormatting:Q,dataValidations:z,hyperlinks:Ft,pageMargins:{a$:{left:.7,right:.7,top:.75,bottom:.75,header:.3,footer:.3}},drawing:_t,tableParts:J,extLst:Wt}},$r=ue+this.xmlbuilder1.build(Sr);this.zip?.Set(`xl/worksheets/sheet${m+1}.xml`,$r),Object.keys(P).length&&this.WriteRels(P,`xl/worksheets/_rels/sheet${m+1}.xml.rels`)}this.WriteSharedStrings(s),this.WriteStyleCache(i);let d={};oe(d,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles","styles.xml"),oe(d,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme","theme/theme1.xml"),oe(d,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings","sharedStrings.xml");let u=e.sheet_data.map((m,b)=>oe(d,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet",`worksheets/sheet${b+1}.xml`));if(l){let m={metadata:{a$:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main","xmlns:xda":"http://schemas.microsoft.com/office/spreadsheetml/2017/dynamicarray"},metadataTypes:{a$:{count:1},metadataType:{a$:{name:"XLDAPR",minSupportedVersion:"120000",copy:1,pasteAll:1,pasteValues:1,merge:1,splitFirst:1,rowColShift:1,clearFormats:1,clearComments:1,assign:1,coerce:1,cellMeta:1}}},futureMetadata:{a$:{name:"XLDAPR",count:1},bk:{extLst:{ext:{a$:{uri:"{bdbb8cdc-fa1e-496e-a857-3c3f30c029c3}"},"xda:dynamicArrayProperties":{a$:{fDynamic:1,fCollapsed:"0"}}}}}},cellMetadata:{a$:{count:1},bk:{rc:{a$:{t:1,v:"0"}}}}}},b=ue+this.xmlbuilder1.build(m);this.zip?.Set("xl/metadata.xml",b),oe(d,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata","metadata.xml")}this.WriteRels(d,"xl/_rels/workbook.xml.rels");let h=e.named?.length?{definedName:(e.named||[]).map(m=>{let b;if(m.scope){let P=m.scope.toLowerCase();for(let[V,E]of e.sheet_data.entries())if(E.name?.toLowerCase()===P){b=V.toString();break}}return{a$:{name:m.name,localSheetId:b},t$:m.expression}})}:void 0,y={workbook:{a$:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main","xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships","xmlns:mc":"http://schemas.openxmlformats.org/markup-compatibility/2006","mc:Ignorable":"x15 xr xr6 xr10 xr2","xmlns:x15":"http://schemas.microsoft.com/office/spreadsheetml/2010/11/main","xmlns:xr":"http://schemas.microsoft.com/office/spreadsheetml/2014/revision","xmlns:xr6":"http://schemas.microsoft.com/office/spreadsheetml/2016/revision6","xmlns:xr10":"http://schemas.microsoft.com/office/spreadsheetml/2016/revision10","xmlns:xr2":"http://schemas.microsoft.com/office/spreadsheetml/2015/revision2"},workbookPr:{a$:{defaultThemeVersion:"166925"}},bookViews:{workbookView:{a$:{activeTab:t||0}}},sheets:{sheet:e.sheet_data.map((m,b)=>({a$:{name:m.name||`Sheet${b+1}`,sheetId:b+1,"r:id":u[b],state:m.visible===!1?"hidden":void 0}}))},definedNames:h}},w=ue+this.xmlbuilder1.build(y);this.zip?.Set("xl/workbook.xml",w);let N={};for(let m of c)for(let b of m.images)switch(b.image.extension){case"gif":case"png":case"jpeg":N[b.image.extension]="image/"+b.image.extension;break;case"svg":N.svg="image/svg+xml";break}let x={Types:{a$:{xmlns:"http://schemas.openxmlformats.org/package/2006/content-types"},Default:[{a$:{Extension:"rels",ContentType:"application/vnd.openxmlformats-package.relationships+xml"}},{a$:{Extension:"xml",ContentType:"application/xml"}},...Object.keys(N).map(m=>({a$:{Extension:m,ContentType:N[m]}}))],Override:[{a$:{PartName:"/xl/workbook.xml",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"}},...e.sheet_data.map((m,b)=>({a$:{ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",PartName:`/xl/worksheets/sheet${b+1}.xml`}})),...c.reduce((m,b)=>m.concat([...b.charts.map(P=>({a$:{ContentType:"application/vnd.openxmlformats-officedocument.drawingml.chart+xml",PartName:`/xl/charts/chart${P.chart.index}.xml`}})),{a$:{ContentType:"application/vnd.openxmlformats-officedocument.drawing+xml",PartName:`/xl/drawings/drawing${b.index}.xml`}}]),[]),{a$:{PartName:"/xl/theme/theme1.xml",ContentType:"application/vnd.openxmlformats-officedocument.theme+xml"}},{a$:{PartName:"/xl/styles.xml",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml"}},{a$:{PartName:"/xl/sharedStrings.xml",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml"}},...l?[{a$:{PartName:"/xl/metadata.xml",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml"}}]:[],...f.map(m=>({a$:{ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml",PartName:`/xl/tables/table${m.index||0}.xml`}})),{a$:{PartName:"/docProps/core.xml",ContentType:"application/vnd.openxmlformats-package.core-properties+xml"}},{a$:{PartName:"/docProps/app.xml",ContentType:"application/vnd.openxmlformats-officedocument.extended-properties+xml"}}]}},v=ue+this.xmlbuilder1.build(x);this.zip?.Set("[Content_Types].xml",v)}ArrayBuffer(){if(!this.zip)throw new Error("missing zip");return this.zip.ArrayBuffer()}Blob(){if(!this.zip)throw new Error("missing zip");let e=this.zip.ArrayBuffer();return new Blob([e],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"})}};var Zr=He(Je());var ot=class{parser=new Ue;workbook;zip;Init(e){this.zip=new Fe(e),this.workbook=new it(this.zip),this.workbook.Init()}SheetCount(){return this.workbook?.sheet_count||0}ParseCell(e,t,n,s,i,o,a){let l=t.$attributes?.r;if(l===void 0){console.warn("cell missing address");return}let c=e.TranslateAddress(l);if(Ae(c)){console.warn("cell has range address");return}let f={};if(t.$attributes?.cm!==void 0){let x=t.$attributes.cm;this.workbook?.metadata&&(f=Ir(this.workbook.metadata,"cell",x).flags)}let d,u="undefined",h,y="undefined";if(t.$attributes?.t==="s"){if(u="string",t.v?.$text!==void 0){let x=Number(t.v.$text);!isNaN(x)&&e.shared_strings&&(d=e.shared_strings.Get(x)||"",d[0]==="="&&(d="'"+d))}}else if(t.f!==void 0){u="formula";let x=t.f.$text||"";if(x){if(d="="+x.replace(/^_xll\./g,""),/#REF/.test(x))d=x;else{let v=this.parser.Parse(x);if(v.expression){let m=P=>(/^_xll\./.test(P)&&(P=P.substring(5)),/^_xlfn\./.test(P)&&(P=P.substring(6)),/^_xlws\./.test(P)&&(P=P.substring(6)),P),b=P=>{if(P.type==="call"){if(/^_xlfn\.single/i.test(P.name)){let V=P.args[0];if(V.type==="call"){let E=JSON.parse(JSON.stringify(V));E.name="@"+m(E.name);for(let R=0;R<E.args.length;R++)E.args[R]=this.parser.Walk2(E.args[R],b);return E}else console.info("_xlfn.SINGLE unexpected argument",P.args[0])}if(P.name=m(P.name),P.name==="ANCHORARRAY"&&P.args.length===1&&P.args[0].type==="address")return{...P.args[0],spill:!0}}return!0};v.expression=this.parser.Walk2(v.expression,b),d="="+this.parser.Render(v.expression,{missing:""})}}t.f.$attributes?.t==="shared"&&t.f.$attributes.si!==void 0&&(n[t.f.$attributes.si]={row:c.row-1,column:c.col-1,formula:d,parse_result:this.parser.Parse(d)})}else if(t.f.$attributes?.t==="shared"&&t.f.$attributes.si!==void 0){let v=n[t.f.$attributes.si];v&&(v.parse_result.expression?d="="+this.parser.Render(v.parse_result.expression,{offset:{rows:c.row-1-v.row,columns:c.col-1-v.column},missing:""}):d=v.formula)}if(t.f.$attributes?.t==="array"){let m=e.TranslateAddress(t.f.$attributes.ref??"");Ae(m)||(m={to:{...m},from:{...m},sheet:m.sheet}),f["dynamic-array"]?i.push(rt(m,-1,-1)):s.push(rt(m,-1,-1))}if(t.v!==void 0){let v=t.v?.$text??"",m=Number(v);isNaN(m)?(y="string",h=v):(y="number",h=m)}}else if(t.v!==void 0){let x=Number(t.v.$text||"");isNaN(x)?(u="string",d=t.v.$text||""):(u="number",d=x)}let w={row:c.row-1,col:c.col-1};for(let x of[s,i])for(let v of x)ke(v,w)&&(w.row!==v.from.row||w.col!==v.from.col)&&(y=u,h=d,d=void 0,u="undefined");let N={row:w.row,column:w.col,value:d,type:u};typeof h<"u"&&(N.calculated_type=y,N.calculated=h),t.$attributes?.s!==void 0&&(N.style_ref=t.$attributes.s);for(let x of a)x.address.row===c.row&&x.address.col===c.col&&(N.hyperlink=x.reference);for(let x of o)ke(x,w)&&(N.merge_area={start:{row:x.from.row,column:x.from.col},end:{row:x.to.row,column:x.to.col}});for(let x of i)ke(x,w)&&(N.spill={start:{row:x.from.row,column:x.from.col},end:{row:x.to.row,column:x.to.col}});for(let x of s)ke(x,w)&&(N.area={start:{row:x.from.row,column:x.from.col},end:{row:x.to.row,column:x.to.col}});return N}AddressToArea(e){return Me(e)?{start:{row:e.row-1,column:e.col-1},end:{row:e.row-1,column:e.col-1}}:{start:{row:e.from.row-1,column:e.from.col-1},end:{row:e.to.row-1,column:e.to.col-1}}}ParseConditionalFormat(e,t,n=[]){let s=this.AddressToArea(e),i=st;switch(t.$attributes?.type){case"duplicateValues":case"uniqueValues":{let o={};return t.$attributes.dxfId!==void 0&&(o=this.workbook?.style_cache.dxf_styles[t.$attributes.dxfId]||{}),{type:"duplicate-values",area:s,style:o,unique:t.$attributes.type==="uniqueValues",priority:t.$attributes.priority}}case"cellIs":if(t.$attributes.operator&&t.formula){let o={};if(t.$attributes.dxfId!==void 0&&(o=this.workbook?.style_cache.dxf_styles[t.$attributes.dxfId]||{}),t.$attributes.operator==="between"&&Array.isArray(t.formula)&&t.formula.length===2)return{type:"cell-match",expression:"",between:[Number(t.formula[0]?.$text||""),Number(t.formula[1]?.$text||"")],area:s,style:o,priority:t.$attributes.priority};let a=i[t.$attributes.operator||""];if(!a)console.info("unhandled cellIs operator:",t.$attributes.operator,{rule:t});else return{type:"cell-match",expression:a+" "+t.formula,area:s,style:o,priority:t.$attributes.priority}}else console.info("miss?",t);break;case"containsErrors":case"notContainsErrors":case"expression":if(t.formula){let a=Oe(t.formula)?.$text||"",l={};if(t.$attributes.dxfId!==void 0&&(l=this.workbook?.style_cache.dxf_styles[t.$attributes.dxfId]||{}),t.$attributes.type==="expression"&&(s.start.row!==s.end.row||s.start.column!==s.end.column)){this.parser.Save(),this.parser.SetLocaleSettings(".");let c=[],f=new q(s.start,s.end),d=this.parser.Parse(a);if(d.expression)for(let u of f){let h=this.parser.Render(d.expression,{missing:"",offset:{rows:u.row-s.start.row,columns:u.column-s.start.column}});c.push({type:"expression",expression:h,style:l,area:{start:u,end:u},priority:t.$attributes.priority})}return this.parser.Restore(),c}return{type:"expression",expression:a,area:s,style:l,priority:t.$attributes.priority}}break;case"dataBar":{let o=t.dataBar?.$attributes?.showValue??!0,a;if(O(t.extLst?.ext,l=>{if(l.id!==void 0)for(let c of n)return O(c.cfRule,f=>{if(f.$attributes?.id===l.id)return a=c,!1})}),a||console.info("conditional format extension not found"),t.dataBar?.color?.$attributes?.rgb){let l,f=Oe(a?.cfRule)?.dataBar?.negativeFillColor?.$attributes?.rgb;f!==void 0&&(l={text:"#"+f.toString().substring(2)});let d={text:"#"+t.dataBar.color.$attributes.rgb.substring(2)};return{type:"data-bar",area:s,fill:d,hide_values:!o,negative:l}}}break;case"colorScale":if(t.colorScale&&Array.isArray(t.colorScale.cfvo)&&Array.isArray(t.colorScale.color)){let o=[];for(let[a,l]of t.colorScale.cfvo.entries()){let c=0,f={},d=t.colorScale.color[a];switch(d.$attributes?.rgb?f.text="#"+d.$attributes.rgb.substring(2):d.$attributes?.theme&&(f.theme=Number(d.$attributes.theme)||0,d.$attributes.tint&&(f.tint=Math.round(Number(d.$attributes.tint)*1e3)/1e3)),l.$attributes?.type){case"min":c=0;break;case"max":c=1;break;case"percentile":c=(Number(l.$attributes.val)||0)/100;break}o.push({color:f,value:c})}return{type:"gradient",stops:o,color_space:"RGB",area:s,priority:t.$attributes.priority}}else console.info("unexpected colorScale",{rule:t});break;default:console.info("unhandled cf type:",{rule:t})}}GetSheet(e=0){if(!this.workbook)throw new Error("missing workbook");let t=this.workbook.sheets[e],n=[],s={},i=[],o=[],a=[],l=[],c=[],f=[],d=[],u=[],h=t.root.sheetPr?.tabColor,y;if(h&&(h.$attributes?.theme!==void 0&&(y={theme:h.$attributes.theme},h.$attributes.tint!==void 0&&(y.tint=h.$attributes.tint)),h.$attributes?.rgb!==void 0)){let g=h.$attributes.rgb;y={text:"#"+(g.length>6?g.substr(g.length-6):g)}}let w=[];O(t.root.extLst?.ext,g=>{w.push(...xe(g.conditionalFormattings?.conditionalFormatting))}),O(t.root.conditionalFormatting,g=>{if(g.$attributes?.sqref){let M=g.$attributes.sqref.split(/\s+/);for(let $ of M){let C=t.TranslateAddress($);g.cfRule&&O(g.cfRule,Z=>{let I=this.ParseConditionalFormat(C,Z,w);I&&(Array.isArray(I)?l.push(...I):l.push(I))})}}}),O(t.root.mergeCells?.mergeCell,g=>{if(g.$attributes?.ref){let M=t.TranslateAddress(g.$attributes.ref);Ae(M)&&a.push(rt(M,-1,-1))}}),O(t.root.dataValidations?.dataValidation,g=>{let M=g.$attributes?.type,$=g.$attributes?.sqref,C=g.formula1?.$text||"";if($&&C&&M==="list"){let Z,I=this.parser.Parse($),_=[];I.expression&&(I.expression.type==="address"?_.push({start:I.expression,end:I.expression}):I.expression.type==="range"&&_.push(I.expression)),I=this.parser.Parse(C),I.expression&&(I.expression.type==="range"?Z={type:"range",area:I.expression,target:_}:I.expression.type==="literal"&&(Z={type:"list",target:_,list:I.expression.value.toString().split(/,/).map(z=>{let J=Number(z);return isNaN(J)?z.toLowerCase()==="true"?!0:z.toLowerCase()==="false"?!1:z:J})})),_.length&&Z&&d.push(Z)}}),O(t.root.hyperlinks?.hyperlink,g=>{let M=t.TranslateAddress(g.$attributes?.ref||"");Ae(M)&&(M=M.from);let $="",C="";if(g.$attributes?.id!==void 0){$="remote link";let Z=t.rels[g.$attributes.id];Z&&(C=Z.target||"")}else C=g.$attributes?.location||"",$=g.$attributes?.display||"";c.push({address:M,reference:C,text:$})});let N=21,x=100,v=t.root.sheetFormatPr;v&&(v.$attributes?.defaultColWidth!==void 0&&(x=ut(v.$attributes.defaultColWidth)),v.$attributes?.defaultRowHeight&&(N=Math.round(v.$attributes.defaultRowHeight*4/3)));let m=[],b=[];O(t.root.sheetData.row,g=>{let M=g.$attributes?.r??1,$=N;g.$attributes?.ht!==void 0&&($=Math.round(g.$attributes.ht*4/3)),g.$attributes?.outlineLevel!==void 0&&(b[M-1]=g.$attributes?.outlineLevel),g.$attributes?.s!==void 0&&(f[M-1]=g.$attributes.s),$!==N&&(m[M-1]=$),O(g.c,C=>{let Z=this.ParseCell(t,C,s,i,o,a,c);Z&&n.push(Z)})});let P=[],V=-1,E=[];O(t.root.cols,g=>{O(g.col,M=>{let $=M.$attributes?.min??0,C=M.$attributes?.max??0;if(M.$attributes?.style!==void 0){let Z=M.$attributes.style;if(t.extent&&C>=t.extent.to.col||C-$>100)V=Z;else for(let I=$;I<=C;I++)P[I]=Z}if(M.$attributes?.customWidth){let Z=M.$attributes.width??0;if(C!==16384){Z=ut(Z);for(let I=$;I<=C;I++)E[I-1]=Z}}})}),O(t.root.tableParts,g=>{O(g.tablePart,M=>{let $=M.$attributes?.id;if($!==void 0){let C="",Z=t.rels[$];if(Z){C=Z.target||"";let I=this.workbook?.ReadTable(C);if(I){let _=t.TranslateAddress(I.ref),z=Me(_)?{start:{row:_.row-1,column:_.col-1},end:{row:_.row-1,column:_.col-1}}:{start:{row:_.from.row-1,column:_.from.col-1},end:{row:_.to.row-1,column:_.to.col-1}};for(let J of n)if(J.row===z.start.row&&J.column===z.start.column){J.table={area:z,name:I.name,totals_row:!!I.totals_row_count};break}}}}})});let R=[],k=[],Y=[];if(this.workbook){let g=this.workbook;O(t.root.drawing,M=>{let $=M.$attributes?.id;if($!==void 0){let C="",Z=t.rels[$];if(Z&&(C=Z.target||""),C){let I=g.ReadDrawing(C);if(I&&I.length)for(let _ of I)switch(_.type){case"chart":R.push(_);break;case"image":k.push(_);break;case"textbox":Y.push(_);break}}}})}let B=g=>{let M={address:{row:g.row,column:g.column},offset:{x:0,y:0}};if(g.row_offset){let $=m[g.row];$===void 0&&($=N),M.offset.y=g.row_offset/9525/$}if(g.column_offset){let $=E[g.column];$===void 0&&($=x),M.offset.x=g.column_offset/9525/$}return M};for(let g of Y){let $={layout:{tl:B(g.anchor.from),br:B(g.anchor.to)},type:"textbox",data:{style:g.style,paragraphs:g.paragraphs}};g.reference&&($.formula="="+g.reference),u.push($)}for(let g of k)if(g&&g.image){let M={tl:B(g.anchor.from),br:B(g.anchor.to)},$="image",C=Zr.default.fromByteArray(g.image),Z="";if(g.filename&&(/jpe*g$/i.test(g.filename)?Z="jpeg":/png$/i.test(g.filename)?Z="png":/gif$/i.test(g.filename)&&(Z="gif")),Z&&C){let I="data:image/"+Z+";base64,"+C;u.push({layout:M,type:$,data:{src:I}})}}for(let g of R)if(g&&g.chart){let M={tl:B(g.anchor.from),br:B(g.anchor.to)},$,C=[],Z="",I=g.chart?.series;switch(g.chart.type){case 7:$="treb-chart",Z="Bubble.Chart",I&&I.length&&(C[0]=`Group(${I.map(z=>`Series(${[z.title||"",z.values||"",z.categories||"",z.bubble_size||""].join(", ")})`).join(", ")})`),C[1]=g.chart.title;break;case 9:$="treb-chart",Z="Histogram.Plot",I?.length,C[1]=g.chart.title;break;case 8:$="treb-chart",Z="Box.Plot",I?.length&&(C[0]=`Group(${I.map(z=>`Series(${z.title||""},,${z.values||""})`).join(", ")})`),C[1]=g.chart.title;break;case 4:$="treb-chart",Z="Scatter.Line",I&&I.length&&(C[0]=`Group(${I.map(z=>`Series(${z.title||""},${z.categories||""},${z.values||""})`).join(", ")})`),C[1]=g.chart.title;break;case 5:case 6:Z=g.chart.type===5?"Donut.Chart":"Pie.Chart",$="treb-chart",I&&I[0]&&(C[0]=I[0].values,C[1]=I[0]?.categories||""),C[2]=g.chart.title;break;case 2:case 1:case 3:switch(C[2]=g.chart.title,$="treb-chart",g.chart.type){case 2:Z="Bar.Chart";break;case 1:Z="Column.Chart";break;default:Z="Line.Chart"}I&&(I.length>1?C[0]=`Group(${I.map(z=>`Series(${z.title||""},,${z.values||""})`).join(", ")})`:I.length===1&&(I[0].title?C[0]=`Series(${I[0].title||""},,${I[0].values||""})`:C[0]=I[0].values),C[1]=I[0]?.categories||""),g.chart.type===1&&g.chart.flags?.includes("stacked")&&(C[3]='"stacked"');break}let _=`=${Z}(${C.join(", ")})`;$&&_&&u.push({layout:M,type:$,formula:_})}O(t.root.extLst?.ext,g=>{O(g.sparklineGroups?.sparklineGroup,M=>{let $="Sparkline.line",C="",Z="";if(M.$attributes?.type==="column"&&($="Sparkline.column"),O(M.sparklines.sparkline,I=>{Z=I.f?.$text??"",C=I.sqref?.$text??""}),Z&&C){let I=`=${$}(${Z})`,_=t.TranslateAddress(C);if(Me(_)){let z={row:_.row-1,column:_.col-1,value:I,type:"formula"},J=!1;for(let Q of n)if(Q.row===z.row&&Q.column===z.column){J=!0,Q.type="formula",Q.value=I;break}J||n.push(z)}}})});let U={name:t.options.name,cells:n,default_column_width:x,column_widths:E,row_heights:m,tab_color:y,row_styles:f,annotations:u,conditional_formats:l,data_validations:d,styles:this.workbook?.style_cache?.CellXfToStyles()||[]};return b.length&&(U.outline=b),(t.visible_state===1||t.visible_state===2)&&(U.hidden=!0),V>=0&&(U.sheet_style=V),P.length&&(U.column_styles=P),U}};function ya(){console.info("AOP")}Bt().then(r=>{let e=new at,t=s=>{if(s.sheet){e.Init(s.decorated||[]),e.Export(s.sheet);let i={type:"export-complete",blob:e.Blob()};r.postMessage(i)}},n=s=>{let i=new ot;try{i.Init(s.data);let o=i.workbook?.GetNamedRanges(),a=i.SheetCount(),l={sheets:[],named:o,active_tab:i.workbook?.active_tab};for(let f=0;f<a;f++){let d=i.GetSheet(f);d&&l.sheets.push(d)}for(let f of o||[])if(typeof f.local_scope=="number"){let d=l.sheets[f.local_scope];d&&(f.scope=d.name)}let c={type:"import-complete",results:l};r.postMessage(c)}catch(o){console.warn("error importing xlsx file"),console.info(o);let a={type:"import-error",error:o};r.postMessage(a)}};r.addEventListener("message",s=>{s.data&&s.data.type==="export"?t(s.data):s.data&&s.data.type==="import"&&n(s.data)})});export{ya as AttachInProcess};