celui ci n'utilise pas la meme façon pour creer la palette de caracteres
j'utilise des caracteres bien defini, calibré d'apres degradé de gris
ce qui a final offre un rendu bien plus net
comme avant , il suffit de coller dans le forum , mais preferez un traitement de texte
car le forum, n'aime pas trop qu'on joue avec les caracteres
si vous comptez l'utiliser sur un traitement de texte remplacer alors tout les CHR(0160) qui est un caractere special
prévu pour le forum , par un CHR(32) (espace )
sinon vous aurez peut etre un resultat bizarre , dans Writer (libre office ) ça laisse non pas un espace
mais un caractere gris (le Chr(0160)
pareil , le forum n'aime pas qu'on change la taille , elle est fixé par mon prg a 18 , il ne faut pas depasser 19 sinon sa met
les proportions en l'air ....
voici le nouveau code :
Code : Tout sélectionner
;***********************************************
;Titre :*ascii_art2
;Auteur : Zorro
;Date :16/10/2016
;Heure :14:39:15
;Version Purebasic : PureBasic 5.50 (Windows - x64)
;Version de l'editeur :EPB V2.64
; Libairies necessaire : Aucune
;***********************************************
;***********************************************
;{- Enumerations / DataSections
;{ Windows
UseJPEGImageDecoder()
UseJPEGImageEncoder()
UsePNGImageDecoder()
UsePNGImageEncoder()
Enumeration
#Win
#file
EndEnumeration
;}
;{ Gadgets
Enumeration
#Image_0
#Image_1
#editor
#Text_Titre
#Text_auteur
#Button_Load
#Button_Save
#Button_calcul
#progress_calcul
#image_origine
#image_origine_gadget
#image_origine_gadget2
#image_modifie
#image_modifie_gadget
#image_modifie2
#Text_version
#valeur
#batch_convert
#valeur_text
#buffer
#track_taille_fonte
#valeur_taille_fonte
#Text_fonte
#Text_tolerance
EndEnumeration
;}
;{ Fonts
Enumeration
#Font_Text_Titre
#Font_Text
EndEnumeration
;}
;{ Images
Enumeration
#Image_Image_0
#Image_Image_1
EndEnumeration
;}
Structure image_file
image_file.s
image_file_batch.s
repertoire_sortie.s
here.s
name_image.s
extens_image.s
Largeur_image.i
hauteur_image.i
vall.i
taille_fonte.i
EndStructure
Global image_file.image_file
Global Dim Image_or(1,1)
Global Dim Image_transp(1,1)
Global Dim Image_res(1,1)
Global Version.s="2.00"
; **********************************
;-declaration Procedures
Declare openwindow_win()
Declare calcul()
Declare save(flag)
Declare load(flag)
Declare save_ini()
Declare load_ini()
Global taille=128
Global Nom_fonte.s="Lucida Console"
image_file\taille_fonte.i=3
; **********************************
Define.l Event
;}
Load_ini()
OpenWindow_Win()
;{- Event loop
Repeat
Event = WaitWindowEvent(12)
Select Event
; ///////////////////
Case #PB_Event_Gadget
Select EventGadget()
Case #Image_0
Case #Image_1
Case #track_taille_fonte
image_file\taille_fonte.i=getGadgetstate(#track_taille_fonte)
if Not LoadFont(#Font_Text, Nom_fonte.s, image_file\taille_fonte.i, #PB_Font_HighQuality)
MessageRequester("erreur","pas pu charger la fonte")
End
Endif
SetGadgetText(#valeur_taille_fonte,str(image_file\taille_fonte.i))
Calcul()
Case #batch_convert
;-bath_convert
image_file\image_file_batch.s=OpenFileRequester("choisir Les images a convertir",image_file\here.s,"*.jpg;*.png;*.bmp",1,#PB_Requester_MultiSelection)
image_file\repertoire_sortie.s=PathRequester("indiquez le repertoire de sortie",image_file\here.s)
While image_file\image_file_batch.s
;Debug image_file\image_file_batch.s
SetWindowTitle(#win,"calcul img:"+image_file\image_file_batch.s)
image_file\image_file.s=image_file\image_file_batch.s
;load image en cours
Load(#true)
;calcul
Calcul()
image_file\image_file_batch.s = NextSelectedFileName()
save(#True)
Wend
Case #Text_Titre
Case #Text_auteur
Case #Button_Load
;-load
Load(#false)
Case #Button_Save
;-Save
save(#false)
Case #Button_calcul
;-calcul
image_file\taille_fonte.i=getGadgetstate(#track_taille_fonte)
if Not LoadFont(#Font_Text, Nom_fonte.s, image_file\taille_fonte.i, #PB_Font_HighQuality)
MessageRequester("erreur","pas pu charger la fonte")
End
Endif
Calcul()
Case #valeur
image_file\vall.i=getGadgetstate(#Valeur)
SetGadgetText(#valeur_text,str(image_file\vall.i))
EndSelect
; ////////////////////////
Case #PB_Event_CloseWindow
Select EventWindow()
Case #Win
Save_ini()
CloseWindow(#Win)
Break
EndSelect
EndSelect
Forever
;
;}
;- Procedures Zone
Procedure OpenWindow_Win()
;-openwindow
If OpenWindow(#Win, 271, 98, 600, 550, "Ascii-art by Zorro", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
;;If CreateGadgetList(WindowID(#Win))
ImageGadget(#Image_0, 230, 10,taille, taille/2, 0, #PB_Image_Border)
;ImageGadget(#Image_1, 230, 270, 325, 235, 0, #PB_Image_Border)
EditorGadget(#editor,100,160,490,380)
TextGadget(#Text_Titre, 10, 15, 100, 40, "Ascii-art")
TextGadget(#Text_version, 10, 55, 50, 20,Version.s )
TextGadget(#Text_auteur, 120, 15, 50, 20, "By Zorro")
ButtonGadget(#Button_calcul, 10, 375, 55, 50, "Calcul")
ProgressBarGadget(#progress_calcul, 10, 140,150, 15, 1, 100)
ButtonGadget(#Button_Load, 10, 440, 80, 25, "Load")
ButtonGadget(#Button_Save, 10, 470, 80, 25, "Save")
ButtonGadget(#batch_convert,10, 500, 80, 25, "Batch_convert")
TextGadget(#Text_tolerance, 10, 80, 180, 20, "Tolerance")
TrackBarGadget(#valeur,10,100,150,30,0,100)
TextGadget(#valeur_text,200,100,30,30,str(image_file\vall.i))
setGadgetstate(#Valeur,image_file\vall.i)
DisableGadget(#batch_convert, #true)
; Gadget Fonts
TextGadget(#Text_fonte, 250, 80, 180, 20, "Taille fonte")
TrackBarGadget(#track_taille_fonte,250,100,150,30,1,10)
TextGadget(#valeur_taille_fonte,450,100,30,30,str(image_file\taille_fonte))
setGadgetstate(#track_taille_fonte,image_file\taille_fonte.i)
SetGadgetFont(#Text_Titre, LoadFont(#Font_Text_Titre, "Arial", 20, #PB_Font_HighQuality))
if Not LoadFont(#Font_Text, Nom_fonte.s, image_file\taille_fonte.i, #PB_Font_HighQuality)
MessageRequester("erreur","pas pu charger la fonte")
End
Endif
;EndIf
EndIf
EndProcedure
Procedure Calcul()
SetGadgetFont(#editor, FontID(#font_text))
Save_ini()
if IsImage(#image_origine)
; ***************************************************
txt.s="[size=18]"+chr(10)+chr(13)
For y=1 to image_file\hauteur_image-1
For x=1 to image_file\Largeur_image-1
pixl=Image_or(x,y)
lum=((red(pixl)+green(pixl)+blue(pixl))/3) ; recup la moyenne
if Lum<241
if image_file\vall.i<50
image_file\vall.i=-image_file\vall.i
Endif
lum=lum+image_file\vall.i
Endif
select Lum
Case 0 to 10
car.s="&"
Case 21 to 30
car.s="e"
Case 41 to 50
car.s="b"
Case 60 to 70
car.s="g"
Case 80 to 90
car.s="$"
Case 100 to 110
car.s="z"
Case 121 to 130
car.s="r"
Case 141 to 150
car.s="h"
Case 161 to 170
car.s="w"
Case 171 to 180
car.s="v"
Case 181 to 190
car.s="y"
Case 191 to 200
car.s="u"
Case 201 to 210
car.s="i"
Case 211 to 220
car.s="|"
Case 221 to 230
car.s="!"
Case 231 to 240 ;
car.s=","
Case 241 to 250
car.s="."
Case 251 to 255
car.s=chr(0160)
EndSelect
if Image_transp(x,y)<50 and image_file\extens_image.s="png"
car.s=chr(0160)
Endif
txt.s=txt.s+car.s
Next x
SetGadgetState(#progress_calcul, x)
WaitWindowEvent(2)
txt.s=txt.s+chr(10)+chr(13)
Next y
SetGadgetText(#editor,txt.s)
StopDrawing()
txt.s=txt.s+chr(10)+chr(13)+"[/size]"
SetClipboardText(txt.s)
; ***************************************************
SetGadgetState(#progress_calcul, 0)
DisableGadget(#batch_convert, #False)
Endif
Endprocedure
Procedure Save(flag)
if flag=#false
path_save.s=SaveFileRequester("ou sauver ?" ,image_file\here.s+image_file\name_image.s+"."+image_file\extens_image.s,"*.jpg;*.png;*.bmp",1)
Else
path_save.s=image_file\repertoire_sortie.s+image_file\name_image.s+"."+image_file\extens_image.s
Endif
OpenFile(#file,image_file\name_image.s+".txt")
For i=1 to CountGadgetItems(#editor)
ligne.s=GetGadgetItemText(#editor,i)
WriteStringN(#file,ligne$)
Next i
Endprocedure
Procedure Load(flag)
load_ini()
if flag=#false
image_file\image_file.s=OpenFileRequester("choisir une image",image_file\here.s,"*.jpg;*.png;*.bmp",1)
Endif
if image_file\image_file.s<>""
image_file\here.s=GetPathPart( image_file\image_file.s)
image_file\name_image.s=GetFilePart( image_file\image_file.s,#PB_FileSystem_NoExtension)
image_file\extens_image.s=lcase(GetExtensionPart( image_file\image_file.s))
If LoadImage(#image_origine, image_file\image_file.s)
CopyImage(#image_origine,#image_origine_gadget)
CopyImage(#image_origine,#image_origine_gadget2)
xim=ImageWidth(#image_origine)
yim=ImageHeight(#image_origine)
rappor.f=(xim/yim)*3
ResizeImage(#image_origine_gadget,taille,taille/rappor.f)
ResizeImage(#image_origine_gadget2,128,64)
image_file\Largeur_image=taille
image_file\hauteur_image=taille/rappor.f
SetGadgetState(#Image_0, imageId(#image_origine_gadget2))
Dim Image_or(image_file\Largeur_image,image_file\hauteur_image+10)
Dim Image_transp(image_file\Largeur_image,image_file\hauteur_image+10)
; Scan
StartDrawing(ImageOutput(#image_origine_gadget))
DrawingMode(#PB_2DDrawing_AlphaBlend )
For y=0 to image_file\hauteur_image-1
For x=0 to image_file\Largeur_image-1
col=point(x,y)
Image_or(x,y)=(col)
Image_transp(x,y)=alpha(col)
Next x
Next y
StopDrawing()
Else
MessageRequester("erreur", "pas pu charger cette image !")
Endif
Endif
EndProcedure
procedure Save_ini()
If Openfile(#file,GetCurrentDirectory()+"Pixeliser.ini")
;-save_ini
writeStringN(#file,image_file\here.s)
image_file\vall.i=getGadgetstate(#Valeur)
writeStringN(#file,str(image_file\vall.i))
image_file\taille_fonte.i=getGadgetstate(#track_taille_fonte)
writeStringN(#file,str(image_file\taille_fonte.i))
CloseFile(#file)
Else
image_file\here.s=GetCurrentDirectory()
Endif;]
EndProcedure
Procedure load_ini()
if FileSize(GetCurrentDirectory()+"Pixeliser.ini")>1
If Openfile(#file,GetCurrentDirectory()+"Pixeliser.ini")
image_file\here.s=ReadString(#file)
image_file\vall.i=val(ReadString(#file))
image_file\taille_fonte.i=val(ReadString(#file))
CloseFile(#file)
Endif
Else
image_file\here.s=GetCurrentDirectory();|
Endif
EndProcedure
et quelques images faite avec , pour un meilleur rendu collez les dans le NotePad et choisissez une taille de police de 4
vrrru.,,,,,,,,,,,,,,,!!,,,,yyyhy
i .!!!!!i|!!!!!!!ii!!!!!!!,!!yrrv
u...,!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!uuw$$
r$,,!!!!!!!!!!!!!||!!!!!!|i|!!!!!!!!!!!,yyuub!
u.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!|vyyuu!
|,!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!|vyyyi&
yy !!,.,..,!!!!!!!!!ii!!!!!!|i!!!!!!!!!!!!,uvyyyuu!
g!,!,,&&&ee!.,!!!!!!!!!!!!!!!!!!!!!!!!!,,,,uuyyyve.
!!i&&e&&&&gy.,!!!i|,!!!!!!!!!!!!!,,.||zzeeezyyhh
.!!,...hzg&&&h.,,vvu!!!!!!,.,!,.!!!&&&&&&&&&uu$z wvyy
!hhvyw& !!!,,v,,,.vv&&&!uyvy!!!!. ,|z&&&&u,..,ziuuww&whhri!!
vvgggghhhhh !!,g.!!!!,,.yy&eeiuy,, ,r&&&u.,,,!!!..wywwwzgghuuii
yyyyyrzz.,w$vvh !,,w,!!!!!!,,.y&&$$hhwb&&!.,,!!!!!!,u$uvvvezzzzyuri
,bbbbrrrhhi.|..... !,uhi,,,,,!!!!b&gy!ir$ebi!!!!,,!iuuuuyyggzziwwizzz,
gy ,,,,....vhhhhv ,.ivwwwwv,!!,!|!,!!,,..,!,|yvwwwwrrhh$$$gghwwgggg&$
i&v !!,!!|iig$hhyvgu ,,,,,iiiuyyi,,,,,,,,!iyyu||||h,,uuvz$uuiv$b$$zzzzzgv.
...!!!!!,,,ihrrreevyyvw&&rzhvvvvvwwwhhhhvwwbbbbb.iuhg&zzbbggrrrr$$$$bgeu
bh .!!!!!,yyyhhrhrrrvw|h|||.izzrzzzzzzzzzzhhy,ih,uu$$gggzzzzzrrwuuuyvvez
...!!!,uu,wzr|yyyyrzzzz$zz||iiiiiii||!!|iuvrrrbe$ggggghi!,,,,,,ivyyvb
. .....!!,,yy,r|ryywuuuuwwweeeezzzhhh$$$z$$$$$$$$e$hu!.,,!!!!i!!vyyyyy
.zi .....,wvh$$hhhhzzrgryyyyuwry.ivv!ivvwwhrrrzrzw.,,,!!!!!!!!|vywyyyy
u, .. v .,hrrryyy$uuruu.,g,vuzzzz$$$$bbhhzhzviyvww!!!!!!!!!vyzzh
w . hhihhhvguzziyyurr.,iizzzzbrry,,|||zzzwu,,,,,!!!!!!,|vuuz
!!!,...,,yrrrre!,vvywwzzzzzggggwwz$$$eez$gggggu|,!!,,uyyvurr
irrrryvwzzrz,,,!uyuyyyggg ,,,,!uuuuuuuuugg$&wyuuuyyvyvvv
!!!!&&bzzyuuvvvvvvhi|vyywwhhhww$wywwgggberuyyyyvh$z,
.||$rrrre&&&eeeebbbz ,!,,,,,,iwww|!vzhyrhhrbghhhhhzz!
.|yvwhhrzzz$$ggggrrrrrrrrrbbb&&.,uvyuyv|.,|wvw$$$$.,zzzz$gbeb$ee$$h
!vvrz$$zzzzrrrrrrrrrr$$g$$$r$$$$$&gg&&&hhwwhhhhhyyyy$zzz&&$$$$$$$$$bbb$bbgggy.
|||$zzrrrrrrrrrrrrrrrrrrrrrrz$$gggzz$$zeeey!.$w|yyyyyw .,yy&bgbbbggggg$$beeeeee$$$$$v
yg$rrrrrrrrrrrrrrrrrrrrrzzzzzzzzz$ggg$zzggggggbbbhhwwwg$$$$$$zzgbbbbbbggbg$$$$$$$$$$$$zzzzzvy
grrrrrrrrrrrrrzzzzz$$$$$$$$$$$$$$$$$$$$$$$$$$ezzze&&&&$$$$$$$gbbbgggggggbbb$rrzz$$$$$$$$$zzgggv
uuurrrrrrrrrrzzzzzzzzzzzzzzzzzzzzzzz$$$$gg&&zzz&gg$$$$$$$$$bbbbbbbbbg$$b$$$$gbeeeerrzz$$$$$$$$gz$$$y
ggrrrrrrrrzzzzzzzzz$$$ggggbbbbeeeeeebbbbg&&zzz$&&&e&ggbbbeegg$$zrrrrrrr$$$$zzzzzbrrrrrzz$$$$zzzzzbbbzv
h&&&rrrrrzzzzzzzzzzzzzzzzz$$$$$$$$$$ggbeee&zzzzzgggbeeebggggggrrrrrrrrrrrrbbbzzz$ggrrrrrrrrrrzzzzzzeebgb
hhhgrrrr$$$$$$gggbbbbbbbbbbbbbbbeeeeebg$$hhbbzzzzzw !!zb&eebbbbbbb$$zzzrrr$$$zzzz$bbrrz$$zzzzzzzzzeeeb&
!!rrrbbbrzzzz$$gg$$$$$bbbbbb,!|!,. ggggggg&w |wwwww$$$$$$$$$$zzzzzz$$$$zzzzrzzz$$$z$gg$$$$!
hhhhhh$$$$$$$$$bbbggggbbg. . .iuvhzzbbb$$$$ee$$rrrrrrrrrgg&rrggbbbbb
iyhzzgggggg$$$$ee&$w .yhhggrrzzzzzzzrrrzzzzr$$&ebbgrwww$rv!
.yy$gw. .yyyyyrrrvuiz |vvhrrzzzzzbbbbbbrhvui,.wb&&&&&&&&&&h.
,,,&&&&&&&&&&ggbbee&&&&&&& beee&&&&&&&&&&&&&&&&&&&&&&&!
uggggg$$$$$$$$$$zzzrrrrrry| ..,!|iiiuvvvvwwvyui
!,,,|
wvyuyh ii,..,vw
uwwwwvvwyui ,! u|,...!wy
wvvyyyuyi ||!,,,|i |ui!,,,.ii
whwvyuii|iii|ii|,,..,!! iui!!!!,!vv
vvwvyui|!,,,,,,,,!! uyu||||!,|wy
hwvyui|!,,,,,!ii|!i|!||!!!||vvzzv|!ii||ivvu yvuiiiii|!uw
uywhhhwyuyui||||iiuuuii||!,,,.!$&&&&!,...,,,egh |yyuiii||!!!iii,,,!!!!||,
|uuyyyvvwwwwhhvyuuuyyyyvvvvvyyuuiiivrrh| .iyyu||||||||||||||!,,,........,,,,,,,,,,!!!!!!|iwwy
!!|||!|iuyvyuiuuuvwi|!!!|||iiuuuuuuuuuii|!!,,,,,,,,,,,,,!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!|||uyvvv$$zwuuii
vi,,.,!iuuii hvvyyyuuuuuuuuuuuyyyuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuyuuyuyyyyyyyyyyyyyyyvrrrz$$$gg$zrhw|!!|iiuui|
$$wi!,!|iui| iuywwwwwwvvyyuuiiiiivvrhwwwvvvwwwwwwwhwwwwwwwhwwwwhwwhwhhhhwhhwwwwwwwwwwwwhgggzzzrhhhwvyyuuuuiiuuuuuuv
$$wyuvhhy hwvyii|!,,..ig&&errrrrrwwwwrzhhhrzzzzzzzrzhzzrzzzzhzzrrrrrrrrrrrrrrrrrrrrrrrrrrrrwwwvvvyyuui|yh
wvvvhhhhhhhhhggggrhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhwwvvvvvyuyuuuuui|
iuuiiui iyvwwhhrrrrrrrrzzzzzzzzzzzzzzzzzrrrrrrhhwvvvvvvvvyiiiiiiiiiii|,
wwrrrrrrrrrrrrwwwrrrrhhwwwvuui
uwhrrrrrrrrrrrrrrrvi
uywhhhhhrrrrrrrrrvu
iuvwhhhhhhhhrrrhwvu
iyvwwwwwwhhhhhhyi
|iyvvvvvwwwhhwvu
|iyyyyyyvvwwwvyi
!|uuuuuyvvwvvi
|||iiiuuyyyui|
!i||||iiuuuui
u!||!|iuvwww
yiiyvwww
z$$$$ggg$g$$$bbbb$zg$ggg$$$g$g$$$ggggg$$$$$ebbbeezwv,. !,uiiwrrrrebbgbggggbebebbbbbeeegbgbgggbbb$$$$$$$g$gg
g$ggg$$$ggg$$gbgggg$gzg$g$g$g$$$g$$$$$$$bbbbee$$y. ............!.|.|.|,|.|.!...!wwzzeeebbbbbbbbbegggbggggbebeeeeeeeeegbb
bbgzzzzzzzggggbbbbbbbbbbb$ggggggggg$$$$$bggy| . ......... !. !..|.|.|,|,i!i!i,i,i!i,i,i,wwww&bebbbbbegggebbb&&&&&bbbbbbbeeb
b$rrhrrrr$$$$$$$zzzzzg$b$$$g$g$g$$$$$bbb| .......................! !.|,i,i!i|u!u!i|u!u!u!u!i,iwge&&&bbbbgbgeeebeeebebeeeeebeg
gwwwrrzhzr$z$$$$$$$$$$$gbbb$$$$$$$$$$| ..........................!.!.!.|,|,u|uiv|u|y|y|y!u|y|y!u|$e&bbgggbgebebbgggggggggeeee
wiyiwyyvvhhzzrzzzzzzzzzgggb$ggggggh. ......... .............! !.!.!.|,|,i!u!yiv|yuvuvuvuwuvivivuwywiww&gbbbgggebeeegbbbgbgggggb
wwwwwzhrrrhhhzrrhrhhhh$bbb$ggggggi..... ! ! ! ! ! ! ! ! ! !.! !.|.|,i!u!u|u|yiyuviviwuwuwuwuwvvywyywhvgbbbbgeeeeeeegbbbbbgggggb
bbzzzzzzzzwwwzrrrrrzr$$gggggzzzg.|.|.|.!.!.|.|.! |,|.|.|.|.|,i,i,i,u!u|u|y|viyiyiwiwuuuwuwuwyyvhyyvhhrrbbbgggebeeegggbbbgggggbb
v|yurrzzzyhhhzz$$$gzzzzzggggggg,i!u!u!u!u!i,i,i!u!u!u!u!i!u|y|y|y|y|yiviviy|vuwuwywyyuuvvyhvhwhvhhhhhhzrrrrrebbbeeeebgbbbgbgggb
|yiiii$$rzzz$$$bgb$ggggggg$ggbyiivuvivuvuvuy|y|u|u|u|y|yivuwiviy|y|vuvuviwuwyyvvvhvhvhvvwwwwwwwwhrhhr$zzzbgggebbbegbgbbbbbgbgbb
u!u|whggggg$g$gggggzz$ggg$$$$$|ivuvuwywuwuvuviy|u|u|u|uiwuy|yiy|yivuwywywyyvvyhvhvhwwwrrrrrhrrrhhhhhzr$$bbb$bgebbbbbbgeeegggggb
|uiih$$g$$$g$$$bbbz$$g$$$$$bbb,y|i!i!u,i!i!y!u!i,|.|.|.|.!,i!i,i!u|wywuwyyyyvvvhvvwwwrhrrzrzrzzzrrr$$$z$gb$$$$$ebegeeeeeeeeeeeg
gvrr$$$zz$g$bbbbbbbzz$bgbbbbe.!.i!u!uiy!y|u|u!i,|,|.|.!,i,i!i!u!i|y!y!u|yivuwyhvhwwwwwrhhhzzzz$$$$$$$$gggggggggbbbeeegggggggeeb
bbbgggrrr$zzzgggzzzg$g$$$b$$$|!y!yiyiwvvuvivuwuhvvyyyyvwyvuwywiuuy|u!u!uuvuvuwyyvhvvwrhzzzrrr$$$$$$$$g$gbbgbgebbbeeegggbgbgbggg
gge$$$$zzgeeeeerrr$$gggggg$|!ivwrhhwrrrhhhhvvwzzz$$$$gggggghhhhwwyvvhwwuwivuvuwuwvvwwwwwwz$zzzzzggggggggegbggggggbeeeeegbgbgbgb
gb$$$$z$$bbbb$zg$g$b$ggg$$$rvhuv|wwwr$$$$zwwwrhzzbbgggyv|u!yiyiwvvhzzzzzwwuvuvuwyyyywwwwr$$$z$zzz$zzzbzzgggbgggebbbeeegbbbbbggg
$$$$$z$zzz$rrrr$$ggggg$$$$e|wvzzzzzzgggggzvuwyhh$$g$bbbbbbrzzgggg$$$$hrww|yiyiviwywyyyyyyhzz$zzhhvvu|!!!zhrrrbebbbegggbbbgggggb
rr$$$gggggz$$$$$z$$$$$zzzzy!yyyeeewzggzzhr.i!yyrhvyyhhhhhhhhrrhryyuwiy,|.|.i!u|uivuwuuvvvvvvrrvv|yhbbb$b$ehhhebbbbbbgggbgbgbggg
rrzzzrrzzzzz$z$z$$$$$z$$gv !.viwwwwhyhhhyu.|,yyyuu!yihvwiy|y|y!yiiii.....|,i!y|viwuwyhvvwwrrhhh$zzzzwwvziz..gggebegbbbbbbbbbggg
ggggggzzzrrr$$$zzz$z$$g$$.,! |iiiii$$riy,.!.i|yuy,u!|,iuhwhvvuy,|... .!.|,u|yivuuyyvhwwwwwzzhvvw&&&&ruvhwiuuuuubeebgbbb$$$bgggg
hrrzzggggggzrrrrr$$gg$$givuy,i.|,i!|,uu|. !.iiyiy!i,|,|.|.|,|,|.|,i,u!yivuuyyvvvhwrrrrrhhhhwhhw!zzrzzw!ww ggggg&&eebgbbbbbggggg
rhhhhzz$$$$rrrzr$$$$gzggriwuv|y!i,i!vwi.!.!,yuwiwyhww|u|u!i,i,u|u|yivyywwwwhhhrhrrzhrrrrrhrwwwwwwwuuuiyy.v.i,uiwvhhzzggbbb$$$bg
ghrhhhhhhh$$$$zzgggggggzzzvuyiy|yivvv,yiy!u|u,!,|,uiiiiyy|y|u!y|yiwyhhhhhhhhhhhhhhhhrrrhrrrrrwwvw|v,!!i,rggzzhhhhi|.. !||rrgbg
hwhwrhhhzzzhrhhrg$$$$z$zgggywywuhhzzh$$r$$$$$zzzzwwwww$zzhhywuuywyhwwhhhrhhhhhzzzzzwwwwwwwwwhiyivuv,iyyyyrzrrrzrzrruviy!. b
hzrrhrhhhhz$$$$$zgzg$gggggggwwwrr$$$zhrrbee&e&&&&&&bbw!yvvvzzrwhwwwwwrhhhhhrrzzzzzwwwwwhwwwhyu,|!wwzrzhrrrhhhhhrhzwwuvui,u, $$
g$$zzzzzzz$$$rrr$$$$ggb$$$bbhhzr$$$vi!u!yuuhhuviy|i.i,u|yuuuurzhrrrrrrrwwwrrrrrwhvvwwwrwwwwvhzzzzz$rzrrrzrrrrhrrrhhuwyyiy. gg
ggggggrrrrz$$$zzzzzzzg$$$$$$yyhzhh,.!,uivuvyyii!y|yuviyiv!v!vvvhhhrrrwhwhwwwhvhvhwwwrrrhrhrrhhhh$z$z$z$zzzzrrhrrrhhuuyy. gb
whvhwwwwhhhzrrzg$gggz$$$$g$$rwvw!|!!!hhrhzyvvzzzzrrrrrrrrh.v.!vuuyyvvvhvvyyvhvvwrrrhrhrhhhrhhhzzzzzzzzzz$$$rzhhhzzzuu. yggbbbg
gvvwwwwwwwwwzrzz$zgggz$$ggg$bww!ii$zgggggg&&&e&bbggggz$r$$$$h.y.viviwyyvvvhvvvrhhrzzzzzrzhhhhhzzhhhh$z$z$r$rzzzzr|| ....bbbgb
whvhwwwrrrhhhhh$zzzg$g$gggzgh|iiyrrryu!u,|.!.|,|,i|viyivuvywvv!!!!vvvhwwwwwwwzrzrrrrrrrrrrrzzzhhvv$$z$$$$$$$$$$w.... bbbgbgbb
hwrrrrrhhvhwwhzrrrrr$zzz$zzy !,wvvzhwww$zggggggg$ggggghhvvyyyy||vhwzhzzzrzrrrrr$$$zzzzzzzzrzhhhhwzggg$$$z$zggw. .... rbbbbbbb$$
rrrzzzwwwwwrhhhhhhrrrgg$$$i.|!!vww$$hhhhhrrhrhhhhwhvhvvwhvhwwwr|hhhhhhhz$$$$$$$$g$$z$zzrzzzhrrhwhwuugz$z$$r! ..... zzz$bbbbbbb
uwyyvhwrhhhzzzrzrrr$$$$$$v.,wrw|i!yhzwwiv|u,v,u!|!w|vuwvhvhwrrrvvvzzzzzzzzzzggg$gz$$$rrhhhrrhwwwwww.wwggw .... .. hgggbbbgbbbb
wyyurhhhrhzrzzzrrrzzzr$$w ,wwu,i!u!y||hhiy,v,viyyvyyyrhrrzrrrrrrwg$g$g$b$$$g$gg$$$$zzzhrrrwhwhvvyywwiyu! .... |...,,,,$bbbbb$$$
$vvwhwwwwwrhzzzzg$$rrrgw u|v,i,i,i!uiyiiuvihuryyhhwwww$g$ggg$$$$$$$g$$$g$g$$$gzzz$rzzzhrrrwhvhvvyhhhyy|.! !.!.|....egbbbgbgbbb$
hwhhrhhhhhhhzz$$$$$z$zz ,|,u.|.i,i!u|vyhvviivhuhwwvhhg$$bbe&beeegbgbgbbbbb$$$$z$rrrzhhhrwhwhvvvvhhrwuy.|.|.!.!. ,,hzzzgbgbbbbb$
$wrr$$zhrrrhhr$$$ggz$$y.|,y!|,i,i,u|yyhvhuyuhywyhvvwrhhgeeebbbeebbb$gggz$$$$$$$rzrrrrrrwhwhvvuwwwwwvu.|.!.... y$hhuu,iyrrggggg
ghwrhrrrhzzzhzz$z$$$zz i,uii!i,i,i!yiwuhvruyuuuwyyyrwrhhzg$$$gggggggz$$$$$rrrzrzzzhrhrwhvhywivvv!u!| .. . yrggggrww|i,!...yv
vhrwhwwwww$$$$$zg$g$$$ i,yii!i,i,i|uivyhwwhhuwvwyyvhhrrrrzz$$$$$$$$$$$rrrzzzzzzrrrrrwhvhvvyu....|....... .vvzzwhvvyviy|u!| .
hrwhwwwwhzzzzggg$g$$w.i,i,|.|,i|u|yiwyhvrhhvvuuyyyhvrrrrzzzzzz$$$$zrzrzzzzzhrrrrrwwwhvhhh!i!i.| !... !..wwgzzhhwwyv|u!i,! yyyy
hwwwrrrhhz$$$zzzzzzzg!.!,|,i!u!u!u|yuvywvrwwhhyyuwvvwwwwh$zz$g$gz$$$rzrzzzhrrrrrwhwhvhvv||!u!u!u!i,i,|.,,,,z$$$wwywuy!|.www&&&b
bhhhrrrrrbbzzzzzg$$$g!i|viy|u!u|u|y|yivuuvhwhvhhvyhyyvvwwwwwwww$$z$$$rzhrrrrrwwwwvhvh||.i,i,i!i,i,i,!.!!!$$$hrrhyviu,,z&eee&&&b
rhzrrrrrrzzzzhrrrr$zz,|,i!i!u|u!u|y|yiviviwwwwbbhuuyhvvwwwwwwwww$$$$$rzzrrrwhvvyyuwii,|.|.|.! ..!... vvvz$$rrrvvuv|||||||&&&&&&
&&$z$$rwwwwr$zzvvii,.|,i!i!i!u|y|yiyivuwvhwr$&ggggywyyvvvrhrhhhhhrhrhrrrwwwhvhyyuwii,|.|.|.! ..! .!|$bbzgrrhhvvuyy&&&&&&&bbb&&&
wrrrrrrzzzzz|. ...!.!u!y|yiy|yiyiwvvhhhrrhvr$$hwuwuwywvvwwwwwwwhvhvhvvyyyyyyyyuy!|.|.!.!.! !....i$bb$$zzzrwwvyy&eeeebebeeeeege
wrrrr$$$|. ...!.!.|,i,u!uivivuuwhhhvwuvivivuwrrrrywywywvvvvvvvrwwwwwwwwwwwhvvvv!|,|.!.!.!.! .!,rr&&gz$zzzhvvyy$$$$bbbebbbeeebbb
bwrhh, .!.|.|.!.!.|,i|viwvwyyywuv|y|viyiviviiizwhvhwwwwwhvhwhwhwwvhvvyyywyyuu.i,|.|.! !.!..yr&&eeez$rrwwyviyg&bbbbbbbebebbbbbe
ew! ! |,|,i,|.|.|.|,||vuwvwuviy|u|u|y|y|yiviyggwwywyyywyyyyvhvhvvvvyyyyyyvv,|,|.|.|.|.| |ygg&&b$$$$$$vwuhhbe&bbbbbbbbbbbebeeee
....!. !.|.|,|.|.!.!.|,u|u|y!u!u!u!u|u|u|yiyiyhhwwywywywywyyywywyyywuwyyvv!i,|,i,|,|.|.iyyy&gbb$rzzhyvvvbbbbbbbbbbbbbebeeeeeeeg
......!.|.|.i,i,i,|.|.|!i!u|u!i!i!i!u|u|u|u|y|uggvvywuvuvuvivivuvivivivuy,|,i,|,|.|.|.w$$$eeee$rrwwwwwwwweebbbbbebbbebebeeeggbb
.......!.|.|,i,u!u!i,|,i!u,u!i,u!i!u|u!u!u|u|y!rrrywuvuwiviyiy|y|y|y|y|u,i,i,|,i,|.iybbbbbbbbbbbbeeeeeeebbbbbebebebebeeegebbb&&
......!.!.|,i,|.u!u|u|i!u!u!u!i!i!i!u!u|u|u|y|y!bbbywuwuvuviviy|u|u|y!|,i.|,|.|,i!hggeeegzzhrzzzzzzeeeebbbbbebebbbbbeeeeee&&&be
.|,i,i,u!u!u!u!y|u|vuwuvuviviy|yiy|yivivivuviviyygwwyyyyywuwywyvuviy!u|u|u|u|y|wweeebeeezzzeeeeeeeeee&&&bbbeeebbbbbeeebbb&&&beb
!|||||||||||i||||!
!ywwrrhrzzhhhhyuyyyy! i| i|
i|vvzzz! | !|v$$zz!y$ggy
h yyrrhhhz$zzzggggggg$$$ru.
,hzz izg$w| iywyyby hhhhy hi
!!!w !!!||iuiiuhrrhi,!!irrrw!iiggg yi.
v$gg|iiuuyyvvwwwhhhhhrrrrrrrrrrrrrhhhrrrzzggzhhrrrrrwwwwh|
,iibbggzzzrrrhhhhwvvyuuii||! !!!bbbbbyhwrrhwu
iu|||zzbgu ih$bbbbbb$iyu
!iyvwwwwwwwhhhhhwwyi!ivywwru h$r! yygggggyy$bb$rryvvwwwwwwwwvvui
|yyrrrrrhhwyvyuuuyvywwhhhhhhz$w ,rgr wwwbbbu uzbbbbzwvvhhwvvwhhhrrrzzrry|
uuuzzrwu| !, !. ., ,!urzrrzzzzi !zgh uuubggy iirzzzz$$$h, , , !iuwwwzrhy
!wwwwhy ,, !, !, ,, ,uuzrv, yyzzzw i$gw wwwwww| wwwzhy| vvvvzw. ,, ! ., !uvvvrhi
wzrwu!,. .,. !, ,, !, !!zzv, .,|yyyyvyggv uuuuuru wwzrw! .. !h$ggh, !. ! ,, ,,. |vvvh!
!!zzv! .... .,,|,., |!vzzy .,. ||||rrr$y gzv! !!$hy|. .,uuggg|.! !. ,. ,, .,iwwzu
,zzzv ... .,!ii| wzzv,. ,,. vvgggrw, urgbbhi ,z$wu .. !w$$$$|,! ,!,,. .. |wh$i
wghh, .,,,, .iviuuuuu, ,,,,,,,, ,.ihzgvwww|!! !!!!!!w! v. ..,|w$$$h!!|,,,,,,,. .,...vwzz
rrhh ,,,,,,!||iuiivvhrrrr$$zzzhhwyui!,,,,.,,hrrrrrrrvhrr$$ru ggi ...,,,!,|hhgzv!!!,,,. ihr$
hgww,... ..,,,,|| ,yhrrrzzrz$zzzzz$$zzzrrhwwrr$rvvvuhhzrrhhy zzhu . . ..,,!!!yvvu!!,,,,. . . .. uvzz
||rr| ... ,||ivyvyvhhwi,,,. !|iuyyvvvvvvvvhhwuyiu|!yuu| yyyv, .,,,, .!| ,!,,,,,. ... !vvgy
yyywu. ,,,,,!u|!| iizh|i,, ..,. !wrrrvu|iihwuuwvyyv grv, .. ., ,,,! ! ,, ,,. ....|ww$$
iz$$y! .,. ,,,!, ! !yi.!|!!!,,,,!!,!ihh$h|uvwvwhhy|wwy| y$$$u, ,. , !, !. ., ,,. !wrrzy
vvzzzv! ,, !, ,, ,, ,, ,,. uurzzz! ,!!!|iyyi zzu|,, ,, ! ! ,, !uhzzzw
uhzzzrru! ,, !, ., ,, |vhhhzrv ,yu! vrzzzzy| ,, ,! ! !!ivvzzzhu
iwwwzzzzhvyuiu|!!!iuiuywhhhhhrru , yyyzzzzhwvuuui|!!|uyywwwwwwzrwi
,iywhrrzzzzzzzzzzzzzrhwyi! .!uvhrzzz$$$$$$$$$$$$$$yi!
,!!||||||||!!!,. |||||||!!,,
!!hhhhhw vhhhhhh| !wwwwwwi !!hhhhhhh!
v$$$$$$$ w$$$$$$$ u$$$$$$$ ||$$$$$$$$r|
vv$$$$$h w$$$$$$$ u$$$$$$w ||$$$$$$$$$$$i
vv$$$$$h vv$$$$$w u$$$$$$w iz$$$$$$h$$$$$zu yyyyyy! !yyyyyy
vv$$$$$$ vv$$$$$w u$$$$$$w uz$$$$$w $$$$$$y ||$$$$$u y$$$$$$!
v$$$$$$$ yy$$$$$w u$$$$$$w vv$$$$$v ww$$$$$w ||$$$$$u y$$$$$$!
w$$$$$$w yy$$$$$w u$$$$$$w ww$$$$$v vv$$$$$$ ||$$$$$u y$$$$$$!
w$$$$$$w uu$$$$$v u$$$$$$w $$$$$$$vvvvvvvvv$$$$$$h ||$$$$$u y$$$$$$!
w$$$$$$vuz$$$$$v u$$$$$$w h$$$$$$$$$$$$$$$$$$$$$$$$$! ||$$$$$y v$$$$$$!
w$$$$$$$$$$$$v u$$$$$$$ $$$$$$$wwwwwwwwwwwwwz$$$$$$| !!$$$$$$ !r$$$$$$!
w$$$$$$$$$$v u$$$$$$zzzzzzzzzzzzzzzzzv !r$$$$$$u iz$$$$$$i h$$$$$$hvuuuvhz$$$$$$$!
ww$$$$$$$y u$$$$$$$$$$$$$$$$$$$$$$$h !r$$$$$zu ||$$$$$zu vrz$$$$$$$$zzwuz$$$$z!
|iiiiii| iiiiiiiiiiiiiiiiiiiiiii! !iiiiii! iiiiii| iuyvvyu| |iiiii
rrrrrrrzz$$$$gggggggggggggggggggggggggg$$$zzrrrrrr
hrz$$ggggggggggggggggggggggggggggggggggggggggggggggzrhhh
wvr$gggggggggggggggggggggggggggggggggggggggggggggggggggggg$rvv
uugggggggggggggggggggggggggggggggggggggggggggggggggggggggggggu
uugggggggggggggggggggggggggggggggggggggggggggggggggggggggggggu
uhhhhh$$$$$$$$$$$$$$$$$$$zzzzzzzzzzzzzzzzzzzzzzz$$$$$$$$$$$$$u
zzzzzrrrrrrrrhhhhhzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzhhrrrrrrrrrrzz
rrrrrrrrrrzzzz$$$$$$ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg$$$$$zzzzrrrrrrrrr
rrzz$$$gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg$$zzrrrrr
wrz$ggggggggggggggggggggggggggggggggggggg$$$$$$$$zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz$$$$$ggggggggggggggggggggggggggggggggggggg$zrww
wwggggggggggggggggggggggggggggggggggzzzrrrrzzzzz$$$zzzzz$$$$$$$$$$$$$$$$zzzzz$$$zzzzzzzzzgggggggggggggggggggggggggggggggggggggy
yhhhhz$$$ggggggggggggggggggggggggggg$$$gggggggg$$$hhhwwwhhh$gggggggggghhhhhhhh$ggggggggggggggggggggggggggggggggggggggg$$zzzhhh
rrrrrrrrzzz$$$$gggggggggggggggggggggggggrhhv,,,,, |vhhhzgg$zrri......iiiyyygggggggggggggggggggggggggg$$$$zzzrrrrrrr
zzzrrrrrrrrrrrrr$gggggggggggggggggg. ..urrhzzz.. yzuvvggggggggggggg$$$$rrrrrrrrrrrrz
rrrgggggggggggggzhhh ,,. rrzu. ... ..z||ggggggggggggggg
$gggggggggggggggrrr. ygg$y. ,,y. zgggg !!ivgggggggggggggggg
gggggggggggggggggggzz .rrry. ,, .z$zu. y$||ggggggggggggggggg
gggggggggggggggggggggy......!!...,,,,,,,,..,!.......zziiggggggggggggggggg
gggggggggggggggggggghrwwwhhhrrrrrzzzzzzzzzzzrrrrhhwrhiiggggggggggggggggggg
gggggggggggggggggggg$z$$$$ggggggggggggggggggggggggg$zzgggggggggggggggggggg
gggggggggggggggggg$$$$zzzzrrrrrhhhhhhhhhhhhhhhrrrrzzzz$$$$gggggggggggggggg
gggg$$zzrrrwvyuui||!!|i|,,,,,,,,,,,,,,,,,,,,,,,!|!!!||iiuyvwwhhrzz$$$ggg
vyui||!!!!!!,,,,,,,w$$w!,,,,,,,,,,,,,,,,,,,,urrr!!!!!!!!!!!|||iiuyvwrg
i||||||!!!!!!!!!!,,|h$ggwi!,,,,,,,,,,,,,!|yy$$$u!!!!!!!|||||iiiiiuuw
yi|||||||!!!!!!!!!,!iwrrrzrrhhwvvvwwwhrrrrrhu!!!!!!!|||||iiiiiuuyy
yii|||||||!!!!!!!!!!!|iywwhhhrrrrrrhwvu|!!!!!!!||||||iiiiiuuuu
viii||||||||!!!!!!!!!!!!!!!!!!!!!!!!!!!!||||||||iiiiiuuuuuy
hvuiii|||||||||||||!!!!!!!!!!!||||||||||||iiiiiiuuuuuy
wyuiiiii|||||||||||||||||||||||iiiiiiiiiuuuuuuy
rhwvuuiiiiiiiiiiiiiiiiiiiiiiiiiuuuuuuuyy
rrrwvyyuuuuuuuuuuuuuuyvwwyuyvw
.!||!.
.|ii|.,uvwwwwwwww,
.!!wrrrrr$$$$ggggg.,!,,.
uuyvuyhwwzzz$$grrrzzzhy
.ivvyuhhvvyvhwyrzzzzzrrzrrzzz.
uhuuuuuuyyuwwwwwwzzzzzzhz$$zh.
.yvyuuuuuuywwwzzzrrzz$$uwwww!!||||||!!,..
,|uhrrrrrwwwhhhvwhh$zwiuvvwvvwwwwwwwwwwwvu|,
.!yy$$wvvyuuiiuiuhzzzwywwvuuuuuuuuuuuuuywwwvyi|!..
.ivvvv$$yuuuuuuuyyyh$$$yiiiuuuuuuuuuuuuuuuuuuyyvvwwvu|!,.
.yyyvur$$$rhyuuyyvvyyuuuurrzzuuuuuuuuuuuuuuuuuuuuuuuuyyvvwvvui!,.
hhyrrrzzggbbwyuyuuiibbbgge&&&&uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuyvvwwvu!.
.zzuu&&&$$&&&vuvuuuuuue&&&&zbbhuuuyvvyuuuuuuuuuuuuuuuuuuuuuuuuuuuuywwhwi.
!!!yyyvuvzzzuuvuuuuuuvvhuiuyyuuuvvvvwhhhrhwyuuuuuuuuuuuuuuuuuuuuuuuuuwwwi
|$yiiuuuiiiyhyuuuuuuuiiuuuuuyyrrrvvz$$ggbbg$zrhwyuuuuuuuuuuuuuuuuuuuyhhhi
hhyiuuuuuuuwuuuuuuuuuuuyyywwhyi|iwggbbbbbbrhzbbg$zzwvyuuuuuuuuuuuuyvvvgg
,wwwwg$hyuuuyyyvvvvwwhhrrzzruuywwrz$ggggggbbbbb$gbbbbbw!|uyvvyyuuuuuuuywyyyv
uu$$bggggvvvvh$$$$$gggggbbbbggbbbbbbbbzhhhbbbbbbbbbbg$$$|. ..,!||yvyuuuiyzr.
!yzbbbbbvuvwwwwhhhhhzzbbbbbbbrrzbbbbbbbbbbbbbbbbgg$$$$$$ry. .|whvyyyv.
zbbzzbbgrwvvwiiuyvvvv$bbbbbbzzzbbbbbbbbbgggggg$$$$$$$$$$$$u. .uzzi.
ibbbbbbbbbvvvu. .urvvvhbbbbbbbbbbbbbbbrwu!iii $$$$$$$$$$$$$$ri !!!.
ebbbbbbbbbwwwvvvvwvwwwggbbbbb$$$wy|,. ||$$$$$$$$$$$$$$$$v. ,$h
ibbggggzzzy,iyyvywwzz$$$$$$$$$$h. .yz$$$$$$$$$$$$$$$$. uu!
b$$$$h... || $$$$$$$$$$$$w !!$$$$$$$$$$$$$$$w !!i
$$$$u ,$$$$$$$$$$$$$$$v ..$$$$$$$$$$$$$$$! uu!
b$$$gi rr$$$$$$$$$$$$$$u .hh$$$$$$$$$$$$$u |$v
|bb$$$u yy$$$$$$$$$$$$$$$i ,,$$$$$$$$$$$$$i iiw
$$r. .rr$$$$$$$$$$$$$$$| vv$$$$$$$$$$$h..wwu
vvg$$v !zz$$$$$$$$$$$$$$z| ww$$$$$$$$$$$|yyw,
!h$ggv. !rr$$$$$$$$$$$$$$z| .rr$$$$$$$$$rwwy,
,vzzzi. .wzz$$$$$$$$$$$$$$i !!$$$$$$$$gggy!
.|wwwu|,. !!z$$$$$$$$$$$$$$y .!|!.|www$$$$$$$$y!
,|uyvuii|!,.. ,vrr$$$$$$$$$$ $$uwv|!w$ggggg$$$i,
.!ww$$$$hwwwwrrz$$$$$$$zzggw|.|r$$$$$$v!.
u$$$$$w|,!!!rvi!!!!!!!,!$h, y$$$$$y,
wwwww!|uuuuvu! ,,v. gggg!.,.
.,||ii||!!||gb$viiii$$$$$!!||!!,,..uwv|iigggghhhw,
|rrrzz$$$zzzz$$$$zrrrwvuww$$$zzzzzrrhrrrrhywwwrzz$gg|.
irrrrzzzzzzzzzzzz$$zzzzzzzrrzzzzzzzzzzzzzzzzzrrvvvgbbrv
.!|iuyywwwwwwwwwwwvyi!!,,|uvvhrrrrrrrrrzzzzzrrhhwwvvi
..,,,!!!!!!!!,,.
. . ... .. !wwrv,,|wwvhhhhhhhz$$z$$ggggggg$y!||||.. ..
. ,|yh$$zhwy||vvhhhhvwwwrhh$zzzzzhhhrrrrgeegggggu. ....
.,,,,,,,,,,,,,,,,,,......,,,..,..,!|i|iiizbbbggyiuwhhhhhhhvvvvvhvihhuvvvvvvvvvvvzzwwwgg! ..
uuzzrrzzzzzzzzz$$$$$$$rrrrrrrrrrzzggeeeeeeeehwwhhwwhhhh$hi$gv,|zzhiiiiwhhhrzzzzb$vvhhhh| .. ... .
. .uuurhvhrrwwrrhhhh$hwwrzziuuhhhzz$$$$zzzrrgrrrrr$! ..
. .. ... .. .,|i|!ih$$$zzvyy$hwwwyuyvvvvhrrzzzzzzvrrrrrrrrrrrzzzgggggeeuvrzzzzrrrryi!. . .
.. .. .. !!bbzz$$bbbgggbbbbggbbbbbbb$ggbbbgggggrrrrrhhhhhwvvuuvvhhwyyvvwyww$$gwiiwwwiiui||!,..,,..,,.
.. ,u!....!!. !zzzzzrrrbbbbgggg$$ggggggggggggggggggggrrzzzzzzzzzzzzzzggggbbbbbg$$$rhhhhwyyvyuuyuuiyyuuyy$$$uyyyb$$u|...
. .!yz$$$$eggrrrrr$$$zrrrggggggggggggggggggggggg$$$ggbbbrrrrrrrzzzzzzrrrrgggggg$$$$bbrrzzzzzzzzzzzzrrbbbbg$$$$$zzzzzgggu,
.. .ivvhhhrriuuwhz$$$$zzzz$$$$$$$$$$$$$$$$$$$$zzwwwwwwwwwwhhhhhvvvg$$$$$$gzzivrrrhhhhhhhhwwwwww$$$$$$ggbbbeeeeb$$$$u
..!uh$$$$eeeeeeeeeeeebbeeebbbbbbbeebbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbeebbbbebggbbbbbbbbbbbbbbbbbbbbez!.....!||!,
!$eeeeeeg$$bbggggggggbgbbbbbbbbbgggggggg$$bbbbgbbb$gbbgggggggggbbbbgggggggbbbbbggggbbb$$$$$$bbgggbbggbbggbbbgggggggggg!. .
..g$$$$$$$$$$gbbbeeeeeee$gggggzzzzzz$gbbbbeebbbbbeebbbgggbbbb$$eeg$$ggggggeebbbbbeeebbbggbbggggbbgggggggbbbbbbbgbeggbeeebbi. .
..$$gggggg$$$$$bbbgggeeuuu$zzzzbb$$$eeeeggggggggggggggg||||z$$$$g$beeegggggggggbbggbezwwzzzzzzzgg$bbbggggggbbg$zzzzzz$$$beee,..
yzzbb$$gggggggbb$$$$g$$eehzzzzrbbbg$$$$$$$gbbg$$$$ggggg$$ggggzzeeeee$$$$$$ggg$$$gg$$$gg$$$$$$$$eeeeee$$$$$gbeebbbggbbggbeeew,..
.,wwgggrrryurzzrrrrhzzzzzgggggg$$$$$$rrrbbhuvr$$$zhh$zzz$$$$zzbvvvgggzgg$$hhrrz$zhhhzzz$$$$$$bbbhh$$$$ggggrhy!!!!$$$ebbbby,....
,ygg$b$uubrr$$ggg$$z!,,..|zzzzz$bbwwwvuz$zzz$ggzge$$!.,|,ibbbbb$$zwwwwwb$$$z$$$$$$wuu!.||zzg$$$$$wzggy,!uwwrrbbry!. .
.. ,hhge&eey$$vzziyyi|v|,uubrhh$$r$bv.!!bhvw$$vvv| .!|,.!!!bvwwhuuui,,|zzuhhhw$$$i. |||rwh$hvbbbbbbg$$y. .
.. ... .uuuurzrrrzrzzzzzzzzrz$$$$rr$$zrrz$gzzzzh$$z$$$$$hhhzzzzzhhrr$$rrr$$$$$$$$$$$$$gggrzzzz$$y|!. .. ..