Ȯ$ipdZddlmZddlZddlZddlmZddlm Z m Z m Z m Z m Z mZddlgdZdZd Zd Zd Zd Zd ZdZdddddddZeez eez eezezeezezeezezeezezeeezezeezezeezezeezeezd j2ZdZd ZdZd ZdZdZ dZ!dZ"dddddd d!d"d#Z#d$Z$gd%Z%gd&Z&gd'Z'gd(Z(gd)Z)e%e%e&e'e'e(e(e)d*Z*gd+Z+idd,dd-d d.dd/d d0dd1d2d3d4d5d d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDd dEidFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcd dddedfidgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~ddddddddddiddddddddddddddddddddddddddddddddddiddddddddddddddddddddddddddÓddœddǓddɓdd˓idd͓ddϓddѓddӓddՓddדddٓddۓddݓddߓddddddddddddddidddddddddddddddddddddddddddd d d d d ddiddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1id2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSidTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtduidvdwdxdydzd{d|d}d~dddddddddddddddddddddddddiddddddddddddddddddddddddddddddddddiddddddddddÓdĐdœdƐdǓdȐdɓdʐd˓d̐d͓dΐdϓdАdѓdҐdӓdԐdՓd֐dדdؐdٓdڐdۓidܐdݓdސdߓddddddddddddddddddddddddddddddidddddddddddd d d d d ddddddddddddddddddd d!d"d#d$d%Z,d&d'd(d)d*d+d,d-d.d/ Z-e.gd0Z/e0e1e0e1e0e1fZ2e1e0e1e0e1e0fZ3d1Z4djd2Z5 djd3Z6djd4Z7djd5Z8dkd6Z9 dkd7Z:Gd8d9e;Z<Gd:d;e=Z>Gd<d=e?Z@dZAd ZBdZCd2ZDd4ZEd ZFeGd7dC\ZHZIZJZKZLZMd>ZNd?ZOd@ZPdAZQdBZRdCZSdDZTdEZUdFZVeeNe!eWiZXeeNe!eNiZYeeVe!eNiZZeAeXeejd`dGfeBeXeejd`dHfeCeXeejdsdIfeDeXeejdsdJfeEeXeeOddKfeFeZe!ejdLdLfeHeYeePd9dMfeIeYeeQd9dNfeJeYeeRd9dOfeKeYeeSd9dPfeLeYeeTd9dQfeMeYeeUd9dRfi Z_dSddHdTfdUddGdTfdVddTdWfdXZ`dYZadYZbdZcd9ZddldZZe dmd[Zfdld\Zgdnd]Zhdnd^Zid_Zjdkd`ZkdodaZldbZmdkdcZndoddZodeZpdodfZqdgZrdhZsdiZty(pz9 Module for parsing/evaluating Microsoft Excel formulas. )print_functionN)unpack) BaseObject XLRDErrorerror_text_from_code hex_char_dumpunpack_string_update_posunpack_unicode_update_pos)*)oBOOLoERRoNUMoREFoRELoSTRGoUNKdecompile_formula dump_formulaevaluate_name_formula okind_dict rangename3drangename3drelcellname cellnameabscolnameFMLA_TYPE_CELLFMLA_TYPE_SHAREDFMLA_TYPE_ARRAYFMLA_TYPE_COND_FMTFMLA_TYPE_DATA_VALFMLA_TYPE_NAMEOperandRef3D ?CELLSHAREDARRAYzCOND-FMTzDATA-VALNAME)rr%r&r'r(r)) rr%r(r)#9:;,-rrrrrr roMSNG)r:r9rrr%r7r&r8,)@r:r&r&rrrrrrrrrrrrrrrrrrrrr9r:r9r'r&r%r%r7 r'r%r7r'r&r8r8r8r%r&r>r&r>r%r%r:r:r:r:r:r:r:r:r7r:r:r:r:r:r:r:)@r:r8r8rrrrrrrrrrrrrrrrrrrrr9r:r9 r8r%r%r7r=r=r%r7r?r&r>r>r>r>r7r&r>r&r>r7r7r:r:r:r:r:r:r:r:r7r:r:r:r:r:r:r:)@r:r8r8rrrrrrrrrrrrrrrrrrrrr9r:r9r?r8r%r%r7r=r=r7r&r?r&r>r>r>r>r7r&r>r&r>r7r7r:r:r:r:r:r:r:r:r:r:r:r:r:r:r:r:)@r:r8r8rrrrrrrrrrrrrrrrrrrrr9r:r9r:r:r%r%r7r=r=r7r&r/r&r>r>r>r>r7r&r>r&r>r7r7r:r:r:r:r:r:r:r:r:rArBr:r:)@r:r8r8rrrrrrrrrrrrrrrrrrrrr9r9r9r:r:r%r%r7r=r=r7r&r8r8r=r>r>r>r7r8r=r8r=r7r7r:r:r:r:r:r:r:r:r:r>r>r?r>r?r:r:)rB(r62FP)@Unk00ExpTblAddSubMulDivPowerConcatLTLEEQGEGTNEIsectListRangeUplusUminusPercentParenMissArgStrExtendedAttrSheetEndSheetErrBoolIntNumArrayFuncFuncVarNameRefAreaMemAreaMemErrMemNoMemMemFuncRefErrAreaErrRefNAreaNMemAreaN MemNoMemNryryryryryryryFuncCENameXRef3dArea3dRefErr3d AreaErr3dryry)COUNTrrDr&rVR)IFr%r7r&r7rVRR)ISNArrr%rrr)ISERRORrrr%rrr)SUMrrDr&rrr)AVERAGErrDr&rrr)MINrrDr&rrrr>)MAXrrDr&rrr)ROWrrr&rrrr=)COLUMNrrr&rrr )NArrr%rrryr?)NPVr%rDr&r%rVR )STDEVrrDr&rrr )DOLLARrr%r&rrr)FIXEDr%r7r&r7rVVVr/)SINrrr%rrr)COSrrr%rrrr0)TANrrr%rrrrA)ATANrrr%rrr)PIrrr%rrryrC)SQRTrrr%rrrrB)EXPrrr%rrr)LNrrr%rrr)LOG10rrr%rrr)ABSrrr%rrrr@)INTrrr%rrr)SIGNrrr%rrr)ROUNDr%r%r%r%rVV)LOOKUPr%r7r&r%rr)INDEXr%r&rr&rRVVVrD)REPTr%r%r%r%rr)MIDr7r7r%r7rr)LENrrr%rrr!)VALUErrr%rrr")TRUErrr%rrryr1)FALSErrr%rrry$)ANDrrDr&rrr%)ORrrDr&rrr&)NOTrrr%rrr')MODr%r%r%r%rrrE)DCOUNTr7r7r%r7rRRR))DSUMr7r7r%r7rr*)DAVERAGEr7r7r%r7rr+)DMINr7r7r%r7rrr5)DMAXr7r7r%r7rrr6)DSTDEVr7r7r%r7rr.)VARrrDr&rrr/)DVARr7r7r%r7rr0)TEXTr%r%r%r%rr1)LINESTrr&r&r&ARRVVrF)TRENDrr&r&r&rRRRV3)LOGESTrr&r&r&rr4)GROWTHrr&r&r&rr8)PVr7r8r&r8rVVVVVr2)FVr7r8r&r8rrr3)NPERr7r8r&r8rrr4)PMTr7r8r&r8rr<)RATEr7rr&rrVVVVVV=)MIRRr7r7r%r7rRVV>)IRRrr%r&r%rRV)RANDrrrrrry@)MATCHr%r7r&r7rrA)DATEr7r7r%r7rrB)TIMEr7r7r%r7rrC)DAYrrr%rrrD)MONTHrrr%rrrE)YEARrrr%rrrrG)WEEKDAYrr%r&r%rrG)HOURrrr%rrrH)MINUTErrr%rrrI)SECONDrrr%rrrJ)NOWrrrrrryK)AREASrrr%rrrL)ROWSrrr%rrrM)COLUMNSrrr%rrrN)OFFSETr7r8r&r8rRVVVVR)SEARCHr%r7r&r7rrS) TRANSPOSErrr%rrrV)TYPErrr%rrr\) SERIESSUMr&r&r%r&rVVVAa)ATAN2r%r%r%r%rrb)ASINrrr%rrrc)ACOSrrr%rrrd)CHOOSEr%rDr&r%rre)HLOOKUPr7r&r&r&rVRRVf)VLOOKUPr7r&r&r&rri)ISREFrrr%rrrm)LOGrr%r&r%rro)CHARrrr%rrrp)LOWERrrr%rrrq)UPPERrrr%rrrr)PROPERrrr%rrrs)LEFTrr%r&r%rrt)RIGHTrr%r&r%rru)EXACTr%r%r%r%rrv)TRIMrrr%rrrw)REPLACEr&r&r%r&rVVVVx) SUBSTITUTEr7r&r&r&rr7y)CODErrr%rrr|)FINDr%r7r&r7rr})r+rr%rr%rr~)ISERRrrr%rrr)ISTEXTrrr%rrr)ISNUMBERrrr%rrr)ISBLANKrrr%rrr)Trrr%rrr)Nrrr%rrr) DATEVALUErrr%rrr) TIMEVALUErrr%rrr)SLNr7r7r%r7rr)SYDr&r&r%r&rr7)DDBr&r8r&r8rr)INDIRECTrr%rr%rr)CLEANrrr%rrr)MDETERMrrr%rrr)MINVERSErrr%rrr)MMULTr%r%r%r%rAA)IPMTr&rr&rrr)PPMTr&rr&rrr)COUNTArrDr&rrr)PRODUCTrrDr&rrr)FACTrrr%rrr)DPRODUCTr7r7r%r7rr) ISNONTEXTrrr%rrr)STDEVPrrDr&rrr)VARPrrDr&rrr)DSTDEVPr7r7r%r7rr)DVARPr7r7r%r7rr)TRUNCrr%r&r%rr) ISLOGICALrrr%rrr)DCOUNTAr7r7r%r7rr)USDOLLARrr%r&r%rr)FINDBr%r7r&r7rr)SEARCHBr%r7r&r7rr)REPLACEBr&r&r%r&rr7)LEFTBrr%r&r%rr)RIGHTBrr%r&r%rr)MIDBr7r7r%r7rr)LENBrrr%rrr)ROUNDUPr%r%r%r%rr) ROUNDDOWNr%r%r%r%rr)ASCrrr%rrr)DBCSrrr%rrr)RANKr%r7r&r7rVRV)ADDRESSr%r8r&r8rr)DAYS360r%r7r&r7rr)TODAYrrrrrry)VDBr8r>r&r>rVVVVVVV)MEDIANrrDr&rrr) SUMPRODUCTrrDr&rrr)SINHrrr%rrr)COSHrrr%rrr)TANHrrr%rrr)ASINHrrr%rrr)ACOSHrrr%rrr)ATANHrrr%rrr)DGETr7r7r%r7rr)INFOrrr%rrr)DBr&r8r&r8rr) FREQUENCYr%r%r%r%rRRi)z ERROR.TYPErrr%rrri )AVEDEVrrDr&rrri)BETADISTr7r8r&rrri)GAMMALNrrr%rrri)BETAINVr7r8r&rrri) BINOMDISTr&r&r%r&rr7i)CHIDISTr%r%r%r%rri)CHIINVr%r%r%r%rri)COMBINr%r%r%r%rri) CONFIDENCEr7r7r%r7rri) CRITBINOMr7r7r%r7rri)EVENrrr%rrri) EXPONDISTr7r7r%r7rri)FDISTr7r7r%r7rri)FINVr7r7r%r7rri)FISHERrrr%rrri) FISHERINVrrr%rrri)FLOORr%r%r%r%rri) GAMMADISTr&r&r%r&rr7i)GAMMAINVr7r7r%r7rri )CEILINGr%r%r%r%rri!) HYPGEOMDISTr&r&r%r&rr7i") LOGNORMDISTr7r7r%r7rri#)LOGINVr7r7r%r7rri$) NEGBINOMDISTr7r7r%r7rri%)NORMDISTr&r&r%r&rr7i&) NORMSDISTrrr%rrri')NORMINVr7r7r%r7rri()NORMSINVrrr%rrri)) STANDARDIZEr7r7r%r7rri*)ODDrrr%rrri+)PERMUTr%r%r%r%rri,)POISSONr7r7r%r7rri-)TDISTr7r7r%r7rri.)WEIBULLr&r&r%r&rr7i/)SUMXMY2r%r%r%r%rr_i0)SUMX2MY2r%r%r%r%rr_i1)SUMX2PY2r%r%r%r%rr_i2)CHITESTr%r%r%r%rr_i3)CORRELr%r%r%r%rr_i4)COVARr%r%r%r%rr_i5)FORECASTr7r7r%r7rVAAi6)FTESTr%r%r%r%rr_i7) INTERCEPTr%r%r%r%rr_i8)PEARSONr%r%r%r%rr_i9)RSQr%r%r%r%rr_i:)STEYXr%r%r%r%rr_i;)SLOPEr%r%r%r%rr_i<)TTESTr&r&r%r&rAAVVi=)PROBr7r&r&r7rAAVi>)DEVSQrrDr&rrri?)GEOMEANrrDr&rrri@)HARMEANrrDr&rrriA)SUMSQrrDr&rrriB)KURTrrDr&rrriC)SKEWrrDr&rrriD)ZTESTr%r7r&r%rriE)LARGEr%r%r%r%rriF)SMALLr%r%r%r%rriG)QUARTILEr%r%r%r%rriH) PERCENTILEr%r%r%r%rriI) PERCENTRANKr%r7r&r%rriJ)MODErrDr&rrriK)TRIMMEANr%r%r%r%rriL)TINVr%r%r%r%rriP) CONCATENATErrDr&rrriQ)POWERr%r%r%r%rriV)RADIANSrrr%rrriW)DEGREESrrr%rrriX)SUBTOTALr%rDr&r%rriY)SUMIFr%r7r&r7rRVRiZ)COUNTIFr%r%r%r%rri[) COUNTBLANKrrr%rrri^)ISPMTr&r&r%r&rr7i_)DATEDIFr7r7r%r7rri`) DATESTRINGrrr%rrria) NUMBERSTRINGr%r%r%r%rrib)ROMANrr%r&r%rrif) GETPIVOTDATAr%r%r%r%rrig) HYPERLINKrr%r&r%rrih)PHONETICrrr%rrrii)AVERAGEArrDr&rrrij)MAXArrDr&rrrik)MINArrDr&rrril)STDEVPArrDr&rrrim)VARPArrDr&rrrin)STDEVArrDr&rrrio)VARArrDr&rrrip)BAHTTEXTrrr%rrriq) THAIDAYOFWEEKrrr%rrrir) THAIDIGITrrr%rrris)THAIMONTHOFYEARrrr%rrrit) THAINUMSOUNDrrr%rrriu) THAINUMSTRINGrrr%rrriv)THAISTRINGLENGTHrrr%rrr) ISTHAIDIGITrrr%rrr) ROUNDBAHTDOWNrrr%rrr) ROUNDBAHTUPrrr%rrr)THAIYEARrrr%rrr)RTDr%r8r&rrr)iwixiyizi{zSkip??VolatileIfChooseSkipSumAssignSpace SpaceVolatile) rrr%r&r'r(r)rr)r>r'rr?rrrcdtdt||j|jDS)Nc36K|]\}}}|||ywN).0funcnumanumbs R/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/xlrd/formula.py zdo_box_funcs..s% D$ T4s)tuplezipcoords) box_funcsboxaboxbs r0 do_box_funcsr8s-  #It{{DKK H c|dz dz}|dz dz}|}|dz}|r|r |dk\r|dz}|r|dk\r|dz}n|r||z}|r||z}||||fS) Nr/rrrCr+ rowvalcolvalreldeltabrowxbcolxrow_relcol_relrowxcolxs r0adjust_cell_addr_biff8rIsz|q G|q G D D=D tu} EMD ts{ CKD  EMD  EMD w ''r9c|dz dz}|dz dz}|dz}|}|r|r |dk\r|dz}|r|dk\r|dz}n|r||z}|r||z}||||fS) Nr/rri?i i@rCr>r+r?s r0adjust_cell_addr_biff_le7rKsz|q G|q G F?D D tt| EMD ts{ CKD  EMD  EMD w ''r9c|dk\r$td|||dz\}}t|||||Std|||dz\}}t|||||S)NrH(Whu>Tzr9cV |j|}|\}}}||j k(r/|rtd||fz|j|dcxk(r|k(sJJy||j k7r|rtd||fz|jy|dcxk(r|k(r"nn|rtd ||fz|jy |d cxk(r|k(r!nn|rtd |fz|jy t|j}d|cxkr |cxkr|ks;n|r6td||fz|jtd|z|jy|j|}|j|} d|cxkr| ksyy|| fS#t$r2td|t|jfz|jYywxYw)Nz:!!! get_externsheet_local_range: refx=%d, not in range(%d)file)r^z5/// get_externsheet_local_range(refx=%d) -> addins %ri)r_z7/// get_externsheet_local_range(refx=%d) -> external %rraz@/// get_externsheet_local_range(refx=%d) -> unspecified sheet %rr9r9iz deleted sheet(s)r:r:rz./// get_externsheet_local_range(refx=%d) -> %r%--- first/last sheet not in range(%d))rerg)_externsheet_info IndexErrorprintlenlogfile_supbook_addins_inx_supbook_locals_inx_all_sheets_map) bkrefxblahinfo ref_recordxref_first_sheetxref_last_sheetxnsheets xlrd_sheetx1 xlrd_sheetx2s r0get_externsheet_local_rangerzs##D) 6:2K!?b,,,  ITSWLX_a_i_i j6<_<<<<<b,,,  KtUYlZacakak l64_4  TX\^bWccjljtjt u64_4  PTXS[[bdblbl m"$$%G  =O =g =  BdD\QXZXbXb c 9GC"** U%%&67L%%o6L , , -  %%A  JS--./068jj BsE--8F('F(c|dkDr|rtd|z|jy|dk(r|dk(ryt|j}d|cxkr |cxkr|ks externalr\r`r9rcz6/// get_externsheet_local_range_b57(%d, %d, %d) -> ???rd)r|rf)rjrlrkro)rp raw_extshtxrurvrrrwrxrys r0get_externsheet_local_range_b57r~sQ  SVaahjhrhr s2/R"7"$$%G  =O =g =  J 0/BCIK U 9GC"** U%%&67L%%o6L , , -  %%r9c eZdZy) FormulaErrorN)__name__ __module__ __qualname__r+r9r0rrsr9rc*eZdZdZdZeZdZddZdZ y)r#a Used in evaluating formulas. The following table describes the kinds and how their values are represented. .. raw:: html
Kind symbol Kind number Value representation
oBOOL 3 integer: 0 => False; 1 => True
oERR 4 None, or an int error code (same as XL_CELL_ERROR in the Cell class).
oMSNG 5 Used by Excel as a placeholder for a missing (not supplied) function argument. Should *not* appear as a final formula result. Value is None.
oNUM 2 A float. Note that there is no way of distinguishing dates.
oREF -1 The value is either None or a non-empty list of absolute Ref3D instances.
oREL -2 The value is None or a non-empty list of fully or partially relative Ref3D instances.
oSTRG 1 A Unicode string.
oUNK 0 The kind is unknown or ambiguous. The value is None
N?cD|||_|||_||_||_yr*)kindvalueranktext)selfakindavaluearankatexts r0__init__zOperand.__init__bs,  DI  DJ  r9ctj|jd}d|d|jd|jdS)Nz?Unknown kind?z Operand(kind=z, value=z, text=))rgetrrr)r kind_texts r0__repr__zOperand.__repr__ls0NN499.>? $**dii1 1r9)NNrr) rrr__doc__rrrrrrr+r9r0r#r#s'<@ E D D1r9r#ceZdZdZdZdZy)r$a Represents an absolute or relative 3-dimensional reference to a box of one or more cells. The ``coords`` attribute is a tuple of the form:: (shtxlo, shtxhi, rowxlo, rowxhi, colxlo, colxhi) where ``0 <= thingxlo <= thingx < thingxhi``. .. note:: It is quite possible to have ``thingx > nthings``; for example ``Print_Titles`` could have ``colxhi == 256`` and/or ``rowxhi == 65536`` irrespective of how many columns/rows are actually used in the worksheet. The caller will need to decide how to handle this situation. Keyword: :class:`IndexError` :-) The components of the coords attribute are also available as individual attributes: ``shtxlo``, ``shtxhi``, ``rowxlo``, ``rowxhi``, ``colxlo``, and ``colxhi``. The ``relflags`` attribute is a 6-tuple of flags which indicate whether the corresponding (sheet|row|col)(lo|hi) is relative (1) or absolute (0). .. note:: There is necessarily no information available as to what cell(s) the reference could possibly be relative to. The caller must decide what if any use to make of ``oREL`` operands. .. note: A partially relative reference may well be a typo. For example, define name ``A1Z10`` as ``$a$1:$z10`` (missing ``$`` after ``z``) while the cursor is on cell ``Sheet3!A27``. The resulting :class:`Ref3D` instance will have ``coords = (2, 3, 0, -16, 0, 26)`` and ``relflags = (0, 0, 0, 1, 0, 0).
So far, only one possibility of a sheet-relative component in a reference has been noticed: a 2D reference located in the "current sheet". This will appear as ``coords = (0, 1, ...)`` and ``relflags = (1, 1, ...)``. .. versionadded:: 0.6.0 c|dd|_|dd|_|jsd|_|j\|_|_|_|_|_|_y)Nrrrrrrrrr)r4relflagsshtxloshtxhirowxlorowxhicolxlocolxhi)ratuples r0rzRef3D.__init__sRQqk q  }}.DM%)KK "dk T[ T[r9c|jr|jdk(rd|jdSd|jd|jdS)Nrz Ref3D(coords=rz , relflags=)rr4)rs r0rzRef3D.__repr__sB}} 1C C)-7 7!D;; / /r9N)rrrrrrr+r9r0r$r$rs.`0/r9r$c|Sr*r+xs r0noprs Hr9c ||zSr*r+rys r0_opr_powrs 16Mr9c ||kSr*r+rs r0_opr_ltr !q&=r9c ||kSr*r+rs r0_opr_lerrr9c ||k(Sr*r+rs r0_opr_eqrrr9c ||k\Sr*r+rs r0_opr_gerrr9c ||kDSr*r+rs r0_opr_gtrrr9c ||k7Sr*r+rs r0_opr_nerrr9cHt|}|jdr|dd}|S)zN Attempt to emulate Excel's default conversion from number to string. z.0Nr:)strendswith)numss r0num2strgrs) CAzz$ crF Hr9+-r /^&=>z<>c| Sr*r+rs r0rsaRr9ryc|Sr*r+rs r0rrsQr9c |dz S)NgY@r+rs r0rrs QYr9%)rrArCZc 5|tkDrd}|j}|j}|j}d}|rCt d||j ||||fz|j t|d||j |tkDr tdt|} d} g} d} d} d}ttd}ttd}| j}d}d}d }|dk(r|g} d| cxkr|krnnt|| }|d z}|d zd z }|r|d z}n|}t |}| |}|r8t d| |||||fz|j t d| |j |dk(rd|||fz}t#|| sd|cxkrdkrnn ||| nd|cxkrdkrnn |||  nh|dk(r|rt d| |j t%| dk\sJ| j'}| j'}d}d}dj)dd|j*|k|j,dd|j*|k|dd|j*|k|j,dd|j*|kg} tt.}!| |!_|j0tk(s|j0tk(r t|!_n|j0tk(s|j0tk(rn|j0t.cxk(r|j0k(rnn|j2s|j2ft%|j2dk(sJt%|j2dk(sJt5t6|j2d|j2d}"t9|"g|!_n|j0t:cxk(r|j0k(rnnt:|!_|j2|j2t%|j2dk(sJt%|j2dk(sJt5t6|j2d|j2d}"|j2dj<}#|j2dj<}$|#|$k(rt9|"|#zg|!_n ||!|rt d| |j nl|dk(r|rt d| |j t%| dk\sJ| j'}| j'}d}d}dj)dd|j*|k|j,dd|j*|k|dd|j*|k|j,dd|j*|kg} tt.d|| }!|j0tk(s|j0tk(r t|!_n|j0t.t:fvr|j0t.t:fvrt.|!_|j0t:k(s|j0t:k(r t:|!_|j2`|j2Tt%|j2dk\sJt%|j2dk(sJ|j2|j2z|!_n ||!|rt d | |j nk|d!k(r|rt d"| |j t%| dk\sJ| j'}| j'}d#}d}dj)dd|j*|k|j,dd|j*|k|dd|j*|k|j,dd|j*|kg} tt.d|| }!|j0tk(s|j0tk(r t|!_n|j0t.cxk(r|j0k(rnn|j2s|j2ft%|j2dk(sJt%|j2dk(sJt5t>|j2d|j2d}"t9|"g|!_n|j0t:cxk(r|j0k(rnnt:|!_|j2|j2t%|j2dk(sJt%|j2dk(sJt5t>|j2d|j2d}"|j2dj<}#|j2dj<}$|#|$k(rt9|"|#zg|!_n ||!|rt d$| |j nd%|cxkrd&krnn||t@| n}|d'k(rnv|d(k(r|ttBdtDdnS|d)k(r|d*kr tG|| dz|jHd+\}%}&ntK|| dzd+\}%}&|&| z }|rt d,||%fz|j d-|%jMd-d.zd-z}'|ttN|%tD|'n|d/k(r|dk\sJt#d0|d1k(rtQd2|| dz| d3z\}(})tRjU|(d4}*|(d3k(r |)dzd5z}na|(dk(rZd3}|rt d6| |j t%| dk\sJ| d7}d8|j,z} tt@dtV| | d7<nd3}|rt d9|(|*||)fz|j nd:|cxkrd;krnn|d|cxkrd krnn|d>z }+gd?|+},ttXt@t@g|+}-tQd@dA|+z|| dz| dz|,z\}.|+dk(rt[|.}.t]|.}'n+|+dk(r t]|.}'n|+dk(rdB|.}'nd-t^|.zd-z}'|t|-|.tD|'nt#dC|z|dkrt#dD|z| |z } L|dk(r || n|dk(rdta|dEk\z},tQd@dF|,z|| dz| dz|,zd}/tbjU|/d}0|0s$t dG|/z|j || n |0dd\}1}2|rt dH|/|1|2fz|j t%| |2k\sJ|2r/tdj)dI| |2 dD}3|1d|3d} | |2 d=n|1dJz} ttdtV| }!||! n|dk(r#dta|dEk\z},tQdKdF|,z|| dz| dz|,z\}2}/tg|2dL\}4}2tg|/dM\}5}/|rt dN|/|2|5|4fz|j tbjU|/d}0|0s$t dO|/z|j || n|0dd\}1}6}7|rt dP|1|6|7fz|j |6|2cxkr|7ksJJt%| |2k\sJt%| |2k\sJtdj)dQ| |2 dD}3|1d|3d} ttdtV| }!|/dk(r/| |2 }8|8j0t@tXfvr0|r|8j0tk7rt dR|j n}|8j2dSvr)|rl|8j2_t dT|j nF|2dk(r |8j2stXdc|!_|!_nk|2 dzta|8j2z }9| |9}:|:j0tBk(rt@dc|!_|!_n#|:j0|:j2c|!_|!_|rt dU|j n|/dVk(r| |2 }8|8j0t@k(r~d|8j2cxkr|2krinnf| |2 ta|8j2z}:|:j0tBk(rt@dc|!_|!_n#|:j0|:j2c|!_|!_| |2 d=||! nj|dk(rtQdW|| dz| dzddz };|rt dX|;z|j |jh|;}<|}?}@dx}A}Bd} |A|Bdz|=|=dz|>|>dzf}"|rt d_|"|j ttd}!|dk(r%dd|?|?@|@f}Ctt:t9|"|Czg}!||!n|d k(rt|| dz||\}D}E|rt d^DE|j D\}F}G}H}IE\}J}K}L}Mdx}A}Bd} |A|Bdz|F|Jdz|G|Kdzf}"|rt d_|"|j ttd}!|dk(r%ddHLIMf}Ctt:t9|"|Czg}!||!n@|d5k(r |||n0|d`k(r7tQdW|| dz| dzd},|rt da|,z|j n|dbk(r |||n|dck(r |||n|d:k(rm|dk\r:t|| dz||}!tQdW|| dz| dzd}Nt||N|\}A}BnXt|| dz||}!tQdd|| dz| dz\}O}P}Q|rt deOPQ|j t|OPQ|\}A}B|!\}=}>}?}@|?xs@}R| xsR} ABdz|=|=dz|>|>dzf}"| |Ad7kz} |rt d_|"|j ttd}!Rr5dd|?|?@|@f}Ct9|"|Cz}St:|!_t||Sdf|!_n't9|"}St.|!_t||S|!_tD|!_|dk(rSg|!_||!na|d;k(r|dk\r=t|| dz||\}D}EtQdW|| dz| dzd}Nt||N|\}A}Bn[t|| dz||\}D}EtQdd|| dz| dz\}O}P}Q|rt dgOPQ|j t|OPQ|\}A}B| Ad7kz} D\}F}G}H}IE\}J}K}L}M|Hxs IxsLxsM}R| xsR} ABdzFJdzGKdzf}"|rt d_|"|j ttd}!Rr5ddHLIMf}Ct9|"|Cz}St:|!_t||Sdf|!_n't9|"}St.|!_t||S|!_tD|!_|dk(rSg|!_||!n|d1k(rd}Tttd}!|dk\r tQdh|| dz| d z\}N};|;dz};|N}Un8tQdi|| dz| dcz\}N};|;dz};|N}U|NdkDrNdz}NnNdkrN dz }Nnd}T|rt djUN|;Tfz|j |;|k(r|rt dk|j dx}T} Ts@|dk\rt|N|\}A}Bn*UdkDrdl\}A}Bn|jN}V|Vd3k(rdm\}A}Bndn\}A}BTsAd7krdo|;Ufz} ttdtD| }!n|jh|;}<|.do_binopsp3x1}}ggiggi0;D0A-dD#  D ! HH  D !   D ! HH  D !   T47 CHH%ECHH%E 99  1 JJu  SYYSYYdD! %  QaF  5  JJu   s;EE54E5c Ft|dk\sJ|j}|j}t|\}}}}dj |dd|j |k|j dd|j |k|g} |||}|jt|||| yNrryrr) rkrr unop_rulesrrrrr#) opcoderrrvalr-rsym1sym2rs r0 do_unaryopz)evaluate_name_formula..do_unaryop's3x1}}ggiii!+F!3dD$   D ! HH  D !     ?s)C 7;T59:r9c&d||fz}t|)Nz1ERROR *** Token 0x%02x (%s) found in NAME formula)r)op_arg oname_argmsgs r0not_in_name_formulaz2evaluate_name_formula..not_in_name_formula7sA#$3r9r`r8r)9Pos:%d Op:0x%02x Name:t%s Sz:%d opcode:%02xh optype:%02xhStack =r:9ERROR *** Unexpected token 0x%02x ("%s"); biff_version=%dr%r7rr/ tIsect pre rHryrr tIsect postr( tList prer< tList postr0 tRange pre: tRange postrArCrBrrrGlenlen sz=%d strg=%r"""rtExtended token not implementedr@.$*N388*N().@&JCsxx&JrzIF testarg kind?)rrzIF testarg value?z$$$$$$ IF => constantr>z!!! bad tgtobj !!!z------------------ tNameX: setting text toFORMULA: /// Not handled yet: t!Fatal: token size is not positivez8End of formula. level=%d any_rel=%d any_err=%d stack=%r *** Stack has unprocessed args)MSTACK_ALARM_LEVEL raw_formulabasic_formula_len biff_versionrjnamerlr STACK_PANIC_LEVELrszdictr#rrr BYTES_ORDonamesrrkrrrrrrrr8 tIsectFuncsr$rr tRangeFuncsrr; LEAF_RANKr encodingr replacerr tAttrNamesr FUNC_RANKr floatrrint func_defslistsepdivmod name_obj_list evaluatedrmacrobinaryany_errdumpany_relstackcopydeepcopyscope _sheet_namesreprrRrZrzr~rr_externsheet_type_b57 error_opcodesfprintfr any_external)WrpnobjnamexrrlevelrOfmlalenrQrBsztabrPrQrPrNrZunk_opnd error_opndspushrrroproptypeopxonameszrrrrrrresr4relfarelfbstrgnewposrsubopncsubnameinxnbrrfuncx func_attrs func_namenargsargtextpromptrLminargsmaxargstestargresposchosentgtnamextgtobjrGrHrErFshx1shx2rrXrYrowx1colx1row_rel1col_rel1rowx2colx2row_rel2col_rel2rqr}raw_shx1raw_shx2is_relref3ddodgyorigrefxextysW r0rrsX      D$$G BH  Adii"dE:;AC MdAwRZZ8   GHH 2JE C EGGLtT"Ht$J LLE@;  !|  s W  tCy !dt)! 2+CCs  3Z  ME2vv67=?ZZ I )U 4 8Mub/"Cs# #v%%#B.'4''4|UD5zQ&iikiik(D)HH(D)(D)HH(D)!dm 88t#sxx4'7#CHXX%T)9XX11yy,1F"399~222"399~222!-'1syy|"E%*6]O XX11#CHyy,1F"399~222"399~222!-'1syy|"E # ! 5 5 # ! 5 5 E>).v~)>(?CIc }e"**E4{E C5zQ&iikiik(D)HH(D)(D)HH(D)!dD$688t#sxx4'7#CHXX$-#((tTl2J#CHxx4'388t+;#'yy,1F"399~222"399~222$'II $9 c |UD4|UD5zQ&iikiik(D)HH(D)(D)HH(D)!dD$688t#sxx4'7#CHXX11yy,1F"399~222"399~222!-'1syy|"E%*6]O XX11#CHyy,1F"399~222"399~222!-'1syy|"E # ! 5 5 # ! 5 5 E>).v~)>(?CIc }e"**E'4'64/44geT9b9:48#;(,c!eR[[$LLD&$=(,c!eA$?LD&c\1RJ>RZZPT\\#t44s:geT9d;<4Rxx"#DEE4"5$s1uSU*;< r$.. >D=a!Bd]BU:u2::Fu:?*?)C%0E 'dIu EE"IBE '2r239;E'4'Bww"#NOO'4'tm!#&eT405fSk 14Ac!eBh3GH!8!%LEu:DAXu:DAX,U3D 4U ;;cADgdE9d;<"#=#FGGQw"#Cf#LMM 2IC  T> (O t^Sr]"B3r?DQs1uRx,@A!DE"ud3J;$&JJ0h#-bq> 5:"Iu56<>JJH5zU***%ll*NueVW~*NNG(17;Eufg%,EdD)U;c t^Sr]"B!$r"2DQs1uRx4HILE5"5#.MFE!%/LE5@uf56<>JJH"ud3J>$&JJ0h.8!n+ 7G=$gw78>@jjJ%27222225zU***5zU***!,,&J5%>&JJ$-w7dD)U;A:#UFmG||D%=8GLLD$8!"42::F f4GMM$=!"5BJJG A:gmm27/CHci&+VaZ#gmm2D%DF%*6]F%{{e36:A 3#)6? #J t^,T3q5"hGJD$U4t"**=/3 ,E5(H/3 ,E5(HOD4GDFE57E57CFU5&rzz:$%C{q(HhIdU6H+<%=$>? #J t^ E * t^d3q5Q/03BU;b@rzzR t^ E * t^ E * t^Rx#D#a%X>dDQs1u$56q98T4H d#D#b&"h?28cRSeTWXZTZI[2\/ Xx(K8"**U< "K8TK d+. (D$'F'GDFD$q&$Q?F tby GU5&rzz:$%Cq'7GWEfx/0)"e!<f &r51 CH{"G #J t^Rx0s1ub(K ddDQs1u$56q98T4H d0s2vr8L d28cRSeTWXZTZI[2\/ Xx)[(H2::V< "K8TK d tby G/3 ,E5(H/3 ,E5(HAAXAF'GDFE57E57CFU5&rzz:$%Cq(HhIfx/0)"e!<f &r51 CH{"G #J t^E$%CRx!'tCE#a%/@!AhA !' tCE#b&7I!JhA !8AIDAX 519DECx78>@jjJ5 ;"**M"##8!#X./dD)U;))(3'')"fheAgN<<6==FNN JJ#7#7$ "$-C%XXX&..G%7Gv||,111-- Q8C$<<2%%{{CH#%//&,,"? NCH7chhbjjY #J } $G * 7%?bjjQG 7BC C r } s W ~+oG  W 7{?GU 4 u:? 2 D 2::DJ 5zQ Ah DLDL$DDNr9c )|tkDrd}ttttfv} |} j } |r:t d|||| | |fzjt| d|j|tkDr tdt| } d} g}d}d}ttd}ttd}|j}d}d}fd }|dk(r|g}d| cxkr|kr]nnYt!| | }|d z}|d zd z }|r|d z}n|}t"|}| |}|r8t d| |||||fzjt d|j|dk(rd||| fz}t%|t'|dzr ||||s|dkrf| dk\rd}nd}| dk(r||k(r|rJt)|| \}} d|| fz}!|ttdt*|!t,t.zzsP|||nEd|cxkrdkrnn |||n,|dk(r|rt d|jt1|dk\sJ|j3}"|j3}#d}$d}%dj5dd|#j6|%k|#j8dd|#j6|%k|$dd|"j6|%k|"j8dd|"j6|%kg}&tt:}'|&|'_|"j<tk(s|#j<tk(r t|'_n|"j<tk(s|#j<tk(rnZ|"j<t:cxk(r|#j<k(rnnn3|"j<t>cxk(r|#j<k(rnn t>|'_n ||'|rt d |jn~|d!k(r|rt d"|jt1|dk\sJ|j3}"|j3}#d#}$d}%dj5dd|#j6|%k|#j8dd|#j6|%k|$dd|"j6|%k|"j8dd|"j6|%kg}&tt:d|%|&}'|"j<tk(s|#j<tk(r t|'_nn|"j<t:t>fvrU|#j<t:t>fvr=t:|'_|#j<t>k(s|"j<t>k(r t>|'_n ||'|rt d$|jn|d%k(rF|rt d&|jt1|dk\sJ|j3}"|j3}#d'}$d}%dj5dd|#j6|%k|#j8dd|#j6|%k|$dd|"j6|%k|"j8dd|"j6|%kg}&tt:d|%|&}'|"j<tk(s|#j<tk(rt}'n(|"j<t:cxk(r|#j<k(rnnn ||'|rt d(|jnd)|cxkrd*krnn||t@|n}|d+k(rnv|d,k(r|ttBdt*dnS|d-k(r| d.kr tE| | dzjFd/\}(})ntI| | dzd/\}(})|)| z }|rt d0||(fzjd1|(jKd1d2zd1z}!|ttLdt*|!n|d3k(r| dk\sJt%d4|d5k(rt)d6| | dz| d7z\}*}+tNjQ|*d8},|*d7k(r |+dzd9z}na|*d!k(rZd7}|rt d:|jt1|dk\sJ|d;}#d<|#j8z}&tt@dtR|&|d;<nd7}|rt d=|*|,||+fzjnd>|cxkrd?krnn| d@ksJt%dAdB|cxkrd krnn|dBz }-gdC|-}.ttTt@t@g|-}/t)dDdE|-z| | dz| dz|.z\}0|-dk(rtW|0}0tY|0}!n+|-dk(r tY|0}!n|-dk(rdF|0}!nd1tZ|0zd1z}!|t|/dt*|!nt%dG|z|dkrt%dH|z| |z } z|dk(r || n|dk(rdt]| dIk\z}.t)dDdJ|.z| | dz| dz|.zd}1t^jQ|1d}2|2s$t dK|1zj|| nI|2dd\}3}4|rt dL|1|3|4fzjt1||4k\sJ|4r/t`j5dM||4 dD}5|3d|5d}&||4 d=n|3dNz}&ttdtR|&}'||' n|dk(rZdt]| dIk\z}.t)dOdJ|.z| | dz| dz|.z\}4}1tc|4dP\}6}4tc|1dQ\}7}1|rt dR|1|4|7|6fzj|1dSk(rdT}2nt^jQ|1d}2|2s$t dU|1zj|| n|2dd\}3}8}9|rt dV|3|8|9fzj|8|4cxkr|9ksJJt1||4k\sJt1||4k\sJt`j5dW||4 dD}5|3d|5d}&ttdtR|&}'||4 d=||'n\|dk(rt)dX| | dz| dzddz }:|rt dY|:zjjd|:};|;jfd;k(r |;jh}&n(jj|;jfdZ|;jh}&|r!t d[tm|&jttdt*|&}'||'n|d7k(rvto| | dz| | ||}'|rt d\|'j|'\}} }<}=||>rt>}?nt:}?tq|| |<|=|||}&t|?dt*|&}'||'n|d k(rts| | dz| | ||\}@}A|rt d\@Aj@\}B}C}D}EA\}F}G}H}I|B|Fdz|C|Gdzf}J|D|H|E|If}Ktu|Krt>}?nt:}?|rt d]JKjtwJK|||}&t|?dt*|&}'||'n[|d9k(rty||nH|d^k(r7t)dX| | dz| dzd}.|r(t d_|.zjn |d`k(rxto| | dz| | ||}'d}|rt d]|'j|'\}} }<}=||>rt>}?nt:}?tq|| |<|=|||}&t|?dt*|&}'||'n|dak(rts| | dz| | ||\}@}A|rt d\@Aj@\}B}C}D}EA\}F}G}H}I|B|Fdz|C|Gdzf}J|D|H|E|If}Ktu|Krt>}?nt:}?|rt d]JKjtwJK|||}&t|?dt*|&}'||'n|d>k(rl| dk\r|xs|>}MNdz||dz| | dzf}J||Md;kz}|rt d]Jjttd}'|>r6dd|<|<|=|=f}KtJ|Kz}Rt>|'_t|R||||'_n'tJ}Rt:|'_t|R|'_t*|'_d|'_B||'ni|d?k(rv| dk\r=ts| | dz| | \}@}At)dX| | dz| dzd}Lt{|L|\}M}Nn[ts| | dz| | \}@}At)db| | dz| dz\}O}P}Q|rt ddOPQjt}OPQ|\}M}N|Md;kz}@\}B}C}D}EA\}F}G}H}I|Dxs ExsHxsI}>|xs|>}MNdzBFdzCGdzf}J|rt d]Jjttd}'|>r6ddDHEIf}KtJ|Kz}Rt>|'_t|R||||'_n'tJ}Rt:|'_t|R|'_t*|'_||'n|d5k(rd}Sttd}'| dk\r t)de| | dz| d z\}L}:|:dz}:|L}Tn8t)df| | dz| daz\}L}:|:dz}:|L}T|LdkDrLdz}LnLdkrL dz }Lnd}S|rt dgTL|:SfzjSs@| dk\rt{L|\}M}Nn*TdkDrdh\}M}NnjL}U|Ud7k(rdi\}M}Nndj\}M}Nt}?d}VMdkk(r.tL}?j|:}Vd1|VjKd1d2zd1z}&nSsMd;krdl|:Tfz}&njd|:};|;jfd;k(r |;jh}&n(jj|;jfdZ|;jh}&|r+t dmtm|'j8jt|?Vt*|&}'||'n1|tvr d}||n|rt dn|zjd}|dkr t%do| |z } d| cxkr|krWn| }|r[t dp|| ||fzjt1|dk\rt dqjt jt1|dk7rd}W|WS|dj8}WWS)rNrzR::: decompile_formula len=%d fmlatype=%r browx=%r bcolx=%r reldelta=%d %r level=%dr\rrz(Excessive indirect references in formulac t|dk\sJ|j}|j}t|\}}}}}djdd|j|k|j dd|j|k|dd|j|k|j dd|j|kg} t |d|| } |j| y)Nr%ryrr)rkrrrrrr#r) rrrrrrr-rrrrs r0rz#decompile_formula..do_binopgs3x1}}ggiggi0;D0A-dD#  D ! HH  D !   D ! HH  D !   T47 5r9c t|dk\sJ|j}t|\}}}}dj|dd|j|k|j dd|j|k|g}|j t|d||yr)rkrrrrrrr#) rrrrr-rrrrs r0rz%decompile_formula..do_unaryopxs3x1}}ggi!+F!3dD$   D ! HH  D !     7;dE:;r9cRd||tfz}t|jy)Nz?ERROR *** Unexpected token 0x%02x (%s) found in formula type %sr\)FMLA_TYPEDESCR_MAPrjrl)rrrrpfmlatypes r0unexpected_opcodez,decompile_formula..unexpected_opcodes,O$6x$@AB c #r9rrr8r)z;Pos:%d Op:0x%02x opname:t%s Sz:%d opcode:%02xh optype:%02xhrr:rrDz.[rrrrrCr<rr;) CALL_ADDINrrDrrc34K|]}|jywr*rrs r0r1z$decompile_formula..{rrrr r#r$r%r&r=r'rrr(r)r+rMr,r-r`rbr.r_r0r1r2r3z7End of formula. level=%d any_rel=%d any_err=%d stack=%rr4)Fr5rr"r r!r8rjrlr r:rr;r#rrrr<r=r_TOKEN_NOT_ALLOWEDrr@rrrkrrrrrrrrr;r rAr rBrrCrrDr rErrrFrGrHrIrJrTr9rUrVrR cellnamerelrZsumrangename2drelrrzr~r$rrrrWaddin_func_namesrX)Xrpfmlar^rrCrDrrr]r*rBrOrQr_rPrQrPrNr`rarbrrrrcrrdrerfrgrfmtrGrHrrrrrrrhrkrlrmrnrorprqrrrrrsrtrurvrwrLrxryr}r~rErFrokindrXrYrrrrrrrrr4rrqrrr}rrrrrrovaluersX` ` r0rrPsT   ,n>PRdeeH D B  b%$FGMOZZ YdAwRZZ8   BCC 2JE C EGGtT"Ht$J LLE" <$ !|  s W  tCy !dt)! 2+CCs  3Z  OE2vv67=?ZZ I )U 4 8Mub/"Cs# # c1 % 0 b% (~8 C CaxGrM%??#C. d74,FgdD)T:;>O#CD%b%0'4''4|UD5zQ&iikiik(D)HH(D)(D)HH(D)!dm 88t#sxx4'7#CHXX%T)9XX11XX11#CHc }e"**E4{E C5zQ&iikiik(D)HH(D)(D)HH(D)!dD$688t#sxx4'7#CHXX$-#((tTl2J#CHxx4'388t+;#'c |UD4|UD5zQ&iikiik(D)HH(D)(D)HH(D)!dD$688t#sxx4'7CXX11c }e"**E'4'64/44geT9b9:48#;(,c!eR[[$LLD&$=(,c!eA$?LD&c\1RJ>RZZPT\\#t44s:geT9d;<4Rxx"#DEE4"5$s1uSU*;< r$.. >D=a!Bd]BU:u2::Fu:?*?)C%0E 'dIu EE"IBE '2r239;E'4'Bww"#NOO'4'tm!#&eT405fSk 14Ac!eBh3GH!8!%LEu:DAXu:DAX,U3D 4U ;;cADgdD)T:;"#=#FGGQw"#Cf#LMM 2IC  T> (O t^Sr]"B3r?DQs1uRx,@A!DE"ud3J;eC"**Uh#-bq> 5:"Iu56<>JJH5zU***%ll*NueVW~*NNG(17;Eufg%,EdD)U;c t^Sr]"B!$r"2DQs1uRx4HILE5"5#.MFE!%/LE5@uf56<>JJH|2 &]]5$7 >$&JJ0h.8!n+ 7G=$gw78>@jjJ%27222225zU***5zU***!,,&J5%>&JJ$-w7dD)U;5&'Nc t^dDQs1u$56q9A=HU+h6RZZH%%h/F||r! #%??6<<#@&++N2DKbjjQ$i7C #J t^c!eR5%HCU42::6+. (D$'FdGWeUDQE%y%8C #J t^, #a%XueEJD$U4t"**=/3 ,E5(H/3 ,E5(HU1WeU1W5F (Hh?H8}U5&(D"68UE4HE%y%8C #J t^ E * t^d3q5Q/03BU;b@rzzR t^c!eR5%HCGU5#BJJ7+. (D$'FdGWeUDQE%y%8C #J t^ - #a%XueEJD$U4t"**=/3 ,E5(H/3 ,E5(HU1WeU1W5F (Hh?H8}U5&(D"68UE4HE%y%8C #J t^Rx#D#a%XueLdDQs1u$56q98T4H d#D#b&"huM28cRSeTWXZTZI[2\/ Xx(K8"**U< "K8TK d+. (D$'F'GDFD$q&$Q?F tby GU5&rzz:$%Cq'7GWEfx/0)"eUE4Hf &r51 CHCI #J t^Rx0s1ub(K ddDQs1u$56q98T4H d0s2vr8L d28cRSeTWXZTZI[2\/ Xx)[(H2::V< "K8TK d tby G/3 ,E5(H/3 ,E5(HAAXAF'GDFE57E57CFU5&rzz:$%Cq(HhIfx/0)"eUE4Hf &r51 CH #J t^E$%CRx!'tCE#a%/@!AhA !' tCE#b&7I!JhA !8AIDAX 519DECx78>@jjJ 8!#X./))(3<<2%"KKE "v|||d0k(r1t%||d z|d 1}#d } |r"td2|#|jn|d3k(r1t'||d z|d 1}#d } |rtd2|#|jn|d4k(rtd,||d z|d+zd}$t%||d+z||}#|rtd|$|#|j|#\}}}%}&| xs|%xs|&} t)||$|\}'}(| |'d5kz} |'|(d z||d z||d zf})|rtd2|)|j|d k(r/| |)gn$|d6k(rtd,||d z|d+zd}$t'||d+z||\}*}+|rtd|$|*|+|j|*\},}-}.}/|+\}0}1}2}3| xs|.xs |/xs|2xs|3} t)||$|\}'}(| |'d5kz} |'|(d z|,|0d z|-|1d zf})|rtd2|)|j|d k(ro| |)gne|dk(r7td ||d z|dz\}$}"|rFtd7|$|"fz|jn)|t*vrd } n|rtd8|z|jd } |dkrtd"|jy||z }d|cxkr|krrn|rFtd9| | | fz|jt| d k\rtd:|jyyy);Nrr\rrrHrrr8r)rrr%rMr%r(rz tlist postr0rrr/rrr@rr&rrrrrGrrz**** Dud size; exiting ****rErrz FuncID=%drrCr<rr7rz namex=%dr=r'r)rBr&rrr9rz refx=%d namex=%dr2z.End of formula. any_rel=%d any_err=%d stack=%rr4)rjrkrlr r;rr<r=rrr8r?r>rCrr rFrIrRrZrzrX)4rprOr^rQrBrrisnamer_rPrQrPrNrbrcrrdrerfrgrGrHrrrrmrnrorkrlrqrrrurwrLr\rhrqrErFrrr4rXrYrrrrrrrrs4 r0rr^sk  ngr3t92::FdAwRZZ8 8O8 2JE C EGG LLE s W  tCy !dt)! 2+CCs  3Z  ME2vv67=?ZZ Iv%%#E4Ac!e+<= dtdD\ C4{E C5zQ&iikiikcCi |UD4|UD5zQ&iikiik3x1}$}3x1}$}%k3q63q6Bf }e"**E4|UD5zQ&iikiik3x1}$}3x1}$}%k3q63q6Bf }e"**E4"5$s1uSU*;< r$.. >D=a!BBJeU\^`bdMeelnlvlvw48"4A;/BAc!eBh/DaB#RZZP77bjjI 2IC  T>  t^Sr]"B3r?DQs1uRx,@AEU>E1 C t^Sr]"B!$r"2DQs1uRx4HILE5"5#.MFE!%/LE5UEPUW\^dHeelnlvlvw t^4c!eCE!23EU=50rzzB t^c!eR:CU42::6 t^%dCE2x@CU42::6 t^d3q5Q/03BU;b@rzzR t^c!eR!_gu -.46JJ @ u:? 2 D  r9cb|d}|s|rd|dzzSd|dzzS|r|rd|zSyd||zdzdzzS) NTzR%drz$%dzR[%d]rz%dr=r+)rGrowxrelrCr*s r0 rownamerelrs\ }  DF# #Q T> ! EDLE)A- ..r9ct|d}|s|rd|dzzSdt|zS|r|rd|zSyt||zdzS)NTzC%dr$zC[%d]Cr>r)rHcolxrelrDr*s r0 colnamerelrsW }  D1H% %WT]"" T> ! EDLC' ((r9c(dt||dzfzS)z(Utility function: ``(5, 7)`` => ``'H6'``z%s%drr)rGrHs r0rrs WT]DF+ ++r9cF|r d|dz|dzfzSdt||dzfzS)z*Utility function: ``(5, 7)`` => ``'$H$6'``zR%dC%drz$%s$%dr)rGrHr*s r0rr"s5 4646*** wt}d1f- --r9c|s|s t|||S|r||r|d}t||||}t||||}|r||zS||zS)NT)rrr) rGrHrrrCrDr*crs r0rr(s] 74t,,EMw5=4%.A4%.A 1u q5Lr9cTd}|dkr||St|d\}}||dz ||zS)z6Utility function: ``7`` => ``'H'``, ``27`` => ``'AB'``ABCDEFGHIJKLMNOPQRSTUVWXYZr@rr)rI)rHalphabetxdiv26xmod26s r0rr4sA+H rz~b) #hv&666r9c|ry||dzk(r||dzk(r t|||St|||dt|dz |dz |S)z( ``(5, 20, 7, 10)`` => ``'$H$6:$J$20'`` Nrr)r)rlorhiclochir*s r0 rangename2dr=sQ  c!e|s1u 3T**!#sD1;s1uc!eT3R SSr9c |\}}}}|\} } } } | s| r|d}| s| r|d}t||| | |||dt|dz |dz | | |||S)NTrr)r) rlo_rhi_clo_chirlorel_rhirel_clorel_chirelrCrDr*rrrrrlorelrhirelclorelchirels r0rrEst(Cc3%@"FFFF&em&emC3&&%ECE3q5&&%E r9cT|j}t|g|dddt|ddS)z Utility function: ``Ref3D(1, 4, 5, 20, 7, 10)`` => ``'Sheet2:Sheet3!$H$6:$J$20'`` (assuming Excel's default sheetnames) Nr%r#r)r4 sheetranger)bookrr4s r0rrRs8\\F4%&!*%VAa[! ##r9c|j}|j}t||dd|dd}t|dd|dd|||}|s|S|d|S)z Utility function: ``Ref3D(coords=(0, 1, -32, -22, -13, 13), relflags=(0, 0, 1, 1, 1, 1))`` In R1C1 mode => ``'Sheet1!R[-32]C[-13]:R[-23]C[12]'`` In A1 mode => depends on base cell ``(browx, bcolx)`` Nr%rr#)r4r sheetrangerelr) rrrCrDr*r4rshdescrngdescs r0rr^sa\\F~~H 4Xbq\ :FVAa[(1Q-tLG g &&r9c|dk\r||}ndddddj|d|z}d|vrd|jdd zdzSd |vrd|zdzS|S) Nrz?internal; any sheet?zinternal; deleted sheetzinternal; macro sheetz <>)r9r:rgraz ?error %d?'z''r)rrB)shnamesshxshnames r0quotedsheetnameros| ax()'  #c<#% &   f}V^^C..44 f}V|c!! Mr9cx|j}t||}||dz k7r|dt||dz zz }|S)Nrr) sheet_namesr)rsloshirrs r0rrsF G Wc *F c!e|#Q777 Mr9cj|\}}|\}}|s|s t|||S|dcxk(r|dz k(rnJ|r|sJy)Nrrry)r)rsrange srangerelrrslorelshirels r0rrsLHCNFF &$S)) 1 A 4 46f4 4 r9)NN)r)rr)NNNrrr)Nr)NNr)ur __future__rrRoperatoroprstructrbiffhrrrr r r timemachine__all__rrrr r!r"ALL_FMLA_TYPESrrrr rr;rrrrrrrHsztab0sztab1sztab2sztab3sztab4r;r=rGrCsetrXminmaxr?r>r8rIrKrRrZrzr~ Exceptionrobjectr#r2r$tAddtSubtMultDivtPowertConcatrangetLTtLEtEQtGEtGTtNErrrrrrrrrrE_arith_argdict _cmp_argdict _strg_argdictaddsubmultruedivrrr@rDr5r:rrrrrrrrrrrrrrrrr+r9r0rs;&      ^ + ^ + 1 14F F 1 14F F 1 14F F 1 14F F  1 14F F 1 14F F 1 14F F _ , _ ,#             ] _ ` a ]          RF  8F  :F  8 F   8 F   8 F  8F  8F  8F  8F  8F  7F  9F  8F  8F   :!F " 8#F $ 8%F & 8'F ( 8)F * 7+F , 8-F . 8/F 0 81F 2 83F 4 85F 6 87F 8 89F : 9;F < 9=F > ;?F @ 9AF B :CF D 8EF F 8GF H 7IF J 7KF L 8MF N 8OF P 8QF R 9SF T :UF V :WF X :YF Z :[F \ :]F ^ :_F ` 8aF b :cF d 9eF f ;gF h ;iF j ;kF l ;mF n kF l 8mF n 8oF p 8qF r 8sF t 8uF v 8wF x 8yF z 8{F | :}F ~ 8F @ ? Cc3, Cc3,  ($59($ <$#&LBC&* 9 Y1fY1x?/E?/B      $T40S#sC "  ., xs+ ^T377R 5^T377R 5^T377R 5^T3;;S 9 ^T8R 6 ]E377R 5\5'R 5\5'R 6\5'R 5\5'R 6\5'R 5\5'R 6  C , C , B -   ] B8<,-K\ZEH / ),. 7T  #'" r9