From 03588e332c7d0b10c1823e74b1168c7f1c7cb31d Mon Sep 17 00:00:00 2001 From: SheetJS Date: Thu, 3 Apr 2014 15:51:54 -0700 Subject: [PATCH] version bump 0.5.16: content types et al - added `bookVBA` option - content type default corner cases - fleshed out content type list - XML parsing ignores namespaces - updated SSF to 0.6.4 - testA tets enforce sheetRows=10 (shorter tests) --- README.md | 2 + bits/10_ssf.js | 57 +++++---- bits/31_version.js | 2 +- bits/36_xlsxutils.js | 13 +- bits/60_opc.js | 170 ++++++++++++++++++++++--- bits/63_cmntxml.js | 10 +- bits/72_wsxml.js | 9 +- bits/77_wbxml.js | 9 +- bits/84_defaults.js | 2 + bits/85_parsezip.js | 16 ++- dist/xlsx.js | 288 +++++++++++++++++++++++++++++++++---------- dist/xlsx.min.js | 6 +- dist/xlsx.min.map | 2 +- package.json | 4 +- test.js | 24 +++- testA.lst | 1 + tests.lst | 2 + tests/files | 2 +- xlsx.js | 288 +++++++++++++++++++++++++++++++++---------- 19 files changed, 706 insertions(+), 201 deletions(-) create mode 100644 testA.lst diff --git a/README.md b/README.md index 9d37442..2769acc 100644 --- a/README.md +++ b/README.md @@ -84,6 +84,7 @@ The exported `read` and `readFile` functions accept an options argument: | bookFiles | false | If true, add raw files to book object ** | | bookProps | false | If true, only parse enough to get book metadata ** | | bookSheets | false | If true, only parse enough to get the sheet names | +| bookVBA | false | If true, expose vbaProject.bin to `vbaraw` field ** | - `cellFormula` only applies to constructing XLSB formulae. XLSX/XLSM formulae are stored in plaintext, but XLSB formulae are stored in a binary format. @@ -95,6 +96,7 @@ The exported `read` and `readFile` functions accept an options argument: keys are paths and values are objects representing the files) - `sheetRows-1` rows will be generated when looking at the JSON object output (since the header row is counted as a row when parsing the data) +- `bookVBA` merely exposes the raw vba object. It does not parse the data. The defaults are enumerated in bits/84_defaults.js diff --git a/bits/10_ssf.js b/bits/10_ssf.js index 54a6210..9d70bc4 100644 --- a/bits/10_ssf.js +++ b/bits/10_ssf.js @@ -6,14 +6,13 @@ var _strrev = function(x) { return String(x).split("").reverse().join("");}; function fill(c,l) { return new Array(l+1).join(c); } function pad(v,d,c){var t=String(v);return t.length>=d?t:(fill(c||0,d-t.length)+t);} function rpad(v,d,c){var t=String(v);return t.length>=d?t:(t+fill(c||0,d-t.length));} -SSF.version = '0.6.2'; +SSF.version = '0.6.4'; /* Options */ var opts_fmt = {}; function fixopts(o){for(var y in opts_fmt) if(o[y]===undefined) o[y]=opts_fmt[y];} SSF.opts = opts_fmt; opts_fmt.date1904 = 0; opts_fmt.output = ""; -opts_fmt.mode = ""; var table_fmt = { 0: 'General', 1: '0', @@ -116,7 +115,8 @@ var general_fmt = function(v) { throw new Error("unsupported value in General format: " + v); }; SSF._general = general_fmt; -var parse_date_code = function parse_date_code(v,opts) { +function fix_hijri(date, o) { } +var parse_date_code = function parse_date_code(v,opts,b2) { var date = Math.floor(v), time = Math.floor(86400 * (v - date)+1e-6), dow=0; var dout=[], out={D:date, T:time, u:86400*(v-date)-time}; fixopts(opts = (opts||{})); if(opts.date1904) date += 1462; @@ -125,8 +125,8 @@ var parse_date_code = function parse_date_code(v,opts) { out.u = 0; if(++time == 86400) { time = 0; ++date; } } - if(date === 60) {dout = [1900,2,29]; dow=3;} - else if(date === 0) {dout = [1900,1,0]; dow=6;} + if(date === 60) {dout = b2 ? [1317,10,29] : [1900,2,29]; dow=3;} + else if(date === 0) {dout = b2 ? [1317,8,29] : [1900,1,0]; dow=6;} else { if(date > 60) --date; /* 1 = Jan 1 1900 */ @@ -134,7 +134,8 @@ var parse_date_code = function parse_date_code(v,opts) { d.setDate(d.getDate() + date - 1); dout = [d.getFullYear(), d.getMonth()+1,d.getDate()]; dow = d.getDay(); - if(/* opts.mode === 'excel' && */ date < 60) dow = (dow + 6) % 7; + if(date < 60) dow = (dow + 6) % 7; + if(b2) dow = fix_hijri(d, dout); } out.y = dout[0]; out.m = dout[1]; out.d = dout[2]; out.S = time % 60; time = Math.floor(time / 60); @@ -147,13 +148,15 @@ SSF.parse_date_code = parse_date_code; /*jshint -W086 */ var write_date = function(type, fmt, val) { if(val < 0) return ""; - var o, ss; + var o, ss, y = val.y; switch(type) { - case 'y': switch(fmt) { /* year */ - case 'y': case 'yy': return pad(val.y % 100,2); - default: return pad(val.y % 10000,4); + case 'b': y = val.y + 543; + /* falls through */ + case 'y': switch(fmt.length) { /* year */ + case 1: case 2: return pad(y % 100,2); + default: return pad(y % 10000,4); } - case 'm': switch(fmt) { /* month */ + case 'm': switch(fmt) { case 'm': return val.m; case 'mm': return pad(val.m,2); case 'mmm': return months[val.m-1][1]; @@ -261,15 +264,15 @@ var write_num = function(type, fmt, val) { return val < 0 ? "-" + write_num(type, fmt, -val) : commaify(String(Math.floor(val))) + "." + pad(rr,r[1].length,0); } if((r = fmt.match(/^#,#*,#0/))) return write_num(type,fmt.replace(/^#,#*,/,""),val); - if((r = fmt.match(/^([0#]+)-([0#]+)$/))) { - ff = write_num(type, fmt.replace(/-/,""), val); + if((r = fmt.match(/^([0#]+)\\?-([0#]+)$/))) { + ff = write_num(type, fmt.replace(/[\\-]/g,""), val); return ff.substr(0,ff.length - r[2].length) + "-" + ff.substr(ff.length-r[2].length); } - if((r = fmt.match(/^([0#]+)-([0#]+)-([0#]+)$/))) { - ff = write_num(type, fmt.replace(/-/g,""), val); + if((r = fmt.match(/^([0#]+)\\?-([0#]+)\\?-([0#]+)$/))) { + ff = write_num(type, fmt.replace(/[\\-]/g,""), val); return ff.substr(0,ff.length - r[2].length - r[3].length) + "-" + ff.substr(ff.length-r[2].length - r[3].length, r[2].length) + "-" + ff.substr(ff.length-r[3].length); } - if(fmt == "(###) ###-####") { + if(fmt.match(/\(###\) ###\\?-####/)) { ff = write_num(type, "##########", val); return "(" + ff.substr(0,3) + ") " + ff.substr(3, 3) + "-" + ff.substr(6); } @@ -318,7 +321,7 @@ function eval_fmt(fmt, v, opts, flen) { while(i < fmt.length) { switch((c = fmt[i])) { case 'G': /* General */ - if(fmt.substr(i, i+6).toLowerCase() !== "general") + if(fmt.substr(i, 7).toLowerCase() !== "general") throw new Error('unrecognized character ' + fmt[i] + ' in ' +fmt); out.push({t:'G',v:'General'}); i+=7; break; case '"': /* Literal text */ @@ -329,7 +332,12 @@ function eval_fmt(fmt, v, opts, flen) { case '_': out.push({t:'t', v:" "}); i+=2; break; case '@': /* Text Placeholder */ out.push({t:'T', v:v}); ++i; break; - /* Dates */ + case 'B': case 'b': + if(fmt[i+1] === "1" || fmt[i+1] === "2") { + if(!dt) dt = parse_date_code(v, opts, fmt[i+1] === "2"); + q={t:'X', v:fmt.substr(i,2)}; out.push(q); lst = c; i+=2; break; + } + /* falls through */ case 'M': case 'D': case 'Y': case 'H': case 'S': case 'E': c = c.toLowerCase(); /* falls through */ @@ -351,7 +359,7 @@ function eval_fmt(fmt, v, opts, flen) { else if(fmt.substr(i,5) === "AM/PM") { q.v = dt.H >= 12 ? "PM" : "AM"; q.t = 'T'; i+=5; hr='h'; } else { q.t = "t"; i++; } out.push(q); lst = c; break; - case '[': /* TODO: Fix this -- ignore all conditionals and formatting */ + case '[': o = c; while(fmt[i++] !== ']' && i < fmt.length) o += fmt[i]; if(o.substr(-1) !== ']') throw 'unterminated "[" block: |' + o + '|'; @@ -363,7 +371,7 @@ function eval_fmt(fmt, v, opts, flen) { break; /* Numbers */ case '0': case '#': case '.': - o = c; while("0#?.,E+-%".indexOf(c=fmt[++i]) > -1) o += c; + o = c; while("0#?.,E+-%".indexOf(c=fmt[++i]) > -1 || c=='\\' && fmt[i+1] == "-" && "0#".indexOf(fmt[i+2])>-1) o += c; out.push({t:'n', v:o}); break; case '?': o = fmt[i]; while(fmt[++i] === c) o+=c; @@ -375,7 +383,7 @@ function eval_fmt(fmt, v, opts, flen) { out.push({t:'D', v:o}); break; case ' ': out.push({t:c,v:c}); ++i; break; default: - if(",$-+/():!^&'~{}<>=€".indexOf(c) === -1) + if(",$-+/():!^&'~{}<>=€acfijklopqrtuvwxz".indexOf(c) === -1) throw 'unrecognized character ' + fmt[i] + ' in ' + fmt; out.push({t:'t', v:c}); ++i; break; } @@ -388,6 +396,8 @@ function eval_fmt(fmt, v, opts, flen) { /* falls through */ case 'd': case 'y': case 'M': case 'e': lst=out[i].t; break; case 'm': if(lst === 's') { out[i].t = 'M'; if(bt < 2) bt = 2; } break; + case 'X': if(out[i].v === "B2"); + break; case 'Z': if(bt < 1 && out[i].v.match(/[Hh]/)) bt = 1; if(bt < 2 && out[i].v.match(/[Mm]/)) bt = 2; @@ -410,8 +420,9 @@ function eval_fmt(fmt, v, opts, flen) { for(i=0; i < out.length; ++i) { switch(out[i].t) { case 't': case 'T': case ' ': case 'D': break; - case 'd': case 'm': case 'y': case 'h': case 'H': case 'M': case 's': case 'e': case 'Z': - out[i].v = write_date(out[i].t, out[i].v, dt, bt); + case 'X': delete out[i]; break; + case 'd': case 'm': case 'y': case 'h': case 'H': case 'M': case 's': case 'e': case 'b': case 'Z': + out[i].v = write_date(out[i].t, out[i].v, dt); out[i].t = 't'; break; case 'n': case '(': case '?': var jj = i+1; diff --git a/bits/31_version.js b/bits/31_version.js index 59a0ef3..dabd0ba 100644 --- a/bits/31_version.js +++ b/bits/31_version.js @@ -1 +1 @@ -XLSX.version = '0.5.15'; +XLSX.version = '0.5.16'; diff --git a/bits/36_xlsxutils.js b/bits/36_xlsxutils.js index 39106f1..f8fa36a 100644 --- a/bits/36_xlsxutils.js +++ b/bits/36_xlsxutils.js @@ -1,11 +1,14 @@ -var attregexg=/(\w+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g; -var attregex=/(\w+)=((?:")(?:[^"]*)(?:")|(?:')(?:[^']*)(?:'))/; +var attregexg=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g; +var attregex=/([\w:]+)=((?:")(?:[^"]*)(?:")|(?:')(?:[^']*)(?:'))/; function parsexmltag(tag) { var words = tag.split(/\s+/); var z = {'0': words[0]}; if(words.length === 1) return z; - (tag.match(attregexg) || []).map( - function(x){var y=x.match(attregex); z[y[1].replace(/^[a-zA-Z]*:/,"")] = y[2].substr(1,y[2].length-2); }); + (tag.match(attregexg) || []).map(function(x){ + var y=x.match(attregex); + y[1] = y[1].replace(/xmlns:/,"xmlns"); + z[y[1].replace(/^[a-zA-Z]*:/,"")] = y[2].substr(1,y[2].length-2); + }); return z; } @@ -64,7 +67,7 @@ var utf8read = function(orig) { }; // matches ... extracts content -function matchtag(f,g) {return new RegExp('<'+f+'(?: xml:space="preserve")?>([^\u2603]*)',(g||"")+"m");} +function matchtag(f,g) {return new RegExp('<(?:\\w+:)?'+f+'(?: xml:space="preserve")?>([^\u2603]*)',(g||"")+"m");} function parseVector(data) { var h = parsexmltag(data); diff --git a/bits/60_opc.js b/bits/60_opc.js index 94e28ae..6487b28 100644 --- a/bits/60_opc.js +++ b/bits/60_opc.js @@ -1,28 +1,159 @@ - +/* Parts enumerated in OPC spec, MS-XLSB and MS-XLSX */ +/* 12.3 Part Summary */ +/* 14.2 Part Summary */ +/* [MS-XLSX] 2.1 Part Enumerations */ +/* [MS-XLSB] 2.1.7 Part Enumeration */ var ct2type = { - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": "workbooks", /*XLSX*/ - "application/vnd.ms-excel.sheet.macroEnabled.main+xml":"workbooks", /*XLSM*/ - "application/vnd.ms-excel.sheet.binary.macroEnabled.main":"workbooks", /*XLSB*/ + /* Workbook */ + "application/vnd.ms-excel.main": "workbooks", + "application/vnd.ms-excel.sheet.macroEnabled.main+xml": "workbooks", + "application/vnd.ms-excel.sheet.binary.macroEnabled.main": "workbooks", + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": "workbooks", + "application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml": "TODO", /* Template */ - "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":"sheets", /*XLS[XM]*/ - "application/vnd.ms-excel.worksheet":"sheets", /*XLSB*/ + /* Worksheet */ + "application/vnd.ms-excel.worksheet": "sheets", + "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml": "sheets", + "application/vnd.ms-excel.binIndexWs": "TODO", /* Binary Index */ - "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":"styles", /*XLS[XM]*/ - "application/vnd.ms-excel.styles":"styles", /*XLSB*/ + /* Chartsheet */ + "application/vnd.ms-excel.chartsheet": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml": "TODO", - "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml": "strs", /*XLS[XM]*/ - "application/vnd.ms-excel.sharedStrings": "strs", /*XLSB*/ + /* Dialogsheet */ + "application/vnd.ms-excel.dialogsheet": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml": "TODO", - "application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml": "calcchains", /*XLS[XM]*/ - "application/vnd.ms-excel.calcChain": "calcchains", /*XLSB*/ + /* Macrosheet */ + "application/vnd.ms-excel.macrosheet": "TODO", + "application/vnd.ms-excel.macrosheet+xml": "TODO", + "application/vnd.ms-excel.intlmacrosheet": "TODO", + "application/vnd.ms-excel.binIndexMs": "TODO", /* Binary Index */ - "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml": "comments", /*XLS[XM]*/ - "application/vnd.ms-excel.comments": "comments", /*XLSB*/ + /* Shared Strings */ + "application/vnd.ms-excel.sharedStrings": "strs", + "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml": "strs", + /* Styles */ + "application/vnd.ms-excel.styles": "styles", + "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml": "styles", + + /* File Properties */ "application/vnd.openxmlformats-package.core-properties+xml": "coreprops", - "application/vnd.openxmlformats-officedocument.extended-properties+xml": "extprops", "application/vnd.openxmlformats-officedocument.custom-properties+xml": "custprops", - "application/vnd.openxmlformats-officedocument.theme+xml":"themes", + "application/vnd.openxmlformats-officedocument.extended-properties+xml": "extprops", + + /* Custom Data Properties */ + "application/vnd.openxmlformats-officedocument.customXmlProperties+xml": "TODO", + + /* Comments */ + "application/vnd.ms-excel.comments": "comments", + "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml": "comments", + + /* PivotTable */ + "application/vnd.ms-excel.pivotTable": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml": "TODO", + + /* Calculation Chain */ + "application/vnd.ms-excel.calcChain": "calcchains", + "application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml": "calcchains", + + /* Printer Settings */ + "application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings": "TODO", + + /* ActiveX */ + "application/vnd.ms-office.activeX": "TODO", + "application/vnd.ms-office.activeX+xml": "TODO", + + /* Custom Toolbars */ + "application/vnd.ms-excel.attachedToolbars": "TODO", + + /* External Data Connections */ + "application/vnd.ms-excel.connections": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml": "TODO", + + /* External Links */ + "application/vnd.ms-excel.externalLink": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml": "TODO", + + /* Metadata */ + "application/vnd.ms-excel.sheetMetadata": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml": "TODO", + + /* PivotCache */ + "application/vnd.ms-excel.pivotCacheDefinition": "TODO", + "application/vnd.ms-excel.pivotCacheRecords": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml": "TODO", + + /* Query Table */ + "application/vnd.ms-excel.queryTable": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml": "TODO", + + /* Shared Workbook */ + "application/vnd.ms-excel.userNames": "TODO", + "application/vnd.ms-excel.revisionHeaders": "TODO", + "application/vnd.ms-excel.revisionLog": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml": "TODO", + + /* Single Cell Table */ + "application/vnd.ms-excel.tableSingleCells": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml": "TODO", + + /* Slicer */ + "application/vnd.ms-excel.slicer": "TODO", + "application/vnd.ms-excel.slicerCache": "TODO", + "application/vnd.ms-excel.slicer+xml": "TODO", + "application/vnd.ms-excel.slicerCache+xml": "TODO", + + /* Sort Map */ + "application/vnd.ms-excel.wsSortMap": "TODO", + + /* Table */ + "application/vnd.ms-excel.table": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml": "TODO", + + /* Themes */ + "application/vnd.openxmlformats-officedocument.theme+xml": "themes", + + /* Timeline */ + "application/vnd.ms-excel.Timeline+xml": "TODO", /* verify */ + "application/vnd.ms-excel.TimelineCache+xml": "TODO", /* verify */ + + /* VBA */ + "application/vnd.ms-office.vbaProject": "vba", + "application/vnd.ms-office.vbaProjectSignature": "vba", + + /* Volatile Dependencies */ + "application/vnd.ms-office.volatileDependencies": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml": "TODO", + + /* Control Properties */ + "application/vnd.ms-excel.controlproperties+xml": "TODO", + + /* Data Model */ + "application/vnd.openxmlformats-officedocument.model+data": "TODO", + + /* Survey */ + "application/vnd.ms-excel.Survey+xml": "TODO", + + /* Drawing */ + "application/vnd.openxmlformats-officedocument.drawing+xml": "TODO", + "application/vnd.openxmlformats-officedocument.drawingml.chart+xml": "TODO", + "application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml": "TODO", + "application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml": "TODO", + "application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml": "TODO", + "application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml": "TODO", + "application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml": "TODO", + + /* VML */ + "application/vnd.openxmlformats-officedocument.vmlDrawing": "TODO", + + "application/vnd.openxmlformats-package.relationships+xml": "TODO", + "application/vnd.openxmlformats-officedocument.oleObject": "TODO", + "foo": "bar" }; @@ -108,10 +239,11 @@ function parseCustomProps(data) { } var ctext = {}; -function parseCT(data) { +function parseCT(data, opts) { if(!data || !data.match) return data; var ct = { workbooks: [], sheets: [], calcchains: [], themes: [], styles: [], - coreprops: [], extprops: [], custprops: [], strs:[], comments: [], xmlns: "" }; + coreprops: [], extprops: [], custprops: [], strs:[], comments: [], vba: [], + TODO:[], xmlns: "" }; (data.match(/<[^>]*>/g)||[]).forEach(function(x) { var y = parsexmltag(x); switch(y[0]) { @@ -120,6 +252,7 @@ function parseCT(data) { case ' 0 ? ct.calcchains[0] : ""; ct.sst = ct.strs.length > 0 ? ct.strs[0] : ""; ct.style = ct.styles.length > 0 ? ct.styles[0] : ""; + ct.defaults = ctext; delete ct.calcchains; return ct; } diff --git a/bits/63_cmntxml.js b/bits/63_cmntxml.js index 74c1d79..fa64728 100644 --- a/bits/63_cmntxml.js +++ b/bits/63_cmntxml.js @@ -1,15 +1,15 @@ /* 18.7.3 CT_Comment */ function parse_comments_xml(data, opts) { - if(data.match(//)) return []; + if(data.match(/<(?:\w+:)?comments *\/>/)) return []; var authors = []; var commentList = []; - data.match(/([^\u2603]*)<\/authors>/m)[1].split('').forEach(function(x) { + data.match(/<(?:\w+:)?authors>([^\u2603]*)<\/(?:\w+:)?authors>/m)[1].split(/<\/(?:\w+:)?author>/).forEach(function(x) { if(x === "" || x.trim() === "") return; - authors.push(x.match(/]*>(.*)/)[1]); + authors.push(x.match(/<(?:\w+:)?author[^>]*>(.*)/)[1]); }); - data.match(/([^\u2603]*)<\/commentList>/m)[1].split('').forEach(function(x, index) { + (data.match(/<(?:\w+:)?commentList>([^\u2603]*)<\/(?:\w+:)?commentList>/m)||["",""])[1].split(/<\/(?:\w+:)?comment>/).forEach(function(x, index) { if(x === "" || x.trim() === "") return; - var y = parsexmltag(x.match(/]*>/)[0]); + var y = parsexmltag(x.match(/<(?:\w+:)?comment[^>]*>/)[0]); var comment = { author: y.authorId && authors[y.authorId] ? authors[y.authorId] : undefined, ref: y.ref, guid: y.guid }; var cell = decode_cell(y.ref); if(opts.sheetRows && opts.sheetRows <= cell.r) return; diff --git a/bits/72_wsxml.js b/bits/72_wsxml.js index 4f8142b..86b5792 100644 --- a/bits/72_wsxml.js +++ b/bits/72_wsxml.js @@ -22,17 +22,17 @@ function parse_ws_xml(data, opts) { var sidx = 0; /* 18.3.1.80 sheetData CT_SheetData ? */ - if(!data.match(//)) - data.match(/([^\u2603]*)<\/sheetData>/m)[1].split("").forEach(function(x) { + if(!data.match(/<(\w+:)?sheetData *\/>/)) + data.match(/<(?:\w+:)?sheetData>([^\u2603]*)<\/(?:\w+:)?sheetData>/m)[1].split(/<\/(?:\w+:)?row>/).forEach(function(x) { if(x === "" || x.trim() === "") return; /* 18.3.1.73 row CT_Row */ - var row = parsexmltag(x.match(/]*>/)[0]); + var row = parsexmltag(x.match(/<(?:\w+:)?row[^>]*>/)[0]); if(opts.sheetRows && opts.sheetRows < +row.r) return; if(refguess.s.r > row.r - 1) refguess.s.r = row.r - 1; if(refguess.e.r < row.r - 1) refguess.e.r = row.r - 1; /* 18.3.1.4 c CT_Cell */ - var cells = x.substr(x.indexOf('>')+1).split(/')+1).split(/<(?:\w+:)?c /); cells.forEach(function(c, idx) { if(c === "" || c.trim() === "") return; var cref = c.match(/r=["']([^"']*)["']/); c = "')+1); var p = {}; q.forEach(function(f){var x=d.match(matchtag(f));if(x)p[f]=unescapexml(x[1]);}); - /* SCHEMA IS ACTUALLY INCORRECT HERE. IF A CELL HAS NO T, EMIT "" */ if(cell.t === undefined && p.v === undefined) { if(!opts.sheetStubs) return; diff --git a/bits/77_wbxml.js b/bits/77_wbxml.js index 817e2fc..486a851 100644 --- a/bits/77_wbxml.js +++ b/bits/77_wbxml.js @@ -7,14 +7,17 @@ var XMLNS_WB = [ /* 18.2 Workbook */ function parse_wb_xml(data) { var wb = { AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, xmlns: "" }; - var pass = false; + var pass = false, xmlns = "xmlns"; data.match(/<[^>]*>/g).forEach(function(x) { var y = parsexmltag(x); - switch(y[0]) { + switch(y[0].replace(/<\w+:/,"<")) { case '': break; /* 18.2.13 fileVersion CT_FileVersion ? */ diff --git a/bits/84_defaults.js b/bits/84_defaults.js index 763ca1a..fac7c41 100644 --- a/bits/84_defaults.js +++ b/bits/84_defaults.js @@ -6,10 +6,12 @@ function fixopts(opts) { ['sheetStubs', false], /* emit empty cells */ ['sheetRows', 0, 'n'], /* read n rows (0 = read all rows) */ + ['bookDeps', false], /* parse calculation chains */ ['bookSheets', false], /* only try to get sheet names (no Sheets) */ ['bookProps', false], /* only try to get properties (no Sheets) */ ['bookFiles', false], /* include raw file structure (keys, files) */ + ['bookVBA', false], /* include vba raw data (vbaraw) */ ['WTF', false] /* WTF mode (throws errors) */ ]; diff --git a/bits/85_parsezip.js b/bits/85_parsezip.js index 15f86b6..bb7b910 100644 --- a/bits/85_parsezip.js +++ b/bits/85_parsezip.js @@ -4,12 +4,16 @@ function parseZip(zip, opts) { reset_cp(); var entries = Object.keys(zip.files); var keys = entries.filter(function(x){return x.substr(-1) != '/';}).sort(); - var dir = parseCT(getzipdata(zip, '[Content_Types].xml')); + var dir = parseCT(getzipdata(zip, '[Content_Types].xml'), opts); var xlsb = false; - var sheets; + var sheets, binname; if(dir.workbooks.length === 0) { - var binname = "xl/workbook.bin"; - if(!getzipfile(zip,binname)) throw new Error("Could not find workbook entry"); + binname = "xl/workbook.xml"; + if(getzipdata(zip,binname, true)) dir.workbooks.push(binname); + } + if(dir.workbooks.length === 0) { + binname = "xl/workbook.bin"; + if(!getzipfile(zip,binname,true)) throw new Error("Could not find workbook"); dir.workbooks.push(binname); xlsb = true; } @@ -94,5 +98,9 @@ function parseZip(zip, opts) { out.keys = keys; out.files = zip.files; } + if(opts.bookVBA) { + if(dir.vba.length > 0) out.vbaraw = getzipdata(zip,dir.vba[0],true); + else if(dir.defaults.bin === 'application/vnd.ms-office.vbaProject') out.vbaraw = getzipdata(zip,'xl/vbaProject.bin',true); + } return out; } diff --git a/dist/xlsx.js b/dist/xlsx.js index 17b5323..50d8293 100644 --- a/dist/xlsx.js +++ b/dist/xlsx.js @@ -9,14 +9,13 @@ var _strrev = function(x) { return String(x).split("").reverse().join("");}; function fill(c,l) { return new Array(l+1).join(c); } function pad(v,d,c){var t=String(v);return t.length>=d?t:(fill(c||0,d-t.length)+t);} function rpad(v,d,c){var t=String(v);return t.length>=d?t:(t+fill(c||0,d-t.length));} -SSF.version = '0.6.2'; +SSF.version = '0.6.4'; /* Options */ var opts_fmt = {}; function fixopts(o){for(var y in opts_fmt) if(o[y]===undefined) o[y]=opts_fmt[y];} SSF.opts = opts_fmt; opts_fmt.date1904 = 0; opts_fmt.output = ""; -opts_fmt.mode = ""; var table_fmt = { 0: 'General', 1: '0', @@ -119,7 +118,8 @@ var general_fmt = function(v) { throw new Error("unsupported value in General format: " + v); }; SSF._general = general_fmt; -var parse_date_code = function parse_date_code(v,opts) { +function fix_hijri(date, o) { } +var parse_date_code = function parse_date_code(v,opts,b2) { var date = Math.floor(v), time = Math.floor(86400 * (v - date)+1e-6), dow=0; var dout=[], out={D:date, T:time, u:86400*(v-date)-time}; fixopts(opts = (opts||{})); if(opts.date1904) date += 1462; @@ -128,8 +128,8 @@ var parse_date_code = function parse_date_code(v,opts) { out.u = 0; if(++time == 86400) { time = 0; ++date; } } - if(date === 60) {dout = [1900,2,29]; dow=3;} - else if(date === 0) {dout = [1900,1,0]; dow=6;} + if(date === 60) {dout = b2 ? [1317,10,29] : [1900,2,29]; dow=3;} + else if(date === 0) {dout = b2 ? [1317,8,29] : [1900,1,0]; dow=6;} else { if(date > 60) --date; /* 1 = Jan 1 1900 */ @@ -137,7 +137,8 @@ var parse_date_code = function parse_date_code(v,opts) { d.setDate(d.getDate() + date - 1); dout = [d.getFullYear(), d.getMonth()+1,d.getDate()]; dow = d.getDay(); - if(/* opts.mode === 'excel' && */ date < 60) dow = (dow + 6) % 7; + if(date < 60) dow = (dow + 6) % 7; + if(b2) dow = fix_hijri(d, dout); } out.y = dout[0]; out.m = dout[1]; out.d = dout[2]; out.S = time % 60; time = Math.floor(time / 60); @@ -150,13 +151,15 @@ SSF.parse_date_code = parse_date_code; /*jshint -W086 */ var write_date = function(type, fmt, val) { if(val < 0) return ""; - var o, ss; + var o, ss, y = val.y; switch(type) { - case 'y': switch(fmt) { /* year */ - case 'y': case 'yy': return pad(val.y % 100,2); - default: return pad(val.y % 10000,4); + case 'b': y = val.y + 543; + /* falls through */ + case 'y': switch(fmt.length) { /* year */ + case 1: case 2: return pad(y % 100,2); + default: return pad(y % 10000,4); } - case 'm': switch(fmt) { /* month */ + case 'm': switch(fmt) { case 'm': return val.m; case 'mm': return pad(val.m,2); case 'mmm': return months[val.m-1][1]; @@ -264,15 +267,15 @@ var write_num = function(type, fmt, val) { return val < 0 ? "-" + write_num(type, fmt, -val) : commaify(String(Math.floor(val))) + "." + pad(rr,r[1].length,0); } if((r = fmt.match(/^#,#*,#0/))) return write_num(type,fmt.replace(/^#,#*,/,""),val); - if((r = fmt.match(/^([0#]+)-([0#]+)$/))) { - ff = write_num(type, fmt.replace(/-/,""), val); + if((r = fmt.match(/^([0#]+)\\?-([0#]+)$/))) { + ff = write_num(type, fmt.replace(/[\\-]/g,""), val); return ff.substr(0,ff.length - r[2].length) + "-" + ff.substr(ff.length-r[2].length); } - if((r = fmt.match(/^([0#]+)-([0#]+)-([0#]+)$/))) { - ff = write_num(type, fmt.replace(/-/g,""), val); + if((r = fmt.match(/^([0#]+)\\?-([0#]+)\\?-([0#]+)$/))) { + ff = write_num(type, fmt.replace(/[\\-]/g,""), val); return ff.substr(0,ff.length - r[2].length - r[3].length) + "-" + ff.substr(ff.length-r[2].length - r[3].length, r[2].length) + "-" + ff.substr(ff.length-r[3].length); } - if(fmt == "(###) ###-####") { + if(fmt.match(/\(###\) ###\\?-####/)) { ff = write_num(type, "##########", val); return "(" + ff.substr(0,3) + ") " + ff.substr(3, 3) + "-" + ff.substr(6); } @@ -321,7 +324,7 @@ function eval_fmt(fmt, v, opts, flen) { while(i < fmt.length) { switch((c = fmt[i])) { case 'G': /* General */ - if(fmt.substr(i, i+6).toLowerCase() !== "general") + if(fmt.substr(i, 7).toLowerCase() !== "general") throw new Error('unrecognized character ' + fmt[i] + ' in ' +fmt); out.push({t:'G',v:'General'}); i+=7; break; case '"': /* Literal text */ @@ -332,7 +335,12 @@ function eval_fmt(fmt, v, opts, flen) { case '_': out.push({t:'t', v:" "}); i+=2; break; case '@': /* Text Placeholder */ out.push({t:'T', v:v}); ++i; break; - /* Dates */ + case 'B': case 'b': + if(fmt[i+1] === "1" || fmt[i+1] === "2") { + if(!dt) dt = parse_date_code(v, opts, fmt[i+1] === "2"); + q={t:'X', v:fmt.substr(i,2)}; out.push(q); lst = c; i+=2; break; + } + /* falls through */ case 'M': case 'D': case 'Y': case 'H': case 'S': case 'E': c = c.toLowerCase(); /* falls through */ @@ -354,7 +362,7 @@ function eval_fmt(fmt, v, opts, flen) { else if(fmt.substr(i,5) === "AM/PM") { q.v = dt.H >= 12 ? "PM" : "AM"; q.t = 'T'; i+=5; hr='h'; } else { q.t = "t"; i++; } out.push(q); lst = c; break; - case '[': /* TODO: Fix this -- ignore all conditionals and formatting */ + case '[': o = c; while(fmt[i++] !== ']' && i < fmt.length) o += fmt[i]; if(o.substr(-1) !== ']') throw 'unterminated "[" block: |' + o + '|'; @@ -366,7 +374,7 @@ function eval_fmt(fmt, v, opts, flen) { break; /* Numbers */ case '0': case '#': case '.': - o = c; while("0#?.,E+-%".indexOf(c=fmt[++i]) > -1) o += c; + o = c; while("0#?.,E+-%".indexOf(c=fmt[++i]) > -1 || c=='\\' && fmt[i+1] == "-" && "0#".indexOf(fmt[i+2])>-1) o += c; out.push({t:'n', v:o}); break; case '?': o = fmt[i]; while(fmt[++i] === c) o+=c; @@ -378,7 +386,7 @@ function eval_fmt(fmt, v, opts, flen) { out.push({t:'D', v:o}); break; case ' ': out.push({t:c,v:c}); ++i; break; default: - if(",$-+/():!^&'~{}<>=€".indexOf(c) === -1) + if(",$-+/():!^&'~{}<>=€acfijklopqrtuvwxz".indexOf(c) === -1) throw 'unrecognized character ' + fmt[i] + ' in ' + fmt; out.push({t:'t', v:c}); ++i; break; } @@ -391,6 +399,8 @@ function eval_fmt(fmt, v, opts, flen) { /* falls through */ case 'd': case 'y': case 'M': case 'e': lst=out[i].t; break; case 'm': if(lst === 's') { out[i].t = 'M'; if(bt < 2) bt = 2; } break; + case 'X': if(out[i].v === "B2"); + break; case 'Z': if(bt < 1 && out[i].v.match(/[Hh]/)) bt = 1; if(bt < 2 && out[i].v.match(/[Mm]/)) bt = 2; @@ -413,8 +423,9 @@ function eval_fmt(fmt, v, opts, flen) { for(i=0; i < out.length; ++i) { switch(out[i].t) { case 't': case 'T': case ' ': case 'D': break; - case 'd': case 'm': case 'y': case 'h': case 'H': case 'M': case 's': case 'e': case 'Z': - out[i].v = write_date(out[i].t, out[i].v, dt, bt); + case 'X': delete out[i]; break; + case 'd': case 'm': case 'y': case 'h': case 'H': case 'M': case 's': case 'e': case 'b': case 'Z': + out[i].v = write_date(out[i].t, out[i].v, dt); out[i].t = 't'; break; case 'n': case '(': case '?': var jj = i+1; @@ -487,7 +498,7 @@ SSF.load_table = function(tbl) { for(var i=0; i!=0x0188; ++i) if(tbl[i]) SSF.loa make_ssf(SSF); var XLSX = {}; (function(XLSX){ -XLSX.version = '0.5.15'; +XLSX.version = '0.5.16'; var current_codepage, current_cptable, cptable; if(typeof module !== "undefined" && typeof require !== 'undefined') { if(typeof cptable === 'undefined') cptable = require('codepage'); @@ -533,14 +544,17 @@ if (typeof exports !== 'undefined') { _fs = require('fs'); } } -var attregexg=/(\w+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g; -var attregex=/(\w+)=((?:")(?:[^"]*)(?:")|(?:')(?:[^']*)(?:'))/; +var attregexg=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g; +var attregex=/([\w:]+)=((?:")(?:[^"]*)(?:")|(?:')(?:[^']*)(?:'))/; function parsexmltag(tag) { var words = tag.split(/\s+/); var z = {'0': words[0]}; if(words.length === 1) return z; - (tag.match(attregexg) || []).map( - function(x){var y=x.match(attregex); z[y[1].replace(/^[a-zA-Z]*:/,"")] = y[2].substr(1,y[2].length-2); }); + (tag.match(attregexg) || []).map(function(x){ + var y=x.match(attregex); + y[1] = y[1].replace(/xmlns:/,"xmlns"); + z[y[1].replace(/^[a-zA-Z]*:/,"")] = y[2].substr(1,y[2].length-2); + }); return z; } @@ -599,7 +613,7 @@ var utf8read = function(orig) { }; // matches ... extracts content -function matchtag(f,g) {return new RegExp('<'+f+'(?: xml:space="preserve")?>([^\u2603]*)',(g||"")+"m");} +function matchtag(f,g) {return new RegExp('<(?:\\w+:)?'+f+'(?: xml:space="preserve")?>([^\u2603]*)',(g||"")+"m");} function parseVector(data) { var h = parsexmltag(data); @@ -1178,31 +1192,162 @@ function parse_sty_bin(data, opts) { }); return styles; } - +/* Parts enumerated in OPC spec, MS-XLSB and MS-XLSX */ +/* 12.3 Part Summary */ +/* 14.2 Part Summary */ +/* [MS-XLSX] 2.1 Part Enumerations */ +/* [MS-XLSB] 2.1.7 Part Enumeration */ var ct2type = { - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": "workbooks", /*XLSX*/ - "application/vnd.ms-excel.sheet.macroEnabled.main+xml":"workbooks", /*XLSM*/ - "application/vnd.ms-excel.sheet.binary.macroEnabled.main":"workbooks", /*XLSB*/ + /* Workbook */ + "application/vnd.ms-excel.main": "workbooks", + "application/vnd.ms-excel.sheet.macroEnabled.main+xml": "workbooks", + "application/vnd.ms-excel.sheet.binary.macroEnabled.main": "workbooks", + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": "workbooks", + "application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml": "TODO", /* Template */ - "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":"sheets", /*XLS[XM]*/ - "application/vnd.ms-excel.worksheet":"sheets", /*XLSB*/ + /* Worksheet */ + "application/vnd.ms-excel.worksheet": "sheets", + "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml": "sheets", + "application/vnd.ms-excel.binIndexWs": "TODO", /* Binary Index */ - "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":"styles", /*XLS[XM]*/ - "application/vnd.ms-excel.styles":"styles", /*XLSB*/ + /* Chartsheet */ + "application/vnd.ms-excel.chartsheet": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml": "TODO", - "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml": "strs", /*XLS[XM]*/ - "application/vnd.ms-excel.sharedStrings": "strs", /*XLSB*/ + /* Dialogsheet */ + "application/vnd.ms-excel.dialogsheet": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml": "TODO", - "application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml": "calcchains", /*XLS[XM]*/ - "application/vnd.ms-excel.calcChain": "calcchains", /*XLSB*/ + /* Macrosheet */ + "application/vnd.ms-excel.macrosheet": "TODO", + "application/vnd.ms-excel.macrosheet+xml": "TODO", + "application/vnd.ms-excel.intlmacrosheet": "TODO", + "application/vnd.ms-excel.binIndexMs": "TODO", /* Binary Index */ - "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml": "comments", /*XLS[XM]*/ - "application/vnd.ms-excel.comments": "comments", /*XLSB*/ + /* Shared Strings */ + "application/vnd.ms-excel.sharedStrings": "strs", + "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml": "strs", + /* Styles */ + "application/vnd.ms-excel.styles": "styles", + "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml": "styles", + + /* File Properties */ "application/vnd.openxmlformats-package.core-properties+xml": "coreprops", - "application/vnd.openxmlformats-officedocument.extended-properties+xml": "extprops", "application/vnd.openxmlformats-officedocument.custom-properties+xml": "custprops", - "application/vnd.openxmlformats-officedocument.theme+xml":"themes", + "application/vnd.openxmlformats-officedocument.extended-properties+xml": "extprops", + + /* Custom Data Properties */ + "application/vnd.openxmlformats-officedocument.customXmlProperties+xml": "TODO", + + /* Comments */ + "application/vnd.ms-excel.comments": "comments", + "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml": "comments", + + /* PivotTable */ + "application/vnd.ms-excel.pivotTable": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml": "TODO", + + /* Calculation Chain */ + "application/vnd.ms-excel.calcChain": "calcchains", + "application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml": "calcchains", + + /* Printer Settings */ + "application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings": "TODO", + + /* ActiveX */ + "application/vnd.ms-office.activeX": "TODO", + "application/vnd.ms-office.activeX+xml": "TODO", + + /* Custom Toolbars */ + "application/vnd.ms-excel.attachedToolbars": "TODO", + + /* External Data Connections */ + "application/vnd.ms-excel.connections": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml": "TODO", + + /* External Links */ + "application/vnd.ms-excel.externalLink": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml": "TODO", + + /* Metadata */ + "application/vnd.ms-excel.sheetMetadata": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml": "TODO", + + /* PivotCache */ + "application/vnd.ms-excel.pivotCacheDefinition": "TODO", + "application/vnd.ms-excel.pivotCacheRecords": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml": "TODO", + + /* Query Table */ + "application/vnd.ms-excel.queryTable": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml": "TODO", + + /* Shared Workbook */ + "application/vnd.ms-excel.userNames": "TODO", + "application/vnd.ms-excel.revisionHeaders": "TODO", + "application/vnd.ms-excel.revisionLog": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml": "TODO", + + /* Single Cell Table */ + "application/vnd.ms-excel.tableSingleCells": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml": "TODO", + + /* Slicer */ + "application/vnd.ms-excel.slicer": "TODO", + "application/vnd.ms-excel.slicerCache": "TODO", + "application/vnd.ms-excel.slicer+xml": "TODO", + "application/vnd.ms-excel.slicerCache+xml": "TODO", + + /* Sort Map */ + "application/vnd.ms-excel.wsSortMap": "TODO", + + /* Table */ + "application/vnd.ms-excel.table": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml": "TODO", + + /* Themes */ + "application/vnd.openxmlformats-officedocument.theme+xml": "themes", + + /* Timeline */ + "application/vnd.ms-excel.Timeline+xml": "TODO", /* verify */ + "application/vnd.ms-excel.TimelineCache+xml": "TODO", /* verify */ + + /* VBA */ + "application/vnd.ms-office.vbaProject": "vba", + "application/vnd.ms-office.vbaProjectSignature": "vba", + + /* Volatile Dependencies */ + "application/vnd.ms-office.volatileDependencies": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml": "TODO", + + /* Control Properties */ + "application/vnd.ms-excel.controlproperties+xml": "TODO", + + /* Data Model */ + "application/vnd.openxmlformats-officedocument.model+data": "TODO", + + /* Survey */ + "application/vnd.ms-excel.Survey+xml": "TODO", + + /* Drawing */ + "application/vnd.openxmlformats-officedocument.drawing+xml": "TODO", + "application/vnd.openxmlformats-officedocument.drawingml.chart+xml": "TODO", + "application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml": "TODO", + "application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml": "TODO", + "application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml": "TODO", + "application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml": "TODO", + "application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml": "TODO", + + /* VML */ + "application/vnd.openxmlformats-officedocument.vmlDrawing": "TODO", + + "application/vnd.openxmlformats-package.relationships+xml": "TODO", + "application/vnd.openxmlformats-officedocument.oleObject": "TODO", + "foo": "bar" }; @@ -1288,10 +1433,11 @@ function parseCustomProps(data) { } var ctext = {}; -function parseCT(data) { +function parseCT(data, opts) { if(!data || !data.match) return data; var ct = { workbooks: [], sheets: [], calcchains: [], themes: [], styles: [], - coreprops: [], extprops: [], custprops: [], strs:[], comments: [], xmlns: "" }; + coreprops: [], extprops: [], custprops: [], strs:[], comments: [], vba: [], + TODO:[], xmlns: "" }; (data.match(/<[^>]*>/g)||[]).forEach(function(x) { var y = parsexmltag(x); switch(y[0]) { @@ -1300,6 +1446,7 @@ function parseCT(data) { case ' 0 ? ct.calcchains[0] : ""; ct.sst = ct.strs.length > 0 ? ct.strs[0] : ""; ct.style = ct.styles.length > 0 ? ct.styles[0] : ""; + ct.defaults = ctext; delete ct.calcchains; return ct; } @@ -1398,16 +1546,16 @@ function parse_cc_bin(data, opts) { } /* 18.7.3 CT_Comment */ function parse_comments_xml(data, opts) { - if(data.match(//)) return []; + if(data.match(/<(?:\w+:)?comments *\/>/)) return []; var authors = []; var commentList = []; - data.match(/([^\u2603]*)<\/authors>/m)[1].split('').forEach(function(x) { + data.match(/<(?:\w+:)?authors>([^\u2603]*)<\/(?:\w+:)?authors>/m)[1].split(/<\/(?:\w+:)?author>/).forEach(function(x) { if(x === "" || x.trim() === "") return; - authors.push(x.match(/]*>(.*)/)[1]); + authors.push(x.match(/<(?:\w+:)?author[^>]*>(.*)/)[1]); }); - data.match(/([^\u2603]*)<\/commentList>/m)[1].split('').forEach(function(x, index) { + (data.match(/<(?:\w+:)?commentList>([^\u2603]*)<\/(?:\w+:)?commentList>/m)||["",""])[1].split(/<\/(?:\w+:)?comment>/).forEach(function(x, index) { if(x === "" || x.trim() === "") return; - var y = parsexmltag(x.match(/]*>/)[0]); + var y = parsexmltag(x.match(/<(?:\w+:)?comment[^>]*>/)[0]); var comment = { author: y.authorId && authors[y.authorId] ? authors[y.authorId] : undefined, ref: y.ref, guid: y.guid }; var cell = decode_cell(y.ref); if(opts.sheetRows && opts.sheetRows <= cell.r) return; @@ -1539,17 +1687,17 @@ function parse_ws_xml(data, opts) { var sidx = 0; /* 18.3.1.80 sheetData CT_SheetData ? */ - if(!data.match(//)) - data.match(/([^\u2603]*)<\/sheetData>/m)[1].split("").forEach(function(x) { + if(!data.match(/<(\w+:)?sheetData *\/>/)) + data.match(/<(?:\w+:)?sheetData>([^\u2603]*)<\/(?:\w+:)?sheetData>/m)[1].split(/<\/(?:\w+:)?row>/).forEach(function(x) { if(x === "" || x.trim() === "") return; /* 18.3.1.73 row CT_Row */ - var row = parsexmltag(x.match(/]*>/)[0]); + var row = parsexmltag(x.match(/<(?:\w+:)?row[^>]*>/)[0]); if(opts.sheetRows && opts.sheetRows < +row.r) return; if(refguess.s.r > row.r - 1) refguess.s.r = row.r - 1; if(refguess.e.r < row.r - 1) refguess.e.r = row.r - 1; /* 18.3.1.4 c CT_Cell */ - var cells = x.substr(x.indexOf('>')+1).split(/')+1).split(/<(?:\w+:)?c /); cells.forEach(function(c, idx) { if(c === "" || c.trim() === "") return; var cref = c.match(/r=["']([^"']*)["']/); c = "')+1); var p = {}; q.forEach(function(f){var x=d.match(matchtag(f));if(x)p[f]=unescapexml(x[1]);}); - /* SCHEMA IS ACTUALLY INCORRECT HERE. IF A CELL HAS NO T, EMIT "" */ if(cell.t === undefined && p.v === undefined) { if(!opts.sheetStubs) return; @@ -2018,14 +2165,17 @@ var XMLNS_WB = [ /* 18.2 Workbook */ function parse_wb_xml(data) { var wb = { AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, xmlns: "" }; - var pass = false; + var pass = false, xmlns = "xmlns"; data.match(/<[^>]*>/g).forEach(function(x) { var y = parsexmltag(x); - switch(y[0]) { + switch(y[0].replace(/<\w+:/,"<")) { case '': break; /* 18.2.13 fileVersion CT_FileVersion ? */ @@ -3057,10 +3207,12 @@ function fixopts(opts) { ['sheetStubs', false], /* emit empty cells */ ['sheetRows', 0, 'n'], /* read n rows (0 = read all rows) */ + ['bookDeps', false], /* parse calculation chains */ ['bookSheets', false], /* only try to get sheet names (no Sheets) */ ['bookProps', false], /* only try to get properties (no Sheets) */ ['bookFiles', false], /* include raw file structure (keys, files) */ + ['bookVBA', false], /* include vba raw data (vbaraw) */ ['WTF', false] /* WTF mode (throws errors) */ ]; @@ -3075,12 +3227,16 @@ function parseZip(zip, opts) { reset_cp(); var entries = Object.keys(zip.files); var keys = entries.filter(function(x){return x.substr(-1) != '/';}).sort(); - var dir = parseCT(getzipdata(zip, '[Content_Types].xml')); + var dir = parseCT(getzipdata(zip, '[Content_Types].xml'), opts); var xlsb = false; - var sheets; + var sheets, binname; if(dir.workbooks.length === 0) { - var binname = "xl/workbook.bin"; - if(!getzipfile(zip,binname)) throw new Error("Could not find workbook entry"); + binname = "xl/workbook.xml"; + if(getzipdata(zip,binname, true)) dir.workbooks.push(binname); + } + if(dir.workbooks.length === 0) { + binname = "xl/workbook.bin"; + if(!getzipfile(zip,binname,true)) throw new Error("Could not find workbook"); dir.workbooks.push(binname); xlsb = true; } @@ -3165,6 +3321,10 @@ function parseZip(zip, opts) { out.keys = keys; out.files = zip.files; } + if(opts.bookVBA) { + if(dir.vba.length > 0) out.vbaraw = getzipdata(zip,dir.vba[0],true); + else if(dir.defaults.bin === 'application/vnd.ms-office.vbaProject') out.vbaraw = getzipdata(zip,'xl/vbaProject.bin',true); + } return out; } function readSync(data, options) { diff --git a/dist/xlsx.min.js b/dist/xlsx.min.js index 7da6881..5bf9c11 100644 --- a/dist/xlsx.min.js +++ b/dist/xlsx.min.js @@ -1,5 +1,5 @@ /* xlsx.js (C) 2013-2014 SheetJS -- http://sheetjs.com */ -var SSF={};var make_ssf=function(SSF){var _strrev=function(x){return String(x).split("").reverse().join("")};function fill(c,l){return new Array(l+1).join(c)}function pad(v,d,c){var t=String(v);return t.length>=d?t:fill(c||0,d-t.length)+t}function rpad(v,d,c){var t=String(v);return t.length>=d?t:t+fill(c||0,d-t.length)}SSF.version="0.6.2";var opts_fmt={};function fixopts(o){for(var y in opts_fmt)if(o[y]===undefined)o[y]=opts_fmt[y]}SSF.opts=opts_fmt;opts_fmt.date1904=0;opts_fmt.output="";opts_fmt.mode="";var table_fmt={0:"General",1:"0",2:"0.00",3:"#,##0",4:"#,##0.00",9:"0%",10:"0.00%",11:"0.00E+00",12:"# ?/?",13:"# ??/??",14:"m/d/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:"@",56:'"上午/下午 "hh"時"mm"分"ss"秒 "',65535:"General"};var days=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]];var months=[["J","Jan","January"],["F","Feb","February"],["M","Mar","March"],["A","Apr","April"],["M","May","May"],["J","Jun","June"],["J","Jul","July"],["A","Aug","August"],["S","Sep","September"],["O","Oct","October"],["N","Nov","November"],["D","Dec","December"]];var frac=function frac(x,D,mixed){var sgn=x<0?-1:1;var B=x*sgn;var P_2=0,P_1=1,P=0;var Q_2=1,Q_1=0,Q=0;var A=Math.floor(B);while(Q_1D){Q=Q_1;P=P_1}if(Q>D){Q=Q_2;P=P_2}if(!mixed)return[0,sgn*P,Q];if(Q===0)throw"Unexpected state: "+P+" "+P_1+" "+P_2+" "+Q+" "+Q_1+" "+Q_2;var q=Math.floor(sgn*P/Q);return[q,sgn*P-q*Q,Q]};var general_fmt=function(v){if(typeof v==="boolean")return v?"TRUE":"FALSE";if(typeof v==="number"){var o,V=v<0?-v:v;if(V>=.1&&V<1)o=v.toPrecision(9);else if(V>=.01&&V<.1)o=v.toPrecision(8);else if(V>=.001&&V<.01)o=v.toPrecision(7);else if(V>=1e-4&&V<.001)o=v.toPrecision(6);else if(V>=Math.pow(10,10)&&VMath.pow(10,-9)&&V11+(v<0?1:0))o=v.toPrecision(10);if(o.length>11+(v<0?1:0))o=v.toExponential(5)}else{o=v.toFixed(11).replace(/(\.[0-9]*[1-9])0*$/,"$1");if(o.length>11+(v<0?1:0))o=v.toPrecision(6)}o=o.replace(/(\.[0-9]*[1-9])0+e/,"$1e").replace(/\.0*e/,"e");return o.replace("e","E").replace(/\.0*$/,"").replace(/\.([0-9]*[^0])0*$/,".$1").replace(/(E[+-])([0-9])$/,"$1"+"0"+"$2")}if(typeof v==="string")return v;throw new Error("unsupported value in General format: "+v)};SSF._general=general_fmt;var parse_date_code=function parse_date_code(v,opts){var date=Math.floor(v),time=Math.floor(86400*(v-date)+1e-6),dow=0;var dout=[],out={D:date,T:time,u:86400*(v-date)-time};fixopts(opts=opts||{});if(opts.date1904)date+=1462;if(date>2958465)return null;if(out.u>.999){out.u=0;if(++time==86400){time=0;++date}}if(date===60){dout=[1900,2,29];dow=3}else if(date===0){dout=[1900,1,0];dow=6}else{if(date>60)--date;var d=new Date(1900,0,1);d.setDate(d.getDate()+date-1);dout=[d.getFullYear(),d.getMonth()+1,d.getDate()];dow=d.getDay();if(date<60)dow=(dow+6)%7}out.y=dout[0];out.m=dout[1];out.d=dout[2];out.S=time%60;time=Math.floor(time/60);out.M=time%60;time=Math.floor(time/60);out.H=time;out.q=dow;return out};SSF.parse_date_code=parse_date_code;var write_date=function(type,fmt,val){if(val<0)return"";var o,ss;switch(type){case"y":switch(fmt){case"y":case"yy":return pad(val.y%100,2);default:return pad(val.y%1e4,4)}case"m":switch(fmt){case"m":return val.m;case"mm":return pad(val.m,2);case"mmm":return months[val.m-1][1];case"mmmmm":return months[val.m-1][0];default:return months[val.m-1][2]}case"d":switch(fmt){case"d":return val.d;case"dd":return pad(val.d,2);case"ddd":return days[val.q][0];default:return days[val.q][1]}case"h":switch(fmt){case"h":return 1+(val.H+11)%12;case"hh":return pad(1+(val.H+11)%12,2);default:throw"bad hour format: "+fmt}case"H":switch(fmt){case"h":return val.H;case"hh":return pad(val.H,2);default:throw"bad hour format: "+fmt}case"M":switch(fmt){case"m":return val.M;case"mm":return pad(val.M,2);default:throw"bad minute format: "+fmt}case"s":switch(fmt){case"s":ss=Math.round(val.S+val.u);return ss>=60?0:ss;case"ss":ss=Math.round(val.S+val.u);if(ss>=60)ss=0;return pad(ss,2);case"ss.0":ss=Math.round(10*(val.S+val.u));if(ss>=600)ss=0;o=pad(ss,3);return o.substr(0,2)+"."+o.substr(2);case"ss.00":ss=Math.round(100*(val.S+val.u));if(ss>=6e3)ss=0;o=pad(ss,4);return o.substr(0,2)+"."+o.substr(2);case"ss.000":ss=Math.round(1e3*(val.S+val.u));if(ss>=6e4)ss=0;o=pad(ss,5);return o.substr(0,2)+"."+o.substr(2);default:throw"bad second format: "+fmt}case"Z":switch(fmt){case"[h]":case"[hh]":o=val.D*24+val.H;break;case"[m]":case"[mm]":o=(val.D*24+val.H)*60+val.M;break;case"[s]":case"[ss]":o=((val.D*24+val.H)*60+val.M)*60+Math.round(val.S+val.u);break;default:throw"bad abstime format: "+fmt}return fmt.length===3?o:pad(o,2);case"e":{return val.y}break}};var commaify=function(s){return _strrev(_strrev(s).replace(/.../g,"$&,")).replace(/^,/,"")};var write_num=function(type,fmt,val){if(type==="("&&!fmt.match(/\).*[0#]/)){var ffmt=fmt.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");if(val>=0)return write_num("n",ffmt,val);return"("+write_num("n",ffmt,-val)+")"}var mul=0,o;fmt=fmt.replace(/%/g,function(){mul++;return""});if(mul!==0)return write_num(type,fmt,val*Math.pow(10,2*mul))+fill("%",mul);fmt=fmt.replace(/(\.0+)(,+)$/g,function($$,$1,$2){mul=$2.length;return $1});if(mul!==0)return write_num(type,fmt,val/Math.pow(10,3*mul));if(fmt.indexOf("E")>-1){var idx=fmt.indexOf("E")-fmt.indexOf(".")-1;if(fmt.match(/^#+0.0E\+0$/)){var period=fmt.indexOf(".");if(period===-1)period=fmt.indexOf("E");var ee=Number(val.toExponential(0).substr(2+(val<0)))%period;if(ee<0)ee+=period;o=(val/Math.pow(10,ee)).toPrecision(idx+1+(period+ee)%period);if(!o.match(/[Ee]/)){var fakee=Number(val.toExponential(0).substr(2+(val<0)));if(o.indexOf(".")===-1)o=o[0]+"."+o.substr(1)+"E+"+(fakee-o.length+ee);else o+="E+"+(fakee-ee);while(o.substr(0,2)==="0."){o=o[0]+o.substr(2,period)+"."+o.substr(2+period);o=o.replace(/^0+([1-9])/,"$1").replace(/^0+\./,"0.")}o=o.replace(/\+-/,"-")}o=o.replace(/^([+-]?)([0-9]*)\.([0-9]*)[Ee]/,function($$,$1,$2,$3){return $1+$2+$3.substr(0,(period+ee)%period)+"."+$3.substr(ee)+"E"})}else o=val.toExponential(idx);if(fmt.match(/E\+00$/)&&o.match(/e[+-][0-9]$/))o=o.substr(0,o.length-1)+"0"+o[o.length-1];if(fmt.match(/E\-/)&&o.match(/e\+/))o=o.replace(/e\+/,"e");return o.replace("e","E")}if(fmt[0]==="$")return"$"+write_num(type,fmt.substr(fmt[1]==" "?2:1),val);var r,rr,ff,aval=val<0?-val:val,sign=val<0?"-":"";if(r=fmt.match(/# (\?+)([ ]?)\/([ ]?)(\d+)/)){var den=Number(r[4]),rnd=Math.round(aval*den),base=Math.floor(rnd/den);var myn=rnd-base*den,myd=den;return sign+(base?base:"")+" "+(myn===0?fill(" ",r[1].length+1+r[4].length):pad(myn,r[1].length," ")+r[2]+"/"+r[3]+pad(myd,r[4].length))}if(fmt.match(/^#+0+$/))fmt=fmt.replace(/#/g,"");if(fmt.match(/^00+$/))return(val<0?"-":"")+pad(Math.round(aval),fmt.length);if(fmt.match(/^[#?]+$/))return String(Math.round(val)).replace(/^0$/,"");if(r=fmt.match(/^#*0*\.(0+)/)){o=Math.round(val*Math.pow(10,r[1].length));rr=String(o/Math.pow(10,r[1].length)).replace(/^([^\.]+)$/,"$1."+r[1]).replace(/\.$/,"."+r[1]).replace(/\.([0-9]*)$/,function($$,$1){return"."+$1+fill("0",r[1].length-$1.length)});return fmt.match(/0\./)?rr:rr.replace(/^0\./,".")}fmt=fmt.replace(/^#+([0.])/,"$1");if(r=fmt.match(/^(0*)\.(#*)$/)){o=Math.round(aval*Math.pow(10,r[2].length));return sign+String(o/Math.pow(10,r[2].length)).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^([-]?\d*)$/,"$1.").replace(/^0\./,r[1].length?"0.":".")}if(r=fmt.match(/^#,##0([.]?)$/))return sign+commaify(String(Math.round(aval)));if(r=fmt.match(/^#,##0\.([#0]*0)$/)){rr=Math.round((val-Math.floor(val))*Math.pow(10,r[1].length));return val<0?"-"+write_num(type,fmt,-val):commaify(String(Math.floor(val)))+"."+pad(rr,r[1].length,0)}if(r=fmt.match(/^#,#*,#0/))return write_num(type,fmt.replace(/^#,#*,/,""),val);if(r=fmt.match(/^([0#]+)-([0#]+)$/)){ff=write_num(type,fmt.replace(/-/,""),val);return ff.substr(0,ff.length-r[2].length)+"-"+ff.substr(ff.length-r[2].length)}if(r=fmt.match(/^([0#]+)-([0#]+)-([0#]+)$/)){ff=write_num(type,fmt.replace(/-/g,""),val);return ff.substr(0,ff.length-r[2].length-r[3].length)+"-"+ff.substr(ff.length-r[2].length-r[3].length,r[2].length)+"-"+ff.substr(ff.length-r[3].length)}if(fmt=="(###) ###-####"){ff=write_num(type,"##########",val);return"("+ff.substr(0,3)+") "+ff.substr(3,3)+"-"+ff.substr(6)}if(r=fmt.match(/^([?]+)([ ]?)\/([ ]?)([?]+)/)){rr=Math.min(Math.max(r[1].length,r[4].length),7);ff=frac(aval,Math.pow(10,rr)-1,false);return sign+(ff[0]||(ff[1]?"":"0"))+(ff[1]?pad(ff[1],rr," ")+r[2]+"/"+r[3]+rpad(ff[2],rr," "):fill(" ",2*rr+1+r[2].length+r[3].length))}if(r=fmt.match(/^# ([?]+)([ ]?)\/([ ]?)([?]+)/)){rr=Math.min(Math.max(r[1].length,r[4].length),7);ff=frac(aval,Math.pow(10,rr)-1,true);return sign+(ff[0]||(ff[1]?"":"0"))+" "+(ff[1]?pad(ff[1],rr," ")+r[2]+"/"+r[3]+rpad(ff[2],rr," "):fill(" ",2*rr+1+r[2].length+r[3].length))}if(r=fmt.match(/^00,000\.([#0]*0)$/)){rr=val==Math.floor(val)?0:Math.round((val-Math.floor(val))*Math.pow(10,r[1].length));return val<0?"-"+write_num(type,fmt,-val):commaify(String(Math.floor(val))).replace(/^\d,\d{3}$/,"0$&").replace(/^\d*$/,function($$){return"00,"+($$.length<3?pad(0,3-$$.length):"")+$$})+"."+pad(rr,r[1].length,0)}switch(fmt){case"0":case"#0":return Math.round(val);case"#,###":var x=commaify(String(Math.round(aval)));return x!=="0"?sign+x:"";default:}throw new Error("unsupported format |"+fmt+"|")};function split_fmt(fmt){var out=[];var in_str=-1;for(var i=0,j=0;i=12?"P":"A";q.t="T";hr="h";i+=3}else if(fmt.substr(i,5)==="AM/PM"){q.v=dt.H>=12?"PM":"AM";q.t="T";i+=5;hr="h"}else{q.t="t";i++}out.push(q);lst=c;break;case"[":o=c;while(fmt[i++]!=="]"&&i-1)o+=c;out.push({t:"n",v:o});break;case"?":o=fmt[i];while(fmt[++i]===c)o+=c;q={t:c,v:o};out.push(q);lst=c;break;case"*":++i;if(fmt[i]==" "||fmt[i]=="*")++i;break;case"(":case")":out.push({t:flen===1?"t":c,v:c});++i;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":o=fmt[i];while("0123456789".indexOf(fmt[++i])>-1)o+=fmt[i];out.push({t:"D",v:o});break;case" ":out.push({t:c,v:c});++i;break;default:if(",$-+/():!^&'~{}<>=€".indexOf(c)===-1)throw"unrecognized character "+fmt[i]+" in "+fmt;out.push({t:"t",v:c});++i;break}}var bt=0;for(i=out.length-1,lst="t";i>=0;--i){switch(out[i].t){case"h":case"H":out[i].t=hr;lst="h";if(bt<1)bt=1;break;case"s":if(bt<3)bt=3;case"d":case"y":case"M":case"e":lst=out[i].t;break;case"m":if(lst==="s"){out[i].t="M";if(bt<2)bt=2}break;case"Z":if(bt<1&&out[i].v.match(/[Hh]/))bt=1;if(bt<2&&out[i].v.match(/[Mm]/))bt=2;if(bt<3&&out[i].v.match(/[Ss]/))bt=3}}switch(bt){case 0:break;case 1:if(dt.u>=.5){dt.u=0;++dt.S}if(dt.S>=60){dt.S=0;++dt.M}if(dt.M>=60){dt.M=0;++dt.H}break;case 2:if(dt.u>=.5){dt.u=0;++dt.S}if(dt.S>=60){dt.S=0;++dt.M}break}for(i=0;i-1||" t".indexOf(out[jj].t)>-1&&"?t".indexOf((out[jj+1]||{}).t)>-1&&(out[jj+1].t=="?"||out[jj+1].v=="/")||out[i].t=="("&&")n ".indexOf(out[jj].t)>-1||out[jj].t=="t"&&(out[jj].v=="/"||"$€".indexOf(out[jj].v)>-1||out[jj].v==" "&&(out[jj+1]||{}).t=="?"))){out[i].v+=out[jj].v;delete out[jj];++jj}out[i].v=write_num(out[i].t,out[i].v,flen>1&&v<0&&i>0&&out[i-1].v=="-"?-v:v);out[i].t="t";i=jj-1;break;case"G":out[i].t="t";out[i].v=general_fmt(v,opts);break}}return out.map(function(x){return x.v}).join("")}SSF._eval=eval_fmt;function choose_fmt(fmt,v,o){if(typeof fmt==="number")fmt=(o&&o.table?o.table:table_fmt)[fmt];if(typeof fmt==="string")fmt=split_fmt(fmt);var l=fmt.length;if(l<4&&fmt[l-1].indexOf("@")>-1)--l;switch(fmt.length){case 1:fmt=fmt[0].indexOf("@")>-1?["General","General","General",fmt[0]]:[fmt[0],fmt[0],fmt[0],"@"];break;case 2:fmt=fmt[1].indexOf("@")>-1?[fmt[0],fmt[0],fmt[0],fmt[1]]:[fmt[0],fmt[1],fmt[0],"@"];break;case 3:fmt=fmt[2].indexOf("@")>-1?[fmt[0],fmt[1],fmt[0],fmt[2]]:[fmt[0],fmt[1],fmt[2],"@"];break;case 4:break;default:throw"cannot find right format for |"+fmt+"|"}if(typeof v!=="number")return[fmt.length,fmt[3]];var ff=v>0?fmt[0]:v<0?fmt[1]:fmt[2];if(fmt[0].match(/\[[=<>]/)||fmt[1].match(/\[[=<>]/)){var chk=function(v,rr,out){if(!rr)return null;var found=false;var thresh=Number(rr[2]);switch(rr[1]){case"=":if(v==thresh)found=true;break;case">":if(v>thresh)found=true;break;case"<":if(v":if(v!=thresh)found=true;break;case">=":if(v>=thresh)found=true;break;case"<=":if(v<=thresh)found=true;break}return found?out:null};var m1=fmt[0].match(/\[([=<>]*)([-]?\d+)\]/);var m2=fmt[1].match(/\[([=<>]*)([-]?\d+)\]/);return chk(v,m1,[l,fmt[0]])||chk(v,m2,[l,fmt[1]])||[l,fmt[m1&&m2?2:1]]}return[l,ff]}var format=function format(fmt,v,o){fixopts(o=o||{});if(typeof fmt==="string"&&fmt.toLowerCase()==="general")return general_fmt(v,o);if(typeof fmt==="number")fmt=(o.table||table_fmt)[fmt];var f=choose_fmt(fmt,v,o);if(f[1].toLowerCase()==="general")return general_fmt(v,o);if(v===true)v="TRUE";if(v===false)v="FALSE";if(v===""||typeof v==="undefined")return"";return eval_fmt(f[1],v,o,f[0])};SSF._choose=choose_fmt;SSF._table=table_fmt;SSF.load=function(fmt,idx){table_fmt[idx]=fmt};SSF.format=format;SSF.get_table=function(){return table_fmt};SSF.load_table=function(tbl){for(var i=0;i!=392;++i)if(tbl[i])SSF.load(tbl[i],i)}};make_ssf(SSF);var XLSX={};(function(XLSX){XLSX.version="0.5.15";var current_codepage,current_cptable,cptable;if(typeof module!=="undefined"&&typeof require!=="undefined"){if(typeof cptable==="undefined")cptable=require("codepage");current_codepage=1252;current_cptable=cptable[1252]}function reset_cp(){current_codepage=1252;if(typeof cptable!=="undefined")current_cptable=cptable[1252]}function _getchar(x){return String.fromCharCode(x)}function getdata(data){if(!data)return null;if(data.data)return data.name.substr(-4)!==".bin"?data.data:data.data.split("").map(function(x){return x.charCodeAt(0)});if(data.asNodeBuffer&&typeof Buffer!=="undefined"&&data.name.substr(-4)===".bin")return data.asNodeBuffer();if(data.asBinary&&data.name.substr(-4)!==".bin")return data.asBinary();if(data._data&&data._data.getContent){if(data.name.substr(-4)===".bin")return Array.prototype.slice.call(data._data.getContent());return Array.prototype.slice.call(data._data.getContent(),0).map(function(x){return String.fromCharCode(x)}).join("")}return null}function getzipfile(zip,file){var f=file;if(zip.files[f])return zip.files[f];f=file.toLowerCase();if(zip.files[f])return zip.files[f];f=f.replace(/\//g,"\\");if(zip.files[f])return zip.files[f];throw new Error("Cannot find file "+file+" in zip")}function getzipdata(zip,file,safe){if(!safe)return getdata(getzipfile(zip,file));if(!file)return null;try{return getzipdata(zip,file)}catch(e){return null}}var _fs,jszip;if(typeof JSZip!=="undefined")jszip=JSZip;if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports){if(typeof Buffer!=="undefined"&&typeof jszip==="undefined")jszip=require("jszip");if(typeof jszip==="undefined")jszip=require("./jszip").JSZip;_fs=require("fs")}}var attregexg=/(\w+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g;var attregex=/(\w+)=((?:")(?:[^"]*)(?:")|(?:')(?:[^']*)(?:'))/;function parsexmltag(tag){var words=tag.split(/\s+/);var z={0:words[0]};if(words.length===1)return z;(tag.match(attregexg)||[]).map(function(x){var y=x.match(attregex);z[y[1].replace(/^[a-zA-Z]*:/,"")]=y[2].substr(1,y[2].length-2)});return z}function evert(obj){var o={};Object.keys(obj).forEach(function(k){if(obj.hasOwnProperty(k))o[obj[k]]=k});return o}var encodings={""":'"',"'":"'",">":">","<":"<","&":"&"};var rencoding=evert(encodings);var rencstr="&<>'\"".split("");function unescapexml(text){var s=text+"";for(var y in encodings)s=s.replace(new RegExp(y,"g"),encodings[y]);return s.replace(/_x([0-9a-fA-F]*)_/g,function(m,c){return _chr(parseInt(c,16))})}function escapexml(text){var s=text+"";rencstr.forEach(function(y){s=s.replace(new RegExp(y,"g"),rencoding[y])});return s}function parsexmlbool(value,tag){switch(value){case"0":case 0:case"false":case"FALSE":return false;case"1":case 1:case"true":case"TRUE":return true;default:throw"bad boolean value "+value+" in "+(tag||"?")}}var utf8read=function(orig){var out=[],i=0,c=0,c1=0,c2=0,c3=0;while(i191&&c<224)out.push(_chr((c&31)<<6|c2&63));else{c3=orig.charCodeAt(i++);out.push(_chr((c&15)<<12|(c2&63)<<6|c3&63))}}}return out.join("")};function matchtag(f,g){return new RegExp("<"+f+'(?: xml:space="preserve")?>([^☃]*)",(g||"")+"m")}function parseVector(data){var h=parsexmltag(data);var matches=data.match(new RegExp("(.*?)","g"))||[];if(matches.length!=h.size)throw"unexpected vector length "+matches.length+" != "+h.size;var res=[];matches.forEach(function(x){var v=x.replace(/<[/]?vt:variant>/g,"").match(/]*)>(.*)>1;var bits=-7,d=isLE?-1:1,i=isLE?nl-1:0,s=buf[idx+i];i+=d;e=s&(1<<-bits)-1;s>>>=-bits;bits+=el;for(;bits>0;e=e*256+buf[idx+i],i+=d,bits-=8);m=e&(1<<-bits)-1;e>>>=-bits;bits+=ml;for(;bits>0;m=m*256+buf[idx+i],i+=d,bits-=8);if(e===eMax)return m?NaN:(s?-1:1)*Infinity;else if(e===0)e=1-eBias;else{m=m+Math.pow(2,ml);e=e-eBias}return(s?-1:1)*m*Math.pow(2,e-ml)}var __toBuffer;if(typeof Buffer!=="undefined"){Buffer.prototype.hexlify=function(){return this.toString("hex")};__toBuffer=function(bufs){return Buffer.concat(bufs[0])}}else{__toBuffer=function(bufs){var x=[];for(var i=0;i!=bufs[0].length;++i){x=x.concat(bufs[0][i])}return x}}var __readUInt8=function(b,idx){return b.readUInt8?b.readUInt8(idx):b[idx]};var __readUInt16LE=function(b,idx){return b.readUInt16LE?b.readUInt16LE(idx):b[idx+1]*(1<<8)+b[idx]};var __readInt16LE=function(b,idx){var u=__readUInt16LE(b,idx);if(!(u&32768))return u;return(65535-u+1)*-1};var __readUInt32LE=function(b,idx){return b.readUInt32LE?b.readUInt32LE(idx):b[idx+3]*(1<<24)+b[idx+2]*(1<<16)+b[idx+1]*(1<<8)+b[idx]};var __readInt32LE=function(b,idx){if(b.readInt32LE)return b.readInt32LE(idx);var u=__readUInt32LE(b,idx);if(!(u&2147483648))return u;return(4294967295-u+1)*-1};var __readDoubleLE=function(b,idx){return b.readDoubleLE?b.readDoubleLE(idx):readIEEE754(b,idx||0)};function ReadShift(size,t){var o="",oo=[],w,vv,i,loc;t=t||"u";if(size==="ieee754"){size=8;t="f"}switch(size){case 1:o=__readUInt8(this,this.l);break;case 2:o=(t==="u"?__readUInt16LE:__readInt16LE)(this,this.l);break;case 4:o=__readUInt32LE(this,this.l);break;case 8:if(t==="f"){o=__readDoubleLE(this,this.l);break}case 16:o=this.toString("hex",this.l,this.l+size);break;case"dbcs":size=2*t;loc=this.l;for(i=0;i!=t;++i){oo.push(_getchar(__readUInt16LE(this,loc)));loc+=2}o=oo.join("");break;case"sbcs":size=t;o="";loc=this.l;for(i=0;i!=t;++i){o+=_getchar(__readUInt8(this,loc));loc+=1}break}this.l+=size;return o}function prep_blob(blob,pos){blob.read_shift=ReadShift.bind(blob);blob.l=pos||0;var read=ReadShift.bind(blob);return[read]}function parsenoop(blob,length){blob.l+=length}var recordhopper=function(data,cb,opts){var tmpbyte,cntbyte,length;prep_blob(data,data.l||0);while(data.l"+escapexml(str)+"",h:str};if(fRichStr){var dwSizeStrRun=data.read_shift(4);for(var i=0;i!=dwSizeStrRun;++i)rgsStrRun.push(parse_StrRun(data));z.r=JSON.stringify(rgsStrRun)}if(fExtStr){}data.l=start+length;return z};function parse_Cell(data){var col=data.read_shift(4);var iStyleRef=data.read_shift(2);iStyleRef+=data.read_shift(1)<<16;var fPhShow=data.read_shift(1);return{c:col,iStyleRef:iStyleRef}}var parse_CodeName=function(data,length){return parse_XLWideString(data,length)};var parse_RelID=function(data,length){return parse_XLNullableWideString(data,length)};function parse_RkNumber(data){var b=data.slice(data.l,data.l+4);var fX100=b[0]&1,fInt=b[0]&2;data.l+=4;b[0]&=~3;var RK=fInt===0?__readDoubleLE([0,0,0,0,b[0],b[1],b[2],b[3]],0):__readInt32LE(b,0)>>2;return fX100?RK/100:RK}var parse_UncheckedRfX=function(data){var cell={s:{},e:{}};cell.s.r=data.read_shift(4);cell.e.r=data.read_shift(4);cell.s.c=data.read_shift(4);cell.e.c=data.read_shift(4);return cell};var parse_XLNullableWideString=function(data){var cchCharacters=data.read_shift(4);return cchCharacters===0||cchCharacters===4294967295?"":data.read_shift("dbcs",cchCharacters)};var parse_XLWideString=function(data){var cchCharacters=data.read_shift(4);return cchCharacters===0?"":data.read_shift("dbcs",cchCharacters)};function parse_Xnum(data,length){return data.read_shift("ieee754")}var BErr={0:"#NULL!",7:"#DIV/0!",15:"#VALUE!",23:"#REF!",29:"#NAME?",36:"#NUM!",42:"#N/A",43:"#GETTING_DATA",255:"#WTF?"};var RBErr=evert(BErr);function parse_BrtColor(data,length){var read=data.read_shift.bind(data);var out={};var d=read(1);out.fValidRGB=d&1;out.xColorType=d>>>1;out.index=read(1);out.nTintAndShade=read(2,"i");out.bRed=read(1);out.bGreen=read(1);out.bBlue=read(1);out.bAlpha=read(1)}function parse_FontFlags(data,length){var d=data.read_shift(1);data.l++;var out={fItalic:d&2,fStrikeout:d&8,fOutline:d&16,fShadow:d&32,fCondense:d&64,fExtend:d&128};return out}var parse_rs=function(){var tregex=matchtag("t"),rpregex=matchtag("rPr");var parse_rpr=function(rpr,intro,outro){var font={};(rpr.match(/<[^>]*>/g)||[]).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":break;case"":break;case"":font.strike=1;break;case"":break;case"":font.u=1;break;case"":break;case"":font.b=1;break;case"":break;case"":font.i=1;break;case"":break;case"');outro.push("")};function parse_r(r){var terms=[[],"",[]];var t=r.match(tregex);if(!isval(t))return"";terms[1]=t[1];var rpr=r.match(rpregex);if(isval(rpr))parse_rpr(rpr[1],terms[0],terms[2]);return terms[0].join("")+terms[1].replace(/\r\n/g,"
")+terms[2].join("")}return function(rs){return rs.replace(//g,"").split(/<\/r>/).map(parse_r).join("")}}();var parse_si=function(x,opts){var html=opts?opts.cellHTML:true;var z={};if(!x)return null;var y;if(x[1]==="t"){z.t=utf8read(unescapexml(x.substr(x.indexOf(">")+1).split(/<\/t>/)[0]));z.r=x;if(html)z.h=z.t}else if(y=x.match(//)){z.r=x;z.t=utf8read(unescapexml(x.replace(/<[^>]*>/gm,"")));if(html)z.h=parse_rs(x)}return z};var parse_sst_xml=function(data,opts){var s=[];var sst=data.match(new RegExp("]*)>([\\s\\S]*)","m"));if(isval(sst)){s=sst[2].replace(/<(?:si|sstItem)>/g,"").split(/<\/(?:si|sstItem)>/).map(function(x){return parse_si(x,opts)}).filter(function(x){return x});sst=parsexmltag(sst[1]);s.Count=sst.count;s.Unique=sst.uniqueCount}return s};var parse_BrtBeginSst=function(data,length){return[data.read_shift(4),data.read_shift(4)]};var parse_sst_bin=function(data,opts){var s=[];var pass=false;recordhopper(data,function(val,R,RT){switch(R.n){case"BrtBeginSst":s.Count=val[0];s.Unique=val[1];break;case"BrtSSTItem":s.push(val);break;case"BrtEndSst":return true;case"BrtFRTBegin":pass=true;break;case"BrtFRTEnd":pass=false;break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R.n)}});return s};var styles={};function parseNumFmts(t){styles.NumberFmt=[];for(var y in SSF._table)styles.NumberFmt[y]=SSF._table[y];t[0].match(/<[^>]*>/g).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":case"":break;case"0)SSF.load(f,i)}break;default:throw"unrecognized "+y[0]+" in numFmts"}})}function parseCXfs(t){styles.CellXf=[];t[0].match(/<[^>]*>/g).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":case"":break;case"":break;case"":case"":break;case"":break;case"]*)>.*<\/numFmts>/))parseNumFmts(t);if(t=data.match(/]*)>.*<\/cellXfs>/))parseCXfs(t);return styles}function parse_BrtFmt(data,length){var ifmt=data.read_shift(2);var stFmtCode=parse_XLWideString(data,length-2);return[ifmt,stFmtCode]}function parse_BrtFont(data,length){var read=data.read_shift.bind(data);var out={flags:{}};out.dyHeight=read(2);out.grbit=parse_FontFlags(data,2);out.bls=read(2);out.sss=read(2);out.uls=read(1);out.bFamily=read(1);out.bCharSet=read(1);data.l++;out.brtColor=parse_BrtColor(data,8);out.bFontScheme=read(1);out.name=parse_XLWideString(data,length-21);out.flags.Bold=out.bls===700;out.flags.Italic=out.grbit.fItalic;out.flags.Strikeout=out.grbit.fStrikeout;out.flags.Outline=out.grbit.fOutline;out.flags.Shadow=out.grbit.fShadow;out.flags.Condense=out.grbit.fCondense;out.flags.Extend=out.grbit.fExtend;out.flags.Sub=out.sss&2;out.flags.Sup=out.sss&1;return out}function parse_BrtXF(data,length){var ixfeParent=data.read_shift(2);var ifmt=data.read_shift(2);parsenoop(data,length-4);return{ixfe:ixfeParent,ifmt:ifmt}}function parse_sty_bin(data,opts){styles.NumberFmt=[];for(var y in SSF._table)styles.NumberFmt[y]=SSF._table[y];styles.CellXf=[];var state="";var pass=false;recordhopper(data,function(val,R,RT){switch(R.n){case"BrtFmt":styles.NumberFmt[val[0]]=val[1];SSF.load(val[1],val[0]);break;case"BrtFont":break;case"BrtKnownFonts":break;case"BrtFill":break;case"BrtBorder":break;case"BrtXF":if(state==="CELLXFS"){styles.CellXf.push(val)}break;case"BrtStyle":break;case"BrtRowHdr":break;case"BrtCellMeta":break;case"BrtDXF":break;case"BrtMRUColor":break;case"BrtIndexedColor":break;case"BrtBeginStyleSheet":break;case"BrtEndStyleSheet":break;case"BrtBeginTableStyle":break;case"BrtTableStyleElement":break;case"BrtEndTableStyle":break;case"BrtBeginFmts":state="FMTS";break;case"BrtEndFmts":state="";break;case"BrtBeginFonts":state="FONTS";break;case"BrtEndFonts":state="";break;case"BrtACBegin":state="ACFONTS";break;case"BrtACEnd":state="";break;case"BrtBeginFills":state="FILLS";break;case"BrtEndFills":state="";break;case"BrtBeginBorders":state="BORDERS";break;case"BrtEndBorders":state="";break;case"BrtBeginCellStyleXFs":state="CELLSTYLEXFS";break;case"BrtEndCellStyleXFs":state="";break;case"BrtBeginCellXFs":state="CELLXFS";break;case"BrtEndCellXFs":state="";break;case"BrtBeginStyles":state="STYLES";break;case"BrtEndStyles":state="";break;case"BrtBeginDXFs":state="DXFS";break;case"BrtEndDXFs":state="";break;case"BrtBeginTableStyles":state="TABLESTYLES";break;case"BrtEndTableStyles":state="";break;case"BrtBeginColorPalette":state="COLORPALETTE";break;case"BrtEndColorPalette":state="";break;case"BrtBeginIndexedColors":state="INDEXEDCOLORS";break;case"BrtEndIndexedColors":state="";break;case"BrtBeginMRUColors":state="MRUCOLORS";break;case"BrtEndMRUColors":state="";break;case"BrtFRTBegin":pass=true;break;case"BrtFRTEnd":pass=false;break;case"BrtBeginStyleSheetExt14":break;case"BrtBeginSlicerStyles":break;case"BrtEndSlicerStyles":break;case"BrtBeginTimelineStylesheetExt15":break;case"BrtEndTimelineStylesheetExt15":break;case"BrtBeginTimelineStyles":break;case"BrtEndTimelineStyles":break;case"BrtEndStyleSheetExt14":break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R.n)}});return styles}var ct2type={"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":"workbooks","application/vnd.ms-excel.sheet.macroEnabled.main+xml":"workbooks","application/vnd.ms-excel.sheet.binary.macroEnabled.main":"workbooks","application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":"sheets","application/vnd.ms-excel.worksheet":"sheets","application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":"styles","application/vnd.ms-excel.styles":"styles","application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml":"strs","application/vnd.ms-excel.sharedStrings":"strs","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml":"calcchains","application/vnd.ms-excel.calcChain":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":"comments","application/vnd.ms-excel.comments":"comments","application/vnd.openxmlformats-package.core-properties+xml":"coreprops","application/vnd.openxmlformats-officedocument.extended-properties+xml":"extprops","application/vnd.openxmlformats-officedocument.custom-properties+xml":"custprops","application/vnd.openxmlformats-officedocument.theme+xml":"themes",foo:"bar"}; -var XMLNS_CT="http://schemas.openxmlformats.org/package/2006/content-types";function parseProps(data){var p={Company:""},q={};var strings=["Application","DocSecurity","Company","AppVersion"];var bools=["HyperlinksChanged","SharedDoc","LinksUpToDate","ScaleCrop"];var xtra=["HeadingPairs","TitlesOfParts"];var xtracp=["category","contentStatus","lastModifiedBy","lastPrinted","revision","version"];var xtradc=["creator","description","identifier","language","subject","title"];var xtradcterms=["created","modified"];xtra=xtra.concat(xtracp.map(function(x){return"cp:"+x}));xtra=xtra.concat(xtradc.map(function(x){return"dc:"+x}));xtra=xtra.concat(xtradcterms.map(function(x){return"dcterms:"+x}));strings.forEach(function(f){p[f]=(data.match(matchtag(f))||[])[1]});bools.forEach(function(f){p[f]=(data.match(matchtag(f))||[])[1]=="true"});xtra.forEach(function(f){var cur=data.match(new RegExp("<"+f+"[^>]*>(.*)"));if(cur&&cur.length>0)q[f]=cur[1]});if(q.HeadingPairs&&q.TitlesOfParts){var v=parseVector(q.HeadingPairs);var j=0,widx=0;for(var i=0;i!==v.length;++i){switch(v[i].v){case"Worksheets":widx=j;p.Worksheets=+v[++i].v;break;case"Named Ranges":++i;break}}var parts=parseVector(q.TitlesOfParts).map(function(x){return utf8read(x.v)});p.SheetNames=parts.slice(widx,widx+p.Worksheets)}p.Creator=q["dc:creator"];p.LastModifiedBy=q["cp:lastModifiedBy"];p.CreatedDate=new Date(q["dcterms:created"]);p.ModifiedDate=new Date(q["dcterms:modified"]);return p}function parseCustomProps(data){var p={},name;data.match(/<[^>]+>([^<]*)/g).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":name=null;break;default:if(x.indexOf("");var type=toks[0].substring(4),text=toks[1];switch(type){case"lpstr":case"lpwstr":case"bstr":case"lpwstr":p[name]=unescapexml(text);break;case"bool":p[name]=parsexmlbool(text,"");break;case"i1":case"i2":case"i4":case"i8":case"int":case"uint":p[name]=parseInt(text,10);break;case"r4":case"r8":case"decimal":p[name]=parseFloat(text);break;case"filetime":case"date":p[name]=text;break;case"cy":case"error":p[name]=unescapexml(text);break;default:console.warn("Unexpected",x,type,toks)}}}});return p}var ctext={};function parseCT(data){if(!data||!data.match)return data;var ct={workbooks:[],sheets:[],calcchains:[],themes:[],styles:[],coreprops:[],extprops:[],custprops:[],strs:[],comments:[],xmlns:""};(data.match(/<[^>]*>/g)||[]).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"0?ct.calcchains[0]:"";ct.sst=ct.strs.length>0?ct.strs[0]:"";ct.style=ct.styles.length>0?ct.styles[0]:"";delete ct.calcchains;return ct}function parseRels(data,currentFilePath){if(!data)return data;if(currentFilePath.charAt(0)!=="/"){currentFilePath="/"+currentFilePath}var rels={};var resolveRelativePathIntoAbsolute=function(to){var toksFrom=currentFilePath.split("/");toksFrom.pop();var toksTo=to.split("/");var reversed=[];while(toksTo.length!==0){var tokTo=toksTo.shift();if(tokTo===".."){toksFrom.pop()}else if(tokTo!=="."){toksFrom.push(tokTo)}}return toksFrom.join("/")};data.match(/<[^>]*>/g).forEach(function(x){var y=parsexmltag(x);if(y[0]==="]*>/g)||[]).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":case"":break;case"/))return[];var authors=[];var commentList=[];data.match(/([^\u2603]*)<\/authors>/m)[1].split("").forEach(function(x){if(x===""||x.trim()==="")return;authors.push(x.match(/]*>(.*)/)[1])});data.match(/([^\u2603]*)<\/commentList>/m)[1].split("").forEach(function(x,index){if(x===""||x.trim()==="")return;var y=parsexmltag(x.match(/]*>/)[0]);var comment={author:y.authorId&&authors[y.authorId]?authors[y.authorId]:undefined,ref:y.ref,guid:y.guid};var cell=decode_cell(y.ref);if(opts.sheetRows&&opts.sheetRows<=cell.r)return;var textMatch=x.match(/([^\u2603]*)<\/text>/m);if(!textMatch||!textMatch[1])return;var rt=parse_si(textMatch[1]);comment.r=rt.r;comment.t=rt.t;if(opts.cellHTML)comment.h=rt.h;commentList.push(comment)});return commentList}var parse_BrtBeginComment=function(data,length){var out={};out.iauthor=data.read_shift(4);var rfx=parse_UncheckedRfX(data,16);out.rfx=rfx.s;out.ref=encode_cell(rfx.s);data.l+=16;return out};var parse_BrtCommentAuthor=parse_XLWideString;var parse_BrtCommentText=parse_RichStr;function parse_comments_bin(data,opts){var out=[];var authors=[];var c={};var pass=false;recordhopper(data,function(val,R,RT){switch(R.n){case"BrtCommentAuthor":authors.push(val);break;case"BrtBeginComment":c=val;break;case"BrtCommentText":c.t=val.t;c.h=val.h;c.r=val.r;break;case"BrtEndComment":c.author=authors[c.iauthor];delete c.iauthor;if(opts.sheetRows&&opts.sheetRows<=c.rfx.r)break;delete c.rfx;out.push(c);break;case"BrtBeginComments":break;case"BrtEndComments":break;case"BrtBeginCommentAuthors":break;case"BrtEndCommentAuthors":break;case"BrtBeginCommentList":break;case"BrtEndCommentList":break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R.n)}});return out}function parse_comments(zip,dirComments,sheets,sheetRels,opts){for(var i=0;i!=dirComments.length;++i){var canonicalpath=dirComments[i];var comments=parse_cmnt(getzipdata(zip,canonicalpath.replace(/^\//,""),true),canonicalpath,opts);if(!comments||!comments.length)continue;var sheetNames=Object.keys(sheets);for(var j=0;j!=sheetNames.length;++j){var sheetName=sheetNames[j];var rels=sheetRels[sheetName];if(rels){var rel=rels[canonicalpath];if(rel)insertCommentsIntoSheet(sheetName,sheets[sheetName],comments)}}}}function insertCommentsIntoSheet(sheetName,sheet,comments){comments.forEach(function(comment){var cell=sheet[comment.ref];if(!cell){cell={};sheet[comment.ref]=cell;var range=decode_range(sheet["!ref"]||"BDWGO1000001:A1");var thisCell=decode_cell(comment.ref);if(range.s.r>thisCell.r)range.s.r=thisCell.r;if(range.e.rthisCell.c)range.s.c=thisCell.c;if(range.e.c/);if(ref&&ref.length==2&&ref[1].indexOf(":")!==-1)s["!ref"]=ref[1];var mergecells=[];if(data.match(/<\/mergeCells>/)){var merges=data.match(//g);mergecells=merges.map(function(range){return decode_range(//.exec(range)[1])})}var refguess={s:{r:1e6,c:1e6},e:{r:0,c:0}};var q=["v","f"];var sidx=0;if(!data.match(//))data.match(/([^\u2603]*)<\/sheetData>/m)[1].split("").forEach(function(x){if(x===""||x.trim()==="")return;var row=parsexmltag(x.match(/]*>/)[0]);if(opts.sheetRows&&opts.sheetRows<+row.r)return;if(refguess.s.r>row.r-1)refguess.s.r=row.r-1;if(refguess.e.r")+1).split(/]*>/)||[c])[0]);delete cell[0];var d=c.substr(c.indexOf(">")+1);var p={};q.forEach(function(f){var x=d.match(matchtag(f));if(x)p[f]=unescapexml(x[1])});if(cell.t===undefined&&p.v===undefined){if(!opts.sheetStubs)return;p.t="str";p.v=undefined}else p.t=cell.t?cell.t:"n";if(refguess.s.c>idx)refguess.s.c=idx;if(refguess.e.c(.*)<\/is>/);is=is?parse_si(is[1]):{t:"",r:""};p.t="str";p.v=is.t;break;case"b":if(typeof p.v!=="boolean")p.v=parsexmlbool(p.v);break;case"d":var epoch=Date.parse(p.v);p.v=(epoch-new Date(Date.UTC(1899,11,30)))/(24*60*60*1e3);p.t="n";break;case"e":p.raw=RBErr[p.v];break}var fmtid=0;if(cell.s&&styles.CellXf){var cf=styles.CellXf[cell.s];if(cf&&cf.numFmtId)fmtid=cf.numFmtId}try{p.w=SSF.format(fmtid,p.v,_ssfopts);if(opts.cellNF)p.z=SSF._table[fmtid]}catch(e){if(opts.WTF)throw e}s[cell.r]=p})});if(!s["!ref"]&&refguess.e.c>=refguess.s.c&&refguess.e.r>=refguess.s.r)s["!ref"]=encode_range(refguess);if(opts.sheetRows&&s["!ref"]){var tmpref=decode_range(s["!ref"]);if(opts.sheetRows<+tmpref.e.r){tmpref.e.r=opts.sheetRows-1;if(tmpref.e.r>refguess.e.r)tmpref.e.r=refguess.e.r;if(tmpref.e.rrefguess.e.c)tmpref.e.c=refguess.e.c;if(tmpref.e.c0)s["!merges"]=mergecells;return s}var parse_BrtRowHdr=function(data,length){var z={};z.r=data.read_shift(4);data.l+=length-4;return z};var parse_BrtWsDim=parse_UncheckedRfX;var parse_BrtWsProp=function(data,length){var z={};data.l+=19;z.name=parse_CodeName(data,length-19);return z};var parse_BrtCellBlank=function(data,length){var cell=parse_Cell(data);return[cell]};var parse_BrtCellBool=function(data,length){var cell=parse_Cell(data);var fBool=data.read_shift(1);return[cell,fBool,"b"]};var parse_BrtCellError=function(data,length){var cell=parse_Cell(data);var fBool=data.read_shift(1);return[cell,fBool,"e"]};var parse_BrtCellIsst=function(data,length){var cell=parse_Cell(data);var isst=data.read_shift(4);return[cell,isst,"s"]};var parse_BrtCellReal=function(data,length){var cell=parse_Cell(data);var value=parse_Xnum(data);return[cell,value,"n"]};var parse_BrtCellRk=function(data,length){var cell=parse_Cell(data);var value=parse_RkNumber(data);return[cell,value,"n"]};var parse_BrtCellSt=function(data,length){var cell=parse_Cell(data);var value=parse_XLWideString(data);return[cell,value,"str"]};var parse_BrtFmlaBool=function(data,length,opts){var cell=parse_Cell(data);var value=data.read_shift(1);var o=[cell,value,"b"];if(opts.cellFormula){var formula=parse_CellParsedFormula(data,length-9);o[3]=""}else data.l+=length-9;return o};var parse_BrtFmlaError=function(data,length,opts){var cell=parse_Cell(data);var value=data.read_shift(1);var o=[cell,value,"e"];if(opts.cellFormula){var formula=parse_CellParsedFormula(data,length-9);o[3]=""}else data.l+=length-9;return o};var parse_BrtFmlaNum=function(data,length,opts){var cell=parse_Cell(data);var value=parse_Xnum(data);var o=[cell,value,"n"];if(opts.cellFormula){var formula=parse_CellParsedFormula(data,length-16);o[3]=""}else data.l+=length-16;return o};var parse_BrtFmlaString=function(data,length,opts){var start=data.l;var cell=parse_Cell(data);var value=parse_XLWideString(data);var o=[cell,value,"str"];if(opts.cellFormula){var formula=parse_CellParsedFormula(data,start+length-data.l);o[3]=""}else data.l=start+length;return o};var parse_BrtMergeCell=parse_UncheckedRfX;var parse_ws_bin=function(data,opts){if(!data)return data;var s={};var ref;var refguess={s:{r:1e6,c:1e6},e:{r:0,c:0}};var pass=false,end=false;var row,p,cf;var mergecells=[];recordhopper(data,function(val,R){if(end)return;switch(R.n){case"BrtWsDim":ref=val;break;case"BrtRowHdr":row=val;if(opts.sheetRows&&opts.sheetRows<=row.r)end=true;break;case"BrtFmlaBool":case"BrtFmlaError":case"BrtFmlaNum":case"BrtFmlaString":case"BrtCellBool":case"BrtCellError":case"BrtCellIsst":case"BrtCellReal":case"BrtCellRk":case"BrtCellSt":p={t:val[2]};switch(val[2]){case"n":p.v=val[1];break;case"s":p.v=strs[val[1]].t;p.r=strs[val[1]].r;break;case"b":p.v=val[1]?true:false;break;case"e":p.raw=val[1];p.v=BErr[p.raw];break;case"str":p.v=utf8read(val[1]);break}if(opts.cellFormula&&val.length>3)p.f=val[3];if(cf=styles.CellXf[val[0].iStyleRef])try{p.w=SSF.format(cf.ifmt,p.v,_ssfopts);if(opts.cellNF)p.z=SSF._table[cf.ifmt]}catch(e){if(opts.WTF)throw e}s[encode_cell({c:val[0].c,r:row.r})]=p;if(refguess.s.r>row.r)refguess.s.r=row.r;if(refguess.s.c>val[0].c)refguess.s.c=val[0].c;if(refguess.e.rrow.r)refguess.s.r=row.r;if(refguess.s.c>val[0].c)refguess.s.c=val[0].c;if(refguess.e.rrefguess.e.r)tmpref.e.r=refguess.e.r;if(tmpref.e.rrefguess.e.c)tmpref.e.c=refguess.e.c;if(tmpref.e.c0)s["!merges"]=mergecells;return s};var WBPropsDef={allowRefreshQuery:"0",autoCompressPictures:"1",backupFile:"0",checkCompatibility:"0",codeName:"",date1904:"0",dateCompatibility:"1",filterPrivacy:"0",hidePivotFieldList:"0",promptedSolutions:"0",publishItems:"0",refreshAllConnections:false,saveExternalLinkValues:"1",showBorderUnselectedTables:"1",showInkAnnotation:"1",showObjects:"all",showPivotChartFilter:"0"};var WBViewDef={activeTab:"0",autoFilterDateGrouping:"1",firstSheet:"0",minimized:"0",showHorizontalScroll:"1",showSheetTabs:"1",showVerticalScroll:"1",tabRatio:"600",visibility:"visible"};var SheetDef={state:"visible"};var CalcPrDef={calcCompleted:"true",calcMode:"auto",calcOnSave:"true",concurrentCalc:"true",fullCalcOnLoad:"false",fullPrecision:"true",iterate:"false",iterateCount:"100",iterateDelta:"0.001",refMode:"A1"};var CustomWBViewDef={autoUpdate:"false",changesSavedWin:"false",includeHiddenRowCol:"true",includePrintSettings:"true",maximized:"false",minimized:"false",onlySync:"false",personalView:"false",showComments:"commIndicator",showFormulaBar:"true",showHorizontalScroll:"true",showObjects:"all",showSheetTabs:"true",showStatusbar:"true",showVerticalScroll:"true",tabRatio:"600",xWindow:"0",yWindow:"0"};var XMLNS_WB=["http://schemas.openxmlformats.org/spreadsheetml/2006/main","http://schemas.microsoft.com/office/excel/2006/main","http://schemas.microsoft.com/office/excel/2006/2"];function parse_wb_xml(data){var wb={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""};var pass=false;data.match(/<[^>]*>/g).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":break;case"":break;case"":break;case"":delete y[0];wb.WBProps=y;break;case"":break;case"":case"":break;case"":case"":break;case"":break;case"":break;case"":break;case"":pass=true;break;case"":pass=false;break;case"":case"":break;case"":delete y[0];wb.CalcPr=y;break;case"":case"":case"":break;case"":case"":case"":break;case"":case"":break;case"":break;case"":break;case"":case"":break;case"":case"":case"":break;case"":pass=false;break;case"":pass=false;break}});if(XMLNS_WB.indexOf(wb.xmlns)===-1)throw new Error("Unknown Namespace: "+wb.xmlns);var z;for(z in WBPropsDef)if(typeof wb.WBProps[z]==="undefined")wb.WBProps[z]=WBPropsDef[z];for(z in CalcPrDef)if(typeof wb.CalcPr[z]==="undefined")wb.CalcPr[z]=CalcPrDef[z];wb.WBView.forEach(function(w){for(var z in WBViewDef)if(typeof w[z]==="undefined")w[z]=WBViewDef[z]});wb.Sheets.forEach(function(w){for(var z in SheetDef)if(typeof w[z]==="undefined")w[z]=SheetDef[z]});_ssfopts.date1904=parsexmlbool(wb.WBProps.date1904,"date1904");return wb}var parse_BrtBundleSh=function(data,length){var z={};z.hsState=data.read_shift(4);z.iTabID=data.read_shift(4);z.strRelID=parse_RelID(data,length-8);z.name=parse_XLWideString(data);return z};var parse_wb_bin=function(data,opts){var wb={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""};var pass=false,z;recordhopper(data,function(val,R){switch(R.n){case"BrtBundleSh":wb.Sheets.push(val);break;case"BrtBeginBook":break;case"BrtFileVersion":break;case"BrtWbProp":break;case"BrtACBegin":break;case"BrtAbsPath15":break;case"BrtACEnd":break;case"BrtBookProtection":break;case"BrtBeginBookViews":break;case"BrtBookView":break;case"BrtEndBookViews":break;case"BrtBeginBundleShs":break;case"BrtEndBundleShs":break;case"BrtBeginFnGroup":break;case"BrtEndFnGroup":break;case"BrtBeginExternals":break;case"BrtSupSelf":break;case"BrtSupBookSrc":break;case"BrtExternSheet":break;case"BrtEndExternals":break;case"BrtName":break;case"BrtCalcProp":break;case"BrtUserBookView":break;case"BrtBeginPivotCacheIDs":break;case"BrtBeginPivotCacheID":break;case"BrtEndPivotCacheID":break;case"BrtEndPivotCacheIDs":break;case"BrtWebOpt":break;case"BrtFileRecover":break;case"BrtFileSharing":break;case"BrtFRTBegin":pass=true;break;case"BrtFRTEnd":pass=false;break;case"BrtEndBook":break;default:if(!pass)throw new Error("Unexpected record "+R.n)}});for(z in WBPropsDef)if(typeof wb.WBProps[z]==="undefined")wb.WBProps[z]=WBPropsDef[z];for(z in CalcPrDef)if(typeof wb.CalcPr[z]==="undefined")wb.CalcPr[z]=CalcPrDef[z];wb.WBView.forEach(function(w){for(var z in WBViewDef)if(typeof w[z]==="undefined")w[z]=WBViewDef[z]});wb.Sheets.forEach(function(w){for(var z in SheetDef)if(typeof w[z]==="undefined")w[z]=SheetDef[z]});_ssfopts.date1904=parsexmlbool(wb.WBProps.date1904,"date1904");return wb};function parse_wb(data,name,opts){return name.substr(-4)===".bin"?parse_wb_bin(data,opts):parse_wb_xml(data,opts)}function parse_ws(data,name,opts){return name.substr(-4)===".bin"?parse_ws_bin(data,opts):parse_ws_xml(data,opts)}function parse_sty(data,name,opts){return name.substr(-4)===".bin"?parse_sty_bin(data,opts):parse_sty_xml(data,opts)}function parse_sst(data,name,opts){return name.substr(-4)===".bin"?parse_sst_bin(data,opts):parse_sst_xml(data,opts)}function parse_cmnt(data,name,opts){return name.substr(-4)===".bin"?parse_comments_bin(data,opts):parse_comments_xml(data,opts)}function parse_cc(data,name,opts){return name.substr(-4)===".bin"?parse_cc_bin(data,opts):parse_cc_xml(data,opts)}var RecordEnum={0:{n:"BrtRowHdr",f:parse_BrtRowHdr},1:{n:"BrtCellBlank",f:parse_BrtCellBlank},2:{n:"BrtCellRk",f:parse_BrtCellRk},3:{n:"BrtCellError",f:parse_BrtCellError},4:{n:"BrtCellBool",f:parse_BrtCellBool},5:{n:"BrtCellReal",f:parse_BrtCellReal},6:{n:"BrtCellSt",f:parse_BrtCellSt},7:{n:"BrtCellIsst",f:parse_BrtCellIsst},8:{n:"BrtFmlaString",f:parse_BrtFmlaString},9:{n:"BrtFmlaNum",f:parse_BrtFmlaNum},10:{n:"BrtFmlaBool",f:parse_BrtFmlaBool},11:{n:"BrtFmlaError",f:parse_BrtFmlaError},19:{n:"BrtSSTItem",f:parse_RichStr},20:{n:"BrtPCDIMissing",f:parsenoop},21:{n:"BrtPCDINumber",f:parsenoop},22:{n:"BrtPCDIBoolean",f:parsenoop},23:{n:"BrtPCDIError",f:parsenoop},24:{n:"BrtPCDIString",f:parsenoop},25:{n:"BrtPCDIDatetime",f:parsenoop},26:{n:"BrtPCDIIndex",f:parsenoop},27:{n:"BrtPCDIAMissing",f:parsenoop},28:{n:"BrtPCDIANumber",f:parsenoop},29:{n:"BrtPCDIABoolean",f:parsenoop},30:{n:"BrtPCDIAError",f:parsenoop},31:{n:"BrtPCDIAString",f:parsenoop},32:{n:"BrtPCDIADatetime",f:parsenoop},33:{n:"BrtPCRRecord",f:parsenoop},34:{n:"BrtPCRRecordDt",f:parsenoop},35:{n:"BrtFRTBegin",f:parsenoop},36:{n:"BrtFRTEnd",f:parsenoop},37:{n:"BrtACBegin",f:parsenoop},38:{n:"BrtACEnd",f:parsenoop},39:{n:"BrtName",f:parsenoop},40:{n:"BrtIndexRowBlock",f:parsenoop},42:{n:"BrtIndexBlock",f:parsenoop},43:{n:"BrtFont",f:parse_BrtFont},44:{n:"BrtFmt",f:parse_BrtFmt},45:{n:"BrtFill",f:parsenoop},46:{n:"BrtBorder",f:parsenoop},47:{n:"BrtXF",f:parse_BrtXF},48:{n:"BrtStyle",f:parsenoop},49:{n:"BrtCellMeta",f:parsenoop},50:{n:"BrtValueMeta",f:parsenoop},51:{n:"BrtMdb",f:parsenoop},52:{n:"BrtBeginFmd",f:parsenoop},53:{n:"BrtEndFmd",f:parsenoop},54:{n:"BrtBeginMdx",f:parsenoop},55:{n:"BrtEndMdx",f:parsenoop},56:{n:"BrtBeginMdxTuple",f:parsenoop},57:{n:"BrtEndMdxTuple",f:parsenoop},58:{n:"BrtMdxMbrIstr",f:parsenoop},59:{n:"BrtStr",f:parsenoop},60:{n:"BrtColInfo",f:parsenoop},62:{n:"BrtCellRString",f:parsenoop},63:{n:"BrtCalcChainItem$",f:parse_BrtCalcChainItem$},64:{n:"BrtDVal",f:parsenoop},65:{n:"BrtSxvcellNum",f:parsenoop},66:{n:"BrtSxvcellStr",f:parsenoop},67:{n:"BrtSxvcellBool",f:parsenoop},68:{n:"BrtSxvcellErr",f:parsenoop},69:{n:"BrtSxvcellDate",f:parsenoop},70:{n:"BrtSxvcellNil",f:parsenoop},128:{n:"BrtFileVersion",f:parsenoop},129:{n:"BrtBeginSheet",f:parsenoop},130:{n:"BrtEndSheet",f:parsenoop},131:{n:"BrtBeginBook",f:parsenoop},132:{n:"BrtEndBook",f:parsenoop},133:{n:"BrtBeginWsViews",f:parsenoop},134:{n:"BrtEndWsViews",f:parsenoop},135:{n:"BrtBeginBookViews",f:parsenoop},136:{n:"BrtEndBookViews",f:parsenoop},137:{n:"BrtBeginWsView",f:parsenoop},138:{n:"BrtEndWsView",f:parsenoop},139:{n:"BrtBeginCsViews",f:parsenoop},140:{n:"BrtEndCsViews",f:parsenoop},141:{n:"BrtBeginCsView",f:parsenoop},142:{n:"BrtEndCsView",f:parsenoop},143:{n:"BrtBeginBundleShs",f:parsenoop},144:{n:"BrtEndBundleShs",f:parsenoop},145:{n:"BrtBeginSheetData",f:parsenoop},146:{n:"BrtEndSheetData",f:parsenoop},147:{n:"BrtWsProp",f:parse_BrtWsProp},148:{n:"BrtWsDim",f:parse_BrtWsDim},151:{n:"BrtPane",f:parsenoop},152:{n:"BrtSel",f:parsenoop},153:{n:"BrtWbProp",f:parsenoop},154:{n:"BrtWbFactoid",f:parsenoop},155:{n:"BrtFileRecover",f:parsenoop},156:{n:"BrtBundleSh",f:parse_BrtBundleSh},157:{n:"BrtCalcProp",f:parsenoop},158:{n:"BrtBookView",f:parsenoop},159:{n:"BrtBeginSst",f:parse_BrtBeginSst},160:{n:"BrtEndSst",f:parsenoop},161:{n:"BrtBeginAFilter",f:parsenoop},162:{n:"BrtEndAFilter",f:parsenoop},163:{n:"BrtBeginFilterColumn",f:parsenoop},164:{n:"BrtEndFilterColumn",f:parsenoop},165:{n:"BrtBeginFilters",f:parsenoop},166:{n:"BrtEndFilters",f:parsenoop},167:{n:"BrtFilter",f:parsenoop},168:{n:"BrtColorFilter",f:parsenoop},169:{n:"BrtIconFilter",f:parsenoop},170:{n:"BrtTop10Filter",f:parsenoop},171:{n:"BrtDynamicFilter",f:parsenoop},172:{n:"BrtBeginCustomFilters",f:parsenoop},173:{n:"BrtEndCustomFilters",f:parsenoop},174:{n:"BrtCustomFilter",f:parsenoop},175:{n:"BrtAFilterDateGroupItem",f:parsenoop},176:{n:"BrtMergeCell",f:parse_BrtMergeCell},177:{n:"BrtBeginMergeCells",f:parsenoop},178:{n:"BrtEndMergeCells",f:parsenoop},179:{n:"BrtBeginPivotCacheDef",f:parsenoop},180:{n:"BrtEndPivotCacheDef",f:parsenoop},181:{n:"BrtBeginPCDFields",f:parsenoop},182:{n:"BrtEndPCDFields",f:parsenoop},183:{n:"BrtBeginPCDField",f:parsenoop},184:{n:"BrtEndPCDField",f:parsenoop},185:{n:"BrtBeginPCDSource",f:parsenoop},186:{n:"BrtEndPCDSource",f:parsenoop},187:{n:"BrtBeginPCDSRange",f:parsenoop},188:{n:"BrtEndPCDSRange",f:parsenoop},189:{n:"BrtBeginPCDFAtbl",f:parsenoop},190:{n:"BrtEndPCDFAtbl",f:parsenoop},191:{n:"BrtBeginPCDIRun",f:parsenoop},192:{n:"BrtEndPCDIRun",f:parsenoop},193:{n:"BrtBeginPivotCacheRecords",f:parsenoop},194:{n:"BrtEndPivotCacheRecords",f:parsenoop},195:{n:"BrtBeginPCDHierarchies",f:parsenoop},196:{n:"BrtEndPCDHierarchies",f:parsenoop},197:{n:"BrtBeginPCDHierarchy",f:parsenoop},198:{n:"BrtEndPCDHierarchy",f:parsenoop},199:{n:"BrtBeginPCDHFieldsUsage",f:parsenoop},200:{n:"BrtEndPCDHFieldsUsage",f:parsenoop},201:{n:"BrtBeginExtConnection",f:parsenoop},202:{n:"BrtEndExtConnection",f:parsenoop},203:{n:"BrtBeginECDbProps",f:parsenoop},204:{n:"BrtEndECDbProps",f:parsenoop},205:{n:"BrtBeginECOlapProps",f:parsenoop},206:{n:"BrtEndECOlapProps",f:parsenoop},207:{n:"BrtBeginPCDSConsol",f:parsenoop},208:{n:"BrtEndPCDSConsol",f:parsenoop},209:{n:"BrtBeginPCDSCPages",f:parsenoop},210:{n:"BrtEndPCDSCPages",f:parsenoop},211:{n:"BrtBeginPCDSCPage",f:parsenoop},212:{n:"BrtEndPCDSCPage",f:parsenoop},213:{n:"BrtBeginPCDSCPItem",f:parsenoop},214:{n:"BrtEndPCDSCPItem",f:parsenoop},215:{n:"BrtBeginPCDSCSets",f:parsenoop},216:{n:"BrtEndPCDSCSets",f:parsenoop},217:{n:"BrtBeginPCDSCSet",f:parsenoop},218:{n:"BrtEndPCDSCSet",f:parsenoop},219:{n:"BrtBeginPCDFGroup",f:parsenoop},220:{n:"BrtEndPCDFGroup",f:parsenoop},221:{n:"BrtBeginPCDFGItems",f:parsenoop},222:{n:"BrtEndPCDFGItems",f:parsenoop},223:{n:"BrtBeginPCDFGRange",f:parsenoop},224:{n:"BrtEndPCDFGRange",f:parsenoop},225:{n:"BrtBeginPCDFGDiscrete",f:parsenoop},226:{n:"BrtEndPCDFGDiscrete",f:parsenoop},227:{n:"BrtBeginPCDSDTupleCache",f:parsenoop},228:{n:"BrtEndPCDSDTupleCache",f:parsenoop},229:{n:"BrtBeginPCDSDTCEntries",f:parsenoop},230:{n:"BrtEndPCDSDTCEntries",f:parsenoop},231:{n:"BrtBeginPCDSDTCEMembers",f:parsenoop},232:{n:"BrtEndPCDSDTCEMembers",f:parsenoop},233:{n:"BrtBeginPCDSDTCEMember",f:parsenoop},234:{n:"BrtEndPCDSDTCEMember",f:parsenoop},235:{n:"BrtBeginPCDSDTCQueries",f:parsenoop},236:{n:"BrtEndPCDSDTCQueries",f:parsenoop},237:{n:"BrtBeginPCDSDTCQuery",f:parsenoop},238:{n:"BrtEndPCDSDTCQuery",f:parsenoop},239:{n:"BrtBeginPCDSDTCSets",f:parsenoop},240:{n:"BrtEndPCDSDTCSets",f:parsenoop},241:{n:"BrtBeginPCDSDTCSet",f:parsenoop},242:{n:"BrtEndPCDSDTCSet",f:parsenoop},243:{n:"BrtBeginPCDCalcItems",f:parsenoop},244:{n:"BrtEndPCDCalcItems",f:parsenoop},245:{n:"BrtBeginPCDCalcItem",f:parsenoop},246:{n:"BrtEndPCDCalcItem",f:parsenoop},247:{n:"BrtBeginPRule",f:parsenoop},248:{n:"BrtEndPRule",f:parsenoop},249:{n:"BrtBeginPRFilters",f:parsenoop},250:{n:"BrtEndPRFilters",f:parsenoop},251:{n:"BrtBeginPRFilter",f:parsenoop},252:{n:"BrtEndPRFilter",f:parsenoop},253:{n:"BrtBeginPNames",f:parsenoop},254:{n:"BrtEndPNames",f:parsenoop},255:{n:"BrtBeginPName",f:parsenoop},256:{n:"BrtEndPName",f:parsenoop},257:{n:"BrtBeginPNPairs",f:parsenoop},258:{n:"BrtEndPNPairs",f:parsenoop},259:{n:"BrtBeginPNPair",f:parsenoop},260:{n:"BrtEndPNPair",f:parsenoop},261:{n:"BrtBeginECWebProps",f:parsenoop},262:{n:"BrtEndECWebProps",f:parsenoop},263:{n:"BrtBeginEcWpTables",f:parsenoop},264:{n:"BrtEndECWPTables",f:parsenoop},265:{n:"BrtBeginECParams",f:parsenoop},266:{n:"BrtEndECParams",f:parsenoop},267:{n:"BrtBeginECParam",f:parsenoop},268:{n:"BrtEndECParam",f:parsenoop},269:{n:"BrtBeginPCDKPIs",f:parsenoop},270:{n:"BrtEndPCDKPIs",f:parsenoop},271:{n:"BrtBeginPCDKPI",f:parsenoop},272:{n:"BrtEndPCDKPI",f:parsenoop},273:{n:"BrtBeginDims",f:parsenoop},274:{n:"BrtEndDims",f:parsenoop},275:{n:"BrtBeginDim",f:parsenoop},276:{n:"BrtEndDim",f:parsenoop},277:{n:"BrtIndexPartEnd",f:parsenoop},278:{n:"BrtBeginStyleSheet",f:parsenoop},279:{n:"BrtEndStyleSheet",f:parsenoop},280:{n:"BrtBeginSXView",f:parsenoop},281:{n:"BrtEndSXVI",f:parsenoop},282:{n:"BrtBeginSXVI",f:parsenoop},283:{n:"BrtBeginSXVIs",f:parsenoop},284:{n:"BrtEndSXVIs",f:parsenoop},285:{n:"BrtBeginSXVD",f:parsenoop},286:{n:"BrtEndSXVD",f:parsenoop},287:{n:"BrtBeginSXVDs",f:parsenoop},288:{n:"BrtEndSXVDs",f:parsenoop},289:{n:"BrtBeginSXPI",f:parsenoop},290:{n:"BrtEndSXPI",f:parsenoop},291:{n:"BrtBeginSXPIs",f:parsenoop},292:{n:"BrtEndSXPIs",f:parsenoop},293:{n:"BrtBeginSXDI",f:parsenoop},294:{n:"BrtEndSXDI",f:parsenoop},295:{n:"BrtBeginSXDIs",f:parsenoop},296:{n:"BrtEndSXDIs",f:parsenoop},297:{n:"BrtBeginSXLI",f:parsenoop},298:{n:"BrtEndSXLI",f:parsenoop},299:{n:"BrtBeginSXLIRws",f:parsenoop},300:{n:"BrtEndSXLIRws",f:parsenoop},301:{n:"BrtBeginSXLICols",f:parsenoop},302:{n:"BrtEndSXLICols",f:parsenoop},303:{n:"BrtBeginSXFormat",f:parsenoop},304:{n:"BrtEndSXFormat",f:parsenoop},305:{n:"BrtBeginSXFormats",f:parsenoop},306:{n:"BrtEndSxFormats",f:parsenoop},307:{n:"BrtBeginSxSelect",f:parsenoop},308:{n:"BrtEndSxSelect",f:parsenoop},309:{n:"BrtBeginISXVDRws",f:parsenoop},310:{n:"BrtEndISXVDRws",f:parsenoop},311:{n:"BrtBeginISXVDCols",f:parsenoop},312:{n:"BrtEndISXVDCols",f:parsenoop},313:{n:"BrtEndSXLocation",f:parsenoop},314:{n:"BrtBeginSXLocation",f:parsenoop},315:{n:"BrtEndSXView",f:parsenoop},316:{n:"BrtBeginSXTHs",f:parsenoop},317:{n:"BrtEndSXTHs",f:parsenoop},318:{n:"BrtBeginSXTH",f:parsenoop},319:{n:"BrtEndSXTH",f:parsenoop},320:{n:"BrtBeginISXTHRws",f:parsenoop},321:{n:"BrtEndISXTHRws",f:parsenoop},322:{n:"BrtBeginISXTHCols",f:parsenoop},323:{n:"BrtEndISXTHCols",f:parsenoop},324:{n:"BrtBeginSXTDMPS",f:parsenoop},325:{n:"BrtEndSXTDMPs",f:parsenoop},326:{n:"BrtBeginSXTDMP",f:parsenoop},327:{n:"BrtEndSXTDMP",f:parsenoop},328:{n:"BrtBeginSXTHItems",f:parsenoop},329:{n:"BrtEndSXTHItems",f:parsenoop},330:{n:"BrtBeginSXTHItem",f:parsenoop},331:{n:"BrtEndSXTHItem",f:parsenoop},332:{n:"BrtBeginMetadata",f:parsenoop},333:{n:"BrtEndMetadata",f:parsenoop},334:{n:"BrtBeginEsmdtinfo",f:parsenoop},335:{n:"BrtMdtinfo",f:parsenoop},336:{n:"BrtEndEsmdtinfo",f:parsenoop},337:{n:"BrtBeginEsmdb",f:parsenoop},338:{n:"BrtEndEsmdb",f:parsenoop},339:{n:"BrtBeginEsfmd",f:parsenoop},340:{n:"BrtEndEsfmd",f:parsenoop},341:{n:"BrtBeginSingleCells",f:parsenoop},342:{n:"BrtEndSingleCells",f:parsenoop},343:{n:"BrtBeginList",f:parsenoop},344:{n:"BrtEndList",f:parsenoop},345:{n:"BrtBeginListCols",f:parsenoop},346:{n:"BrtEndListCols",f:parsenoop},347:{n:"BrtBeginListCol",f:parsenoop},348:{n:"BrtEndListCol",f:parsenoop},349:{n:"BrtBeginListXmlCPr",f:parsenoop},350:{n:"BrtEndListXmlCPr",f:parsenoop},351:{n:"BrtListCCFmla",f:parsenoop},352:{n:"BrtListTrFmla",f:parsenoop},353:{n:"BrtBeginExternals",f:parsenoop},354:{n:"BrtEndExternals",f:parsenoop},355:{n:"BrtSupBookSrc",f:parsenoop},357:{n:"BrtSupSelf",f:parsenoop},358:{n:"BrtSupSame",f:parsenoop},359:{n:"BrtSupTabs",f:parsenoop},360:{n:"BrtBeginSupBook",f:parsenoop},361:{n:"BrtPlaceholderName",f:parsenoop},362:{n:"BrtExternSheet",f:parsenoop},363:{n:"BrtExternTableStart",f:parsenoop},364:{n:"BrtExternTableEnd",f:parsenoop},366:{n:"BrtExternRowHdr",f:parsenoop},367:{n:"BrtExternCellBlank",f:parsenoop},368:{n:"BrtExternCellReal",f:parsenoop},369:{n:"BrtExternCellBool",f:parsenoop},370:{n:"BrtExternCellError",f:parsenoop},371:{n:"BrtExternCellString",f:parsenoop},372:{n:"BrtBeginEsmdx",f:parsenoop},373:{n:"BrtEndEsmdx",f:parsenoop},374:{n:"BrtBeginMdxSet",f:parsenoop},375:{n:"BrtEndMdxSet",f:parsenoop},376:{n:"BrtBeginMdxMbrProp",f:parsenoop},377:{n:"BrtEndMdxMbrProp",f:parsenoop},378:{n:"BrtBeginMdxKPI",f:parsenoop},379:{n:"BrtEndMdxKPI",f:parsenoop},380:{n:"BrtBeginEsstr",f:parsenoop},381:{n:"BrtEndEsstr",f:parsenoop},382:{n:"BrtBeginPRFItem",f:parsenoop},383:{n:"BrtEndPRFItem",f:parsenoop},384:{n:"BrtBeginPivotCacheIDs",f:parsenoop},385:{n:"BrtEndPivotCacheIDs",f:parsenoop},386:{n:"BrtBeginPivotCacheID",f:parsenoop},387:{n:"BrtEndPivotCacheID",f:parsenoop},388:{n:"BrtBeginISXVIs",f:parsenoop},389:{n:"BrtEndISXVIs",f:parsenoop},390:{n:"BrtBeginColInfos",f:parsenoop},391:{n:"BrtEndColInfos",f:parsenoop},392:{n:"BrtBeginRwBrk",f:parsenoop},393:{n:"BrtEndRwBrk",f:parsenoop},394:{n:"BrtBeginColBrk",f:parsenoop},395:{n:"BrtEndColBrk",f:parsenoop},396:{n:"BrtBrk",f:parsenoop},397:{n:"BrtUserBookView",f:parsenoop},398:{n:"BrtInfo",f:parsenoop},399:{n:"BrtCUsr",f:parsenoop},400:{n:"BrtUsr",f:parsenoop},401:{n:"BrtBeginUsers",f:parsenoop},403:{n:"BrtEOF",f:parsenoop},404:{n:"BrtUCR",f:parsenoop},405:{n:"BrtRRInsDel",f:parsenoop},406:{n:"BrtRREndInsDel",f:parsenoop},407:{n:"BrtRRMove",f:parsenoop},408:{n:"BrtRREndMove",f:parsenoop},409:{n:"BrtRRChgCell",f:parsenoop},410:{n:"BrtRREndChgCell",f:parsenoop},411:{n:"BrtRRHeader",f:parsenoop},412:{n:"BrtRRUserView",f:parsenoop},413:{n:"BrtRRRenSheet",f:parsenoop},414:{n:"BrtRRInsertSh",f:parsenoop},415:{n:"BrtRRDefName",f:parsenoop},416:{n:"BrtRRNote",f:parsenoop},417:{n:"BrtRRConflict",f:parsenoop},418:{n:"BrtRRTQSIF",f:parsenoop},419:{n:"BrtRRFormat",f:parsenoop},420:{n:"BrtRREndFormat",f:parsenoop},421:{n:"BrtRRAutoFmt",f:parsenoop},422:{n:"BrtBeginUserShViews",f:parsenoop},423:{n:"BrtBeginUserShView",f:parsenoop},424:{n:"BrtEndUserShView",f:parsenoop},425:{n:"BrtEndUserShViews",f:parsenoop},426:{n:"BrtArrFmla",f:parsenoop},427:{n:"BrtShrFmla",f:parsenoop},428:{n:"BrtTable",f:parsenoop},429:{n:"BrtBeginExtConnections",f:parsenoop},430:{n:"BrtEndExtConnections",f:parsenoop},431:{n:"BrtBeginPCDCalcMems",f:parsenoop},432:{n:"BrtEndPCDCalcMems",f:parsenoop},433:{n:"BrtBeginPCDCalcMem",f:parsenoop},434:{n:"BrtEndPCDCalcMem",f:parsenoop},435:{n:"BrtBeginPCDHGLevels",f:parsenoop},436:{n:"BrtEndPCDHGLevels",f:parsenoop},437:{n:"BrtBeginPCDHGLevel",f:parsenoop},438:{n:"BrtEndPCDHGLevel",f:parsenoop},439:{n:"BrtBeginPCDHGLGroups",f:parsenoop},440:{n:"BrtEndPCDHGLGroups",f:parsenoop},441:{n:"BrtBeginPCDHGLGroup",f:parsenoop},442:{n:"BrtEndPCDHGLGroup",f:parsenoop},443:{n:"BrtBeginPCDHGLGMembers",f:parsenoop},444:{n:"BrtEndPCDHGLGMembers",f:parsenoop},445:{n:"BrtBeginPCDHGLGMember",f:parsenoop},446:{n:"BrtEndPCDHGLGMember",f:parsenoop},447:{n:"BrtBeginQSI",f:parsenoop},448:{n:"BrtEndQSI",f:parsenoop},449:{n:"BrtBeginQSIR",f:parsenoop},450:{n:"BrtEndQSIR",f:parsenoop},451:{n:"BrtBeginDeletedNames",f:parsenoop},452:{n:"BrtEndDeletedNames",f:parsenoop},453:{n:"BrtBeginDeletedName",f:parsenoop},454:{n:"BrtEndDeletedName",f:parsenoop},455:{n:"BrtBeginQSIFs",f:parsenoop},456:{n:"BrtEndQSIFs",f:parsenoop},457:{n:"BrtBeginQSIF",f:parsenoop},458:{n:"BrtEndQSIF",f:parsenoop},459:{n:"BrtBeginAutoSortScope",f:parsenoop},460:{n:"BrtEndAutoSortScope",f:parsenoop},461:{n:"BrtBeginConditionalFormatting",f:parsenoop},462:{n:"BrtEndConditionalFormatting",f:parsenoop},463:{n:"BrtBeginCFRule",f:parsenoop},464:{n:"BrtEndCFRule",f:parsenoop},465:{n:"BrtBeginIconSet",f:parsenoop},466:{n:"BrtEndIconSet",f:parsenoop},467:{n:"BrtBeginDatabar",f:parsenoop},468:{n:"BrtEndDatabar",f:parsenoop},469:{n:"BrtBeginColorScale",f:parsenoop},470:{n:"BrtEndColorScale",f:parsenoop},471:{n:"BrtCFVO",f:parsenoop},472:{n:"BrtExternValueMeta",f:parsenoop},473:{n:"BrtBeginColorPalette",f:parsenoop},474:{n:"BrtEndColorPalette",f:parsenoop},475:{n:"BrtIndexedColor",f:parsenoop},476:{n:"BrtMargins",f:parsenoop},477:{n:"BrtPrintOptions",f:parsenoop},478:{n:"BrtPageSetup",f:parsenoop},479:{n:"BrtBeginHeaderFooter",f:parsenoop},480:{n:"BrtEndHeaderFooter",f:parsenoop},481:{n:"BrtBeginSXCrtFormat",f:parsenoop},482:{n:"BrtEndSXCrtFormat",f:parsenoop},483:{n:"BrtBeginSXCrtFormats",f:parsenoop},484:{n:"BrtEndSXCrtFormats",f:parsenoop},485:{n:"BrtWsFmtInfo",f:parsenoop},486:{n:"BrtBeginMgs",f:parsenoop},487:{n:"BrtEndMGs",f:parsenoop},488:{n:"BrtBeginMGMaps",f:parsenoop},489:{n:"BrtEndMGMaps",f:parsenoop},490:{n:"BrtBeginMG",f:parsenoop},491:{n:"BrtEndMG",f:parsenoop},492:{n:"BrtBeginMap",f:parsenoop},493:{n:"BrtEndMap",f:parsenoop},494:{n:"BrtHLink",f:parsenoop},495:{n:"BrtBeginDCon",f:parsenoop},496:{n:"BrtEndDCon",f:parsenoop},497:{n:"BrtBeginDRefs",f:parsenoop},498:{n:"BrtEndDRefs",f:parsenoop},499:{n:"BrtDRef",f:parsenoop},500:{n:"BrtBeginScenMan",f:parsenoop},501:{n:"BrtEndScenMan",f:parsenoop},502:{n:"BrtBeginSct",f:parsenoop},503:{n:"BrtEndSct",f:parsenoop},504:{n:"BrtSlc",f:parsenoop},505:{n:"BrtBeginDXFs",f:parsenoop},506:{n:"BrtEndDXFs",f:parsenoop},507:{n:"BrtDXF",f:parsenoop},508:{n:"BrtBeginTableStyles",f:parsenoop},509:{n:"BrtEndTableStyles",f:parsenoop},510:{n:"BrtBeginTableStyle",f:parsenoop},511:{n:"BrtEndTableStyle",f:parsenoop},512:{n:"BrtTableStyleElement",f:parsenoop},513:{n:"BrtTableStyleClient",f:parsenoop},514:{n:"BrtBeginVolDeps",f:parsenoop},515:{n:"BrtEndVolDeps",f:parsenoop},516:{n:"BrtBeginVolType",f:parsenoop},517:{n:"BrtEndVolType",f:parsenoop},518:{n:"BrtBeginVolMain",f:parsenoop},519:{n:"BrtEndVolMain",f:parsenoop},520:{n:"BrtBeginVolTopic",f:parsenoop},521:{n:"BrtEndVolTopic",f:parsenoop},522:{n:"BrtVolSubtopic",f:parsenoop},523:{n:"BrtVolRef",f:parsenoop},524:{n:"BrtVolNum",f:parsenoop},525:{n:"BrtVolErr",f:parsenoop},526:{n:"BrtVolStr",f:parsenoop},527:{n:"BrtVolBool",f:parsenoop},528:{n:"BrtBeginCalcChain$",f:parsenoop},529:{n:"BrtEndCalcChain$",f:parsenoop},530:{n:"BrtBeginSortState",f:parsenoop},531:{n:"BrtEndSortState",f:parsenoop},532:{n:"BrtBeginSortCond",f:parsenoop},533:{n:"BrtEndSortCond",f:parsenoop},534:{n:"BrtBookProtection",f:parsenoop},535:{n:"BrtSheetProtection",f:parsenoop},536:{n:"BrtRangeProtection",f:parsenoop},537:{n:"BrtPhoneticInfo",f:parsenoop},538:{n:"BrtBeginECTxtWiz",f:parsenoop},539:{n:"BrtEndECTxtWiz",f:parsenoop},540:{n:"BrtBeginECTWFldInfoLst",f:parsenoop},541:{n:"BrtEndECTWFldInfoLst",f:parsenoop},542:{n:"BrtBeginECTwFldInfo",f:parsenoop},548:{n:"BrtFileSharing",f:parsenoop},549:{n:"BrtOleSize",f:parsenoop},550:{n:"BrtDrawing",f:parsenoop},551:{n:"BrtLegacyDrawing",f:parsenoop},552:{n:"BrtLegacyDrawingHF",f:parsenoop},553:{n:"BrtWebOpt",f:parsenoop},554:{n:"BrtBeginWebPubItems",f:parsenoop},555:{n:"BrtEndWebPubItems",f:parsenoop},556:{n:"BrtBeginWebPubItem",f:parsenoop},557:{n:"BrtEndWebPubItem",f:parsenoop},558:{n:"BrtBeginSXCondFmt",f:parsenoop},559:{n:"BrtEndSXCondFmt",f:parsenoop},560:{n:"BrtBeginSXCondFmts",f:parsenoop},561:{n:"BrtEndSXCondFmts",f:parsenoop},562:{n:"BrtBkHim",f:parsenoop},564:{n:"BrtColor",f:parsenoop},565:{n:"BrtBeginIndexedColors",f:parsenoop},566:{n:"BrtEndIndexedColors",f:parsenoop},569:{n:"BrtBeginMRUColors",f:parsenoop},570:{n:"BrtEndMRUColors",f:parsenoop},572:{n:"BrtMRUColor",f:parsenoop},573:{n:"BrtBeginDVals",f:parsenoop},574:{n:"BrtEndDVals",f:parsenoop},577:{n:"BrtSupNameStart",f:parsenoop},578:{n:"BrtSupNameValueStart",f:parsenoop},579:{n:"BrtSupNameValueEnd",f:parsenoop},580:{n:"BrtSupNameNum",f:parsenoop},581:{n:"BrtSupNameErr",f:parsenoop},582:{n:"BrtSupNameSt",f:parsenoop},583:{n:"BrtSupNameNil",f:parsenoop},584:{n:"BrtSupNameBool",f:parsenoop},585:{n:"BrtSupNameFmla",f:parsenoop},586:{n:"BrtSupNameBits",f:parsenoop},587:{n:"BrtSupNameEnd",f:parsenoop},588:{n:"BrtEndSupBook",f:parsenoop},589:{n:"BrtCellSmartTagProperty",f:parsenoop},590:{n:"BrtBeginCellSmartTag",f:parsenoop},591:{n:"BrtEndCellSmartTag",f:parsenoop},592:{n:"BrtBeginCellSmartTags",f:parsenoop},593:{n:"BrtEndCellSmartTags",f:parsenoop},594:{n:"BrtBeginSmartTags",f:parsenoop},595:{n:"BrtEndSmartTags",f:parsenoop},596:{n:"BrtSmartTagType",f:parsenoop},597:{n:"BrtBeginSmartTagTypes",f:parsenoop},598:{n:"BrtEndSmartTagTypes",f:parsenoop},599:{n:"BrtBeginSXFilters",f:parsenoop},600:{n:"BrtEndSXFilters",f:parsenoop},601:{n:"BrtBeginSXFILTER",f:parsenoop},602:{n:"BrtEndSXFilter",f:parsenoop},603:{n:"BrtBeginFills",f:parsenoop},604:{n:"BrtEndFills",f:parsenoop},605:{n:"BrtBeginCellWatches",f:parsenoop},606:{n:"BrtEndCellWatches",f:parsenoop},607:{n:"BrtCellWatch",f:parsenoop},608:{n:"BrtBeginCRErrs",f:parsenoop},609:{n:"BrtEndCRErrs",f:parsenoop},610:{n:"BrtCrashRecErr",f:parsenoop},611:{n:"BrtBeginFonts",f:parsenoop},612:{n:"BrtEndFonts",f:parsenoop},613:{n:"BrtBeginBorders",f:parsenoop},614:{n:"BrtEndBorders",f:parsenoop},615:{n:"BrtBeginFmts",f:parsenoop},616:{n:"BrtEndFmts",f:parsenoop},617:{n:"BrtBeginCellXFs",f:parsenoop},618:{n:"BrtEndCellXFs",f:parsenoop},619:{n:"BrtBeginStyles",f:parsenoop},620:{n:"BrtEndStyles",f:parsenoop},625:{n:"BrtBigName",f:parsenoop},626:{n:"BrtBeginCellStyleXFs",f:parsenoop},627:{n:"BrtEndCellStyleXFs",f:parsenoop},628:{n:"BrtBeginComments",f:parsenoop},629:{n:"BrtEndComments",f:parsenoop},630:{n:"BrtBeginCommentAuthors",f:parsenoop},631:{n:"BrtEndCommentAuthors",f:parsenoop},632:{n:"BrtCommentAuthor",f:parse_BrtCommentAuthor},633:{n:"BrtBeginCommentList",f:parsenoop},634:{n:"BrtEndCommentList",f:parsenoop},635:{n:"BrtBeginComment",f:parse_BrtBeginComment},636:{n:"BrtEndComment",f:parsenoop},637:{n:"BrtCommentText",f:parse_BrtCommentText},638:{n:"BrtBeginOleObjects",f:parsenoop},639:{n:"BrtOleObject",f:parsenoop},640:{n:"BrtEndOleObjects",f:parsenoop},641:{n:"BrtBeginSxrules",f:parsenoop},642:{n:"BrtEndSxRules",f:parsenoop},643:{n:"BrtBeginActiveXControls",f:parsenoop},644:{n:"BrtActiveX",f:parsenoop},645:{n:"BrtEndActiveXControls",f:parsenoop},646:{n:"BrtBeginPCDSDTCEMembersSortBy",f:parsenoop},648:{n:"BrtBeginCellIgnoreECs",f:parsenoop},649:{n:"BrtCellIgnoreEC",f:parsenoop},650:{n:"BrtEndCellIgnoreECs",f:parsenoop},651:{n:"BrtCsProp",f:parsenoop},652:{n:"BrtCsPageSetup",f:parsenoop},653:{n:"BrtBeginUserCsViews",f:parsenoop},654:{n:"BrtEndUserCsViews",f:parsenoop},655:{n:"BrtBeginUserCsView",f:parsenoop},656:{n:"BrtEndUserCsView",f:parsenoop},657:{n:"BrtBeginPcdSFCIEntries",f:parsenoop},658:{n:"BrtEndPCDSFCIEntries",f:parsenoop},659:{n:"BrtPCDSFCIEntry",f:parsenoop},660:{n:"BrtBeginListParts",f:parsenoop},661:{n:"BrtListPart",f:parsenoop},662:{n:"BrtEndListParts",f:parsenoop},663:{n:"BrtSheetCalcProp",f:parsenoop},664:{n:"BrtBeginFnGroup",f:parsenoop},665:{n:"BrtFnGroup",f:parsenoop},666:{n:"BrtEndFnGroup",f:parsenoop},667:{n:"BrtSupAddin",f:parsenoop},668:{n:"BrtSXTDMPOrder",f:parsenoop},669:{n:"BrtCsProtection",f:parsenoop},671:{n:"BrtBeginWsSortMap",f:parsenoop},672:{n:"BrtEndWsSortMap",f:parsenoop},673:{n:"BrtBeginRRSort",f:parsenoop},674:{n:"BrtEndRRSort",f:parsenoop},675:{n:"BrtRRSortItem",f:parsenoop},676:{n:"BrtFileSharingIso",f:parsenoop},677:{n:"BrtBookProtectionIso",f:parsenoop},678:{n:"BrtSheetProtectionIso",f:parsenoop},679:{n:"BrtCsProtectionIso",f:parsenoop},680:{n:"BrtRangeProtectionIso",f:parsenoop},1024:{n:"BrtRwDescent",f:parsenoop},1025:{n:"BrtKnownFonts",f:parsenoop},1026:{n:"BrtBeginSXTupleSet",f:parsenoop},1027:{n:"BrtEndSXTupleSet",f:parsenoop},1028:{n:"BrtBeginSXTupleSetHeader",f:parsenoop},1029:{n:"BrtEndSXTupleSetHeader",f:parsenoop},1030:{n:"BrtSXTupleSetHeaderItem",f:parsenoop},1031:{n:"BrtBeginSXTupleSetData",f:parsenoop},1032:{n:"BrtEndSXTupleSetData",f:parsenoop},1033:{n:"BrtBeginSXTupleSetRow",f:parsenoop},1034:{n:"BrtEndSXTupleSetRow",f:parsenoop},1035:{n:"BrtSXTupleSetRowItem",f:parsenoop},1036:{n:"BrtNameExt",f:parsenoop},1037:{n:"BrtPCDH14",f:parsenoop},1038:{n:"BrtBeginPCDCalcMem14",f:parsenoop},1039:{n:"BrtEndPCDCalcMem14",f:parsenoop},1040:{n:"BrtSXTH14",f:parsenoop},1041:{n:"BrtBeginSparklineGroup",f:parsenoop},1042:{n:"BrtEndSparklineGroup",f:parsenoop},1043:{n:"BrtSparkline",f:parsenoop},1044:{n:"BrtSXDI14",f:parsenoop},1045:{n:"BrtWsFmtInfoEx14",f:parsenoop},1046:{n:"BrtBeginConditionalFormatting14",f:parsenoop},1047:{n:"BrtEndConditionalFormatting14",f:parsenoop},1048:{n:"BrtBeginCFRule14",f:parsenoop},1049:{n:"BrtEndCFRule14",f:parsenoop},1050:{n:"BrtCFVO14",f:parsenoop},1051:{n:"BrtBeginDatabar14",f:parsenoop},1052:{n:"BrtBeginIconSet14",f:parsenoop},1053:{n:"BrtDVal14",f:parsenoop},1054:{n:"BrtBeginDVals14",f:parsenoop},1055:{n:"BrtColor14",f:parsenoop},1056:{n:"BrtBeginSparklines",f:parsenoop},1057:{n:"BrtEndSparklines",f:parsenoop},1058:{n:"BrtBeginSparklineGroups",f:parsenoop},1059:{n:"BrtEndSparklineGroups",f:parsenoop},1061:{n:"BrtSXVD14",f:parsenoop},1062:{n:"BrtBeginSxview14",f:parsenoop},1063:{n:"BrtEndSxview14",f:parsenoop},1066:{n:"BrtBeginPCD14",f:parsenoop},1067:{n:"BrtEndPCD14",f:parsenoop},1068:{n:"BrtBeginExtConn14",f:parsenoop},1069:{n:"BrtEndExtConn14",f:parsenoop},1070:{n:"BrtBeginSlicerCacheIDs",f:parsenoop},1071:{n:"BrtEndSlicerCacheIDs",f:parsenoop},1072:{n:"BrtBeginSlicerCacheID",f:parsenoop},1073:{n:"BrtEndSlicerCacheID",f:parsenoop},1075:{n:"BrtBeginSlicerCache",f:parsenoop},1076:{n:"BrtEndSlicerCache",f:parsenoop},1077:{n:"BrtBeginSlicerCacheDef",f:parsenoop},1078:{n:"BrtEndSlicerCacheDef",f:parsenoop},1079:{n:"BrtBeginSlicersEx",f:parsenoop},1080:{n:"BrtEndSlicersEx",f:parsenoop},1081:{n:"BrtBeginSlicerEx",f:parsenoop},1082:{n:"BrtEndSlicerEx",f:parsenoop},1083:{n:"BrtBeginSlicer",f:parsenoop},1084:{n:"BrtEndSlicer",f:parsenoop},1085:{n:"BrtSlicerCachePivotTables",f:parsenoop},1086:{n:"BrtBeginSlicerCacheOlapImpl",f:parsenoop},1087:{n:"BrtEndSlicerCacheOlapImpl",f:parsenoop},1088:{n:"BrtBeginSlicerCacheLevelsData",f:parsenoop},1089:{n:"BrtEndSlicerCacheLevelsData",f:parsenoop},1090:{n:"BrtBeginSlicerCacheLevelData",f:parsenoop},1091:{n:"BrtEndSlicerCacheLevelData",f:parsenoop},1092:{n:"BrtBeginSlicerCacheSiRanges",f:parsenoop},1093:{n:"BrtEndSlicerCacheSiRanges",f:parsenoop},1094:{n:"BrtBeginSlicerCacheSiRange",f:parsenoop},1095:{n:"BrtEndSlicerCacheSiRange",f:parsenoop},1096:{n:"BrtSlicerCacheOlapItem",f:parsenoop},1097:{n:"BrtBeginSlicerCacheSelections",f:parsenoop},1098:{n:"BrtSlicerCacheSelection",f:parsenoop},1099:{n:"BrtEndSlicerCacheSelections",f:parsenoop},1100:{n:"BrtBeginSlicerCacheNative",f:parsenoop},1101:{n:"BrtEndSlicerCacheNative",f:parsenoop},1102:{n:"BrtSlicerCacheNativeItem",f:parsenoop},1103:{n:"BrtRangeProtection14",f:parsenoop},1104:{n:"BrtRangeProtectionIso14",f:parsenoop},1105:{n:"BrtCellIgnoreEC14",f:parsenoop},1111:{n:"BrtList14",f:parsenoop},1112:{n:"BrtCFIcon",f:parsenoop},1113:{n:"BrtBeginSlicerCachesPivotCacheIDs",f:parsenoop},1114:{n:"BrtEndSlicerCachesPivotCacheIDs",f:parsenoop},1115:{n:"BrtBeginSlicers",f:parsenoop},1116:{n:"BrtEndSlicers",f:parsenoop},1117:{n:"BrtWbProp14",f:parsenoop},1118:{n:"BrtBeginSXEdit",f:parsenoop},1119:{n:"BrtEndSXEdit",f:parsenoop},1120:{n:"BrtBeginSXEdits",f:parsenoop},1121:{n:"BrtEndSXEdits",f:parsenoop},1122:{n:"BrtBeginSXChange",f:parsenoop},1123:{n:"BrtEndSXChange",f:parsenoop},1124:{n:"BrtBeginSXChanges",f:parsenoop},1125:{n:"BrtEndSXChanges",f:parsenoop},1126:{n:"BrtSXTupleItems",f:parsenoop},1128:{n:"BrtBeginSlicerStyle",f:parsenoop},1129:{n:"BrtEndSlicerStyle",f:parsenoop},1130:{n:"BrtSlicerStyleElement",f:parsenoop},1131:{n:"BrtBeginStyleSheetExt14",f:parsenoop},1132:{n:"BrtEndStyleSheetExt14",f:parsenoop},1133:{n:"BrtBeginSlicerCachesPivotCacheID",f:parsenoop},1134:{n:"BrtEndSlicerCachesPivotCacheID",f:parsenoop},1135:{n:"BrtBeginConditionalFormattings",f:parsenoop},1136:{n:"BrtEndConditionalFormattings",f:parsenoop},1137:{n:"BrtBeginPCDCalcMemExt",f:parsenoop},1138:{n:"BrtEndPCDCalcMemExt",f:parsenoop},1139:{n:"BrtBeginPCDCalcMemsExt",f:parsenoop},1140:{n:"BrtEndPCDCalcMemsExt",f:parsenoop},1141:{n:"BrtPCDField14",f:parsenoop},1142:{n:"BrtBeginSlicerStyles",f:parsenoop},1143:{n:"BrtEndSlicerStyles",f:parsenoop},1144:{n:"BrtBeginSlicerStyleElements",f:parsenoop},1145:{n:"BrtEndSlicerStyleElements",f:parsenoop},1146:{n:"BrtCFRuleExt",f:parsenoop},1147:{n:"BrtBeginSXCondFmt14",f:parsenoop},1148:{n:"BrtEndSXCondFmt14",f:parsenoop},1149:{n:"BrtBeginSXCondFmts14",f:parsenoop},1150:{n:"BrtEndSXCondFmts14",f:parsenoop},1152:{n:"BrtBeginSortCond14",f:parsenoop},1153:{n:"BrtEndSortCond14",f:parsenoop},1154:{n:"BrtEndDVals14",f:parsenoop},1155:{n:"BrtEndIconSet14",f:parsenoop},1156:{n:"BrtEndDatabar14",f:parsenoop},1157:{n:"BrtBeginColorScale14",f:parsenoop},1158:{n:"BrtEndColorScale14",f:parsenoop},1159:{n:"BrtBeginSxrules14",f:parsenoop},1160:{n:"BrtEndSxrules14",f:parsenoop},1161:{n:"BrtBeginPRule14",f:parsenoop},1162:{n:"BrtEndPRule14",f:parsenoop},1163:{n:"BrtBeginPRFilters14",f:parsenoop},1164:{n:"BrtEndPRFilters14",f:parsenoop},1165:{n:"BrtBeginPRFilter14",f:parsenoop},1166:{n:"BrtEndPRFilter14",f:parsenoop},1167:{n:"BrtBeginPRFItem14",f:parsenoop},1168:{n:"BrtEndPRFItem14",f:parsenoop},1169:{n:"BrtBeginCellIgnoreECs14",f:parsenoop},1170:{n:"BrtEndCellIgnoreECs14",f:parsenoop},1171:{n:"BrtDxf14",f:parsenoop},1172:{n:"BrtBeginDxF14s",f:parsenoop},1173:{n:"BrtEndDxf14s",f:parsenoop},1177:{n:"BrtFilter14",f:parsenoop},1178:{n:"BrtBeginCustomFilters14",f:parsenoop},1180:{n:"BrtCustomFilter14",f:parsenoop},1181:{n:"BrtIconFilter14",f:parsenoop},1182:{n:"BrtPivotCacheConnectionName",f:parsenoop},2048:{n:"BrtBeginDecoupledPivotCacheIDs",f:parsenoop},2049:{n:"BrtEndDecoupledPivotCacheIDs",f:parsenoop},2050:{n:"BrtDecoupledPivotCacheID",f:parsenoop},2051:{n:"BrtBeginPivotTableRefs",f:parsenoop},2052:{n:"BrtEndPivotTableRefs",f:parsenoop},2053:{n:"BrtPivotTableRef",f:parsenoop},2054:{n:"BrtSlicerCacheBookPivotTables",f:parsenoop},2055:{n:"BrtBeginSxvcells",f:parsenoop},2056:{n:"BrtEndSxvcells",f:parsenoop},2057:{n:"BrtBeginSxRow",f:parsenoop},2058:{n:"BrtEndSxRow",f:parsenoop},2060:{n:"BrtPcdCalcMem15",f:parsenoop},2067:{n:"BrtQsi15",f:parsenoop},2068:{n:"BrtBeginWebExtensions",f:parsenoop},2069:{n:"BrtEndWebExtensions",f:parsenoop},2070:{n:"BrtWebExtension",f:parsenoop},2071:{n:"BrtAbsPath15",f:parsenoop},2072:{n:"BrtBeginPivotTableUISettings",f:parsenoop},2073:{n:"BrtEndPivotTableUISettings",f:parsenoop},2075:{n:"BrtTableSlicerCacheIDs",f:parsenoop},2076:{n:"BrtTableSlicerCacheID",f:parsenoop},2077:{n:"BrtBeginTableSlicerCache",f:parsenoop},2078:{n:"BrtEndTableSlicerCache",f:parsenoop},2079:{n:"BrtSxFilter15",f:parsenoop},2080:{n:"BrtBeginTimelineCachePivotCacheIDs",f:parsenoop},2081:{n:"BrtEndTimelineCachePivotCacheIDs",f:parsenoop},2082:{n:"BrtTimelineCachePivotCacheID",f:parsenoop},2083:{n:"BrtBeginTimelineCacheIDs",f:parsenoop},2084:{n:"BrtEndTimelineCacheIDs",f:parsenoop},2085:{n:"BrtBeginTimelineCacheID",f:parsenoop},2086:{n:"BrtEndTimelineCacheID",f:parsenoop},2087:{n:"BrtBeginTimelinesEx",f:parsenoop},2088:{n:"BrtEndTimelinesEx",f:parsenoop},2089:{n:"BrtBeginTimelineEx",f:parsenoop},2090:{n:"BrtEndTimelineEx",f:parsenoop},2091:{n:"BrtWorkBookPr15",f:parsenoop},2092:{n:"BrtPCDH15",f:parsenoop},2093:{n:"BrtBeginTimelineStyle",f:parsenoop},2094:{n:"BrtEndTimelineStyle",f:parsenoop},2095:{n:"BrtTimelineStyleElement",f:parsenoop},2096:{n:"BrtBeginTimelineStylesheetExt15",f:parsenoop},2097:{n:"BrtEndTimelineStylesheetExt15",f:parsenoop},2098:{n:"BrtBeginTimelineStyles",f:parsenoop},2099:{n:"BrtEndTimelineStyles",f:parsenoop},2100:{n:"BrtBeginTimelineStyleElements",f:parsenoop},2101:{n:"BrtEndTimelineStyleElements",f:parsenoop},2102:{n:"BrtDxf15",f:parsenoop},2103:{n:"BrtBeginDxfs15",f:parsenoop},2104:{n:"brtEndDxfs15",f:parsenoop},2105:{n:"BrtSlicerCacheHideItemsWithNoData",f:parsenoop},2106:{n:"BrtBeginItemUniqueNames",f:parsenoop},2107:{n:"BrtEndItemUniqueNames",f:parsenoop},2108:{n:"BrtItemUniqueName",f:parsenoop},2109:{n:"BrtBeginExtConn15",f:parsenoop},2110:{n:"BrtEndExtConn15",f:parsenoop},2111:{n:"BrtBeginOledbPr15",f:parsenoop},2112:{n:"BrtEndOledbPr15",f:parsenoop},2113:{n:"BrtBeginDataFeedPr15",f:parsenoop},2114:{n:"BrtEndDataFeedPr15",f:parsenoop},2115:{n:"BrtTextPr15",f:parsenoop},2116:{n:"BrtRangePr15",f:parsenoop},2117:{n:"BrtDbCommand15",f:parsenoop},2118:{n:"BrtBeginDbTables15",f:parsenoop},2119:{n:"BrtEndDbTables15",f:parsenoop},2120:{n:"BrtDbTable15",f:parsenoop},2121:{n:"BrtBeginDataModel",f:parsenoop},2122:{n:"BrtEndDataModel",f:parsenoop},2123:{n:"BrtBeginModelTables",f:parsenoop},2124:{n:"BrtEndModelTables",f:parsenoop},2125:{n:"BrtModelTable",f:parsenoop},2126:{n:"BrtBeginModelRelationships",f:parsenoop},2127:{n:"BrtEndModelRelationships",f:parsenoop},2128:{n:"BrtModelRelationship",f:parsenoop},2129:{n:"BrtBeginECTxtWiz15",f:parsenoop},2130:{n:"BrtEndECTxtWiz15",f:parsenoop},2131:{n:"BrtBeginECTWFldInfoLst15",f:parsenoop},2132:{n:"BrtEndECTWFldInfoLst15",f:parsenoop},2133:{n:"BrtBeginECTWFldInfo15",f:parsenoop},2134:{n:"BrtFieldListActiveItem",f:parsenoop},2135:{n:"BrtPivotCacheIdVersion",f:parsenoop},2136:{n:"BrtSXDI15",f:parsenoop},65535:{n:"",f:parsenoop}}; -function fixopts(opts){var defaults=[["cellNF",false],["cellHTML",true],["cellFormula",true],["sheetStubs",false],["sheetRows",0,"n"],["bookDeps",false],["bookSheets",false],["bookProps",false],["bookFiles",false],["WTF",false]];defaults.forEach(function(d){if(typeof opts[d[0]]==="undefined")opts[d[0]]=d[1];if(d[2]==="n")opts[d[0]]=Number(opts[d[0]])})}function parseZip(zip,opts){opts=opts||{};fixopts(opts);reset_cp();var entries=Object.keys(zip.files);var keys=entries.filter(function(x){return x.substr(-1)!="/"}).sort();var dir=parseCT(getzipdata(zip,"[Content_Types].xml"));var xlsb=false;var sheets;if(dir.workbooks.length===0){var binname="xl/workbook.bin";if(!getzipfile(zip,binname))throw new Error("Could not find workbook entry");dir.workbooks.push(binname);xlsb=true}if(!opts.bookSheets&&!opts.bookProps){strs={};if(dir.sst)strs=parse_sst(getzipdata(zip,dir.sst.replace(/^\//,"")),dir.sst,opts);styles={};if(dir.style)styles=parse_sty(getzipdata(zip,dir.style.replace(/^\//,"")),dir.style,opts)}var wb=parse_wb(getzipdata(zip,dir.workbooks[0].replace(/^\//,"")),dir.workbooks[0],opts);var props={},propdata="";try{propdata=dir.coreprops.length!==0?getzipdata(zip,dir.coreprops[0].replace(/^\//,"")):"";propdata+=dir.extprops.length!==0?getzipdata(zip,dir.extprops[0].replace(/^\//,"")):"";props=propdata!==""?parseProps(propdata):{}}catch(e){}var custprops={};if(!opts.bookSheets||opts.bookProps){if(dir.custprops.length!==0){propdata=getzipdata(zip,dir.custprops[0].replace(/^\//,""),true);if(propdata)custprops=parseCustomProps(propdata)}}var out={};if(opts.bookSheets||opts.bookProps){if(props.Worksheets&&props.SheetNames.length>0)sheets=props.SheetNames;else if(wb.Sheets)sheets=wb.Sheets.map(function(x){return x.name});if(opts.bookProps){out.Props=props;out.Custprops=custprops}if(typeof sheets!=="undefined")out.SheetNames=sheets;if(opts.bookSheets?out.SheetNames:opts.bookProps)return out}sheets={};var deps={};if(opts.bookDeps&&dir.calcchain)deps=parse_cc(getzipdata(zip,dir.calcchain.replace(/^\//,"")),dir.calcchain,opts);var i=0;var sheetRels={};var path,relsPath;if(!props.Worksheets){var wbsheets=wb.Sheets;props.Worksheets=wbsheets.length;props.SheetNames=[];for(var j=0;j!=wbsheets.length;++j){props.SheetNames[j]=wbsheets[j].name}}var nmode=getzipdata(zip,"xl/worksheets/sheet.xml",true)?1:0;for(i=0;i!=props.Worksheets;++i){try{path="xl/worksheets/sheet"+(i+1-nmode)+(xlsb?".bin":".xml");path=path.replace(/sheet0\./,"sheet.");relsPath=path.replace(/^(.*)(\/)([^\/]*)$/,"$1/_rels/$3.rels");sheets[props.SheetNames[i]]=parse_ws(getzipdata(zip,path),path,opts);sheetRels[props.SheetNames[i]]=parseRels(getzipdata(zip,relsPath,true),path)}catch(e){if(opts.WTF)throw e}}if(dir.comments)parse_comments(zip,dir.comments,sheets,sheetRels,opts);out={Directory:dir,Workbook:wb,Props:props,Custprops:custprops,Deps:deps,Sheets:sheets,SheetNames:props.SheetNames,Strings:strs,Styles:styles};if(opts.bookFiles){out.keys=keys;out.files=zip.files}return out}function readSync(data,options){var zip,d=data;var o=options||{};switch(o.type||"base64"){case"file":if(typeof Buffer!=="undefined"){zip=new jszip(d=_fs.readFileSync(data));break}d=_fs.readFileSync(data).toString("base64");case"base64":zip=new jszip(d,{base64:true});break;case"binary":zip=new jszip(d,{base64:false});break}return parseZip(zip,o)}function readFileSync(data,options){var o=options||{};o.type="file";return readSync(data,o)}XLSX.read=readSync;XLSX.readFile=readFileSync;XLSX.parseZip=parseZip;return this})(XLSX);var _chr=function(c){return String.fromCharCode(c)};function encode_col(col){var s="";for(++col;col;col=Math.floor((col-1)/26))s=_chr((col-1)%26+65)+s;return s}function encode_row(row){return""+(row+1)}function encode_cell(cell){return encode_col(cell.c)+encode_row(cell.r)}function decode_col(c){var d=0,i=0;for(;i!==c.length;++i)d=26*d+c.charCodeAt(i)-64;return d-1}function decode_row(rowstr){return Number(rowstr)-1}function split_cell(cstr){return cstr.replace(/(\$?[A-Z]*)(\$?[0-9]*)/,"$1,$2").split(",")}function decode_cell(cstr){var splt=split_cell(cstr);return{c:decode_col(splt[0]),r:decode_row(splt[1])}}function decode_range(range){var x=range.split(":").map(decode_cell);return{s:x[0],e:x[x.length-1]}}function encode_range(range){return encode_cell(range.s)+":"+encode_cell(range.e)}function sheet_to_row_object_array(sheet,opts){var val,row,r,hdr={},isempty,R,C;var out=[];opts=opts||{};if(!sheet||!sheet["!ref"])return out;r=XLSX.utils.decode_range(sheet["!ref"]);for(R=r.s.r,C=r.s.c;C<=r.e.c;++C){val=sheet[encode_cell({c:C,r:R})];if(!val)continue;if(val.w)hdr[C]=val.w;else switch(val.t){case"s":case"str":hdr[C]=val.v;break;case"n":hdr[C]=val.v;break}}for(R=r.s.r+1;R<=r.e.r;++R){isempty=true;row=Object.create({__rowNum__:R});for(C=r.s.c;C<=r.e.c;++C){val=sheet[encode_cell({c:C,r:R})];if(!val||!val.t)continue;if(typeof val.w!=="undefined"&&!opts.raw){row[hdr[C]]=val.w;isempty=false}else switch(val.t){case"s":case"str":case"b":case"n":if(typeof val.v!=="undefined"){row[hdr[C]]=val.v;isempty=false}break;case"e":break;default:throw"unrecognized type "+val.t}}if(!isempty)out.push(row)}return out}function sheet_to_csv(sheet,opts){var stringify=function stringify(val){if(!val.t)return"";if(typeof val.w!=="undefined")return val.w;switch(val.t){case"n":return String(val.v);case"s":case"str":return typeof val.v!=="undefined"?val.v:"";case"b":return val.v?"TRUE":"FALSE";case"e":return val.v;default:throw"unrecognized type "+val.t}};var out=[],txt="";opts=opts||{};if(!sheet||!sheet["!ref"])return"";var r=XLSX.utils.decode_range(sheet["!ref"]);var fs=opts.FS||",",rs=opts.RS||"\n";for(var R=r.s.r;R<=r.e.r;++R){var row=[];for(var C=r.s.c;C<=r.e.c;++C){var val=sheet[XLSX.utils.encode_cell({c:C,r:R})];if(!val){row.push("");continue}txt=String(stringify(val));if(txt.indexOf(fs)!==-1||txt.indexOf(rs)!==-1||txt.indexOf('"')!==-1)txt='"'+txt.replace(/"/g,'""')+'"';row.push(txt)}out.push(row.join(fs))}return out.join(rs)+(out.length?rs:"")}var make_csv=sheet_to_csv;function get_formulae(ws){var cmds=[];for(var y in ws)if(y[0]!=="!"&&ws.hasOwnProperty(y)){var x=ws[y];var val="";if(x.f)val=x.f;else if(typeof x.w!=="undefined")val="'"+x.w;else if(typeof x.v==="undefined")continue;else val=x.v;cmds.push(y+"="+val)}return cmds}XLSX.utils={encode_col:encode_col,encode_row:encode_row,encode_cell:encode_cell,encode_range:encode_range,decode_col:decode_col,decode_row:decode_row,split_cell:split_cell,decode_cell:decode_cell,decode_range:decode_range,sheet_to_csv:sheet_to_csv,make_csv:sheet_to_csv,get_formulae:get_formulae,sheet_to_row_object_array:sheet_to_row_object_array};if(typeof require!=="undefined"&&typeof exports!=="undefined"){exports.read=XLSX.read;exports.readFile=XLSX.readFile;exports.utils=XLSX.utils;exports.version=XLSX.version} +var SSF={};var make_ssf=function(SSF){var _strrev=function(x){return String(x).split("").reverse().join("")};function fill(c,l){return new Array(l+1).join(c)}function pad(v,d,c){var t=String(v);return t.length>=d?t:fill(c||0,d-t.length)+t}function rpad(v,d,c){var t=String(v);return t.length>=d?t:t+fill(c||0,d-t.length)}SSF.version="0.6.4";var opts_fmt={};function fixopts(o){for(var y in opts_fmt)if(o[y]===undefined)o[y]=opts_fmt[y]}SSF.opts=opts_fmt;opts_fmt.date1904=0;opts_fmt.output="";var table_fmt={0:"General",1:"0",2:"0.00",3:"#,##0",4:"#,##0.00",9:"0%",10:"0.00%",11:"0.00E+00",12:"# ?/?",13:"# ??/??",14:"m/d/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:"@",56:'"上午/下午 "hh"時"mm"分"ss"秒 "',65535:"General"};var days=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]];var months=[["J","Jan","January"],["F","Feb","February"],["M","Mar","March"],["A","Apr","April"],["M","May","May"],["J","Jun","June"],["J","Jul","July"],["A","Aug","August"],["S","Sep","September"],["O","Oct","October"],["N","Nov","November"],["D","Dec","December"]];var frac=function frac(x,D,mixed){var sgn=x<0?-1:1;var B=x*sgn;var P_2=0,P_1=1,P=0;var Q_2=1,Q_1=0,Q=0;var A=Math.floor(B);while(Q_1D){Q=Q_1;P=P_1}if(Q>D){Q=Q_2;P=P_2}if(!mixed)return[0,sgn*P,Q];if(Q===0)throw"Unexpected state: "+P+" "+P_1+" "+P_2+" "+Q+" "+Q_1+" "+Q_2;var q=Math.floor(sgn*P/Q);return[q,sgn*P-q*Q,Q]};var general_fmt=function(v){if(typeof v==="boolean")return v?"TRUE":"FALSE";if(typeof v==="number"){var o,V=v<0?-v:v;if(V>=.1&&V<1)o=v.toPrecision(9);else if(V>=.01&&V<.1)o=v.toPrecision(8);else if(V>=.001&&V<.01)o=v.toPrecision(7);else if(V>=1e-4&&V<.001)o=v.toPrecision(6);else if(V>=Math.pow(10,10)&&VMath.pow(10,-9)&&V11+(v<0?1:0))o=v.toPrecision(10);if(o.length>11+(v<0?1:0))o=v.toExponential(5)}else{o=v.toFixed(11).replace(/(\.[0-9]*[1-9])0*$/,"$1");if(o.length>11+(v<0?1:0))o=v.toPrecision(6)}o=o.replace(/(\.[0-9]*[1-9])0+e/,"$1e").replace(/\.0*e/,"e");return o.replace("e","E").replace(/\.0*$/,"").replace(/\.([0-9]*[^0])0*$/,".$1").replace(/(E[+-])([0-9])$/,"$1"+"0"+"$2")}if(typeof v==="string")return v;throw new Error("unsupported value in General format: "+v)};SSF._general=general_fmt;function fix_hijri(date,o){}var parse_date_code=function parse_date_code(v,opts,b2){var date=Math.floor(v),time=Math.floor(86400*(v-date)+1e-6),dow=0;var dout=[],out={D:date,T:time,u:86400*(v-date)-time};fixopts(opts=opts||{});if(opts.date1904)date+=1462;if(date>2958465)return null;if(out.u>.999){out.u=0;if(++time==86400){time=0;++date}}if(date===60){dout=b2?[1317,10,29]:[1900,2,29];dow=3}else if(date===0){dout=b2?[1317,8,29]:[1900,1,0];dow=6}else{if(date>60)--date;var d=new Date(1900,0,1);d.setDate(d.getDate()+date-1);dout=[d.getFullYear(),d.getMonth()+1,d.getDate()];dow=d.getDay();if(date<60)dow=(dow+6)%7;if(b2)dow=fix_hijri(d,dout)}out.y=dout[0];out.m=dout[1];out.d=dout[2];out.S=time%60;time=Math.floor(time/60);out.M=time%60;time=Math.floor(time/60);out.H=time;out.q=dow;return out};SSF.parse_date_code=parse_date_code;var write_date=function(type,fmt,val){if(val<0)return"";var o,ss,y=val.y;switch(type){case"b":y=val.y+543;case"y":switch(fmt.length){case 1:case 2:return pad(y%100,2);default:return pad(y%1e4,4)}case"m":switch(fmt){case"m":return val.m;case"mm":return pad(val.m,2);case"mmm":return months[val.m-1][1];case"mmmmm":return months[val.m-1][0];default:return months[val.m-1][2]}case"d":switch(fmt){case"d":return val.d;case"dd":return pad(val.d,2);case"ddd":return days[val.q][0];default:return days[val.q][1]}case"h":switch(fmt){case"h":return 1+(val.H+11)%12;case"hh":return pad(1+(val.H+11)%12,2);default:throw"bad hour format: "+fmt}case"H":switch(fmt){case"h":return val.H;case"hh":return pad(val.H,2);default:throw"bad hour format: "+fmt}case"M":switch(fmt){case"m":return val.M;case"mm":return pad(val.M,2);default:throw"bad minute format: "+fmt}case"s":switch(fmt){case"s":ss=Math.round(val.S+val.u);return ss>=60?0:ss;case"ss":ss=Math.round(val.S+val.u);if(ss>=60)ss=0;return pad(ss,2);case"ss.0":ss=Math.round(10*(val.S+val.u));if(ss>=600)ss=0;o=pad(ss,3);return o.substr(0,2)+"."+o.substr(2);case"ss.00":ss=Math.round(100*(val.S+val.u));if(ss>=6e3)ss=0;o=pad(ss,4);return o.substr(0,2)+"."+o.substr(2);case"ss.000":ss=Math.round(1e3*(val.S+val.u));if(ss>=6e4)ss=0;o=pad(ss,5);return o.substr(0,2)+"."+o.substr(2);default:throw"bad second format: "+fmt}case"Z":switch(fmt){case"[h]":case"[hh]":o=val.D*24+val.H;break;case"[m]":case"[mm]":o=(val.D*24+val.H)*60+val.M;break;case"[s]":case"[ss]":o=((val.D*24+val.H)*60+val.M)*60+Math.round(val.S+val.u);break;default:throw"bad abstime format: "+fmt}return fmt.length===3?o:pad(o,2);case"e":{return val.y}break}};var commaify=function(s){return _strrev(_strrev(s).replace(/.../g,"$&,")).replace(/^,/,"")};var write_num=function(type,fmt,val){if(type==="("&&!fmt.match(/\).*[0#]/)){var ffmt=fmt.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");if(val>=0)return write_num("n",ffmt,val);return"("+write_num("n",ffmt,-val)+")"}var mul=0,o;fmt=fmt.replace(/%/g,function(){mul++;return""});if(mul!==0)return write_num(type,fmt,val*Math.pow(10,2*mul))+fill("%",mul);fmt=fmt.replace(/(\.0+)(,+)$/g,function($$,$1,$2){mul=$2.length;return $1});if(mul!==0)return write_num(type,fmt,val/Math.pow(10,3*mul));if(fmt.indexOf("E")>-1){var idx=fmt.indexOf("E")-fmt.indexOf(".")-1;if(fmt.match(/^#+0.0E\+0$/)){var period=fmt.indexOf(".");if(period===-1)period=fmt.indexOf("E");var ee=Number(val.toExponential(0).substr(2+(val<0)))%period;if(ee<0)ee+=period;o=(val/Math.pow(10,ee)).toPrecision(idx+1+(period+ee)%period);if(!o.match(/[Ee]/)){var fakee=Number(val.toExponential(0).substr(2+(val<0)));if(o.indexOf(".")===-1)o=o[0]+"."+o.substr(1)+"E+"+(fakee-o.length+ee);else o+="E+"+(fakee-ee);while(o.substr(0,2)==="0."){o=o[0]+o.substr(2,period)+"."+o.substr(2+period);o=o.replace(/^0+([1-9])/,"$1").replace(/^0+\./,"0.")}o=o.replace(/\+-/,"-")}o=o.replace(/^([+-]?)([0-9]*)\.([0-9]*)[Ee]/,function($$,$1,$2,$3){return $1+$2+$3.substr(0,(period+ee)%period)+"."+$3.substr(ee)+"E"})}else o=val.toExponential(idx);if(fmt.match(/E\+00$/)&&o.match(/e[+-][0-9]$/))o=o.substr(0,o.length-1)+"0"+o[o.length-1];if(fmt.match(/E\-/)&&o.match(/e\+/))o=o.replace(/e\+/,"e");return o.replace("e","E")}if(fmt[0]==="$")return"$"+write_num(type,fmt.substr(fmt[1]==" "?2:1),val);var r,rr,ff,aval=val<0?-val:val,sign=val<0?"-":"";if(r=fmt.match(/# (\?+)([ ]?)\/([ ]?)(\d+)/)){var den=Number(r[4]),rnd=Math.round(aval*den),base=Math.floor(rnd/den);var myn=rnd-base*den,myd=den;return sign+(base?base:"")+" "+(myn===0?fill(" ",r[1].length+1+r[4].length):pad(myn,r[1].length," ")+r[2]+"/"+r[3]+pad(myd,r[4].length))}if(fmt.match(/^#+0+$/))fmt=fmt.replace(/#/g,"");if(fmt.match(/^00+$/))return(val<0?"-":"")+pad(Math.round(aval),fmt.length);if(fmt.match(/^[#?]+$/))return String(Math.round(val)).replace(/^0$/,"");if(r=fmt.match(/^#*0*\.(0+)/)){o=Math.round(val*Math.pow(10,r[1].length));rr=String(o/Math.pow(10,r[1].length)).replace(/^([^\.]+)$/,"$1."+r[1]).replace(/\.$/,"."+r[1]).replace(/\.([0-9]*)$/,function($$,$1){return"."+$1+fill("0",r[1].length-$1.length)});return fmt.match(/0\./)?rr:rr.replace(/^0\./,".")}fmt=fmt.replace(/^#+([0.])/,"$1");if(r=fmt.match(/^(0*)\.(#*)$/)){o=Math.round(aval*Math.pow(10,r[2].length));return sign+String(o/Math.pow(10,r[2].length)).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^([-]?\d*)$/,"$1.").replace(/^0\./,r[1].length?"0.":".")}if(r=fmt.match(/^#,##0([.]?)$/))return sign+commaify(String(Math.round(aval)));if(r=fmt.match(/^#,##0\.([#0]*0)$/)){rr=Math.round((val-Math.floor(val))*Math.pow(10,r[1].length));return val<0?"-"+write_num(type,fmt,-val):commaify(String(Math.floor(val)))+"."+pad(rr,r[1].length,0)}if(r=fmt.match(/^#,#*,#0/))return write_num(type,fmt.replace(/^#,#*,/,""),val);if(r=fmt.match(/^([0#]+)\\?-([0#]+)$/)){ff=write_num(type,fmt.replace(/[\\-]/g,""),val);return ff.substr(0,ff.length-r[2].length)+"-"+ff.substr(ff.length-r[2].length)}if(r=fmt.match(/^([0#]+)\\?-([0#]+)\\?-([0#]+)$/)){ff=write_num(type,fmt.replace(/[\\-]/g,""),val);return ff.substr(0,ff.length-r[2].length-r[3].length)+"-"+ff.substr(ff.length-r[2].length-r[3].length,r[2].length)+"-"+ff.substr(ff.length-r[3].length)}if(fmt.match(/\(###\) ###\\?-####/)){ff=write_num(type,"##########",val);return"("+ff.substr(0,3)+") "+ff.substr(3,3)+"-"+ff.substr(6)}if(r=fmt.match(/^([?]+)([ ]?)\/([ ]?)([?]+)/)){rr=Math.min(Math.max(r[1].length,r[4].length),7);ff=frac(aval,Math.pow(10,rr)-1,false);return sign+(ff[0]||(ff[1]?"":"0"))+(ff[1]?pad(ff[1],rr," ")+r[2]+"/"+r[3]+rpad(ff[2],rr," "):fill(" ",2*rr+1+r[2].length+r[3].length))}if(r=fmt.match(/^# ([?]+)([ ]?)\/([ ]?)([?]+)/)){rr=Math.min(Math.max(r[1].length,r[4].length),7);ff=frac(aval,Math.pow(10,rr)-1,true);return sign+(ff[0]||(ff[1]?"":"0"))+" "+(ff[1]?pad(ff[1],rr," ")+r[2]+"/"+r[3]+rpad(ff[2],rr," "):fill(" ",2*rr+1+r[2].length+r[3].length))}if(r=fmt.match(/^00,000\.([#0]*0)$/)){rr=val==Math.floor(val)?0:Math.round((val-Math.floor(val))*Math.pow(10,r[1].length));return val<0?"-"+write_num(type,fmt,-val):commaify(String(Math.floor(val))).replace(/^\d,\d{3}$/,"0$&").replace(/^\d*$/,function($$){return"00,"+($$.length<3?pad(0,3-$$.length):"")+$$})+"."+pad(rr,r[1].length,0)}switch(fmt){case"0":case"#0":return Math.round(val);case"#,###":var x=commaify(String(Math.round(aval)));return x!=="0"?sign+x:"";default:}throw new Error("unsupported format |"+fmt+"|")};function split_fmt(fmt){var out=[];var in_str=-1;for(var i=0,j=0;i=12?"P":"A";q.t="T";hr="h";i+=3}else if(fmt.substr(i,5)==="AM/PM"){q.v=dt.H>=12?"PM":"AM";q.t="T";i+=5;hr="h"}else{q.t="t";i++}out.push(q);lst=c;break;case"[":o=c;while(fmt[i++]!=="]"&&i-1||c=="\\"&&fmt[i+1]=="-"&&"0#".indexOf(fmt[i+2])>-1)o+=c;out.push({t:"n",v:o});break;case"?":o=fmt[i];while(fmt[++i]===c)o+=c;q={t:c,v:o};out.push(q);lst=c;break;case"*":++i;if(fmt[i]==" "||fmt[i]=="*")++i;break;case"(":case")":out.push({t:flen===1?"t":c,v:c});++i;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":o=fmt[i];while("0123456789".indexOf(fmt[++i])>-1)o+=fmt[i];out.push({t:"D",v:o});break;case" ":out.push({t:c,v:c});++i;break;default:if(",$-+/():!^&'~{}<>=€acfijklopqrtuvwxz".indexOf(c)===-1)throw"unrecognized character "+fmt[i]+" in "+fmt;out.push({t:"t",v:c});++i;break}}var bt=0;for(i=out.length-1,lst="t";i>=0;--i){switch(out[i].t){case"h":case"H":out[i].t=hr;lst="h";if(bt<1)bt=1;break;case"s":if(bt<3)bt=3;case"d":case"y":case"M":case"e":lst=out[i].t;break;case"m":if(lst==="s"){out[i].t="M";if(bt<2)bt=2}break;case"X":if(out[i].v==="B2");break;case"Z":if(bt<1&&out[i].v.match(/[Hh]/))bt=1;if(bt<2&&out[i].v.match(/[Mm]/))bt=2;if(bt<3&&out[i].v.match(/[Ss]/))bt=3}}switch(bt){case 0:break;case 1:if(dt.u>=.5){dt.u=0;++dt.S}if(dt.S>=60){dt.S=0;++dt.M}if(dt.M>=60){dt.M=0;++dt.H}break;case 2:if(dt.u>=.5){dt.u=0;++dt.S}if(dt.S>=60){dt.S=0;++dt.M}break}for(i=0;i-1||" t".indexOf(out[jj].t)>-1&&"?t".indexOf((out[jj+1]||{}).t)>-1&&(out[jj+1].t=="?"||out[jj+1].v=="/")||out[i].t=="("&&")n ".indexOf(out[jj].t)>-1||out[jj].t=="t"&&(out[jj].v=="/"||"$€".indexOf(out[jj].v)>-1||out[jj].v==" "&&(out[jj+1]||{}).t=="?"))){out[i].v+=out[jj].v;delete out[jj];++jj}out[i].v=write_num(out[i].t,out[i].v,flen>1&&v<0&&i>0&&out[i-1].v=="-"?-v:v);out[i].t="t";i=jj-1;break;case"G":out[i].t="t";out[i].v=general_fmt(v,opts);break}}return out.map(function(x){return x.v}).join("")}SSF._eval=eval_fmt;function choose_fmt(fmt,v,o){if(typeof fmt==="number")fmt=(o&&o.table?o.table:table_fmt)[fmt];if(typeof fmt==="string")fmt=split_fmt(fmt);var l=fmt.length;if(l<4&&fmt[l-1].indexOf("@")>-1)--l;switch(fmt.length){case 1:fmt=fmt[0].indexOf("@")>-1?["General","General","General",fmt[0]]:[fmt[0],fmt[0],fmt[0],"@"];break;case 2:fmt=fmt[1].indexOf("@")>-1?[fmt[0],fmt[0],fmt[0],fmt[1]]:[fmt[0],fmt[1],fmt[0],"@"];break;case 3:fmt=fmt[2].indexOf("@")>-1?[fmt[0],fmt[1],fmt[0],fmt[2]]:[fmt[0],fmt[1],fmt[2],"@"];break;case 4:break;default:throw"cannot find right format for |"+fmt+"|"}if(typeof v!=="number")return[fmt.length,fmt[3]];var ff=v>0?fmt[0]:v<0?fmt[1]:fmt[2];if(fmt[0].match(/\[[=<>]/)||fmt[1].match(/\[[=<>]/)){var chk=function(v,rr,out){if(!rr)return null;var found=false;var thresh=Number(rr[2]);switch(rr[1]){case"=":if(v==thresh)found=true;break;case">":if(v>thresh)found=true;break;case"<":if(v":if(v!=thresh)found=true;break;case">=":if(v>=thresh)found=true;break;case"<=":if(v<=thresh)found=true;break}return found?out:null};var m1=fmt[0].match(/\[([=<>]*)([-]?\d+)\]/);var m2=fmt[1].match(/\[([=<>]*)([-]?\d+)\]/);return chk(v,m1,[l,fmt[0]])||chk(v,m2,[l,fmt[1]])||[l,fmt[m1&&m2?2:1]]}return[l,ff]}var format=function format(fmt,v,o){fixopts(o=o||{});if(typeof fmt==="string"&&fmt.toLowerCase()==="general")return general_fmt(v,o);if(typeof fmt==="number")fmt=(o.table||table_fmt)[fmt];var f=choose_fmt(fmt,v,o);if(f[1].toLowerCase()==="general")return general_fmt(v,o);if(v===true)v="TRUE";if(v===false)v="FALSE";if(v===""||typeof v==="undefined")return"";return eval_fmt(f[1],v,o,f[0])};SSF._choose=choose_fmt;SSF._table=table_fmt;SSF.load=function(fmt,idx){table_fmt[idx]=fmt};SSF.format=format;SSF.get_table=function(){return table_fmt};SSF.load_table=function(tbl){for(var i=0;i!=392;++i)if(tbl[i])SSF.load(tbl[i],i)}};make_ssf(SSF);var XLSX={};(function(XLSX){XLSX.version="0.5.16";var current_codepage,current_cptable,cptable;if(typeof module!=="undefined"&&typeof require!=="undefined"){if(typeof cptable==="undefined")cptable=require("codepage");current_codepage=1252;current_cptable=cptable[1252]}function reset_cp(){current_codepage=1252;if(typeof cptable!=="undefined")current_cptable=cptable[1252]}function _getchar(x){return String.fromCharCode(x)}function getdata(data){if(!data)return null;if(data.data)return data.name.substr(-4)!==".bin"?data.data:data.data.split("").map(function(x){return x.charCodeAt(0)});if(data.asNodeBuffer&&typeof Buffer!=="undefined"&&data.name.substr(-4)===".bin")return data.asNodeBuffer();if(data.asBinary&&data.name.substr(-4)!==".bin")return data.asBinary();if(data._data&&data._data.getContent){if(data.name.substr(-4)===".bin")return Array.prototype.slice.call(data._data.getContent());return Array.prototype.slice.call(data._data.getContent(),0).map(function(x){return String.fromCharCode(x)}).join("")}return null}function getzipfile(zip,file){var f=file;if(zip.files[f])return zip.files[f];f=file.toLowerCase();if(zip.files[f])return zip.files[f];f=f.replace(/\//g,"\\");if(zip.files[f])return zip.files[f];throw new Error("Cannot find file "+file+" in zip")}function getzipdata(zip,file,safe){if(!safe)return getdata(getzipfile(zip,file));if(!file)return null;try{return getzipdata(zip,file)}catch(e){return null}}var _fs,jszip;if(typeof JSZip!=="undefined")jszip=JSZip;if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports){if(typeof Buffer!=="undefined"&&typeof jszip==="undefined")jszip=require("jszip");if(typeof jszip==="undefined")jszip=require("./jszip").JSZip;_fs=require("fs")}}var attregexg=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g;var attregex=/([\w:]+)=((?:")(?:[^"]*)(?:")|(?:')(?:[^']*)(?:'))/;function parsexmltag(tag){var words=tag.split(/\s+/);var z={0:words[0]};if(words.length===1)return z;(tag.match(attregexg)||[]).map(function(x){var y=x.match(attregex);y[1]=y[1].replace(/xmlns:/,"xmlns");z[y[1].replace(/^[a-zA-Z]*:/,"")]=y[2].substr(1,y[2].length-2)});return z}function evert(obj){var o={};Object.keys(obj).forEach(function(k){if(obj.hasOwnProperty(k))o[obj[k]]=k});return o}var encodings={""":'"',"'":"'",">":">","<":"<","&":"&"};var rencoding=evert(encodings);var rencstr="&<>'\"".split("");function unescapexml(text){var s=text+"";for(var y in encodings)s=s.replace(new RegExp(y,"g"),encodings[y]);return s.replace(/_x([0-9a-fA-F]*)_/g,function(m,c){return _chr(parseInt(c,16))})}function escapexml(text){var s=text+"";rencstr.forEach(function(y){s=s.replace(new RegExp(y,"g"),rencoding[y])});return s}function parsexmlbool(value,tag){switch(value){case"0":case 0:case"false":case"FALSE":return false;case"1":case 1:case"true":case"TRUE":return true;default:throw"bad boolean value "+value+" in "+(tag||"?")}}var utf8read=function(orig){var out=[],i=0,c=0,c1=0,c2=0,c3=0;while(i191&&c<224)out.push(_chr((c&31)<<6|c2&63));else{c3=orig.charCodeAt(i++);out.push(_chr((c&15)<<12|(c2&63)<<6|c3&63))}}}return out.join("")};function matchtag(f,g){return new RegExp("<(?:\\w+:)?"+f+'(?: xml:space="preserve")?>([^☃]*)",(g||"")+"m")}function parseVector(data){var h=parsexmltag(data);var matches=data.match(new RegExp("(.*?)","g"))||[];if(matches.length!=h.size)throw"unexpected vector length "+matches.length+" != "+h.size;var res=[];matches.forEach(function(x){var v=x.replace(/<[/]?vt:variant>/g,"").match(/]*)>(.*)>1;var bits=-7,d=isLE?-1:1,i=isLE?nl-1:0,s=buf[idx+i];i+=d;e=s&(1<<-bits)-1;s>>>=-bits;bits+=el;for(;bits>0;e=e*256+buf[idx+i],i+=d,bits-=8);m=e&(1<<-bits)-1;e>>>=-bits;bits+=ml;for(;bits>0;m=m*256+buf[idx+i],i+=d,bits-=8);if(e===eMax)return m?NaN:(s?-1:1)*Infinity;else if(e===0)e=1-eBias;else{m=m+Math.pow(2,ml);e=e-eBias}return(s?-1:1)*m*Math.pow(2,e-ml)}var __toBuffer;if(typeof Buffer!=="undefined"){Buffer.prototype.hexlify=function(){return this.toString("hex")};__toBuffer=function(bufs){return Buffer.concat(bufs[0])}}else{__toBuffer=function(bufs){var x=[];for(var i=0;i!=bufs[0].length;++i){x=x.concat(bufs[0][i])}return x}}var __readUInt8=function(b,idx){return b.readUInt8?b.readUInt8(idx):b[idx]};var __readUInt16LE=function(b,idx){return b.readUInt16LE?b.readUInt16LE(idx):b[idx+1]*(1<<8)+b[idx]};var __readInt16LE=function(b,idx){var u=__readUInt16LE(b,idx);if(!(u&32768))return u;return(65535-u+1)*-1};var __readUInt32LE=function(b,idx){return b.readUInt32LE?b.readUInt32LE(idx):b[idx+3]*(1<<24)+b[idx+2]*(1<<16)+b[idx+1]*(1<<8)+b[idx]};var __readInt32LE=function(b,idx){if(b.readInt32LE)return b.readInt32LE(idx);var u=__readUInt32LE(b,idx);if(!(u&2147483648))return u;return(4294967295-u+1)*-1};var __readDoubleLE=function(b,idx){return b.readDoubleLE?b.readDoubleLE(idx):readIEEE754(b,idx||0)};function ReadShift(size,t){var o="",oo=[],w,vv,i,loc;t=t||"u";if(size==="ieee754"){size=8;t="f"}switch(size){case 1:o=__readUInt8(this,this.l);break;case 2:o=(t==="u"?__readUInt16LE:__readInt16LE)(this,this.l);break;case 4:o=__readUInt32LE(this,this.l);break;case 8:if(t==="f"){o=__readDoubleLE(this,this.l);break}case 16:o=this.toString("hex",this.l,this.l+size);break;case"dbcs":size=2*t;loc=this.l;for(i=0;i!=t;++i){oo.push(_getchar(__readUInt16LE(this,loc)));loc+=2}o=oo.join("");break;case"sbcs":size=t;o="";loc=this.l;for(i=0;i!=t;++i){o+=_getchar(__readUInt8(this,loc));loc+=1}break}this.l+=size;return o}function prep_blob(blob,pos){blob.read_shift=ReadShift.bind(blob);blob.l=pos||0;var read=ReadShift.bind(blob);return[read]}function parsenoop(blob,length){blob.l+=length}var recordhopper=function(data,cb,opts){var tmpbyte,cntbyte,length;prep_blob(data,data.l||0);while(data.l"+escapexml(str)+"",h:str};if(fRichStr){var dwSizeStrRun=data.read_shift(4);for(var i=0;i!=dwSizeStrRun;++i)rgsStrRun.push(parse_StrRun(data));z.r=JSON.stringify(rgsStrRun)}if(fExtStr){}data.l=start+length;return z};function parse_Cell(data){var col=data.read_shift(4);var iStyleRef=data.read_shift(2);iStyleRef+=data.read_shift(1)<<16;var fPhShow=data.read_shift(1);return{c:col,iStyleRef:iStyleRef}}var parse_CodeName=function(data,length){return parse_XLWideString(data,length)};var parse_RelID=function(data,length){return parse_XLNullableWideString(data,length)};function parse_RkNumber(data){var b=data.slice(data.l,data.l+4);var fX100=b[0]&1,fInt=b[0]&2;data.l+=4;b[0]&=~3;var RK=fInt===0?__readDoubleLE([0,0,0,0,b[0],b[1],b[2],b[3]],0):__readInt32LE(b,0)>>2;return fX100?RK/100:RK}var parse_UncheckedRfX=function(data){var cell={s:{},e:{}};cell.s.r=data.read_shift(4);cell.e.r=data.read_shift(4);cell.s.c=data.read_shift(4);cell.e.c=data.read_shift(4);return cell};var parse_XLNullableWideString=function(data){var cchCharacters=data.read_shift(4);return cchCharacters===0||cchCharacters===4294967295?"":data.read_shift("dbcs",cchCharacters)};var parse_XLWideString=function(data){var cchCharacters=data.read_shift(4);return cchCharacters===0?"":data.read_shift("dbcs",cchCharacters)};function parse_Xnum(data,length){return data.read_shift("ieee754")}var BErr={0:"#NULL!",7:"#DIV/0!",15:"#VALUE!",23:"#REF!",29:"#NAME?",36:"#NUM!",42:"#N/A",43:"#GETTING_DATA",255:"#WTF?"};var RBErr=evert(BErr);function parse_BrtColor(data,length){var read=data.read_shift.bind(data);var out={};var d=read(1);out.fValidRGB=d&1;out.xColorType=d>>>1;out.index=read(1);out.nTintAndShade=read(2,"i");out.bRed=read(1);out.bGreen=read(1);out.bBlue=read(1);out.bAlpha=read(1)}function parse_FontFlags(data,length){var d=data.read_shift(1);data.l++;var out={fItalic:d&2,fStrikeout:d&8,fOutline:d&16,fShadow:d&32,fCondense:d&64,fExtend:d&128};return out}var parse_rs=function(){var tregex=matchtag("t"),rpregex=matchtag("rPr");var parse_rpr=function(rpr,intro,outro){var font={};(rpr.match(/<[^>]*>/g)||[]).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":break;case"":break;case"":font.strike=1;break;case"":break;case"":font.u=1;break;case"":break;case"":font.b=1;break;case"":break;case"":font.i=1;break;case"":break;case"');outro.push("")};function parse_r(r){var terms=[[],"",[]];var t=r.match(tregex);if(!isval(t))return"";terms[1]=t[1];var rpr=r.match(rpregex);if(isval(rpr))parse_rpr(rpr[1],terms[0],terms[2]);return terms[0].join("")+terms[1].replace(/\r\n/g,"
")+terms[2].join("")}return function(rs){return rs.replace(//g,"").split(/<\/r>/).map(parse_r).join("")}}();var parse_si=function(x,opts){var html=opts?opts.cellHTML:true;var z={};if(!x)return null;var y;if(x[1]==="t"){z.t=utf8read(unescapexml(x.substr(x.indexOf(">")+1).split(/<\/t>/)[0]));z.r=x;if(html)z.h=z.t}else if(y=x.match(//)){z.r=x;z.t=utf8read(unescapexml(x.replace(/<[^>]*>/gm,"")));if(html)z.h=parse_rs(x)}return z};var parse_sst_xml=function(data,opts){var s=[];var sst=data.match(new RegExp("]*)>([\\s\\S]*)","m"));if(isval(sst)){s=sst[2].replace(/<(?:si|sstItem)>/g,"").split(/<\/(?:si|sstItem)>/).map(function(x){return parse_si(x,opts)}).filter(function(x){return x});sst=parsexmltag(sst[1]);s.Count=sst.count;s.Unique=sst.uniqueCount}return s};var parse_BrtBeginSst=function(data,length){return[data.read_shift(4),data.read_shift(4)]};var parse_sst_bin=function(data,opts){var s=[];var pass=false;recordhopper(data,function(val,R,RT){switch(R.n){case"BrtBeginSst":s.Count=val[0];s.Unique=val[1];break;case"BrtSSTItem":s.push(val);break;case"BrtEndSst":return true;case"BrtFRTBegin":pass=true;break;case"BrtFRTEnd":pass=false;break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R.n)}});return s};var styles={};function parseNumFmts(t){styles.NumberFmt=[];for(var y in SSF._table)styles.NumberFmt[y]=SSF._table[y];t[0].match(/<[^>]*>/g).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":case"":break;case"0)SSF.load(f,i)}break;default:throw"unrecognized "+y[0]+" in numFmts"}})}function parseCXfs(t){styles.CellXf=[];t[0].match(/<[^>]*>/g).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":case"":break;case"":break;case"":case"":break;case"":break;case"]*)>.*<\/numFmts>/))parseNumFmts(t);if(t=data.match(/]*)>.*<\/cellXfs>/))parseCXfs(t);return styles}function parse_BrtFmt(data,length){var ifmt=data.read_shift(2);var stFmtCode=parse_XLWideString(data,length-2);return[ifmt,stFmtCode]}function parse_BrtFont(data,length){var read=data.read_shift.bind(data);var out={flags:{}};out.dyHeight=read(2);out.grbit=parse_FontFlags(data,2);out.bls=read(2);out.sss=read(2);out.uls=read(1);out.bFamily=read(1);out.bCharSet=read(1);data.l++;out.brtColor=parse_BrtColor(data,8);out.bFontScheme=read(1);out.name=parse_XLWideString(data,length-21);out.flags.Bold=out.bls===700;out.flags.Italic=out.grbit.fItalic;out.flags.Strikeout=out.grbit.fStrikeout;out.flags.Outline=out.grbit.fOutline;out.flags.Shadow=out.grbit.fShadow;out.flags.Condense=out.grbit.fCondense;out.flags.Extend=out.grbit.fExtend;out.flags.Sub=out.sss&2;out.flags.Sup=out.sss&1;return out}function parse_BrtXF(data,length){var ixfeParent=data.read_shift(2);var ifmt=data.read_shift(2);parsenoop(data,length-4);return{ixfe:ixfeParent,ifmt:ifmt}}function parse_sty_bin(data,opts){styles.NumberFmt=[];for(var y in SSF._table)styles.NumberFmt[y]=SSF._table[y];styles.CellXf=[];var state="";var pass=false;recordhopper(data,function(val,R,RT){switch(R.n){case"BrtFmt":styles.NumberFmt[val[0]]=val[1];SSF.load(val[1],val[0]);break;case"BrtFont":break;case"BrtKnownFonts":break;case"BrtFill":break;case"BrtBorder":break;case"BrtXF":if(state==="CELLXFS"){styles.CellXf.push(val)}break;case"BrtStyle":break;case"BrtRowHdr":break;case"BrtCellMeta":break;case"BrtDXF":break;case"BrtMRUColor":break;case"BrtIndexedColor":break;case"BrtBeginStyleSheet":break;case"BrtEndStyleSheet":break;case"BrtBeginTableStyle":break;case"BrtTableStyleElement":break;case"BrtEndTableStyle":break;case"BrtBeginFmts":state="FMTS";break;case"BrtEndFmts":state="";break;case"BrtBeginFonts":state="FONTS";break;case"BrtEndFonts":state="";break;case"BrtACBegin":state="ACFONTS";break;case"BrtACEnd":state="";break;case"BrtBeginFills":state="FILLS";break;case"BrtEndFills":state="";break;case"BrtBeginBorders":state="BORDERS";break;case"BrtEndBorders":state="";break;case"BrtBeginCellStyleXFs":state="CELLSTYLEXFS";break;case"BrtEndCellStyleXFs":state="";break;case"BrtBeginCellXFs":state="CELLXFS";break;case"BrtEndCellXFs":state="";break;case"BrtBeginStyles":state="STYLES";break;case"BrtEndStyles":state="";break;case"BrtBeginDXFs":state="DXFS";break;case"BrtEndDXFs":state="";break;case"BrtBeginTableStyles":state="TABLESTYLES";break;case"BrtEndTableStyles":state="";break;case"BrtBeginColorPalette":state="COLORPALETTE";break;case"BrtEndColorPalette":state="";break;case"BrtBeginIndexedColors":state="INDEXEDCOLORS";break;case"BrtEndIndexedColors":state="";break;case"BrtBeginMRUColors":state="MRUCOLORS";break;case"BrtEndMRUColors":state="";break;case"BrtFRTBegin":pass=true;break;case"BrtFRTEnd":pass=false;break;case"BrtBeginStyleSheetExt14":break;case"BrtBeginSlicerStyles":break;case"BrtEndSlicerStyles":break;case"BrtBeginTimelineStylesheetExt15":break;case"BrtEndTimelineStylesheetExt15":break;case"BrtBeginTimelineStyles":break;case"BrtEndTimelineStyles":break;case"BrtEndStyleSheetExt14":break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R.n)}});return styles}var ct2type={"application/vnd.ms-excel.main":"workbooks","application/vnd.ms-excel.sheet.macroEnabled.main+xml":"workbooks","application/vnd.ms-excel.sheet.binary.macroEnabled.main":"workbooks","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":"workbooks","application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":"TODO","application/vnd.ms-excel.worksheet":"sheets","application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":"sheets","application/vnd.ms-excel.binIndexWs":"TODO","application/vnd.ms-excel.chartsheet":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":"TODO","application/vnd.ms-excel.dialogsheet":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":"TODO","application/vnd.ms-excel.macrosheet":"TODO","application/vnd.ms-excel.macrosheet+xml":"TODO","application/vnd.ms-excel.intlmacrosheet":"TODO","application/vnd.ms-excel.binIndexMs":"TODO","application/vnd.ms-excel.sharedStrings":"strs","application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml":"strs","application/vnd.ms-excel.styles":"styles","application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":"styles","application/vnd.openxmlformats-package.core-properties+xml":"coreprops","application/vnd.openxmlformats-officedocument.custom-properties+xml":"custprops","application/vnd.openxmlformats-officedocument.extended-properties+xml":"extprops","application/vnd.openxmlformats-officedocument.customXmlProperties+xml":"TODO","application/vnd.ms-excel.comments":"comments","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":"comments","application/vnd.ms-excel.pivotTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml":"TODO","application/vnd.ms-excel.calcChain":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings":"TODO","application/vnd.ms-office.activeX":"TODO","application/vnd.ms-office.activeX+xml":"TODO","application/vnd.ms-excel.attachedToolbars":"TODO","application/vnd.ms-excel.connections":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":"TODO","application/vnd.ms-excel.externalLink":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml":"TODO","application/vnd.ms-excel.sheetMetadata":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml":"TODO","application/vnd.ms-excel.pivotCacheDefinition":"TODO","application/vnd.ms-excel.pivotCacheRecords":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml":"TODO","application/vnd.ms-excel.queryTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml":"TODO","application/vnd.ms-excel.userNames":"TODO","application/vnd.ms-excel.revisionHeaders":"TODO","application/vnd.ms-excel.revisionLog":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml":"TODO","application/vnd.ms-excel.tableSingleCells":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml":"TODO","application/vnd.ms-excel.slicer":"TODO","application/vnd.ms-excel.slicerCache":"TODO","application/vnd.ms-excel.slicer+xml":"TODO","application/vnd.ms-excel.slicerCache+xml":"TODO","application/vnd.ms-excel.wsSortMap":"TODO","application/vnd.ms-excel.table":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":"TODO","application/vnd.openxmlformats-officedocument.theme+xml":"themes","application/vnd.ms-excel.Timeline+xml":"TODO","application/vnd.ms-excel.TimelineCache+xml":"TODO","application/vnd.ms-office.vbaProject":"vba","application/vnd.ms-office.vbaProjectSignature":"vba","application/vnd.ms-office.volatileDependencies":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml":"TODO","application/vnd.ms-excel.controlproperties+xml":"TODO","application/vnd.openxmlformats-officedocument.model+data":"TODO","application/vnd.ms-excel.Survey+xml":"TODO","application/vnd.openxmlformats-officedocument.drawing+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.chart+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml":"TODO","application/vnd.openxmlformats-officedocument.vmlDrawing":"TODO","application/vnd.openxmlformats-package.relationships+xml":"TODO","application/vnd.openxmlformats-officedocument.oleObject":"TODO",foo:"bar"}; +var XMLNS_CT="http://schemas.openxmlformats.org/package/2006/content-types";function parseProps(data){var p={Company:""},q={};var strings=["Application","DocSecurity","Company","AppVersion"];var bools=["HyperlinksChanged","SharedDoc","LinksUpToDate","ScaleCrop"];var xtra=["HeadingPairs","TitlesOfParts"];var xtracp=["category","contentStatus","lastModifiedBy","lastPrinted","revision","version"];var xtradc=["creator","description","identifier","language","subject","title"];var xtradcterms=["created","modified"];xtra=xtra.concat(xtracp.map(function(x){return"cp:"+x}));xtra=xtra.concat(xtradc.map(function(x){return"dc:"+x}));xtra=xtra.concat(xtradcterms.map(function(x){return"dcterms:"+x}));strings.forEach(function(f){p[f]=(data.match(matchtag(f))||[])[1]});bools.forEach(function(f){p[f]=(data.match(matchtag(f))||[])[1]=="true"});xtra.forEach(function(f){var cur=data.match(new RegExp("<"+f+"[^>]*>(.*)"));if(cur&&cur.length>0)q[f]=cur[1]});if(q.HeadingPairs&&q.TitlesOfParts){var v=parseVector(q.HeadingPairs);var j=0,widx=0;for(var i=0;i!==v.length;++i){switch(v[i].v){case"Worksheets":widx=j;p.Worksheets=+v[++i].v;break;case"Named Ranges":++i;break}}var parts=parseVector(q.TitlesOfParts).map(function(x){return utf8read(x.v)});p.SheetNames=parts.slice(widx,widx+p.Worksheets)}p.Creator=q["dc:creator"];p.LastModifiedBy=q["cp:lastModifiedBy"];p.CreatedDate=new Date(q["dcterms:created"]);p.ModifiedDate=new Date(q["dcterms:modified"]);return p}function parseCustomProps(data){var p={},name;data.match(/<[^>]+>([^<]*)/g).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":name=null;break;default:if(x.indexOf("");var type=toks[0].substring(4),text=toks[1];switch(type){case"lpstr":case"lpwstr":case"bstr":case"lpwstr":p[name]=unescapexml(text);break;case"bool":p[name]=parsexmlbool(text,"");break;case"i1":case"i2":case"i4":case"i8":case"int":case"uint":p[name]=parseInt(text,10);break;case"r4":case"r8":case"decimal":p[name]=parseFloat(text);break;case"filetime":case"date":p[name]=text;break;case"cy":case"error":p[name]=unescapexml(text);break;default:console.warn("Unexpected",x,type,toks)}}}});return p}var ctext={};function parseCT(data,opts){if(!data||!data.match)return data;var ct={workbooks:[],sheets:[],calcchains:[],themes:[],styles:[],coreprops:[],extprops:[],custprops:[],strs:[],comments:[],vba:[],TODO:[],xmlns:""};(data.match(/<[^>]*>/g)||[]).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"0?ct.calcchains[0]:"";ct.sst=ct.strs.length>0?ct.strs[0]:"";ct.style=ct.styles.length>0?ct.styles[0]:"";ct.defaults=ctext;delete ct.calcchains;return ct}function parseRels(data,currentFilePath){if(!data)return data;if(currentFilePath.charAt(0)!=="/"){currentFilePath="/"+currentFilePath}var rels={};var resolveRelativePathIntoAbsolute=function(to){var toksFrom=currentFilePath.split("/");toksFrom.pop();var toksTo=to.split("/");var reversed=[];while(toksTo.length!==0){var tokTo=toksTo.shift();if(tokTo===".."){toksFrom.pop()}else if(tokTo!=="."){toksFrom.push(tokTo)}}return toksFrom.join("/")};data.match(/<[^>]*>/g).forEach(function(x){var y=parsexmltag(x);if(y[0]==="]*>/g)||[]).forEach(function(x){var y=parsexmltag(x);switch(y[0]){case"":case"":break;case"/))return[];var authors=[];var commentList=[];data.match(/<(?:\w+:)?authors>([^\u2603]*)<\/(?:\w+:)?authors>/m)[1].split(/<\/(?:\w+:)?author>/).forEach(function(x){if(x===""||x.trim()==="")return;authors.push(x.match(/<(?:\w+:)?author[^>]*>(.*)/)[1])});(data.match(/<(?:\w+:)?commentList>([^\u2603]*)<\/(?:\w+:)?commentList>/m)||["",""])[1].split(/<\/(?:\w+:)?comment>/).forEach(function(x,index){if(x===""||x.trim()==="")return;var y=parsexmltag(x.match(/<(?:\w+:)?comment[^>]*>/)[0]);var comment={author:y.authorId&&authors[y.authorId]?authors[y.authorId]:undefined,ref:y.ref,guid:y.guid};var cell=decode_cell(y.ref);if(opts.sheetRows&&opts.sheetRows<=cell.r)return;var textMatch=x.match(/([^\u2603]*)<\/text>/m);if(!textMatch||!textMatch[1])return;var rt=parse_si(textMatch[1]);comment.r=rt.r;comment.t=rt.t;if(opts.cellHTML)comment.h=rt.h;commentList.push(comment)});return commentList}var parse_BrtBeginComment=function(data,length){var out={};out.iauthor=data.read_shift(4);var rfx=parse_UncheckedRfX(data,16);out.rfx=rfx.s;out.ref=encode_cell(rfx.s);data.l+=16;return out};var parse_BrtCommentAuthor=parse_XLWideString;var parse_BrtCommentText=parse_RichStr;function parse_comments_bin(data,opts){var out=[];var authors=[];var c={};var pass=false;recordhopper(data,function(val,R,RT){switch(R.n){case"BrtCommentAuthor":authors.push(val);break;case"BrtBeginComment":c=val;break;case"BrtCommentText":c.t=val.t;c.h=val.h;c.r=val.r;break;case"BrtEndComment":c.author=authors[c.iauthor];delete c.iauthor;if(opts.sheetRows&&opts.sheetRows<=c.rfx.r)break;delete c.rfx;out.push(c);break;case"BrtBeginComments":break;case"BrtEndComments":break;case"BrtBeginCommentAuthors":break;case"BrtEndCommentAuthors":break;case"BrtBeginCommentList":break;case"BrtEndCommentList":break;default:if(!pass||opts.WTF)throw new Error("Unexpected record "+RT+" "+R.n)}});return out}function parse_comments(zip,dirComments,sheets,sheetRels,opts){for(var i=0;i!=dirComments.length;++i){var canonicalpath=dirComments[i];var comments=parse_cmnt(getzipdata(zip,canonicalpath.replace(/^\//,""),true),canonicalpath,opts);if(!comments||!comments.length)continue;var sheetNames=Object.keys(sheets);for(var j=0;j!=sheetNames.length;++j){var sheetName=sheetNames[j];var rels=sheetRels[sheetName];if(rels){var rel=rels[canonicalpath];if(rel)insertCommentsIntoSheet(sheetName,sheets[sheetName],comments)}}}}function insertCommentsIntoSheet(sheetName,sheet,comments){comments.forEach(function(comment){var cell=sheet[comment.ref];if(!cell){cell={};sheet[comment.ref]=cell;var range=decode_range(sheet["!ref"]||"BDWGO1000001:A1");var thisCell=decode_cell(comment.ref);if(range.s.r>thisCell.r)range.s.r=thisCell.r;if(range.e.rthisCell.c)range.s.c=thisCell.c;if(range.e.c/);if(ref&&ref.length==2&&ref[1].indexOf(":")!==-1)s["!ref"]=ref[1];var mergecells=[];if(data.match(/<\/mergeCells>/)){var merges=data.match(//g);mergecells=merges.map(function(range){return decode_range(//.exec(range)[1])})}var refguess={s:{r:1e6,c:1e6},e:{r:0,c:0}};var q=["v","f"];var sidx=0;if(!data.match(/<(\w+:)?sheetData *\/>/))data.match(/<(?:\w+:)?sheetData>([^\u2603]*)<\/(?:\w+:)?sheetData>/m)[1].split(/<\/(?:\w+:)?row>/).forEach(function(x){if(x===""||x.trim()==="")return;var row=parsexmltag(x.match(/<(?:\w+:)?row[^>]*>/)[0]);if(opts.sheetRows&&opts.sheetRows<+row.r)return;if(refguess.s.r>row.r-1)refguess.s.r=row.r-1;if(refguess.e.r")+1).split(/<(?:\w+:)?c /);cells.forEach(function(c,idx){if(c===""||c.trim()==="")return;var cref=c.match(/r=["']([^"']*)["']/);c="]*>/)||[c])[0]);delete cell[0];var d=c.substr(c.indexOf(">")+1);var p={};q.forEach(function(f){var x=d.match(matchtag(f));if(x)p[f]=unescapexml(x[1])});if(cell.t===undefined&&p.v===undefined){if(!opts.sheetStubs)return;p.t="str";p.v=undefined}else p.t=cell.t?cell.t:"n";if(refguess.s.c>idx)refguess.s.c=idx;if(refguess.e.c(.*)<\/is>/);is=is?parse_si(is[1]):{t:"",r:""};p.t="str";p.v=is.t;break;case"b":if(typeof p.v!=="boolean")p.v=parsexmlbool(p.v);break;case"d":var epoch=Date.parse(p.v);p.v=(epoch-new Date(Date.UTC(1899,11,30)))/(24*60*60*1e3);p.t="n";break;case"e":p.raw=RBErr[p.v];break}var fmtid=0;if(cell.s&&styles.CellXf){var cf=styles.CellXf[cell.s];if(cf&&cf.numFmtId)fmtid=cf.numFmtId}try{p.w=SSF.format(fmtid,p.v,_ssfopts);if(opts.cellNF)p.z=SSF._table[fmtid]}catch(e){if(opts.WTF)throw e}s[cell.r]=p})});if(!s["!ref"]&&refguess.e.c>=refguess.s.c&&refguess.e.r>=refguess.s.r)s["!ref"]=encode_range(refguess);if(opts.sheetRows&&s["!ref"]){var tmpref=decode_range(s["!ref"]);if(opts.sheetRows<+tmpref.e.r){tmpref.e.r=opts.sheetRows-1;if(tmpref.e.r>refguess.e.r)tmpref.e.r=refguess.e.r;if(tmpref.e.rrefguess.e.c)tmpref.e.c=refguess.e.c;if(tmpref.e.c0)s["!merges"]=mergecells;return s}var parse_BrtRowHdr=function(data,length){var z={};z.r=data.read_shift(4);data.l+=length-4;return z};var parse_BrtWsDim=parse_UncheckedRfX;var parse_BrtWsProp=function(data,length){var z={};data.l+=19;z.name=parse_CodeName(data,length-19);return z};var parse_BrtCellBlank=function(data,length){var cell=parse_Cell(data);return[cell]};var parse_BrtCellBool=function(data,length){var cell=parse_Cell(data);var fBool=data.read_shift(1);return[cell,fBool,"b"]};var parse_BrtCellError=function(data,length){var cell=parse_Cell(data);var fBool=data.read_shift(1);return[cell,fBool,"e"]};var parse_BrtCellIsst=function(data,length){var cell=parse_Cell(data);var isst=data.read_shift(4);return[cell,isst,"s"]};var parse_BrtCellReal=function(data,length){var cell=parse_Cell(data);var value=parse_Xnum(data);return[cell,value,"n"]};var parse_BrtCellRk=function(data,length){var cell=parse_Cell(data);var value=parse_RkNumber(data);return[cell,value,"n"]};var parse_BrtCellSt=function(data,length){var cell=parse_Cell(data);var value=parse_XLWideString(data);return[cell,value,"str"]};var parse_BrtFmlaBool=function(data,length,opts){var cell=parse_Cell(data);var value=data.read_shift(1);var o=[cell,value,"b"];if(opts.cellFormula){var formula=parse_CellParsedFormula(data,length-9);o[3]=""}else data.l+=length-9;return o};var parse_BrtFmlaError=function(data,length,opts){var cell=parse_Cell(data);var value=data.read_shift(1);var o=[cell,value,"e"];if(opts.cellFormula){var formula=parse_CellParsedFormula(data,length-9);o[3]=""}else data.l+=length-9;return o};var parse_BrtFmlaNum=function(data,length,opts){var cell=parse_Cell(data);var value=parse_Xnum(data);var o=[cell,value,"n"];if(opts.cellFormula){var formula=parse_CellParsedFormula(data,length-16);o[3]=""}else data.l+=length-16;return o};var parse_BrtFmlaString=function(data,length,opts){var start=data.l;var cell=parse_Cell(data);var value=parse_XLWideString(data);var o=[cell,value,"str"];if(opts.cellFormula){var formula=parse_CellParsedFormula(data,start+length-data.l);o[3]=""}else data.l=start+length;return o};var parse_BrtMergeCell=parse_UncheckedRfX;var parse_ws_bin=function(data,opts){if(!data)return data;var s={};var ref;var refguess={s:{r:1e6,c:1e6},e:{r:0,c:0}};var pass=false,end=false;var row,p,cf;var mergecells=[];recordhopper(data,function(val,R){if(end)return;switch(R.n){case"BrtWsDim":ref=val;break;case"BrtRowHdr":row=val;if(opts.sheetRows&&opts.sheetRows<=row.r)end=true;break;case"BrtFmlaBool":case"BrtFmlaError":case"BrtFmlaNum":case"BrtFmlaString":case"BrtCellBool":case"BrtCellError":case"BrtCellIsst":case"BrtCellReal":case"BrtCellRk":case"BrtCellSt":p={t:val[2]};switch(val[2]){case"n":p.v=val[1];break;case"s":p.v=strs[val[1]].t;p.r=strs[val[1]].r;break;case"b":p.v=val[1]?true:false;break;case"e":p.raw=val[1];p.v=BErr[p.raw];break;case"str":p.v=utf8read(val[1]);break}if(opts.cellFormula&&val.length>3)p.f=val[3];if(cf=styles.CellXf[val[0].iStyleRef])try{p.w=SSF.format(cf.ifmt,p.v,_ssfopts);if(opts.cellNF)p.z=SSF._table[cf.ifmt]}catch(e){if(opts.WTF)throw e}s[encode_cell({c:val[0].c,r:row.r})]=p;if(refguess.s.r>row.r)refguess.s.r=row.r;if(refguess.s.c>val[0].c)refguess.s.c=val[0].c;if(refguess.e.rrow.r)refguess.s.r=row.r;if(refguess.s.c>val[0].c)refguess.s.c=val[0].c;if(refguess.e.rrefguess.e.r)tmpref.e.r=refguess.e.r;if(tmpref.e.rrefguess.e.c)tmpref.e.c=refguess.e.c;if(tmpref.e.c0)s["!merges"]=mergecells;return s};var WBPropsDef={allowRefreshQuery:"0",autoCompressPictures:"1",backupFile:"0",checkCompatibility:"0",codeName:"",date1904:"0",dateCompatibility:"1",filterPrivacy:"0",hidePivotFieldList:"0",promptedSolutions:"0",publishItems:"0",refreshAllConnections:false,saveExternalLinkValues:"1",showBorderUnselectedTables:"1",showInkAnnotation:"1",showObjects:"all",showPivotChartFilter:"0"};var WBViewDef={activeTab:"0",autoFilterDateGrouping:"1",firstSheet:"0",minimized:"0",showHorizontalScroll:"1",showSheetTabs:"1",showVerticalScroll:"1",tabRatio:"600",visibility:"visible"};var SheetDef={state:"visible"};var CalcPrDef={calcCompleted:"true",calcMode:"auto",calcOnSave:"true",concurrentCalc:"true",fullCalcOnLoad:"false",fullPrecision:"true",iterate:"false",iterateCount:"100",iterateDelta:"0.001",refMode:"A1"};var CustomWBViewDef={autoUpdate:"false",changesSavedWin:"false",includeHiddenRowCol:"true",includePrintSettings:"true",maximized:"false",minimized:"false",onlySync:"false",personalView:"false",showComments:"commIndicator",showFormulaBar:"true",showHorizontalScroll:"true",showObjects:"all",showSheetTabs:"true",showStatusbar:"true",showVerticalScroll:"true",tabRatio:"600",xWindow:"0",yWindow:"0"};var XMLNS_WB=["http://schemas.openxmlformats.org/spreadsheetml/2006/main","http://schemas.microsoft.com/office/excel/2006/main","http://schemas.microsoft.com/office/excel/2006/2"];function parse_wb_xml(data){var wb={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""};var pass=false,xmlns="xmlns";data.match(/<[^>]*>/g).forEach(function(x){var y=parsexmltag(x);switch(y[0].replace(/<\w+:/,"<")){case"":break;case"":break;case"":break;case"":delete y[0];wb.WBProps=y;break;case"":break;case"":case"":break;case"":case"":break;case"":break;case"":break;case"":break;case"":pass=true;break;case"":pass=false;break;case"":case"":break;case"":delete y[0];wb.CalcPr=y;break;case"":case"":case"":break;case"":case"":case"":break;case"":case"":break;case"":break;case"":break;case"":case"":break;case"":case"
":case"":break;case"":pass=false;break;case"":pass=false;break}});if(XMLNS_WB.indexOf(wb.xmlns)===-1)throw new Error("Unknown Namespace: "+wb.xmlns);var z;for(z in WBPropsDef)if(typeof wb.WBProps[z]==="undefined")wb.WBProps[z]=WBPropsDef[z];for(z in CalcPrDef)if(typeof wb.CalcPr[z]==="undefined")wb.CalcPr[z]=CalcPrDef[z];wb.WBView.forEach(function(w){for(var z in WBViewDef)if(typeof w[z]==="undefined")w[z]=WBViewDef[z]});wb.Sheets.forEach(function(w){for(var z in SheetDef)if(typeof w[z]==="undefined")w[z]=SheetDef[z]});_ssfopts.date1904=parsexmlbool(wb.WBProps.date1904,"date1904");return wb}var parse_BrtBundleSh=function(data,length){var z={};z.hsState=data.read_shift(4);z.iTabID=data.read_shift(4);z.strRelID=parse_RelID(data,length-8);z.name=parse_XLWideString(data);return z};var parse_wb_bin=function(data,opts){var wb={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""};var pass=false,z;recordhopper(data,function(val,R){switch(R.n){case"BrtBundleSh":wb.Sheets.push(val);break;case"BrtBeginBook":break;case"BrtFileVersion":break;case"BrtWbProp":break;case"BrtACBegin":break;case"BrtAbsPath15":break;case"BrtACEnd":break;case"BrtBookProtection":break;case"BrtBeginBookViews":break;case"BrtBookView":break;case"BrtEndBookViews":break;case"BrtBeginBundleShs":break;case"BrtEndBundleShs":break;case"BrtBeginFnGroup":break;case"BrtEndFnGroup":break;case"BrtBeginExternals":break;case"BrtSupSelf":break;case"BrtSupBookSrc":break;case"BrtExternSheet":break;case"BrtEndExternals":break;case"BrtName":break;case"BrtCalcProp":break;case"BrtUserBookView":break;case"BrtBeginPivotCacheIDs":break;case"BrtBeginPivotCacheID":break;case"BrtEndPivotCacheID":break;case"BrtEndPivotCacheIDs":break;case"BrtWebOpt":break;case"BrtFileRecover":break;case"BrtFileSharing":break;case"BrtFRTBegin":pass=true;break;case"BrtFRTEnd":pass=false;break;case"BrtEndBook":break;default:if(!pass)throw new Error("Unexpected record "+R.n)}});for(z in WBPropsDef)if(typeof wb.WBProps[z]==="undefined")wb.WBProps[z]=WBPropsDef[z];for(z in CalcPrDef)if(typeof wb.CalcPr[z]==="undefined")wb.CalcPr[z]=CalcPrDef[z];wb.WBView.forEach(function(w){for(var z in WBViewDef)if(typeof w[z]==="undefined")w[z]=WBViewDef[z]});wb.Sheets.forEach(function(w){for(var z in SheetDef)if(typeof w[z]==="undefined")w[z]=SheetDef[z]});_ssfopts.date1904=parsexmlbool(wb.WBProps.date1904,"date1904");return wb};function parse_wb(data,name,opts){return name.substr(-4)===".bin"?parse_wb_bin(data,opts):parse_wb_xml(data,opts)}function parse_ws(data,name,opts){return name.substr(-4)===".bin"?parse_ws_bin(data,opts):parse_ws_xml(data,opts)}function parse_sty(data,name,opts){return name.substr(-4)===".bin"?parse_sty_bin(data,opts):parse_sty_xml(data,opts)}function parse_sst(data,name,opts){return name.substr(-4)===".bin"?parse_sst_bin(data,opts):parse_sst_xml(data,opts)}function parse_cmnt(data,name,opts){return name.substr(-4)===".bin"?parse_comments_bin(data,opts):parse_comments_xml(data,opts)}function parse_cc(data,name,opts){return name.substr(-4)===".bin"?parse_cc_bin(data,opts):parse_cc_xml(data,opts)}var RecordEnum={0:{n:"BrtRowHdr",f:parse_BrtRowHdr},1:{n:"BrtCellBlank",f:parse_BrtCellBlank},2:{n:"BrtCellRk",f:parse_BrtCellRk},3:{n:"BrtCellError",f:parse_BrtCellError},4:{n:"BrtCellBool",f:parse_BrtCellBool},5:{n:"BrtCellReal",f:parse_BrtCellReal},6:{n:"BrtCellSt",f:parse_BrtCellSt},7:{n:"BrtCellIsst",f:parse_BrtCellIsst},8:{n:"BrtFmlaString",f:parse_BrtFmlaString},9:{n:"BrtFmlaNum",f:parse_BrtFmlaNum},10:{n:"BrtFmlaBool",f:parse_BrtFmlaBool},11:{n:"BrtFmlaError",f:parse_BrtFmlaError},19:{n:"BrtSSTItem",f:parse_RichStr},20:{n:"BrtPCDIMissing",f:parsenoop},21:{n:"BrtPCDINumber",f:parsenoop},22:{n:"BrtPCDIBoolean",f:parsenoop},23:{n:"BrtPCDIError",f:parsenoop},24:{n:"BrtPCDIString",f:parsenoop},25:{n:"BrtPCDIDatetime",f:parsenoop},26:{n:"BrtPCDIIndex",f:parsenoop},27:{n:"BrtPCDIAMissing",f:parsenoop},28:{n:"BrtPCDIANumber",f:parsenoop},29:{n:"BrtPCDIABoolean",f:parsenoop},30:{n:"BrtPCDIAError",f:parsenoop},31:{n:"BrtPCDIAString",f:parsenoop},32:{n:"BrtPCDIADatetime",f:parsenoop},33:{n:"BrtPCRRecord",f:parsenoop},34:{n:"BrtPCRRecordDt",f:parsenoop},35:{n:"BrtFRTBegin",f:parsenoop},36:{n:"BrtFRTEnd",f:parsenoop},37:{n:"BrtACBegin",f:parsenoop},38:{n:"BrtACEnd",f:parsenoop},39:{n:"BrtName",f:parsenoop},40:{n:"BrtIndexRowBlock",f:parsenoop},42:{n:"BrtIndexBlock",f:parsenoop},43:{n:"BrtFont",f:parse_BrtFont},44:{n:"BrtFmt",f:parse_BrtFmt},45:{n:"BrtFill",f:parsenoop},46:{n:"BrtBorder",f:parsenoop},47:{n:"BrtXF",f:parse_BrtXF},48:{n:"BrtStyle",f:parsenoop},49:{n:"BrtCellMeta",f:parsenoop},50:{n:"BrtValueMeta",f:parsenoop},51:{n:"BrtMdb",f:parsenoop},52:{n:"BrtBeginFmd",f:parsenoop},53:{n:"BrtEndFmd",f:parsenoop},54:{n:"BrtBeginMdx",f:parsenoop},55:{n:"BrtEndMdx",f:parsenoop},56:{n:"BrtBeginMdxTuple",f:parsenoop},57:{n:"BrtEndMdxTuple",f:parsenoop},58:{n:"BrtMdxMbrIstr",f:parsenoop},59:{n:"BrtStr",f:parsenoop},60:{n:"BrtColInfo",f:parsenoop},62:{n:"BrtCellRString",f:parsenoop},63:{n:"BrtCalcChainItem$",f:parse_BrtCalcChainItem$},64:{n:"BrtDVal",f:parsenoop},65:{n:"BrtSxvcellNum",f:parsenoop},66:{n:"BrtSxvcellStr",f:parsenoop},67:{n:"BrtSxvcellBool",f:parsenoop},68:{n:"BrtSxvcellErr",f:parsenoop},69:{n:"BrtSxvcellDate",f:parsenoop},70:{n:"BrtSxvcellNil",f:parsenoop},128:{n:"BrtFileVersion",f:parsenoop},129:{n:"BrtBeginSheet",f:parsenoop},130:{n:"BrtEndSheet",f:parsenoop},131:{n:"BrtBeginBook",f:parsenoop},132:{n:"BrtEndBook",f:parsenoop},133:{n:"BrtBeginWsViews",f:parsenoop},134:{n:"BrtEndWsViews",f:parsenoop},135:{n:"BrtBeginBookViews",f:parsenoop},136:{n:"BrtEndBookViews",f:parsenoop},137:{n:"BrtBeginWsView",f:parsenoop},138:{n:"BrtEndWsView",f:parsenoop},139:{n:"BrtBeginCsViews",f:parsenoop},140:{n:"BrtEndCsViews",f:parsenoop},141:{n:"BrtBeginCsView",f:parsenoop},142:{n:"BrtEndCsView",f:parsenoop},143:{n:"BrtBeginBundleShs",f:parsenoop},144:{n:"BrtEndBundleShs",f:parsenoop},145:{n:"BrtBeginSheetData",f:parsenoop},146:{n:"BrtEndSheetData",f:parsenoop},147:{n:"BrtWsProp",f:parse_BrtWsProp},148:{n:"BrtWsDim",f:parse_BrtWsDim},151:{n:"BrtPane",f:parsenoop},152:{n:"BrtSel",f:parsenoop},153:{n:"BrtWbProp",f:parsenoop},154:{n:"BrtWbFactoid",f:parsenoop},155:{n:"BrtFileRecover",f:parsenoop},156:{n:"BrtBundleSh",f:parse_BrtBundleSh},157:{n:"BrtCalcProp",f:parsenoop},158:{n:"BrtBookView",f:parsenoop},159:{n:"BrtBeginSst",f:parse_BrtBeginSst},160:{n:"BrtEndSst",f:parsenoop},161:{n:"BrtBeginAFilter",f:parsenoop},162:{n:"BrtEndAFilter",f:parsenoop},163:{n:"BrtBeginFilterColumn",f:parsenoop},164:{n:"BrtEndFilterColumn",f:parsenoop},165:{n:"BrtBeginFilters",f:parsenoop},166:{n:"BrtEndFilters",f:parsenoop},167:{n:"BrtFilter",f:parsenoop},168:{n:"BrtColorFilter",f:parsenoop},169:{n:"BrtIconFilter",f:parsenoop},170:{n:"BrtTop10Filter",f:parsenoop},171:{n:"BrtDynamicFilter",f:parsenoop},172:{n:"BrtBeginCustomFilters",f:parsenoop},173:{n:"BrtEndCustomFilters",f:parsenoop},174:{n:"BrtCustomFilter",f:parsenoop},175:{n:"BrtAFilterDateGroupItem",f:parsenoop},176:{n:"BrtMergeCell",f:parse_BrtMergeCell},177:{n:"BrtBeginMergeCells",f:parsenoop},178:{n:"BrtEndMergeCells",f:parsenoop},179:{n:"BrtBeginPivotCacheDef",f:parsenoop},180:{n:"BrtEndPivotCacheDef",f:parsenoop},181:{n:"BrtBeginPCDFields",f:parsenoop},182:{n:"BrtEndPCDFields",f:parsenoop},183:{n:"BrtBeginPCDField",f:parsenoop},184:{n:"BrtEndPCDField",f:parsenoop},185:{n:"BrtBeginPCDSource",f:parsenoop},186:{n:"BrtEndPCDSource",f:parsenoop},187:{n:"BrtBeginPCDSRange",f:parsenoop},188:{n:"BrtEndPCDSRange",f:parsenoop},189:{n:"BrtBeginPCDFAtbl",f:parsenoop},190:{n:"BrtEndPCDFAtbl",f:parsenoop},191:{n:"BrtBeginPCDIRun",f:parsenoop},192:{n:"BrtEndPCDIRun",f:parsenoop},193:{n:"BrtBeginPivotCacheRecords",f:parsenoop},194:{n:"BrtEndPivotCacheRecords",f:parsenoop},195:{n:"BrtBeginPCDHierarchies",f:parsenoop},196:{n:"BrtEndPCDHierarchies",f:parsenoop},197:{n:"BrtBeginPCDHierarchy",f:parsenoop},198:{n:"BrtEndPCDHierarchy",f:parsenoop},199:{n:"BrtBeginPCDHFieldsUsage",f:parsenoop},200:{n:"BrtEndPCDHFieldsUsage",f:parsenoop},201:{n:"BrtBeginExtConnection",f:parsenoop},202:{n:"BrtEndExtConnection",f:parsenoop},203:{n:"BrtBeginECDbProps",f:parsenoop},204:{n:"BrtEndECDbProps",f:parsenoop},205:{n:"BrtBeginECOlapProps",f:parsenoop},206:{n:"BrtEndECOlapProps",f:parsenoop},207:{n:"BrtBeginPCDSConsol",f:parsenoop},208:{n:"BrtEndPCDSConsol",f:parsenoop},209:{n:"BrtBeginPCDSCPages",f:parsenoop},210:{n:"BrtEndPCDSCPages",f:parsenoop},211:{n:"BrtBeginPCDSCPage",f:parsenoop},212:{n:"BrtEndPCDSCPage",f:parsenoop},213:{n:"BrtBeginPCDSCPItem",f:parsenoop},214:{n:"BrtEndPCDSCPItem",f:parsenoop},215:{n:"BrtBeginPCDSCSets",f:parsenoop},216:{n:"BrtEndPCDSCSets",f:parsenoop},217:{n:"BrtBeginPCDSCSet",f:parsenoop},218:{n:"BrtEndPCDSCSet",f:parsenoop},219:{n:"BrtBeginPCDFGroup",f:parsenoop},220:{n:"BrtEndPCDFGroup",f:parsenoop},221:{n:"BrtBeginPCDFGItems",f:parsenoop},222:{n:"BrtEndPCDFGItems",f:parsenoop},223:{n:"BrtBeginPCDFGRange",f:parsenoop},224:{n:"BrtEndPCDFGRange",f:parsenoop},225:{n:"BrtBeginPCDFGDiscrete",f:parsenoop},226:{n:"BrtEndPCDFGDiscrete",f:parsenoop},227:{n:"BrtBeginPCDSDTupleCache",f:parsenoop},228:{n:"BrtEndPCDSDTupleCache",f:parsenoop},229:{n:"BrtBeginPCDSDTCEntries",f:parsenoop},230:{n:"BrtEndPCDSDTCEntries",f:parsenoop},231:{n:"BrtBeginPCDSDTCEMembers",f:parsenoop},232:{n:"BrtEndPCDSDTCEMembers",f:parsenoop},233:{n:"BrtBeginPCDSDTCEMember",f:parsenoop},234:{n:"BrtEndPCDSDTCEMember",f:parsenoop},235:{n:"BrtBeginPCDSDTCQueries",f:parsenoop},236:{n:"BrtEndPCDSDTCQueries",f:parsenoop},237:{n:"BrtBeginPCDSDTCQuery",f:parsenoop},238:{n:"BrtEndPCDSDTCQuery",f:parsenoop},239:{n:"BrtBeginPCDSDTCSets",f:parsenoop},240:{n:"BrtEndPCDSDTCSets",f:parsenoop},241:{n:"BrtBeginPCDSDTCSet",f:parsenoop},242:{n:"BrtEndPCDSDTCSet",f:parsenoop},243:{n:"BrtBeginPCDCalcItems",f:parsenoop},244:{n:"BrtEndPCDCalcItems",f:parsenoop},245:{n:"BrtBeginPCDCalcItem",f:parsenoop},246:{n:"BrtEndPCDCalcItem",f:parsenoop},247:{n:"BrtBeginPRule",f:parsenoop},248:{n:"BrtEndPRule",f:parsenoop},249:{n:"BrtBeginPRFilters",f:parsenoop},250:{n:"BrtEndPRFilters",f:parsenoop},251:{n:"BrtBeginPRFilter",f:parsenoop},252:{n:"BrtEndPRFilter",f:parsenoop},253:{n:"BrtBeginPNames",f:parsenoop},254:{n:"BrtEndPNames",f:parsenoop},255:{n:"BrtBeginPName",f:parsenoop},256:{n:"BrtEndPName",f:parsenoop},257:{n:"BrtBeginPNPairs",f:parsenoop},258:{n:"BrtEndPNPairs",f:parsenoop},259:{n:"BrtBeginPNPair",f:parsenoop},260:{n:"BrtEndPNPair",f:parsenoop},261:{n:"BrtBeginECWebProps",f:parsenoop},262:{n:"BrtEndECWebProps",f:parsenoop},263:{n:"BrtBeginEcWpTables",f:parsenoop},264:{n:"BrtEndECWPTables",f:parsenoop},265:{n:"BrtBeginECParams",f:parsenoop},266:{n:"BrtEndECParams",f:parsenoop},267:{n:"BrtBeginECParam",f:parsenoop},268:{n:"BrtEndECParam",f:parsenoop},269:{n:"BrtBeginPCDKPIs",f:parsenoop},270:{n:"BrtEndPCDKPIs",f:parsenoop},271:{n:"BrtBeginPCDKPI",f:parsenoop},272:{n:"BrtEndPCDKPI",f:parsenoop},273:{n:"BrtBeginDims",f:parsenoop},274:{n:"BrtEndDims",f:parsenoop},275:{n:"BrtBeginDim",f:parsenoop},276:{n:"BrtEndDim",f:parsenoop},277:{n:"BrtIndexPartEnd",f:parsenoop},278:{n:"BrtBeginStyleSheet",f:parsenoop},279:{n:"BrtEndStyleSheet",f:parsenoop},280:{n:"BrtBeginSXView",f:parsenoop},281:{n:"BrtEndSXVI",f:parsenoop},282:{n:"BrtBeginSXVI",f:parsenoop},283:{n:"BrtBeginSXVIs",f:parsenoop},284:{n:"BrtEndSXVIs",f:parsenoop},285:{n:"BrtBeginSXVD",f:parsenoop},286:{n:"BrtEndSXVD",f:parsenoop},287:{n:"BrtBeginSXVDs",f:parsenoop},288:{n:"BrtEndSXVDs",f:parsenoop},289:{n:"BrtBeginSXPI",f:parsenoop},290:{n:"BrtEndSXPI",f:parsenoop},291:{n:"BrtBeginSXPIs",f:parsenoop},292:{n:"BrtEndSXPIs",f:parsenoop},293:{n:"BrtBeginSXDI",f:parsenoop},294:{n:"BrtEndSXDI",f:parsenoop},295:{n:"BrtBeginSXDIs",f:parsenoop},296:{n:"BrtEndSXDIs",f:parsenoop},297:{n:"BrtBeginSXLI",f:parsenoop},298:{n:"BrtEndSXLI",f:parsenoop},299:{n:"BrtBeginSXLIRws",f:parsenoop},300:{n:"BrtEndSXLIRws",f:parsenoop},301:{n:"BrtBeginSXLICols",f:parsenoop},302:{n:"BrtEndSXLICols",f:parsenoop},303:{n:"BrtBeginSXFormat",f:parsenoop},304:{n:"BrtEndSXFormat",f:parsenoop},305:{n:"BrtBeginSXFormats",f:parsenoop},306:{n:"BrtEndSxFormats",f:parsenoop},307:{n:"BrtBeginSxSelect",f:parsenoop},308:{n:"BrtEndSxSelect",f:parsenoop},309:{n:"BrtBeginISXVDRws",f:parsenoop},310:{n:"BrtEndISXVDRws",f:parsenoop},311:{n:"BrtBeginISXVDCols",f:parsenoop},312:{n:"BrtEndISXVDCols",f:parsenoop},313:{n:"BrtEndSXLocation",f:parsenoop},314:{n:"BrtBeginSXLocation",f:parsenoop},315:{n:"BrtEndSXView",f:parsenoop},316:{n:"BrtBeginSXTHs",f:parsenoop},317:{n:"BrtEndSXTHs",f:parsenoop},318:{n:"BrtBeginSXTH",f:parsenoop},319:{n:"BrtEndSXTH",f:parsenoop},320:{n:"BrtBeginISXTHRws",f:parsenoop},321:{n:"BrtEndISXTHRws",f:parsenoop},322:{n:"BrtBeginISXTHCols",f:parsenoop},323:{n:"BrtEndISXTHCols",f:parsenoop},324:{n:"BrtBeginSXTDMPS",f:parsenoop},325:{n:"BrtEndSXTDMPs",f:parsenoop},326:{n:"BrtBeginSXTDMP",f:parsenoop},327:{n:"BrtEndSXTDMP",f:parsenoop},328:{n:"BrtBeginSXTHItems",f:parsenoop},329:{n:"BrtEndSXTHItems",f:parsenoop},330:{n:"BrtBeginSXTHItem",f:parsenoop},331:{n:"BrtEndSXTHItem",f:parsenoop},332:{n:"BrtBeginMetadata",f:parsenoop},333:{n:"BrtEndMetadata",f:parsenoop},334:{n:"BrtBeginEsmdtinfo",f:parsenoop},335:{n:"BrtMdtinfo",f:parsenoop},336:{n:"BrtEndEsmdtinfo",f:parsenoop},337:{n:"BrtBeginEsmdb",f:parsenoop},338:{n:"BrtEndEsmdb",f:parsenoop},339:{n:"BrtBeginEsfmd",f:parsenoop},340:{n:"BrtEndEsfmd",f:parsenoop},341:{n:"BrtBeginSingleCells",f:parsenoop},342:{n:"BrtEndSingleCells",f:parsenoop},343:{n:"BrtBeginList",f:parsenoop},344:{n:"BrtEndList",f:parsenoop},345:{n:"BrtBeginListCols",f:parsenoop},346:{n:"BrtEndListCols",f:parsenoop},347:{n:"BrtBeginListCol",f:parsenoop},348:{n:"BrtEndListCol",f:parsenoop},349:{n:"BrtBeginListXmlCPr",f:parsenoop},350:{n:"BrtEndListXmlCPr",f:parsenoop},351:{n:"BrtListCCFmla",f:parsenoop},352:{n:"BrtListTrFmla",f:parsenoop},353:{n:"BrtBeginExternals",f:parsenoop},354:{n:"BrtEndExternals",f:parsenoop},355:{n:"BrtSupBookSrc",f:parsenoop},357:{n:"BrtSupSelf",f:parsenoop},358:{n:"BrtSupSame",f:parsenoop},359:{n:"BrtSupTabs",f:parsenoop},360:{n:"BrtBeginSupBook",f:parsenoop},361:{n:"BrtPlaceholderName",f:parsenoop},362:{n:"BrtExternSheet",f:parsenoop},363:{n:"BrtExternTableStart",f:parsenoop},364:{n:"BrtExternTableEnd",f:parsenoop},366:{n:"BrtExternRowHdr",f:parsenoop},367:{n:"BrtExternCellBlank",f:parsenoop},368:{n:"BrtExternCellReal",f:parsenoop},369:{n:"BrtExternCellBool",f:parsenoop},370:{n:"BrtExternCellError",f:parsenoop},371:{n:"BrtExternCellString",f:parsenoop},372:{n:"BrtBeginEsmdx",f:parsenoop},373:{n:"BrtEndEsmdx",f:parsenoop},374:{n:"BrtBeginMdxSet",f:parsenoop},375:{n:"BrtEndMdxSet",f:parsenoop},376:{n:"BrtBeginMdxMbrProp",f:parsenoop},377:{n:"BrtEndMdxMbrProp",f:parsenoop},378:{n:"BrtBeginMdxKPI",f:parsenoop},379:{n:"BrtEndMdxKPI",f:parsenoop},380:{n:"BrtBeginEsstr",f:parsenoop},381:{n:"BrtEndEsstr",f:parsenoop},382:{n:"BrtBeginPRFItem",f:parsenoop},383:{n:"BrtEndPRFItem",f:parsenoop},384:{n:"BrtBeginPivotCacheIDs",f:parsenoop},385:{n:"BrtEndPivotCacheIDs",f:parsenoop},386:{n:"BrtBeginPivotCacheID",f:parsenoop},387:{n:"BrtEndPivotCacheID",f:parsenoop},388:{n:"BrtBeginISXVIs",f:parsenoop},389:{n:"BrtEndISXVIs",f:parsenoop},390:{n:"BrtBeginColInfos",f:parsenoop},391:{n:"BrtEndColInfos",f:parsenoop},392:{n:"BrtBeginRwBrk",f:parsenoop},393:{n:"BrtEndRwBrk",f:parsenoop},394:{n:"BrtBeginColBrk",f:parsenoop},395:{n:"BrtEndColBrk",f:parsenoop},396:{n:"BrtBrk",f:parsenoop},397:{n:"BrtUserBookView",f:parsenoop},398:{n:"BrtInfo",f:parsenoop},399:{n:"BrtCUsr",f:parsenoop},400:{n:"BrtUsr",f:parsenoop},401:{n:"BrtBeginUsers",f:parsenoop},403:{n:"BrtEOF",f:parsenoop},404:{n:"BrtUCR",f:parsenoop},405:{n:"BrtRRInsDel",f:parsenoop},406:{n:"BrtRREndInsDel",f:parsenoop},407:{n:"BrtRRMove",f:parsenoop},408:{n:"BrtRREndMove",f:parsenoop},409:{n:"BrtRRChgCell",f:parsenoop},410:{n:"BrtRREndChgCell",f:parsenoop},411:{n:"BrtRRHeader",f:parsenoop},412:{n:"BrtRRUserView",f:parsenoop},413:{n:"BrtRRRenSheet",f:parsenoop},414:{n:"BrtRRInsertSh",f:parsenoop},415:{n:"BrtRRDefName",f:parsenoop},416:{n:"BrtRRNote",f:parsenoop},417:{n:"BrtRRConflict",f:parsenoop},418:{n:"BrtRRTQSIF",f:parsenoop},419:{n:"BrtRRFormat",f:parsenoop},420:{n:"BrtRREndFormat",f:parsenoop},421:{n:"BrtRRAutoFmt",f:parsenoop},422:{n:"BrtBeginUserShViews",f:parsenoop},423:{n:"BrtBeginUserShView",f:parsenoop},424:{n:"BrtEndUserShView",f:parsenoop},425:{n:"BrtEndUserShViews",f:parsenoop},426:{n:"BrtArrFmla",f:parsenoop},427:{n:"BrtShrFmla",f:parsenoop},428:{n:"BrtTable",f:parsenoop},429:{n:"BrtBeginExtConnections",f:parsenoop},430:{n:"BrtEndExtConnections",f:parsenoop},431:{n:"BrtBeginPCDCalcMems",f:parsenoop},432:{n:"BrtEndPCDCalcMems",f:parsenoop},433:{n:"BrtBeginPCDCalcMem",f:parsenoop},434:{n:"BrtEndPCDCalcMem",f:parsenoop},435:{n:"BrtBeginPCDHGLevels",f:parsenoop},436:{n:"BrtEndPCDHGLevels",f:parsenoop},437:{n:"BrtBeginPCDHGLevel",f:parsenoop},438:{n:"BrtEndPCDHGLevel",f:parsenoop},439:{n:"BrtBeginPCDHGLGroups",f:parsenoop},440:{n:"BrtEndPCDHGLGroups",f:parsenoop},441:{n:"BrtBeginPCDHGLGroup",f:parsenoop},442:{n:"BrtEndPCDHGLGroup",f:parsenoop},443:{n:"BrtBeginPCDHGLGMembers",f:parsenoop},444:{n:"BrtEndPCDHGLGMembers",f:parsenoop},445:{n:"BrtBeginPCDHGLGMember",f:parsenoop},446:{n:"BrtEndPCDHGLGMember",f:parsenoop},447:{n:"BrtBeginQSI",f:parsenoop},448:{n:"BrtEndQSI",f:parsenoop},449:{n:"BrtBeginQSIR",f:parsenoop},450:{n:"BrtEndQSIR",f:parsenoop},451:{n:"BrtBeginDeletedNames",f:parsenoop},452:{n:"BrtEndDeletedNames",f:parsenoop},453:{n:"BrtBeginDeletedName",f:parsenoop},454:{n:"BrtEndDeletedName",f:parsenoop},455:{n:"BrtBeginQSIFs",f:parsenoop},456:{n:"BrtEndQSIFs",f:parsenoop},457:{n:"BrtBeginQSIF",f:parsenoop},458:{n:"BrtEndQSIF",f:parsenoop},459:{n:"BrtBeginAutoSortScope",f:parsenoop},460:{n:"BrtEndAutoSortScope",f:parsenoop},461:{n:"BrtBeginConditionalFormatting",f:parsenoop},462:{n:"BrtEndConditionalFormatting",f:parsenoop},463:{n:"BrtBeginCFRule",f:parsenoop},464:{n:"BrtEndCFRule",f:parsenoop},465:{n:"BrtBeginIconSet",f:parsenoop},466:{n:"BrtEndIconSet",f:parsenoop},467:{n:"BrtBeginDatabar",f:parsenoop},468:{n:"BrtEndDatabar",f:parsenoop},469:{n:"BrtBeginColorScale",f:parsenoop},470:{n:"BrtEndColorScale",f:parsenoop},471:{n:"BrtCFVO",f:parsenoop},472:{n:"BrtExternValueMeta",f:parsenoop},473:{n:"BrtBeginColorPalette",f:parsenoop},474:{n:"BrtEndColorPalette",f:parsenoop},475:{n:"BrtIndexedColor",f:parsenoop},476:{n:"BrtMargins",f:parsenoop},477:{n:"BrtPrintOptions",f:parsenoop},478:{n:"BrtPageSetup",f:parsenoop},479:{n:"BrtBeginHeaderFooter",f:parsenoop},480:{n:"BrtEndHeaderFooter",f:parsenoop},481:{n:"BrtBeginSXCrtFormat",f:parsenoop},482:{n:"BrtEndSXCrtFormat",f:parsenoop},483:{n:"BrtBeginSXCrtFormats",f:parsenoop},484:{n:"BrtEndSXCrtFormats",f:parsenoop},485:{n:"BrtWsFmtInfo",f:parsenoop},486:{n:"BrtBeginMgs",f:parsenoop},487:{n:"BrtEndMGs",f:parsenoop},488:{n:"BrtBeginMGMaps",f:parsenoop},489:{n:"BrtEndMGMaps",f:parsenoop},490:{n:"BrtBeginMG",f:parsenoop},491:{n:"BrtEndMG",f:parsenoop},492:{n:"BrtBeginMap",f:parsenoop},493:{n:"BrtEndMap",f:parsenoop},494:{n:"BrtHLink",f:parsenoop},495:{n:"BrtBeginDCon",f:parsenoop},496:{n:"BrtEndDCon",f:parsenoop},497:{n:"BrtBeginDRefs",f:parsenoop},498:{n:"BrtEndDRefs",f:parsenoop},499:{n:"BrtDRef",f:parsenoop},500:{n:"BrtBeginScenMan",f:parsenoop},501:{n:"BrtEndScenMan",f:parsenoop},502:{n:"BrtBeginSct",f:parsenoop},503:{n:"BrtEndSct",f:parsenoop},504:{n:"BrtSlc",f:parsenoop},505:{n:"BrtBeginDXFs",f:parsenoop},506:{n:"BrtEndDXFs",f:parsenoop},507:{n:"BrtDXF",f:parsenoop},508:{n:"BrtBeginTableStyles",f:parsenoop},509:{n:"BrtEndTableStyles",f:parsenoop},510:{n:"BrtBeginTableStyle",f:parsenoop},511:{n:"BrtEndTableStyle",f:parsenoop},512:{n:"BrtTableStyleElement",f:parsenoop},513:{n:"BrtTableStyleClient",f:parsenoop},514:{n:"BrtBeginVolDeps",f:parsenoop},515:{n:"BrtEndVolDeps",f:parsenoop},516:{n:"BrtBeginVolType",f:parsenoop},517:{n:"BrtEndVolType",f:parsenoop},518:{n:"BrtBeginVolMain",f:parsenoop},519:{n:"BrtEndVolMain",f:parsenoop},520:{n:"BrtBeginVolTopic",f:parsenoop},521:{n:"BrtEndVolTopic",f:parsenoop},522:{n:"BrtVolSubtopic",f:parsenoop},523:{n:"BrtVolRef",f:parsenoop},524:{n:"BrtVolNum",f:parsenoop},525:{n:"BrtVolErr",f:parsenoop},526:{n:"BrtVolStr",f:parsenoop},527:{n:"BrtVolBool",f:parsenoop},528:{n:"BrtBeginCalcChain$",f:parsenoop},529:{n:"BrtEndCalcChain$",f:parsenoop},530:{n:"BrtBeginSortState",f:parsenoop},531:{n:"BrtEndSortState",f:parsenoop},532:{n:"BrtBeginSortCond",f:parsenoop},533:{n:"BrtEndSortCond",f:parsenoop},534:{n:"BrtBookProtection",f:parsenoop},535:{n:"BrtSheetProtection",f:parsenoop},536:{n:"BrtRangeProtection",f:parsenoop},537:{n:"BrtPhoneticInfo",f:parsenoop},538:{n:"BrtBeginECTxtWiz",f:parsenoop},539:{n:"BrtEndECTxtWiz",f:parsenoop},540:{n:"BrtBeginECTWFldInfoLst",f:parsenoop},541:{n:"BrtEndECTWFldInfoLst",f:parsenoop},542:{n:"BrtBeginECTwFldInfo",f:parsenoop},548:{n:"BrtFileSharing",f:parsenoop},549:{n:"BrtOleSize",f:parsenoop},550:{n:"BrtDrawing",f:parsenoop},551:{n:"BrtLegacyDrawing",f:parsenoop},552:{n:"BrtLegacyDrawingHF",f:parsenoop},553:{n:"BrtWebOpt",f:parsenoop},554:{n:"BrtBeginWebPubItems",f:parsenoop},555:{n:"BrtEndWebPubItems",f:parsenoop},556:{n:"BrtBeginWebPubItem",f:parsenoop},557:{n:"BrtEndWebPubItem",f:parsenoop},558:{n:"BrtBeginSXCondFmt",f:parsenoop},559:{n:"BrtEndSXCondFmt",f:parsenoop},560:{n:"BrtBeginSXCondFmts",f:parsenoop},561:{n:"BrtEndSXCondFmts",f:parsenoop},562:{n:"BrtBkHim",f:parsenoop},564:{n:"BrtColor",f:parsenoop},565:{n:"BrtBeginIndexedColors",f:parsenoop},566:{n:"BrtEndIndexedColors",f:parsenoop},569:{n:"BrtBeginMRUColors",f:parsenoop},570:{n:"BrtEndMRUColors",f:parsenoop},572:{n:"BrtMRUColor",f:parsenoop},573:{n:"BrtBeginDVals",f:parsenoop},574:{n:"BrtEndDVals",f:parsenoop},577:{n:"BrtSupNameStart",f:parsenoop},578:{n:"BrtSupNameValueStart",f:parsenoop},579:{n:"BrtSupNameValueEnd",f:parsenoop},580:{n:"BrtSupNameNum",f:parsenoop},581:{n:"BrtSupNameErr",f:parsenoop},582:{n:"BrtSupNameSt",f:parsenoop},583:{n:"BrtSupNameNil",f:parsenoop},584:{n:"BrtSupNameBool",f:parsenoop},585:{n:"BrtSupNameFmla",f:parsenoop},586:{n:"BrtSupNameBits",f:parsenoop},587:{n:"BrtSupNameEnd",f:parsenoop},588:{n:"BrtEndSupBook",f:parsenoop},589:{n:"BrtCellSmartTagProperty",f:parsenoop},590:{n:"BrtBeginCellSmartTag",f:parsenoop},591:{n:"BrtEndCellSmartTag",f:parsenoop},592:{n:"BrtBeginCellSmartTags",f:parsenoop},593:{n:"BrtEndCellSmartTags",f:parsenoop},594:{n:"BrtBeginSmartTags",f:parsenoop},595:{n:"BrtEndSmartTags",f:parsenoop},596:{n:"BrtSmartTagType",f:parsenoop},597:{n:"BrtBeginSmartTagTypes",f:parsenoop},598:{n:"BrtEndSmartTagTypes",f:parsenoop},599:{n:"BrtBeginSXFilters",f:parsenoop},600:{n:"BrtEndSXFilters",f:parsenoop},601:{n:"BrtBeginSXFILTER",f:parsenoop},602:{n:"BrtEndSXFilter",f:parsenoop},603:{n:"BrtBeginFills",f:parsenoop},604:{n:"BrtEndFills",f:parsenoop},605:{n:"BrtBeginCellWatches",f:parsenoop},606:{n:"BrtEndCellWatches",f:parsenoop},607:{n:"BrtCellWatch",f:parsenoop},608:{n:"BrtBeginCRErrs",f:parsenoop},609:{n:"BrtEndCRErrs",f:parsenoop},610:{n:"BrtCrashRecErr",f:parsenoop},611:{n:"BrtBeginFonts",f:parsenoop},612:{n:"BrtEndFonts",f:parsenoop},613:{n:"BrtBeginBorders",f:parsenoop},614:{n:"BrtEndBorders",f:parsenoop},615:{n:"BrtBeginFmts",f:parsenoop},616:{n:"BrtEndFmts",f:parsenoop},617:{n:"BrtBeginCellXFs",f:parsenoop},618:{n:"BrtEndCellXFs",f:parsenoop},619:{n:"BrtBeginStyles",f:parsenoop},620:{n:"BrtEndStyles",f:parsenoop},625:{n:"BrtBigName",f:parsenoop},626:{n:"BrtBeginCellStyleXFs",f:parsenoop},627:{n:"BrtEndCellStyleXFs",f:parsenoop},628:{n:"BrtBeginComments",f:parsenoop},629:{n:"BrtEndComments",f:parsenoop},630:{n:"BrtBeginCommentAuthors",f:parsenoop},631:{n:"BrtEndCommentAuthors",f:parsenoop},632:{n:"BrtCommentAuthor",f:parse_BrtCommentAuthor},633:{n:"BrtBeginCommentList",f:parsenoop},634:{n:"BrtEndCommentList",f:parsenoop},635:{n:"BrtBeginComment",f:parse_BrtBeginComment},636:{n:"BrtEndComment",f:parsenoop},637:{n:"BrtCommentText",f:parse_BrtCommentText},638:{n:"BrtBeginOleObjects",f:parsenoop},639:{n:"BrtOleObject",f:parsenoop},640:{n:"BrtEndOleObjects",f:parsenoop},641:{n:"BrtBeginSxrules",f:parsenoop},642:{n:"BrtEndSxRules",f:parsenoop},643:{n:"BrtBeginActiveXControls",f:parsenoop},644:{n:"BrtActiveX",f:parsenoop},645:{n:"BrtEndActiveXControls",f:parsenoop},646:{n:"BrtBeginPCDSDTCEMembersSortBy",f:parsenoop},648:{n:"BrtBeginCellIgnoreECs",f:parsenoop},649:{n:"BrtCellIgnoreEC",f:parsenoop},650:{n:"BrtEndCellIgnoreECs",f:parsenoop},651:{n:"BrtCsProp",f:parsenoop},652:{n:"BrtCsPageSetup",f:parsenoop},653:{n:"BrtBeginUserCsViews",f:parsenoop},654:{n:"BrtEndUserCsViews",f:parsenoop},655:{n:"BrtBeginUserCsView",f:parsenoop},656:{n:"BrtEndUserCsView",f:parsenoop},657:{n:"BrtBeginPcdSFCIEntries",f:parsenoop},658:{n:"BrtEndPCDSFCIEntries",f:parsenoop},659:{n:"BrtPCDSFCIEntry",f:parsenoop},660:{n:"BrtBeginListParts",f:parsenoop},661:{n:"BrtListPart",f:parsenoop},662:{n:"BrtEndListParts",f:parsenoop},663:{n:"BrtSheetCalcProp",f:parsenoop},664:{n:"BrtBeginFnGroup",f:parsenoop},665:{n:"BrtFnGroup",f:parsenoop},666:{n:"BrtEndFnGroup",f:parsenoop},667:{n:"BrtSupAddin",f:parsenoop},668:{n:"BrtSXTDMPOrder",f:parsenoop},669:{n:"BrtCsProtection",f:parsenoop},671:{n:"BrtBeginWsSortMap",f:parsenoop},672:{n:"BrtEndWsSortMap",f:parsenoop},673:{n:"BrtBeginRRSort",f:parsenoop},674:{n:"BrtEndRRSort",f:parsenoop},675:{n:"BrtRRSortItem",f:parsenoop},676:{n:"BrtFileSharingIso",f:parsenoop},677:{n:"BrtBookProtectionIso",f:parsenoop},678:{n:"BrtSheetProtectionIso",f:parsenoop},679:{n:"BrtCsProtectionIso",f:parsenoop},680:{n:"BrtRangeProtectionIso",f:parsenoop},1024:{n:"BrtRwDescent",f:parsenoop},1025:{n:"BrtKnownFonts",f:parsenoop},1026:{n:"BrtBeginSXTupleSet",f:parsenoop},1027:{n:"BrtEndSXTupleSet",f:parsenoop},1028:{n:"BrtBeginSXTupleSetHeader",f:parsenoop},1029:{n:"BrtEndSXTupleSetHeader",f:parsenoop},1030:{n:"BrtSXTupleSetHeaderItem",f:parsenoop},1031:{n:"BrtBeginSXTupleSetData",f:parsenoop},1032:{n:"BrtEndSXTupleSetData",f:parsenoop},1033:{n:"BrtBeginSXTupleSetRow",f:parsenoop},1034:{n:"BrtEndSXTupleSetRow",f:parsenoop},1035:{n:"BrtSXTupleSetRowItem",f:parsenoop},1036:{n:"BrtNameExt",f:parsenoop},1037:{n:"BrtPCDH14",f:parsenoop},1038:{n:"BrtBeginPCDCalcMem14",f:parsenoop},1039:{n:"BrtEndPCDCalcMem14",f:parsenoop},1040:{n:"BrtSXTH14",f:parsenoop},1041:{n:"BrtBeginSparklineGroup",f:parsenoop},1042:{n:"BrtEndSparklineGroup",f:parsenoop},1043:{n:"BrtSparkline",f:parsenoop},1044:{n:"BrtSXDI14",f:parsenoop},1045:{n:"BrtWsFmtInfoEx14",f:parsenoop},1046:{n:"BrtBeginConditionalFormatting14",f:parsenoop},1047:{n:"BrtEndConditionalFormatting14",f:parsenoop},1048:{n:"BrtBeginCFRule14",f:parsenoop},1049:{n:"BrtEndCFRule14",f:parsenoop},1050:{n:"BrtCFVO14",f:parsenoop},1051:{n:"BrtBeginDatabar14",f:parsenoop},1052:{n:"BrtBeginIconSet14",f:parsenoop},1053:{n:"BrtDVal14",f:parsenoop},1054:{n:"BrtBeginDVals14",f:parsenoop},1055:{n:"BrtColor14",f:parsenoop},1056:{n:"BrtBeginSparklines",f:parsenoop},1057:{n:"BrtEndSparklines",f:parsenoop},1058:{n:"BrtBeginSparklineGroups",f:parsenoop},1059:{n:"BrtEndSparklineGroups",f:parsenoop},1061:{n:"BrtSXVD14",f:parsenoop},1062:{n:"BrtBeginSxview14",f:parsenoop},1063:{n:"BrtEndSxview14",f:parsenoop},1066:{n:"BrtBeginPCD14",f:parsenoop},1067:{n:"BrtEndPCD14",f:parsenoop},1068:{n:"BrtBeginExtConn14",f:parsenoop},1069:{n:"BrtEndExtConn14",f:parsenoop},1070:{n:"BrtBeginSlicerCacheIDs",f:parsenoop},1071:{n:"BrtEndSlicerCacheIDs",f:parsenoop},1072:{n:"BrtBeginSlicerCacheID",f:parsenoop},1073:{n:"BrtEndSlicerCacheID",f:parsenoop},1075:{n:"BrtBeginSlicerCache",f:parsenoop},1076:{n:"BrtEndSlicerCache",f:parsenoop},1077:{n:"BrtBeginSlicerCacheDef",f:parsenoop},1078:{n:"BrtEndSlicerCacheDef",f:parsenoop},1079:{n:"BrtBeginSlicersEx",f:parsenoop},1080:{n:"BrtEndSlicersEx",f:parsenoop},1081:{n:"BrtBeginSlicerEx",f:parsenoop},1082:{n:"BrtEndSlicerEx",f:parsenoop},1083:{n:"BrtBeginSlicer",f:parsenoop},1084:{n:"BrtEndSlicer",f:parsenoop},1085:{n:"BrtSlicerCachePivotTables",f:parsenoop},1086:{n:"BrtBeginSlicerCacheOlapImpl",f:parsenoop},1087:{n:"BrtEndSlicerCacheOlapImpl",f:parsenoop},1088:{n:"BrtBeginSlicerCacheLevelsData",f:parsenoop},1089:{n:"BrtEndSlicerCacheLevelsData",f:parsenoop},1090:{n:"BrtBeginSlicerCacheLevelData",f:parsenoop},1091:{n:"BrtEndSlicerCacheLevelData",f:parsenoop},1092:{n:"BrtBeginSlicerCacheSiRanges",f:parsenoop},1093:{n:"BrtEndSlicerCacheSiRanges",f:parsenoop},1094:{n:"BrtBeginSlicerCacheSiRange",f:parsenoop},1095:{n:"BrtEndSlicerCacheSiRange",f:parsenoop},1096:{n:"BrtSlicerCacheOlapItem",f:parsenoop},1097:{n:"BrtBeginSlicerCacheSelections",f:parsenoop},1098:{n:"BrtSlicerCacheSelection",f:parsenoop},1099:{n:"BrtEndSlicerCacheSelections",f:parsenoop},1100:{n:"BrtBeginSlicerCacheNative",f:parsenoop},1101:{n:"BrtEndSlicerCacheNative",f:parsenoop},1102:{n:"BrtSlicerCacheNativeItem",f:parsenoop},1103:{n:"BrtRangeProtection14",f:parsenoop},1104:{n:"BrtRangeProtectionIso14",f:parsenoop},1105:{n:"BrtCellIgnoreEC14",f:parsenoop},1111:{n:"BrtList14",f:parsenoop},1112:{n:"BrtCFIcon",f:parsenoop},1113:{n:"BrtBeginSlicerCachesPivotCacheIDs",f:parsenoop},1114:{n:"BrtEndSlicerCachesPivotCacheIDs",f:parsenoop},1115:{n:"BrtBeginSlicers",f:parsenoop},1116:{n:"BrtEndSlicers",f:parsenoop},1117:{n:"BrtWbProp14",f:parsenoop},1118:{n:"BrtBeginSXEdit",f:parsenoop},1119:{n:"BrtEndSXEdit",f:parsenoop},1120:{n:"BrtBeginSXEdits",f:parsenoop},1121:{n:"BrtEndSXEdits",f:parsenoop},1122:{n:"BrtBeginSXChange",f:parsenoop},1123:{n:"BrtEndSXChange",f:parsenoop},1124:{n:"BrtBeginSXChanges",f:parsenoop},1125:{n:"BrtEndSXChanges",f:parsenoop},1126:{n:"BrtSXTupleItems",f:parsenoop},1128:{n:"BrtBeginSlicerStyle",f:parsenoop},1129:{n:"BrtEndSlicerStyle",f:parsenoop},1130:{n:"BrtSlicerStyleElement",f:parsenoop},1131:{n:"BrtBeginStyleSheetExt14",f:parsenoop},1132:{n:"BrtEndStyleSheetExt14",f:parsenoop},1133:{n:"BrtBeginSlicerCachesPivotCacheID",f:parsenoop},1134:{n:"BrtEndSlicerCachesPivotCacheID",f:parsenoop},1135:{n:"BrtBeginConditionalFormattings",f:parsenoop},1136:{n:"BrtEndConditionalFormattings",f:parsenoop},1137:{n:"BrtBeginPCDCalcMemExt",f:parsenoop},1138:{n:"BrtEndPCDCalcMemExt",f:parsenoop},1139:{n:"BrtBeginPCDCalcMemsExt",f:parsenoop},1140:{n:"BrtEndPCDCalcMemsExt",f:parsenoop},1141:{n:"BrtPCDField14",f:parsenoop},1142:{n:"BrtBeginSlicerStyles",f:parsenoop},1143:{n:"BrtEndSlicerStyles",f:parsenoop},1144:{n:"BrtBeginSlicerStyleElements",f:parsenoop},1145:{n:"BrtEndSlicerStyleElements",f:parsenoop},1146:{n:"BrtCFRuleExt",f:parsenoop},1147:{n:"BrtBeginSXCondFmt14",f:parsenoop},1148:{n:"BrtEndSXCondFmt14",f:parsenoop},1149:{n:"BrtBeginSXCondFmts14",f:parsenoop},1150:{n:"BrtEndSXCondFmts14",f:parsenoop},1152:{n:"BrtBeginSortCond14",f:parsenoop},1153:{n:"BrtEndSortCond14",f:parsenoop},1154:{n:"BrtEndDVals14",f:parsenoop},1155:{n:"BrtEndIconSet14",f:parsenoop},1156:{n:"BrtEndDatabar14",f:parsenoop},1157:{n:"BrtBeginColorScale14",f:parsenoop},1158:{n:"BrtEndColorScale14",f:parsenoop},1159:{n:"BrtBeginSxrules14",f:parsenoop},1160:{n:"BrtEndSxrules14",f:parsenoop},1161:{n:"BrtBeginPRule14",f:parsenoop},1162:{n:"BrtEndPRule14",f:parsenoop},1163:{n:"BrtBeginPRFilters14",f:parsenoop},1164:{n:"BrtEndPRFilters14",f:parsenoop},1165:{n:"BrtBeginPRFilter14",f:parsenoop},1166:{n:"BrtEndPRFilter14",f:parsenoop},1167:{n:"BrtBeginPRFItem14",f:parsenoop},1168:{n:"BrtEndPRFItem14",f:parsenoop},1169:{n:"BrtBeginCellIgnoreECs14",f:parsenoop},1170:{n:"BrtEndCellIgnoreECs14",f:parsenoop},1171:{n:"BrtDxf14",f:parsenoop},1172:{n:"BrtBeginDxF14s",f:parsenoop},1173:{n:"BrtEndDxf14s",f:parsenoop},1177:{n:"BrtFilter14",f:parsenoop},1178:{n:"BrtBeginCustomFilters14",f:parsenoop},1180:{n:"BrtCustomFilter14",f:parsenoop},1181:{n:"BrtIconFilter14",f:parsenoop},1182:{n:"BrtPivotCacheConnectionName",f:parsenoop},2048:{n:"BrtBeginDecoupledPivotCacheIDs",f:parsenoop},2049:{n:"BrtEndDecoupledPivotCacheIDs",f:parsenoop},2050:{n:"BrtDecoupledPivotCacheID",f:parsenoop},2051:{n:"BrtBeginPivotTableRefs",f:parsenoop},2052:{n:"BrtEndPivotTableRefs",f:parsenoop},2053:{n:"BrtPivotTableRef",f:parsenoop},2054:{n:"BrtSlicerCacheBookPivotTables",f:parsenoop},2055:{n:"BrtBeginSxvcells",f:parsenoop},2056:{n:"BrtEndSxvcells",f:parsenoop},2057:{n:"BrtBeginSxRow",f:parsenoop},2058:{n:"BrtEndSxRow",f:parsenoop},2060:{n:"BrtPcdCalcMem15",f:parsenoop},2067:{n:"BrtQsi15",f:parsenoop},2068:{n:"BrtBeginWebExtensions",f:parsenoop},2069:{n:"BrtEndWebExtensions",f:parsenoop},2070:{n:"BrtWebExtension",f:parsenoop},2071:{n:"BrtAbsPath15",f:parsenoop},2072:{n:"BrtBeginPivotTableUISettings",f:parsenoop},2073:{n:"BrtEndPivotTableUISettings",f:parsenoop},2075:{n:"BrtTableSlicerCacheIDs",f:parsenoop},2076:{n:"BrtTableSlicerCacheID",f:parsenoop},2077:{n:"BrtBeginTableSlicerCache",f:parsenoop},2078:{n:"BrtEndTableSlicerCache",f:parsenoop},2079:{n:"BrtSxFilter15",f:parsenoop},2080:{n:"BrtBeginTimelineCachePivotCacheIDs",f:parsenoop},2081:{n:"BrtEndTimelineCachePivotCacheIDs",f:parsenoop},2082:{n:"BrtTimelineCachePivotCacheID",f:parsenoop},2083:{n:"BrtBeginTimelineCacheIDs",f:parsenoop},2084:{n:"BrtEndTimelineCacheIDs",f:parsenoop},2085:{n:"BrtBeginTimelineCacheID",f:parsenoop},2086:{n:"BrtEndTimelineCacheID",f:parsenoop},2087:{n:"BrtBeginTimelinesEx",f:parsenoop},2088:{n:"BrtEndTimelinesEx",f:parsenoop},2089:{n:"BrtBeginTimelineEx",f:parsenoop},2090:{n:"BrtEndTimelineEx",f:parsenoop},2091:{n:"BrtWorkBookPr15",f:parsenoop},2092:{n:"BrtPCDH15",f:parsenoop},2093:{n:"BrtBeginTimelineStyle",f:parsenoop},2094:{n:"BrtEndTimelineStyle",f:parsenoop},2095:{n:"BrtTimelineStyleElement",f:parsenoop},2096:{n:"BrtBeginTimelineStylesheetExt15",f:parsenoop},2097:{n:"BrtEndTimelineStylesheetExt15",f:parsenoop},2098:{n:"BrtBeginTimelineStyles",f:parsenoop},2099:{n:"BrtEndTimelineStyles",f:parsenoop},2100:{n:"BrtBeginTimelineStyleElements",f:parsenoop},2101:{n:"BrtEndTimelineStyleElements",f:parsenoop},2102:{n:"BrtDxf15",f:parsenoop},2103:{n:"BrtBeginDxfs15",f:parsenoop},2104:{n:"brtEndDxfs15",f:parsenoop},2105:{n:"BrtSlicerCacheHideItemsWithNoData",f:parsenoop},2106:{n:"BrtBeginItemUniqueNames",f:parsenoop},2107:{n:"BrtEndItemUniqueNames",f:parsenoop},2108:{n:"BrtItemUniqueName",f:parsenoop},2109:{n:"BrtBeginExtConn15",f:parsenoop},2110:{n:"BrtEndExtConn15",f:parsenoop},2111:{n:"BrtBeginOledbPr15",f:parsenoop},2112:{n:"BrtEndOledbPr15",f:parsenoop},2113:{n:"BrtBeginDataFeedPr15",f:parsenoop},2114:{n:"BrtEndDataFeedPr15",f:parsenoop},2115:{n:"BrtTextPr15",f:parsenoop},2116:{n:"BrtRangePr15",f:parsenoop},2117:{n:"BrtDbCommand15",f:parsenoop},2118:{n:"BrtBeginDbTables15",f:parsenoop},2119:{n:"BrtEndDbTables15",f:parsenoop},2120:{n:"BrtDbTable15",f:parsenoop},2121:{n:"BrtBeginDataModel",f:parsenoop},2122:{n:"BrtEndDataModel",f:parsenoop},2123:{n:"BrtBeginModelTables",f:parsenoop},2124:{n:"BrtEndModelTables",f:parsenoop},2125:{n:"BrtModelTable",f:parsenoop},2126:{n:"BrtBeginModelRelationships",f:parsenoop},2127:{n:"BrtEndModelRelationships",f:parsenoop},2128:{n:"BrtModelRelationship",f:parsenoop},2129:{n:"BrtBeginECTxtWiz15",f:parsenoop},2130:{n:"BrtEndECTxtWiz15",f:parsenoop},2131:{n:"BrtBeginECTWFldInfoLst15",f:parsenoop},2132:{n:"BrtEndECTWFldInfoLst15",f:parsenoop},2133:{n:"BrtBeginECTWFldInfo15",f:parsenoop},2134:{n:"BrtFieldListActiveItem",f:parsenoop},2135:{n:"BrtPivotCacheIdVersion",f:parsenoop},2136:{n:"BrtSXDI15",f:parsenoop},65535:{n:"",f:parsenoop}}; +function fixopts(opts){var defaults=[["cellNF",false],["cellHTML",true],["cellFormula",true],["sheetStubs",false],["sheetRows",0,"n"],["bookDeps",false],["bookSheets",false],["bookProps",false],["bookFiles",false],["bookVBA",false],["WTF",false]];defaults.forEach(function(d){if(typeof opts[d[0]]==="undefined")opts[d[0]]=d[1];if(d[2]==="n")opts[d[0]]=Number(opts[d[0]])})}function parseZip(zip,opts){opts=opts||{};fixopts(opts);reset_cp();var entries=Object.keys(zip.files);var keys=entries.filter(function(x){return x.substr(-1)!="/"}).sort();var dir=parseCT(getzipdata(zip,"[Content_Types].xml"),opts);var xlsb=false;var sheets,binname;if(dir.workbooks.length===0){binname="xl/workbook.xml";if(getzipdata(zip,binname,true))dir.workbooks.push(binname)}if(dir.workbooks.length===0){binname="xl/workbook.bin";if(!getzipfile(zip,binname,true))throw new Error("Could not find workbook");dir.workbooks.push(binname);xlsb=true}if(!opts.bookSheets&&!opts.bookProps){strs={};if(dir.sst)strs=parse_sst(getzipdata(zip,dir.sst.replace(/^\//,"")),dir.sst,opts);styles={};if(dir.style)styles=parse_sty(getzipdata(zip,dir.style.replace(/^\//,"")),dir.style,opts)}var wb=parse_wb(getzipdata(zip,dir.workbooks[0].replace(/^\//,"")),dir.workbooks[0],opts);var props={},propdata="";try{propdata=dir.coreprops.length!==0?getzipdata(zip,dir.coreprops[0].replace(/^\//,"")):"";propdata+=dir.extprops.length!==0?getzipdata(zip,dir.extprops[0].replace(/^\//,"")):"";props=propdata!==""?parseProps(propdata):{}}catch(e){}var custprops={};if(!opts.bookSheets||opts.bookProps){if(dir.custprops.length!==0){propdata=getzipdata(zip,dir.custprops[0].replace(/^\//,""),true);if(propdata)custprops=parseCustomProps(propdata)}}var out={};if(opts.bookSheets||opts.bookProps){if(props.Worksheets&&props.SheetNames.length>0)sheets=props.SheetNames;else if(wb.Sheets)sheets=wb.Sheets.map(function(x){return x.name});if(opts.bookProps){out.Props=props;out.Custprops=custprops}if(typeof sheets!=="undefined")out.SheetNames=sheets;if(opts.bookSheets?out.SheetNames:opts.bookProps)return out}sheets={};var deps={};if(opts.bookDeps&&dir.calcchain)deps=parse_cc(getzipdata(zip,dir.calcchain.replace(/^\//,"")),dir.calcchain,opts);var i=0;var sheetRels={};var path,relsPath;if(!props.Worksheets){var wbsheets=wb.Sheets;props.Worksheets=wbsheets.length;props.SheetNames=[];for(var j=0;j!=wbsheets.length;++j){props.SheetNames[j]=wbsheets[j].name}}var nmode=getzipdata(zip,"xl/worksheets/sheet.xml",true)?1:0;for(i=0;i!=props.Worksheets;++i){try{path="xl/worksheets/sheet"+(i+1-nmode)+(xlsb?".bin":".xml");path=path.replace(/sheet0\./,"sheet.");relsPath=path.replace(/^(.*)(\/)([^\/]*)$/,"$1/_rels/$3.rels");sheets[props.SheetNames[i]]=parse_ws(getzipdata(zip,path),path,opts);sheetRels[props.SheetNames[i]]=parseRels(getzipdata(zip,relsPath,true),path)}catch(e){if(opts.WTF)throw e}}if(dir.comments)parse_comments(zip,dir.comments,sheets,sheetRels,opts);out={Directory:dir,Workbook:wb,Props:props,Custprops:custprops,Deps:deps,Sheets:sheets,SheetNames:props.SheetNames,Strings:strs,Styles:styles};if(opts.bookFiles){out.keys=keys;out.files=zip.files}if(opts.bookVBA){if(dir.vba.length>0)out.vbaraw=getzipdata(zip,dir.vba[0],true);else if(dir.defaults.bin==="application/vnd.ms-office.vbaProject")out.vbaraw=getzipdata(zip,"xl/vbaProject.bin",true)}return out}function readSync(data,options){var zip,d=data;var o=options||{};switch(o.type||"base64"){case"file":if(typeof Buffer!=="undefined"){zip=new jszip(d=_fs.readFileSync(data));break}d=_fs.readFileSync(data).toString("base64");case"base64":zip=new jszip(d,{base64:true});break;case"binary":zip=new jszip(d,{base64:false});break}return parseZip(zip,o)}function readFileSync(data,options){var o=options||{};o.type="file";return readSync(data,o)}XLSX.read=readSync;XLSX.readFile=readFileSync;XLSX.parseZip=parseZip;return this})(XLSX);var _chr=function(c){return String.fromCharCode(c)};function encode_col(col){var s="";for(++col;col;col=Math.floor((col-1)/26))s=_chr((col-1)%26+65)+s;return s}function encode_row(row){return""+(row+1)}function encode_cell(cell){return encode_col(cell.c)+encode_row(cell.r)}function decode_col(c){var d=0,i=0;for(;i!==c.length;++i)d=26*d+c.charCodeAt(i)-64;return d-1}function decode_row(rowstr){return Number(rowstr)-1}function split_cell(cstr){return cstr.replace(/(\$?[A-Z]*)(\$?[0-9]*)/,"$1,$2").split(",")}function decode_cell(cstr){var splt=split_cell(cstr);return{c:decode_col(splt[0]),r:decode_row(splt[1])}}function decode_range(range){var x=range.split(":").map(decode_cell);return{s:x[0],e:x[x.length-1]}}function encode_range(range){return encode_cell(range.s)+":"+encode_cell(range.e)}function sheet_to_row_object_array(sheet,opts){var val,row,r,hdr={},isempty,R,C;var out=[];opts=opts||{};if(!sheet||!sheet["!ref"])return out;r=XLSX.utils.decode_range(sheet["!ref"]);for(R=r.s.r,C=r.s.c;C<=r.e.c;++C){val=sheet[encode_cell({c:C,r:R})];if(!val)continue;if(val.w)hdr[C]=val.w;else switch(val.t){case"s":case"str":hdr[C]=val.v;break;case"n":hdr[C]=val.v;break}}for(R=r.s.r+1;R<=r.e.r;++R){isempty=true;row=Object.create({__rowNum__:R});for(C=r.s.c;C<=r.e.c;++C){val=sheet[encode_cell({c:C,r:R})];if(!val||!val.t)continue;if(typeof val.w!=="undefined"&&!opts.raw){row[hdr[C]]=val.w;isempty=false}else switch(val.t){case"s":case"str":case"b":case"n":if(typeof val.v!=="undefined"){row[hdr[C]]=val.v;isempty=false}break;case"e":break;default:throw"unrecognized type "+val.t}}if(!isempty)out.push(row)}return out}function sheet_to_csv(sheet,opts){var stringify=function stringify(val){if(!val.t)return"";if(typeof val.w!=="undefined")return val.w;switch(val.t){case"n":return String(val.v);case"s":case"str":return typeof val.v!=="undefined"?val.v:"";case"b":return val.v?"TRUE":"FALSE";case"e":return val.v;default:throw"unrecognized type "+val.t}};var out=[],txt="";opts=opts||{};if(!sheet||!sheet["!ref"])return"";var r=XLSX.utils.decode_range(sheet["!ref"]);var fs=opts.FS||",",rs=opts.RS||"\n";for(var R=r.s.r;R<=r.e.r;++R){var row=[];for(var C=r.s.c;C<=r.e.c;++C){var val=sheet[XLSX.utils.encode_cell({c:C,r:R})];if(!val){row.push("");continue}txt=String(stringify(val));if(txt.indexOf(fs)!==-1||txt.indexOf(rs)!==-1||txt.indexOf('"')!==-1)txt='"'+txt.replace(/"/g,'""')+'"';row.push(txt)}out.push(row.join(fs))}return out.join(rs)+(out.length?rs:"")}var make_csv=sheet_to_csv;function get_formulae(ws){var cmds=[];for(var y in ws)if(y[0]!=="!"&&ws.hasOwnProperty(y)){var x=ws[y];var val="";if(x.f)val=x.f;else if(typeof x.w!=="undefined")val="'"+x.w;else if(typeof x.v==="undefined")continue;else val=x.v;cmds.push(y+"="+val)}return cmds}XLSX.utils={encode_col:encode_col,encode_row:encode_row,encode_cell:encode_cell,encode_range:encode_range,decode_col:decode_col,decode_row:decode_row,split_cell:split_cell,decode_cell:decode_cell,decode_range:decode_range,sheet_to_csv:sheet_to_csv,make_csv:sheet_to_csv,get_formulae:get_formulae,sheet_to_row_object_array:sheet_to_row_object_array};if(typeof require!=="undefined"&&typeof exports!=="undefined"){exports.read=XLSX.read;exports.readFile=XLSX.readFile;exports.utils=XLSX.utils;exports.version=XLSX.version} //# sourceMappingURL=dist/xlsx.min.map \ No newline at end of file diff --git a/dist/xlsx.min.map b/dist/xlsx.min.map index eeeebf5..cc48c6f 100644 --- a/dist/xlsx.min.map +++ b/dist/xlsx.min.map @@ -1 +1 @@ -{"version":3,"file":"dist/xlsx.min.js","sources":["xlsx.js"],"names":["SSF","make_ssf","_strrev","x","String","split","reverse","join","fill","c","l","Array","pad","v","d","t","length","rpad","version","opts_fmt","fixopts","o","y","undefined","opts","date1904","output","mode","table_fmt",1,2,3,4,9,10,11,12,13,14,15,16,17,18,19,20,21,22,37,38,39,40,45,46,47,48,49,56,65535,"days","months","frac","D","mixed","sgn","B","P_2","P_1","P","Q_2","Q_1","Q","A","Math","floor","q","general_fmt","V","toPrecision","pow","toFixed","substr","replace","toExponential","Error","_general","parse_date_code","date","time","dow","dout","out","T","u","Date","setDate","getDate","getFullYear","getMonth","getDay","m","S","M","H","write_date","type","fmt","val","ss","round","commaify","s","write_num","match","ffmt","mul","$$","$1","$2","indexOf","idx","period","ee","Number","fakee","$3","r","rr","ff","aval","sign","den","rnd","base","myn","myd","min","max","split_fmt","in_str","i","j","push","slice","_split","eval_fmt","flen","lst","dt","hr","toLowerCase","w","bt","jj","map","_eval","choose_fmt","table","chk","found","thresh","m1","m2","format","f","_choose","_table","load","get_table","load_table","tbl","XLSX","current_codepage","current_cptable","cptable","module","require","reset_cp","_getchar","fromCharCode","getdata","data","name","charCodeAt","asNodeBuffer","Buffer","asBinary","_data","getContent","prototype","call","getzipfile","zip","file","files","getzipdata","safe","e","_fs","jszip","JSZip","exports","attregexg","attregex","parsexmltag","tag","words","z","0","evert","obj","Object","keys","forEach","k","hasOwnProperty","encodings",""","'",">","<","&","rencoding","rencstr","unescapexml","text","RegExp","_chr","parseInt","escapexml","parsexmlbool","value","utf8read","orig","c1","c2","c3","matchtag","g","parseVector","h","matches","baseType","size","res","isval","readIEEE754","buf","isLE","nl","ml","el","eMax","eBias","bits","NaN","Infinity","__toBuffer","hexlify","this","toString","bufs","concat","__readUInt8","b","readUInt8","__readUInt16LE","readUInt16LE","__readInt16LE","__readUInt32LE","readUInt32LE","__readInt32LE","readInt32LE","__readDoubleLE","readDoubleLE","ReadShift","oo","vv","loc","prep_blob","blob","pos","read_shift","bind","read","parsenoop","recordhopper","cb","tmpbyte","cntbyte","RT","R","RecordEnum","parse_StrRun","ich","ifnt","parse_RichStr","start","flags","fRichStr","fExtStr","str","parse_XLWideString","rgsStrRun","dwSizeStrRun","JSON","stringify","parse_Cell","col","iStyleRef","fPhShow","parse_CodeName","parse_RelID","parse_XLNullableWideString","parse_RkNumber","fX100","fInt","RK","parse_UncheckedRfX","cell","cchCharacters","parse_Xnum","BErr",7,23,29,36,42,43,255,"RBErr","parse_BrtColor","fValidRGB","xColorType","index","nTintAndShade","bRed","bGreen","bBlue","bAlpha","parse_FontFlags","fItalic","fStrikeout","fOutline","fShadow","fCondense","fExtend","parse_rs","tregex","rpregex","parse_rpr","rpr","intro","outro","font","sz","strike","rgb","color","family","style","parse_r","terms","rs","parse_si","html","cellHTML","parse_sst_xml","sst","filter","Count","count","Unique","uniqueCount","parse_BrtBeginSst","parse_sst_bin","pass","n","WTF","styles","parseNumFmts","NumberFmt","formatCode","numFmtId","parseCXfs","CellXf","parse_sty_xml","parse_BrtFmt","ifmt","stFmtCode","parse_BrtFont","dyHeight","grbit","bls","sss","uls","bFamily","bCharSet","brtColor","bFontScheme","Bold","Italic","Strikeout","Outline","Shadow","Condense","Extend","Sub","Sup","parse_BrtXF","ixfeParent","ixfe","parse_sty_bin","state","ct2type","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml","application/vnd.ms-excel.sheet.macroEnabled.main+xml","application/vnd.ms-excel.sheet.binary.macroEnabled.main","application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml","application/vnd.ms-excel.worksheet","application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml","application/vnd.ms-excel.styles","application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml","application/vnd.ms-excel.sharedStrings","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml","application/vnd.ms-excel.calcChain","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml","application/vnd.ms-excel.comments","application/vnd.openxmlformats-package.core-properties+xml","application/vnd.openxmlformats-officedocument.extended-properties+xml","application/vnd.openxmlformats-officedocument.custom-properties+xml","application/vnd.openxmlformats-officedocument.theme+xml","foo","XMLNS_CT","parseProps","p","Company","strings","bools","xtra","xtracp","xtradc","xtradcterms","cur","HeadingPairs","TitlesOfParts","widx","Worksheets","parts","SheetNames","Creator","LastModifiedBy","CreatedDate","ModifiedDate","parseCustomProps","toks","substring","parseFloat","console","warn","ctext","parseCT","ct","workbooks","sheets","calcchains","themes","coreprops","extprops","custprops","strs","comments","xmlns","Extension","ContentType","PartName","calcchain","parseRels","currentFilePath","charAt","rels","resolveRelativePathIntoAbsolute","to","toksFrom","pop","toksTo","reversed","tokTo","shift","rel","Type","Target","Id","TargetMode","canonictarget","parse_cc_xml","parse_BrtCalcChainItem$","encode_cell","a","parse_cc_bin","parse_comments_xml","authors","commentList","trim","comment","author","authorId","ref","guid","decode_cell","sheetRows","textMatch","rt","parse_BrtBeginComment","iauthor","rfx","parse_BrtCommentAuthor","parse_BrtCommentText","parse_comments_bin","parse_comments","dirComments","sheetRels","canonicalpath","parse_cmnt","sheetNames","sheetName","insertCommentsIntoSheet","sheet","range","decode_range","thisCell","encoded","encode_range","parse_CellParsedFormula","cce","_ssfopts","parse_ws_xml","mergecells","merges","exec","refguess","sidx","row","cells","cref","sheetStubs","is","epoch","parse","UTC","raw","fmtid","cf","cellNF","tmpref","parse_BrtRowHdr","parse_BrtWsDim","parse_BrtWsProp","parse_BrtCellBlank","parse_BrtCellBool","fBool","parse_BrtCellError","parse_BrtCellIsst","isst","parse_BrtCellReal","parse_BrtCellRk","parse_BrtCellSt","parse_BrtFmlaBool","cellFormula","formula","parse_BrtFmlaError","parse_BrtFmlaNum","parse_BrtFmlaString","parse_BrtMergeCell","parse_ws_bin","end","WBPropsDef","allowRefreshQuery","autoCompressPictures","backupFile","checkCompatibility","codeName","dateCompatibility","filterPrivacy","hidePivotFieldList","promptedSolutions","publishItems","refreshAllConnections","saveExternalLinkValues","showBorderUnselectedTables","showInkAnnotation","showObjects","showPivotChartFilter","WBViewDef","activeTab","autoFilterDateGrouping","firstSheet","minimized","showHorizontalScroll","showSheetTabs","showVerticalScroll","tabRatio","visibility","SheetDef","CalcPrDef","calcCompleted","calcMode","calcOnSave","concurrentCalc","fullCalcOnLoad","fullPrecision","iterate","iterateCount","iterateDelta","refMode","CustomWBViewDef","autoUpdate","changesSavedWin","includeHiddenRowCol","includePrintSettings","maximized","onlySync","personalView","showComments","showFormulaBar","showStatusbar","xWindow","yWindow","XMLNS_WB","parse_wb_xml","wb","AppVersion","WBProps","WBView","Sheets","CalcPr","parse_BrtBundleSh","hsState","iTabID","strRelID","parse_wb_bin","parse_wb","parse_ws","parse_sty","parse_sst","parse_cc",5,6,8,24,25,26,27,28,30,31,32,33,34,35,44,50,51,52,53,54,55,57,58,59,60,62,63,64,65,66,67,68,69,70,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,357,358,359,360,361,362,363,364,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,564,565,566,569,570,572,573,574,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,671,672,673,674,675,676,677,678,679,680,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1061,1062,1063,1066,1067,1068,1069,1070,1071,1072,1073,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1177,1178,1180,1181,1182,2048,2049,2050,2051,2052,2053,2054,2055,2056,2057,2058,2060,2067,2068,2069,2070,2071,2072,2073,2075,2076,2077,2078,2079,2080,2081,2082,2083,2084,2085,2086,2087,2088,2089,2090,2091,2092,2093,2094,2095,2096,2097,2098,2099,2100,2101,2102,2103,2104,2105,2106,2107,2108,2109,2110,2111,2112,2113,2114,2115,2116,2117,2118,2119,2120,2121,2122,2123,2124,2125,2126,2127,2128,2129,2130,2131,2132,2133,2134,2135,2136,"defaults","parseZip","entries","sort","dir","xlsb","binname","bookSheets","bookProps","props","propdata","Props","Custprops","deps","bookDeps","path","relsPath","wbsheets","nmode","Directory","Workbook","Deps","Strings","Styles","bookFiles","readSync","options","readFileSync","base64","readFile","encode_col","encode_row","decode_col","decode_row","rowstr","split_cell","cstr","splt","sheet_to_row_object_array","hdr","isempty","C","utils","create","__rowNum__","sheet_to_csv","txt","fs","FS","RS","make_csv","get_formulae","ws","cmds"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"dist/xlsx.min.js","sources":["xlsx.js"],"names":["SSF","make_ssf","_strrev","x","String","split","reverse","join","fill","c","l","Array","pad","v","d","t","length","rpad","version","opts_fmt","fixopts","o","y","undefined","opts","date1904","output","table_fmt",1,2,3,4,9,10,11,12,13,14,15,16,17,18,19,20,21,22,37,38,39,40,45,46,47,48,49,56,65535,"days","months","frac","D","mixed","sgn","B","P_2","P_1","P","Q_2","Q_1","Q","A","Math","floor","q","general_fmt","V","toPrecision","pow","toFixed","substr","replace","toExponential","Error","_general","fix_hijri","date","parse_date_code","b2","time","dow","dout","out","T","u","Date","setDate","getDate","getFullYear","getMonth","getDay","m","S","M","H","write_date","type","fmt","val","ss","round","commaify","s","write_num","match","ffmt","mul","$$","$1","$2","indexOf","idx","period","ee","Number","fakee","$3","r","rr","ff","aval","sign","den","rnd","base","myn","myd","min","max","split_fmt","in_str","i","j","push","slice","_split","eval_fmt","flen","lst","dt","hr","toLowerCase","w","bt","jj","map","_eval","choose_fmt","table","chk","found","thresh","m1","m2","format","f","_choose","_table","load","get_table","load_table","tbl","XLSX","current_codepage","current_cptable","cptable","module","require","reset_cp","_getchar","fromCharCode","getdata","data","name","charCodeAt","asNodeBuffer","Buffer","asBinary","_data","getContent","prototype","call","getzipfile","zip","file","files","getzipdata","safe","e","_fs","jszip","JSZip","exports","attregexg","attregex","parsexmltag","tag","words","z","0","evert","obj","Object","keys","forEach","k","hasOwnProperty","encodings",""","'",">","<","&","rencoding","rencstr","unescapexml","text","RegExp","_chr","parseInt","escapexml","parsexmlbool","value","utf8read","orig","c1","c2","c3","matchtag","g","parseVector","h","matches","baseType","size","res","isval","readIEEE754","buf","isLE","nl","ml","el","eMax","eBias","bits","NaN","Infinity","__toBuffer","hexlify","this","toString","bufs","concat","__readUInt8","b","readUInt8","__readUInt16LE","readUInt16LE","__readInt16LE","__readUInt32LE","readUInt32LE","__readInt32LE","readInt32LE","__readDoubleLE","readDoubleLE","ReadShift","oo","vv","loc","prep_blob","blob","pos","read_shift","bind","read","parsenoop","recordhopper","cb","tmpbyte","cntbyte","RT","R","RecordEnum","parse_StrRun","ich","ifnt","parse_RichStr","start","flags","fRichStr","fExtStr","str","parse_XLWideString","rgsStrRun","dwSizeStrRun","JSON","stringify","parse_Cell","col","iStyleRef","fPhShow","parse_CodeName","parse_RelID","parse_XLNullableWideString","parse_RkNumber","fX100","fInt","RK","parse_UncheckedRfX","cell","cchCharacters","parse_Xnum","BErr",7,23,29,36,42,43,255,"RBErr","parse_BrtColor","fValidRGB","xColorType","index","nTintAndShade","bRed","bGreen","bBlue","bAlpha","parse_FontFlags","fItalic","fStrikeout","fOutline","fShadow","fCondense","fExtend","parse_rs","tregex","rpregex","parse_rpr","rpr","intro","outro","font","sz","strike","rgb","color","family","style","parse_r","terms","rs","parse_si","html","cellHTML","parse_sst_xml","sst","filter","Count","count","Unique","uniqueCount","parse_BrtBeginSst","parse_sst_bin","pass","n","WTF","styles","parseNumFmts","NumberFmt","formatCode","numFmtId","parseCXfs","CellXf","parse_sty_xml","parse_BrtFmt","ifmt","stFmtCode","parse_BrtFont","dyHeight","grbit","bls","sss","uls","bFamily","bCharSet","brtColor","bFontScheme","Bold","Italic","Strikeout","Outline","Shadow","Condense","Extend","Sub","Sup","parse_BrtXF","ixfeParent","ixfe","parse_sty_bin","state","ct2type","application/vnd.ms-excel.main","application/vnd.ms-excel.sheet.macroEnabled.main+xml","application/vnd.ms-excel.sheet.binary.macroEnabled.main","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml","application/vnd.ms-excel.worksheet","application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml","application/vnd.ms-excel.binIndexWs","application/vnd.ms-excel.chartsheet","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml","application/vnd.ms-excel.dialogsheet","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml","application/vnd.ms-excel.macrosheet","application/vnd.ms-excel.macrosheet+xml","application/vnd.ms-excel.intlmacrosheet","application/vnd.ms-excel.binIndexMs","application/vnd.ms-excel.sharedStrings","application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml","application/vnd.ms-excel.styles","application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml","application/vnd.openxmlformats-package.core-properties+xml","application/vnd.openxmlformats-officedocument.custom-properties+xml","application/vnd.openxmlformats-officedocument.extended-properties+xml","application/vnd.openxmlformats-officedocument.customXmlProperties+xml","application/vnd.ms-excel.comments","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml","application/vnd.ms-excel.pivotTable","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml","application/vnd.ms-excel.calcChain","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings","application/vnd.ms-office.activeX","application/vnd.ms-office.activeX+xml","application/vnd.ms-excel.attachedToolbars","application/vnd.ms-excel.connections","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml","application/vnd.ms-excel.externalLink","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml","application/vnd.ms-excel.sheetMetadata","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml","application/vnd.ms-excel.pivotCacheDefinition","application/vnd.ms-excel.pivotCacheRecords","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml","application/vnd.ms-excel.queryTable","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml","application/vnd.ms-excel.userNames","application/vnd.ms-excel.revisionHeaders","application/vnd.ms-excel.revisionLog","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml","application/vnd.ms-excel.tableSingleCells","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml","application/vnd.ms-excel.slicer","application/vnd.ms-excel.slicerCache","application/vnd.ms-excel.slicer+xml","application/vnd.ms-excel.slicerCache+xml","application/vnd.ms-excel.wsSortMap","application/vnd.ms-excel.table","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml","application/vnd.openxmlformats-officedocument.theme+xml","application/vnd.ms-excel.Timeline+xml","application/vnd.ms-excel.TimelineCache+xml","application/vnd.ms-office.vbaProject","application/vnd.ms-office.vbaProjectSignature","application/vnd.ms-office.volatileDependencies","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml","application/vnd.ms-excel.controlproperties+xml","application/vnd.openxmlformats-officedocument.model+data","application/vnd.ms-excel.Survey+xml","application/vnd.openxmlformats-officedocument.drawing+xml","application/vnd.openxmlformats-officedocument.drawingml.chart+xml","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml","application/vnd.openxmlformats-officedocument.vmlDrawing","application/vnd.openxmlformats-package.relationships+xml","application/vnd.openxmlformats-officedocument.oleObject","foo","XMLNS_CT","parseProps","p","Company","strings","bools","xtra","xtracp","xtradc","xtradcterms","cur","HeadingPairs","TitlesOfParts","widx","Worksheets","parts","SheetNames","Creator","LastModifiedBy","CreatedDate","ModifiedDate","parseCustomProps","toks","substring","parseFloat","console","warn","ctext","parseCT","ct","workbooks","sheets","calcchains","themes","coreprops","extprops","custprops","strs","comments","vba","TODO","xmlns","Extension","ContentType","PartName","error","calcchain","defaults","parseRels","currentFilePath","charAt","rels","resolveRelativePathIntoAbsolute","to","toksFrom","pop","toksTo","reversed","tokTo","shift","rel","Type","Target","Id","TargetMode","canonictarget","parse_cc_xml","parse_BrtCalcChainItem$","encode_cell","a","parse_cc_bin","parse_comments_xml","authors","commentList","trim","comment","author","authorId","ref","guid","decode_cell","sheetRows","textMatch","rt","parse_BrtBeginComment","iauthor","rfx","parse_BrtCommentAuthor","parse_BrtCommentText","parse_comments_bin","parse_comments","dirComments","sheetRels","canonicalpath","parse_cmnt","sheetNames","sheetName","insertCommentsIntoSheet","sheet","range","decode_range","thisCell","encoded","encode_range","parse_CellParsedFormula","cce","_ssfopts","parse_ws_xml","mergecells","merges","exec","refguess","sidx","row","cells","cref","sheetStubs","is","epoch","parse","UTC","raw","fmtid","cf","cellNF","tmpref","parse_BrtRowHdr","parse_BrtWsDim","parse_BrtWsProp","parse_BrtCellBlank","parse_BrtCellBool","fBool","parse_BrtCellError","parse_BrtCellIsst","isst","parse_BrtCellReal","parse_BrtCellRk","parse_BrtCellSt","parse_BrtFmlaBool","cellFormula","formula","parse_BrtFmlaError","parse_BrtFmlaNum","parse_BrtFmlaString","parse_BrtMergeCell","parse_ws_bin","end","WBPropsDef","allowRefreshQuery","autoCompressPictures","backupFile","checkCompatibility","codeName","dateCompatibility","filterPrivacy","hidePivotFieldList","promptedSolutions","publishItems","refreshAllConnections","saveExternalLinkValues","showBorderUnselectedTables","showInkAnnotation","showObjects","showPivotChartFilter","WBViewDef","activeTab","autoFilterDateGrouping","firstSheet","minimized","showHorizontalScroll","showSheetTabs","showVerticalScroll","tabRatio","visibility","SheetDef","CalcPrDef","calcCompleted","calcMode","calcOnSave","concurrentCalc","fullCalcOnLoad","fullPrecision","iterate","iterateCount","iterateDelta","refMode","CustomWBViewDef","autoUpdate","changesSavedWin","includeHiddenRowCol","includePrintSettings","maximized","onlySync","personalView","showComments","showFormulaBar","showStatusbar","xWindow","yWindow","XMLNS_WB","parse_wb_xml","wb","AppVersion","WBProps","WBView","Sheets","CalcPr","parse_BrtBundleSh","hsState","iTabID","strRelID","parse_wb_bin","parse_wb","parse_ws","parse_sty","parse_sst","parse_cc",5,6,8,24,25,26,27,28,30,31,32,33,34,35,44,50,51,52,53,54,55,57,58,59,60,62,63,64,65,66,67,68,69,70,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,357,358,359,360,361,362,363,364,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,564,565,566,569,570,572,573,574,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,671,672,673,674,675,676,677,678,679,680,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1061,1062,1063,1066,1067,1068,1069,1070,1071,1072,1073,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1177,1178,1180,1181,1182,2048,2049,2050,2051,2052,2053,2054,2055,2056,2057,2058,2060,2067,2068,2069,2070,2071,2072,2073,2075,2076,2077,2078,2079,2080,2081,2082,2083,2084,2085,2086,2087,2088,2089,2090,2091,2092,2093,2094,2095,2096,2097,2098,2099,2100,2101,2102,2103,2104,2105,2106,2107,2108,2109,2110,2111,2112,2113,2114,2115,2116,2117,2118,2119,2120,2121,2122,2123,2124,2125,2126,2127,2128,2129,2130,2131,2132,2133,2134,2135,2136,"parseZip","entries","sort","dir","xlsb","binname","bookSheets","bookProps","props","propdata","Props","Custprops","deps","bookDeps","path","relsPath","wbsheets","nmode","Directory","Workbook","Deps","Strings","Styles","bookFiles","bookVBA","vbaraw","bin","readSync","options","readFileSync","base64","readFile","encode_col","encode_row","decode_col","decode_row","rowstr","split_cell","cstr","splt","sheet_to_row_object_array","hdr","isempty","C","utils","create","__rowNum__","sheet_to_csv","txt","fs","FS","RS","make_csv","get_formulae","ws","cmds"],"mappings":";AAKA,GAAIA,OACJ,IAAIC,UAAW,SAASD,KACxB,GAAIE,SAAU,SAASC,GAAK,MAAOC,QAAOD,GAAGE,MAAM,IAAIC,UAAUC,KAAK,IACtE,SAASC,MAAKC,EAAEC,GAAK,MAAO,IAAIC,OAAMD,EAAE,GAAGH,KAAKE,GAChD,QAASG,KAAIC,EAAEC,EAAEL,GAAG,GAAIM,GAAEX,OAAOS,EAAG,OAAOE,GAAEC,QAAQF,EAAEC,EAAGP,KAAKC,GAAG,EAAEK,EAAEC,EAAEC,QAAQD,EAChF,QAASE,MAAKJ,EAAEC,EAAEL,GAAG,GAAIM,GAAEX,OAAOS,EAAG,OAAOE,GAAEC,QAAQF,EAAEC,EAAGA,EAAEP,KAAKC,GAAG,EAAEK,EAAEC,EAAEC,QAC3EhB,IAAIkB,QAAU,OAEd,IAAIC,YACJ,SAASC,SAAQC,GAAG,IAAI,GAAIC,KAAKH,UAAU,GAAGE,EAAEC,KAAKC,UAAWF,EAAEC,GAAGH,SAASG,GAC9EtB,IAAIwB,KAAOL,QACXA,UAASM,SAAW,CACpBN,UAASO,OAAS,EAClB,IAAIC,YACH,EAAI,UACJC,EAAI,IACJC,EAAI,OACJC,EAAI,QACJC,EAAI,WACJC,EAAI,KACJC,GAAI,QACJC,GAAI,WACJC,GAAI,QACJC,GAAI,UACJC,GAAI,SACJC,GAAI,WACJC,GAAI,QACJC,GAAI,SACJC,GAAI,aACJC,GAAI,gBACJC,GAAI,OACJC,GAAI,UACJC,GAAI,cACJC,GAAI,iBACJC,GAAI,sBACJC,GAAI,sBACJC,GAAI,2BACJC,GAAI,QACJC,GAAI,YACJC,GAAI,SACJC,GAAI,WACJC,GAAI,IACJC,GAAI,2BACJC,MAAO,UAER,IAAIC,QACF,MAAO,WACP,MAAO,WACP,MAAO,YACP,MAAO,cACP,MAAO,aACP,MAAO,WACP,MAAO,YAET,IAAIC,UACF,IAAK,MAAO,YACZ,IAAK,MAAO,aACZ,IAAK,MAAO,UACZ,IAAK,MAAO,UACZ,IAAK,MAAO,QACZ,IAAK,MAAO,SACZ,IAAK,MAAO,SACZ,IAAK,MAAO,WACZ,IAAK,MAAO,cACZ,IAAK,MAAO,YACZ,IAAK,MAAO,aACZ,IAAK,MAAO,YAEd,IAAIC,MAAO,QAASA,MAAKxD,EAAGyD,EAAGC,OAC9B,GAAIC,KAAM3D,EAAI,GAAK,EAAI,CACvB,IAAI4D,GAAI5D,EAAI2D,GACZ,IAAIE,KAAM,EAAGC,IAAM,EAAGC,EAAI,CAC1B,IAAIC,KAAM,EAAGC,IAAM,EAAGC,EAAI,CAC1B,IAAIC,GAAIC,KAAKC,MAAMT,EACnB,OAAMK,IAAMR,EAAG,CACdU,EAAIC,KAAKC,MAAMT,EACfG,GAAII,EAAIL,IAAMD,GACdK,GAAIC,EAAIF,IAAMD,GACd,IAAIJ,EAAIO,EAAK,MAAc,KAC3BP,GAAI,GAAKA,EAAIO,EACbN,KAAMC,GAAKA,KAAMC,CACjBC,KAAMC,GAAKA,KAAMC,EAElB,GAAGA,EAAIT,EAAG,CAAES,EAAID,GAAKF,GAAID,IACzB,GAAGI,EAAIT,EAAG,CAAES,EAAIF,GAAKD,GAAIF,IACzB,IAAIH,MAAO,OAAQ,EAAGC,IAAMI,EAAGG,EAC/B,IAAGA,IAAI,EAAG,KAAM,qBAAqBH,EAAE,IAAID,IAAI,IAAID,IAAI,IAAIK,EAAE,IAAID,IAAI,IAAID,GACzE,IAAIM,GAAIF,KAAKC,MAAMV,IAAMI,EAAEG,EAC3B,QAAQI,EAAGX,IAAII,EAAIO,EAAEJ,EAAGA,GAEzB,IAAIK,aAAc,SAAS7D,GAC1B,SAAUA,KAAM,UAAW,MAAOA,GAAI,OAAS,OAC/C,UAAUA,KAAM,SAAU,CACzB,GAAIQ,GAAGsD,EAAI9D,EAAI,GAAKA,EAAIA,CACxB,IAAG8D,GAAK,IAAOA,EAAI,EAAGtD,EAAIR,EAAE+D,YAAY,OACnC,IAAGD,GAAK,KAAQA,EAAI,GAAKtD,EAAIR,EAAE+D,YAAY,OAC3C,IAAGD,GAAK,MAASA,EAAI,IAAMtD,EAAIR,EAAE+D,YAAY,OAC7C,IAAGD,GAAK,MAAUA,EAAI,KAAOtD,EAAIR,EAAE+D,YAAY,OAC/C,IAAGD,GAAKJ,KAAKM,IAAI,GAAG,KAAOF,EAAIJ,KAAKM,IAAI,GAAG,IAAKxD,EAAIR,EAAEiE,QAAQ,IAAIC,OAAO,EAAE,QAC3E,IAAGJ,EAAIJ,KAAKM,IAAI,IAAI,IAAMF,EAAIJ,KAAKM,IAAI,GAAG,IAAK,CACnDxD,EAAIR,EAAEiE,QAAQ,IAAIE,QAAQ,qBAAqB,MAAMA,QAAQ,MAAM,GACnE,IAAG3D,EAAEL,OAAS,IAAIH,EAAE,EAAE,EAAE,GAAIQ,EAAIR,EAAE+D,YAAY,GAC9C,IAAGvD,EAAEL,OAAS,IAAIH,EAAE,EAAE,EAAE,GAAIQ,EAAIR,EAAEoE,cAAc,OAE5C,CACJ5D,EAAIR,EAAEiE,QAAQ,IAAIE,QAAQ,qBAAqB,KAC9C,IAAG3D,EAAEL,OAAS,IAAMH,EAAE,EAAE,EAAE,GAAIQ,EAAIR,EAAE+D,YAAY,GAElDvD,EAAIA,EAAE2D,QAAQ,qBAAqB,OAAOA,QAAQ,QAAQ,IAC1D,OAAO3D,GAAE2D,QAAQ,IAAI,KAAKA,QAAQ,QAAQ,IAAIA,QAAQ,oBAAoB,OAAOA,QAAQ,kBAAkB,KAAK,IAAI,MAErH,SAAUnE,KAAM,SAAU,MAAOA,EACjC,MAAM,IAAIqE,OAAM,wCAA0CrE,GAE3Db,KAAImF,SAAWT,WACf,SAASU,WAAUC,KAAMhE,IACzB,GAAIiE,iBAAkB,QAASA,iBAAgBzE,EAAEW,KAAK+D,IACrD,GAAIF,MAAOd,KAAKC,MAAM3D,GAAI2E,KAAOjB,KAAKC,MAAM,OAAS3D,EAAIwE,MAAM,MAAOI,IAAI,CAC1E,IAAIC,SAASC,KAAK/B,EAAEyB,KAAMO,EAAEJ,KAAMK,EAAE,OAAOhF,EAAEwE,MAAMG,KAAOpE,SAAQI,KAAQA,SAC1E,IAAGA,KAAKC,SAAU4D,MAAQ,IAC1B,IAAGA,KAAO,QAAS,MAAO,KAC1B,IAAGM,IAAIE,EAAI,KAAO,CACjBF,IAAIE,EAAI,CACR,MAAKL,MAAQ,MAAO,CAAEA,KAAO,IAAKH,MAEnC,GAAGA,OAAS,GAAI,CAACK,KAAOH,IAAM,KAAK,GAAG,KAAO,KAAK,EAAE,GAAKE,KAAI,MACxD,IAAGJ,OAAS,EAAG,CAACK,KAAOH,IAAM,KAAK,EAAE,KAAO,KAAK,EAAE,EAAIE,KAAI,MAC1D,CACJ,GAAGJ,KAAO,KAAMA,IAEhB,IAAIvE,GAAI,GAAIgF,MAAK,KAAK,EAAE,EACxBhF,GAAEiF,QAAQjF,EAAEkF,UAAYX,KAAO,EAC/BK,OAAQ5E,EAAEmF,cAAenF,EAAEoF,WAAW,EAAEpF,EAAEkF,UAC1CP,KAAM3E,EAAEqF,QACR,IAAGd,KAAO,GAAII,KAAOA,IAAM,GAAK,CAChC,IAAGF,GAAIE,IAAML,UAAUtE,EAAG4E,MAE3BC,IAAIrE,EAAIoE,KAAK,EAAIC,KAAIS,EAAIV,KAAK,EAAIC,KAAI7E,EAAI4E,KAAK,EAC/CC,KAAIU,EAAIb,KAAO,EAAIA,MAAOjB,KAAKC,MAAMgB,KAAO,GAC5CG,KAAIW,EAAId,KAAO,EAAIA,MAAOjB,KAAKC,MAAMgB,KAAO,GAC5CG,KAAIY,EAAIf,IACRG,KAAIlB,EAAIgB,GACR,OAAOE,KAER3F,KAAIsF,gBAAkBA,eAEtB,IAAIkB,YAAa,SAASC,KAAMC,IAAKC,KACpC,GAAGA,IAAM,EAAG,MAAO,EACnB,IAAItF,GAAGuF,GAAItF,EAAIqF,IAAIrF,CACnB,QAAOmF,MACN,IAAK,IAAKnF,EAAIqF,IAAIrF,EAAI,GAEtB,KAAK,IAAK,OAAOoF,IAAI1F,QACpB,IAAK,GAAG,IAAK,GAAG,MAAOJ,KAAIU,EAAI,IAAI,EACnC,SAAS,MAAOV,KAAIU,EAAI,IAAM,GAE/B,IAAK,IAAK,OAAOoF,KAChB,IAAK,IAAK,MAAOC,KAAIP,CACrB,KAAK,KAAM,MAAOxF,KAAI+F,IAAIP,EAAE,EAC5B,KAAK,MAAO,MAAO1C,QAAOiD,IAAIP,EAAE,GAAG,EACnC,KAAK,QAAS,MAAO1C,QAAOiD,IAAIP,EAAE,GAAG,EACrC,SAAS,MAAO1C,QAAOiD,IAAIP,EAAE,GAAG,GAEjC,IAAK,IAAK,OAAOM,KAChB,IAAK,IAAK,MAAOC,KAAI7F,CACrB,KAAK,KAAM,MAAOF,KAAI+F,IAAI7F,EAAE,EAC5B,KAAK,MAAO,MAAO2C,MAAKkD,IAAIlC,GAAG,EAC/B,SAAS,MAAOhB,MAAKkD,IAAIlC,GAAG,GAE7B,IAAK,IAAK,OAAOiC,KAChB,IAAK,IAAK,MAAO,IAAGC,IAAIJ,EAAE,IAAI,EAC9B,KAAK,KAAM,MAAO3F,KAAI,GAAG+F,IAAIJ,EAAE,IAAI,GAAI,EACvC,SAAS,KAAM,oBAAsBG,IAEtC,IAAK,IAAK,OAAOA,KAChB,IAAK,IAAK,MAAOC,KAAIJ,CACrB,KAAK,KAAM,MAAO3F,KAAI+F,IAAIJ,EAAG,EAC7B,SAAS,KAAM,oBAAsBG,IAEtC,IAAK,IAAK,OAAOA,KAChB,IAAK,IAAK,MAAOC,KAAIL,CACrB,KAAK,KAAM,MAAO1F,KAAI+F,IAAIL,EAAG,EAC7B,SAAS,KAAM,sBAAwBI,IAExC,IAAK,IAAK,OAAOA,KAChB,IAAK,IAAKE,GAAGrC,KAAKsC,MAAMF,IAAIN,EAAEM,IAAId,EAAI,OAAOe,KAAM,GAAK,EAAIA,EAC5D,KAAK,KAAMA,GAAGrC,KAAKsC,MAAMF,IAAIN,EAAEM,IAAId,EAAI,IAAGe,IAAI,GAAIA,GAAG,CAAG,OAAOhG,KAAIgG,GAAG,EACtE,KAAK,OAAQA,GAAGrC,KAAKsC,MAAM,IAAIF,IAAIN,EAAEM,IAAId,GAAK,IAAGe,IAAI,IAAKA,GAAK,CAAGvF,GAAIT,IAAIgG,GAAG,EAAI,OAAOvF,GAAE0D,OAAO,EAAE,GAAG,IAAM1D,EAAE0D,OAAO,EACrH,KAAK,QAAS6B,GAAGrC,KAAKsC,MAAM,KAAKF,IAAIN,EAAEM,IAAId,GAAK,IAAGe,IAAI,IAAMA,GAAK,CAAGvF,GAAIT,IAAIgG,GAAG,EAAI,OAAOvF,GAAE0D,OAAO,EAAE,GAAG,IAAM1D,EAAE0D,OAAO,EACxH,KAAK,SAAU6B,GAAGrC,KAAKsC,MAAM,KAAMF,IAAIN,EAAEM,IAAId,GAAK,IAAGe,IAAI,IAAOA,GAAK,CAAGvF,GAAIT,IAAIgG,GAAG,EAAI,OAAOvF,GAAE0D,OAAO,EAAE,GAAG,IAAM1D,EAAE0D,OAAO,EAC3H,SAAS,KAAM,sBAAwB2B,IAExC,IAAK,IAAK,OAAOA,KAChB,IAAK,MAAO,IAAK,OAAQrF,EAAIsF,IAAI/C,EAAE,GAAG+C,IAAIJ,CAAG,MAC7C,KAAK,MAAO,IAAK,OAAQlF,GAAKsF,IAAI/C,EAAE,GAAG+C,IAAIJ,GAAG,GAAGI,IAAIL,CAAG,MACxD,KAAK,MAAO,IAAK,OAAQjF,IAAMsF,IAAI/C,EAAE,GAAG+C,IAAIJ,GAAG,GAAGI,IAAIL,GAAG,GAAG/B,KAAKsC,MAAMF,IAAIN,EAAEM,IAAId,EAAI,MACrF,SAAS,KAAM,uBAAyBa,IACvC,MAAOA,KAAI1F,SAAW,EAAIK,EAAIT,IAAIS,EAAG,EAEvC,KAAK,IAAK,CAAE,MAAOsF,KAAIrF,EAAK,OAI9B,IAAIwF,UAAW,SAASC,GAAK,MAAO7G,SAAQA,QAAQ6G,GAAG/B,QAAQ,OAAO,QAAQA,QAAQ,KAAK,IAC3F,IAAIgC,WAAY,SAASP,KAAMC,IAAKC,KACnC,GAAGF,OAAS,MAAQC,IAAIO,MAAM,YAAa,CAC1C,GAAIC,MAAOR,IAAI1B,QAAQ,OAAO,IAAIA,QAAQ,MAAM,IAAIA,QAAQ,KAAK,GACjE,IAAG2B,KAAO,EAAG,MAAOK,WAAU,IAAKE,KAAMP,IACzC,OAAO,IAAMK,UAAU,IAAKE,MAAOP,KAAO,IAE3C,GAAIQ,KAAM,EAAG9F,CACbqF,KAAMA,IAAI1B,QAAQ,KAAK,WAAamC,KAAO,OAAO,IAClD,IAAGA,MAAQ,EAAG,MAAOH,WAAUP,KAAMC,IAAKC,IAAMpC,KAAKM,IAAI,GAAG,EAAEsC,MAAQ3G,KAAK,IAAI2G,IAC/ET,KAAMA,IAAI1B,QAAQ,eAAe,SAASoC,GAAGC,GAAGC,IAAMH,IAAIG,GAAGtG,MAAQ,OAAOqG,KAC5E,IAAGF,MAAQ,EAAG,MAAOH,WAAUP,KAAMC,IAAKC,IAAMpC,KAAKM,IAAI,GAAG,EAAEsC,KAC9D,IAAGT,IAAIa,QAAQ,MAAQ,EAAG,CACzB,GAAIC,KAAMd,IAAIa,QAAQ,KAAOb,IAAIa,QAAQ,KAAO,CAChD,IAAGb,IAAIO,MAAM,eAAgB,CAC7B,GAAIQ,QAASf,IAAIa,QAAQ,IAAM,IAAGE,UAAY,EAAGA,OAAOf,IAAIa,QAAQ,IACnE,IAAIG,IAAMC,OAAOhB,IAAI1B,cAAc,GAAGF,OAAO,GAAG4B,IAAI,KAAMc,MAC1D,IAAGC,GAAK,EAAGA,IAAMD,MACjBpG,IAAKsF,IAAIpC,KAAKM,IAAI,GAAG6C,KAAK9C,YAAY4C,IAAI,GAAGC,OAAOC,IAAID,OACxD,KAAIpG,EAAE4F,MAAM,QAAS,CACpB,GAAIW,OAASD,OAAOhB,IAAI1B,cAAc,GAAGF,OAAO,GAAG4B,IAAI,IACvD,IAAGtF,EAAEkG,QAAQ,QAAU,EAAGlG,EAAIA,EAAE,GAAK,IAAMA,EAAE0D,OAAO,GAAK,MAAQ6C,MAAQvG,EAAEL,OAAO0G,QAC7ErG,IAAK,MAAQuG,MAAQF,GAC1B,OAAMrG,EAAE0D,OAAO,EAAE,KAAO,KAAM,CAC7B1D,EAAIA,EAAE,GAAKA,EAAE0D,OAAO,EAAE0C,QAAU,IAAMpG,EAAE0D,OAAO,EAAE0C,OACjDpG,GAAIA,EAAE2D,QAAQ,aAAa,MAAMA,QAAQ,QAAQ,MAElD3D,EAAIA,EAAE2D,QAAQ,MAAM,KAErB3D,EAAIA,EAAE2D,QAAQ,iCAAiC,SAASoC,GAAGC,GAAGC,GAAGO,IAAM,MAAOR,IAAKC,GAAKO,GAAG9C,OAAO,GAAG0C,OAAOC,IAAID,QAAU,IAAMI,GAAG9C,OAAO2C,IAAM,UAC1IrG,GAAIsF,IAAI1B,cAAcuC,IAC7B,IAAGd,IAAIO,MAAM,WAAa5F,EAAE4F,MAAM,eAAgB5F,EAAIA,EAAE0D,OAAO,EAAE1D,EAAEL,OAAO,GAAK,IAAMK,EAAEA,EAAEL,OAAO,EAChG,IAAG0F,IAAIO,MAAM,QAAU5F,EAAE4F,MAAM,OAAQ5F,EAAIA,EAAE2D,QAAQ,MAAM,IAC3D,OAAO3D,GAAE2D,QAAQ,IAAI,KAEtB,GAAG0B,IAAI,KAAO,IAAK,MAAO,IAAIM,UAAUP,KAAKC,IAAI3B,OAAO2B,IAAI,IAAI,IAAI,EAAE,GAAGC,IACzE,IAAImB,GAAGC,GAAIC,GAAIC,KAAOtB,IAAM,GAAKA,IAAMA,IAAKuB,KAAOvB,IAAM,EAAI,IAAM,EACnE,IAAImB,EAAIpB,IAAIO,MAAM,8BAAgC,CACjD,GAAIkB,KAAMR,OAAOG,EAAE,IAAKM,IAAM7D,KAAKsC,MAAMoB,KAAOE,KAAME,KAAO9D,KAAKC,MAAM4D,IAAID,IAC5E,IAAIG,KAAOF,IAAMC,KAAKF,IAAMI,IAAMJ,GAClC,OAAOD,OAAQG,KAAKA,KAAK,IAAM,KAAOC,MAAQ,EAAI9H,KAAK,IAAKsH,EAAE,GAAG9G,OAAS,EAAI8G,EAAE,GAAG9G,QAAUJ,IAAI0H,IAAIR,EAAE,GAAG9G,OAAO,KAAO8G,EAAE,GAAK,IAAMA,EAAE,GAAKlH,IAAI2H,IAAIT,EAAE,GAAG9G,SAE1J,GAAG0F,IAAIO,MAAM,UAAWP,IAAMA,IAAI1B,QAAQ,KAAK,GAC/C,IAAG0B,IAAIO,MAAM,SAAU,OAAQN,IAAI,EAAE,IAAI,IAAI/F,IAAI2D,KAAKsC,MAAMoB,MAAMvB,IAAI1F,OACtE,IAAG0F,IAAIO,MAAM,WAAY,MAAO7G,QAAOmE,KAAKsC,MAAMF,MAAM3B,QAAQ,MAAM,GACtE,IAAI8C,EAAIpB,IAAIO,MAAM,eAAiB,CAClC5F,EAAIkD,KAAKsC,MAAMF,IAAMpC,KAAKM,IAAI,GAAGiD,EAAE,GAAG9G,QACtC+G,IAAK3H,OAAOiB,EAAEkD,KAAKM,IAAI,GAAGiD,EAAE,GAAG9G,SAASgE,QAAQ,aAAa,MAAM8C,EAAE,IAAI9C,QAAQ,MAAM,IAAI8C,EAAE,IAAI9C,QAAQ,cAAc,SAASoC,GAAIC,IAAM,MAAO,IAAMA,GAAK7G,KAAK,IAAKsH,EAAE,GAAG9G,OAAOqG,GAAGrG,SACrL,OAAO0F,KAAIO,MAAM,OAASc,GAAKA,GAAG/C,QAAQ,OAAO,KAElD0B,IAAMA,IAAI1B,QAAQ,YAAa,KAC/B,IAAI8C,EAAIpB,IAAIO,MAAM,gBAAkB,CACnC5F,EAAIkD,KAAKsC,MAAMoB,KAAK1D,KAAKM,IAAI,GAAGiD,EAAE,GAAG9G,QACrC,OAAOkH,MAAO9H,OAAOiB,EAAIkD,KAAKM,IAAI,GAAGiD,EAAE,GAAG9G,SAASgE,QAAQ,kBAAkB,OAAOA,QAAQ,cAAc,OAAOA,QAAQ,OAAO8C,EAAE,GAAG9G,OAAO,KAAK,KAElJ,GAAI8G,EAAIpB,IAAIO,MAAM,iBAAmB,MAAOiB,MAAOpB,SAAS1G,OAAOmE,KAAKsC,MAAMoB,OAC9E,IAAIH,EAAIpB,IAAIO,MAAM,qBAAuB,CACxCc,GAAKxD,KAAKsC,OAAOF,IAAIpC,KAAKC,MAAMmC,MAAMpC,KAAKM,IAAI,GAAGiD,EAAE,GAAG9G,QACvD,OAAO2F,KAAM,EAAI,IAAMK,UAAUP,KAAMC,KAAMC,KAAOG,SAAS1G,OAAOmE,KAAKC,MAAMmC,OAAS,IAAM/F,IAAImH,GAAGD,EAAE,GAAG9G,OAAO,GAElH,GAAI8G,EAAIpB,IAAIO,MAAM,YAAc,MAAOD,WAAUP,KAAKC,IAAI1B,QAAQ,SAAS,IAAI2B,IAC/E,IAAImB,EAAIpB,IAAIO,MAAM,wBAA0B,CAC3Ce,GAAKhB,UAAUP,KAAMC,IAAI1B,QAAQ,SAAS,IAAK2B,IAC/C,OAAOqB,IAAGjD,OAAO,EAAEiD,GAAGhH,OAAS8G,EAAE,GAAG9G,QAAU,IAAMgH,GAAGjD,OAAOiD,GAAGhH,OAAO8G,EAAE,GAAG9G,QAE9E,GAAI8G,EAAIpB,IAAIO,MAAM,mCAAqC,CACtDe,GAAKhB,UAAUP,KAAMC,IAAI1B,QAAQ,SAAS,IAAK2B,IAC/C,OAAOqB,IAAGjD,OAAO,EAAEiD,GAAGhH,OAAS8G,EAAE,GAAG9G,OAAS8G,EAAE,GAAG9G,QAAU,IAAMgH,GAAGjD,OAAOiD,GAAGhH,OAAO8G,EAAE,GAAG9G,OAAS8G,EAAE,GAAG9G,OAAQ8G,EAAE,GAAG9G,QAAU,IAAMgH,GAAGjD,OAAOiD,GAAGhH,OAAO8G,EAAE,GAAG9G,QAEhK,GAAG0F,IAAIO,MAAM,uBAAwB,CACpCe,GAAKhB,UAAUP,KAAM,aAAcE,IACnC,OAAO,IAAMqB,GAAGjD,OAAO,EAAE,GAAK,KAAOiD,GAAGjD,OAAO,EAAG,GAAK,IAAMiD,GAAGjD,OAAO,GAExE,GAAI+C,EAAIpB,IAAIO,MAAM,+BAAiC,CAClDc,GAAKxD,KAAKiE,IAAIjE,KAAKkE,IAAIX,EAAE,GAAG9G,OAAQ8G,EAAE,GAAG9G,QAAQ,EACjDgH,IAAKrE,KAAKsE,KAAM1D,KAAKM,IAAI,GAAGkD,IAAI,EAAG,MACnC,OAAOG,OAAQF,GAAG,KAAKA,GAAG,GAAK,GAAK,OAASA,GAAG,GAAKpH,IAAIoH,GAAG,GAAGD,GAAG,KAAOD,EAAE,GAAK,IAAMA,EAAE,GAAK7G,KAAK+G,GAAG,GAAGD,GAAG,KAAMvH,KAAK,IAAK,EAAEuH,GAAG,EAAID,EAAE,GAAG9G,OAAS8G,EAAE,GAAG9G,SAExJ,GAAI8G,EAAIpB,IAAIO,MAAM,iCAAmC,CACpDc,GAAKxD,KAAKiE,IAAIjE,KAAKkE,IAAIX,EAAE,GAAG9G,OAAQ8G,EAAE,GAAG9G,QAAQ,EACjDgH,IAAKrE,KAAKsE,KAAM1D,KAAKM,IAAI,GAAGkD,IAAI,EAAG,KACnC,OAAOG,OAAQF,GAAG,KAAKA,GAAG,GAAK,GAAK,MAAQ,KAAOA,GAAG,GAAKpH,IAAIoH,GAAG,GAAGD,GAAG,KAAOD,EAAE,GAAK,IAAMA,EAAE,GAAK7G,KAAK+G,GAAG,GAAGD,GAAG,KAAMvH,KAAK,IAAK,EAAEuH,GAAG,EAAID,EAAE,GAAG9G,OAAS8G,EAAE,GAAG9G,SAE9J,GAAI8G,EAAIpB,IAAIO,MAAM,sBAAwB,CACzCc,GAAKpB,KAAOpC,KAAKC,MAAMmC,KAAO,EAAIpC,KAAKsC,OAAOF,IAAIpC,KAAKC,MAAMmC,MAAMpC,KAAKM,IAAI,GAAGiD,EAAE,GAAG9G,QACpF,OAAO2F,KAAM,EAAI,IAAMK,UAAUP,KAAMC,KAAMC,KAAOG,SAAS1G,OAAOmE,KAAKC,MAAMmC,OAAO3B,QAAQ,aAAa,OAAOA,QAAQ,QAAQ,SAASoC,IAAM,MAAO,OAASA,GAAGpG,OAAS,EAAIJ,IAAI,EAAE,EAAEwG,GAAGpG,QAAU,IAAMoG,KAAS,IAAMxG,IAAImH,GAAGD,EAAE,GAAG9G,OAAO,GAE/O,OAAO0F,KACN,IAAK,IAAK,IAAK,KAAM,MAAOnC,MAAKsC,MAAMF,IACvC,KAAK,QAAS,GAAIxG,GAAI2G,SAAS1G,OAAOmE,KAAKsC,MAAMoB,OAAS,OAAO9H,KAAM,IAAM+H,KAAO/H,EAAI,EACxF,UAED,KAAM,IAAI+E,OAAM,uBAAyBwB,IAAM,KAEhD,SAASgC,WAAUhC,KAClB,GAAIf,OACJ,IAAIgD,SAAU,CACd,KAAI,GAAIC,GAAI,EAAGC,EAAI,EAAGD,EAAIlC,IAAI1F,SAAU4H,EAAG,CAC1C,GAAGD,SAAW,EAAG,CAAE,GAAGjC,IAAIkC,IAAM,IAAKD,QAAU,CAAG,UAClD,GAAGjC,IAAIkC,IAAM,KAAOlC,IAAIkC,IAAM,KAAOlC,IAAIkC,IAAM,KAAM,GAAIA,CAAG,UAC5D,GAAGlC,IAAIkC,IAAM,IAAK,CAAED,OAASC,CAAG,UAChC,GAAGlC,IAAIkC,IAAM,IAAK,QAClBjD,KAAImD,KAAKpC,IAAIqC,MAAMF,EAAED,GACrBC,GAAID,EAAE,EAEPjD,IAAImD,KAAKpC,IAAIqC,MAAMF,GACnB,IAAGF,SAAU,EAAG,KAAM,IAAIzD,OAAM,WAAawB,IAAM,4BAA8BiC,OACjF,OAAOhD,KAER3F,IAAIgJ,OAASN,SACb,SAASO,UAASvC,IAAK7F,EAAGW,KAAM0H,MAC/B,GAAIvD,QAAUtE,EAAI,GAAIuH,EAAI,EAAGnI,EAAI,GAAI0I,IAAI,IAAK1E,KAAQ2E,EACtDhI,SAAQI,KAAQA,SAChB,IAAI6H,IAAG,GAEP,OAAMT,EAAIlC,IAAI1F,OAAQ,CACrB,OAAQP,EAAIiG,IAAIkC,IACf,IAAK,IACJ,GAAGlC,IAAI3B,OAAO6D,EAAG,GAAGU,gBAAkB,UACrC,KAAM,IAAIpE,OAAM,0BAA4BwB,IAAIkC,GAAK,OAAQlC,IAC9Df,KAAImD,MAAM/H,EAAE,IAAIF,EAAE,WAAa+H,IAAG,CAAG,MACtC,KAAK,IACJ,IAAIvH,EAAE,GAAGqF,MAAMkC,KAAO,KAAOA,EAAIlC,IAAI1F,QAASK,GAAKqF,IAAIkC,EACvDjD,KAAImD,MAAM/H,EAAE,IAAKF,EAAEQ,MAAOuH,CAAG,MAC9B,KAAK,KAAM,GAAIW,GAAI7C,MAAMkC,GAAI7H,EAAI,KAAKwG,QAAQgC,MAAQ,EAAI,IAAMA,CAC/D5D,KAAImD,MAAM/H,EAAEA,EAAGF,EAAE0I,MAAOX,CAAG,MAC5B,KAAK,IAAKjD,IAAImD,MAAM/H,EAAE,IAAKF,EAAE,KAAO+H,IAAG,CAAG,MAC1C,KAAK,IACJjD,IAAImD,MAAM/H,EAAE,IAAKF,EAAEA,MAAO+H,CAAG,MAC9B,KAAK,IAAK,IAAK,IACd,GAAGlC,IAAIkC,EAAE,KAAO,KAAOlC,IAAIkC,EAAE,KAAO,IAAK,CACxC,IAAIQ,GAAIA,GAAK9D,gBAAgBzE,EAAGW,KAAMkF,IAAIkC,EAAE,KAAO,IACnDnE,IAAG1D,EAAE,IAAKF,EAAE6F,IAAI3B,OAAO6D,EAAE,GAAKjD,KAAImD,KAAKrE,EAAI0E,KAAM1I,CAAGmI,IAAG,CAAG,OAG5D,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACtDnI,EAAIA,EAAE6I,aAEP,KAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAChE,GAAGzI,EAAI,EAAG,MAAO,EACjB,KAAIuI,GAAIA,GAAK9D,gBAAgBzE,EAAGW,KAChC,KAAI4H,GAAI,MAAO,EACf/H,GAAIqF,IAAIkC,EAAI,QAAOlC,MAAMkC,IAAI,IAAIU,gBAAkB7I,EAAGY,GAAGZ,CACzD,IAAGA,IAAM,KAAOiG,IAAIkC,KAAO,KAAOlC,IAAIkC,EAAE,KAAO,IAAK,CAAEvH,GAAG,GAAK,OAAMqF,MAAMkC,KAAO,IAAKvH,GAAI,IAC1F,GAAGZ,IAAM,KAAO0I,IAAIG,gBAAkB,IAAK7I,EAAI,GAC/C,IAAGA,IAAM,IAAKA,EAAI4I,EAClBhI,GAAIA,EAAEiI,aACN7E,IAAG1D,EAAEN,EAAGI,EAAEQ,EAAIsE,KAAImD,KAAKrE,EAAI0E,KAAM1I,CAAG,MACrC,KAAK,IACJ,IAAI2I,GAAIA,GAAK9D,gBAAgBzE,EAAGW,KAChC,KAAI4H,GAAI,MAAO,EACf3E,IAAG1D,EAAEN,EAAEI,EAAE,IACT,IAAG6F,IAAI3B,OAAO6D,EAAG,KAAO,MAAO,CAACnE,EAAE5D,EAAIuI,GAAG7C,GAAK,GAAK,IAAM,GAAK9B,GAAE1D,EAAI,GAAKsI,IAAG,GAAIT,IAAG,MAC9E,IAAGlC,IAAI3B,OAAO6D,EAAE,KAAO,QAAS,CAAEnE,EAAE5D,EAAIuI,GAAG7C,GAAK,GAAK,KAAO,IAAM9B,GAAE1D,EAAI,GAAK6H,IAAG,CAAGS,IAAG,QACtF,CAAE5E,EAAE1D,EAAI,GAAK6H,KAClBjD,IAAImD,KAAKrE,EAAI0E,KAAM1I,CAAG,MACvB,KAAK,IACJY,EAAIZ,CACJ,OAAMiG,IAAIkC,OAAS,KAAOA,EAAIlC,IAAI1F,OAAQK,GAAKqF,IAAIkC,EACnD,IAAGvH,EAAE0D,QAAQ,KAAO,IAAK,KAAM,4BAA8B1D,EAAI,GACjE,IAAGA,EAAE4F,MAAM,iBAAkB,CAC5B,IAAImC,GAAIA,GAAK9D,gBAAgBzE,EAAGW,KAChC,KAAI4H,GAAI,MAAO,EACfzD,KAAImD,MAAM/H,EAAE,IAAKF,EAAEQ,EAAEiI,oBACf,CAAEjI,EAAE,GACX,KAED,KAAK,IAAK,IAAK,IAAK,IAAK,IACxBA,EAAIZ,CAAG,OAAM,YAAY8G,QAAQ9G,EAAEiG,MAAMkC,KAAO,GAAKnI,GAAG,MAAQiG,IAAIkC,EAAE,IAAM,KAAO,KAAKrB,QAAQb,IAAIkC,EAAE,KAAK,EAAGvH,GAAKZ,CACnHkF,KAAImD,MAAM/H,EAAE,IAAKF,EAAEQ,GAAK,MACzB,KAAK,IACJA,EAAIqF,IAAIkC,EAAI,OAAMlC,MAAMkC,KAAOnI,EAAGY,GAAGZ,CACrCgE,IAAG1D,EAAEN,EAAGI,EAAEQ,EAAIsE,KAAImD,KAAKrE,EAAI0E,KAAM1I,CAAG,MACrC,KAAK,MAAOmI,CAAG,IAAGlC,IAAIkC,IAAM,KAAOlC,IAAIkC,IAAM,MAAOA,CAAG,MACvD,KAAK,IAAK,IAAK,IAAKjD,IAAImD,MAAM/H,EAAGmI,OAAO,EAAE,IAAIzI,EAAGI,EAAEJ,MAAOmI,CAAG,MAC7D,KAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACpFvH,EAAIqF,IAAIkC,EAAI,OAAM,aAAarB,QAAQb,MAAMkC,KAAO,EAAGvH,GAAGqF,IAAIkC,EAC9DjD,KAAImD,MAAM/H,EAAE,IAAKF,EAAEQ,GAAK,MACzB,KAAK,IAAKsE,IAAImD,MAAM/H,EAAEN,EAAEI,EAAEJ,MAAOmI,CAAG,MACpC,SACC,GAAG,uCAAuCrB,QAAQ9G,MAAQ,EACzD,KAAM,0BAA4BiG,IAAIkC,GAAK,OAASlC,GACrDf,KAAImD,MAAM/H,EAAE,IAAKF,EAAEJ,MAAOmI,CAAG,QAGhC,GAAIY,IAAK,CACT,KAAIZ,EAAEjD,IAAI3E,OAAO,EAAGmI,IAAI,IAAKP,GAAK,IAAKA,EAAG,CACzC,OAAOjD,IAAIiD,GAAG7H,GACb,IAAK,IAAK,IAAK,IAAK4E,IAAIiD,GAAG7H,EAAIsI,EAAIF,KAAI,GAAK,IAAGK,GAAK,EAAGA,GAAK,CAAG,MAC/D,KAAK,IAAK,GAAGA,GAAK,EAAGA,GAAK,CAE1B,KAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKL,IAAIxD,IAAIiD,GAAG7H,CAAG,MACtD,KAAK,IAAK,GAAGoI,MAAQ,IAAK,CAAExD,IAAIiD,GAAG7H,EAAI,GAAK,IAAGyI,GAAK,EAAGA,GAAK,EAAK,KACjE,KAAK,IAAK,GAAG7D,IAAIiD,GAAG/H,IAAM,MACzB,KACD,KAAK,IACJ,GAAG2I,GAAK,GAAK7D,IAAIiD,GAAG/H,EAAEoG,MAAM,QAASuC,GAAK,CAC1C,IAAGA,GAAK,GAAK7D,IAAIiD,GAAG/H,EAAEoG,MAAM,QAASuC,GAAK,CAC1C,IAAGA,GAAK,GAAK7D,IAAIiD,GAAG/H,EAAEoG,MAAM,QAASuC,GAAK,GAG7C,OAAOA,IACN,IAAK,GAAG,KACR,KAAK,GACJ,GAAGJ,GAAGvD,GAAK,GAAK,CAAEuD,GAAGvD,EAAI,IAAKuD,GAAG/C,EACjC,GAAG+C,GAAG/C,GAAK,GAAI,CAAE+C,GAAG/C,EAAI,IAAK+C,GAAG9C,EAChC,GAAG8C,GAAG9C,GAAK,GAAI,CAAE8C,GAAG9C,EAAI,IAAK8C,GAAG7C,EAChC,KACD,KAAK,GACJ,GAAG6C,GAAGvD,GAAK,GAAK,CAAEuD,GAAGvD,EAAI,IAAKuD,GAAG/C,EACjC,GAAG+C,GAAG/C,GAAK,GAAI,CAAE+C,GAAG/C,EAAI,IAAK+C,GAAG9C,EAChC,MAGF,IAAIsC,EAAE,EAAGA,EAAIjD,IAAI3E,SAAU4H,EAAG,CAC7B,OAAOjD,IAAIiD,GAAG7H,GACb,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACxC,KAAK,UAAY4E,KAAIiD,EAAI,MACzB,KAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC9FjD,IAAIiD,GAAG/H,EAAI2F,WAAWb,IAAIiD,GAAG7H,EAAG4E,IAAIiD,GAAG/H,EAAGuI,GAC1CzD,KAAIiD,GAAG7H,EAAI,GAAK,MACjB,KAAK,IAAK,IAAK,IAAK,IAAK,IACxB,GAAI0I,IAAKb,EAAE,CACX,OAAMjD,IAAI8D,MAAQ,KAAKlC,QAAQ5B,IAAI8D,IAAI1I,IAAM,GAAM,KAAKwG,QAAQ5B,IAAI8D,IAAI1I,IAAM,GAAK,KAAKwG,SAAS5B,IAAI8D,GAAG,QAAQ1I,IAAI,IAAM4E,IAAI8D,GAAG,GAAG1I,GAAK,KAAO4E,IAAI8D,GAAG,GAAG5I,GAAK,MAAS8E,IAAIiD,GAAG7H,GAAK,KAAQ,MAAMwG,QAAQ5B,IAAI8D,IAAI1I,IAAM,GAAM4E,IAAI8D,IAAI1I,GAAK,MAAQ4E,IAAI8D,IAAI5I,GAAK,KAAO,KAAK0G,QAAQ5B,IAAI8D,IAAI5I,IAAM,GAAM8E,IAAI8D,IAAI5I,GAAK,MAAQ8E,IAAI8D,GAAG,QAAQ1I,GAAK,MAAQ,CACxV4E,IAAIiD,GAAG/H,GAAK8E,IAAI8D,IAAI5I,QACb8E,KAAI8D,MAAOA,GAEnB9D,IAAIiD,GAAG/H,EAAImG,UAAUrB,IAAIiD,GAAG7H,EAAG4E,IAAIiD,GAAG/H,EAAIqI,KAAM,GAAKrI,EAAI,GAAK+H,EAAE,GAAKjD,IAAIiD,EAAE,GAAG/H,GAAK,KAAOA,EAAEA,EAC5F8E,KAAIiD,GAAG7H,EAAI,GACX6H,GAAIa,GAAG,CAAG,MACX,KAAK,IAAK9D,IAAIiD,GAAG7H,EAAI,GAAK4E,KAAIiD,GAAG/H,EAAI6D,YAAY7D,EAAEW,KAAO,QAG5D,MAAOmE,KAAI+D,IAAI,SAASvJ,GAAG,MAAOA,GAAEU,IAAKN,KAAK,IAE/CP,IAAI2J,MAAQV,QACZ,SAASW,YAAWlD,IAAK7F,EAAGQ,GAC3B,SAAUqF,OAAQ,SAAUA,KAAQrF,GAAGA,EAAEwI,MAASxI,EAAEwI,MAAQlI,WAAW+E,IACvE,UAAUA,OAAQ,SAAUA,IAAMgC,UAAUhC,IAC5C,IAAIhG,GAAIgG,IAAI1F,MACZ,IAAGN,EAAE,GAAKgG,IAAIhG,EAAE,GAAG6G,QAAQ,MAAM,IAAK7G,CACtC,QAAOgG,IAAI1F,QACV,IAAK,GAAG0F,IAAMA,IAAI,GAAGa,QAAQ,MAAM,GAAK,UAAW,UAAW,UAAWb,IAAI,KAAOA,IAAI,GAAIA,IAAI,GAAIA,IAAI,GAAI,IAAM,MAClH,KAAK,GAAGA,IAAMA,IAAI,GAAGa,QAAQ,MAAM,GAAKb,IAAI,GAAIA,IAAI,GAAIA,IAAI,GAAIA,IAAI,KAAOA,IAAI,GAAIA,IAAI,GAAIA,IAAI,GAAI,IAAM,MACzG,KAAK,GAAGA,IAAMA,IAAI,GAAGa,QAAQ,MAAM,GAAKb,IAAI,GAAIA,IAAI,GAAIA,IAAI,GAAIA,IAAI,KAAOA,IAAI,GAAIA,IAAI,GAAIA,IAAI,GAAI,IAAM,MACzG,KAAK,GAAG,KACR,SAAS,KAAM,iCAAmCA,IAAM,IAEzD,SAAU7F,KAAM,SAAU,OAAQ6F,IAAI1F,OAAQ0F,IAAI,GAClD,IAAIsB,IAAKnH,EAAI,EAAI6F,IAAI,GAAK7F,EAAI,EAAI6F,IAAI,GAAKA,IAAI,EAC/C,IAAGA,IAAI,GAAGO,MAAM,YAAcP,IAAI,GAAGO,MAAM,WAAY,CACtD,GAAI6C,KAAM,SAASjJ,EAAGkH,GAAIpC,KACzB,IAAIoC,GAAI,MAAO,KACf,IAAIgC,OAAQ,KACZ,IAAIC,QAASrC,OAAOI,GAAG,GACvB,QAAOA,GAAG,IACT,IAAK,IAAM,GAAGlH,GAAKmJ,OAAQD,MAAQ,IAAM,MACzC,KAAK,IAAM,GAAGlJ,EAAKmJ,OAAQD,MAAQ,IAAM,MACzC,KAAK,IAAM,GAAGlJ,EAAKmJ,OAAQD,MAAQ,IAAM,MACzC,KAAK,KAAM,GAAGlJ,GAAKmJ,OAAQD,MAAQ,IAAM,MACzC,KAAK,KAAM,GAAGlJ,GAAKmJ,OAAQD,MAAQ,IAAM,MACzC,KAAK,KAAM,GAAGlJ,GAAKmJ,OAAQD,MAAQ,IAAM,OAE1C,MAAOA,OAAQpE,IAAM,KAEtB,IAAIsE,IAAKvD,IAAI,GAAGO,MAAM,wBACtB,IAAIiD,IAAKxD,IAAI,GAAGO,MAAM,wBACtB,OAAO6C,KAAIjJ,EAAGoJ,IAAKvJ,EAAGgG,IAAI,MAAQoD,IAAIjJ,EAAGqJ,IAAKxJ,EAAGgG,IAAI,OAAShG,EAAGgG,IAAIuD,IAAIC,GAAG,EAAE,IAE/E,OAAQxJ,EAAGsH,IAEZ,GAAImC,QAAS,QAASA,QAAOzD,IAAI7F,EAAEQ,GAClCD,QAAQC,EAAKA,MACb,UAAUqF,OAAQ,UAAYA,IAAI4C,gBAAkB,UAAW,MAAO5E,aAAY7D,EAAGQ,EACrF,UAAUqF,OAAQ,SAAUA,KAAOrF,EAAEwI,OAASlI,WAAW+E,IACzD,IAAI0D,GAAIR,WAAWlD,IAAK7F,EAAGQ,EAC3B,IAAG+I,EAAE,GAAGd,gBAAkB,UAAW,MAAO5E,aAAY7D,EAAEQ,EAC1D,IAAGR,IAAM,KAAMA,EAAI,MAAQ,IAAGA,IAAM,MAAOA,EAAI,OAC/C,IAAGA,IAAM,UAAaA,KAAM,YAAa,MAAO,EAChD,OAAOoI,UAASmB,EAAE,GAAIvJ,EAAGQ,EAAG+I,EAAE,IAG/BpK,KAAIqK,QAAUT,UACd5J,KAAIsK,OAAS3I,SACb3B,KAAIuK,KAAO,SAAS7D,IAAKc,KAAO7F,UAAU6F,KAAOd,IACjD1G,KAAImK,OAASA,MACbnK,KAAIwK,UAAY,WAAa,MAAO7I,WACpC3B,KAAIyK,WAAa,SAASC,KAAO,IAAI,GAAI9B,GAAE,EAAGA,GAAG,MAAUA,EAAG,GAAG8B,IAAI9B,GAAI5I,IAAIuK,KAAKG,IAAI9B,GAAIA,IAE1F3I,UAASD,IACT,IAAI2K,UACJ,SAAUA,MACVA,KAAKzJ,QAAU,QACf,IAAI0J,kBAAkBC,gBAAiBC,OACvC,UAAUC,UAAW,mBAAsBC,WAAY,YAAa,CACnE,SAAUF,WAAY,YAAaA,QAAUE,QAAQ,WACrDJ,kBAAmB,IAAMC,iBAAkBC,QAAQ,MAEpD,QAASG,YACRL,iBAAmB,IAAM,UAAUE,WAAY,YAAaD,gBAAkBC,QAAQ,MAEvF,QAASI,UAAS/K,GAAK,MAAOC,QAAO+K,aAAahL,GAElD,QAASiL,SAAQC,MAChB,IAAIA,KAAM,MAAO,KACjB,IAAGA,KAAKA,KAAM,MAAOA,MAAKC,KAAKvG,QAAQ,KAAO,OAASsG,KAAKA,KAAOA,KAAKA,KAAKhL,MAAM,IAAIqJ,IAAI,SAASvJ,GAAK,MAAOA,GAAEoL,WAAW,IAC7H,IAAGF,KAAKG,oBAAuBC,UAAW,aAAeJ,KAAKC,KAAKvG,QAAQ,KAAK,OAAQ,MAAOsG,MAAKG,cACpG,IAAGH,KAAKK,UAAYL,KAAKC,KAAKvG,QAAQ,KAAO,OAAQ,MAAOsG,MAAKK,UACjE,IAAGL,KAAKM,OAASN,KAAKM,MAAMC,WAAY,CAEvC,GAAGP,KAAKC,KAAKvG,QAAQ,KAAO,OAAQ,MAAOpE,OAAMkL,UAAU9C,MAAM+C,KAAKT,KAAKM,MAAMC,aACjF,OAAOjL,OAAMkL,UAAU9C,MAAM+C,KAAKT,KAAKM,MAAMC,aAAa,GAAGlC,IAAI,SAASvJ,GAAK,MAAOC,QAAO+K,aAAahL,KAAOI,KAAK,IAEvH,MAAO,MAGR,QAASwL,YAAWC,IAAKC,MACxB,GAAI7B,GAAI6B,IAAM,IAAGD,IAAIE,MAAM9B,GAAI,MAAO4B,KAAIE,MAAM9B,EAChDA,GAAI6B,KAAK3C,aAAe,IAAG0C,IAAIE,MAAM9B,GAAI,MAAO4B,KAAIE,MAAM9B,EAC1DA,GAAIA,EAAEpF,QAAQ,MAAM,KAAO,IAAGgH,IAAIE,MAAM9B,GAAI,MAAO4B,KAAIE,MAAM9B,EAC7D,MAAM,IAAIlF,OAAM,oBAAsB+G,KAAO,WAG9C,QAASE,YAAWH,IAAKC,KAAMG,MAC9B,IAAIA,KAAM,MAAOhB,SAAQW,WAAWC,IAAKC,MACzC,KAAIA,KAAM,MAAO,KACjB,KAAM,MAAOE,YAAWH,IAAKC,MAAS,MAAMI,GAAK,MAAO,OAGzD,GAAIC,KAAKC,KACT,UAAUC,SAAU,YAAaD,MAAQC,KACzC,UAAWC,WAAY,YAAa,CACnC,SAAW1B,UAAW,aAAeA,OAAO0B,QAAS,CACpD,SAAUhB,UAAW,mBAAsBc,SAAU,YAAaA,MAAQvB,QAAQ,QAClF,UAAUuB,SAAU,YAAaA,MAAQvB,QAAQ,WAAWwB,KAC5DF,KAAMtB,QAAQ,OAGhB,GAAI0B,WAAU,iDACd,IAAIC,UAAS,oDACb,SAASC,aAAYC,KACpB,GAAIC,OAAQD,IAAIxM,MAAM,MACtB,IAAI0M,IAAKC,EAAKF,MAAM,GACpB,IAAGA,MAAM9L,SAAW,EAAG,MAAO+L,IAC7BF,IAAI5F,MAAMyF,gBAAkBhD,IAAI,SAASvJ,GACzC,GAAImB,GAAEnB,EAAE8G,MAAM0F,SACdrL,GAAE,GAAKA,EAAE,GAAG0D,QAAQ,SAAS,QAC7B+H,GAAEzL,EAAE,GAAG0D,QAAQ,cAAc,KAAO1D,EAAE,GAAGyD,OAAO,EAAEzD,EAAE,GAAGN,OAAO,IAE/D,OAAO+L,GAGR,QAASE,OAAMC,KACd,GAAI7L,KACJ8L,QAAOC,KAAKF,KAAKG,QAAQ,SAASC,GAAK,GAAGJ,IAAIK,eAAeD,GAAIjM,EAAE6L,IAAII,IAAMA,GAC7E,OAAOjM,GAGR,GAAImM,YACHC,SAAU,IACVC,SAAU,IACVC,OAAQ,IACRC,OAAQ,IACRC,QAAS,IAEV,IAAIC,WAAYb,MAAMO,UACtB,IAAIO,SAAU,SAAS1N,MAAM,GAG7B,SAAS2N,aAAYC,MACpB,GAAIlH,GAAIkH,KAAO,EACf,KAAI,GAAI3M,KAAKkM,WAAWzG,EAAIA,EAAE/B,QAAQ,GAAIkJ,QAAO5M,EAAE,KAAMkM,UAAUlM,GACnE,OAAOyF,GAAE/B,QAAQ,qBAAqB,SAASoB,EAAE3F,GAAI,MAAO0N,MAAKC,SAAS3N,EAAE,OAE7E,QAAS4N,WAAUJ,MAClB,GAAIlH,GAAIkH,KAAO,EACfF,SAAQV,QAAQ,SAAS/L,GAAGyF,EAAEA,EAAE/B,QAAQ,GAAIkJ,QAAO5M,EAAE,KAAMwM,UAAUxM,KACrE,OAAOyF,GAIR,QAASuH,cAAaC,MAAO1B,KAC5B,OAAO0B,OACN,IAAK,IAAK,IAAK,GAAG,IAAK,QAAS,IAAK,QAAS,MAAO,MACrD,KAAK,IAAK,IAAK,GAAG,IAAK,OAAQ,IAAK,OAAQ,MAAO,KACnD,SAAS,KAAM,qBAAuBA,MAAQ,QAAQ1B,KAAK,MAI7D,GAAI2B,UAAW,SAASC,MACvB,GAAI9I,QAAUiD,EAAI,EAAGnI,EAAI,EAAGiO,GAAK,EAAGC,GAAK,EAAGC,GAAK,CACjD,OAAOhG,EAAI6F,KAAKzN,OAAQ,CACvBP,EAAIgO,KAAKlD,WAAW3C,IACpB,IAAInI,EAAI,IAAKkF,IAAImD,KAAKqF,KAAK1N,QACtB,CACJkO,GAAKF,KAAKlD,WAAW3C,IACrB,IAAInI,EAAE,KAAOA,EAAE,IAAKkF,IAAImD,KAAKqF,MAAM1N,EAAI,KAAO,EAAIkO,GAAK,SAClD,CACJC,GAAKH,KAAKlD,WAAW3C,IACrBjD,KAAImD,KAAKqF,MAAM1N,EAAI,KAAO,IAAMkO,GAAK,KAAO,EAAIC,GAAK,OAIxD,MAAOjJ,KAAIpF,KAAK,IAIjB,SAASsO,UAASzE,EAAE0E,GAAI,MAAO,IAAIZ,QAAO,cAAc9D,EAAE,iDAAsDA,EAAE,KAAK0E,GAAG,IAAI,KAE9H,QAASC,aAAY1D,MACpB,GAAI2D,GAAIpC,YAAYvB,KAEpB,IAAI4D,SAAU5D,KAAKpE,MAAM,GAAIiH,QAAO,OAASc,EAAEE,SAAW,cAAgBF,EAAEE,SAAW,IAAK,SAC5F,IAAGD,QAAQjO,QAAUgO,EAAEG,KAAM,KAAM,4BAA8BF,QAAQjO,OAAS,OAASgO,EAAEG,IAC7F,IAAIC,OACJH,SAAQ5B,QAAQ,SAASlN,GACxB,GAAIU,GAAIV,EAAE6E,QAAQ,oBAAoB,IAAIiC,MAAM,oBAChDmI,KAAItG,MAAMjI,EAAEA,EAAE,GAAIE,EAAEF,EAAE,MAEvB,OAAOuO,KAGR,QAASC,OAAMlP,GAAK,aAAcA,KAAM,aAAeA,IAAM,KAC7D,QAASmP,aAAYC,IAAK/H,IAAKgI,KAAMC,GAAIC,IACxC,GAAGF,OAASjO,UAAWiO,KAAO,IAC9B,KAAIC,GAAIA,GAAK,CACb,KAAIC,IAAMD,KAAO,EAAGC,GAAK,EACzB,IAAIrD,GAAGjG,EAAGuJ,GAAKF,GAAK,EAAIC,GAAK,EAAGE,MAAQ,GAAKD,IAAM,EAAGE,MAAQD,MAAQ,CACtE,IAAIE,OAAQ,EAAGhP,EAAI0O,MAAQ,EAAI,EAAG5G,EAAI4G,KAAQC,GAAK,EAAK,EAAG1I,EAAIwI,IAAI/H,IAAMoB,EAEzEA,IAAK9H,CACLuL,GAAItF,GAAM,IAAO+I,MAAS,CAAI/I,OAAS+I,IAAOA,OAAQH,EACtD,MAAOG,KAAO,EAAGzD,EAAIA,EAAI,IAAMkD,IAAI/H,IAAMoB,GAAIA,GAAK9H,EAAGgP,MAAQ,GAC7D1J,EAAIiG,GAAM,IAAOyD,MAAS,CAAIzD,OAASyD,IAAOA,OAAQJ,EACtD,MAAOI,KAAO,EAAG1J,EAAIA,EAAI,IAAMmJ,IAAI/H,IAAMoB,GAAIA,GAAK9H,EAAGgP,MAAQ,GAC7D,GAAIzD,IAAMuD,KAAM,MAAOxJ,GAAI2J,KAAQhJ,GAAK,EAAI,GAAKiJ,aAC5C,IAAI3D,IAAM,EAAGA,EAAI,EAAIwD,UACrB,CAAEzJ,EAAIA,EAAI7B,KAAKM,IAAI,EAAG6K,GAAKrD,GAAIA,EAAIwD,MACxC,OAAQ9I,GAAK,EAAI,GAAKX,EAAI7B,KAAKM,IAAI,EAAGwH,EAAIqD,IAG3C,GAAIO,WACJ,UAAUxE,UAAW,YAAa,CACjCA,OAAOI,UAAUqE,QAAS,WAAa,MAAOC,MAAKC,SAAS,OAC5DH,YAAa,SAASI,MAAQ,MAAO5E,QAAO6E,OAAOD,KAAK,SAClD,CACNJ,WAAa,SAASI,MACrB,GAAIlQ,KACJ,KAAI,GAAIyI,GAAI,EAAGA,GAAKyH,KAAK,GAAGrP,SAAU4H,EAAG,CAAEzI,EAAIA,EAAEmQ,OAAOD,KAAK,GAAGzH,IAChE,MAAOzI,IAIT,GAAIoQ,aAAc,SAASC,EAAGhJ,KAAO,MAAOgJ,GAAEC,UAAYD,EAAEC,UAAUjJ,KAAOgJ,EAAEhJ,KAC/E,IAAIkJ,gBAAiB,SAASF,EAAGhJ,KAAO,MAAOgJ,GAAEG,aAAeH,EAAEG,aAAanJ,KAAOgJ,EAAEhJ,IAAI,IAAI,GAAG,GAAGgJ,EAAEhJ,KACxG,IAAIoJ,eAAgB,SAASJ,EAAGhJ,KAAO,GAAI3B,GAAI6K,eAAeF,EAAEhJ,IAAM,MAAK3B,EAAI,OAAS,MAAOA,EAAG,QAAQ,MAASA,EAAI,IAAM,EAC7H,IAAIgL,gBAAiB,SAASL,EAAGhJ,KAAO,MAAOgJ,GAAEM,aAAeN,EAAEM,aAAatJ,KAAOgJ,EAAEhJ,IAAI,IAAI,GAAG,IAAIgJ,EAAEhJ,IAAI,IAAI,GAAG,IAAIgJ,EAAEhJ,IAAI,IAAI,GAAG,GAAGgJ,EAAEhJ,KAC1I,IAAIuJ,eAAgB,SAASP,EAAGhJ,KAAO,GAAGgJ,EAAEQ,YAAa,MAAOR,GAAEQ,YAAYxJ,IAAM,IAAI3B,GAAIgL,eAAeL,EAAEhJ,IAAM,MAAK3B,EAAI,YAAa,MAAOA,EAAG,QAAQ,WAAaA,EAAI,IAAM,EAClL,IAAIoL,gBAAiB,SAAST,EAAGhJ,KAAO,MAAOgJ,GAAEU,aAAeV,EAAEU,aAAa1J,KAAO8H,YAAYkB,EAAGhJ,KAAK,GAG1G,SAAS2J,WAAUhC,KAAMpO,GACxB,GAAIM,GAAI,GAAI+P,MAAS7H,EAAG8H,GAAIzI,EAAG0I,GAAKvQ,GAAIA,GAAK,GAC7C,IAAGoO,OAAS,UAAW,CAAEA,KAAO,CAAGpO,GAAI,IACvC,OAAOoO,MACN,IAAK,GAAG9N,EAAIkP,YAAYJ,KAAMA,KAAKzP,EAAI,MACvC,KAAK,GAAGW,GAAGN,IAAI,IAAM2P,eAAiBE,eAAeT,KAAMA,KAAKzP,EAAI,MACpE,KAAK,GAAGW,EAAIwP,eAAeV,KAAMA,KAAKzP,EAAI,MAC1C,KAAK,GAAG,GAAGK,IAAM,IAAK,CAAEM,EAAI4P,eAAed,KAAMA,KAAKzP,EAAI,OAE1D,IAAK,IAAIW,EAAI8O,KAAKC,SAAS,MAAOD,KAAKzP,EAAEyP,KAAKzP,EAAEyO,KAAO,MAIvD,KAAK,OAAQA,KAAO,EAAEpO,CAAGuQ,KAAMnB,KAAKzP,CACnC,KAAIkI,EAAI,EAAGA,GAAK7H,IAAK6H,EAAG,CACvBwI,GAAGtI,KAAKoC,SAASwF,eAAeP,KAAMmB,MACtCA,MAAK,EACJjQ,EAAI+P,GAAG7Q,KAAK,GAAK,MAEpB,KAAK,OAAQ4O,KAAOpO,CAAGM,GAAI,EAAIiQ,KAAMnB,KAAKzP,CACzC,KAAIkI,EAAI,EAAGA,GAAK7H,IAAK6H,EAAG,CACvBvH,GAAK6J,SAASqF,YAAYJ,KAAMmB,KAChCA,MAAK,EACJ,MAEJnB,KAAKzP,GAAGyO,IAAM,OAAO9N,GAGtB,QAASkQ,WAAUC,KAAMC,KACxBD,KAAKE,WAAaP,UAAUQ,KAAKH,KACjCA,MAAK9Q,EAAI+Q,KAAO,CAChB,IAAIG,MAAOT,UAAUQ,KAAKH,KAC1B,QAAQI,MAGT,QAASC,WAAUL,KAAMxQ,QAAUwQ,KAAK9Q,GAAKM,OAE7C,GAAI8Q,cAAe,SAASzG,KAAM0G,GAAIvQ,MACrC,GAAIwQ,SAASC,QAASjR,MACtBuQ,WAAUlG,KAAMA,KAAK3K,GAAK,EAC1B,OAAM2K,KAAK3K,EAAI2K,KAAKrK,OAAQ,CAC3B,GAAIkR,IAAK7G,KAAKqG,WAAW,EACzB,IAAGQ,GAAK,IAAMA,IAAMA,GAAK,OAAU7G,KAAKqG,WAAW,GAAK,MAAO,EAC/D,IAAIS,GAAIC,WAAWF,KAAOE,WAAW,MACrCJ,SAAU3G,KAAKqG,WAAW,EAC1B1Q,QAASgR,QAAU,GACnB,KAAIC,QAAU,EAAGA,QAAS,GAAMD,QAAU,MAASC,QAASjR,UAAYgR,QAAU3G,KAAKqG,WAAW,IAAM,MAAQ,EAAEO,OAClH,IAAInR,GAAIqR,EAAE/H,EAAEiB,KAAMrK,OAAQQ,KAC1B,IAAGuQ,GAAGjR,EAAGqR,EAAGD,IAAK,QAKnB,IAAIG,cAAe,SAAShH,KAAMrK,QACjC,OAASsR,IAAKjH,KAAKqG,WAAW,GAAIa,KAAMlH,KAAKqG,WAAW,IAIzD,IAAIc,eAAgB,SAASnH,KAAMrK,QAClC,GAAIyR,OAAQpH,KAAK3K,CACjB,IAAIgS,OAAQrH,KAAKqG,WAAW,EAC5B,IAAIiB,UAAWD,MAAQ,EAAGE,QAAUF,MAAQ,CAC5C,IAAIG,KAAMC,mBAAmBzH,KAC7B,IAAI0H,aACJ,IAAIhG,IACHhM,EAAG8R,IACH/K,EAAE,MAAQuG,UAAUwE,KAAO,OAC3B7D,EAAG6D,IAEJ,IAAGF,SAAU,CAEZ,GAAIK,cAAe3H,KAAKqG,WAAW,EACnC,KAAI,GAAI9I,GAAI,EAAGA,GAAKoK,eAAgBpK,EAAGmK,UAAUjK,KAAKuJ,aAAahH,MACnE0B,GAAEjF,EAAImL,KAAKC,UAAUH,WAEtB,GAAGH,QAAS,EAGZvH,KAAK3K,EAAI+R,MAAQzR,MACjB,OAAO+L,GAIR,SAASoG,YAAW9H,MACnB,GAAI+H,KAAM/H,KAAKqG,WAAW,EAC1B,IAAI2B,WAAYhI,KAAKqG,WAAW,EAChC2B,YAAahI,KAAKqG,WAAW,IAAK,EAClC,IAAI4B,SAAUjI,KAAKqG,WAAW,EAC9B,QAASjR,EAAE2S,IAAKC,UAAWA,WAI5B,GAAIE,gBAAiB,SAASlI,KAAMrK,QAAU,MAAO8R,oBAAmBzH,KAAMrK,QAG9E,IAAIwS,aAAc,SAASnI,KAAMrK,QAAU,MAAOyS,4BAA2BpI,KAAMrK,QAGnF,SAAS0S,gBAAerI,MACvB,GAAImF,GAAInF,KAAKtC,MAAMsC,KAAK3K,EAAG2K,KAAK3K,EAAE,EAClC,IAAIiT,OAAQnD,EAAE,GAAK,EAAGoD,KAAOpD,EAAE,GAAK,CACpCnF,MAAK3K,GAAG,CACR8P,GAAE,KAAO,CACT,IAAIqD,IAAKD,OAAS,EAAI3C,gBAAgB,EAAE,EAAE,EAAE,EAAET,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,IAAI,GAAKO,cAAcP,EAAE,IAAI,CAC5F,OAAOmD,OAAQE,GAAG,IAAMA,GAIzB,GAAIC,oBAAqB,SAASzI,MACjC,GAAI0I,OAAQhN,KAAOsF,KACnB0H,MAAKhN,EAAEe,EAAIuD,KAAKqG,WAAW,EAC3BqC,MAAK1H,EAAEvE,EAAIuD,KAAKqG,WAAW,EAC3BqC,MAAKhN,EAAEtG,EAAI4K,KAAKqG,WAAW,EAC3BqC,MAAK1H,EAAE5L,EAAI4K,KAAKqG,WAAW,EAC3B,OAAOqC,MAIR,IAAIN,4BAA6B,SAASpI,MACzC,GAAI2I,eAAgB3I,KAAKqG,WAAW,EACpC,OAAOsC,iBAAkB,GAAKA,gBAAkB,WAAa,GAAK3I,KAAKqG,WAAW,OAAQsC,eAI3F,IAAIlB,oBAAqB,SAASzH,MACjC,GAAI2I,eAAgB3I,KAAKqG,WAAW,EACpC,OAAOsC,iBAAkB,EAAI,GAAK3I,KAAKqG,WAAW,OAAQsC,eAI3D,SAASC,YAAW5I,KAAMrK,QAAU,MAAOqK,MAAKqG,WAAW,WAG3D,GAAIwC,OACH,EAAM,SACNC,EAAM,UACN7R,GAAM,UACN8R,GAAM,QACNC,GAAM,SACNC,GAAM,QACNC,GAAM,OACNC,GAAM,gBACNC,IAAM,QAEP,IAAIC,OAAQzH,MAAMiH,KAGlB,SAASS,gBAAetJ,KAAMrK,QAC7B,GAAI4Q,MAAOvG,KAAKqG,WAAWC,KAAKtG,KAChC,IAAI1F,OACJ,IAAI7E,GAAI8Q,KAAK,EACbjM,KAAIiP,UAAY9T,EAAI,CACpB6E,KAAIkP,WAAa/T,IAAM,CACvB6E,KAAImP,MAAQlD,KAAK,EACjBjM,KAAIoP,cAAgBnD,KAAK,EAAG,IAC5BjM,KAAIqP,KAASpD,KAAK,EAClBjM,KAAIsP,OAASrD,KAAK,EAClBjM,KAAIuP,MAAStD,KAAK,EAClBjM,KAAIwP,OAASvD,KAAK,GAInB,QAASwD,iBAAgB/J,KAAMrK,QAC9B,GAAIF,GAAIuK,KAAKqG,WAAW,EACxBrG,MAAK3K,GACL,IAAIiF,MACH0P,QAASvU,EAAI,EACbwU,WAAYxU,EAAI,EAChByU,SAAUzU,EAAI,GACd0U,QAAS1U,EAAI,GACb2U,UAAW3U,EAAI,GACf4U,QAAS5U,EAAI,IAEd,OAAO6E,KAGR,GAAIgQ,UAAW,WACd,GAAIC,QAAS/G,SAAS,KAAMgH,QAAUhH,SAAS,MAE/C,IAAIiH,WAAY,SAASC,IAAKC,MAAOC,OACpC,GAAIC,UACHH,IAAI9O,MAAM,iBAAiBoG,QAAQ,SAASlN,GAC5C,GAAImB,GAAIsL,YAAYzM,EACpB,QAAOmB,EAAE,IAGR,IAAK,YAAa,KAGlB,KAAK,UAAW,KAGhB,KAAK,UAEL,IAAK,YAAa,KAGlB,KAAK,WAAY,KAGjB,KAAK,WAEL,IAAK,aAAc,KAGnB,KAAK,SAAU4U,KAAK5K,KAAOhK,EAAEqF,GAAK,MAGlC,KAAK,MAAOuP,KAAKC,GAAK7U,EAAEqF,GAAK,MAG7B,KAAK,UACJ,IAAIrF,EAAEqF,IAAK,KAEZ,KAAK,YAAauP,KAAKE,OAAS,CAAG,MACnC,KAAK,YAAa,KAGlB,KAAK,KACJ,IAAI9U,EAAEqF,IAAK,KAEZ,KAAK,OAAQuP,KAAKrQ,EAAI,CAAG,MACzB,KAAK,OAAQ,KAGb,KAAK,KACJ,IAAIvE,EAAEqF,IAAK,KAEZ,KAAK,OAAQuP,KAAK1F,EAAI,CAAG,MACzB,KAAK,OAAQ,KAGb,KAAK,KACJ,IAAIlP,EAAEqF,IAAK,KAEZ,KAAK,OAAQuP,KAAKtN,EAAI,CAAG,MACzB,KAAK,OAAQ,KAGb,KAAK,SACJ,GAAGtH,EAAE+U,IAAKH,KAAKI,MAAQhV,EAAE+U,IAAItR,OAAO,EAAE,EACtC,MAGD,KAAK,UAAWmR,KAAKK,OAASjV,EAAEqF,GAAK,MAGrC,KAAK,aAAc,KAGnB,KAAK,UAAW,KAEhB,SACC,GAAGrF,EAAE,GAAG,KAAO,IAAK,KAAM,4BAA8BA,EAAE,KAI7D,IAAIkV,SACJ,IAAGN,KAAK1F,EAAGgG,MAAM1N,KAAK,qBACtB,IAAGoN,KAAKtN,EAAG4N,MAAM1N,KAAK,sBACtBkN,OAAMlN,KAAK,gBAAkB0N,MAAMjW,KAAK,IAAM,KAC9C0V,OAAMnN,KAAK,WAIZ,SAAS2N,SAAQ3O,GAChB,GAAI4O,WAAY,MAEhB,IAAI3V,GAAI+G,EAAEb,MAAM2O,OAChB,KAAIvG,MAAMtO,GAAI,MAAO,EACrB2V,OAAM,GAAK3V,EAAE,EAEb,IAAIgV,KAAMjO,EAAEb,MAAM4O,QAClB,IAAGxG,MAAM0G,KAAMD,UAAUC,IAAI,GAAIW,MAAM,GAAIA,MAAM,GACjD,OAAOA,OAAM,GAAGnW,KAAK,IAAMmW,MAAM,GAAG1R,QAAQ,QAAQ,SAAW0R,MAAM,GAAGnW,KAAK,IAE9E,MAAO,UAASoW,IACf,MAAOA,IAAG3R,QAAQ,OAAO,IAAI3E,MAAM,SAASqJ,IAAI+M,SAASlW,KAAK,OAKhE,IAAIqW,UAAW,SAASzW,EAAGqB,MAC1B,GAAIqV,MAAOrV,KAAOA,KAAKsV,SAAW,IAClC,IAAI/J,KACJ,KAAI5M,EAAG,MAAO,KACd,IAAImB,EAEJ,IAAGnB,EAAE,KAAO,IAAK,CAChB4M,EAAEhM,EAAIyN,SAASR,YAAY7N,EAAE4E,OAAO5E,EAAEoH,QAAQ,KAAK,GAAGlH,MAAM,SAAS,IACrE0M,GAAEjF,EAAI3H,CACN,IAAG0W,KAAM9J,EAAEiC,EAAIjC,EAAEhM,MAGb,IAAIO,EAAInB,EAAE8G,MAAM,OAAS,CAC7B8F,EAAEjF,EAAI3H,CAEN4M,GAAEhM,EAAIyN,SAASR,YAAY7N,EAAE6E,QAAQ,YAAY,KACjD,IAAG6R,KAAM9J,EAAEiC,EAAI2G,SAASxV,GAIzB,MAAO4M,GAIR,IAAIgK,eAAgB,SAAS1L,KAAM7J,MAClC,GAAIuF,KAEJ,IAAIiQ,KAAM3L,KAAKpE,MAAM,GAAIiH,QAAO,gCAAiC,KACjE,IAAGmB,MAAM2H,KAAM,CACdjQ,EAAIiQ,IAAI,GAAGhS,QAAQ,oBAAoB,IAAI3E,MAAM,sBAAsBqJ,IAAI,SAASvJ,GAAK,MAAOyW,UAASzW,EAAGqB,QAAUyV,OAAO,SAAS9W,GAAK,MAAOA,IAClJ6W,KAAMpK,YAAYoK,IAAI,GAAKjQ,GAAEmQ,MAAQF,IAAIG,KAAOpQ,GAAEqQ,OAASJ,IAAIK,YAEhE,MAAOtQ,GAIR,IAAIuQ,mBAAoB,SAASjM,KAAMrK,QACtC,OAAQqK,KAAKqG,WAAW,GAAIrG,KAAKqG,WAAW,IAI7C,IAAI6F,eAAgB,SAASlM,KAAM7J,MAClC,GAAIuF,KACJ,IAAIyQ,MAAO,KACX1F,cAAazG,KAAM,SAAS1E,IAAKwL,EAAGD,IACnC,OAAOC,EAAEsF,GACR,IAAK,cAAe1Q,EAAEmQ,MAAQvQ,IAAI,EAAII,GAAEqQ,OAASzQ,IAAI,EAAI,MACzD,KAAK,aAAcI,EAAE+B,KAAKnC,IAAM,MAChC,KAAK,YAAa,MAAO,KAEzB,KAAK,cAAe6Q,KAAO,IAAM,MACjC,KAAK,YAAaA,KAAO,KAAO,MAChC,SAAS,IAAIA,MAAQhW,KAAKkW,IAAK,KAAM,IAAIxS,OAAM,qBAAuBgN,GAAK,IAAMC,EAAEsF,KAGrF,OAAO1Q,GAER,IAAI4Q,UAGJ,SAASC,cAAa7W,GACrB4W,OAAOE,YACP,KAAI,GAAIvW,KAAKtB,KAAIsK,OAAQqN,OAAOE,UAAUvW,GAAKtB,IAAIsK,OAAOhJ,EAC1DP,GAAE,GAAGkG,MAAM,YAAYoG,QAAQ,SAASlN,GACvC,GAAImB,GAAIsL,YAAYzM,EACpB,QAAOmB,EAAE,IACR,IAAK,WAAY,IAAK,aAAc,IAAK,aAAc,KACvD,KAAK,UAAW,CACf,GAAI8I,GAAE4D,YAAY1M,EAAEwW,YAAalP,EAAEwF,SAAS9M,EAAEyW,SAAS,GACvDJ,QAAOE,UAAUjP,GAAKwB,CAAG,IAAGxB,EAAE,EAAG5I,IAAIuK,KAAKH,EAAExB,GAC3C,KACF,SAAS,KAAM,gBAAkBtH,EAAE,GAAK,iBAM3C,QAAS0W,WAAUjX,GAClB4W,OAAOM,SACPlX,GAAE,GAAGkG,MAAM,YAAYoG,QAAQ,SAASlN,GACvC,GAAImB,GAAIsL,YAAYzM,EACpB,QAAOmB,EAAE,IACR,IAAK,WAAY,IAAK,aAAc,IAAK,aAAc,KAGvD,KAAK,YAAcA,GAAE,EACpB,IAAGA,EAAEyW,SAAUzW,EAAEyW,SAAW3J,SAAS9M,EAAEyW,SAAU,GACjDJ,QAAOM,OAAOnP,KAAKxH,EAAI,MACxB,KAAK,QAAS,KAGd,KAAK,aAAc,KAGnB,KAAK,cAAe,IAAK,gBAAiB,IAAK,gBAAiB,KAEhE,KAAK,UAAW,IAAK,YAAa,KAClC,KAAK,OAAQ,KACb,SAAS,KAAM,gBAAkBA,EAAE,GAAK,iBAM3C,QAAS4W,eAAc7M,MAEtB,GAAItK,EAGJ,IAAIA,EAAEsK,KAAKpE,MAAM,iCAAmC2Q,aAAa7W,EAQjE,IAAIA,EAAEsK,KAAKpE,MAAM,iCAAmC+Q,UAAUjX,EAO9D,OAAO4W,QAGR,QAASQ,cAAa9M,KAAMrK,QAC3B,GAAIoX,MAAO/M,KAAKqG,WAAW,EAC3B,IAAI2G,WAAYvF,mBAAmBzH,KAAKrK,OAAO,EAC/C,QAAQoX,KAAMC,WAIf,QAASC,eAAcjN,KAAMrK,QAC5B,GAAI4Q,MAAOvG,KAAKqG,WAAWC,KAAKtG,KAChC,IAAI1F,MAAO+M,SACX/M,KAAI4S,SAAW3G,KAAK,EACpBjM,KAAI6S,MAAQpD,gBAAgB/J,KAAM,EAClC1F,KAAI8S,IAAM7G,KAAK,EACfjM,KAAI+S,IAAM9G,KAAK,EACfjM,KAAIgT,IAAM/G,KAAK,EACfjM,KAAIiT,QAAUhH,KAAK,EACnBjM,KAAIkT,SAAWjH,KAAK,EACpBvG,MAAK3K,GACLiF,KAAImT,SAAWnE,eAAetJ,KAAM,EACpC1F,KAAIoT,YAAcnH,KAAK,EACvBjM,KAAI2F,KAAOwH,mBAAmBzH,KAAMrK,OAAS,GAE7C2E,KAAI+M,MAAMsG,KAAOrT,IAAI8S,MAAQ,GAC7B9S,KAAI+M,MAAMuG,OAAStT,IAAI6S,MAAMnD,OAC7B1P,KAAI+M,MAAMwG,UAAYvT,IAAI6S,MAAMlD,UAChC3P,KAAI+M,MAAMyG,QAAUxT,IAAI6S,MAAMjD,QAC9B5P,KAAI+M,MAAM0G,OAASzT,IAAI6S,MAAMhD,OAC7B7P,KAAI+M,MAAM2G,SAAW1T,IAAI6S,MAAM/C,SAC/B9P,KAAI+M,MAAM4G,OAAS3T,IAAI6S,MAAM9C,OAC7B/P,KAAI+M,MAAM6G,IAAM5T,IAAI+S,IAAM,CAC1B/S,KAAI+M,MAAM8G,IAAM7T,IAAI+S,IAAM,CAC1B,OAAO/S,KAIR,QAAS8T,aAAYpO,KAAMrK,QAC1B,GAAI0Y,YAAarO,KAAKqG,WAAW,EACjC,IAAI0G,MAAO/M,KAAKqG,WAAW,EAC3BG,WAAUxG,KAAMrK,OAAO,EACvB,QAAQ2Y,KAAKD,WAAYtB,KAAKA,MAI/B,QAASwB,eAAcvO,KAAM7J,MAC5BmW,OAAOE,YACP,KAAI,GAAIvW,KAAKtB,KAAIsK,OAAQqN,OAAOE,UAAUvW,GAAKtB,IAAIsK,OAAOhJ,EAE1DqW,QAAOM,SACP,IAAI4B,OAAQ,EACZ,IAAIrC,MAAO,KACX1F,cAAazG,KAAM,SAAS1E,IAAKwL,EAAGD,IACnC,OAAOC,EAAEsF,GACR,IAAK,SACJE,OAAOE,UAAUlR,IAAI,IAAMA,IAAI,EAAI3G,KAAIuK,KAAK5D,IAAI,GAAIA,IAAI,GACxD,MACD,KAAK,UAAW,KAChB,KAAK,gBAAiB,KACtB,KAAK,UAAW,KAChB,KAAK,YAAa,KAClB,KAAK,QACJ,GAAGkT,QAAU,UAAW,CACvBlC,OAAOM,OAAOnP,KAAKnC,KAEpB,KACD,KAAK,WAAY,KACjB,KAAK,YAAa,KAClB,KAAK,cAAe,KACpB,KAAK,SAAU,KACf,KAAK,cAAe,KACpB,KAAK,kBAAmB,KACxB,KAAK,qBAAsB,KAC3B,KAAK,mBAAoB,KACzB,KAAK,qBAAsB,KAC3B,KAAK,uBAAwB,KAC7B,KAAK,mBAAoB,KACzB,KAAK,eAAgBkT,MAAQ,MAAQ,MACrC,KAAK,aAAcA,MAAQ,EAAI,MAC/B,KAAK,gBAAiBA,MAAQ,OAAS,MACvC,KAAK,cAAeA,MAAQ,EAAI,MAChC,KAAK,aAAcA,MAAQ,SAAW,MACtC,KAAK,WAAYA,MAAQ,EAAI,MAC7B,KAAK,gBAAiBA,MAAQ,OAAS,MACvC,KAAK,cAAeA,MAAQ,EAAI,MAChC,KAAK,kBAAmBA,MAAQ,SAAW,MAC3C,KAAK,gBAAiBA,MAAQ,EAAI,MAClC,KAAK,uBAAwBA,MAAQ,cAAgB,MACrD,KAAK,qBAAsBA,MAAQ,EAAI,MACvC,KAAK,kBAAmBA,MAAQ,SAAW,MAC3C,KAAK,gBAAiBA,MAAQ,EAAI,MAClC,KAAK,iBAAkBA,MAAQ,QAAU,MACzC,KAAK,eAAgBA,MAAQ,EAAI,MACjC,KAAK,eAAgBA,MAAQ,MAAQ,MACrC,KAAK,aAAcA,MAAQ,EAAI,MAC/B,KAAK,sBAAuBA,MAAQ,aAAe,MACnD,KAAK,oBAAqBA,MAAQ,EAAI,MACtC,KAAK,uBAAwBA,MAAQ,cAAgB,MACrD,KAAK,qBAAsBA,MAAQ,EAAI,MACvC,KAAK,wBAAyBA,MAAQ,eAAiB,MACvD,KAAK,sBAAuBA,MAAQ,EAAI,MACxC,KAAK,oBAAqBA,MAAQ,WAAa,MAC/C,KAAK,kBAAmBA,MAAQ,EAAI,MACpC,KAAK,cAAerC,KAAO,IAAM,MACjC,KAAK,YAAaA,KAAO,KAAO,MAChC,KAAK,0BAA2B,KAChC,KAAK,uBAAwB,KAC7B,KAAK,qBAAsB,KAC3B,KAAK,kCAAmC,KACxC,KAAK,gCAAiC,KACtC,KAAK,yBAA0B,KAC/B,KAAK,uBAAwB,KAC7B,KAAK,wBAAyB,KAC9B,SAAS,IAAIA,MAAQhW,KAAKkW,IAAK,KAAM,IAAIxS,OAAM,qBAAuBgN,GAAK,IAAMC,EAAEsF,KAGrF,OAAOE,QAOR,GAAImC,UAEHC,gCAAiC,YACjCC,uDAAwD,YACxDC,0DAA2D,YAC3DC,6EAA8E,YAC9EC,gFAAiF,OAGjFC,qCAAsC,SACtCC,4EAA6E,SAC7EC,sCAAuC,OAGvCC,sCAAuC,OACvCC,6EAA8E,OAG9EC,uCAAwC,OACxCC,8EAA+E,OAG/EC,sCAAuC,OACvCC,0CAA2C,OAC3CC,0CAA2C,OAC3CC,sCAAuC,OAGvCC,yCAA0C,OAC1CC,gFAAiF,OAGjFC,kCAAmC,SACnCC,yEAA0E,SAG1EC,6DAA8D,YAC9DC,sEAAuE,YACvEC,wEAAyE,WAGzEC,wEAAyE,OAGzEC,oCAAqC,WACrCC,2EAA4E,WAG5EC,sCAAuC,OACvCC,6EAA8E,OAG9EC,qCAAsC,aACtCC,4EAA6E,aAG7EC,8EAA+E,OAG/EC,oCAAqC,OACrCC,wCAAyC,OAGzCC,4CAA6C,OAG7CC,uCAAwC,OACxCC,8EAA+E,OAG/EC,wCAAyC,OACzCC,+EAAgF,OAGhFC,yCAA0C,OAC1CC,gFAAiF,OAGjFC,gDAAiD,OACjDC,6CAA8C,OAC9CC,uFAAwF,OACxFC,oFAAqF,OAGrFC,sCAAuC,OACvCC,6EAA8E,OAG9EC,qCAAsC,OACtCC,2CAA4C,OAC5CC,uCAAwC,OACxCC,kFAAmF,OACnFC,8EAA+E,OAC/EC,4EAA6E,OAG7EC,4CAA6C,OAC7CC,mFAAoF,OAGpFC,kCAAmC,OACnCC,uCAAwC,OACxCC,sCAAuC,OACvCC,2CAA4C,OAG5CC,qCAAsC,OAGtCC,iCAAkC,OAClCC,wEAAyE,OAGzEC,0DAA2D,SAG3DC,wCAAyC,OACzCC,6CAA8C,OAG9CC,uCAAwC,MACxCC,gDAAiD,MAGjDC,iDAAkD,OAClDC,uFAAwF,OAGxFC,iDAAkD,OAGlDC,2DAA4D,OAG5DC,sCAAuC,OAGvCC,4DAA6D,OAC7DC,oEAAqE,OACrEC,0EAA2E,OAC3EC,4EAA6E,OAC7EC,0EAA2E,OAC3EC,4EAA6E,OAC7EC,2EAA4E,OAG5EC,2DAA4D,OAE5DC,2DAA4D,OAC5DC,0DAA2D,OAE3DC,IAAO,MAGR;GAAIC,UAAW,8DAEf,SAASC,YAAW7T,MACnB,GAAI8T,IAAMC,QAAQ,IAAM3a,IACxB,IAAI4a,UAAW,cAAe,cAAe,UAAW,aACxD,IAAIC,QAAS,oBAAoB,YAAY,gBAAgB,YAC7D,IAAIC,OAAQ,eAAgB,gBAC5B,IAAIC,SAAU,WAAY,gBAAiB,iBAAkB,cAAe,WAAY,UACxF,IAAIC,SAAU,UAAW,cAAe,aAAc,WAAY,UAAW,QAC7E,IAAIC,cAAe,UAAW,WAC9BH,MAAOA,KAAKjP,OAAOkP,OAAO9V,IAAI,SAASvJ,GAAK,MAAO,MAAQA,IAC3Dof,MAAOA,KAAKjP,OAAOmP,OAAO/V,IAAI,SAASvJ,GAAK,MAAO,MAAQA,IAC3Dof,MAAOA,KAAKjP,OAAOoP,YAAYhW,IAAI,SAASvJ,GAAK,MAAO,WAAaA,IAGrEkf,SAAQhS,QAAQ,SAASjD,GAAG+U,EAAE/U,IAAMiB,KAAKpE,MAAM4H,SAASzE,SAAS,IACjEkV,OAAMjS,QAAQ,SAASjD,GAAG+U,EAAE/U,IAAMiB,KAAKpE,MAAM4H,SAASzE,SAAS,IAAM,QACrEmV,MAAKlS,QAAQ,SAASjD,GACrB,GAAIuV,KAAMtU,KAAKpE,MAAM,GAAIiH,QAAO,IAAM9D,EAAI,eAAkBA,EAAI,KAChE,IAAGuV,KAAOA,IAAI3e,OAAS,EAAGyD,EAAE2F,GAAKuV,IAAI,IAGtC,IAAGlb,EAAEmb,cAAgBnb,EAAEob,cAAe,CACrC,GAAIhf,GAAIkO,YAAYtK,EAAEmb,aACtB,IAAI/W,GAAI,EAAGiX,KAAO,CAClB,KAAI,GAAIlX,GAAI,EAAGA,IAAM/H,EAAEG,SAAU4H,EAAG,CACnC,OAAO/H,EAAE+H,GAAG/H,GACX,IAAK,aAAcif,KAAOjX,CAAGsW,GAAEY,YAAelf,IAAI+H,GAAI,CAAG,MACzD,KAAK,iBAAkBA,CAAG,QAG5B,GAAIoX,OAAQjR,YAAYtK,EAAEob,eAAenW,IAAI,SAASvJ,GAAK,MAAOqO,UAASrO,EAAEU,IAC7Ese,GAAEc,WAAaD,MAAMjX,MAAM+W,KAAMA,KAAOX,EAAEY,YAE3CZ,EAAEe,QAAUzb,EAAE,aACd0a,GAAEgB,eAAiB1b,EAAE,oBACrB0a,GAAEiB,YAAc,GAAIta,MAAKrB,EAAE,mBAC3B0a,GAAEkB,aAAe,GAAIva,MAAKrB,EAAE,oBAC5B,OAAO0a,GAIR,QAASmB,kBAAiBjV,MACzB,GAAI8T,MAAQ7T,IACZD,MAAKpE,MAAM,mBAAmBoG,QAAQ,SAASlN,GAC9C,GAAImB,GAAIsL,YAAYzM,EACpB,QAAOmB,EAAE,IACR,IAAK,YAAagK,KAAOhK,EAAEgK,IAAM,MACjC,KAAK,cAAeA,KAAO,IAAM,MACjC,SAAS,GAAInL,EAAEoH,QAAQ,UAAY,EAAG,CACrC,GAAIgZ,MAAOpgB,EAAEE,MAAM,IACnB,IAAIoG,MAAO8Z,KAAK,GAAGC,UAAU,GAAIvS,KAAOsS,KAAK,EAE7C,QAAO9Z,MACN,IAAK,QAAS,IAAK,SAAU,IAAK,OAAQ,IAAK,SAC9C0Y,EAAE7T,MAAQ0C,YAAYC,KACtB,MACD,KAAK,OACJkR,EAAE7T,MAAQgD,aAAaL,KAAM,YAC7B,MACD,KAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,MAAO,IAAK,OAC5DkR,EAAE7T,MAAQ8C,SAASH,KAAM,GACzB,MACD,KAAK,KAAM,IAAK,KAAM,IAAK,UAC1BkR,EAAE7T,MAAQmV,WAAWxS,KACrB,MACD,KAAK,WAAY,IAAK,OACrBkR,EAAE7T,MAAQ2C,IACV,MACD,KAAK,KAAM,IAAK,QACfkR,EAAE7T,MAAQ0C,YAAYC,KACtB,MACD,SACCyS,QAAQC,KAAK,aAAcxgB,EAAGsG,KAAM8Z,UAKzC,OAAOpB,GAGR,GAAIyB,SACJ,SAASC,SAAQxV,KAAM7J,MACtB,IAAI6J,OAASA,KAAKpE,MAAO,MAAOoE,KAChC,IAAIyV,KAAOC,aAAeC,UAAYC,cAAgBC,UAAYvJ,UACjEwJ,aAAeC,YAAcC,aAAeC,QAASC,YAAcC,OACnEC,QAASC,MAAO,KAChBrW,KAAKpE,MAAM,iBAAiBoG,QAAQ,SAASlN,GAC7C,GAAImB,GAAIsL,YAAYzM,EACpB,QAAOmB,EAAE,IACR,IAAK,QAAS,KACd,KAAK,SAAUwf,GAAGY,MAAQpgB,EAAEogB,KAAO,MACnC,KAAK,WAAYd,MAAMtf,EAAEqgB,WAAargB,EAAEsgB,WAAa,MACrD,KAAK,YACJ,GAAGtgB,EAAEsgB,cAAe9H,SAAQgH,GAAGhH,QAAQxY,EAAEsgB,cAAc9Y,KAAKxH,EAAEugB,cACzD,IAAGrgB,KAAKkW,IAAKgJ,QAAQoB,MAAMxgB,EAAEsgB,YAClC,SAGH,IAAGd,GAAGY,QAAUzC,SAAU,KAAM,IAAI/Z,OAAM,sBAAwB4b,GAAGY,MACrEZ,IAAGiB,UAAYjB,GAAGG,WAAWjgB,OAAS,EAAI8f,GAAGG,WAAW,GAAK,EAC7DH,IAAG9J,IAAM8J,GAAGQ,KAAKtgB,OAAS,EAAI8f,GAAGQ,KAAK,GAAK,EAC3CR,IAAGtK,MAAQsK,GAAGnJ,OAAO3W,OAAS,EAAI8f,GAAGnJ,OAAO,GAAK,EACjDmJ,IAAGkB,SAAWpB,YACPE,IAAGG,UACV,OAAOH,IAMR,QAASmB,WAAU5W,KAAM6W,iBACxB,IAAK7W,KAAM,MAAOA,KAClB,IAAI6W,gBAAgBC,OAAO,KAAO,IAAK,CACtCD,gBAAkB,IAAIA,gBAEvB,GAAIE,QAEJ,IAAIC,iCAAkC,SAAUC,IAC/C,GAAIC,UAAWL,gBAAgB7hB,MAAM,IACrCkiB,UAASC,KACT,IAAIC,QAASH,GAAGjiB,MAAM,IACtB,IAAIqiB,YACJ,OAAOD,OAAOzhB,SAAW,EAAG,CAC3B,GAAI2hB,OAAQF,OAAOG,OACnB,IAAID,QAAU,KAAM,CACnBJ,SAASC,UACH,IAAIG,QAAU,IAAK,CACzBJ,SAASzZ,KAAK6Z,QAGhB,MAAOJ,UAAShiB,KAAK,KAGtB8K,MAAKpE,MAAM,YAAYoG,QAAQ,SAASlN,GACvC,GAAImB,GAAIsL,YAAYzM,EAEpB,IAAImB,EAAE,KAAO,gBAAiB,CAC7B,GAAIuhB,OAAUA,KAAIC,KAAOxhB,EAAEwhB,IAAMD,KAAIE,OAASzhB,EAAEyhB,MAAQF,KAAIG,GAAK1hB,EAAE0hB,EAAIH,KAAII,WAAa3hB,EAAE2hB,UAC1F,IAAIC,eAAgBb,gCAAgC/gB,EAAEyhB,OACtDX,MAAKc,eAAiBL,MAIxB,OAAOT,MAKR,QAASe,cAAa9X,KAAM7J,MAC3B,GAAIV,KACJ,IAAIJ,GAAI,EAAGkI,EAAI,GACdyC,KAAKpE,MAAM,iBAAiBoG,QAAQ,SAASlN,GAC7C,GAAImB,GAAIsL,YAAYzM,EACpB,QAAOmB,EAAE,IACR,IAAK,QAAS,KAEd,KAAK,aAAc,IAAK,cAAe,IAAK,eAAgB,KAE5D,KAAK,WAAaA,GAAE,EAAI,IAAGA,EAAEsH,EAAGA,EAAItH,EAAEsH,MAAQtH,GAAEsH,EAAIA,CAAG9H,GAAEgI,KAAKxH,EAAI,SAGpE,OAAOR,GAIR,GAAIsiB,yBAA0B,SAAS/X,KAAMrK,QAC5C,GAAI2E,OACJA,KAAIiD,EAAIyC,KAAKqG,WAAW,EACxB,IAAIqC,QACJA,MAAKjM,EAAIuD,KAAKqG,WAAW,EACzBqC,MAAKtT,EAAI4K,KAAKqG,WAAW,EACzB/L,KAAImC,EAAIub,YAAYtP,KACpB,IAAIrB,OAAQrH,KAAKqG,WAAW,EAC5B,IAAGgB,MAAQ,EAAK/M,IAAIjF,EAAI,GACxB,IAAGgS,MAAQ,EAAK/M,IAAI2d,EAAI,GACxB,OAAO3d,KAIR,SAAS4d,cAAalY,KAAM7J,MAC3B,GAAImE,OACJ,IAAI6R,MAAO,KACX1F,cAAazG,KAAM,SAAS1E,IAAKwL,EAAGD,IACnC,OAAOC,EAAEsF,GACR,IAAK,oBAAqB9R,IAAImD,KAAKnC,IAAM,MACzC,KAAK,qBAAsB,KAC3B,KAAK,mBAAoB,KACzB,SAAS,IAAI6Q,MAAQhW,KAAKkW,IAAK,KAAM,IAAIxS,OAAM,qBAAuBgN,GAAK,IAAMC,EAAEsF,KAGrF,OAAO9R,KAGR,QAAS6d,oBAAmBnY,KAAM7J,MACjC,GAAG6J,KAAKpE,MAAM,2BAA4B,QAC1C,IAAIwc,WACJ,IAAIC,eACJrY,MAAKpE,MAAM,uDAAuD,GAAG5G,MAAM,uBAAuBgN,QAAQ,SAASlN,GAClH,GAAGA,IAAM,IAAMA,EAAEwjB,SAAW,GAAI,MAChCF,SAAQ3a,KAAK3I,EAAE8G,MAAM,8BAA8B,OAEnDoE,KAAKpE,MAAM,iEAAiE,GAAG,KAAK,GAAG5G,MAAM,wBAAwBgN,QAAQ,SAASlN,EAAG2U,OACzI,GAAG3U,IAAM,IAAMA,EAAEwjB,SAAW,GAAI,MAChC,IAAIriB,GAAIsL,YAAYzM,EAAE8G,MAAM,2BAA2B,GACvD,IAAI2c,UAAYC,OAAQviB,EAAEwiB,UAAYL,QAAQniB,EAAEwiB,UAAYL,QAAQniB,EAAEwiB,UAAYviB,UAAWwiB,IAAKziB,EAAEyiB,IAAKC,KAAM1iB,EAAE0iB,KACjH,IAAIjQ,MAAOkQ,YAAY3iB,EAAEyiB,IACzB,IAAGviB,KAAK0iB,WAAa1iB,KAAK0iB,WAAanQ,KAAKjM,EAAG,MAC/C,IAAIqc,WAAYhkB,EAAE8G,MAAM,8BACxB,KAAKkd,YAAcA,UAAU,GAAI,MACjC,IAAIC,IAAKxN,SAASuN,UAAU,GAC5BP,SAAQ9b,EAAIsc,GAAGtc,CACf8b,SAAQ7iB,EAAIqjB,GAAGrjB,CACf,IAAGS,KAAKsV,SAAU8M,QAAQ5U,EAAIoV,GAAGpV,CACjC0U,aAAY5a,KAAK8a,UAElB,OAAOF,aAGR,GAAIW,uBAAwB,SAAShZ,KAAMrK,QAC1C,GAAI2E,OACJA,KAAI2e,QAAUjZ,KAAKqG,WAAW,EAC9B,IAAI6S,KAAMzQ,mBAAmBzI,KAAM,GACnC1F,KAAI4e,IAAMA,IAAIxd,CACdpB,KAAIoe,IAAMV,YAAYkB,IAAIxd,EAC1BsE,MAAK3K,GAAK,EACV,OAAOiF,KAIR,IAAI6e,wBAAyB1R,kBAG7B,IAAI2R,sBAAuBjS,aAG3B,SAASkS,oBAAmBrZ,KAAM7J,MACjC,GAAImE,OACJ,IAAI8d,WACJ,IAAIhjB,KACJ,IAAI+W,MAAO,KACX1F,cAAazG,KAAM,SAAS1E,IAAKwL,EAAGD,IACnC,OAAOC,EAAEsF,GACR,IAAK,mBAAoBgM,QAAQ3a,KAAKnC,IAAM,MAC5C,KAAK,kBAAmBlG,EAAIkG,GAAK,MACjC,KAAK,iBAAkBlG,EAAEM,EAAI4F,IAAI5F,CAAGN,GAAEuO,EAAIrI,IAAIqI,CAAGvO,GAAEqH,EAAInB,IAAImB,CAAG,MAC9D,KAAK,gBACJrH,EAAEojB,OAASJ,QAAQhjB,EAAE6jB,eACd7jB,GAAE6jB,OACT,IAAG9iB,KAAK0iB,WAAa1iB,KAAK0iB,WAAazjB,EAAE8jB,IAAIzc,EAAG,YACzCrH,GAAE8jB,GAAK5e,KAAImD,KAAKrI,EAAI,MAC5B,KAAK,mBAAoB,KACzB,KAAK,iBAAkB,KACvB,KAAK,yBAA0B,KAC/B,KAAK,uBAAwB,KAC7B,KAAK,sBAAuB,KAC5B,KAAK,oBAAqB,KAC1B,SAAS,IAAI+W,MAAQhW,KAAKkW,IAAK,KAAM,IAAIxS,OAAM,qBAAuBgN,GAAK,IAAMC,EAAEsF,KAGrF,OAAO9R,KAGR,QAASgf,gBAAe3Y,IAAK4Y,YAAa5D,OAAQ6D,UAAWrjB,MAC5D,IAAI,GAAIoH,GAAI,EAAGA,GAAKgc,YAAY5jB,SAAU4H,EAAG,CAC5C,GAAIkc,eAAcF,YAAYhc,EAC9B,IAAI2Y,UAASwD,WAAW5Y,WAAWH,IAAK8Y,cAAc9f,QAAQ,MAAM,IAAK,MAAO8f,cAAetjB,KAC/F,KAAI+f,WAAaA,SAASvgB,OAAQ,QAElC,IAAIgkB,YAAa7X,OAAOC,KAAK4T,OAC7B,KAAI,GAAInY,GAAI,EAAGA,GAAKmc,WAAWhkB,SAAU6H,EAAG,CAC3C,GAAIoc,WAAYD,WAAWnc,EAC3B,IAAIuZ,MAAOyC,UAAUI,UACrB,IAAG7C,KAAM,CACR,GAAIS,KAAMT,KAAK0C,cACf,IAAGjC,IAAKqC,wBAAwBD,UAAWjE,OAAOiE,WAAY1D,aAMlE,QAAS2D,yBAAwBD,UAAWE,MAAO5D,UAClDA,SAASlU,QAAQ,SAASuW,SACzB,GAAI7P,MAAOoR,MAAMvB,QAAQG,IACzB,KAAKhQ,KAAM,CACVA,OACAoR,OAAMvB,QAAQG,KAAOhQ,IACrB,IAAIqR,OAAQC,aAAaF,MAAM,SAAS,kBACxC,IAAIG,UAAWrB,YAAYL,QAAQG,IACnC,IAAGqB,MAAMre,EAAEe,EAAIwd,SAASxd,EAAGsd,MAAMre,EAAEe,EAAIwd,SAASxd,CAChD,IAAGsd,MAAM/Y,EAAEvE,EAAIwd,SAASxd,EAAGsd,MAAM/Y,EAAEvE,EAAIwd,SAASxd,CAChD,IAAGsd,MAAMre,EAAEtG,EAAI6kB,SAAS7kB,EAAG2kB,MAAMre,EAAEtG,EAAI6kB,SAAS7kB,CAChD,IAAG2kB,MAAM/Y,EAAE5L,EAAI6kB,SAAS7kB,EAAG2kB,MAAM/Y,EAAE5L,EAAI6kB,SAAS7kB,CAChD,IAAI8kB,SAAUC,aAAaJ,MAC3B,IAAIG,UAAYJ,MAAM,QAASA,MAAM,QAAUI,QAGhD,IAAKxR,KAAKtT,EAAGsT,KAAKtT,IAClB,IAAIY,IAAKiiB,EAAGM,QAAQC,OAAQ9iB,EAAG6iB,QAAQ7iB,EAAG+G,EAAG8b,QAAQ9b,EACrD,IAAG8b,QAAQ5U,EAAG3N,EAAE2N,EAAI4U,QAAQ5U,CAC5B+E,MAAKtT,EAAEqI,KAAKzH,KAKd,GAAIokB,yBAA0B,SAASpa,KAAMrK,QAC5C,GAAI0kB,KAAMra,KAAKqG,WAAW,EAC1B,OAAOG,WAAUxG,KAAMrK,OAAO,GAE/B,IAAIsgB,QACJ,IAAIqE,YAGJ,SAASC,cAAava,KAAM7J,MAC3B,IAAI6J,KAAM,MAAOA,KAEjB,IAAItE,KAGJ,IAAIgd,KAAM1Y,KAAKpE,MAAM,iCACrB,IAAG8c,KAAOA,IAAI/iB,QAAU,GAAK+iB,IAAI,GAAGxc,QAAQ,QAAU,EAAGR,EAAE,QAAUgd,IAAI,EAGzE,IAAI8B,cACJ,IAAGxa,KAAKpE,MAAM,kBAAmB,CAChC,GAAI6e,QAASza,KAAKpE,MAAM,uCACxB4e,YAAaC,OAAOpc,IAAI,SAAS0b,OAChC,MAAOC,cAAa,sCAAsCU,KAAKX,OAAO,MAIxE,GAAIY,WAAYjf,GAAIe,EAAE,IAASrH,EAAE,KAAU4L,GAAIvE,EAAE,EAAGrH,EAAE,GACtD,IAAIgE,IAAK,IAAI,IACb,IAAIwhB,MAAO,CAGX,KAAI5a,KAAKpE,MAAM,0BACfoE,KAAKpE,MAAM,2DAA2D,GAAG5G,MAAM,oBAAoBgN,QAAQ,SAASlN,GACnH,GAAGA,IAAM,IAAMA,EAAEwjB,SAAW,GAAI,MAGhC,IAAIuC,KAAMtZ,YAAYzM,EAAE8G,MAAM,uBAAuB,GACrD,IAAGzF,KAAK0iB,WAAa1iB,KAAK0iB,WAAagC,IAAIpe,EAAG,MAC9C,IAAGke,SAASjf,EAAEe,EAAIoe,IAAIpe,EAAI,EAAGke,SAASjf,EAAEe,EAAIoe,IAAIpe,EAAI,CACpD,IAAGke,SAAS3Z,EAAEvE,EAAIoe,IAAIpe,EAAI,EAAGke,SAAS3Z,EAAEvE,EAAIoe,IAAIpe,EAAI,CAEpD,IAAIqe,OAAQhmB,EAAE4E,OAAO5E,EAAEoH,QAAQ,KAAK,GAAGlH,MAAM,eAC7C8lB,OAAM9Y,QAAQ,SAAS5M,EAAG+G,KAAO,GAAG/G,IAAM,IAAMA,EAAEkjB,SAAW,GAAI,MAChE,IAAIyC,MAAO3lB,EAAEwG,MAAM,qBACnBxG,GAAI,MAAQA,CACZ,IAAG2lB,MAAQA,KAAKplB,QAAU,EAAGwG,IAAMyc,YAAYmC,KAAK,IAAI3lB,CACxD,IAAIsT,MAAOnH,aAAanM,EAAEwG,MAAM,cAAcxG,IAAI,UAAYsT,MAAK,EACnE,IAAIjT,GAAIL,EAAEsE,OAAOtE,EAAE8G,QAAQ,KAAK,EAChC,IAAI4X,KACJ1a,GAAE4I,QAAQ,SAASjD,GAAG,GAAIjK,GAAEW,EAAEmG,MAAM4H,SAASzE,GAAI,IAAGjK,EAAEgf,EAAE/U,GAAG4D,YAAY7N,EAAE,KAEzE,IAAG4T,KAAKhT,IAAMQ,WAAa4d,EAAEte,IAAMU,UAAW,CAC7C,IAAIC,KAAK6kB,WAAY,MACrBlH,GAAEpe,EAAI,KAAOoe,GAAEte,EAAIU,cAEf4d,GAAEpe,EAAKgT,KAAKhT,EAAIgT,KAAKhT,EAAI,GAC9B,IAAGilB,SAASjf,EAAEtG,EAAI+G,IAAKwe,SAASjf,EAAEtG,EAAI+G,GACtC,IAAGwe,SAAS3Z,EAAE5L,EAAI+G,IAAKwe,SAAS3Z,EAAE5L,EAAI+G,GAEtC,QAAO2X,EAAEpe,GACR,IAAK,IAAKoe,EAAEte,EAAI4f,WAAWtB,EAAEte,EAAI,MACjC,KAAK,IAAK,CACTolB,KAAO7X,SAAS+Q,EAAEte,EAAG,GACrBse,GAAEte,EAAIygB,KAAK2E,MAAMllB,CACjBoe,GAAErX,EAAIwZ,KAAK2E,MAAMne,CACjB,IAAGtG,KAAKsV,SAAUqI,EAAEnQ,EAAIsS,KAAK2E,MAAMjX,EAClC,KACF,KAAK,MAAO,GAAGmQ,EAAEte,EAAGse,EAAEte,EAAI2N,SAAS2Q,EAAEte,EAAI,MACzC,KAAK,YACJ,GAAIylB,IAAKxlB,EAAEmG,MAAM,iBACjBqf,IAAKA,GAAK1P,SAAS0P,GAAG,KAAOvlB,EAAE,GAAG+G,EAAE,GACpCqX,GAAEpe,EAAI,KAAOoe,GAAEte,EAAIylB,GAAGvlB,CACtB,MACD,KAAK,IAAK,SAAUoe,GAAEte,IAAM,UAAWse,EAAEte,EAAIyN,aAAa6Q,EAAEte,EAAI,MAChE,KAAK,IACJ,GAAI0lB,OAAQzgB,KAAK0gB,MAAMrH,EAAEte,EACzBse,GAAEte,GAAK0lB,MAAQ,GAAIzgB,MAAKA,KAAK2gB,IAAI,KAAM,GAAI,OAAS,GAAK,GAAK,GAAK,IACnEtH,GAAEpe,EAAI,GACN,MAED,KAAK,IAAKoe,EAAEuH,IAAMhS,MAAMyK,EAAEte,EAAI,OAI/B,GAAI8lB,OAAQ,CACZ,IAAG5S,KAAKhN,GAAK4Q,OAAOM,OAAQ,CAC3B,GAAI2O,IAAKjP,OAAOM,OAAOlE,KAAKhN,EAC5B,IAAG6f,IAAMA,GAAG7O,SAAU4O,MAAQC,GAAG7O,SAElC,IACCoH,EAAE5V,EAAIvJ,IAAImK,OAAOwc,MAAMxH,EAAEte,EAAE8kB,SAC3B,IAAGnkB,KAAKqlB,OAAQ1H,EAAEpS,EAAI/M,IAAIsK,OAAOqc,OAChC,MAAMta,GAAK,GAAG7K,KAAKkW,IAAK,KAAMrL,GAChCtF,EAAEgN,KAAKjM,GAAKqX,KAGd,KAAIpY,EAAE,SAAWif,SAAS3Z,EAAE5L,GAAKulB,SAASjf,EAAEtG,GAAKulB,SAAS3Z,EAAEvE,GAAKke,SAASjf,EAAEe,EAAGf,EAAE,QAAUye,aAAaQ,SACxG,IAAGxkB,KAAK0iB,WAAand,EAAE,QAAS,CAC/B,GAAI+f,QAASzB,aAAate,EAAE,QAC5B,IAAGvF,KAAK0iB,WAAa4C,OAAOza,EAAEvE,EAAG,CAChCgf,OAAOza,EAAEvE,EAAItG,KAAK0iB,UAAY,CAC9B,IAAG4C,OAAOza,EAAEvE,EAAIke,SAAS3Z,EAAEvE,EAAGgf,OAAOza,EAAEvE,EAAIke,SAAS3Z,EAAEvE,CACtD,IAAGgf,OAAOza,EAAEvE,EAAIgf,OAAO/f,EAAEe,EAAGgf,OAAO/f,EAAEe,EAAIgf,OAAOza,EAAEvE,CAClD,IAAGgf,OAAOza,EAAE5L,EAAIulB,SAAS3Z,EAAE5L,EAAGqmB,OAAOza,EAAE5L,EAAIulB,SAAS3Z,EAAE5L,CACtD,IAAGqmB,OAAOza,EAAE5L,EAAIqmB,OAAO/f,EAAEtG,EAAGqmB,OAAO/f,EAAEtG,EAAIqmB,OAAOza,EAAE5L,CAClDsG,GAAE,YAAcA,EAAE,OAClBA,GAAE,QAAUye,aAAasB,SAG3B,GAAGjB,WAAW7kB,OAAS,EAAG+F,EAAE,WAAa8e,UACzC,OAAO9e,GAKR,GAAIggB,iBAAkB,SAAS1b,KAAMrK,QACpC,GAAI+L,KACJA,GAAEjF,EAAIuD,KAAKqG,WAAW,EACtBrG,MAAK3K,GAAKM,OAAO,CACjB,OAAO+L,GAIR,IAAIia,gBAAiBlT,kBAGrB,IAAImT,iBAAkB,SAAS5b,KAAMrK,QACpC,GAAI+L,KAEJ1B,MAAK3K,GAAK,EACVqM,GAAEzB,KAAOiI,eAAelI,KAAMrK,OAAS,GACvC,OAAO+L,GAIR,IAAIma,oBAAqB,SAAS7b,KAAMrK,QACvC,GAAI+S,MAAOZ,WAAW9H,KACtB,QAAQ0I,MAIT,IAAIoT,mBAAoB,SAAS9b,KAAMrK,QACtC,GAAI+S,MAAOZ,WAAW9H,KACtB,IAAI+b,OAAQ/b,KAAKqG,WAAW,EAC5B,QAAQqC,KAAMqT,MAAO,KAItB,IAAIC,oBAAqB,SAAShc,KAAMrK,QACvC,GAAI+S,MAAOZ,WAAW9H,KACtB,IAAI+b,OAAQ/b,KAAKqG,WAAW,EAC5B,QAAQqC,KAAMqT,MAAO,KAItB,IAAIE,mBAAoB,SAASjc,KAAMrK,QACtC,GAAI+S,MAAOZ,WAAW9H,KACtB,IAAIkc,MAAOlc,KAAKqG,WAAW,EAC3B,QAAQqC,KAAMwT,KAAM,KAIrB,IAAIC,mBAAoB,SAASnc,KAAMrK,QACtC,GAAI+S,MAAOZ,WAAW9H,KACtB,IAAIkD,OAAQ0F,WAAW5I,KACvB,QAAQ0I,KAAMxF,MAAO,KAItB,IAAIkZ,iBAAkB,SAASpc,KAAMrK,QACpC,GAAI+S,MAAOZ,WAAW9H,KACtB,IAAIkD,OAAQmF,eAAerI,KAC3B,QAAQ0I,KAAMxF,MAAO,KAItB,IAAImZ,iBAAkB,SAASrc,KAAMrK,QACpC,GAAI+S,MAAOZ,WAAW9H,KACtB,IAAIkD,OAAQuE,mBAAmBzH,KAC/B,QAAQ0I,KAAMxF,MAAO,OAItB,IAAIoZ,mBAAoB,SAAStc,KAAMrK,OAAQQ,MAC9C,GAAIuS,MAAOZ,WAAW9H,KACtB,IAAIkD,OAAQlD,KAAKqG,WAAW,EAC5B,IAAIrQ,IAAK0S,KAAMxF,MAAO,IACtB,IAAG/M,KAAKomB,YAAa,CACpB,GAAIC,SAAUpC,wBAAwBpa,KAAMrK,OAAO,EACnDK,GAAE,GAAK,OAEHgK,MAAK3K,GAAKM,OAAO,CACtB,OAAOK,GAIR,IAAIymB,oBAAqB,SAASzc,KAAMrK,OAAQQ,MAC/C,GAAIuS,MAAOZ,WAAW9H,KACtB,IAAIkD,OAAQlD,KAAKqG,WAAW,EAC5B,IAAIrQ,IAAK0S,KAAMxF,MAAO,IACtB,IAAG/M,KAAKomB,YAAa,CACpB,GAAIC,SAAUpC,wBAAwBpa,KAAMrK,OAAO,EACnDK,GAAE,GAAK,OAEHgK,MAAK3K,GAAKM,OAAO,CACtB,OAAOK,GAIR,IAAI0mB,kBAAmB,SAAS1c,KAAMrK,OAAQQ,MAC7C,GAAIuS,MAAOZ,WAAW9H,KACtB,IAAIkD,OAAQ0F,WAAW5I,KACvB,IAAIhK,IAAK0S,KAAMxF,MAAO,IACtB,IAAG/M,KAAKomB,YAAa,CACpB,GAAIC,SAAUpC,wBAAwBpa,KAAMrK,OAAS,GACrDK,GAAE,GAAK,OAEHgK,MAAK3K,GAAKM,OAAO,EACtB,OAAOK,GAIR,IAAI2mB,qBAAsB,SAAS3c,KAAMrK,OAAQQ,MAChD,GAAIiR,OAAQpH,KAAK3K,CACjB,IAAIqT,MAAOZ,WAAW9H,KACtB,IAAIkD,OAAQuE,mBAAmBzH,KAC/B,IAAIhK,IAAK0S,KAAMxF,MAAO,MACtB,IAAG/M,KAAKomB,YAAa,CACpB,GAAIC,SAAUpC,wBAAwBpa,KAAMoH,MAAQzR,OAASqK,KAAK3K,EAClEW,GAAE,GAAK,OAEHgK,MAAK3K,EAAI+R,MAAQzR,MACtB,OAAOK,GAIR,IAAI4mB,oBAAqBnU,kBAGzB,IAAIoU,cAAe,SAAS7c,KAAM7J,MACjC,IAAI6J,KAAM,MAAOA,KACjB,IAAItE,KAEJ,IAAIgd,IACJ,IAAIiC,WAAYjf,GAAIe,EAAE,IAASrH,EAAE,KAAU4L,GAAIvE,EAAE,EAAGrH,EAAE,GAEtD,IAAI+W,MAAO,MAAO2Q,IAAM,KACxB,IAAIjC,KAAK/G,EAAGyH,EACZ,IAAIf,cACJ/T,cAAazG,KAAM,SAAS1E,IAAKwL,GAChC,GAAGgW,IAAK,MACR,QAAOhW,EAAEsF,GACR,IAAK,WAAYsM,IAAMpd,GAAK,MAC5B,KAAK,YACJuf,IAAMvf,GACN,IAAGnF,KAAK0iB,WAAa1iB,KAAK0iB,WAAagC,IAAIpe,EAAGqgB,IAAI,IAClD,MAED,KAAK,cACL,IAAK,eACL,IAAK,aACL,IAAK,gBACL,IAAK,cACL,IAAK,eACL,IAAK,cACL,IAAK,cACL,IAAK,YACL,IAAK,YACJhJ,GAAKpe,EAAE4F,IAAI,GACX,QAAOA,IAAI,IACV,IAAK,IAAKwY,EAAEte,EAAI8F,IAAI,EAAI,MACxB,KAAK,IAAKwY,EAAEte,EAAIygB,KAAK3a,IAAI,IAAI5F,CAAGoe,GAAErX,EAAIwZ,KAAK3a,IAAI,IAAImB,CAAG,MACtD,KAAK,IAAKqX,EAAEte,EAAI8F,IAAI,GAAK,KAAO,KAAO,MACvC,KAAK,IAAKwY,EAAEuH,IAAM/f,IAAI,EAAIwY,GAAEte,EAAIqT,KAAKiL,EAAEuH,IAAM,MAC7C,KAAK,MAAOvH,EAAEte,EAAI2N,SAAS7H,IAAI,GAAK,OAErC,GAAGnF,KAAKomB,aAAejhB,IAAI3F,OAAS,EAAGme,EAAE/U,EAAIzD,IAAI,EACjD,IAAIigB,GAAKjP,OAAOM,OAAOtR,IAAI,GAAG0M,WAAa,IAC1C8L,EAAE5V,EAAIvJ,IAAImK,OAAOyc,GAAGxO,KAAK+G,EAAEte,EAAE8kB,SAC7B,IAAGnkB,KAAKqlB,OAAQ1H,EAAEpS,EAAI/M,IAAIsK,OAAOsc,GAAGxO,MACnC,MAAM/L,GAAK,GAAG7K,KAAKkW,IAAK,KAAMrL,GAChCtF,EAAEsc,aAAa5iB,EAAEkG,IAAI,GAAGlG,EAAEqH,EAAEoe,IAAIpe,KAAOqX,CACvC,IAAG6G,SAASjf,EAAEe,EAAIoe,IAAIpe,EAAGke,SAASjf,EAAEe,EAAIoe,IAAIpe,CAC5C,IAAGke,SAASjf,EAAEtG,EAAIkG,IAAI,GAAGlG,EAAGulB,SAASjf,EAAEtG,EAAIkG,IAAI,GAAGlG,CAClD,IAAGulB,SAAS3Z,EAAEvE,EAAIoe,IAAIpe,EAAGke,SAAS3Z,EAAEvE,EAAIoe,IAAIpe,CAC5C,IAAGke,SAAS3Z,EAAE5L,EAAIkG,IAAI,GAAGlG,EAAGulB,SAAS3Z,EAAE5L,EAAIkG,IAAI,GAAGlG,CAClD,MAED,KAAK,eAAgB,IAAIe,KAAK6kB,WAAY,KACzClH,IAAKpe,EAAE,MAAMF,EAAEU,UACfwF,GAAEsc,aAAa5iB,EAAEkG,IAAI,GAAGlG,EAAEqH,EAAEoe,IAAIpe,KAAOqX,CACvC,IAAG6G,SAASjf,EAAEe,EAAIoe,IAAIpe,EAAGke,SAASjf,EAAEe,EAAIoe,IAAIpe,CAC5C,IAAGke,SAASjf,EAAEtG,EAAIkG,IAAI,GAAGlG,EAAGulB,SAASjf,EAAEtG,EAAIkG,IAAI,GAAGlG,CAClD,IAAGulB,SAAS3Z,EAAEvE,EAAIoe,IAAIpe,EAAGke,SAAS3Z,EAAEvE,EAAIoe,IAAIpe,CAC5C,IAAGke,SAAS3Z,EAAE5L,EAAIkG,IAAI,GAAGlG,EAAGulB,SAAS3Z,EAAE5L,EAAIkG,IAAI,GAAGlG,CAClD,MAGD,KAAK,qBAAsB,KAC3B,KAAK,mBAAoB,KACzB,KAAK,eAAgBolB,WAAW/c,KAAKnC,IAAM,MAE3C,KAAK,aAAc,KACnB,KAAK,aAAc,KACnB,KAAK,gBAAiB,KACtB,KAAK,YAAa,KAClB,KAAK,mBAAoB,KACzB,KAAK,kBAAmB,KACxB,KAAK,iBAAkB,KACvB,KAAK,UAAW,KAChB,KAAK,SAAU,KACf,KAAK,eAAgB,KACrB,KAAK,gBAAiB,KACtB,KAAK,aAAc,KACnB,KAAK,eAAgB,KACrB,KAAK,WAAY,KACjB,KAAK,mBAAoB,KACzB,KAAK,eAAgB,KACrB,KAAK,mBAAoB,KACzB,KAAK,aAAc,KACnB,KAAK,iBAAkB,KACvB,KAAK,oBAAqB,KAC1B,KAAK,kBAAmB,KACxB,KAAK,qBAAsB,KAC3B,KAAK,kBAAmB,KACxB,KAAK,aAAc,KACnB,KAAK,eAAgB,KACrB,KAAK,cAAe6Q,KAAO,IAAM,MACjC,KAAK,YAAaA,KAAO,KAAO,MAChC,KAAK,cAAe,KACpB,KAAK,WAAY,KACjB,KAAK,aAAc,KACnB,KAAK,mBAAoB,KACzB,KAAK,qBAAsB,KAC3B,KAAK,kBAAmB,KACxB,KAAK,uBAAwB,KAC7B,KAAK,qBAAsB,KAC3B,KAAK,SAAU,KACf,KAAK,gBAAiB,KACtB,KAAK,cAAe,KACpB,KAAK,iBAAkB,KACvB,KAAK,eAAgB,KACrB,KAAK,sBAAuB,KAC5B,KAAK,qBAAsB,KAC3B,KAAK,mBAAoB,KACzB,KAAK,oBAAqB,KAC1B,KAAK,WAAY,KACjB,KAAK,qBAAsB,KAC3B,KAAK,eAAgB,KACrB,KAAK,mBAAoB,KACzB,KAAK,oBAAqB,KAC1B,KAAK,cAAe,KACpB,KAAK,kBAAmB,KACxB,KAAK,oBAAqB,KAC1B,KAAK,mBAAoB,KACzB,KAAK,iBAAkB,KACvB,KAAK,kBAAmB,KACxB,KAAK,gCAAiC,KACtC,KAAK,8BAA+B,KACpC,KAAK,iBAAkB,KACvB,KAAK,eAAgB,KACrB,KAAK,gBAAiB,KACtB,KAAK,UAAW,KAChB,KAAK,cAAe,KACpB,KAAK,qBAAsB,KAC3B,KAAK,eAAgB,KACrB,KAAK,aAAc,KACnB,KAAK,gBAAiB,KACtB,KAAK,UAAW,KAChB,KAAK,cAAe,KAGpB,KAAK,0BAA2B,KAChC,KAAK,aAAc,KACnB,KAAK,wBAAyB,KAG9B,KAAK,kBAAmB,KACxB,KAAK,gBAAiB,KACtB,KAAK,uBAAwB,KAC7B,KAAK,kBAAmB,KACxB,KAAK,YAAa,KAClB,KAAK,gBAAiB,KACtB,KAAK,qBAAsB,KAC3B,KAAK,mBAAoB,KACzB,KAAK,iBAAkB,KACvB,KAAK,wBAAyB,KAC9B,KAAK,kBAAmB,KACxB,KAAK,sBAAuB,KAG5B,KAAK,sBAAuB,KAC5B,KAAK,eAAgB,KACrB,KAAK,oBAAqB,KAG1B,KAAK,WAAY,KAGjB,KAAK,wBAAyB,KAC9B,KAAK,kBAAmB,KACxB,KAAK,sBAAuB,KAE5B,SAAS,IAAIA,MAAQhW,KAAKkW,IAAK,KAAM,IAAIxS,OAAM,qBAAuBiN,EAAEsF,KAEvEjW,KACH,KAAIuF,EAAE,SAAWgd,IAAKhd,EAAE,QAAUye,aAAazB,IAC/C,IAAGviB,KAAK0iB,WAAand,EAAE,QAAS,CAC/B,GAAI+f,QAASzB,aAAate,EAAE,QAC5B,IAAGvF,KAAK0iB,WAAa4C,OAAOza,EAAEvE,EAAG,CAChCgf,OAAOza,EAAEvE,EAAItG,KAAK0iB,UAAY,CAC9B,IAAG4C,OAAOza,EAAEvE,EAAIke,SAAS3Z,EAAEvE,EAAGgf,OAAOza,EAAEvE,EAAIke,SAAS3Z,EAAEvE,CACtD,IAAGgf,OAAOza,EAAEvE,EAAIgf,OAAO/f,EAAEe,EAAGgf,OAAO/f,EAAEe,EAAIgf,OAAOza,EAAEvE,CAClD,IAAGgf,OAAOza,EAAE5L,EAAIulB,SAAS3Z,EAAE5L,EAAGqmB,OAAOza,EAAE5L,EAAIulB,SAAS3Z,EAAE5L,CACtD,IAAGqmB,OAAOza,EAAE5L,EAAIqmB,OAAO/f,EAAEtG,EAAGqmB,OAAO/f,EAAEtG,EAAIqmB,OAAOza,EAAE5L,CAClDsG,GAAE,YAAcA,EAAE,OAClBA,GAAE,QAAUye,aAAasB,SAG3B,GAAGjB,WAAW7kB,OAAS,EAAG+F,EAAE,WAAa8e,UACzC,OAAO9e,GAIR,IAAIqhB,aACHC,kBAAmB,IACnBC,qBAAsB,IACtBC,WAAY,IACZC,mBAAoB,IACpBC,SAAU,GACVhnB,SAAU,IACVinB,kBAAmB,IAEnBC,cAAe,IACfC,mBAAoB,IACpBC,kBAAmB,IACnBC,aAAc,IACdC,sBAAuB,MACvBC,uBAAwB,IACxBC,2BAA4B,IAC5BC,kBAAmB,IACnBC,YAAa,MACbC,qBAAsB,IAKvB,IAAIC,YACHC,UAAW,IACXC,uBAAwB,IACxBC,WAAY,IACZC,UAAW,IACXC,qBAAsB,IACtBC,cAAe,IACfC,mBAAoB,IACpBC,SAAU,MACVC,WAAY,UAKb,IAAIC,WACHlQ,MAAO,UAIR,IAAImQ,YACHC,cAAe,OACfC,SAAU,OACVC,WAAY,OACZC,eAAgB,OAChBC,eAAgB,QAChBC,cAAe,OACfC,QAAS,QACTC,aAAc,MACdC,aAAc,QACdC,QAAS,KAIV,IAAIC,kBACHC,WAAY,QACZC,gBAAiB,QACjBC,oBAAqB,OACrBC,qBAAsB,OACtBC,UAAW,QACXvB,UAAW,QACXwB,SAAU,QACVC,aAAc,QACdC,aAAc,gBACdC,eAAgB,OAChB1B,qBAAsB,OACtBP,YAAa,MACbQ,cAAe,OACf0B,cAAe,OACfzB,mBAAoB,OACpBC,SAAU,MACVyB,QAAS,IACTC,QAAS,IAEV,IAAIC,WACH,4DACA,sDACA,mDAID,SAASC,cAAapgB,MACrB,GAAIqgB,KAAOC,cAAeC,WAAYC,UAAWC,UAAWC,UAAWrK,MAAO,GAC9E,IAAIlK,MAAO,MAAOkK,MAAQ,OAC1BrW,MAAKpE,MAAM,YAAYoG,QAAQ,SAASlN,GACvC,GAAImB,GAAIsL,YAAYzM,EACpB,QAAOmB,EAAE,GAAG0D,QAAQ,QAAQ,MAC3B,IAAK,QAAS,KAGd,KAAK,YACJ,GAAG7E,EAAE8G,MAAM,iBAAkBya,MAAQ,QAAUvhB,EAAE8G,MAAM,WAAW,EAClEykB,IAAGhK,MAAQpgB,EAAEogB,MACb,MACD,KAAK,cAAe,KAGpB,KAAK,qBAAuBpgB,GAAE,EAAIoqB,IAAGC,WAAarqB,CAAG,MACrD,KAAK,iBAAkB,KAGvB,KAAK,eAAgB,IAAK,iBAAkB,KAG5C,KAAK,oBAAsBA,GAAE,EAAIoqB,IAAGE,QAAUtqB,CAAG,MACjD,KAAK,sBAAwBA,GAAE,EAAIoqB,IAAGE,QAAUtqB,CAAG,MAGnD,KAAK,wBAAyB,KAG9B,KAAK,cAAe,IAAK,eAAgB,KAEzC,KAAK,sBAAwBA,GAAE,EAAIoqB,IAAGG,OAAO/iB,KAAKxH,EAAI,MAGtD,KAAK,WAAY,IAAK,YAAa,KAEnC,KAAK,eAAiBA,GAAE,EAAIA,GAAEgK,KAAOkD,SAASlN,EAAEgK,KAAOogB,IAAGI,OAAOhjB,KAAKxH,EAAI,MAG1E,KAAK,kBAAmB,IAAK,oBAAqB,KAElD,KAAK,iBAAkB,KAGvB,KAAK,sBAAuB,IAAK,wBAAyB,KAE1D,KAAK,qBAAsB,KAG3B,KAAK,kBAAmB,KACxB,KAAK,iBAAkBkW,KAAK,IAAM,MAClC,KAAK,kBAAmBA,KAAK,KAAO,MAEpC,KAAK,eAAgB,IAAK,iBAAkB,IAAK,iBAAkB,KAGnE,KAAK,gBAAkBlW,GAAE,EAAIoqB,IAAGK,OAASzqB,CAAG,MAC5C,KAAK,kBAAoBA,GAAE,EAAIoqB,IAAGK,OAASzqB,CAAG,MAG9C,KAAK,WAAY,KAGjB,KAAK,wBAAyB,IAAK,yBAA0B,IAAK,uBAAwB,KAE1F,KAAK,sBAAuB,IAAK,wBAAyB,KAG1D,KAAK,gBAAiB,IAAK,iBAAkB,IAAK,eAAgB,KAElE,KAAK,cAAe,KAGpB,KAAK,cAAe,IAAK,gBAAiB,KAG1C,KAAK,iBAAkB,IAAK,kBAAmB,IAAK,mBAAoB,KAExE,KAAK,gBAAiB,KAGtB,KAAK,iBAAkB,IAAK,mBAAoB,KAGhD,KAAK,kBAAmB,IAAK,oBAAqB,KAGlD,KAAK,sBAAuB,IAAK,qBAAsB,IAAK,uBAAwB,KAEpF,KAAK,oBAAqB,KAG1B,KAAK,WAAY,IAAK,YAAa,IAAK,YAAa,KAErD,KAAK,OAAQkW,KAAK,IAAM,MACxB,KAAK,SAAUA,KAAK,KAAO,MAG3B,KAAK,aAAc,KACnB,KAAK,uBAAwBA,KAAK,IAAM,MACxC,KAAK,yBAA0BA,KAAK,KAAO,SAG7C,IAAGgU,SAASjkB,QAAQmkB,GAAGhK,UAAY,EAAG,KAAM,IAAIxc,OAAM,sBAAwBwmB,GAAGhK,MAEjF,IAAI3U,EAEJ,KAAIA,IAAKqb,YAAY,SAAUsD,IAAGE,QAAQ7e,KAAO,YAAa2e,GAAGE,QAAQ7e,GAAKqb,WAAWrb,EACzF,KAAIA,IAAKid,WAAW,SAAU0B,IAAGK,OAAOhf,KAAO,YAAa2e,GAAGK,OAAOhf,GAAKid,UAAUjd,EAErF2e,IAAGG,OAAOxe,QAAQ,SAAS9D,GAAG,IAAI,GAAIwD,KAAKsc,WAAW,SAAU9f,GAAEwD,KAAO,YAAaxD,EAAEwD,GAAGsc,UAAUtc,IACrG2e,IAAGI,OAAOze,QAAQ,SAAS9D,GAAG,IAAI,GAAIwD,KAAKgd,UAAU,SAAUxgB,GAAEwD,KAAO,YAAaxD,EAAEwD,GAAGgd,SAAShd,IAEnG4Y,UAASlkB,SAAW6M,aAAaod,GAAGE,QAAQnqB,SAAU,WAEtD,OAAOiqB,IAIR,GAAIM,mBAAoB,SAAS3gB,KAAMrK,QACtC,GAAI+L,KACJA,GAAEkf,QAAU5gB,KAAKqG,WAAW,EAC5B3E,GAAEmf,OAAS7gB,KAAKqG,WAAW,EAC3B3E,GAAEof,SAAW3Y,YAAYnI,KAAKrK,OAAO,EACrC+L,GAAEzB,KAAOwH,mBAAmBzH,KAC5B,OAAO0B,GAIR,IAAIqf,cAAe,SAAS/gB,KAAM7J,MACjC,GAAIkqB,KAAOC,cAAeC,WAAYC,UAAWC,UAAWC,UAAWrK,MAAO,GAC9E,IAAIlK,MAAO,MAAOzK,CAElB+E,cAAazG,KAAM,SAAS1E,IAAKwL,GAChC,OAAOA,EAAEsF,GACR,IAAK,cAAeiU,GAAGI,OAAOhjB,KAAKnC,IAAM,MAEzC,KAAK,eAAgB,KACrB,KAAK,iBAAkB,KACvB,KAAK,YAAa,KAClB,KAAK,aAAc,KACnB,KAAK,eAAgB,KACrB,KAAK,WAAY,KAEjB,KAAK,oBAAqB,KAC1B,KAAK,oBAAqB,KAC1B,KAAK,cAAe,KACpB,KAAK,kBAAmB,KACxB,KAAK,oBAAqB,KAC1B,KAAK,kBAAmB,KACxB,KAAK,kBAAmB,KACxB,KAAK,gBAAiB,KACtB,KAAK,oBAAqB,KAC1B,KAAK,aAAc,KACnB,KAAK,gBAAiB,KACtB,KAAK,iBAAkB,KACvB,KAAK,kBAAmB,KACxB,KAAK,UAAW,KAChB,KAAK,cAAe,KACpB,KAAK,kBAAmB,KACxB,KAAK,wBAAyB,KAC9B,KAAK,uBAAwB,KAC7B,KAAK,qBAAsB,KAC3B,KAAK,sBAAuB,KAC5B,KAAK,YAAa,KAClB,KAAK,iBAAkB,KACvB,KAAK,iBAAkB,KAKvB,KAAK,cAAe6Q,KAAO,IAAM,MACjC,KAAK,YAAaA,KAAO,KAAO,MAChC,KAAK,aAAc,KACnB,SAAS,IAAIA,KAAM,KAAM,IAAItS,OAAM,qBAAuBiN,EAAEsF,KAK9D,KAAI1K,IAAKqb,YAAY,SAAUsD,IAAGE,QAAQ7e,KAAO,YAAa2e,GAAGE,QAAQ7e,GAAKqb,WAAWrb,EACzF,KAAIA,IAAKid,WAAW,SAAU0B,IAAGK,OAAOhf,KAAO,YAAa2e,GAAGK,OAAOhf,GAAKid,UAAUjd,EAErF2e,IAAGG,OAAOxe,QAAQ,SAAS9D,GAAG,IAAI,GAAIwD,KAAKsc,WAAW,SAAU9f,GAAEwD,KAAO,YAAaxD,EAAEwD,GAAGsc,UAAUtc,IACrG2e,IAAGI,OAAOze,QAAQ,SAAS9D,GAAG,IAAI,GAAIwD,KAAKgd,UAAU,SAAUxgB,GAAEwD,KAAO,YAAaxD,EAAEwD,GAAGgd,SAAShd,IAEnG4Y,UAASlkB,SAAW6M,aAAaod,GAAGE,QAAQnqB,SAAU,WAEtD,OAAOiqB,IAER,SAASW,UAAShhB,KAAMC,KAAM9J,MAC7B,MAAO8J,MAAKvG,QAAQ,KAAK,OAASqnB,aAAa/gB,KAAM7J,MAAQiqB,aAAapgB,KAAM7J,MAGjF,QAAS8qB,UAASjhB,KAAMC,KAAM9J,MAC7B,MAAO8J,MAAKvG,QAAQ,KAAK,OAASmjB,aAAa7c,KAAM7J,MAAQokB,aAAava,KAAM7J,MAGjF,QAAS+qB,WAAUlhB,KAAMC,KAAM9J,MAC9B,MAAO8J,MAAKvG,QAAQ,KAAK,OAAS6U,cAAcvO,KAAM7J,MAAQ0W,cAAc7M,KAAM7J,MAGnF,QAASgrB,WAAUnhB,KAAMC,KAAM9J,MAC9B,MAAO8J,MAAKvG,QAAQ,KAAK,OAASwS,cAAclM,KAAM7J,MAAQuV,cAAc1L,KAAM7J,MAGnF,QAASujB,YAAW1Z,KAAMC,KAAM9J,MAC/B,MAAO8J,MAAKvG,QAAQ,KAAK,OAAS2f,mBAAmBrZ,KAAM7J,MAAQgiB,mBAAmBnY,KAAM7J,MAG7F,QAASirB,UAASphB,KAAMC,KAAM9J,MAC7B,MAAO8J,MAAKvG,QAAQ,KAAK,OAASwe,aAAalY,KAAM7J,MAAQ2hB,aAAa9X,KAAM7J,MAGjF,GAAI4Q,aACH,GAAUqF,EAAE,YAAarN,EAAE2c,iBAC3BnlB,GAAU6V,EAAE,eAAgBrN,EAAE8c,oBAC9BrlB,GAAU4V,EAAE,YAAarN,EAAEqd,iBAC3B3lB,GAAU2V,EAAE,eAAgBrN,EAAEid,oBAC9BtlB,GAAU0V,EAAE,cAAerN,EAAE+c,mBAC7BuF,GAAUjV,EAAE,cAAerN,EAAEod,mBAC7BmF,GAAUlV,EAAE,YAAarN,EAAEsd,iBAC3BvT,GAAUsD,EAAE,cAAerN,EAAEkd,mBAC7BsF,GAAUnV,EAAE,gBAAiBrN,EAAE4d,qBAC/BhmB,GAAUyV,EAAE,aAAcrN,EAAE2d,kBAC5B9lB,IAAUwV,EAAE,cAAerN,EAAEud,mBAC7BzlB,IAAUuV,EAAE,eAAgBrN,EAAE0d,oBAC9BplB,IAAU+U,EAAE,aAAcrN,EAAEoI,eAC5B7P,IAAU8U,EAAE,iBAAkBrN,EAAEyH,WAChCjP,IAAU6U,EAAE,gBAAiBrN,EAAEyH,WAC/BhP,IAAU4U,EAAE,iBAAkBrN,EAAEyH,WAChCuC,IAAUqD,EAAE,eAAgBrN,EAAEyH,WAC9Bgb,IAAUpV,EAAE,gBAAiBrN,EAAEyH,WAC/Bib,IAAUrV,EAAE,kBAAmBrN,EAAEyH,WACjCkb,IAAUtV,EAAE,eAAgBrN,EAAEyH,WAC9Bmb,IAAUvV,EAAE,kBAAmBrN,EAAEyH,WACjCob,IAAUxV,EAAE,iBAAkBrN,EAAEyH,WAChCwC,IAAUoD,EAAE,kBAAmBrN,EAAEyH,WACjCqb,IAAUzV,EAAE,gBAAiBrN,EAAEyH,WAC/Bsb,IAAU1V,EAAE,iBAAkBrN,EAAEyH,WAChCub,IAAU3V,EAAE,mBAAoBrN,EAAEyH,WAClCwb,IAAU5V,EAAE,eAAgBrN,EAAEyH,WAC9Byb,IAAU7V,EAAE,iBAAkBrN,EAAEyH,WAChC0b,IAAU9V,EAAE,cAAerN,EAAEyH,WAC7ByC,IAAUmD,EAAE,YAAarN,EAAEyH,WAC3B/O,IAAU2U,EAAE,aAAcrN,EAAEyH,WAC5B9O,IAAU0U,EAAE,WAAYrN,EAAEyH,WAC1B7O,IAAUyU,EAAE,UAAWrN,EAAEyH,WACzB5O,IAAUwU,EAAE,mBAAoBrN,EAAEyH,WAClC0C,IAAUkD,EAAE,gBAAiBrN,EAAEyH,WAC/B2C,IAAUiD,EAAE,UAAWrN,EAAEkO,eACzBkV,IAAU/V,EAAE,SAAUrN,EAAE+N,cACxBjV,IAAUuU,EAAE,UAAWrN,EAAEyH,WACzB1O,IAAUsU,EAAE,YAAarN,EAAEyH,WAC3BzO,IAAUqU,EAAE,QAASrN,EAAEqP,aACvBpW,IAAUoU,EAAE,WAAYrN,EAAEyH,WAC1BvO,IAAUmU,EAAE,cAAerN,EAAEyH,WAC7B4b,IAAUhW,EAAE,eAAgBrN,EAAEyH,WAC9B6b,IAAUjW,EAAE,SAAUrN,EAAEyH,WACxB8b,IAAUlW,EAAE,cAAerN,EAAEyH,WAC7B+b,IAAUnW,EAAE,YAAarN,EAAEyH,WAC3Bgc,IAAUpW,EAAE,cAAerN,EAAEyH,WAC7Bic,IAAUrW,EAAE,YAAarN,EAAEyH,WAC3BtO,IAAUkU,EAAE,mBAAoBrN,EAAEyH,WAClCkc,IAAUtW,EAAE,iBAAkBrN,EAAEyH,WAChCmc,IAAUvW,EAAE,gBAAiBrN,EAAEyH,WAC/Boc,IAAUxW,EAAE,SAAUrN,EAAEyH,WACxBqc,IAAUzW,EAAE,aAAcrN,EAAEyH,WAC5Bsc,IAAU1W,EAAE,iBAAkBrN,EAAEyH,WAChCuc,IAAU3W,EAAE,oBAAqBrN,EAAEgZ,yBACnCiL,IAAU5W,EAAE,UAAWrN,EAAEyH,WACzByc,IAAU7W,EAAE,gBAAiBrN,EAAEyH,WAC/B0c,IAAU9W,EAAE,gBAAiBrN,EAAEyH,WAC/B2c,IAAU/W,EAAE,iBAAkBrN,EAAEyH,WAChC4c,IAAUhX,EAAE,gBAAiBrN,EAAEyH,WAC/B6c,IAAUjX,EAAE,iBAAkBrN,EAAEyH,WAChC8c,IAAUlX,EAAE,gBAAiBrN,EAAEyH,WAC/B+c,KAAUnX,EAAE,iBAAkBrN,EAAEyH,WAChCgd,KAAUpX,EAAE,gBAAiBrN,EAAEyH,WAC/Bid,KAAUrX,EAAE,cAAerN,EAAEyH,WAC7Bkd,KAAUtX,EAAE,eAAgBrN,EAAEyH,WAC9Bmd,KAAUvX,EAAE,aAAcrN,EAAEyH,WAC5Bod,KAAUxX,EAAE,kBAAmBrN,EAAEyH,WACjCqd,KAAUzX,EAAE,gBAAiBrN,EAAEyH,WAC/Bsd,KAAU1X,EAAE,oBAAqBrN,EAAEyH,WACnCud,KAAU3X,EAAE,kBAAmBrN,EAAEyH,WACjCwd,KAAU5X,EAAE,iBAAkBrN,EAAEyH,WAChCyd,KAAU7X,EAAE,eAAgBrN,EAAEyH,WAC9B0d,KAAU9X,EAAE,kBAAmBrN,EAAEyH,WACjC2d,KAAU/X,EAAE,gBAAiBrN,EAAEyH,WAC/B4d,KAAUhY,EAAE,iBAAkBrN,EAAEyH,WAChC6d,KAAUjY,EAAE,eAAgBrN,EAAEyH,WAC9B8d,KAAUlY,EAAE,oBAAqBrN,EAAEyH,WACnC+d,KAAUnY,EAAE,kBAAmBrN,EAAEyH,WACjCge,KAAUpY,EAAE,oBAAqBrN,EAAEyH,WACnCie,KAAUrY,EAAE,kBAAmBrN,EAAEyH,WACjCke,KAAUtY,EAAE,YAAarN,EAAE6c,iBAC3B+I,KAAUvY,EAAE,WAAYrN,EAAE4c,gBAC1BiJ,KAAUxY,EAAE,UAAWrN,EAAEyH,WACzBqe,KAAUzY,EAAE,SAAUrN,EAAEyH,WACxBse,KAAU1Y,EAAE,YAAarN,EAAEyH,WAC3Bue,KAAU3Y,EAAE,eAAgBrN,EAAEyH,WAC9Bwe,KAAU5Y,EAAE,iBAAkBrN,EAAEyH,WAChCye,KAAU7Y,EAAE,cAAerN,EAAE4hB,mBAC7BuE,KAAU9Y,EAAE,cAAerN,EAAEyH,WAC7B2e,KAAU/Y,EAAE,cAAerN,EAAEyH,WAC7B4e,KAAUhZ,EAAE,cAAerN,EAAEkN,mBAC7BoZ,KAAUjZ,EAAE,YAAarN,EAAEyH,WAC3B8e,KAAUlZ,EAAE,kBAAmBrN,EAAEyH,WACjC+e,KAAUnZ,EAAE,gBAAiBrN,EAAEyH,WAC/Bgf,KAAUpZ,EAAE,uBAAwBrN,EAAEyH,WACtCif,KAAUrZ,EAAE,qBAAsBrN,EAAEyH,WACpCkf,KAAUtZ,EAAE,kBAAmBrN,EAAEyH,WACjCmf,KAAUvZ,EAAE,gBAAiBrN,EAAEyH,WAC/Bof,KAAUxZ,EAAE,YAAarN,EAAEyH,WAC3Bqf,KAAUzZ,EAAE,iBAAkBrN,EAAEyH,WAChCsf,KAAU1Z,EAAE,gBAAiBrN,EAAEyH,WAC/Buf,KAAU3Z,EAAE,iBAAkBrN,EAAEyH,WAChCwf,KAAU5Z,EAAE,mBAAoBrN,EAAEyH,WAClCyf,KAAU7Z,EAAE,wBAAyBrN,EAAEyH,WACvC0f,KAAU9Z,EAAE,sBAAuBrN,EAAEyH,WACrC2f,KAAU/Z,EAAE,kBAAmBrN,EAAEyH,WACjC4f,KAAUha,EAAE,0BAA2BrN,EAAEyH,WACzC6f,KAAUja,EAAE,eAAgBrN,EAAE6d,oBAC9B0J,KAAUla,EAAE,qBAAsBrN,EAAEyH,WACpC+f,KAAUna,EAAE,mBAAoBrN,EAAEyH,WAClCggB,KAAUpa,EAAE,wBAAyBrN,EAAEyH,WACvCigB,KAAUra,EAAE,sBAAuBrN,EAAEyH,WACrCkgB,KAAUta,EAAE,oBAAqBrN,EAAEyH,WACnCmgB,KAAUva,EAAE,kBAAmBrN,EAAEyH,WACjCogB,KAAUxa,EAAE,mBAAoBrN,EAAEyH,WAClCqgB,KAAUza,EAAE,iBAAkBrN,EAAEyH,WAChCsgB,KAAU1a,EAAE,oBAAqBrN,EAAEyH,WACnCugB,KAAU3a,EAAE,kBAAmBrN,EAAEyH,WACjCwgB,KAAU5a,EAAE,oBAAqBrN,EAAEyH,WACnCygB,KAAU7a,EAAE,kBAAmBrN,EAAEyH,WACjC0gB,KAAU9a,EAAE,mBAAoBrN,EAAEyH,WAClC2gB,KAAU/a,EAAE,iBAAkBrN,EAAEyH,WAChC4gB,KAAUhb,EAAE,kBAAmBrN,EAAEyH,WACjC6gB,KAAUjb,EAAE,gBAAiBrN,EAAEyH,WAC/B8gB,KAAUlb,EAAE,4BAA6BrN,EAAEyH,WAC3C+gB,KAAUnb,EAAE,0BAA2BrN,EAAEyH,WACzCghB,KAAUpb,EAAE,yBAA0BrN,EAAEyH,WACxCihB,KAAUrb,EAAE,uBAAwBrN,EAAEyH,WACtCkhB,KAAUtb,EAAE,uBAAwBrN,EAAEyH,WACtCmhB,KAAUvb,EAAE,qBAAsBrN,EAAEyH,WACpCohB,KAAUxb,EAAE,0BAA2BrN,EAAEyH,WACzCqhB,KAAUzb,EAAE,wBAAyBrN,EAAEyH,WACvCshB,KAAU1b,EAAE,wBAAyBrN,EAAEyH,WACvCuhB,KAAU3b,EAAE,sBAAuBrN,EAAEyH,WACrCwhB,KAAU5b,EAAE,oBAAqBrN,EAAEyH,WACnCyhB,KAAU7b,EAAE,kBAAmBrN,EAAEyH,WACjC0hB,KAAU9b,EAAE,sBAAuBrN,EAAEyH,WACrC2hB,KAAU/b,EAAE,oBAAqBrN,EAAEyH,WACnC4hB,KAAUhc,EAAE,qBAAsBrN,EAAEyH,WACpC6hB,KAAUjc,EAAE,mBAAoBrN,EAAEyH,WAClC8hB,KAAUlc,EAAE,qBAAsBrN,EAAEyH,WACpC+hB,KAAUnc,EAAE,mBAAoBrN,EAAEyH,WAClCgiB,KAAUpc,EAAE,oBAAqBrN,EAAEyH,WACnCiiB,KAAUrc,EAAE,kBAAmBrN,EAAEyH,WACjCkiB,KAAUtc,EAAE,qBAAsBrN,EAAEyH,WACpCmiB,KAAUvc,EAAE,mBAAoBrN,EAAEyH,WAClCoiB,KAAUxc,EAAE,oBAAqBrN,EAAEyH,WACnCqiB,KAAUzc,EAAE,kBAAmBrN,EAAEyH,WACjCsiB,KAAU1c,EAAE,mBAAoBrN,EAAEyH,WAClCuiB,KAAU3c,EAAE,iBAAkBrN,EAAEyH,WAChCwiB,KAAU5c,EAAE,oBAAqBrN,EAAEyH,WACnCyiB,KAAU7c,EAAE,kBAAmBrN,EAAEyH,WACjC0iB,KAAU9c,EAAE,qBAAsBrN,EAAEyH,WACpC2iB,KAAU/c,EAAE,mBAAoBrN,EAAEyH,WAClC4iB,KAAUhd,EAAE,qBAAsBrN,EAAEyH,WACpC6iB,KAAUjd,EAAE,mBAAoBrN,EAAEyH,WAClC8iB,KAAUld,EAAE,wBAAyBrN,EAAEyH,WACvC+iB,KAAUnd,EAAE,sBAAuBrN,EAAEyH,WACrCgjB,KAAUpd,EAAE,0BAA2BrN,EAAEyH,WACzCijB,KAAUrd,EAAE,wBAAyBrN,EAAEyH,WACvCkjB,KAAUtd,EAAE,yBAA0BrN,EAAEyH,WACxCmjB,KAAUvd,EAAE,uBAAwBrN,EAAEyH,WACtCojB,KAAUxd,EAAE,0BAA2BrN,EAAEyH,WACzCqjB,KAAUzd,EAAE,wBAAyBrN,EAAEyH,WACvCsjB,KAAU1d,EAAE,yBAA0BrN,EAAEyH,WACxCujB,KAAU3d,EAAE,uBAAwBrN,EAAEyH,WACtCwjB,KAAU5d,EAAE,yBAA0BrN,EAAEyH,WACxCyjB,KAAU7d,EAAE,uBAAwBrN,EAAEyH,WACtC0jB,KAAU9d,EAAE,uBAAwBrN,EAAEyH,WACtC2jB,KAAU/d,EAAE,qBAAsBrN,EAAEyH,WACpC4jB,KAAUhe,EAAE,sBAAuBrN,EAAEyH,WACrC6jB,KAAUje,EAAE,oBAAqBrN,EAAEyH,WACnC8jB,KAAUle,EAAE,qBAAsBrN,EAAEyH,WACpC+jB,KAAUne,EAAE,mBAAoBrN,EAAEyH,WAClCgkB,KAAUpe,EAAE,uBAAwBrN,EAAEyH,WACtCikB,KAAUre,EAAE,qBAAsBrN,EAAEyH,WACpCkkB,KAAUte,EAAE,sBAAuBrN,EAAEyH,WACrCmkB,KAAUve,EAAE,oBAAqBrN,EAAEyH,WACnCokB,KAAUxe,EAAE,gBAAiBrN,EAAEyH,WAC/BqkB,KAAUze,EAAE,cAAerN,EAAEyH,WAC7BskB,KAAU1e,EAAE,oBAAqBrN,EAAEyH,WACnCukB,KAAU3e,EAAE,kBAAmBrN,EAAEyH,WACjCwkB,KAAU5e,EAAE,mBAAoBrN,EAAEyH,WAClCykB,KAAU7e,EAAE,iBAAkBrN,EAAEyH,WAChC0kB,KAAU9e,EAAE,iBAAkBrN,EAAEyH,WAChC2kB,KAAU/e,EAAE,eAAgBrN,EAAEyH,WAC9B4C,KAAUgD,EAAE,gBAAiBrN,EAAEyH,WAC/B4kB,KAAUhf,EAAE,cAAerN,EAAEyH,WAC7B6kB,KAAUjf,EAAE,kBAAmBrN,EAAEyH,WACjC8kB,KAAUlf,EAAE,gBAAiBrN,EAAEyH,WAC/B+kB,KAAUnf,EAAE,iBAAkBrN,EAAEyH,WAChCglB,KAAUpf,EAAE,eAAgBrN,EAAEyH,WAC9BilB,KAAUrf,EAAE,qBAAsBrN,EAAEyH,WACpCklB,KAAUtf,EAAE,mBAAoBrN,EAAEyH,WAClCmlB,KAAUvf,EAAE,qBAAsBrN,EAAEyH,WACpColB,KAAUxf,EAAE,mBAAoBrN,EAAEyH,WAClCqlB,KAAUzf,EAAE,mBAAoBrN,EAAEyH,WAClCslB,KAAU1f,EAAE,iBAAkBrN,EAAEyH,WAChCulB,KAAU3f,EAAE,kBAAmBrN,EAAEyH,WACjCwlB,KAAU5f,EAAE,gBAAiBrN,EAAEyH,WAC/BylB,KAAU7f,EAAE,kBAAmBrN,EAAEyH,WACjC0lB,KAAU9f,EAAE,gBAAiBrN,EAAEyH,WAC/B2lB,KAAU/f,EAAE,iBAAkBrN,EAAEyH,WAChC4lB,KAAUhgB,EAAE,eAAgBrN,EAAEyH,WAC9B6lB,KAAUjgB,EAAE,eAAgBrN,EAAEyH,WAC9B8lB,KAAUlgB,EAAE,aAAcrN,EAAEyH,WAC5B+lB,KAAUngB,EAAE,cAAerN,EAAEyH,WAC7BgmB,KAAUpgB,EAAE,YAAarN,EAAEyH,WAC3BimB,KAAUrgB,EAAE,kBAAmBrN,EAAEyH,WACjCkmB,KAAUtgB,EAAE,qBAAsBrN,EAAEyH,WACpCmmB,KAAUvgB,EAAE,mBAAoBrN,EAAEyH,WAClComB,KAAUxgB,EAAE,iBAAkBrN,EAAEyH,WAChCqmB,KAAUzgB,EAAE,aAAcrN,EAAEyH,WAC5BsmB,KAAU1gB,EAAE,eAAgBrN,EAAEyH,WAC9BumB,KAAU3gB,EAAE,gBAAiBrN,EAAEyH,WAC/BwmB,KAAU5gB,EAAE,cAAerN,EAAEyH,WAC7BymB,KAAU7gB,EAAE,eAAgBrN,EAAEyH,WAC9B0mB,KAAU9gB,EAAE,aAAcrN,EAAEyH,WAC5B2mB,KAAU/gB,EAAE,gBAAiBrN,EAAEyH,WAC/B4mB,KAAUhhB,EAAE,cAAerN,EAAEyH,WAC7B6mB,KAAUjhB,EAAE,eAAgBrN,EAAEyH,WAC9B8mB,KAAUlhB,EAAE,aAAcrN,EAAEyH,WAC5B+mB,KAAUnhB,EAAE,gBAAiBrN,EAAEyH,WAC/BgnB,KAAUphB,EAAE,cAAerN,EAAEyH,WAC7BinB,KAAUrhB,EAAE,eAAgBrN,EAAEyH,WAC9BknB,KAAUthB,EAAE,aAAcrN,EAAEyH,WAC5BmnB,KAAUvhB,EAAE,gBAAiBrN,EAAEyH,WAC/BonB,KAAUxhB,EAAE,cAAerN,EAAEyH,WAC7BqnB,KAAUzhB,EAAE,eAAgBrN,EAAEyH,WAC9BsnB,KAAU1hB,EAAE,aAAcrN,EAAEyH,WAC5BunB,KAAU3hB,EAAE,kBAAmBrN,EAAEyH,WACjCwnB,KAAU5hB,EAAE,gBAAiBrN,EAAEyH,WAC/BynB,KAAU7hB,EAAE,mBAAoBrN,EAAEyH,WAClC0nB,KAAU9hB,EAAE,iBAAkBrN,EAAEyH,WAChC2nB,KAAU/hB,EAAE,mBAAoBrN,EAAEyH,WAClC4nB,KAAUhiB,EAAE,iBAAkBrN,EAAEyH,WAChC6nB,KAAUjiB,EAAE,oBAAqBrN,EAAEyH,WACnC8nB,KAAUliB,EAAE,kBAAmBrN,EAAEyH,WACjC+nB,KAAUniB,EAAE,mBAAoBrN,EAAEyH,WAClCgoB,KAAUpiB,EAAE,iBAAkBrN,EAAEyH,WAChCioB,KAAUriB,EAAE,mBAAoBrN,EAAEyH,WAClCkoB,KAAUtiB,EAAE,iBAAkBrN,EAAEyH,WAChCmoB,KAAUviB,EAAE,oBAAqBrN,EAAEyH,WACnCooB,KAAUxiB,EAAE,kBAAmBrN,EAAEyH,WACjCqoB,KAAUziB,EAAE,mBAAoBrN,EAAEyH,WAClCsoB,KAAU1iB,EAAE,qBAAsBrN,EAAEyH,WACpCuoB,KAAU3iB,EAAE,eAAgBrN,EAAEyH,WAC9BwoB,KAAU5iB,EAAE,gBAAiBrN,EAAEyH,WAC/ByoB,KAAU7iB,EAAE,cAAerN,EAAEyH,WAC7B0oB,KAAU9iB,EAAE,eAAgBrN,EAAEyH,WAC9B2oB,KAAU/iB,EAAE,aAAcrN,EAAEyH,WAC5B4oB,KAAUhjB,EAAE,mBAAoBrN,EAAEyH,WAClC6oB,KAAUjjB,EAAE,iBAAkBrN,EAAEyH,WAChC8oB,KAAUljB,EAAE,oBAAqBrN,EAAEyH,WACnC+oB,KAAUnjB,EAAE,kBAAmBrN,EAAEyH,WACjCgpB,KAAUpjB,EAAE,kBAAmBrN,EAAEyH,WACjCipB,KAAUrjB,EAAE,gBAAiBrN,EAAEyH,WAC/BkpB,KAAUtjB,EAAE,iBAAkBrN,EAAEyH,WAChCmpB,KAAUvjB,EAAE,eAAgBrN,EAAEyH,WAC9BopB,KAAUxjB,EAAE,oBAAqBrN,EAAEyH,WACnCqpB,KAAUzjB,EAAE,kBAAmBrN,EAAEyH,WACjCspB,KAAU1jB,EAAE,mBAAoBrN,EAAEyH,WAClCupB,KAAU3jB,EAAE,iBAAkBrN,EAAEyH,WAChCwpB,KAAU5jB,EAAE,mBAAoBrN,EAAEyH,WAClCypB,KAAU7jB,EAAE,iBAAkBrN,EAAEyH,WAChC0pB,KAAU9jB,EAAE,oBAAqBrN,EAAEyH,WACnC2pB,KAAU/jB,EAAE,aAAcrN,EAAEyH,WAC5B4pB,KAAUhkB,EAAE,kBAAmBrN,EAAEyH,WACjC6pB,KAAUjkB,EAAE,gBAAiBrN,EAAEyH,WAC/B8pB,KAAUlkB,EAAE,cAAerN,EAAEyH,WAC7B+pB,KAAUnkB,EAAE,gBAAiBrN,EAAEyH,WAC/BgqB,KAAUpkB,EAAE,cAAerN,EAAEyH,WAC7BiqB,KAAUrkB,EAAE,sBAAuBrN,EAAEyH,WACrCkqB,KAAUtkB,EAAE,oBAAqBrN,EAAEyH,WACnCmqB,KAAUvkB,EAAE,eAAgBrN,EAAEyH,WAC9BoqB,KAAUxkB,EAAE,aAAcrN,EAAEyH,WAC5BqqB,KAAUzkB,EAAE,mBAAoBrN,EAAEyH,WAClCsqB,KAAU1kB,EAAE,iBAAkBrN,EAAEyH,WAChCuqB,KAAU3kB,EAAE,kBAAmBrN,EAAEyH,WACjCwqB,KAAU5kB,EAAE,gBAAiBrN,EAAEyH,WAC/ByqB,KAAU7kB,EAAE,qBAAsBrN,EAAEyH,WACpC0qB,KAAU9kB,EAAE,mBAAoBrN,EAAEyH,WAClC2qB,KAAU/kB,EAAE,gBAAiBrN,EAAEyH,WAC/B4qB,KAAUhlB,EAAE,gBAAiBrN,EAAEyH,WAC/B6qB,KAAUjlB,EAAE,oBAAqBrN,EAAEyH,WACnC8qB,KAAUllB,EAAE,kBAAmBrN,EAAEyH,WACjC+qB,KAAUnlB,EAAE,gBAAiBrN,EAAEyH,WAC/BgrB,KAAUplB,EAAE,aAAcrN,EAAEyH,WAC5BirB,KAAUrlB,EAAE,aAAcrN,EAAEyH,WAC5BkrB,KAAUtlB,EAAE,aAAcrN,EAAEyH,WAC5BmrB,KAAUvlB,EAAE,kBAAmBrN,EAAEyH,WACjCorB,KAAUxlB,EAAE,qBAAsBrN,EAAEyH,WACpCqrB,KAAUzlB,EAAE,iBAAkBrN,EAAEyH,WAChCsrB,KAAU1lB,EAAE,sBAAuBrN,EAAEyH,WACrCurB,KAAU3lB,EAAE,oBAAqBrN,EAAEyH,WACnCwrB,KAAU5lB,EAAE,kBAAmBrN,EAAEyH,WACjCyrB,KAAU7lB,EAAE,qBAAsBrN,EAAEyH,WACpC0rB,KAAU9lB,EAAE,oBAAqBrN,EAAEyH,WACnC2rB,KAAU/lB,EAAE,oBAAqBrN,EAAEyH,WACnC4rB,KAAUhmB,EAAE,qBAAsBrN,EAAEyH,WACpC6rB,KAAUjmB,EAAE,sBAAuBrN,EAAEyH,WACrC8rB,KAAUlmB,EAAE,gBAAiBrN,EAAEyH,WAC/B+rB,KAAUnmB,EAAE,cAAerN,EAAEyH,WAC7BgsB,KAAUpmB,EAAE,iBAAkBrN,EAAEyH,WAChCisB,KAAUrmB,EAAE,eAAgBrN,EAAEyH,WAC9BksB,KAAUtmB,EAAE,qBAAsBrN,EAAEyH,WACpCmsB,KAAUvmB,EAAE,mBAAoBrN,EAAEyH,WAClCosB,KAAUxmB,EAAE,iBAAkBrN,EAAEyH,WAChCqsB,KAAUzmB,EAAE,eAAgBrN,EAAEyH,WAC9BssB,KAAU1mB,EAAE,gBAAiBrN,EAAEyH,WAC/BusB,KAAU3mB,EAAE,cAAerN,EAAEyH,WAC7BwsB,KAAU5mB,EAAE,kBAAmBrN,EAAEyH,WACjCysB,KAAU7mB,EAAE,gBAAiBrN,EAAEyH,WAC/B0sB,KAAU9mB,EAAE,wBAAyBrN,EAAEyH,WACvC2sB,KAAU/mB,EAAE,sBAAuBrN,EAAEyH,WACrC4sB,KAAUhnB,EAAE,uBAAwBrN,EAAEyH,WACtC6sB,KAAUjnB,EAAE,qBAAsBrN,EAAEyH,WACpC8sB,KAAUlnB,EAAE,iBAAkBrN,EAAEyH,WAChC+sB,KAAUnnB,EAAE,eAAgBrN,EAAEyH,WAC9BgtB,KAAUpnB,EAAE,mBAAoBrN,EAAEyH,WAClCitB,KAAUrnB,EAAE,iBAAkBrN,EAAEyH,WAChCktB,KAAUtnB,EAAE,gBAAiBrN,EAAEyH,WAC/BmtB,KAAUvnB,EAAE,cAAerN,EAAEyH,WAC7BotB,KAAUxnB,EAAE,iBAAkBrN,EAAEyH,WAChCqtB,KAAUznB,EAAE,eAAgBrN,EAAEyH,WAC9BstB,KAAU1nB,EAAE,SAAUrN,EAAEyH,WACxButB,KAAU3nB,EAAE,kBAAmBrN,EAAEyH,WACjCwtB,KAAU5nB,EAAE,UAAWrN,EAAEyH,WACzBytB,KAAU7nB,EAAE,UAAWrN,EAAEyH,WACzB0tB,KAAU9nB,EAAE,SAAUrN,EAAEyH,WACxB2tB,KAAU/nB,EAAE,gBAAiBrN,EAAEyH,WAC/B4tB,KAAUhoB,EAAE,SAAUrN,EAAEyH,WACxB6tB,KAAUjoB,EAAE,SAAUrN,EAAEyH,WACxB8tB,KAAUloB,EAAE,cAAerN,EAAEyH,WAC7B+tB,KAAUnoB,EAAE,iBAAkBrN,EAAEyH,WAChCguB,KAAUpoB,EAAE,YAAarN,EAAEyH,WAC3BiuB,KAAUroB,EAAE,eAAgBrN,EAAEyH,WAC9BkuB,KAAUtoB,EAAE,eAAgBrN,EAAEyH,WAC9BmuB,KAAUvoB,EAAE,kBAAmBrN,EAAEyH,WACjCouB,KAAUxoB,EAAE,cAAerN,EAAEyH,WAC7BquB,KAAUzoB,EAAE,gBAAiBrN,EAAEyH,WAC/BsuB,KAAU1oB,EAAE,gBAAiBrN,EAAEyH,WAC/BuuB,KAAU3oB,EAAE,gBAAiBrN,EAAEyH,WAC/BwuB,KAAU5oB,EAAE,eAAgBrN,EAAEyH,WAC9ByuB,KAAU7oB,EAAE,YAAarN,EAAEyH,WAC3B0uB,KAAU9oB,EAAE,gBAAiBrN,EAAEyH,WAC/B2uB,KAAU/oB,EAAE,aAAcrN,EAAEyH,WAC5B4uB,KAAUhpB,EAAE,cAAerN,EAAEyH,WAC7B6uB,KAAUjpB,EAAE,iBAAkBrN,EAAEyH,WAChC8uB,KAAUlpB,EAAE,eAAgBrN,EAAEyH,WAC9B+uB,KAAUnpB,EAAE,sBAAuBrN,EAAEyH,WACrCgvB,KAAUppB,EAAE,qBAAsBrN,EAAEyH,WACpCivB,KAAUrpB,EAAE,mBAAoBrN,EAAEyH,WAClCkvB,KAAUtpB,EAAE,oBAAqBrN,EAAEyH,WACnCmvB,KAAUvpB,EAAE,aAAcrN,EAAEyH,WAC5BovB,KAAUxpB,EAAE,aAAcrN,EAAEyH,WAC5BqvB,KAAUzpB,EAAE,WAAYrN,EAAEyH,WAC1BsvB,KAAU1pB,EAAE,yBAA0BrN,EAAEyH,WACxCuvB,KAAU3pB,EAAE,uBAAwBrN,EAAEyH,WACtCwvB,KAAU5pB,EAAE,sBAAuBrN,EAAEyH,WACrCyvB,KAAU7pB,EAAE,oBAAqBrN,EAAEyH,WACnC0vB,KAAU9pB,EAAE,qBAAsBrN,EAAEyH,WACpC2vB,KAAU/pB,EAAE,mBAAoBrN,EAAEyH,WAClC4vB,KAAUhqB,EAAE,sBAAuBrN,EAAEyH,WACrC6vB,KAAUjqB,EAAE,oBAAqBrN,EAAEyH,WACnC8vB,KAAUlqB,EAAE,qBAAsBrN,EAAEyH,WACpC+vB,KAAUnqB,EAAE,mBAAoBrN,EAAEyH,WAClCgwB,KAAUpqB,EAAE,uBAAwBrN,EAAEyH,WACtCiwB,KAAUrqB,EAAE,qBAAsBrN,EAAEyH,WACpCkwB,KAAUtqB,EAAE,sBAAuBrN,EAAEyH,WACrCmwB,KAAUvqB,EAAE,oBAAqBrN,EAAEyH,WACnCowB,KAAUxqB,EAAE,yBAA0BrN,EAAEyH,WACxCqwB,KAAUzqB,EAAE,uBAAwBrN,EAAEyH,WACtCswB,KAAU1qB,EAAE,wBAAyBrN,EAAEyH,WACvCuwB,KAAU3qB,EAAE,sBAAuBrN,EAAEyH,WACrCwwB,KAAU5qB,EAAE,cAAerN,EAAEyH,WAC7BywB,KAAU7qB,EAAE,YAAarN,EAAEyH,WAC3B0wB,KAAU9qB,EAAE,eAAgBrN,EAAEyH,WAC9B2wB,KAAU/qB,EAAE,aAAcrN,EAAEyH,WAC5B4wB,KAAUhrB,EAAE,uBAAwBrN,EAAEyH,WACtC6wB,KAAUjrB,EAAE,qBAAsBrN,EAAEyH,WACpC8wB,KAAUlrB,EAAE,sBAAuBrN,EAAEyH,WACrC+wB,KAAUnrB,EAAE,oBAAqBrN,EAAEyH,WACnCgxB,KAAUprB,EAAE,gBAAiBrN,EAAEyH,WAC/BixB,KAAUrrB,EAAE,cAAerN,EAAEyH,WAC7BkxB,KAAUtrB,EAAE,eAAgBrN,EAAEyH,WAC9BmxB,KAAUvrB,EAAE,aAAcrN,EAAEyH,WAC5BoxB,KAAUxrB,EAAE,wBAAyBrN,EAAEyH,WACvCqxB,KAAUzrB,EAAE,sBAAuBrN,EAAEyH,WACrCsxB,KAAU1rB,EAAE,gCAAiCrN,EAAEyH,WAC/CuxB,KAAU3rB,EAAE,8BAA+BrN,EAAEyH,WAC7CwxB,KAAU5rB,EAAE,iBAAkBrN,EAAEyH,WAChCyxB,KAAU7rB,EAAE,eAAgBrN,EAAEyH,WAC9B0xB,KAAU9rB,EAAE,kBAAmBrN,EAAEyH,WACjC2xB,KAAU/rB,EAAE,gBAAiBrN,EAAEyH,WAC/B4xB,KAAUhsB,EAAE,kBAAmBrN,EAAEyH,WACjC6xB,KAAUjsB,EAAE,gBAAiBrN,EAAEyH,WAC/B8xB,KAAUlsB,EAAE,qBAAsBrN,EAAEyH,WACpC+xB,KAAUnsB,EAAE,mBAAoBrN,EAAEyH,WAClCgyB,KAAUpsB,EAAE,UAAWrN,EAAEyH,WACzBiyB,KAAUrsB,EAAE,qBAAsBrN,EAAEyH,WACpCkyB,KAAUtsB,EAAE,uBAAwBrN,EAAEyH,WACtCmyB,KAAUvsB,EAAE,qBAAsBrN,EAAEyH,WACpCoyB,KAAUxsB,EAAE,kBAAmBrN,EAAEyH,WACjCqyB,KAAUzsB,EAAE,aAAcrN,EAAEyH,WAC5BsyB,KAAU1sB,EAAE,kBAAmBrN,EAAEyH,WACjCuyB,KAAU3sB,EAAE,eAAgBrN,EAAEyH,WAC9BwyB,KAAU5sB,EAAE,uBAAwBrN,EAAEyH,WACtCyyB,KAAU7sB,EAAE,qBAAsBrN,EAAEyH,WACpC0yB,KAAU9sB,EAAE,sBAAuBrN,EAAEyH,WACrC2yB,KAAU/sB,EAAE,oBAAqBrN,EAAEyH,WACnC4yB,KAAUhtB,EAAE,uBAAwBrN,EAAEyH,WACtC6yB,KAAUjtB,EAAE,qBAAsBrN,EAAEyH,WACpC8yB,KAAUltB,EAAE,eAAgBrN,EAAEyH,WAC9B+yB,KAAUntB,EAAE,cAAerN,EAAEyH,WAC7BgzB,KAAUptB,EAAE,YAAarN,EAAEyH,WAC3BizB,KAAUrtB,EAAE,iBAAkBrN,EAAEyH,WAChCkzB,KAAUttB,EAAE,eAAgBrN,EAAEyH,WAC9BmzB,KAAUvtB,EAAE,aAAcrN,EAAEyH,WAC5BozB,KAAUxtB,EAAE,WAAYrN,EAAEyH,WAC1BqzB,KAAUztB,EAAE,cAAerN,EAAEyH,WAC7BszB,KAAU1tB,EAAE,YAAarN,EAAEyH,WAC3BuzB,KAAU3tB,EAAE,WAAYrN,EAAEyH,WAC1BwzB,KAAU5tB,EAAE,eAAgBrN,EAAEyH,WAC9ByzB,KAAU7tB,EAAE,aAAcrN,EAAEyH,WAC5B0zB,KAAU9tB,EAAE,gBAAiBrN,EAAEyH,WAC/B2zB,KAAU/tB,EAAE,cAAerN,EAAEyH,WAC7B4zB,KAAUhuB,EAAE,UAAWrN,EAAEyH,WACzB6zB,KAAUjuB,EAAE,kBAAmBrN,EAAEyH,WACjC8zB,KAAUluB,EAAE,gBAAiBrN,EAAEyH,WAC/B+zB,KAAUnuB,EAAE,cAAerN,EAAEyH,WAC7Bg0B,KAAUpuB,EAAE,YAAarN,EAAEyH,WAC3Bi0B,KAAUruB,EAAE,SAAUrN,EAAEyH,WACxBk0B,KAAUtuB,EAAE,eAAgBrN,EAAEyH,WAC9Bm0B,KAAUvuB,EAAE,aAAcrN,EAAEyH,WAC5Bo0B,KAAUxuB,EAAE,SAAUrN,EAAEyH,WACxBq0B,KAAUzuB,EAAE,sBAAuBrN,EAAEyH,WACrCs0B,KAAU1uB,EAAE,oBAAqBrN,EAAEyH,WACnCu0B,KAAU3uB,EAAE,qBAAsBrN,EAAEyH,WACpCw0B,KAAU5uB,EAAE,mBAAoBrN,EAAEyH,WAClCy0B,KAAU7uB,EAAE,uBAAwBrN,EAAEyH,WACtC00B,KAAU9uB,EAAE,sBAAuBrN,EAAEyH,WACrC20B,KAAU/uB,EAAE,kBAAmBrN,EAAEyH,WACjC40B,KAAUhvB,EAAE,gBAAiBrN,EAAEyH,WAC/B60B,KAAUjvB,EAAE,kBAAmBrN,EAAEyH,WACjC80B,KAAUlvB,EAAE,gBAAiBrN,EAAEyH,WAC/B+0B,KAAUnvB,EAAE,kBAAmBrN,EAAEyH,WACjCg1B,KAAUpvB,EAAE,gBAAiBrN,EAAEyH,WAC/Bi1B,KAAUrvB,EAAE,mBAAoBrN,EAAEyH,WAClCk1B,KAAUtvB,EAAE,iBAAkBrN,EAAEyH,WAChCm1B,KAAUvvB,EAAE,iBAAkBrN,EAAEyH,WAChCo1B,KAAUxvB,EAAE,YAAarN,EAAEyH,WAC3Bq1B,KAAUzvB,EAAE,YAAarN,EAAEyH,WAC3Bs1B,KAAU1vB,EAAE,YAAarN,EAAEyH,WAC3Bu1B,KAAU3vB,EAAE,YAAarN,EAAEyH,WAC3Bw1B,KAAU5vB,EAAE,aAAcrN,EAAEyH,WAC5By1B,KAAU7vB,EAAE,qBAAsBrN,EAAEyH,WACpC01B,KAAU9vB,EAAE,mBAAoBrN,EAAEyH,WAClC21B,KAAU/vB,EAAE,oBAAqBrN,EAAEyH,WACnC41B,KAAUhwB,EAAE,kBAAmBrN,EAAEyH,WACjC61B,KAAUjwB,EAAE,mBAAoBrN,EAAEyH,WAClC81B,KAAUlwB,EAAE,iBAAkBrN,EAAEyH,WAChC+1B,KAAUnwB,EAAE,oBAAqBrN,EAAEyH,WACnCg2B,KAAUpwB,EAAE,qBAAsBrN,EAAEyH,WACpCi2B,KAAUrwB,EAAE,qBAAsBrN,EAAEyH,WACpCk2B,KAAUtwB,EAAE,kBAAmBrN,EAAEyH,WACjCm2B,KAAUvwB,EAAE,mBAAoBrN,EAAEyH,WAClCo2B,KAAUxwB,EAAE,iBAAkBrN,EAAEyH,WAChCq2B,KAAUzwB,EAAE,yBAA0BrN,EAAEyH,WACxCs2B,KAAU1wB,EAAE,uBAAwBrN,EAAEyH,WACtCu2B,KAAU3wB,EAAE,sBAAuBrN,EAAEyH,WACrCw2B,KAAU5wB,EAAE,iBAAkBrN,EAAEyH,WAChCy2B,KAAU7wB,EAAE,aAAcrN,EAAEyH,WAC5B02B,KAAU9wB,EAAE,aAAcrN,EAAEyH,WAC5B22B,KAAU/wB,EAAE,mBAAoBrN,EAAEyH,WAClC42B,KAAUhxB,EAAE,qBAAsBrN,EAAEyH,WACpC62B,KAAUjxB,EAAE,YAAarN,EAAEyH,WAC3B82B,KAAUlxB,EAAE,sBAAuBrN,EAAEyH,WACrC+2B,KAAUnxB,EAAE,oBAAqBrN,EAAEyH,WACnCg3B,KAAUpxB,EAAE,qBAAsBrN,EAAEyH,WACpCi3B,KAAUrxB,EAAE,mBAAoBrN,EAAEyH,WAClCk3B,KAAUtxB,EAAE,oBAAqBrN,EAAEyH,WACnCm3B,KAAUvxB,EAAE,kBAAmBrN,EAAEyH,WACjCo3B,KAAUxxB,EAAE,qBAAsBrN,EAAEyH,WACpCq3B,KAAUzxB,EAAE,mBAAoBrN,EAAEyH,WAClCs3B,KAAU1xB,EAAE,WAAYrN,EAAEyH,WAC1Bu3B,KAAU3xB,EAAE,WAAYrN,EAAEyH,WAC1Bw3B,KAAU5xB,EAAE,wBAAyBrN,EAAEyH,WACvCy3B,KAAU7xB,EAAE,sBAAuBrN,EAAEyH,WACrC03B,KAAU9xB,EAAE,oBAAqBrN,EAAEyH,WACnC23B,KAAU/xB,EAAE,kBAAmBrN,EAAEyH,WACjC43B,KAAUhyB,EAAE,cAAerN,EAAEyH,WAC7B63B,KAAUjyB,EAAE,gBAAiBrN,EAAEyH,WAC/B83B,KAAUlyB,EAAE,cAAerN,EAAEyH,WAC7B+3B,KAAUnyB,EAAE,kBAAmBrN,EAAEyH,WACjCg4B,KAAUpyB,EAAE,uBAAwBrN,EAAEyH,WACtCi4B,KAAUryB,EAAE,qBAAsBrN,EAAEyH,WACpCk4B,KAAUtyB,EAAE,gBAAiBrN,EAAEyH,WAC/Bm4B,KAAUvyB,EAAE,gBAAiBrN,EAAEyH,WAC/Bo4B,KAAUxyB,EAAE,eAAgBrN,EAAEyH,WAC9Bq4B,KAAUzyB,EAAE,gBAAiBrN,EAAEyH,WAC/Bs4B,KAAU1yB,EAAE,iBAAkBrN,EAAEyH,WAChCu4B,KAAU3yB,EAAE,iBAAkBrN,EAAEyH,WAChCw4B,KAAU5yB,EAAE,iBAAkBrN,EAAEyH,WAChCy4B,KAAU7yB,EAAE,gBAAiBrN,EAAEyH,WAC/B04B,KAAU9yB,EAAE,gBAAiBrN,EAAEyH,WAC/B24B,KAAU/yB,EAAE,0BAA2BrN,EAAEyH,WACzC44B,KAAUhzB,EAAE,uBAAwBrN,EAAEyH,WACtC64B,KAAUjzB,EAAE,qBAAsBrN,EAAEyH,WACpC84B,KAAUlzB,EAAE,wBAAyBrN,EAAEyH,WACvC+4B,KAAUnzB,EAAE,sBAAuBrN,EAAEyH,WACrCg5B,KAAUpzB,EAAE,oBAAqBrN,EAAEyH,WACnCi5B,KAAUrzB,EAAE,kBAAmBrN,EAAEyH,WACjCk5B,KAAUtzB,EAAE,kBAAmBrN,EAAEyH,WACjCm5B,KAAUvzB,EAAE,wBAAyBrN,EAAEyH,WACvCo5B,KAAUxzB,EAAE,sBAAuBrN,EAAEyH,WACrCq5B,KAAUzzB,EAAE,oBAAqBrN,EAAEyH,WACnCs5B,KAAU1zB,EAAE,kBAAmBrN,EAAEyH,WACjCu5B,KAAU3zB,EAAE,mBAAoBrN,EAAEyH,WAClCw5B,KAAU5zB,EAAE,iBAAkBrN,EAAEyH,WAChCy5B,KAAU7zB,EAAE,gBAAiBrN,EAAEyH,WAC/B05B,KAAU9zB,EAAE,cAAerN,EAAEyH,WAC7B25B,KAAU/zB,EAAE,sBAAuBrN,EAAEyH,WACrC45B,KAAUh0B,EAAE,oBAAqBrN,EAAEyH,WACnC65B,KAAUj0B,EAAE,eAAgBrN,EAAEyH,WAC9B85B,KAAUl0B,EAAE,iBAAkBrN,EAAEyH,WAChC+5B,KAAUn0B,EAAE,eAAgBrN,EAAEyH,WAC9Bg6B,KAAUp0B,EAAE,iBAAkBrN,EAAEyH,WAChCi6B,KAAUr0B,EAAE,gBAAiBrN,EAAEyH,WAC/Bk6B,KAAUt0B,EAAE,cAAerN,EAAEyH,WAC7Bm6B,KAAUv0B,EAAE,kBAAmBrN,EAAEyH,WACjCo6B,KAAUx0B,EAAE,gBAAiBrN,EAAEyH,WAC/Bq6B,KAAUz0B,EAAE,eAAgBrN,EAAEyH,WAC9Bs6B,KAAU10B,EAAE,aAAcrN,EAAEyH,WAC5Bu6B,KAAU30B,EAAE,kBAAmBrN,EAAEyH,WACjCw6B,KAAU50B,EAAE,gBAAiBrN,EAAEyH,WAC/By6B,KAAU70B,EAAE,iBAAkBrN,EAAEyH,WAChC06B,KAAU90B,EAAE,eAAgBrN,EAAEyH,WAC9B26B,KAAU/0B,EAAE,aAAcrN,EAAEyH,WAC5B46B,KAAUh1B,EAAE,uBAAwBrN,EAAEyH,WACtC66B,KAAUj1B,EAAE,qBAAsBrN,EAAEyH,WACpC86B,KAAUl1B,EAAE,mBAAoBrN,EAAEyH,WAClC+6B,KAAUn1B,EAAE,iBAAkBrN,EAAEyH,WAChCg7B,KAAUp1B,EAAE,yBAA0BrN,EAAEyH,WACxCi7B,KAAUr1B,EAAE,uBAAwBrN,EAAEyH,WACtCk7B,KAAUt1B,EAAE,mBAAoBrN,EAAEoa,wBAClCwoB,KAAUv1B,EAAE,sBAAuBrN,EAAEyH,WACrCo7B,KAAUx1B,EAAE,oBAAqBrN,EAAEyH,WACnCq7B,KAAUz1B,EAAE,kBAAmBrN,EAAEia,uBACjC8oB,KAAU11B,EAAE,gBAAiBrN,EAAEyH,WAC/Bu7B,KAAU31B,EAAE,iBAAkBrN,EAAEqa,sBAChC4oB,KAAU51B,EAAE,qBAAsBrN,EAAEyH,WACpCy7B,KAAU71B,EAAE,eAAgBrN,EAAEyH,WAC9B07B,KAAU91B,EAAE,mBAAoBrN,EAAEyH,WAClC27B,KAAU/1B,EAAE,kBAAmBrN,EAAEyH,WACjC47B,KAAUh2B,EAAE,gBAAiBrN,EAAEyH,WAC/B67B,KAAUj2B,EAAE,0BAA2BrN,EAAEyH,WACzC87B,KAAUl2B,EAAE,aAAcrN,EAAEyH,WAC5B+7B,KAAUn2B,EAAE,wBAAyBrN,EAAEyH,WACvCg8B,KAAUp2B,EAAE,gCAAiCrN,EAAEyH,WAC/Ci8B,KAAUr2B,EAAE,wBAAyBrN,EAAEyH,WACvCk8B,KAAUt2B,EAAE,kBAAmBrN,EAAEyH,WACjCm8B,KAAUv2B,EAAE,sBAAuBrN,EAAEyH,WACrCo8B,KAAUx2B,EAAE,YAAarN,EAAEyH,WAC3Bq8B,KAAUz2B,EAAE,iBAAkBrN,EAAEyH,WAChCs8B,KAAU12B,EAAE,sBAAuBrN,EAAEyH,WACrCu8B,KAAU32B,EAAE,oBAAqBrN,EAAEyH,WACnCw8B,KAAU52B,EAAE,qBAAsBrN,EAAEyH,WACpCy8B,KAAU72B,EAAE,mBAAoBrN,EAAEyH,WAClC08B,KAAU92B,EAAE,yBAA0BrN,EAAEyH,WACxC28B,KAAU/2B,EAAE,uBAAwBrN,EAAEyH,WACtC48B,KAAUh3B,EAAE,kBAAmBrN,EAAEyH,WACjC68B,KAAUj3B,EAAE,oBAAqBrN,EAAEyH,WACnC88B,KAAUl3B,EAAE,cAAerN,EAAEyH,WAC7B+8B,KAAUn3B,EAAE,kBAAmBrN,EAAEyH,WACjCg9B,KAAUp3B,EAAE,mBAAoBrN,EAAEyH,WAClCi9B,KAAUr3B,EAAE,kBAAmBrN,EAAEyH,WACjCk9B,KAAUt3B,EAAE,aAAcrN,EAAEyH,WAC5Bm9B,KAAUv3B,EAAE,gBAAiBrN,EAAEyH,WAC/Bo9B,KAAUx3B,EAAE,cAAerN,EAAEyH,WAC7Bq9B,KAAUz3B,EAAE,iBAAkBrN,EAAEyH,WAChCs9B,KAAU13B,EAAE,kBAAmBrN,EAAEyH,WACjCu9B,KAAU33B,EAAE,oBAAqBrN,EAAEyH,WACnCw9B,KAAU53B,EAAE,kBAAmBrN,EAAEyH,WACjCy9B,KAAU73B,EAAE,iBAAkBrN,EAAEyH,WAChC09B,KAAU93B,EAAE,eAAgBrN,EAAEyH,WAC9B29B,KAAU/3B,EAAE,gBAAiBrN,EAAEyH,WAC/B49B,KAAUh4B,EAAE,oBAAqBrN,EAAEyH,WACnC69B,KAAUj4B,EAAE,uBAAwBrN,EAAEyH,WACtC89B,KAAUl4B,EAAE,wBAAyBrN,EAAEyH,WACvC+9B,KAAUn4B,EAAE,qBAAsBrN,EAAEyH,WACpCg+B,KAAUp4B,EAAE,wBAAyBrN,EAAEyH,WACvCi+B,MAAUr4B,EAAE,eAAgBrN,EAAEyH,WAC9Bk+B,MAAUt4B,EAAE,gBAAiBrN,EAAEyH,WAC/Bm+B,MAAUv4B,EAAE,qBAAsBrN,EAAEyH,WACpCo+B,MAAUx4B,EAAE,mBAAoBrN,EAAEyH,WAClCq+B,MAAUz4B,EAAE,2BAA4BrN,EAAEyH,WAC1Cs+B,MAAU14B,EAAE,yBAA0BrN,EAAEyH,WACxCu+B,MAAU34B,EAAE,0BAA2BrN,EAAEyH,WACzCw+B,MAAU54B,EAAE,yBAA0BrN,EAAEyH,WACxCy+B,MAAU74B,EAAE,uBAAwBrN,EAAEyH,WACtC0+B,MAAU94B,EAAE,wBAAyBrN,EAAEyH,WACvC2+B,MAAU/4B,EAAE,sBAAuBrN,EAAEyH,WACrC4+B,MAAUh5B,EAAE,uBAAwBrN,EAAEyH,WACtC6+B,MAAUj5B,EAAE,aAAcrN,EAAEyH,WAC5B8+B,MAAUl5B,EAAE,YAAarN,EAAEyH,WAC3B++B,MAAUn5B,EAAE,uBAAwBrN,EAAEyH,WACtCg/B,MAAUp5B,EAAE,qBAAsBrN,EAAEyH,WACpCi/B,MAAUr5B,EAAE,YAAarN,EAAEyH,WAC3Bk/B,MAAUt5B,EAAE,yBAA0BrN,EAAEyH,WACxCm/B,MAAUv5B,EAAE,uBAAwBrN,EAAEyH,WACtCo/B,MAAUx5B,EAAE,eAAgBrN,EAAEyH,WAC9Bq/B,MAAUz5B,EAAE,YAAarN,EAAEyH,WAC3Bs/B,MAAU15B,EAAE,mBAAoBrN,EAAEyH,WAClCu/B,MAAU35B,EAAE,kCAAmCrN,EAAEyH,WACjDw/B,MAAU55B,EAAE,gCAAiCrN,EAAEyH,WAC/Cy/B,MAAU75B,EAAE,mBAAoBrN,EAAEyH,WAClC0/B,MAAU95B,EAAE,iBAAkBrN,EAAEyH,WAChC2/B,MAAU/5B,EAAE,YAAarN,EAAEyH,WAC3B4/B,MAAUh6B,EAAE,oBAAqBrN,EAAEyH,WACnC6/B,MAAUj6B,EAAE,oBAAqBrN,EAAEyH,WACnC8/B,MAAUl6B,EAAE,YAAarN,EAAEyH,WAC3B+/B,MAAUn6B,EAAE,kBAAmBrN,EAAEyH,WACjCggC,MAAUp6B,EAAE,aAAcrN,EAAEyH,WAC5BigC,MAAUr6B,EAAE,qBAAsBrN,EAAEyH,WACpCkgC,MAAUt6B,EAAE,mBAAoBrN,EAAEyH,WAClCmgC,MAAUv6B,EAAE,0BAA2BrN,EAAEyH,WACzCogC,MAAUx6B,EAAE,wBAAyBrN,EAAEyH,WACvCqgC,MAAUz6B,EAAE,YAAarN,EAAEyH,WAC3BsgC,MAAU16B,EAAE,mBAAoBrN,EAAEyH,WAClCugC,MAAU36B,EAAE,iBAAkBrN,EAAEyH,WAChCwgC,MAAU56B,EAAE,gBAAiBrN,EAAEyH,WAC/BygC,MAAU76B,EAAE,cAAerN,EAAEyH,WAC7B0gC,MAAU96B,EAAE,oBAAqBrN,EAAEyH,WACnC2gC,MAAU/6B,EAAE,kBAAmBrN,EAAEyH,WACjC4gC,MAAUh7B,EAAE,yBAA0BrN,EAAEyH,WACxC6gC,MAAUj7B,EAAE,uBAAwBrN,EAAEyH,WACtC8gC,MAAUl7B,EAAE,wBAAyBrN,EAAEyH,WACvC+gC,MAAUn7B,EAAE,sBAAuBrN,EAAEyH,WACrCghC,MAAUp7B,EAAE,sBAAuBrN,EAAEyH,WACrCihC,MAAUr7B,EAAE,oBAAqBrN,EAAEyH,WACnCkhC,MAAUt7B,EAAE,yBAA0BrN,EAAEyH,WACxCmhC,MAAUv7B,EAAE,uBAAwBrN,EAAEyH,WACtCohC,MAAUx7B,EAAE,oBAAqBrN,EAAEyH,WACnCqhC,MAAUz7B,EAAE,kBAAmBrN,EAAEyH,WACjCshC,MAAU17B,EAAE,mBAAoBrN,EAAEyH,WAClCuhC,MAAU37B,EAAE,iBAAkBrN,EAAEyH,WAChCwhC,MAAU57B,EAAE,iBAAkBrN,EAAEyH,WAChCyhC,MAAU77B,EAAE,eAAgBrN,EAAEyH,WAC9B0hC,MAAU97B,EAAE,4BAA6BrN,EAAEyH,WAC3C2hC,MAAU/7B,EAAE,8BAA+BrN,EAAEyH,WAC7C4hC,MAAUh8B,EAAE,4BAA6BrN,EAAEyH,WAC3C6hC,MAAUj8B,EAAE,gCAAiCrN,EAAEyH,WAC/C8hC,MAAUl8B,EAAE,8BAA+BrN,EAAEyH,WAC7C+hC,MAAUn8B,EAAE,+BAAgCrN,EAAEyH,WAC9CgiC,MAAUp8B,EAAE,6BAA8BrN,EAAEyH,WAC5CiiC,MAAUr8B,EAAE,8BAA+BrN,EAAEyH,WAC7CkiC,MAAUt8B,EAAE,4BAA6BrN,EAAEyH,WAC3CmiC,MAAUv8B,EAAE,6BAA8BrN,EAAEyH,WAC5CoiC,MAAUx8B,EAAE,2BAA4BrN,EAAEyH,WAC1CqiC,MAAUz8B,EAAE,yBAA0BrN,EAAEyH,WACxCsiC,MAAU18B,EAAE,gCAAiCrN,EAAEyH,WAC/CuiC,MAAU38B,EAAE,0BAA2BrN,EAAEyH,WACzCwiC,MAAU58B,EAAE,8BAA+BrN,EAAEyH,WAC7CyiC,MAAU78B,EAAE,4BAA6BrN,EAAEyH,WAC3C0iC,MAAU98B,EAAE,0BAA2BrN,EAAEyH,WACzC2iC,MAAU/8B,EAAE,2BAA4BrN,EAAEyH,WAC1C4iC,MAAUh9B,EAAE,uBAAwBrN,EAAEyH,WACtC6iC,MAAUj9B,EAAE,0BAA2BrN,EAAEyH,WACzC8iC,MAAUl9B,EAAE,oBAAqBrN,EAAEyH,WACnC+iC,MAAUn9B,EAAE,YAAarN,EAAEyH,WAC3BgjC,MAAUp9B,EAAE,YAAarN,EAAEyH,WAC3BijC,MAAUr9B,EAAE,oCAAqCrN,EAAEyH,WACnDkjC,MAAUt9B,EAAE,kCAAmCrN,EAAEyH,WACjDmjC,MAAUv9B,EAAE,kBAAmBrN,EAAEyH,WACjCojC,MAAUx9B,EAAE,gBAAiBrN,EAAEyH,WAC/BqjC,MAAUz9B,EAAE,cAAerN,EAAEyH,WAC7BsjC,MAAU19B,EAAE,iBAAkBrN,EAAEyH,WAChCujC,MAAU39B,EAAE,eAAgBrN,EAAEyH,WAC9BwjC,MAAU59B,EAAE,kBAAmBrN,EAAEyH,WACjCyjC,MAAU79B,EAAE,gBAAiBrN,EAAEyH,WAC/B0jC,MAAU99B,EAAE,mBAAoBrN,EAAEyH,WAClC2jC,MAAU/9B,EAAE,iBAAkBrN,EAAEyH,WAChC4jC,MAAUh+B,EAAE,oBAAqBrN,EAAEyH,WACnC6jC,MAAUj+B,EAAE,kBAAmBrN,EAAEyH,WACjC8jC,MAAUl+B,EAAE,kBAAmBrN,EAAEyH,WACjC+jC,MAAUn+B,EAAE,sBAAuBrN,EAAEyH,WACrCgkC,MAAUp+B,EAAE,oBAAqBrN,EAAEyH,WACnCikC,MAAUr+B,EAAE,wBAAyBrN,EAAEyH,WACvCkkC,MAAUt+B,EAAE,0BAA2BrN,EAAEyH,WACzCmkC,MAAUv+B,EAAE,wBAAyBrN,EAAEyH,WACvCokC,MAAUx+B,EAAE,mCAAoCrN,EAAEyH,WAClDqkC,MAAUz+B,EAAE,iCAAkCrN,EAAEyH,WAChDskC,MAAU1+B,EAAE,iCAAkCrN,EAAEyH,WAChDukC,MAAU3+B,EAAE,+BAAgCrN,EAAEyH,WAC9CwkC,MAAU5+B,EAAE,wBAAyBrN,EAAEyH,WACvCykC,MAAU7+B,EAAE,sBAAuBrN,EAAEyH,WACrC0kC,MAAU9+B,EAAE,yBAA0BrN,EAAEyH,WACxC2kC,MAAU/+B,EAAE,uBAAwBrN,EAAEyH,WACtC4kC,MAAUh/B,EAAE,gBAAiBrN,EAAEyH,WAC/B6kC,MAAUj/B,EAAE,uBAAwBrN,EAAEyH,WACtC8kC,MAAUl/B,EAAE,qBAAsBrN,EAAEyH,WACpC+kC,MAAUn/B,EAAE,8BAA+BrN,EAAEyH,WAC7CglC,MAAUp/B,EAAE,4BAA6BrN,EAAEyH,WAC3CilC,MAAUr/B,EAAE,eAAgBrN,EAAEyH,WAC9BklC,MAAUt/B,EAAE,sBAAuBrN,EAAEyH,WACrCmlC,MAAUv/B,EAAE,oBAAqBrN,EAAEyH,WACnColC,MAAUx/B,EAAE,uBAAwBrN,EAAEyH,WACtCqlC,MAAUz/B,EAAE,qBAAsBrN,EAAEyH,WACpCslC,MAAU1/B,EAAE,qBAAsBrN,EAAEyH,WACpCulC,MAAU3/B,EAAE,mBAAoBrN,EAAEyH,WAClCwlC,MAAU5/B,EAAE,gBAAiBrN,EAAEyH,WAC/BylC,MAAU7/B,EAAE,kBAAmBrN,EAAEyH,WACjC0lC,MAAU9/B,EAAE,kBAAmBrN,EAAEyH,WACjC2lC,MAAU//B,EAAE,uBAAwBrN,EAAEyH,WACtC4lC,MAAUhgC,EAAE,qBAAsBrN,EAAEyH,WACpC6lC,MAAUjgC,EAAE,oBAAqBrN,EAAEyH,WACnC8lC,MAAUlgC,EAAE,kBAAmBrN,EAAEyH,WACjC+lC,MAAUngC,EAAE,kBAAmBrN,EAAEyH,WACjCgmC,MAAUpgC,EAAE,gBAAiBrN,EAAEyH,WAC/BimC,MAAUrgC,EAAE,sBAAuBrN,EAAEyH,WACrCkmC,MAAUtgC,EAAE,oBAAqBrN,EAAEyH,WACnCmmC,MAAUvgC,EAAE,qBAAsBrN,EAAEyH,WACpComC,MAAUxgC,EAAE,mBAAoBrN,EAAEyH,WAClCqmC,MAAUzgC,EAAE,oBAAqBrN,EAAEyH,WACnCsmC,MAAU1gC,EAAE,kBAAmBrN,EAAEyH,WACjCumC,MAAU3gC,EAAE,0BAA2BrN,EAAEyH,WACzCwmC,MAAU5gC,EAAE,wBAAyBrN,EAAEyH,WACvCymC,MAAU7gC,EAAE,WAAYrN,EAAEyH,WAC1B0mC,MAAU9gC,EAAE,iBAAkBrN,EAAEyH,WAChC2mC,MAAU/gC,EAAE,eAAgBrN,EAAEyH,WAC9B4mC,MAAUhhC,EAAE,cAAerN,EAAEyH,WAC7B6mC,MAAUjhC,EAAE,0BAA2BrN,EAAEyH,WACzC8mC,MAAUlhC,EAAE,oBAAqBrN,EAAEyH,WACnC+mC,MAAUnhC,EAAE,kBAAmBrN,EAAEyH,WACjCgnC,MAAUphC,EAAE,8BAA+BrN,EAAEyH,WAC7CinC,MAAUrhC,EAAE,iCAAkCrN,EAAEyH,WAChDknC,MAAUthC,EAAE,+BAAgCrN,EAAEyH,WAC9CmnC,MAAUvhC,EAAE,2BAA4BrN,EAAEyH,WAC1ConC,MAAUxhC,EAAE,yBAA0BrN,EAAEyH,WACxCqnC,MAAUzhC,EAAE,uBAAwBrN,EAAEyH,WACtCsnC,MAAU1hC,EAAE,mBAAoBrN,EAAEyH,WAClCunC,MAAU3hC,EAAE,gCAAiCrN,EAAEyH,WAC/CwnC,MAAU5hC,EAAE,mBAAoBrN,EAAEyH,WAClCynC,MAAU7hC,EAAE,iBAAkBrN,EAAEyH,WAChC0nC,MAAU9hC,EAAE,gBAAiBrN,EAAEyH,WAC/B2nC,MAAU/hC,EAAE,cAAerN,EAAEyH,WAC7B4nC,MAAUhiC,EAAE,kBAAmBrN,EAAEyH,WACjC6nC,MAAUjiC,EAAE,WAAYrN,EAAEyH,WAC1B8nC,MAAUliC,EAAE,wBAAyBrN,EAAEyH,WACvC+nC,MAAUniC,EAAE,sBAAuBrN,EAAEyH,WACrCgoC,MAAUpiC,EAAE,kBAAmBrN,EAAEyH,WACjCioC,MAAUriC,EAAE,eAAgBrN,EAAEyH,WAC9BkoC,MAAUtiC,EAAE,+BAAgCrN,EAAEyH,WAC9CmoC,MAAUviC,EAAE,6BAA8BrN,EAAEyH,WAC5CooC,MAAUxiC,EAAE,yBAA0BrN,EAAEyH,WACxCqoC,MAAUziC,EAAE,wBAAyBrN,EAAEyH,WACvCsoC,MAAU1iC,EAAE,2BAA4BrN,EAAEyH,WAC1CuoC,MAAU3iC,EAAE,yBAA0BrN,EAAEyH,WACxCwoC,MAAU5iC,EAAE,gBAAiBrN,EAAEyH,WAC/ByoC,MAAU7iC,EAAE,qCAAsCrN,EAAEyH,WACpD0oC,MAAU9iC,EAAE,mCAAoCrN,EAAEyH,WAClD2oC,MAAU/iC,EAAE,+BAAgCrN,EAAEyH,WAC9C4oC,MAAUhjC,EAAE,2BAA4BrN,EAAEyH,WAC1C6oC,MAAUjjC,EAAE,yBAA0BrN,EAAEyH,WACxC8oC,MAAUljC,EAAE,0BAA2BrN,EAAEyH,WACzC+oC,MAAUnjC,EAAE,wBAAyBrN,EAAEyH,WACvCgpC,MAAUpjC,EAAE,sBAAuBrN,EAAEyH,WACrCipC,MAAUrjC,EAAE,oBAAqBrN,EAAEyH,WACnCkpC,MAAUtjC,EAAE,qBAAsBrN,EAAEyH,WACpCmpC,MAAUvjC,EAAE,mBAAoBrN,EAAEyH,WAClCopC,MAAUxjC,EAAE,kBAAmBrN,EAAEyH,WACjCqpC,MAAUzjC,EAAE,YAAarN,EAAEyH,WAC3BspC,MAAU1jC,EAAE,wBAAyBrN,EAAEyH,WACvCupC,MAAU3jC,EAAE,sBAAuBrN,EAAEyH,WACrCwpC,MAAU5jC,EAAE,0BAA2BrN,EAAEyH,WACzCypC,MAAU7jC,EAAE,kCAAmCrN,EAAEyH,WACjD0pC,MAAU9jC,EAAE,gCAAiCrN,EAAEyH,WAC/C2pC,MAAU/jC,EAAE,yBAA0BrN,EAAEyH,WACxC4pC,MAAUhkC,EAAE,uBAAwBrN,EAAEyH,WACtC6pC,MAAUjkC,EAAE,gCAAiCrN,EAAEyH,WAC/C8pC,MAAUlkC,EAAE,8BAA+BrN,EAAEyH,WAC7C+pC,MAAUnkC,EAAE,WAAYrN,EAAEyH,WAC1BgqC,MAAUpkC,EAAE,iBAAkBrN,EAAEyH,WAChCiqC,MAAUrkC,EAAE,eAAgBrN,EAAEyH,WAC9BkqC,MAAUtkC,EAAE,oCAAqCrN,EAAEyH,WACnDmqC,MAAUvkC,EAAE,0BAA2BrN,EAAEyH,WACzCoqC,MAAUxkC,EAAE,wBAAyBrN,EAAEyH,WACvCqqC,MAAUzkC,EAAE,oBAAqBrN,EAAEyH,WACnCsqC,MAAU1kC,EAAE,oBAAqBrN,EAAEyH,WACnCuqC,MAAU3kC,EAAE,kBAAmBrN,EAAEyH,WACjCwqC,MAAU5kC,EAAE,oBAAqBrN,EAAEyH,WACnCyqC,MAAU7kC,EAAE,kBAAmBrN,EAAEyH,WACjC0qC,MAAU9kC,EAAE,uBAAwBrN,EAAEyH,WACtC2qC,MAAU/kC,EAAE,qBAAsBrN,EAAEyH,WACpC4qC,MAAUhlC,EAAE,cAAerN,EAAEyH,WAC7B6qC,MAAUjlC,EAAE,eAAgBrN,EAAEyH,WAC9B8qC,MAAUllC,EAAE,iBAAkBrN,EAAEyH,WAChC+qC,MAAUnlC,EAAE,qBAAsBrN,EAAEyH,WACpCgrC,MAAUplC,EAAE,mBAAoBrN,EAAEyH,WAClCirC,MAAUrlC,EAAE,eAAgBrN,EAAEyH,WAC9BkrC,MAAUtlC,EAAE,oBAAqBrN,EAAEyH,WACnCmrC,MAAUvlC,EAAE,kBAAmBrN,EAAEyH,WACjCorC,MAAUxlC,EAAE,sBAAuBrN,EAAEyH,WACrCqrC,MAAUzlC,EAAE,oBAAqBrN,EAAEyH,WACnCsrC,MAAU1lC,EAAE,gBAAiBrN,EAAEyH,WAC/BurC,MAAU3lC,EAAE,6BAA8BrN,EAAEyH,WAC5CwrC,MAAU5lC,EAAE,2BAA4BrN,EAAEyH,WAC1CyrC,MAAU7lC,EAAE,uBAAwBrN,EAAEyH,WACtC0rC,MAAU9lC,EAAE,qBAAsBrN,EAAEyH,WACpC2rC,MAAU/lC,EAAE,mBAAoBrN,EAAEyH,WAClC4rC,MAAUhmC,EAAE,2BAA4BrN,EAAEyH,WAC1C6rC,MAAUjmC,EAAE,yBAA0BrN,EAAEyH,WACxC8rC,MAAUlmC,EAAE,wBAAyBrN,EAAEyH,WACvC+rC,MAAUnmC,EAAE,yBAA0BrN,EAAEyH,WACxCgsC,MAAUpmC,EAAE,yBAA0BrN,EAAEyH,WACxCisC,MAAUrmC,EAAE,YAAarN,EAAEyH,WAC3BrO,OAAUiU,EAAE,GAAIrN,EAAEyH,WAGnB;QAASzQ,SAAQI,MAChB,GAAIwgB,YACF,SAAU,QACV,WAAY,OACZ,cAAe,OAEf,aAAc,QACd,YAAa,EAAG,MAEhB,WAAY,QACZ,aAAc,QACd,YAAa,QACb,YAAa,QACb,UAAW,QAEX,MAAO,OAETA,UAAS3U,QAAQ,SAASvM,GACzB,SAAUU,MAAKV,EAAE,MAAQ,YAAaU,KAAKV,EAAE,IAAMA,EAAE,EACrD,IAAGA,EAAE,KAAO,IAAKU,KAAKV,EAAE,IAAM6G,OAAOnG,KAAKV,EAAE,OAG9C,QAASi9C,UAAS/xC,IAAKxK,MACtBA,KAAOA,QACPJ,SAAQI,KACRyJ,WACA,IAAI+yC,SAAU7wC,OAAOC,KAAKpB,IAAIE,MAC9B,IAAIkB,MAAO4wC,QAAQ/mC,OAAO,SAAS9W,GAAG,MAAOA,GAAE4E,QAAQ,IAAM,MAAOk5C,MACpE,IAAIC,KAAMr9B,QAAQ1U,WAAWH,IAAK,uBAAwBxK,KAC1D,IAAI28C,MAAO,KACX,IAAIn9B,QAAQo9B,OACZ,IAAGF,IAAIn9B,UAAU/f,SAAW,EAAG,CAC9Bo9C,QAAU,iBACV,IAAGjyC,WAAWH,IAAIoyC,QAAS,MAAOF,IAAIn9B,UAAUjY,KAAKs1C,SAEtD,GAAGF,IAAIn9B,UAAU/f,SAAW,EAAG,CAC9Bo9C,QAAU,iBACV,KAAIryC,WAAWC,IAAIoyC,QAAQ,MAAO,KAAM,IAAIl5C,OAAM,0BAClDg5C,KAAIn9B,UAAUjY,KAAKs1C,QACnBD,MAAO,KAGR,IAAI38C,KAAK68C,aAAe78C,KAAK88C,UAAW,CACvCh9B,OACA,IAAG48B,IAAIlnC,IAAKsK,KAAKkL,UAAUrgB,WAAWH,IAAKkyC,IAAIlnC,IAAIhS,QAAQ,MAAM,KAAMk5C,IAAIlnC,IAAKxV,KAEhFmW,UACA,IAAGumC,IAAI1nC,MAAOmB,OAAS4U,UAAUpgB,WAAWH,IAAKkyC,IAAI1nC,MAAMxR,QAAQ,MAAM,KAAKk5C,IAAI1nC,MAAOhV,MAG1F,GAAIkqB,IAAKW,SAASlgB,WAAWH,IAAKkyC,IAAIn9B,UAAU,GAAG/b,QAAQ,MAAM,KAAMk5C,IAAIn9B,UAAU,GAAIvf,KAEzF,IAAI+8C,UAAYC,SAAW,EAC3B,KACCA,SAAWN,IAAI/8B,UAAUngB,SAAW,EAAImL,WAAWH,IAAKkyC,IAAI/8B,UAAU,GAAGnc,QAAQ,MAAM,KAAO,EAC9Fw5C,WAAYN,IAAI98B,SAASpgB,SAAW,EAAImL,WAAWH,IAAKkyC,IAAI98B,SAAS,GAAGpc,QAAQ,MAAM,KAAO,EAC7Fu5C,OAAQC,WAAa,GAAKt/B,WAAWs/B,aACpC,MAAMnyC,IAER,GAAIgV,aACJ,KAAI7f,KAAK68C,YAAc78C,KAAK88C,UAAW,CACtC,GAAIJ,IAAI78B,UAAUrgB,SAAW,EAAG,CAC/Bw9C,SAAWryC,WAAWH,IAAKkyC,IAAI78B,UAAU,GAAGrc,QAAQ,MAAM,IAAK,KAC/D,IAAGw5C,SAAUn9B,UAAYf,iBAAiBk+B,WAI5C,GAAI74C,OACJ,IAAGnE,KAAK68C,YAAc78C,KAAK88C,UAAW,CACrC,GAAGC,MAAMx+B,YAAcw+B,MAAMt+B,WAAWjf,OAAS,EAAGggB,OAAOu9B,MAAMt+B,eAC5D,IAAGyL,GAAGI,OAAQ9K,OAAS0K,GAAGI,OAAOpiB,IAAI,SAASvJ,GAAI,MAAOA,GAAEmL,MAChE,IAAG9J,KAAK88C,UAAW,CAAE34C,IAAI84C,MAAQF,KAAO54C,KAAI+4C,UAAYr9B,UACxD,SAAUL,UAAW,YAAarb,IAAIsa,WAAae,MACnD,IAAGxf,KAAK68C,WAAa14C,IAAIsa,WAAaze,KAAK88C,UAAW,MAAO34C,KAE9Dqb,SAEA,IAAI29B,QACJ,IAAGn9C,KAAKo9C,UAAYV,IAAIn8B,UAAW48B,KAAKlyB,SAAStgB,WAAWH,IAAKkyC,IAAIn8B,UAAU/c,QAAQ,MAAM,KAAKk5C,IAAIn8B,UAAUvgB,KAEhH,IAAIoH,GAAE,CACN,IAAIic,aACJ,IAAIg6B,MAAMC,QACV,KAAIP,MAAMx+B,WAAY,CAErB,GAAIg/B,UAAWrzB,GAAGI,MAClByyB,OAAMx+B,WAAag/B,SAAS/9C,MAC5Bu9C,OAAMt+B,aACN,KAAI,GAAIpX,GAAI,EAAGA,GAAKk2C,SAAS/9C,SAAU6H,EAAG,CACzC01C,MAAMt+B,WAAWpX,GAAKk2C,SAASl2C,GAAGyC,MAIpC,GAAI0zC,OAAS7yC,WAAWH,IAAI,0BAA0B,MAAO,EAAE,CAC/D,KAAIpD,EAAI,EAAGA,GAAK21C,MAAMx+B,aAAcnX,EAAG,CACtC,IAECi2C,KAAO,uBAAuBj2C,EAAE,EAAEo2C,QAAQb,KAAK,OAAO,OACtDU,MAAOA,KAAK75C,QAAQ,WAAW,SAC/B85C,UAAWD,KAAK75C,QAAQ,qBAAsB,mBAC9Cgc,QAAOu9B,MAAMt+B,WAAWrX,IAAI0jB,SAASngB,WAAWH,IAAK6yC,MAAMA,KAAKr9C,KAChEqjB,WAAU05B,MAAMt+B,WAAWrX,IAAIqZ,UAAU9V,WAAWH,IAAK8yC,SAAU,MAAOD,MACzE,MAAMxyC,GAAK,GAAG7K,KAAKkW,IAAK,KAAMrL,IAGjC,GAAG6xC,IAAI38B,SAAUoD,eAAe3Y,IAAKkyC,IAAI38B,SAAUP,OAAQ6D,UAAWrjB,KAEtEmE,MACCs5C,UAAWf,IACXgB,SAAUxzB,GACV+yB,MAAOF,MACPG,UAAWr9B,UACX89B,KAAMR,KACN7yB,OAAQ9K,OACRf,WAAYs+B,MAAMt+B,WAClBm/B,QAAS99B,KACT+9B,OAAQ1nC,OAET,IAAGnW,KAAK89C,UAAW,CAClB35C,IAAIyH,KAAOA,IACXzH,KAAIuG,MAAQF,IAAIE,MAEjB,GAAG1K,KAAK+9C,QAAS,CAChB,GAAGrB,IAAI18B,IAAIxgB,OAAS,EAAG2E,IAAI65C,OAASrzC,WAAWH,IAAIkyC,IAAI18B,IAAI,GAAG,UACzD,IAAG08B,IAAIl8B,SAASy9B,MAAQ,uCAAwC95C,IAAI65C,OAASrzC,WAAWH,IAAI,oBAAoB,MAEtH,MAAOrG,KAER,QAAS+5C,UAASr0C,KAAMs0C,SACvB,GAAI3zC,KAAKlL,EAAIuK,IACb,IAAIhK,GAAIs+C,WACR,QAAQt+C,EAAEoF,MAAM,UACf,IAAK,OACJ,SAAUgF,UAAW,YAAa,CAAEO,IAAI,GAAIO,OAAMzL,EAAEwL,IAAIszC,aAAav0C,MAAQ,OAC7EvK,EAAIwL,IAAIszC,aAAav0C,MAAM+E,SAAS,SAErC,KAAK,SAAUpE,IAAM,GAAIO,OAAMzL,GAAK++C,OAAO,MAAS,MACpD,KAAK,SAAU7zC,IAAM,GAAIO,OAAMzL,GAAK++C,OAAO,OAAU,OAEtD,MAAO9B,UAAS/xC,IAAK3K,GAGtB,QAASu+C,cAAav0C,KAAMs0C,SAC3B,GAAIt+C,GAAIs+C,WAAat+C,GAAEoF,KAAO,MAC9B,OAAOi5C,UAASr0C,KAAMhK,GAGvBsJ,KAAKiH,KAAO8tC,QACZ/0C,MAAKm1C,SAAWF,YAChBj1C,MAAKozC,SAAWA,QAChB,OAAO5tC,QAEJxF,KAEH,IAAIwD,MAAO,SAAS1N,GAAK,MAAOL,QAAO+K,aAAa1K,GAEpD,SAASs/C,YAAW3sC,KAAO,GAAIrM,GAAE,EAAI,OAAMqM,IAAKA,IAAKA,IAAI7O,KAAKC,OAAO4O,IAAI,GAAG,IAAKrM,EAAIoH,MAAOiF,IAAI,GAAG,GAAM,IAAMrM,CAAG,OAAOA,GACzH,QAASi5C,YAAW95B,KAAO,MAAO,IAAMA,IAAM,GAC9C,QAAS7C,aAAYtP,MAAQ,MAAOgsC,YAAWhsC,KAAKtT,GAAKu/C,WAAWjsC,KAAKjM,GAEzE,QAASm4C,YAAWx/C,GAAK,GAAIK,GAAI,EAAG8H,EAAI,CAAG,MAAMA,IAAMnI,EAAEO,SAAU4H,EAAG9H,EAAI,GAAGA,EAAIL,EAAE8K,WAAW3C,GAAK,EAAI,OAAO9H,GAAI,EAClH,QAASo/C,YAAWC,QAAU,MAAOx4C,QAAOw4C,QAAU,EACtD,QAASC,YAAWC,MAAQ,MAAOA,MAAKr7C,QAAQ,yBAAyB,SAAS3E,MAAM,KACxF,QAAS4jB,aAAYo8B,MAAQ,GAAIC,MAAOF,WAAWC,KAAO,QAAS5/C,EAAEw/C,WAAWK,KAAK,IAAKx4C,EAAEo4C,WAAWI,KAAK,KAC5G,QAASj7B,cAAaD,OAAS,GAAIjlB,GAAGilB,MAAM/kB,MAAM,KAAKqJ,IAAIua,YAAc,QAAQld,EAAE5G,EAAE,GAAGkM,EAAElM,EAAEA,EAAEa,OAAO,IACrG,QAASwkB,cAAaJ,OAAS,MAAO/B,aAAY+B,MAAMre,GAAK,IAAMsc,YAAY+B,MAAM/Y,GAErF,QAASk0C,2BAA0Bp7B,MAAO3jB,MACzC,GAAImF,KAAKuf,IAAKpe,EAAG04C,OAAUC,QAAStuC,EAAGuuC,CACvC,IAAI/6C,OACJnE,MAAOA,QACP,KAAI2jB,QAAUA,MAAM,QAAS,MAAOxf,IACpCmC,GAAI6C,KAAKg2C,MAAMt7B,aAAaF,MAAM,QAClC,KAAIhT,EAAErK,EAAEf,EAAEe,EAAG44C,EAAI54C,EAAEf,EAAEtG,EAAGigD,GAAK54C,EAAEuE,EAAE5L,IAAKigD,EAAG,CACxC/5C,IAAMwe,MAAM9B,aAAa5iB,EAAEigD,EAAE54C,EAAEqK,IAC/B,KAAIxL,IAAK,QACT,IAAGA,IAAI4C,EAAGi3C,IAAIE,GAAK/5C,IAAI4C,MAClB,QAAO5C,IAAI5F,GACf,IAAK,IAAK,IAAK,MAAOy/C,IAAIE,GAAK/5C,IAAI9F,CAAG,MACtC,KAAK,IAAK2/C,IAAIE,GAAK/5C,IAAI9F,CAAG,QAI5B,IAAKsR,EAAIrK,EAAEf,EAAEe,EAAI,EAAGqK,GAAKrK,EAAEuE,EAAEvE,IAAKqK,EAAG,CACpCsuC,QAAU,IAEVv6B,KAAM/Y,OAAOyzC,QAASC,WAAa1uC,GACnC,KAAKuuC,EAAI54C,EAAEf,EAAEtG,EAAGigD,GAAK54C,EAAEuE,EAAE5L,IAAKigD,EAAG,CAChC/5C,IAAMwe,MAAM9B,aAAa5iB,EAAGigD,EAAE54C,EAAGqK,IACjC,KAAIxL,MAAQA,IAAI5F,EAAG,QACnB,UAAU4F,KAAI4C,IAAM,cAAgB/H,KAAKklB,IAAK,CAAER,IAAIs6B,IAAIE,IAAM/5C,IAAI4C,CAAGk3C,SAAU,UAC1E,QAAO95C,IAAI5F,GACf,IAAK,IAAK,IAAK,MAAO,IAAK,IAAK,IAAK,IACpC,SAAU4F,KAAI9F,IAAM,YAAa,CAChCqlB,IAAIs6B,IAAIE,IAAM/5C,IAAI9F,CAClB4/C,SAAU,MAEX,KACD,KAAK,IAAK,KACV,SAAS,KAAM,qBAAuB95C,IAAI5F,GAG5C,IAAI0/C,QAAS96C,IAAImD,KAAKod,KAEvB,MAAOvgB,KAGR,QAASm7C,cAAa37B,MAAO3jB,MAC5B,GAAI0R,WAAY,QAASA,WAAUvM,KAClC,IAAIA,IAAI5F,EAAG,MAAO,EAClB,UAAU4F,KAAI4C,IAAM,YAAa,MAAO5C,KAAI4C,CAC5C,QAAO5C,IAAI5F,GACV,IAAK,IAAK,MAAOX,QAAOuG,IAAI9F,EAC5B,KAAK,IAAK,IAAK,MAAO,aAAc8F,KAAI9F,IAAM,YAAc8F,IAAI9F,EAAI,EACpE,KAAK,IAAK,MAAO8F,KAAI9F,EAAI,OAAS,OAClC,KAAK,IAAK,MAAO8F,KAAI9F,CACrB,SAAS,KAAM,qBAAuB8F,IAAI5F,GAG5C,IAAI4E,QAAUo7C,IAAM,EACpBv/C,MAAOA,QACP,KAAI2jB,QAAUA,MAAM,QAAS,MAAO,EACpC,IAAIrd,GAAI6C,KAAKg2C,MAAMt7B,aAAaF,MAAM,QACtC,IAAI67B,IAAKx/C,KAAKy/C,IAAI,IAAKtqC,GAAKnV,KAAK0/C,IAAI,IAErC,KAAI,GAAI/uC,GAAIrK,EAAEf,EAAEe,EAAGqK,GAAKrK,EAAEuE,EAAEvE,IAAKqK,EAAG,CACnC,GAAI+T,OACJ,KAAI,GAAIw6B,GAAI54C,EAAEf,EAAEtG,EAAGigD,GAAK54C,EAAEuE,EAAE5L,IAAKigD,EAAG,CACnC,GAAI/5C,KAAMwe,MAAMxa,KAAKg2C,MAAMt9B,aAAa5iB,EAAEigD,EAAE54C,EAAEqK,IAC9C,KAAIxL,IAAK,CAAEuf,IAAIpd,KAAK,GAAK,UACzBi4C,IAAM3gD,OAAO8S,UAAUvM,KACvB,IAAGo6C,IAAIx5C,QAAQy5C,OAAO,GAAKD,IAAIx5C,QAAQoP,OAAO,GAAKoqC,IAAIx5C,QAAQ,QAAQ,EACtEw5C,IAAM,IAAOA,IAAI/7C,QAAQ,KAAM,MAAQ,GACxCkhB,KAAIpd,KAAKi4C,KAEVp7C,IAAImD,KAAKod,IAAI3lB,KAAKygD,KAEnB,MAAOr7C,KAAIpF,KAAKoW,KAAOhR,IAAI3E,OAAS2V,GAAK,IAE1C,GAAIwqC,UAAWL,YAEf,SAASM,cAAaC,IACrB,GAAIC,QACJ,KAAI,GAAIhgD,KAAK+/C,IAAI,GAAG//C,EAAE,KAAM,KAAO+/C,GAAG9zC,eAAejM,GAAI,CACxD,GAAInB,GAAIkhD,GAAG//C,EACX,IAAIqF,KAAM,EACV,IAAGxG,EAAEiK,EAAGzD,IAAMxG,EAAEiK,MACX,UAAUjK,GAAEoJ,IAAM,YAAa5C,IAAM,IAAMxG,EAAEoJ,MAC7C,UAAUpJ,GAAEU,IAAM,YAAa,aAC/B8F,KAAMxG,EAAEU,CACbygD,MAAKx4C,KAAKxH,EAAI,IAAMqF,KAErB,MAAO26C,MAGR32C,KAAKg2C,OACJZ,WAAYA,WACZC,WAAYA,WACZ38B,YAAaA,YACbmC,aAAcA,aACdy6B,WAAYA,WACZC,WAAYA,WACZE,WAAYA,WACZn8B,YAAaA,YACboB,aAAcA,aACdy7B,aAAcA,aACdK,SAAUL,aACVM,aAAcA,aACdb,0BAA2BA,0BAG5B,UAAUv1C,WAAY,mBAAsByB,WAAY,YAAa,CACpEA,QAAQmF,KAAOjH,KAAKiH,IACpBnF,SAAQqzC,SAAWn1C,KAAKm1C,QACxBrzC,SAAQk0C,MAAQh2C,KAAKg2C,KACrBl0C,SAAQvL,QAAUyJ,KAAKzJ"} \ No newline at end of file diff --git a/package.json b/package.json index cbb577a..e7c2f89 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "xlsx", - "version": "0.5.15", + "version": "0.5.16", "author": "sheetjs", "description": "XLSB / XLSX / XLSM (Excel 2007+ Spreadsheet) parser", "keywords": [ "xlsx", "xlsb", "xlsm", "office", "excel", "spreadsheet" ], @@ -9,7 +9,7 @@ }, "main": "./xlsx", "dependencies": { - "ssf":"~0.6.2", + "ssf":"~0.6.3", "codepage":"", "cfb":"", "jszip":"~2.1.0", diff --git a/test.js b/test.js index 1d90c84..63f3784 100644 --- a/test.js +++ b/test.js @@ -11,6 +11,7 @@ var exp = ex.map(function(x){ return x + ".pending"; }); function test_file(x){return ex.indexOf(x.substr(-5))>=0||exp.indexOf(x.substr(-13))>=0;} var files = (fs.existsSync('tests.lst') ? fs.readFileSync('tests.lst', 'utf-8').split("\n") : fs.readdirSync('test_files')).filter(test_file); +var fileA = (fs.existsSync('testA.lst') ? fs.readFileSync('testA.lst', 'utf-8').split("\n") : []).filter(test_file); /* Excel enforces 31 character sheet limit, although technical file limit is 255 */ function fixsheetname(x) { return x.substr(0,31); } @@ -39,7 +40,7 @@ var paths = { var N1 = 'XLSX'; var N2 = 'XLSB'; -function parsetest(x, wb) { +function parsetest(x, wb, full) { describe(x + ' should have all bits', function() { var sname = dir + '2011/' + x + '.sheetnames'; it('should have all sheets', function() { @@ -72,6 +73,7 @@ function parsetest(x, wb) { }); }); }); + if(!full) return; describe(x + ' should generate correct output', function() { wb.SheetNames.forEach(function(ws, i) { var name = (dir + x + '.' + i + '.csv'); @@ -100,7 +102,13 @@ describe('should parse test files', function() { files.forEach(function(x) { it(x, x.substr(-8) == ".pending" ? null : function() { var wb = X.readFile(dir + x, opts); - parsetest(x, wb); + parsetest(x, wb, true); + }); + }); + fileA.forEach(function(x) { + it(x, x.substr(-8) == ".pending" ? null : function() { + var wb = X.readFile(dir + x, {WTF:opts.wtf, sheetRows:10}); + parsetest(x, wb, false); }); }); }); @@ -252,6 +260,18 @@ describe('options', function() { wb = X.readFile(paths.fst2, {bookFiles:true}); ckf(wb, ['files', 'keys'], true); }); + it('should not generate VBA by default', function() { + var wb = X.readFile(paths.nf1); + assert(typeof wb.vbaraw === 'undefined'); + wb = X.readFile(paths.nf2); + assert(typeof wb.vbaraw === 'undefined'); + }); + it('bookVBA should generate vbaraw', function() { + var wb = X.readFile(paths.nf1,{bookVBA:true}); + assert(typeof wb.vbaraw !== 'undefined'); + wb = X.readFile(paths.nf2,{bookVBA:true}); + assert(typeof wb.vbaraw !== 'undefined'); + }); }); }); diff --git a/testA.lst b/testA.lst new file mode 100644 index 0000000..b1487aa --- /dev/null +++ b/testA.lst @@ -0,0 +1 @@ +calendar_stress_test.xlsx diff --git a/tests.lst b/tests.lst index 7084f71..ffb9601 100644 --- a/tests.lst +++ b/tests.lst @@ -2,6 +2,8 @@ AutoFilter.xlsb BlankSheetTypes.xlsb NumberFormatCondition.xlsb RkNumber.xlsb +calendar_stress_test.xlsb.pending +calendar_stress_test.xlsx.pending comments_stress_test.xlsb custom_properties.xlsb formula_stress_test.xlsb diff --git a/tests/files b/tests/files index 59e556b..5591611 160000 --- a/tests/files +++ b/tests/files @@ -1 +1 @@ -Subproject commit 59e556bf07effb3fe3b39f3291ca9f860f322208 +Subproject commit 5591611cebf7454da2eab8fbaacbbb7f687cacb5 diff --git a/xlsx.js b/xlsx.js index 17b5323..50d8293 100644 --- a/xlsx.js +++ b/xlsx.js @@ -9,14 +9,13 @@ var _strrev = function(x) { return String(x).split("").reverse().join("");}; function fill(c,l) { return new Array(l+1).join(c); } function pad(v,d,c){var t=String(v);return t.length>=d?t:(fill(c||0,d-t.length)+t);} function rpad(v,d,c){var t=String(v);return t.length>=d?t:(t+fill(c||0,d-t.length));} -SSF.version = '0.6.2'; +SSF.version = '0.6.4'; /* Options */ var opts_fmt = {}; function fixopts(o){for(var y in opts_fmt) if(o[y]===undefined) o[y]=opts_fmt[y];} SSF.opts = opts_fmt; opts_fmt.date1904 = 0; opts_fmt.output = ""; -opts_fmt.mode = ""; var table_fmt = { 0: 'General', 1: '0', @@ -119,7 +118,8 @@ var general_fmt = function(v) { throw new Error("unsupported value in General format: " + v); }; SSF._general = general_fmt; -var parse_date_code = function parse_date_code(v,opts) { +function fix_hijri(date, o) { } +var parse_date_code = function parse_date_code(v,opts,b2) { var date = Math.floor(v), time = Math.floor(86400 * (v - date)+1e-6), dow=0; var dout=[], out={D:date, T:time, u:86400*(v-date)-time}; fixopts(opts = (opts||{})); if(opts.date1904) date += 1462; @@ -128,8 +128,8 @@ var parse_date_code = function parse_date_code(v,opts) { out.u = 0; if(++time == 86400) { time = 0; ++date; } } - if(date === 60) {dout = [1900,2,29]; dow=3;} - else if(date === 0) {dout = [1900,1,0]; dow=6;} + if(date === 60) {dout = b2 ? [1317,10,29] : [1900,2,29]; dow=3;} + else if(date === 0) {dout = b2 ? [1317,8,29] : [1900,1,0]; dow=6;} else { if(date > 60) --date; /* 1 = Jan 1 1900 */ @@ -137,7 +137,8 @@ var parse_date_code = function parse_date_code(v,opts) { d.setDate(d.getDate() + date - 1); dout = [d.getFullYear(), d.getMonth()+1,d.getDate()]; dow = d.getDay(); - if(/* opts.mode === 'excel' && */ date < 60) dow = (dow + 6) % 7; + if(date < 60) dow = (dow + 6) % 7; + if(b2) dow = fix_hijri(d, dout); } out.y = dout[0]; out.m = dout[1]; out.d = dout[2]; out.S = time % 60; time = Math.floor(time / 60); @@ -150,13 +151,15 @@ SSF.parse_date_code = parse_date_code; /*jshint -W086 */ var write_date = function(type, fmt, val) { if(val < 0) return ""; - var o, ss; + var o, ss, y = val.y; switch(type) { - case 'y': switch(fmt) { /* year */ - case 'y': case 'yy': return pad(val.y % 100,2); - default: return pad(val.y % 10000,4); + case 'b': y = val.y + 543; + /* falls through */ + case 'y': switch(fmt.length) { /* year */ + case 1: case 2: return pad(y % 100,2); + default: return pad(y % 10000,4); } - case 'm': switch(fmt) { /* month */ + case 'm': switch(fmt) { case 'm': return val.m; case 'mm': return pad(val.m,2); case 'mmm': return months[val.m-1][1]; @@ -264,15 +267,15 @@ var write_num = function(type, fmt, val) { return val < 0 ? "-" + write_num(type, fmt, -val) : commaify(String(Math.floor(val))) + "." + pad(rr,r[1].length,0); } if((r = fmt.match(/^#,#*,#0/))) return write_num(type,fmt.replace(/^#,#*,/,""),val); - if((r = fmt.match(/^([0#]+)-([0#]+)$/))) { - ff = write_num(type, fmt.replace(/-/,""), val); + if((r = fmt.match(/^([0#]+)\\?-([0#]+)$/))) { + ff = write_num(type, fmt.replace(/[\\-]/g,""), val); return ff.substr(0,ff.length - r[2].length) + "-" + ff.substr(ff.length-r[2].length); } - if((r = fmt.match(/^([0#]+)-([0#]+)-([0#]+)$/))) { - ff = write_num(type, fmt.replace(/-/g,""), val); + if((r = fmt.match(/^([0#]+)\\?-([0#]+)\\?-([0#]+)$/))) { + ff = write_num(type, fmt.replace(/[\\-]/g,""), val); return ff.substr(0,ff.length - r[2].length - r[3].length) + "-" + ff.substr(ff.length-r[2].length - r[3].length, r[2].length) + "-" + ff.substr(ff.length-r[3].length); } - if(fmt == "(###) ###-####") { + if(fmt.match(/\(###\) ###\\?-####/)) { ff = write_num(type, "##########", val); return "(" + ff.substr(0,3) + ") " + ff.substr(3, 3) + "-" + ff.substr(6); } @@ -321,7 +324,7 @@ function eval_fmt(fmt, v, opts, flen) { while(i < fmt.length) { switch((c = fmt[i])) { case 'G': /* General */ - if(fmt.substr(i, i+6).toLowerCase() !== "general") + if(fmt.substr(i, 7).toLowerCase() !== "general") throw new Error('unrecognized character ' + fmt[i] + ' in ' +fmt); out.push({t:'G',v:'General'}); i+=7; break; case '"': /* Literal text */ @@ -332,7 +335,12 @@ function eval_fmt(fmt, v, opts, flen) { case '_': out.push({t:'t', v:" "}); i+=2; break; case '@': /* Text Placeholder */ out.push({t:'T', v:v}); ++i; break; - /* Dates */ + case 'B': case 'b': + if(fmt[i+1] === "1" || fmt[i+1] === "2") { + if(!dt) dt = parse_date_code(v, opts, fmt[i+1] === "2"); + q={t:'X', v:fmt.substr(i,2)}; out.push(q); lst = c; i+=2; break; + } + /* falls through */ case 'M': case 'D': case 'Y': case 'H': case 'S': case 'E': c = c.toLowerCase(); /* falls through */ @@ -354,7 +362,7 @@ function eval_fmt(fmt, v, opts, flen) { else if(fmt.substr(i,5) === "AM/PM") { q.v = dt.H >= 12 ? "PM" : "AM"; q.t = 'T'; i+=5; hr='h'; } else { q.t = "t"; i++; } out.push(q); lst = c; break; - case '[': /* TODO: Fix this -- ignore all conditionals and formatting */ + case '[': o = c; while(fmt[i++] !== ']' && i < fmt.length) o += fmt[i]; if(o.substr(-1) !== ']') throw 'unterminated "[" block: |' + o + '|'; @@ -366,7 +374,7 @@ function eval_fmt(fmt, v, opts, flen) { break; /* Numbers */ case '0': case '#': case '.': - o = c; while("0#?.,E+-%".indexOf(c=fmt[++i]) > -1) o += c; + o = c; while("0#?.,E+-%".indexOf(c=fmt[++i]) > -1 || c=='\\' && fmt[i+1] == "-" && "0#".indexOf(fmt[i+2])>-1) o += c; out.push({t:'n', v:o}); break; case '?': o = fmt[i]; while(fmt[++i] === c) o+=c; @@ -378,7 +386,7 @@ function eval_fmt(fmt, v, opts, flen) { out.push({t:'D', v:o}); break; case ' ': out.push({t:c,v:c}); ++i; break; default: - if(",$-+/():!^&'~{}<>=€".indexOf(c) === -1) + if(",$-+/():!^&'~{}<>=€acfijklopqrtuvwxz".indexOf(c) === -1) throw 'unrecognized character ' + fmt[i] + ' in ' + fmt; out.push({t:'t', v:c}); ++i; break; } @@ -391,6 +399,8 @@ function eval_fmt(fmt, v, opts, flen) { /* falls through */ case 'd': case 'y': case 'M': case 'e': lst=out[i].t; break; case 'm': if(lst === 's') { out[i].t = 'M'; if(bt < 2) bt = 2; } break; + case 'X': if(out[i].v === "B2"); + break; case 'Z': if(bt < 1 && out[i].v.match(/[Hh]/)) bt = 1; if(bt < 2 && out[i].v.match(/[Mm]/)) bt = 2; @@ -413,8 +423,9 @@ function eval_fmt(fmt, v, opts, flen) { for(i=0; i < out.length; ++i) { switch(out[i].t) { case 't': case 'T': case ' ': case 'D': break; - case 'd': case 'm': case 'y': case 'h': case 'H': case 'M': case 's': case 'e': case 'Z': - out[i].v = write_date(out[i].t, out[i].v, dt, bt); + case 'X': delete out[i]; break; + case 'd': case 'm': case 'y': case 'h': case 'H': case 'M': case 's': case 'e': case 'b': case 'Z': + out[i].v = write_date(out[i].t, out[i].v, dt); out[i].t = 't'; break; case 'n': case '(': case '?': var jj = i+1; @@ -487,7 +498,7 @@ SSF.load_table = function(tbl) { for(var i=0; i!=0x0188; ++i) if(tbl[i]) SSF.loa make_ssf(SSF); var XLSX = {}; (function(XLSX){ -XLSX.version = '0.5.15'; +XLSX.version = '0.5.16'; var current_codepage, current_cptable, cptable; if(typeof module !== "undefined" && typeof require !== 'undefined') { if(typeof cptable === 'undefined') cptable = require('codepage'); @@ -533,14 +544,17 @@ if (typeof exports !== 'undefined') { _fs = require('fs'); } } -var attregexg=/(\w+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g; -var attregex=/(\w+)=((?:")(?:[^"]*)(?:")|(?:')(?:[^']*)(?:'))/; +var attregexg=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g; +var attregex=/([\w:]+)=((?:")(?:[^"]*)(?:")|(?:')(?:[^']*)(?:'))/; function parsexmltag(tag) { var words = tag.split(/\s+/); var z = {'0': words[0]}; if(words.length === 1) return z; - (tag.match(attregexg) || []).map( - function(x){var y=x.match(attregex); z[y[1].replace(/^[a-zA-Z]*:/,"")] = y[2].substr(1,y[2].length-2); }); + (tag.match(attregexg) || []).map(function(x){ + var y=x.match(attregex); + y[1] = y[1].replace(/xmlns:/,"xmlns"); + z[y[1].replace(/^[a-zA-Z]*:/,"")] = y[2].substr(1,y[2].length-2); + }); return z; } @@ -599,7 +613,7 @@ var utf8read = function(orig) { }; // matches ... extracts content -function matchtag(f,g) {return new RegExp('<'+f+'(?: xml:space="preserve")?>([^\u2603]*)',(g||"")+"m");} +function matchtag(f,g) {return new RegExp('<(?:\\w+:)?'+f+'(?: xml:space="preserve")?>([^\u2603]*)',(g||"")+"m");} function parseVector(data) { var h = parsexmltag(data); @@ -1178,31 +1192,162 @@ function parse_sty_bin(data, opts) { }); return styles; } - +/* Parts enumerated in OPC spec, MS-XLSB and MS-XLSX */ +/* 12.3 Part Summary */ +/* 14.2 Part Summary */ +/* [MS-XLSX] 2.1 Part Enumerations */ +/* [MS-XLSB] 2.1.7 Part Enumeration */ var ct2type = { - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": "workbooks", /*XLSX*/ - "application/vnd.ms-excel.sheet.macroEnabled.main+xml":"workbooks", /*XLSM*/ - "application/vnd.ms-excel.sheet.binary.macroEnabled.main":"workbooks", /*XLSB*/ + /* Workbook */ + "application/vnd.ms-excel.main": "workbooks", + "application/vnd.ms-excel.sheet.macroEnabled.main+xml": "workbooks", + "application/vnd.ms-excel.sheet.binary.macroEnabled.main": "workbooks", + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": "workbooks", + "application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml": "TODO", /* Template */ - "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":"sheets", /*XLS[XM]*/ - "application/vnd.ms-excel.worksheet":"sheets", /*XLSB*/ + /* Worksheet */ + "application/vnd.ms-excel.worksheet": "sheets", + "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml": "sheets", + "application/vnd.ms-excel.binIndexWs": "TODO", /* Binary Index */ - "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":"styles", /*XLS[XM]*/ - "application/vnd.ms-excel.styles":"styles", /*XLSB*/ + /* Chartsheet */ + "application/vnd.ms-excel.chartsheet": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml": "TODO", - "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml": "strs", /*XLS[XM]*/ - "application/vnd.ms-excel.sharedStrings": "strs", /*XLSB*/ + /* Dialogsheet */ + "application/vnd.ms-excel.dialogsheet": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml": "TODO", - "application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml": "calcchains", /*XLS[XM]*/ - "application/vnd.ms-excel.calcChain": "calcchains", /*XLSB*/ + /* Macrosheet */ + "application/vnd.ms-excel.macrosheet": "TODO", + "application/vnd.ms-excel.macrosheet+xml": "TODO", + "application/vnd.ms-excel.intlmacrosheet": "TODO", + "application/vnd.ms-excel.binIndexMs": "TODO", /* Binary Index */ - "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml": "comments", /*XLS[XM]*/ - "application/vnd.ms-excel.comments": "comments", /*XLSB*/ + /* Shared Strings */ + "application/vnd.ms-excel.sharedStrings": "strs", + "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml": "strs", + /* Styles */ + "application/vnd.ms-excel.styles": "styles", + "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml": "styles", + + /* File Properties */ "application/vnd.openxmlformats-package.core-properties+xml": "coreprops", - "application/vnd.openxmlformats-officedocument.extended-properties+xml": "extprops", "application/vnd.openxmlformats-officedocument.custom-properties+xml": "custprops", - "application/vnd.openxmlformats-officedocument.theme+xml":"themes", + "application/vnd.openxmlformats-officedocument.extended-properties+xml": "extprops", + + /* Custom Data Properties */ + "application/vnd.openxmlformats-officedocument.customXmlProperties+xml": "TODO", + + /* Comments */ + "application/vnd.ms-excel.comments": "comments", + "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml": "comments", + + /* PivotTable */ + "application/vnd.ms-excel.pivotTable": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml": "TODO", + + /* Calculation Chain */ + "application/vnd.ms-excel.calcChain": "calcchains", + "application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml": "calcchains", + + /* Printer Settings */ + "application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings": "TODO", + + /* ActiveX */ + "application/vnd.ms-office.activeX": "TODO", + "application/vnd.ms-office.activeX+xml": "TODO", + + /* Custom Toolbars */ + "application/vnd.ms-excel.attachedToolbars": "TODO", + + /* External Data Connections */ + "application/vnd.ms-excel.connections": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml": "TODO", + + /* External Links */ + "application/vnd.ms-excel.externalLink": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml": "TODO", + + /* Metadata */ + "application/vnd.ms-excel.sheetMetadata": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml": "TODO", + + /* PivotCache */ + "application/vnd.ms-excel.pivotCacheDefinition": "TODO", + "application/vnd.ms-excel.pivotCacheRecords": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml": "TODO", + + /* Query Table */ + "application/vnd.ms-excel.queryTable": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml": "TODO", + + /* Shared Workbook */ + "application/vnd.ms-excel.userNames": "TODO", + "application/vnd.ms-excel.revisionHeaders": "TODO", + "application/vnd.ms-excel.revisionLog": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml": "TODO", + + /* Single Cell Table */ + "application/vnd.ms-excel.tableSingleCells": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml": "TODO", + + /* Slicer */ + "application/vnd.ms-excel.slicer": "TODO", + "application/vnd.ms-excel.slicerCache": "TODO", + "application/vnd.ms-excel.slicer+xml": "TODO", + "application/vnd.ms-excel.slicerCache+xml": "TODO", + + /* Sort Map */ + "application/vnd.ms-excel.wsSortMap": "TODO", + + /* Table */ + "application/vnd.ms-excel.table": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml": "TODO", + + /* Themes */ + "application/vnd.openxmlformats-officedocument.theme+xml": "themes", + + /* Timeline */ + "application/vnd.ms-excel.Timeline+xml": "TODO", /* verify */ + "application/vnd.ms-excel.TimelineCache+xml": "TODO", /* verify */ + + /* VBA */ + "application/vnd.ms-office.vbaProject": "vba", + "application/vnd.ms-office.vbaProjectSignature": "vba", + + /* Volatile Dependencies */ + "application/vnd.ms-office.volatileDependencies": "TODO", + "application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml": "TODO", + + /* Control Properties */ + "application/vnd.ms-excel.controlproperties+xml": "TODO", + + /* Data Model */ + "application/vnd.openxmlformats-officedocument.model+data": "TODO", + + /* Survey */ + "application/vnd.ms-excel.Survey+xml": "TODO", + + /* Drawing */ + "application/vnd.openxmlformats-officedocument.drawing+xml": "TODO", + "application/vnd.openxmlformats-officedocument.drawingml.chart+xml": "TODO", + "application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml": "TODO", + "application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml": "TODO", + "application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml": "TODO", + "application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml": "TODO", + "application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml": "TODO", + + /* VML */ + "application/vnd.openxmlformats-officedocument.vmlDrawing": "TODO", + + "application/vnd.openxmlformats-package.relationships+xml": "TODO", + "application/vnd.openxmlformats-officedocument.oleObject": "TODO", + "foo": "bar" }; @@ -1288,10 +1433,11 @@ function parseCustomProps(data) { } var ctext = {}; -function parseCT(data) { +function parseCT(data, opts) { if(!data || !data.match) return data; var ct = { workbooks: [], sheets: [], calcchains: [], themes: [], styles: [], - coreprops: [], extprops: [], custprops: [], strs:[], comments: [], xmlns: "" }; + coreprops: [], extprops: [], custprops: [], strs:[], comments: [], vba: [], + TODO:[], xmlns: "" }; (data.match(/<[^>]*>/g)||[]).forEach(function(x) { var y = parsexmltag(x); switch(y[0]) { @@ -1300,6 +1446,7 @@ function parseCT(data) { case ' 0 ? ct.calcchains[0] : ""; ct.sst = ct.strs.length > 0 ? ct.strs[0] : ""; ct.style = ct.styles.length > 0 ? ct.styles[0] : ""; + ct.defaults = ctext; delete ct.calcchains; return ct; } @@ -1398,16 +1546,16 @@ function parse_cc_bin(data, opts) { } /* 18.7.3 CT_Comment */ function parse_comments_xml(data, opts) { - if(data.match(//)) return []; + if(data.match(/<(?:\w+:)?comments *\/>/)) return []; var authors = []; var commentList = []; - data.match(/([^\u2603]*)<\/authors>/m)[1].split('').forEach(function(x) { + data.match(/<(?:\w+:)?authors>([^\u2603]*)<\/(?:\w+:)?authors>/m)[1].split(/<\/(?:\w+:)?author>/).forEach(function(x) { if(x === "" || x.trim() === "") return; - authors.push(x.match(/]*>(.*)/)[1]); + authors.push(x.match(/<(?:\w+:)?author[^>]*>(.*)/)[1]); }); - data.match(/([^\u2603]*)<\/commentList>/m)[1].split('').forEach(function(x, index) { + (data.match(/<(?:\w+:)?commentList>([^\u2603]*)<\/(?:\w+:)?commentList>/m)||["",""])[1].split(/<\/(?:\w+:)?comment>/).forEach(function(x, index) { if(x === "" || x.trim() === "") return; - var y = parsexmltag(x.match(/]*>/)[0]); + var y = parsexmltag(x.match(/<(?:\w+:)?comment[^>]*>/)[0]); var comment = { author: y.authorId && authors[y.authorId] ? authors[y.authorId] : undefined, ref: y.ref, guid: y.guid }; var cell = decode_cell(y.ref); if(opts.sheetRows && opts.sheetRows <= cell.r) return; @@ -1539,17 +1687,17 @@ function parse_ws_xml(data, opts) { var sidx = 0; /* 18.3.1.80 sheetData CT_SheetData ? */ - if(!data.match(//)) - data.match(/([^\u2603]*)<\/sheetData>/m)[1].split("").forEach(function(x) { + if(!data.match(/<(\w+:)?sheetData *\/>/)) + data.match(/<(?:\w+:)?sheetData>([^\u2603]*)<\/(?:\w+:)?sheetData>/m)[1].split(/<\/(?:\w+:)?row>/).forEach(function(x) { if(x === "" || x.trim() === "") return; /* 18.3.1.73 row CT_Row */ - var row = parsexmltag(x.match(/]*>/)[0]); + var row = parsexmltag(x.match(/<(?:\w+:)?row[^>]*>/)[0]); if(opts.sheetRows && opts.sheetRows < +row.r) return; if(refguess.s.r > row.r - 1) refguess.s.r = row.r - 1; if(refguess.e.r < row.r - 1) refguess.e.r = row.r - 1; /* 18.3.1.4 c CT_Cell */ - var cells = x.substr(x.indexOf('>')+1).split(/')+1).split(/<(?:\w+:)?c /); cells.forEach(function(c, idx) { if(c === "" || c.trim() === "") return; var cref = c.match(/r=["']([^"']*)["']/); c = "')+1); var p = {}; q.forEach(function(f){var x=d.match(matchtag(f));if(x)p[f]=unescapexml(x[1]);}); - /* SCHEMA IS ACTUALLY INCORRECT HERE. IF A CELL HAS NO T, EMIT "" */ if(cell.t === undefined && p.v === undefined) { if(!opts.sheetStubs) return; @@ -2018,14 +2165,17 @@ var XMLNS_WB = [ /* 18.2 Workbook */ function parse_wb_xml(data) { var wb = { AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, xmlns: "" }; - var pass = false; + var pass = false, xmlns = "xmlns"; data.match(/<[^>]*>/g).forEach(function(x) { var y = parsexmltag(x); - switch(y[0]) { + switch(y[0].replace(/<\w+:/,"<")) { case '': break; /* 18.2.13 fileVersion CT_FileVersion ? */ @@ -3057,10 +3207,12 @@ function fixopts(opts) { ['sheetStubs', false], /* emit empty cells */ ['sheetRows', 0, 'n'], /* read n rows (0 = read all rows) */ + ['bookDeps', false], /* parse calculation chains */ ['bookSheets', false], /* only try to get sheet names (no Sheets) */ ['bookProps', false], /* only try to get properties (no Sheets) */ ['bookFiles', false], /* include raw file structure (keys, files) */ + ['bookVBA', false], /* include vba raw data (vbaraw) */ ['WTF', false] /* WTF mode (throws errors) */ ]; @@ -3075,12 +3227,16 @@ function parseZip(zip, opts) { reset_cp(); var entries = Object.keys(zip.files); var keys = entries.filter(function(x){return x.substr(-1) != '/';}).sort(); - var dir = parseCT(getzipdata(zip, '[Content_Types].xml')); + var dir = parseCT(getzipdata(zip, '[Content_Types].xml'), opts); var xlsb = false; - var sheets; + var sheets, binname; if(dir.workbooks.length === 0) { - var binname = "xl/workbook.bin"; - if(!getzipfile(zip,binname)) throw new Error("Could not find workbook entry"); + binname = "xl/workbook.xml"; + if(getzipdata(zip,binname, true)) dir.workbooks.push(binname); + } + if(dir.workbooks.length === 0) { + binname = "xl/workbook.bin"; + if(!getzipfile(zip,binname,true)) throw new Error("Could not find workbook"); dir.workbooks.push(binname); xlsb = true; } @@ -3165,6 +3321,10 @@ function parseZip(zip, opts) { out.keys = keys; out.files = zip.files; } + if(opts.bookVBA) { + if(dir.vba.length > 0) out.vbaraw = getzipdata(zip,dir.vba[0],true); + else if(dir.defaults.bin === 'application/vnd.ms-office.vbaProject') out.vbaraw = getzipdata(zip,'xl/vbaProject.bin',true); + } return out; } function readSync(data, options) {