code: function parse_numFmts(t, styles, opts) {
  	styles.NumberFmt = [];
  	var k/*Array<number>*/ = (keys(SSF._table));
  	for(var i=0; i < k.length; ++i) styles.NumberFmt[k[i]] = SSF._table[k[i]];
  	var m = t[0].match(tagregex);
  	if(!m) return;
  	for(i=0; i < m.length; ++i) {
  		var y = parsexmltag(m[i]);
  		switch(strip_ns(y[0])) {
  			case '<numFmts': case '</numFmts>': case '<numFmts/>': case '<numFmts>': break;
  			case '<numFmt': {
  				var f=unescapexml(utf8read(y.formatCode)), j=parseInt(y.numFmtId,10);
  				styles.NumberFmt[j] = f;
  				if(j>0) {
  					if(j > 0x188) {
  						for(j = 0x188; j > 0x3c; --j) if(styles.NumberFmt[j] == null) break;
  						styles.NumberFmt[j] = f;
  					}
  					SSF.load(f,j);
  				}
  			} break;
  			case '</numFmt>': break;
  			default: if(opts.WTF) throw new Error('unrecognized ' + y[0] + ' in numFmts');
  		}
  	}
  }
docs: /* 18.8.31 numFmts CT_NumFmts