ELF{4(UVS[ hjPPPƃ dQjjPtRPPVQjPV jPV jPV jPV j PV jPV jPV jPV jPV jPV jPV jPV jPV$tRPPVPPPVe[^]ÐUWVS[PtN@H WF@t WFDt e[^_]ËHt1e[^_]à FVP1ʍvUS[jjjEE$EPEPPE P t PEPEPEPE$]Ðt&US[jjjEE$EPEPPE P t PMQUREPE$]Ðt&US[E PEP@P]Ít&UWVS [ƃjW4$ u 8u-UB@r@ Pe[^_]É'u u UBDrDQU REPPƃ뢍t&UVS[uFHuUV@t HteVDt Ht Ve[^]fFD PPRٍ&' FP F@ PPR뉍&'UVS[uFHuUV@t HteVDt Ht Ve[^]fFD PPRٍ&' FP F@ PPR뉍&'UWVSP[E@EEPP} Wu 1e[^_]ÃuVjtEƃjQ4$E@EEUBEBƋEE_ZjPlj4$UUYEPuVxiEEUBEBeƃjMQlj4$tu EPtOt3UB+EPEP PE EP‹E@Ht}uE̅tL PPRPP EJt ExE PPR⍃PRPP붍t&UWVS`[EEPP} Wt)uu,jje[^_]Ít&'1e[^_]Ãh@jtEƃjQ4$E@EUB B@EBƋ}}XZEPWE4$EE@@UUTv'EUBrƃEP}WE4$uub}Ou@u<6}WEPy PEEE}G+EPEPŃ}}ENjuE̅tO PPEPPP EJt E]E PPR⍃PEPPP볃 URƒt(ENjuE̅t) PPR`E@HUU}PR뉃}UU}'UWVSx[EEPEPEPPE P VuY@Vj)EǃjP<$E@EEUB EBrEBNjEEZYjPE<$}UJEE'9<69~ WUR4EUB)BEjEPEXEPEuF Eg<6낁?EUBDJuuFD PPREx WpVUBDt]}E}}uEąR PPEPPP EJE PEe[^_]1e[^_]ËEEETUBDJ! uV@t HEH QPRUB@t@UB+EPEP[PP1NEJ)E PPRE PPRF@ PPRQPEPPP&UWVSl[EPEPPE Pu 1e[^_]Ãh@jtEƃjW4$E@EEUB EBB@EBƋ}}ZYjWE4$EE@<@UUKvEUBrƃjEPE4$Eub}Gu@u<6}WEPy PEUU}G+EPEPŃ}tٍENjuEȅtO PPURPP EJt EkE PPR⍃PuVPQ볍EE}KUWVSP[EEPPU Ru 1e[^_]ÍEt@(@,@@ j8PEPuVƒt~uE@HE딃EEЅ PPRPP UH? BRP1-t&UHt@PP1}Ht!PЃ BRP뱃 GWPЍPRPPKvUWVS`[EEEEEEPEPEPEPEPPU R u 1e[^_]ÍHEt@(@,@@ j8PEPEPEPEPEPuVƒ ~uE@HE뀃EE PPRPQ UH+ BRP1t&}HtPP8W1UHt1PP1 GWP롃 BRPPRPV;vUWVS[EE@EPEPEPEPP} W u 1e[^_]ËuOEEEEPjƒtEE@EEEUj8PMQEXP\}ƃjXP`4$``)` XPpXE PP`PPV UHE PPR1 XPpXE PP\PdEPW%UEЉEU҉U` XWƒpXE PPRPREE@VjPQZXPP\PPPfP`PՃMQEPE XP$PR뙐&UWVS[EEPEPEPP} W u1e[^_]fuMb)ʍD E PlQEEEEEEEj8PMQE\PXN \Px\E, PPXPPP1 f lPe[^_]Ít&ǃj\Pp<$px\E PPpVPQ \R1JPR1(&PP1PXPPP1PpPPWI \PƒtNx\EtP PPRNP0V1JEPlPƃ)PR*The functions in this module allow compression and decompression using the zlib library, which is based on GNU zip. adler32(string[, start]) -- Compute an Adler-32 checksum. compress(string[, level]) -- Compress string, with compression level in 1-9. compressobj([level]) -- Return a compressor object. crc32(string[, start]) -- Compute a CRC-32 checksum. decompress(string,[wbits],[bufsize]) -- Decompresses a compressed string. decompressobj([wbits]) -- Return a decompressor object. 'wbits' is window buffer size. Compressor objects support compress() and flush() methods; decompressor objects support decompress() and flush().adler32(string[, start]) -- Compute an Adler-32 checksum of string. An optional starting value can be specified. The returned checksum is an integer.compress(string[, level]) -- Returned compressed string. Optional arg level is the compression level, in 1-9.compressobj([level]) -- Return a compressor object. Optional arg level is the compression level, in 1-9.crc32(string[, start]) -- Compute a CRC-32 checksum of string. An optional starting value can be specified. The returned checksum is an integer.decompress(string[, wbits[, bufsize]]) -- Return decompressed string. Optional arg wbits is the window buffer size. Optional arg bufsize is the initial output buffer size.decompressobj([wbits]) -- Return a decompressor object. Optional arg wbits is the window buffer size.decompress(data, max_length) -- Return a string containing the decompressed version of the data. After calling this function, some of the input data may still be stored in internal buffers for later processing. Call the flush() method to clear these buffers. If the max_length parameter is specified then the return value will be no longer than max_length. Unconsumed input data will be stored in the unconsumed_tail attribute.flush( [length] ) -- Return a string containing any remaining decompressed data. length, if given, is the initial size of the output buffer. The decompressor object can no longer be used after this call.compress(data) -- Return a string containing data compressed. After calling this function, some of the input data may still be stored in internal buffers for later processing. Call the flush() method to clear these buffers.flush( [mode] ) -- Return a string containing any remaining compressed data. mode can be one of the constants Z_SYNC_FLUSH, Z_FULL_FLUSH, Z_FINISH; the default value used when mode is not specified is Z_FINISH. If mode == Z_FINISH, the compressor object can no longer be used after calling the flush() method. Otherwise, more data can still be compressed.% : ; I$ > $ > $ >   I : ;  : ;I8 : ; : ; I8 I !I/ &I' II : ; '  : ;<  : ; I8 : ;I : ; .? : ;' @4: ;I.: ; ' I@: ; I4: ; I.: ;' I@: ;I : ;I 4: ;I !4: ;I "4: ;I# $.: ;' @%.: ; ' &: ; I' : ;( )1UX Y*1+1 ,1UX Y-4: ;I.: ; I /4: ; I04: ; I 14: ; I 21UX Y 34: ; I4 : ; 51UX Y 6!I/74: ; I? < 84: ;I? < [, X inta 8]  k 1-p V# )# ~# # # # O # # # #$ . #(  #, "#0 $#4 &V#8 *V#< S,v#@ 0:#D 1H#F > 2#G 26#H ?#L H#T  I#X  J#\ ! K#` ( L!#d NV#h P#l   # < # UV#w  p  'V  5 .f( gV# g #)g  V#  # j V# #  V# { V# 6 # S #  #  #$  #(  #,  #0  #4  #8   #<  h#@   #D   #H  #L W  #P J#T #X #\ #` j!" #d $#h (M #l )X #p u,3#t Z -?#x  .#| Y/ # 0<# 1c # <2n # s3# 4y # 5 # 6 # =7 # 8# g9<# =:<# ;<# W<<# " =<# >6 #(r h~&,<<<& MS<h<<Tsy<<<< V< V<<<V<1<VV<BV\<V<gmV<VV<j V<<<V<V V< $*VD<VD4U[Vp<<( {V< V<p HB# OB# B# TB# rB# \B# :h# # B # #$ #( #, B#0 B#4 wB#8 CB#< bB#@ 9 #D y#H H #L 4#P h#T #X B#\ B#` B#d B#h ?B#l ah#p B#t B#x B#| -B# B# DB# fB# B# B#(ń Ɠ# B# E# # # x 1# \# J# B# #$i    Oԓ# T B# p֌#q ׏  fڷ# # # C #   $ * 6 A G S <^ d V~ <~ VB  < <Me   V <<U*&2  " < - 3 <M <<V& & s/    <  <<L  <  V    ^,3 k&# G '# (V# w*#  9 . !  #get *#setP#doc# Q#EHG( #  $V#  $ # j $V# %#  &V# z '# M^,  65;<P<b  [aV{<<_is$   R  #  E# o <# J <# <# 6 <#  <# _ <#  V# _tsT E R 9E# :# { <$# 8 =V# B >V# N ?V# S AV# BV# ] C<# D<#$ u F<#( m G<#,  H<#0 J<#4  K<#8  L<#< N<#@ Y VV#D ; XV#H Z<#L  [#P $ ,agV<$V<K _ 3 ,, A  < M N&8 R S# T# U#  W#  X#  Y#msg [#  \# ^# _#$ `#( bV#, V c#0  d#4+ P BV# e& L@ AV# A #zstB# 1 C<#@ D<#D EV#HF53lmm<,verm<`]M~p\{^5<P<t< %ux!bufut!len Vupx  <+2 <t <^  ux!buf ut!len Vup<0\~-!  <`! "y<:#u"~c$w vv$ mrl%J&zstI&errIV&msgI <:ft<errV Vup y<ul"= A'("~(B"~%("~N)* *+ C<c wQBtB<errDV" DVT"P E< IFVul"= GA' (3"~U(V}"~\( "~jE,0* *+)0u* *+<p (Xt<errV "2 Vb-M V" V Vul"P <s""= A'3 (  3"~ (' L Q"~2 ( o"~E )H+* *+ <0Z  t< errV "2 V " V/ "P <t " "= A '(W"~ (u"~ (1Q"~ )`* *+rI<`F @H<tH<r eJVuperrJV "K )xe* *+ "<@ !<t!<l "# $Vup $Vul e%Vuh %Vud %Vu`err%V )A* *+<X/ 9.<t<[  <{ Ɓ  V /errV 0d Vud0Vu`1zst'r(~, * *+~,* *+~2* *+~`w<`/d.v<tv<[x<{y3y zV0zVuh/errzV1zst{45* *+~5'* *+~(D~28* *+~0 * 9 J0=<  i0Q  f0V  n0p   0  > <. a6 )P 6e # 9s  N    @     . '   P  Z(@  s 6x [b 7g78 e7+<7a<< n /mirror/zmath/src/Python-2.4.4/Modules/usr/lib/gcc/i486-slackware-linux/4.2.4/include/usr/include/bits/usr/include/mirror/zmath/src/Python-2.4.4/./Includezlibmodule.cstddef.htypes.hstdio.hlibio.hobject.hmethodobject.hdescrobject.hstringobject.hpystate.hzconf.hzlib.hpythread.hpyerrors.hg&gu/"!!!!!!!"!!!"u"MyLgs1u!xy</%Ke/%KS2=MɃCw./Z|=vs=vKuw1/Px摑uK='g>uw. <qןu{M"{ $Mwu?-/D摟uuu3?u/vg(7jt<{.M%{ #u{.M{t~%Ly'摑g=uY wtxvvḵcXt" t K|%{g/ftgt %sJ|J.P//S摑guuY,?uvg8ztg}.M%} 7Kv1fLuuuuU}"v(}&LL+1fLuuuu+U~"( y~&x'0gh?uugzfC"$<j~&f=_~"vl)Z~9j~+ wx<%G uu=gg" &,#kug'(lvTufM7* zlibzlib.errorerrorMAX_WBITSDEFLATEDDEF_MEM_LEVELZ_BEST_SPEEDZ_BEST_COMPRESSIONZ_DEFAULT_COMPRESSIONZ_FILTEREDZ_HUFFMAN_ONLYZ_DEFAULT_STRATEGYZ_FINISHZ_NO_FLUSHZ_SYNC_FLUSHZ_FULL_FLUSH1.2.3ZLIB_VERSION1.0__version__s#|k:crc32s#|k:adler32unused_dataunconsumed_tail|i:flushfrom inflateEnd()Error %d %sError %d %s: %.200sfrom deflateEnd()while flushings#|i:decompresswhile decompressings#:compresswhile compressing|i:decompressobjInvalid initialization option|iiiii:compressobjs#|ii:decompresswhile decompressing datas#|i:compressBad compression levelwhile compressing datawhile finishing compressionzlib.Compresszlib.Decompressadler32compresscompressobjcrc32decompressdecompressobjflushmax_length must be greater than zeroCan't allocate memory for decompression objectwhile creating decompression objectCan't allocate memory for compression objectwhile creating compression objectOut of memory while decompressing datawhile preparing to decompress dataError %i while decompressing datawhile finishing data decompressionCan't allocate memory to compress dataOut of memory while compressing dataL0L `` P `p 0 | $AB B}. ^.J. AB FM. PkAB DR.a. Y. kAB DR.a. Y.0,AB D[. `AB F_. AB Bz.AB Bz.8 AB Fi.n.S.h.U.Q.P.. j.<AB Fb.X.S.p.W.T.R.. j.<p AB Fj. m.S.S.q.U..Q.. i.80*AB F_.o.S.u.U.M.P.. j.,`AB Fb.\.|.]. _.,AB FN. \.L. .0hAB Iu. s.d.S.. j.8`$AB Ij. {.. V.V.S.b. R.ttuITVT_P_VPPPttMuPV!9V<MVPQtQStSuPu tt+u+u 01t13t3\u`atactcu`u`u u u VVV|V !t!#t#u ;;lVlnunVttruVurVttuJJuu W7WRW?RlRu u"VV"\VVVJ\VVttc uc uc u uu u  R  P ) R) , P, 6 RA K RK c uuVu V . u7 c uupc upu<c u]VV]V q V  V) A VK c VVp q tq s ts (up Z Z  u / /  u   u  (up  (u D s us  u/ u  u u (u  up/ up up (up V W  V  W  V  W H VH a Wa e Vx V  W  V  W  V ? V? W V W W  uh/ uh uh (uh  ud/ ud ud (ud  u/ u u (u . W. R Ws  u/ u u (u01t13t3Zu0Zu0ddZu fnuZufnupZupfnuVhuhnVnLufnulZulfnuhZuhfnuZuVfkVVVLZVfkV8hVV`atactcu`u RRPRPERluPRPRRRuuttuccu cmu{uemRRPRP%RLUPUtR~PRRttXu==Xu =GupupXup=GululXul=GuhUuhXuh=Gu~u~\u~\ru~ru~u~Fu~FQRQhPhRu~u~u~u~&P&,R7Nu~NXR=DV:VrVcVVNV`atactcu`u VVNVVpxVVVRZVowV8upZupulul&u~Vu~Vu~u~ R #P#8RZ`P`mRwRWWWZwW initzlibBlv  ) A K ()ZH(?\\rNXhiw#8 =levelPyInterpreterStatesize_tvoidpfcrc32__doc__objobjprocnb_inplace_remaindernb_dividePyMethodDeftp_richcomparenb_intexc_typetp_deallocdictcompressobj__doc__total_in_IO_save_endnb_nonzerotp_as_sequencetp_reprsq_itemzallocunconsumed_tail_IO_write_basestatezlib_module_documentation_lockrecursion_depthnb_addnb_subtractGNU C 4.2.4tp_basestypetp_methods_IO_save_basetp_initZlibErrorz_streamgetwritebufferprocadler32val_chain_cur_columntp_weaklistoffsettp_is_gcnb_absoluteDecomp_dealloctp_nameComp_getattrcrc32val_objectgettertp_mronb_floor_divideternaryfuncPyZlib_compressmp_ass_subscriptob_refcntComptypelong intnb_inplace_multiplyPyThread_type_locknb_inplace_dividetotal_out_IO_markercmpfunctp_iterintintargfuncnb_inplace_orerrorDecomp_methodsuLonghashfuncgilstate_counterallocfuncadlernb_divmodnb_true_dividecurexc_typeintargfuncexc_tracebackprintfuncsigned chardecompress__doc___IO_FILEBytefPyBufferProcstp_docunsigned charDecomptypecompobjectcodec_search_cachenb_inplace_true_dividenb_floattp_freesq_repeatmp_lengthtp_basenb_inplace_powernb_remainderbf_getwritebufferPyMemberDefcharoutputcompress__doc__newcompobject/mirror/zmath/src/Python-2.4.4/Modules/zlibmodule.cr_strlen_IO_lock_tstrategytp_hashnext_out_IO_read_ptrcodec_search_pathPyTypeObject_poszlib_methodsstdincurexc_valueob_svalgetattrofuncdlopenflagsPy_tracefuncsq_ass_slicePyZlib_objdecompresstp_getattroinputsq_slice_markersexc_valuegetreadbufferprocPyZlib_unflushintintobjargprocreprfuncinitzlibtp_descr_setflushmodec_profilefuncPyExc_ValueErrorPyZlib_decompressobjavail_outtp_dictnb_negativenb_lshiftunaryfunctp_traverseselfptrmethodnewfunc_offsettp_as_mappingnb_inplace_subtracttp_setattrnb_inplace_addtraverseprocnb_inplace_xorcomp_compress__doc__closuretick_counterbf_getreadbuffernb_and_savetp_strlong unsigned intPyExc_MemoryErrorself_flags2getiterfunc_IO_read_basesq_concatmax_length_unused2__quad_tPyNumberMethodssq_inplace_repeatob_sstate_typeobjectPyZlib_crc32tracingtp_flags_old_offsetcodec_error_registryargsretvaltp_compareReturnValdecompressobj__doc__ml_flagsbf_getsegcountcurexc_tracebackz_stream_slong long inttstate_headnb_inplace_lshiftc_tracefunccomp_methodscomp_flush__doc__doublealloc_funcml_meth_IO_write_endc_profileobjob_sizePyObjectframegetsegcountproctp_iternextnb_hextp_cleartp_callPyCFunctioninquiry_IO_buf_baseDecomp_getattrunsigned intc_traceobjis_initialised__pad1__pad2__pad3__pad4__pad5descrsetfunc_sbufnb_positiveuse_tracingtp_memberssetattrfuncPyMappingMethods_flagscoercionob_shash_modetp_setattrosq_inplace_concatzlib_locknb_invertgetcharbufferprocByteopaqueiternextfunclong doublePyType_TypeFILEdescrgetfuncvisitprocinplennb_coercebf_getcharbuffermp_subscriptlong long unsigned intPyZlib_adler32builtinsComp_dealloclengthinterpinitproc__off_tnext_inmemLeveltp_allocPyZlib_compressobjnb_rshiftPyZlib_flushnb_inplace_andfreefunctp_getsettp_weaklist_IO_backup_base_shortbufnb_longRetValtp_as_bufferwsizeobjobjargprocsq_ass_item_next__off64_trichcmpfuncPyGetSetDefadler32__doc__avail_inPyZlib_objcompressdummytp_printtp_getattr_IO_buf_endPyThreadStatetp_cachetp_basicsizenamebinaryfuncunused_datastart_total_outold_lengthshort intsetterPySequenceMethodstp_itemsize_frame_vtable_offsetnb_inplace_rshiftasync_excnb_multiplytp_as_numberzfreenb_inplace_floor_dividedata_typeresult_strPyZlib_decompressuIntsetattrofuncdecomp_decompress__doc__getattrfuncdecomp_flush__doc__nb_ornb_octmodulesml_doc_IO_read_endtp_delsq_containsdestructor_filenointobjargproctp_newsq_lengthreservedob_typeshort unsigned intstdouttp_descr_getfree_funczlib_error_IO_write_ptrinternal_statenb_powernb_xorsysdictnexttp_subclasseswbitsml_nametp_dictoffsetthread_idGCC: (GNU) 4.2.4.symtab.strtab.shstrtab.rel.text.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.rodata.str1.1.rodata.str1.4.rel.data.rel.local.rel.debug_frame.debug_loc.rel.debug_pubnames.rel.debug_aranges.debug_ranges.debug_str.comment.note.GNU-stack@ % +%0%B( > pRIN @^2Nm2Q`Sp | H  U hXi hi  piP0 kzzz$k    "y<p IS]kPkxk0,@0 `0   p  0*`4GhY`$ ix oj g f# ( - 2 7 <) A7 FD KW Pm Ux [ a g m s y           ) G ; m [ |      X  (   |  ! ' -@ 3 9 ?* EN K Q8 We ]d cl !/5FU]k}#+<LZlzzlibmodule.cComptypeDecomptypezlib_module_documentationzlib_methodsZlibErrorzlib_locknewcompobjectPyZlib_crc32PyZlib_adler32Comp_getattrcomp_methodsDecomp_getattrDecomp_methodsDecomp_deallocComp_deallocPyZlib_unflushPyZlib_flushPyZlib_objdecompressPyZlib_objcompressPyZlib_decompressobjPyZlib_compressobjPyZlib_decompressPyZlib_compressadler32__doc__compress__doc__compressobj__doc__crc32__doc__decompress__doc__decompressobj__doc__decomp_decompress__doc__decomp_flush__doc__comp_compress__doc__comp_flush__doc__.LC0.LC1.LC2.LC3.LC4.LC5.LC6.LC7.LC8.LC9.LC10.LC11.LC12.LC13.LC14.LC15.LC16.LC17.LC18.LC19.LC20.LC21.LC22.LC23.LC24.LC25.LC26.LC28.LC27.LC30.LC29.LC31.LC33.LC32.LC34.LC35.LC36.LC39.LC37.LC38.LC40.LC42.LC41.LC43.LC47.LC45.LC48.LC44.LC46.LC49.LC53.LC51.LC52.LC54.LC50initzlib_GLOBAL_OFFSET_TABLE_PyType_TypePy_InitModule4PyErr_NewExceptionPyModule_AddObjectPyModule_AddIntConstantPyString_FromStringPyModule_AddStringConstantPyThread_allocate_lock_PyObject_Newcrc32PyArg_ParseTuplePyInt_FromLongadler32Py_FindMethodPyEval_SaveThreadPyThread_acquire_lockPyEval_RestoreThreadPyThread_release_lockPyObject_FreeinflateEnddeflateEndPyString_FromStringAndSizeinflate_PyString_ResizePyErr_FormatdeflatePyExc_ValueErrorPyErr_SetStringinflateInit2_PyExc_MemoryErrordeflateInit2_mallocdeflateInit_free lm ! !/ 6 != 3Cn[ 4aog x 5p 6q 7q 8q 9q :q ;q <q  =q >"q- ?4q? @FqQ AXqc Bjqp Cxr Dp E Fst  lu Gr r_ ljv Hwvx ly Iwyx? lM !Szq lv{ |} J ~ K  !z- l` lH l Lw{ |}{1;}^{} ~& M. N5 ;n Mv O}  l Lw{! '|/}W{ny}{}   ~F  P N   P O    QC Q l R w  {  | }( {= H }  {  }g  S N    ~b   T   S O A lO UYwy{ |}{}2{BM}w ~ V N + V6 O= Cq l Ww ! C, X4 N; A Y Z X O  lN [Xwo ! C  \ N !a Yhp ] \ O  l( ^2we C{}$P _^ Ne k `@v a b c  ` O  _(BP at l dw CNz e N {} e) N0 6H[ fbj g  e O  e O - h= iDLiy h 11"1/161=1D1K1R1`1g1l1w1111111111111&151D1S1b1q111111111111%141C1R1a1q1x1111111 11)151C1Q1_1m1{1111111111 11)181G1V1e1t1111111111 11*1:1J1Z1j1z11111111111C1i1111121]111111K1q111111 1 1 1, 1: 1H 1V 1d 1r 1 1 1 1 1 1 1 1 1 1 1 1 1( 16 1D 1R 1` 1n 1| 1 1 1 1 1 1 1 1 1 1 1" 10 1> 1L 1Z 1h 1v 1 1 1 1 1 1 1 1 1 1 1 17 1T 1 1 1 1 1 1 1 1# 1N 1Y 1d 1o 1z 1 1 1 1 1 11%1:1F1S111111111 111+1Q11111111111-1;1I1W1e1s11111111111 11)171L1W111111111'131A1O1]1k1y111111111 1 1+1>1L1h1v1111---1-1-1 -1$(,-51D1O-T11-11-11-11.1:>B-K1V-[1f-k1v-{1-1-1-1-1-11%)--61A-F1Q-a-f1u11-11-1-1-01'+/-81C-H1S-c-h1s-x1-11-11-1-1-050R1^bf-o1z-1--1-11-11-1-1- 1#1.-48A1L-RV_1j-t01-1-1--1-1-1 -1-1)-.15:>G1R-X\e1p-vz1-01-11-1 -1-$0A1MQU-^1m1x-}1-11111-0 1-%131=-B1L-Q1[-`1j-y-~1111-000:1EIM-V1d1n-s1}-1-11-1-10 0(,51?-I0e1qv1!1!1111 1*?1Lb1o111!1! 1 / 1< Q 1^ !t 1  1 1 1 1 1{   @DLPT\,@,Dd,h,,,,,0,4l,p,,(,,X,\,,