summaryrefslogtreecommitdiff
path: root/TAO/docs/interop-naming.eps
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/docs/interop-naming.eps')
-rw-r--r--TAO/docs/interop-naming.eps29808
1 files changed, 0 insertions, 29808 deletions
diff --git a/TAO/docs/interop-naming.eps b/TAO/docs/interop-naming.eps
deleted file mode 100644
index dd81db8c528..00000000000
--- a/TAO/docs/interop-naming.eps
+++ /dev/null
@@ -1,29808 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%BoundingBox: 28 32 747 560
-%%Title: interop-naming
-%%Creator: Canvas
-%%CreationDate: 4161999
-%%DocumentResources: procset Deneba_CanvasCustomColors
-%%+ procset Deneba_CanvasGraphics
-%%DocumentFonts: TimesNewRoman4-1
-%%+ Arial1-1
-%%+ Arial1-3
-%%+ Arial1
-%%DocumentSuppliedResources: procset Deneba_CanvasCustomColors
-%%+ procset Deneba_CanvasGraphics
-%%+ font TimesNewRoman4-1
-%%+ font Arial1-1
-%%+ font Arial1-3
-%%+ font Arial1
-%%DocumentProcessColors: Cyan Magenta Yellow Black
-%%Copyright: (C) 1994 Deneba Systems. All Rights Reserved
-%%EndComments
-%%BeginProlog
-%%BeginResource: procset Deneba_CanvasCustomColors
-%%Title: Deneba custom colors
-%%Version: 1.0
-%%CreationDate: 10/1/92
-%%Copyright: (C) 1994 Deneba Systems. All Rights Reserved
-/setcustomcolor where {pop true}{false}ifelse
-dup{save exch}if
-dup not{
-userdict /Deneba_CanvasCustomColors 15 dict put
-Deneba_CanvasCustomColors begin
-/initialize
-{
-Deneba_CanvasCustomColors
-{dup xcheck{bind}if pop pop}forall
-Deneba_CanvasCustomColors begin
-}def
-/terminate
-{currentdict Deneba_CanvasCustomColors eq{end}if}def
-
-/_tcust 5 array def
-
-/findcmykcustomcolor
-{Deneba_CanvasCustomColors begin _tcust astore end}def
-
-/setcustomcolor
-{
-exch
-aload pop pop
-4{4 index mul 4 1 roll}repeat
-5 -1 roll pop
-/setcmykcolor where{pop setcmykcolor}
-{
-4 1 roll 3{3 index add 1.0 exch sub 0.0 2 copy lt{exch}if pop 1.0 2 copy gt{exch}if pop 3 1 roll}repeat setrgbcolor pop
-}ifelse
-}def
-
-/setoverprint where {pop}
-{/setoverprint
-{pop}def}ifelse
-
-/currentoverprint where {pop}
-{/currentoverprint
-{false}def}ifelse
-
-/setseparationgray
-{setgray}def
-
-/setcmykoverprint
-{ 4{dup -1 eq{pop 0.0}if 4 1 roll}repeat
-/setcmykcolor where{pop setcmykcolor}
-{
-4 1 roll 3{3 index add 1.0 exch sub 0.0 2 copy lt{exch}if pop 1.0 2 copy gt{exch}if pop 3 1 roll}repeat setrgbcolor pop
-}ifelse
-}def
-
-/customcolorimage
-{pop image}def
-
-/separationimage
-{image}def
-
-end
-}if
-{restore}if
-%%EndResource
-%%BeginResource: procset Deneba_CanvasGraphics
-%%Title: Deneba standard graphics
-%%Version: 1.0
-%%CreationDate: 10/1/92
-%%Copyright: (C) 1994 Deneba Systems. All Rights Reserved
-userdict /Deneba_CanvasGraphics 300 dict put
-Deneba_CanvasGraphics begin
-/initialize
-{
-Deneba_CanvasGraphics
-{dup xcheck{bind}if pop pop}forall
-Deneba_CanvasGraphics begin
-
-currentscreen
-/_screenProc xdf
-/_screenAng xdf
-/_screenFreq xdf
-
-/setstrokeadjust where{pop true}{false}ifelse
-{
-/sa /setstrokeadjust load def
-/li /lineto load def
-/mt /moveto load def
-/ct /curveto load def
-/lh { currentpoint exch pop lineto}bind def
-/lv { currentpoint pop exch lineto}bind def
-}
-{
-/sa{{currentdict StrokeAdjustDict ne{StrokeAdjustDict begin}if}{ currentdict StrokeAdjustDict eq{end}if}ifelse} bind def
-userdict /StrokeAdjustDict 10 dict put
-StrokeAdjustDict begin
-/_xl
-{
-transform
-.25 sub round .25 add exch
-.25 sub round .25 add exch
-itransform
-}bind def
-
-/li{ _xl lineto}bind def
-/mt{ _xl moveto}bind def
-/ct{ _xl curveto}bind def
-/lh { dup _xl pop currentpoint exch pop lineto}bind def
-/lv { dup _xl pop currentpoint pop exch lineto}bind def
-/rp
-{
-_xl/cv_b xdf/cv_r xdf
-_xl/cv_t xdf/cv_l xdf
-cv_l cv_t moveto
-cv_r cv_t lineto
-cv_r cv_b lineto
-cv_l cv_b lineto
-closepath
-} bind def
-
-end
-
-}ifelse
-
-}def
-
-/terminate
-{
-userdict /StrokeAdjustDict known {currentdict StrokeAdjustDict eq{end}if}if
-currentdict Deneba_CanvasGraphics eq{end}if
-}def
-/_cvmtx matrix def
-/_rotlevel 0 def
-/_rotmatrix [ 5{matrix}repeat ] def
-/_txtmtx matrix def
-/_initmtx matrix def
-/xdf{exch def}def
-/min{2 copy gt{exch}if pop}def
-/max{2 copy lt{exch}if pop}def
-/CVvec 256 array def
-/T true def
-/F false def
-
-/_screens null def
-/_numscreens 0 def
-/_screenProc null def
-/_screenAng 0 def
-/_screenFreq 60 def
-/_id 0 def
-/_encodindex 0 def
-/_encodArr 10 array def
-/_fd 0 def
-/_textSave null def
-/_letterSpace 0 def
-/_spaceXtra 0 def
-/_PageSave null def
-
-/_fstr null def
-/_sstr null def
-
-/_ft 0 def
-/_st 0 def
-
-/_fp null def
-/_bp null def
-/_fs null def
-/_ps null def
-/_fg 1 def
-/_frgb 3 array def
-/_fcmyk 4 array def
-/_fcust 5 array def
-/_pg 0 def
-/_prgb 3 array def
-/_pcmyk 4 array def
-/_pcust 5 array def
-/_bkg 1 def
-/_bkrgb 3 array def
-/_bkcmyk 4 array def
-/_bkcust 5 array def
-/_fkg 0 def
-/_fkrgb 3 array def
-/_fkcmyk 4 array def
-/_fkcust 5 array def
-
-/_penh 1.0 def
-/_penv 1.0 def
-/_penv2 0.5 def
-/_penh2 0.5 def
-/save0 null def
-/_w 0 def
-/_h 0 def
-/st0 null def
-/st1 null def
-/st2 null def
-/st3 null def
-/stb 256 string def
-/pw 0 def
-/wdif 0 def
-/temp 0 def
-/currot 0 def
-/savehandler null def
-
-/debug
-{
-{
-/savehandler errordict /handleerror get def
-errordict
-/handleerror
-{
-$error begin
-newerror
-{
-/newerror false def
-showpage
-
-72 72 scale
-/Helvetica findfont .2 scalefont setfont
-.25 9.6 moveto
-(Error: )show
-errorname
-{
-dup type/stringtype ne
-{(converted error name will end up in this string)cvs}if
-show
-}exec
-
-.25 9.4 moveto
-(Offending Command: )show
-/command load
-{
-dup type/stringtype ne
-{(converted command name will end up in this string)cvs}if
-show
-}exec
-
-.25 9.2 moveto
-(Stack: )show
-ostack
-{
-.25 currentpoint .2 sub exch pop moveto
-dup type/stringtype ne
-{
-dup type/integertype eq
-1 index type/realtype eq or
-1 index type/nametype eq or
-not {type}if
-(converted stack will end up in this string)cvs
-}if
-show
-}forall
-showpage
-Deneba_CanvasGraphics /savehandler get exec
-}if
-end
-}put
-}if
-
-}def
-
-/lc
-{setlinecap}def
-
-/lj
-{setlinejoin}def
-
-/lm
-{setmiterlimit}def
-
-/lf
-{setflat}def
-
-/cp
-{closepath}def
-
-/np
-{newpath}def
-
-/gs
-{gsave}def
-
-/gr
-{grestore}def
-
-/printinfo{ FontDirectory /GothicBBB-Medium-83pv-RKSJ-H known
-{/GothicBBB-Medium-83pv-RKSJ-H}
-%% -- 16 bit Windows && Windows 95
-{/Times-Roman}ifelse findfont 9 scalefont setfont 0 setseparationgray show}def
-%% -- Windows NT
-%%{/Times-Roman}ifelse 9 fts sf 0 setseparationgray show}def
-
-/li
-{ lineto} def
-/lh
-{ currentpoint exch pop lineto}def
-/lv
-{ currentpoint pop exch lineto}def
-/mt
-{ moveto} def
-/mh
-{ currentpoint exch pop moveto}def
-/mv
-{ currentpoint pop exch moveto}def
-/ct
-{ curveto} def
-/rt
-{
-4 -2 roll moveto
-dup 0 exch rlineto
-exch 0 rlineto
-neg 0 exch rlineto
-closepath
-}def
-
-/sd
-{setdash}def
-
-/cd
-{[] 0 setdash}def
-/impat
-{
-/save0 save def
-currot 0 ne{currot neg rotate}if
-currentflat
-/_hr load _fm get exec
-{
-dup{gsave{flattenpath}stopped{grestore 2 mul dup setflat dup 200 ge{pop pop false exit}if}{grestore setflat true exit}ifelse}loop
-{
-flattenpath
-setflat
-pathbbox
-3 -1 roll exch
-8 div ceiling 8 mul dup 5 1 roll exch 8 div floor 8 mul
-sub abs cvi/_h xdf
-exch 8 div floor 8 mul dup 4 1 roll exch 8 div ceiling 8 mul
-sub abs cvi/_w xdf
-transform
-.25 sub round .25 add exch
-.25 sub round .25 add exch
-itransform
-translate
-_w _h scale
-/_h _h 8 mul def
-/st0 _w string def
-/temp 0 def
-_w _h T [_w 0 0 _h 0 _h]
-{
-_patstr
-temp 8 mod
-get/st1 xdf
-0 1
-st0 length 1 sub dup 0 le{pop 1}if
-{st0 exch st1 put}for
-/temp temp 1 add def
-st0
-}
-imagemask
-}if
-}{pop}ifelse
-save0 restore
-newpath
-}def
-/_fr
-{
-{
-/_fmp load _fm get exec
-}
-
-{_bp _fp impat}bind
-
-{}
-
-{}
-}def
-/_sr{
-
-{
-_cvmtx currentmatrix pop
-_penh _penv eq{_penh setlinewidth}{_penh _penv mul dup 1.0 lt{pop 1.0}if dup setlinewidth dup _penh exch div _penv exch div scale}ifelse
-currentflat
-dup{gsave{stroke}stopped{grestore 2 mul dup setflat dup 200 ge{pop exit}if}{grestore setflat exit}ifelse}loop stroke
-setflat
-_cvmtx setmatrix
-}
-
-{
-_cvmtx currentmatrix pop
-sk
-_bp _cvmtx setmatrix _fp _fm /_fm 1 def impat /_fm exch def
-}
-{}
-
-{}
-}def
-/_hr
-{
-{currentflat dup{gsave{eoclip}stopped{grestore 2 mul dup setflat dup 200 ge{pop false exit}if}{grestore setflat true exit}ifelse}loop dup {eoclip}if exch setflat}
-{currentflat dup{gsave{clip}stopped{grestore 2 mul dup setflat dup 200 ge{pop false exit}if}{grestore setflat true exit}ifelse}loop dup {clip}if exch setflat}
-}def
-/_fmp
-{
-{
-currentflat dup{gsave{eofill}stopped{grestore 2 mul dup setflat dup 200 ge{pop exit}if}{grestore setflat exit}ifelse}loop
-setflat
-newpath
-}
-{
-currentflat
-dup{gsave{fill}stopped{grestore 2 mul dup setflat dup 200 ge{pop exit}if}{grestore setflat exit}ifelse}loop
-setflat
-newpath
-}
-}def
-
-/_fill{ /_fr load _ft get exec}def
-/_stroke{ /_sr load _st get exec}def
-/fm
-{ /_fm exch def}def
-/fg{/_fg xdf /_ft 0 def/_fs{_fg setgray}def}def
-
-/fsg{/_fg xdf/_ft 0 def/_fs{_fg setseparationgray}def}def
-/f3{_frgb astore pop /_ft 0 def /_fs{_frgb aload pop setrgbcolor}def}def
-/f4{_fcmyk astore pop /_ft 0 def /_fs{_fcmyk aload pop setcmykoverprint}def}def
-/fc{/_fg xdf findcmykcustomcolor aload pop _fcust astore pop /_ft 0 def /_fs{_fcust _fg setcustomcolor}def}def
-/pg{/_pg xdf /_st 0 def/_ps{_pg setgray}def}def
-
-/psg{/_pg xdf /_st 0 def/_ps{_pg setseparationgray}def}def
-/p3{_prgb astore pop /_st 0 def/_ps{_prgb aload pop setrgbcolor}def}def
-/p4{_pcmyk astore pop /_st 0 def/_ps{_pcmyk aload pop setcmykoverprint}def}def
-/pc{/_pg xdf findcmykcustomcolor aload pop _pcust astore pop /_st 0 def /_ps{_pcust _pg setcustomcolor}def}def
-/fp
-{/_fstr xdf /_ft 1 def /_fs{/_patstr _fstr def}def}def
-/pp
-{/_sstr xdf/_st 1 def /_ps{/_patstr _sstr def}def}def
-/bg
-{/_bkg xdf /_bp{gsave _bkg setgray /_fr load 0 get exec grestore}def}def
-/b3
-{_bkrgb astore pop/_bp{gsave _bkrgb aload pop setrgbcolor /_fr load 0 get exec grestore}def}def
-/b4
-{_bkcmyk astore pop/_bp{gsave _bkcmyk aload pop setcmykoverprint /_fr load 0 get exec grestore}def}def
-/bc
-{/_bkg xdf findcmykcustomcolor aload pop _bkcust astore pop/_bp{gsave _bkcust _bkg setcustomcolor /_fr load 0 get exec grestore}def}def
-/kg
-{/_fkg xdf /_fp{_fkg setgray}def}def
-/k3
-{_fkrgb astore pop/_fp{_fkrgb aload pop setrgbcolor}def}def
-/k4
-{_fkcmyk astore pop/_fp{_fkcmyk aload pop setcmykoverprint}def}def
-/kc
-{/_fkg xdf findcmykcustomcolor aload pop _fkcust astore pop/_fp{_fkcust _fkg setcustomcolor}def}def
-/sp
-{/_penv xdf/_penh xdf/_penv2 _penv 2.0 div def/_penh2 _penh 2.0 div def}def
-/rp
-{
-/cv_b xdf/cv_r xdf
-/cv_t xdf/cv_l xdf
-cv_l cv_t moveto
-cv_r cv_t lineto
-cv_r cv_b lineto
-cv_l cv_b lineto
-closepath
-}def
-/rr
-{
-/yradius xdf
-/xradius xdf
-/cv_b xdf
-/cv_r xdf
-/cv_t xdf
-/cv_l xdf
-cv_l xradius add cv_t moveto
-cv_r xradius sub cv_t lineto
-
-_cvmtx currentmatrix pop
-currentpoint translate
-xradius yradius scale
-1 0 1 1 1 arcto 4{pop}repeat
-_cvmtx setmatrix
-
-cv_r cv_b yradius sub lineto
-
-_cvmtx currentmatrix pop
-currentpoint translate
-xradius yradius scale
-0 1 -1 1 1 arcto 4{pop}repeat
-_cvmtx setmatrix
-
-cv_l xradius add cv_b lineto
-
-_cvmtx currentmatrix pop
-currentpoint translate
-xradius yradius scale
--1 0 -1 -1 1 arcto 4{pop}repeat
-_cvmtx setmatrix
-
-cv_l cv_t yradius add lineto
-
-_cvmtx currentmatrix pop
-currentpoint translate
-xradius yradius scale
-0 -1 1 -1 1 arcto 4{pop}repeat
-_cvmtx setmatrix
-
-closepath
-}def
-/ep
-{
-_cvmtx currentmatrix pop
-translate
-scale
-1 0 moveto
-0 0 1 0 360 arc
-closepath
-_cvmtx setmatrix
-}def
-/wd
-{
-_cvmtx currentmatrix pop
-translate
-scale
-0 0 moveto
-0 0 1 5 -2 roll arcn
-closepath
-_cvmtx setmatrix
-} def
-/as
-{
-newpath
-_cvmtx currentmatrix pop
-translate
-scale
-0 0 1 5 -2 roll arcn
-_cvmtx setmatrix
-} def
-/ds
-{_ps _stroke}def
-/df
-{_fs _fill}def
-/db
-{
-_fs gsave _fill grestore
-currentdash pop length 0 ne
-{
-gsave
-[] 0 setdash
-_st /_st _ft def
-_stroke
-/_st xdf
-grestore
-}if
-_ps _stroke
-}def
-/dp
-{_ps _ft/_ft _st def _fill/_ft xdf}def
-/sk
-{
-_penh _penv eq{_penh setlinewidth}{_penh _penv mul dup 1.0 lt{pop 1.0}if dup setlinewidth dup _penh exch div _penv exch div scale}ifelse
-currentpoint
-currentflat dup{gsave{strokepath}stopped{grestore 2 mul dup setflat dup 200 ge{pop pop exit}if}{grestore setflat exit}ifelse}loop strokepath setflat
-moveto
-}def
-/ef{_bp newpath}def
-/hs{gsave newpath}def
-/hc{ /_hr load exch get exec pop newpath}def
-/he{grestore}def
-/id
-{ /_id xdf}def
-/_imatrix
-{_w 0 0 _h _id 0 ne{neg 0 _h}{0 0}ifelse _cvmtx astore}def
-%!
-% Copyright (C) 1990, 1991 by Adobe Systems Incorporated.
-% All rights reserved.
-%
-/invalidcolortable? true def
-/level2 /languagelevel where {pop languagelevel 2 ge}{false} ifelse def
-level2 { save /dontloadlevel1 xdf }if
-/startnoload
-{
-{/noload save def} if
-}def
-/endnoload
-{
-{ noload restore } if
-}def
-/testsystemdict
-{
-where
-{
-systemdict eq
-{
-true
-}{
-false
-}ifelse
-}{
-false
-}ifelse
-}def
-/ncolors 1 def
-/colorimage where { pop true}{false} ifelse
-{
-/ncolors 0
-statusdict begin
-/processcolors where
-{
-pop
-pop
-processcolors
-}{
-/deviceinfo where
-{ pop deviceinfo /Colors known
-{ pop {deviceinfo /Colors get} } if
-}if
-}ifelse
-end
-def
-ncolors 0 ne
-{
-/colorimage testsystemdict
-/setcolortransfer testsystemdict
-/currentcolortransfer testsystemdict
-/currentcmykcolor testsystemdict
-and and and not
-{
-/ncolors 0 def
-} if
-}if
-}if
-ncolors dup 1 ne exch dup 3 ne exch 4 ne and and {/ncolors 0 def}if
-ncolors 1 eq dup dup not startnoload
-{
-/doclutimage
-{
-pop /bwclut xdf
-[
-{255 mul round cvi bwclut exch get 255 div} /exec load dup
-currenttransfer exch
-] cvx bind settransfer
-_w _h 8 _imatrix {currentfile st0 readhexstring pop}
-image
-}def
-}if
-not endnoload
-ncolors dup 3 eq exch 4 eq or
-dup dup not startnoload
-{
-/nullproc { {} }def
-/concatutil
-{
-/exec load
-7 -1 roll /exec load
-}def
-/defsubclut
-{
-1 add getinterval def
-}def
-/spconcattransfer
-{
-/Dclut exch def
-/Cclut exch def
-/Bclut exch def
-/Aclut exch def
-/ncompute exch load def
-currentcolortransfer
-[
-{
-Aclut ncompute
-}
-concatutil
-] cvx
-[
-{
-Bclut ncompute
-}
-concatutil
-] cvx
-[
-{
-Cclut ncompute
-}
-concatutil
-] cvx
-[
-{
-Dclut ncompute
-}
-concatutil
-] cvx
-setcolortransfer
-}def
-/setuprgbcluts
-{
-/bit3x
-rgbclut length
-3 sub
-def
-/bit1x bit3x 3 idiv def
-/rclut rgbclut def
-/gclut rclut 1 bit3x defsubclut
-/bclut rclut 2 bit3x defsubclut
-}def
-}if
-not
-endnoload
-ncolors 3 eq
-dup dup not startnoload
-{
-/3compute
-{
-exch bit3x
-mul
-round
-cvi
-get 255 div
-} def
-/doclutimage
-{
-/rgbclut xdf
-pop
-setuprgbcluts
-/3compute rclut gclut bclut dup
-spconcattransfer
-_w _h 8 _imatrix
-[
-{currentfile st0 readhexstring pop} /exec load
-/dup load dup
-] cvx
-nullproc nullproc true 3 colorimage
-}def
-}if
-not endnoload
-ncolors 4 eq
-dup dup not startnoload
-{
-/stuffclut
-{
-cmykindex 3 -1 roll put
-}def
-/ftoint
-{
-1 exch sub 255 mul round cvi
-}def
-/4compute { exch bit4x mul round cvi get 255 div } def
-/computecmykclut
-{
-setuprgbcluts
-/bit4x
-rgbclut length
-3 idiv
-4 mul
-4 sub
-def
-/cmykclut bit4x 4 add string def
-/cclut cmykclut def
-/mclut cclut 1 bit4x defsubclut
-/yclut cclut 2 bit4x defsubclut
-/kclut cclut 3 bit4x defsubclut
-/cmykindex 0 def
-0 1 bit1x
-{
-dup /cmykindex exch
-bit1x exch sub
-4 mul def
-3 mul dup
-rclut exch get 255 div
-exch dup
-gclut exch get 255 div
-exch
-bclut exch get 255 div
-setrgbcolor currentcmykcolor
-ftoint
-kclut stuffclut
-ftoint
-yclut stuffclut
-ftoint
-mclut stuffclut
-ftoint
-cclut stuffclut
-}for
-}def
-/doclutimage
-{
-/rgbclut xdf
-pop
-invalidcolortable?
-{
-computecmykclut
-}if
-/4compute cclut mclut yclut kclut spconcattransfer
-_w _h 8 _imatrix
-[
-{currentfile st0 readhexstring pop} /exec load
-/dup load dup dup
-] cvx
-nullproc nullproc nullproc
-true 4 colorimage
-}def
-}if
-not endnoload
-ncolors 0 eq
-dup dup not startnoload
-{
-/colorexpand
-{
-mystringexp 0 rgbclut
-3 copy
-7 -1 roll
-{
-3 mul
-3 getinterval
-putinterval exch
-3 add exch 3 copy
-}
-forall
-pop pop pop pop pop
-}def
-/createexpandstr
-{
-/mystringexp exch st0 length mul string def
-}def
-/doclutimage
-{
-/rgbclut xdf
-pop
-3 createexpandstr
-_w _h 8 _imatrix
-[ {currentfile st0 readhexstring pop} /exec load /colorexpand load /exec load] cvx
-false 3 colorimage
-}def
-}if
-not endnoload
-level2 { dontloadlevel1 restore }if
-level2 not{ save /dontloadlevel2 xdf }if
-/_imagedict 9 dict dup
-begin
-/ImageType 1 def
-/MultipleDataSource false def
-end
-def
-/rgbclut 0 def
-/doclutimage
-{
-/rgbclut xdf
-pop
-/hival 255 def
-[/Indexed /DeviceRGB hival rgbclut] setcolorspace
-_imagedict dup begin
-/Width _w def
-/Height _h def
-/Decode [0 hival] def
-/ImageMatrix _imatrix def
-/DataSource {currentfile st0 readhexstring pop} def
-/BitsPerComponent 8 def
-/Interpolate false def
-end
-image
-}def
-level2 not{ dontloadlevel2 restore }if
-%%EndProcSet
-
-/cl
-{
-translate
-scale
-cvi/_h xdf
-cvi/_w xdf
-/st0 _w string def
-doclutimage
-}def
-
-/c3
-{
-translate
-scale
-cvi/_h xdf
-cvi/_w xdf
-/st0 _w 3 mul string def
-_w _h 8 _imatrix
-{currentfile st0 readhexstring pop}
-false 3 DSIColorImage
-}def
-
-/colorimage where
-{
-pop
-/DSIColorImage {colorimage} def
-}
-{
-/DSIColorImage
-{
-/ncolors xdf
-not
-{
-2 index
-8 eq
-{
-ncolors 1 gt
-{
-/proc0 xdf
-3 index 2 index mul 7 add 8 div cvi string /st1 xdf
-ncolors 3 eq
-{
-{
-proc0 dup/st0 xdf
-0 exch 3 exch
-length
-3 sub
-{
-dup
-st0 exch get .3 mul
-1 index 1 add st0 exch get .59 mul add
-1 index 2 add st0 exch get .11 mul add
-cvi
-exch 3 div cvi exch
-st1 3 1 roll put
-}for
-st1
-}
-}
-{
-{
-proc0 dup/st0 xdf
-0 exch 4 exch
-length
-4 sub
-{
-dup
-st0 exch get .3 mul
-1 index 1 add st0 exch get .59 mul add
-1 index 2 add st0 exch get .11 mul add
-1 index 3 add st0 exch get add dup 255.0 gt{pop 255.0}if
-255.0 exch sub cvi
-exch 4 div cvi exch
-st1 3 1 roll put
-}for
-st1
-}
-}ifelse
-}if
-image
-}{(Incompatable color bitimage)print flush stop}ifelse
-
-}{(Incompatable color bitimage)print flush stop}ifelse
-}def
-}ifelse
-/c4
-{
-translate
-scale
-cvi/_h xdf
-cvi dup/_w xdf
-dup string/st0 xdf
-dup string/st1 xdf
-dup string/st2 xdf
-string/st3 xdf
-_w _h 8 _imatrix
-{currentfile st0 readhexstring pop}
-{currentfile st1 readhexstring pop}
-{currentfile st2 readhexstring pop}
-{currentfile st3 readhexstring pop}
-true 4 DSIColorImage
-}def
-/im
-{
-translate
-scale
-cvi/_h xdf
-cvi/_w xdf
-/st0 _w string def
-_w _h 8 _imatrix
-{currentfile st0 readhexstring pop}
-image
-}def
-/ik
-{
-translate
-scale
-_fp
-cvi/_h xdf
-cvi/_w xdf
-/st0 _w 7 add 8 div cvi string def
-_w _h false _imatrix
-{currentfile st0 readhexstring pop}
-imagemask
-}def
-/rs
-{
- _rotmatrix _rotlevel get currentmatrix pop
- /_rotlevel _rotlevel 1 add def
-2 copy translate
-3 -1 roll neg rotate
-neg exch neg exch translate
-}def
-/re
-{
-/_rotlevel _rotlevel 1 sub def
-_rotmatrix _rotlevel get setmatrix
-}def
-
-/fd
-{
-/_fd xdf
-}def
-
-/_fontMatrix
-{
-1 0 0 _fd 0 ne{-1 0 0}{1 0 0}ifelse _cvmtx astore
-}def
-/rf{
-/_encodindex xdf
-FontDirectory 2 index known
-not{
-findfont dup length 1 add dict begin
-{1 index/FID ne{def}{pop pop}ifelse}forall
-dup /FontName exch def
-/Encoding Encoding 256 array copy def
-_encodindex 0 ge
-{
-0 _encodArr _encodindex get
-{
-dup type/nametype eq
-{
-Encoding 2 index 2 index put pop 1 add
-}
-{exch pop}ifelse
-}forall pop
-}if
-currentdict end definefont pop
-}if
-cleartomark
-}def
-/sf{
-findfont ftSize 0 0 ftSize _fd 0 ne{-1 mul}if 0 0 _cvmtx astore makefont setfont
-}def
-/mf{
-3 -1 roll findfont 3 1 roll exch ftSize mul exch ftSize mul 0 exch 0 exch _fd 0 ne{-1 mul}if 0 0 _cvmtx astore makefont setfont
-}def
-
-/wrk1 ( ) def
-/wdict 16 dict def
-/Work75 75 string def
-/Nmk{Work75 cvs dup}def
-/Npt{put cvn}def
-/dhOdh{Nmk 2 79 Npt}def
-/dhodh{Nmk 2 111 Npt}def
-/dhSdh{Nmk 2 83 Npt}def
-/sfWidth{gsave 0 0 moveto 0 0 lineto 0 0 lineto 0 0 lineto closepath clip stringwidth grestore}def
-/fts{/ftSize exch def}def
-/mkFT{
-dup/FontType get 0 eq
-{
-dup maxlength dict begin
-
-{1 index/FID ne 2 index /UniqueID ne and{def}{pop pop}ifelse}forall
-currentdict end
-dup/FDepVector 2 copy get
-[
-exch 6 index
-exch 6 index
-exch{mkFT 3 1 roll}forall pop pop
-] put dup
-}
-{
-/tempFT 12 dict def
-tempFT begin
-/FontMatrix [1 0 0 1 0 0] def
-/FontType 3 def
-dup/Encoding get/Encoding exch def
-/proc2 2 index def
-dup/ft1 exch def
-/ft2 1 array def
-/FontBBox [0 0 1 1] def
-/BuildChar
-{
-exch dup/ftdt xdf begin
-wdict begin
-/chr xdf
-/chrst wrk1 dup 0 chr put def
-ft2 0 get null eq
-{
-ft1 dup length 2 add dict begin
-{1 index/FID ne 2 index /UniqueID ne and{def}{pop pop}ifelse}forall
-/PaintType 2 def
-/StrokeWidth .24 1000 mul ftSize div dup 12 lt{pop 12}if def
-currentdict end
-/q exch definefont
-ft2 exch 0 exch put
-}if
-ftdt/proc2 get exec
-end
-end
-}def
-end
-tempFT
-}ifelse
-3 index exch
-definefont exch pop
-}def
-
-/mo{
-/_textstyle 1 def
-dup dhOdh
-FontDirectory 1 index known
-{exch pop}
-{
-dup 3 -1 roll
-findfont
-{outproc} exch
-mkFT
-pop pop pop
-}ifelse
-}def
-
-/ms{
-/_textstyle 2 def
-dup dhSdh
-FontDirectory 1 index known
-{exch pop}
-{
-dup 3 -1 roll
-findfont
-{ShadChar} exch
-mkFT
-pop pop pop
-}ifelse
-}def
-
-/outproc{
-ft1 setfont
-gsave chrst sfWidth grestore
-setcharwidth dblsh
-}def
-
-/dblsh{
-currentgray 1.0 setgray
-chrst 0 0 moveto show setgray
-ft2 0 get setfont chrst 0 0 moveto show
-}def
-
-/ShadChar{
-ft1 setfont
-gsave
-chrst sfWidth 1 index 0 ne{exch .05 add exch}if
-grestore
-setcharwidth
-chrst .06 0 moveto show
-0 .05 translate dblsh
-}def
-/tb{
-_txtmtx currentmatrix pop
-currentpoint pop /_underlinpt xdf
-/_textstyle 0 def
-}def
-
-
-/_textline
-{
-_textstyle 2 eq{
-gsave
-_underlinpt currentpoint pop sub
-currentlinewidth 2.0 div dup rmoveto
-0 rlineto
-stroke
-grestore
-}if
-
-_underlinpt currentpoint pop sub 0 rlineto
-_textstyle 0 ne
-{
-currentlinecap
-0 setlinecap
-currentpoint
-currentflat dup{gsave{strokepath}stopped{grestore 2 mul dup setflat dup 200 ge{pop pop exit}if}{grestore setflat exit}ifelse}loop strokepath setflat
-moveto
-setlinecap
-gsave 1.0 setgray eofill grestore
-setlinewidth stroke
-}
-{pop stroke}ifelse
-
-}def
-
-/_sp
-{
-{
-gsave
-currentpoint newpath moveto
-[] 0 setdash
-currentfont dup /ft1 known
-{
-dup /ft1 get begin
-/FontMatrix get FontMatrix _cvmtx concatmatrix pop
-}
-{
-begin FontMatrix _cvmtx copy pop
-}ifelse
-
-currentdict dup /StrokeWidth known
-{/StrokeWidth get dup _cvmtx dtransform pop}
-{pop .24}ifelse
-
-currentdict /FontInfo known
-{
-FontInfo /UnderlineThickness get dup _cvmtx dtransform pop setlinewidth
-FontInfo /UnderlinePosition get dup _cvmtx dtransform pop neg
-}
-{ 1 setlinewidth -100}ifelse
-0 exch _textstyle 2 eq{ 3 sub}if rmoveto
-end
-_textline
-grestore
-}
-{
-gsave
-currentpoint newpath moveto
-[] 0 setdash
-currentfont dup /ft1 known
-{
-dup /ft1 get begin
-/FontMatrix get FontMatrix _cvmtx concatmatrix pop
-}
-{
-begin FontMatrix _cvmtx copy pop
-}ifelse
-
-currentdict dup /StrokeWidth known{/StrokeWidth get dup _cvmtx dtransform pop}{pop .24}ifelse
-currentdict /FontInfo known
-{
-FontInfo /StrikeoutPosition known
-{
-FontInfo /StrikeoutThickness get dup _cvmtx dtransform pop setlinewidth
-FontInfo /StrikeoutPosition get dup _cvmtx dtransform pop neg
-}
-{
-FontInfo /UnderlineThickness get dup _cvmtx dtransform pop 2.0 div setlinewidth
-300 dup _cvmtx dtransform pop neg
-}ifelse
-}
-{ .5 setlinewidth 300}ifelse
-0 exch rmoveto
-end
-_textline
-grestore
-}
-
-{}
-
-{}
-
-{}
-
-{}
-
-{}
-
-{}
-
-}def
-
-/xe
-{
-%%/_textstyle exch def
-0 1 15
-{
-dup 1 exch bitshift
-2 index and 0 ne
-{
-/_sp load exch get exec
-}
-{pop}ifelse
-}for
-}def
-
-
-/te{ _txtmtx setmatrix}def
-
-/ta
-{
-/_letterSpace xdf /_spaceXtra xdf
-}def
-
-/ts
-{
-_ps
-show
-}def
-
-/tf
-{
-/_textWidth xdf
-/_numSpaces xdf
-/_stringLength xdf
-
-dup stringwidth pop
-
-_letterSpace _stringLength mul add
-_spaceXtra _numSpaces mul add
-_textWidth exch sub /wdif xdf
-_ps
-_spaceXtra 0 32
-wdif _stringLength div
-_letterSpace add
-0 6 -1 roll awidthshow
-}def
-
-/pb
-{
-/_PageSave save def
-/showpage {} def
-}def
-
-/pm {_pm currentmatrix pop} def
-/_pm matrix def
-
-/ps
-{
-showpage
-_pm setmatrix
-}def
-
-/pe
-{
-_PageSave restore
-}def
-end
-%%EndResource
-%%EndProlog
-/copyfont{findfont dup length 1 add dict begin
-{1 index/FID ne{def}{pop pop}ifelse}forall
-dup /FontName exch def
-/Encoding Encoding 256 array copy def
-currentdict end}bind def
-%%BeginResource: font TimesNewRoman4-1
-14 dict begin
-/FontName /TimesNewRoman4-1 def
-/FontInfo 10 dict dup begin
-/FullName (TimesNewRoman4-1) def
-/FamilyName (TimesNewRoman4-1) def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-/StrikeoutPosition 300 def
-/StrikeoutThickness 25 def
-/Weight (Medium) def
-/ItalicAngle 0 def
-/isFixedPitch false def
-end def
-/_glyph (X ) def
-/gx
-{
- 1 exch{
- dup 16 ( ) cvrs _glyph exch 1 exch putinterval 1 index exch
- _glyph cvn put
- }for
-}def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] def
-/Encoding 256 array
-0 1 255 { 1 index exch /.notdef put } for
-30 255 gx
-def
-/FontBBox [ 0 0 0 0 ] def
-currentdict end
-dup /Private 8 dict dup begin
-/RD{string currentfile exch readhexstring pop}def
-/ND{def}def
-/NP{put}def
-/BlueValues[ -250 0 2200 2200] def
-/MinFeature { 16 16} def
-/password 5839 def
-/Subrs 43 array
-ND
-2 index /CharStrings 256 dict dup begin
-/.notdef 8 RD 24ECBD053ECAD3D7 ND
-/X20 10 RD 24ECBD053EB633C991DB ND
-/X41 144 RD 24ECBD053EB83C360F4B94DE3E8B756E8012F8F9E13B1AC798A0D543B03A309B8DB07C9AAECEDE186059402E98E44A1D7015E0492EE3C63E03C18B895957CDD2ABF6B2FB21B34EF758A053FFABE8AFA1F8AF5A96F5D46B025391F328567F695BFFF4AEE6F5A7AF637574667612DFB32739E9E975252DFF8FC9327AA4
-DCE067E48412A86EDCC82879D4A37C89FF5E25DB ND
-/X42 251 RD 24ECBD053EB8753CD7B0DA1D515B5CDF6C5A35B16B2D376AEF7B0DC92B338444E23703253E9DEF8D5BE8ECEC54D1A786E1449E0F8025665830640F460819E61D97752D92D548FFD4B08504FB89AC528908930B7162D8FB104194298B79BA6FD7B0EC9EAC7579976426EA7C6F70EFCF3BCDE98746B74EDD7888E2815D
-4B193ACC8B22FC99908A03390EF61CDE8015CDA2B8243FCD6A3A0662C94D092BA690860D1C1BD3EBBE624E903998FF4316020BA7864E31D7233638D3C09D3054382DA135B73CE0DF2D24E92AFFEDFD7ECB027E422C5C47B0543ED5A9220E4241B41CAF9197DD010E797B0785B323D65666580988557C54C8704790ECBA
-0C0B ND
-/X43 178 RD 24ECBD053EB83C360E86A5A433E50C676A86C91D33D4DF445F1C4540DD97E74C3E2ED39A7DFC9B60E0A572DE5047F2519E2BE8B732C64F2C576796E266FDBAE1861EAA71B3EA4D5FA2FA78D1556A62302BB14AEDB3BCB91F319E48063EB499FA6154784C12D485711A992AE17695643A22117E343E12729FA0E79DA3
-DA72DD051384D2169C4AC028F4F6180C861E24E2AD0BD615897CA65E21FDC9C4E536A3BEFDFD5AC26A5E193C47B3B935A50A34EF7F03 ND
-/X45 195 RD 24ECBD053EB8753CD80A145BE2ABA662C43596645C456D38482A9471CA3691940CCF278EF67D34C32718B066E457B51E266FCA0F245EF54512D1E172C2B8762DEBFA1626A43E051FCE02E35AB2B1A53395AE995C3FB50DDFDAAD51EAA061425036E2809A1BA959C62FBFDDCCB0EE4D591C1E58B665794A76E167BAAD
-51EF267CEE7C3450B283D4FDFA002E64552B778B56EE9D50AFA6B9E00E61DDA099E8E8825284D71835C793996B504498C0A19AA9DCC7EE153154922BEA7F826DAB3B942CD68E7D ND
-/X46 179 RD 24ECBD053EB9DF48FFA7B3BEF9EEFEE4FAEC922CEFCCDB0C671C0066AABB66768311FCC598CB1B55533724EF4A67C1C14D5EC7511318C252E59D95EBE395744EB7DB388130CC144241935387DF620E0984164D173152D00A7D2658D020C08B09210A1233739392A391A75F7BC37DA5BDD4BEDCFA4DCD7FE6118DB750
-A3B482F3A724A75FC29FBD780B0FFD3ED5C45684C5D5BD2B911522A439BF05D7FA3FF943FFF1321197CB653983B023B57662362F7F673F ND
-/X49 126 RD 24ECBD053EB931FA65ED2DB64488963E2F46EEA7A99303FC750CACB696F33E790A6CC6077676DB6801A4A487882927B327B3F8103384D0F7C9DAEA1299AA2F557AF1F636BDCE674EAAFC22B340762853B23B1E8675B650BDB4B9457B34846A79033FEEC4824BD4334C0736F26CFDDB525C5D625C8E061A8F93EA7188
-5AC2 ND
-/X4C 152 RD 24ECBD053EB8753CD61DFD47F60D395AF284865FACE2EF9E4915D55A92FB358A8F2CF943A5976D1E1407A6392603EA42222F2CDF2C7EF9C43F0482298889E73A565F0AA079A6B3EBA9CA58E4A4C805BC1327595A775E48F3BBA2FE1C7DB0D1DB68B8088D3486C1A5DE46253FFFC87EEEB9D46478D8CA9DB7F8D0EF4A
-C726434AF164510C9C383146F7394746F8B3CACA7E9D8B594F1FFB4E ND
-/X4D 216 RD 24ECBD053EBB81A3C84CCE9184A0F7DF9AEACD3D10A4D9AD2DA5F552952AB0F98CB0EA36B8F32E33EF74146A716F36FCA074D22AFE7537D7A7798B373859A4FBCF862076122930B9F8C5426C934F45514445A864ED4C5962FEDA6A2538E69B8B2EC326FAF69DC92E426D53C2DFB5159ADE232B199E6522E557747E52
-C5DB8CFAB4B98DAADC109271147C162663AB7347D064039AA6FC83B43EBFADFBE03A9078EBC4B5003F3F0DBBBDF540BF9E4B697262B9298A2787A63B9EFA23384A6A4705D8A2DDBD763B85FEB9A0035198CDFEF65C96C3833A60853F ND
-/X4E 140 RD 24ECBD053EB83C3600ED01056A2E62F7DF6DE092A87C6B420D2C230BE5F7953CDB878DE442B0EA321226A901BF36B362F513154159EE6FEF7F971DBFCBDD67C50A57A7BC1B1735A784A3BEC533AAAF7517BF990E288D893B6F1DEF226474F3E5FDD9E76ECE597ECB94761BB84749F41B8E9531D1F25467BD680887D1
-6FA9BF9DFCA55506CC68DD6A432CD343 ND
-/X4F 152 RD 24ECBD053EB8C4E87E80336FDCBF26B41F340A180F676E38CD0777DFCA6A8A987441A6D6554C097A3978779FCF56DA8A65632B58DBAD2BD6F283041AB34DDA5BA18E2003599B6CA34D24662E0C2BD0CE74621E9CC4295DF7F1464F3A1BE66F3A21DF35867F091D5256F2EB39F97D2F621BE0D6044C9D4A7347A00E0E
-C6513E75926B32A91F0889FB7E002D464E13B10B0D285AC9E46424F1 ND
-/X52 208 RD 24ECBD053EB83C3600FE5AF197FD78E0CD12C092E4166BB6716E912F226C3B61BBC1C6595D467C7F49377010EB174C0BA342ACA6B6D25CA68B271455A87C20005C9468334ADA3582D3BD88202F41C4BB144F3AA083E3661556BA8AEE72FE787F759495D27AE2F0777E8A248A4134C0160BC3C9D5AFEC3CA81D45CCC5
-D351D92DCBB7DBC38306F2E569E430F66C070924E7601D78FFD4DE117A0FC5B063E36B86BF5C74ACB65356CA524905C492F88C064CD0C61A9D2362CB25FB1536554C1E7E93356839F95CE678DE84119E505BB88D ND
-/X53 261 RD 24ECBD053EB9E88A56C1897FDF69DC54F647A73338F74AE946182D095D741C28F465B1B0E1C84037E52BC85306DED81B75917C1DE93736F6EB9E5D78801F70BCAB59CB79272C5D8AFC80249CBFCB61F82E7BF86EB7E5AE08D26708A0AC2FF8D7CA9C6AEB0627F4C476321560371BFD80DC3920D5855240610658769D
-E1F2C27D736FB0D453328B6F9061BA414738A81FE1AF9C1E9A6B3322430283F0E04C19FF765A8DE9C2E1848E2076EB9A3634E2C6130AB07958891B8085E53F104D8E68589C7B1565F62582EAED9E63DCDC2D46BDC96A7EB1D26BC382604BCE03AB22623527833C19CE19BEF422A051CDD953EC6E8027699EE2514D20E7
-CE41FF0BEDAC58893B6505AD ND
-/X54 126 RD 24ECBD053EB8753CD61A6681CB78C8757CD195382007336EE2D0B155C4B513473426FADE3AF3F7A44C004C70BE55504CB126F954439CF581B159379C3F1419D242FE206B44D0FE13EAB1143A6F4F600AA71E6AFC0A5D9460D929A7F4E99428D3B9FFA74C514E0287A3BDA3FF86F33F5772FED4DDD6FE0FE00191247F
-D417 ND
-/X55 212 RD 24ECBD053EB83C3655135FB06453D1846156B2A0E9898F1D6D26F1C11F718137DF100E0BE258E6EC2D0D162ED0DA204F4A97779248014D3B158730E917381324DC0597E1F1F4C179567BBFFED3C844BE77242D2025F4EB93F291AFE9DB38FE8792C8302D2A152927A609969DFFD69200AD7BFA0B4FBED785F7DCDAEA
-1FFDC35E67C7AC4D1C0B1BFFA84762C009A2764CF14F95C2CAF2466033D5DDBDE038BC56788F88A52BF3F7D38DA36FCBA2EEF26D2C3FC838FAF0D951DD93EC0A2D09CFA66D2C82DEE14D9A8337AD55F5B1D9BD7DA6B42642 ND
-/X56 144 RD 24ECBD053EB83C360EF524A700354E6034E234FDF14FC7992C18436DD70EEB52F346ED424ABE692AC8D3CB40488818C9D344D680250EA1348B846B64D024FBE276946E4875310534EED93EFFCB99EC8BCB0E64C7BD8B3CA58F73E99A1A0F1F18947D2E97E0E74AC6E47667771463D399D255AF57AA1CBD5CE73AEA82
-02BF5B5D104B29EF494DBF2B40DFE053A9C57BE2 ND
-end
-end
-put
-put
-dup /FontName get exch definefont pop
-%%EndResource
-
-%%BeginResource: font Arial1-1
-14 dict begin
-/FontName /Arial1-1 def
-/FontInfo 10 dict dup begin
-/FullName (Arial1-1) def
-/FamilyName (Arial1-1) def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-/StrikeoutPosition 300 def
-/StrikeoutThickness 25 def
-/Weight (Medium) def
-/ItalicAngle 0 def
-/isFixedPitch false def
-end def
-/_glyph (X ) def
-/gx
-{
- 1 exch{
- dup 16 ( ) cvrs _glyph exch 1 exch putinterval 1 index exch
- _glyph cvn put
- }for
-}def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] def
-/Encoding 256 array
-0 1 255 { 1 index exch /.notdef put } for
-30 255 gx
-def
-/FontBBox [ 0 0 0 0 ] def
-currentdict end
-dup /Private 8 dict dup begin
-/RD{string currentfile exch readhexstring pop}def
-/ND{def}def
-/NP{put}def
-/BlueValues[ -250 0 2200 2200] def
-/MinFeature { 16 16} def
-/password 5839 def
-/Subrs 43 array
-ND
-2 index /CharStrings 256 dict dup begin
-/.notdef 8 RD 24ECBD053ECAD3D7 ND
-/X31 49 RD 24ECBD053EB9E88A56B687FD8EBF1510130CF8CCE89FFC283BE19F9C7AC27D4304E7D8D0F79221E3FBBD6DF384CC0C6D92 ND
-/X32 147 RD 24ECBD053EB9E88A562552C7B880FD7A97DBE5D605BD014C1861EE0EA6034C603D3D69533C8EC94D544C7A0C61E5F7B6FE13CED4A2B151B961FB252DD37FC0AB13F6CBEFF3AE4D346FBFA1E18C434B6FDE33180196308390B0A2B04A87A4E4898FBD2ECC8D369FB3C9481C920A27B6CE06934B867AED148638A05C72
-D43F5F0AF7E8532CADCB8D7C85E34C9501213B38895616 ND
-/X33 203 RD 24ECBD053EB9E88A1FA5FDF500F27B039D4217A4C5069ED3978BDF73FA68977A5547975478696AB2327C7D57DFE83916C110DB0F9FD6B4731220CE173B856F294E99544F8B58EA96E332D153208829A717CB471D495928739D633A8823DCB280FEF02287D26C39A66BB220CCF0DE6B1573274E2FF88A5F5AA8883C96
-D461166D6119DF30018492CF065CC1BD0A8ADB3E4012B74A5BBE38E2BABBC73C53A90B2960E5A8DB93867EA38375AF1823C46B4C134FA639D461CFA5BE5DC28891D0786493C634237E6882620AC76C ND
-/X34 61 RD 24ECBD053EB9E88A59DC12A70C7AD26B0E16E5740E9AB6E5F32C284BDA5B01CFD0A414436B837BBBB4B496175EA8E4965E724A6D82F308BE5A61940148 ND
-/X35 139 RD 24ECBD053EB9E88A198CA489BDE564B6D13358D468C5110641FD9445F3D865D9011BEA367F7DB3D88F3C5D39C3A1B8684BF19B39B1BEA07688826984A35E28983CBCDB4402430A1F0D3D167973273D11D51EE93E144E357FEF06BD75B212A575646BC0E89702077EE92393BEBF8768319F46C19452DA6B6E71B32D45
-FD843CED2F6939822D1B543B6C187C ND
-/X42 217 RD 24ECBD053EB83C362361519EBCAEEE1286C41C243C825763DD9030837403A5FF29BB4D4E1961AD2205E51E9727E2B07042B45A0EA63456130F3855502384CECDBB607CACC2AB00BCD161A171B9C78CD2F72927ABBFCEAD60B39184E52F6AE5366ADCB390FE9C7C277EEC332D7F3966EDC5A5B9B90114DE2BA551B3E5
-DCA55914194F929BA485749B0505810985BC6F12C0354D01694BB6F77579F29ADA38C3752B3C5E5BBF2404D9D5FA36BB709C8BDA2E5C2F0EF7F31D8AC9207424DAD9D2CEED5729175424018D41C446D6E12EBC506082584C855207AFED ND
-/X44 149 RD 24ECBD053EB83C362361519EBC80D67A0CFE0EFB8A0D8C8FE8EE3A4471C8FF4463B0D448C01A084E1E1C8833322D400EACDC377AC12F69825B7CA522AA5FC960471B09378856E50C5535FDE742AA34F43C2B1B70A3E080776C0C6DBF23908D238E28C686287E62E830488DFBC4C78B8B412312987327435AAFD1F421
-E2F745AEFC66E49829F8D9C215FCB2896C9B924771B8AC59C1 ND
-/X49 24 RD 24ECBD053EB6173D1E13FA0F09D52C725387A8736152D3BE ND
-/X4F 152 RD 24ECBD053EB8C4E830460C7BF3D2BA21EB94CC4A01CEE0B9C9E7F53502B20AA807DC85F870DB26D2A37D4956D015F5C6F7A4D7DFE1C77925E5F4EFBA3C8E2B951D3921217D28B8300C792F5FF0BA6F7563FD20DD909AA1AF9848229863B5976B7750157E4CB5C308175FC51BDD69AE0B1487E21CF6E91F86D02870F2
-CC61BFDA5335424BB0E84F7B3B0FAB2DB3DB04BBBF45B0715E3B7FDD ND
-/X52 163 RD 24ECBD053EB83C36238E8361F7E1EFB77C988CA18F2A9FA95ED8E11A469B47308F3BB6A6DBBCF896A23D75E3471AD866B50B1483C978DED5DAF188156993621EB438294D646F89C837315576DAA5345CAC519FFD51B2373C27F4643581EB12AA98F598C8A8EBC588933D55B45B16AC3B6AAB6AD9B5F6D3AAEBC4BBEC
-716279546D753055FA942ED244939CA5C6DD2CF38529584161370A95C4B34251604A306C2F5AF4 ND
-/X61 241 RD 24ECBD053EB9E88A5955DE9AA0A0B65DFF5F9652B9BB2BB6670A705D350D8C41549E566740D8B8E90DA4E31FF8952D5FFD3FDD512D6676B64C554947D47BBE9C977599CC5FEDD5C211358772D64CF61AD5B0C00EAC3EC139E875987A45F2C8CD5C896F318D55D8523A040B49A0CC073F1214EEFA120D87C179600891
-FF1910326E974290A0F62CA6F21E3D79A7E23ECAA1D41C8D1031AD48ED87D70608620EEC35580899148408D848DD0B279F8C76BD3B6EB99383EC27EB6C4FCE1098266DA4D0B680EF835CBC31BF047FF996F45CDC5B6D655B705E9E3B3537DB82E51B72D8087B8A79F3E84DFF3362647E47C44166AE ND
-/X65 144 RD 24ECBD053EB9E88A56A3C8C2A68E5033B043C1744B2B85CAE9379D11DF364FF7964D3AEEDB5814F5E546627ADCC290115A6FFF3F15633103BC0E89EF320F50D98CB8DA2AD965DE8E07C40A4E759EBCE6B1FCD7683F6577817150F8049E83AC717160FCD14D1DAF3977709251CF201397F33F16522606B7FAE31F0732
-D18B7658677DD746432870FBA6F3CCA5D8AFB9C0 ND
-/X66 93 RD 24ECBD053EB65CD9AD3129458B34B5A9F99990DA3CE1B7881E9686F00820ADEFB9185E8386C606C36BA718FAF23BC9653A1EC6323F1678A22F348079BD1CBC247E59F24DE2C54A5F5AB14F9250A9740EF94DE24E816E2A7E7F3278DA43 ND
-/X69 42 RD 24ECBD053EB6173D0289A48A84DB3F27BAF86BF890E5EE0823C4D0D5BFB9E1877BA6AB63807606898E09 ND
-/X6C 24 RD 24ECBD053EB6173D02672229C50C7EAF11C89C193CA8A27F ND
-/X6E 113 RD 24ECBD053EB9DF48F0539478774786C45BA0A5EA5CF4DE26B689D0E24DA1781D78E05A1213731B40B300D4D27B48341BFFAC34BB54B8C97CE271FADB8EBBA24A5FC9796AE859E6FF0F1AF19B2721818136B262353EA868B3ABB784C5B4DF385B1BFBF9BD525DC739AA5FE54289DDDA7961 ND
-/X74 110 RD 24ECBD053EB65CD9CD5FEFD5A4FCC9E1D1F74F94142C88E6E63A41489495F99B03D9B0E62250ED2C8FA20292A8D59F7A6556C090E02AF3C73003D85BDC77C981E670171DF0E16F29BE6CD698B4B55F61EA6AAA17A6F496268F2BC5DFE999BADC15DB4147DC85A1DC2CB142B3CF52 ND
-/X75 113 RD 24ECBD053EB9DF48F0D4913E6A64CBE58632EC75814B11743FD2E46C0B4541B2EBA191551138DFF94F29B113AAA6D789D92AE73F2758582F50C8F61B35F3057EFF24E13FC26299D0D33AD44765B291A2A60AD307774DD6FBA1C265A27F361DCE1CCF6F3D620BF45B4463CB17B4115E97F4 ND
-end
-end
-put
-put
-dup /FontName get exch definefont pop
-%%EndResource
-
-/Arial1-3 /Arial1-1 copyfont begin /FontMatrix FontMatrix [1 0 .2588 1 0 0] matrix concatmatrix def currentdict end definefont pop
-%%BeginResource: font Arial1
-14 dict begin
-/FontName /Arial1 def
-/FontInfo 10 dict dup begin
-/FullName (Arial1) def
-/FamilyName (Arial1) def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-/StrikeoutPosition 300 def
-/StrikeoutThickness 25 def
-/Weight (Medium) def
-/ItalicAngle 0 def
-/isFixedPitch false def
-end def
-/_glyph (X ) def
-/gx
-{
- 1 exch{
- dup 16 ( ) cvrs _glyph exch 1 exch putinterval 1 index exch
- _glyph cvn put
- }for
-}def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] def
-/Encoding 256 array
-0 1 255 { 1 index exch /.notdef put } for
-30 255 gx
-def
-/FontBBox [ 0 0 0 0 ] def
-currentdict end
-dup /Private 8 dict dup begin
-/RD{string currentfile exch readhexstring pop}def
-/ND{def}def
-/NP{put}def
-/BlueValues[ -250 0 2200 2200] def
-/MinFeature { 16 16} def
-/password 5839 def
-/Subrs 43 array
-ND
-2 index /CharStrings 256 dict dup begin
-/.notdef 8 RD 24ECBD053ECAD3D7 ND
-/X20 10 RD 24ECBD053EB6173DD80E ND
-/X28 78 RD 24ECBD053EB65CD9CDE874A7F38B4A781E7BDF63FFF2EBEBCB6221F130F6FF143AEC5FE83962C7B17A6D73C4DD71A967907650498833EC73D646FABFAC0D375757024138DD026197664EC00805D1 ND
-/X29 80 RD 24ECBD053EB65CD9CD86726E6BEBBCCB42E0F15081D05B859D7B51CA3E2C21ED91C7320907C85E4807405A42026A12D498A3C0C1961B64C308069C1F531FBA6C6C9740F53A32249E696D23F9458FD4CC ND
-/X2E 20 RD 24ECBD053EB6173D373802B30AFE214CD0757862 ND
-/X2F 26 RD 24ECBD053EB6173DAE26C78E57E2B3D4EF1319782DB818F16392 ND
-/X30 167 RD 24ECBD053EB9E88A1BEF04DD76C65F9749F66851D8FAE5FCB5950992663239BD1FC0DEB1CEC611A212B83B08967A831E3E3EB3606AF2CF6FC70A2DC696B44BCF28989BE2337A230C38A86C0BD14EE3B65BDA8142BD60D02ADA557B0DA9948E01E9ED50D010014EF8CFAC1EFE62B14928D192B609E17164C883E3686D
-BFBB800CF745B41A5503D9F807F3630268F00B1AC8CF5552B5CC27A043362EC5B26A048CB5835E004D0815 ND
-/X31 53 RD 24ECBD053EB9E88A56A329F78E9AE27980C4899C504D886A5A058AD599FECE94FCD87DC0E3736CDC3AF4A7ADF878DF8254220EF2FB ND
-/X39 230 RD 24ECBD053EB9E88A6C9E464F95DE6D18000A0166EFC0B9F7EF6F362C66D3D97CC81056F6E96D4EB52D7EC25EE8B678C84AD80F3A46CCBB47FBAD7A469604634A8670C9BA024FA1E2F98EDBD63DE19892FE17572DEE745135D5CE6EB2E4614BBBC4D83B1C27CC77281AE87F2A7EB0B7333812804F994284E0EF1CB3AA
-54AB29C90414E46884954BCA7ADE9DD642E7B12A417CD7C03A6A99E551F87950DF4967BA0C852B8A98F36050A725850C77C3B9C0E50BF9AA0C9B0D3B3EE82EFA8671A7A7386257324EEA5992AD2D1A95251658FAF25AEE3E4DEA8A1092ACEE918DDF077FB57C37C77370 ND
-/X3A 34 RD 24ECBD053EB6173D343A8D5DB088CD681C5F0C141072982859A0101E1618055BB19B ND
-/X41 71 RD 24ECBD053EB8753CA64BD936744BE88AD6C79BBB010B98ACB09FC652ACE153E21F1F0A4E91D50D2AB5E920D378858E3CF69D6A8B4F7F43D50EB778C8104ED4968E4B05E9EE8145 ND
-/X44 146 RD 24ECBD053EB83C362F50400EDD3F07BFFCCEAA6FB6F4007776F79161EC0A78EBFF29A98D6160CB7A628E1F08A767E799C3D9F109EE1045D8369FC0BEE7A2BFEE434418B62232FCAF63BC15BBD2B95F18A0211EA2AAC84C1F3AA1A252012DC6EC639E2930D4292DA4A3303EDD4BB244D945D42A94173268EAAC02F9E8
-284CC203BA011C30B48115F3F9D9171AACF0834305E2 ND
-/X49 22 RD 24ECBD053EB6173D39DCA636E0178932CFA3ABC7B0E9 ND
-/X4E 42 RD 24ECBD053EB83C36203B440ED0FBB280B971B53B160C5894F2A7D80E5E8B027572964CD4D23005A5A4F2 ND
-/X4F 164 RD 24ECBD053EB8C4E83DDAD8528B86E07E0D4FB7F50DC8EE9258D4B15DE6C0D478D9D7EB0115E53A91282EE8040AAB41F39F4197C46438F5074D0AC45C6C0C77FCD89B82D1EC34254D848A4DD7681577EFF938C212EC03F206CF765EEC5D1B693A0BBF12263D58032D58A2E7EBD1BABC4DA8B33014AB0BD16CA300B8BA
-9B27CA968CDDA57B556F118B5FBA2EA29B455F76EA8D32A84077D3FAB7B775615D4F38288F7C71D0 ND
-/X50 117 RD 24ECBD053EB8753CF7BBA03E65A3402D3A85D646DC6D715914CB700A197A0E3F0389F9BB271B61458B6859E36925ECAB51E09D8744E5D65F23CD33CBF3352650B55BEDAA2CD3B3ED0CCE3361EEF3A8FC88CDA028F33BDB72619817833EB3501EB938FCD17981E3B86D416E8EE5A02E349C88FA5226 ND
-/X52 164 RD 24ECBD053EB83C362DBFFCE0EEB3471D031DD918084C741E24FA3D81E3A58FEEF4055EF2B998F39A871B8265AED60143E2A851701054EB0C7C5F762EE77B5B74DBB86F6D9DD014A0A309569F91C5BE1CB61895B67E7B2D4B1B335BDF483646153B4253EEEF717CEBBAE67E6F28BC28534A2937A11A8D31635DC2C810
-604844FBD753DDA4A4A0E58167C2D7E76C2C7AE12087EF422662C034BA1A2E54AB538E7E0BE9B1C7 ND
-/X53 253 RD 24ECBD053EB8753C9681691D57FC64CA8F0A762D55CA04AFF8371876336FEEAA8D403EDDCFD4FB62384D5EA33FE7FECD2010E28E345C9B288FADD7A118BB1395AFED9E8016D5EFC47C51940A913ECC6D51C828140CCE7DF57AECFE8E83A7B8FDD60405D1FD4AF910BBF55538FB38C86BA2F25B8C4715B757E04C6F8B
-1E5DFCE6FBB8687124D572FF3817290D6E448C528391D88F14F18B33EECBE0837018F7C6AC88AF169AFFFB76D342E8B46DB6054FDB96CFF4A7CFED7B2F68F24F4E50CBAFBBB11D114CC56FD8CC494E91D651592AF87EB984FF0ABB3E4AFEE8B5B10274780C42DEA060C33D99AAE7C1D624B71A0837802FBE283DCFEEAB
-B27586D1 ND
-/X5F 24 RD 24ECBD053EB9E88AD253D3EAE0459F3817517DFD606D85EE ND
-/X61 263 RD 24ECBD053EB9E88A56826F5B49B0599111096F51CB6C2CBFE667712A5F3D110FABDE7AEEDFBBE4A93D2BDF99FA1011AD9284007E329FE01AF3596935CB0D3FBC91BE6796B2A9F7F16522E8A0AA83C67F14BE6E36FB78901F566A9899BB1AD84562CEDD31981803CF83502843E5B3F99339ABD21EA170A28049F9CB87
-22EE4740F00920AF319872F16BE70B64988AD280CD06F9D3C5B2FFD51623987582A340E702569C74C74B1406E5EA9EAB9262E385BCE7F49C61E39E4F1F9AFC1BE0BB3F0F5B9E74CB03F12E85D68A27D9D6172A791D5333CE6B5C778B12345252F729DFA3B305416659BB56930A5137B14DC7DD47C71DE2612D76FCD305
-F958A2412FF9F3FC9B1732208BF3 ND
-/X62 144 RD 24ECBD053EB9E88A593045882424D8E63A815FDA8DB00B2B24FA6D9604BB682D953C77C8899F1161DA9D681707E6D6B6D59E92C76A41110104DD20598EC4664A1978D3DEE29F5C23A92F65B46964EEC234926ECFD9B2345C7F11A74EC2C56DE495BA4D789DDC536F231D65E3C09F12822ED8603261A8F28841E08095
-9C2AE107F11CDAA695E5D69AF5BF858633B81E79 ND
-/X63 142 RD 24ECBD053EB9A075A9F2BCB69998874641BA3A233675A8BF9DFC48C3B75D1C55C5419F99904AC748AF1DA09E1AD44D21B5A4E0B0B361DA2CCEFA87FA70263A69939B9293FD51ECD883A3667C6209DACB22C4BA332E5F41AD43619F68E1BB5D24705E4B2B4049850E99286C3D861C2ED879B78C47D704A3C28F3E7AB2
-81D022D20B55C7045060335B2BCF2ACDE01D ND
-/X65 153 RD 24ECBD053EB9E88A5693AF17E5A520705FE586FB75BEB091B7F145A1BB26E544ADD999DA9C4CAA1F1B36520932E4C800E6EEF1EDB04AB101B30EB7B9311279AE19A29B7FB9137B4D484B74A3FFE861D3A56D1EF06444F30D70FE59673D32ACFDC5AE48569E731E4C6D8DF41CC74177877120EE06F134DAE30FA66E62
-C7B6CB1D93FF3F855FBA0EDA6AB6C716F6373414DC836C9F8DEBD9BAEE ND
-/X66 88 RD 24ECBD053EB6173D33E26F78630231A9FD7280B4AF739B52782F240ED3384F449ABFE9B1D2CAFEB339FD57627BA94AFC57F08C63C8998605D253AB6185D51E7860E40CF5F2C40D05B11B764F5790C35BBAEC891BA11394D9 ND
-/X67 207 RD 24ECBD053EB9E88A13C5553D99F2849FEADA7C0DE5895CA89E87370D96C980D7A8BD3B982B4AAD7B68491434FE9133FAA18A7FF06A4C4461419E64A26B1A77AB27C376C9841C03A883E717809FCD4ABF352A62F3049AC814C6450341ED5E71F26C55261D2CBDA0A49BF719BE2F177A19B104A7CA793328C8646B4CB0
-485374D1E84DCF75AB0703156EC4E7EC393B06277D92752FAF4797E886FAF9C43C3D72690D328EB56ACA4E6D23DF9110A17E6A5EF8F64809728DD87AD68062C64A476F827A8A2EFC65CE8AD3B8996ECF55542B ND
-/X69 36 RD 24ECBD053EB6CF82BD8317C7C03794B79BD6DB6A891C17F5F2C2E94489F741DC5108FEC1 ND
-/X6A 83 RD 24ECBD053EB6CF82BC55C3923B211F2534EC232F9FA32596AA1EB6219A0CAB772FC6604332BE64B3D0218F13BD5154F363241859C337417AC81DAF1645FF44E3600EDAC066C0F6F95AB5F7E6AE1194D2523BBF ND
-/X6C 22 RD 24ECBD053EB6CF82BBC8A00FD5B3C3BC5CD8FF89782B ND
-/X6D 159 RD 24ECBD053EB88F259F152670030CE9285C9DCCF687F4A9BB8016395C22F10139A2D1364DFBFE5A44CCCE173831E2FBDC007B2BF99461DA30B8B15B086AB111CE33A9E29D40D8B71DB25E3714329E2C7C29DD26D3B4AACE7B15D35F190D0BABFA7462CA01434A1F09F15FF1C5AEB2ED76547CBBA46ECC7E2C659209AE
-84A649BB37844C9F2F194329F0BA0B05D2338AFE4778648A7F4E708A26642C9EFC4DBE ND
-/X6E 102 RD 24ECBD053EB9E88A6331D2C7297CD097F631B7BF9575A433833FB0038EC6E5B15DCC497CC74B92CE032BEF587A61DB1733DDF08E4C3F6D32A9E7B6F8932791A8C2611945247C92EE373B1A533C34958B09B59098C7464047A20A9F809DB3DA276EBDCEB83A42 ND
-/X6F 141 RD 24ECBD053EB9E88A020752C5C98FDCBBAB9EF90A06696B41A7625CDF93F224596EEF9E92BE93E61DF3DAFF86DD7B8E4BF1861D44238515248D96118073A63C2671AB30499A333B8314A444B66C9D6924B15AAA54ADC848D8A24BD851DB816D5D6643FF372597F1A9529A5106EB5CC22D7EF02076C5E6030B0A680FE2
-A822CF5500EE68583614AA673D96D603E5 ND
-/X70 159 RD 24ECBD053EB9E88A63DC56919C2A7C393E4E31C69A482C1C06E88174525FD085735A5F3CEEB5065143B85C379D2D9DBE6508A1D22F5EB91C8B9C9C704D70D197FF0BCF00BD01AC6BC0D20B12C61D1860FA449B2503BA550BBB6E9CC5BF6ECC5772F2B1A93912DC9A2C6F8CCF87DE2212A4B196D8632BB34CEF411E94
-BF7641862399513CF976EDC773121DF431DF18A23FCD214936A25F216C618CE8AF964F ND
-/X72 76 RD 24ECBD053EB65CD9F6B0DA68B6CDEC19A39DB1647C794B2A552609141A5AE4D4C737B64A93E6D0704F0AE135A3F68C6F08AF5B9D3322DEC636077489ED0E06BBB75028F4827739BC24563847 ND
-/X73 239 RD 24ECBD053EB9A075FB0D363C5DAD5072141948E7E1754E0FA3AC319C5D112D34313856F8BB6868A3DAF2E607F4852D6A068D2F18988BDD35DF74C9670E679E0CBDA898B51F9637EDC00B1E2B3ABA53F21E13B46676BCFD4C35B8F31275833367A190FF9C05256035667E88E27A5FE706D86790585FE88405E89D71B6
-0383ACB267E7E27BCA33BBC8FB340BE8A976C6F2A6451ACCBF24BFEED8A7C6D46AC5AC8FED699342ADAD075F61D9747255E7B8DA0815F167A768C00630A03A443D79B647191A56139DD6BAF7E5F1B201C42D3AA4E6BE2FC3D3230B184464EAC1D2729E18E0886728BF4126E78E65E9614830D4 ND
-/X74 102 RD 24ECBD053EB6173D26ED46B8FA108E1533537E23559064B8DD513D9EF66DF60B8B452B065536F32266060FF25E41DC46A6779AE37613D2AA0A33C0C33484C74444B15F681F94F0F1C03863C711E3F48F06CECF2F2871C2C179A237A38EC95303826C401249F2 ND
-/X75 110 RD 24ECBD053EB9E88A5682B5185232B5EF6CCD16B2077490550A465721BE2916F30813C685A1B48F49484D13136E8DB257956E21B052CD5EDA3389854F70D0476C9E129A81FF84F4611FB9A095F84C374D6CB730B2B7A6C42872CC67476D3DE34C5FCCEED35B0308E299F6DD53DDAD ND
-/X76 53 RD 24ECBD053EB9A075A6146FCBBF0438B8CCE14C92BBD9F8854D3F46F8D1DEBD8FFF806C3248587C4448EED1BB3F5DF8F73DF68FC4DC ND
-end
-end
-put
-put
-dup /FontName get exch definefont pop
-%%EndResource
-
-/Deneba_CanvasCustomColors where{/Deneba_CanvasCustomColors get/initialize get exec}if
-/Deneba_CanvasGraphics where{/Deneba_CanvasGraphics get/initialize get exec}if
-_encodArr 0
-[
-39/quotesingle 96/grave
-128/bullet/bullet/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl/circumflex/perthousand/Scaron/guilsinglleft/OE/bullet/bullet/bullet
-/bullet/quoteleft/quoteright/quotedblleft/quotedblright/bullet/endash/emdash/tilde/trademark
-/scaron
-/guilsinglright/oe/bullet/bullet/Ydieresis
-/bullet/exclamdown/cent/sterling/currency/yen/brokenbar/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered/macron
-/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown
-/Agrave/Aacute/Acircumflex/Atilde/Adieresis
-/Aring
-/AE/Ccedilla/Egrave/Eacute/Egrave/Edieresis/Igrave/Iacute/Icircumflex/Idieresis
-/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls
-/agrave/aacute/acircumflex/atilde/adieresis
-/aring
-/ae/ccedilla/egrave/eacute/ecircumflex/edieresis
-/igrave
-/iacute
-/icircumflex
-/idieresis
-/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis
-] put
-mark /___FN4-1 /TimesNewRoman4-1 -1 rf
-mark /___FN1-1 /Arial1-1 -1 rf
-mark /___FN1-3 /Arial1-3 -1 rf
-mark /___FN1 /Arial1 -1 rf
-1 id
-1 fd
-0 fm
-%%BeginSetup
-userdict /canvassave save put
-%%EndSetup
-1. 1. sp
-0. pg
-1. fg
-cd
-F setoverprint
-0 fm
-0 lj
-2 lc
-0 592 translate 1 -1 scale%%BeginObject: RoundRect
-0. pg
-1 lc
-1 lj
-0.39843 0.60156 0.80078 f3
-38.5 342.5 589.5 559. 12.5 12.5 rr
-db
-%%EndObject
-%%BeginObject: RoundRect
-1. 1. 0.80078 f3
-277.5 363.5 560. 440. 12.5 12.5 rr
-db
-%%EndObject
-%%BeginObject: Cube
-0.91992 fg
-%%NumPoints: 4
-45.43176 32.52929 mt
-293. lh
-103.04675 lv
-45.43176 32.52929 li
-cp
-df
-%%NumPoints: 4
-28. 45.4812 mt
-275.56408 lh
-116. lv
-28. lh
-df
-%%NumPoints: 4
-45.43176 32.52929 mt
-28. 45.4812 li
-116. lv
-45.43176 103.04675 li
-df
-%%NumPoints: 4
-293. 32.52929 mt
-275.56408 45.4812 li
-116. lv
-293. 103.04675 li
-df
-%%NumPoints: 4
-45.43176 32.52929 mt
-293. lh
-275.56408 45.4812 li
-28. lh
-df
-%%NumPoints: 4
-45.43176 103.04675 mt
-293. lh
-275.56408 116. li
-28. lh
-df
-45.43176 32.52929 mt
-28. 45.4812 li
-ds
-275.56408 116. mt
-293. 103.04675 li
-ds
-293. 103.04675 mt
-32.52929 lv
-ds
-293. 32.52929 mt
-45.43176 lh
-ds
-28. 45.4812 mt
-275.56408 lh
-ds
-275.56408 45.4812 mt
-116. lv
-ds
-275.56408 116. mt
-28. lh
-ds
-28. 116. mt
-45.4812 lv
-ds
-275.56408 45.4812 mt
-293. 32.52929 li
-ds
-%%EndObject
-%%BeginObject: Rectangle
-2 lc
-0 lj
-1. fg
-28.00012 44. 275. 117. rp
-db
-%%EndObject
-%%BeginObject: Text
-cd
-gs
- .25 .25 scale
-0. pg
-1. 1. sp
-1 lc
-1 lj
-445. 292. mt
-tb
-72 fts
-/___FN4-1 1.05505 0.91259 mf
-0. 1. ta
-446.125 292. mt
-(CLIENT) 6 0 293. tf
-445. 292. mt
-(CLIENT) 6 0 293. tf
-te
-gr
-1. 1. sp
-1 lc
-1 lj
-%%EndObject
-%%BeginObject: Line
-0. pg
-2. 2. sp
-%%NumPoints: 4
-82. 190. mt
-87.20886 175.68701 li
-76.79101 lh
-82. 190. li
-cp
-dp
-82. 122. mt
-175.68701 lv
-ds
-%%EndObject
-%%BeginObject: Group
-%%BeginObject: RoundRect
-1. 1. sp
-0.80078 1. 1. f3
-41. 190.42187 154.99987 251.578 12.5 12.5 rr
-db
-%%EndObject
-%%BeginObject: Text
-cd
-gs
- .25 .25 scale
-189.125 814. 594.875 934. rp
-df
-0. pg
-1. 1. sp
-309. 866. mt
-tb
-72 fts
-/___FN4-1 1.05517 0.91271 mf
-0. 0. ta
-310.125 866. mt
-(ORB) 3 0 163. tf
-309. 866. mt
-(ORB) 3 0 163. tf
-te
-255. 922.69787 mt
-tb
-52 fts
-/___FN4-1 1.05517 0.91271 mf
-255.8125 922.69787 mt
-(INTERFACE) 9 0 328. tf
-255. 922.69787 mt
-(INTERFACE) 9 0 328. tf
-te
-gr
-1. 1. sp
-1 lc
-1 lj
-%%EndObject
-%%EndGroup
-%%BeginObject: RoundRect
-0. pg
-1. 1. sp
-1. 1. 0.80078 f3
-55. 362. 250. 527. 12.5 12.5 rr
-db
-%%EndObject
-%%BeginObject: Line
-2. 2. sp
-%%NumPoints: 4
-117. 346. mt
-122.20886 331.68701 li
-111.79101 lh
-117. 346. li
-cp
-dp
-117. 254. mt
-331.68701 lv
-ds
-%%EndObject
-%%BeginObject: Text
-cd
-gs
- .25 .25 scale
-0. pg
-1. 1. sp
-253. 1568. mt
-tb
-72 fts
-/___FN1-3 sf
-4. 0. ta
-254.125 1568. mt
-(ORBInitRef) 10 0 384. tf
-253. 1568. mt
-(ORBInitRef) 10 0 384. tf
-te
-gr
-1. 1. sp
-1 lc
-1 lj
-%%EndObject
-%%BeginObject: Text
-cd
-gs
- .25 .25 scale
-1169. 1568. mt
-tb
-72 fts
-/___FN1-3 sf
-8. 0. ta
-1170.125 1568. mt
-(ORBDefaultInitRef) 17 0 628. tf
-1169. 1568. mt
-(ORBDefaultInitRef) 17 0 628. tf
-te
-gr
-1. 1. sp
-1 lc
-1 lj
-%%EndObject
-%%BeginObject: RoundRect
-0. pg
-1. 1. sp
-1. fg
-83. 406. 232. 514. 12.5 12.5 rr
-db
-%%EndObject
-%%BeginObject: Text
-cd
-gs
- .25 .25 scale
-0. pg
-1. 1. sp
-385. 1716. mt
-tb
-72 fts
-/___FN1 sf
-0. -0.46667 ta
-(ObjectID : IOR) 16 4 499.53344 tf
-te
-gr
-1. 1. sp
-1 lc
-1 lj
-%%EndObject
-%%BeginObject: Oval
-0. pg
-1. 1. sp
-1. 0. 0. f3
-3. 3. 125. 463. ep
-db
-%%EndObject
-%%BeginObject: Oval
-3. 3. 125. 492. ep
-db
-%%EndObject
-%%BeginObject: Oval
-3. 3. 205. 492. ep
-db
-%%EndObject
-%%BeginObject: Oval
-3. 3. 205. 443. ep
-db
-%%EndObject
-%%BeginObject: Oval
-1. 0. 0.19921 f3
-3. 3. 125. 445. ep
-db
-%%EndObject
-%%BeginObject: Oval
-1. 0. 0. f3
-3. 3. 205. 463. ep
-db
-%%EndObject
-%%BeginObject: Line
-3. 3. sp
-178. 444. mt
-501. lv
-ds
-%%EndObject
-%%BeginObject: Text
-cd
-gs
- .25 .25 scale
-1. pg
-1. 1. sp
-1381. 2010. mt
-tb
-96 fts
-/___FN4-1 1.05517 1. mf
-0. 0. ta
-1382.5 2010. mt
-(ORB CORE) 9 2 556. tf
-1381. 2010. mt
-(ORB CORE) 9 2 556. tf
-te
-gr
-1. 1. sp
-1 lc
-1 lj
-%%EndObject
-%%BeginObject: RoundRect
-0. pg
-1. 1. sp
-1. fg
-301.5 402. 553. 432. 12.5 12.5 rr
-db
-%%EndObject
-%%BeginObject: Text
-cd
-gs
- .25 .25 scale
-0. pg
-1. 1. sp
-1261. 1696. mt
-tb
-72 fts
-/___FN1 sf
-0. -0.11999 ta
-(corbaloc::merengue:99999) 24 0 883.88012 tf
-te
-gr
-1. 1. sp
-1 lc
-1 lj
-%%EndObject
-%%BeginObject: Group
-%%BeginObject: Polygon
-0. pg
-0.01953 0.01953 sp
-0. fg
-%%NumPoints: 5
-505.15539 95.68762 mt
-571.55468 lh
-99.3507 lv
-505.15539 lh
-95.68762 lv
-cp
-db
-%%EndObject
-%%BeginObject: Polygon
-1. fg
-%%NumPoints: 30
-482.80908 99.03442 mt
-598.17089 lh
-598.52954 99.06823 li
-598.87133 99.18676 li
-599.34106 99.48327 li
-599.68273 99.87304 li
-599.92199 100.33056 li
-599.98168 100.69482 li
-599.9989 132.93872 li
-599.94763 133.32836 li
-599.77673 133.82824 li
-599.46069 134.23486 li
-599.00793 134.54833 li
-598.52954 134.73474 li
-598.17089 134.76013 li
-482.80908 lh
-482.4674 134.73474 li
-482.09155 134.62463 li
-481.66442 134.37048 li
-481.28857 133.98071 li
-481.05798 133.50634 li
-480.98974 133.14196 li
-100.85583 lv
-480.99816 100.5 li
-481.12634 100.15258 li
-481.4082 99.70361 li
-481.80114 99.3562 li
-482.27099 99.11901 li
-482.61267 99.05126 li
-482.80908 99.03442 li
-cp
-db
-%%EndObject
-%%BeginObject: Polygon
-%%NumPoints: 33
-499.98718 35.25036 mt
-575.24865 lh
-575.65014 35.30957 li
-576.00036 35.47058 li
-576.36767 35.69934 li
-576.85461 36.14831 li
-577.09375 36.52111 li
-577.27307 36.89379 li
-577.38415 37.28356 li
-579.21203 93.39294 li
-579.13525 93.77416 li
-579.04125 94.16381 li
-578.81921 94.52819 li
-578.40917 95.01098 li
-578.05895 95.26513 li
-577.69165 95.46008 li
-577.28161 95.57861 li
-498.10803 lh
-497.67236 95.53625 li
-497.24523 95.35839 li
-496.89501 95.10424 li
-496.42529 94.62133 li
-496.19458 94.25708 li
-496.05798 93.88427 li
-495.95544 93.39294 li
-497.8175 37.43603 li
-497.92004 37.08032 li
-498.22753 36.56347 li
-498.50085 36.19067 li
-498.82543 35.82641 li
-499.1842 35.54687 li
-499.5686 35.3435 li
-499.98718 35.25036 li
-cp
-db
-%%EndObject
-%%BeginObject: Polygon
-%%NumPoints: 30
-496.14343 106.89721 mt
-585.69067 lh
-586.1947 106.94799 li
-586.68151 107.05822 li
-587.16845 107.20214 li
-587.62976 107.34619 li
-588.04833 107.52416 li
-588.50964 107.76135 li
-597.25671 131.54113 li
-596.91503 131.74438 li
-596.41967 131.99011 li
-595.96691 132.15954 li
-595.5227 132.30358 li
-594.97607 132.43066 li
-594.40368 132.43908 li
-487.46447 lh
-486.84094 132.43066 li
-486.32849 132.30358 li
-485.84155 132.15954 li
-485.38879 131.99011 li
-485.03857 131.83764 li
-484.69689 131.6173 li
-493.27319 107.80371 li
-493.68322 107.60876 li
-494.0249 107.44787 li
-494.46057 107.28686 li
-494.92187 107.12597 li
-495.41723 106.99035 li
-495.89562 106.93103 li
-496.14343 106.89721 li
-cp
-db
-%%EndObject
-%%BeginObject: Polygon
-0.67187 fg
-%%NumPoints: 19
-486.90917 138.74951 mt
-594.33911 lh
-597.38854 137.57275 li
-597.29455 131.45166 li
-596.96142 131.68017 li
-596.44885 131.92578 li
-596.0133 132.0697 li
-595.54345 132.23046 li
-595.01391 132.34057 li
-594.44152 132.36596 li
-487.49865 lh
-486.90917 132.30676 li
-486.36254 132.17126 li
-485.89282 131.9934 li
-485.45715 131.79028 li
-485.11547 131.57861 li
-484.73962 131.40087 li
-484.65429 137.31872 li
-486.90917 138.74951 li
-cp
-db
-%%EndObject
-%%BeginObject: Polygon
-%%NumPoints: 25
-510.14392 43.50292 mt
-565.00097 lh
-565.46215 43.59606 li
-565.88073 43.81628 li
-566.22241 44.16369 li
-566.50427 44.55334 li
-566.63244 44.98547 li
-567.96496 86.64062 li
-567.88818 87.08959 li
-567.69165 87.53857 li
-567.38415 87.91137 li
-566.99975 88.17395 li
-566.52136 88.28405 li
-508.78576 lh
-508.30737 88.2163 li
-507.93151 87.93676 li
-507.58129 87.60632 li
-507.3507 87.19116 li
-507.23107 86.75915 li
-508.62341 45.11254 li
-508.72595 44.71435 li
-508.97363 44.29919 li
-509.3153 43.90954 li
-509.71679 43.62145 li
-510.14392 43.50292 li
-cp
-db
-%%EndObject
-%%BeginObject: Polygon
-0. fg
-%%NumPoints: 25
-512.48449 45.03649 mt
-563.31787 lh
-563.75341 45.11279 li
-564.13793 45.35839 li
-564.56494 45.78198 li
-564.73583 46.1632 li
-564.8468 46.53601 li
-566.05126 84.34533 li
-565.98291 84.77746 li
-565.79504 85.15869 li
-565.41918 85.57373 li
-565.05187 85.78564 li
-564.60766 85.84484 li
-511.21166 lh
-510.75048 85.76855 li
-510.40026 85.52294 li
-510.00732 85.07397 li
-509.83642 84.70971 li
-509.78527 84.34533 li
-511.01525 46.53601 li
-511.13488 46.1632 li
-511.35693 45.78198 li
-511.69006 45.42614 li
-512.06591 45.17199 li
-512.48449 45.03649 li
-cp
-db
-%%EndObject
-%%BeginObject: Polygon
-0. 1. 1. f3
-%%NumPoints: 5
-512.89453 46.80737 mt
-562.95922 lh
-563.55725 84.32165 li
-511.97204 lh
-512.89453 46.80737 li
-cp
-db
-%%EndObject
-%%BeginObject: Polygon
-%%NumPoints: 5
-515.13256 51.04382 mt
-529.50927 lh
-63.84948 lv
-515.13256 lh
-51.04382 lv
-cp
-db
-%%EndObject
-%%BeginObject: Polygon
-0. 0. 1. f3
-%%NumPoints: 5
-515.13256 50.98449 mt
-529.50927 lh
-52.70751 lv
-515.13256 lh
-50.98449 lv
-cp
-db
-%%EndObject
-%%BeginObject: Polygon
-%%NumPoints: 5
-513.66333 47.55297 mt
-562.23254 lh
-49.47937 lv
-513.66333 lh
-47.55297 lv
-cp
-db
-%%EndObject
-%%BeginObject: Polygon
-0. 1. 1. f3
-%%NumPoints: 5
-524.37524 61.61804 mt
-541.82629 lh
-74.61108 lv
-524.37524 lh
-61.61804 lv
-cp
-db
-%%EndObject
-%%BeginObject: Polygon
-0. 0. 1. f3
-%%NumPoints: 5
-524.37524 61.86376 mt
-541.82629 lh
-63.67138 lv
-524.37524 lh
-61.86376 lv
-cp
-db
-%%EndObject
-%%BeginObject: Polygon
-0. 1. 1. f3
-%%NumPoints: 5
-557.91186 67.91345 mt
-537.64111 lh
-83.37145 lv
-557.91186 lh
-67.91345 lv
-cp
-db
-%%EndObject
-%%BeginObject: Polygon
-0. 0. 1. f3
-%%NumPoints: 5
-557.91186 68.06591 mt
-537.64111 lh
-69.79736 lv
-557.91186 lh
-68.06591 lv
-cp
-db
-%%EndObject
-%%BeginObject: Polygon
-%%NumPoints: 3
-548.47265 102.07617 mt
-588.3645 lh
-105.16333 lv
-ds
-%%EndObject
-%%BeginObject: Polygon
-0. fg
-%%NumPoints: 5
-494.18725 125.75341 mt
-587.71301 lh
-582.24609 109.21032 li
-499.432 lh
-494.18725 125.75341 li
-cp
-db
-%%EndObject
-%%BeginObject: Polygon
-1. fg
-%%NumPoints: 5
-496.69873 124.83691 mt
-584.29809 lh
-580.17224 110.31176 li
-501.18322 lh
-496.69873 124.83691 li
-cp
-db
-%%EndObject
-%%BeginObject: Line
-500.19238 112.98083 mt
-581.8208 112.97534 li
-ds
-%%EndObject
-%%BeginObject: Line
-583.32458 117.03088 mt
-498.91064 117.02526 li
-ds
-%%EndObject
-%%BeginObject: Line
-497.69812 121.41137 mt
-584.60546 121.40576 li
-ds
-%%EndObject
-%%BeginObject: Line
-501.76416 124.84289 mt
-505.3258 110.30627 li
-ds
-%%EndObject
-%%BeginObject: Line
-506.33422 124.84289 mt
-509.83605 110.30627 li
-ds
-%%EndObject
-%%BeginObject: Line
-510.8872 124.84289 mt
-513.3811 110.30627 li
-ds
-%%EndObject
-%%BeginObject: Line
-515.4486 124.84289 mt
-517.90844 110.30627 li
-ds
-%%EndObject
-%%BeginObject: Line
-519.98449 124.84289 mt
-521.42773 110.30627 li
-ds
-%%EndObject
-%%BeginObject: Line
-524.53747 124.84289 mt
-525.93811 110.30627 li
-ds
-%%EndObject
-%%BeginObject: Line
-529.07336 124.84289 mt
-529.71362 110.30627 li
-ds
-%%EndObject
-%%BeginObject: Line
-533.62634 124.84289 mt
-533.98474 110.30627 li
-ds
-%%EndObject
-%%BeginObject: Line
-538.17932 124.84289 mt
-538.17895 110.30627 li
-ds
-%%EndObject
-%%BeginObject: Line
-542.72375 124.84289 mt
-542.28771 110.30627 li
-ds
-%%EndObject
-%%BeginObject: Line
-547.27673 124.84289 mt
-546.55871 110.30627 li
-ds
-%%EndObject
-%%BeginObject: Line
-551.82971 124.84289 mt
-550.79565 110.30627 li
-ds
-%%EndObject
-%%BeginObject: Line
-556.3656 124.84289 mt
-555.06677 110.30627 li
-ds
-%%EndObject
-%%BeginObject: Line
-560.91857 124.84289 mt
-559.3208 110.30627 li
-ds
-%%EndObject
-%%BeginObject: Line
-565.46289 124.84289 mt
-563.10498 110.30627 li
-ds
-%%EndObject
-%%BeginObject: Line
-570.01586 124.84289 mt
-567.1112 110.30627 li
-ds
-%%EndObject
-%%BeginObject: Line
-574.58593 124.84289 mt
-571.39086 110.30627 li
-ds
-%%EndObject
-%%BeginObject: Line
-579.10473 124.84289 mt
-575.87548 110.30627 li
-ds
-%%EndObject
-%%EndGroup
-%%BeginObject: Text
-cd
-gs
- .25 .25 scale
-0. pg
-1. 1. sp
-1037. 764. mt
-tb
-96 fts
-/___FN4-1 1.05505 0.91259 mf
-0. -8.25 ta
-1038.5 764. mt
-(MULTICAST) 9 0 523.75 tf
-1037. 764. mt
-(MULTICAST) 9 0 523.75 tf
-te
-1247. 852. mt
-tb
-72 fts
-/___FN4-1 1.05505 0.91259 mf
-4. 0. ta
-1248.125 852. mt
-(TO) 2 0 108. tf
-1247. 852. mt
-(TO) 2 0 108. tf
-te
-1131. 940. mt
-tb
-96 fts
-/___FN4-1 1.05505 0.91259 mf
-1132.5 940. mt
-(S) ts
-1131. 940. mt
-(S) ts
-te
-1185.83325 940. mt
-tb
-72 fts
-/___FN4-1 1.05505 0.91259 mf
-0. -0.16674 ta
-1186.95825 940. mt
-(ERVICE) 6 0 289. tf
-1185.83325 940. mt
-(ERVICE) 6 0 289. tf
-te
-gr
-1. 1. sp
-1 lc
-1 lj
-%%EndObject
-%%BeginObject: Line
-0. pg
-5. 5. sp
-199.99218 159.99218 24. 24. 244. 216. wd
-dp
-170. 216. mt
-220. lh
-ds
-%%EndObject
-%%BeginObject: Line
-2. 2. sp
-154.99609 114.99609 15. 15. 470. 105. wd
-dp
-334.99609 294.99609 15. 15. 404. 171. wd
-dp
-414.60656 160.39331 mt
-459.39331 115.60656 li
-ds
-%%EndObject
-%%BeginObject: Line
-3. 3. sp
-199.99218 159.99218 18. 18. 500. 198. wd
-dp
-415. 198. mt
-482. lh
-ds
-%%EndObject
-%%BeginObject: Line
-2. 2. sp
-244.99609 204.99609 15. 15. 470. 288. wd
-dp
-403.99987 222. mt
-459.39331 277.39331 li
-ds
-%%EndObject
-%%BeginObject: Text
-cd
-gs
- .25 .25 scale
-0. pg
-1. 1. sp
-165. 412. mt
-tb
-72 fts
-/___FN1 sf
-0. -0.07153 ta
-(resolve_initial_references \(\)) 29 1 883.92858 tf
-te
-gr
-1. 1. sp
-1 lc
-1 lj
-%%EndObject
-%%BeginObject: Line
-0. pg
-2. 2. sp
-219.36328 179.36328 15. 15. 408. 342. wd
-dp
-152. 252. mt
-393.84899 337.02502 li
-ds
-%%EndObject
-%%BeginObject: Text
-cd
-gs
- .25 .25 scale
-0. pg
-1. 1. sp
-2413. 212. mt
-tb
-72 fts
-/___FN1 sf
-0. -1.09094 ta
-(IIOP Agent /) 12 2 378.90917 tf
-te
-2413. 296. mt
-tb
-0. -0.30773 ta
-(Naming Service) 14 1 503.6925 tf
-te
-gr
-1. 1. sp
-1 lc
-1 lj
-%%EndObject
-%%BeginObject: Oval
-0. pg
-1. 1. sp
-0. 1. 0.60156 f3
-9. 11.5 61. 153.5 ep
-db
-%%EndObject
-%%BeginObject: Text
-cd
-gs
- .25 .25 scale
-0. pg
-1. 1. sp
-229. 636. mt
-tb
-56 fts
-/___FN1-1 sf
-229.875 636. mt
-(1) ts
-229. 636. mt
-(1) ts
-te
-gr
-1. 1. sp
-1 lc
-1 lj
-%%EndObject
-%%BeginObject: Oval
-0. pg
-1. 1. sp
-9. 11.5 191. 195. ep
-db
-%%EndObject
-%%BeginObject: Text
-cd
-gs
- .25 .25 scale
-0. pg
-1. 1. sp
-749. 804. mt
-tb
-56 fts
-/___FN1-1 sf
-749.875 804. mt
-(4) ts
-749. 804. mt
-(4) ts
-te
-gr
-1. 1. sp
-1 lc
-1 lj
-%%EndObject
-%%BeginObject: Oval
-0. pg
-1. 1. sp
-9. 11.5 243. 300. ep
-db
-%%EndObject
-%%BeginObject: Text
-cd
-gs
- .25 .25 scale
-0. pg
-1. 1. sp
-957. 1224. mt
-tb
-56 fts
-/___FN1-1 sf
-957.875 1224. mt
-(3) ts
-957. 1224. mt
-(3) ts
-te
-gr
-1. 1. sp
-1 lc
-1 lj
-%%EndObject
-%%BeginObject: Oval
-0. pg
-1. 1. sp
-9. 11.5 97. 291. ep
-db
-%%EndObject
-%%BeginObject: Text
-cd
-gs
- .25 .25 scale
-0. pg
-1. 1. sp
-373. 1184. mt
-tb
-56 fts
-/___FN1-1 sf
-373.875 1184. mt
-(2) ts
-373. 1184. mt
-(2) ts
-te
-gr
-1. 1. sp
-1 lc
-1 lj
-%%EndObject
-%%BeginObject: RoundRect
-0. pg
-3. 3. sp
-1. fg
-596.5 151. 745.5 277. 12.5 12.5 rr
-db
-%%EndObject
-%%BeginObject: Text
-cd
-gs
- .25 .25 scale
-0. pg
-1. 1. sp
-2425. 732. mt
-tb
-72 fts
-/___FN1 sf
-0. -0.46667 ta
-(ObjectID : IOR) 16 4 499.53344 tf
-te
-gr
-1. 1. sp
-1 lc
-1 lj
-%%EndObject
-%%BeginObject: Line
-0. pg
-3. 3. sp
-689. 191.5 mt
-246. lv
-ds
-%%EndObject
-%%BeginObject: Oval
-1. 1. sp
-1. 0. 0.19921 f3
-3. 3. 634. 203. ep
-db
-%%EndObject
-%%BeginObject: Oval
-3. 3. 634. 222. ep
-db
-%%EndObject
-%%BeginObject: Oval
-3. 3. 635. 257. ep
-db
-%%EndObject
-%%BeginObject: Oval
-3. 3. 715. 201. ep
-db
-%%EndObject
-%%BeginObject: Oval
-3. 3. 715. 222. ep
-db
-%%EndObject
-%%BeginObject: Oval
-3. 3. 716. 259. ep
-db
-%%EndObject
-%%BeginObject: Line
-3. 3. sp
-619. 117. mt
-669. lh
-ds
-%%EndObject
-%%BeginObject: Line
-288.20312 248.20312 18. 18. 672. 149. wd
-dp
-671. 117. mt
-671.43774 131.00878 li
-ds
-%%EndObject
-%%BeginObject: Oval
-1. 1. sp
-0. 1. 0.60156 f3
-9. 11.5 693. 113. ep
-db
-%%EndObject
-%%BeginObject: Text
-cd
-gs
- .25 .25 scale
-0. pg
-1. 1. sp
-2757. 472. mt
-tb
-56 fts
-/___FN1-1 sf
-2757.875 472. mt
-(5) ts
-2757. 472. mt
-(5) ts
-te
-gr
-1. 1. sp
-1 lc
-1 lj
-%%EndObject
-userdict /canvassave get restore
-%%Trailer
-/Deneba_CanvasGraphics where{/Deneba_CanvasGraphics get/terminate get exec}if
-/Deneba_CanvasCustomColors where{/Deneba_CanvasCustomColors get/terminate get exec}if
-showpage
-%%Trailer
-%%EOF
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-