2016-12-31 08:20:45 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								/* xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */  
						 
					
						
							
								
									
										
										
										
											2018-03-06 00:34:04 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								var  DO _NOT _EXPORT _CODEPAGE = true ; var  DO _NOT _EXPORT _JSZIP = true ; var  XLSX = { } ; ( function  e ( r ) { r . version = "0.12.4" ; var  t = 1200 , a = 1252 ; if ( typeof  module !== "undefined" && typeof  require !== "undefined" ) { if ( typeof  cptable === "undefined" ) global . cptable = undefined } var  n = [ 874 , 932 , 936 , 949 , 950 ] ; for ( var  i = 0 ; i <= 8 ; ++ i ) n . push ( 1250 + i ) ; var  s = { 0 : 1252 , 1 : 65001 , 2 : 65001 , 77 : 1e4 , 128 : 932 , 129 : 949 , 130 : 1361 , 134 : 936 , 136 : 950 , 161 : 1253 , 162 : 1254 , 163 : 1258 , 177 : 1255 , 178 : 1256 , 186 : 1257 , 204 : 1251 , 222 : 874 , 238 : 1250 , 255 : 1252 , 69 : 6969 } ; var  l = function ( e ) { if ( n . indexOf ( e ) == - 1 ) return ; a = s [ 0 ] = e } ; function  f ( ) { l ( 1252 ) } var  c = function ( e ) { t = e ; l ( e ) } ; function  o ( ) { c ( 1200 ) ; f ( ) } function  u ( e ) { var  r = [ ] ; for ( var  t = 0 , a = e . length ; t < a ; ++ t ) r [ t ] = e . charCodeAt ( t ) ; return  r } function  h ( e ) { var  r = [ ] ; for ( var  t = 0 ; t < e . length >> 1 ; ++ t ) r [ t ] = String . fromCharCode ( e . charCodeAt ( 2 * t ) + ( e . charCodeAt ( 2 * t + 1 ) << 8 ) ) ; return  r . join ( "" ) } function  d ( e ) { var  r = [ ] ; for ( var  t = 0 ; t < e . length >> 1 ; ++ t ) r [ t ] = String . fromCharCode ( e . charCodeAt ( 2 * t + 1 ) + ( e . charCodeAt ( 2 * t ) << 8 ) ) ; return  r . join ( "" ) } var  v = function ( e ) { var  r = e . charCodeAt ( 0 ) , t = e . charCodeAt ( 1 ) ; if ( r == 255 && t == 254 ) return  h ( e . slice ( 2 ) ) ; if ( r == 254 && t == 255 ) return  d ( e . slice ( 2 ) ) ; if ( r == 65279 ) return  e . slice ( 1 ) ; return  e } ; var  p = function  Em ( e ) { return  String . fromCharCode ( e ) } ; if ( typeof  cptable !== "undefined" ) { c = function ( e ) { t = e } ; v = function ( e ) { if ( e . charCodeAt ( 0 ) === 255 && e . charCodeAt ( 1 ) === 254 ) { return  cptable . utils . decode ( 1200 , u ( e . slice ( 2 ) ) ) } return  e } ; p = function  Sm ( e ) { if ( t === 1200 ) return  String . fromCharCode ( e ) ; return  cptable . utils . decode ( t , [ e & 255 , e >> 8 ] ) [ 0 ] } } var  m = null ; var  b = true ; var  g = function  km ( ) { var  e = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" ; return { encode : function ( r ) { var  t = "" ; var  a = 0 , n = 0 , i = 0 , s = 0 , l = 0 , f = 0 , c = 0 ; for ( var  o = 0 ; o < r . length ; ) { a = r . charCodeAt ( o ++ ) ; s = a >> 2 ; n = r . charCodeAt ( o ++ ) ; l = ( a & 3 ) << 4 | n >> 4 ; i = r . charCodeAt ( o ++ ) ; f = ( n & 15 ) << 2 | i >> 6 ; c = i & 63 ; if ( isNaN ( n ) ) { f = c = 64 } else  if ( isNaN ( i ) ) { c = 64 } t += e . charAt ( s ) + e . charAt ( l ) + e . charAt ( f ) + e . charAt ( c ) } return  t } , decode : function  r ( t ) { var  a = "" ; var  n = 0 , i = 0 , s = 0 , l = 0 , f = 0 , c = 0 , o = 0 ; t = t . replace ( /[^\w\+\/\=]/g , "" ) ; for ( var  u = 0 ; u < t . length ; ) { l = e . indexOf ( t . charAt ( u ++ ) ) ; f = e . indexOf ( t . charAt ( u ++ ) ) ; n = l << 2 | f >> 4 ; a += String . fromCharCode ( n ) ; c = e . indexOf ( t . charAt ( u ++ ) ) ; i = ( f & 15 ) << 4 | c >> 2 ; if ( c !== 64 ) { a += String . fromCharCode ( i ) } o = e . indexOf ( t . charAt ( u ++ ) ) ; s = ( c & 3 ) << 6 | o ; if ( o !== 64 ) { a += String . fromCharCode ( s ) } } return  a } } } ( ) ; var  E = typeof  Buffer !== "undefined" && typeof  process !== "undefined" && typeof  process . versions !== "undefined" && process . versions . node ; function  S ( e ) { return  new ( E ? Buffer : Array ) ( e ) } function  k ( e ) { if ( E ) return  new  Buffer ( e , "binary" ) ; return  e . split ( "" ) . map ( function ( e ) { return  e . charCodeAt ( 0 ) & 255 } ) } function  w ( e ) { if ( typeof  ArrayBuffer === "undefined" ) return  k ( e ) ; var  r = new  ArrayBuffer ( e . length ) , t = new  Uint8Array ( r ) ; for ( var  a = 0 ; a != e . length ; ++ a ) t [ a ] = e . charCodeAt ( a ) & 255 ; return  r } function  B ( e ) { if ( Array . isArray ( e ) ) return  e . map ( vv ) . join ( "" ) ; var  r = [ ] ; for ( var  t = 0 ; t < e . length ; ++ t ) r [ t ] = vv ( e [ t ] ) ; return  r . join ( "" ) } function  C ( e ) { if ( typeof  Uint8Array === "undefined" ) throw  new  Error ( "Unsupported" ) ; return  new  Uint8Array ( e ) } function  T ( e ) { if ( typeof  ArrayBuffer == "undefined" ) throw  new  Error ( "Unsupported" ) ; if ( e  instanceof  ArrayBuffer ) return  T ( new  Uint8Array ( e ) ) ; var  r = new  Array ( e . length ) ; for ( var  t = 0 ; t < e . length ; ++ t ) r [ t ] = e [ t ] ; return  r } var  I = function ( e ) { return [ ] . concat . apply ( [ ] , e ) } ; var  x = /\u0000/g , A = /[\u0001-\u0006]/g ; var  R = { } ; var  _ = function  wm ( e ) { e . version = "0.10.2" ; function  r ( e ) { var  r = "" , t = e . length - 1 ; while ( t >= 0 ) r += e . charAt ( t -- ) ; return  r } function  t ( e , r ) { var  t = "" ; while ( t . length < r ) t += e ; return  t } function  a ( e , r ) { var  a = "" + e ; return  a . length >= r ? a : t ( "0" , r - a . length ) + a } function  n ( e , r ) { var  a = "" + e ; return  a . length >= r ? a : t ( " " , r - a . length ) + a } function  i ( e , r ) { var  a = "" + e ; return  a . length >= r ? a : a + t ( " " , r - a . length ) } function  s ( e , r ) { var  a = "" + Math . round ( e ) ; return  a . length >= r ? a : t ( "0" , r - a . length ) + a } function  l ( e , r ) { var  a = "" + e ; return  a . length >= r ? a : t ( "0" , r - a . length ) + a } var  f = Math . pow ( 2 , 32 ) ; function  c ( e , r ) { if ( e > f || e < - f ) return  s ( e , r ) ; var  t = Math . round ( e ) ; return  l ( t , r ) } function  o ( e , r ) { r = r || 0 ; return  e . length >= 7 + r && ( e . charCodeAt ( r ) | 32 ) === 103 && ( e . charCodeAt ( r + 1 ) | 32 ) === 101 && ( e . charCodeAt ( r + 2 ) | 32 ) === 110 && ( e . charCodeAt ( r + 3 ) | 32 ) === 101 && ( e . charCodeAt ( r + 4 ) | 32 ) === 114 && ( e .  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
										 
							
							
								n . push ( i ) } h ( yr ( s , a - 4 ) , r - 1 , t , a , n ) } } function  d ( e , r , t , a , n ) { var  i = [ ] , s = [ ] ; if ( ! n ) n = [ ] ; var  l = a - 1 , f = 0 , c = 0 ; for ( f = r ; f >= 0 ; ) { n [ f ] = true ; i [ i . length ] = f ; s . push ( e [ f ] ) ; var  o = t [ Math . floor ( f * 4 / a ) ] ; c = f * 4 & l ; if ( a < 4 + c ) throw  new  Error ( "FAT boundary crossed: " + f + " 4 " + a ) ; if ( ! e [ o ] ) break ; f = yr ( e [ o ] , c ) } return { nodes : i , data : lr ( [ s ] ) } } function  v ( e , r , t , a ) { var  n = e . length , i = [ ] ; var  s = [ ] , l = [ ] , f = [ ] ; var  c = a - 1 , o = 0 , u = 0 , h = 0 , d = 0 ; for ( o = 0 ; o < n ; ++ o ) { l = [ ] ; h = o + r ; if ( h >= n ) h -= n ; if ( s [ h ] ) continue ; f = [ ] ; for ( u = h ; u >= 0 ; ) { s [ u ] = true ; l [ l . length ] = u ; f . push ( e [ u ] ) ; var  v = t [ Math . floor ( u * 4 / a ) ] ; d = u * 4 & c ; if ( a < 4 + d ) throw  new  Error ( "FAT boundary crossed: " + u + " 4 " + a ) ; if ( ! e [ v ] ) break ; u = yr ( e [ v ] , d ) } i [ h ] = { nodes : l , data : lr ( [ f ] ) } } return  i } function  p ( e , r , t , a , n , i , s , l ) { var  f = 0 , c = a . length ? 2 : 0 ; var  o = r [ e ] . data ; var  h = 0 , v = 0 , p ; for ( ; h < o . length ; h += 128 ) { var  b = o . slice ( h , h + 128 ) ; Wr ( b , 64 ) ; v = b . _R ( 2 ) ; p = cr ( b , 0 , v - c ) ; a . push ( p ) ; var  g = { name : p , type : b . _R ( 1 ) , color : b . _R ( 1 ) , L : b . _R ( 4 , "i" ) , R : b . _R ( 4 , "i" ) , C : b . _R ( 4 , "i" ) , clsid : b . _R ( 16 ) , state : b . _R ( 4 , "i" ) , start : 0 , size : 0 } ; var  E = b . _R ( 2 ) + b . _R ( 2 ) + b . _R ( 2 ) + b . _R ( 2 ) ; if ( E !== 0 ) g . ct = m ( b , b . l - 8 ) ; var  S = b . _R ( 2 ) + b . _R ( 2 ) + b . _R ( 2 ) + b . _R ( 2 ) ; if ( S !== 0 ) g . mt = m ( b , b . l - 8 ) ; g . start = b . _R ( 4 , "i" ) ; g . size = b . _R ( 4 , "i" ) ; if ( g . size < 0 && g . start < 0 ) { g . size = g . type = 0 ; g . start = _ ; g . name = "" } if ( g . type === 5 ) { f = g . start ; if ( n > 0 && f !== _ ) r [ f ] . name = "!StreamData" } else  if ( g . size >= 4096 ) { g . storage = "fat" ; if ( r [ g . start ] === undefined ) r [ g . start ] = d ( t , g . start , r . fat _addrs , r . ssz ) ; r [ g . start ] . name = g . name ; g . content = r [ g . start ] . data . slice ( 0 , g . size ) } else { g . storage = "minifat" ; if ( g . size < 0 ) g . size = 0 ; else  if ( f !== _ && g . start !== _ && r [ f ] ) { g . content = u ( g , r [ f ] . data , ( r [ l ] || { } ) . data ) } } if ( g . content ) Wr ( g . content , 0 ) ; i [ p ] = g ; s . push ( g ) } } function  m ( e , r ) { return  new  Date ( ( Fr ( e , r + 4 ) / 1e7 * Math . pow ( 2 , 32 ) + Fr ( e , r ) / 1e7 - 11644473600 ) * 1e3 ) } function  b ( e , r ) { i ( ) ; return  s ( n . readFileSync ( e ) , r ) } function  E ( e , r ) { switch ( r && r . type || "base64" ) { case "file" : return  b ( e , r ) ; case "base64" : return  s ( k ( g . decode ( e ) ) , r ) ; case "binary" : return  s ( k ( e ) , r ) ; } return  s ( e , r ) } function  S ( e , r ) { var  t = r || { } , a = t . root || "Root Entry" ; if ( ! e . FullPaths ) e . FullPaths = [ ] ; if ( ! e . FileIndex ) e . FileIndex = [ ] ; if ( e . FullPaths . length !== e . FileIndex . length ) throw  new  Error ( "inconsistent CFB structure" ) ; if ( e . FullPaths . length === 0 ) { e . FullPaths [ 0 ] = a + "/" ; e . FileIndex [ 0 ] = { name : a , type : 5 } } if ( t . CLSID ) e . FileIndex [ 0 ] . clsid = t . CLSID ; w ( e ) } function  w ( e ) { var  r = " ; if ( M . find ( e , "/" + r ) ) return ; var  t = Vr ( 4 ) ; t [ 0 ] = 55 ; t [ 1 ] = t [ 3 ] = 50 ; t [ 2 ] = 54 ; e . FileIndex . push ( { name : r , type : 2 , content : t , size : 4 , L : 69 , R : 69 , C : 69 } ) ; e . FullPaths . push ( e . FullPaths [ 0 ] + r ) ; B ( e ) } function  B ( e , n ) { S ( e ) ; var  i = false , s = false ; for ( var  l = e . FullPaths . length - 1 ; l >= 0 ; -- l ) { var  f = e . FileIndex [ l ] ; switch ( f . type ) { case  0 : if ( s ) i = true ; else { e . FileIndex . pop ( ) ; e . FullPaths . pop ( ) } break ; case  1 : ; case  2 : ; case  5 : s = true ; if ( isNaN ( f . R * f . L * f . C ) ) i = true ; if ( f . R > - 1 && f . L > - 1 && f . R == f . L ) i = true ; break ; default : i = true ; break ; } } if ( ! i && ! n ) return ; var  c = new  Date ( 1987 , 1 , 19 ) , o = 0 ; var  u = [ ] ; for ( l = 0 ; l < e . FullPaths . length ; ++ l ) { if ( e . FileIndex [ l ] . type === 0 ) continue ; u . push ( [ e . FullPaths [ l ] , e . FileIndex [ l ] ] ) } for ( l = 0 ; l < u . length ; ++ l ) { var  h = t ( u [ l ] [ 0 ] ) ; s = false ; for ( o = 0 ; o < u . length ; ++ o ) if ( u [ o ] [ 0 ] === h ) s = true ; if ( ! s ) u . push ( [ h , { name : a ( h ) . replace ( "/" , "" ) , type : 1 , clsid : D , ct : c , mt : c , content : null } ] ) } u . sort ( function ( e , t ) { return  r ( e [ 0 ] , t [ 0 ] ) } ) ; e . FullPaths = [ ] ; e . FileIndex = [ ] ; for ( l = 0 ; l < u . length ; ++ l ) { e . FullPaths [ l ] = u [ l ] [ 0 ] ; e . FileIndex [ l ] = u [ l ] [ 1 ] } for ( l = 0 ; l < u . length ; ++ l ) { var  d = e . FileIndex [ l ] ; var  v = e . FullPaths [ l ] ; d . name = a ( v ) . replace ( "/" , "" ) ; d . L = d . R = d . C = - ( d . color = 1 ) ; d . size = d . content ? d . content . length : 0 ; d . start = 0 ; d . clsid = d . clsid || D ; if ( l === 0 ) { d . C = u . length > 1 ? 1 : - 1 ; d . size = 0 ; d . type = 5 } else  if ( v . slice ( - 1 ) == "/" ) { for ( o = l + 1 ; o < u . length ; ++ o ) if ( t ( e . FullPaths [ o ] ) == v ) break ; d . C = o >= u . length ? - 1 : o ; for ( o = l + 1 ; o < u . length ; ++ o ) if ( t ( e . FullPaths [ o ] ) == t ( v ) ) break ; d . R = o >= u . length ? - 1 : o ; d . type = 1 } else { if ( t ( e . FullPaths [ l + 1 ] || "" ) == t ( v ) ) d . R = l + 1 ; d . type = 2 } } } function  C ( e , r ) { var  t = r || { } ; B ( e ) ; var  a = function ( e ) { var  r = 0 , t = 0 ; for ( var  a = 0 ; a < e . FileIndex . length ; ++ a ) { var  n = e . FileIndex [ a ] ; if ( ! n . content ) continue ; var  i = n . content . length ; if ( i > 0 ) { if ( i < 4096 ) r += i + 63 >> 6 ; else  t += i + 511 >> 9 } } var  s = e . FullPaths . length + 3 >> 2 ; var  l = r + 7 >> 3 ; var  f = r + 127 >> 7 ; var  c = l + t + s + f ; var  o = c + 127 >> 7 ; var  u = o <= 109 ? 0 : Math . ceil ( ( o - 109 ) / 127 ) ; while ( c + o + u + 127 >> 7 > o ) u = ++ o <= 109 ? 0 : Math . ceil ( ( o - 109 ) / 127 ) ; var  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								for ( a = 0 ; a != r . length ; ++ a ) { n = n + 1 & 255 ; i = ( i + t [ n ] ) % 256 ; s = t [ n ] ; t [ n ] = t [ i ] ; t [ i ] = s ; l [ a ] = r [ a ] ^ t [ t [ n ] + t [ i ] & 255 ] } return  l } ; e . md5 = function ( e ) { if ( ! t ) throw  new  Error ( "Unsupported crypto" ) ; return  t . createHash ( "md5" ) . update ( e ) . digest ( "hex" ) } } ; Jr ( Qr , typeof  crypto !== "undefined" ? crypto : undefined ) ; function  Zr ( e ) { return  parseInt ( rt ( e ) , 10 ) - 1 } function  qr ( e ) { return "" + ( e + 1 ) } function  et ( e ) { return  e . replace ( /([A-Z]|^)(\d+)$/ , "$1$$$2" ) } function  rt ( e ) { return  e . replace ( /\$(\d+)$/ , "$1" ) } function  tt ( e ) { var  r = it ( e ) , t = 0 , a = 0 ; for ( ; a !== r . length ; ++ a ) t = 26 * t + r . charCodeAt ( a ) - 64 ; return  t - 1 } function  at ( e ) { var  r = "" ; for ( ++ e ; e ; e = Math . floor ( ( e - 1 ) / 26 ) ) r = String . fromCharCode ( ( e - 1 ) % 26 + 65 ) + r ; return  r } function  nt ( e ) { return  e . replace ( /^([A-Z])/ , "$$$1" ) } function  it ( e ) { return  e . replace ( /^\$([A-Z])/ , "$1" ) } function  st ( e ) { return  e . replace ( /(\$?[A-Z]*)(\$?\d*)/ , "$1,$2" ) . split ( "," ) } function  lt ( e ) { var  r = st ( e ) ; return { c : tt ( r [ 0 ] ) , r : Zr ( r [ 1 ] ) } } function  ft ( e ) { return  at ( e . c ) + qr ( e . r ) } function  ct ( e ) { var  r = e . split ( ":" ) . map ( lt ) ; return { s : r [ 0 ] , e : r [ r . length - 1 ] } } function  ot ( e , r ) { if ( typeof  r === "undefined" || typeof  r === "number" ) { return  ot ( e . s , e . e ) } if ( typeof  e !== "string" ) e = ft ( e ) ; if ( typeof  r !== "string" ) r = ft ( r ) ; return  e == r ? e : e + ":" + r } function  ut ( e ) { var  r = { s : { c : 0 , r : 0 } , e : { c : 0 , r : 0 } } ; var  t = 0 , a = 0 , n = 0 ; var  i = e . length ; for ( t = 0 ; a < i ; ++ a ) { if ( ( n = e . charCodeAt ( a ) - 64 ) < 1 || n > 26 ) break ; t = 26 * t + n } r . s . c = -- t ; for ( t = 0 ; a < i ; ++ a ) { if ( ( n = e . charCodeAt ( a ) - 48 ) < 0 || n > 9 ) break ; t = 10 * t + n } r . s . r = -- t ; if ( a === i || e . charCodeAt ( ++ a ) === 58 ) { r . e . c = r . s . c ; r . e . r = r . s . r ; return  r } for ( t = 0 ; a != i ; ++ a ) { if ( ( n = e . charCodeAt ( a ) - 64 ) < 1 || n > 26 ) break ; t = 26 * t + n } r . e . c = -- t ; for ( t = 0 ; a != i ; ++ a ) { if ( ( n = e . charCodeAt ( a ) - 48 ) < 0 || n > 9 ) break ; t = 10 * t + n } r . e . r = -- t ; return  r } function  ht ( e , r ) { var  t = e . t == "d" && r  instanceof  Date ; if ( e . z != null ) try { return  e . w = R . format ( e . z , t ? J ( r ) : r ) } catch ( a ) { } try { return  e . w = R . format ( ( e . XF || { } ) . numFmtId || ( t ? 14 : 0 ) , t ? J ( r ) : r ) } catch ( a ) { return "" + r } } function  dt ( e , r , t ) { if ( e == null || e . t == null || e . t == "z" ) return "" ; if ( e . w !== undefined ) return  e . w ; if ( e . t == "d" && ! e . z && t && t . dateNF ) e . z = t . dateNF ; if ( r == undefined ) return  ht ( e , e . v ) ; return  ht ( e , r ) } function  vt ( e , r ) { var  t = r && r . sheet ? r . sheet : "Sheet1" ; var  a = { } ; a [ t ] = e ; return { SheetNames : [ t ] , Sheets : a } } function  pt ( e , r , t ) { var  a = t || { } ; var  n = e ? Array . isArray ( e ) : a . dense ; if ( m != null && n == null ) n = m ; var  i = e || ( n ? [ ] : { } ) ; var  s = 0 , l = 0 ; if ( i && a . origin != null ) { if ( typeof  a . origin == "number" ) s = a . origin ; else { var  f = typeof  a . origin == "string" ? lt ( a . origin ) : a . origin ; s = f . r ; l = f . c } } var  c = { s : { c : 1e7 , r : 1e7 } , e : { c : 0 , r : 0 } } ; if ( i [ "!ref" ] ) { var  o = ut ( i [ "!ref" ] ) ; c . s . c = o . s . c ; c . s . r = o . s . r ; c . e . c = Math . max ( c . e . c , o . e . c ) ; c . e . r = Math . max ( c . e . r , o . e . r ) ; if ( s == - 1 ) c . e . r = s = o . e . r + 1 } for ( var  u = 0 ; u != r . length ; ++ u ) { for ( var  h = 0 ; h != r [ u ] . length ; ++ h ) { if ( typeof  r [ u ] [ h ] === "undefined" ) continue ; var  d = { v : r [ u ] [ h ] } ; if ( Array . isArray ( d . v ) ) { d . f = r [ u ] [ h ] [ 1 ] ; d . v = d . v [ 0 ] } var  v = s + u , p = l + h ; if ( c . s . r > v ) c . s . r = v ; if ( c . s . c > p ) c . s . c = p ; if ( c . e . r < v ) c . e . r = v ; if ( c . e . c < p ) c . e . c = p ; if ( d . v === null ) { if ( d . f ) d . t = "n" ; else  if ( ! a . cellStubs ) continue ; else  d . t = "z" } else  if ( typeof  d . v === "number" ) d . t = "n" ; else  if ( typeof  d . v === "boolean" ) d . t = "b" ; else  if ( d . v  instanceof  Date ) { d . z = a . dateNF || R . _table [ 14 ] ; if ( a . cellDates ) { d . t = "d" ; d . w = R . format ( d . z , J ( d . v ) ) } else { d . t = "n" ; d . v = J ( d . v ) ; d . w = R . format ( d . z , d . v ) } } else  d . t = "s" ; if ( n ) { if ( ! i [ v ] ) i [ v ] = [ ] ; i [ v ] [ p ] = d } else { var  b = ft ( { c : p , r : v } ) ; i [ b ] = d } } } if ( c . s . c < 1e7 ) i [ "!ref" ] = ot ( c ) ; return  i } function  mt ( e , r ) { return  pt ( null , e , r ) } function  bt ( e , r ) { if ( ! r ) r = Vr ( 4 ) ; r . _W ( 4 , e ) ; return  r } function  gt ( e ) { var  r = e . _R ( 4 ) ; return  r === 0 ? "" : e . _R ( r , "dbcs" ) } function  Et ( e , r ) { var  t = false ; if ( r == null ) { t = true ; r = Vr ( 4 + 2 * e . length ) } r . _W ( 4 , e . length ) ; if ( e . length > 0 ) r . _W ( 0 , e , "dbcs" ) ; return  t ? r . slice ( 0 , r . l ) : r } function  St ( e ) { return { ich : e . _R ( 2 ) , ifnt : e . _R ( 2 ) } } function  kt ( e , r ) { if ( ! r ) r = Vr ( 4 ) ; r . _W ( 2 , e . ich || 0 ) ; r . _W ( 2 , e . ifnt || 0 ) ; return  r } function  wt ( e , r ) { var  t = e . l ; var  a = e . _R ( 1 ) ; var  n = gt ( e ) ; var  i = [ ] ; var  s = { t : n , h : n } ; if ( ( a & 1 ) !== 0 ) { var  l = e . _R ( 4 ) ; for ( var  f = 0 ; f != l ; ++ f ) i . push ( St ( e ) ) ; s . r = i } else  s . r = [ { ich : 0 , ifnt : 0 } ] ; e . l = t + r ; return  s } function  Bt ( e , r ) { var  t = false ; if ( r == null ) { t = true ; r = Vr ( 15 + 4 * e . t . length ) } r . _W ( 1 , 0 ) ; Et ( e . t , r ) ; return  t ? r . slice ( 0 , r . l ) : r } var  Ct = wt ; function  Tt ( e , r ) { var  t = false ; if ( r == null ) { t = true ; r = Vr ( 23 + 4 * e . t . length ) } r . _W ( 1 , 1 ) ; Et ( e . t , r ) ; r . _W ( 4 , 1 ) ; kt ( { ich : 0 , ifnt : 0 } , r ) ; return  t ? r . slice ( 0 , r . l ) : r } functio  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								case  0 : d [ p . n ] = 1252 ; case  874 : ; case  932 : ; case  936 : ; case  949 : ; case  950 : ; case  1250 : ; case  1251 : ; case  1253 : ; case  1254 : ; case  1255 : ; case  1256 : ; case  1257 : ; case  1258 : ; case  1e4 : ; case  1200 : ; case  1201 : ; case  1252 : ; case  65e3 : ; case - 536 : ; case  65001 : ; case - 535 : c ( l = d [ p . n ] >>> 0 & 65535 ) ; break ; default : throw  new  Error ( "Unsupported CodePage: " + d [ p . n ] ) ; } } else { if ( i [ s ] [ 0 ] === 1 ) { l = d . CodePage = En ( e , Zt ) ; c ( l ) ; if ( f !== - 1 ) { var  m = e . l ; e . l = i [ f ] [ 1 ] ; o = mn ( e , l ) ; e . l = m } } else  if ( i [ s ] [ 0 ] === 0 ) { if ( l === 0 ) { f = s ; e . l = i [ s + 1 ] [ 1 ] ; continue } o = mn ( e , l ) } else { var  b = o [ i [ s ] [ 0 ] ] ; var  g ; switch ( e [ e . l ] ) { case  65 : e . l += 4 ; g = bn ( e ) ; break ; case  30 : e . l += 4 ; g = cn ( e , e [ e . l - 4 ] ) ; break ; case  31 : e . l += 4 ; g = cn ( e , e [ e . l - 4 ] ) ; break ; case  3 : e . l += 4 ; g = e . _R ( 4 , "i" ) ; break ; case  19 : e . l += 4 ; g = e . _R ( 4 ) ; break ; case  5 : e . l += 4 ; g = e . _R ( 8 , "f" ) ; break ; case  11 : e . l += 4 ; g = Tn ( e , 4 ) ; break ; case  64 : e . l += 4 ; g = te ( nn ( e ) ) ; break ; default : throw  new  Error ( "unparsed value: " + e [ e . l ] ) ; } d [ b ] = g } } } e . l = t + a ; return  d } function  kn ( e , r , t ) { var  a = e . content ; if ( ! a ) return { } ; Wr ( a , 0 ) ; var  n , i , s , l , f = 0 ; a . chk ( "feff" , "Byte Order: " ) ; a . _R ( 2 ) ; var  c = a . _R ( 4 ) ; var  o = a . _R ( 16 ) ; if ( o !== M . utils . consts . HEADER _CLSID && o !== t ) throw  new  Error ( "Bad PropertySet CLSID " + o ) ; n = a . _R ( 4 ) ; if ( n !== 1 && n !== 2 ) throw  new  Error ( "Unrecognized #Sets: " + n ) ; i = a . _R ( 16 ) ; l = a . _R ( 4 ) ; if ( n === 1 && l !== a . l ) throw  new  Error ( "Length mismatch: " + l + " !== " + a . l ) ; else  if ( n === 2 ) { s = a . _R ( 16 ) ; f = a . _R ( 4 ) } var  u = Sn ( a , r ) ; var  h = { SystemIdentifier : c } ; for ( var  d  in  u ) h [ d ] = u [ d ] ; h . FMTID = i ; if ( n === 1 ) return  h ; if ( f - a . l == 2 ) a . l += 2 ; if ( a . l !== f ) throw  new  Error ( "Length mismatch 2: " + a . l + " !== " + f ) ; var  v ; try { v = Sn ( a , null ) } catch ( p ) { } for ( d  in  v ) h [ d ] = v [ d ] ; h . FMTID = [ i , s ] ; return  h } function  wn ( e , r ) { e . _R ( r ) ; return  null } function  Bn ( e , r ) { if ( ! r ) r = Vr ( e ) ; for ( var  t = 0 ; t < e ; ++ t ) r . _W ( 1 , 0 ) ; return  r } function  Cn ( e , r , t ) { var  a = [ ] , n = e . l + r ; while ( e . l < n ) a . push ( t ( e , n - e . l ) ) ; if ( n !== e . l ) throw  new  Error ( "Slurp error" ) ; return  a } function  Tn ( e , r ) { return  e . _R ( r ) === 1 } function  In ( e , r ) { if ( ! r ) r = Vr ( 2 ) ; r . _W ( 2 , + ! ! e ) ; return  r } function  xn ( e ) { return  e . _R ( 2 , "u" ) } function  An ( e , r ) { if ( ! r ) r = Vr ( 2 ) ; r . _W ( 2 , e ) ; return  r } function  Rn ( e , r ) { return  Cn ( e , r , xn ) } function  _n ( e ) { var  r = e . _R ( 1 ) , t = e . _R ( 1 ) ; return  t === 1 ? r : r === 1 } function  Fn ( e , r , t ) { if ( ! t ) t = Vr ( 2 ) ; t . _W ( 1 , + e ) ; t . _W ( 1 , r == "e" ? 1 : 0 ) ; return  t } function  yn ( e , r , a ) { var  n = e . _R ( a && a . biff >= 12 ? 2 : 1 ) ; var  i = "sbcs-cont" ; var  s = t ; if ( a && a . biff >= 8 ) t = 1200 ; if ( ! a || a . biff == 8 ) { var  l = e . _R ( 1 ) ; if ( l ) { i = "dbcs-cont" } } else  if ( a . biff == 12 ) { i = "wstr" } if ( a . biff >= 2 && a . biff <= 5 ) i = "cpstr" ; var  f = n ? e . _R ( n , i ) : "" ; t = s ; return  f } function  Dn ( e ) { var  r = t ; t = 1200 ; var  a = e . _R ( 2 ) , n = e . _R ( 1 ) ; var  i = n & 4 , s = n & 8 ; var  l = 1 + ( n & 1 ) ; var  f = 0 , c ; var  o = { } ; if ( s ) f = e . _R ( 2 ) ; if ( i ) c = e . _R ( 4 ) ; var  u = l == 2 ? "dbcs-cont" : "sbcs-cont" ; var  h = a === 0 ? "" : e . _R ( a , u ) ; if ( s ) e . l += 4 * f ; if ( i ) e . l += c ; o . t = h ; if ( ! s ) { o . raw = "<t>" + o . t + "</t>" ; o . r = o . t } t = r ; return  o } function  On ( e , r , t ) { var  a ; if ( t ) { if ( t . biff >= 2 && t . biff <= 5 ) return  e . _R ( r , "cpstr" ) ; if ( t . biff >= 12 ) return  e . _R ( r , "dbcs-cont" ) } var  n = e . _R ( 1 ) ; if ( n === 0 ) { a = e . _R ( r , "sbcs-cont" ) } else { a = e . _R ( r , "dbcs-cont" ) } return  a } function  Pn ( e , r , t ) { var  a = e . _R ( t && t . biff == 2 ? 1 : 2 ) ; if ( a === 0 ) { e . l ++ ; return "" } return  On ( e , a , t ) } function  Nn ( e , r , t ) { if ( t . biff > 5 ) return  Pn ( e , r , t ) ; var  a = e . _R ( 1 ) ; if ( a === 0 ) { e . l ++ ; return "" } return  e . _R ( a , t . biff <= 4 || ! e . lens ? "cpstr" : "sbcs-cont" ) } function  Mn ( e , r , t ) { if ( ! t ) t = Vr ( 3 + 2 * e . length ) ; t . _W ( 2 , e . length ) ; t . _W ( 1 , 1 ) ; t . _W ( 31 , e , "utf16le" ) ; return  t } function  Ln ( e ) { var  r = e . _R ( 1 ) ; e . l ++ ; var  t = e . _R ( 2 ) ; e . l += 2 ; return [ r , t ] } function  Un ( e ) { var  r = e . _R ( 4 ) , t = e . l ; var  a = false ; if ( r > 24 ) { e . l += r - 24 ; if ( e . _R ( 16 ) === "795881f43b1d7f48af2c825dc4852763" ) a = true ; e . l = t } var  n = e . _R ( ( a ? r - 24 : r ) >> 1 , "utf16le" ) . replace ( x , "" ) ; if ( a ) e . l += 24 ; return  n } function  Wn ( e ) { e . l += 2 ; var  r = e . _R ( 0 , "lpstr-ansi" ) ; e . l += 2 ; if ( e . _R ( 2 ) != 57005 ) throw  new  Error ( "Bad FileMoniker" ) ; var  t = e . _R ( 4 ) ; if ( t === 0 ) return  r . replace ( /\\/g , "/" ) ; var  a = e . _R ( 4 ) ; if ( e . _R ( 2 ) != 3 ) throw  new  Error ( "Bad FileMoniker" ) ; var  n = e . _R ( a >> 1 , "utf16le" ) . replace ( x , "" ) ; return  n } function  Hn ( e , r ) { var  t = e . _R ( 16 ) ; r -= 16 ; switch ( t ) { case "e0c9ea79f9bace118c8200aa004ba90b" : return  Un ( e , r ) ; case "0303000000000000c000000000000046" : return  Wn ( e , r ) ; default : throw  new  Error ( "Unsupported Moniker " + t ) ; } } function  Vn ( e ) { var  r = e . _R ( 4 ) ; var  t = r > 0 ? e . _R ( r , "utf16le" ) . replace ( x , "" ) : "" ; return  t } function  Xn ( e , r ) { var  t = e . l + r ; var  a = e . _R ( 4 ) ; if ( a !== 2 ) throw  new  Error ( " Unrecognized  s  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								continue } switch ( i . t ) { case "n" : var  o = b ? i . w : i . v ; if ( ! o && i . v != null ) o = i . v ; if ( o == null ) { if ( b && i . f && ! i . F ) r ( a , 1 , 0 , "=" + i . f ) ; else  r ( a , 1 , 0 , "" ) } else  r ( a , 0 , o , "V" ) ; break ; case "b" : r ( a , 0 , i . v ? 1 : 0 , i . v ? "TRUE" : "FALSE" ) ; break ; case "s" : r ( a , 1 , 0 , ! b || isNaN ( i . v ) ? i . v : '="' + i . v + '"' ) ; break ; case "d" : if ( ! i . w ) i . w = R . format ( i . z || R . _table [ 14 ] , J ( te ( i . v ) ) ) ; if ( b ) r ( a , 0 , i . w , "V" ) ; else  r ( a , 1 , 0 , i . w ) ; break ; default : r ( a , 1 , 0 , "" ) ; } } } r ( a , - 1 , 0 , "EOD" ) ; var  u = "\r\n" ; var  h = a . join ( u ) ; return  h } } ( ) ; return { to _workbook : a , to _sheet : t , from _sheet : n } } ( ) ; var  Xs = function ( ) { function  e ( e ) { return  e . replace ( /\\b/g , "\\" ) . replace ( /\\c/g , ":" ) . replace ( /\\n/g , "\n" ) } function  r ( e ) { return  e . replace ( /\\/g , "\\b" ) . replace ( /:/g , "\\c" ) . replace ( /\n/g , "\\n" ) } function  t ( r ) { var  t = r . split ( "\n" ) , a = - 1 , n = - 1 , i = 0 , s = [ ] ; for ( ; i !== t . length ; ++ i ) { var  l = t [ i ] . trim ( ) . split ( ":" ) ; if ( l [ 0 ] !== "cell" ) continue ; var  f = lt ( l [ 1 ] ) ; if ( s . length <= f . r ) for ( a = s . length ; a <= f . r ; ++ a ) if ( ! s [ a ] ) s [ a ] = [ ] ; a = f . r ; n = f . c ; switch ( l [ 2 ] ) { case "t" : s [ a ] [ n ] = e ( l [ 3 ] ) ; break ; case "v" : s [ a ] [ n ] = + l [ 3 ] ; break ; case "vtf" : var  c = l [ l . length - 1 ] ; case "vtc" : switch ( l [ 3 ] ) { case "nl" : s [ a ] [ n ] = + l [ 4 ] ? true : false ; break ; default : s [ a ] [ n ] = + l [ 4 ] ; break ; } if ( l [ 2 ] == "vtf" ) s [ a ] [ n ] = [ s [ a ] [ n ] , c ] ; } } return  s } function  a ( e , r ) { return  mt ( t ( e , r ) , r ) } function  n ( e , r ) { return  vt ( a ( e , r ) , r ) } var  i = [ "socialcalc:version:1.5" , "MIME-Version: 1.0" , "Content-Type: multipart/mixed; boundary=SocialCalcSpreadsheetControlSave" ] . join ( "\n" ) ; var  s = [ "--SocialCalcSpreadsheetControlSave" , "Content-type: text/plain; charset=UTF-8" ] . join ( "\n" ) + "\n" ; var  l = [ "# SocialCalc Spreadsheet Control Save" , "part:sheet" ] . join ( "\n" ) ; var  f = "--SocialCalcSpreadsheetControlSave--" ; function  c ( e ) { if ( ! e || ! e [ "!ref" ] ) return "" ; var  t = [ ] , a = [ ] , n , i = "" ; var  s = ct ( e [ "!ref" ] ) ; var  l = Array . isArray ( e ) ; for ( var  f = s . s . r ; f <= s . e . r ; ++ f ) { for ( var  c = s . s . c ; c <= s . e . c ; ++ c ) { i = ft ( { r : f , c : c } ) ; n = l ? ( e [ f ] || [ ] ) [ c ] : e [ i ] ; if ( ! n || n . v == null || n . t === "z" ) continue ; a = [ "cell" , i , "t" ] ; switch ( n . t ) { case "s" : ; case "str" : a . push ( r ( n . v ) ) ; break ; case "n" : if ( ! n . f ) { a [ 2 ] = "v" ; a [ 3 ] = n . v } else { a [ 2 ] = "vtf" ; a [ 3 ] = "n" ; a [ 4 ] = n . v ; a [ 5 ] = r ( n . f ) } break ; case "b" : a [ 2 ] = "vt" + ( n . f ? "f" : "c" ) ; a [ 3 ] = "nl" ; a [ 4 ] = n . v ? "1" : "0" ; a [ 5 ] = r ( n . f || ( n . v ? "TRUE" : "FALSE" ) ) ; break ; case "d" : var  o = J ( te ( n . v ) ) ; a [ 2 ] = "vtc" ; a [ 3 ] = "nd" ; a [ 4 ] = "" + o ; a [ 5 ] = n . w || R . format ( n . z || R . _table [ 14 ] , o ) ; break ; case "e" : continue ; } t . push ( a . join ( ":" ) ) } } t . push ( "sheet:c:" + ( s . e . c - s . s . c + 1 ) + ":r:" + ( s . e . r - s . s . r + 1 ) + ":tvf:1" ) ; t . push ( "valueformat:1:text-wiki" ) ; return  t . join ( "\n" ) } function  o ( e ) { return [ i , s , l , s , c ( e ) , f ] . join ( "\n" ) } return { to _workbook : n , to _sheet : a , from _sheet : o } } ( ) ; var  Gs = function ( ) { function  e ( e , r , t , a , n ) { if ( n . raw ) r [ t ] [ a ] = e ; else  if ( e === "TRUE" ) r [ t ] [ a ] = true ; else  if ( e === "FALSE" ) r [ t ] [ a ] = false ; else  if ( e === "" ) { } else  if ( ! isNaN ( se ( e ) ) ) r [ t ] [ a ] = se ( e ) ; else  if ( ! isNaN ( le ( e ) . getDate ( ) ) ) r [ t ] [ a ] = te ( e ) ; else  r [ t ] [ a ] = e } function  r ( r , t ) { var  a = t || { } ; var  n = [ ] ; if ( ! r || r . length === 0 ) return  n ; var  i = r . split ( /[\r\n]/ ) ; var  s = i . length - 1 ; while ( s >= 0 && i [ s ] . length === 0 ) -- s ; var  l = 10 , f = 0 ; var  c = 0 ; for ( ; c <= s ; ++ c ) { f = i [ c ] . indexOf ( " " ) ; if ( f == - 1 ) f = i [ c ] . length ; else  f ++ ; l = Math . max ( l , f ) } for ( c = 0 ; c <= s ; ++ c ) { n [ c ] = [ ] ; var  o = 0 ; e ( i [ c ] . slice ( 0 , l ) . trim ( ) , n , c , o , a ) ; for ( o = 1 ; o <= ( i [ c ] . length - l ) / 10 + 1 ; ++ o ) e ( i [ c ] . slice ( l + ( o - 1 ) * 10 , l + o * 10 ) . trim ( ) , n , c , o , a ) } return  n } var  t = { 44 : "," , 9 : "\t" , 59 : ";" } ; var  a = { 44 : 3 , 9 : 2 , 59 : 1 } ; function  n ( e ) { var  r = { } , n = false , i = 0 , s = 0 ; for ( ; i < e . length ; ++ i ) { if ( ( s = e . charCodeAt ( i ) ) == 34 ) n = ! n ; else  if ( ! n && s  in  t ) r [ s ] = ( r [ s ] || 0 ) + 1 } s = [ ] ; for ( i  in  r ) if ( r . hasOwnProperty ( i ) ) { s . push ( [ r [ i ] , i ] ) } if ( ! s . length ) { r = a ; for ( i  in  r ) if ( r . hasOwnProperty ( i ) ) { s . push ( [ r [ i ] , i ] ) } } s . sort ( function ( e , r ) { return  e [ 0 ] - r [ 0 ] || a [ e [ 1 ] ] - a [ r [ 1 ] ] } ) ; return  t [ s . pop ( ) [ 1 ] ] } function  i ( e , r ) { var  t = r || { } ; var  a = "" ; if ( m != null && t . dense == null ) t . dense = m ; var  i = t . dense ? [ ] : { } ; var  s = { s : { c : 0 , r : 0 } , e : { c : 0 , r : 0 } } ; if ( e . slice ( 0 , 4 ) == "sep=" && e . charCodeAt ( 5 ) == 10 ) { a = e . charAt ( 4 ) ; e = e . slice ( 6 ) } else  a = n ( e . slice ( 0 , 1024 ) ) ; var  l = 0 , f = 0 , c = 0 ; var  o = 0 , u = 0 , h = a . charCodeAt ( 0 ) , d = false , v = 0 ; e = e . replace ( /\r\n/gm , "\n" ) ; var  p = t . dateNF != null ? O ( t . dateNF ) : null ; function  b ( ) { var  r = e . slice ( o , u ) ; var  a = { } ; if ( r . charAt ( 0 ) == '"' && r . charAt ( r . length - 1 ) == '"' ) r = r . slice ( 1 , - 1 ) . replace ( /""/g , '"' ) ; if ( r . length === 0 ) a . t = "z" ; else  if ( t . raw ) { a . t = "s" ; a . v = r } else  if ( r . trim ( ) . length === 0 ) { a . t = "s" ; a . v = r } else  if ( r . charCodeAt ( 0 ) == 61 ) { if ( r . charCodeAt ( 1 ) == 34 && r . charCodeAt ( r . length - 1 ) == 34  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								t [ t . length ] = '<cellStyleXfs count="1"><xf numFmtId="0" fontId="0" fillId="0" borderId="0"/></cellStyleXfs>' ; if ( a = ff ( r . cellXfs ) ) t [ t . length ] = a ; t [ t . length ] = '<cellStyles count="1"><cellStyle name="Normal" xfId="0" builtinId="0"/></cellStyles>' ; t [ t . length ] = '<dxfs count="0"/>' ; t [ t . length ] = '<tableStyles count="0" defaultTableStyle="TableStyleMedium9" defaultPivotStyle="PivotStyleMedium4"/>' ; if ( t . length > 2 ) { t [ t . length ] = "</styleSheet>" ; t [ 1 ] = t [ 1 ] . replace ( "/>" , ">" ) } return  t . join ( "" ) } function  hf ( e , r ) { var  t = e . _R ( 2 ) ; var  a = gt ( e , r - 2 ) ; return [ t , a ] } function  df ( e , r , t ) { if ( ! t ) t = Vr ( 6 + 4 * r . length ) ; t . _W ( 2 , e ) ; Et ( r , t ) ; var  a = t . length > t . l ? t . slice ( 0 , t . l ) : t ; if ( t . l == null ) t . l = t . length ; return  a } function  vf ( e , r , t ) { var  a = { } ; a . sz = e . _R ( 2 ) / 20 ; var  n = Kt ( e , 2 , t ) ; if ( n . fCondense ) a . condense = 1 ; if ( n . fExtend ) a . extend = 1 ; if ( n . fShadow ) a . shadow = 1 ; if ( n . fOutline ) a . outline = 1 ; if ( n . fStrikeout ) a . strike = 1 ; if ( n . fItalic ) a . italic = 1 ; var  i = e . _R ( 2 ) ; if ( i === 700 ) a . bold = 1 ; switch ( e . _R ( 2 ) ) { case  1 : a . vertAlign = "superscript" ; break ; case  2 : a . vertAlign = "subscript" ; break ; } var  s = e . _R ( 1 ) ; if ( s != 0 ) a . underline = s ; var  l = e . _R ( 1 ) ; if ( l > 0 ) a . family = l ; var  f = e . _R ( 1 ) ; if ( f > 0 ) a . charset = f ; e . l ++ ; a . color = zt ( e , 8 ) ; switch ( e . _R ( 1 ) ) { case  1 : a . scheme = "major" ; break ; case  2 : a . scheme = "minor" ; break ; } a . name = gt ( e , r - 21 ) ; return  a } function  pf ( e , r ) { if ( ! r ) r = Vr ( 25 + 4 * 32 ) ; r . _W ( 2 , e . sz * 20 ) ; $t ( e , r ) ; r . _W ( 2 , e . bold ? 700 : 400 ) ; var  t = 0 ; if ( e . vertAlign == "superscript" ) t = 1 ; else  if ( e . vertAlign == "subscript" ) t = 2 ; r . _W ( 2 , t ) ; r . _W ( 1 , e . underline || 0 ) ; r . _W ( 1 , e . family || 0 ) ; r . _W ( 1 , e . charset || 0 ) ; r . _W ( 1 , 0 ) ; jt ( e . color , r ) ; var  a = 0 ; if ( e . scheme == "major" ) a = 1 ; if ( e . scheme == "minor" ) a = 2 ; r . _W ( 1 , a ) ; Et ( e . name , r ) ; return  r . length > r . l ? r . slice ( 0 , r . l ) : r } var  mf = [ "none" , "solid" , "mediumGray" , "darkGray" , "lightGray" , "darkHorizontal" , "darkVertical" , "darkDown" , "darkUp" , "darkGrid" , "darkTrellis" , "lightHorizontal" , "lightVertical" , "lightDown" , "lightUp" , "lightGrid" , "lightTrellis" , "gray125" , "gray0625" ] ; var  bf = z ( mf ) ; var  gf = Hr ; function  Ef ( e , r ) { if ( ! r ) r = Vr ( 4 * 3 + 8 * 7 + 16 * 1 ) ; var  t = bf [ e . patternType ] ; if ( t == null ) t = 40 ; r . _W ( 4 , t ) ; var  a = 0 ; if ( t != 40 ) { jt ( { auto : 1 } , r ) ; jt ( { auto : 1 } , r ) ; for ( ; a < 12 ; ++ a ) r . _W ( 4 , 0 ) } else { for ( ; a < 4 ; ++ a ) r . _W ( 4 , 0 ) ; for ( ; a < 12 ; ++ a ) r . _W ( 4 , 0 ) } return  r . length > r . l ? r . slice ( 0 , r . l ) : r } function  Sf ( e , r ) { var  t = e . l + r ; var  a = e . _R ( 2 ) ; var  n = e . _R ( 2 ) ; e . l = t ; return { ixfe : a , numFmtId : n } } function  kf ( e , r , t ) { if ( ! t ) t = Vr ( 16 ) ; t . _W ( 2 , r || 0 ) ; t . _W ( 2 , e . numFmtId || 0 ) ; t . _W ( 2 , 0 ) ; t . _W ( 2 , 0 ) ; t . _W ( 2 , 0 ) ; t . _W ( 1 , 0 ) ; t . _W ( 1 , 0 ) ; t . _W ( 1 , 0 ) ; t . _W ( 1 , 0 ) ; t . _W ( 1 , 0 ) ; t . _W ( 1 , 0 ) ; return  t } function  wf ( e , r ) { if ( ! r ) r = Vr ( 10 ) ; r . _W ( 1 , 0 ) ; r . _W ( 1 , 0 ) ; r . _W ( 4 , 0 ) ; r . _W ( 4 , 0 ) ; return  r } var  Bf = Hr ; function  Cf ( e , r ) { if ( ! r ) r = Vr ( 51 ) ; r . _W ( 1 , 0 ) ; wf ( null , r ) ; wf ( null , r ) ; wf ( null , r ) ; wf ( null , r ) ; wf ( null , r ) ; return  r . length > r . l ? r . slice ( 0 , r . l ) : r } function  Tf ( e , r ) { if ( ! r ) r = Vr ( 12 + 4 * 10 ) ; r . _W ( 4 , e . xfId ) ; r . _W ( 2 , 1 ) ; r . _W ( 1 , + e . builtinId ) ; r . _W ( 1 , 0 ) ; Ft ( e . name || "" , r ) ; return  r . length > r . l ? r . slice ( 0 , r . l ) : r } function  If ( e , r , t ) { var  a = Vr ( 4 + 256 * 2 * 4 ) ; a . _W ( 4 , e ) ; Ft ( r , a ) ; Ft ( t , a ) ; return  a . length > a . l ? a . slice ( 0 , a . l ) : a } function  xf ( e , r , t ) { var  a = { } ; a . NumberFmt = [ ] ; for ( var  n  in  R . _table ) a . NumberFmt [ n ] = R . _table [ n ] ; a . CellXf = [ ] ; a . Fonts = [ ] ; var  i = [ ] ; var  s = false ; Xr ( e , function  l ( e , n , f ) { switch ( f ) { case  44 : a . NumberFmt [ e [ 0 ] ] = e [ 1 ] ; R . load ( e [ 1 ] , e [ 0 ] ) ; break ; case  43 : a . Fonts . push ( e ) ; if ( e . color . theme != null && r && r . themeElements && r . themeElements . clrScheme ) { e . color . rgb = Ml ( r . themeElements . clrScheme [ e . color . theme ] . rgb , e . color . tint || 0 ) } break ; case  1025 : break ; case  45 : break ; case  46 : break ; case  47 : if ( i [ i . length - 1 ] == "BrtBeginCellXFs" ) { a . CellXf . push ( e ) } break ; case  48 : ; case  507 : ; case  572 : ; case  475 : break ; case  1171 : ; case  2102 : ; case  1130 : ; case  512 : ; case  2095 : break ; case  35 : s = true ; break ; case  36 : s = false ; break ; case  37 : i . push ( n ) ; break ; case  38 : i . pop ( ) ; break ; default : if ( ( n || "" ) . indexOf ( "Begin" ) > 0 ) i . push ( n ) ; else  if ( ( n || "" ) . indexOf ( "End" ) > 0 ) i . pop ( ) ; else  if ( ! s || t . WTF ) throw  new  Error ( "Unexpected record " + f + " " + n ) ; } } ) ; return  a } function  Af ( e , r ) { if ( ! r ) return ; var  t = 0 ; [ [ 5 , 8 ] , [ 23 , 26 ] , [ 41 , 44 ] , [ 50 , 392 ] ] . forEach ( function ( e ) { for ( var  a = e [ 0 ] ; a <= e [ 1 ] ; ++ a ) if ( r [ a ] != null ) ++ t } ) ; if ( t == 0 ) return ; zr ( e , "BrtBeginFmts" , bt ( t ) ) ; [ [ 5 , 8 ] , [ 23 , 26 ] , [ 41 , 44 ] , [ 50 , 392 ] ] . forEach ( function ( t ) { for ( var  a = t [ 0 ] ; a <= t [ 1 ] ; ++ a ) if ( r [ a ] != null ) zr ( e , "BrtFmt" , df ( a , r [ a ] ) ) } ) ; zr ( e , "BrtEndFmts" ) } function  Rf ( e ) { var  r = 1 ; if ( r == 0 ) return ; zr (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								; } return [ a , 0 , i ] } function  Io ( e , r , t ) { if ( t . biff == 5 ) return  xo ( e , r , t ) ; var  a = e . _R ( 1 ) >>> 5 & 3 ; var  n = e . _R ( 2 ) ; var  i = e . _R ( 4 ) ; return [ a , n , i ] } function  xo ( e ) { var  r = e . _R ( 1 ) >>> 5 & 3 ; var  t = e . _R ( 2 , "i" ) ; e . l += 8 ; var  a = e . _R ( 2 ) ; e . l += 12 ; return [ r , t , a ] } function  Ao ( e , r , t ) { var  a = e . _R ( 1 ) >>> 5 & 3 ; e . l += t && t . biff == 2 ? 3 : 4 ; var  n = e . _R ( t && t . biff == 2 ? 1 : 2 ) ; return [ a , n ] } function  Ro ( e , r , t ) { var  a = e . _R ( 1 ) >>> 5 & 3 ; var  n = e . _R ( t && t . biff == 2 ? 1 : 2 ) ; return [ a , n ] } function  _o ( e , r , t ) { var  a = e . _R ( 1 ) >>> 5 & 3 ; e . l += 4 ; if ( t . biff < 8 ) e . l -- ; if ( t . biff == 12 ) e . l += 2 ; return [ a ] } function  Fo ( e , r , t ) { var  a = ( e [ e . l ++ ] & 96 ) >> 5 ; var  n = e . _R ( 2 ) ; var  i = 4 ; if ( t ) switch ( t . biff ) { case  5 : i = 15 ; break ; case  12 : i = 6 ; break ; } e . l += i ; return [ a , n ] } var  yo = Hr ; var  Do = Hr ; var  Oo = Hr ; function  Po ( e , r , t ) { e . l += 2 ; return [ Gc ( e , 4 , t ) ] } function  No ( e ) { e . l += 6 ; return [ ] } var  Mo = Po ; var  Lo = No ; var  Uo = No ; var  Wo = Po ; function  Ho ( e ) { e . l += 2 ; return [ xn ( e ) , e . _R ( 2 ) & 1 ] } var  Vo = Po ; var  Xo = Ho ; var  Go = No ; var  zo = Po ; var  jo = Po ; var  Ko = [ "Data" , "All" , "Headers" , "??" , "?Data2" , "??" , "?DataHeaders" , "??" , "Totals" , "??" , "??" , "??" , "?DataTotals" , "??" , "??" , "??" , "?Current" ] ; function  $o ( e ) { e . l += 2 ; var  r = e . _R ( 2 ) ; var  t = e . _R ( 2 ) ; var  a = e . _R ( 4 ) ; var  n = e . _R ( 2 ) ; var  i = e . _R ( 2 ) ; var  s = Ko [ t >> 2 & 31 ] ; return { ixti : r , coltype : t & 3 , rt : s , idx : a , c : n , C : i } } function  Yo ( e ) { e . l += 2 ; return [ e . _R ( 4 ) ] } function  Qo ( e , r , t ) { e . l += 5 ; e . l += 2 ; e . l += t . biff == 2 ? 1 : 4 ; return [ "PTGSHEET" ] } function  Jo ( e , r , t ) { e . l += t . biff == 2 ? 4 : 5 ; return [ "PTGENDSHEET" ] } function  Zo ( e ) { var  r = e . _R ( 1 ) >>> 5 & 3 ; var  t = e . _R ( 2 ) ; return [ r , t ] } function  qo ( e ) { var  r = e . _R ( 1 ) >>> 5 & 3 ; var  t = e . _R ( 2 ) ; return [ r , t ] } function  eu ( e ) { e . l += 4 ; return [ 0 , 0 ] } var  ru = { 1 : { n : "PtgExp" , f : mo } , 2 : { n : "PtgTbl" , f : Oo } , 3 : { n : "PtgAdd" , f : Mc } , 4 : { n : "PtgSub" , f : Mc } , 5 : { n : "PtgMul" , f : Mc } , 6 : { n : "PtgDiv" , f : Mc } , 7 : { n : "PtgPower" , f : Mc } , 8 : { n : "PtgConcat" , f : Mc } , 9 : { n : "PtgLt" , f : Mc } , 10 : { n : "PtgLe" , f : Mc } , 11 : { n : "PtgEq" , f : Mc } , 12 : { n : "PtgGe" , f : Mc } , 13 : { n : "PtgGt" , f : Mc } , 14 : { n : "PtgNe" , f : Mc } , 15 : { n : "PtgIsect" , f : Mc } , 16 : { n : "PtgUnion" , f : Mc } , 17 : { n : "PtgRange" , f : Mc } , 18 : { n : "PtgUplus" , f : Mc } , 19 : { n : "PtgUminus" , f : Mc } , 20 : { n : "PtgPercent" , f : Mc } , 21 : { n : "PtgParen" , f : Mc } , 22 : { n : "PtgMissArg" , f : Mc } , 23 : { n : "PtgStr" , f : ko } , 26 : { n : "PtgSheet" , f : Qo } , 27 : { n : "PtgEndSheet" , f : Jo } , 28 : { n : "PtgErr" , f : bo } , 29 : { n : "PtgBool" , f : Eo } , 30 : { n : "PtgInt" , f : go } , 31 : { n : "PtgNum" , f : So } , 32 : { n : "PtgArray" , f : Zc } , 33 : { n : "PtgFunc" , f : uo } , 34 : { n : "PtgFuncVar" , f : ho } , 35 : { n : "PtgName" , f : To } , 36 : { n : "PtgRef" , f : fo } , 37 : { n : "PtgArea" , f : Kc } , 38 : { n : "PtgMemArea" , f : Ao } , 39 : { n : "PtgMemErr" , f : yo } , 40 : { n : "PtgMemNoMem" , f : Do } , 41 : { n : "PtgMemFunc" , f : Ro } , 42 : { n : "PtgRefErr" , f : _o } , 43 : { n : "PtgAreaErr" , f : Yc } , 44 : { n : "PtgRefN" , f : co } , 45 : { n : "PtgAreaN" , f : Jc } , 46 : { n : "PtgMemAreaN" , f : Zo } , 47 : { n : "PtgMemNoMemN" , f : qo } , 57 : { n : "PtgNameX" , f : Io } , 58 : { n : "PtgRef3d" , f : oo } , 59 : { n : "PtgArea3d" , f : $c } , 60 : { n : "PtgRefErr3d" , f : Fo } , 61 : { n : "PtgAreaErr3d" , f : Qc } , 255 : { } } ; var  tu = { 64 : 32 , 96 : 32 , 65 : 33 , 97 : 33 , 66 : 34 , 98 : 34 , 67 : 35 , 99 : 35 , 68 : 36 , 100 : 36 , 69 : 37 , 101 : 37 , 70 : 38 , 102 : 38 , 71 : 39 , 103 : 39 , 72 : 40 , 104 : 40 , 73 : 41 , 105 : 41 , 74 : 42 , 106 : 42 , 75 : 43 , 107 : 43 , 76 : 44 , 108 : 44 , 77 : 45 , 109 : 45 , 78 : 46 , 110 : 46 , 79 : 47 , 111 : 47 , 88 : 34 , 120 : 34 , 89 : 57 , 121 : 57 , 90 : 58 , 122 : 58 , 91 : 59 , 123 : 59 , 92 : 60 , 124 : 60 , 93 : 61 , 125 : 61 } ; ( function ( ) { for ( var  e  in  tu ) ru [ e ] = ru [ tu [ e ] ] } ) ( ) ; var  au = { 1 : { n : "PtgElfLel" , f : Ho } , 2 : { n : "PtgElfRw" , f : zo } , 3 : { n : "PtgElfCol" , f : Mo } , 6 : { n : "PtgElfRwV" , f : jo } , 7 : { n : "PtgElfColV" , f : Wo } , 10 : { n : "PtgElfRadical" , f : Vo } , 11 : { n : "PtgElfRadicalS" , f : Go } , 13 : { n : "PtgElfColS" , f : Lo } , 15 : { n : "PtgElfColSV" , f : Uo } , 16 : { n : "PtgElfRadicalLel" , f : Xo } , 25 : { n : "PtgList" , f : $o } , 29 : { n : "PtgSxName" , f : Yo } , 255 : { } } ; var  nu = { 0 : { n : "PtgAttrNoop" , f : eu } , 1 : { n : "PtgAttrSemi" , f : no } , 2 : { n : "PtgAttrIf" , f : to } , 4 : { n : "PtgAttrChoose" , f : eo } , 8 : { n : "PtgAttrGoto" , f : ro } , 16 : { n : "PtgAttrSum" , f : po } , 32 : { n : "PtgAttrBaxcel" , f : qc } , 64 : { n : "PtgAttrSpace" , f : so } , 65 : { n : "PtgAttrSpaceSemi" , f : lo } , 128 : { n : "PtgAttrIfError" , f : ao } , 255 : { } } ; nu [ 33 ] = nu [ 32 ] ; function  iu ( e , r , t , a ) { if ( a . biff < 8 ) return  Hr ( e , r ) ; var  n = e . l + r ; var  i = [ ] ; for ( var  s = 0 ; s !== t . length ; ++ s ) { switch ( t [ s ] [ 0 ] ) { case "PtgArray" : t [ s ] [ 1 ] = Co ( e , 0 , a ) ; i . push ( t [ s ] [ 1 ] ) ; break ; case "PtgMemArea" : t [ s ] [ 2 ] = Bo ( e , t [ s ] [ 1 ] , a ) ; i . push ( t [ s ] [ 2 ] ) ; break ; case "PtgExp" : if ( a && a . biff == 12 ) { t [ s ] [ 1 ] [ 1 ] = e . _R ( 4 ) ; i . push ( t [ s ] [ 1 ] ) } break ; case "PtgList" : ; case "PtgElfRadicalS" : ; case "PtgElfColS" : ; case "PtgElfColSV" : throw "Unsupported " + t [ s ] [ 0 ] ; default : break ; } } r = n - e . l ; if ( r !== 0 ) i . push ( Hr ( e , r ) ) ; return  i } function  su ( e , r , t ) { var  a = e . l + r ; var  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								if ( e . right == null ) e . right = t [ 1 ] ; if ( e . top == null ) e . top = t [ 2 ] ; if ( e . bottom == null ) e . bottom = t [ 3 ] ; if ( e . header == null ) e . header = t [ 4 ] ; if ( e . footer == null ) e . footer = t [ 5 ] } function  Mu ( e , r , t ) { var  a = t . revssf [ r . z != null ? r . z : "General" ] ; var  n = 60 , i = e . length ; if ( a == null && t . ssf ) { for ( ; n < 392 ; ++ n ) if ( t . ssf [ n ] == null ) { R . load ( r . z , n ) ; t . ssf [ n ] = r . z ; t . revssf [ r . z ] = a = n ; break } } for ( n = 0 ; n != i ; ++ n ) if ( e [ n ] . numFmtId === a ) return  n ; e [ i ] = { numFmtId : a , fontId : 0 , fillId : 0 , borderId : 0 , xfId : 0 , applyNumberFormat : 1 } ; return  i } function  Lu ( e , r , t , a , n , i ) { if ( e . t === "z" ) return ; if ( e . t === "d" && typeof  e . v === "string" ) e . v = te ( e . v ) ; try { if ( a . cellNF ) e . z = R . _table [ r ] } catch ( s ) { if ( a . WTF ) throw  s } if ( ! a || a . cellText !== false ) try { if ( R . _table [ r ] == null ) R . load ( y [ r ] || "General" , r ) ; if ( e . t === "e" ) e . w = e . w || Xt [ e . v ] ; else  if ( r === 0 ) { if ( e . t === "n" ) { if ( ( e . v | 0 ) === e . v ) e . w = R . _general _int ( e . v ) ; else  e . w = R . _general _num ( e . v ) } else  if ( e . t === "d" ) { var  l = J ( e . v ) ; if ( ( l | 0 ) === l ) e . w = R . _general _int ( l ) ; else  e . w = R . _general _num ( l ) } else  if ( e . v === undefined ) return "" ; else  e . w = R . _general ( e . v , Du ) } else  if ( e . t === "d" ) e . w = R . format ( r , J ( e . v ) , Du ) ; else  e . w = R . format ( r , e . v , Du ) } catch ( s ) { if ( a . WTF ) throw  s } if ( ! a . cellStyles ) return ; if ( t != null ) try { e . s = i . Fills [ t ] ; if ( e . s . fgColor && e . s . fgColor . theme && ! e . s . fgColor . rgb ) { e . s . fgColor . rgb = Ml ( n . themeElements . clrScheme [ e . s . fgColor . theme ] . rgb , e . s . fgColor . tint || 0 ) ; if ( a . WTF ) e . s . fgColor . raw _rgb = n . themeElements . clrScheme [ e . s . fgColor . theme ] . rgb } if ( e . s . bgColor && e . s . bgColor . theme ) { e . s . bgColor . rgb = Ml ( n . themeElements . clrScheme [ e . s . bgColor . theme ] . rgb , e . s . bgColor . tint || 0 ) ; if ( a . WTF ) e . s . bgColor . raw _rgb = n . themeElements . clrScheme [ e . s . bgColor . theme ] . rgb } } catch ( s ) { if ( a . WTF && i . Fills ) throw  s } } function  Uu ( e , r ) { var  t = ut ( r ) ; if ( t . s . r <= t . e . r && t . s . c <= t . e . c && t . s . r >= 0 && t . s . c >= 0 ) e [ "!ref" ] = ot ( t ) } var  Wu = /<(?:\w:)?mergeCell ref="[A-Z0-9:]+"\s*[\/]?>/g ; var  Hu = /<(?:\w+:)?sheetData>([\s\S]*)<\/(?:\w+:)?sheetData>/ ; var  Vu = /<(?:\w:)?hyperlink [^>]*>/gm ; var  Xu = /"(\w*:\w*)"/ ; var  Gu = /<(?:\w:)?col[^>]*[\/]?>/g ; var  zu = /<(?:\w:)?autoFilter[^>]*([\/]|>([\s\S]*)<\/(?:\w:)?autoFilter)>/g ; var  ju = /<(?:\w:)?pageMargins[^>]*\/>/g ; var  Ku = /<(?:\w:)?sheetPr(?:[^>a-z][^>]*)?\/>/ ; var  $u = /<(?:\w:)?sheetViews[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetViews)>/ ; function  Yu ( e , r , t , a , n , i , s ) { if ( ! e ) return  e ; if ( m != null && r . dense == null ) r . dense = m ; var  l = r . dense ? [ ] : { } ; var  f = { s : { r : 2e6 , c : 2e6 } , e : { r : 0 , c : 0 } } ; var  c = "" , o = "" ; var  u = e . match ( Hu ) ; if ( u ) { c = e . slice ( 0 , u . index ) ; o = e . slice ( u . index + u [ 0 ] . length ) } else  c = o = e ; var  h = c . match ( Ku ) ; if ( h ) Ju ( h [ 0 ] , l , n , t ) ; var  d = ( c . match ( /<(?:\w*:)?dimension/ ) || { index : - 1 } ) . index ; if ( d > 0 ) { var  v = c . slice ( d , d + 50 ) . match ( Xu ) ; if ( v ) Uu ( l , v [ 1 ] ) } var  p = c . match ( $u ) ; if ( p && p [ 1 ] ) lh ( p [ 1 ] , n ) ; var  b = [ ] ; if ( r . cellStyles ) { var  g = c . match ( Gu ) ; if ( g ) th ( b , g ) } if ( u ) oh ( u [ 1 ] , l , r , f , i , s ) ; var  E = o . match ( zu ) ; if ( E ) l [ "!autofilter" ] = nh ( E [ 0 ] ) ; var  S = [ ] ; var  k = o . match ( Wu ) ; if ( k ) for ( d = 0 ; d != k . length ; ++ d ) S [ d ] = ut ( k [ d ] . slice ( k [ d ] . indexOf ( '"' ) + 1 ) ) ; var  w = o . match ( Vu ) ; if ( w ) qu ( l , w , a ) ; var  B = o . match ( ju ) ; if ( B ) l [ "!margins" ] = eh ( Te ( B [ 0 ] ) ) ; if ( ! l [ "!ref" ] && f . e . c >= f . s . c && f . e . r >= f . s . r ) l [ "!ref" ] = ot ( f ) ; if ( r . sheetRows > 0 && l [ "!ref" ] ) { var  C = ut ( l [ "!ref" ] ) ; if ( r . sheetRows < + C . e . r ) { C . e . r = r . sheetRows - 1 ; if ( C . e . r > f . e . r ) C . e . r = f . e . r ; if ( C . e . r < C . s . r ) C . s . r = C . e . r ; if ( C . e . c > f . e . c ) C . e . c = f . e . c ; if ( C . e . c < C . s . c ) C . s . c = C . e . c ; l [ "!fullref" ] = l [ "!ref" ] ; l [ "!ref" ] = ot ( C ) } } if ( b . length > 0 ) l [ "!cols" ] = b ; if ( S . length > 0 ) l [ "!merges" ] = S ; return  l } function  Qu ( e ) { if ( e . length === 0 ) return "" ; var  r = '<mergeCells count="' + e . length + '">' ; for ( var  t = 0 ; t != e . length ; ++ t ) r += '<mergeCell ref="' + ot ( e [ t ] ) + '"/>' ; return  r + "</mergeCells>" } function  Ju ( e , r , t , a ) { var  n = Te ( e ) ; if ( ! t . Sheets [ a ] ) t . Sheets [ a ] = { } ; if ( n . codeName ) t . Sheets [ a ] . CodeName = n . codeName } function  Zu ( e ) { var  r = { sheet : 1 } ; var  t = [ "objects" , "scenarios" , "selectLockedCells" , "selectUnlockedCells" ] ; var  a = [ "formatColumns" , "formatRows" , "formatCells" , "insertColumns" , "insertRows" , "insertHyperlinks" , "deleteColumns" , "deleteRows" , "sort" , "autoFilter" , "pivotTables" ] ; t . forEach ( function ( t ) { if ( e [ t ] != null && e [ t ] ) r [ t ] = "1" } ) ; a . forEach ( function ( t ) { if ( e [ t ] != null && ! e [ t ] ) r [ t ] = "0" } ) ; if ( e . password ) r . password = Tl ( e . password ) . toString ( 16 ) . toUpperCase ( ) ; return  er ( "sheetProtection" , null , r ) } function  qu ( e , r , t ) { var  a = Array . isArray ( e ) ; for ( var  n = 0 ; n != r . length ; ++ n ) { var  i = Te ( We ( r [ n ] ) , true ) ; if ( ! i . ref ) return ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								var  a = { codeName : "ThisWorkbook" } ; if ( e . Workbook && e . Workbook . WBProps ) { kd . forEach ( function ( r ) { if ( e . Workbook . WBProps [ r [ 0 ] ] == null ) return ; if ( e . Workbook . WBProps [ r [ 0 ] ] == r [ 1 ] ) return ; a [ r [ 0 ] ] = e . Workbook . WBProps [ r [ 0 ] ] } ) ; if ( e . Workbook . WBProps . CodeName ) { a . codeName = e . Workbook . WBProps . CodeName ; delete  a . CodeName } } r [ r . length ] = er ( "workbookPr" , null , a ) ; r [ r . length ] = "<sheets>" ; var  n = e . Workbook && e . Workbook . Sheets || [ ] ; for ( var  i = 0 ; i != e . SheetNames . length ; ++ i ) { var  s = { name : ye ( e . SheetNames [ i ] . slice ( 0 , 31 ) ) } ; s . sheetId = "" + ( i + 1 ) ; s [ "r:id" ] = "rId" + ( i + 1 ) ; if ( n [ i ] ) switch ( n [ i ] . Hidden ) { case  1 : s . state = "hidden" ; break ; case  2 : s . state = "veryHidden" ; break ; } r [ r . length ] = er ( "sheet" , null , s ) } r [ r . length ] = "</sheets>" ; if ( t ) { r [ r . length ] = "<definedNames>" ; if ( e . Workbook && e . Workbook . Names ) e . Workbook . Names . forEach ( function ( e ) { var  t = { name : e . Name } ; if ( e . Comment ) t . comment = e . Comment ; if ( e . Sheet != null ) t . localSheetId = "" + e . Sheet ; if ( ! e . Ref ) return ; r [ r . length ] = er ( "definedName" , String ( e . Ref ) , t ) } ) ; r [ r . length ] = "</definedNames>" } if ( r . length > 2 ) { r [ r . length ] = "</workbook>" ; r [ 1 ] = r [ 1 ] . replace ( "/>" , ">" ) } return  r . join ( "" ) } function  Md ( e , r ) { var  t = { } ; t . Hidden = e . _R ( 4 ) ; t . iTabID = e . _R ( 4 ) ; t . strRelID = Dt ( e , r - 8 ) ; t . name = gt ( e ) ; return  t } function  Ld ( e , r ) { if ( ! r ) r = Vr ( 127 ) ; r . _W ( 4 , e . Hidden ) ; r . _W ( 4 , e . iTabID ) ; Ot ( e . strRelID , r ) ; Et ( e . name . slice ( 0 , 31 ) , r ) ; return  r . length > r . l ? r . slice ( 0 , r . l ) : r } function  Ud ( e , r ) { var  t = { } ; var  a = e . _R ( 4 ) ; t . defaultThemeVersion = e . _R ( 4 ) ; var  n = r > 8 ? gt ( e ) : "" ; if ( n . length > 0 ) t . CodeName = n ; t . autoCompressPictures = ! ! ( a & 65536 ) ; t . backupFile = ! ! ( a & 64 ) ; t . checkCompatibility = ! ! ( a & 4096 ) ; t . date1904 = ! ! ( a & 1 ) ; t . filterPrivacy = ! ! ( a & 8 ) ; t . hidePivotFieldList = ! ! ( a & 1024 ) ; t . promptedSolutions = ! ! ( a & 16 ) ; t . publishItems = ! ! ( a & 2048 ) ; t . refreshAllConnections = ! ! ( a & 262144 ) ; t . saveExternalLinkValues = ! ! ( a & 128 ) ; t . showBorderUnselectedTables = ! ! ( a & 4 ) ; t . showInkAnnotation = ! ! ( a & 32 ) ; t . showObjects = [ "all" , "placeholders" , "none" ] [ a >> 13 & 3 ] ; t . showPivotChartFilter = ! ! ( a & 32768 ) ; t . updateLinks = [ "userSet" , "never" , "always" ] [ a >> 8 & 3 ] ; return  t } function  Wd ( e , r ) { if ( ! r ) r = Vr ( 72 ) ; var  t = 0 ; if ( e ) { if ( e . filterPrivacy ) t |= 8 } r . _W ( 4 , t ) ; r . _W ( 4 , 0 ) ; Rt ( e && e . CodeName || "ThisWorkbook" , r ) ; return  r . slice ( 0 , r . l ) } function  Hd ( e , r ) { var  t = { } ; e . _R ( 4 ) ; t . ArchID = e . _R ( 4 ) ; e . l += r - 8 ; return  t } function  Vd ( e , r , t ) { var  a = e . l + r ; e . l += 4 ; e . l += 1 ; var  n = e . _R ( 4 ) ; var  i = yt ( e ) ; var  s = wu ( e , 0 , t ) ; var  l = _t ( e ) ; e . l = a ; var  f = { Name : i , Ptg : s } ; if ( n < 268435455 ) f . Sheet = n ; if ( l ) f . Comment = l ; return  f } function  Xd ( e , r ) { var  t = { AppVersion : { } , WBProps : { } , WBView : [ ] , Sheets : [ ] , CalcPr : { } , xmlns : "" } ; var  a = false ; if ( ! r ) r = { } ; r . biff = 12 ; var  n = [ ] ; var  i = [ [ ] ] ; i . SheetNames = [ ] ; i . XTI = [ ] ; Xr ( e , function  s ( e , l , f ) { switch ( f ) { case  156 : i . SheetNames . push ( e . name ) ; t . Sheets . push ( e ) ; break ; case  153 : t . WBProps = e ; break ; case  39 : if ( e . Sheet != null ) r . SID = e . Sheet ; e . Ref = hu ( e . Ptg , null , null , i , r ) ; delete  r . SID ; delete  e . Ptg ; n . push ( e ) ; break ; case  1036 : break ; case  357 : ; case  358 : ; case  355 : ; case  667 : if ( ! i [ 0 ] . length ) i [ 0 ] = [ f , e ] ; else  i . push ( [ f , e ] ) ; i [ i . length - 1 ] . XTI = [ ] ; break ; case  362 : if ( i . length === 0 ) { i [ 0 ] = [ ] ; i [ 0 ] . XTI = [ ] } i [ i . length - 1 ] . XTI = i [ i . length - 1 ] . XTI . concat ( e ) ; i . XTI = i . XTI . concat ( e ) ; break ; case  361 : break ; case  2071 : ; case  534 : ; case  677 : ; case  158 : ; case  157 : ; case  610 : ; case  2050 : ; case  155 : ; case  548 : ; case  676 : ; case  128 : ; case  665 : ; case  2128 : ; case  2125 : ; case  549 : ; case  2053 : ; case  596 : ; case  2076 : ; case  2075 : ; case  2082 : ; case  397 : ; case  154 : ; case  1117 : ; case  553 : ; case  2091 : break ; case  35 : a = true ; break ; case  36 : a = false ; break ; case  37 : break ; case  38 : break ; case  16 : break ; default : if ( ( l || "" ) . indexOf ( "Begin" ) > 0 ) { } else  if ( ( l || "" ) . indexOf ( "End" ) > 0 ) { } else  if ( ! a || r . WTF ) throw  new  Error ( "Unexpected record " + f + " " + l ) ; } } , r ) ; xd ( t ) ; t . Names = n ; t . supbooks = i ; return  t } function  Gd ( e , r ) { zr ( e , "BrtBeginBundleShs" ) ; for ( var  t = 0 ; t != r . SheetNames . length ; ++ t ) { var  a = r . Workbook && r . Workbook . Sheets && r . Workbook . Sheets [ t ] && r . Workbook . Sheets [ t ] . Hidden || 0 ; var  n = { Hidden : a , iTabID : t + 1 , strRelID : "rId" + ( t + 1 ) , name : r . SheetNames [ t ] } ; zr ( e , "BrtBundleSh" , Ld ( n ) ) } zr ( e , "BrtEndBundleShs" ) } function  zd ( e , t ) { if ( ! t ) t = Vr ( 127 ) ; for ( var  a = 0 ; a != 4 ; ++ a ) t . _W ( 4 , 0 ) ; Et ( "SheetJS" , t ) ; Et ( r . version , t ) ; Et ( r . version , t ) ; Et ( "7262" , t ) ; t . length = t . l ; return  t . length > t . l ? t . slice ( 0 , t . l ) : t } function  jd ( e , r ) { if ( ! r ) r = Vr ( 29 ) ; r . _W ( - 4 , 0 ) ; r . _W ( - 4 , 460 ) ; r . _W ( 4 , 28800 ) ; r . _W ( 4 , 17600 ) ; r . _W ( 4 , 500 ) ; r . _W ( 4 , e ) ; r . _W ( 4 , e ) ; var  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								if ( r . f ) r . f = "" + hu ( S [ a ] [ 1 ] , s , e , H , y ) ; break } } if ( t . sheetRows && h . r >= t . sheetRows ) B = false ; else { if ( t . dense ) { if ( ! n [ e . r ] ) n [ e . r ] = [ ] ; n [ e . r ] [ e . c ] = r } else  n [ d ] = r } } ; var  y = { enc : false , sbcch : 0 , snames : [ ] , sharedf : E , arrayf : S , rrtabid : [ ] , lastuser : "" , biff : 8 , codepage : 0 , winlocked : 0 , cellStyles : ! ! r && ! ! r . cellStyles , WTF : ! ! r && ! ! r . wtf } ; if ( r . password ) y . password = r . password ; var  D ; var  O = [ ] ; var  P = [ ] ; var  N = [ ] , M = [ ] ; var  L = 0 , U = 0 ; var  W = false ; var  H = [ ] ; H . SheetNames = y . snames ; H . sharedf = y . sharedf ; H . arrayf = y . arrayf ; H . names = [ ] ; H . XTI = [ ] ; var  V = "" ; var  G = 0 ; var  z = 0 , j = [ ] ; var  K = [ ] ; var  $ ; y . codepage = 1200 ; c ( 1200 ) ; var  Y = false ; while ( e . l < e . length - 1 ) { var  Q = e . l ; var  J = e . _R ( 2 ) ; if ( J === 0 && V === "EOF" ) break ; var  Z = e . l === e . length ? 0 : e . _R ( 2 ) ; var  q = Qv [ J ] ; if ( q && q . f ) { if ( r . bookSheets ) { if ( V === "BoundSheet8" && q . n !== "BoundSheet8" ) break } V = q . n ; if ( q . r === 2 || q . r == 12 ) { var  ee = e . _R ( 2 ) ; Z -= 2 ; if ( ! y . enc && ee !== J && ( ( ee & 255 ) << 8 | ee >> 8 ) !== J ) throw  new  Error ( "rt mismatch: " + ee + "!=" + J ) ; if ( q . r == 12 ) { e . l += 10 ; Z -= 10 } } var  re ; if ( q . n === "EOF" ) re = q . f ( e , Z , y ) ; else  re = Hv ( q , e , Z , y ) ; var  te = q . n ; if ( G == 0 && te != "BOF" ) continue ; switch ( te ) { case "Date1904" : t . opts . Date1904 = I . WBProps . date1904 = re ; break ; case "WriteProtect" : t . opts . WriteProtect = true ; break ; case "FilePass" : if ( ! y . enc ) e . l = 0 ; y . enc = re ; if ( ! r . password ) throw  new  Error ( "File is password-protected" ) ; if ( re . valid == null ) throw  new  Error ( "Encryption scheme unsupported" ) ; if ( ! re . valid ) throw  new  Error ( "Password is incorrect" ) ; break ; case "WriteAccess" : y . lastuser = re ; break ; case "FileSharing" : break ; case "CodePage" : switch ( re ) { case  21010 : re = 1200 ; break ; case  32768 : re = 1e4 ; break ; case  32769 : re = 1252 ; break ; } c ( y . codepage = re ) ; Y = true ; break ; case "RRTabId" : y . rrtabid = re ; break ; case "WinProtect" : y . winlocked = re ; break ; case "Template" : break ; case "BookBool" : break ; case "UsesELFs" : break ; case "MTRSettings" : break ; case "RefreshAll" : ; case "CalcCount" : ; case "CalcDelta" : ; case "CalcIter" : ; case "CalcMode" : ; case "CalcPrecision" : ; case "CalcSaveRecalc" : t . opts [ te ] = re ; break ; case "CalcRefMode" : y . CalcRefMode = re ; break ; case "Uncalced" : break ; case "ForceFullCalculation" : t . opts . FullCalc = re ; break ; case "WsBool" : if ( re . fDialog ) n [ "!type" ] = "dialog" ; break ; case "XF" : C . push ( re ) ; break ; case "ExtSST" : break ; case "BookExt" : break ; case "RichTextStream" : break ; case "BkHim" : break ; case "SupBook" : H . push ( [ re ] ) ; H [ H . length - 1 ] . XTI = [ ] ; break ; case "ExternName" : H [ H . length - 1 ] . push ( re ) ; break ; case "Index" : break ; case "Lbl" : $ = { Name : re . Name , Ref : hu ( re . rgce , s , null , H , y ) } ; if ( re . itab > 0 ) $ . Sheet = re . itab - 1 ; H . names . push ( $ ) ; if ( ! H [ 0 ] ) { H [ 0 ] = [ ] ; H [ 0 ] . XTI = [ ] } H [ H . length - 1 ] . push ( re ) ; if ( re . Name == "_xlnm._FilterDatabase" && re . itab > 0 ) if ( re . rgce && re . rgce [ 0 ] && re . rgce [ 0 ] [ 0 ] && re . rgce [ 0 ] [ 0 ] [ 0 ] == "PtgArea3d" ) K [ re . itab - 1 ] = { ref : ot ( re . rgce [ 0 ] [ 0 ] [ 1 ] [ 2 ] ) } ; break ; case "ExternCount" : y . ExternCount = re ; break ; case "ExternSheet" : if ( H . length == 0 ) { H [ 0 ] = [ ] ; H [ 0 ] . XTI = [ ] } H [ H . length - 1 ] . XTI = H [ H . length - 1 ] . XTI . concat ( re ) ; H . XTI = H . XTI . concat ( re ) ; break ; case "NameCmt" : if ( y . biff < 8 ) break ; if ( $ != null ) $ . Comment = re [ 1 ] ; break ; case "Protect" : n [ "!protect" ] = re ; break ; case "Password" : if ( re !== 0 && y . WTF ) console . error ( "Password verifier: " + re ) ; break ; case "Prot4Rev" : ; case "Prot4RevPass" : break ; case "BoundSheet8" : { i [ re . pos ] = re ; y . snames . push ( re . name ) } break ; case "EOF" : { if ( -- G ) break ; if ( s . e ) { if ( s . e . r > 0 && s . e . c > 0 ) { s . e . r -- ; s . e . c -- ; n [ "!ref" ] = ot ( s ) ; s . e . r ++ ; s . e . c ++ } if ( O . length > 0 ) n [ "!merges" ] = O ; if ( P . length > 0 ) n [ "!objects" ] = P ; if ( N . length > 0 ) n [ "!cols" ] = N ; if ( M . length > 0 ) n [ "!rows" ] = M ; I . Sheets . push ( x ) } if ( o === "" ) u = n ; else  a [ o ] = n ; n = r . dense ? [ ] : { } } break ; case "BOF" : { if ( y . biff === 8 ) y . biff = { 9 : 2 , 521 : 3 , 1033 : 4 } [ J ] || { 512 : 2 , 768 : 3 , 1024 : 4 , 1280 : 5 , 1536 : 8 , 2 : 2 , 7 : 2 } [ re . BIFFVer ] || 8 ; if ( G ++ ) break ; B = true ; n = r . dense ? [ ] : { } ; if ( y . biff < 8 && ! Y ) { Y = true ; c ( y . codepage = r . codepage || 1252 ) } if ( y . biff < 5 ) { if ( o === "" ) o = "Sheet1" ; s = { s : { r : 0 , c : 0 } , e : { r : 0 , c : 0 } } ; var  ae = { pos : e . l - Z , name : o } ; i [ ae . pos ] = ae ; y . snames . push ( o ) } else  o = ( i [ Q ] || { name : "" } ) . name ; if ( re . dt == 32 ) n [ "!type" ] = "chart" ; if ( re . dt == 64 ) n [ "!type" ] = "macro" ; O = [ ] ; P = [ ] ; y . arrayf = S = [ ] ; N = [ ] ; M = [ ] ; L = U = 0 ; W = false ; x = { Hidden : ( i [ Q ] || { hs : 0 } ) . hs , name : o } } break ; case "Number" : ; case "BIFF2NUM" : ; case "BIFF2INT" : { if ( n [ "!type" ] == "chart" ) if ( r . dense ? ( n [ re . r ] || [ ] ) [ re . c ] : n [ ft ( { c : re . c , r : re . r } ) ] ) ++ re . c ; k = { ixfe : re . ixfe , XF : C [ re . ixfe ] || { } , v : re . val , t : "n" } ; if ( z > 0 ) k . z = j [ k . ixfe >> 8 & 31 ] ; Vv ( k , r , t . opts . Date1904 ) ; F ( { c : re . c , r : re . r } , k , r ) } break ; case "BoolErr" : { k = { ix  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								n : "BrtBeginSlicersEx" } , 1080 : { n : "BrtEndSlicersEx" } , 1081 : { n : "BrtBeginSlicerEx" } , 1082 : { n : "BrtEndSlicerEx" } , 1083 : { n : "BrtBeginSlicer" } , 1084 : { n : "BrtEndSlicer" } , 1085 : { n : "BrtSlicerCachePivotTables" } , 1086 : { n : "BrtBeginSlicerCacheOlapImpl" } , 1087 : { n : "BrtEndSlicerCacheOlapImpl" } , 1088 : { n : "BrtBeginSlicerCacheLevelsData" } , 1089 : { n : "BrtEndSlicerCacheLevelsData" } , 1090 : { n : "BrtBeginSlicerCacheLevelData" } , 1091 : { n : "BrtEndSlicerCacheLevelData" } , 1092 : { n : "BrtBeginSlicerCacheSiRanges" } , 1093 : { n : "BrtEndSlicerCacheSiRanges" } , 1094 : { n : "BrtBeginSlicerCacheSiRange" } , 1095 : { n : "BrtEndSlicerCacheSiRange" } , 1096 : { n : "BrtSlicerCacheOlapItem" } , 1097 : { n : "BrtBeginSlicerCacheSelections" } , 1098 : { n : "BrtSlicerCacheSelection" } , 1099 : { n : "BrtEndSlicerCacheSelections" } , 1100 : { n : "BrtBeginSlicerCacheNative" } , 1101 : { n : "BrtEndSlicerCacheNative" } , 1102 : { n : "BrtSlicerCacheNativeItem" } , 1103 : { n : "BrtRangeProtection14" } , 1104 : { n : "BrtRangeProtectionIso14" } , 1105 : { n : "BrtCellIgnoreEC14" } , 1111 : { n : "BrtList14" } , 1112 : { n : "BrtCFIcon" } , 1113 : { n : "BrtBeginSlicerCachesPivotCacheIDs" } , 1114 : { n : "BrtEndSlicerCachesPivotCacheIDs" } , 1115 : { n : "BrtBeginSlicers" } , 1116 : { n : "BrtEndSlicers" } , 1117 : { n : "BrtWbProp14" } , 1118 : { n : "BrtBeginSXEdit" } , 1119 : { n : "BrtEndSXEdit" } , 1120 : { n : "BrtBeginSXEdits" } , 1121 : { n : "BrtEndSXEdits" } , 1122 : { n : "BrtBeginSXChange" } , 1123 : { n : "BrtEndSXChange" } , 1124 : { n : "BrtBeginSXChanges" } , 1125 : { n : "BrtEndSXChanges" } , 1126 : { n : "BrtSXTupleItems" } , 1128 : { n : "BrtBeginSlicerStyle" } , 1129 : { n : "BrtEndSlicerStyle" } , 1130 : { n : "BrtSlicerStyleElement" } , 1131 : { n : "BrtBeginStyleSheetExt14" } , 1132 : { n : "BrtEndStyleSheetExt14" } , 1133 : { n : "BrtBeginSlicerCachesPivotCacheID" } , 1134 : { n : "BrtEndSlicerCachesPivotCacheID" } , 1135 : { n : "BrtBeginConditionalFormattings" } , 1136 : { n : "BrtEndConditionalFormattings" } , 1137 : { n : "BrtBeginPCDCalcMemExt" } , 1138 : { n : "BrtEndPCDCalcMemExt" } , 1139 : { n : "BrtBeginPCDCalcMemsExt" } , 1140 : { n : "BrtEndPCDCalcMemsExt" } , 1141 : { n : "BrtPCDField14" } , 1142 : { n : "BrtBeginSlicerStyles" } , 1143 : { n : "BrtEndSlicerStyles" } , 1144 : { n : "BrtBeginSlicerStyleElements" } , 1145 : { n : "BrtEndSlicerStyleElements" } , 1146 : { n : "BrtCFRuleExt" } , 1147 : { n : "BrtBeginSXCondFmt14" } , 1148 : { n : "BrtEndSXCondFmt14" } , 1149 : { n : "BrtBeginSXCondFmts14" } , 1150 : { n : "BrtEndSXCondFmts14" } , 1152 : { n : "BrtBeginSortCond14" } , 1153 : { n : "BrtEndSortCond14" } , 1154 : { n : "BrtEndDVals14" } , 1155 : { n : "BrtEndIconSet14" } , 1156 : { n : "BrtEndDatabar14" } , 1157 : { n : "BrtBeginColorScale14" } , 1158 : { n : "BrtEndColorScale14" } , 1159 : { n : "BrtBeginSxrules14" } , 1160 : { n : "BrtEndSxrules14" } , 1161 : { n : "BrtBeginPRule14" } , 1162 : { n : "BrtEndPRule14" } , 1163 : { n : "BrtBeginPRFilters14" } , 1164 : { n : "BrtEndPRFilters14" } , 1165 : { n : "BrtBeginPRFilter14" } , 1166 : { n : "BrtEndPRFilter14" } , 1167 : { n : "BrtBeginPRFItem14" } , 1168 : { n : "BrtEndPRFItem14" } , 1169 : { n : "BrtBeginCellIgnoreECs14" } , 1170 : { n : "BrtEndCellIgnoreECs14" } , 1171 : { n : "BrtDxf14" } , 1172 : { n : "BrtBeginDxF14s" } , 1173 : { n : "BrtEndDxf14s" } , 1177 : { n : "BrtFilter14" } , 1178 : { n : "BrtBeginCustomFilters14" } , 1180 : { n : "BrtCustomFilter14" } , 1181 : { n : "BrtIconFilter14" } , 1182 : { n : "BrtPivotCacheConnectionName" } , 2048 : { n : "BrtBeginDecoupledPivotCacheIDs" } , 2049 : { n : "BrtEndDecoupledPivotCacheIDs" } , 2050 : { n : "BrtDecoupledPivotCacheID" } , 2051 : { n : "BrtBeginPivotTableRefs" } , 2052 : { n : "BrtEndPivotTableRefs" } , 2053 : { n : "BrtPivotTableRef" } , 2054 : { n : "BrtSlicerCacheBookPivotTables" } , 2055 : { n : "BrtBeginSxvcells" } , 2056 : { n : "BrtEndSxvcells" } , 2057 : { n : "BrtBeginSxRow" } , 2058 : { n : "BrtEndSxRow" } , 2060 : { n : "BrtPcdCalcMem15" } , 2067 : { n : "BrtQsi15" } , 2068 : { n : "BrtBeginWebExtensions" } , 2069 : { n : "BrtEndWebExtensions" } , 2070 : { n : "BrtWebExtension" } , 2071 : { n : "BrtAbsPath15" } , 2072 : { n : "BrtBeginPivotTableUISettings" } , 2073 : { n : "BrtEndPivotTableUISettings" } , 2075 : { n : "BrtTableSlicerCacheIDs" } , 2076 : { n : "BrtTableSlicerCacheID" } , 2077 : { n : "BrtBeginTableSlicerCache" } , 2078 : { n : "BrtEndTableSlicerCache" } , 2079 : { n : "BrtSxFilter15" } , 2080 : { n : "BrtBeginTimelineCachePivotCacheIDs" } , 2081 : { n : "BrtEndTimelineCachePivotCacheIDs" } , 2082 : { n : "BrtTimelineCachePivotCacheID" } , 2083 : { n : "BrtBeginTimelineCacheIDs" } , 2084 : { n : "BrtEndTimelineCacheIDs" } , 2085 : { n : "BrtBeginTimelineCacheID" } , 2086 : { n : "BrtEndTimelineCacheID" } , 2087 : { n : "BrtBeginTimelinesEx" } , 2088 : { n : "BrtEndTimelinesEx" } , 2089 : { n : "BrtBeginTimelineEx" } , 2090 : { n : "BrtEndTimelineEx" } , 2091 : { n : "BrtWorkBookPr15" } , 2092 : { n : " BrtP  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								break ; case "event-listener" : break ; case "initial-creator" : ; case "creation-date" : ; case "print-date" : ; case "generator" : ; case "document-statistic" : ; case "user-defined" : ; case "editing-duration" : ; case "editing-cycles" : break ; case "config-item" : break ; case "page-number" : break ; case "page-count" : break ; case "time" : break ; case "cell-range-source" : break ; case "detective" : break ; case "operation" : break ; case "highlighted-range" : break ; case "data-pilot-table" : ; case "source-cell-range" : ; case "source-service" : ; case "data-pilot-field" : ; case "data-pilot-level" : ; case "data-pilot-subtotals" : ; case "data-pilot-subtotal" : ; case "data-pilot-members" : ; case "data-pilot-member" : ; case "data-pilot-display-info" : ; case "data-pilot-sort-info" : ; case "data-pilot-layout-info" : ; case "data-pilot-field-reference" : ; case "data-pilot-groups" : ; case "data-pilot-group" : ; case "data-pilot-group-member" : break ; case "rect" : break ; case "dde-connection-decls" : ; case "dde-connection-decl" : ; case "dde-link" : ; case "dde-source" : break ; case "properties" : break ; case "property" : break ; case "a" : if ( E [ 1 ] !== "/" ) { U = Te ( E [ 0 ] , false ) ; if ( ! U . href ) break ; U . Target = U . href ; delete  U . href ; if ( U . Target . charAt ( 0 ) == "#" && U . Target . indexOf ( "." ) > - 1 ) { W = _u ( U . Target . slice ( 1 ) ) ; U . Target = "#" + W [ 0 ] + "!" + W [ 1 ] } } break ; case "table-protection" : break ; case "data-pilot-grand-total" : break ; case "office-document-common-attrs" : break ; default : switch ( E [ 2 ] ) { case "dc:" : ; case "calcext:" : ; case "loext:" : ; case "ooo:" : ; case "chartooo:" : ; case "draw:" : ; case "style:" : ; case "chart:" : ; case "form:" : ; case "uof:" : ; case "表:" : ; case "字:" : break ; default : if ( i . WTF ) throw  new  Error ( E ) ; } ; } var  ee = { Sheets : p , SheetNames : b , Workbook : L } ; if ( i . bookSheets ) delete  ee . Sheets ; return  ee } } ( ) ; function  Ep ( e , r ) { r = r || { } ; var  t = ! ! de ( e , "objectdata" ) ; if ( t ) Da ( pe ( e , "META-INF/manifest.xml" ) , r ) ; var  a = me ( e , "content.xml" ) ; if ( ! a ) throw  new  Error ( "Missing content.xml in " + ( t ? "ODS" : "UOF" ) + " file" ) ; var  n = gp ( t ? a : We ( a ) , r ) ; if ( de ( e , "meta.xml" ) ) n . Props = Ha ( pe ( e , "meta.xml" ) ) ; return  n } function  Sp ( e , r ) { return  gp ( e , r ) } var  kp = function ( ) { var  e = "<office:document-styles " + qe ( { "xmlns:office" : "urn:oasis:names:tc:opendocument:xmlns:office:1.0" , "xmlns:table" : "urn:oasis:names:tc:opendocument:xmlns:table:1.0" , "xmlns:style" : "urn:oasis:names:tc:opendocument:xmlns:style:1.0" , "xmlns:text" : "urn:oasis:names:tc:opendocument:xmlns:text:1.0" , "xmlns:draw" : "urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" , "xmlns:fo" : "urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" , "xmlns:xlink" : "http://www.w3.org/1999/xlink" , "xmlns:dc" : "http://purl.org/dc/elements/1.1/" , "xmlns:number" : "urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" , "xmlns:svg" : "urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" , "xmlns:of" : "urn:oasis:names:tc:opendocument:xmlns:of:1.2" , "office:version" : "1.2" } ) + "></office:document-styles>" ; return  function  r ( ) { return  Se + e } } ( ) ; var  wp = function ( ) { var  e = function ( e ) { return  ye ( e ) . replace ( /  +/g , function ( e ) { return '<text:s text:c="' + e . length + '"/>' } ) . replace ( /\t/g , "<text:tab/>" ) . replace ( /\n/g , "<text:line-break/>" ) . replace ( /^ / , "<text:s/>" ) . replace ( / $/ , "<text:s/>" ) } ; var  r = "          <table:table-cell />\n" ; var  t = "          <table:covered-table-cell/>\n" ; var  a = function ( a , n , i ) { var  s = [ ] ; s . push ( '      <table:table table:name="' + ye ( n . SheetNames [ i ] ) + '">\n' ) ; var  l = 0 , f = 0 , c = ct ( a [ "!ref" ] ) ; var  o = a [ "!merges" ] || [ ] , u = 0 ; var  h = Array . isArray ( a ) ; for ( l = 0 ; l < c . s . r ; ++ l ) s . push ( "        <table:table-row></table:table-row>\n" ) ; for ( ; l <= c . e . r ; ++ l ) { s . push ( "        <table:table-row>\n" ) ; for ( f = 0 ; f < c . s . c ; ++ f ) s . push ( r ) ; for ( ; f <= c . e . c ; ++ f ) { var  d = false , v = { } , p = "" ; for ( u = 0 ; u != o . length ; ++ u ) { if ( o [ u ] . s . c > f ) continue ; if ( o [ u ] . s . r > l ) continue ; if ( o [ u ] . e . c < f ) continue ; if ( o [ u ] . e . r < l ) continue ; if ( o [ u ] . s . c != f || o [ u ] . s . r != l ) d = true ; v [ "table:number-columns-spanned" ] = o [ u ] . e . c - o [ u ] . s . c + 1 ; v [ "table:number-rows-spanned" ] = o [ u ] . e . r - o [ u ] . s . r + 1 ; break } if ( d ) { s . push ( t ) ; continue } var  m = ft ( { r : l , c : f } ) , b = h ? ( a [ l ] || [ ] ) [ f ] : a [ m ] ; if ( b && b . f ) { v [ "table:formula" ] = ye ( Ru ( b . f ) ) ; if ( b . F ) { if ( b . F . slice ( 0 , m . length ) == m ) { var  g = ct ( b . F ) ; v [ "table:number-matrix-columns-spanned" ] = g . e . c - g . s . c + 1 ; v [ "table:number-matrix-rows-spanned" ] = g . e . r - g . s . r + 1 } } } if ( ! b ) { s . push ( r ) ; continue } switch ( b . t ) { case "b" : p = b . v ? "TRUE" : "FALSE" ; v [ "office:value-type" ] = "boolean" ; v [ " office : boolea