Lines Matching refs:break

451 		if((B - A) < 0.00000005) break;
578 case 1: case 2: out = y % 100; outl = 2; break;
579 default: out = y % 10000; outl = 4; break;
580 } break;
583 case 1: case 2: out = val.m; outl = fmt.length; break;
587 } break;
590 case 1: case 2: out = val.d; outl = fmt.length; break;
593 } break;
596 case 1: case 2: out = 1+(val.H+11)%12; outl = fmt.length; break;
598 } break;
601 case 1: case 2: out = val.H; outl = fmt.length; break;
603 } break;
606 case 1: case 2: out = val.M; outl = fmt.length; break;
608 } break;
623 case '[h]': case '[hh]': out = val.D*24+val.H; break;
624 case '[m]': case '[mm]': out = (val.D*24+val.H)*60+val.M; break;
625 case '[s]': case '[ss]': out = ((val.D*24+val.H)*60+val.M)*60+Math.round(val.S+val.u); break;
627 } outl = fmt.length === 3 ? 1 : 2; break;
629 out = y; outl = 1; break;
698 case 35: break;
699 case 63: o+= " "; break;
700 case 48: o+= "0"; break;
931 in_str = !in_str; break;
933 ++i; break;
948 case 'G': if(SSF_isgeneral(fmt, i)) i+= 6; i++; break;
949 case '"': for(;(/*cc=*/fmt.charCodeAt(++i)) !== 34 && i < fmt.length;){/*empty*/} ++i; break;
950 case '\\': i+=2; break;
951 case '_': i+=2; break;
952 case '@': ++i; break;
963 ++i; break;
968 break;
973 break;
974 case '?': while(fmt.charAt(++i) === c){/* empty */} break;
975 case '*': ++i; if(fmt.charAt(i) == ' ' || fmt.charAt(i) == '*') ++i; break;
976 case '(': case ')': ++i; break;
978 while(i < fmt.length && "0123456789".indexOf(fmt.charAt(++i)) > -1){/* empty */} break;
979 case ' ': ++i; break;
980 default: ++i; break;
994 out[out.length] = {t:'G', v:'General'}; i+=7; break;
997 out[out.length] = {t:'t', v:o}; ++i; break;
999 out[out.length] = {t:t, v:w}; ++i; break;
1000 case '_': out[out.length] = {t:'t', v:" "}; i+=2; break;
1002 out[out.length] = {t:'T', v:v}; ++i; break;
1006 out[out.length] = {t:'X', v:fmt.substr(i,2)}; lst = c; i+=2; break;
1018 out[out.length] = {t:c, v:o}; lst = c; break;
1027 out[out.length] = q; lst = c; break;
1040 break;
1045 out[out.length] = {t:'s', v:o}; break;
1050 out[out.length] = {t:'n', v:o}; break;
1053 out[out.length] = {t:c, v:o}; lst = c; break;
1054 case '*': ++i; if(fmt.charAt(i) == ' ' || fmt.charAt(i) == '*') ++i; break; // **
1055 case '(': case ')': out[out.length] = {t:(flen===1?'t':c), v:c}; ++i; break;
1058 out[out.length] = {t:'D', v:o}; break;
1059 case ' ': out[out.length] = {t:c, v:c}; ++i; break;
1060 case '$': out[out.length] = {t:'t', v:'$'}; ++i; break;
1063 out[out.length] = {t:'t', v:c}; ++i; break;
1071 case 'h': case 'H': out[i].t = hr; lst='h'; if(bt < 1) bt = 1; break;
1076 case 'd': case 'y': case 'M': case 'e': lst=out[i].t; break;
1077 case 'm': if(lst === 's') { out[i].t = 'M'; if(bt < 2) bt = 2; } break;
1079 break;
1088 case 0: break;
1090 /*::if(!dt) break;*/
1094 break;
1096 /*::if(!dt) break;*/
1099 break;
1106 case 't': case 'T': case ' ': case 'D': break;
1107 case 'X': out[i].v = ""; out[i].t = ";"; break;
1111 out[i].t = 't'; break;
1124 i = jj-1; break;
1125 case 'G': out[i].t = 't'; out[i].v = SSF_general(v,opts); break;
1143 …gth; ++i) if(out[i] != null && out[i].t != 't' && out[i].v.indexOf(".") > -1) { decpt = i; break; }
1199 case "=": if(v == thresh) return true; break;
1200 case ">": if(v > thresh) return true; break;
1201 case "<": if(v < thresh) return true; break;
1202 case "<>": if(v != thresh) return true; break;
1203 case ">=": if(v >= thresh) return true; break;
1204 case "<=": if(v <= thresh) return true; break;
1215 …1: fmt = lat>-1 ? ["General", "General", "General", fmt[0]] : [fmt[0], fmt[0], fmt[0], "@"]; break;
1216 case 2: fmt = lat>-1 ? [fmt[0], fmt[0], fmt[0], fmt[1]] : [fmt[0], fmt[1], fmt[0], "@"]; break;
1217 case 3: fmt = lat>-1 ? [fmt[0], fmt[1], fmt[0], fmt[2]] : [fmt[0], fmt[1], fmt[2], "@"]; break;
1218 case 4: break;
1236 break;
1242 break;
1259 if(table_fmt[i] == fmt) { idx = i; break; }
1339 case 'y': Y = v; break; case 'd': d = v; break;
1340 case 'h': H = v; break; case 's': S = v; break;
1341 case 'm': if(H >= 0) M = v; else m = v; break;
1576 } break;
1584 } break;
1615 case 3: ssz = 512; break; case 4: ssz = 4096; break;
1659 if(q<0) break;
1718 case 0x09: if(mver != 3) throw new Error('Sector Shift: Expected 9 saw ' + shift); break;
1719 case 0x0c: if(mver != 4) throw new Error('Sector Shift: Expected 12 saw ' + shift); break;
1802 if((q = __readInt32LE(sector,i*4)) === ENDOFCHAIN) break;
1821 if(!sectors[addr]) break;
1846 if(!sectors[addr]) break;
1848 if(seen[j]) break;
1958 break;
1963 break;
1964 default: gc = true; break;
2017 for(j=i+1;j < data.length; ++j) if(dirname(cfb.FullPaths[j])==nm) break;
2019 for(j=i+1;j < data.length; ++j) if(dirname(cfb.FullPaths[j])==dirname(nm)) break;
2617 break;
2621 break;
2625 break;
2629 break;
2688 else if(code == 256) break;
2822 case 8: data = _inflateRawSync(blob, _usz); break;
2823 case 0: break; // TODO: scan for magic number
3047 if(!line || line.match(/^\s*$/)) break;
3050 case "content-location": fname = m[2].trim(); break;
3051 case "content-type": ctype = m[2].trim(); break;
3052 case "content-transfer-encoding": cte = m[2].trim(); break;
3057 case 'base64': fdata = s2a(Base64_decode(data.slice(di).join(""))); break;
3058 case 'quoted-printable': fdata = parse_quoted_printable(data.slice(di)); break;
3082 if(row.slice(0,root.length) == root) break;
3250 case "utf8": payload = new TextEncoder(enc).encode(payload); break;
3251 case "binary": payload = s2ab(payload); break;
3378 case 'S': break;
3619 for(; eq !== tag.length; ++eq) if((c = tag.charCodeAt(eq)) === 32 || c === 10 || c === 13) break;
3625 for(c=0; c != cc.length; ++c) if(cc.charCodeAt(c) === 61) break;
3630 for(j=0;j!=q.length;++j) if(q.charCodeAt(j) === 58) break;
3753 case c < 128: out.push(String.fromCharCode(c)); break;
3757 break;
3764 break;
3992 break;
3994 case 'utf8': o = __utf8(this, this.l, this.l + size); break;
3995 case 'utf16le': size *= 2; o = __utf16le(this, this.l, this.l + size); break;
4000 size = 2 * size; break;
4003 case 'lpstr-ansi': o = __lpstr(this, this.l); size = 4 + __readUInt32LE(this, this.l); break;
4004 case 'lpstr-cp': o = __cpstr(this, this.l); size = 4 + __readUInt32LE(this, this.l); break;
4006 case 'lpwstr': o = __lpwstr(this, this.l); size = 4 + 2 * __readUInt32LE(this, this.l); break;
4008 …ze = 4 + __readUInt32LE(this, this.l); o = __lpp4(this, this.l); if(size & 0x02) size += 2; break;
4010 …Int32LE(this, this.l); o = __8lpp4(this, this.l); if(size & 0x03) size += 4 - (size & 0x03); break;
4014 o = oo.join(""); break;
4017 size+=2; o = oo.join(""); break;
4030 } o = oo.join(""); size *= 2; break;
4035 break;
4048 } o = oo.join(""); break;
4064 case 16: o = __hexlify(this, this.l, size); break;
4118 case 1: size = 1; this[this.l] = val&0xFF; break;
4119 case 2: size = 2; this[this.l] = val&0xFF; val >>>= 8; this[this.l+1] = val&0xFF; break;
4120 …l] = val&0xFF; val >>>= 8; this[this.l+1] = val&0xFF; val >>>= 8; this[this.l+2] = val&0xFF; break;
4121 case 4: size = 4; __writeUInt32LE(this, val, this.l); break;
4122 case 8: size = 8; if(f === 'f') { write_double_le(this, val, this.l); break; }
4124 case 16: break;
4125 case -4: size = 4; __writeInt32LE(this, val, this.l); break;
4222 else { o.write_shift(1, length); break; }
4335 if((cc=range.charCodeAt(i)-64) < 1 || cc > 26) break;
4341 if((cc=range.charCodeAt(i)-48) < 0 || cc > 9) break;
4350 if((cc=range.charCodeAt(i)-64) < 1 || cc > 26) break;
4356 if((cc=range.charCodeAt(i)-48) < 0 || cc > 9) break;
4668 case 0: out.auto = 1; break;
4674 break;
4678 break;
4679 case 3: out.theme = index; break;
5322 case '<?xml': break;
5323 case '<Types': ct.xmlns = y['xmlns' + (y[0].match(/<(\w+):/)||["",""])[1] ]; break;
5324 case '<Default': ctext[y.Extension.toLowerCase()] = y.ContentType; break;
5327 break;
5519 case 'manifest': break; // 4.2 <manifest:manifest>
5523 break;
5698 break;
5707 break;
5713 break;
5726 case "string": if(xml) p[f[1]] = unescapexml(xml); break;
5727 case "bool": p[f[1]] = xml === "true"; break;
5731 break;
5754 case 'string': v = escapexml(String(cp[f[1]])); break;
5755 case 'bool': v = cp[f[1]] ? 'true' : 'false'; break;
5774 case '<?xml': break;
5775 case '<Properties': break;
5776 case '<property': name = unescapexml(y.name); break;
5777 case '</property>': name = null; break;
5785 break;
5788 break;
5791 break;
5794 break;
5797 break;
5800 break;
5802 if(type.slice(-1) == '/') break;
5880 case 'date': m = new Date(m).toISOString().replace(/\.\d*Z/,"Z"); break;
6064 case 0x03 /*VT_I4*/: p.write_shift(-4, value); break;
6065 case 0x05 /*VT_I4*/: p = new_buf(8); p.write_shift(8, value, 'f'); break;
6066 case 0x0B /*VT_BOOL*/: p.write_shift(4, value ? 0x01 : 0x00); break;
6067 …!== "string" && !(value instanceof Date)) throw "unreachable"; */ p = write_FILETIME(value); break;
6075 break;
6100 case 0x02 /*VT_I2*/: if(blob.l+2 === Props[i][1]) { blob.l+=2; fail = false; } break;
6101 case 0x50 /*VT_STRING*/: if(blob.l <= Props[i][1]) { blob.l=Props[i][1]; fail = false; } break;
6102 …0C /*VT_VECTOR|VT_VARIANT*/: if(blob.l <= Props[i][1]) { blob.l=Props[i][1]; fail = false; } break;
6134 set_cp(CodePage = (PropH[piddsi.n]>>>0) & 0xFFFF); break;
6155 case 0x41 /*VT_BLOB*/: blob.l += 4; val = parse_BLOB(blob); break;
6156 …*VT_LPSTR*/: blob.l += 4; val = parse_VtString(blob, blob[blob.l-4]).replace(/\u0000+$/,""); break;
6157 …VT_LPWSTR*/: blob.l += 4; val = parse_VtString(blob, blob[blob.l-4]).replace(/\u0000+$/,""); break;
6158 case 0x03 /*VT_I4*/: blob.l += 4; val = blob.read_shift(4, 'i'); break;
6159 case 0x13 /*VT_UI4*/: blob.l += 4; val = blob.read_shift(4); break;
6160 case 0x05 /*VT_R8*/: blob.l += 4; val = blob.read_shift(8, 'f'); break;
6161 case 0x0B /*VT_BOOL*/: blob.l += 4; val = parsebool(blob, 4); break;
6162 case 0x40 /*VT_FILETIME*/: blob.l += 4; val = parseDate(parse_FILETIME(blob)); break;
6178 case "object": if(val instanceof Date) return 0x40; break;
6522 switch(Target.charAt(0)) { case "#": F=0x1c; break; case ".": F&=~2; break; }
6720 break;
6730 case 'biff8': break;
6731 case 'biff5': h = 0x0500; w = 8; break;
6732 case 'biff4': h = 0x0004; w = 6; break;
6733 case 'biff3': h = 0x0003; w = 6; break;
6734 case 'biff2': h = 0x0002; w = 4; break;
6735 case 'xla': break;
6793 case 0: dt = 'Worksheet'; break;
6794 case 1: dt = 'Macrosheet'; break;
6795 case 2: dt = 'Chartsheet'; break;
6796 case 6: dt = 'VBAModule'; break;
6946 case 2: break;
6947 case 3: case 4: blob.l += 2; break;
6948 default: blob.l += 10; break;
7296 case 2: blob.l ++; length -= 7; break;
7297 case 3: case 4: blob.l += 2; length -= 8; break;
7409 if(texts.length >= (hdr ? cchText : 2*cchText)) break;
7707 case 'base64': d = s2a(Base64_decode(buf)); break;
7708 case 'binary': d = s2a(buf); break;
7710 case 'array': d = buf; break;
7719 case 0x02: break; // dBASE II
7720 case 0x03: break; // dBASE III
7721 case 0x30: vfp = true; memo = true; break; // VFP
7722 case 0x31: vfp = true; memo = true; break; // VFP with autoincrement
7725 case 0x83: break; // dBASE III with memo
7726 case 0x8B: break; // dBASE IV with memo
7727 case 0x8C: l7 = true; break; // dBASE Level 7 with memo
7729 case 0xF5: break; // FoxPro 2.x with memo
7775 break;
7779 break;
7793 break;
7822 break;
7826 break;
7827 case 'F': out[R][C] = parseFloat(s.trim()); break;
7828 …'+': case 'I': out[R][C] = l7 ? dd.read_shift(-4, 'i') ^ 0x80000000 : dd.read_shift(4, 'i'); break;
7830 case 'Y': case 'T': out[R][C] = true; break;
7831 case 'N': case 'F': out[R][C] = false; break;
7832 case '': case '?': break;
7834 } break;
7838 break;
7842 if(s && s != ".") out[R][C] = +s || 0; break;
7846 break;
7847 …ase 'T': out[R][C] = new Date((dd.read_shift(4) - 0x253D8C) * 0x5265C00 + dd.read_shift(4)); break;
7848 …case 'Y': out[R][C] = dd.read_shift(4,'i')/1e4 + (dd.read_shift(4, 'i')/1e4)*Math.pow(2,32); break;
7849 case 'O': out[R][C] = -dd.read_shift(-8, 'f'); break;
7850 case 'B': if(vfp && fields[C].len == 8) { out[R][C] = dd.read_shift(8,'f'); break; }
7852 case 'G': case 'P': dd.l += fields[C].len; break;
7854 if(fields[C].name === '_NullFlags') break;
7904 if(headers.indexOf(headers[i] + "_" + j) == -1) { headers[i] += "_" + j; break; }
7920 case 'number': _guess = 'B'; break;
7921 case 'string': _guess = 'C'; break;
7922 case 'boolean': _guess = 'L'; break;
7923 case 'object': _guess = col[j] instanceof Date ? 'D' : 'C'; break;
7929 //if(guess == 'C') break;
7987 case 'L': rout.write_shift(1, data[i][j] == null ? 0x3F : data[i][j] ? 0x54 : 0x46); break;
7988 case 'B': rout.write_shift(8, data[i][j]||0, 'f'); break;
7994 break;
8001 } break;
8007 for(hcnt=0; hcnt < _l; ++hcnt) rout.write_shift(1, 0x20); break;
8073 case 'ID': break; /* header */
8074 case 'E': break; /* EOF */
8075 case 'B': break; /* dimensions */
8082 } break;
8083 } break;
8084 case 'W': break; /* window */
8087 case 'P': formats.push(rstr.slice(3).replace(/;;/g, ";")); break;
8088 } break;
8092 case 'N': nn.Name = record[rj].slice(1); break;
8093 … case 'E': nn.Ref = (opts && opts.sheet || "Sheet1") + "!" + rc_to_a1(record[rj].slice(1)); break;
8096 } break;
8102 case 'A': break; // TODO: comment
8103 case 'X': C = parseInt(record[rj].slice(1), 10)-1; C_seen_X = true; break;
8107 break;
8121 break;
8125 break;
8128 break;
8129 case 'G': break; // unknown
8130 case 'R': _R = parseInt(record[rj].slice(1), 10)-1; break;
8131 case 'C': _C = parseInt(record[rj].slice(1), 10)-1; break;
8153 break;
8157 case 'X': C = parseInt(record[rj].slice(1), 10)-1; ++F_seen; break;
8161 break;
8162 case 'M': Mval = parseInt(record[rj].slice(1), 10) / 20; break;
8163 case 'F': break; /* ??? */
8164 case 'G': break; /* hide grid */
8167 break;
8168 case 'S': break; /* cell style */
8169 case 'D': break; /* column */
8170 case 'N': break; /* font */
8176 } break;
8180 break;
8186 break;
8191 if(F_seen < 1) next_cell_format = null; break;
8219 if(cell.f && !cell.F) o += ";E" + a1_to_rc(cell.f, {r:R, c:C}); break;
8220 case 'b': o += cell.v ? "TRUE" : "FALSE"; break;
8221 case 'e': o += cell.w || cell.v; break;
8222 case 'd': o += '"' + (cell.w || cell.v) + '"'; break;
8223 … += '"' + (cell.v == null ? "" : String(cell.v)).replace(/"/g,"").replace(/;/g, ";;") + '"'; break;
8310 break;
8317 ++C; break;
8323 break;
8325 if (data === 'EOD') break;
8366 break;
8369 break;
8372 break;
8377 break;
8406 case 't': arr[R][C] = decode(record[3]); break;
8407 case 'v': arr[R][C] = +record[3]; break;
8412 case 'nl': arr[R][C] = +record[4] ? true : false; break;
8413 default: arr[R][C] = +record[4]; break;
8456 case 's': case 'str': oo.push(encode(cell.v)); break;
8460 break;
8464 break;
8469 break;
8628 case 0x22: if(startcc === 0x22) instr = !instr; break;
8630 if(instr) break;
8633 case sepcc: case 0x0a: if(!instr && finish_cell()) break outer; break;
8634 default: break;
8653 case 'base64': str = Base64_decode(d); break;
8654 case 'binary': str = d; break;
8659 break;
8660 case 'array': str = cc2str(d); break;
8661 case 'string': str = d; break;
8762 break;
8766 break;
8767 case 0x06: refguess = val; break; /* RANGE */
8768 case 0xCC: if(val) next_n = val; break; /* SHEETNAMECS */
8769 case 0xDE: next_n = val; break; /* SHEETNAMELP */
8800 break;
8806 break;
8807 case 0x5405: o.works2 = true; break;
8814 case 0xCC: n = val; break; /* SHEETNAMECS */
8834 if(sheetRows > 0 && val[0].r >= sheetRows) break;
8841 break;
8844 break;
8846 realnames[val[0]] = val[1]; if(val[0] == sidx) n = val[1]; break;
8847 default: break;
9214 case 0x00: out.push(blob.read_shift(8, 'f')); break;
9219 } break;
9226 } break;
9229 break;
9230 case 0x04: out.push("(" + out.pop() + ")"); break;
9231 case 0x05: out.push(blob.read_shift(2)); break;
9236 } break;
9238 case 0x08: out.push("-" + out.pop()); break;
9239 case 0x17: out.push("+" + out.pop()); break;
9240 case 0x16: out.push("NOT(" + out.pop() + ")"); break;
9245 } break;
9305 case 0: v = (v >> 3) * 5000; break;
9306 case 1: v = (v >> 3) * 500; break;
9307 case 2: v = (v >> 3) / 20; break;
9308 case 3: v = (v >> 3) / 200; break;
9309 case 4: v = (v >> 3) / 2000; break;
9310 case 5: v = (v >> 3) / 20000; break;
9311 case 6: v = (v >> 3) / 16; break;
9312 case 7: v = (v >> 3) / 64; break;
9646 break;
9647 case 0x02: /* EOF */ break outer;
9650 case 0x0401: /* BON */ break;
9651 case 0x0402: /* EON */ /* TODO: backfill missing sheets based on BON cnt */ break;
9660 } break;
9667 } break;
9684 } break;
9687 if(range.s.c > 0xFF || range.s.r > 999999) break;
9692 } break;
9702 } break;
9714 case 1: break;
9715 case 2: cell = { t: "n", v: p.read_shift(2) }; break;
9716 case 3: cell = { t: "n", v: p.read_shift(2, 'i') }; break;
9717 case 5: cell = { t: "n", v: p.read_shift(8, 'f') }; break;
9718 case 7: cell = { t: "s", v: SST[type = p.read_shift(4) - 1] }; break;
9719 …n", v: p.read_shift(8, 'f') }; p.l += 2; /* cell.f = formulae[p.read_shift(4)]; */ p.l += 4; break;
9724 case 2: delta = p.read_shift(2); break;
9725 case 3: delta = p.read_shift(2, 'i'); break;
9726 case 7: delta = p.read_shift(2); break;
9738 case 2: cell = { t: "n", v: (cell.v + delta) & 0xFFFF }; break;
9739 …e 3: cell = { t: "n", v: (cell.v + delta) & 0xFFFF }; if(cell.v > 0x7FFF) cell.v -= 0x10000; break;
9740 case 7: cell = { t: "s", v: SST[type = (type + delta) >>> 0] }; break;
9743 case 1: cell = { t: "z" }; break;
9744 case 2: cell = { t: "n", v: p.read_shift(2) }; break;
9745 case 7: cell = { t: "s", v: SST[type = p.read_shift(4) - 1] }; break;
9757 } break;
9759 default: break;
9781 case '<condense': break;
9784 case '<extend': break;
9788 if(!y.val) break;
9791 case '<shadow/>': font.shadow = 1; break;
9792 case '</shadow>': break;
9796 if(y.val == '1') break;
9798 break;
9802 if(!y.val) break;
9805 case '<outline/>': font.outline = 1; break;
9806 case '</outline>': break;
9809 case '<rFont': font.name = y.val; break;
9812 case '<sz': font.sz = y.val; break;
9816 if(!y.val) break;
9819 case '<strike/>': font.strike = 1; break;
9820 case '</strike>': break;
9824 if(!y.val) break;
9826 case 'double': font.uval = "double"; break;
9827 case 'singleAccounting': font.uval = "single-accounting"; break;
9828 case 'doubleAccounting': font.uval = "double-accounting"; break;
9832 case '<u/>': font.u = 1; break;
9833 case '</u>': break;
9837 if(y.val == '0') break;
9840 case '<b/>': font.b = 1; break;
9841 case '</b>': break;
9845 if(y.val == '0') break;
9848 case '<i/>': font.i = 1; break;
9849 case '</i>': break;
9854 break;
9855 case '<color>': case '<color/>': case '</color>': break;
9858 case '<family': font.family = y.val; break;
9859 case '<family>': case '<family/>': case '</family>': break;
9862 case '<vertAlign': font.valign = y.val; break;
9863 case '<vertAlign>': case '<vertAlign/>': case '</vertAlign>': break;
9866 case '<scheme': break;
9867 case '<scheme>': case '<scheme/>': case '</scheme>': break;
9870 case '<extLst': case '<extLst>': case '</extLst>': break;
9871 case '<ext': pass = true; break;
9872 case '</ext>': pass = false; break;
10025 s.Count = val[0]; s.Unique = val[1]; break;
10027 s.push(val); break;
10032 pass = true; break;
10034 pass = false; break;
10154 case 0x660E: case 0x660F: case 0x6610: valid = (o.Flags == 0x24); break;
10155 case 0x6801: valid = (o.Flags == 0x04); break;
10156 case 0: valid = (o.Flags == 0x10 || o.Flags == 0x04 || o.Flags == 0x24); break;
10212 case '<?xml': break;
10213 case '<encryption': case '</encryption>': break;
10214 case '<keyData': KeyData.forEach(function(k) { o[k] = y[k]; }); break;
10215 …rity': o.encryptedHmacKey = y.encryptedHmacKey; o.encryptedHmacValue = y.encryptedHmacValue; break;
10216 case '<keyEncryptors>': case '<keyEncryptors': o.encs = []; break;
10217 case '</keyEncryptors>': break;
10219 case '<keyEncryptor': o.uri = y.uri; break;
10220 case '</keyEncryptor>': break;
10221 case '<encryptedKey': o.encs.push(y); break;
10431 break;
10434 break;
10491 case R: H6 = ((G - B) / C + 6)%6; break;
10492 case G: H6 = ((B - R) / C + 2); break;
10493 case B: H6 = ((R - G) / C + 4); break;
10505 case 0: case 6: X = C * h6; rgb[0] += C; rgb[1] += X; break;
10506 case 1: X = C * (2 - h6); rgb[0] += X; rgb[1] += C; break;
10507 case 2: X = C * (h6 - 2); rgb[1] += C; rgb[2] += X; break;
10508 case 3: X = C * (4 - h6); rgb[1] += X; rgb[2] += C; break;
10509 case 4: X = C * (h6 - 4); rgb[2] += C; rgb[0] += X; break;
10510 case 5: X = C * (6 - h6); rgb[2] += X; rgb[0] += C; break;
10600 case '<borders': case '<borders>': case '</borders>': break;
10608 break;
10609 case '</border>': break;
10612 case '<left/>': break;
10613 case '<left': case '<left>': break;
10614 case '</left>': break;
10617 case '<right/>': break;
10618 case '<right': case '<right>': break;
10619 case '</right>': break;
10622 case '<top/>': break;
10623 case '<top': case '<top>': break;
10624 case '</top>': break;
10627 case '<bottom/>': break;
10628 case '<bottom': case '<bottom>': break;
10629 case '</bottom>': break;
10632 case '<diagonal': case '<diagonal>': case '<diagonal/>': break;
10633 case '</diagonal>': break;
10636 case '<horizontal': case '<horizontal>': case '<horizontal/>': break;
10637 case '</horizontal>': break;
10640 case '<vertical': case '<vertical>': case '<vertical/>': break;
10641 case '</vertical>': break;
10644 case '<start': case '<start>': case '<start/>': break;
10645 case '</start>': break;
10648 case '<end': case '<end>': case '<end/>': break;
10649 case '</end>': break;
10653 break;
10654 case '<color/>': case '</color>': break;
10657 case '<extLst': case '<extLst>': case '</extLst>': break;
10658 case '<ext': pass = true; break;
10659 case '</ext>': pass = false; break;
10675 case '<fills': case '<fills>': case '</fills>': break;
10679 fill = {}; styles.Fills.push(fill); break;
10680 case '</fill>': break;
10683 case '<gradientFill>': break;
10685 case '</gradientFill>': styles.Fills.push(fill); fill = {}; break;
10690 break;
10691 case '<patternFill/>': case '</patternFill>': break;
10701 break;
10702 case '<bgColor/>': case '</bgColor>': break;
10711 break;
10712 case '<fgColor/>': case '</fgColor>': break;
10715 case '<stop': case '<stop/>': break;
10716 case '</stop>': break;
10719 case '<color': case '<color/>': break;
10720 case '</color>': break;
10723 case '<extLst': case '<extLst>': case '</extLst>': break;
10724 case '<ext': pass = true; break;
10725 case '</ext>': pass = false; break;
10741 case '<fonts': case '<fonts>': case '</fonts>': break;
10744 case '<font': case '<font>': break;
10748 break;
10751 case '<name': if(y.val) font.name = utf8read(y.val); break;
10752 case '<name/>': case '</name>': break;
10755 case '<b': font.bold = y.val ? parsexmlbool(y.val) : 1; break;
10756 case '<b/>': font.bold = 1; break;
10759 case '<i': font.italic = y.val ? parsexmlbool(y.val) : 1; break;
10760 case '<i/>': font.italic = 1; break;
10765 case "none": font.underline = 0x00; break;
10766 case "single": font.underline = 0x01; break;
10767 case "double": font.underline = 0x02; break;
10768 case "singleAccounting": font.underline = 0x21; break;
10769 case "doubleAccounting": font.underline = 0x22; break;
10770 } break;
10771 case '<u/>': font.underline = 1; break;
10774 case '<strike': font.strike = y.val ? parsexmlbool(y.val) : 1; break;
10775 case '<strike/>': font.strike = 1; break;
10778 case '<outline': font.outline = y.val ? parsexmlbool(y.val) : 1; break;
10779 case '<outline/>': font.outline = 1; break;
10782 case '<shadow': font.shadow = y.val ? parsexmlbool(y.val) : 1; break;
10783 case '<shadow/>': font.shadow = 1; break;
10786 case '<condense': font.condense = y.val ? parsexmlbool(y.val) : 1; break;
10787 case '<condense/>': font.condense = 1; break;
10790 case '<extend': font.extend = y.val ? parsexmlbool(y.val) : 1; break;
10791 case '<extend/>': font.extend = 1; break;
10794 case '<sz': if(y.val) font.sz = +y.val; break;
10795 case '<sz/>': case '</sz>': break;
10798 case '<vertAlign': if(y.val) font.vertAlign = y.val; break;
10799 case '<vertAlign/>': case '</vertAlign>': break;
10802 case '<family': if(y.val) font.family = parseInt(y.val,10); break;
10803 case '<family/>': case '</family>': break;
10806 case '<scheme': if(y.val) font.scheme = y.val; break;
10807 case '<scheme/>': case '</scheme>': break;
10811 if(y.val == '1') break;
10813 break;
10835 break;
10836 case '<color/>': case '</color>': break;
10839 case '<AlternateContent': pass = true; break;
10840 case '</AlternateContent>': pass = false; break;
10843 case '<extLst': case '<extLst>': case '</extLst>': break;
10844 case '<ext': pass = true; break;
10845 case '</ext>': pass = false; break;
10863 case '<numFmts': case '</numFmts>': case '<numFmts/>': case '<numFmts>': break;
10869 for(j = 0x188; j > 0x3c; --j) if(styles.NumberFmt[j] == null) break;
10874 } break;
10875 case '</numFmt>': break;
10902 case '<cellXfs': case '<cellXfs>': case '<cellXfs/>': case '</cellXfs>': break;
10913 …i > 0x3c; --i) if(styles.NumberFmt[xf.numFmtId] == styles.NumberFmt[i]) { xf.numFmtId = i; break; }
10915 styles.CellXf.push(xf); break;
10916 case '</xf>': break;
10927 break;
10928 case '</alignment>': break;
10932 break;
10933 case '</protection>': case '<protection/>': break;
10936 case '<AlternateContent': pass = true; break;
10937 case '</AlternateContent>': pass = false; break;
10940 case '<extLst': case '<extLst>': case '</extLst>': break;
10941 case '<ext': pass = true; break;
10942 case '</ext>': pass = false; break;
11055 /* case 0: out.vertAlign = "baseline"; break; */
11056 case 1: out.vertAlign = "superscript"; break;
11057 case 2: out.vertAlign = "subscript"; break;
11073 /* case 0: out.scheme = "none": break; */
11074 case 1: out.scheme = "major"; break;
11075 case 2: out.scheme = "minor"; break;
11240 break;
11246 break;
11247 case 0x0401: /* BrtKnownFonts */ break;
11249 break;
11251 break;
11256 break;
11261 break;
11269 break;
11272 pass = true; break;
11274 pass = false; break;
11276 state.push(RT); pass = true; break;
11278 state.pop(); pass = false; break;
11430 case '<a:clrScheme': case '</a:clrScheme>': break;
11434 color.rgb = y.val; break;
11438 color.rgb = y.lastClr; break;
11470 break;
11717 case 0: blob.l += 4; break;
11718 case 1: o.xclrValue = parse_IcvXF(blob, 4); break;
11719 case 2: o.xclrValue = parse_LongRGBA(blob, 4); break;
11720 case 3: o.xclrValue = parse_ColorTheme(blob, 4); break;
11721 case 4: blob.l += 4; break;
11745 o[1] = parse_FullColorExt(blob, cb); break;
11746 case 0x06: o[1] = parse_XFExtGradient(blob, cb); break;
11747 case 0x0E: case 0x0F: o[1] = blob.read_shift(cb === 1 ? 1 : 2); break;
11769 case 0x04: break; /* foreground color */
11770 case 0x05: break; /* background color */
11771 case 0x06: break; /* gradient fill */
11772 case 0x07: break; /* top cell border color */
11773 case 0x08: break; /* bottom cell border color */
11774 case 0x09: break; /* left cell border color */
11775 case 0x0a: break; /* right cell border color */
11776 case 0x0b: break; /* diagonal cell border color */
11778 break;
11779 case 0x0e: break; /* font scheme */
11780 case 0x0f: break; /* indentation level */
11841 break;
11849 break;
11852 break;
11855 break;
11859 break;
11863 break;
11907 break;
11910 break;
11913 break;
11916 break;
11918 break;
11923 break;
11925 break;
11927 break;
11929 break;
11935 break;
11937 break;
11940 break;
11943 break;
11946 break;
11949 break;
11954 break;
11957 break;
11960 break;
11963 break;
11967 break;
11989 case '<?xml': break;
11991 case '<calcChain': case '<calcChain>': case '</calcChain>': break;
11993 case '<c': delete y[0]; if(y.i) i = y.i; else y.i = i; d.push(y); break;
12022 out.push(val); break;
12070 break;
12073 pass = true; break;
12075 pass = false; break;
12192 if(o.a == people[i].id) { o.a = people[i].name || o.a; break; }
12284 case '<?xml': break;
12287 case '<ThreadedComments': break;
12288 case '</ThreadedComments>': break;
12291 case '<threadedComment': comment = {author: y.personId, guid: y.id, ref: y.ref, T: 1}; break;
12292 case '</threadedComment>': if(comment.t != null) out.push(comment); break;
12294 case '<text>': case '<text': tidx = idx + x.length; break;
12295 …se '</text>': comment.t = data.slice(tidx, idx).replace(/\r\n/g, "\n").replace(/\r/g, "\n"); break;
12298 case '<mentions': case '<mentions>': pass = true; break;
12299 case '</mentions>': pass = false; break;
12304 case '<extLst': case '<extLst>': case '</extLst>': case '<extLst/>': break;
12306 case '<ext': pass=true; break;
12307 case '</ext>': pass=false; break;
12345 case '<?xml': break;
12348 case '<personList': break;
12349 case '</personList>': break;
12352 case '<person': out.push({name: y.displayname, id: y.id }); break;
12353 case '</person>': break;
12356 case '<extLst': case '<extLst>': case '</extLst>': case '<extLst/>': break;
12358 case '<ext': pass=true; break;
12359 case '</ext>': pass=false; break;
12417 authors.push(val); break;
12419 c = val; break;
12421 c.t = val.t; c.h = val.h; c.r = val.r; break;
12425 if(opts.sheetRows && c.rfx && opts.sheetRows <= c.rfx.r) break;
12427 delete c.rfx; out.push(c); break;
12430 break;
12433 pass = true; break;
12435 pass = false; break;
12436 case 0x0025: /* 'BrtACBegin' */ break;
12437 case 0x0026: /* 'BrtACEnd' */ break;
12657 case 5: blob.l += 12; w = 6; break;
12658 case 12: w = 12; break;
12676 case 5: blob.l += 12; w = 6; break;
12677 case 12: w = 12; break;
12842 case 0x02: val[0] = 0x04; break; /* SerBool */
12843 case 0x04: val[0] = 0x10; break; /* SerErr */
12844 case 0x00: val[0] = 0x01; break; /* SerNum */
12845 case 0x01: val[0] = 0x02; break; /* SerStr */
12850 if(biff != 12) blob.l += 7; break;
12854 blob.l += ((biff == 12) ? 4 : 8); break;
12856 blob.l += 8; break;
12858 val[1] = parse_Xnum(blob, 8); break;
12860 val[1] = parse_XLUnicodeString2(blob, 0, {biff:biff > 0 && biff < 8 ? 2 : biff}); break;
12897 case 2: blob.l += 5; break;
12898 case 3: case 4: blob.l += 8; break;
12899 case 5: blob.l += 12; break;
12952 case 5: w = 15; break;
12953 case 12: w = 6; break;
13180 break;
13184 break;
13189 } break;
13195 default: break;
13230 r.push('"' + y[1].replace(/"/g,'""') + '"'); break;
13312 stack.push("-" + stack.pop()); break;
13314 stack.push("+" + stack.pop()); break;
13316 stack.push(stack.pop() + "%"); break;
13335 sp = fill(" ", formula[0][last_sp][1][1]); break;
13338 sp = fill("\r", formula[0][last_sp][1][1]); break;
13348 break;
13353 break;
13357 break;
13361 break;
13364 break;
13366 break;
13368 break;
13370 break;
13376 break;
13380 break;
13386 break;
13398 break;
13401 stack.push(f[1] ? "TRUE" : "FALSE"); break;
13403 stack.push(/*::String(*/f[1]/*::)*/); break;
13405 stack.push(String(f[1])); break;
13408 stack.push('"' + f[1].replace(/"/g, '""') + '"'); break;
13410 stack.push(/*::String(*/f[1]/*::)*/); break;
13414 break;
13418 break;
13423 break;
13426 break;
13430 break;
13440 break;
13466 break;
13470 break;
13478 case 2: lp = fill(" ", formula[0][last_sp][1][1]) + lp; break;
13480 case 3: lp = fill("\r", formula[0][last_sp][1][1]) + lp; break;
13482 case 4: rp = fill(" ", formula[0][last_sp][1][1]) + rp; break;
13484 case 5: rp = fill("\r", formula[0][last_sp][1][1]) + rp; break;
13491 stack.push(lp + stack.pop() + rp); break;
13494 stack.push('#REF!'); break;
13497 stack.push('#REF!'); break;
13514 break;
13518 break;
13522 break;
13526 break;
13531 break;
13534 break;
13537 break;
13541 break;
13544 stack.push("#REF!"); break;
13547 stack.push("#REF!"); break;
13552 break;
13559 break;
13562 break;
13564 break;
13592 sp = fill(" ", f[1][1]); break;
13597 sp = fill("\r", f[1][1]); break;
15181 break;
15471 name.Ref = formula_quote_sheet_name(wb.SheetNames[idx]) + "!" + fix_range(ref); break;
15505 case 'b': vv = cell.v ? "1" : "0"; break;
15506 case 'n': vv = ''+cell.v; break;
15507 case 'e': vv = BErr[cell.v]; break;
15516 break;
15517 default: vv = cell.v; break;
15524 case 'n': break;
15525 case 'd': o.t = "d"; break;
15526 case 'b': o.t = "b"; break;
15527 case 'e': o.t = "e"; break;
15528 case 'z': break;
15529 default: if(cell.v == null) { delete cell.t; break; }
15533 o.t = "s"; break;
15535 else o.t = "str"; break;
15576 if(/*x.charCodeAt(ri-1) != 47*/x[ri-1] != "/") { ++ri; break outa; }
15588 break;
15589 case "<" /*60*/: rstarti = ri; break;
15591 if(rstarti >= ri) break;
15608 …(var rslice = 0; rslice != cells.length; ++rslice) if(cells[rslice].trim().charAt(0) != "<") break;
15618 if((cc=d.charCodeAt(i)-64) < 1 || cc > 26) break;
15624 for(i = 0; i != x.length; ++i) if(x.charCodeAt(i) === 62) break; ++i;
15674 break;
15685 break;
15690 break;
15698 break;
15699 case 'b': p.v = parsexmlbool(p.v); break;
15703 break;
15707 p.v = RBErr[p.v]; break;
16448 ref = val; break;
16458 break;
16479 case 'n': p.v = val[1]; break;
16480 case 's': sstr = strs[val[1]]; p.v = sstr.t; p.r = sstr.r; break;
16481 case 'b': p.v = val[1] ? true : false; break;
16482 case 'e': p.v = val[1]; if(opts.cellText !== false) p.w = BErr[p.v]; break;
16483 case 'str': p.t = 's'; p.v = val[1]; break;
16484 case 'is': p.t = 's'; p.v = val[1].t; break;
16514 break;
16518 if(!opts.sheetStubs || pass) break;
16532 break;
16535 merges.push(val); break;
16539 } break;
16561 break;
16564 if(!opts.cellFormula) break;
16569 break;
16571 if(!opts.cellFormula) break;
16575 break;
16579 if(!opts.cellStyles) break;
16585 break;
16589 break;
16593 break;
16599 break;
16605 break;
16608 break;
16612 break;
16615 break;
16666 break;
16669 pass = true; break;
16671 pass = false; break;
16673 state.push(RT); pass = true; break;
16675 state.pop(); pass = false; break;
16712 case 'b': vv = cell.v ? "1" : "0"; break;
16717 break;
16719 case 'n': case 'e': vv = ''+cell.v; break;
16720 default: vv = cell.v; break;
16842 name.Ref = formula_quote_sheet_name(wb.SheetNames[idx]) + "!" + fix_range(ref); break;
17026 s['!rel'] = val; break;
17031 break;
17041 break;
17044 pass = true; break;
17046 pass = false; break;
17048 state.push(RT); break;
17050 state.pop(); break;
17163 case "bool": if(typeof w[z[0]] == "string") w[z[0]] = parsexmlbool(w[z[0]]); break;
17164 case "int": if(typeof w[z[0]] == "string") w[z[0]] = parseInt(w[z[0]], 10); break;
17173 … case "bool": if(typeof target[z[0]] == "string") target[z[0]] = parsexmlbool(target[z[0]]); break;
17174 case "int": if(typeof target[z[0]] == "string") target[z[0]] = parseInt(target[z[0]], 10); break;
17246 case '<?xml': break;
17252 break;
17253 case '</workbook>': break;
17256 case '<fileVersion': delete y[0]; wb.AppVersion = y; break;
17257 case '<fileVersion/>': case '</fileVersion>': break;
17261 break;
17262 case '<fileSharing/>': break;
17270 case "bool": wb.WBProps[w[0]] = parsexmlbool(y[w[0]]); break;
17271 case "int": wb.WBProps[w[0]] = parseInt(y[w[0]], 10); break;
17276 break;
17277 case '</workbookPr>': break;
17281 break;
17282 case '<workbookProtection/>': break;
17285 case '<bookViews': case '<bookViews>': case '</bookViews>': break;
17287 case '<workbookView': case '<workbookView/>': delete y[0]; wb.WBView.push(y); break;
17288 case '</workbookView>': break;
17291 case '<sheets': case '<sheets>': case '</sheets>': break; // aggregate sheet
17295 case "hidden": y.Hidden = 1; break;
17296 case "veryHidden": y.Hidden = 2; break;
17301 delete y[0]; wb.Sheets.push(y); break;
17302 case '</sheet>': break;
17305 case '<functionGroups': case '<functionGroups/>': break;
17307 case '<functionGroup': break;
17310 case '<externalReferences': case '</externalReferences>': case '<externalReferences>': break;
17312 case '<externalReference': break;
17315 case '<definedNames/>': break;
17316 case '<definedNames>': case '<definedNames': pass=true; break;
17317 case '</definedNames>': pass=false; break;
17326 } break;
17330 } break;
17331 case '<definedName/>': break;
17334 case '<calcPr': delete y[0]; wb.CalcPr = y; break;
17335 case '<calcPr/>': delete y[0]; wb.CalcPr = y; break;
17336 case '</calcPr>': break;
17339 case '<oleSize': break;
17342 case '<customWorkbookViews>': case '</customWorkbookViews>': case '<customWorkbookViews': break;
17344 case '<customWorkbookView': case '</customWorkbookView>': break;
17347 case '<pivotCaches>': case '</pivotCaches>': case '<pivotCaches': break;
17349 case '<pivotCache': break;
17352 case '<smartTagPr': case '<smartTagPr/>': break;
17355 case '<smartTagTypes': case '<smartTagTypes>': case '</smartTagTypes>': break;
17357 case '<smartTagType': break;
17360 case '<webPublishing': case '<webPublishing/>': break;
17363 case '<fileRecoveryPr': case '<fileRecoveryPr/>': break;
17366 case '<webPublishObjects>': case '<webPublishObjects': case '</webPublishObjects>': break;
17368 case '<webPublishObject': break;
17371 case '<extLst': case '<extLst>': case '</extLst>': case '<extLst/>': break;
17373 case '<ext': pass=true; break; //TODO: check with versions of excel
17374 case '</ext>': pass=false; break;
17377 case '<ArchID': break;
17379 case '<AlternateContent>': pass=true; break;
17380 case '</AlternateContent>': pass=false; break;
17383 case '<revisionPtr': break;
17432 if(!sheets[i]) break;
17433 if(!sheets[i].Hidden) break;
17446 case 1: sht.state = "hidden"; break;
17447 case 2: sht.state = "veryHidden"; break;
17619 wb.Sheets.push(val); break;
17622 wb.WBProps = val; break;
17630 break;
17631 case 0x040C: /* 'BrtNameExt' */ break;
17640 break;
17645 break;
17647 break;
17654 break;
17682 break;
17685 state.push(RT); pass = true; break;
17687 state.pop(); pass = false; break;
17689 state.push(RT); pass = true; break;
17691 state.pop(); pass = false; break;
17693 case 0x0010: /* 'BrtFRTArchID$' */ break;
17944 case "boolean": oval = parsexmlbool(val); break;
17945 case "i2": case "int": oval = parseInt(val, 10); break;
17946 case "r4": case "float": oval = parseFloat(val); break;
17947 case "date": case "dateTime.tz": oval = parseDate(val); break;
17948 case "i8": case "string": case "fixed": case "uuid": case "bin.base64": break;
17996 if(!styles[sid].Parent) break;
18003 break;
18007 break;
18018 break;
18019 case 'Error': cell.t = 'e'; cell.v = RBErr[xml]; if(o.cellText !== false) cell.w = xml; break;
18023 break;
18124 break;
18126 if(state[state.length-1][1]) break;
18129 break;
18173 break;
18193 break;
18223 break;
18226 else if(Rn[0].slice(-2) == "/>") break;
18231 break;
18236 break;
18241 for(var ssfidx = 0; ssfidx != 0x188; ++ssfidx) if(table_fmt[ssfidx] == stag.nf) break;
18242 …39; ssfidx != 0x188; ++ssfidx) if(table_fmt[ssfidx] == null) { SSF__load(stag.nf, ssfidx); break; }
18243 break;
18246 if(state[state.length-1][0] !== /*'Table'*/'table') break;
18247 if(Rn[1]==='/') break;
18258 break;
18261 if(Rn[1]==='/') break;
18270 break;
18272 case 'namedcell' /*case 'NamedCell'*/: break;
18273 case 'b' /*case 'B'*/: break;
18274 case 'i' /*case 'I'*/: break;
18275 case 'u' /*case 'U'*/: break;
18276 case 's' /*case 'S'*/: break;
18277 case 'em' /*case 'EM'*/: break;
18278 case 'h2' /*case 'H2'*/: break;
18279 case 'h3' /*case 'H3'*/: break;
18280 case 'sub' /*case 'Sub'*/: break;
18281 case 'sup' /*case 'Sup'*/: break;
18282 case 'span' /*case 'Span'*/: break;
18284 break;
18285 case 'borders' /*case 'Borders'*/: break;
18286 case 'border' /*case 'Border'*/: break;
18288 if(Rn[0].slice(-2) === "/>") break;
18291 break;
18293 if(!opts.cellStyles) break;
18295 break;
18296 case 'protection' /*case 'Protection'*/: break;
18318 if(Rn[0].slice(-2) === "/>") break;
18321 break;
18322 case 'paragraphs' /*case 'Paragraphs'*/: break;
18328 break;
18340 break;
18349 break;
18351 case 'name' /*case 'Name'*/: break;
18359 break;
18362 break;
18383 break;
18385 case 'null' /*case 'Null'*/: break;
18397 case 'allowpng' /*case 'AllowPNG'*/: break;
18398 case 'removepersonalinformation' /*case 'RemovePersonalInformation'*/: break;
18399 case 'downloadcomponents' /*case 'DownloadComponents'*/: break;
18400 case 'locationofcomponents' /*case 'LocationOfComponents'*/: break;
18401 case 'colors' /*case 'Colors'*/: break;
18402 case 'color' /*case 'Color'*/: break;
18403 case 'index' /*case 'Index'*/: break;
18404 case 'rgb' /*case 'RGB'*/: break;
18405 case 'targetscreensize' /*case 'TargetScreenSize'*/: break;
18406 case 'readonlyrecommended' /*case 'ReadOnlyRecommended'*/: break;
18408 } break;
18412 case 'toolbar' /*case 'Toolbar'*/: break;
18413 case 'hideofficelogo' /*case 'HideOfficeLogo'*/: break;
18414 case 'spreadsheetautofit' /*case 'SpreadsheetAutoFit'*/: break;
18415 case 'label' /*case 'Label'*/: break;
18416 case 'caption' /*case 'Caption'*/: break;
18417 case 'maxheight' /*case 'MaxHeight'*/: break;
18418 case 'maxwidth' /*case 'MaxWidth'*/: break;
18419 case 'nextsheetnumber' /*case 'NextSheetNumber'*/: break;
18421 } break;
18428 break;
18429 case 'windowheight' /*case 'WindowHeight'*/: break;
18430 case 'windowwidth' /*case 'WindowWidth'*/: break;
18431 case 'windowtopx' /*case 'WindowTopX'*/: break;
18432 case 'windowtopy' /*case 'WindowTopY'*/: break;
18433 case 'tabratio' /*case 'TabRatio'*/: break;
18434 case 'protectstructure' /*case 'ProtectStructure'*/: break;
18435 case 'protectwindow' /*case 'ProtectWindow'*/: break;
18436 case 'protectwindows' /*case 'ProtectWindows'*/: break;
18437 case 'activesheet' /*case 'ActiveSheet'*/: break;
18438 case 'displayinknotes' /*case 'DisplayInkNotes'*/: break;
18439 case 'firstvisiblesheet' /*case 'FirstVisibleSheet'*/: break;
18440 case 'supbook' /*case 'SupBook'*/: break;
18441 case 'sheetname' /*case 'SheetName'*/: break;
18442 case 'sheetindex' /*case 'SheetIndex'*/: break;
18443 case 'sheetindexfirst' /*case 'SheetIndexFirst'*/: break;
18444 case 'sheetindexlast' /*case 'SheetIndexLast'*/: break;
18445 case 'dll' /*case 'Dll'*/: break;
18446 case 'acceptlabelsinformulas' /*case 'AcceptLabelsInFormulas'*/: break;
18447 case 'donotsavelinkvalues' /*case 'DoNotSaveLinkValues'*/: break;
18448 case 'iteration' /*case 'Iteration'*/: break;
18449 case 'maxiterations' /*case 'MaxIterations'*/: break;
18450 case 'maxchange' /*case 'MaxChange'*/: break;
18451 case 'path' /*case 'Path'*/: break;
18452 case 'xct' /*case 'Xct'*/: break;
18453 case 'count' /*case 'Count'*/: break;
18454 case 'selectedsheets' /*case 'SelectedSheets'*/: break;
18455 case 'calculation' /*case 'Calculation'*/: break;
18456 case 'uncalced' /*case 'Uncalced'*/: break;
18457 case 'startupprompt' /*case 'StartupPrompt'*/: break;
18458 case 'crn' /*case 'Crn'*/: break;
18459 case 'externname' /*case 'ExternName'*/: break;
18460 case 'formula' /*case 'Formula'*/: break;
18461 case 'colfirst' /*case 'ColFirst'*/: break;
18462 case 'collast' /*case 'ColLast'*/: break;
18463 case 'wantadvise' /*case 'WantAdvise'*/: break;
18464 case 'boolean' /*case 'Boolean'*/: break;
18465 case 'error' /*case 'Error'*/: break;
18466 case 'text' /*case 'Text'*/: break;
18467 case 'ole' /*case 'OLE'*/: break;
18468 case 'noautorecover' /*case 'NoAutoRecover'*/: break;
18469 case 'publishobjects' /*case 'PublishObjects'*/: break;
18470 case 'donotcalculatebeforesave' /*case 'DoNotCalculateBeforeSave'*/: break;
18471 case 'number' /*case 'Number'*/: break;
18472 case 'refmoder1c1' /*case 'RefModeR1C1'*/: break;
18473 case 'embedsavesmarttags' /*case 'EmbedSaveSmartTags'*/: break;
18475 } break;
18479 case 'owcversion' /*case 'OWCVersion'*/: break;
18480 case 'height' /*case 'Height'*/: break;
18481 case 'width' /*case 'Width'*/: break;
18483 } break;
18490 case "SheetHidden": wsprops.Hidden = 1; break;
18491 case "SheetVeryHidden": wsprops.Hidden = 2; break;
18494 break;
18498 break;
18502 break;
18510 break;
18515 break;
18517 case 'freezepanes' /*case 'FreezePanes'*/: break;
18518 case 'frozennosplit' /*case 'FrozenNoSplit'*/: break;
18522 break;
18525 break;
18527 case 'activerow' /*case 'ActiveRow'*/: break;
18528 case 'activecol' /*case 'ActiveCol'*/: break;
18529 case 'toprowbottompane' /*case 'TopRowBottomPane'*/: break;
18530 case 'leftcolumnrightpane' /*case 'LeftColumnRightPane'*/: break;
18532 case 'unsynced' /*case 'Unsynced'*/: break;
18533 case 'print' /*case 'Print'*/: break;
18534 case 'printerrors' /*case 'PrintErrors'*/: break;
18535 case 'panes' /*case 'Panes'*/: break;
18536 case 'scale' /*case 'Scale'*/: break;
18537 case 'pane' /*case 'Pane'*/: break;
18538 case 'number' /*case 'Number'*/: break;
18539 case 'layout' /*case 'Layout'*/: break;
18540 case 'pagesetup' /*case 'PageSetup'*/: break;
18541 case 'selected' /*case 'Selected'*/: break;
18542 case 'protectobjects' /*case 'ProtectObjects'*/: break;
18543 case 'enableselection' /*case 'EnableSelection'*/: break;
18544 case 'protectscenarios' /*case 'ProtectScenarios'*/: break;
18545 case 'validprinterinfo' /*case 'ValidPrinterInfo'*/: break;
18546 case 'horizontalresolution' /*case 'HorizontalResolution'*/: break;
18547 case 'verticalresolution' /*case 'VerticalResolution'*/: break;
18548 case 'numberofcopies' /*case 'NumberofCopies'*/: break;
18549 case 'activepane' /*case 'ActivePane'*/: break;
18550 case 'toprowvisible' /*case 'TopRowVisible'*/: break;
18551 case 'leftcolumnvisible' /*case 'LeftColumnVisible'*/: break;
18552 case 'fittopage' /*case 'FitToPage'*/: break;
18553 case 'rangeselection' /*case 'RangeSelection'*/: break;
18554 case 'papersizeindex' /*case 'PaperSizeIndex'*/: break;
18555 case 'pagelayoutzoom' /*case 'PageLayoutZoom'*/: break;
18556 case 'pagebreakzoom' /*case 'PageBreakZoom'*/: break;
18557 case 'filteron' /*case 'FilterOn'*/: break;
18558 case 'fitwidth' /*case 'FitWidth'*/: break;
18559 case 'fitheight' /*case 'FitHeight'*/: break;
18560 case 'commentslayout' /*case 'CommentsLayout'*/: break;
18561 case 'zoom' /*case 'Zoom'*/: break;
18562 case 'lefttoright' /*case 'LeftToRight'*/: break;
18563 case 'gridlines' /*case 'Gridlines'*/: break;
18564 case 'allowsort' /*case 'AllowSort'*/: break;
18565 case 'allowfilter' /*case 'AllowFilter'*/: break;
18566 case 'allowinsertrows' /*case 'AllowInsertRows'*/: break;
18567 case 'allowdeleterows' /*case 'AllowDeleteRows'*/: break;
18568 case 'allowinsertcols' /*case 'AllowInsertCols'*/: break;
18569 case 'allowdeletecols' /*case 'AllowDeleteCols'*/: break;
18570 case 'allowinserthyperlinks' /*case 'AllowInsertHyperlinks'*/: break;
18571 case 'allowformatcells' /*case 'AllowFormatCells'*/: break;
18572 case 'allowsizecols' /*case 'AllowSizeCols'*/: break;
18573 case 'allowsizerows' /*case 'AllowSizeRows'*/: break;
18577 break;
18578 case 'tabcolorindex' /*case 'TabColorIndex'*/: break;
18579 case 'donotdisplayheadings' /*case 'DoNotDisplayHeadings'*/: break;
18580 case 'showpagelayoutzoom' /*case 'ShowPageLayoutZoom'*/: break;
18584 break;
18585 case 'blackandwhite' /*case 'BlackAndWhite'*/: break;
18586 case 'donotdisplayzeros' /*case 'DoNotDisplayZeros'*/: break;
18587 case 'displaypagebreak' /*case 'DisplayPageBreak'*/: break;
18588 case 'rowcolheadings' /*case 'RowColHeadings'*/: break;
18589 case 'donotdisplayoutline' /*case 'DoNotDisplayOutline'*/: break;
18590 case 'noorientation' /*case 'NoOrientation'*/: break;
18591 case 'allowusepivottables' /*case 'AllowUsePivotTables'*/: break;
18592 case 'zeroheight' /*case 'ZeroHeight'*/: break;
18593 case 'viewablerange' /*case 'ViewableRange'*/: break;
18594 case 'selection' /*case 'Selection'*/: break;
18595 case 'protectcontents' /*case 'ProtectContents'*/: break;
18597 } break;
18601 case 'immediateitemsondrop' /*case 'ImmediateItemsOnDrop'*/: break;
18602 case 'showpagemultipleitemlabel' /*case 'ShowPageMultipleItemLabel'*/: break;
18603 case 'compactrowindent' /*case 'CompactRowIndent'*/: break;
18604 case 'location' /*case 'Location'*/: break;
18605 case 'pivotfield' /*case 'PivotField'*/: break;
18606 case 'orientation' /*case 'Orientation'*/: break;
18607 case 'layoutform' /*case 'LayoutForm'*/: break;
18608 case 'layoutsubtotallocation' /*case 'LayoutSubtotalLocation'*/: break;
18609 case 'layoutcompactrow' /*case 'LayoutCompactRow'*/: break;
18610 case 'position' /*case 'Position'*/: break;
18611 case 'pivotitem' /*case 'PivotItem'*/: break;
18612 case 'datatype' /*case 'DataType'*/: break;
18613 case 'datafield' /*case 'DataField'*/: break;
18614 case 'sourcename' /*case 'SourceName'*/: break;
18615 case 'parentfield' /*case 'ParentField'*/: break;
18616 case 'ptlineitems' /*case 'PTLineItems'*/: break;
18617 case 'ptlineitem' /*case 'PTLineItem'*/: break;
18618 case 'countofsameitems' /*case 'CountOfSameItems'*/: break;
18619 case 'item' /*case 'Item'*/: break;
18620 case 'itemtype' /*case 'ItemType'*/: break;
18621 case 'ptsource' /*case 'PTSource'*/: break;
18622 case 'cacheindex' /*case 'CacheIndex'*/: break;
18623 case 'consolidationreference' /*case 'ConsolidationReference'*/: break;
18624 case 'filename' /*case 'FileName'*/: break;
18625 case 'reference' /*case 'Reference'*/: break;
18626 case 'nocolumngrand' /*case 'NoColumnGrand'*/: break;
18627 case 'norowgrand' /*case 'NoRowGrand'*/: break;
18628 case 'blanklineafteritems' /*case 'BlankLineAfterItems'*/: break;
18629 case 'hidden' /*case 'Hidden'*/: break;
18630 case 'subtotal' /*case 'Subtotal'*/: break;
18631 case 'basefield' /*case 'BaseField'*/: break;
18632 case 'mapchilditems' /*case 'MapChildItems'*/: break;
18633 case 'function' /*case 'Function'*/: break;
18634 case 'refreshonfileopen' /*case 'RefreshOnFileOpen'*/: break;
18635 case 'printsettitles' /*case 'PrintSetTitles'*/: break;
18636 case 'mergelabels' /*case 'MergeLabels'*/: break;
18637 case 'defaultversion' /*case 'DefaultVersion'*/: break;
18638 case 'refreshname' /*case 'RefreshName'*/: break;
18639 case 'refreshdate' /*case 'RefreshDate'*/: break;
18640 case 'refreshdatecopy' /*case 'RefreshDateCopy'*/: break;
18641 case 'versionlastrefresh' /*case 'VersionLastRefresh'*/: break;
18642 case 'versionlastupdate' /*case 'VersionLastUpdate'*/: break;
18643 case 'versionupdateablemin' /*case 'VersionUpdateableMin'*/: break;
18644 case 'versionrefreshablemin' /*case 'VersionRefreshableMin'*/: break;
18645 case 'calculation' /*case 'Calculation'*/: break;
18647 } break;
18651 case 'colbreaks' /*case 'ColBreaks'*/: break;
18652 case 'colbreak' /*case 'ColBreak'*/: break;
18653 case 'rowbreaks' /*case 'RowBreaks'*/: break;
18654 case 'rowbreak' /*case 'RowBreak'*/: break;
18655 case 'colstart' /*case 'ColStart'*/: break;
18656 case 'colend' /*case 'ColEnd'*/: break;
18657 case 'rowend' /*case 'RowEnd'*/: break;
18659 } break;
18663 case 'autofiltercolumn' /*case 'AutoFilterColumn'*/: break;
18664 case 'autofiltercondition' /*case 'AutoFilterCondition'*/: break;
18665 case 'autofilterand' /*case 'AutoFilterAnd'*/: break;
18666 case 'autofilteror' /*case 'AutoFilterOr'*/: break;
18668 } break;
18672 case 'id' /*case 'Id'*/: break;
18673 case 'autoformatfont' /*case 'AutoFormatFont'*/: break;
18674 case 'autoformatpattern' /*case 'AutoFormatPattern'*/: break;
18675 case 'querysource' /*case 'QuerySource'*/: break;
18676 case 'querytype' /*case 'QueryType'*/: break;
18677 case 'enableredirections' /*case 'EnableRedirections'*/: break;
18678 case 'refreshedinxl9' /*case 'RefreshedInXl9'*/: break;
18679 case 'urlstring' /*case 'URLString'*/: break;
18680 case 'htmltables' /*case 'HTMLTables'*/: break;
18681 case 'connection' /*case 'Connection'*/: break;
18682 case 'commandtext' /*case 'CommandText'*/: break;
18683 case 'refreshinfo' /*case 'RefreshInfo'*/: break;
18684 case 'notitles' /*case 'NoTitles'*/: break;
18685 case 'nextid' /*case 'NextId'*/: break;
18686 case 'columninfo' /*case 'ColumnInfo'*/: break;
18687 case 'overwritecells' /*case 'OverwriteCells'*/: break;
18688 case 'donotpromptforfile' /*case 'DoNotPromptForFile'*/: break;
18689 case 'textwizardsettings' /*case 'TextWizardSettings'*/: break;
18690 case 'source' /*case 'Source'*/: break;
18691 case 'number' /*case 'Number'*/: break;
18692 case 'decimal' /*case 'Decimal'*/: break;
18693 case 'thousandseparator' /*case 'ThousandSeparator'*/: break;
18694 case 'trailingminusnumbers' /*case 'TrailingMinusNumbers'*/: break;
18695 case 'formatsettings' /*case 'FormatSettings'*/: break;
18696 case 'fieldtype' /*case 'FieldType'*/: break;
18697 case 'delimiters' /*case 'Delimiters'*/: break;
18698 case 'tab' /*case 'Tab'*/: break;
18699 case 'comma' /*case 'Comma'*/: break;
18700 case 'autoformatname' /*case 'AutoFormatName'*/: break;
18701 case 'versionlastedit' /*case 'VersionLastEdit'*/: break;
18702 case 'versionlastrefresh' /*case 'VersionLastRefresh'*/: break;
18704 } break;
18708 case 'range' /*case 'Range'*/: break;
18710 case 'type' /*case 'Type'*/: break;
18711 case 'min' /*case 'Min'*/: break;
18712 case 'max' /*case 'Max'*/: break;
18713 case 'sort' /*case 'Sort'*/: break;
18714 case 'descending' /*case 'Descending'*/: break;
18715 case 'order' /*case 'Order'*/: break;
18716 case 'casesensitive' /*case 'CaseSensitive'*/: break;
18717 case 'value' /*case 'Value'*/: break;
18718 case 'errorstyle' /*case 'ErrorStyle'*/: break;
18719 case 'errormessage' /*case 'ErrorMessage'*/: break;
18720 case 'errortitle' /*case 'ErrorTitle'*/: break;
18721 case 'inputmessage' /*case 'InputMessage'*/: break;
18722 case 'inputtitle' /*case 'InputTitle'*/: break;
18723 case 'combohide' /*case 'ComboHide'*/: break;
18724 case 'inputhide' /*case 'InputHide'*/: break;
18725 case 'condition' /*case 'Condition'*/: break;
18726 case 'qualifier' /*case 'Qualifier'*/: break;
18727 case 'useblank' /*case 'UseBlank'*/: break;
18728 case 'value1' /*case 'Value1'*/: break;
18729 case 'value2' /*case 'Value2'*/: break;
18730 case 'format' /*case 'Format'*/: break;
18732 case 'cellrangelist' /*case 'CellRangeList'*/: break;
18734 } break;
18739 case 'range' /*case 'Range'*/: break;
18740 case 'type' /*case 'Type'*/: break;
18741 case 'min' /*case 'Min'*/: break;
18742 case 'max' /*case 'Max'*/: break;
18743 case 'sort' /*case 'Sort'*/: break;
18744 case 'descending' /*case 'Descending'*/: break;
18745 case 'order' /*case 'Order'*/: break;
18746 case 'casesensitive' /*case 'CaseSensitive'*/: break;
18747 case 'value' /*case 'Value'*/: break;
18748 case 'errorstyle' /*case 'ErrorStyle'*/: break;
18749 case 'errormessage' /*case 'ErrorMessage'*/: break;
18750 case 'errortitle' /*case 'ErrorTitle'*/: break;
18751 case 'cellrangelist' /*case 'CellRangeList'*/: break;
18752 case 'inputmessage' /*case 'InputMessage'*/: break;
18753 case 'inputtitle' /*case 'InputTitle'*/: break;
18754 case 'combohide' /*case 'ComboHide'*/: break;
18755 case 'inputhide' /*case 'InputHide'*/: break;
18756 case 'condition' /*case 'Condition'*/: break;
18757 case 'qualifier' /*case 'Qualifier'*/: break;
18758 case 'useblank' /*case 'UseBlank'*/: break;
18759 case 'value1' /*case 'Value1'*/: break;
18760 case 'value2' /*case 'Value2'*/: break;
18761 case 'format' /*case 'Format'*/: break;
18763 } break;
18767 case 'map' /*case 'Map'*/: break;
18768 case 'entry' /*case 'Entry'*/: break;
18769 case 'range' /*case 'Range'*/: break;
18770 case 'xpath' /*case 'XPath'*/: break;
18771 case 'field' /*case 'Field'*/: break;
18772 case 'xsdtype' /*case 'XSDType'*/: break;
18773 case 'filteron' /*case 'FilterOn'*/: break;
18774 case 'aggregate' /*case 'Aggregate'*/: break;
18775 case 'elementtype' /*case 'ElementType'*/: break;
18776 case 'attributetype' /*case 'AttributeType'*/: break;
18784 case 'extends' /*case 'extends'*/: break;
18786 case 'row' /*case 'row'*/: break;
18788 } break;
18791 case 'smarttags' /*case 'SmartTags'*/: break;
18793 default: seen = false; break;
18795 if(seen) break;
18797 if(Rn[3].match(/!\[CDATA/)) break;
18800 if(Rn[0].slice(-2) === "/>") break;
18803 break;
18938 for(var i = 0; i < idx; ++i) if(wb.Workbook.Sheets[i] && !wb.Workbook.Sheets[i].Hidden) break;
19030 case 'z': if(!opts.sheetStubs) return ""; break;
19031 case 'n': t = 'Number'; p = String(cell.v); break;
19032 case 'b': t = 'Boolean'; p = (cell.v ? "1" : "0"); break;
19033 case 'e': t = 'Error'; p = BErr[cell.v]; break;
19034 …e'; p = new Date(cell.v).toISOString(); if(cell.z == null) cell.z = cell.z || table_fmt[14]; break;
19035 case 's': t = 'String'; p = escapexlml(cell.v||""); break;
19083 break;
19186 break;
19188 break;
19297 break;
19346 if(RecordType === 0 && last_RT === 0x000a /* EOF */) break;
19349 if(file_depth == 0 && [0x0009, 0x0209, 0x0409, 0x0809].indexOf(RecordType) == -1 /* BOF */) break;
19354 …f(last_RT === 0x0085 /* BoundSheet8 */ && RecordType !== 0x0085 /* R.n !== 'BoundSheet8' */) break;
19373 wb.opts.Date1904 = Workbook.WBProps.date1904 = val; break;
19374 case 0x0086 /* WriteProtect */: wb.opts.WriteProtect = true; break;
19381 break;
19382 case 0x005c /* WriteAccess */: opts.lastuser = val; break;
19387 case 0x5212: cpval = 1200; break;
19388 case 0x8000: cpval = 10000; break;
19389 case 0x8001: cpval = 1252; break;
19393 break;
19394 case 0x013d /* RRTabId */: opts.rrtabid = val; break;
19395 case 0x0019 /* WinProtect */: opts.winlocked = val; break;
19396 case 0x01b7 /* RefreshAll */: wb.opts["RefreshAll"] = val; break;
19397 case 0x000c /* CalcCount */: wb.opts["CalcCount"] = val; break;
19398 case 0x0010 /* CalcDelta */: wb.opts["CalcDelta"] = val; break;
19399 case 0x0011 /* CalcIter */: wb.opts["CalcIter"] = val; break;
19400 case 0x000d /* CalcMode */: wb.opts["CalcMode"] = val; break;
19401 case 0x000e /* CalcPrecision */: wb.opts["CalcPrecision"] = val; break;
19402 case 0x005f /* CalcSaveRecalc */: wb.opts["CalcSaveRecalc"] = val; break;
19403 case 0x000f /* CalcRefMode */: opts.CalcRefMode = val; break; // TODO: implement R1C1
19404 case 0x08a3 /* ForceFullCalculation */: wb.opts.FullCalc = val; break;
19409 break; // TODO
19411 XFs.push(val); break;
19415 break;
19418 break;
19431 break;
19432 case 0x0016 /* ExternCount */: opts.ExternCount = val; break;
19435 …TI = supbooks[supbooks.length - 1].XTI.concat(val); supbooks.XTI = supbooks.XTI.concat(val); break;
19438 if(opts.biff < 8) break;
19440 break;
19441 case 0x0012 /* Protect */: out["!protect"] = val; break; /* for sheet or book */
19442 …0x0013 /* Password */: if(val !== 0 && opts.WTF) console.error("Password verifier: " + val); break;
19446 } break;
19448 if(--file_depth) break;
19470 } break;
19488 if(file_depth++) break;
19510 } break;
19517 } break;
19523 } break;
19529 } break;
19538 } break;
19540 if(val.val == 'String') { last_formula = val; break; }
19556 } break;
19570 } break;
19576 if(!last_formula) break; /* technically unreachable */
19577 if(!_arraystart || !cc) break;
19581 } break;
19583 if(!options.cellFormula) break;
19586 if(!last_formula) break; /* technically unreachable */
19591 } break;
19599 break;
19605 } break;
19614 } break;
19622 break;
19626 } break;
19629 } break;
19633 for(var b4idx = 0; b4idx < BIFF2Fmt + 163; ++b4idx) if(table_fmt[b4idx] == val[1]) break;
19637 } break;
19640 for(var b2idx = 0; b2idx < BIFF2Fmt + 163; ++b2idx) if(table_fmt[b2idx] == val) break;
19642 } break;
19644 case 0x00e5 /* MergeCells */: merges = merges.concat(val); break;
19646 case 0x005d /* Obj */: objects[val.cmo[0]] = opts.lastobj = val; break;
19647 case 0x01b6 /* TxO */: opts.lastobj.TxO = val; break;
19648 case 0x007f /* ImData */: opts.lastobj.ImData = val; break;
19656 } break;
19663 } break;
19665 if(opts.biff <= 5 && opts.biff >= 2) break; /* TODO: BIFF5 */
19683 } break;
19684 case 0x087d /* XFExt */: update_xfext(XFs[val.ixfe], val.ext); break;
19686 if(!opts.cellStyles) break;
19692 } break;
19701 } break;
19708 break;
19713 break;
19717 break;
19718 case 0x0092 /* Palette */: palette = val; break;
19719 case 0x0896 /* Theme */: themes = val; break;
19720 case 0x008c /* Country */: country = val; break;
19725 } break;
19815 case 'base64': cfb = s2a(Base64_decode(cfb)); break;
19816 case 'binary': cfb = s2a(cfb); break;
19817 case 'buffer': break;
19818 case 'array': if(!Array.isArray(cfb)) cfb = Array.prototype.slice.call(cfb); break;
19860 case "biff8": wbpath = "/Workbook"; o.biff = 8; break;
19861 case "biff5": wbpath = "/Book"; o.biff = 5; break;
21391 break;
21394 break;
21401 break;
21625 …if(hd == "<tr") { ++R; if(opts.sheetRows && opts.sheetRows <= R) { --R; break; } C = 0; continue; }
21676 if(M[j].s.r < R || M[j].s.c < C) { RS = -1; break; }
21677 RS = M[j].e.r - M[j].s.r + 1; CS = M[j].e.c - M[j].s.c + 1; break;
21806 l = Aelts[Aelti].getAttribute("href"); if(l.charAt(0) != "#") break;
21859 .replace(/<text:line-break\/>/g,"\n");
21894 } break;
21906 } break;
21911 break;
21921 } break;
21927 case "short": NF += "d"; break;
21928 case "long": NF += "dd"; break;
21929 default: NF += "dd"; break; // TODO: error condition
21931 } break;
21936 case "short": NF += "ddd"; break;
21937 case "long": NF += "dddd"; break;
21938 default: NF += "ddd"; break;
21940 } break;
21945 case "short": NF += "ee"; break;
21946 case "long": NF += "eeee"; break;
21947 default: NF += "eeee"; break; // TODO: error condition
21949 } break;
21954 case "short": NF += "h"; break;
21955 case "long": NF += "hh"; break;
21956 default: NF += "hh"; break; // TODO: error condition
21958 } break;
21963 case "short": NF += "m"; break;
21964 case "long": NF += "mm"; break;
21965 default: NF += "mm"; break; // TODO: error condition
21967 } break;
21973 case "short": NF += "m"; break;
21974 case "long": NF += "mm"; break;
21975 default: NF += "m"; break;
21977 } break;
21982 case "short": NF += "s"; break;
21983 case "long": NF += "ss"; break;
21984 default: NF += "ss"; break; // TODO: error condition
21987 } break;
21992 case "short": NF += "yy"; break;
21993 case "long": NF += "yyyy"; break;
21994 default: NF += "yy"; break; // TODO: error condition
21996 } break;
22000 break;
22005 break;
22014 } break;
22020 break;
22032 break;
22041 break;
22046 case "ff0000": case "red": NF = "[Red]" + NF; break;
22048 break;
22052 break;
22059 break;
22063 if(Rn[1]==='/') break;
22072 break;
22082 } break;
22146 break;
22150 break;
22152 if(Rn[1] === '/') { R+=rowpeat; rowpeat = 1; break; }
22158 C = -1; break;
22166 break; /* stub */
22225 …ean': q.t = 'b'; q.v = parsexmlbool(ctag['boolean-value']) || (+ctag['boolean-value'] >= 1); break;
22226 case 'float': q.t = 'n'; q.v = parseFloat(ctag.value); break;
22227 case 'percentage': q.t = 'n'; q.v = parseFloat(ctag.value); break;
22228 case 'currency': q.t = 'n'; q.v = parseFloat(ctag.value); break;
22231 if(!q.z) q.z = 'm/d/yy'; break;
22234 if(!q.z) q.z = 'HH:MM:SS'; break;
22235 case 'number': q.t = 'n'; q.v = parseFloat(ctag['数据数值']); break;
22275 break; // 9.1.4 <table:table-cell>
22287 break;
22300 break;
22305 break;
22327 break;
22332 break;
22347 } break;
22349 case 'script': break; // 3.13 <office:script>
22350 case 'libraries': break; // TODO: <ooo:libraries>
22351 case 'automatic-styles': break; // 3.15.3 <office:automatic-styles>
22354 case 'page-layout': break; // TODO: <style:page-layout>
22358 } break;
22359 case 'map': break; // 16.3 <style:map>
22360 case 'font-face': break; // 16.21 <style:font-face>
22362 case 'paragraph-properties': break; // 17.6 <style:paragraph-properties>
22363 case 'table-properties': break; // 17.15 <style:table-properties>
22364 case 'table-column-properties': break; // 17.16 <style:table-column-properties>
22365 case 'table-row-properties': break; // 17.17 <style:table-row-properties>
22366 case 'table-cell-properties': break; // 17.18 <style:table-cell-properties>
22369 break;
22371 case 'fraction': break; // TODO 16.27.6 <number:fraction>
22384 break;
22386 case 'boolean': break; // 16.27.24 <number:boolean>
22388 if(Rn[0].slice(-2) === "/>") break;
22394 break;
22397 break;
22405 break;
22407 case 'text-content': break; // 16.27.27 <number:text-content>
22408 case 'text-properties': break; // 16.27.27 <style:text-properties>
22409 case 'embedded-text': break; // 16.27.4 <number:embedded-text>
22411 case 'body': case '电子表格': break; // 3.3 16.9.6 19.726.3
22413 case 'forms': break; // 12.25.2 13.2
22414 case 'table-column': break; // 9.1.6 <table:table-column>
22415 case 'table-header-rows': break; // 9.1.7 <table:table-header-rows>
22416 case 'table-rows': break; // 9.1.12 <table:table-rows>
22418 case 'table-column-group': break; // 9.1.10 <table:table-column-group>
22419 case 'table-header-columns': break; // 9.1.11 <table:table-header-columns>
22420 case 'table-columns': break; // 9.1.12 <table:table-columns>
22429 break;
22431 case 'graphic-properties': break; // 17.21 <style:graphic-properties>
22432 case 'calculation-settings': break; // 9.4.1 <table:calculation-settings>
22433 case 'named-expressions': break; // 9.4.11 <table:named-expressions>
22434 case 'label-range': break; // 9.4.9 <table:label-range>
22435 case 'label-ranges': break; // 9.4.10 <table:label-ranges>
22436 case 'named-expression': break; // 9.4.13 <table:named-expression>
22437 case 'sort': break; // 9.4.19 <table:sort>
22438 case 'sort-by': break; // 9.4.20 <table:sort-by>
22439 case 'sort-groups': break; // 9.4.22 <table:sort-groups>
22441 case 'tab': break; // 6.1.4 <text:tab>
22442 case 'line-break': break; // 6.1.5 <text:line-break>
22443 case 'span': break; // 6.1.7 <text:span>
22445 if(['master-styles'].indexOf(state[state.length-1][0]) > -1) break;
22450 break; // <text:p>
22451 case 's': break; // <text:s>
22454 if(Rn[1]==='/') break;
22459 break;
22461 case 'date': break; // <*:date>
22463 case 'object': break; // 10.4.6.2 <draw:object>
22464 case 'title': case '标题': break; // <*:title> OR <uof:标题>
22465 case 'desc': break; // <*:desc>
22466 case 'binary-data': break; // 10.4.5 TODO: b64 blob
22469 case 'table-source': break; // 9.2.6
22470 case 'scenario': break; // 9.2.6
22472 case 'iteration': break; // 9.4.3 <table:iteration>
22473 case 'content-validations': break; // 9.4.4 <table:
22474 case 'content-validation': break; // 9.4.5 <table:
22475 case 'help-message': break; // 9.4.6 <table:
22476 case 'error-message': break; // 9.4.7 <table:
22477 case 'database-ranges': break; // 9.4.14 <table:database-ranges>
22478 case 'filter': break; // 9.5.2 <table:filter>
22479 case 'filter-and': break; // 9.5.3 <table:filter-and>
22480 case 'filter-or': break; // 9.5.4 <table:filter-or>
22481 case 'filter-condition': break; // 9.5.5 <table:filter-condition>
22483 case 'list-level-style-bullet': break; // 16.31 <text:
22484 case 'list-level-style-number': break; // 16.32 <text:
22485 case 'list-level-properties': break; // 17.19 <style:
22509 break;
22512 break;
22522 break;
22526 break;
22529 case 'page-number': break; // TODO <text:page-number>
22530 case 'page-count': break; // TODO <text:page-count>
22531 case 'time': break; // TODO <text:time>
22534 case 'cell-range-source': break; // 9.3.1 <table:
22535 case 'detective': break; // 9.3.2 <table:
22536 case 'operation': break; // 9.3.3 <table:
22537 case 'highlighted-range': break; // 9.3.4 <table:
22556 break;
22560 break;
22567 break;
22569 case 'properties': break; // 13.7 <form:properties>
22570 case 'property': break; // 13.8 <form:property>
22575 if(!atag.href) break;
22582 break;
22585 case 'table-protection': break;
22586 case 'data-pilot-grand-total': break; // <table:
22587 case 'office-document-common-attrs': break; // bare
22601 break;
22677 if(nf == "@") { type = "text"; payload = "<number:text-content/>"; break j; }
22697 …denominator-value": Math.max(+(t[1].replace(/./g, "9")), +(t[2].replace(/./g, "9"))) }); break j; }
22698 …its":0, "number:min-numerator-digits": t[1].length, "number:denominator-value": +t[2]}); break j; }
22701 … - 1 || 0, "number:min-integer-digits": t[1].length }) + "<number:text>%</number:text>"; break j; }
22708 case "h": case "s": has_time = true; --i; break k;
22711 case "y": case "d": break l;
22712 case "h": case "s": has_time = true; --i; break k;
22718 case "y": case "yy": payload += "<number:year/>"; break;
22719 case "yyy": case "yyyy": payload += '<number:year number:style="long"/>'; break;
22724 break;
22725 …e "dd": payload += '<number:day number:style="' + (c.length % 2 ? "short" : "long") + '"/>'; break;
22726 …payload += '<number:day-of-week number:style="' + (c.length % 2 ? "short" : "long") + '"/>'; break;
22728 break;
22732 break;
22733 case '/': payload += '<number:text>' + escapexml(c) + '</number:text>'; break;
22736 if(!has_time) break j;
22749 …"hh": payload += '<number:hours number:style="' + (c.length % 2 ? "short" : "long") + '"/>'; break;
22750 …m": payload += '<number:minutes number:style="' + (c.length % 2 ? "short" : "long") + '"/>'; break;
22753 …atch(/\./) ? ' number:decimal-places="' + (c.match(/0+/)||[""])[0].length + '"' : "")+ '/>'; break;
22755 break;
22759 break;
22760 case '/': payload += '<number:text>' + escapexml(c) + '</number:text>'; break;
22762 …if(nf.slice(i, i+3).toLowerCase() == "a/p") { payload += '<number:am-pm/>'; i += 2; break; } // No…
22763 if(nf.slice(i, i+5).toLowerCase() == "am/pm") { payload += '<number:am-pm/>'; i += 4; break; }
22767 break j;
22868 break;
22888 break;
22893 break;
22897 break;
22903 break;
22940 …o.push(' <style:table-column-properties fo:break-before="auto" style:column-width="' + w + '"/>\…
22956 … o.push(' <style:table-row-properties fo:break-before="auto" style:row-height="' + h + '"/>\n');
23194 break varint;
23197 break varint;
23200 break varint;
23204 break varint;
23208 break varint;
23212 break varint;
23228 break sz;
23233 break sz;
23238 break sz;
23243 break sz;
23248 break sz;
23273 break varint;
23276 break varint;
23279 break varint;
23290 break varint;
23293 break varint;
23296 break varint;
23300 break varint;
23303 break varint;
23306 break varint;
23309 break varint;
23312 break varint;
23327 break;
23336 break;
23341 break;
23346 break;
23351 break;
23585 break dur;
23594 break autodur;
23622 break dur;
23733 break;
23736 break;
23739 break;
23742 break;
23745 break;
23748 break;
23756 break;
23799 break;
23802 break;
23805 break;
23808 break;
23811 break;
23814 break;
23817 break;
23820 break;
23845 break;
23851 break;
23861 break;
23877 break;
23883 break;
23893 break;
23953 break;
23967 break;
23970 break;
24253 break;
24257 break;
24261 break;
24266 break;
25090 … case 'sheet': _ws = parse_ws(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;
25092 if(!_ws || !_ws['!drawel']) break;
25099 break;
25100 … case 'macro': _ws = parse_ms(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;
25101 … case 'dialog': _ws = parse_ds(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;
25275 case "number": if(i != opts.sheets) continue wsloop; break;
25276 …string": if(props.SheetNames[i].toLowerCase() != opts.sheets.toLowerCase()) continue wsloop; break;
25665 case 'base64': x = Base64_decode(f.slice(0,12)); break;
25666 case 'binary': x = f; break;
25689 case 0x0A: case 0x0D: case 0x20: ++i; break;
25691 default: break main;
25699 case 'base64': str = Base64_decode(data); break;
25700 case 'binary': str = data; break;
25701 case 'buffer': str = data.toString('binary'); break;
25702 case 'array': str = cc2str(data); break;
25747 …0xA1 && n[5] === 0xB1 && n[6] === 0x1A && n[7] === 0xE1) return read_cfb(CFB.read(d, o), o); break;
25748 case 0x09: if(n[1] <= 0x08) return parse_xlscfb(d, o); break;
25753 break;
25754 …case 0x54: if(n[1] === 0x41 && n[2] === 0x42 && n[3] === 0x4C) return DIF.to_workbook(d, o); break;
25760 break;
25766 break;
25768 …case 0x7B: if(n[1] === 0x5C && n[2] === 0x72 && n[3] === 0x74) return rtf_to_workbook(d, o); break;
25770 …0 && n[2] === 0x4E && n[3] === 0x47) throw new Error("PNG Image File is not a spreadsheet"); break;
25771 case 0x08: if(n[1] === 0xE7) throw new Error("Unsupported Multiplan 1.x file!"); break;
25775 break;
25787 case "base64": case "binary": break;
25788 case "buffer": case "array": o.type = ""; break;
25822 case "base64": oopts.type = "base64"; break;
25823 case "binary": oopts.type = "string"; break;
25826 case "file": oopts.type = ftype; break;
26012 case 'z': if(v == null) break; continue;
26013 case 'e': v = (v == 0 ? null : void 0); break;
26014 case 's': case 'd': case 'b': case 'n': break;
26044 case 'string': r = safe_decode_range(range); break;
26045 case 'number': r = safe_decode_range(sheet["!ref"]); r.s.r = range; break;
26064 case 1: hdr[C] = C - r.s.c; break;
26065 case 2: hdr[C] = cols[C]; break;
26066 case 3: hdr[C] = o.header[C - r.s.c]; break;
26099 … || cc === rs || cc === 34 || o.forceQuotes) {txt = "\"" + txt.replace(qreg, '""') + "\""; break; }
26288 …or(; i <= 0xFFFF; ++i, name = undefined) if(wb.SheetNames.indexOf(name = "Sheet" + i) == -1) break;
26294 for(++i; i <= 0xFFFF; ++i) if(wb.SheetNames.indexOf(name = root + i) == -1) break;
26314 case 0: case 1: case 2: break;
26462 break;
26480 case 'string': r = safe_decode_range(range); break;
26481 case 'number': r = safe_decode_range(sheet["!ref"]); r.s.r = range; break;
26499 case 1: hdr[C] = C - r.s.c; break;
26500 case 2: hdr[C] = cols[C]; break;
26501 case 3: hdr[C] = o.header[C - r.s.c]; break;