Ceballos: Aplicaciones .Net multiplataforma (Proyecto Mono)

download Ceballos:  Aplicaciones .Net multiplataforma (Proyecto Mono)

of 16

Transcript of Ceballos: Aplicaciones .Net multiplataforma (Proyecto Mono)

  • 7/23/2019 Ceballos: Aplicaciones .Net multiplataforma (Proyecto Mono)

    1/16

  • 7/23/2019 Ceballos: Aplicaciones .Net multiplataforma (Proyecto Mono)

    2/16

    M~oedmdeigbt 'Gbx`roxe~omxmaiv`m

    *^viubdxi @igi%

    ^omxmaiv`mt Oegrz/ \eghi|t/ @md IT Z

    Adi' Kmqebv Dbfmooit Tebvvm^viabtiv xexromv hb om

    Btdrbom ioexdgedm Tr~bveivRgeqbvtehmh hb Modmo

    jxx~;))|||'akdbfmooit'bt

  • 7/23/2019 Ceballos: Aplicaciones .Net multiplataforma (Proyecto Mono)

    3/16

    M~oedmdeigbt 'Gbx `roxe~omxmaiv`m'

    Adi' Kmqebv Dbfmooit Tebvvm

    Hb om bhedeg; VM-@M 6>>:

    @MVDMT DI@BVDEMOBT; Omt `mvdmt hb oit ~vihrdxit dexmhit bg bo digxbgehi hb btxb oefvi

    *tbmg i gi `mvdmt vbletxvmhmt% ~bvxbgbdbg m trt vbt~bdxeqit ~vi~ebxmveit' VM-@M gi btx

    mtidemhm m geglg ~vihrdxi i amfvedmgxb `bgdeimhi bg om ifvm/ oit hmxit u oit bkb`~oit

    rxeoe{mhit tig aedxedeit tmoqi }rb tb eghe}rb oi digxvmvei'

    VM-@M bt rgm `mvdm di`bvdemo vbletxvmhm'

    Tb jm ~rbtxi bo `ze`i b`~bi bg iavbdbv mo obdxiv rgm egaiv`mdeg di`~obxm u ~vbdetm'

    Teg b`fmvli/ VM-@M Bhexivemo gi mtr`b geglrgm vbt~igtmfeoehmh hbveqmhm hb tr rti/

    ge xm`~idi ~iv drmo}rebv qeiomdeg hb ~mxbgxbt ge ixvit hbvbdjit hb xbvdbvmt ~mvxbt }rb ~rhebvmg

    idrvvev' Btxm ~rfoedmdeg xebgb ~iv ifkbxi ~vi~ivdeigmv rgit digide`ebgxit ~vbdetit u mdvbhexmhit

    tifvb bo xb`m xvmxmhi' Tr qbgxm gi tr~igb ~mvm bo bhexiv geglrgm aiv`m hb mtetxbgdem oblmo/

    mh`egetxvmxeqm ge hb geglg ixvi xe~i' Bg dmti hb ~vbdetmvtb mtbtivm oblmo r ixvm aiv`m hb murhmbz~bvxm/ hbfbg frtdmvtb oit tbvqedeit hb rg ~viabteigmo di`~bxbgxb'

    Vbtbvqmhit xihit oit hbvbdjit hb ~rfoedmdeg bg drmo}rebv ehei`m'

    Tblg oi het~rbtxi bg bo Dheli ^bgmo qelbgxb geglrgm ~mvxb hb btxb oefvi ~rbhb tbv

    vb~vihrdehm/ lvmfmhm bg tetxb`m hb mo`mdbgm`ebgxi i xvmgt`exehm bg aiv`m molrgm ge

    ~iv drmo}rebv ~vidbhe`ebgxi/ um tbm bobdxvgedi/ `bdgedi/ vb~vilvaedi/ `mlgxedi i

    drmo}rebv ixvi/ teg mrxive{mdeg ~vbqem u ~iv btdvexi hb VM-@M3 tr digxbgehi btx ~vixblehi

    ~iv om Obu qelbgxb }rb btxmfobdb ~bgmt hb ~veteg u)i `roxmt m }rebgbt egxbgdeigmhm`bgxb/

    vb~vihrkbvbg i ~omlemvbg/ bg xihi i bg ~mvxb/ rgm ifvm oexbvmvem/ mvxtxedm i debgxaedm'

    Bhexmhi ~iv;

    VM-@M Bhexivemo

    D) Kmvm`m/ 4M/ ^ioligi eghrtxvemo Elmvtm

    6::1> ^MVMDRBOOIT HBO KMVM@M/ @mhveh

    Xboaigi; 5= 12: 86 :>

    Xbobamz; 5= 116 := 45

    Divvbi bobdxvgedi; bhexivemoNvm-`m'di`

    Egxbvgbx; |||'vm-`m'bt u |||'vm-`m'di

    ETFG; 5>:

  • 7/23/2019 Ceballos: Aplicaciones .Net multiplataforma (Proyecto Mono)

    4/16

  • 7/23/2019 Ceballos: Aplicaciones .Net multiplataforma (Proyecto Mono)

    5/16

    DIGXBGEHI^VOILI '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ZE

    DM^XROI =' IFKBXEQIT ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' =

    M^OEDMDEG 'GBX ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' =Vb}retexit '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

  • 7/23/2019 Ceballos: Aplicaciones .Net multiplataforma (Proyecto Mono)

    6/16

    QEEE M^OEDMDEIGBT 'GBX @ROXE^OMXMAIV@M

    DM^XROI 4' EGXBVAMDBT LVAEDMT '''''''''''''''''''''''''''''''''''''''''''''''''''''''' 62

    BTXVRDXRVM HB RGM M^OEDMDEG '''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 62Di`~eomv u bkbdrxmv om m~oedmdeg ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 65

    RXEOE[MGHI @IGIHBQBOI^ ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 4>HETBI HB OM EGXBVAM[ LVAEDM ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 46

    Dvbmv rg di`~igbgxb ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 46Mmhev oit digxviobt mo aiv`romvei ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 44

    @MGBKI HB BQBGXIT ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 8>Mtelgmv `mgbkmhivbt hb bqbgxit m rg ifkbxi ''''''''''''''''''''''''''''''''''''''''''''''''' 8=

    MMHEV IXVIT DIGXVIOBT ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 86Mmhev rgm dmkm hb xbzxi ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 84Mmhev rg fixg hb ~rotmdeg '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 88Mmhev rgm hbtdve~deg mfvbqemhm '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 82Mmhev rgm dmteoom hb qbveaedmdeg '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 82Mmhev rg fixg hb i~deg ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 81Mmhev rgm fmvvm hb hbt~om{m`ebgxi '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 8:Mmhev rgm oetxm '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 85Mmhev rgm fmvvm hb `bgt '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 2>@itxvmv dmkmt hb heoili '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 28Di`~eomv u bkbdrxmv om m~oedmdeg ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 21

    BKBVDEDEIT VBTRBOXIT ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 2

  • 7/23/2019 Ceballos: Aplicaciones .Net multiplataforma (Proyecto Mono)

    7/16

    DIGXBGEHI EZ

    DM^XROI 2' AIV@ROMVEIT \BF ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' =>4

    AIV@ROMVEIT \BF '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' =>8Digxviobt hb tbvqehiv JX@O ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' =>2Digxviobt hb tbvqehiv \bf ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' =>1

    M^OEDMDEG \BF MT^'GBX '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' =>:Dvbmv om fmtb hb hmxit ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' =>5Dvbmv rg ~viubdxi MT^'GBX '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ==>Mlvblmv digxviobt u xbzxi m om ~legm ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ==4Dedoi hb qehm hb rgm ~legm ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ==2Dvbmv digxviomhivbt hb bqbgxit ~mvm oit digxviobt ''''''''''''''''''''''''''''''''''''''''' ==1Digxvio \bf ~mvm mddbti m hmxit ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ==

  • 7/23/2019 Ceballos: Aplicaciones .Net multiplataforma (Proyecto Mono)

    8/16

    Z M^OEDMDEIGBT 'GBX @ROXE^OMXMAIV@M

    ZT^ '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' =:6M~mdjb ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' =:4

    EGTXMOMDEG HB @uT]O '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' =:1DIGBDXMV RGM M^OEDMDEG M @uT]O ''''''''''''''''''''''''''''''''''''''''''''''''''' =5>

    M^GHEDB F' DH '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' =5=

    M^GHEDB D' DHELIT HB DMVMDXBVBT'''''''''''''''''''''''''''''''''''''''''''''''''' =54

    RXEOE[MDEG HB DMVMDXBVBT MGTE DIG \EGHI\T '''''''''''''''''''''''''' =54KRBLI HB DMVMDXBVBT MGTE ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' =58

    KRBLI HB DMVMDXBVBT MTDEE'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' =52KRBLI HB DMVMDXBVBT RGEDIHB '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' =51

    GHEDB ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' =5

  • 7/23/2019 Ceballos: Aplicaciones .Net multiplataforma (Proyecto Mono)

    9/16

    DM^XROI =A'K'Dbfmooit)VM-@M

    IFKBXEQITBtxb oefvi bgtbm d`i hbtmvvioomv m~oedmdeigbt 'GBX tifvb rgm ~omxmaiv`m Oe-grz' Btxb digide`ebgxi tbv bz~rbtxi bg oit telrebgxbt dm~xroit/ dmhm rgi hb oitdrmobt qbvtmv tifvb rgi hb oit xb`mt bt~bdeaedmhit m digxegrmdeg;

    EGXVIHRDDEG M @EDVITIAX 'GBX U M @IGI EGXBVAMDBT LVAEDMT MDDBTI M FMTBT HB HMXIT AIV@ROMVEIT \BF TBVQEDEIT \BF

    Xihit btxit xb`mt tbvg btxrhemhit ~vmdxedmghi dig bo hbtmvviooi hb rgm m~oe-dmdeg 'GBX hb xvbt dm~mt rxeoe{mghi @igi tifvbOegrz'

    @igi bt rg ~viubdxi hb e`~ob`bgxmdeg hbo bgxivgi hb xvmfmki 'GBX Avm`b-|ivchb @edvitiax/ rxeoe{mghi dheli oefvb/ }rb jm tehi hbtmvvioomhi ~mvm oit tet-xb`mt i~bvmxeqit Oegrz u \eghi|t/ bgxvb ixvit'

    M }reg qm hevelehi btxb oefvi9 M ~bvtigmt }rb um digidbg om ~vilvm`mdegivebgxmhm m ifkbxit dig D$ u jmg hbtmvvioomhi m~oedmdeigbt ~mvm Egxbvgbx ~mvm rgm

    ~omxmaiv`m \eghi|t' Tb xvmxm hb }rb btxmt ~bvtigmt qbmg d`i ~rbhbg m~oedmv xi-hit btit digide`ebgxit tifvb rgm ~omxmaiv`m Oegrz dig `ru ~idi btarbv{i' Oitdigide`ebgxit vb}rbvehit arbvig xb`m hb bz~itedeg bg `et ixvit oefvit @edvitiaxD$ - Drvti hb ~vilvm`mdeg uBgdedoi~bhem hb @edvitiax Qetrmo D$'

    M^OEDMDEG 'GBX

    Bo bkb`~oi ~vdxedi }rb hbtmvvioomvb`it tbv rgm m~oedmdeg hetxvefrehm `roxedm~m~mvm Egxbvgbx' Digtxmv hb xvbt dm~mt; ~vbtbgxmdeg/ oledm hb gblidei u hmxit' Om

  • 7/23/2019 Ceballos: Aplicaciones .Net multiplataforma (Proyecto Mono)

    10/16

    6 M^OEDMDEIGBT 'GBX @ROXE^OMXMAIV@M

    dm~m hb hmxit btxmv mh`egetxvmhm ~iv bo lbtxiv hb fmtbt hb hmxit ^itxlvbT]O' Omdm~m hb om oledm hb gblidei `mgbkmv bo mddbti m oit hmxit u tr hetxvefrdeg bgxvboit doebgxbt \bf i hb btdvexivei' Om dm~m hb ~vbtbgxmdeg digtxmv hb rg m~oedm-deg hb btdvexivei *~vilvm`mt egtxmomhit bg bo ivhbgmhiv)di`~rxmhiv% u rgm m~oe-dmdeg \bf' Om telrebgxb aelrvm hbtdvefb tr mv}rexbdxrvm;

    Rgm ~mvxb e`~ivxmgxb hb 'GBX bt tr dm~mdehmh ~mvm dvbmv m~oedmdeigbt hetxve-frehmt bg om \bf' Om xbdgioilm 'GBX ~bv`exb dvbmv om egxbvam{ hb rtrmvei hb omm~oedmdeg `bhemgxb qbgxmgmt *aiv`romveit hb btdvexivei% i `bhemgxb ~legmt }rb`rbtxvmg aiv`romveit \bf u dvbmv di`~igbgxbt rxeoe{mghi tbvqedeit \bf Z@O'

    Oit aiv`romveit hb btdvexivei *omt qbgxmgmt }rb hmg orlmv m rgm egxbvam{ lvae-dm% tb rxeoe{mg ~mvm hbtmvvioomv m~oedmdeigbt bg omt }rb tb bt~bvm }rb bo doebgxb `m-gbkb rgm ~mvxb telgeaedmxeqm hb om dmvlm hb xvmfmki hb om m~oedmdeg'

    Oit aiv`romveit \bf tb rxeoe{mg ~mvm dvbmv m~oedmdeigbt bg omt drmobt om egxbv-am{ ~ve`mvem hb rtrmvei bt rg gmqblmhiv'

    Oit tbvqedeit \bf Z@O tig di`~igbgxbt }rb tb bkbdrxmg bg bo tbvqehiv/ utrbobg egdorev om oledm hb gblidei' Mo elrmo }rb oit di`~igbgxbt xvmhedeigmobt/oit tbvqedeit \bf bgdm~tromg argdeigbt bt~bdaedmt u tb obt ~rbhb oom`mv hbthbheabvbgxbt m~oedmdeigbt' Teg b`fmvli/ btxg het~igefobt m xvmqt hb ~vixidioit\bf/ oi }rb obt jmdb di`~mxefobt dig m~oedmdeigbt }rb tb bkbdrxmg bg heabvbgxbt

    obglrmkbt/ bg heabvbgxbt b}re~it b/ egdorti/ bg heabvbgxbt tetxb`mt i~bvmxeqit'

    Hmxit

    Dmv~bxmaixit

    Oledm hb gblidei^vbtbgxmdeg

    Doebgxb hb btdvexivei

    Doebgxb \bf

    Tbvqedei \bf Z@O

    Aiv`romveihb btdvexivei

    Aiv`romvei\bf

    @xihit ~mvmmddbhbv m oit hmxit

    FHaixit

  • 7/23/2019 Ceballos: Aplicaciones .Net multiplataforma (Proyecto Mono)

    11/16

    DM^XROI =; IFKBXEQIT 4

    Bo ifkbxeqi hb btxm m~oedmdeg bt het~igbv hb rgm fmtb hb hmxit ~mvm mo`mdbgmvaixit dig bo aeg hb `itxvmvomt/ mmhev grbqmt aixit u fivvmvomt3 ~iv oi xmgxi/ hbfb-vb`it xbgbv egtxmomhi ^itxlvbT]O dig bo aeg hb dvbmv u lbtxeigmv om fmtb hb hmxit}rb mo`mdbgmv grbtxvi ofr` hb aixit' Btxm fmtb hb hmxit ~ihv tbv mddbhehmhbthb rgm m~oedmdeg hb btdvexivei *m~oedmdeg doebgxb vbtehbgxb bg om `}regm hbortrmvei% i hbthb rg m~oedmdeg \bf *m~oedmdeg doebgxb vbtehbgxb bg rg tbvqehiv\bf u mddbhehm ~iv `bhei hb rg gmqblmhiv vbtehbgxb bg om `}regm hbo rtrmvei%/

    ~bv`exebghi vbmoe{mv omt i~bvmdeigbt hb mmhev u boe`egmv aixit' Btxmt i~bvmdeigbttbvg ~vi~ivdeigmhmt ~iv rg tbvqedei \bf }rb tbv mddbhehi hbthb drmo}rebvm hbomt m~oedmdeigbt doebgxb' Bg dm`fei/ ~mvm ifxbgbv omt aixit hb om fmtb hb hmxit u`itxvmvomt oit doebgxbt vbmoe{mvg rgm digbzeg vb`ixm dig om fmtb hb hmxit3 btxibt/ bg btxb dmti bo mddbti m oit hmxit gi tb jmdb m xvmqt hbo tbvqedei \bf'

    Om fmtb hb hmxit tb oom`mvaixit u digxbghv rgm xmfom mofr` dig omt telrebg-xbt dior`gmt;aixi/ rgm dmhbgm hb dmvmdxbvbt hb oiglexrh `ze`m 4> ~mvm mo`mdb-gmv om vrxm hbo aedjbvi }rb digxebgb om e`mlbg/ gi`fvb/ rgm dmhbgm hb dmvmdxbvbthb oiglexrh `ze`m 4> ~mvm mo`mdbgmv bo xxroi hb om aixi/ mrxiv/ rgm dmhbgm hbdmvmdxbvbt hb oiglexrh `ze`m 4> ~mvm lrmvhmv bo gi`fvb hbo dvbmhiv hb om aixi uhbtdve~deg/ rgm dmhbgm hb dmvmdxbvbt hb oiglexrh `ze`m 8>> ~mvm mo`mdbgmv rg

    fvbqb xbzxi }rb hbtdvefm om aixi'

    ^mvm om dvbmdeg hbo texei \bf rxeoe{mvb`it MT^'GBX' Jmfv rg aiv`romvei

    \bf ~mvm `itxvmv omt aixit/ ixvi ~mvm mmhev rgm aixi u ixvi ~mvm fivvmvom' Bo tbv-qedei \bf tb bgdmvlmv hb egxbvmddeigmv dig om fmtb hb hmxit ~mvm mmhev i boe`e-gmv oit vbletxvit hb om fmtb hb hmxit qegdromhit dig omt aixit }rb btxmvgmo`mdbgmhmt bg rgm dmv~bxmaixit hbo tbvqehiv'

  • 7/23/2019 Ceballos: Aplicaciones .Net multiplataforma (Proyecto Mono)

    12/16

    8 M^OEDMDEIGBT 'GBX @ROXE^OMXMAIV@M

  • 7/23/2019 Ceballos: Aplicaciones .Net multiplataforma (Proyecto Mono)

    13/16

    DM^XROI =; IFKBXEQIT 2

    ^mvm ~ihbv ~mtmv hb rgm ~legm m ixvm hb rgm aiv`m tbgdeoom/ mmhevb`it rgmtbveb hb bgomdbt bg bo `mvlbg tr~bveiv hb omt xvbt ~legmt \bf dig rg mt~bdxi te-`eomv m oi `itxvmhi ~iv om aelrvm telrebgxb;

    ^mvm om dvbmdeg hbo doebgxb hb btdvexivei rxeoe{mvb`it omt domtbt hbo bt~mdei hbgi`fvbt Tutxb`'\eghi|t'Aiv`t' Mgoilm`bgxb mo doebgxb \bf/ bo doebgxb hb bt-dvexivei `itxvmv rgm qbgxmgm ~vegde~mo }rb git ~bv`exev gmqblmv ~iv omt hetxegxmtaixit hb om fmtb hb hmxit ~vbtbgxmghi/ mhb`t hb om e`mlbg/ oit hmxit vbomxeqit mdmhm rgm hb boomt/ u `itxvmv rgm fmvvm hb `bgt }rb hmv mddbti m omt qbgxmgmt

    ~mvm mmhev rgm aixi m om fmtb hb hmxit i boe`egmvom'

  • 7/23/2019 Ceballos: Aplicaciones .Net multiplataforma (Proyecto Mono)

    14/16

    1 M^OEDMDEIGBT 'GBX @ROXE^OMXMAIV@M

  • 7/23/2019 Ceballos: Aplicaciones .Net multiplataforma (Proyecto Mono)

    15/16

    DM^XROI =; IFKBXEQIT

  • 7/23/2019 Ceballos: Aplicaciones .Net multiplataforma (Proyecto Mono)

    16/16

    : M^OEDMDEIGBT 'GBX @ROXE^OMXMAIV@M

    Egtxmomv bo tbvqedei \bf bg rgtbvqehiv 6 krgxi dig bo tbvqehiv hb fmtbt hb hm-xit itxlvbT]O'

    Egtxmomv bo doebgxb \bf bg rgtbvqehiv =' Egtxmomv bo doebgxb hb btdvexivei bg bo b}re~i hbo rtrmvei' Aegmo`bgxb/ om m~oedmdeg tbv hbtmvvioomhm tifvb rgm ~omxmaiv`m Oegrz ~bvi

    tb ~ihv `mgxbgbv u bkbdrxmv teg geglrgm `iheaedmdeg hbthb rgm ~omxmaiv`m\eghi|t'

    M ~mvxev hbo bkb`~oi mgxbveiv ~rbhb ~bgtmv bg ixvmt hetxvefrdeigbt/ ~iv bkb`-~oi/ }rb om fmtb hb hmxit tb moikb bg ixvi tbvqehiv'

    MURHM

    Om hidr`bgxmdeg tifvb om fefoeixbdm 'GBX u hb`t fefoeixbdmt hbtmvvioomhmt bgbo ~viubdxi @igi ~rbhb bgdigxvmvom bg om telrebgxb hevbddeg;

    jxx~;))|||'li-`igi'di`)hidt)