Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/freebsd/freebsd-src.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcvs2svn <cvs2svn@FreeBSD.org>1999-05-24 20:47:10 +0400
committercvs2svn <cvs2svn@FreeBSD.org>1999-05-24 20:47:10 +0400
commitc37538200ebdef38051ba82b76e6b2dab3bd2fdc (patch)
tree3c937e1c39e039ed95d3b8ead3defc46cf60cc04
parenta21d905bae94bc358756957b1c26e2ec3f487e82 (diff)
This commit was manufactured by cvs2svn to create tagrelease/3.2.0
'RELENG_3_2_0_RELEASE'.
Notes
Notes: svn path=/stable/3/; revision=47462 svn path=/release/3.2.0/; revision=47463; tag=release/3.2.0
-rw-r--r--contrib/groff/tmac/doc-common7
-rw-r--r--contrib/groff/tmac/doc-syms1
-rw-r--r--contrib/groff/tmac/hyphen.us-ru4833
-rw-r--r--contrib/groff/tmac/locale/hyphen.us-ru4833
-rw-r--r--contrib/tcpdump/print-token.c165
-rw-r--r--contrib/tcpdump/token.h43
-rw-r--r--etc/dhclient.conf8
-rw-r--r--lib/compat/compat22/Makefile10
-rw-r--r--lib/compat/compat22/ld.so.gz.uu702
-rw-r--r--lib/libc_r/test/mutex/Makefile8
-rw-r--r--lib/libc_r/test/mutex/mutex.c1548
-rw-r--r--lib/libc_r/uthread/uthread_exit.c8
-rw-r--r--lib/libc_r/uthread/uthread_priority_queue.c192
-rw-r--r--lib/libc_r/uthread/uthread_setschedparam.c16
-rw-r--r--lib/libutil/login_class.c4
-rw-r--r--release/sysinstall/config.c10
-rw-r--r--release/sysinstall/package.c3
-rw-r--r--share/examples/bootforth/loader.rc34
-rw-r--r--share/examples/bootforth/menuconf.4th110
-rw-r--r--share/examples/diskless/209.157.86.12/README27
-rw-r--r--share/examples/diskless/209.157.86.12/rc.conf.local9
-rw-r--r--share/examples/diskless/209.157.86.12/ssh_host_keybin540 -> 0 bytes
-rw-r--r--share/examples/diskless/209.157.86.12/ssh_host_key.pub1
-rw-r--r--share/examples/diskless/HT.DISKLESS/fstab5
-rw-r--r--share/examples/diskless/HT.DISKLESS/rc.conf.local34
-rwxr-xr-xshare/examples/diskless/HT.DISKLESS/rc.local77
-rw-r--r--share/examples/diskless/HT.DISKLESS/syslog.conf3
-rw-r--r--share/examples/diskless/HT.DISKLESS/ttys52
-rw-r--r--share/examples/diskless/HT.DISKLESS/xdm-config15
-rw-r--r--share/examples/diskless/HT.STD/aliases30
-rw-r--r--share/examples/diskless/HT.STD/forward.map6
-rw-r--r--share/examples/diskless/HT.STD/ndomain.map11
-rw-r--r--share/examples/diskless/HT.STD/syslog.conf11
-rw-r--r--share/examples/diskless/HT.STD/ttys52
-rw-r--r--share/examples/diskless/ME37
-rw-r--r--share/examples/diskless/README.BOOTP157
-rw-r--r--share/examples/diskless/README.TEMPLATING286
-rw-r--r--sys/conf/newvers.sh4
-rw-r--r--sys/contrib/dev/oltr/COPYRIGHT62
-rw-r--r--sys/contrib/dev/oltr/i386-elf.trlld.o.uu1840
-rw-r--r--sys/contrib/dev/oltr/if_oltr.c1515
-rw-r--r--sys/contrib/dev/oltr/trlld.h892
-rw-r--r--sys/contrib/dev/oltr/trlldbm.c2011
-rw-r--r--sys/contrib/dev/oltr/trlldhm.c1899
-rw-r--r--sys/contrib/dev/oltr/trlldmac.c1990
-rw-r--r--sys/contrib/softupdates/README320
-rw-r--r--sys/contrib/softupdates/softdep.h548
-rw-r--r--sys/dev/aic7xxx/aic7xxx.c972
-rw-r--r--sys/dev/aic7xxx/aic7xxx.h137
-rw-r--r--sys/dev/aic7xxx/aic7xxx.reg13
-rw-r--r--sys/dev/aic7xxx/aic7xxx.seq14
-rw-r--r--sys/dev/aic7xxx/aicasm_symbol.c20
-rw-r--r--sys/dev/pccard/if_xe.c2404
-rw-r--r--sys/dev/pccard/if_xereg.h296
-rw-r--r--sys/i386/eisa/ahc_eisa.c46
-rw-r--r--sys/i386/include/if_wavelan_ieee.h281
-rw-r--r--sys/i386/isa/if_wireg.h599
-rw-r--r--sys/modules/vinum/.gdbinit.crash4
-rw-r--r--sys/modules/vinum/.gdbinit.serial5
-rw-r--r--sys/net/if_iso88025subr.c410
-rw-r--r--sys/net/iso88025.h112
-rw-r--r--sys/pci/ahc_pci.c893
-rw-r--r--sys/pci/bt848_i2c.c11
-rw-r--r--sys/ufs/ffs/README320
-rw-r--r--sys/ufs/ffs/softdep.h548
-rw-r--r--usr.sbin/memcontrol/Makefile4
-rw-r--r--usr.sbin/ppp/acf.h33
-rw-r--r--usr.sbin/ppp/proto.h48
-rw-r--r--usr.sbin/ppp/sync.h29
-rw-r--r--usr.sbin/wicontrol/Makefile9
70 files changed, 2138 insertions, 29499 deletions
diff --git a/contrib/groff/tmac/doc-common b/contrib/groff/tmac/doc-common
index 1e8724fc5a58..2797fc3d72a0 100644
--- a/contrib/groff/tmac/doc-common
+++ b/contrib/groff/tmac/doc-common
@@ -230,6 +230,10 @@
.if "\\$1"FreeBSD" \{\
. if "\\$2"2" .ds oS FreeBSD 2.0
. ie \\n(.$==1 \c
+. el .ie "\\$2"1.0" \c
+. el .ie "\\$2"1.1" \c
+. el .ie "\\$2"1.1.5" \c
+. el .ie "\\$2"1.1.5.1" \c
. el .ie "\\$2"2" \c
. el .ie "\\$2"2.0" \c
. el .ie "\\$2"2.0.5" \c
@@ -238,12 +242,15 @@
. el .ie "\\$2"2.1.6" \c
. el .ie "\\$2"2.1.7" \c
. el .ie "\\$2"2.2" \c
+. el .ie "\\$2"2.2.1" \c
+. el .ie "\\$2"2.2.2" \c
. el .ie "\\$2"2.2.5" \c
. el .ie "\\$2"2.2.6" \c
. el .ie "\\$2"2.2.7" \c
. el .ie "\\$2"2.2.8" \c
. el .ie "\\$2"3.0" \c
. el .ie "\\$2"3.1" \c
+. el .ie "\\$2"3.2" \c
. el .ie "\\$2"4.0" \c
. el .tm Unknown FreeBSD version ``\\$2'' at line \\n(c.
.\}
diff --git a/contrib/groff/tmac/doc-syms b/contrib/groff/tmac/doc-syms
index c3cd7c50bd7c..a1b216397c91 100644
--- a/contrib/groff/tmac/doc-syms
+++ b/contrib/groff/tmac/doc-syms
@@ -171,6 +171,7 @@
.el .ie "\\$1"2.2.8" \c
.el .ie "\\$1"3.0" \c
.el .ie "\\$1"3.1" \c
+.el .ie "\\$1"3.2" \c
.el .ie "\\$1"4.0" \c
.el .ie "\\$1"," .rm ab \" Allow ".Fx ,"
.el .ie "\\$1"." .rm ab \" Allow ".Fx ."
diff --git a/contrib/groff/tmac/hyphen.us-ru b/contrib/groff/tmac/hyphen.us-ru
deleted file mode 100644
index 3ccef48465fe..000000000000
--- a/contrib/groff/tmac/hyphen.us-ru
+++ /dev/null
@@ -1,4833 +0,0 @@
-% Hyphenation patterns for US English and Russian (koi8-r).
-% These are the standard Plain TeX hyphenation patterns (in hyphen.tex).
-.ach4
-.ad4der
-.af1t
-.al3t
-.am5at
-.an5c
-.ang4
-.ani5m
-.ant4
-.an3te
-.anti5s
-.ar5s
-.ar4tie
-.ar4ty
-.as3c
-.as1p
-.as1s
-.aster5
-.atom5
-.au1d
-.av4i
-.awn4
-.ba4g
-.ba5na
-.bas4e
-.ber4
-.be5ra
-.be3sm
-.be5sto
-.bri2
-.but4ti
-.cam4pe
-.can5c
-.capa5b
-.car5ol
-.ca4t
-.ce4la
-.ch4
-.chill5i
-.ci2
-.cit5r
-.co3e
-.co4r
-.cor5ner
-.de4moi
-.de3o
-.de3ra
-.de3ri
-.des4c
-.dictio5
-.do4t
-.du4c
-.dumb5
-.earth5
-.eas3i
-.eb4
-.eer4
-.eg2
-.el5d
-.el3em
-.enam3
-.en3g
-.en3s
-.eq5ui5t
-.er4ri
-.es3
-.eu3
-.eye5
-.fes3
-.for5mer
-.ga2
-.ge2
-.gen3t4
-.ge5og
-.gi5a
-.gi4b
-.go4r
-.hand5i
-.han5k
-.he2
-.hero5i
-.hes3
-.het3
-.hi3b
-.hi3er
-.hon5ey
-.hon3o
-.hov5
-.id4l
-.idol3
-.im3m
-.im5pin
-.in1
-.in3ci
-.ine2
-.in2k
-.in3s
-.ir5r
-.is4i
-.ju3r
-.la4cy
-.la4m
-.lat5er
-.lath5
-.le2
-.leg5e
-.len4
-.lep5
-.lev1
-.li4g
-.lig5a
-.li2n
-.li3o
-.li4t
-.mag5a5
-.mal5o
-.man5a
-.mar5ti
-.me2
-.mer3c
-.me5ter
-.mis1
-.mist5i
-.mon3e
-.mo3ro
-.mu5ta
-.muta5b
-.ni4c
-.od2
-.odd5
-.of5te
-.or5ato
-.or3c
-.or1d
-.or3t
-.os3
-.os4tl
-.oth3
-.out3
-.ped5al
-.pe5te
-.pe5tit
-.pi4e
-.pio5n
-.pi2t
-.pre3m
-.ra4c
-.ran4t
-.ratio5na
-.ree2
-.re5mit
-.res2
-.re5stat
-.ri4g
-.rit5u
-.ro4q
-.ros5t
-.row5d
-.ru4d
-.sci3e
-.self5
-.sell5
-.se2n
-.se5rie
-.sh2
-.si2
-.sing4
-.st4
-.sta5bl
-.sy2
-.ta4
-.te4
-.ten5an
-.th2
-.ti2
-.til4
-.tim5o5
-.ting4
-.tin5k
-.ton4a
-.to4p
-.top5i
-.tou5s
-.trib5ut
-.un1a
-.un3ce
-.under5
-.un1e
-.un5k
-.un5o
-.un3u
-.up3
-.ure3
-.us5a
-.ven4de
-.ve5ra
-.wil5i
-.ye4
-4ab.
-a5bal
-a5ban
-abe2
-ab5erd
-abi5a
-ab5it5ab
-ab5lat
-ab5o5liz
-4abr
-ab5rog
-ab3ul
-a4car
-ac5ard
-ac5aro
-a5ceou
-ac1er
-a5chet
-4a2ci
-a3cie
-ac1in
-a3cio
-ac5rob
-act5if
-ac3ul
-ac4um
-a2d
-ad4din
-ad5er.
-2adi
-a3dia
-ad3ica
-adi4er
-a3dio
-a3dit
-a5diu
-ad4le
-ad3ow
-ad5ran
-ad4su
-4adu
-a3duc
-ad5um
-ae4r
-aeri4e
-a2f
-aff4
-a4gab
-aga4n
-ag5ell
-age4o
-4ageu
-ag1i
-4ag4l
-ag1n
-a2go
-3agog
-ag3oni
-a5guer
-ag5ul
-a4gy
-a3ha
-a3he
-ah4l
-a3ho
-ai2
-a5ia
-a3ic.
-ai5ly
-a4i4n
-ain5in
-ain5o
-ait5en
-a1j
-ak1en
-al5ab
-al3ad
-a4lar
-4aldi
-2ale
-al3end
-a4lenti
-a5le5o
-al1i
-al4ia.
-ali4e
-al5lev
-4allic
-4alm
-a5log.
-a4ly.
-4alys
-5a5lyst
-5alyt
-3alyz
-4ama
-am5ab
-am3ag
-ama5ra
-am5asc
-a4matis
-a4m5ato
-am5era
-am3ic
-am5if
-am5ily
-am1in
-ami4no
-a2mo
-a5mon
-amor5i
-amp5en
-a2n
-an3age
-3analy
-a3nar
-an3arc
-anar4i
-a3nati
-4and
-ande4s
-an3dis
-an1dl
-an4dow
-a5nee
-a3nen
-an5est.
-a3neu
-2ang
-ang5ie
-an1gl
-a4n1ic
-a3nies
-an3i3f
-an4ime
-a5nimi
-a5nine
-an3io
-a3nip
-an3ish
-an3it
-a3niu
-an4kli
-5anniz
-ano4
-an5ot
-anoth5
-an2sa
-an4sco
-an4sn
-an2sp
-ans3po
-an4st
-an4sur
-antal4
-an4tie
-4anto
-an2tr
-an4tw
-an3ua
-an3ul
-a5nur
-4ao
-apar4
-ap5at
-ap5ero
-a3pher
-4aphi
-a4pilla
-ap5illar
-ap3in
-ap3ita
-a3pitu
-a2pl
-apoc5
-ap5ola
-apor5i
-apos3t
-aps5es
-a3pu
-aque5
-2a2r
-ar3act
-a5rade
-ar5adis
-ar3al
-a5ramete
-aran4g
-ara3p
-ar4at
-a5ratio
-ar5ativ
-a5rau
-ar5av4
-araw4
-arbal4
-ar4chan
-ar5dine
-ar4dr
-ar5eas
-a3ree
-ar3ent
-a5ress
-ar4fi
-ar4fl
-ar1i
-ar5ial
-ar3ian
-a3riet
-ar4im
-ar5inat
-ar3io
-ar2iz
-ar2mi
-ar5o5d
-a5roni
-a3roo
-ar2p
-ar3q
-arre4
-ar4sa
-ar2sh
-4as.
-as4ab
-as3ant
-ashi4
-a5sia.
-a3sib
-a3sic
-5a5si4t
-ask3i
-as4l
-a4soc
-as5ph
-as4sh
-as3ten
-as1tr
-asur5a
-a2ta
-at3abl
-at5ac
-at3alo
-at5ap
-ate5c
-at5ech
-at3ego
-at3en.
-at3era
-ater5n
-a5terna
-at3est
-at5ev
-4ath
-ath5em
-a5then
-at4ho
-ath5om
-4ati.
-a5tia
-at5i5b
-at1ic
-at3if
-ation5ar
-at3itu
-a4tog
-a2tom
-at5omiz
-a4top
-a4tos
-a1tr
-at5rop
-at4sk
-at4tag
-at5te
-at4th
-a2tu
-at5ua
-at5ue
-at3ul
-at3ura
-a2ty
-au4b
-augh3
-au3gu
-au4l2
-aun5d
-au3r
-au5sib
-aut5en
-au1th
-a2va
-av3ag
-a5van
-ave4no
-av3era
-av5ern
-av5ery
-av1i
-avi4er
-av3ig
-av5oc
-a1vor
-3away
-aw3i
-aw4ly
-aws4
-ax4ic
-ax4id
-ay5al
-aye4
-ays4
-azi4er
-azz5i
-5ba.
-bad5ger
-ba4ge
-bal1a
-ban5dag
-ban4e
-ban3i
-barbi5
-bari4a
-bas4si
-1bat
-ba4z
-2b1b
-b2be
-b3ber
-bbi4na
-4b1d
-4be.
-beak4
-beat3
-4be2d
-be3da
-be3de
-be3di
-be3gi
-be5gu
-1bel
-be1li
-be3lo
-4be5m
-be5nig
-be5nu
-4bes4
-be3sp
-be5str
-3bet
-bet5iz
-be5tr
-be3tw
-be3w
-be5yo
-2bf
-4b3h
-bi2b
-bi4d
-3bie
-bi5en
-bi4er
-2b3if
-1bil
-bi3liz
-bina5r4
-bin4d
-bi5net
-bi3ogr
-bi5ou
-bi2t
-3bi3tio
-bi3tr
-3bit5ua
-b5itz
-b1j
-bk4
-b2l2
-blath5
-b4le.
-blen4
-5blesp
-b3lis
-b4lo
-blun4t
-4b1m
-4b3n
-bne5g
-3bod
-bod3i
-bo4e
-bol3ic
-bom4bi
-bon4a
-bon5at
-3boo
-5bor.
-4b1ora
-bor5d
-5bore
-5bori
-5bos4
-b5ota
-both5
-bo4to
-bound3
-4bp
-4brit
-broth3
-2b5s2
-bsor4
-2bt
-bt4l
-b4to
-b3tr
-buf4fer
-bu4ga
-bu3li
-bumi4
-bu4n
-bunt4i
-bu3re
-bus5ie
-buss4e
-5bust
-4buta
-3butio
-b5uto
-b1v
-4b5w
-5by.
-bys4
-1ca
-cab3in
-ca1bl
-cach4
-ca5den
-4cag4
-2c5ah
-ca3lat
-cal4la
-call5in
-4calo
-can5d
-can4e
-can4ic
-can5is
-can3iz
-can4ty
-cany4
-ca5per
-car5om
-cast5er
-cas5tig
-4casy
-ca4th
-4cativ
-cav5al
-c3c
-ccha5
-cci4a
-ccompa5
-ccon4
-ccou3t
-2ce.
-4ced.
-4ceden
-3cei
-5cel.
-3cell
-1cen
-3cenc
-2cen4e
-4ceni
-3cent
-3cep
-ce5ram
-4cesa
-3cessi
-ces5si5b
-ces5t
-cet4
-c5e4ta
-cew4
-2ch
-4ch.
-4ch3ab
-5chanic
-ch5a5nis
-che2
-cheap3
-4ched
-che5lo
-3chemi
-ch5ene
-ch3er.
-ch3ers
-4ch1in
-5chine.
-ch5iness
-5chini
-5chio
-3chit
-chi2z
-3cho2
-ch4ti
-1ci
-3cia
-ci2a5b
-cia5r
-ci5c
-4cier
-5cific.
-4cii
-ci4la
-3cili
-2cim
-2cin
-c4ina
-3cinat
-cin3em
-c1ing
-c5ing.
-5cino
-cion4
-4cipe
-ci3ph
-4cipic
-4cista
-4cisti
-2c1it
-cit3iz
-5ciz
-ck1
-ck3i
-1c4l4
-4clar
-c5laratio
-5clare
-cle4m
-4clic
-clim4
-cly4
-c5n
-1co
-co5ag
-coe2
-2cog
-co4gr
-coi4
-co3inc
-col5i
-5colo
-col3or
-com5er
-con4a
-c4one
-con3g
-con5t
-co3pa
-cop3ic
-co4pl
-4corb
-coro3n
-cos4e
-cov1
-cove4
-cow5a
-coz5e
-co5zi
-c1q
-cras5t
-5crat.
-5cratic
-cre3at
-5cred
-4c3reta
-cre4v
-cri2
-cri5f
-c4rin
-cris4
-5criti
-cro4pl
-crop5o
-cros4e
-cru4d
-4c3s2
-2c1t
-cta4b
-ct5ang
-c5tant
-c2te
-c3ter
-c4ticu
-ctim3i
-ctu4r
-c4tw
-cud5
-c4uf
-c4ui
-cu5ity
-5culi
-cul4tis
-3cultu
-cu2ma
-c3ume
-cu4mi
-3cun
-cu3pi
-cu5py
-cur5a4b
-cu5ria
-1cus
-cuss4i
-3c4ut
-cu4tie
-4c5utiv
-4cutr
-1cy
-cze4
-1d2a
-5da.
-2d3a4b
-dach4
-4daf
-2dag
-da2m2
-dan3g
-dard5
-dark5
-4dary
-3dat
-4dativ
-4dato
-5dav4
-dav5e
-5day
-d1b
-d5c
-d1d4
-2de.
-deaf5
-deb5it
-de4bon
-decan4
-de4cil
-de5com
-2d1ed
-4dee.
-de5if
-deli4e
-del5i5q
-de5lo
-d4em
-5dem.
-3demic
-dem5ic.
-de5mil
-de4mons
-demor5
-1den
-de4nar
-de3no
-denti5f
-de3nu
-de1p
-de3pa
-depi4
-de2pu
-d3eq
-d4erh
-5derm
-dern5iz
-der5s
-des2
-d2es.
-de1sc
-de2s5o
-des3ti
-de3str
-de4su
-de1t
-de2to
-de1v
-dev3il
-4dey
-4d1f
-d4ga
-d3ge4t
-dg1i
-d2gy
-d1h2
-5di.
-1d4i3a
-dia5b
-di4cam
-d4ice
-3dict
-3did
-5di3en
-d1if
-di3ge
-di4lato
-d1in
-1dina
-3dine.
-5dini
-di5niz
-1dio
-dio5g
-di4pl
-dir2
-di1re
-dirt5i
-dis1
-5disi
-d4is3t
-d2iti
-1di1v
-d1j
-d5k2
-4d5la
-3dle.
-3dled
-3dles.
-4dless
-2d3lo
-4d5lu
-2dly
-d1m
-4d1n4
-1do
-3do.
-do5de
-5doe
-2d5of
-d4og
-do4la
-doli4
-do5lor
-dom5iz
-do3nat
-doni4
-doo3d
-dop4p
-d4or
-3dos
-4d5out
-do4v
-3dox
-d1p
-1dr
-drag5on
-4drai
-dre4
-drea5r
-5dren
-dri4b
-dril4
-dro4p
-4drow
-5drupli
-4dry
-2d1s2
-ds4p
-d4sw
-d4sy
-d2th
-1du
-d1u1a
-du2c
-d1uca
-duc5er
-4duct.
-4ducts
-du5el
-du4g
-d3ule
-dum4be
-du4n
-4dup
-du4pe
-d1v
-d1w
-d2y
-5dyn
-dy4se
-dys5p
-e1a4b
-e3act
-ead1
-ead5ie
-ea4ge
-ea5ger
-ea4l
-eal5er
-eal3ou
-eam3er
-e5and
-ear3a
-ear4c
-ear5es
-ear4ic
-ear4il
-ear5k
-ear2t
-eart3e
-ea5sp
-e3ass
-east3
-ea2t
-eat5en
-eath3i
-e5atif
-e4a3tu
-ea2v
-eav3en
-eav5i
-eav5o
-2e1b
-e4bel.
-e4bels
-e4ben
-e4bit
-e3br
-e4cad
-ecan5c
-ecca5
-e1ce
-ec5essa
-ec2i
-e4cib
-ec5ificat
-ec5ifie
-ec5ify
-ec3im
-eci4t
-e5cite
-e4clam
-e4clus
-e2col
-e4comm
-e4compe
-e4conc
-e2cor
-ec3ora
-eco5ro
-e1cr
-e4crem
-ec4tan
-ec4te
-e1cu
-e4cul
-ec3ula
-2e2da
-4ed3d
-e4d1er
-ede4s
-4edi
-e3dia
-ed3ib
-ed3ica
-ed3im
-ed1it
-edi5z
-4edo
-e4dol
-edon2
-e4dri
-e4dul
-ed5ulo
-ee2c
-eed3i
-ee2f
-eel3i
-ee4ly
-ee2m
-ee4na
-ee4p1
-ee2s4
-eest4
-ee4ty
-e5ex
-e1f
-e4f3ere
-1eff
-e4fic
-5efici
-efil4
-e3fine
-ef5i5nite
-3efit
-efor5es
-e4fuse.
-4egal
-eger4
-eg5ib
-eg4ic
-eg5ing
-e5git5
-eg5n
-e4go.
-e4gos
-eg1ul
-e5gur
-5egy
-e1h4
-eher4
-ei2
-e5ic
-ei5d
-eig2
-ei5gl
-e3imb
-e3inf
-e1ing
-e5inst
-eir4d
-eit3e
-ei3th
-e5ity
-e1j
-e4jud
-ej5udi
-eki4n
-ek4la
-e1la
-e4la.
-e4lac
-elan4d
-el5ativ
-e4law
-elaxa4
-e3lea
-el5ebra
-5elec
-e4led
-el3ega
-e5len
-e4l1er
-e1les
-el2f
-el2i
-e3libe
-e4l5ic.
-el3ica
-e3lier
-el5igib
-e5lim
-e4l3ing
-e3lio
-e2lis
-el5ish
-e3liv3
-4ella
-el4lab
-ello4
-e5loc
-el5og
-el3op.
-el2sh
-el4ta
-e5lud
-el5ug
-e4mac
-e4mag
-e5man
-em5ana
-em5b
-e1me
-e2mel
-e4met
-em3ica
-emi4e
-em5igra
-em1in2
-em5ine
-em3i3ni
-e4mis
-em5ish
-e5miss
-em3iz
-5emniz
-emo4g
-emoni5o
-em3pi
-e4mul
-em5ula
-emu3n
-e3my
-en5amo
-e4nant
-ench4er
-en3dic
-e5nea
-e5nee
-en3em
-en5ero
-en5esi
-en5est
-en3etr
-e3new
-en5ics
-e5nie
-e5nil
-e3nio
-en3ish
-en3it
-e5niu
-5eniz
-4enn
-4eno
-eno4g
-e4nos
-en3ov
-en4sw
-ent5age
-4enthes
-en3ua
-en5uf
-e3ny.
-4en3z
-e5of
-eo2g
-e4oi4
-e3ol
-eop3ar
-e1or
-eo3re
-eo5rol
-eos4
-e4ot
-eo4to
-e5out
-e5ow
-e2pa
-e3pai
-ep5anc
-e5pel
-e3pent
-ep5etitio
-ephe4
-e4pli
-e1po
-e4prec
-ep5reca
-e4pred
-ep3reh
-e3pro
-e4prob
-ep4sh
-ep5ti5b
-e4put
-ep5uta
-e1q
-equi3l
-e4q3ui3s
-er1a
-era4b
-4erand
-er3ar
-4erati.
-2erb
-er4bl
-er3ch
-er4che
-2ere.
-e3real
-ere5co
-ere3in
-er5el.
-er3emo
-er5ena
-er5ence
-4erene
-er3ent
-ere4q
-er5ess
-er3est
-eret4
-er1h
-er1i
-e1ria4
-5erick
-e3rien
-eri4er
-er3ine
-e1rio
-4erit
-er4iu
-eri4v
-e4riva
-er3m4
-er4nis
-4ernit
-5erniz
-er3no
-2ero
-er5ob
-e5roc
-ero4r
-er1ou
-er1s
-er3set
-ert3er
-4ertl
-er3tw
-4eru
-eru4t
-5erwau
-e1s4a
-e4sage.
-e4sages
-es2c
-e2sca
-es5can
-e3scr
-es5cu
-e1s2e
-e2sec
-es5ecr
-es5enc
-e4sert.
-e4serts
-e4serva
-4esh
-e3sha
-esh5en
-e1si
-e2sic
-e2sid
-es5iden
-es5igna
-e2s5im
-es4i4n
-esis4te
-esi4u
-e5skin
-es4mi
-e2sol
-es3olu
-e2son
-es5ona
-e1sp
-es3per
-es5pira
-es4pre
-2ess
-es4si4b
-estan4
-es3tig
-es5tim
-4es2to
-e3ston
-2estr
-e5stro
-estruc5
-e2sur
-es5urr
-es4w
-eta4b
-eten4d
-e3teo
-ethod3
-et1ic
-e5tide
-etin4
-eti4no
-e5tir
-e5titio
-et5itiv
-4etn
-et5ona
-e3tra
-e3tre
-et3ric
-et5rif
-et3rog
-et5ros
-et3ua
-et5ym
-et5z
-4eu
-e5un
-e3up
-eu3ro
-eus4
-eute4
-euti5l
-eu5tr
-eva2p5
-e2vas
-ev5ast
-e5vea
-ev3ell
-evel3o
-e5veng
-even4i
-ev1er
-e5verb
-e1vi
-ev3id
-evi4l
-e4vin
-evi4v
-e5voc
-e5vu
-e1wa
-e4wag
-e5wee
-e3wh
-ewil5
-ew3ing
-e3wit
-1exp
-5eyc
-5eye.
-eys4
-1fa
-fa3bl
-fab3r
-fa4ce
-4fag
-fain4
-fall5e
-4fa4ma
-fam5is
-5far
-far5th
-fa3ta
-fa3the
-4fato
-fault5
-4f5b
-4fd
-4fe.
-feas4
-feath3
-fe4b
-4feca
-5fect
-2fed
-fe3li
-fe4mo
-fen2d
-fend5e
-fer1
-5ferr
-fev4
-4f1f
-f4fes
-f4fie
-f5fin.
-f2f5is
-f4fly
-f2fy
-4fh
-1fi
-fi3a
-2f3ic.
-4f3ical
-f3ican
-4ficate
-f3icen
-fi3cer
-fic4i
-5ficia
-5ficie
-4fics
-fi3cu
-fi5del
-fight5
-fil5i
-fill5in
-4fily
-2fin
-5fina
-fin2d5
-fi2ne
-f1in3g
-fin4n
-fis4ti
-f4l2
-f5less
-flin4
-flo3re
-f2ly5
-4fm
-4fn
-1fo
-5fon
-fon4de
-fon4t
-fo2r
-fo5rat
-for5ay
-fore5t
-for4i
-fort5a
-fos5
-4f5p
-fra4t
-f5rea
-fres5c
-fri2
-fril4
-frol5
-2f3s
-2ft
-f4to
-f2ty
-3fu
-fu5el
-4fug
-fu4min
-fu5ne
-fu3ri
-fusi4
-fus4s
-4futa
-1fy
-1ga
-gaf4
-5gal.
-3gali
-ga3lo
-2gam
-ga5met
-g5amo
-gan5is
-ga3niz
-gani5za
-4gano
-gar5n4
-gass4
-gath3
-4gativ
-4gaz
-g3b
-gd4
-2ge.
-2ged
-geez4
-gel4in
-ge5lis
-ge5liz
-4gely
-1gen
-ge4nat
-ge5niz
-4geno
-4geny
-1geo
-ge3om
-g4ery
-5gesi
-geth5
-4geto
-ge4ty
-ge4v
-4g1g2
-g2ge
-g3ger
-gglu5
-ggo4
-gh3in
-gh5out
-gh4to
-5gi.
-1gi4a
-gia5r
-g1ic
-5gicia
-g4ico
-gien5
-5gies.
-gil4
-g3imen
-3g4in.
-gin5ge
-5g4ins
-5gio
-3gir
-gir4l
-g3isl
-gi4u
-5giv
-3giz
-gl2
-gla4
-glad5i
-5glas
-1gle
-gli4b
-g3lig
-3glo
-glo3r
-g1m
-g4my
-gn4a
-g4na.
-gnet4t
-g1ni
-g2nin
-g4nio
-g1no
-g4non
-1go
-3go.
-gob5
-5goe
-3g4o4g
-go3is
-gon2
-4g3o3na
-gondo5
-go3ni
-5goo
-go5riz
-gor5ou
-5gos.
-gov1
-g3p
-1gr
-4grada
-g4rai
-gran2
-5graph.
-g5rapher
-5graphic
-4graphy
-4gray
-gre4n
-4gress.
-4grit
-g4ro
-gruf4
-gs2
-g5ste
-gth3
-gu4a
-3guard
-2gue
-5gui5t
-3gun
-3gus
-4gu4t
-g3w
-1gy
-2g5y3n
-gy5ra
-h3ab4l
-hach4
-hae4m
-hae4t
-h5agu
-ha3la
-hala3m
-ha4m
-han4ci
-han4cy
-5hand.
-han4g
-hang5er
-hang5o
-h5a5niz
-han4k
-han4te
-hap3l
-hap5t
-ha3ran
-ha5ras
-har2d
-hard3e
-har4le
-harp5en
-har5ter
-has5s
-haun4
-5haz
-haz3a
-h1b
-1head
-3hear
-he4can
-h5ecat
-h4ed
-he5do5
-he3l4i
-hel4lis
-hel4ly
-h5elo
-hem4p
-he2n
-hena4
-hen5at
-heo5r
-hep5
-h4era
-hera3p
-her4ba
-here5a
-h3ern
-h5erou
-h3ery
-h1es
-he2s5p
-he4t
-het4ed
-heu4
-h1f
-h1h
-hi5an
-hi4co
-high5
-h4il2
-himer4
-h4ina
-hion4e
-hi4p
-hir4l
-hi3ro
-hir4p
-hir4r
-his3el
-his4s
-hith5er
-hi2v
-4hk
-4h1l4
-hlan4
-h2lo
-hlo3ri
-4h1m
-hmet4
-2h1n
-h5odiz
-h5ods
-ho4g
-hoge4
-hol5ar
-3hol4e
-ho4ma
-home3
-hon4a
-ho5ny
-3hood
-hoon4
-hor5at
-ho5ris
-hort3e
-ho5ru
-hos4e
-ho5sen
-hos1p
-1hous
-house3
-hov5el
-4h5p
-4hr4
-hree5
-hro5niz
-hro3po
-4h1s2
-h4sh
-h4tar
-ht1en
-ht5es
-h4ty
-hu4g
-hu4min
-hun5ke
-hun4t
-hus3t4
-hu4t
-h1w
-h4wart
-hy3pe
-hy3ph
-hy2s
-2i1a
-i2al
-iam4
-iam5ete
-i2an
-4ianc
-ian3i
-4ian4t
-ia5pe
-iass4
-i4ativ
-ia4tric
-i4atu
-ibe4
-ib3era
-ib5ert
-ib5ia
-ib3in
-ib5it.
-ib5ite
-i1bl
-ib3li
-i5bo
-i1br
-i2b5ri
-i5bun
-4icam
-5icap
-4icar
-i4car.
-i4cara
-icas5
-i4cay
-iccu4
-4iceo
-4ich
-2ici
-i5cid
-ic5ina
-i2cip
-ic3ipa
-i4cly
-i2c5oc
-4i1cr
-5icra
-i4cry
-ic4te
-ictu2
-ic4t3ua
-ic3ula
-ic4um
-ic5uo
-i3cur
-2id
-i4dai
-id5anc
-id5d
-ide3al
-ide4s
-i2di
-id5ian
-idi4ar
-i5die
-id3io
-idi5ou
-id1it
-id5iu
-i3dle
-i4dom
-id3ow
-i4dr
-i2du
-id5uo
-2ie4
-ied4e
-5ie5ga
-ield3
-ien5a4
-ien4e
-i5enn
-i3enti
-i1er.
-i3esc
-i1est
-i3et
-4if.
-if5ero
-iff5en
-if4fr
-4ific.
-i3fie
-i3fl
-4ift
-2ig
-iga5b
-ig3era
-ight3i
-4igi
-i3gib
-ig3il
-ig3in
-ig3it
-i4g4l
-i2go
-ig3or
-ig5ot
-i5gre
-igu5i
-ig1ur
-i3h
-4i5i4
-i3j
-4ik
-i1la
-il3a4b
-i4lade
-i2l5am
-ila5ra
-i3leg
-il1er
-ilev4
-il5f
-il1i
-il3ia
-il2ib
-il3io
-il4ist
-2ilit
-il2iz
-ill5ab
-4iln
-il3oq
-il4ty
-il5ur
-il3v
-i4mag
-im3age
-ima5ry
-imenta5r
-4imet
-im1i
-im5ida
-imi5le
-i5mini
-4imit
-im4ni
-i3mon
-i2mu
-im3ula
-2in.
-i4n3au
-4inav
-incel4
-in3cer
-4ind
-in5dling
-2ine
-i3nee
-iner4ar
-i5ness
-4inga
-4inge
-in5gen
-4ingi
-in5gling
-4ingo
-4ingu
-2ini
-i5ni.
-i4nia
-in3io
-in1is
-i5nite.
-5initio
-in3ity
-4ink
-4inl
-2inn
-2i1no
-i4no4c
-ino4s
-i4not
-2ins
-in3se
-insur5a
-2int.
-2in4th
-in1u
-i5nus
-4iny
-2io
-4io.
-ioge4
-io2gr
-i1ol
-io4m
-ion3at
-ion4ery
-ion3i
-io5ph
-ior3i
-i4os
-io5th
-i5oti
-io4to
-i4our
-2ip
-ipe4
-iphras4
-ip3i
-ip4ic
-ip4re4
-ip3ul
-i3qua
-iq5uef
-iq3uid
-iq3ui3t
-4ir
-i1ra
-ira4b
-i4rac
-ird5e
-ire4de
-i4ref
-i4rel4
-i4res
-ir5gi
-ir1i
-iri5de
-ir4is
-iri3tu
-5i5r2iz
-ir4min
-iro4g
-5iron.
-ir5ul
-2is.
-is5ag
-is3ar
-isas5
-2is1c
-is3ch
-4ise
-is3er
-3isf
-is5han
-is3hon
-ish5op
-is3ib
-isi4d
-i5sis
-is5itiv
-4is4k
-islan4
-4isms
-i2so
-iso5mer
-is1p
-is2pi
-is4py
-4is1s
-is4sal
-issen4
-is4ses
-is4ta.
-is1te
-is1ti
-ist4ly
-4istral
-i2su
-is5us
-4ita.
-ita4bi
-i4tag
-4ita5m
-i3tan
-i3tat
-2ite
-it3era
-i5teri
-it4es
-2ith
-i1ti
-4itia
-4i2tic
-it3ica
-5i5tick
-it3ig
-it5ill
-i2tim
-2itio
-4itis
-i4tism
-i2t5o5m
-4iton
-i4tram
-it5ry
-4itt
-it3uat
-i5tud
-it3ul
-4itz.
-i1u
-2iv
-iv3ell
-iv3en.
-i4v3er.
-i4vers.
-iv5il.
-iv5io
-iv1it
-i5vore
-iv3o3ro
-i4v3ot
-4i5w
-ix4o
-4iy
-4izar
-izi4
-5izont
-5ja
-jac4q
-ja4p
-1je
-jer5s
-4jestie
-4jesty
-jew3
-jo4p
-5judg
-3ka.
-k3ab
-k5ag
-kais4
-kal4
-k1b
-k2ed
-1kee
-ke4g
-ke5li
-k3en4d
-k1er
-kes4
-k3est.
-ke4ty
-k3f
-kh4
-k1i
-5ki.
-5k2ic
-k4ill
-kilo5
-k4im
-k4in.
-kin4de
-k5iness
-kin4g
-ki4p
-kis4
-k5ish
-kk4
-k1l
-4kley
-4kly
-k1m
-k5nes
-1k2no
-ko5r
-kosh4
-k3ou
-kro5n
-4k1s2
-k4sc
-ks4l
-k4sy
-k5t
-k1w
-lab3ic
-l4abo
-laci4
-l4ade
-la3dy
-lag4n
-lam3o
-3land
-lan4dl
-lan5et
-lan4te
-lar4g
-lar3i
-las4e
-la5tan
-4lateli
-4lativ
-4lav
-la4v4a
-2l1b
-lbin4
-4l1c2
-lce4
-l3ci
-2ld
-l2de
-ld4ere
-ld4eri
-ldi4
-ld5is
-l3dr
-l4dri
-le2a
-le4bi
-left5
-5leg.
-5legg
-le4mat
-lem5atic
-4len.
-3lenc
-5lene.
-1lent
-le3ph
-le4pr
-lera5b
-ler4e
-3lerg
-3l4eri
-l4ero
-les2
-le5sco
-5lesq
-3less
-5less.
-l3eva
-lev4er.
-lev4era
-lev4ers
-3ley
-4leye
-2lf
-l5fr
-4l1g4
-l5ga
-lgar3
-l4ges
-lgo3
-2l3h
-li4ag
-li2am
-liar5iz
-li4as
-li4ato
-li5bi
-5licio
-li4cor
-4lics
-4lict.
-l4icu
-l3icy
-l3ida
-lid5er
-3lidi
-lif3er
-l4iff
-li4fl
-5ligate
-3ligh
-li4gra
-3lik
-4l4i4l
-lim4bl
-lim3i
-li4mo
-l4im4p
-l4ina
-1l4ine
-lin3ea
-lin3i
-link5er
-li5og
-4l4iq
-lis4p
-l1it
-l2it.
-5litica
-l5i5tics
-liv3er
-l1iz
-4lj
-lka3
-l3kal
-lka4t
-l1l
-l4law
-l2le
-l5lea
-l3lec
-l3leg
-l3lel
-l3le4n
-l3le4t
-ll2i
-l2lin4
-l5lina
-ll4o
-lloqui5
-ll5out
-l5low
-2lm
-l5met
-lm3ing
-l4mod
-lmon4
-2l1n2
-3lo.
-lob5al
-lo4ci
-4lof
-3logic
-l5ogo
-3logu
-lom3er
-5long
-lon4i
-l3o3niz
-lood5
-5lope.
-lop3i
-l3opm
-lora4
-lo4rato
-lo5rie
-lor5ou
-5los.
-los5et
-5losophiz
-5losophy
-los4t
-lo4ta
-loun5d
-2lout
-4lov
-2lp
-lpa5b
-l3pha
-l5phi
-lp5ing
-l3pit
-l4pl
-l5pr
-4l1r
-2l1s2
-l4sc
-l2se
-l4sie
-4lt
-lt5ag
-ltane5
-l1te
-lten4
-ltera4
-lth3i
-l5ties.
-ltis4
-l1tr
-ltu2
-ltur3a
-lu5a
-lu3br
-luch4
-lu3ci
-lu3en
-luf4
-lu5id
-lu4ma
-5lumi
-l5umn.
-5lumnia
-lu3o
-luo3r
-4lup
-luss4
-lus3te
-1lut
-l5ven
-l5vet4
-2l1w
-1ly
-4lya
-4lyb
-ly5me
-ly3no
-2lys4
-l5yse
-1ma
-2mab
-ma2ca
-ma5chine
-ma4cl
-mag5in
-5magn
-2mah
-maid5
-4mald
-ma3lig
-ma5lin
-mal4li
-mal4ty
-5mania
-man5is
-man3iz
-4map
-ma5rine.
-ma5riz
-mar4ly
-mar3v
-ma5sce
-mas4e
-mas1t
-5mate
-math3
-ma3tis
-4matiza
-4m1b
-mba4t5
-m5bil
-m4b3ing
-mbi4v
-4m5c
-4me.
-2med
-4med.
-5media
-me3die
-m5e5dy
-me2g
-mel5on
-mel4t
-me2m
-mem1o3
-1men
-men4a
-men5ac
-men4de
-4mene
-men4i
-mens4
-mensu5
-3ment
-men4te
-me5on
-m5ersa
-2mes
-3mesti
-me4ta
-met3al
-me1te
-me5thi
-m4etr
-5metric
-me5trie
-me3try
-me4v
-4m1f
-2mh
-5mi.
-mi3a
-mid4a
-mid4g
-mig4
-3milia
-m5i5lie
-m4ill
-min4a
-3mind
-m5inee
-m4ingl
-min5gli
-m5ingly
-min4t
-m4inu
-miot4
-m2is
-mis4er.
-mis5l
-mis4ti
-m5istry
-4mith
-m2iz
-4mk
-4m1l
-m1m
-mma5ry
-4m1n
-mn4a
-m4nin
-mn4o
-1mo
-4mocr
-5mocratiz
-mo2d1
-mo4go
-mois2
-moi5se
-4mok
-mo5lest
-mo3me
-mon5et
-mon5ge
-moni3a
-mon4ism
-mon4ist
-mo3niz
-monol4
-mo3ny.
-mo2r
-4mora.
-mos2
-mo5sey
-mo3sp
-moth3
-m5ouf
-3mous
-mo2v
-4m1p
-mpara5
-mpa5rab
-mpar5i
-m3pet
-mphas4
-m2pi
-mpi4a
-mp5ies
-m4p1in
-m5pir
-mp5is
-mpo3ri
-mpos5ite
-m4pous
-mpov5
-mp4tr
-m2py
-4m3r
-4m1s2
-m4sh
-m5si
-4mt
-1mu
-mula5r4
-5mult
-multi3
-3mum
-mun2
-4mup
-mu4u
-4mw
-1na
-2n1a2b
-n4abu
-4nac.
-na4ca
-n5act
-nag5er.
-nak4
-na4li
-na5lia
-4nalt
-na5mit
-n2an
-nanci4
-nan4it
-nank4
-nar3c
-4nare
-nar3i
-nar4l
-n5arm
-n4as
-nas4c
-nas5ti
-n2at
-na3tal
-nato5miz
-n2au
-nau3se
-3naut
-nav4e
-4n1b4
-ncar5
-n4ces.
-n3cha
-n5cheo
-n5chil
-n3chis
-nc1in
-nc4it
-ncour5a
-n1cr
-n1cu
-n4dai
-n5dan
-n1de
-nd5est.
-ndi4b
-n5d2if
-n1dit
-n3diz
-n5duc
-ndu4r
-nd2we
-2ne.
-n3ear
-ne2b
-neb3u
-ne2c
-5neck
-2ned
-ne4gat
-neg5ativ
-5nege
-ne4la
-nel5iz
-ne5mi
-ne4mo
-1nen
-4nene
-3neo
-ne4po
-ne2q
-n1er
-nera5b
-n4erar
-n2ere
-n4er5i
-ner4r
-1nes
-2nes.
-4nesp
-2nest
-4nesw
-3netic
-ne4v
-n5eve
-ne4w
-n3f
-n4gab
-n3gel
-nge4n4e
-n5gere
-n3geri
-ng5ha
-n3gib
-ng1in
-n5git
-n4gla
-ngov4
-ng5sh
-n1gu
-n4gum
-n2gy
-4n1h4
-nha4
-nhab3
-nhe4
-3n4ia
-ni3an
-ni4ap
-ni3ba
-ni4bl
-ni4d
-ni5di
-ni4er
-ni2fi
-ni5ficat
-n5igr
-nik4
-n1im
-ni3miz
-n1in
-5nine.
-nin4g
-ni4o
-5nis.
-nis4ta
-n2it
-n4ith
-3nitio
-n3itor
-ni3tr
-n1j
-4nk2
-n5kero
-n3ket
-nk3in
-n1kl
-4n1l
-n5m
-nme4
-nmet4
-4n1n2
-nne4
-nni3al
-nni4v
-nob4l
-no3ble
-n5ocl
-4n3o2d
-3noe
-4nog
-noge4
-nois5i
-no5l4i
-5nologis
-3nomic
-n5o5miz
-no4mo
-no3my
-no4n
-non4ag
-non5i
-n5oniz
-4nop
-5nop5o5li
-nor5ab
-no4rary
-4nosc
-nos4e
-nos5t
-no5ta
-1nou
-3noun
-nov3el3
-nowl3
-n1p4
-npi4
-npre4c
-n1q
-n1r
-nru4
-2n1s2
-ns5ab
-nsati4
-ns4c
-n2se
-n4s3es
-nsid1
-nsig4
-n2sl
-ns3m
-n4soc
-ns4pe
-n5spi
-nsta5bl
-n1t
-nta4b
-nter3s
-nt2i
-n5tib
-nti4er
-nti2f
-n3tine
-n4t3ing
-nti4p
-ntrol5li
-nt4s
-ntu3me
-nu1a
-nu4d
-nu5en
-nuf4fe
-n3uin
-3nu3it
-n4um
-nu1me
-n5umi
-3nu4n
-n3uo
-nu3tr
-n1v2
-n1w4
-nym4
-nyp4
-4nz
-n3za
-4oa
-oad3
-o5a5les
-oard3
-oas4e
-oast5e
-oat5i
-ob3a3b
-o5bar
-obe4l
-o1bi
-o2bin
-ob5ing
-o3br
-ob3ul
-o1ce
-och4
-o3chet
-ocif3
-o4cil
-o4clam
-o4cod
-oc3rac
-oc5ratiz
-ocre3
-5ocrit
-octor5a
-oc3ula
-o5cure
-od5ded
-od3ic
-odi3o
-o2do4
-odor3
-od5uct.
-od5ucts
-o4el
-o5eng
-o3er
-oe4ta
-o3ev
-o2fi
-of5ite
-ofit4t
-o2g5a5r
-og5ativ
-o4gato
-o1ge
-o5gene
-o5geo
-o4ger
-o3gie
-1o1gis
-og3it
-o4gl
-o5g2ly
-3ogniz
-o4gro
-ogu5i
-1ogy
-2ogyn
-o1h2
-ohab5
-oi2
-oic3es
-oi3der
-oiff4
-oig4
-oi5let
-o3ing
-oint5er
-o5ism
-oi5son
-oist5en
-oi3ter
-o5j
-2ok
-o3ken
-ok5ie
-o1la
-o4lan
-olass4
-ol2d
-old1e
-ol3er
-o3lesc
-o3let
-ol4fi
-ol2i
-o3lia
-o3lice
-ol5id.
-o3li4f
-o5lil
-ol3ing
-o5lio
-o5lis.
-ol3ish
-o5lite
-o5litio
-o5liv
-olli4e
-ol5ogiz
-olo4r
-ol5pl
-ol2t
-ol3ub
-ol3ume
-ol3un
-o5lus
-ol2v
-o2ly
-om5ah
-oma5l
-om5atiz
-om2be
-om4bl
-o2me
-om3ena
-om5erse
-o4met
-om5etry
-o3mia
-om3ic.
-om3ica
-o5mid
-om1in
-o5mini
-5ommend
-omo4ge
-o4mon
-om3pi
-ompro5
-o2n
-on1a
-on4ac
-o3nan
-on1c
-3oncil
-2ond
-on5do
-o3nen
-on5est
-on4gu
-on1ic
-o3nio
-on1is
-o5niu
-on3key
-on4odi
-on3omy
-on3s
-onspi4
-onspir5a
-onsu4
-onten4
-on3t4i
-ontif5
-on5um
-onva5
-oo2
-ood5e
-ood5i
-oo4k
-oop3i
-o3ord
-oost5
-o2pa
-ope5d
-op1er
-3opera
-4operag
-2oph
-o5phan
-o5pher
-op3ing
-o3pit
-o5pon
-o4posi
-o1pr
-op1u
-opy5
-o1q
-o1ra
-o5ra.
-o4r3ag
-or5aliz
-or5ange
-ore5a
-o5real
-or3ei
-ore5sh
-or5est.
-orew4
-or4gu
-4o5ria
-or3ica
-o5ril
-or1in
-o1rio
-or3ity
-o3riu
-or2mi
-orn2e
-o5rof
-or3oug
-or5pe
-3orrh
-or4se
-ors5en
-orst4
-or3thi
-or3thy
-or4ty
-o5rum
-o1ry
-os3al
-os2c
-os4ce
-o3scop
-4oscopi
-o5scr
-os4i4e
-os5itiv
-os3ito
-os3ity
-osi4u
-os4l
-o2so
-os4pa
-os4po
-os2ta
-o5stati
-os5til
-os5tit
-o4tan
-otele4g
-ot3er.
-ot5ers
-o4tes
-4oth
-oth5esi
-oth3i4
-ot3ic.
-ot5ica
-o3tice
-o3tif
-o3tis
-oto5s
-ou2
-ou3bl
-ouch5i
-ou5et
-ou4l
-ounc5er
-oun2d
-ou5v
-ov4en
-over4ne
-over3s
-ov4ert
-o3vis
-oviti4
-o5v4ol
-ow3der
-ow3el
-ow5est
-ow1i
-own5i
-o4wo
-oy1a
-1pa
-pa4ca
-pa4ce
-pac4t
-p4ad
-5pagan
-p3agat
-p4ai
-pain4
-p4al
-pan4a
-pan3el
-pan4ty
-pa3ny
-pa1p
-pa4pu
-para5bl
-par5age
-par5di
-3pare
-par5el
-p4a4ri
-par4is
-pa2te
-pa5ter
-5pathic
-pa5thy
-pa4tric
-pav4
-3pay
-4p1b
-pd4
-4pe.
-3pe4a
-pear4l
-pe2c
-2p2ed
-3pede
-3pedi
-pedia4
-ped4ic
-p4ee
-pee4d
-pek4
-pe4la
-peli4e
-pe4nan
-p4enc
-pen4th
-pe5on
-p4era.
-pera5bl
-p4erag
-p4eri
-peri5st
-per4mal
-perme5
-p4ern
-per3o
-per3ti
-pe5ru
-per1v
-pe2t
-pe5ten
-pe5tiz
-4pf
-4pg
-4ph.
-phar5i
-phe3no
-ph4er
-ph4es.
-ph1ic
-5phie
-ph5ing
-5phisti
-3phiz
-ph2l
-3phob
-3phone
-5phoni
-pho4r
-4phs
-ph3t
-5phu
-1phy
-pi3a
-pian4
-pi4cie
-pi4cy
-p4id
-p5ida
-pi3de
-5pidi
-3piec
-pi3en
-pi4grap
-pi3lo
-pi2n
-p4in.
-pind4
-p4ino
-3pi1o
-pion4
-p3ith
-pi5tha
-pi2tu
-2p3k2
-1p2l2
-3plan
-plas5t
-pli3a
-pli5er
-4plig
-pli4n
-ploi4
-plu4m
-plum4b
-4p1m
-2p3n
-po4c
-5pod.
-po5em
-po3et5
-5po4g
-poin2
-5point
-poly5t
-po4ni
-po4p
-1p4or
-po4ry
-1pos
-pos1s
-p4ot
-po4ta
-5poun
-4p1p
-ppa5ra
-p2pe
-p4ped
-p5pel
-p3pen
-p3per
-p3pet
-ppo5site
-pr2
-pray4e
-5preci
-pre5co
-pre3em
-pref5ac
-pre4la
-pre3r
-p3rese
-3press
-pre5ten
-pre3v
-5pri4e
-prin4t3
-pri4s
-pris3o
-p3roca
-prof5it
-pro3l
-pros3e
-pro1t
-2p1s2
-p2se
-ps4h
-p4sib
-2p1t
-pt5a4b
-p2te
-p2th
-pti3m
-ptu4r
-p4tw
-pub3
-pue4
-puf4
-pul3c
-pu4m
-pu2n
-pur4r
-5pus
-pu2t
-5pute
-put3er
-pu3tr
-put4ted
-put4tin
-p3w
-qu2
-qua5v
-2que.
-3quer
-3quet
-2rab
-ra3bi
-rach4e
-r5acl
-raf5fi
-raf4t
-r2ai
-ra4lo
-ram3et
-r2ami
-rane5o
-ran4ge
-r4ani
-ra5no
-rap3er
-3raphy
-rar5c
-rare4
-rar5ef
-4raril
-r2as
-ration4
-rau4t
-ra5vai
-rav3el
-ra5zie
-r1b
-r4bab
-r4bag
-rbi2
-rbi4f
-r2bin
-r5bine
-rb5ing.
-rb4o
-r1c
-r2ce
-rcen4
-r3cha
-rch4er
-r4ci4b
-rc4it
-rcum3
-r4dal
-rd2i
-rdi4a
-rdi4er
-rdin4
-rd3ing
-2re.
-re1al
-re3an
-re5arr
-5reav
-re4aw
-r5ebrat
-rec5oll
-rec5ompe
-re4cre
-2r2ed
-re1de
-re3dis
-red5it
-re4fac
-re2fe
-re5fer.
-re3fi
-re4fy
-reg3is
-re5it
-re1li
-re5lu
-r4en4ta
-ren4te
-re1o
-re5pin
-re4posi
-re1pu
-r1er4
-r4eri
-rero4
-re5ru
-r4es.
-re4spi
-ress5ib
-res2t
-re5stal
-re3str
-re4ter
-re4ti4z
-re3tri
-reu2
-re5uti
-rev2
-re4val
-rev3el
-r5ev5er.
-re5vers
-re5vert
-re5vil
-rev5olu
-re4wh
-r1f
-rfu4
-r4fy
-rg2
-rg3er
-r3get
-r3gic
-rgi4n
-rg3ing
-r5gis
-r5git
-r1gl
-rgo4n
-r3gu
-rh4
-4rh.
-4rhal
-ri3a
-ria4b
-ri4ag
-r4ib
-rib3a
-ric5as
-r4ice
-4rici
-5ricid
-ri4cie
-r4ico
-rid5er
-ri3enc
-ri3ent
-ri1er
-ri5et
-rig5an
-5rigi
-ril3iz
-5riman
-rim5i
-3rimo
-rim4pe
-r2ina
-5rina.
-rin4d
-rin4e
-rin4g
-ri1o
-5riph
-riph5e
-ri2pl
-rip5lic
-r4iq
-r2is
-r4is.
-ris4c
-r3ish
-ris4p
-ri3ta3b
-r5ited.
-rit5er.
-rit5ers
-rit3ic
-ri2tu
-rit5ur
-riv5el
-riv3et
-riv3i
-r3j
-r3ket
-rk4le
-rk4lin
-r1l
-rle4
-r2led
-r4lig
-r4lis
-rl5ish
-r3lo4
-r1m
-rma5c
-r2me
-r3men
-rm5ers
-rm3ing
-r4ming.
-r4mio
-r3mit
-r4my
-r4nar
-r3nel
-r4ner
-r5net
-r3ney
-r5nic
-r1nis4
-r3nit
-r3niv
-rno4
-r4nou
-r3nu
-rob3l
-r2oc
-ro3cr
-ro4e
-ro1fe
-ro5fil
-rok2
-ro5ker
-5role.
-rom5ete
-rom4i
-rom4p
-ron4al
-ron4e
-ro5n4is
-ron4ta
-1room
-5root
-ro3pel
-rop3ic
-ror3i
-ro5ro
-ros5per
-ros4s
-ro4the
-ro4ty
-ro4va
-rov5el
-rox5
-r1p
-r4pea
-r5pent
-rp5er.
-r3pet
-rp4h4
-rp3ing
-r3po
-r1r4
-rre4c
-rre4f
-r4reo
-rre4st
-rri4o
-rri4v
-rron4
-rros4
-rrys4
-4rs2
-r1sa
-rsa5ti
-rs4c
-r2se
-r3sec
-rse4cr
-rs5er.
-rs3es
-rse5v2
-r1sh
-r5sha
-r1si
-r4si4b
-rson3
-r1sp
-r5sw
-rtach4
-r4tag
-r3teb
-rten4d
-rte5o
-r1ti
-rt5ib
-rti4d
-r4tier
-r3tig
-rtil3i
-rtil4l
-r4tily
-r4tist
-r4tiv
-r3tri
-rtroph4
-rt4sh
-ru3a
-ru3e4l
-ru3en
-ru4gl
-ru3in
-rum3pl
-ru2n
-runk5
-run4ty
-r5usc
-ruti5n
-rv4e
-rvel4i
-r3ven
-rv5er.
-r5vest
-r3vey
-r3vic
-rvi4v
-r3vo
-r1w
-ry4c
-5rynge
-ry3t
-sa2
-2s1ab
-5sack
-sac3ri
-s3act
-5sai
-salar4
-sal4m
-sa5lo
-sal4t
-3sanc
-san4de
-s1ap
-sa5ta
-5sa3tio
-sat3u
-sau4
-sa5vor
-5saw
-4s5b
-scan4t5
-sca4p
-scav5
-s4ced
-4scei
-s4ces
-sch2
-s4cho
-3s4cie
-5scin4d
-scle5
-s4cli
-scof4
-4scopy
-scour5a
-s1cu
-4s5d
-4se.
-se4a
-seas4
-sea5w
-se2c3o
-3sect
-4s4ed
-se4d4e
-s5edl
-se2g
-seg3r
-5sei
-se1le
-5self
-5selv
-4seme
-se4mol
-sen5at
-4senc
-sen4d
-s5ened
-sen5g
-s5enin
-4sentd
-4sentl
-sep3a3
-4s1er.
-s4erl
-ser4o
-4servo
-s1e4s
-se5sh
-ses5t
-5se5um
-5sev
-sev3en
-sew4i
-5sex
-4s3f
-2s3g
-s2h
-2sh.
-sh1er
-5shev
-sh1in
-sh3io
-3ship
-shiv5
-sho4
-sh5old
-shon3
-shor4
-short5
-4shw
-si1b
-s5icc
-3side.
-5sides
-5sidi
-si5diz
-4signa
-sil4e
-4sily
-2s1in
-s2ina
-5sine.
-s3ing
-1sio
-5sion
-sion5a
-si2r
-sir5a
-1sis
-3sitio
-5siu
-1siv
-5siz
-sk2
-4ske
-s3ket
-sk5ine
-sk5ing
-s1l2
-s3lat
-s2le
-slith5
-2s1m
-s3ma
-small3
-sman3
-smel4
-s5men
-5smith
-smol5d4
-s1n4
-1so
-so4ce
-soft3
-so4lab
-sol3d2
-so3lic
-5solv
-3som
-3s4on.
-sona4
-son4g
-s4op
-5sophic
-s5ophiz
-s5ophy
-sor5c
-sor5d
-4sov
-so5vi
-2spa
-5spai
-spa4n
-spen4d
-2s5peo
-2sper
-s2phe
-3spher
-spho5
-spil4
-sp5ing
-4spio
-s4ply
-s4pon
-spor4
-4spot
-squal4l
-s1r
-2ss
-s1sa
-ssas3
-s2s5c
-s3sel
-s5seng
-s4ses.
-s5set
-s1si
-s4sie
-ssi4er
-ss5ily
-s4sl
-ss4li
-s4sn
-sspend4
-ss2t
-ssur5a
-ss5w
-2st.
-s2tag
-s2tal
-stam4i
-5stand
-s4ta4p
-5stat.
-s4ted
-stern5i
-s5tero
-ste2w
-stew5a
-s3the
-st2i
-s4ti.
-s5tia
-s1tic
-5stick
-s4tie
-s3tif
-st3ing
-5stir
-s1tle
-5stock
-stom3a
-5stone
-s4top
-3store
-st4r
-s4trad
-5stratu
-s4tray
-s4trid
-4stry
-4st3w
-s2ty
-1su
-su1al
-su4b3
-su2g3
-su5is
-suit3
-s4ul
-su2m
-sum3i
-su2n
-su2r
-4sv
-sw2
-4swo
-s4y
-4syc
-3syl
-syn5o
-sy5rin
-1ta
-3ta.
-2tab
-ta5bles
-5taboliz
-4taci
-ta5do
-4taf4
-tai5lo
-ta2l
-ta5la
-tal5en
-tal3i
-4talk
-tal4lis
-ta5log
-ta5mo
-tan4de
-tanta3
-ta5per
-ta5pl
-tar4a
-4tarc
-4tare
-ta3riz
-tas4e
-ta5sy
-4tatic
-ta4tur
-taun4
-tav4
-2taw
-tax4is
-2t1b
-4tc
-t4ch
-tch5et
-4t1d
-4te.
-tead4i
-4teat
-tece4
-5tect
-2t1ed
-te5di
-1tee
-teg4
-te5ger
-te5gi
-3tel.
-teli4
-5tels
-te2ma2
-tem3at
-3tenan
-3tenc
-3tend
-4tenes
-1tent
-ten4tag
-1teo
-te4p
-te5pe
-ter3c
-5ter3d
-1teri
-ter5ies
-ter3is
-teri5za
-5ternit
-ter5v
-4tes.
-4tess
-t3ess.
-teth5e
-3teu
-3tex
-4tey
-2t1f
-4t1g
-2th.
-than4
-th2e
-4thea
-th3eas
-the5at
-the3is
-3thet
-th5ic.
-th5ica
-4thil
-5think
-4thl
-th5ode
-5thodic
-4thoo
-thor5it
-tho5riz
-2ths
-1tia
-ti4ab
-ti4ato
-2ti2b
-4tick
-t4ico
-t4ic1u
-5tidi
-3tien
-tif2
-ti5fy
-2tig
-5tigu
-till5in
-1tim
-4timp
-tim5ul
-2t1in
-t2ina
-3tine.
-3tini
-1tio
-ti5oc
-tion5ee
-5tiq
-ti3sa
-3tise
-tis4m
-ti5so
-tis4p
-5tistica
-ti3tl
-ti4u
-1tiv
-tiv4a
-1tiz
-ti3za
-ti3zen
-2tl
-t5la
-tlan4
-3tle.
-3tled
-3tles.
-t5let.
-t5lo
-4t1m
-tme4
-2t1n2
-1to
-to3b
-to5crat
-4todo
-2tof
-to2gr
-to5ic
-to2ma
-tom4b
-to3my
-ton4ali
-to3nat
-4tono
-4tony
-to2ra
-to3rie
-tor5iz
-tos2
-5tour
-4tout
-to3war
-4t1p
-1tra
-tra3b
-tra5ch
-traci4
-trac4it
-trac4te
-tras4
-tra5ven
-trav5es5
-tre5f
-tre4m
-trem5i
-5tria
-tri5ces
-5tricia
-4trics
-2trim
-tri4v
-tro5mi
-tron5i
-4trony
-tro5phe
-tro3sp
-tro3v
-tru5i
-trus4
-4t1s2
-t4sc
-tsh4
-t4sw
-4t3t2
-t4tes
-t5to
-ttu4
-1tu
-tu1a
-tu3ar
-tu4bi
-tud2
-4tue
-4tuf4
-5tu3i
-3tum
-tu4nis
-2t3up.
-3ture
-5turi
-tur3is
-tur5o
-tu5ry
-3tus
-4tv
-tw4
-4t1wa
-twis4
-4two
-1ty
-4tya
-2tyl
-type3
-ty5ph
-4tz
-tz4e
-4uab
-uac4
-ua5na
-uan4i
-uar5ant
-uar2d
-uar3i
-uar3t
-u1at
-uav4
-ub4e
-u4bel
-u3ber
-u4bero
-u1b4i
-u4b5ing
-u3ble.
-u3ca
-uci4b
-uc4it
-ucle3
-u3cr
-u3cu
-u4cy
-ud5d
-ud3er
-ud5est
-udev4
-u1dic
-ud3ied
-ud3ies
-ud5is
-u5dit
-u4don
-ud4si
-u4du
-u4ene
-uens4
-uen4te
-uer4il
-3ufa
-u3fl
-ugh3en
-ug5in
-2ui2
-uil5iz
-ui4n
-u1ing
-uir4m
-uita4
-uiv3
-uiv4er.
-u5j
-4uk
-u1la
-ula5b
-u5lati
-ulch4
-5ulche
-ul3der
-ul4e
-u1len
-ul4gi
-ul2i
-u5lia
-ul3ing
-ul5ish
-ul4lar
-ul4li4b
-ul4lis
-4ul3m
-u1l4o
-4uls
-uls5es
-ul1ti
-ultra3
-4ultu
-u3lu
-ul5ul
-ul5v
-um5ab
-um4bi
-um4bly
-u1mi
-u4m3ing
-umor5o
-um2p
-unat4
-u2ne
-un4er
-u1ni
-un4im
-u2nin
-un5ish
-uni3v
-un3s4
-un4sw
-unt3ab
-un4ter.
-un4tes
-unu4
-un5y
-un5z
-u4ors
-u5os
-u1ou
-u1pe
-uper5s
-u5pia
-up3ing
-u3pl
-up3p
-upport5
-upt5ib
-uptu4
-u1ra
-4ura.
-u4rag
-u4ras
-ur4be
-urc4
-ur1d
-ure5at
-ur4fer
-ur4fr
-u3rif
-uri4fic
-ur1in
-u3rio
-u1rit
-ur3iz
-ur2l
-url5ing.
-ur4no
-uros4
-ur4pe
-ur4pi
-urs5er
-ur5tes
-ur3the
-urti4
-ur4tie
-u3ru
-2us
-u5sad
-u5san
-us4ap
-usc2
-us3ci
-use5a
-u5sia
-u3sic
-us4lin
-us1p
-us5sl
-us5tere
-us1tr
-u2su
-usur4
-uta4b
-u3tat
-4ute.
-4utel
-4uten
-uten4i
-4u1t2i
-uti5liz
-u3tine
-ut3ing
-ution5a
-u4tis
-5u5tiz
-u4t1l
-ut5of
-uto5g
-uto5matic
-u5ton
-u4tou
-uts4
-u3u
-uu4m
-u1v2
-uxu3
-uz4e
-1va
-5va.
-2v1a4b
-vac5il
-vac3u
-vag4
-va4ge
-va5lie
-val5o
-val1u
-va5mo
-va5niz
-va5pi
-var5ied
-3vat
-4ve.
-4ved
-veg3
-v3el.
-vel3li
-ve4lo
-v4ely
-ven3om
-v5enue
-v4erd
-5vere.
-v4erel
-v3eren
-ver5enc
-v4eres
-ver3ie
-vermi4n
-3verse
-ver3th
-v4e2s
-4ves.
-ves4te
-ve4te
-vet3er
-ve4ty
-vi5ali
-5vian
-5vide.
-5vided
-4v3iden
-5vides
-5vidi
-v3if
-vi5gn
-vik4
-2vil
-5vilit
-v3i3liz
-v1in
-4vi4na
-v2inc
-vin5d
-4ving
-vio3l
-v3io4r
-vi1ou
-vi4p
-vi5ro
-vis3it
-vi3so
-vi3su
-4viti
-vit3r
-4vity
-3viv
-5vo.
-voi4
-3vok
-vo4la
-v5ole
-5volt
-3volv
-vom5i
-vor5ab
-vori4
-vo4ry
-vo4ta
-4votee
-4vv4
-v4y
-w5abl
-2wac
-wa5ger
-wag5o
-wait5
-w5al.
-wam4
-war4t
-was4t
-wa1te
-wa5ver
-w1b
-wea5rie
-weath3
-wed4n
-weet3
-wee5v
-wel4l
-w1er
-west3
-w3ev
-whi4
-wi2
-wil2
-will5in
-win4de
-win4g
-wir4
-3wise
-with3
-wiz5
-w4k
-wl4es
-wl3in
-w4no
-1wo2
-wom1
-wo5ven
-w5p
-wra4
-wri4
-writa4
-w3sh
-ws4l
-ws4pe
-w5s4t
-4wt
-wy4
-x1a
-xac5e
-x4ago
-xam3
-x4ap
-xas5
-x3c2
-x1e
-xe4cuto
-x2ed
-xer4i
-xe5ro
-x1h
-xhi2
-xhil5
-xhu4
-x3i
-xi5a
-xi5c
-xi5di
-x4ime
-xi5miz
-x3o
-x4ob
-x3p
-xpan4d
-xpecto5
-xpe3d
-x1t2
-x3ti
-x1u
-xu3a
-xx4
-y5ac
-3yar4
-y5at
-y1b
-y1c
-y2ce
-yc5er
-y3ch
-ych4e
-ycom4
-ycot4
-y1d
-y5ee
-y1er
-y4erf
-yes4
-ye4t
-y5gi
-4y3h
-y1i
-y3la
-ylla5bl
-y3lo
-y5lu
-ymbol5
-yme4
-ympa3
-yn3chr
-yn5d
-yn5g
-yn5ic
-5ynx
-y1o4
-yo5d
-y4o5g
-yom4
-yo5net
-y4ons
-y4os
-y4ped
-yper5
-yp3i
-y3po
-y4poc
-yp2ta
-y5pu
-yra5m
-yr5ia
-y3ro
-yr4r
-ys4c
-y3s2e
-ys3ica
-ys3io
-3ysis
-y4so
-yss4
-ys1t
-ys3ta
-ysur4
-y3thin
-yt3ic
-y1w
-za1
-z5a2b
-zar2
-4zb
-2ze
-ze4n
-ze4p
-z1er
-ze3ro
-zet4
-2z1i
-z4il
-z4is
-5zl
-4zm
-1zo
-zo4m
-zo5ol
-zte4
-4z1z2
-z4zy
-Á1Á
-Á1Å
-Á1É
-Á1Ï
-Á1Õ
-Á1Ù
-Á1Ü
-Á1À
-Á1Ñ
-Å1Á
-Å1Å
-Å1É
-Å1Ï
-Å1Õ
-Å1Ù
-Å1Ü
-Å1À
-Å1Ñ
-É1Á
-É1Å
-É1É
-É1Ï
-É1Õ
-É1Ù
-É1Ü
-É1À
-É1Ñ
-Ï1Á
-Ï1Å
-Ï1É
-Ï1Ï
-Ï1Õ
-Ï1Ù
-Ï1Ü
-Ï1À
-Ï1Ñ
-Õ1Á
-Õ1Å
-Õ1É
-Õ1Ï
-Õ1Õ
-Õ1Ù
-Õ1Ü
-Õ1À
-Õ1Ñ
-Ù1Á
-Ù1Å
-Ù1É
-Ù1Ï
-Ù1Õ
-Ù1Ù
-Ù1Ü
-Ù1À
-Ù1Ñ
-Ü1Á
-Ü1Å
-Ü1É
-Ü1Ï
-Ü1Õ
-Ü1Ù
-Ü1Ü
-Ü1À
-Ü1Ñ
-À1Á
-À1Å
-À1É
-À1Ï
-À1Õ
-À1Ù
-À1Ü
-À1À
-À1Ñ
-Ñ1Á
-Ñ1Å
-Ñ1É
-Ñ1Ï
-Ñ1Õ
-Ñ1Ù
-Ñ1Ü
-Ñ1À
-Ñ1Ñ
-.ÂÄ2
-.ÂÌ2
-.ÂÒ2
-.ÂØ2
-.×Â2
-.×ÂÌ2
-.×ÂÒ2
-.××2
-.××Ò2
-.×ÇÌ2
-.×Ä2
-.×Ä×2
-.×ÄÒ2
-.×Ú2
-.×ÚÂ2
-.×Ú×2
-.×ÚÇ2
-.×ÚÇÌ2
-.×ÚÇÒ2
-.×ÚÄ2
-.×ÚÄÒ2
-.×ÚÌ2
-.×ÚÍ2
-.×ÚÒ2
-.×Úß2
-.×Ë2
-.×ËÌ2
-.×ËÒ2
-.×Ì2
-.×Í2
-.×Î2
-.×Ð2
-.×ÐÌ2
-.×ÐÒ2
-.×Ò2
-.×Ó2
-.×ÓË2
-.×ÓËÒ2
-.×ÓÌ2
-.×ÓÍ2
-.×ÓÐ2
-.×ÓÐÌ2
-.×ÓÐÒ2
-.×ÓÔ2
-.×ÓÔÒ2
-.×ÓÈ2
-.×ÓÈÌ2
-.×Ô2
-.×ÔÒ2
-.×È2
-.×Ã2
-.×Þ2
-.×Ø2
-.Ç×2
-.ÇÄ2
-.ÇÌ2
-.ÇÎ2
-.ÇÒ2
-.Ä×2
-.ÄÌ2
-.ÄÎ2
-.ÄÒ2
-.ÄØ2
-.Ö×2
-.ÖÇ2
-.ÖÇÌ2
-.ÖÄ2
-.ÖÖ2
-.ÖÒ2
-.Ú×2
-.ÚÄ2
-.ÚÄÒ2
-.ÚÌ2
-.ÚÍ2
-.ÚÎ2
-.ÚÒ2
-.Ë×2
-.ËÌ2
-.ËÎ2
-.ËÒ2
-.ËÓÔ2
-.ËÔ2
-.ÌÂ2
-.ÌÇ2
-.ÌÖ2
-.ÌØ2
-.ÌØ×2
-.ÍÇÌ2
-.ÍÇÎ2
-.ÍÌ2
-.ÍÎ2
-.ÍÒ2
-.ÍÓÔ2
-.ÍÈ2
-.ÍÞ2
-.ÍÝ2
-.ÎÒ2
-.ÐÌ2
-.ÐÎ2
-.ÐÒ2
-.ÐÓ2
-.ÐÔ2
-.ÐÈ2
-.ÐÞ2
-.ÐÛ2
-.ÐØ2
-.Ò×2
-.ÒÖ2
-.ÒÔ2
-.ÓÂ2
-.ÓÂÌ2
-.ÓÂÒ2
-.Ó×2
-.Ó×ÓÔ2
-.ÓÇ2
-.ÓÇÎ2
-.ÓÇÒ2
-.ÓÄ2
-.ÓÄ×2
-.ÓÄÒ2
-.ÓÖ2
-.ÓÚ2
-.ÓË2
-.ÓË×2
-.ÓËÌ2
-.ÓËÒ2
-.ÓÌ2
-.ÓÍ2
-.ÓÎ2
-.ÓÐ2
-.ÓÐÌ2
-.ÓÐÒ2
-.ÓÒ2
-.ÓÓ2
-.ÓÔ2
-.ÓÔ×2
-.ÓÔÌ2
-.ÓÔÒ2
-.ÓÆ2
-.ÓÈ2
-.ÓÈ×2
-.ÓÈÌ2
-.ÓÞ2
-.ÓÛ2
-.Óß2
-.Ô×2
-.ÔË2
-.ÔËÎ2
-.ÔÌ2
-.ÔÒ2
-.ÔÝ2
-.ÔØÍ2
-.ÔØÆ2
-.ÆÌ2
-.ÆÒ2
-.È×2
-.ÈÌ2
-.ÈÍ2
-.ÈÎ2
-.ÈÒ2
-.Ã×2
-.ÞÌ2
-.ÞÒ2
-.ÞÔ2
-.ÞØ2
-.Û×2
-.ÛË2
-.ÛË×2
-.ÛÌ2
-.ÛÎ2
-.ÛÐ2
-.ÛÒ2
-.ÛÔ2
-.ÛÔÒ2
-1ÂÁ
-1ÂÅ
-1ÂÉ
-1ÂÏ
-1ÂÕ
-1ÂÙ
-1ÂÑ
-1×Á
-1×Å
-1×É
-1×Ï
-1×Õ
-1×Ù
-1×Ñ
-1ÇÁ
-1ÇÅ
-1ÇÉ
-1ÇÏ
-1ÇÕ
-1ÄÁ
-1ÄÅ
-1ÄÉ
-1ÄÏ
-1ÄÕ
-1ÄÙ
-1ÄÀ
-1ÄÑ
-1ÖÁ
-1ÖÅ
-1ÖÉ
-1ÖÏ
-1ÖÕ
-1ÖÙ
-1ÚÁ
-1ÚÅ
-1ÚÉ
-1ÚÏ
-1ÚÕ
-1ÚÙ
-1ÚÑ
-1ËÁ
-1ËÅ
-1ËÉ
-1ËÏ
-1ËÕ
-1ÌÁ
-1ÌÅ
-1ÌÉ
-1ÌÏ
-1ÌÕ
-1ÌÙ
-1ÌÀ
-1ÌÑ
-1ÍÁ
-1ÍÅ
-1ÍÉ
-1ÍÏ
-1ÍÕ
-1ÍÙ
-1ÍÑ
-1ÎÁ
-1ÎÅ
-1ÎÉ
-1ÎÏ
-1ÎÕ
-1ÎÙ
-1ÎÀ
-1ÎÑ
-1ÐÁ
-1ÐÅ
-1ÐÉ
-1ÐÏ
-1ÐÕ
-1ÐÙ
-1ÐÑ
-1ÒÁ
-1ÒÅ
-1ÒÉ
-1ÒÏ
-1ÒÕ
-1ÒÙ
-1ÒÀ
-1ÒÑ
-1ÓÁ
-1ÓÅ
-1ÓÉ
-1ÓÏ
-1ÓÕ
-1ÓÙ
-1ÓÑ
-1ÔÁ
-1ÔÅ
-1ÔÉ
-1ÔÏ
-1ÔÕ
-1ÔÙ
-1ÔÀ
-1ÔÑ
-1ÆÁ
-1ÆÅ
-1ÆÉ
-1ÆÏ
-1ÆÕ
-1ÆÙ
-1ÈÁ
-1ÈÅ
-1ÈÉ
-1ÈÏ
-1ÈÕ
-1ÃÁ
-1ÃÅ
-1ÃÉ
-1ÃÏ
-1ÃÕ
-1ÃÙ
-1ÞÁ
-1ÞÅ
-1ÞÉ
-1ÞÏ
-1ÞÕ
-1ÛÁ
-1ÛÅ
-1ÛÉ
-1ÛÏ
-1ÛÕ
-1ÝÁ
-1ÝÅ
-1ÝÉ
-1ÝÏ
diff --git a/contrib/groff/tmac/locale/hyphen.us-ru b/contrib/groff/tmac/locale/hyphen.us-ru
deleted file mode 100644
index 3ccef48465fe..000000000000
--- a/contrib/groff/tmac/locale/hyphen.us-ru
+++ /dev/null
@@ -1,4833 +0,0 @@
-% Hyphenation patterns for US English and Russian (koi8-r).
-% These are the standard Plain TeX hyphenation patterns (in hyphen.tex).
-.ach4
-.ad4der
-.af1t
-.al3t
-.am5at
-.an5c
-.ang4
-.ani5m
-.ant4
-.an3te
-.anti5s
-.ar5s
-.ar4tie
-.ar4ty
-.as3c
-.as1p
-.as1s
-.aster5
-.atom5
-.au1d
-.av4i
-.awn4
-.ba4g
-.ba5na
-.bas4e
-.ber4
-.be5ra
-.be3sm
-.be5sto
-.bri2
-.but4ti
-.cam4pe
-.can5c
-.capa5b
-.car5ol
-.ca4t
-.ce4la
-.ch4
-.chill5i
-.ci2
-.cit5r
-.co3e
-.co4r
-.cor5ner
-.de4moi
-.de3o
-.de3ra
-.de3ri
-.des4c
-.dictio5
-.do4t
-.du4c
-.dumb5
-.earth5
-.eas3i
-.eb4
-.eer4
-.eg2
-.el5d
-.el3em
-.enam3
-.en3g
-.en3s
-.eq5ui5t
-.er4ri
-.es3
-.eu3
-.eye5
-.fes3
-.for5mer
-.ga2
-.ge2
-.gen3t4
-.ge5og
-.gi5a
-.gi4b
-.go4r
-.hand5i
-.han5k
-.he2
-.hero5i
-.hes3
-.het3
-.hi3b
-.hi3er
-.hon5ey
-.hon3o
-.hov5
-.id4l
-.idol3
-.im3m
-.im5pin
-.in1
-.in3ci
-.ine2
-.in2k
-.in3s
-.ir5r
-.is4i
-.ju3r
-.la4cy
-.la4m
-.lat5er
-.lath5
-.le2
-.leg5e
-.len4
-.lep5
-.lev1
-.li4g
-.lig5a
-.li2n
-.li3o
-.li4t
-.mag5a5
-.mal5o
-.man5a
-.mar5ti
-.me2
-.mer3c
-.me5ter
-.mis1
-.mist5i
-.mon3e
-.mo3ro
-.mu5ta
-.muta5b
-.ni4c
-.od2
-.odd5
-.of5te
-.or5ato
-.or3c
-.or1d
-.or3t
-.os3
-.os4tl
-.oth3
-.out3
-.ped5al
-.pe5te
-.pe5tit
-.pi4e
-.pio5n
-.pi2t
-.pre3m
-.ra4c
-.ran4t
-.ratio5na
-.ree2
-.re5mit
-.res2
-.re5stat
-.ri4g
-.rit5u
-.ro4q
-.ros5t
-.row5d
-.ru4d
-.sci3e
-.self5
-.sell5
-.se2n
-.se5rie
-.sh2
-.si2
-.sing4
-.st4
-.sta5bl
-.sy2
-.ta4
-.te4
-.ten5an
-.th2
-.ti2
-.til4
-.tim5o5
-.ting4
-.tin5k
-.ton4a
-.to4p
-.top5i
-.tou5s
-.trib5ut
-.un1a
-.un3ce
-.under5
-.un1e
-.un5k
-.un5o
-.un3u
-.up3
-.ure3
-.us5a
-.ven4de
-.ve5ra
-.wil5i
-.ye4
-4ab.
-a5bal
-a5ban
-abe2
-ab5erd
-abi5a
-ab5it5ab
-ab5lat
-ab5o5liz
-4abr
-ab5rog
-ab3ul
-a4car
-ac5ard
-ac5aro
-a5ceou
-ac1er
-a5chet
-4a2ci
-a3cie
-ac1in
-a3cio
-ac5rob
-act5if
-ac3ul
-ac4um
-a2d
-ad4din
-ad5er.
-2adi
-a3dia
-ad3ica
-adi4er
-a3dio
-a3dit
-a5diu
-ad4le
-ad3ow
-ad5ran
-ad4su
-4adu
-a3duc
-ad5um
-ae4r
-aeri4e
-a2f
-aff4
-a4gab
-aga4n
-ag5ell
-age4o
-4ageu
-ag1i
-4ag4l
-ag1n
-a2go
-3agog
-ag3oni
-a5guer
-ag5ul
-a4gy
-a3ha
-a3he
-ah4l
-a3ho
-ai2
-a5ia
-a3ic.
-ai5ly
-a4i4n
-ain5in
-ain5o
-ait5en
-a1j
-ak1en
-al5ab
-al3ad
-a4lar
-4aldi
-2ale
-al3end
-a4lenti
-a5le5o
-al1i
-al4ia.
-ali4e
-al5lev
-4allic
-4alm
-a5log.
-a4ly.
-4alys
-5a5lyst
-5alyt
-3alyz
-4ama
-am5ab
-am3ag
-ama5ra
-am5asc
-a4matis
-a4m5ato
-am5era
-am3ic
-am5if
-am5ily
-am1in
-ami4no
-a2mo
-a5mon
-amor5i
-amp5en
-a2n
-an3age
-3analy
-a3nar
-an3arc
-anar4i
-a3nati
-4and
-ande4s
-an3dis
-an1dl
-an4dow
-a5nee
-a3nen
-an5est.
-a3neu
-2ang
-ang5ie
-an1gl
-a4n1ic
-a3nies
-an3i3f
-an4ime
-a5nimi
-a5nine
-an3io
-a3nip
-an3ish
-an3it
-a3niu
-an4kli
-5anniz
-ano4
-an5ot
-anoth5
-an2sa
-an4sco
-an4sn
-an2sp
-ans3po
-an4st
-an4sur
-antal4
-an4tie
-4anto
-an2tr
-an4tw
-an3ua
-an3ul
-a5nur
-4ao
-apar4
-ap5at
-ap5ero
-a3pher
-4aphi
-a4pilla
-ap5illar
-ap3in
-ap3ita
-a3pitu
-a2pl
-apoc5
-ap5ola
-apor5i
-apos3t
-aps5es
-a3pu
-aque5
-2a2r
-ar3act
-a5rade
-ar5adis
-ar3al
-a5ramete
-aran4g
-ara3p
-ar4at
-a5ratio
-ar5ativ
-a5rau
-ar5av4
-araw4
-arbal4
-ar4chan
-ar5dine
-ar4dr
-ar5eas
-a3ree
-ar3ent
-a5ress
-ar4fi
-ar4fl
-ar1i
-ar5ial
-ar3ian
-a3riet
-ar4im
-ar5inat
-ar3io
-ar2iz
-ar2mi
-ar5o5d
-a5roni
-a3roo
-ar2p
-ar3q
-arre4
-ar4sa
-ar2sh
-4as.
-as4ab
-as3ant
-ashi4
-a5sia.
-a3sib
-a3sic
-5a5si4t
-ask3i
-as4l
-a4soc
-as5ph
-as4sh
-as3ten
-as1tr
-asur5a
-a2ta
-at3abl
-at5ac
-at3alo
-at5ap
-ate5c
-at5ech
-at3ego
-at3en.
-at3era
-ater5n
-a5terna
-at3est
-at5ev
-4ath
-ath5em
-a5then
-at4ho
-ath5om
-4ati.
-a5tia
-at5i5b
-at1ic
-at3if
-ation5ar
-at3itu
-a4tog
-a2tom
-at5omiz
-a4top
-a4tos
-a1tr
-at5rop
-at4sk
-at4tag
-at5te
-at4th
-a2tu
-at5ua
-at5ue
-at3ul
-at3ura
-a2ty
-au4b
-augh3
-au3gu
-au4l2
-aun5d
-au3r
-au5sib
-aut5en
-au1th
-a2va
-av3ag
-a5van
-ave4no
-av3era
-av5ern
-av5ery
-av1i
-avi4er
-av3ig
-av5oc
-a1vor
-3away
-aw3i
-aw4ly
-aws4
-ax4ic
-ax4id
-ay5al
-aye4
-ays4
-azi4er
-azz5i
-5ba.
-bad5ger
-ba4ge
-bal1a
-ban5dag
-ban4e
-ban3i
-barbi5
-bari4a
-bas4si
-1bat
-ba4z
-2b1b
-b2be
-b3ber
-bbi4na
-4b1d
-4be.
-beak4
-beat3
-4be2d
-be3da
-be3de
-be3di
-be3gi
-be5gu
-1bel
-be1li
-be3lo
-4be5m
-be5nig
-be5nu
-4bes4
-be3sp
-be5str
-3bet
-bet5iz
-be5tr
-be3tw
-be3w
-be5yo
-2bf
-4b3h
-bi2b
-bi4d
-3bie
-bi5en
-bi4er
-2b3if
-1bil
-bi3liz
-bina5r4
-bin4d
-bi5net
-bi3ogr
-bi5ou
-bi2t
-3bi3tio
-bi3tr
-3bit5ua
-b5itz
-b1j
-bk4
-b2l2
-blath5
-b4le.
-blen4
-5blesp
-b3lis
-b4lo
-blun4t
-4b1m
-4b3n
-bne5g
-3bod
-bod3i
-bo4e
-bol3ic
-bom4bi
-bon4a
-bon5at
-3boo
-5bor.
-4b1ora
-bor5d
-5bore
-5bori
-5bos4
-b5ota
-both5
-bo4to
-bound3
-4bp
-4brit
-broth3
-2b5s2
-bsor4
-2bt
-bt4l
-b4to
-b3tr
-buf4fer
-bu4ga
-bu3li
-bumi4
-bu4n
-bunt4i
-bu3re
-bus5ie
-buss4e
-5bust
-4buta
-3butio
-b5uto
-b1v
-4b5w
-5by.
-bys4
-1ca
-cab3in
-ca1bl
-cach4
-ca5den
-4cag4
-2c5ah
-ca3lat
-cal4la
-call5in
-4calo
-can5d
-can4e
-can4ic
-can5is
-can3iz
-can4ty
-cany4
-ca5per
-car5om
-cast5er
-cas5tig
-4casy
-ca4th
-4cativ
-cav5al
-c3c
-ccha5
-cci4a
-ccompa5
-ccon4
-ccou3t
-2ce.
-4ced.
-4ceden
-3cei
-5cel.
-3cell
-1cen
-3cenc
-2cen4e
-4ceni
-3cent
-3cep
-ce5ram
-4cesa
-3cessi
-ces5si5b
-ces5t
-cet4
-c5e4ta
-cew4
-2ch
-4ch.
-4ch3ab
-5chanic
-ch5a5nis
-che2
-cheap3
-4ched
-che5lo
-3chemi
-ch5ene
-ch3er.
-ch3ers
-4ch1in
-5chine.
-ch5iness
-5chini
-5chio
-3chit
-chi2z
-3cho2
-ch4ti
-1ci
-3cia
-ci2a5b
-cia5r
-ci5c
-4cier
-5cific.
-4cii
-ci4la
-3cili
-2cim
-2cin
-c4ina
-3cinat
-cin3em
-c1ing
-c5ing.
-5cino
-cion4
-4cipe
-ci3ph
-4cipic
-4cista
-4cisti
-2c1it
-cit3iz
-5ciz
-ck1
-ck3i
-1c4l4
-4clar
-c5laratio
-5clare
-cle4m
-4clic
-clim4
-cly4
-c5n
-1co
-co5ag
-coe2
-2cog
-co4gr
-coi4
-co3inc
-col5i
-5colo
-col3or
-com5er
-con4a
-c4one
-con3g
-con5t
-co3pa
-cop3ic
-co4pl
-4corb
-coro3n
-cos4e
-cov1
-cove4
-cow5a
-coz5e
-co5zi
-c1q
-cras5t
-5crat.
-5cratic
-cre3at
-5cred
-4c3reta
-cre4v
-cri2
-cri5f
-c4rin
-cris4
-5criti
-cro4pl
-crop5o
-cros4e
-cru4d
-4c3s2
-2c1t
-cta4b
-ct5ang
-c5tant
-c2te
-c3ter
-c4ticu
-ctim3i
-ctu4r
-c4tw
-cud5
-c4uf
-c4ui
-cu5ity
-5culi
-cul4tis
-3cultu
-cu2ma
-c3ume
-cu4mi
-3cun
-cu3pi
-cu5py
-cur5a4b
-cu5ria
-1cus
-cuss4i
-3c4ut
-cu4tie
-4c5utiv
-4cutr
-1cy
-cze4
-1d2a
-5da.
-2d3a4b
-dach4
-4daf
-2dag
-da2m2
-dan3g
-dard5
-dark5
-4dary
-3dat
-4dativ
-4dato
-5dav4
-dav5e
-5day
-d1b
-d5c
-d1d4
-2de.
-deaf5
-deb5it
-de4bon
-decan4
-de4cil
-de5com
-2d1ed
-4dee.
-de5if
-deli4e
-del5i5q
-de5lo
-d4em
-5dem.
-3demic
-dem5ic.
-de5mil
-de4mons
-demor5
-1den
-de4nar
-de3no
-denti5f
-de3nu
-de1p
-de3pa
-depi4
-de2pu
-d3eq
-d4erh
-5derm
-dern5iz
-der5s
-des2
-d2es.
-de1sc
-de2s5o
-des3ti
-de3str
-de4su
-de1t
-de2to
-de1v
-dev3il
-4dey
-4d1f
-d4ga
-d3ge4t
-dg1i
-d2gy
-d1h2
-5di.
-1d4i3a
-dia5b
-di4cam
-d4ice
-3dict
-3did
-5di3en
-d1if
-di3ge
-di4lato
-d1in
-1dina
-3dine.
-5dini
-di5niz
-1dio
-dio5g
-di4pl
-dir2
-di1re
-dirt5i
-dis1
-5disi
-d4is3t
-d2iti
-1di1v
-d1j
-d5k2
-4d5la
-3dle.
-3dled
-3dles.
-4dless
-2d3lo
-4d5lu
-2dly
-d1m
-4d1n4
-1do
-3do.
-do5de
-5doe
-2d5of
-d4og
-do4la
-doli4
-do5lor
-dom5iz
-do3nat
-doni4
-doo3d
-dop4p
-d4or
-3dos
-4d5out
-do4v
-3dox
-d1p
-1dr
-drag5on
-4drai
-dre4
-drea5r
-5dren
-dri4b
-dril4
-dro4p
-4drow
-5drupli
-4dry
-2d1s2
-ds4p
-d4sw
-d4sy
-d2th
-1du
-d1u1a
-du2c
-d1uca
-duc5er
-4duct.
-4ducts
-du5el
-du4g
-d3ule
-dum4be
-du4n
-4dup
-du4pe
-d1v
-d1w
-d2y
-5dyn
-dy4se
-dys5p
-e1a4b
-e3act
-ead1
-ead5ie
-ea4ge
-ea5ger
-ea4l
-eal5er
-eal3ou
-eam3er
-e5and
-ear3a
-ear4c
-ear5es
-ear4ic
-ear4il
-ear5k
-ear2t
-eart3e
-ea5sp
-e3ass
-east3
-ea2t
-eat5en
-eath3i
-e5atif
-e4a3tu
-ea2v
-eav3en
-eav5i
-eav5o
-2e1b
-e4bel.
-e4bels
-e4ben
-e4bit
-e3br
-e4cad
-ecan5c
-ecca5
-e1ce
-ec5essa
-ec2i
-e4cib
-ec5ificat
-ec5ifie
-ec5ify
-ec3im
-eci4t
-e5cite
-e4clam
-e4clus
-e2col
-e4comm
-e4compe
-e4conc
-e2cor
-ec3ora
-eco5ro
-e1cr
-e4crem
-ec4tan
-ec4te
-e1cu
-e4cul
-ec3ula
-2e2da
-4ed3d
-e4d1er
-ede4s
-4edi
-e3dia
-ed3ib
-ed3ica
-ed3im
-ed1it
-edi5z
-4edo
-e4dol
-edon2
-e4dri
-e4dul
-ed5ulo
-ee2c
-eed3i
-ee2f
-eel3i
-ee4ly
-ee2m
-ee4na
-ee4p1
-ee2s4
-eest4
-ee4ty
-e5ex
-e1f
-e4f3ere
-1eff
-e4fic
-5efici
-efil4
-e3fine
-ef5i5nite
-3efit
-efor5es
-e4fuse.
-4egal
-eger4
-eg5ib
-eg4ic
-eg5ing
-e5git5
-eg5n
-e4go.
-e4gos
-eg1ul
-e5gur
-5egy
-e1h4
-eher4
-ei2
-e5ic
-ei5d
-eig2
-ei5gl
-e3imb
-e3inf
-e1ing
-e5inst
-eir4d
-eit3e
-ei3th
-e5ity
-e1j
-e4jud
-ej5udi
-eki4n
-ek4la
-e1la
-e4la.
-e4lac
-elan4d
-el5ativ
-e4law
-elaxa4
-e3lea
-el5ebra
-5elec
-e4led
-el3ega
-e5len
-e4l1er
-e1les
-el2f
-el2i
-e3libe
-e4l5ic.
-el3ica
-e3lier
-el5igib
-e5lim
-e4l3ing
-e3lio
-e2lis
-el5ish
-e3liv3
-4ella
-el4lab
-ello4
-e5loc
-el5og
-el3op.
-el2sh
-el4ta
-e5lud
-el5ug
-e4mac
-e4mag
-e5man
-em5ana
-em5b
-e1me
-e2mel
-e4met
-em3ica
-emi4e
-em5igra
-em1in2
-em5ine
-em3i3ni
-e4mis
-em5ish
-e5miss
-em3iz
-5emniz
-emo4g
-emoni5o
-em3pi
-e4mul
-em5ula
-emu3n
-e3my
-en5amo
-e4nant
-ench4er
-en3dic
-e5nea
-e5nee
-en3em
-en5ero
-en5esi
-en5est
-en3etr
-e3new
-en5ics
-e5nie
-e5nil
-e3nio
-en3ish
-en3it
-e5niu
-5eniz
-4enn
-4eno
-eno4g
-e4nos
-en3ov
-en4sw
-ent5age
-4enthes
-en3ua
-en5uf
-e3ny.
-4en3z
-e5of
-eo2g
-e4oi4
-e3ol
-eop3ar
-e1or
-eo3re
-eo5rol
-eos4
-e4ot
-eo4to
-e5out
-e5ow
-e2pa
-e3pai
-ep5anc
-e5pel
-e3pent
-ep5etitio
-ephe4
-e4pli
-e1po
-e4prec
-ep5reca
-e4pred
-ep3reh
-e3pro
-e4prob
-ep4sh
-ep5ti5b
-e4put
-ep5uta
-e1q
-equi3l
-e4q3ui3s
-er1a
-era4b
-4erand
-er3ar
-4erati.
-2erb
-er4bl
-er3ch
-er4che
-2ere.
-e3real
-ere5co
-ere3in
-er5el.
-er3emo
-er5ena
-er5ence
-4erene
-er3ent
-ere4q
-er5ess
-er3est
-eret4
-er1h
-er1i
-e1ria4
-5erick
-e3rien
-eri4er
-er3ine
-e1rio
-4erit
-er4iu
-eri4v
-e4riva
-er3m4
-er4nis
-4ernit
-5erniz
-er3no
-2ero
-er5ob
-e5roc
-ero4r
-er1ou
-er1s
-er3set
-ert3er
-4ertl
-er3tw
-4eru
-eru4t
-5erwau
-e1s4a
-e4sage.
-e4sages
-es2c
-e2sca
-es5can
-e3scr
-es5cu
-e1s2e
-e2sec
-es5ecr
-es5enc
-e4sert.
-e4serts
-e4serva
-4esh
-e3sha
-esh5en
-e1si
-e2sic
-e2sid
-es5iden
-es5igna
-e2s5im
-es4i4n
-esis4te
-esi4u
-e5skin
-es4mi
-e2sol
-es3olu
-e2son
-es5ona
-e1sp
-es3per
-es5pira
-es4pre
-2ess
-es4si4b
-estan4
-es3tig
-es5tim
-4es2to
-e3ston
-2estr
-e5stro
-estruc5
-e2sur
-es5urr
-es4w
-eta4b
-eten4d
-e3teo
-ethod3
-et1ic
-e5tide
-etin4
-eti4no
-e5tir
-e5titio
-et5itiv
-4etn
-et5ona
-e3tra
-e3tre
-et3ric
-et5rif
-et3rog
-et5ros
-et3ua
-et5ym
-et5z
-4eu
-e5un
-e3up
-eu3ro
-eus4
-eute4
-euti5l
-eu5tr
-eva2p5
-e2vas
-ev5ast
-e5vea
-ev3ell
-evel3o
-e5veng
-even4i
-ev1er
-e5verb
-e1vi
-ev3id
-evi4l
-e4vin
-evi4v
-e5voc
-e5vu
-e1wa
-e4wag
-e5wee
-e3wh
-ewil5
-ew3ing
-e3wit
-1exp
-5eyc
-5eye.
-eys4
-1fa
-fa3bl
-fab3r
-fa4ce
-4fag
-fain4
-fall5e
-4fa4ma
-fam5is
-5far
-far5th
-fa3ta
-fa3the
-4fato
-fault5
-4f5b
-4fd
-4fe.
-feas4
-feath3
-fe4b
-4feca
-5fect
-2fed
-fe3li
-fe4mo
-fen2d
-fend5e
-fer1
-5ferr
-fev4
-4f1f
-f4fes
-f4fie
-f5fin.
-f2f5is
-f4fly
-f2fy
-4fh
-1fi
-fi3a
-2f3ic.
-4f3ical
-f3ican
-4ficate
-f3icen
-fi3cer
-fic4i
-5ficia
-5ficie
-4fics
-fi3cu
-fi5del
-fight5
-fil5i
-fill5in
-4fily
-2fin
-5fina
-fin2d5
-fi2ne
-f1in3g
-fin4n
-fis4ti
-f4l2
-f5less
-flin4
-flo3re
-f2ly5
-4fm
-4fn
-1fo
-5fon
-fon4de
-fon4t
-fo2r
-fo5rat
-for5ay
-fore5t
-for4i
-fort5a
-fos5
-4f5p
-fra4t
-f5rea
-fres5c
-fri2
-fril4
-frol5
-2f3s
-2ft
-f4to
-f2ty
-3fu
-fu5el
-4fug
-fu4min
-fu5ne
-fu3ri
-fusi4
-fus4s
-4futa
-1fy
-1ga
-gaf4
-5gal.
-3gali
-ga3lo
-2gam
-ga5met
-g5amo
-gan5is
-ga3niz
-gani5za
-4gano
-gar5n4
-gass4
-gath3
-4gativ
-4gaz
-g3b
-gd4
-2ge.
-2ged
-geez4
-gel4in
-ge5lis
-ge5liz
-4gely
-1gen
-ge4nat
-ge5niz
-4geno
-4geny
-1geo
-ge3om
-g4ery
-5gesi
-geth5
-4geto
-ge4ty
-ge4v
-4g1g2
-g2ge
-g3ger
-gglu5
-ggo4
-gh3in
-gh5out
-gh4to
-5gi.
-1gi4a
-gia5r
-g1ic
-5gicia
-g4ico
-gien5
-5gies.
-gil4
-g3imen
-3g4in.
-gin5ge
-5g4ins
-5gio
-3gir
-gir4l
-g3isl
-gi4u
-5giv
-3giz
-gl2
-gla4
-glad5i
-5glas
-1gle
-gli4b
-g3lig
-3glo
-glo3r
-g1m
-g4my
-gn4a
-g4na.
-gnet4t
-g1ni
-g2nin
-g4nio
-g1no
-g4non
-1go
-3go.
-gob5
-5goe
-3g4o4g
-go3is
-gon2
-4g3o3na
-gondo5
-go3ni
-5goo
-go5riz
-gor5ou
-5gos.
-gov1
-g3p
-1gr
-4grada
-g4rai
-gran2
-5graph.
-g5rapher
-5graphic
-4graphy
-4gray
-gre4n
-4gress.
-4grit
-g4ro
-gruf4
-gs2
-g5ste
-gth3
-gu4a
-3guard
-2gue
-5gui5t
-3gun
-3gus
-4gu4t
-g3w
-1gy
-2g5y3n
-gy5ra
-h3ab4l
-hach4
-hae4m
-hae4t
-h5agu
-ha3la
-hala3m
-ha4m
-han4ci
-han4cy
-5hand.
-han4g
-hang5er
-hang5o
-h5a5niz
-han4k
-han4te
-hap3l
-hap5t
-ha3ran
-ha5ras
-har2d
-hard3e
-har4le
-harp5en
-har5ter
-has5s
-haun4
-5haz
-haz3a
-h1b
-1head
-3hear
-he4can
-h5ecat
-h4ed
-he5do5
-he3l4i
-hel4lis
-hel4ly
-h5elo
-hem4p
-he2n
-hena4
-hen5at
-heo5r
-hep5
-h4era
-hera3p
-her4ba
-here5a
-h3ern
-h5erou
-h3ery
-h1es
-he2s5p
-he4t
-het4ed
-heu4
-h1f
-h1h
-hi5an
-hi4co
-high5
-h4il2
-himer4
-h4ina
-hion4e
-hi4p
-hir4l
-hi3ro
-hir4p
-hir4r
-his3el
-his4s
-hith5er
-hi2v
-4hk
-4h1l4
-hlan4
-h2lo
-hlo3ri
-4h1m
-hmet4
-2h1n
-h5odiz
-h5ods
-ho4g
-hoge4
-hol5ar
-3hol4e
-ho4ma
-home3
-hon4a
-ho5ny
-3hood
-hoon4
-hor5at
-ho5ris
-hort3e
-ho5ru
-hos4e
-ho5sen
-hos1p
-1hous
-house3
-hov5el
-4h5p
-4hr4
-hree5
-hro5niz
-hro3po
-4h1s2
-h4sh
-h4tar
-ht1en
-ht5es
-h4ty
-hu4g
-hu4min
-hun5ke
-hun4t
-hus3t4
-hu4t
-h1w
-h4wart
-hy3pe
-hy3ph
-hy2s
-2i1a
-i2al
-iam4
-iam5ete
-i2an
-4ianc
-ian3i
-4ian4t
-ia5pe
-iass4
-i4ativ
-ia4tric
-i4atu
-ibe4
-ib3era
-ib5ert
-ib5ia
-ib3in
-ib5it.
-ib5ite
-i1bl
-ib3li
-i5bo
-i1br
-i2b5ri
-i5bun
-4icam
-5icap
-4icar
-i4car.
-i4cara
-icas5
-i4cay
-iccu4
-4iceo
-4ich
-2ici
-i5cid
-ic5ina
-i2cip
-ic3ipa
-i4cly
-i2c5oc
-4i1cr
-5icra
-i4cry
-ic4te
-ictu2
-ic4t3ua
-ic3ula
-ic4um
-ic5uo
-i3cur
-2id
-i4dai
-id5anc
-id5d
-ide3al
-ide4s
-i2di
-id5ian
-idi4ar
-i5die
-id3io
-idi5ou
-id1it
-id5iu
-i3dle
-i4dom
-id3ow
-i4dr
-i2du
-id5uo
-2ie4
-ied4e
-5ie5ga
-ield3
-ien5a4
-ien4e
-i5enn
-i3enti
-i1er.
-i3esc
-i1est
-i3et
-4if.
-if5ero
-iff5en
-if4fr
-4ific.
-i3fie
-i3fl
-4ift
-2ig
-iga5b
-ig3era
-ight3i
-4igi
-i3gib
-ig3il
-ig3in
-ig3it
-i4g4l
-i2go
-ig3or
-ig5ot
-i5gre
-igu5i
-ig1ur
-i3h
-4i5i4
-i3j
-4ik
-i1la
-il3a4b
-i4lade
-i2l5am
-ila5ra
-i3leg
-il1er
-ilev4
-il5f
-il1i
-il3ia
-il2ib
-il3io
-il4ist
-2ilit
-il2iz
-ill5ab
-4iln
-il3oq
-il4ty
-il5ur
-il3v
-i4mag
-im3age
-ima5ry
-imenta5r
-4imet
-im1i
-im5ida
-imi5le
-i5mini
-4imit
-im4ni
-i3mon
-i2mu
-im3ula
-2in.
-i4n3au
-4inav
-incel4
-in3cer
-4ind
-in5dling
-2ine
-i3nee
-iner4ar
-i5ness
-4inga
-4inge
-in5gen
-4ingi
-in5gling
-4ingo
-4ingu
-2ini
-i5ni.
-i4nia
-in3io
-in1is
-i5nite.
-5initio
-in3ity
-4ink
-4inl
-2inn
-2i1no
-i4no4c
-ino4s
-i4not
-2ins
-in3se
-insur5a
-2int.
-2in4th
-in1u
-i5nus
-4iny
-2io
-4io.
-ioge4
-io2gr
-i1ol
-io4m
-ion3at
-ion4ery
-ion3i
-io5ph
-ior3i
-i4os
-io5th
-i5oti
-io4to
-i4our
-2ip
-ipe4
-iphras4
-ip3i
-ip4ic
-ip4re4
-ip3ul
-i3qua
-iq5uef
-iq3uid
-iq3ui3t
-4ir
-i1ra
-ira4b
-i4rac
-ird5e
-ire4de
-i4ref
-i4rel4
-i4res
-ir5gi
-ir1i
-iri5de
-ir4is
-iri3tu
-5i5r2iz
-ir4min
-iro4g
-5iron.
-ir5ul
-2is.
-is5ag
-is3ar
-isas5
-2is1c
-is3ch
-4ise
-is3er
-3isf
-is5han
-is3hon
-ish5op
-is3ib
-isi4d
-i5sis
-is5itiv
-4is4k
-islan4
-4isms
-i2so
-iso5mer
-is1p
-is2pi
-is4py
-4is1s
-is4sal
-issen4
-is4ses
-is4ta.
-is1te
-is1ti
-ist4ly
-4istral
-i2su
-is5us
-4ita.
-ita4bi
-i4tag
-4ita5m
-i3tan
-i3tat
-2ite
-it3era
-i5teri
-it4es
-2ith
-i1ti
-4itia
-4i2tic
-it3ica
-5i5tick
-it3ig
-it5ill
-i2tim
-2itio
-4itis
-i4tism
-i2t5o5m
-4iton
-i4tram
-it5ry
-4itt
-it3uat
-i5tud
-it3ul
-4itz.
-i1u
-2iv
-iv3ell
-iv3en.
-i4v3er.
-i4vers.
-iv5il.
-iv5io
-iv1it
-i5vore
-iv3o3ro
-i4v3ot
-4i5w
-ix4o
-4iy
-4izar
-izi4
-5izont
-5ja
-jac4q
-ja4p
-1je
-jer5s
-4jestie
-4jesty
-jew3
-jo4p
-5judg
-3ka.
-k3ab
-k5ag
-kais4
-kal4
-k1b
-k2ed
-1kee
-ke4g
-ke5li
-k3en4d
-k1er
-kes4
-k3est.
-ke4ty
-k3f
-kh4
-k1i
-5ki.
-5k2ic
-k4ill
-kilo5
-k4im
-k4in.
-kin4de
-k5iness
-kin4g
-ki4p
-kis4
-k5ish
-kk4
-k1l
-4kley
-4kly
-k1m
-k5nes
-1k2no
-ko5r
-kosh4
-k3ou
-kro5n
-4k1s2
-k4sc
-ks4l
-k4sy
-k5t
-k1w
-lab3ic
-l4abo
-laci4
-l4ade
-la3dy
-lag4n
-lam3o
-3land
-lan4dl
-lan5et
-lan4te
-lar4g
-lar3i
-las4e
-la5tan
-4lateli
-4lativ
-4lav
-la4v4a
-2l1b
-lbin4
-4l1c2
-lce4
-l3ci
-2ld
-l2de
-ld4ere
-ld4eri
-ldi4
-ld5is
-l3dr
-l4dri
-le2a
-le4bi
-left5
-5leg.
-5legg
-le4mat
-lem5atic
-4len.
-3lenc
-5lene.
-1lent
-le3ph
-le4pr
-lera5b
-ler4e
-3lerg
-3l4eri
-l4ero
-les2
-le5sco
-5lesq
-3less
-5less.
-l3eva
-lev4er.
-lev4era
-lev4ers
-3ley
-4leye
-2lf
-l5fr
-4l1g4
-l5ga
-lgar3
-l4ges
-lgo3
-2l3h
-li4ag
-li2am
-liar5iz
-li4as
-li4ato
-li5bi
-5licio
-li4cor
-4lics
-4lict.
-l4icu
-l3icy
-l3ida
-lid5er
-3lidi
-lif3er
-l4iff
-li4fl
-5ligate
-3ligh
-li4gra
-3lik
-4l4i4l
-lim4bl
-lim3i
-li4mo
-l4im4p
-l4ina
-1l4ine
-lin3ea
-lin3i
-link5er
-li5og
-4l4iq
-lis4p
-l1it
-l2it.
-5litica
-l5i5tics
-liv3er
-l1iz
-4lj
-lka3
-l3kal
-lka4t
-l1l
-l4law
-l2le
-l5lea
-l3lec
-l3leg
-l3lel
-l3le4n
-l3le4t
-ll2i
-l2lin4
-l5lina
-ll4o
-lloqui5
-ll5out
-l5low
-2lm
-l5met
-lm3ing
-l4mod
-lmon4
-2l1n2
-3lo.
-lob5al
-lo4ci
-4lof
-3logic
-l5ogo
-3logu
-lom3er
-5long
-lon4i
-l3o3niz
-lood5
-5lope.
-lop3i
-l3opm
-lora4
-lo4rato
-lo5rie
-lor5ou
-5los.
-los5et
-5losophiz
-5losophy
-los4t
-lo4ta
-loun5d
-2lout
-4lov
-2lp
-lpa5b
-l3pha
-l5phi
-lp5ing
-l3pit
-l4pl
-l5pr
-4l1r
-2l1s2
-l4sc
-l2se
-l4sie
-4lt
-lt5ag
-ltane5
-l1te
-lten4
-ltera4
-lth3i
-l5ties.
-ltis4
-l1tr
-ltu2
-ltur3a
-lu5a
-lu3br
-luch4
-lu3ci
-lu3en
-luf4
-lu5id
-lu4ma
-5lumi
-l5umn.
-5lumnia
-lu3o
-luo3r
-4lup
-luss4
-lus3te
-1lut
-l5ven
-l5vet4
-2l1w
-1ly
-4lya
-4lyb
-ly5me
-ly3no
-2lys4
-l5yse
-1ma
-2mab
-ma2ca
-ma5chine
-ma4cl
-mag5in
-5magn
-2mah
-maid5
-4mald
-ma3lig
-ma5lin
-mal4li
-mal4ty
-5mania
-man5is
-man3iz
-4map
-ma5rine.
-ma5riz
-mar4ly
-mar3v
-ma5sce
-mas4e
-mas1t
-5mate
-math3
-ma3tis
-4matiza
-4m1b
-mba4t5
-m5bil
-m4b3ing
-mbi4v
-4m5c
-4me.
-2med
-4med.
-5media
-me3die
-m5e5dy
-me2g
-mel5on
-mel4t
-me2m
-mem1o3
-1men
-men4a
-men5ac
-men4de
-4mene
-men4i
-mens4
-mensu5
-3ment
-men4te
-me5on
-m5ersa
-2mes
-3mesti
-me4ta
-met3al
-me1te
-me5thi
-m4etr
-5metric
-me5trie
-me3try
-me4v
-4m1f
-2mh
-5mi.
-mi3a
-mid4a
-mid4g
-mig4
-3milia
-m5i5lie
-m4ill
-min4a
-3mind
-m5inee
-m4ingl
-min5gli
-m5ingly
-min4t
-m4inu
-miot4
-m2is
-mis4er.
-mis5l
-mis4ti
-m5istry
-4mith
-m2iz
-4mk
-4m1l
-m1m
-mma5ry
-4m1n
-mn4a
-m4nin
-mn4o
-1mo
-4mocr
-5mocratiz
-mo2d1
-mo4go
-mois2
-moi5se
-4mok
-mo5lest
-mo3me
-mon5et
-mon5ge
-moni3a
-mon4ism
-mon4ist
-mo3niz
-monol4
-mo3ny.
-mo2r
-4mora.
-mos2
-mo5sey
-mo3sp
-moth3
-m5ouf
-3mous
-mo2v
-4m1p
-mpara5
-mpa5rab
-mpar5i
-m3pet
-mphas4
-m2pi
-mpi4a
-mp5ies
-m4p1in
-m5pir
-mp5is
-mpo3ri
-mpos5ite
-m4pous
-mpov5
-mp4tr
-m2py
-4m3r
-4m1s2
-m4sh
-m5si
-4mt
-1mu
-mula5r4
-5mult
-multi3
-3mum
-mun2
-4mup
-mu4u
-4mw
-1na
-2n1a2b
-n4abu
-4nac.
-na4ca
-n5act
-nag5er.
-nak4
-na4li
-na5lia
-4nalt
-na5mit
-n2an
-nanci4
-nan4it
-nank4
-nar3c
-4nare
-nar3i
-nar4l
-n5arm
-n4as
-nas4c
-nas5ti
-n2at
-na3tal
-nato5miz
-n2au
-nau3se
-3naut
-nav4e
-4n1b4
-ncar5
-n4ces.
-n3cha
-n5cheo
-n5chil
-n3chis
-nc1in
-nc4it
-ncour5a
-n1cr
-n1cu
-n4dai
-n5dan
-n1de
-nd5est.
-ndi4b
-n5d2if
-n1dit
-n3diz
-n5duc
-ndu4r
-nd2we
-2ne.
-n3ear
-ne2b
-neb3u
-ne2c
-5neck
-2ned
-ne4gat
-neg5ativ
-5nege
-ne4la
-nel5iz
-ne5mi
-ne4mo
-1nen
-4nene
-3neo
-ne4po
-ne2q
-n1er
-nera5b
-n4erar
-n2ere
-n4er5i
-ner4r
-1nes
-2nes.
-4nesp
-2nest
-4nesw
-3netic
-ne4v
-n5eve
-ne4w
-n3f
-n4gab
-n3gel
-nge4n4e
-n5gere
-n3geri
-ng5ha
-n3gib
-ng1in
-n5git
-n4gla
-ngov4
-ng5sh
-n1gu
-n4gum
-n2gy
-4n1h4
-nha4
-nhab3
-nhe4
-3n4ia
-ni3an
-ni4ap
-ni3ba
-ni4bl
-ni4d
-ni5di
-ni4er
-ni2fi
-ni5ficat
-n5igr
-nik4
-n1im
-ni3miz
-n1in
-5nine.
-nin4g
-ni4o
-5nis.
-nis4ta
-n2it
-n4ith
-3nitio
-n3itor
-ni3tr
-n1j
-4nk2
-n5kero
-n3ket
-nk3in
-n1kl
-4n1l
-n5m
-nme4
-nmet4
-4n1n2
-nne4
-nni3al
-nni4v
-nob4l
-no3ble
-n5ocl
-4n3o2d
-3noe
-4nog
-noge4
-nois5i
-no5l4i
-5nologis
-3nomic
-n5o5miz
-no4mo
-no3my
-no4n
-non4ag
-non5i
-n5oniz
-4nop
-5nop5o5li
-nor5ab
-no4rary
-4nosc
-nos4e
-nos5t
-no5ta
-1nou
-3noun
-nov3el3
-nowl3
-n1p4
-npi4
-npre4c
-n1q
-n1r
-nru4
-2n1s2
-ns5ab
-nsati4
-ns4c
-n2se
-n4s3es
-nsid1
-nsig4
-n2sl
-ns3m
-n4soc
-ns4pe
-n5spi
-nsta5bl
-n1t
-nta4b
-nter3s
-nt2i
-n5tib
-nti4er
-nti2f
-n3tine
-n4t3ing
-nti4p
-ntrol5li
-nt4s
-ntu3me
-nu1a
-nu4d
-nu5en
-nuf4fe
-n3uin
-3nu3it
-n4um
-nu1me
-n5umi
-3nu4n
-n3uo
-nu3tr
-n1v2
-n1w4
-nym4
-nyp4
-4nz
-n3za
-4oa
-oad3
-o5a5les
-oard3
-oas4e
-oast5e
-oat5i
-ob3a3b
-o5bar
-obe4l
-o1bi
-o2bin
-ob5ing
-o3br
-ob3ul
-o1ce
-och4
-o3chet
-ocif3
-o4cil
-o4clam
-o4cod
-oc3rac
-oc5ratiz
-ocre3
-5ocrit
-octor5a
-oc3ula
-o5cure
-od5ded
-od3ic
-odi3o
-o2do4
-odor3
-od5uct.
-od5ucts
-o4el
-o5eng
-o3er
-oe4ta
-o3ev
-o2fi
-of5ite
-ofit4t
-o2g5a5r
-og5ativ
-o4gato
-o1ge
-o5gene
-o5geo
-o4ger
-o3gie
-1o1gis
-og3it
-o4gl
-o5g2ly
-3ogniz
-o4gro
-ogu5i
-1ogy
-2ogyn
-o1h2
-ohab5
-oi2
-oic3es
-oi3der
-oiff4
-oig4
-oi5let
-o3ing
-oint5er
-o5ism
-oi5son
-oist5en
-oi3ter
-o5j
-2ok
-o3ken
-ok5ie
-o1la
-o4lan
-olass4
-ol2d
-old1e
-ol3er
-o3lesc
-o3let
-ol4fi
-ol2i
-o3lia
-o3lice
-ol5id.
-o3li4f
-o5lil
-ol3ing
-o5lio
-o5lis.
-ol3ish
-o5lite
-o5litio
-o5liv
-olli4e
-ol5ogiz
-olo4r
-ol5pl
-ol2t
-ol3ub
-ol3ume
-ol3un
-o5lus
-ol2v
-o2ly
-om5ah
-oma5l
-om5atiz
-om2be
-om4bl
-o2me
-om3ena
-om5erse
-o4met
-om5etry
-o3mia
-om3ic.
-om3ica
-o5mid
-om1in
-o5mini
-5ommend
-omo4ge
-o4mon
-om3pi
-ompro5
-o2n
-on1a
-on4ac
-o3nan
-on1c
-3oncil
-2ond
-on5do
-o3nen
-on5est
-on4gu
-on1ic
-o3nio
-on1is
-o5niu
-on3key
-on4odi
-on3omy
-on3s
-onspi4
-onspir5a
-onsu4
-onten4
-on3t4i
-ontif5
-on5um
-onva5
-oo2
-ood5e
-ood5i
-oo4k
-oop3i
-o3ord
-oost5
-o2pa
-ope5d
-op1er
-3opera
-4operag
-2oph
-o5phan
-o5pher
-op3ing
-o3pit
-o5pon
-o4posi
-o1pr
-op1u
-opy5
-o1q
-o1ra
-o5ra.
-o4r3ag
-or5aliz
-or5ange
-ore5a
-o5real
-or3ei
-ore5sh
-or5est.
-orew4
-or4gu
-4o5ria
-or3ica
-o5ril
-or1in
-o1rio
-or3ity
-o3riu
-or2mi
-orn2e
-o5rof
-or3oug
-or5pe
-3orrh
-or4se
-ors5en
-orst4
-or3thi
-or3thy
-or4ty
-o5rum
-o1ry
-os3al
-os2c
-os4ce
-o3scop
-4oscopi
-o5scr
-os4i4e
-os5itiv
-os3ito
-os3ity
-osi4u
-os4l
-o2so
-os4pa
-os4po
-os2ta
-o5stati
-os5til
-os5tit
-o4tan
-otele4g
-ot3er.
-ot5ers
-o4tes
-4oth
-oth5esi
-oth3i4
-ot3ic.
-ot5ica
-o3tice
-o3tif
-o3tis
-oto5s
-ou2
-ou3bl
-ouch5i
-ou5et
-ou4l
-ounc5er
-oun2d
-ou5v
-ov4en
-over4ne
-over3s
-ov4ert
-o3vis
-oviti4
-o5v4ol
-ow3der
-ow3el
-ow5est
-ow1i
-own5i
-o4wo
-oy1a
-1pa
-pa4ca
-pa4ce
-pac4t
-p4ad
-5pagan
-p3agat
-p4ai
-pain4
-p4al
-pan4a
-pan3el
-pan4ty
-pa3ny
-pa1p
-pa4pu
-para5bl
-par5age
-par5di
-3pare
-par5el
-p4a4ri
-par4is
-pa2te
-pa5ter
-5pathic
-pa5thy
-pa4tric
-pav4
-3pay
-4p1b
-pd4
-4pe.
-3pe4a
-pear4l
-pe2c
-2p2ed
-3pede
-3pedi
-pedia4
-ped4ic
-p4ee
-pee4d
-pek4
-pe4la
-peli4e
-pe4nan
-p4enc
-pen4th
-pe5on
-p4era.
-pera5bl
-p4erag
-p4eri
-peri5st
-per4mal
-perme5
-p4ern
-per3o
-per3ti
-pe5ru
-per1v
-pe2t
-pe5ten
-pe5tiz
-4pf
-4pg
-4ph.
-phar5i
-phe3no
-ph4er
-ph4es.
-ph1ic
-5phie
-ph5ing
-5phisti
-3phiz
-ph2l
-3phob
-3phone
-5phoni
-pho4r
-4phs
-ph3t
-5phu
-1phy
-pi3a
-pian4
-pi4cie
-pi4cy
-p4id
-p5ida
-pi3de
-5pidi
-3piec
-pi3en
-pi4grap
-pi3lo
-pi2n
-p4in.
-pind4
-p4ino
-3pi1o
-pion4
-p3ith
-pi5tha
-pi2tu
-2p3k2
-1p2l2
-3plan
-plas5t
-pli3a
-pli5er
-4plig
-pli4n
-ploi4
-plu4m
-plum4b
-4p1m
-2p3n
-po4c
-5pod.
-po5em
-po3et5
-5po4g
-poin2
-5point
-poly5t
-po4ni
-po4p
-1p4or
-po4ry
-1pos
-pos1s
-p4ot
-po4ta
-5poun
-4p1p
-ppa5ra
-p2pe
-p4ped
-p5pel
-p3pen
-p3per
-p3pet
-ppo5site
-pr2
-pray4e
-5preci
-pre5co
-pre3em
-pref5ac
-pre4la
-pre3r
-p3rese
-3press
-pre5ten
-pre3v
-5pri4e
-prin4t3
-pri4s
-pris3o
-p3roca
-prof5it
-pro3l
-pros3e
-pro1t
-2p1s2
-p2se
-ps4h
-p4sib
-2p1t
-pt5a4b
-p2te
-p2th
-pti3m
-ptu4r
-p4tw
-pub3
-pue4
-puf4
-pul3c
-pu4m
-pu2n
-pur4r
-5pus
-pu2t
-5pute
-put3er
-pu3tr
-put4ted
-put4tin
-p3w
-qu2
-qua5v
-2que.
-3quer
-3quet
-2rab
-ra3bi
-rach4e
-r5acl
-raf5fi
-raf4t
-r2ai
-ra4lo
-ram3et
-r2ami
-rane5o
-ran4ge
-r4ani
-ra5no
-rap3er
-3raphy
-rar5c
-rare4
-rar5ef
-4raril
-r2as
-ration4
-rau4t
-ra5vai
-rav3el
-ra5zie
-r1b
-r4bab
-r4bag
-rbi2
-rbi4f
-r2bin
-r5bine
-rb5ing.
-rb4o
-r1c
-r2ce
-rcen4
-r3cha
-rch4er
-r4ci4b
-rc4it
-rcum3
-r4dal
-rd2i
-rdi4a
-rdi4er
-rdin4
-rd3ing
-2re.
-re1al
-re3an
-re5arr
-5reav
-re4aw
-r5ebrat
-rec5oll
-rec5ompe
-re4cre
-2r2ed
-re1de
-re3dis
-red5it
-re4fac
-re2fe
-re5fer.
-re3fi
-re4fy
-reg3is
-re5it
-re1li
-re5lu
-r4en4ta
-ren4te
-re1o
-re5pin
-re4posi
-re1pu
-r1er4
-r4eri
-rero4
-re5ru
-r4es.
-re4spi
-ress5ib
-res2t
-re5stal
-re3str
-re4ter
-re4ti4z
-re3tri
-reu2
-re5uti
-rev2
-re4val
-rev3el
-r5ev5er.
-re5vers
-re5vert
-re5vil
-rev5olu
-re4wh
-r1f
-rfu4
-r4fy
-rg2
-rg3er
-r3get
-r3gic
-rgi4n
-rg3ing
-r5gis
-r5git
-r1gl
-rgo4n
-r3gu
-rh4
-4rh.
-4rhal
-ri3a
-ria4b
-ri4ag
-r4ib
-rib3a
-ric5as
-r4ice
-4rici
-5ricid
-ri4cie
-r4ico
-rid5er
-ri3enc
-ri3ent
-ri1er
-ri5et
-rig5an
-5rigi
-ril3iz
-5riman
-rim5i
-3rimo
-rim4pe
-r2ina
-5rina.
-rin4d
-rin4e
-rin4g
-ri1o
-5riph
-riph5e
-ri2pl
-rip5lic
-r4iq
-r2is
-r4is.
-ris4c
-r3ish
-ris4p
-ri3ta3b
-r5ited.
-rit5er.
-rit5ers
-rit3ic
-ri2tu
-rit5ur
-riv5el
-riv3et
-riv3i
-r3j
-r3ket
-rk4le
-rk4lin
-r1l
-rle4
-r2led
-r4lig
-r4lis
-rl5ish
-r3lo4
-r1m
-rma5c
-r2me
-r3men
-rm5ers
-rm3ing
-r4ming.
-r4mio
-r3mit
-r4my
-r4nar
-r3nel
-r4ner
-r5net
-r3ney
-r5nic
-r1nis4
-r3nit
-r3niv
-rno4
-r4nou
-r3nu
-rob3l
-r2oc
-ro3cr
-ro4e
-ro1fe
-ro5fil
-rok2
-ro5ker
-5role.
-rom5ete
-rom4i
-rom4p
-ron4al
-ron4e
-ro5n4is
-ron4ta
-1room
-5root
-ro3pel
-rop3ic
-ror3i
-ro5ro
-ros5per
-ros4s
-ro4the
-ro4ty
-ro4va
-rov5el
-rox5
-r1p
-r4pea
-r5pent
-rp5er.
-r3pet
-rp4h4
-rp3ing
-r3po
-r1r4
-rre4c
-rre4f
-r4reo
-rre4st
-rri4o
-rri4v
-rron4
-rros4
-rrys4
-4rs2
-r1sa
-rsa5ti
-rs4c
-r2se
-r3sec
-rse4cr
-rs5er.
-rs3es
-rse5v2
-r1sh
-r5sha
-r1si
-r4si4b
-rson3
-r1sp
-r5sw
-rtach4
-r4tag
-r3teb
-rten4d
-rte5o
-r1ti
-rt5ib
-rti4d
-r4tier
-r3tig
-rtil3i
-rtil4l
-r4tily
-r4tist
-r4tiv
-r3tri
-rtroph4
-rt4sh
-ru3a
-ru3e4l
-ru3en
-ru4gl
-ru3in
-rum3pl
-ru2n
-runk5
-run4ty
-r5usc
-ruti5n
-rv4e
-rvel4i
-r3ven
-rv5er.
-r5vest
-r3vey
-r3vic
-rvi4v
-r3vo
-r1w
-ry4c
-5rynge
-ry3t
-sa2
-2s1ab
-5sack
-sac3ri
-s3act
-5sai
-salar4
-sal4m
-sa5lo
-sal4t
-3sanc
-san4de
-s1ap
-sa5ta
-5sa3tio
-sat3u
-sau4
-sa5vor
-5saw
-4s5b
-scan4t5
-sca4p
-scav5
-s4ced
-4scei
-s4ces
-sch2
-s4cho
-3s4cie
-5scin4d
-scle5
-s4cli
-scof4
-4scopy
-scour5a
-s1cu
-4s5d
-4se.
-se4a
-seas4
-sea5w
-se2c3o
-3sect
-4s4ed
-se4d4e
-s5edl
-se2g
-seg3r
-5sei
-se1le
-5self
-5selv
-4seme
-se4mol
-sen5at
-4senc
-sen4d
-s5ened
-sen5g
-s5enin
-4sentd
-4sentl
-sep3a3
-4s1er.
-s4erl
-ser4o
-4servo
-s1e4s
-se5sh
-ses5t
-5se5um
-5sev
-sev3en
-sew4i
-5sex
-4s3f
-2s3g
-s2h
-2sh.
-sh1er
-5shev
-sh1in
-sh3io
-3ship
-shiv5
-sho4
-sh5old
-shon3
-shor4
-short5
-4shw
-si1b
-s5icc
-3side.
-5sides
-5sidi
-si5diz
-4signa
-sil4e
-4sily
-2s1in
-s2ina
-5sine.
-s3ing
-1sio
-5sion
-sion5a
-si2r
-sir5a
-1sis
-3sitio
-5siu
-1siv
-5siz
-sk2
-4ske
-s3ket
-sk5ine
-sk5ing
-s1l2
-s3lat
-s2le
-slith5
-2s1m
-s3ma
-small3
-sman3
-smel4
-s5men
-5smith
-smol5d4
-s1n4
-1so
-so4ce
-soft3
-so4lab
-sol3d2
-so3lic
-5solv
-3som
-3s4on.
-sona4
-son4g
-s4op
-5sophic
-s5ophiz
-s5ophy
-sor5c
-sor5d
-4sov
-so5vi
-2spa
-5spai
-spa4n
-spen4d
-2s5peo
-2sper
-s2phe
-3spher
-spho5
-spil4
-sp5ing
-4spio
-s4ply
-s4pon
-spor4
-4spot
-squal4l
-s1r
-2ss
-s1sa
-ssas3
-s2s5c
-s3sel
-s5seng
-s4ses.
-s5set
-s1si
-s4sie
-ssi4er
-ss5ily
-s4sl
-ss4li
-s4sn
-sspend4
-ss2t
-ssur5a
-ss5w
-2st.
-s2tag
-s2tal
-stam4i
-5stand
-s4ta4p
-5stat.
-s4ted
-stern5i
-s5tero
-ste2w
-stew5a
-s3the
-st2i
-s4ti.
-s5tia
-s1tic
-5stick
-s4tie
-s3tif
-st3ing
-5stir
-s1tle
-5stock
-stom3a
-5stone
-s4top
-3store
-st4r
-s4trad
-5stratu
-s4tray
-s4trid
-4stry
-4st3w
-s2ty
-1su
-su1al
-su4b3
-su2g3
-su5is
-suit3
-s4ul
-su2m
-sum3i
-su2n
-su2r
-4sv
-sw2
-4swo
-s4y
-4syc
-3syl
-syn5o
-sy5rin
-1ta
-3ta.
-2tab
-ta5bles
-5taboliz
-4taci
-ta5do
-4taf4
-tai5lo
-ta2l
-ta5la
-tal5en
-tal3i
-4talk
-tal4lis
-ta5log
-ta5mo
-tan4de
-tanta3
-ta5per
-ta5pl
-tar4a
-4tarc
-4tare
-ta3riz
-tas4e
-ta5sy
-4tatic
-ta4tur
-taun4
-tav4
-2taw
-tax4is
-2t1b
-4tc
-t4ch
-tch5et
-4t1d
-4te.
-tead4i
-4teat
-tece4
-5tect
-2t1ed
-te5di
-1tee
-teg4
-te5ger
-te5gi
-3tel.
-teli4
-5tels
-te2ma2
-tem3at
-3tenan
-3tenc
-3tend
-4tenes
-1tent
-ten4tag
-1teo
-te4p
-te5pe
-ter3c
-5ter3d
-1teri
-ter5ies
-ter3is
-teri5za
-5ternit
-ter5v
-4tes.
-4tess
-t3ess.
-teth5e
-3teu
-3tex
-4tey
-2t1f
-4t1g
-2th.
-than4
-th2e
-4thea
-th3eas
-the5at
-the3is
-3thet
-th5ic.
-th5ica
-4thil
-5think
-4thl
-th5ode
-5thodic
-4thoo
-thor5it
-tho5riz
-2ths
-1tia
-ti4ab
-ti4ato
-2ti2b
-4tick
-t4ico
-t4ic1u
-5tidi
-3tien
-tif2
-ti5fy
-2tig
-5tigu
-till5in
-1tim
-4timp
-tim5ul
-2t1in
-t2ina
-3tine.
-3tini
-1tio
-ti5oc
-tion5ee
-5tiq
-ti3sa
-3tise
-tis4m
-ti5so
-tis4p
-5tistica
-ti3tl
-ti4u
-1tiv
-tiv4a
-1tiz
-ti3za
-ti3zen
-2tl
-t5la
-tlan4
-3tle.
-3tled
-3tles.
-t5let.
-t5lo
-4t1m
-tme4
-2t1n2
-1to
-to3b
-to5crat
-4todo
-2tof
-to2gr
-to5ic
-to2ma
-tom4b
-to3my
-ton4ali
-to3nat
-4tono
-4tony
-to2ra
-to3rie
-tor5iz
-tos2
-5tour
-4tout
-to3war
-4t1p
-1tra
-tra3b
-tra5ch
-traci4
-trac4it
-trac4te
-tras4
-tra5ven
-trav5es5
-tre5f
-tre4m
-trem5i
-5tria
-tri5ces
-5tricia
-4trics
-2trim
-tri4v
-tro5mi
-tron5i
-4trony
-tro5phe
-tro3sp
-tro3v
-tru5i
-trus4
-4t1s2
-t4sc
-tsh4
-t4sw
-4t3t2
-t4tes
-t5to
-ttu4
-1tu
-tu1a
-tu3ar
-tu4bi
-tud2
-4tue
-4tuf4
-5tu3i
-3tum
-tu4nis
-2t3up.
-3ture
-5turi
-tur3is
-tur5o
-tu5ry
-3tus
-4tv
-tw4
-4t1wa
-twis4
-4two
-1ty
-4tya
-2tyl
-type3
-ty5ph
-4tz
-tz4e
-4uab
-uac4
-ua5na
-uan4i
-uar5ant
-uar2d
-uar3i
-uar3t
-u1at
-uav4
-ub4e
-u4bel
-u3ber
-u4bero
-u1b4i
-u4b5ing
-u3ble.
-u3ca
-uci4b
-uc4it
-ucle3
-u3cr
-u3cu
-u4cy
-ud5d
-ud3er
-ud5est
-udev4
-u1dic
-ud3ied
-ud3ies
-ud5is
-u5dit
-u4don
-ud4si
-u4du
-u4ene
-uens4
-uen4te
-uer4il
-3ufa
-u3fl
-ugh3en
-ug5in
-2ui2
-uil5iz
-ui4n
-u1ing
-uir4m
-uita4
-uiv3
-uiv4er.
-u5j
-4uk
-u1la
-ula5b
-u5lati
-ulch4
-5ulche
-ul3der
-ul4e
-u1len
-ul4gi
-ul2i
-u5lia
-ul3ing
-ul5ish
-ul4lar
-ul4li4b
-ul4lis
-4ul3m
-u1l4o
-4uls
-uls5es
-ul1ti
-ultra3
-4ultu
-u3lu
-ul5ul
-ul5v
-um5ab
-um4bi
-um4bly
-u1mi
-u4m3ing
-umor5o
-um2p
-unat4
-u2ne
-un4er
-u1ni
-un4im
-u2nin
-un5ish
-uni3v
-un3s4
-un4sw
-unt3ab
-un4ter.
-un4tes
-unu4
-un5y
-un5z
-u4ors
-u5os
-u1ou
-u1pe
-uper5s
-u5pia
-up3ing
-u3pl
-up3p
-upport5
-upt5ib
-uptu4
-u1ra
-4ura.
-u4rag
-u4ras
-ur4be
-urc4
-ur1d
-ure5at
-ur4fer
-ur4fr
-u3rif
-uri4fic
-ur1in
-u3rio
-u1rit
-ur3iz
-ur2l
-url5ing.
-ur4no
-uros4
-ur4pe
-ur4pi
-urs5er
-ur5tes
-ur3the
-urti4
-ur4tie
-u3ru
-2us
-u5sad
-u5san
-us4ap
-usc2
-us3ci
-use5a
-u5sia
-u3sic
-us4lin
-us1p
-us5sl
-us5tere
-us1tr
-u2su
-usur4
-uta4b
-u3tat
-4ute.
-4utel
-4uten
-uten4i
-4u1t2i
-uti5liz
-u3tine
-ut3ing
-ution5a
-u4tis
-5u5tiz
-u4t1l
-ut5of
-uto5g
-uto5matic
-u5ton
-u4tou
-uts4
-u3u
-uu4m
-u1v2
-uxu3
-uz4e
-1va
-5va.
-2v1a4b
-vac5il
-vac3u
-vag4
-va4ge
-va5lie
-val5o
-val1u
-va5mo
-va5niz
-va5pi
-var5ied
-3vat
-4ve.
-4ved
-veg3
-v3el.
-vel3li
-ve4lo
-v4ely
-ven3om
-v5enue
-v4erd
-5vere.
-v4erel
-v3eren
-ver5enc
-v4eres
-ver3ie
-vermi4n
-3verse
-ver3th
-v4e2s
-4ves.
-ves4te
-ve4te
-vet3er
-ve4ty
-vi5ali
-5vian
-5vide.
-5vided
-4v3iden
-5vides
-5vidi
-v3if
-vi5gn
-vik4
-2vil
-5vilit
-v3i3liz
-v1in
-4vi4na
-v2inc
-vin5d
-4ving
-vio3l
-v3io4r
-vi1ou
-vi4p
-vi5ro
-vis3it
-vi3so
-vi3su
-4viti
-vit3r
-4vity
-3viv
-5vo.
-voi4
-3vok
-vo4la
-v5ole
-5volt
-3volv
-vom5i
-vor5ab
-vori4
-vo4ry
-vo4ta
-4votee
-4vv4
-v4y
-w5abl
-2wac
-wa5ger
-wag5o
-wait5
-w5al.
-wam4
-war4t
-was4t
-wa1te
-wa5ver
-w1b
-wea5rie
-weath3
-wed4n
-weet3
-wee5v
-wel4l
-w1er
-west3
-w3ev
-whi4
-wi2
-wil2
-will5in
-win4de
-win4g
-wir4
-3wise
-with3
-wiz5
-w4k
-wl4es
-wl3in
-w4no
-1wo2
-wom1
-wo5ven
-w5p
-wra4
-wri4
-writa4
-w3sh
-ws4l
-ws4pe
-w5s4t
-4wt
-wy4
-x1a
-xac5e
-x4ago
-xam3
-x4ap
-xas5
-x3c2
-x1e
-xe4cuto
-x2ed
-xer4i
-xe5ro
-x1h
-xhi2
-xhil5
-xhu4
-x3i
-xi5a
-xi5c
-xi5di
-x4ime
-xi5miz
-x3o
-x4ob
-x3p
-xpan4d
-xpecto5
-xpe3d
-x1t2
-x3ti
-x1u
-xu3a
-xx4
-y5ac
-3yar4
-y5at
-y1b
-y1c
-y2ce
-yc5er
-y3ch
-ych4e
-ycom4
-ycot4
-y1d
-y5ee
-y1er
-y4erf
-yes4
-ye4t
-y5gi
-4y3h
-y1i
-y3la
-ylla5bl
-y3lo
-y5lu
-ymbol5
-yme4
-ympa3
-yn3chr
-yn5d
-yn5g
-yn5ic
-5ynx
-y1o4
-yo5d
-y4o5g
-yom4
-yo5net
-y4ons
-y4os
-y4ped
-yper5
-yp3i
-y3po
-y4poc
-yp2ta
-y5pu
-yra5m
-yr5ia
-y3ro
-yr4r
-ys4c
-y3s2e
-ys3ica
-ys3io
-3ysis
-y4so
-yss4
-ys1t
-ys3ta
-ysur4
-y3thin
-yt3ic
-y1w
-za1
-z5a2b
-zar2
-4zb
-2ze
-ze4n
-ze4p
-z1er
-ze3ro
-zet4
-2z1i
-z4il
-z4is
-5zl
-4zm
-1zo
-zo4m
-zo5ol
-zte4
-4z1z2
-z4zy
-Á1Á
-Á1Å
-Á1É
-Á1Ï
-Á1Õ
-Á1Ù
-Á1Ü
-Á1À
-Á1Ñ
-Å1Á
-Å1Å
-Å1É
-Å1Ï
-Å1Õ
-Å1Ù
-Å1Ü
-Å1À
-Å1Ñ
-É1Á
-É1Å
-É1É
-É1Ï
-É1Õ
-É1Ù
-É1Ü
-É1À
-É1Ñ
-Ï1Á
-Ï1Å
-Ï1É
-Ï1Ï
-Ï1Õ
-Ï1Ù
-Ï1Ü
-Ï1À
-Ï1Ñ
-Õ1Á
-Õ1Å
-Õ1É
-Õ1Ï
-Õ1Õ
-Õ1Ù
-Õ1Ü
-Õ1À
-Õ1Ñ
-Ù1Á
-Ù1Å
-Ù1É
-Ù1Ï
-Ù1Õ
-Ù1Ù
-Ù1Ü
-Ù1À
-Ù1Ñ
-Ü1Á
-Ü1Å
-Ü1É
-Ü1Ï
-Ü1Õ
-Ü1Ù
-Ü1Ü
-Ü1À
-Ü1Ñ
-À1Á
-À1Å
-À1É
-À1Ï
-À1Õ
-À1Ù
-À1Ü
-À1À
-À1Ñ
-Ñ1Á
-Ñ1Å
-Ñ1É
-Ñ1Ï
-Ñ1Õ
-Ñ1Ù
-Ñ1Ü
-Ñ1À
-Ñ1Ñ
-.ÂÄ2
-.ÂÌ2
-.ÂÒ2
-.ÂØ2
-.×Â2
-.×ÂÌ2
-.×ÂÒ2
-.××2
-.××Ò2
-.×ÇÌ2
-.×Ä2
-.×Ä×2
-.×ÄÒ2
-.×Ú2
-.×ÚÂ2
-.×Ú×2
-.×ÚÇ2
-.×ÚÇÌ2
-.×ÚÇÒ2
-.×ÚÄ2
-.×ÚÄÒ2
-.×ÚÌ2
-.×ÚÍ2
-.×ÚÒ2
-.×Úß2
-.×Ë2
-.×ËÌ2
-.×ËÒ2
-.×Ì2
-.×Í2
-.×Î2
-.×Ð2
-.×ÐÌ2
-.×ÐÒ2
-.×Ò2
-.×Ó2
-.×ÓË2
-.×ÓËÒ2
-.×ÓÌ2
-.×ÓÍ2
-.×ÓÐ2
-.×ÓÐÌ2
-.×ÓÐÒ2
-.×ÓÔ2
-.×ÓÔÒ2
-.×ÓÈ2
-.×ÓÈÌ2
-.×Ô2
-.×ÔÒ2
-.×È2
-.×Ã2
-.×Þ2
-.×Ø2
-.Ç×2
-.ÇÄ2
-.ÇÌ2
-.ÇÎ2
-.ÇÒ2
-.Ä×2
-.ÄÌ2
-.ÄÎ2
-.ÄÒ2
-.ÄØ2
-.Ö×2
-.ÖÇ2
-.ÖÇÌ2
-.ÖÄ2
-.ÖÖ2
-.ÖÒ2
-.Ú×2
-.ÚÄ2
-.ÚÄÒ2
-.ÚÌ2
-.ÚÍ2
-.ÚÎ2
-.ÚÒ2
-.Ë×2
-.ËÌ2
-.ËÎ2
-.ËÒ2
-.ËÓÔ2
-.ËÔ2
-.ÌÂ2
-.ÌÇ2
-.ÌÖ2
-.ÌØ2
-.ÌØ×2
-.ÍÇÌ2
-.ÍÇÎ2
-.ÍÌ2
-.ÍÎ2
-.ÍÒ2
-.ÍÓÔ2
-.ÍÈ2
-.ÍÞ2
-.ÍÝ2
-.ÎÒ2
-.ÐÌ2
-.ÐÎ2
-.ÐÒ2
-.ÐÓ2
-.ÐÔ2
-.ÐÈ2
-.ÐÞ2
-.ÐÛ2
-.ÐØ2
-.Ò×2
-.ÒÖ2
-.ÒÔ2
-.ÓÂ2
-.ÓÂÌ2
-.ÓÂÒ2
-.Ó×2
-.Ó×ÓÔ2
-.ÓÇ2
-.ÓÇÎ2
-.ÓÇÒ2
-.ÓÄ2
-.ÓÄ×2
-.ÓÄÒ2
-.ÓÖ2
-.ÓÚ2
-.ÓË2
-.ÓË×2
-.ÓËÌ2
-.ÓËÒ2
-.ÓÌ2
-.ÓÍ2
-.ÓÎ2
-.ÓÐ2
-.ÓÐÌ2
-.ÓÐÒ2
-.ÓÒ2
-.ÓÓ2
-.ÓÔ2
-.ÓÔ×2
-.ÓÔÌ2
-.ÓÔÒ2
-.ÓÆ2
-.ÓÈ2
-.ÓÈ×2
-.ÓÈÌ2
-.ÓÞ2
-.ÓÛ2
-.Óß2
-.Ô×2
-.ÔË2
-.ÔËÎ2
-.ÔÌ2
-.ÔÒ2
-.ÔÝ2
-.ÔØÍ2
-.ÔØÆ2
-.ÆÌ2
-.ÆÒ2
-.È×2
-.ÈÌ2
-.ÈÍ2
-.ÈÎ2
-.ÈÒ2
-.Ã×2
-.ÞÌ2
-.ÞÒ2
-.ÞÔ2
-.ÞØ2
-.Û×2
-.ÛË2
-.ÛË×2
-.ÛÌ2
-.ÛÎ2
-.ÛÐ2
-.ÛÒ2
-.ÛÔ2
-.ÛÔÒ2
-1ÂÁ
-1ÂÅ
-1ÂÉ
-1ÂÏ
-1ÂÕ
-1ÂÙ
-1ÂÑ
-1×Á
-1×Å
-1×É
-1×Ï
-1×Õ
-1×Ù
-1×Ñ
-1ÇÁ
-1ÇÅ
-1ÇÉ
-1ÇÏ
-1ÇÕ
-1ÄÁ
-1ÄÅ
-1ÄÉ
-1ÄÏ
-1ÄÕ
-1ÄÙ
-1ÄÀ
-1ÄÑ
-1ÖÁ
-1ÖÅ
-1ÖÉ
-1ÖÏ
-1ÖÕ
-1ÖÙ
-1ÚÁ
-1ÚÅ
-1ÚÉ
-1ÚÏ
-1ÚÕ
-1ÚÙ
-1ÚÑ
-1ËÁ
-1ËÅ
-1ËÉ
-1ËÏ
-1ËÕ
-1ÌÁ
-1ÌÅ
-1ÌÉ
-1ÌÏ
-1ÌÕ
-1ÌÙ
-1ÌÀ
-1ÌÑ
-1ÍÁ
-1ÍÅ
-1ÍÉ
-1ÍÏ
-1ÍÕ
-1ÍÙ
-1ÍÑ
-1ÎÁ
-1ÎÅ
-1ÎÉ
-1ÎÏ
-1ÎÕ
-1ÎÙ
-1ÎÀ
-1ÎÑ
-1ÐÁ
-1ÐÅ
-1ÐÉ
-1ÐÏ
-1ÐÕ
-1ÐÙ
-1ÐÑ
-1ÒÁ
-1ÒÅ
-1ÒÉ
-1ÒÏ
-1ÒÕ
-1ÒÙ
-1ÒÀ
-1ÒÑ
-1ÓÁ
-1ÓÅ
-1ÓÉ
-1ÓÏ
-1ÓÕ
-1ÓÙ
-1ÓÑ
-1ÔÁ
-1ÔÅ
-1ÔÉ
-1ÔÏ
-1ÔÕ
-1ÔÙ
-1ÔÀ
-1ÔÑ
-1ÆÁ
-1ÆÅ
-1ÆÉ
-1ÆÏ
-1ÆÕ
-1ÆÙ
-1ÈÁ
-1ÈÅ
-1ÈÉ
-1ÈÏ
-1ÈÕ
-1ÃÁ
-1ÃÅ
-1ÃÉ
-1ÃÏ
-1ÃÕ
-1ÃÙ
-1ÞÁ
-1ÞÅ
-1ÞÉ
-1ÞÏ
-1ÞÕ
-1ÛÁ
-1ÛÅ
-1ÛÉ
-1ÛÏ
-1ÛÕ
-1ÝÁ
-1ÝÅ
-1ÝÉ
-1ÝÏ
diff --git a/contrib/tcpdump/print-token.c b/contrib/tcpdump/print-token.c
deleted file mode 100644
index e1dff5b27e74..000000000000
--- a/contrib/tcpdump/print-token.c
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that: (1) source code distributions
- * retain the above copyright notice and this paragraph in its entirety, (2)
- * distributions including binary code include the above copyright notice and
- * this paragraph in its entirety in the documentation or other materials
- * provided with the distribution, and (3) all advertising materials mentioning
- * features or use of this software display the following acknowledgement:
- * ``This product includes software developed by the University of California,
- * Lawrence Berkeley Laboratory and its contributors.'' Neither the name of
- * the University nor the names of its contributors may be used to endorse
- * or promote products derived from this software without specific prior
- * written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Hacked version of print-ether.c Larry Lile <lile@stdio.com>
- */
-#ifndef lint
-static const char rcsid[] =
- "@(#) $Header$";
-#endif
-
-#include <sys/param.h>
-#include <sys/time.h>
-#include <sys/socket.h>
-
-#if __STDC__
-struct mbuf;
-struct rtentry;
-#endif
-#include <net/if.h>
-
-#include "token.h"
-
-#include <netinet/in.h>
-#include <net/ethernet.h>
-#include <netinet/in_systm.h>
-#include <netinet/ip.h>
-#include <netinet/ip_var.h>
-#include <netinet/udp.h>
-#include <netinet/udp_var.h>
-#include <netinet/tcp.h>
-#include <netinet/tcpip.h>
-
-#include <stdio.h>
-#include <pcap.h>
-
-#include "interface.h"
-#include "addrtoname.h"
-#include "ethertype.h"
-#include "llc.h"
-
-const u_char *packetp;
-const u_char *snapend;
-
-static inline void
-token_print(register const u_char *bp, u_int length)
-{
- register const struct token_header *tp;
- register const struct llc *lp;
- u_short ether_type;
-
- tp = (const struct token_header *)bp;
- lp = (struct llc *)(bp + TOKEN_HDR_LEN);
- if (IS_SOURCE_ROUTED)
- lp = (struct llc *)(bp + TOKEN_HDR_LEN + RIF_LENGTH);
-
- /*
- * Ethertype on ethernet is a short, but ethertype in an llc-snap has
- * been defined as 2 u_chars. This is a stupid little hack to fix
- * this for now but something better should be done using ntohs()
- * XXX
- */
- ether_type = ((u_short)lp->ethertype[1] << 16) | lp->ethertype[0];
-
- if (qflag)
- (void)printf("%s %s %d: ",
- etheraddr_string(ESRC(tp)),
- etheraddr_string(EDST(tp)),
- length);
- else
- (void)printf("%s %s %s %d: ",
- etheraddr_string(ESRC(tp)),
- etheraddr_string(EDST(tp)),
- etherproto_string(ether_type),
- length);
-}
-
-/*
- * This is the top level routine of the printer. 'p' is the points
- * to the ether header of the packet, 'tvp' is the timestamp,
- * 'length' is the length of the packet off the wire, and 'caplen'
- * is the number of bytes actually captured.
- */
-void
-token_if_print(u_char *user, const struct pcap_pkthdr *h, const u_char *p)
-{
- u_int caplen = h->caplen;
- u_int length = h->len;
- struct token_header *tp;
- u_short ether_type;
- extern u_short extracted_ethertype;
- u_int route_len = 0;
- struct llc *lp;
-
- tp = (struct token_header *)p;
-
- ts_print(&h->ts);
-
- if (caplen < TOKEN_HDR_LEN) {
- printf("[|token-ring]");
- goto out;
- }
-
- if (eflag)
- token_print(p, length);
-
- /*
- * Some printers want to get back at the ethernet addresses,
- * and/or check that they're not walking off the end of the packet.
- * Rather than pass them all the way down, we set these globals.
- */
- tp = (struct token_header *)p;
-
- /* Adjust for source routing information in the MAC header */
- if (IS_SOURCE_ROUTED) {
- route_len = RIF_LENGTH;
- }
-
- /* Set pointer to llc header, adjusted for routing information */
- lp = (struct llc *)(p + TOKEN_HDR_LEN + route_len);
-
- packetp = p;
- snapend = p + caplen;
-
- /* Skip over token ring MAC header */
- length -= TOKEN_HDR_LEN + route_len;
- caplen -= TOKEN_HDR_LEN + route_len;
- p += TOKEN_HDR_LEN + route_len;
-
- ether_type = ntohs((int)lp->ethertype);
-
- extracted_ethertype = 0;
- /* Try to print the LLC-layer header & higher layers */
- if (llc_print(p, length, caplen, ESRC(tp), EDST(tp)) == 0) {
- /* ether_type not known, print raw packet */
- if (!eflag)
- token_print((u_char *)tp, length);
- if (extracted_ethertype) {
- printf("(LLC %s) ",
- etherproto_string(htons(extracted_ethertype)));
- }
- if (!xflag && !qflag)
- default_print(p, caplen);
- }
- if (xflag)
- default_print(p, caplen);
- out:
- putchar('\n');
-}
diff --git a/contrib/tcpdump/token.h b/contrib/tcpdump/token.h
deleted file mode 100644
index 6f28a1ed1224..000000000000
--- a/contrib/tcpdump/token.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) 1998, Larry Lile
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice unmodified, this list of conditions, and the following
- * disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- */
-
-#define TOKEN_HDR_LEN 14
-#define IS_SOURCE_ROUTED (tp->ether_shost[0] & 0x80)
-#define RIF_LENGTH ((ntohs(tp->rcf) & 0x1f00) >> 8)
-#define TOKEN_RING_MAC_LEN 6
-#define ROUTING_SEGMENT_MAX 16
-
-struct token_header {
- u_char ac;
- u_char fc;
- u_char ether_dhost[TOKEN_RING_MAC_LEN];
- u_char ether_shost[TOKEN_RING_MAC_LEN];
- u_short rcf;
- u_short rseg[ROUTING_SEGMENT_MAX];
-};
-
diff --git a/etc/dhclient.conf b/etc/dhclient.conf
deleted file mode 100644
index b3608a3af703..000000000000
--- a/etc/dhclient.conf
+++ /dev/null
@@ -1,8 +0,0 @@
-# $Id$
-#
-# This file is required by the ISC DHCP client.
-# See ``man 5 dhclient.conf'' for details.
-#
-# In most cases an empty file is suffient for most people as the
-# defaults are usually fine.
-#
diff --git a/lib/compat/compat22/Makefile b/lib/compat/compat22/Makefile
index 5061805fd6e5..0cd693c132f9 100644
--- a/lib/compat/compat22/Makefile
+++ b/lib/compat/compat22/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.1 1999/05/08 17:53:43 obrien Exp $
+# $Id: Makefile,v 1.3 1999/05/21 18:37:33 obrien Exp $
DISTRIBUTION= compat22
@@ -12,16 +12,18 @@ LIBS= libalias.so.2.4 libc.so.3.1 libc_r.so.3.0 libcalendar.so.2.0 \
libtelnet.so.2.0 libtermcap.so.2.1 libutil.so.2.2 libvgl.so.1.0 \
libxpg4.so.2.0 libz.so.2.0
-CLEANFILES+= ${LIBS}
+CLEANFILES+= ${LIBS} ld.so
-all: ${LIBS}
+all: ${LIBS} ld.so
-.for lib in ${LIBS}
+.for lib in ${LIBS} ld.so
${lib}: ${lib}.gz.uu
uudecode -p ${.CURDIR}/${lib}.gz.uu | gunzip > ${lib}
.endfor
beforeinstall:
+ ${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} ld.so \
+ ${DESTDIR}/usr/libexec
${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} ${LIBS} \
${DESTDIR}${LIBCOMPATDIR}/aout
@${ECHO} "libcrypt.so.2.0 -> libscrypt.so.2.0" ; \
diff --git a/lib/compat/compat22/ld.so.gz.uu b/lib/compat/compat22/ld.so.gz.uu
new file mode 100644
index 000000000000..a689daed330a
--- /dev/null
+++ b/lib/compat/compat22/ld.so.gz.uu
@@ -0,0 +1,702 @@
+begin 555 ld.so.gz
+M'XL("+G*_38"`VQD+G-O`.V]#7Q4Q=4X?/<CR28L[((K!(VZ:E`0A`016`1,
+M`AL^RD*(;()?C8%L()@ODGN30-DD>!/-Y;*Z?8#6MK8/[8,M;:E2$8G*1X(T
+M`8L:@2IHT$AIO>NF&FV$A:[L>\[,W/T(H#Y]GO?__G^_UX7)W/D^<^;,F3,S
+M9V:.<H^W<7T<QUDY;BE'?U8N\G-*?[M/P8\'U[\V!>+)=J/,R8,T[8M#@C$D
+M&'2B'@)#7>(AXX-'7H/8CZ2WR8*^6(X7/XW/R5.:((UXR"#9]85'7J/YR7:#
+M[#2?RTC(X.-DAU&3=.2U687EY16\M=K%6Y=5N0H?K:PH*>>MHT=5C^%84)7K
+MSLJJ"MZU_/(8F&=^7AC*'WZ&4!K$MDMB0%,S0G0;]/Q0^*OA![6&X.?;I^4X
+MK^PPRYD&*%ZG@4\)/BLMZ$J7ZY)U-MNEZIN]7G$FQU\GQY-(.:'T/.5>2"YV
+M&*"NMDM5'T&>NOHA\B8#E`MQY,P420M^VGHC<25+8I<.0DBX.(T3#![Q!'B0
+M2)#0(_;J2$(IT^HW89+%1NHG91EET<AR76R6S$HVU$D2S==RG#*+?%KP,X-\
+M)N/G#/*9`I^>75;XFWY,)M%M)*8P1";1;"0&'_>*!C*7ABO_O(64$5IM7,7A
+MO]`NA%CIAR:5.N3LE%!&,OQMG)NB"0EFC)B.L6@U<I0W,-I!.8M$R\)H6O'0
+M:%*Y%$@F#]?EC).SD^4,@R['P"?F*EL_15K04_O5-`"%XTU*1R*X`B$A3CD*
+MA)>GG$DBL:C7RU:,.HE$M4"5D-;2E$T`_RI.>>13AGBCG&.@@4";&0;`\*NI
+MF,2TI6U4"&R@P^E&0H<TU^76<,)*O2Q:2$(IVR+6ZSE34PLZUUC6?\SUA4*K
+M$E9RD'&^\J]_8`9&S&`$Q9-'O,T<"N6LTB@?0YC7Z_5DFW,(.BW*:?!9%<>2
+MMI&D%DQJ49-FLJ0[_L%`L4C91EH'<2K')W1F&["1E*>361,9E!]"U%:@7<[C
+MZG_P^P5'7ELPNV!);N8L>\&"19FS[;,+%F7-M\]:<E]!3NZB.0LS'7:.NUJ,
+M;,>2="[QSM)1%>-'E5EGS+2.JH2^5#<FZ>M23.021U6P:-@EBRN$\B)N5#4W
+M"OY6TKXM]J9$=<7X7JSJ0]=`597WX5NR]T/+-K<)B9Y=;O"5A'Z/6$^"]Y+@
+M8#CX9R0XZ!%WDN"?D^!`./@-$AP`8H,&FP9(D06#7&.4A+[F<Z:F9/28+`F]
+MZ)N=(M;I.7Z(G*&7<U)D3I<U3F,G(35Z25":SV%^[Y+\%-D=D(6^<]EZC:FI
+M$_`ONX.^`QIL7/'"*%/36]@Z%Q[BL^1-R=@.54LEX6QH_B-K!LM9C]BR*ANN
+M;;R0Q)MEX:P\O.5PBS84[UL/J4/"V<7*7_V$`'V5)#NO:;]).BQ>*.=O;#`W
+M'S$UW0_>OOMHF!C@^;M\V<3!2LI:"L74#9&SEG9P2:&LI;[1$)JS*DG9"-GZ
+MDFDZ%G<^QEUC8"`-D34=7&)(XSO'8:3%JQ*5I9CF+!<#AZGIU^#18!4O%/+5
+M#4/%"YG\(PVW(60'P-^?(@;*^%K_M0!;I:E)!J]U#XN!.E/31NPL5\'&-8B-
+M(5'8\`M>@HMW/X$LB^$;FO\CP+Q_B5?M%\1I]T)8+W-,]4*3F`YD&W(\XEGT
+MN)VZDU3WB)"@L+A&B&L(3?:('Q.JJ?V$X'P.5'(.5*5YRJ50B#2\01(,0"C-
+M'5^%0A[72=*;!HXC\WS0A7.4>SY!9NBIMT*/Q!!93&'L8IR\"3\I30ZB?5>:
+MZ!_F#4>I--!/*4UV6*0A2*W\$!@TE4\A;RE;[S=X.[/U'.7TTD(8-Y*EA<E2
+M?4KG',0HUSDGA0::I47ZSCD&ZF>E5BJU1J.5WB:Z+9QPC>A.YOC!D(UHTPEQ
+MK<A^I#GCI#Z58Y`Z1JI8K-".LS!%7&/D!).\B?#0;."@_D%`3XN-^)UE$.L-
+MG#"85A>8)H1B`/8F<&090S5Z)=6'O/M&'W*GP(/?/_+:<C:D\X6\]991U;=8
+MIUF!5514NLJMQ84EI:XBX!]542$K785%KBH8YPN+!D;@EH%?6>&*DN76<J%L
+M&<0J*:<!966%E5?.KDR5%JX82O"POK<)/J)://]C:$UH(QPN"2+2?'_`7J*Z
+MFL_QLX&=G,M(T0GC<*S@;Y/S]++;L"%!NN!/\F[09C6U\2,W:#*G:ODO3"\-
+M,[V4&;(=Y!.`X(#-'$**JP+6Y+%OS4$J"'P<'I-29-%*QS8_>&*H1[PP`BAZ
+M)?;K2/FCY;R4<UE0OEG.LMCLVZ#QLLPV^U:UC!XL8XB6H\,YE+$-LI.:UZ'@
+M0@>OV\(EK0^79$K&WO+&2"0D7Y`PDU56C[TQ)[0;4RHK/F9CGY4?01*,(0F>
+M@02^EQD?V>-L]#QV`3H82EV%ZR\.@FSX^]=?/(I#]V+9WOAX3_MA\^,]Q3,2
+M-'QFM!LDL_1H]R`-?W.T^RC'#R6EVDFIMT&I_FQ2/P+=*NVJ.-G>I+.WZ.P;
+M<T`L:/\[]ECQ4(IX*21,"%?W/_ZN5O?[))\/H(NQ^DWY.ZFY5A/V&04^JQ)"
+M0HO4I[,WY2A?_0TQ8&YN`X%0S3`SG&$=9.C/\E(12@$^MG*8F:;?2-(#;#G*
+M'7_'+%*P#2:&\\!\HX&:A\-]N#)Y)#R]S?^HE^2CJ33DY($H1D5O9<&_8-#J
+M`(J`%%*65;:W2%FILGVCE#5:MF^5LLRR?9N490'1(RS+`:@:X?H\Q:T)"UF#
+M5T'';=>1<G10CN?92L``81?34/J^'?I027F1%22#G%P[B@76ZI6%5="G2DN6
+M5156K:%=41W_#='C_UGDERCHP=`.\I&X[WJHI,<>S%'&0<6D3J#^YA#?D'ZN
+MTQ[`-(WW<GSJJ@GYRK4$WP;`=Q+(3Y`-L$IOOE(^C(`M=0"I7YOO$0]@?HIE
+M!(GL'PETB&T`?"@(F+$'\A3/6=)NHCL(,I5L#W9DA*:)[@!G:JZ`2I+Y@%^;
+MWN9Q]9(*1U5W8!WA8U3U^&H0F(K@_RW<?;'AE87\2FN94$TX7A5OK2T!]RT3
+M;HDPL=K"JO*2\A41_B/V6J)P]=X9P)73(.>F2,Z@>-`@.0.RPP#3"!!H070!
+MT:FYS=14@IT3HV6ER$FZN>.DP[*S7W-0<O9)';J)Z:%.>R_F=RY+K^%GFPYD
+M)>7`'R`:9:F9XMO8'!(>8!*UX)`=,))F8J1,B.01GTM!?!ZZEB#-/QYED5>M
+M1/@>T3AS`C\,HIPB47YY+47YH#SEEK_2G/70DLE`EB&A+U_Y^45L@-Y\Q?A7
+MU@"]''_K*H/22ZK9*YD[,]C`%Y`T8IN>"G?^.:JP/X(Q,,@-NO2R`/(OBW\T
+MP#.:A$]09EIP:C"55,0,LD#2#0C8V3,$,-G9)^<:)6=_\S%3\U'D2NY^CA_O
+MOQXRG:P<)Z.<7G8&87#+4U:2-##Z!N75R$3?CZ*+GBO*!G=^A+*A0;H$=9[O
+MI6."%N8%@C%/^:F&D:X[@>:33EGS*1([!?DYBY^8IPAQA*!IC(_SE2-QV`_5
+MX7H\4&()5U!`+)CONJK*"TNMKJHJH*GT:4!NY9'QCQL(H]1#"6IM2FA1LJGY
+M"22+.2D&/LLCSK@)4)6K],:%QY\[/>(L]$2V\I<XUIV0S4Q6?@UU`&1)<P!3
+M,S^BF*HE8XWH!J%AHCS'JIN3JILS.@=*"TU4YG^DUM_D$>??1*<Y?P)@O)CY
+MNO,H<='JA7M$>46YM5*H<EF75Q2Y<'`?56T%L6%47<P20&%I:<7R0MYEK5Y3
+MMJRBU+J\</E*2&ZM@6$>$((=#;J6L[S(!?B"KLFBD5&?Y#D-@['?38U"T[(/
+M*9JJDN7Y*9+CI#Q,MWB<O-`@S[-H7L=.F`>=+7ELEB4UH+,'H!MBKQPJ.TZJ
+MT5(P6A]FD20[3^KFC\,4N:,U;TN.WDZ[@O-X<69"?0)\,^E*GCMZ[-P4Z?!/
+MSKN5]AZ=9#\JVX^..22YS@+^SRIC>D@L;)FZ21QO#>U*)1U%909#=3EFJ2LG
+M1S'T,+KMMSD")O&79%W#&1"GP9QHLY8F2=0E28YNA&XB5(/P$I`C!$,<RH;`
+M[S5]-GNW28S7D*YX+C/!P#\4S5\<77)NLN0\(<\W2([#\N+1&F<71)17Z]?_
+M'0B#H&Z:KFZ<[#BL6Y,B.T^(TQ+JDZ2^]AZ])N!/\'KT-1[]$S*GL7>!=`YC
+M@$PF?HXNM>O>)KXZG?3H&T)"%T`?F@A@AU;K/6**%3OT-1\2!@+EG,NR:(1%
+MJQ)H/4*5:;(6!&\JY>8H#WX0GI^/#0^OOP#/'#6_.C+"?@RQ2;]$#I>$O+1Q
+MOD63W@;<=>.."!9,33>"H],>).PT,\'*)R&YFYK&8AP@BRS]**R_Z7F[HK/W
+M-=;I;Q#BH20)F(BS5V>6G#V(IDP:2W:>E:<?A.YOE&<?!%X7!&D!^(`CL"$S
+MH4V)$WLT9%0,"3W*"EP`ZHPJ07:<E::WR[GZ]6>(TQZ49K^M)YS<U*1!:&H-
+M9'P#*2BH2Z/P6W&>T9VG_.,T[<MUX`H)`>5OX-9T$`89.)<%DE@<P#PV'5R-
+M:Q,X]RB2T4TRPE)KA+GR'$,.BC'="%FB%O-*]H]#QMR=YQ]););Q1EH0Y(9K
+M9>`AGJ:,WQZ`LOIMSH#IL4=@M@41SF5:-'P5"&V9:CMJHMIQ4W>X'>>$V_&=
+M;FQ'8"]5X7:\R<3:T3^&-C"=00*@'G$UH9ROA@"%=R.>H8V762XA7]W+V/D`
+M7OGP^X2?LZ4@%+3)V%=O!JS:ZLW"2#D>6CA!&!JJ-(8J#:$:H_)["J=<HX?N
+M])<PQP9.S0/')E;,7.OB>W2N17B_09C2.#<%^C=,"`=!ALJ=="+I$3]+!=#S
+ME,5<F#4/]HA?4L_I7'AV%9OW+VC>9$HR"&=C'Q#ZU@/WK@LAOPVG$7OUX50K
+MWR,+I4"-JS24^HR*#V>K!Y&XC@D&BM[!7B`'7#8QA+K2V^2'`U?`WPT4@/1C
+MC3,Y_GJIJSTPQ*//,>T?GMXE'02ZO9?CLB%(^)O4];(-DOSD_`6/F(&KE=.]
+M(LA\@[SRO6*G`3Z%<ZLL2O[[*,&O,BL+\2,>QXV][Y'%QGC)3!9DI;D&.7Z#
+MP]PR5X_N9&FN$:?8.(5.D1::PW-U=6F/K?)):=*4R&R8X&-T5#7R3H6[/-!4
+M^KE&&[`E+\C$I#Z5IOU#H3X=P/B@/ID0"/7I.T#K$Y+>IC62)[4`^<P"J)P@
+MPYV4#60Z*(Q`.G2?W)`P1W*?A%GBM>B=P/?"D!&>*`KQ4A^9=Q-I8!_R)!!:
+M.=^GV,G9\B;(22@'/D?D0+>1(`]ZKVV$J5DB"U8!>0YE\ZE,9*Q"[SE$XC`U
+MN\"1?@2:"AO*1-9_XCW&N:1Q^M=_!.W=0,:E?NEMS*HA17)W(R\:ILL?AQZU
+MR3A^P23BHN3L]1A?AP%3M`$?&LRXXC39V:U;.T[.2=&\*[G[,,D(V=V-J3-&
+MHYRJ=-K/1@V)9\F"I_LD,-;7.3(0;QC6XNP!'-C/`KI,SR?(0I^F0W8JNN&2
+MLQM:)7,#<%9W]]01@@7*@BDW>`,^T^BLNQ>"3"_=2_#9R5\/V!770J=8+:_5
+M>_1?8</J[+V2_:3PGU@H?W]CO7Z0,`*SSP.6C5P1D"J-\)T$D=&+RQ[\9(BB
+M$6XAWRF-]7%:WBR[@[9Z0TT*64<*^BVBVXQK!E!7IU&:!FV8@3PG(.>B$(\"
+MZ'U$``7..@I99A!$6PU:&J7F).GF1.SZ'<Q99,ZO]WJ141UE\Y'24BM?85T&
+M,Q(7B#A5%656H?S1\HK:<BL1ADHJRF%"<6M=TE7DGN60`:Y^8$(B`!&YZM8Z
+MR@O,4;3_P#L1VJ>T-A7&J]L9-8T`F</F--08Y8Q)J0%-E\UNJ$J0&V#V)IP&
+M0^?G,\=086_[NZ3_F/;,BY<<_;))KDW1+1R'M`.24=5HS><2C(P)\J(47>8X
+M6>CWZ/ND=KG*(L\>PD:\*1BV>AS,A33O2$*?O"A9M"74&U"FZ(,QVZ//`*KP
+MZ!]'L2*@,J^`,BY(5CE@,+D!9PZUX2$AX!%+&&Q&A*TN:L"<FD]F&0;E%4"`
+M%/"XSA+,3Z@IK)I0)91/*"W"21\(FGQU>(YKC<+;+7_!:4CJ<-QN:/X0J?E5
+M`Y%G!M/=IC?I^@C=.&F]`P<F\SML+B:&0OP\7&GIR<E7M.^HBRS"A/7NGI*Y
+MLQ<(MT$WF"L&-+4W8/K\51HDG`!,B$[_)6J-8T2^(H"[4\2"<=>`,N[\?.7[
+M&&T7`@>HUWPA;1J-GR)ZZ"K-TJYQ82<N!M3I-?56\54CD<M&2%_H<E)`SE1\
+M)S!O(\L;B?,$'46C]P:O/Q%&`S^29AFJ3,Y1IA/`B#_2U,-!-G:A;"H88<``
+M%GLCX"<R9@R-C!F,QY(@2PX*E09-7SH+E+ID`7++*BRREA>6X;2AR%7'.@-Z
+MDAEYM"=MNZ*HMBL^CM1!UE)6`L9@?"$U^,GY!J/'D@OE]NAA6KUK-,&/P4NK
+M)0^WY5@:!N5ZQ,)QN/KL5?WS]!@P#`)JQF$SWP\H\7DI5Y-E1+5N"%"OEZT3
+M#ANX3BA\#W@/,!9A%BX0RB))D:W/4;J.J\(`/_L5(KK6C];4Z^0\HVPWPX#X
+M*HE9K\]7?G0<1TF_%667<2%^N)P]#CI+5#5\4R$Y-J$W=@8&O,%:5E(.4Z@:
+M5U4U<!7KJ")K12DR'7YE8;G555<)LRS@)*.*QEF%:IQVE<",K'Q-;>&:R]=]
+MAAQCXM0XNO1#UG<0<!C0LF+7@5*/4X'#T'R,OQVZB#T`_L:<_%QEU7%*XI:8
+MQ1L86]M@<)RJ5`<Q.V$8IH`VS%=NO(2K8=C_SPDCHW)2QK",S)#V%MEAALF2
+M^SIU^C%T,72H/(_XBSNQR7X-@*-\0%>#)G!7H)F);P^L&U1J:4R=<HY%ZC0S
+MWR/N'4^FV[\]1G82[,^`*/?LL?"6X*`\Y6/(,_T<=L$!5?TM3M7RE0:2$@'S
+M1LFO(,M%P?73KJB]"7L0)BM:T^8VTTL!=24XR1?&#W\KW=;5LP3.H,W,7YN?
+MIPS_##DH$3OCT]O\B5ZO,@*7TJ#D/E+RO/*:PM*2(FMAU0JAS%7.X^!45+J\
+MM*+:%:LK,*B+TCT36P!'([VV+JA;A@%:[4MP)\(<$X02O6#QB&]-0.POT*FL
+M:Q#PRUQEW&=(JX1GY"Y9,+M@H7WI$BO95!`J*RNJD!R7K0'Z+*D.4VU%L76"
+M4%TUH;1DV83E57S:^(H!.@S5;U'M`.A+9L2+,4=I!K;F'XIS4W%.&EG_TB*;
+M(^6RI8<B%^^J@O[AH@-JU>W5ZOI@Q;)5T#&XA176<E<='^M+EB3"D%\V0E_>
+M;]YYDP`GN\T`GZEY<V0LQBG)-'DX2.5QK^`\21Z"8VBV.J$_(B2P";W.'K!=
+MK-7;.JO8CL#K8)(\X@&HF7\MDRU!A*%+4+R.1DKTB!]CA/N]'G?0*Z%LDH_3
+M@??ZU1'U>S3B6?\XX-4=3%"`G(PT)SVO(ZG4><0OPPF'><1!Z8C5<@U98AX&
+M,.1$C;]FJ4OM;[%SBB-O('-6U[J[HGKWC+0VX)3!EY%4OGA..GR^*R-'N?4M
+M'%0[$@H@@6>.)D?)?8NDQ^%=^0^2.E^I?Y/V[[#\'R[MP3<0UWH]CE9Z??1H
+M%4L_=T&\59JP)H+4"T(;1B-B@KH4%UGCC9K_'<7M364BH$+>A;M[ZSMV<KAG
+M]@+`I*PF$S9<[QZ:`_.]B62^]_2;=(I)MU<?P^BA#:WPMVZH3%RX%TP^_(-P
+M+[CQ#3).@)13_"8*'3'EK\7R@1\".E9RN`FU*VTX%C\+4;(+JZQ.$^G>&`[V
+M4:UQ3W1R"/+LY@#D/$4/R=/:I//1K3$W)P]@^`*@\3S;?XGM)4`OR,_,75BP
+M<-'"@AQGKKU@UJ+9]AFH;W"?,R<GUW[??21\WL(Y]Q'?K'D+H=\LRI]Q-94$
+M$C!OSL)%D)=CWGWW0<J8(+990;X7S,O*S<R]OR`G<\G<&9?SSN__&1O?J/).
+M>:IH#^)R=HG7VWCO`N&^Q@;-;,'1V*`M$.;(NT:3Z0O'3U?7QN/)_N@HF'CG
+MPXQ;2UH!2?\:.5O?.'TJQP^3LXTP/DM3_0:QPPQIA4/`<^5IXD&]Y`R"_/P3
+ME;]>SA,.OHYMM3,9Q2O\RPF"\INC1!M"$M&CE6M$D65FCE*G8[O1IJ9=6!=[
+M8.ZM8AJF;-./L0?6),HR)M`X`K@%`@S8'="\BN'IYUXA2DJD`$/-$."%FF/9
+MMDWHK/U2VO4B[DJ1M&)[$!B/S6&H'4:2D)$]&&)R$$D@D^C^!,R#'Y\-4)#I
+M0NWGGE>G0H`$TR3C'LD1!*8U/$^9BH!.WR.Y$0TXYMP,?'C35*+U$I0UDOZ%
+M#LUGTN<PY6I9I`%^`551V07%E3$*5S\Z0@8=\:"NE6@XO7V\!YH3\/$D:BS8
+M"+KJA\H$FU(?3'.#4J??Y`4Y4D?\4-4#"&$2?(XEB+-UU(_SD(I#K3&%#2;5
+MKR#"I2YPR(Y^3?MB!;N3=!`&^]'R)DREV85_/2*MA4&RM/@3`71-EZ25#BYJ
+M#C5\X7$I5]Q7^,MALHX"?#7%4Q]LK`]^)EQC>FGA5PPC^@U2=E":OB&RG3\@
+M_19(GQZB>]C(AI_["F8@Q\D>M@"D%\25L+60:>(<TTM97_G'PKQ$DZ?LY=05
+M^^M`K"&,+4_Y3=@SKO5&Y#]S=?L1/<?_;B.XJHF#_/R)\(?B#KK+3&!?5L]<
+M+4'^\1Z&[SBQ#>.U!77$;1.,M4DVN[$&N+_!/XWL@U^BJU4`\%<H;=#-)$$/
+MU'"=S6W@KY'M1EM?C5;JRR'</.T(G:GU7Q&'/^RD`AK,+H[`7/H8:P=]"T!G
+M\=J^X$VV@*"7#ON'9:%<(OPC4[QP0_V[1/!0\RRKJ')5%JYP58<W6495JML0
+MZ"HLKRA?4U8A5%O+7!!WS4`8!C,8HDF)U-X]0R;$07&V4":>YT_>W$&CCND#
+MMI]X6-W[-(-@^M)4'#SW43\:?Z[4<2O)A6CMA59J<;-9)P5,SY-@W`/?UXGZ
+M@*3ODRUG_J9PL(YX2Z0\2JE2P#_$(_Z9%/30X>@-J('UNKL#Z=-H>EXPY"F+
+M_Q5N*SXA+U]9W1G;+.2G2F/<9;3J^Q/!4?HY/^Z)Y<MB&N&_H4D[E0\[50S,
+MSP;$8-]-:SA-OT+`8-)H-R7QVWNT.<!U7\3"X_.5S0"AU,X"S6JFT@)O4`5L
+M6NRXO.Q/5.F#GX*DY>P@DC9T%ER,_8]I*-([#;F*NR.\'YVC3$)^]X'7FZ>,
+M[X@:-@?4+_%/C*&DGR,Z',CIL'+G*+5GVRZM^^1J>'[C$"9+#^$ZF+$11I"\
+MQJGC!5W(#C,^HVF_>?U%5&NL'2Z+N"8LMDW:,-NK:5>T8H_&K_/BPB'AI;=`
+M_TZBH[91^6D'Y4;Z/V;#\#1'#"74_RHB"RTOJP3QM-:U9AJ(N"#7KRRLK'25
+M7];^A\)]ZYCM"_=-7J_-::E/EO4_QGF5_H<-4^$3['4CLVQ?K/NK3;`0.&[W
+M8K]+@;A"`F$._FL]XO9[Z(K,VC^AK!+3_2[#Y;[7L%P+T,HHI)6P6!A--#\B
+M#,L"51\<(9H3$5J>0,>+1Z+G_Z\AN_1G>E'?S.`1-TQ'Z2R<9ZMR[A"=LFV%
+M;OG%(77*QN,Z;3)I?^*GG\/*F]K0BN5M)N4AT5=7C.<*J3RU5!LC3_D/<F16
+M9OP3ZN>T?D5H`D?N5"T*5`/DV[E2\UZ(TMF\$_YB#AW-/4!&:*&'9TL;6-*6
+M':C.YNB1/-OA`^JT&_-5_HB5:'XQ4D2CADR(.PR7"6[R%BQ&/!AGZZIJ7Z7S
+MB!>G$TF4UA-EFM^'=F,40+],LVP;E*.8PL$;Y2WH*WLP4N.ZH8/&FYH%;-EU
+M24;,[Q+FEZ]\\!I+8&I&2<4S1Y<3VHW0*_U!*N>C>E[3/;CU[#2+TT+\G7(S
+MUM&F-37C&J'LL(BV$#]"O*0Q/6E!C^9#&*PQ/16/]=F-B`KM1CSDL9PG$@28
+M41KX*^H!,O`-.1Z"Q!SE9@#*H]^-Z,VA25G*-F@KB>0([>_[-2X->U'3SM3T
+M4YQ77/*\JIT1"KV,JKG![=P_?VUJ?FQ@`9>P`,P'54"++F'6I&UN((C0-^XC
+M[8AZ3SU084DK[L/B-/4&7`=W6"0-!=(_'&)BPPL)T*U0WX7ES6@7*2KK(,K=
+MSWS%Y&XN]N<LCTR>JUSJ&K*UNF2M"V8M=3%SG3EMJKX_G0A%AXW%,"=;@(K,
+MD_)PSN\PRH)Y0U9":GQC8<(%0V8"V6G4-\Y+T)SO0*F1?&><[S"KWXUX:$`M
+M`V?`#C-D+AZ,/_]><2?G58JE'&W[)V:P],72W'@J^V%1=K/8=G&LW5C<J?7Z
+MBJ4L;;L"L;+TQ9U9\1PW8(VR]@"IC]AV"?"4DZ,@SXF"'8,X;>,C"1<:YR;H
+MP5C/V<T&'K\RHN*`TQP)4*.'83=&9=!(YIBXU`F8TDC:#LW1@0TR0/[;SW%$
+M.9^,2$.1#QC"'?3U\\=P"YJ_]C+VX%FB#>$F!`TR#PS*57#XQ<DQ6>;%K)%Y
+MYBN_::,+BYBKD2RB;5%](+-$G#TK8EOTJ#ZK0B@MLL9H8Z@2T(#UG_V4OVT\
+MH&K(#O6(;V52EO_$`:JO?(7Y]?%]X279H6ULS!6&1)(N.!"9E^/OZX2RZ'Q_
+ML(\LK<2%3!PWBBCV1\M.*#)MV!_6SQON$1_)PAZ[\`#.]I41L?!&_\(%7`<%
+M^(I)1$_<6/#[*08D<%6G7[MB_$]`ZO9-9O%'?G/\5S!^/(L_X9OC;\#X[^RG
+M\9._.?X#&/_7+/[^;XY_!\:O8?'G?W/\BZ]"_&P6?]XWQW\=XP]G\?=^<_R?
+M8OR_[Z/QX[\Y_BJ,_Q*+'_?-\:=A_,=9?-TWQT_"^'DLOOZJ\3UQFDC897+@
+MGUXA\\%037*>,@PI>&8G&=Z8UCC10W@55W&>)7_/[\7C)B6O1HZ(Q/*_5T@?
+MP+5726S%2?HU[,S`^H.XBB1M0L_P'DTXW;TTG23N#0?'A-_T"JX-F7-8OQV,
+M\TW<4.#@_ZCJI`%U^OQEE.6,5+=#3A-?;26K&DG0!1=1M059-)!)J$<,V'%0
+MVX4QE`VO4IDAQ*>293WJ:]R+,^VOHN(M(_$L><HO`2P8&+GL2%CVJU0IY56L
+M"=7%ETFM\`";GLACK\36;=;+,75#0O$F7:[_\+(J%T=7I_'2UU3GU5=H=<[Q
+MPZ`Z><QW!JVD1SP1!;7W%<J4&=3&_"B8\Y4'7F9K?6%HGFH-K]4IAMAUS"B8
+M2UK9'/7R=NC\ZFL`U[X2U0Y&M1V:7AG8#N^]S-IAY,N7M</^EZ-(-);_[[DJ
+M[!'0G]M#]5VB0+9\'<B+7H["M5'%]=LO7P'7J2]'S^C8/HLQ7/(D!&]3&UF-
+M:R.%3^ZT]R.[Z;0'$H@5Q*Y)MGOMP9S<55J/O3]'*7N9'G)C.C4),!]L(YVI
+M;\"(<ME^T\&72%WI'*1C#QL23<U?0G"Q;-]>#*-9\0PN@Q]*6[*30T47WSL(
+MA#Y/V;8'EPJ?H9LZ]#!/>H@>0'A&^;`UG%W+P.R&1&?G+UVE6:7%)"^VJNI9
+M_-)5*<H?]D24?^<JIE8\;V+^;0CX(Y_0.<?,`2Y"M6;E<8PVQT@$`=XJ.Y^1
+M1G3.T=,#+)@_<*WE)&VR%/!;59+,5]Y\":6!9Y0?(1*(KY06V;V\7'[:LIL@
+MB^ANZ3GA>D^V)2=48P8^&9JL)&()J%<)<X#ZJ7*VWI9M:!C$6*G_31C?%QIU
+M"_7GVG7"=<7B&CW'7V/:DZF7\_3SY7KSF'>EB[:N>I2[AY+S#IEZ3;9>M''\
+M9NGPE6DY87=8EMFRAY$R60]95E(^C?Y!5S7Y(G\OX_\O4J4Q8)=.LVRWX,F>
+MF0:DXI3%.;GY>8H=\O7-@R&D^0B>CZ0MAB.*;P([2Q:"&=,(5$E&-991S<?X
+M.''JC36C.KF;<`/G&)^VZB:/:/X>V:$,`9K]-WG!URQ.U=4.:L4E<=\GR/,Z
+ML2DAOI"4WN8[274:Y(5ZL?V2>&&8Z0F<-4DGQS;)`<@IU./U[H5YW3-@T'X1
+M#*Y(;V=^I6"\S._K3!V+VZE=CBWT>*<6SU;X?@`E>#NU6%=?!?WFH-?[EM/O
+M<4DZSI?/_#'.]^@WZ1;WTF^<0_ONPF\59\-5M8D!ZU>7[15,!(!669077\0Y
+M--F5>_40,F,1_TKU>J(\:P$ZD[/T4K91RC-+%\2/;O)L.LQ6<..E21LD5(U5
+MUSSZ8O9TH]?^.UZ@+-INE-K#>7@L&R1G4)X(95=ZO;9L/8SF0E">W'Q.^`+\
+M'I+SC+9\/1!-GL&6;^'O786Z']+;[1=N6IP;FJ+<NILH@TCY%M8#<3RL-W+U
+MP[WYRN,O,FF=-\CY>EN>L<$O#Y<=06EHGI*U"SEC[Q77JVYX@;`5D<`WJ14W
+M*F$NZS#8YIN%H;)6BL]5=+M0=0)U_/\JO2,/\Y_V>N>(H9OJ7X]%^`#Z_R-9
+ML_+H)8\^TZ/_DPGGYLI4R`IF!;@^/,F38VH\$^SDF,Z>-%<OY1A"#D/==5ZO
+M]*YGUUP0K8,O8^O^\UGQX%((6:-$[?]%Z3]A46(&/7\KQ"E((O*NV63M'!H3
+MF$"=&6B^6*R#R=(HL6WI_#7_Q)T<\ZHD90XJC\13Q,7+DY&7`&R+BSLSC!J.
+MPM:904_OT5,/G1EF:EFH14[[0?0A(-IEI%&_2=2:3:VY7$3Y,P;N7X'DIN3M
+M4H$=FPU`U%]/SJXGRI.)L^$+\#+D*%MQM2(^9KTRLO\)V81V82G*T%V,5T6'
+MW[,3T;.`G/;,P<YNILBBW"8R,XKA?SMC9*?"%V*G;MP5SPP=>SZBA[8):^2_
+M`W7IUAKD*OW"NI'%8H.1B$!.0^A8(CDP+'8N7;CF8Z*E2/3MA+=D>S!J3SDB
+M_SX?EBUD,9DLG"[-45[_XP#X8^')>IZ*X&3)T70@;TBNLG0G#GK-H74W2A=)
+MQX)B4>_;'M!DYT#90[.7H.J$MWA]L3'T&4Z>>R^GMT^>(_F>RQZLX:]9I46!
+MP70@>TB.\M@?29^DB=5B,>"7.V/W:*/T?Y]C,%IPF'`8<Q=30*?\D4H=0\2+
+M(2&1YN@?#'`M-')F*3M'REL2I1L<SF[1<T3>-QW(@%*O?SZFU6+*O8V4:R2Z
+MD=?E81N?!AB9\JTZL":I9UQQX%;I=WWO4GW,>NC[?R!;=\5RKK'QS%?%DO-%
+MZ,W%<N:08LG^$EZM8#\D9XZ3["<\S=MQW\&^7;*W=MIWXK#4:=]+K38R*2(H
+M\[BWYRO7ZZCF#TA^ZTSYRMR=R#?XN/W(=\_97\S@$XCZOS$#3[T]\R]UQ2R6
+M!V52R&2[61:2`;EB((F_MF&0&##PN;[UR!_$@)E?X5_C%2\FU@Z:UW@PK66H
+MOQK:?_U%U*>ML<R3N@[@G"']V/GS-#3.*W5YO?.([T_.AX@G<+1/_=/GM72E
+M)NC36C3MG^B$+_!4+S]Z>AJ?.J]#D^:_$=)(76*/:0.-H1=0'=*K(&&C#EVL
+M'"+V)D=58^T.;%0S50WB:D>`"!$2DH%DB*B=B*J*OT<QP6U)XF]I,(-M,#4-
+MP5/IJ%?L!;?9U(1GTGUKJ!LRF2C$BVY#8NT=(0<JM2:QCM[W',J<BN3LW>!4
+MH&XP@+0,]<TG`LEZMY$@95%LDGW/$:*7[/W0ES8X^]5445%^I4;!C&4G_%7P
+M()FSUV\B9RD,DD-!S7!';SCKWI"@*%5?FS6)DG^UK$6WP@D[\?":\#N?A&T-
+M>6]P&!H_2FAL3Y.=P98DNN!IVO&ZKMVGDYP`A9'LO[Y#3D=UD1/9N5!@HRV-
+MGS\/V`0V9";F@SO59TRR(V6#,2DV*WV[3Q^5U7&2U1NH&NY5Y#]0V0M97#?3
+MR2KF%A8NY-+2)]XUZ>[)4Z;:"I<M+W(5<Z/+A=+2,5'^F5FS9MNSN30N;3PW
+MGNEY;(W=E[CO=\AWE]`K2_A!B'CL`#BUPI,;1@,?+ZXQ<\($#)GP!U5<L$;2
+M$&7:&_[`Q"G?X1LIO+1O%XMG0+:^F"3,PNXMKAG"K;-%DB8N5L[N(%E&%'_>
+M@F[I$TDFG<UZ7#G'7&^^D9QU,DI;DB_AOLBX2W1?I+.Y"]?-V:%YSU'<$''N
+MD+88<>AS]L)<C<2R]]'(>I;,X^B5/(=QTT0F&4I;S/#7M#])\EC@`X1KW'<2
+M]Z%C%#\RU(R1:%33_F'2%A+IF/"!O!N]QN[&U/PR>0OFK_F"\@'3$]-QO9GD
+M+'L(0$.EU2"4]XOM!HEXA.Q]HKLOH?Z6T.[#9)/%H&R\R!2#3,UWWH"`[J!1
+M-;LQ;PH19VKZ/`487S/%A2&,BYZOU"\N[!?\BJ*PH_DF]!M0"5:S9OP6VWK$
+MP%+3$T.'0G=^;^QF\01*U6>\WL._YKC1/Z9F1]3W0+,5PBJ?I=\-8!>Q[Z/_
+MQ7%MW\)<+=^!9MNO..[:7S+W+R\/GQ25UZ2?7SF/HS^-?#?]Y-N7K8>\?\[*
+M)S"@87YJG!16?N4O..Y.*+_W9QQG9GZ-/Z/VGZ+*YZ'\QGVD>4S-#UY2V\KJ
+M6T2VGKR-'FQBC2\#_J:?DSV$8CV48H=*9"^0[I:)![MP3+H5]XF,YSS\D"Y-
+M1ZB9$"`C<*UG;I=X(;&FAWHT3DL5W/(^[$/B/M*GA%2/)XWDCT[/%OR;&]I]
+ME.X!*E]>1Y8#I-U12?AK9!)9-OY1!G"0]/QFT6[6XZ[.O*#D01^)%$)+S:*]
+MF.S#JGG<)'MH!)K3!C6G$.G@_N'4'IBKN(\0NLDS"@+/_QP=%%EZWS5D2]1+
+M43G6I__JL@Y,:5^\>(>I>3CJ*GX+S-[\W\#KZO\.7G\^\@IX-47PFHZ'*4GM
+M0>"K"C)L$D@S)0*V_^XP+J^7M]!@DMKR0WDBP^(PKS<6CZN#TFYD$,WG3)XS
+M_T)FHK(+W_%_$?P!5@BR&`(F>RQ0_^%=TFZ"F]T8I*/?'HK<1,I"&7+;"59>
+MCY3RP]A2'L-2:),U^A[Y%](WT.Z_50;EC:G"C!@DFIJ3_H7X)K@G6/<0M"R.
+MX/YFHC5C]'T$K-<K[48B\GUR,0R7P7?XHDI6&;Z]X6^S;V?XV^K;=A%+R0F/
+M)3(A#[5%;AY`W1N&MA#B8NV2/*!=-LP+MG@P?`.)U6+V_6H0C'^L7)E8Y]JM
+M?(V:_YB!+0X#V5GTF`\S:252D#52#M[))L\/J/&"-)ZX#_]"A\)IWOF?8YBX
+MA7B=_SE:OH]PJ-U"`#AHYFTJ`);+NJ]_EO?R/MN+63Q%YM@LCPS>KN9A'9"'
+MZ0!TP=X(\`_$Y&<ZH&8X@(]<CHFH/*+Y"-0_-TA+$/?A7\X]^/S/\8,RC3M;
+M45SWV1+)?5#[D&8Y(8D2+]FS)5XAU0L7A=6F,?"S5(!N&0#0^W><_GE_!*#[
+MO5%M;X1ZO5_23R/X9UZM3J>U,5D,CVG3TUD!%KH[0/[BM]+\7ZH^T_A3GW:3
+M\`][&L_:A0165\^FY4Z5=@_@=I?O'E+OF%SFA'-)]L@KG"JOI/$'D?CK"0:(
+MQO`6*^5Q%L+P4M'AV3*6^AF(2D1P()A)-Z#J"NDYAZRT0Z_@$^G''&&&N`]S
+M"=8/D;=@4AO)M#ZEU4Y:@\06XEI=N%Q!)!J0H#O)QXIP!%>#(^1)):43%K(;
+MOSW.0*ZR@93=AXHUG;I]UDOT!AWRH3$]]=.HUM70:[!\CX=S+1;NH;!Q];?)
+MY$.EET$JH6OX!V4/^GG6V33^13()%SNU_ME>N1E3V)JQJ(9A4F<DR6@_E4-)
+MU@W7R!2L3NU8XH.+#M1K3N.^L50P;$Y`92'2I+XU"1&8K;Q#):>4@5U$RPCI
+M&N_`\2$S2&5:NNIAEN;J?7_N)^."FJ\YTG__G7S-OA_$YI?Q;^973#,LAAS'
+M8(Z1L7``8])<<2P$7I`5E#T$)H/OXW]&R5UFM3FL_`-JKG=>05HA?'2Q7MH2
+MX;>^`%DXC^J?`.OB@!HW2./ZCD715@Q/'<C*8GEJ%/]B//5R'%H'Y&':$\L/
+M'XC)S[1'S?`;9;.K\-0H/M^*JT*^?M11_Q_QYE9<.O7(CQ)V<P(C/(O5_)"V
+MCI9V\#HLJ^4;RC)?^KJRZ'AM)L*:T2.O"[,WUI773:<,"^^A0F\E\Q=,J8VW
+M2)UC24H;B6KR!/"F3_+M^X>.S(?3VF02(UJ[Q[,VY'L3@K^CL_\1G9%1>B..
+M.)M$,H8AD?B'X-TC$:*)(/=^M;AQWQ*YY\DZT/\_<6N.$O<T_!V(OVO%?6?)
+MT'8M$Q8%HW^HETE0?`+KENIR`QGR)`^N3#0?69>TGO3=AA!;IJ%K(^H(M4C-
+M>9B:<R+K>_SJT.Y(*XIG-+DYM!.&=I.&VHWIE,`G4!23'I+],U68(KF,O6HN
+MO407U1=);Y$^&4O`\ZS=X;]+70N"`;9V$(HV$4%_`YF*M'C0AZA_AQ=:>HB.
+M;C<**A?=\=(^_&+3?-X0:NXFHY!:>RV?(!(OK4SFO=*6DZ3-2?+7(;F'N,D@
+MIR-AZBK3.[V0GBP"-9F:7\+V(E.8L;N[Z93KR5^AF'+)7._T;!H]#*F4KD5U
+M9NK)90SV?O/7+4C]Z^/P@M0ST-/"JVMB1Q]DVO![CTPRI2MN25(56>`Z:*"1
+MKI#?[R/Y+4B*6N!2,7.=QW,3F5C3##NS](C4D+W?OR""*Z&C.04^TXKIY+2X
+M_8RAV/22)X5(`-1*W))")GLIL9EI:96U7P>B(0+B;Q.CJDSI9OT9O$9R_<5&
+M<@/`RU=`^+,,X4O)_4=3H]`#`(1Q_C4`//'W,`"C$Z-P%,;YIJE1#?G-BXI3
+M(OF=-$17:#?2Z)A+"/0V!G3^OPGS\;^%R^`-_PLPBY'\4F-@ID3P)XV02M<_
+MPJ2W5J]Q1TC/]V,]G;<1J=_TY`%PGOKT=#/.,][SX>1G=F-_AJGY7X3#$0&<
+M3%@:1H;YG3#$(V^&$<0WCX[AGDT_<D;6<J'_A(GI:^KQZMEP/1Y*B,$]EK80
+M43\E_G](+_F1,@+QWQ+WOG(=Q0^96YB>PGNN/#*IX'^OM[SWUW#A/X@N7"93
+MJ_,?8`W_BQ%7GC<6E&_)@VHC123'7Y$'3?UO\:#;(_D=CHL&.8:@9$(/#-3%
+M>NKTW:>G^QM1)&-Z"O>ZOD5BC?-K2=Y[)@Q6>MQEF!Q+".8R_O+OX//V2$&'
+M]?\+^'SWHW!^=?IHP-6>9&JZ#V][EG_BO!)GC_19+:')@9A,C<5DZC=C,CL"
+MT,>Z&(!(8CJP?Q,T5\CWTYYPOD_IOH%PQL;"?06(34_.T.(-M.'VC^2>KHMJ
+M%M]P+=7MHHL1#::HA8@BI#PJB`QK(4,>79CN:+X!_H[W$*__)LLR1.#XK3:J
+MEK'LT]X8S.`G#:BY!R&<)\T'2;1_OH[@08**-QO)0JK$],@BK._SB&SR;]!Q
+MP8=A0,D1]W^+CE='\C-%\MNIB:JXWS&`)K\=M;1]$,ZN4!,%GL<94"LJ;R$+
+M3E<DC^BLA$A6PS57Z&%Z4],OKR")>")\-T9,^Y;C2NATN-2MW!7'E=&7C2MJ
+M-M=&LFE5LQ$>EHGHJB%B++FB-2K:#\/1)K,-VW"!/N<97-/!!-=XG+VY&'U9
+M.'H"BT[NC#1F\$F1C>,!6]LU3]*;C]BD:"3=%["121'$V(VV,F\C9$5R\#R[
+M1#U61?0KQD5MG%\G4P4T1Z^'7!,*,!C(5C->M,^1H].K#*NX'.66)ZG:L:-/
+M<G1['/V2XR317^@U[1_:?,S4]$H\&8<OCN('A^R]JK_P*8;](AZ)#*\5I?IN
+M&):)1:[M$4-+34_4Q%,US%<;!:J&Z=VV@>.2FZB)_AYH4J1(.-J'6B+?P2>^
+MV5PMWX%F'<3M>9Q^JW:T.1J5%_?XE?/(:(Y\MS5]^[*?@;SK6/FJ:6-^:IP7
+MV??3$!:$<AK!;&=^C[!RIP\H/_V8[.[U#_%Z],<\L[5=IOTC-`?GF/8GB&U=
+M8B"Q1FF\-]6$"^Z<)/1([]B$O@83N37S9)[RVSAZQ8>]OT,?K\^V"6?=.DDX
+M*PL]_E7>2/N23<D?<JPHTWX-6?/\FO*$*9)P8D!9,ZY6UHDYDKO7]QS9((U)
+M,>BR%";/$\B?A+.^!KJ?ZLG",DU/K"5W>X;ID?C6?.I;CK'P'+-''_+,3NCR
+M3-=>%NNL>!'P8\-\+_E&XZ38H1A\-]'\X3M#W;N%;[,O(?QM]?TK2+YC8,[7
+M1\/L6X3K:9!.=BBXI&"-B3LV.FZ2[U;R'H^""S:Q\731\1)\_]*R>!D#XKVO
+MBXJG\1W7XG4'4>&OZF)@VZ7F8QB0SZ;H>$-\\L!\JJ/#!_L>5?,96+_O1<<S
+M^F9IKU*_6Z/C)?JNOUK]_J6-BJ?S_5,S`*[WH\/C?<<U7X/[YZ/C#O+]1G,5
+MV)Z(CF?P-:CQ,DQ-2P>6_V!T7"UY3B4F_)[H<+/OKH'AUT>'FWS7?!W\GVEB
+MX/^8NPK\G9H8^`]P$?B?Y@:4_S--#/R;N*NT:W5,V?YR,GY<H>SOQ93MSU;C
+M#6S76V/*137#V#ZEBPZ/HWS@>Q<H'YAU@?1!O.9RZ@4<Q,\FU"?+CK,>O4=/
+MM+4W-%-E+`W1(3/+&JH03=;&;.ZSIHU/<.P]+@VJ[QE;H1C32Y8$\:*YUH6#
+MV:8%Z^A@]H@(//A;F$IFU.^546&BW6C`M6"PC?YX8NOG(!B>M2$F@IAA`+?9
+M^U&1K5]9T(1*MX<C8W[T68#;1-3/QZ/*J'H<E$=X)CF)2OU%@W!CGN)M(F>D
+M)6UH2DY(""IU3?1>?0O@*P\U#28TLPCX0EK?V(2<51SDH=]"[RDUYBCG(((T
+M13TB<)EN\J\?0]0FBVYKL9#T"NZZXC4\(!=977P\_+7CE1'F5U#&/_5I]\,&
+MNL5K/FTWG.HY_;"A0W,GHL#;H6&WY>'=72DAP9S+=.\:L/AVR&@%R6Z.,$@6
+M+.<[L.7XI;+3K'F=%#VZT98FW`BS`;LA:BHPF+3P6$"/D"+-A#^ZX5%1<+%%
+M,$G.`-[!;0]T<&DAP+HS4/6%[`Z,>4L64J69J,\:==Y@?>\D<B<58&R#W2R[
+M#2T)LF#(;C[F'G+^O8XYFCO)'3=:O[XC?FRVY!,O)M:G>U7=6U7+5CH(_@T^
+MJJ5K\U5?A_<Q:EKB,[-MOJIS_D$=\6G9+5WZM);X;&@1N\'S["$0_&+.)XB]
+M2R--<.MZIAUL)*=!=)[LT`RBX!J'ZH\-Q9WVET(A^/NB02LYMTO.5LF^4[+O
+MQ9?`!""T[3G*?)'<'G2.CY?MV_'ZD2Z/:VOT^;.H!M_=J)XSE+.3I6S#N6RB
+MD%EOYH3!><I643UK/5NZ8'KI@CQ\;)[9EF=I,.4I"\)AH]./A18:Y'CI0HLA
+M%)\%X?P@R$?#)XNA).&:/.5FD:A))]*C:GJO=\!=.U'TWTB/)T4=FU@"B1$J
+M82[\-:OGW59[P:7GT\3Z-%S1S<ZP9:?A3=5I2F\C@:LSFYQZ:"PVOJ^^B)1M
+MEN(;%QH-I';Q>8J6YJSA+>KMSGF6\^])><GD/%9Z&X1I!9V<C6=OPJKF[/Q.
+M!.3J!O4<`SZSII>Y4%>G/?@AOB/#>81@WBJ=\DOH5:OBE5\]AMQKVV/D,%^\
+M\E_D`\/7/X8@CP:_!A(%W:LTRK$&=@XSJKWB2&E+U=MT1P+_K=4OK,,[GF?O
+M,82Z%JXY+]_;'!)\`T`B^LZ-++_8/O]"/;T=@+["16\M0]3?Z*]G5Y@Y`V/-
+M>&>JEK`6J<^_@NI'XU6K@QIM,_AX<J_JEV/I;?7A>\\"Y);!J22NC/=Q\<D@
+M9\WD^,$;AF9NB,^>VB7H%L$\)"0D@&OZ#/XIT1[0X[F+B7C/8.05E<ONY;KD
+M5F%^(@;FZ_QK59C[&<R2/0@0NZX*;R`";W\,O(%OAG<3S&]Q(2("KW+9%1FQ
+M[6=WD_[FV=5X$WQ8]C<?XY-DK:3?C]>4><FD3KIP_.\>_6X+&>M^48]]65JK
+MEZH,G5GTC$\6PDMZ]97."/YU'9DVDN-[F7K/)E*0_C%)`R[)^)AZ#B?VKN;G
+MUE$VD&\&!NJIM4A"'SLRX\6'3[2F/8=-SSN,.H>Y73&;G@?>]&;[IV9-GW2P
+M_1-(8F[O,9OV'-$<EH4^*5[LT$/ZD#V(UX@[@^OVD<L?YMOR#0U3Y#GZC!Q%
+MP>F\O4^N-;/K4<0V@^SH$]N-GGQC3NYBY:D&(A_D*[?@%-O=A]N80D!:LL>2
+M+=6:(Y<JA\_31M7ES`_8$4<+N<S#`'3X<B*](AX^PPK;0:)A%=#4F[W>MUW!
+M$+2^/6BS!QJ^P%$ZFT#8+]59H'D!\1CY0"*]4U]T&Q/K1XL=B7C7.4R1<K)1
+M[[]?^35-@W<AV=S&AC/9_E0<.SN2R'U4L7'71L<U-YP!$26*>.A=).EMY_%.
+M'SSCBPW??L:,;BXD0$:&]C,&XNI#E[[]C)ZXVM"E;3^C;3ZV;E@&\<H0$EOQ
+M1.*1U[Q>]4X1?'#DW,$$_G;<<XU/;\.P<P>U_*"W/Y&&DON4CKS6_HD6OK7D
+M.[VMF%S?3\#XQ-QTC(+PB>'<01,M_Q/]N8,Z6O@G6MS9,&:\_8F0P$J6A@XX
+MJS1S+6DC8'*G\7J>2DMG!D%QY#Q/[)LJ0]:&CZUFFVUSS/5X3[IT"9@*OKJ#
+M-ZT'Y$5FR=%/GDZQY1G<&B"S]>31IB",T`<MDO,L4)C'N$%R]-A>KQX!='V6
+M'N<D=R9"('A7?2)V`.WW`.%Z+#^2G-UBIT5RGY0=_1[C4Y+CA(P/*4%67;:W
+M3.(P]D:BXZ1I3Z+D4*#'K9:=/9B7NXL]FT3"SYKV:/!5#].>$9HN<EO\4:F]
+MW0?@]N(S'EK:I139!'[8A7HU'10FZ0O2NWJ+I5IML>PX6BR9Q$[@-]TVY]FJ
+MW\"T5S+)SI/R,!)+X2NA#I(CJG1Y"CDG`>5KHPI@$!QD>9-\%VF+I2DD[P@\
+MICVF*T(C.[IM#B@?$MA/ZD5[%Z0Z87.>-#WV.:X7.J"S!CWK-EB:C]2GBIU!
+M?((A99[DZ`.W!62SD`.7[[AZ`PWC/Z,II/EF<@+E*N]I#*XC@JUX1L?C5<SB
+MDF%X]QEY`&@".;V%;^BVNXU:_E%Y5]M->).L<,/*U=#`BHCK`"+Z21V=\?2`
+MJA[;Q7BN7<./)*?,9**4AU]_Q'>FW)C;VVXC?Z,<CS?.YN4I)1@CGLXT4+CN
+M\._',S.&Z'LQ8M_?>J"6G&5KOX0OHLCS]-#<>.VD0;?(G(G#Y!R#K;U^D#=D
+M[]6TV>S!AG,AH5=Y\P)Y9TSJ))37E]X&L-KZW,,1WCZ<^>&-F9!57X:M;UTO
+MN9K2@HR[`3CI/@S5="%;<1EOXF?B4[?<6'*`*?V<5]9"C8_W)/8!.Y42H*WQ
+M-86)0$3'/X7VM3G[:T]+4_">2&#<Y.Y-+8UX4$_C8@P_=+A%^,#6&C/BJAF`
+M!5%[P)M69/`TPE`B9YK'=`DVSVH+FX%X+&F>V5-ALB(>#(IM03G)9N`MY'8B
+MFZ$FCEQ$+G7ANVRV+VJ[B<05S>.C[\B_))#QBMPP]`0FL_?0E=J;\=Z=`.GV
+MC*4`;75FD5.QOL'TG%D/YQXN`><`((&)",9.>P^Y0L[@A2]RX*]6K]AI)MBA
+M<XPP4.';L)T6CV4//LTD&`F?Z,5Y6JZ9U0Y&0^ACCJ#8;F'Y>$U[8$+1:]HS
+M>4R?SMZ#X\G!]HOD)9\$Z&00)$^&871,GZ9+M/<2/+/P8BD3>KS07RRE0W/+
+M3L7F[*WZH\W=5W,/Y,GRZFB_9$9FA7EI^JZ:&E+5ON[7A1P!L3V(UPM\B1(6
+MU#R/]K@3T??$`HVL_PA&E8;U[3":!*'/FH!6V6-Z_H7`3\Z?:K]@$2]<TS"\
+ME>,,W/$`HIJ%XQLW3&X0VWO%"S<V7-N*MP*,.2RULSL\@;C]"1`?7:?M`<;K
+MH\\5WL*3PZ*>'&"T_7(&R!9:SSIS4`9`^A8K'V&[=!#2'O,YRJ-)XJ6DAFDO
+M#Z(>]K[C>%U,W[T`E<W=7QTGSPF2=]<67@N"S/$S+-YQ)?&@ST,8-,8:!+Q(
+M'H$G_Y`&".\4.[[D'X$DTN?'SP!S)0/9F#X\Q-=^_!.IBY0QR*ZP8I+DAB#T
+M$=27#6\5]`Y,VD>3DE0!_[5D;.A;?X1`2QYY@E'L-':G[AC9)AHW\=5D9K#]
+M2RJ=M`.MX2CB-J[_.!0RX56XZUWD."2T8[L/POIPBG:$3UCO@!8RL]=Y8"[V
+M,+E7ON\\O1M/#_W^)A5.=P#@_%@*#`+J!Y:E@6J4!?P&?+/'W2LE0(='[TP]
+MZ;AX^I4L!\CN?@FE1P7O\\;)O[*)9,ZB:R"\<P[ID)UVA8A>'58B2_6A_AF,
+MS$WI;_P+93VSE'#@;H3D/%Y39_.G43Q!^)MJN.Q0`)00_U10.7:.O+)@5]I[
+MXL9TD8OMB"C5'9DW1..O8[4ZW<7ZYRNXYGSZX3Z$-T^I(@X%&,98Z"!SS&.S
+M@?;B-`>;C]4GX=,-%HV]WV\@7V/LO:?M?=V"$M58])=!K9Y[M]R]=7,H].&]
+M=__M^;LC[K?N)>L.+;'OQ$Y8C6AII8+IB]3:2:T`DU8)30D@]NP@[_[LV#"B
+M\>)8_KH&8],Q4]-F'72^&V&N<O%.800DI5N'.V1A!S[#,\/'XSJTL,/TTI#U
+M%_#47LV0Q<HDGKY\>1#?8]KT$&8_3%ZR8=+Z,U@'W@#I_3^F937>FR;<#H!A
+MMG,DZAZDYI\&_`2]8"[VVT&D&$G8WDD>B*6@;Z;67FH=0LNT?Z:T#Q^2$D,3
+MZI?AOC,Z;`WYHON0H6&D+&SV6,YIOI")MV?)B"[)N=E_*ZY#'3(U7"^3%U4'
+MQMB"GB'[(0J7:?]D:3<IX=*$AJVR^Y#D;J.EC#<U6S4J>L+18$Z7+5Y*$Y)A
+M/&[%,#>$W:L"F<;[Y"WD\^!;XD6#Z8D/.+6FLKM5X][+&@_7`6E$WTZBTVEO
+M%9O1V65J>I(D:=4(>PDGA$%],LAF`.XAR+%AL.R&.H?PC:/-_A%03W/#T$@]
+MWY'(9X;-WMKPYTBB9#613.J@.8^);R'K=9!^I+R/IH^.0+P8M`.J*5VD1[!,
+MC]M)G"["!DF0BQ],/^RFYB'D3/<AF&N+[E9.L(CN%_&M(D*:OM\D4IG7O0-D
+MJ$X[/M5+*,:T?XK:'&-Y@WCI3F%8R'YT```JB@D03VP-EYY&WKJZK%W3^-[H
+M1JDMECW$U=XE`^DFJS1UJ\=R1/,Z18!GP?"NRQIW0@/(]3O&'$2,&M9?N&DA
+MQ]4G0?7QPZ_WXLN"[J,</_+\PUVXT,H00^YCH+4FV+`B-DS-OS8@=EZ$KV<,
+M]$5/]P[?#PWDONR]8X0N$,Y9N>XV3HB7A4.2T$;(\[`8,N,#5H>)1JRP.3TD
+M?2%=6)S[X;A4$&U..P.B^W!B_9V>32FX(^X^W&V\>/KA`*61V+C=]@"$X#K;
+MZ9.DQZP3W5W0/9,`C/H<^![><)UG4]$P,@`#0#0GGS^!M%TK7HDRUG[(DS/<
+MYNQJR!AC[PI'[C8>/(VR`R3Y`I.T)F!MNSY9=YWLZ#I_*A)OTNL8_),$LGYP
+M:*SSL(:V%*DZ9WH2-9YETC/$'A-OBBG@X8#X+(;TF9I.`JVM)VEPH;8^5=Y$
+M[M;1WD+N\G@$_R;AK3@.%$)\=Y`*M)/X>E/3S\C+9+1(3?V=E%6<)S(TEIAR
+M#2L10<U\>U\$/DW#\?7(<'<&!\0"H6G]WU$XHMUQ_26.V[K.]$0Q^_:NJQD.
+MG#H4^JR!O4[C&T'GB"2[')W/H%%IFC-Y4"_P_,\)X5\)$Y-B,(&//K&:?4V=
+M9G]=G2#@M%.)B>0,G/KT]$?JZOGI4T+QJ?8/#IXZ`@$T.&II_9X!8U%44_AV
+MQA$Y&V8&N8N572"<4!+$JVG+XO"N)YJ&B7U^_>F3IT^&A,TAX5!(:`L)VY4I
+MGZ)`TX+/<@HM^-Y@1R]Z;)3KS1[+/CI+-XAM1MG1(K8;<Q?G*&5E5.G!V9?K
+M<?;GADL_@@*!W0M"DOP9?C6)AY*1_->-2#\6&96`A"6A6Q).^D?*SJ[S[]'1
+MH]-^DH+934IT]W/K@"_W:PC3Q'D)R-1CA&[*5R7W"9`T=/:^N3.TT.;N0;*C
+M?WW[77J<2+P\F<R\^C0>C*EQ=,ND9)N]VZV3[=TV^PFT3S2WU1O'D)`Q]NXQ
+MX#Y6?WMN2&A2N,\)Z"'!BZY/$3D=X%`LB!7!BY=&$QBX>@M]7AP#?T`2><EE
+MJR>Y^J$A`7"\47FQCV"2>'<3[V[T=GP>\3Y!O$]@69,_9TB#N=5&S'7]%^C1
+M*%<:*=_MS##2.U$`ND9ET!?L"F3W;'PGOA&W?<ECV#7P=1[[@@D<)3J./%#7
+MJ+Q+@&EDJ=_XG*5N>-AG1\4\U`-J#?-]CI\"S8J/E)HXU$4W<<(#D'M(6$*\
+MR2SE($JUDE.=@?@N$44V5K(P%H$11L&D+#*IZ0NM/T)D93*M(;WT""8Z!\1I
+M:MJOC?30YC&H@J`25C=4M;LL@(SXD.'4IY%]*5/3&2C-UZ0-8Z7Y2Q0DMT(\
+MSZM//PG?"=T/;\7H<:9F3U3UDCOM6RG!;<-)P&G[5C8G(6`GLEKPZ>#4"$GX
+MPHVIJ2:(=!J=K-/^-'4]`ZX#_L7`;TXIK$"[8(Z.W'.O_P[/KJT(4GRW8RO`
+MZ+\NVNT$KZ<9=((!X,%=O:<C;$_8C'RNIT&HPBFD(PCB/DP_&+,,8^H%:-9N
+MQ].4!X2;"K"!C?B?ZVK&K`?A'9@D5DD)F9INNXA5BN&;0V/XIK\&O]T@2&;H
+M:A='*G?I**"_.L/SZE:*9(#7?59VG-UME!P]I\IZQ%[]^RFI#YPJ.YO[OAY&
+M1OUI9Z1VI&I^'8R18<`O]$4!CH\CQ/)[F[!9^,%I6HCS[$M&F&FS0BRI]T,A
+MB]]+)85`R[-"3+$-.<ZS:SO%-:L`G^MY=6<T@0`]:?@99&[HV=4:&_<V[([#
+M%.SL&Y4D8C<I6F(W*A=A_N?;AV?*,5;OQS36V8]IK&YBMR@G/J:QC^+Y`[RC
+M&:JX`]^GG`(#@NC>R?':4SV>9TM#T3IIJ5$3E<>+Z`7>&7CM#T@WMCEF-][?
+M]R%;"\6[L"V27<'+:-S!]H^UDKM'`X/S6;*3:D$)M5?F,B1[#TRWN]*/G1=Z
+M)'L?7B&_/WJVTZ^NG;H5>019?E),>PZ:GK?WD0=2<!WR7=/S[C[I=?C$ET.[
+M85:FX(T\ICTS37O>'O,N-*CF@G2X/6#&;:B9[9^937N<W7CEHN8@;@NA=[&4
+MIRV6AH@=>ME]UN96:@#^7MQ%NIM"*[8%)7NOK:\F!3V)#.H(BO;>H$WHK3'`
+M#!27+WO)O-@@S5&OEPGTXC-RIHU'B(3=%ULGFG$83;'U"]?M+0#W?Z]6/U4+
+M#7KTCTNTAA/^FW63[7T>5Y=Z.1"^1;R&WA"D3GL#]Q;.JEC^FR>.W;OK\"/R
+MZ`T=]_YKS7_F7#/[^+TT/)7-BU.8;0G/D^F=0;'SX9N6(:I2Q%?K</6(OU?>
+MM`YWL61THH:VB$ZR_B"U'S^C^AM"N_!#^?0L\!.1)`UOV'!N4R<^2<ZQ]1%_
+M/%T*EIU&-I)<Q+^"4W8D=VI,M]/M16'X>;N1C"2#/9L:?XZJQDUX:9)'EM#A
+M:!+=5H[/D9U-C6MUT)ND+K'-@'>QP@C:II,=5DGCGPBX1?V(3Z-DJ=ME9W*G
+MEFQXR)ZHG.(S9:=52H+D/C\,LUZ/([#8XPRJVA/_^`>.GD_3M9WU'X42\!6A
+M+AQ!C_#CZ%U/DK-/`CG$U4\&34<_#A#K[5T:,FH\0R8N%>0M61WPY8,305J1
+MG##?LM:GMF*+C.G")37`*;Z%V25V].";PY\?_R213'V\9(EHK+T+?4DDZ6#Z
+MD?`4Y>&^]4CEYDM0(*[E0(&TBEZHXFG-:7O?!Q]Y-CV-#NT'1SSR5N+]0;MG
+MTW;B]YZCZX/V4V[44$4.KIPJ4]YW[CU5UGOJTY.GZ&@V_'W[WBB-D,208R^=
+MY[#5"=&]=WAMJBI$`T+V=J>\KC)603]/<NQE"RRR$!@K="VL,S)I#Z;R?N/Y
+M#T`J[+1OI^+?7F[=,"82RLZ]DG.;QKG=/PSR'./H/G]*<IPD8RK&-"?6P,S-
+M'-9"`I^X^GC1;@ZFA]AR#'J9GB`*6$ZS=&KLQDU=6X$0/_(F%W`<FL#W.>X$
+MF,_!O/%]<OD<N9C;?IA:7<,(&[&H"[%LA0@O=&N`PBUTK1LWIR1GF^0\[+\C
+M'$=V6*`"G@5)&B`7R7$8T-"&,C&FZ\)T^U%!HI/T*IIG5W(-.0-/O#3G/'D6
+MF`O6]H5VH5L9\Q'NJ)!.9V\DTB)TL<-#3$_<J,-GFTQ-PW4(:I=ZA::CCURC
+MUD^PV"H[#DN.0YWVHUIR_VO],NEM\2-UXJ-_'>;)[9?T["F'R>+?3=".W;NF
+MXZ3E85Q2($I)-X*,1[6&3"'[43I-@RDH3%K>OA2R=S6?$WH@V0>?0Q+_`AQ'
+M]I[_D)^%]Z:&9U@&,DLR2)>@-'YT.+]KP_D1^NFBL=1<W\.Y/3\911"F^W0'
+MU!QFICB=-SV)9P1D@GT@3(^\DQ!XMP.ZA@&R?=]^]+2SASA[/)M:"<UWVT$,
+MZ5F/.MUM0<Q*F-5IWTA'C!:R9R*WL=YC^."CTTY#M[.'%&QJDN,0QIY3/1^<
+M8CZ/@H]O'5F?V0FBX@N8?--#PS"3PR030#U,S;M=6"9KGU,P(R1P:AF?BNE_
+M5(+Z/O1!",I3Y1N#]`6Y\ZZI!;5NFQ"7#_>HO<S4]"GPI5/MW:Y8WUZRZ`:L
+MXS"0DLGS-EG_[SEY!$"!#-`V^,AZE?P0:1]@/8>[C6]32"D?H96(P.GL12'L
+MZ^#\G%RJU]22E`6<&VIO<W0)65AL.Y;Y-H'N]"E3TR(HX-010`S#I6";#PD:
+MI^$ZIZ-))I_\ER'@R]<FD'6]KMC6]:W"JW^].*^5G8VD+.##0#_]DL,H.ULE
+MYU[9<0BZ'A'B-TXB;;1WB.FI.\BI<J1(X"M`_=B=W=.1$!HFQQ("^IDV/JXC
+MUX4S'LJH,,[45$GN,=:1N3;!%N+HY.=7:\U3;7GO&1%)W66&R]J3-I&P"G-H
+M`Y)C>.+OC#[5.!B&3]IE3$V:>'+S/XXKC39G$Y^*2H!DC@^9.9H:;3;^;X##
+M2_BT>I/O>!R1[4)V0$DCWEUXUJN2("+3.6!R]:LX0C>^<>21GF[)`0(K<%XO
+M1<U&BAJ07!\%#JMI&"6ZG\%[K7!TNXN.;OY[O&P^'@#VY[^3K-L=7F@[OTX_
+MYKP_:<PEC;!-(YQ,AZG>88C>?,R=-,:Y(\R^NF#ZKG%L7Z51IGW(ILS`[79P
+M];>([NU<?8KLW`&I9,=VV^OU.BA`=G:-`9G,N6.,<SN9B"\BX$UM#M7?GH]"
+M^:T?D6Q"PM/H&OHAG=P_K4SIQLG]TS"YEX638R[Q(_*(+B69QC^M_*.'C/WT
+M-<Z='[#E$H!D&YF\;T/Q_D@/\S807*01$>96582Y#CY0QN&'ANS=(?MVF!AJ
+MV$(FFR-B9OP$V=$BSS.W?Z25/#QY+JDEQ`\U*RM/T_OP'=O%=NL8O#T:L3D(
+MVGQ[EGCF)A0C8$CA![%=YRZR;MJEK[]&M'?!W+!+X^S6.'?@$#H"YK==N@8S
+M!*2H^-T!*(Y:GWA:^4.XO@3-X+T=J_BCJ"H")[:#'\86U>-X[KN`\]*+.)]6
+MKGV?Y6$D33",^F]4OGJ/-:21,FO2W>X#G&GK'?B];A3$C,/BCI.8+3F8VTVD
+M#$MS6\-P*G/`L'K^;9`H?*_A^@'V_*8.;3K2.-"V[SFMRH?/D-Z^@U1B!Y;_
+MMDI(P"`V2@Y`QU:.SPRMUBMOG:++7DZOG&MN/Z.5MO!D@9NN?7G9VM?J!\C:
+M%RZI;%2:U,R,:L]'FB%8F8&K,VUIDOT$64EZ6GFHAQ+;1JS;;P@J-^/Z6)V1
+M$ZXAE9Q&3^9)G;C<Y27"3$C8K/SL%'WK*X3KW&:@I7-V@P;7_D_8^,KF<_6Z
+MD/W$!N<)_P^\WN9SZX8(N236`A(K&RA_$L+ZM'*2T.W3#+PW/Z3/_9F;0PU)
+MPE#9>0+5D1(A*\AW&I^\`15N@'?[LG!V";F,QO($D,":.C0VY%2^!#KOA*(O
+M'23\RX>OGZ![`#<S-6VCCR@0P@B>5`D#&L#F\`K#,62Q<I;X;R2K:$;_+5X:
+MWZL</4D7%1G][#O)4)Z,C.DI>H>BBGU6N?8^%??1P&"3$WC<R2HLE6%8(#-_
+MNY=BZKG3T9C:]@'=IS4WGVL8(<R0'2=0=>5N<G\K,%&;HXE/5L<I&_\/*.Z2
+M!HO#O5CDL\Y&1IC^Z[TJ3TX3C-[8L0V)XH5W24.+[HT<?Z?H]N+=BP1%>+S-
+MJVQZESVLN5%IH9]X[3SE]0`G_R[R"QP#A"$=VC0LD6W\D3;#,0YF.,E2$IGM
+M`/4WL?E.H^?9):&KO"^&:Q`I49-#[1*.[6.SK78<=X(;AK4X`R%[T/32ZY$]
+MSIQ\NL?9CGN<(MGCY.0%+9/6?X1[G,+A1G?@3@%D_#XB/-N#&[@6>\!O\H+_
+M6&%05*Y$@S$>_IJ%VR$P3;@98C=.K>/C&J<NQ4NR@QMR-1!5M`>U,!$P4X&?
+M$RS@0&5QD@:G"/0$7S].0<G6=P)=&&B4[?VX&H(;Z##?QUD#T4(PO60GJR>.
+ML[]MA#2FYL])?6D-:Y.C7FMLP=<:\5)_\E[C$9@1QC?:`UU^WO22(\`P8EZL
+MS,Q3,4+N.([%B08'\Z=(L4)`^GS])8K'/,60=U4\-N)>,<I91V"T0ONW+8X`
+MEFESF.NS\:+C=4:;N[\J01AB<RCN1*@84>`>"A]$>GC>;<9::CIC&_%\.ZEP
+MTU"R5];+N6\Z$$9:W`&",O;0PBUT$",AVO,?DG4MX!$&3,7#>!6<A[KT!E0:
+M/7D%`HO5,WMV,7TL,?)(VIOGW\E31MP7>95D2!YYZJQW"7GG5!O]MBG^(I<C
+M,]J-/M.9O9@]8E^$6\#FFB'RJRL1F_H?^Y?AFI_C)([9;MWY][Q15WQ+'1LV
+M7[?UN5`(F<@7S<>$OY)8^@[-G9D>L0[F*O,V#&W),7ERS![[25M[S6"/<'+>
+M!DV+-LOV>>VY#BU'8ZG'3F+JG[K0Q6?=-WN:==GRBLHUX^\;5V--'S_9FFZS
+M39Z0GCXA?:(U+6W:W6G3TB9;5_'+K?:Z2FLJ\MR\?)E/-<KK4LWR@E2+%!C3
+M9SM<-2S8[M/^\UGT$3_2_7-;P?=?T[RE>?,K<"Q:^,]MZ`\1Q$]UXF>Z?SY;
+M\/W@:USJO"(H>ZVKJH*5/1'+OGM"6OJ$B7=9T]*G39PZ[>Z)UJ+"FI*B%:SX
+M_/N@7"/D!A/L-O&"J?YZZ>+Y]\0S.NG/8XY+;__S=](IA./WTBF$XG</%D15
+MF917YBI;OK**%7CW%0J<&EL@>4]V7:I!GDV+;3X;_.(YP>"9$RIXC9P5B)3P
+M/\`GUHF/P>?P`?C$\K\>IS1&\#7N_UIX&/ZK7?S5&MPV+6W2Y?@G;6YZ:38%
+M*#^([9[:<D@ZV-YC3NSZ6@)8&D4!I/QJOFIYX=>5;[M*^R])->8#S3'FX%D4
+M\F[0MFB:VO@%&[(T+9GXE;4A2]N2J86OJ1NR="V9.O@:OR%+WY*IAZ_4#5EQ
+M+9EQ\'7=AJSXELQX^,*G+5LR$U#,:S<TM0D[EA8,P!?"&Z;7*\";/O$R>.\#
+MS!LV+$@UHGR4//44GY#1]+[P97K;@P/ZOYI_6>77Y']Y>T#V>D"'`67AC*P-
+MAJ8C_-*I2<(2]KT`ON>R[PSXGLZ^)\%W&OL>#=^I[#L%OI/9MQF^C>Q;/S6)
+MWVIZ"8:D86.Z7HN&-TS,5X)WRN7P+J#PXO[8_RMM]EHL/LLC"+WK<@`GI@\$
+MD+07`&D$(,W-Q\C<+R-S/M^P(;GI?;YLZDBA!)V5Q/E]<#Z`SD+B7`3.[Z$S
+MES@SP#D=G;.(,QV<=Z)S$G'>`LX;T3F*.*\!IPF=PXE3/W4DWT+PG3CF\(.O
+M(6][\/+W5?3Y>:A&EX!W(Z2W^5'/'.0QKVE_6H;L,'KQ.+;M"R$9ABI\4T??
+MD1$BNC`)(#7A^Q+@W^T_!N.=J__R\0CQM]Q5556ATOOD\1/'IR,*IR+#`M:0
+M-G7:I(G3TM*MO(J^'*7,P7'W/RC1XV%$E3BF/4I65%95+"\KK'Z493J)<L`T
+M:):[K6E3IMT]>5JZS5KIXEU5+,_(^^_S.,YW^GNHR[(@U2!>P#MZ@?C)Y#E>
+M3I3`TQ.7%O4@XY^P&2$>KY4TZ6V7RQOAG*?,P^E5^(V55?C`Z2IN)6J9*]L6
+M7.%QFP'IS\]%<<(J.U)HXF1Z"I!N%T!&?\*,'EPP\+V5</H]<]57T"(1(N]?
+MSL7W+^?3]R;O_Q;O7V+\EUA\R[=X_Q+C/\[BC_H6[U]B_#P6O^.;X[\W!^+?
+MQN*__LWQ?X?QS\VC\1_ZYOAK,7X'B[_OF^//Q_@_8O$/737^O/+"2J#5RJH2
+M?`NWN*349>775+JL%576XHJJLD*>RQ;*EY,WEO&=VI*RRE)7F:N<=Q5Q"RNL
+MI17+'ZVV%M84EI06+BMU<5F%15:D?%>14.7"#-"UHJJPC,NAMK7&556-F=56
+M592OX')S9I$8X^F3O)@/\;L\%K`X83F47VU=5EC$+:FHL)85EJ^QEKIJ7*75
+MUHIB:Y6KK`)J4%)NK2SD5W+W\850E879]]$ZK2PL+P+X9I=4+[>N%BKX0JNK
+M;KG+5>2*RDNHAE(C3E*/ZFI7-:2J<BWG*ZK6$"A=996X'5EAK:H0H$"^PKJR
+MHIKGYL(?!*^HHK:<R\8RRPO+,!BQ!)6X`LC5:\J65926++>6EI0_6LW-JB@O
+M=U%45[F*`9HB;E&EJXH^<,V7E+F*K%!B)".(Y*IRE0.0Y,W[VWEK=27DYL(W
+MA='A*B^R%A8CAZF&9G*!STJ!)^#=1]T`+59H.2T7BHOX%Y96N0J+UD2%0867
+M"<7%F%MEX7)75*/'P`UREG49(,_EJH+LBOG:0B"$Y858&S4SC%BXK***YT!6
+MK*VH>M1:!`18&1M!S2P<!X`2R@&HY2M)H5'>I$JTSH75P'HQY6K!58U/A!<6
+M%4$VU5PFM</U`C(!D,+>Q85E):6T>2//BR\C-,!7+*\H91&0BJ/=L0FB6BO6
+MGZ&5]*O8D'!^7^,=0738FW0+FA_V,=J\G`-J4K@BBN1F`PY*RBE$#!$$-4#.
+M8:`JPC`3L,OO9)E%ZA*%,M*9$9W1-:V-"<EU55<(54`?//23BJK"*D234!ZI
+M!$002GD*9&'5"FA)H<Q55;*\L-0*3@%Y"Y(Y]H^BBK+"DG(NJZKB41<445+I
+MBNI%I,OD`F1W5I1#$:275Z^!1B_CYI66NE9`?M4NUZ-(MY1@2UW%/%:RR%6#
+MG81TT0@42UQU/,UDF5"]9@!;+*E8SI<25+/$83``?>4D6?65_!`S*DSE-86E
+M)47A.G+S@!BM12IG`3#Y&/=5:`F)DL$PJZJBNOI.ZB#HH%5RU954\\"SJ#^I
+M3!:R:98L0@#(J]7ND>.J*BNI)BRWR%5>`J'L7?*!KZ2'F[<(,$^R+:RI*"FB
+M_&'YRI+2HBB^B240E!:YJI=7E51"Q3A[G6LY&UFL1.KB,M56+P7`HXF7@,L8
+M5'')"@&!GE=>*?`3@#[`8NGGP6!45254(G8HLH'?E):2AA>6KU3A";L)1-B4
+M5\%U)>*"QV[H+"]R%9>40[ZDI&E6D+IRKK1>F!Q9<D$-%#PZ:C>2.[1B=5A+
+M<5]Q88B=36K6XAI=$/>E/78E!]_9S5-29^$IEW60@4+6Q-D;FSWJA0I$OBRI
+M+BDO'K\\(NV#9#D%Y];I4Z?=/6G:1)A;/[J2R944QO1CQ;)]2/&HOH;B&7T-
+M@D7=I<'WSS@^CBJW=-%S6>G'`/I1N/PU@RBI#"(;.U%QKB8?OCN3+3=58LRL
+MT;+(DX]Q=!$/GURL"S^YF-YVV1N-/YY)EEI!/B4/AEF:CX%(JPVO`&:D^0?C
+MVZYQGKD:*0DF#5%O*^,I0*=1MEO(TNDP3-F2U-S&#\N2S)`*Y@!M/#M.R0X<
+M1^#'`\FQ[1E]OEO+*N4PRH)9=EN:C[A'P-S_;>[\*?IL8J>]7T,/8X3=F+0Y
+MY+X&U>19W$:A7X.3+/1:Q2W.#0G!D!!09F12S5\^X?Q)\1AW_KV!9_HO6X^N
+MFJ'"`Y",#$.">CALC=./[WR&?:CVB9E<E&61!(5L^5Y#ZW+^`_%=[OR'$":Y
+M%7PT(B0H(>%L2.@/"7W*+S.P.5"EDJQM1B`\^>"`^T0,,#_#X])F1O``G,T1
+M<-M>QI7I,1<`*5[9$3#ML2R4+AP_0SYG+]3*CN#Q0''B07`72Y:%F7@Y`DFX
+M[AB)HL?8/214O]#CZHN<&^2C\+%L.EO\GH$U$Z;(FP(6W(A]AK0SKG(_(]E/
+M2/:3^)*=J:E%3ZZ<P>FA#541U^A]@IZ^Q69S6FJ3A/'X[*O#7',;>?ENB.Q.
+M1O6C$:BHE*\G!UE>(:J_=GIO*KD`K\OC5B3W48^S6W(>)BHH)X@*RLEB0@RR
+M^V3[9V;)_4RQ['RF6'*>*Y8A"*OK/A$3<!$"3A3CZ3RW&16^W>0XN/,D.0D-
+MD1P0R?%),>17C)J-SA,Q`9]"`*1V]W7:6U'#IEAT?\*9FMOH7?J.5M'=JC$U
+M_R=1W#EJVI.KEYR;94>7:4^F%M&T67JG6++O:/\[T,K3ICWS]%)?XN%(P'8:
+M0!+,BX^$=;2?,5-/@]2E>CHW$^R-E)V;TX](3MQU)$C?B$CW`M(!Y!WM'Z$^
+MX?;$MP%1TN?$U>7[*^YCVH]J`<1B<:T66BP+.-'+>K++VRHY]LKNKF*Q0<L)
+MPZ!.>T5[%T3M(E'YS_:CMLY886_=8"CN<'&G?C7'+5S3?X"D=N^5G8<]EK70
+M1*I2E@/0,$\K.3:OOQ!JX+C:H;A_]>+;KLWKW9O1H^9SW/:MORTDO"@[]^J<
+MK=!!NI1$<K\C^+3.SP4PQ8/:7.5+HO%&U9_<1XOE!BTTQ"'3GG<EYS9:C%YR
+M;"4ZICL17GG2VF)Y]EIML;Q@K1[:;G.Q33@D#"%/@&HXTYX^/-PJG6__V#P*
+MCQ`D!A"OVZ1W)'N;;-]J>M[>!F@W[7%L3GS;=KCF-FS?-IVP;3UY)J]VN.R$
+M.,XVAE7[YL1VV^NUW>QPG"RT-I^KGXWZLSLU?8!/TY[I<PA)6*HPU9AWQ[HW
+M2^[-0$Y('\72]$QH1R"UEQ&V,6^;]ER`T(7-YQKVR\Z=I.TMB\<ZL=6!CC=#
+M#:$[KY$=F]M]9CX'`(LI-YW@0',>L`#IUA+DZ%?C.?*G-7;(P+$9\2,9U[:7
+M;39C(6\3/XHVC1'0YF@CKL,8:8Z$GWMM[YJ>_!6Y@A/[>!-'3T7Q.=([.J'5
+M]D[]3'*7Q%C[BUX"KG&U]);L>/%X2'(_3>!84G6):!AB7W(^73S(^0R2F62I
+M76@3]J[[,V*!$!.@Y!RT"9!M(/%=Z)L`S$6"8G<P\0*YL2$9>K"4!/U;FH]$
+M_@$E\AY"Y.`^0]UGT7U"MD."DQY78RP_#;.V)Z;@'K+LM,@.<^YB'-\<AMS%
+M2N(]40LHE/^&DRR9@O>R!G(O2W1BFLK,Y8?[8\<[=0Q5;3(>1KFCF.V7D\DI
+ML^:08&*/+6^SP8"3@WM[2]@%0(GYRELVLH%W;HXQ61BN;ISA=2;DY5H\MNC-
+M5W`CC9P&CB2-SR?Y27TQ=\U$E2],)H.?Z4"6<;N!QT>4Y;7FYA#OP*^)8RY)
+MT[;KA&1\OSS+X)_$'L>E5SB-(V]X=F:1JY?\R7GD!>:J%#EK7*B+O'I2WS6F
+M0],)!'<V>H_MLKMKOKB;C&_B&KP.Z'?DIL'H=T6O(?='3V6759F:-Y$81CD1
+MV7TBLG:PU^CQ;EP<[C"IEO^^WR)?(1@JIDB!]2%\'+@FKA4MO(<-4H56I\B9
+M`#A['-CTY"@H1B,$\12S4<XTC.F3,@W"`5\2.9]"BP'>_U>L^K7>JY6%0M1J
+MB#I8RX^VG:_62I>@O^*-%:3(=&7E5'J-GL,P9K5!DRY=\M>1NXLTMDQS]1VV
+M\S6W8=P<)2,<3Y.^6/F/*6%DX.6'^#X4EF.QG:^Z$>-?5I?[-53ETBM=BI3=
+M.R6F[(%U-37?@P<YKB,*&K&OI(+L%Q*LJI;_U>J.0I@P(1^5)(+*E"EX#1*"
+M<PPD`'MP[IB#($^1,YB>11K)T<=D/MG>9^L$/`4HYG2K+?)0VV)S]6VVOOI;
+M$/9<9=*4:%P\/EF]Q:S6GZ'BH6_==5?`0[V3XJ`C@@-E<@P.Q@A]PG`DM[1P
+MKC>S:EZ.G@"^M=GFQ\2-\UB?B+K6Z.KOF6OO8N]\&[7"*/6:O3P%IS)XA4E0
+M636)7+*':N'"M8T+C5I/]BPI7LHV=V83+6'_M-AWU]>_A2]-2$.DA7@AA)1M
+MP5,K_%#Z1OC=D\DA?YWXEJ8XL=X8<W^>V/M(%%RK)JIW]!2+]4.X=<,\]JTY
+M-)/#DS`3-[X^1^\P\5N],/W97CR*ZRN>P5E-F]M&A3CU5D=W#R<,[DS`WM7*
+M`7?PI\GV'MP[Z)&R%ZC)7L$02-L(<K.X#G?3LT?#E`@3X<U8F\-X#,/W>CH(
+MB<,GT?77\5==?Z5[]N%4F]-Q,GB"O&F=?C=Y_=RTA4'[<->`=\Y7I.-ZOG'E
+M-?RX#'+/^=U<])PH5A=@6CH]2^,T;S?S%H_[A/1.D%Q/\<]G&QW=&H_S1.IG
+M8D##7]>`[^$949];#&CY:_PW>W-76OAQC?XAN2NO13L^=^5PL+'$'T']_$-5
+M#C^<8X\F1^W\T_V;,!0OIA$H)'L0R6AE#:\G^2R<A)`'PO?=A>,WI2$^(&8M
+MKR=U3)VDSH^#D?DQ34KF@3!]S!A-\R'?J>R;7G&8-1H'MRAWZ@#W:.;%TJ^W
+M:DZ&0HT&C?B(_M+Z1XR%%P\4K'_$$.H-A=;/-7"`OHX,JZ8CXV8N3*.&",H[
+M)Q`2C:P"-%X7#P/ZRA_PG#5/>>`NTINAA?D[L%^MXN@_9=Y=..RO7$MB3;J+
+M$`&/^UY1ZP%][-ZJ<%D/3B")O@^)$$U?362D,`"?DR80_&/+WM"0@.V=Y!\G
+M!G3\]?Y17G9+F7\"O5<%%R;P&@3\#M_->5E;^X=Y20.965.*$]6FI/A(BZ+!
+ME\:K?=:3'Q(OZFK=Y'[4TK?I_:A-$%P'9B4S4)\*J`]NX7GANYP@Y%;(WY_G
+MQ4Z2IWP:)/J#B*"9'OM9,:03XCWVS_UZK]AF1/6JX]-#_-!5&H_].,3&]1N,
+M>@W@TG*ENGA<AP8RQ##L%^^$_HRW/&)_GOS-^R^O8_SA+/[#5XU?!&,4R*M+
+M5H(]$^Q2L+U@5X+]!-A\'YEP+JD#^P=@KP-[&]B-8/\*[":P'P2[!>R7P-X(
+M-HA02[Q@`Y1+-H,-;&')TV##4+3D&;"KP=X*-@AP2[:!_2.PMX-="/8.L(>`
+MO1/LY6"_V(=`<TM:P889T9*]8$-MEK2![0;[$-AY8!\&^UZPCX+]$-A=8,\&
+M^P38UX-]$NS[P>X&>SW8:3!.Q4.4!6`#$YV=P^PES%[*[(>8_0BS5S*;[\?K
+M@+C9=<S=Q-PMS+V9N9]F[FW,O9VY7V3N5N8^Q-R'F?L$<P>8.^U+4I_9D[XD
+M]9G]D$9#X*\$&^-YP?X!E@OV`U@NV##.S7X&;*CO[*U@PR@X6V'Q>EF\/A:O
+MG\4+L'@96AIOMI;&FZNE\19H:;P<+8VW3DOA:&+Q#7H-@=?(;#.S+<Q.9G8*
+MLZW,3F7V:&:/8W8:LR<Q>RJSIS,[@]FSF3V7V0N8G</L)<Q>RNR'F/T(LXN8
+MO9+9I<RN9#;/[#IFKV-V([.;F-W"[(W,]C)[,[.?9O8SS-[*[&W,WL[L'<S>
+MR>P7F=W*[+W,;F/V(68?9O919G<Q^P2S3S*[F]D]S#[+;(79O<SN8W8_LP/,
+M#C*;BZ.VGMD&9AN9;6:VA=G)S$YAMI79J<P>S>QQS$YC]B1F3V7V=&9G,'LV
+ML[GO?M_]OOO]VS\4P%#+.HNYD]@E7P\S=PJ8>\#<SA%Y@1O-D?&4PRT7?!AQ
+M!!A\/AJ/;Q82@8/CIJ'B,TL?!P8D*!Q3N!I<G0<S(ZK\A6#JP1B9&V0!#J;S
+MW"R.C/_<#0R6<<P/EU-P/I2..M)@\$PGR!G<4%8&B.O<]S@R9I)?(HN+,#U(
+MGT@A/YPAS0.#FCGXX#4*GWC:"@7/"7@LA%VE8F8PXHRR`DPR*R.>Y8%+O;C)
+M-);A$'&`.L_7@LD$<P<NC$?EAS,@5*8:S!%YB;L&#-YWC1I%('H3V1`7ND:"
+MF0_F.H[(4]R->-44&)0@\=#YS1R1NXAZ>#Z86SDB%W&X`9<-YC:.[AV"5,BM
+M8'7*967/9FVRF)7Y""O#P6!:P'!:PMKB(5:6D]$"QVCF"=:6RQAM/,I@6\1H
+M:#G#014KLX#1RO<9C$M8G<I9G>]C;?(LJ_L>UI9E#+;5+._[6=U6L3H4L;K]
+MF.6QB>7-,9C7,-QP#%<_8CBO9'G]@-$&S^KZ,H-18C`_R7#D9G456-VJ6=E/
+M,1JJ96U=RG#.,5IXAN%R+8/Y/QFN.!:78W7T,%QPC-9:69V;&0Y_S\I\CL'*
+M,5A:6-]J8C"(C"9_RNJ^@97]0U97CO6AQUF=.-8''V-];BOK6[]A?7TS"WN:
+MY<VQLF0&&\=HX0\,%H[A[C]8V1R+NX7UL5^PNGH9;CF&0X[Y;6.P<BP/CK7I
+M'QDLNUA>/V=M^1-F?J;.>MCW;H;[[2SN+UG9'&N#7[.Z_I:%_1?C:<^S;X[!
+M\@*C28ZEX1AN.)8WQ_+X'3,OL;;:P0S'<,.QMN-8&3N9X5C=.%;6BZR.'/OF
+M6%TXEC?'^@;':.051K/AS4+V0U[,]47X>APPN9Y*ZA[*W&FL`48R]]3)U'TC
+M<^OO9GJFS)W#"IK*W&W[(Q=#XG&U[5HBEQ&>B>&629%^2/)C"'N8N<_>1=TN
+MYLYX@;JKF+MI8H1>2?D,42+C[:GDTDU*1QC>,I:&/\W<J7^,M#>ZE?^,M"/)
+MCY6WD^'K$8:O3C5\'W4?9V[K'=3]/G,OJ:+NOZKX983B9^X76?W^J>;W#'7_
+MB[FW3Z5N?#*&X(?!<PUSMTUCXS!S6QM8>S!W'\/_!.;.8.V3P=Q+F?L^YE["
+MX'F(N6>W,3ZENEE[53%W(VO_-<Q]\E?4O9ZY<]B`L$&%]W;67YE;81WI9\R]
+MF;7_L\S=PL+_P-R&="[\W`VZG][&VH.Y)S%X3Z#[E@@]GF'A12S_?S!W-^NP
+M%YF[=QR3"[2,OA@^AFFIK"*P^"-9^$[&,&[64GH;S>@MC;G',3>^1(GTS^;O
+MW'TL/(V%/\+"%1:^FN6_D=6GGKF3F5MF[AYVD\PFYO8R?/^,Y3^)Y?\;EC_.
+MQ['M7U33LSML_L3<C2R_-YA[`>M?[V@I/E5Z^2L+;V/]YY\JO$QX^TI-S_K;
+M$!UU][/^<9..PC>5P3>6A6]C]#J9N1L9`YS)W%-9_YG#W*69U+V8N5,9?K[/
+MW(\P>EG-W`KKKV[F-K+X&YC[F78VKC!W<"9U_T3-_[>,K^LH/N8R?+RBPO=+
+MZGX-W5"URIVT/=]@X6D5-/PD<R]@^,=G5+%]'M%0_O@E"S<PP3NDH_2WD/'N
+MP7J*O^D,?R/T-/U#+#T^Q4;JQ_C9W7H*;[C_L_!M!ZE[+G/WL/!<YO:R_OT0
+M<P?9C4;%S)W#Z*6"N4^P@:^>N=/8>"(Q=Q'+SZOFS^K_2^;&?36"7^:>RO#_
+M"G,O9>WU)^;N8P-A%W.7,OKJ4?,?1=V*FI[QISZUO@R>2\Q]F+5??!R#]T[J
+M'A['^L^7P"-A,G('"W^$#:B3F7OK`>K.9.YQK'X+F3O(X,]7XS-\/<K<R6Q\
+M7</<)[<R?LK*YW%]#^PG6'@/&P]^R,+GQI'U/^[G:OZ,WGX=1^DE@]'+3A9N
+M9OWG9>9N9>Z#S&VU4?=;S*T*$N\Q]R%&CSW,O8V-#W]G[B8V?OV#E3^;E1]D
+MX8V,?QCB&3P,7R.8V\KX\2W,/971QQCF7L#Z]SW,S3-ZSHJG_:7T+#M7P,*]
+MK#ZY\12>N0R>!UEX$</W,N8>Q_+GF7OK:NIN4..S]FIF[L,,/CF>M@>NA^+<
+M=7,\E9G4WYOQ=&ZM_MYCZ5]D_>OOS#V)T6<O<W>U4O=YYFYE^$I(H&Z5']W(
+MW-V,?Z<RMY7QYSN9NY'5[V[F3F;TFY%`\;.`X6<."U=O,,MAX3DLO$#-G_'/
+ME<QM8?@H9^Z@G;KKF+N?C<<-S/T(ZP_-S)W#\"TS-\_H:Y.:?RIU/\/<@9%,
+M+E?KQ^2-WZGPL?S_R-PG6'ZMS-W%ZO^:"@_#YY\3*/]4^^L)%CZ)P?]>`I4/
+M5\91?'R40-L?]P=PKN1G\0^Q^%\P]].,OK]B^%S*\*DU4/<2%;\%L^]?F.F8
+M-XLKH&<5"@H*BOB*0J[`557%%:".-W@5\U5K4`L:=8H+JGEA&5=04EW(\VLP
+M>DDUOQ)5YUU%7$%I-5\(>:QP\94E1<06T(9?E5#N0DU^KJ`.(J.Z->914EZ,
+MH<M+787E0B5)4.2J=:W!L/)"*)H<KR5`E=04E=P%7W,6+,K*7%"P*#O[/ON2
+M@B6960OL!1BANJSP4=<R`?);SK*'S%SE-1P`7%7MHIFO0&C`S5>4<@4UM855
+MY760MKRB'*I5*?`()%>`E2DJJ6(1(0&_'))"=:L0%0/P4%`LE`_PPG))0<N+
+MJUU\=:4+,5.&9RQ<RQ'!KKH2GF2^''&%VONDM#!:Z+%14J<UU<OY4NJS$J*4
+M%15@+0M606ZN<%Q$$"FJA)45W5QJ-J@J7A!U8`]BE907%926+"N@T1!J;"QZ
+M2)#D7(1-4@X0%D+QT`)5U=P`!U]87E18513K6Y!3R*]<4`%%NL*U*JB&\%(D
+M)GXYGMA9!OZ/(M@K(F!75I64\]!^:JT+"O"X!1XO(GY(D:@[3]"P#($'-%27
+M5B!*BVL+2R&[NC*&PJA&";<OE$3;-X+R:CX,.CE-50`-'^L!D8M*BO!J1H*]
+M0G)JAWR6%]*&*5?;JK:JA'>QEJA06QVSXPM(;2LKH'HTYLI"GE(J5E^-RR\'
+MVJHE$8I95RBI<I7S526NZAC"*P(R7P%YN\K**FH8;LI)=ZVI+E>1J)(*HY."
+M@K)E!<N%*O"L(T4L+ZVHAK2(1U=5`1:#W0SJ!<F1SF<)55AX+F!,;4JH+*.-
+MX@ARJUVEE*H!ZE*A&E!&<B;HC?3K8A4LK!6/!V2J2]92VJP%!&$4AKXH$J=M
+M2WHIQ*QR+2\M+"DKX%VEI23WY<48L:J0H&PU\(<J5UE,"Y)8*D70L_&$K9$F
+MH=#CC078?5@*[`T4\MFNXD*A-*;Z6,,:!B42,5^YHJJ2`$QP7$C]BZKP+`]$
+M)J@J$,HCS%$MFO9_>ED"R3:;M$]%$65P!27J7:`$/810"@H@>Y(,O#`_\D$.
+M_A!F6[@BC%!!S:B*+R7,#ID,XW1X?`8P4EFPDF9!.@8E;J@&9(3H@]X)R"VK
+M+&><N`;@KHLT#."+T10Y+@35`LAX.E00W`'/+:G"3D*NGX@D7%'!AXD1>0_A
+MS36$;ED30Q\M%5P<NDK*5TRS\BM+JM63E7B.K=I:#"R!,I318\99:U>6+%^)
+M1^.`[\)X,Q[H+!P>^ZVB3%"'$0"JN*0NFH/$=B_&RJN750&&(R1744YX-FE^
+M.B``_.45!':*QS"*>3SD23HUZ144B37ACE!,&Z8,HG(J10CEQ%6GQJ&=$^)6
+MN5PXMI+F9AV7C$F4`HM9$8SFN()'2Y#9NXH*>1C'@?67`S!0F>+EY=A>B/OJ
+ME4#JV%1%2"<%](0FI8KO?M_]OOM]]_ON]]WON]]WO^]^W_V^^_U__<.U=W,?
+MQXWN^_9I<$^Y!TS;08[K>IWCMG=1?]0?6MK-<18#W:>?JZ/V(;:OAVO7N)Z.
+M:X2X+X!KL;A>BWM$N.Z(>XFX_XA[DKCOB'L7N-^&:]*XSX-[X[B?@WORN"^`
+M>T>X?X![5KA/B'M+N+^'>\ZX+X5[`U[?1:*IY/4EC:'VIUG4?IS9SS$[F]D?
+MV*@]?AJU[VBD]O!9U-;:J7U+!K6?9/[QZZD]OY[:CRVB]M]9O*P_,#@F4_LV
+MENYQYE_#W+]@]L'=U'Z3P37Q16H?^R.U.[)9_.>H_<E,EO^]+#YS9S/[(BOG
+MIW<Q^*=2>PBK3]X]#&Y6[V4LGT\SJ;U?]7^!VL,64GL:@_?,.I8?<[_'XKW"
+MX'R`E?.+=&JO8O6XQ,HY^%L&)XM_RUQ6+U;_.W:R^MU-[3V[J+V!Q5OU/8;7
+M^ZC]`O,?\A*UWV'XO&,^B\?\'V?NQUGX+0R?6H;OYYB=ZV#I.UF\#H9/-ROO
+M3]1>R^S'#C#X][-V8_ZO,#R]Q]RO[Z/VC_;%TLDK#(X-/Z5V^0)6WA%JW\CJ
+M/Y/!5\SLW^UEY;)\'F#EO\#BE[-XOWZ=Q6-POL#<[S$[[TUJUQ.;W"2#^@+0
+M+R<(U5438)[OJG,MGU!:-+ZZ@NH#XN/!"ZP<=Q9,\!;HK[=RW,9;V/Y[*M4]
+MQ-V!C=!GWTVENH/D$F9P[TVENH'H;@'W?Z52W43\;0;WCU(C.I5-X&Y,I3J)
+M1#<&W"6I5->0[*W$:2[C6?J!/.R.6#<NR#D*5Y3@RM77\3Z5OWR%VH_:;V&R
+MM%21,MIH_Y=,1CPTB/[?-\8X3@-&"T8'1@\F#DP\F`0P!C")8+XNCR0ICAL$
+MQ@AF,)@A8$Q@R`;Z_Z:Y6ODCH7PP1C"#P0P!8P+#C=3_[YJ!96N_DQV^^U%^
+MA:2@8SP&]_!1ESJ!R5:X)XJZBLCKD'^AGC3JA*,^.?)#U%M$77/4FT:=:>1I
+MR,=0#QWY'VX/(U]$_6_474?]<=R71SUQ8+-$;QI9+.I+X]8RJH^@KC1N(Z-N
+M.^JG(ZM#M2;<NKV3R6FH/XU;\;B=CEONJ#:&6\NX?8\J`K@-CJH0J'Z`*GNH
+MIH4ZTK@=CRHNN.V/6^NH'XXZQ*@_C&N\R#Q19QCUA5%7&/6$44<8]8-1-QCU
+M@G$@034/5+7![7)4.40]8-0!1OU?U/U%O5_4^45]7]3U17UFU&5&/4O4948]
+MYD?^#Y:/>L:HLXGZQ:A;C&J+N$^.^L2H2XSZFZA#C/K#J(>,^L.H.XQZPZ@S
+MC/K"J"N,>L*HVXGZP:@;C'K!J!.,^L"H"XQZP*@#C+K?J/.)>L"H`XSZOZAJ
+MB7J_J,*':E*H^H'J/Z@BA&J'J%J(ZF:H\H?;_KAUK^KQJOJ[J+>+.KNJOBZJ
+MLZ!*#JHEH6XNZN6B3B[JX[8R]1E4&7H5##X-@.IHJ/*&:@=M8%!]`E58\%`F
+MROEXARG>]HGZIH?!X+MZ>)OGG\'@^])OH"X)F+?`X+0!'Q8ZQE%]U!-@_@+F
+M'3#O@L&WO$ZAK@)']5/QY:_38/`Y[P_!]*#>`I@S'-571=69OZ$N"IB/P>!1
+M4A^83SBJOXIW.?T#S*=@/J-3$PYOZ/^"H_JL>/0?IAS<.=17`8/'CB^`N<A1
+M_5:\A>PK,)?`A+[K_Z3_9S*1!L^RX)D(5)?!LQ!X#@+/0.#Y!SS[@.<>\!P&
+MGGO`^1Z>>\`S#WC>`<\ZX#D'/..`>M5XM@'/->"9!CS/\,#7]/__4^5_U_^_
+MZ_]7ZO]?N[;R9:S.'/9U+DGSM?,2HB^91?4<<?U"U1?^[Z_KQ)9S]'\IWZ0!
+M@F^J]M_/=R7`I&-UM@[XI0WX#4P;QWBC.^S3-^#MTONIG?$4M5M>H_:J`+$;
+MF\832+N&+2=VT[L_)K;KC3?0MA9LU2);46KF3D'[5YNO*P,[XV_/I/T*;.^-
+MA_:^`_:DV[Y\U#B+:^R9LN:US%G<UI/-^9-J9G&'%ZXH:__]+&[&#Q\YN_2C
+M61D;=]?=\/RULW,^._/.V>N^-_L__N*(?ZNO<;::;D1YW.[=K9NRO[QPKT^W
+M:*ICX@UI%^;6/O;`]`/5#:<772OLE4[^^(5CSTR_ZS?;_W+KN7FV&;_IG_V5
+MZ=F)/__QQK<,KSPX:E;%CJ+1\8>3HO'C+'^TO**V7+UY\QO;XJ&=>%@;Q@HP
+MUX'1@OD,F,0I,`?![`3S#!@)3`68I6"RP4P#DPHF&8P1S$5@+B?!'`;S,ICM
+M8#:`J0&3#V8N&!N8F\%8P%P"AO09F+^".0CFCV"\8&K`+`5C`Y,"9A"87F!@
+M?P&S'\PV,!O!E(.9">9V,`8P`6!T'X'9!^89,"*8$C`.,'>#L8#Y`ACB!V#^
+M#.:W8'X$1@)3!Z8(S&(P66#&@TD&<PZ8Z%DPQ\#L![,=S)-@?@!F&9B,WX9I
+EL.&[&=%WO^]^W_V^^WWW^^[WW>^[WW>__YM__P\[+-(F`!`!``!F
+`
+end
diff --git a/lib/libc_r/test/mutex/Makefile b/lib/libc_r/test/mutex/Makefile
deleted file mode 100644
index 334d2a7a86ae..000000000000
--- a/lib/libc_r/test/mutex/Makefile
+++ /dev/null
@@ -1,8 +0,0 @@
-# $Id:$
-
-PROG= mutex
-SRCS= mutex.c
-NOMAN= 1
-LDFLAGS= -pthread
-
-.include <bsd.prog.mk>
diff --git a/lib/libc_r/test/mutex/mutex.c b/lib/libc_r/test/mutex/mutex.c
deleted file mode 100644
index 1fe45027b49b..000000000000
--- a/lib/libc_r/test/mutex/mutex.c
+++ /dev/null
@@ -1,1548 +0,0 @@
-/*
- * Copyright (c) 1998 Daniel M. Eischen <eischen@vigrid.com>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by Daniel M. Eischen.
- * 4. Neither the name of the author nor the names of any co-contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY DANIEL M. EISCHEN AND CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- */
-#include <stdlib.h>
-#include <unistd.h>
-
-#include <sys/ioctl.h>
-#include <assert.h>
-#include <errno.h>
-#include "pthread.h"
-#include <sched.h>
-#include <signal.h>
-#include <stdarg.h>
-#include <stdio.h>
-#include <string.h>
-#include <sysexits.h>
-
-#if defined(__FreeBSD__)
-#include <pthread_np.h>
-#endif
-
-#ifndef NELEMENTS
-#define NELEMENTS(arr) (sizeof (arr) / sizeof (arr[0]))
-#endif
-
-#ifndef NUM_THREADS
-#define NUM_THREADS 10
-#endif
-
-#define MAX_THREAD_CMDS 10
-
-
-/*------------------------------------------------------------
- * Types
- *----------------------------------------------------------*/
-
-typedef enum {
- STAT_INITIAL, /* initial state */
- STAT_WAITCONDVAR, /* waiting for condition variable signal */
- STAT_WAITMUTEX /* waiting for mutex lock */
-} thread_status_t;
-
-typedef enum {
- FLAGS_REPORT_WAITCONDMUTEX = 0x01,
- FLAGS_REPORT_WAITCONDVAR = 0x02,
- FLAGS_REPORT_WAITMUTEX = 0x04,
- FLAGS_REPORT_BUSY_LOOP = 0x08,
- FLAGS_IS_BUSY = 0x10,
- FLAGS_WAS_BUSY = 0x20
-} thread_flags_t;
-
-typedef enum {
- CMD_NONE,
- CMD_TAKE_MUTEX,
- CMD_RELEASE_MUTEX,
- CMD_WAIT_FOR_SIGNAL,
- CMD_BUSY_LOOP,
- CMD_PROTECTED_OP,
- CMD_RELEASE_ALL
-} thread_cmd_id_t;
-
-typedef struct {
- thread_cmd_id_t cmd_id;
- pthread_mutex_t *mutex;
- pthread_cond_t *cond;
-} thread_cmd_t;
-
-typedef struct {
- pthread_cond_t cond_var;
- thread_status_t status;
- thread_cmd_t cmd;
- int flags;
- int priority;
- int ret;
- pthread_t tid;
- u_int8_t id;
-} thread_state_t;
-
-typedef enum {
- M_POSIX,
- M_SS2_DEFAULT,
- M_SS2_ERRORCHECK,
- M_SS2_NORMAL,
- M_SS2_RECURSIVE
-} mutex_kind_t;
-
-
-/*------------------------------------------------------------
- * Constants
- *----------------------------------------------------------*/
-
-const char *protocol_strs[] = {
- "PTHREAD_PRIO_NONE",
- "PTHREAD_PRIO_INHERIT",
- "PTHREAD_PRIO_PROTECT"
-};
-
-const int protocols[] = {
- PTHREAD_PRIO_NONE,
- PTHREAD_PRIO_INHERIT,
- PTHREAD_PRIO_PROTECT
-};
-
-const char *mutextype_strs[] = {
- "POSIX (type not specified)",
- "SS2 PTHREAD_MUTEX_DEFAULT",
- "SS2 PTHREAD_MUTEX_ERRORCHECK",
- "SS2 PTHREAD_MUTEX_NORMAL",
- "SS2 PTHREAD_MUTEX_RECURSIVE"
-};
-
-const int mutex_types[] = {
- 0, /* M_POSIX */
- PTHREAD_MUTEX_DEFAULT, /* M_SS2_DEFAULT */
- PTHREAD_MUTEX_ERRORCHECK, /* M_SS2_ERRORCHECK */
- PTHREAD_MUTEX_NORMAL, /* M_SS2_NORMAL */
- PTHREAD_MUTEX_RECURSIVE /* M_SS2_RECURSIVE */
-};
-
-
-/*------------------------------------------------------------
- * Objects
- *----------------------------------------------------------*/
-
-static int done = 0;
-static int trace_enabled = 0;
-static int use_global_condvar = 0;
-static thread_state_t states[NUM_THREADS];
-static int pipefd[2];
-
-static pthread_mutex_t waiter_mutex;
-static pthread_mutex_t cond_mutex;
-static pthread_cond_t cond_var;
-
-static FILE *logfile = stdout;
-static int error_count = 0, pass_count = 0, total = 0;
-
-
-/*------------------------------------------------------------
- * Prototypes
- *----------------------------------------------------------*/
-extern char *strtok_r(char *str, const char *sep, char **last);
-
-
-/*------------------------------------------------------------
- * Functions
- *----------------------------------------------------------*/
-
-#ifdef DEBUG
-static void
-kern_switch (pthread_t pthread_out, pthread_t pthread_in)
-{
- if (pthread_out != NULL)
- printf ("Swapping out thread 0x%x, ", (int) pthread_out);
- else
- printf ("Swapping out kernel thread, ");
-
- if (pthread_in != NULL)
- printf ("swapping in thread 0x%x\n", (int) pthread_in);
- else
- printf ("swapping in kernel thread.\n");
-}
-#endif
-
-
-static void
-log_error (const char *fmt, ...)
-{
- va_list ap;
-
- va_start (ap, fmt);
- fprintf (logfile, "FAIL: ");
- vfprintf (logfile, fmt, ap);
- error_count = error_count + 1;
- total = total + 1;
-}
-
-
-static void
-log_pass (void)
-{
- fprintf (logfile, "PASS\n");
- pass_count = pass_count + 1;
- total = total + 1;
-}
-
-
-static void
-log_trace (const char *fmt, ...)
-{
- va_list ap;
-
- if (trace_enabled) {
- va_start (ap, fmt);
- vfprintf (logfile, fmt, ap);
- }
-}
-
-
-static void
-log (const char *fmt, ...)
-{
- va_list ap;
-
- va_start (ap, fmt);
- vfprintf (logfile, fmt, ap);
-}
-
-
-static void
-check_result (int expected, int actual)
-{
- if (expected != actual)
- log_error ("expected %d, returned %d\n", expected, actual);
- else
- log_pass ();
-}
-
-
-/*
- * Check to see that the threads ran in the specified order.
- */
-static void
-check_run_order (char *order)
-{
- const char *sep = ":,";
- char *tok, *last, *idstr, *endptr;
- int expected_id, bytes, count = 0, errors = 0;
- u_int8_t id;
-
- assert ((tok = (char *) malloc (strlen(order) + 1)) != NULL);
- strcpy (tok, order); /* tok has to be larger than order */
- assert (ioctl (pipefd[0], FIONREAD, &bytes) == 0);
- log_trace ("%d bytes read from FIFO.\n", bytes);
-
- for (idstr = strtok_r (tok, sep, &last);
- (idstr != NULL) && (count < bytes);
- idstr = strtok_r (NULL, sep, &last)) {
-
- /* Get the expected id: */
- expected_id = (int) strtol (idstr, &endptr, 10);
- assert ((endptr != NULL) && (*endptr == '\0'));
-
- /* Read the actual id from the pipe: */
- assert (read (pipefd[0], &id, sizeof (id)) == sizeof (id));
- count = count + sizeof (id);
-
- if (id != expected_id) {
- log_trace ("Thread %d ran out of order.\n", id);
- errors = errors + 1;
- }
- else {
- log_trace ("Thread %d at priority %d reporting.\n",
- (int) id, states[id].priority);
- }
- }
-
- if (count < bytes) {
- /* Clear the pipe: */
- while (count < bytes) {
- read (pipefd[0], &id, sizeof (id));
- count = count + 1;
- errors = errors + 1;
- }
- }
- else if (bytes < count)
- errors = errors + count - bytes;
-
- if (errors == 0)
- log_pass ();
- else
- log_error ("%d threads ran out of order", errors);
-}
-
-
-static void *
-waiter (void *arg)
-{
- thread_state_t *statep = (thread_state_t *) arg;
- pthread_mutex_t *held_mutex[MAX_THREAD_CMDS];
- int held_mutex_owned[MAX_THREAD_CMDS];
- sigset_t mask;
- struct timeval tv1, tv2;
- thread_cmd_t cmd;
- int i, mutex_count = 0;
-
- statep->status = STAT_INITIAL;
-
- /* Block all signals except for interrupt.*/
- sigfillset (&mask);
- sigdelset (&mask, SIGINT);
- sigprocmask (SIG_BLOCK, &mask, NULL);
-
- while (done == 0) {
- /* Wait for signal from the main thread to continue. */
- statep->status = STAT_WAITMUTEX;
- log_trace ("Thread %d: locking cond_mutex.\n",
- (int) statep->id);
- pthread_mutex_lock (&cond_mutex);
-
- /* Do we report our status. */
- if (statep->flags & FLAGS_REPORT_WAITCONDMUTEX)
- write (pipefd[1], &statep->id, sizeof (statep->id));
- log_trace ("Thread %d: waiting for cond_var.\n",
- (int) statep->id);
-
- /* Wait for a command. */
- statep->status = STAT_WAITCONDVAR;
-
- /*
- * The threads are allowed commanded to wait either on
- * their own unique condition variable (so they may be
- * separately signaled) or on one global condition variable
- * (so they may be signaled together).
- */
- if (use_global_condvar != 0)
- pthread_cond_wait (&cond_var, &cond_mutex);
- else
- pthread_cond_wait (&statep->cond_var, &cond_mutex);
-
- /* Do we report our status? */
- if (statep->flags & FLAGS_REPORT_WAITCONDVAR) {
- write (pipefd[1], &statep->id, sizeof (statep->id));
- log_trace ("Thread %d: wrote %d to pipe.\n",
- (int) statep->id);
- }
- log_trace ("Thread %d: received cond_var signal.\n",
- (int) statep->id);
-
- /* Get a copy of the command before releasing the mutex. */
- cmd = statep->cmd;
-
- /* Clear the command after copying it. */
- statep->cmd.cmd_id = CMD_NONE;
-
- /* Unlock the condition variable mutex. */
- assert (pthread_mutex_unlock (&cond_mutex) == 0);
-
- /* Peform the command.*/
- switch (cmd.cmd_id) {
- case CMD_TAKE_MUTEX:
- statep->ret = pthread_mutex_lock (cmd.mutex);
- if (statep->ret == 0) {
- assert (mutex_count < sizeof (held_mutex));
- held_mutex[mutex_count] = cmd.mutex;
- held_mutex_owned[mutex_count] = 1;
- mutex_count++;
- }
- else {
- held_mutex_owned[mutex_count] = 0;
- log_trace ("Thread id %d unable to lock mutex, "
- "error = %d\n", (int) statep->id,
- statep->ret);
- }
- break;
-
- case CMD_RELEASE_MUTEX:
- assert ((mutex_count <= sizeof (held_mutex)) &&
- (mutex_count > 0));
- mutex_count--;
- if (held_mutex_owned[mutex_count] != 0)
- assert (pthread_mutex_unlock
- (held_mutex[mutex_count]) == 0);
- break;
-
- case CMD_WAIT_FOR_SIGNAL:
- assert (pthread_mutex_lock (cmd.mutex) == 0);
- assert (pthread_cond_wait (cmd.cond, cmd.mutex) == 0);
- assert (pthread_mutex_unlock (cmd.mutex) == 0);
- break;
-
- case CMD_BUSY_LOOP:
- log_trace ("Thread %d: Entering busy loop.\n",
- (int) statep->id);
- /* Spin for 15 seconds. */
- assert (gettimeofday (&tv2, NULL) == 0);
- tv1.tv_sec = tv2.tv_sec + 5;
- tv1.tv_usec = tv2.tv_usec;
- statep->flags |= FLAGS_IS_BUSY;
- while (timercmp (&tv2, &tv1,<)) {
- assert (gettimeofday (&tv2, NULL) == 0);
- }
- statep->flags &= ~FLAGS_IS_BUSY;
- statep->flags |= FLAGS_WAS_BUSY;
-
- /* Do we report our status? */
- if (statep->flags & FLAGS_REPORT_BUSY_LOOP)
- write (pipefd[1], &statep->id,
- sizeof (statep->id));
-
- log_trace ("Thread %d: Leaving busy loop.\n",
- (int) statep->id);
- break;
-
- case CMD_PROTECTED_OP:
- assert (pthread_mutex_lock (cmd.mutex) == 0);
- statep->flags |= FLAGS_WAS_BUSY;
- /* Do we report our status? */
- if (statep->flags & FLAGS_REPORT_BUSY_LOOP)
- write (pipefd[1], &statep->id,
- sizeof (statep->id));
-
- assert (pthread_mutex_unlock (cmd.mutex) == 0);
- break;
-
- case CMD_RELEASE_ALL:
- assert ((mutex_count <= sizeof (held_mutex)) &&
- (mutex_count > 0));
- for (i = mutex_count - 1; i >= 0; i--) {
- if (held_mutex_owned[i] != 0)
- assert (pthread_mutex_unlock
- (held_mutex[i]) == 0);
- }
- mutex_count = 0;
- break;
-
- case CMD_NONE:
- default:
- break;
- }
-
- /* Wait for the big giant waiter lock. */
- statep->status = STAT_WAITMUTEX;
- log_trace ("Thread %d: waiting for big giant lock.\n",
- (int) statep->id);
- pthread_mutex_lock (&waiter_mutex);
- if (statep->flags & FLAGS_REPORT_WAITMUTEX)
- write (pipefd[1], &statep->id, sizeof (statep->id));
- log_trace ("Thread %d: got big giant lock.\n",
- (int) statep->id);
- statep->status = STAT_INITIAL;
- pthread_mutex_unlock (&waiter_mutex);
- }
-
- log_trace ("Thread %d: Exiting thread 0x%x\n", (int) statep->id,
- (int) pthread_self());
- pthread_exit (arg);
- return (NULL);
-}
-
-
-static void *
-lock_twice (void *arg)
-{
- thread_state_t *statep = (thread_state_t *) arg;
- sigset_t mask;
-
- statep->status = STAT_INITIAL;
-
- /* Block all signals except for interrupt.*/
- sigfillset (&mask);
- sigdelset (&mask, SIGINT);
- sigprocmask (SIG_BLOCK, &mask, NULL);
-
- /* Wait for a signal to continue. */
- log_trace ("Thread %d: locking cond_mutex.\n", (int) statep->id);
- pthread_mutex_lock (&cond_mutex);
-
- log_trace ("Thread %d: waiting for cond_var.\n", (int) statep->id);
- statep->status = STAT_WAITCONDVAR;
- pthread_cond_wait (&cond_var, &cond_mutex);
-
- log_trace ("Thread %d: received cond_var signal.\n", (int) statep->id);
-
- /* Unlock the condition variable mutex. */
- assert (pthread_mutex_unlock (&cond_mutex) == 0);
-
- statep->status = STAT_WAITMUTEX;
- /* Lock the mutex once. */
- assert (pthread_mutex_lock (statep->cmd.mutex) == 0);
-
- /* Lock it again and capture the error. */
- statep->ret = pthread_mutex_lock (statep->cmd.mutex);
- statep->status = 0;
-
- assert (pthread_mutex_unlock (statep->cmd.mutex) == 0);
-
- /* Unlock it again if it is locked recursively. */
- if (statep->ret == 0)
- pthread_mutex_unlock (statep->cmd.mutex);
-
- log_trace ("Thread %d: Exiting thread 0x%x\n", (int) statep->id,
- (int) pthread_self());
- pthread_exit (arg);
- return (NULL);
-}
-
-
-static void
-sighandler (int signo)
-{
- log ("Signal handler caught signal %d, thread id 0x%x\n",
- signo, (int) pthread_self());
-
- if (signo == SIGINT)
- done = 1;
-}
-
-
-static void
-send_cmd (int id, thread_cmd_id_t cmd)
-{
- assert (pthread_mutex_lock (&cond_mutex) == 0);
- assert (states[id].status == STAT_WAITCONDVAR);
- states[id].cmd.cmd_id = cmd;
- states[id].cmd.mutex = NULL;
- states[id].cmd.cond = NULL;
- /* Clear the busy flags. */
- states[id].flags &= ~(FLAGS_WAS_BUSY | FLAGS_IS_BUSY);
- assert (pthread_cond_signal (&states[id].cond_var) == 0);
- assert (pthread_mutex_unlock (&cond_mutex) == 0);
-}
-
-
-static void
-send_mutex_cmd (int id, thread_cmd_id_t cmd, pthread_mutex_t *m)
-{
- assert (pthread_mutex_lock (&cond_mutex) == 0);
- assert (states[id].status == STAT_WAITCONDVAR);
- states[id].cmd.cmd_id = cmd;
- states[id].cmd.mutex = m;
- states[id].cmd.cond = NULL;
- /* Clear the busy flags. */
- states[id].flags &= ~(FLAGS_WAS_BUSY | FLAGS_IS_BUSY);
- assert (pthread_cond_signal (&states[id].cond_var) == 0);
- assert (pthread_mutex_unlock (&cond_mutex) == 0);
-}
-
-
-static void
-send_mutex_cv_cmd (int id, thread_cmd_id_t cmd, pthread_mutex_t *m,
- pthread_cond_t *cv)
-{
- assert (pthread_mutex_lock (&cond_mutex) == 0);
- assert (states[id].status == STAT_WAITCONDVAR);
- states[id].cmd.cmd_id = cmd;
- states[id].cmd.mutex = m;
- states[id].cmd.cond = cv;
- /* Clear the busy flags. */
- states[id].flags &= ~(FLAGS_WAS_BUSY | FLAGS_IS_BUSY);
- assert (pthread_cond_signal (&states[id].cond_var) == 0);
- assert (pthread_mutex_unlock (&cond_mutex) == 0);
-}
-
-
-static void
-mutex_init_test (void)
-{
- pthread_mutexattr_t mattr;
- pthread_mutex_t mutex;
- mutex_kind_t mkind;
- int mproto, ret;
-
- /*
- * Initialize a mutex attribute.
- *
- * pthread_mutexattr_init not tested for: ENOMEM
- */
- assert (pthread_mutexattr_init (&mattr) == 0);
-
- /*
- * Initialize a mutex.
- *
- * pthread_mutex_init not tested for: EAGAIN ENOMEM EPERM EBUSY
- */
- log ("Testing pthread_mutex_init\n");
- log ("--------------------------\n");
-
- for (mproto = 0; mproto < NELEMENTS(protocols); mproto++) {
- for (mkind = M_POSIX; mkind <= M_SS2_RECURSIVE; mkind++) {
- /* Initialize the mutex attribute. */
- assert (pthread_mutexattr_init (&mattr) == 0);
- assert (pthread_mutexattr_setprotocol (&mattr,
- protocols[mproto]) == 0);
-
- /*
- * Ensure that the first mutex type is a POSIX
- * compliant mutex.
- */
- if (mkind != M_POSIX) {
- assert (pthread_mutexattr_settype (&mattr,
- mutex_types[mkind]) == 0);
- }
-
- log (" Protocol %s, Type %s - ",
- protocol_strs[mproto], mutextype_strs[mkind]);
- ret = pthread_mutex_init (&mutex, &mattr);
- check_result (/* expected */ 0, ret);
- assert (pthread_mutex_destroy (&mutex) == 0);
-
- /*
- * Destroy a mutex attribute.
- *
- * XXX - There should probably be a magic number
- * associated with a mutex attribute so that
- * destroy can be reasonably sure the attribute
- * is valid.
- *
- * pthread_mutexattr_destroy not tested for: EINVAL
- */
- assert (pthread_mutexattr_destroy (&mattr) == 0);
- }
- }
-}
-
-
-static void
-mutex_destroy_test (void)
-{
- pthread_mutexattr_t mattr;
- pthread_mutex_t mutex;
- pthread_condattr_t cattr;
- pthread_cond_t cv;
- pthread_attr_t pattr;
- int mproto, ret;
- mutex_kind_t mkind;
- thread_state_t state;
-
- /*
- * Destroy a mutex.
- *
- * XXX - There should probably be a magic number associated
- * with a mutex so that destroy can be reasonably sure
- * the mutex is valid.
- *
- * pthread_mutex_destroy not tested for:
- */
- log ("Testing pthread_mutex_destroy\n");
- log ("-----------------------------\n");
-
- assert (pthread_attr_init (&pattr) == 0);
- assert (pthread_attr_setdetachstate (&pattr,
- PTHREAD_CREATE_DETACHED) == 0);
- state.flags = 0; /* No flags yet. */
-
- for (mproto = 0; mproto < NELEMENTS(protocols); mproto++) {
- for (mkind = M_POSIX; mkind <= M_SS2_RECURSIVE; mkind++) {
- /* Initialize the mutex attribute. */
- assert (pthread_mutexattr_init (&mattr) == 0);
- assert (pthread_mutexattr_setprotocol (&mattr,
- protocols[mproto]) == 0);
-
- /*
- * Ensure that the first mutex type is a POSIX
- * compliant mutex.
- */
- if (mkind != M_POSIX) {
- assert (pthread_mutexattr_settype (&mattr,
- mutex_types[mkind]) == 0);
- }
-
- /* Create the mutex. */
- assert (pthread_mutex_init (&mutex, &mattr) == 0);
-
- log (" Protocol %s, Type %s\n",
- protocol_strs[mproto], mutextype_strs[mkind]);
-
- log (" Destruction of unused mutex - ");
- assert (pthread_mutex_init (&mutex, &mattr) == 0);
- ret = pthread_mutex_destroy (&mutex);
- check_result (/* expected */ 0, ret);
-
- log (" Destruction of mutex locked by self - ");
- assert (pthread_mutex_init (&mutex, &mattr) == 0);
- assert (pthread_mutex_lock (&mutex) == 0);
- ret = pthread_mutex_destroy (&mutex);
- check_result (/* expected */ EBUSY, ret);
- assert (pthread_mutex_unlock (&mutex) == 0);
- assert (pthread_mutex_destroy (&mutex) == 0);
-
- log (" Destruction of mutex locked by another "
- "thread - ");
- assert (pthread_mutex_init (&mutex, &mattr) == 0);
- send_mutex_cmd (0, CMD_TAKE_MUTEX, &mutex);
- sleep (1);
- ret = pthread_mutex_destroy (&mutex);
- check_result (/* expected */ EBUSY, ret);
- send_cmd (0, CMD_RELEASE_ALL);
- sleep (1);
- assert (pthread_mutex_destroy (&mutex) == 0);
-
- log (" Destruction of mutex while being used in "
- "cond_wait - ");
- assert (pthread_mutex_init (&mutex, &mattr) == 0);
- assert (pthread_condattr_init (&cattr) == 0);
- assert (pthread_cond_init (&cv, &cattr) == 0);
- send_mutex_cv_cmd (0, CMD_WAIT_FOR_SIGNAL, &mutex, &cv);
- sleep (1);
- ret = pthread_mutex_destroy (&mutex);
- check_result (/* expected */ EBUSY, ret);
- pthread_cond_signal (&cv);
- sleep (1);
- assert (pthread_mutex_destroy (&mutex) == 0);
- }
- }
-}
-
-
-static void
-mutex_lock_test (void)
-{
- pthread_mutexattr_t mattr;
- pthread_mutex_t mutex;
- pthread_attr_t pattr;
- int mproto, ret;
- mutex_kind_t mkind;
- thread_state_t state;
-
- /*
- * Lock a mutex.
- *
- * pthread_lock not tested for:
- */
- log ("Testing pthread_mutex_lock\n");
- log ("--------------------------\n");
-
- assert (pthread_attr_init (&pattr) == 0);
- assert (pthread_attr_setdetachstate (&pattr,
- PTHREAD_CREATE_DETACHED) == 0);
- state.flags = 0; /* No flags yet. */
-
- for (mproto = 0; mproto < NELEMENTS(protocols); mproto++) {
- for (mkind = M_POSIX; mkind <= M_SS2_RECURSIVE; mkind++) {
- /* Initialize the mutex attribute. */
- assert (pthread_mutexattr_init (&mattr) == 0);
- assert (pthread_mutexattr_setprotocol (&mattr,
- protocols[mproto]) == 0);
-
- /*
- * Ensure that the first mutex type is a POSIX
- * compliant mutex.
- */
- if (mkind != M_POSIX) {
- assert (pthread_mutexattr_settype (&mattr,
- mutex_types[mkind]) == 0);
- }
-
- /* Create the mutex. */
- assert (pthread_mutex_init (&mutex, &mattr) == 0);
-
- log (" Protocol %s, Type %s\n",
- protocol_strs[mproto], mutextype_strs[mkind]);
-
- log (" Lock on unlocked mutex - ");
- ret = pthread_mutex_lock (&mutex);
- check_result (/* expected */ 0, ret);
- pthread_mutex_unlock (&mutex);
-
- log (" Lock on invalid mutex - ");
- ret = pthread_mutex_lock (NULL);
- check_result (/* expected */ EINVAL, ret);
-
- log (" Lock on mutex held by self - ");
- assert (pthread_create (&state.tid, &pattr, lock_twice,
- (void *) &state) == 0);
- /* Let the thread start. */
- sleep (1);
- state.cmd.mutex = &mutex;
- state.ret = 0xdeadbeef;
- assert (pthread_mutex_lock (&cond_mutex) == 0);
- assert (pthread_cond_signal (&cond_var) == 0);
- assert (pthread_mutex_unlock (&cond_mutex) == 0);
- /* Let the thread receive and process the command. */
- sleep (1);
-
- switch (mkind) {
- case M_POSIX:
- check_result (/* expected */ EDEADLK,
- state.ret);
- break;
- case M_SS2_DEFAULT:
- check_result (/* expected */ EDEADLK,
- state.ret);
- break;
- case M_SS2_ERRORCHECK:
- check_result (/* expected */ EDEADLK,
- state.ret);
- break;
- case M_SS2_NORMAL:
- check_result (/* expected */ 0xdeadbeef,
- state.ret);
- break;
- case M_SS2_RECURSIVE:
- check_result (/* expected */ 0, state.ret);
- break;
- }
- pthread_mutex_destroy (&mutex);
- pthread_mutexattr_destroy (&mattr);
- }
- }
-}
-
-
-static void
-mutex_unlock_test (void)
-{
- const int test_thread_id = 0; /* ID of test thread */
- pthread_mutexattr_t mattr;
- pthread_mutex_t mutex;
- int mproto, ret;
- mutex_kind_t mkind;
-
- /*
- * Unlock a mutex.
- *
- * pthread_unlock not tested for:
- */
- log ("Testing pthread_mutex_unlock\n");
- log ("----------------------------\n");
-
- for (mproto = 0; mproto < NELEMENTS(protocols); mproto++) {
- for (mkind = M_POSIX; mkind <= M_SS2_RECURSIVE; mkind++) {
- /* Initialize the mutex attribute. */
- assert (pthread_mutexattr_init (&mattr) == 0);
- assert (pthread_mutexattr_setprotocol (&mattr,
- protocols[mproto]) == 0);
-
- /*
- * Ensure that the first mutex type is a POSIX
- * compliant mutex.
- */
- if (mkind != M_POSIX) {
- assert (pthread_mutexattr_settype (&mattr,
- mutex_types[mkind]) == 0);
- }
-
- /* Create the mutex. */
- assert (pthread_mutex_init (&mutex, &mattr) == 0);
-
- log (" Protocol %s, Type %s\n",
- protocol_strs[mproto], mutextype_strs[mkind]);
-
- log (" Unlock on mutex held by self - ");
- assert (pthread_mutex_lock (&mutex) == 0);
- ret = pthread_mutex_unlock (&mutex);
- check_result (/* expected */ 0, ret);
-
- log (" Unlock on invalid mutex - ");
- ret = pthread_mutex_unlock (NULL);
- check_result (/* expected */ EINVAL, ret);
-
- log (" Unlock on mutex locked by another thread - ");
- send_mutex_cmd (test_thread_id, CMD_TAKE_MUTEX, &mutex);
- sleep (1);
- ret = pthread_mutex_unlock (&mutex);
- switch (mkind) {
- case M_POSIX:
- check_result (/* expected */ EPERM, ret);
- break;
- case M_SS2_DEFAULT:
- check_result (/* expected */ EPERM, ret);
- break;
- case M_SS2_ERRORCHECK:
- check_result (/* expected */ EPERM, ret);
- break;
- case M_SS2_NORMAL:
- check_result (/* expected */ EPERM, ret);
- break;
- case M_SS2_RECURSIVE:
- check_result (/* expected */ EPERM, ret);
- break;
- }
- if (ret == 0) {
- /*
- * If for some reason we were able to unlock
- * the mutex, relock it so that the test
- * thread has no problems releasing the mutex.
- */
- pthread_mutex_lock (&mutex);
- }
- send_cmd (test_thread_id, CMD_RELEASE_ALL);
- sleep (1);
-
- pthread_mutex_destroy (&mutex);
- pthread_mutexattr_destroy (&mattr);
- }
- }
-}
-
-
-static void
-queueing_order_test (void)
-{
- int i;
-
- log ("Testing queueing order\n");
- log ("----------------------\n");
- assert (pthread_mutex_lock (&waiter_mutex) == 0);
- /*
- * Tell the threads to report when they take the waiters mutex.
- */
- assert (pthread_mutex_lock (&cond_mutex) == 0);
- for (i = 0; i < NUM_THREADS; i++) {
- states[i].flags = FLAGS_REPORT_WAITMUTEX;
- assert (pthread_cond_signal (&states[i].cond_var) == 0);
- }
- assert (pthread_mutex_unlock (&cond_mutex) == 0);
-
- /* Signal the threads to continue. */
- sleep (1);
-
- /* Use the global condition variable next time. */
- use_global_condvar = 1;
-
- /* Release the waiting threads and allow them to run again. */
- assert (pthread_mutex_unlock (&waiter_mutex) == 0);
- sleep (1);
-
- log (" Queueing order on a mutex - ");
- check_run_order ("9,8,7,6,5,4,3,2,1,0");
- for (i = 0; i < NUM_THREADS; i = i + 1) {
- /* Tell the threads to report when they've been signaled. */
- states[i].flags = FLAGS_REPORT_WAITCONDVAR;
- }
-
- /*
- * Prevent the threads from continuing their loop after we
- * signal them.
- */
- assert (pthread_mutex_lock (&waiter_mutex) == 0);
-
-
- log (" Queueing order on a condition variable - ");
- /*
- * Signal one thread to run and see that the highest priority
- * thread executes.
- */
- assert (pthread_mutex_lock (&cond_mutex) == 0);
- assert (pthread_cond_signal (&cond_var) == 0);
- assert (pthread_mutex_unlock (&cond_mutex) == 0);
- sleep (1);
- if (states[NUM_THREADS - 1].status != STAT_WAITMUTEX)
- log_error ("highest priority thread does not run.\n");
-
- /* Signal the remaining threads. */
- assert (pthread_mutex_lock (&cond_mutex) == 0);
- assert (pthread_cond_broadcast (&cond_var) == 0);
- assert (pthread_mutex_unlock (&cond_mutex) == 0);
- sleep (1);
-
- check_run_order ("9,8,7,6,5,4,3,2,1,0");
- for (i = 0; i < NUM_THREADS; i = i + 1) {
- /* Tell the threads not to report anything. */
- states[i].flags = 0;
- }
-
- /* Use the thread unique condition variable next time. */
- use_global_condvar = 0;
-
- /* Allow the threads to continue their loop. */
- assert (pthread_mutex_unlock (&waiter_mutex) == 0);
- sleep (1);
-}
-
-
-static void
-mutex_prioceiling_test (void)
-{
- const int test_thread_id = 0; /* ID of test thread */
- pthread_mutexattr_t mattr;
- struct sched_param param;
- pthread_mutex_t m[3];
- mutex_kind_t mkind;
- int i, ret, policy, my_prio, old_ceiling;
-
- log ("Testing priority ceilings\n");
- log ("-------------------------\n");
- for (mkind = M_POSIX; mkind <= M_SS2_RECURSIVE; mkind++) {
-
- log (" Protype PTHREAD_PRIO_PROTECT, Type %s\n",
- mutextype_strs[mkind]);
-
- /*
- * Initialize and create a mutex.
- */
- assert (pthread_mutexattr_init (&mattr) == 0);
-
- /* Get this threads current priority. */
- assert (pthread_getschedparam (pthread_self(), &policy,
- &param) == 0);
- my_prio = param.sched_priority; /* save for later use */
- log_trace ("Current scheduling policy %d, priority %d\n",
- policy, my_prio);
-
- /*
- * Initialize and create 3 priority protection mutexes with
- * default (max priority) ceilings.
- */
- assert (pthread_mutexattr_setprotocol(&mattr,
- PTHREAD_PRIO_PROTECT) == 0);
-
- /*
- * Ensure that the first mutex type is a POSIX
- * compliant mutex.
- */
- if (mkind != M_POSIX) {
- assert (pthread_mutexattr_settype (&mattr,
- mutex_types[mkind]) == 0);
- }
-
- for (i = 0; i < 3; i++)
- assert (pthread_mutex_init (&m[i], &mattr) == 0);
-
- /*
- * Set the ceiling priorities for the 3 priority protection
- * mutexes to, 5 less than, equal to, and 5 greater than,
- * this threads current priority.
- */
- for (i = 0; i < 3; i++)
- assert (pthread_mutex_setprioceiling (&m[i],
- my_prio - 5 + 5*i, &old_ceiling) == 0);
-
- /*
- * Check that if we attempt to take a mutex whose priority
- * ceiling is lower than our priority, we get an error.
- */
- log (" Lock with ceiling priority < thread priority - ");
- ret = pthread_mutex_lock (&m[0]);
- check_result (/* expected */ EINVAL, ret);
- if (ret == 0)
- pthread_mutex_unlock (&m[0]);
-
- /*
- * Check that we can take a mutex whose priority ceiling
- * is equal to our priority.
- */
- log (" Lock with ceiling priority = thread priority - ");
- ret = pthread_mutex_lock (&m[1]);
- check_result (/* expected */ 0, ret);
- if (ret == 0)
- pthread_mutex_unlock (&m[1]);
-
- /*
- * Check that we can take a mutex whose priority ceiling
- * is higher than our priority.
- */
- log (" Lock with ceiling priority > thread priority - ");
- ret = pthread_mutex_lock (&m[2]);
- check_result (/* expected */ 0, ret);
- if (ret == 0)
- pthread_mutex_unlock (&m[2]);
-
- /*
- * Have the test thread go into a busy loop for 5 seconds
- * and see that it doesn't block this thread (since the
- * priority ceiling of mutex 0 and the priority of the test
- * thread are both less than the priority of this thread).
- */
- log (" Preemption with ceiling priority < thread "
- "priority - ");
- /* Have the test thread take mutex 0. */
- send_mutex_cmd (test_thread_id, CMD_TAKE_MUTEX, &m[0]);
- sleep (1);
-
- log_trace ("Sending busy command.\n");
- send_cmd (test_thread_id, CMD_BUSY_LOOP);
- log_trace ("Busy sent, yielding\n");
- pthread_yield ();
- log_trace ("Returned from yield.\n");
- if (states[test_thread_id].flags &
- (FLAGS_IS_BUSY | FLAGS_WAS_BUSY))
- log_error ("test thread inproperly preempted us.\n");
- else {
- /* Let the thread finish its busy loop. */
- sleep (6);
- if ((states[test_thread_id].flags & FLAGS_WAS_BUSY) == 0)
- log_error ("test thread never finished.\n");
- else
- log_pass ();
- }
- states[test_thread_id].flags &= ~FLAGS_WAS_BUSY;
-
- /* Have the test thread release mutex 0. */
- send_cmd (test_thread_id, CMD_RELEASE_ALL);
- sleep (1);
-
- /*
- * Have the test thread go into a busy loop for 5 seconds
- * and see that it preempts this thread (since the priority
- * ceiling of mutex 1 is the same as the priority of this
- * thread). The test thread should not run to completion
- * as its time quantum should expire before the 5 seconds
- * are up.
- */
- log (" Preemption with ceiling priority = thread "
- "priority - ");
-
- /* Have the test thread take mutex 1. */
- send_mutex_cmd (test_thread_id, CMD_TAKE_MUTEX, &m[1]);
- sleep (1);
-
- log_trace ("Sending busy\n");
- send_cmd (test_thread_id, CMD_BUSY_LOOP);
- log_trace ("Busy sent, yielding\n");
- pthread_yield ();
- log_trace ("Returned from yield.\n");
- if ((states[test_thread_id].flags & FLAGS_IS_BUSY) == 0)
- log_error ("test thread did not switch in on yield.\n");
- else if (states[test_thread_id].flags & FLAGS_WAS_BUSY)
- log_error ("test thread ran to completion.\n");
- else {
- /* Let the thread finish its busy loop. */
- sleep (6);
- if ((states[test_thread_id].flags & FLAGS_WAS_BUSY) == 0)
- log_error ("test thread never finished.\n");
- else
- log_pass ();
- }
- states[test_thread_id].flags &= ~FLAGS_WAS_BUSY;
-
- /* Have the test thread release mutex 1. */
- send_cmd (test_thread_id, CMD_RELEASE_ALL);
- sleep (1);
-
- /*
- * Set the scheduling policy of the test thread to SCHED_FIFO
- * and have it go into a busy loop for 5 seconds. This
- * thread is SCHED_RR, and since the priority ceiling of
- * mutex 1 is the same as the priority of this thread, the
- * test thread should run to completion once it is switched
- * in.
- */
- log (" SCHED_FIFO scheduling and ceiling priority = "
- "thread priority - ");
- param.sched_priority = states[test_thread_id].priority;
- assert (pthread_setschedparam (states[test_thread_id].tid,
- SCHED_FIFO, &param) == 0);
-
- /* Have the test thread take mutex 1. */
- send_mutex_cmd (test_thread_id, CMD_TAKE_MUTEX, &m[1]);
- sleep (1);
-
- log_trace ("Sending busy\n");
- send_cmd (test_thread_id, CMD_BUSY_LOOP);
- log_trace ("Busy sent, yielding\n");
- pthread_yield ();
- log_trace ("Returned from yield.\n");
- if ((states[test_thread_id].flags & FLAGS_WAS_BUSY) == 0) {
- log_error ("test thread did not run to completion.\n");
- /* Let the thread finish it's busy loop. */
- sleep (6);
- }
- else
- log_pass ();
- states[test_thread_id].flags &= ~FLAGS_WAS_BUSY;
-
- /* Restore the test thread scheduling parameters. */
- param.sched_priority = states[test_thread_id].priority;
- assert (pthread_setschedparam (states[test_thread_id].tid,
- SCHED_RR, &param) == 0);
-
- /* Have the test thread release mutex 1. */
- send_cmd (test_thread_id, CMD_RELEASE_ALL);
- sleep (1);
-
- /*
- * Have the test thread go into a busy loop for 5 seconds
- * and see that it preempts this thread (since the priority
- * ceiling of mutex 2 is the greater than the priority of
- * this thread). The test thread should run to completion
- * and block this thread because its active priority is
- * higher.
- */
- log (" SCHED_FIFO scheduling and ceiling priority > "
- "thread priority - ");
- /* Have the test thread take mutex 2. */
- send_mutex_cmd (test_thread_id, CMD_TAKE_MUTEX, &m[2]);
- sleep (1);
-
- log_trace ("Sending busy\n");
- send_cmd (test_thread_id, CMD_BUSY_LOOP);
- log_trace ("Busy sent, yielding\n");
- pthread_yield ();
- log_trace ("Returned from yield.\n");
- if ((states[test_thread_id].flags & FLAGS_IS_BUSY) != 0) {
- log_error ("test thread did not run to completion.\n");
- /* Let the thread finish it's busy loop. */
- sleep (6);
- }
- else if ((states[test_thread_id].flags & FLAGS_WAS_BUSY) == 0)
- log_error ("test thread never finished.\n");
- else
- log_pass ();
- states[test_thread_id].flags &= ~FLAGS_WAS_BUSY;
-
- /* Have the test thread release mutex 2. */
- send_cmd (test_thread_id, CMD_RELEASE_ALL);
- sleep (1);
-
- /* Destroy the mutexes. */
- for (i = 0; i < 3; i++)
- assert (pthread_mutex_destroy (&m[i]) == 0);
- }
-}
-
-
-static void
-mutex_prioinherit_test (void)
-{
- pthread_mutexattr_t mattr;
- struct sched_param param;
- pthread_mutex_t m[3];
- mutex_kind_t mkind;
- int i, policy, my_prio;
-
- /* Get this threads current priority. */
- assert (pthread_getschedparam (pthread_self(), &policy,
- &param) == 0);
- my_prio = param.sched_priority; /* save for later use */
- log_trace ("Current scheduling policy %d, priority %d\n",
- policy, my_prio);
-
- log ("Testing priority inheritence\n");
- log ("----------------------------\n");
- for (mkind = M_POSIX; mkind <= M_SS2_RECURSIVE; mkind++) {
-
- log (" Protype PTHREAD_PRIO_INHERIT, Type %s\n",
- mutextype_strs[mkind]);
-
- /*
- * Initialize and create a mutex.
- */
- assert (pthread_mutexattr_init (&mattr) == 0);
-
- /*
- * Initialize and create 3 priority inheritence mutexes with
- * default (max priority) ceilings.
- */
- assert (pthread_mutexattr_setprotocol(&mattr,
- PTHREAD_PRIO_INHERIT) == 0);
-
- /*
- * Ensure that the first mutex type is a POSIX
- * compliant mutex.
- */
- if (mkind != M_POSIX) {
- assert (pthread_mutexattr_settype (&mattr,
- mutex_types[mkind]) == 0);
- }
-
- for (i = 0; i < 3; i++)
- assert (pthread_mutex_init (&m[i], &mattr) == 0);
-
- /*
- * Test setup:
- * Thread 4 - take mutex 0, 1
- * Thread 2 - enter protected busy loop with mutex 0
- * Thread 3 - enter protected busy loop with mutex 1
- * Thread 4 - enter protected busy loop with mutex 2
- * Thread 5 - enter busy loop
- * Thread 6 - enter protected busy loop with mutex 0
- * Thread 4 - releases mutexes 1 and 0.
- *
- * Expected results:
- * Threads complete in order 4, 6, 5, 3, 2
- */
- log (" Simple inheritence test - ");
-
- /*
- * Command thread 4 to take mutexes 0 and 1.
- */
- send_mutex_cmd (4, CMD_TAKE_MUTEX, &m[0]);
- sleep (1); /* Allow command to be received. */
- send_mutex_cmd (4, CMD_TAKE_MUTEX, &m[1]);
- sleep (1);
-
- /*
- * Tell the threads to report themselves when they are
- * at the bottom of their loop (waiting on wait_mutex).
- */
- for (i = 0; i < NUM_THREADS; i++)
- states[i].flags |= FLAGS_REPORT_WAITMUTEX;
-
- /*
- * Command thread 2 to take mutex 0 and thread 3 to take
- * mutex 1, both via a protected operation command. Since
- * thread 4 owns mutexes 0 and 1, both threads 2 and 3
- * will block until the mutexes are released by thread 4.
- */
- log_trace ("Commanding protected operation to thread 2.\n");
- send_mutex_cmd (2, CMD_PROTECTED_OP, &m[0]);
- log_trace ("Commanding protected operation to thread 3.\n");
- send_mutex_cmd (3, CMD_PROTECTED_OP, &m[1]);
- sleep (1);
-
- /*
- * Command thread 4 to take mutex 2 via a protected operation
- * and thread 5 to enter a busy loop for 5 seconds. Since
- * thread 5 has higher priority than thread 4, thread 5 will
- * enter the busy loop before thread 4 is activated.
- */
- log_trace ("Commanding protected operation to thread 4.\n");
- send_mutex_cmd (4, CMD_PROTECTED_OP, &m[2]);
- log_trace ("Commanding busy loop to thread 5.\n");
- send_cmd (5, CMD_BUSY_LOOP);
- sleep (1);
- if ((states[5].flags & FLAGS_IS_BUSY) == 0)
- log_error ("thread 5 is not running.\n");
- log_trace ("Commanding protected operation thread 6.\n");
- send_mutex_cmd (6, CMD_PROTECTED_OP, &m[0]);
- sleep (1);
- if ((states[4].flags & FLAGS_WAS_BUSY) == 0)
- log_error ("thread 4 failed to inherit priority.\n");
- states[4].flags = 0;
- send_cmd (4, CMD_RELEASE_ALL);
- sleep (5);
- check_run_order ("4,6,5,3,2");
-
- /*
- * Clear the flags.
- */
- for (i = 0; i < NUM_THREADS; i++)
- states[i].flags = 0;
-
- /*
- * Test setup:
- * Thread 2 - enter busy loop (SCHED_FIFO)
- * Thread 4 - take mutex 0
- * Thread 4 - priority change to same priority as thread 2
- * Thread 4 - release mutex 0
- *
- * Expected results:
- * Since thread 4 owns a priority mutex, it should be
- * placed at the front of the run queue (for its new
- * priority slot) when its priority is lowered to the
- * same priority as thread 2. If thread 4 did not own
- * a priority mutex, then it would have been added to
- * the end of the run queue and thread 2 would have
- * executed until it blocked (because it's scheduling
- * policy is SCHED_FIFO).
- *
- */
- log (" Inheritence test with change of priority - ");
-
- /*
- * Change threads 2 and 4 scheduling policies to be
- * SCHED_FIFO.
- */
- param.sched_priority = states[2].priority;
- assert (pthread_setschedparam (states[2].tid, SCHED_FIFO,
- &param) == 0);
- param.sched_priority = states[4].priority;
- assert (pthread_setschedparam (states[4].tid, SCHED_FIFO,
- &param) == 0);
-
- /*
- * Command thread 4 to take mutex 0.
- */
- send_mutex_cmd (4, CMD_TAKE_MUTEX, &m[0]);
- sleep (1);
-
- /*
- * Command thread 2 to enter busy loop.
- */
- send_cmd (2, CMD_BUSY_LOOP);
- sleep (1); /* Allow command to be received. */
-
- /*
- * Command thread 4 to enter busy loop.
- */
- send_cmd (4, CMD_BUSY_LOOP);
- sleep (1); /* Allow command to be received. */
-
- /* Have threads 2 and 4 report themselves. */
- states[2].flags = FLAGS_REPORT_WAITMUTEX;
- states[4].flags = FLAGS_REPORT_WAITMUTEX;
-
- /* Change the priority of thread 4. */
- param.sched_priority = states[2].priority;
- assert (pthread_setschedparam (states[4].tid, SCHED_FIFO,
- &param) == 0);
- sleep (5);
- check_run_order ("4,2");
-
- /* Clear the flags */
- states[2].flags = 0;
- states[4].flags = 0;
-
- /* Reset the policies. */
- param.sched_priority = states[2].priority;
- assert (pthread_setschedparam (states[2].tid, SCHED_RR,
- &param) == 0);
- param.sched_priority = states[4].priority;
- assert (pthread_setschedparam (states[4].tid, SCHED_RR,
- &param) == 0);
-
- send_cmd (4, CMD_RELEASE_MUTEX);
- sleep (1);
-
- /* Destroy the mutexes. */
- for (i = 0; i < 3; i++)
- assert (pthread_mutex_destroy (&m[i]) == 0);
- }
-}
-
-
-int main (int argc, char *argv[])
-{
- pthread_mutexattr_t mattr;
- pthread_condattr_t cattr;
- pthread_attr_t pattr;
- int i, policy, main_prio;
- void * exit_status;
- sigset_t mask;
- struct sigaction act;
- struct sched_param param;
-
- assert (pthread_getschedparam (pthread_self (), &policy, &param) == 0);
- main_prio = param.sched_priority;
-
- /* Setupt our signal mask. */
- sigfillset (&mask);
- sigdelset (&mask, SIGINT);
- sigprocmask (SIG_SETMASK, &mask, NULL);
-
- /* Install a signal handler for SIGINT */
- sigemptyset (&act.sa_mask);
- sigaddset (&act.sa_mask, SIGINT);
- act.sa_handler = sighandler;
- act.sa_flags = SA_RESTART;
- sigaction (SIGINT, &act, NULL);
-
- /*
- * Initialize the thread attribute.
- */
- assert (pthread_attr_init (&pattr) == 0);
- assert (pthread_attr_setdetachstate (&pattr,
- PTHREAD_CREATE_JOINABLE) == 0);
-
- /*
- * Initialize and create the waiter and condvar mutexes.
- */
- assert (pthread_mutexattr_init (&mattr) == 0);
- assert (pthread_mutex_init (&waiter_mutex, &mattr) == 0);
- assert (pthread_mutex_init (&cond_mutex, &mattr) == 0);
-
- /*
- * Initialize and create a condition variable.
- */
- assert (pthread_condattr_init (&cattr) == 0);
- assert (pthread_cond_init (&cond_var, &cattr) == 0);
-
- /* Create a pipe to catch the results of thread wakeups. */
- assert (pipe (pipefd) == 0);
-
-#ifdef DEBUG
- assert (pthread_switch_add_np (kern_switch) == 0);
-#endif
-
- /*
- * Create the waiting threads.
- */
- for (i = 0; i < NUM_THREADS; i++) {
- assert (pthread_cond_init (&states[i].cond_var, &cattr) == 0);
- states[i].id = (u_int8_t) i; /* NUM_THREADS must be <= 256 */
- states[i].status = 0;
- states[i].cmd.cmd_id = CMD_NONE;
- states[i].flags = 0; /* No flags yet. */
- assert (pthread_create (&states[i].tid, &pattr, waiter,
- (void *) &states[i]) == 0);
- param.sched_priority = main_prio - 10 + i;
- states[i].priority = param.sched_priority;
- assert (pthread_setschedparam (states[i].tid, SCHED_OTHER,
- &param) == 0);
-#if defined(__FreeBSD__)
- {
- char buf[30];
-
- snprintf (buf, sizeof(buf), "waiter_%d", i);
- pthread_set_name_np (states[i].tid, buf);
- }
-#endif
- }
-
- /* Allow the threads to start. */
- sleep (1);
- log_trace ("Done creating threads.\n");
-
- log ("\n");
- mutex_init_test ();
- log ("\n");
- mutex_destroy_test ();
- log ("\n");
- mutex_lock_test ();
- log ("\n");
- mutex_unlock_test ();
- log ("\n");
- queueing_order_test ();
- log ("\n");
- mutex_prioinherit_test ();
- log ("\n");
- mutex_prioceiling_test ();
- log ("\n");
-
- log ("Total tests %d, passed %d, failed %d\n",
- total, pass_count, error_count);
-
- /* Set the done flag and signal the threads to exit. */
- log_trace ("Setting done flag.\n");
- done = 1;
-
- /*
- * Wait for the threads to finish.
- */
- log_trace ("Trying to join threads.\n");
- for (i = 0; i < NUM_THREADS; i++) {
- send_cmd (i, CMD_NONE);
- assert (pthread_join (states[i].tid, &exit_status) == 0);
- }
-
- /* Clean up after ourselves. */
- close (pipefd[0]);
- close (pipefd[1]);
-
- if (error_count != 0)
- exit (EX_OSERR); /* any better ideas??? */
- else
- exit (EX_OK);
-}
diff --git a/lib/libc_r/uthread/uthread_exit.c b/lib/libc_r/uthread/uthread_exit.c
index 93b8b8358494..c54dbda2fd90 100644
--- a/lib/libc_r/uthread/uthread_exit.c
+++ b/lib/libc_r/uthread/uthread_exit.c
@@ -164,12 +164,18 @@ pthread_exit(void *status)
if (pthread_cond_signal(&_gc_cond) != 0)
PANIC("Cannot signal gc cond");
+ /*
+ * Mark the thread as dead so it will not return if it
+ * gets context switched out when the mutex is unlocked.
+ */
+ PTHREAD_SET_STATE(_thread_run, PS_DEAD);
+
/* Unlock the garbage collector mutex: */
if (pthread_mutex_unlock(&_gc_mutex) != 0)
PANIC("Cannot lock gc mutex");
/* This this thread will never be re-scheduled. */
- _thread_kern_sched_state(PS_DEAD, __FILE__, __LINE__);
+ _thread_kern_sched(NULL);
/* This point should not be reached. */
PANIC("Dead thread has resumed");
diff --git a/lib/libc_r/uthread/uthread_priority_queue.c b/lib/libc_r/uthread/uthread_priority_queue.c
index cc2b6e670a98..516a1e0a37b2 100644
--- a/lib/libc_r/uthread/uthread_priority_queue.c
+++ b/lib/libc_r/uthread/uthread_priority_queue.c
@@ -29,7 +29,6 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: uthread_priority_queue.c,v 1.2 1999/06/20 08:28:37 jb Exp $
*/
#include <stdlib.h>
#include <sys/queue.h>
@@ -41,51 +40,9 @@
/* Prototypes: */
static void pq_insert_prio_list(pq_queue_t *pq, int prio);
-#if defined(_PTHREADS_INVARIANTS)
-
-static int _pq_active = 0;
-
-#define _PQ_IN_SCHEDQ (PTHREAD_FLAGS_IN_PRIOQ | PTHREAD_FLAGS_IN_WAITQ | PTHREAD_FLAGS_IN_WORKQ)
-
-#define _PQ_SET_ACTIVE() _pq_active = 1
-#define _PQ_CLEAR_ACTIVE() _pq_active = 0
-#define _PQ_ASSERT_ACTIVE(msg) do { \
- if (_pq_active == 0) \
- PANIC(msg); \
-} while (0)
-#define _PQ_ASSERT_INACTIVE(msg) do { \
- if (_pq_active != 0) \
- PANIC(msg); \
-} while (0)
-#define _PQ_ASSERT_IN_WAITQ(thrd, msg) do { \
- if (((thrd)->flags & PTHREAD_FLAGS_IN_WAITQ) == 0) \
- PANIC(msg); \
-} while (0)
-#define _PQ_ASSERT_IN_PRIOQ(thrd, msg) do { \
- if (((thrd)->flags & PTHREAD_FLAGS_IN_PRIOQ) == 0) \
- PANIC(msg); \
-} while (0)
-#define _PQ_ASSERT_NOT_QUEUED(thrd, msg) do { \
- if ((thrd)->flags & _PQ_IN_SCHEDQ) \
- PANIC(msg); \
-} while (0)
-
-#else
-
-#define _PQ_SET_ACTIVE()
-#define _PQ_CLEAR_ACTIVE()
-#define _PQ_ASSERT_ACTIVE(msg)
-#define _PQ_ASSERT_INACTIVE(msg)
-#define _PQ_ASSERT_IN_WAITQ(thrd, msg)
-#define _PQ_ASSERT_IN_PRIOQ(thrd, msg)
-#define _PQ_ASSERT_NOT_QUEUED(thrd, msg)
-#define _PQ_CHECK_PRIO()
-
-#endif
-
int
-_pq_alloc(pq_queue_t *pq, int minprio, int maxprio)
+_pq_init(pq_queue_t *pq, int minprio, int maxprio)
{
int i, ret = 0;
int prioslots = maxprio - minprio + 1;
@@ -99,26 +56,8 @@ _pq_alloc(pq_queue_t *pq, int minprio, int maxprio)
ret = -1;
else {
- /* Remember the queue size: */
- pq->pq_size = prioslots;
-
- ret = _pq_init(pq);
-
- }
- return (ret);
-}
-
-int
-_pq_init(pq_queue_t *pq)
-{
- int i, ret = 0;
-
- if ((pq == NULL) || (pq->pq_lists == NULL))
- ret = -1;
-
- else {
/* Initialize the queue for each priority slot: */
- for (i = 0; i < pq->pq_size; i++) {
+ for (i = 0; i < prioslots; i++) {
TAILQ_INIT(&pq->pq_lists[i].pl_head);
pq->pq_lists[i].pl_prio = i;
pq->pq_lists[i].pl_queued = 0;
@@ -126,7 +65,9 @@ _pq_init(pq_queue_t *pq)
/* Initialize the priority queue: */
TAILQ_INIT(&pq->pq_queue);
- _PQ_CLEAR_ACTIVE();
+
+ /* Remember the queue size: */
+ pq->pq_size = prioslots;
}
return (ret);
}
@@ -136,27 +77,7 @@ _pq_remove(pq_queue_t *pq, pthread_t pthread)
{
int prio = pthread->active_priority;
- /*
- * Make some assertions when debugging is enabled:
- */
- _PQ_ASSERT_INACTIVE("_pq_remove: pq_active");
- _PQ_SET_ACTIVE();
- _PQ_ASSERT_IN_PRIOQ(pthread, "_pq_remove: Not in priority queue");
-
- /*
- * Remove this thread from priority list. Note that if
- * the priority list becomes empty, it is not removed
- * from the priority queue because another thread may be
- * added to the priority list (resulting in a needless
- * removal/insertion). Priority lists are only removed
- * from the priority queue when _pq_first is called.
- */
TAILQ_REMOVE(&pq->pq_lists[prio].pl_head, pthread, pqe);
-
- /* This thread is now longer in the priority queue. */
- pthread->flags &= ~PTHREAD_FLAGS_IN_PRIOQ;
-
- _PQ_CLEAR_ACTIVE();
}
@@ -165,23 +86,10 @@ _pq_insert_head(pq_queue_t *pq, pthread_t pthread)
{
int prio = pthread->active_priority;
- /*
- * Make some assertions when debugging is enabled:
- */
- _PQ_ASSERT_INACTIVE("_pq_insert_head: pq_active");
- _PQ_SET_ACTIVE();
- _PQ_ASSERT_NOT_QUEUED(pthread,
- "_pq_insert_head: Already in priority queue");
-
TAILQ_INSERT_HEAD(&pq->pq_lists[prio].pl_head, pthread, pqe);
if (pq->pq_lists[prio].pl_queued == 0)
/* Insert the list into the priority queue: */
pq_insert_prio_list(pq, prio);
-
- /* Mark this thread as being in the priority queue. */
- pthread->flags |= PTHREAD_FLAGS_IN_PRIOQ;
-
- _PQ_CLEAR_ACTIVE();
}
@@ -190,23 +98,10 @@ _pq_insert_tail(pq_queue_t *pq, pthread_t pthread)
{
int prio = pthread->active_priority;
- /*
- * Make some assertions when debugging is enabled:
- */
- _PQ_ASSERT_INACTIVE("_pq_insert_tail: pq_active");
- _PQ_SET_ACTIVE();
- _PQ_ASSERT_NOT_QUEUED(pthread,
- "_pq_insert_tail: Already in priority queue");
-
TAILQ_INSERT_TAIL(&pq->pq_lists[prio].pl_head, pthread, pqe);
if (pq->pq_lists[prio].pl_queued == 0)
/* Insert the list into the priority queue: */
pq_insert_prio_list(pq, prio);
-
- /* Mark this thread as being in the priority queue. */
- pthread->flags |= PTHREAD_FLAGS_IN_PRIOQ;
-
- _PQ_CLEAR_ACTIVE();
}
@@ -216,12 +111,6 @@ _pq_first(pq_queue_t *pq)
pq_list_t *pql;
pthread_t pthread = NULL;
- /*
- * Make some assertions when debugging is enabled:
- */
- _PQ_ASSERT_INACTIVE("_pq_first: pq_active");
- _PQ_SET_ACTIVE();
-
while (((pql = TAILQ_FIRST(&pq->pq_queue)) != NULL) &&
(pthread == NULL)) {
if ((pthread = TAILQ_FIRST(&pql->pl_head)) == NULL) {
@@ -235,8 +124,6 @@ _pq_first(pq_queue_t *pq)
pql->pl_queued = 0;
}
}
-
- _PQ_CLEAR_ACTIVE();
return (pthread);
}
@@ -247,14 +134,9 @@ pq_insert_prio_list(pq_queue_t *pq, int prio)
pq_list_t *pql;
/*
- * Make some assertions when debugging is enabled:
- */
- _PQ_ASSERT_ACTIVE("pq_insert_prio_list: pq_active");
-
- /*
* The priority queue is in descending priority order. Start at
* the beginning of the queue and find the list before which the
- * new list should be inserted.
+ * new list should to be inserted.
*/
pql = TAILQ_FIRST(&pq->pq_queue);
while ((pql != NULL) && (pql->pl_prio > prio))
@@ -270,66 +152,4 @@ pq_insert_prio_list(pq_queue_t *pq, int prio)
pq->pq_lists[prio].pl_queued = 1;
}
-#if defined(_PTHREADS_INVARIANTS)
-void
-_waitq_insert(pthread_t pthread)
-{
- pthread_t tid;
-
- /*
- * Make some assertions when debugging is enabled:
- */
- _PQ_ASSERT_INACTIVE("_waitq_insert: pq_active");
- _PQ_SET_ACTIVE();
- _PQ_ASSERT_NOT_QUEUED(pthread, "_waitq_insert: Already in queue");
-
- if (pthread->wakeup_time.tv_sec == -1)
- TAILQ_INSERT_TAIL(&_waitingq, pthread, pqe);
- else {
- tid = TAILQ_FIRST(&_waitingq);
- while ((tid != NULL) && (tid->wakeup_time.tv_sec != -1) &&
- ((tid->wakeup_time.tv_sec < pthread->wakeup_time.tv_sec) ||
- ((tid->wakeup_time.tv_sec == pthread->wakeup_time.tv_sec) &&
- (tid->wakeup_time.tv_nsec <= pthread->wakeup_time.tv_nsec))))
- tid = TAILQ_NEXT(tid, pqe);
- if (tid == NULL)
- TAILQ_INSERT_TAIL(&_waitingq, pthread, pqe);
- else
- TAILQ_INSERT_BEFORE(tid, pthread, pqe);
- }
- pthread->flags |= PTHREAD_FLAGS_IN_WAITQ;
-
- _PQ_CLEAR_ACTIVE();
-}
-
-void
-_waitq_remove(pthread_t pthread)
-{
- /*
- * Make some assertions when debugging is enabled:
- */
- _PQ_ASSERT_INACTIVE("_waitq_remove: pq_active");
- _PQ_SET_ACTIVE();
- _PQ_ASSERT_IN_WAITQ(pthread, "_waitq_remove: Not in queue");
-
- TAILQ_REMOVE(&_waitingq, pthread, pqe);
- pthread->flags &= ~PTHREAD_FLAGS_IN_WAITQ;
-
- _PQ_CLEAR_ACTIVE();
-}
-
-void
-_waitq_setactive(void)
-{
- _PQ_ASSERT_INACTIVE("_waitq_setactive: pq_active");
- _PQ_SET_ACTIVE();
-}
-
-void
-_waitq_clearactive(void)
-{
- _PQ_ASSERT_ACTIVE("_waitq_clearactive: ! pq_active");
- _PQ_CLEAR_ACTIVE();
-}
-#endif
#endif
diff --git a/lib/libc_r/uthread/uthread_setschedparam.c b/lib/libc_r/uthread/uthread_setschedparam.c
index f1ce72ec3538..93635da449cd 100644
--- a/lib/libc_r/uthread/uthread_setschedparam.c
+++ b/lib/libc_r/uthread/uthread_setschedparam.c
@@ -29,7 +29,6 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: uthread_setschedparam.c,v 1.2 1999/06/20 08:28:44 jb Exp $
*/
#include <errno.h>
#include <sys/param.h>
@@ -51,10 +50,10 @@ pthread_setschedparam(pthread_t pthread, int policy, struct sched_param *param)
/* Find the thread in the list of active threads: */
else if ((ret = _find_thread(pthread)) == 0) {
/*
- * Defer signals to protect the scheduling queues from
- * access by the signal handler:
+ * Guard against being preempted by a scheduling
+ * signal:
*/
- _thread_kern_sig_defer();
+ _thread_kern_sched_defer();
if (param->sched_priority != pthread->base_priority) {
/*
@@ -62,7 +61,8 @@ pthread_setschedparam(pthread_t pthread, int policy, struct sched_param *param)
* queue before any adjustments are made to its
* active priority:
*/
- if ((pthread->flags & PTHREAD_FLAGS_IN_PRIOQ) != 0) {
+ if ((pthread != _thread_run) &&
+ (pthread->state == PS_RUNNING)) {
in_readyq = 1;
old_prio = pthread->active_priority;
PTHREAD_PRIOQ_REMOVE(pthread);
@@ -103,10 +103,10 @@ pthread_setschedparam(pthread_t pthread, int policy, struct sched_param *param)
pthread->attr.sched_policy = policy;
/*
- * Undefer and handle pending signals, yielding if
- * necessary:
+ * Renable preemption and yield if a scheduling signal
+ * arrived while in the critical region:
*/
- _thread_kern_sig_undefer();
+ _thread_kern_sched_undefer();
}
return(ret);
}
diff --git a/lib/libutil/login_class.c b/lib/libutil/login_class.c
index 15b16d384d83..3887541a409e 100644
--- a/lib/libutil/login_class.c
+++ b/lib/libutil/login_class.c
@@ -21,7 +21,7 @@
*
* High-level routines relating to use of the user capabilities database
*
- * $Id$
+ * $Id: login_class.c,v 1.9 1998/07/28 01:30:16 ache Exp $
*/
#include <stdio.h>
@@ -163,7 +163,7 @@ substvar(char * var, const struct passwd * pwd, int hlen, int pch, int nlen)
while (*(p += strcspn(p, "~$")) != '\0') {
int l = strlen(p);
- if (p > np && *(p-1) == '\\') /* Escaped: */
+ if (p > var && *(p-1) == '\\') /* Escaped: */
memmove(p - 1, p, l + 1); /* Slide-out the backslash */
else if (*p == '~') {
int v = pch && *(p+1) != '/'; /* Avoid double // */
diff --git a/release/sysinstall/config.c b/release/sysinstall/config.c
index 97c81b14894a..d39c48cd4251 100644
--- a/release/sysinstall/config.c
+++ b/release/sysinstall/config.c
@@ -4,7 +4,7 @@
* This is probably the last program in the `sysinstall' line - the next
* generation being essentially a complete rewrite.
*
- * $Id: config.c,v 1.115.2.17 1999/05/14 15:04:45 jkh Exp $
+ * $Id: config.c,v 1.115.2.19 1999/05/15 15:05:23 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@@ -514,7 +514,7 @@ configXDesktop(dialogMenuItem *self)
else if (!strcmp(desk, "windowmaker")) {
ret = package_add("windowmaker");
if (DITEM_STATUS(ret) != DITEM_FAILURE && gotit("wmaker.inst")) {
- write_root_xprofile("xterm &\n[ ! -d $HOME/GNUstep/Library/WindowMaker ] && /usr/X11R6/bin/wmaker.inst && exec /usr/X11R6/bin/wmaker\n");
+ write_root_xprofile("xterm &\n[ ! -d $HOME/GNUstep/Library/WindowMaker ] && /usr/X11R6/bin/wmaker.inst\nexec /usr/X11R6/bin/wmaker\n");
}
}
else if (!strcmp(desk, "enlightenment")) {
@@ -552,9 +552,11 @@ tryagain:
}
if (file_readable("/var/run/ld.so.hints"))
- systemExecute("/sbin/ldconfig -m /usr/lib /usr/X11R6/lib /usr/local/lib /usr/lib/compat");
+ vsystem("/sbin/ldconfig -m /usr/lib /usr/X11R6/lib /usr/local/lib /usr/lib/compat");
else
- systemExecute("/sbin/ldconfig /usr/lib /usr/X11R6/lib /usr/local/lib /usr/lib/compat");
+ vsystem("/sbin/ldconfig /usr/lib /usr/X11R6/lib /usr/local/lib /usr/lib/compat");
+ vsystem("/sbin/ldconfig -aout /usr/lib/compat/aout /usr/lib/aout /usr/X11R6/lib/aout /usr/local/lib/aout");
+ vsystem("/sbin/ifconfig lo0 127.0.0.1");
execfile = string_concat("/usr/X11R6/bin/", config);
if (file_executable(execfile)) {
dialog_clear_norefresh();
diff --git a/release/sysinstall/package.c b/release/sysinstall/package.c
index d7f8588d939d..f41b3ddff8f6 100644
--- a/release/sysinstall/package.c
+++ b/release/sysinstall/package.c
@@ -4,7 +4,7 @@
* This is probably the last program in the `sysinstall' line - the next
* generation being essentially a complete rewrite.
*
- * $Id: package.c,v 1.65.2.7 1999/05/14 14:58:17 jkh Exp $
+ * $Id: package.c,v 1.65.2.8 1999/05/15 14:38:44 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@@ -126,6 +126,7 @@ package_extract(Device *dev, char *name, Boolean depended)
/* If necessary, initialize the ldconfig hints */
if (!file_readable("/var/run/ld.so.hints"))
vsystem("ldconfig /usr/lib /usr/local/lib /usr/X11R6/lib");
+ vsystem("/sbin/ldconfig -aout /usr/lib/compat/aout /usr/lib/aout /usr/X11R6/lib/aout /usr/local/lib/aout");
/* Be initially optimistic */
ret = DITEM_SUCCESS | DITEM_RESTORE;
diff --git a/share/examples/bootforth/loader.rc b/share/examples/bootforth/loader.rc
deleted file mode 100644
index ef0f96063fab..000000000000
--- a/share/examples/bootforth/loader.rc
+++ /dev/null
@@ -1,34 +0,0 @@
-\ Example of the file which is automatically loaded by /boot/loader
-\ on startup.
-\ $Id: loader.rc,v 1.1 1999/05/14 18:06:27 dcs Exp $
-
-cr .( Loading Forth extensions:)
-
-\ Load configuration file words
-
-cr .( - loader.4th...)
-
-include /boot/loader.4th
-
-\ Load the screen manipulation words
-
-cr .( - screen.4th...)
-s" /boot/screen.4th" fopen dup fload fclose
-
-\ Load frame support
-cr .( - frames.4th...)
-s" /boot/frames.4th" fopen dup fload fclose
-
-\ Load our little menu
-cr .( - menuconf.4th...)
-s" /boot/menuconf.4th" fopen dup fload fclose
-
-\ Initialize loader.4th stuff
-
-cr cr .( Initializing loader.4th...)
-initialize drop
-
-\ Show the menu
-cr
-main_menu
-
diff --git a/share/examples/bootforth/menuconf.4th b/share/examples/bootforth/menuconf.4th
deleted file mode 100644
index 2711204f89ce..000000000000
--- a/share/examples/bootforth/menuconf.4th
+++ /dev/null
@@ -1,110 +0,0 @@
-\ Simple greeting screen, presenting basic options.
-\ XXX This is far too trivial - I don't have time now to think
-\ XXX about something more fancy... :-/
-\ $Id$
-
-: title
- f_single
- 60 11 10 4 box
- 29 4 at-xy 15 fg 7 bg
- ." Welcome to BootFORTH!"
- me
-;
-
-: menu
- 2 fg
- 20 7 at-xy
- ." 1. Start FreeBSD with /boot/stable.conf."
- 20 8 at-xy
- ." 2. Start FreeBSD with /boot/current.conf."
- 20 9 at-xy
- ." 3. Start FreeBSD with standard configuration. "
- 20 10 at-xy
- ." 4. Reboot."
- me
-;
-
-: tkey ( d -- flag | char )
- seconds +
- begin 1 while
- dup seconds u< if
- drop
- -1
- exit
- then
- key? if
- drop
- key
- exit
- then
- repeat
-;
-
-: prompt
- 14 fg
- 20 12 at-xy
- ." Enter your option (1,2,3,4): "
- 10 tkey
- dup 32 = if
- drop key
- then
- dup 0< if
- drop 51
- then
- dup emit
- me
-;
-
-: help_text
- 10 18 at-xy ." * Choose 1 or 2 to run special configuration file."
- 10 19 at-xy ." * Choose 3 to proceed with standard bootstrapping."
- 12 20 at-xy ." See '?' for available commands, and 'words' for"
- 12 21 at-xy ." complete list of Forth words."
- 10 22 at-xy ." * Choose 4 in order to warm boot your machine."
-;
-
-: (reboot) 0 reboot ;
-
-: main_menu
- begin 1 while
- clear
- f_double
- 79 23 1 1 box
- title
- menu
- help_text
- prompt
- cr cr cr
- dup 49 = if
- drop
- 1 25 at-xy cr
- ." Loading /boot/stable.conf. Please wait..." cr
- s" /boot/stable.conf" read-conf
- boot-conf
- then
- dup 50 = if
- drop
- 1 25 at-xy cr
- ." Loading /boot/current.conf. Please wait..." cr
- s" /boot/current.conf" read-conf
- boot-conf
- then
- dup 51 = if
- drop
- 1 25 at-xy cr
- ." Proceeding with standard boot. Please wait..." cr
- boot-conf
- then
- dup 52 = if
- drop
- 1 25 at-xy cr
- ['] (reboot) catch abort" Error rebooting"
- then
- 20 12 at-xy
- ." Key " emit ." is not a valid option!"
- 20 13 at-xy
- ." Press any key to continue..."
- key drop
- repeat
-;
-
diff --git a/share/examples/diskless/209.157.86.12/README b/share/examples/diskless/209.157.86.12/README
deleted file mode 100644
index 0b52492979f2..000000000000
--- a/share/examples/diskless/209.157.86.12/README
+++ /dev/null
@@ -1,27 +0,0 @@
-
- kernel, rc.local, and xdm-config are typically softlinks. Plus other
- files, of course, depending on how you setup your system.
-
- rc.local and xdm-config might be softlinks into HT.DISKLESS, allowing
- you to ease system administration when managing many diskless
- workstations. You can also play other tricks, such as I play in
- rc.conf.local by having it source ../HT.DISKLESS/rc.conf.local to get
- class-based defaults.
-
- Note: the ttys file below contains an example of how to have X startup
- on boot.
-
-apollo:/conf/209.157.86.12# ls -la
-total 7
-drwxr-xr-x 2 root wheel 512 Feb 9 00:27 .
-drwxr-xr-x 8 root wheel 512 Feb 8 22:48 ..
-lrwxr-xr-x 1 root wheel 20 Feb 8 22:04 fstab -> ../HT.DISKLESS/fstab
-lrwxr-xr-x 1 root wheel 17 Jan 24 23:33 kernel -> /kernel.diskless2
--rw-r--r-- 1 root wheel 133 Feb 8 22:04 rc.conf.local
-lrwxr-xr-x 1 root wheel 23 Jan 25 00:41 rc.local -> ../HT.DISKLESS/rc.local
--rw------- 1 root wheel 539 Jan 17 15:29 ssh_host_key
--rw-r--r-- 1 root wheel 343 Jan 17 15:29 ssh_host_key.pub
-lrwxr-xr-x 1 root wheel 26 Feb 9 00:27 syslog.conf -> ../HT.DISKLESS/syslog.conf
--rw-r--r-- 1 root wheel 1408 Feb 8 19:54 ttys
-lrwxr-xr-x 1 root wheel 25 Jan 25 00:38 xdm-config -> ../HT.DISKLESS/xdm-config
-
diff --git a/share/examples/diskless/209.157.86.12/rc.conf.local b/share/examples/diskless/209.157.86.12/rc.conf.local
deleted file mode 100644
index 181c6723708f..000000000000
--- a/share/examples/diskless/209.157.86.12/rc.conf.local
+++ /dev/null
@@ -1,9 +0,0 @@
-# DISKLESS RC.CONF.LOCAL
-#
-# Override system standard /etc/rc.conf
-
-. /conf/HT.DISKLESS/rc.conf.local
-
-hostname=test2.backplane.com
-start_xdm=NO
-
diff --git a/share/examples/diskless/209.157.86.12/ssh_host_key b/share/examples/diskless/209.157.86.12/ssh_host_key
deleted file mode 100644
index ee90cd252e87..000000000000
--- a/share/examples/diskless/209.157.86.12/ssh_host_key
+++ /dev/null
Binary files differ
diff --git a/share/examples/diskless/209.157.86.12/ssh_host_key.pub b/share/examples/diskless/209.157.86.12/ssh_host_key.pub
deleted file mode 100644
index 7c99d2c0eb3b..000000000000
--- a/share/examples/diskless/209.157.86.12/ssh_host_key.pub
+++ /dev/null
@@ -1 +0,0 @@
-1024 33 131532587310298436102876167134780549224884868848048954510241288010381123823834489593599651234236801895942903979896941799980786675282403650831462626987993609590967535749256449810953893747928248417183421903403076895749793372279190481189373438759742396152779236777836204647146078686957945395785442097357022574693 root@apollo.backplane.com
diff --git a/share/examples/diskless/HT.DISKLESS/fstab b/share/examples/diskless/HT.DISKLESS/fstab
deleted file mode 100644
index f1ee38f2c2bd..000000000000
--- a/share/examples/diskless/HT.DISKLESS/fstab
+++ /dev/null
@@ -1,5 +0,0 @@
-# fstab for diskless machine. Root is already mounted, as is swap.
-#
-209.157.86.2:/usr /usr nfs ro 0 0
-209.157.86.2:/var /var nfs ro 0 0
-proc /proc procfs rw 0 0
diff --git a/share/examples/diskless/HT.DISKLESS/rc.conf.local b/share/examples/diskless/HT.DISKLESS/rc.conf.local
deleted file mode 100644
index 16ddd1d7f18e..000000000000
--- a/share/examples/diskless/HT.DISKLESS/rc.conf.local
+++ /dev/null
@@ -1,34 +0,0 @@
-# DISKLESS RC.CONF.LOCAL
-#
-# Override system standard /etc/rc.conf
-
-ldconfig_paths="$ldconfig_paths /usr/krb5/lib"
-ldconfig_paths_aout="$ldconfig_paths_aout /usr/krb5/lib/aout"
-
-# Must do NFS mounts early
-# Must not attempt to mount root rw
-#
-early_nfs_mounts="YES"
-root_rw_mount="NO"
-
-inetd_enable="NO"
-portmap_enable="NO"
-router_enable="NO"
-cron_enable="NO"
-sendmail_enable="NO"
-
-# Enable additional services
-#
-
-nfs_client_enable="YES"
-lpd_enable="YES"
-ntpdate_enable="YES"
-ntpdate_flags="apollo.backplane.com"
-xntpd_enable="YES"
-
-if [ -f /etc/ipfw.conf ]; then
- firewall_enable="YES"
- firewall_type="/etc/ipfw.conf"
- firewall_quiet="NO"
-fi
-
diff --git a/share/examples/diskless/HT.DISKLESS/rc.local b/share/examples/diskless/HT.DISKLESS/rc.local
deleted file mode 100755
index f473d4152168..000000000000
--- a/share/examples/diskless/HT.DISKLESS/rc.local
+++ /dev/null
@@ -1,77 +0,0 @@
-#!/bin/sh
-
-if [ -f /etc/rc.conf ]; then
- . /etc/rc.conf
-fi
-
-# Firewall helper - if we configure the firewall to let through
-# ports > 4000, we need to configure the machines as such.
-#
-
-sysctl -w net.inet.ip.portrange.first=4000
-
-# Setup spool
-#
-
-cat >> /var/spool/lpd/ljet4.ps << EOF
-#!/bin/sh
-#
-
-gs -q -dSAFER -dNOPAUSE -sDEVICE=ljet4 -r600x600 -dBitsPerPixel=1 \
- -sOutputFile=- -
-EOF
-
-chmod 755 /var/spool/lpd/ljet4.ps
-
-mkdir /var/spool/ljet4
-chown daemon /var/spool/ljet4
-
-# Setup remote source
-#
-
-mount_mfs -s 600000 -T qp120at dummy /src
-mount apollo:/FreeBSD /FreeBSD
-mkdir /src/u3
-mkdir /src/u3/usr.obj
-
-# Copy of ssh_host_key* files to where sshd
-# expects them, assuming you add to /usr/local/etc/sshd_config:
-#
-# HostKey /var/db/ssh_host_key
-#
-# Then restart sshd ( the /usr/local/etc/rc.d script installed by
-# the port probably failed due to the lack of host keys )
-
-if [ -f /conf/ME/ssh_host_key ]; then
- cp /conf/ME/ssh_host_key* /var/db
-else
- (cd /var/db; ssh-keygen -f ssh_host_key -P "")
-fi
-chmod 400 /var/db/ssh_host_key
-chmod 644 /var/db/ssh_host_key.pub
-/usr/local/sbin/sshd
-
-# Copy home directory so you can login
-#
-#
-
-mount_mfs -s 65536 -T qp120at dummy /home
-
-if [ -d /home.diskless ]; then
- cd /home.diskless
- for i in *; do
- if [ -f $i/home.tgz ]; then
- mkdir /home/$i
- chown $i /home/$i
- chmod 700 /home/$i
- (cd /home/$i; tar xzpf /home.diskless/$i/home.tgz)
- homeok=1
- fi
- done
-fi
-
-if [ "${homeok:=0}" = "0" ]; then
- echo "ERROR, NO /home.diskless DIRECTORY TO COPY TO /HOME"
- sleep 10
-fi
-
diff --git a/share/examples/diskless/HT.DISKLESS/syslog.conf b/share/examples/diskless/HT.DISKLESS/syslog.conf
deleted file mode 100644
index a7df1e96deea..000000000000
--- a/share/examples/diskless/HT.DISKLESS/syslog.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-*.err;kern.debug;auth.notice;mail.crit;lpr.info /dev/console
-*.err;kern.debug;auth.notice;mail.crit root
-*.emerg *
diff --git a/share/examples/diskless/HT.DISKLESS/ttys b/share/examples/diskless/HT.DISKLESS/ttys
deleted file mode 100644
index 2c357d4b3b3b..000000000000
--- a/share/examples/diskless/HT.DISKLESS/ttys
+++ /dev/null
@@ -1,52 +0,0 @@
-#
-# @(#)ttys 5.1 (Berkeley) 4/17/89
-#
-# name getty type status comments
-#
-# This entry needed for asking password when init goes to single-user mode
-# If you want to be asked for password, change "secure" to "insecure" here
-console none unknown off secure
-#
-ttyv0 "/usr/X11R6/bin/xdm -nodaemon -config /conf/209.157.86.6/xdm-config" cons25 on secure
-# Virtual terminals
-ttyv1 "/usr/libexec/getty Pc" cons25 on secure
-ttyv2 "/usr/libexec/getty Pc" cons25 on secure
-ttyv3 "/usr/libexec/getty Pc" cons25 on secure
-# Serial terminals
-ttyd0 "/usr/libexec/getty std.9600" unknown off secure
-ttyd1 "/usr/libexec/getty std.9600" unknown off secure
-ttyd2 "/usr/libexec/getty std.9600" unknown off secure
-ttyd3 "/usr/libexec/getty std.9600" unknown off secure
-# Pseudo terminals
-ttyp0 none network
-ttyp1 none network
-ttyp2 none network
-ttyp3 none network
-ttyp4 none network
-ttyp5 none network
-ttyp6 none network
-ttyp7 none network
-ttyp8 none network
-ttyp9 none network
-ttypa none network
-ttypb none network
-ttypc none network
-ttypd none network
-ttype none network
-ttypf none network
-ttypg none network
-ttyph none network
-ttypi none network
-ttypj none network
-ttypk none network
-ttypl none network
-ttypm none network
-ttypn none network
-ttypo none network
-ttypp none network
-ttypq none network
-ttypr none network
-ttyps none network
-ttypt none network
-ttypu none network
-ttypv none network
diff --git a/share/examples/diskless/HT.DISKLESS/xdm-config b/share/examples/diskless/HT.DISKLESS/xdm-config
deleted file mode 100644
index 88ad35fbeea7..000000000000
--- a/share/examples/diskless/HT.DISKLESS/xdm-config
+++ /dev/null
@@ -1,15 +0,0 @@
-! $XConsortium: xdm-conf.cpp,v 1.2 93/09/28 14:30:32 gildea Exp $
-DisplayManager.errorLogFile: /var/run/xdm-errors
-DisplayManager.pidFile: /var/run/xdm-pid
-DisplayManager.servers: /usr/X11R6/lib/X11/xdm/Xservers-1
-DisplayManager.keyFile: /usr/X11R6/lib/X11/xdm/xdm-keys
-DisplayManager.servers: /usr/X11R6/lib/X11/xdm/Xservers
-DisplayManager.accessFile: /usr/X11R6/lib/X11/xdm/Xaccess
-DisplayManager._0.authorize: true
-DisplayManager._0.setup: /usr/X11R6/lib/X11/xdm/Xsetup_0
-DisplayManager._0.startup: /usr/X11R6/lib/X11/xdm/GiveConsole
-DisplayManager._0.reset: /usr/X11R6/lib/X11/xdm/TakeConsole
-DisplayManager*resources: /usr/X11R6/lib/X11/xdm/Xresources
-DisplayManager*session: /usr/X11R6/lib/X11/xdm/Xsession
-DisplayManager*authComplain: false
-
diff --git a/share/examples/diskless/HT.STD/aliases b/share/examples/diskless/HT.STD/aliases
deleted file mode 100644
index 5988f793f814..000000000000
--- a/share/examples/diskless/HT.STD/aliases
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-# @(#)aliases 5.3 (Berkeley) 5/24/90
-#
-# Aliases in this file will NOT be expanded in the header from
-# Mail, but WILL be visible over networks or from /bin/mail.
-#
-# >>>>>>>>>> The program "newaliases" must be run after
-# >> NOTE >> this file is updated for any changes to
-# >>>>>>>>>> show through to sendmail.
-#
-
-# Basic system aliases -- these MUST be present
-MAILER-DAEMON: postmaster
-postmaster: root
-
-# General redirections for pseudo accounts
-bin: root
-daemon: root
-games: root
-ingres: root
-nobody: root
-system: root
-toor: root
-uucp: root
-usenet: root
-root: root@backplane.com
-
-diablo: dillon
-diablo-bugs: dillon
-
diff --git a/share/examples/diskless/HT.STD/forward.map b/share/examples/diskless/HT.STD/forward.map
deleted file mode 100644
index d4253f8734c6..000000000000
--- a/share/examples/diskless/HT.STD/forward.map
+++ /dev/null
@@ -1,6 +0,0 @@
-# @(#)forward.map 1.1 1/17/95
-#
-# Put addresses to be forwarded here. Example:
-#
-# garyw@mojosoft.com charliex@best.com
-#
diff --git a/share/examples/diskless/HT.STD/ndomain.map b/share/examples/diskless/HT.STD/ndomain.map
deleted file mode 100644
index 63011d08ca91..000000000000
--- a/share/examples/diskless/HT.STD/ndomain.map
+++ /dev/null
@@ -1,11 +0,0 @@
-#
-# example:
-# fofs.com markl@shellx.best.com
-#
-# NOTE: FORWARD.MAP can be used to override NDOMAIN.MAP for specific
-# users. NDOMAIN.MAP would then act as a catch-all
-#
-# NOTE: NDOMAIN.MAP only works to two levels. I.E. if you have an
-# entry for fubar.com, then user@fubar.com will work and
-# user@host.fubar.com will work, but NOT user@host.dom.fubar.com
-#
diff --git a/share/examples/diskless/HT.STD/syslog.conf b/share/examples/diskless/HT.STD/syslog.conf
deleted file mode 100644
index cb92c6e6db07..000000000000
--- a/share/examples/diskless/HT.STD/syslog.conf
+++ /dev/null
@@ -1,11 +0,0 @@
-*.err;kern.debug;auth.notice;mail.crit /dev/console
-# *.notice;kern.debug;lpr,auth.info;mail.crit /var/log/messages
-*.debug;kern.debug;lpr,auth.info;mail.crit;news.crit /var/log/messages
-mail.info /var/log/maillog
-news.info /var/log/news
-lpr.info /var/log/lpd-errs
-cron.* /var/log/cron
-#*.err root
-#*.notice;auth.debug root
-#*.alert root
-*.emerg *
diff --git a/share/examples/diskless/HT.STD/ttys b/share/examples/diskless/HT.STD/ttys
deleted file mode 100644
index bcd059bd9091..000000000000
--- a/share/examples/diskless/HT.STD/ttys
+++ /dev/null
@@ -1,52 +0,0 @@
-#
-# @(#)ttys 5.1 (Berkeley) 4/17/89
-#
-# name getty type status comments
-#
-# This entry needed for asking password when init goes to single-user mode
-# If you want to be asked for password, change "secure" to "insecure" here
-console none unknown off secure
-#
-ttyv0 "/usr/libexec/getty Pc" cons25 on secure
-# Virtual terminals
-ttyv1 "/usr/libexec/getty Pc" cons25 on secure
-ttyv2 "/usr/libexec/getty Pc" cons25 on secure
-ttyv3 "/usr/libexec/getty Pc" cons25 on secure
-# Serial terminals
-ttyd0 "/usr/libexec/getty std.9600" unknown off secure
-ttyd1 "/usr/libexec/getty std.9600" unknown off secure
-ttyd2 "/usr/libexec/getty std.9600" unknown off secure
-ttyd3 "/usr/libexec/getty std.9600" unknown off secure
-# Pseudo terminals
-ttyp0 none network
-ttyp1 none network
-ttyp2 none network
-ttyp3 none network
-ttyp4 none network
-ttyp5 none network
-ttyp6 none network
-ttyp7 none network
-ttyp8 none network
-ttyp9 none network
-ttypa none network
-ttypb none network
-ttypc none network
-ttypd none network
-ttype none network
-ttypf none network
-ttypg none network
-ttyph none network
-ttypi none network
-ttypj none network
-ttypk none network
-ttypl none network
-ttypm none network
-ttypn none network
-ttypo none network
-ttypp none network
-ttypq none network
-ttypr none network
-ttyps none network
-ttypt none network
-ttypu none network
-ttypv none network
diff --git a/share/examples/diskless/ME b/share/examples/diskless/ME
deleted file mode 100644
index 85178e088a54..000000000000
--- a/share/examples/diskless/ME
+++ /dev/null
@@ -1,37 +0,0 @@
-
-When templating, /conf/ME is typically a softlink to
-/conf/<appropriate-machine>. When doing a diskless boot, /conf/ME is
-retargeted by /etc/rc.diskless1 from pointing to the server to pointing
-to the client's directory, /conf/<ip-address-of-client>. The retargeting
-is accomplished through an MFS -o union mount.
-
-When templating, this softlink should be different for each machine.
-When doing a diskless boot, this softlink is typically part of the / NFS
-mount from the server and points to the server's conf directory, but gets
-retargeted during the /etc/rc.diskless1 phase.
-
-System-wide configuration files must generally be targeted through /conf/ME.
-For example, your /etc/rc.conf.local should become a softlink to
-/conf/ME/rc.conf.local and your real rc.conf.local should go into the
-appropriate /conf/<appropriate-machine> directory. This is also true of
-/etc/rc.local, /etc/fstab, /etc/syslog.conf, /etc/ccd.conf, /etc/ipfw.conf,
-/etc/motd, /etc/resolv.conf, and possibly even /etc/ttys ( if you want
-to start an X session up on boot on certain of your machines ).
-
-When templating, you duplicate your / and /usr partitions on each machine's
-local disk from a single master ( assuming /var and /home reside elsewhere ),
-EXCEPT for the /conf/ME softlink. The /conf/ME softlink is the only thing
-on / that should be different for each machine.
-
-There are often categories of configuration files. For example, all of your
-shell machines may use one resolv.conf while all of your mail proxies may
-use another. Configuration files can be categorized fairly easily through
-/conf/HT.<category> directories. You put the actual configuration file in
-/conf/HT.<category> and make a softlink from
-/conf/ME/<appropriate-machines>/config-file to "../HT.<category/config-file".
-This means that access to these files tends to run through more then one
-softlink. The advantage is that for all the complexity of your /conf
-directory hierarchy, most of your common config files exist in only one place
-in reality.
-
-
diff --git a/share/examples/diskless/README.BOOTP b/share/examples/diskless/README.BOOTP
deleted file mode 100644
index 0032e80230e7..000000000000
--- a/share/examples/diskless/README.BOOTP
+++ /dev/null
@@ -1,157 +0,0 @@
-
- BOOTP configuration mechanism
-
- Matthew Dillon
- dillon@backplane.com
-
- BOOTP kernels automatically configure the machine's IP address, netmask,
- optional NFS based swap, and NFS based root mount. The NFS server will
- typically export a shared read-only /, /usr, and /var to any number of
- workstations. The shared read-only root is typically either the server's
- own root or, if you are more security concious, a contrived root.
-
- The key issue with starting up a BOOTP kernel is that you typically want
- to export read-only NFS partitions from the server, yet still be able to
- customize each workstation ( or not ).
-
- /etc/rc.diskless1 is responsible for doing core mounts and for retargeting
- /conf/ME ( part of the read-only root NFS mount ) to /conf/$IP_OF_CLIENT.
- /etc/rc.conf.local and /etc/rc.local, along with other machine-specific
- configuration files, are typically softlinks to /conf/ME/<filename>.
-
- In the BOOTP workstation /conf/$IP/rc.conf.local, you must typically
- turn *OFF* most of the system option defaults in /etc/rc.conf as well
- as do additional custom configuration of your environment
-
- The /usr/src/share/examples/diskless directory contains a typical
- X session / sshd based workstation configuration. The directories
- involved are HT.DISKLESS/ and 192.157.86.12/.
-
- Essentially, the $IP/ directory ( which rc.diskless looks for in
- /conf/$IP/ ) contains all the junk. The HT.DISKLESS directory exists
- to hold common elements of your custom configuration so you do not have
- to repeat those elements for each workstation. The example /conf
- structure included here shows how to create a working sshd setup ( so
- you can sshd into the diskless workstation ), retarget xdm's pid and error
- files to R+W directories if /usr is mounted read-only, and retarget
- syslogd and other programs. This example is not designed to run out of
- the box and some modifications are required.
-
- >> NOTE << HT.DISKLESS/ttys contains the typical configuration required
- to bring X up at boot time. Essentially, it runs xdm in the foreground
- with the appropriate arguments rather then a getty on ttyv0. You must
- run xdm on ttyv0 in order to prevent xdm racing with getty on a virtual
- terminal. Such a race can cause your keyboard to be directed away from
- the X session, essentially making the session unusable.
-
- Typically you should start with a clean slate by tar-copying this example
- directory to /conf and then hack on it in /conf rather then in
- /usr/share/examples/diskless.
-
- BOOTP CLIENT SETUP
-
- Here is a typical kernel configuration. If you have only one ethernet
- interface you do not need to wire BOOTP to a specific interface name.
- BOOTP requires NFS and NFS_ROOT, and our boot scripts require MFS. If
- your /tmp is *not* a softlink to /var/tmp, the scripts also require NULLFS
-
-# BootP
-#
-options BOOTP # Use BOOTP to obtain IP address/hostname
-options BOOTP_NFSROOT # NFS mount root filesystem using BOOTP info
-options "BOOTP_NFSV3" # Use NFS v3 to NFS mount rootoptions
-options BOOTP_COMPAT # Workaround for broken bootp daemons.
-#options "BOOTP_WIRED_TO=de0"
-
-options MFS # Memory File System
-options NFS # Network Filesystem
-options NFS_ROOT # Nfs can be root
-options NULLFS # nullfs to map /var/tmp to /tmp
-
- BOOTP SERVER SETUP
-
- The BOOTP server must be running on the same logical LAN as the the
- BOOTP client(s). You need to setup two things:
-
- (1) You need to NFS-export /, /usr, and /var.
-
- (2) You need to run a BOOTP server. DHCPD can do this.
-
-
- NFS Export:
-
- Here is an example "/etc/exports" file.
-
-/ -ro -maproot=root: -network 192.157.86.0 -mask 255.255.255.192
-/usr -ro -maproot=root: -network 192.157.86.0 -mask 255.255.255.192
-/var -ro -maproot=root: -network 192.157.86.0 -mask 255.255.255.192
-
- In order to be an NFS server, the server must run portmap, mountd,
- nfsd, and rpc.statd. The standard NFS server options in /etc/rc.conf
- will work ( you should put your overrides in /etc/rc.conf.local on the
- server and not edit the distribution /etc/rc.conf, though ).
-
- BOOTP Server:
-
- This configuration file "/etc/dhcpd.conf" example is for
- the '/usr/ports/net/isc-dhcp' dhcpd port.
-
- subnet 192.157.86.0 netmask 255.255.255.192 {
- # range if you want to run the core dhcpd service of
- # dynamic IP assignment, but it is not used with BOOTP
- # workstations
- range 192.157.86.32 192.157.86.62;
-
- # misc configuration.
- #
- option routers 192.157.86.2;
- option domain-name-servers 192.157.86.2;
-
- server-name "apollo.fubar.com";
- option subnet-mask 255.255.255.192;
- option domain-name-servers 192.157.86.2;
- option domain-name "fubar.com";
- option broadcast-address 192.157.86.63;
- option routers 192.157.86.2;
- }
-
- host test1 {
- hardware ethernet 00:a0:c9:d3:38:25;
- fixed-address 192.157.86.11;
- option root-path "192.157.86.2:/";
- option option-128 "192.157.86.2:/images/swap";
- }
-
- host test2 {
- # hardware ethernet 00:e0:29:1d:16:09;
- hardware ethernet 00:10:5a:a8:94:0e;
- fixed-address 192.157.86.12;
- option root-path "192.157.86.2:/";
- option option-128 "192.157.86.2:/images/swap";
- }
-
- SWAP. This example includes options to automatically BOOTP configure
- NFS swap on each workstation. In order to use this capabilities you
- need to NFS-export a swap directory READ+WRITE to the workstations.
-
- You must then create a swap directory for each workstation you wish to
- assign swap to. In this example I created a dummy user 'lander' and
- did an NFS export of /images/swap enforcing a UID of 'lander' for
- all accesses.
-
- apollo:/usr/ports/net# ls -la /images/swap
- total 491786
- drwxr-xr-x 2 root wheel 512 Dec 28 07:00 .
- drwxr-xr-x 8 root wheel 512 Jan 20 10:54 ..
- -rw-r--r-- 1 lander wheel 33554432 Dec 23 14:35 swap.192.157.86.11
- -rw-r--r-- 1 lander wheel 335544320 Jan 24 16:55 swap.192.157.86.12
- -rw-r--r-- 1 lander wheel 134217728 Jan 21 17:19 swap.192.157.86.6
-
- A swap file is best created with dd:
-
- # create a 32MB swap file for a BOOTP workstation
- dd if=/dev/zero of=swap.IPADDRESS bs=1m count=32
-
- It is generally a good idea to give your workstations some swap space,
- but not a requirement if they have a lot of memory.
-
diff --git a/share/examples/diskless/README.TEMPLATING b/share/examples/diskless/README.TEMPLATING
deleted file mode 100644
index babf670c1eee..000000000000
--- a/share/examples/diskless/README.TEMPLATING
+++ /dev/null
@@ -1,286 +0,0 @@
-
- TEMPLATING machine configurations
-
- Matthew Dillon
- dillon@backplane.com
-
- This document describes a general mechanism by which you can template
- / and /usr. That is, to keep a 'master template' of / and /usr on a
- separate machine which is then used to update the rest of your machines.
-
- Generally speaking, you can't simply mirror /. You might be able to
- get away with mirroring /usr. There are two main problems involved with
- templating:
-
- (1) Avoiding overwriting run-time generated files
-
- By default, the system maintains a number of files in the root
- partition. For example, sendmail will dbm /etc/aliases into
- /etc/aliases.db. vipw or chpass or other password related routines
- will regenerate the password dbm's /etc/spwd.db, /etc/pwd.db, and
- passwd. /etc/namedb/s might contain generated secondaries. And
- so forth.
-
- The templating mechanism must avoid copying over such files.
-
- (2) Customizing machines.
-
- Customizing machines is actually considerably simpler. You create
- a configuration hierarchy and convert the configuration files that
- have to be customized into softlinks that run through a special
- softlink in the configuration directory. This will work for every
- configuration file except possibly /etc/master.passwd
-
- For example, /etc/resolv.conf would be turned into a softlink to
- /conf/ME/resolv.conf, and /conf/ME itself would be a softlink to
- /conf/<HOSTNAME>. The actual resolv.conf configuration file
- would reside in /conf/<HOSTNAME>.
-
- If you have a lot of hosts, some configuration files may be commonly
- classified. For example, all your shell machines might have the
- same /etc/resolv.conf. The solution is to make
- /conf/<HOSTNAME>/resolv.conf a softlink to a common directory, say
- /conf/HT.SHELL/resolv.conf. It may sound a little messy, but this
- sort of categorization actually makes the sysadmins job much, much
- easier.
-
- The /conf/ directory hierarchy is stored on the template and
- distributed to all the machines along with the rest of the root
- partition.
-
- This type of customization is taken from my direct experience
- instituting such a system at BEST. At the time, BEST had over 45
- machines managed from a single template.
-
- RUN-TIME GENERATED OR MODIFIED FILES IN / or /USR
-
- /etc/aliases.db
- /etc/master.passwd
- /etc/spwd.db
- /etc/pwd.db
- /etc/passwd
- /etc/namedb/s
- /root/.history
- /root/.ssh/identity
- /root/.ssh/identity.pub
- /root/.ssh/random_seed
- /root/.ssh/known_hosts
- /conf/ME
- /kernel* ( note 2 )
- /dev ( note 3 )
- /var ( note 4 )
- /home ( note 4 )
- /lost+found
-
- /usr/lost+found
- /usr/home ( note 4 )
- /usr/crash ( note 5 )
- /usr/obj ( note 5 )
- /usr/ports ( note 5 )
- /usr/src ( note 5 )
- /usr/local/crack ( note 5 )
- /usr/X11R6/lib/X11/xdm/xdm-errors ( note 6 )
- /usr/X11R6/lib/X11/xdm/xdm-pid ( note 6 )
- /usr/local/etc/ssh_host_key ( note 6 )
- /usr/local/etc/ssh_host_key.pub ( note 6 )
- /usr/local/etc/ssh_random_seed ( note 6 )
-
- /conf/ME ( note 7 )
-
- note 2: You typically want to update kernels manually and *NOT*
- template them as a safety measure. This also allows you to run
- different kernels on different machines or.
-
- note 3: /dev must be updated manually. Some devices, such as tty's and
- pty's, use the access and/or modify time and/or user/group
- operationally and regenerating the devices on the fly would be
- bad.
-
- note 4: /var and /home are usually separately mounted partitions and
- thus would not fall under the template, but as a safety measure
- the template copier refuse to copy directories named 'home'.
-
- note 5: These are directories that are as often created directly on
- /usr as they are separately-mounted partitions. You typically
- do not want to template such directories.
-
- note 6: Note that you can solve the problem of xdm and sshd creating
- files in /usr. With xdm, edit /usr/X11R6/lib/xdm/xdm-config
- and change the errorLogFile and pidFile config lines.
-
- With sshd, add 'HostKey' and 'RandomSeed' directives to specify
- /var/db for the location of the host key and run-time sshd
- random seed:
-
- HostKey /var/db/ssh_host_key
- RandomSeed /var/db/ssh_random_seed
-
- note 7: In this example, /conf/ME is the machine customizer and must
- be pointed to the /conf/<full-host-name>/ directory, which is
- different for each machine. Thus, the /conf/ME softlink
- should never be overwritten by the templating copy.
-
-
- TYPICAL CUSTOMIZED CONFIGRATION SOFTLINKS
-
- The following files typically need to be turned into softlinks
- to /conf/ME/<filename>:
-
- /etc/ccd.conf -> /conf/ME/ccd.conf
- /etc/ipfw.conf ...
- /etc/fstab
- /etc/motd
- /etc/resolv.conf
- /etc/aliases
- /etc/sendmail.cw
- /etc/organization
- /etc/named.conf
- /etc/rc.conf.local
- /etc/printcap
- /etc/inetd.conf
- /etc/login.conf
- /etc/gettytab
- /etc/ntp.conf
- /etc/exports
- /root/.k5login -> /conf/ME/root/.k5login
-
- And, of course, /conf/ME is usually a softlink to the appropriate
- /conf/<full-host-name>/. Depending on your system configuration,
- there may be other files not listed above that you have to worry about.
-
- In many cases, /conf/ME/filename is itself a softlink to
- "../HT.xxxx/filename", where HT.xxxx is something like HT.STD ... this
- added complexity actually makes it easier to manage multiple
- classifications of machines.
-
- DELETION OF FILES
-
- Any file found on the template destination that does not exist in the
- source and is not listed as an exception by the source should be deleted.
- However, deletion can be dangerous and cpdup will ask for confirmation
- by default. Once you know you aren't going to blow things up, you can
- turn this feature off and update your systems automatically from cron.
-
- By formalizing the delete operation, you can be 100% sure that it is
- possible to recreate / and /usr on any machine with only the original
- template and a backup of the ( relatively few ) explicitly-excepted
- files. The most common mistake a sysop makes is to make a change to a
- file in / or /usr on a target machine instead of the template machine.
- If the target machine is updated once a night from cron, the sysop
- quickly learns not to do this ( because his changes get overwritten
- overnight ). With a manual update, these sorts of mistakes can propogate
- for weeks or months before they are caught.
-
- TEMPLATE COPYING AND SAFETY
- THE CPDUP PROGRAM
-
- The 'cpdup' program is a program which efficiently duplicates a directory
- tree. The program copies source to destination, duplicating devices,
- softlinks, hardlinks, files, modification times, uid, gid, flags, perms,
- and so forth. The program incorporates several major features:
-
- * The program refuses, absolutely, to cross partition boundries.
- i.e. if you were copying the template /usr from an NFS mount to
- your /usr, and you had a mount point called /usr/home, the
- template copying program would *NOT* descend into /usr/home on
- the destination.
-
- This is a safety.
-
- * The program accesses a file called .cpignore in each directory
- it descending into on the source to obtain a list of exceptions
- for that directory -- that is, files not to copy or mess with.
-
- This is a templating function.
-
- * The program refuses to delete a directory on the destination
- being replaced by a softlink or file on the source.
-
- This is a safety mechanism
-
- * The program is capable of maintaing MD5 check cache files and
- doing an MD5 check between source and destination during the
- scan.
-
- * The program is capable of deleting files/directories on the
- destination that do not exist on the source, but asks for
- confirmation by default.
-
- This is a templating and a safety mechanism.
-
- * The program uses a copy-to-tmp-and-rename methodology allowing
- it to be used to update live filesystems.
-
- This is a templating mechanism.
-
- * The program, by default, tries to determine if a copy is required
- by checking modify times, file size, perms, and other stat
- elements. If the elements match, it does not bother to copy
- ( unless an MD5 check is being made, in which case it must read
- the destination file ).
-
- You typically run cpdup on the target machine. The target machine
- temporarily mounts the template machine's / and /usr via NFS, read-only,
- and runs cpdup to update / and /usr. If you use this methodology note
- that THERE ARE SECURITY CONSIDERATIONS! See 'SECURITY CONSIDERATIONS WITH
- NFS' below.
-
- Whatever script you use that does the NFS mounts should ensure that the
- mount succeeded before continuing with the cpdup.
-
- You should create .cpignore files in the appropriate directories on the
- template machine's / and /usr partitions so as not to overwrite active
- files on the target. The most critical .cpignore files should be
- protected with 'chflags schg .cpignore'. Specifically, the ones in /
- and /etc, but possibly others as well. For example, the .cpignore
- hierarchy for protect /root is:
-
- # /root/.cpignore contains
- .history
-
- # /root/.ssh/.cpignore contains
- random_seed
- known_hosts
- authorized_keys
- identity
- identity.pub
-
- WHEN INITIALLY CONVERTING A TARGET MACHINE TO USE TEMPLATING, ALWAYS
- MAKE A FULL BACKUP OF THE TARGET MACHINE FIRST! You may accidently delete
- files on the target during the conversion due to forgetting to enter
- items into appropriate .cpignore files on the source.
-
- SECURITY CONSIDERATIONS WITH NFS ROOT EXPORT FROM TEMPLATE MACHINE
- SECURITY CONSIDERATIONS WITH NFS USR EXPORT FROM TEMPLATE MACHINE
-
- There are some serious security considerations that must be taken into
- account when exporting / and /usr on the template machine.
-
- * only export read-only
-
- * the password file ( aka vipw ) may not contain any crypted passwords
- at all. You MUST use ssh or kerberos to access the template machine.
-
- You can get away with giving only root a crypted password, but only
- if you disallow network root logins and only allow direct root
- logins on the console.
-
- * The machine's private ssh_host_key usually resides in /usr/local/etc.
- You must move this key to /var/db. You can softlink link so no
- modification of sshd_config is required.
-
- * The machine's private ~root/.ssh/identity file is also exposed by
- the NFS export, you should move this file to /var/db as well and
- put a softlink in ~root/.ssh.
-
- * DON'T EXPORT /var ! Either that, or don't put the private keys
- in /var/db ... put them somewhere else.
-
- * You may want to redirect the location of the random_seed file, which
- can be done by editing ~root/.ssh/sshd_config and
- /usr/local/etc/sshd_config so it is not exposed either.
-
- -Matt
- Matthew Dillon
- dillon@backplane.com
-
diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh
index e3a5dda7d67c..a57167741638 100644
--- a/sys/conf/newvers.sh
+++ b/sys/conf/newvers.sh
@@ -32,11 +32,11 @@
# SUCH DAMAGE.
#
# @(#)newvers.sh 8.1 (Berkeley) 4/20/94
-# $Id: newvers.sh,v 1.41.2.6 1999/05/14 14:31:56 jkh Exp $
+# $Id: newvers.sh,v 1.41.2.5 1999/05/08 21:55:41 obrien Exp $
TYPE="FreeBSD"
REVISION="3.2"
-BRANCH="STABLE"
+BRANCH="RELEASE"
RELEASE="${REVISION}-${BRANCH}"
SNAPDATE=""
if [ "X${SNAPDATE}" != "X" ]; then
diff --git a/sys/contrib/dev/oltr/COPYRIGHT b/sys/contrib/dev/oltr/COPYRIGHT
deleted file mode 100644
index 668a6413c450..000000000000
--- a/sys/contrib/dev/oltr/COPYRIGHT
+++ /dev/null
@@ -1,62 +0,0 @@
-The oltr driver uses objects and microcode from Olicom's
-OC-3300 PowerMACH Works Kit.
-
-As the Linux driver says..
-==================================================================
-*
-* This driver uses the Token Ring Low Level Driver (TRlld,
-* PowerMach Works) as the lower level driver. The PMW kit is
-* (C) Olicom. The executable object may be distributed along
-* with this driver for the purpose of linking this driver.
-*
-=================================================================
-The low level driver is combined with a FreeBSD specific driver
-supplied in source, which provides all OS dependent functions.
-
-files from olicom are:
-
-trlld.o - Olicom low-level driver interface
-
-trlldmac.o - TMS 380 Microcode for Olicom TMS380 based cards
-trlldbm.o - "bullseye" Microcode for Olicom "bullseye" based cards
-trlldhm.o - "hawkeye" Microcode for Olicom "hawkeye" based cards
-
-The file trlld.o is stored in uuencode format as trlld.o.uu
-It represents a state machine of some kind that has no OS dependencies
-and communicates with the firmware on the cards via a proprietary interface.
-All communication with this module is achieved via functions supplied in
-the FreeBSD specific driver.
-
-The other 3 files have been encoded using file2c(1)
-and represent only microcode to be loaded into the appropriate board
-when found.
-
-Here is the release notice from Olicom regarding these files:
--------------------------------------------------------------------------------
-OC-3300 PowerMach Works and its components are wholly owned products of
-Olicom A/S
-Nybrovej 114
-2800 Lyngby
-Denmark
-(45) 45 27 00 00
-and are used and distributed with permission. (#SS022499)
--------------------------------------------------------------------------------
-
-A supporting email is also included.
----------- Forwarded message ----------
-Date: Wed, 24 Feb 1999 17:07:14 +0100
-From: Starla Scott <sscott@olicom.com>
-To: 'Larry Lile' <lile@stdio.com>
-Subject: RE: FreeBSD Token-ring driver
-
-Larry,
-
-You may freely distribute the driver and/or kit. However, we do request that
-you include an acknowledgement of Olicom's copyright and ownership as
-related to your driver.
-
-Thanks,
-Starla
-Olicom Tech Support
-------------------------------------------------------------------------------
-
diff --git a/sys/contrib/dev/oltr/i386-elf.trlld.o.uu b/sys/contrib/dev/oltr/i386-elf.trlld.o.uu
deleted file mode 100644
index c0aceefd4ffc..000000000000
--- a/sys/contrib/dev/oltr/i386-elf.trlld.o.uu
+++ /dev/null
@@ -1,1840 +0,0 @@
-begin 644 trlld.o
-M?T5,1@$!`0````````````$``P`!```````````````P00$``````#0`````
-M`"@`"P`'`````````````````(/L%%>+?"0<5E-5BT0D+"7__P``@\`$B]@E
-M__\``%#_5QR+\('C__\``$.!X___``!3_U<<P>`(@\0(9@OP@>;__P``9O?&
-M`0!FB70D(`^%>`(``(M$)"PE__\``%#_5QR(1"0G@\0$BT0D+"7__P``@\`"
-MB]@E__\``%#_5QR+\('C__\``$.!X___``!3_U<<BU0D*(/$",'@"('B__\`
-M`&8+\(M$)"`E__\``('F__\``(/``H/""HOH)?__```[P@^-\0```(M$)"PE
-M__\``(/`!&:+\(M$)"`E__\``(/`"HE$)!B+QB7__P``4/]7'(O8B\8E__\`
-M`$`E__\``%#_5QS!X`B#Q`AF"]B+Q8'C__\``"7__P``.\,/A:@!``"+1"0L
-M)?__``"#P`HE__\``%!7Z/1M``"#Q`B+U8'B__\``#O0#X5]`0``BT0D+"7_
-M_P``4/]7'(A$)"=J8?]7'(M$)#0E__\``(/``B7__P``4/]7'#/2@\0,BE0D
-M(SO0#X5!`0``BT0D+"7__P``@\`#)?__``!0_U<<BU0D'(/$!&:#Q0*+Q27_
-M_P``.\(/C"[___]F,_:-7QR)?"00BVPD+('E__\``(M$)"R#Q00E__\``(/`
-M"F:)1"0<C4<$B_B+QB7_````4(O%)?__``!0_Q=J8?\3BT0D*"7__P``4/\3
-MBM`SP(K"]]`E_P```%"+1"0P)?__``!0_Q=J8?\3B\4E__\``%#_$XK0,\"*
-MPHO6-?X```"#Q"`E__\``('B__\``#O"=7R#Q@)F@?X``7*-BW0D+(M\)!"+
-M1"0@@>;__P``)?\```"#Q@10B\8E__\``%#_5P2+1"0H@>;__P``)?__``!&
-MP?@(@>;__P``)?\```!05O]7!#/`@\00BD0D(U"+1"0P)?__``!0_U<$N`$`
-M``"#Q`A=6UY?@\04PSO_75M>,\!?@\04PSO_._^!_P````"#[%!7BWPD6%93
-M56:+AW(+``!FJ1``=$0SP&:+1Q:#P`PE__\``%"+AUP+``#_4!R+\#/`9HM'
-M%H/`#27__P``4(N'7`L``/]0','@"&8+\('F__\``(/$".LDD#/`9HM'%H/`
-M#"7__P``4(N'7`L``/]0((OP@>;__P``@\0$9HN'<@L``&:I$`!FB70D7G1#
-M,\!FBT<6@\`*)?__``!0BX=<"P``_U`<B_`SP&:+1Q:#P`LE__\``%"+AUP+
-M``#_4!S!X`AF"_"!YO__``"#Q`CK(S/`9HM'%H/`"B7__P``4(N'7`L``/]0
-M((OP@>;__P``@\0$9HN'<@L``&:I$`!FB70D7'0[:@$SP&:+1Q:#P`PE__\`
-M`%"+AUP+``#_4`1J`#/`9HM'%H/`#27__P``4(N'7`L``/]0!(/$$.L?._]J
-M`3/`9HM'%H/`#"7__P``4(N'7`L``/]0"(/$"&:+=S2+QH'F__\``,'F""7_
-M_P``P?@(@>8`_P``)?\````+QHOP9HN'<@L``('F__\``&:I$`!T3HO&)?\`
-M``!0,\!FBT<6@\`*)?__``!0BX=<"P``_U`$@>;__P``,\#!_@B!YO\```!6
-M9HM'%H/`"R7__P``4(N'7`L``/]0!(/$$.LCD('F__\``#/`5F:+1Q:#P`HE
-M__\``%"+AUP+``#_4`B#Q`AJ"HN'7`L``/]0-+Z\____@\0$O1````!FA:]R
-M"P``=$4SP&:+1Q:#P`(E__\``%"+AUP+``#_4!R+V#/`9HM'%H/``R7__P``
-M4(N'7`L``/]0','@"&8+V('C__\``(/$".LE._\SP&:+1Q:#P`(E__\``%"+
-MAUP+``#_4""+V('C__\``(/$!(O#@>/__P``P>,()?__``#!^`B!XP#_```E
-M_P````O#9HE$-%2#Q@(/C&'___]FBX=R"P``OD0```!FJ1``=$TSP(I$)%Y0
-M,\!FBT<6@\`,)?__``!0BX=<"P``_U`$,\!FBT0D9L'X""7_````4#/`9HM'
-M%H/`#27__P``4(N'7`L``/]0!(/$$.LDD#/`9HM$)%Y0,\!FBT<6@\`,)?__
-M``!0BX=<"P``_U`(@\0(9HN'<@L``&:I$`!T5(M$)%PE_P```%`SP&:+1Q:#
-MP`HE__\``%"+AUP+``#_4`2+1"1D)?__``#!^`@E_P```%`SP&:+1Q:#P`LE
-M__\``%"+AUP+``#_4`2#Q!#K*(/'`(M$)%PE__\``%`SP&:+1Q:#P`HE__\`
-M`%"+AUP+``#_4`B#Q`B+1"04B(?<$```BD0D%8B'W1```(I$)!:(A]X0``"*
-M1"07B(??$```BT0D&(B'X!```(I$)!F(A^$0``"+1"0\9HF'XA```&:+1"0V
-M9JD`0'11BD0D1HB'Y!```(I$)$>(A^40``"+1"1(B(?F$```BD0D28B'YQ``
-M`(I$)$J(A^@0``"*1"1+B(?I$```9HM$)#9FB8>."P``75M>7X/$4,.0,\F(
-MC^00``"(C^40``"(C^80``"(C^<0``"(C^@0``"(C^D0``#KPX'_`````('_
-M`````(/L&%>+?"0@9HN'H`L``&:I(``/A(\```!FQT<0``G'1V@`````9B7?
-M_V:)AZ`+``"+AY0+``")1Q(SP&B0````9HM'%H/`!R7__P``4(N'7`L``/]0
-M!(/$"%^#Q!C#D&;'1Q``",=':`````!F);__9HF'H`L``(N'D`L``(E'$C/`
-M:)````!FBT<6@\`')?__``!0BX=<"P``_U`$@\0(7X/$&,,[_V:+AZ`+``!F
-MJ4``=:MFBX>@"P``9JF``'1F9B5__V:)AZ`+``!FBX=R"P``9JD`@'0&C4=8
-MZPJ0BX=D"P``@\!84.A!9P``9L='$``*B4<2,\"Z`````(/$!(E7:&B0````
-M9HM'%H/`!R7__P``4(N'7`L``/]0!(/$"%^#Q!C#9HN'H`L``&:I`(!T;V8E
-M_W]FB8>@"P``9HN'F@L``&:I`@!T"S/`9HN'F`L``.L.,\!FBX>8"P``#0``
-M`(!0Z,1F``!FQT<0``;'1V@`````B4<2,\"#Q`1HD````&:+1Q:#P`<E__\`
-M`%"+AUP+``#_4`2#Q`A?@\08PV:+AZ`+``!FJ0`!#X3L_O__9B7__C/)9HF'
-MH`L``&:+AW(+``!FJ0$`=01FN1``,\"*AWT+``")1"04J0$```!T!&:#R0*+
-M1"04J0(```!T!&:#R01FBX>:"P``9JD$`'4.9H/)0&:I"`!T!&:#R2!FQT<0
-M``W'1V@`````B\&!X?__``#!X0@E__\``,'X"('A`/\``"7_````"\$E__\`
-M`(E'$C/`:)````!FBT<6@\`')?__``!0BX=<"P``_U`$@\0(7X/$&,,[_X/L
-M"%>+?"009HM'"F8]@`!T8F:+1P)F/4,`=%@SP&:+1PQ0,\!FBT<*4#/`9HM'
-M"%!J!&H!:@97Z(-<``"#Q!Q?@\0(PX/&`,=';`````!HB````#/`9HM'%H/`
-M!R7__P``4(N'7`L``/]0!(/$"%^#Q`C#BT=HA<!T#<=':`````!7_]"#Q`1F
-MBX>@"P``9H7`=-MFBT<"9CU0`'+19HM'$&:%P'6A5^CC_/__@\0$7X/$",.#
-MQP`[_X'_`````(/L$%>+?"085E-59HN'<@L``&:I$`!T/&H!,\!FBT<6@\`,
-M)?__``!0BX=<"P``_U`$:@`SP&:+1Q:#P`TE__\``%"+AUP+``#_4`2#Q!#K
-M((/'`&H!,\!FBT<6@\`,)?__``!0BX=<"P``_U`(@\0(9HN'<@L``&:I$`!T
-M/FC@````,\!FBT<6@\`*)?__``!0BX=<"P``_U`$:@4SP&:+1Q:#P`LE__\`
-M`%"+AUP+``#_4`2#Q!#K(CO_:.`%```SP&:+1Q:#P`HE__\``%"+AUP+``#_
-M4`B#Q`B^^/___[T0````9H6O<@L``'1%,\!FBT<6@\`")?__``!0BX=<"P``
-M_U`<B]@SP&:+1Q:#P`,E__\``%"+AUP+``#_4!S!X`AF"]B!X___``"#Q`CK
-M)3O_,\!FBT<6@\`")?__``!0BX=<"P``_U`@B]B!X___``"#Q`1FB5PT&(/&
-M`GR%,\"^"````&:+1"064(M$)!@E__\``%`SP&:+1"0:4(M$)!PE__\``%!J
-M`6H$5^AL6@``@\0<75M>7X/$$,.0@^PX5XM\)$!64U5FBX=R"P``9JD0`'0\
-M:(`````SP&:+1Q:#P`HE__\``%"+AUP+``#_4`1J$#/`9HM'%H/`"R7__P``
-M4(N'7`L``/]0!(/$$.L@:(`0```SP&:+1Q:#P`HE__\``%"+AUP+``#_4`B#
-MQ`AFBX=R"P``9JD0`'0W,\!FBT<6@\`")?__``!0BX=<"P``_U`<,\!FBT<6
-M@\`#)?__``!0BX=<"P``_U`<@\0(ZQT[_S/`9HM'%H/``B7__P``4(N'7`L`
-M`/]0((/$!&:+AW(+``!FJ1``=$0SP&:+1Q:#P`(E__\``%"+AUP+``#_4!R+
-M\#/`9HM'%H/``R7__P``4(N'7`L``/]0','@"&8+\('F__\``(/$".LDD#/`
-M9HM'%H/``B7__P``4(N'7`L``/]0((OP@>;__P``@\0$B\:(1"1&9HN'<@L`
-M`&:I$`!T1C/`9HM'%H/``B7__P``4(N'7`L``/]0'(OP,\!FBT<6@\`#)?__
-M``!0BX=<"P``_U`<P>`(9@OP@>;__P``@\0(ZR:#QP`SP&:+1Q:#P`(E__\`
-M`%"+AUP+``#_4""+\('F__\``(/$!(O&B$0D16:+AYH+``!FJ0$`='MFBX=R
-M"P``9JD0`'1%,\!FBT<6@\`")?__``!0BX=<"P``_U`<B_`SP&:+1Q:#P`,E
-M__\``%"+AUP+``#_4!S!X`AF"_"!YO__``"#Q`CK)3O_,\!FBT<6@\`")?__
-M``!0BX=<"P``_U`@B_"!YO__``"#Q`2+QHA$)$3&1"1#`3/`,]**1"1&BI>Z
-M"P``.\(/A%X#``"+[XV%F@L``(V]MPL``(E$)"R-A;H+``")1"0TB40D*(V%
-MF`L``(E$)#"+1"0TNA\```"*""+1BD0D0XORA,!U"(7V#X6.````C02UJ!``
-M`&:+\&:+A7(+``!FJ1``=%"+QB7_````4#/`9HM%%H/`"B7__P``4(N%7`L`
-M`/]0!('F__\``#/`P?X(@>;_````5F:+11:#P`LE__\``%"+A5P+``#_4`2#
-MQ!#K)8/'`('F__\``#/`5F:+11:#P`HE__\``%"+A5P+``#_4`B#Q`C&1"1#
-M`(M$)"C^`+H?````(A>-%%+!X@.-A!6\"P``B40D'&:+A7(+``!FJ1``=$8S
-MP&:+11:#P`(E__\``%"+A5P+``#_4!R+V#/`9HM%%H/``R7__P``4(N%7`L`
-M`/]0','@"&8+V('C__\``(/$".LF@\<`,\!FBT46@\`")?__``!0BX5<"P``
-M_U`@B]B!X___``"#Q`2+1"0<9HE8"F:+A7(+``!FJ1``=$0SP&:+11:#P`(E
-M__\``%"+A5P+``#_4!R+V#/`9HM%%H/``R7__P``4(N%7`L``/]0','@"&8+
-MV('C__\``(/$".LDD#/`9HM%%H/``B7__P``4(N%7`L``/]0((O8@>/__P``
-M@\0$9O?#`/YU"HM$)!S&0`X`ZR"*A7T+``"H!'0*N`(```#K"(/'`+@!````
-MBU0D'(A"#HM$)!R+5"0P9HM`"F:+$B7__P``@>+__P``.\)^#HM$)!S&0`X#
-M_X7$$```9O?#`!YU#6;WPP!`=`;_A<@0``!F]\,`$'0&_X7,$```N@,```"+
-M1"0<9B/3B%`/BT0D+&;W``(`=11F]\,`_G0NBT0D'&:+0`IFA<!U(8J5MPL`
-M`(M$)!S^PHB5MPL``,=`$`$```#ID0```(/'`#/2BT0D',=`$`````"+1"0P
-M9HL0BT0D'&:+2`J!X?__``"+PCO(?P*+P8O(BT0D'(E$)#B%R7Y&C9VW"P``
-MC7`0BT0D.+H?````9HM`""7__P``*\B*`_[`B`.*!R+0C112P>(#C805O`L`
-M`(E$)#B+1"0<BT`00(7)B09_PXM$)!QFBU`*9H/J!&:)4`HSP(M4)#2*1"1&
-MBA*!XO\````[P@^%SOS__XO]9HN'F@L``&:I`0`/A!$"``"*AYP+```\`G5S
-M,]*+1"1$)?\```"*E\,.```[PG16B7PD-(V?PPX``(VWPPX``(''O@X``(H+
-MN!\````BP8M,)#2-%$"*!L'B`O[`B`:-C!'$#@``9L=!!@``BA>*000"PC/2
-MB`>+1"1$)?\```"*$SO"=<!=6UY?@\0XP\9$)$,!,]*+1"1$)?\```"*E\,.
-M```[PG3>B^^-A;X.``"-G<,.``")1"0LC446C;W##@``B40D,(H3N!\````B
-MPHOPC11VP>("C805Q`X``(E$)"2*1"1#A,!U"(7V#X6*````C8:($```9HOP
-M9HN%<@L``&:I$`!T38O&)?\```!0,\!FBT46@\`*)?__``!0BX5<"P``_U`$
-M@>;__P``,\#!_@B!YO\```!69HM%%H/`"R7__P``4(N%7`L``/]0!(/$$.LB
-M@>;__P``,\!69HM%%H/`"B7__P``4(N%7`L``/]0"(/$",9$)$,`_@>+1"0P
-M9HL`)?__``"#P`(E__\``%"+A5P+``#_4!R#Q`0EB````#V(````=`Z+1"0D
-M9L=`!@(`ZSP[_XM$)#!FBP`E__\``(/``B7__P``4(N%7`L``/]0'(/$!(/@
-M1(/X1'0'N`,```#K`C/`BU0D)&:)0@:+1"0LBTPD)(H0BDD$`LHSTH@(BA.+
-M1"1$)?\````[P@^%K?[__UU;7E^#Q#C#,]*X'P```(J/PPX``(J7P`X``"+!
-MC01`P>`"C9P'Q`X``#/`BD0D13O"#X0T_O__B^N-G[X.``")?"0PC8?##@``
-MB40D-(VWP`X``(''P`X``#/`BE4%_L**PHA5!3/2BE4$.\)U*&;'108``(ML
-M)#"Y'P```/Z%PPX``(M4)#0B"HT,2<'A`HVL#<0.```STHM$)#"*@+X.``#^
-MP(@#BT0D,(J`P`X``/[`B`<SP(I$)$6*%CO"=9E=6UY?@\0XPX/'`%=6BW0D
-M#&:+?@J+QX'G__\``,'G""7__P``P?@(@><`_P``)?\````+QXOX@>?__P``
-M9O?'``5T7VH`:@!J`('G__\``%=J`&H#5NA@40``5N@:4```9L=&`D4`:@!6
-MBX9L"P``_U`$9L=&!`,`@\0H7E_#5NCV3P``9L=&`D4`:@!6BX9L"P``_U`$
-M9L=&!`,`@\0,7E_#:@!J`&H`B\<E__\``%!J`&H#5N@`40``@\0<9O?'``AU
-MNL:&CQ````=>7\.!_P````"!_P````"#[!0SP%>+?"0<5E/&1QH`QT0D%`$`
-M``!FBT<6@\`&)?__``!0BX=<"P``_U`<@\0$BMCVPX!U##/`6UY?@\04PX/'
-M`+A_````(L,E_P```%`SP&:+1Q:#P`8E__\``%"+AUP+``#_4`1FBX=R"P``
-M@\0(9JD"``^$F@$``&:I$`!T23/`9HM'%H/`""7__P``4(N'7`L``/]0'(OP
-M,\!FBT<6@\`))?__``!0BX=<"P``_U`<P>`(9@OP@>;__P``B70D&(/$".LF
-M._\SP&:+1Q:#P`@E__\``%"+AUP+``#_4"`E__\``(E$)!2#Q`2+1"009HE$
-M)!XE__\```T`"```9HE$)!IFBX=R"P``9JD0`'1/,\"*1"0:4#/`9HM'%H/`
-M""7__P``4(N'7`L``/]0!#/`9HM$)"+!^`@E_P```%`SP&:+1Q:#P`DE__\`
-M`%"+AUP+``#_4`2#Q!#K)H/'`#/`9HM$)!I0,\!FBT<6@\`()?__``!0BX=<
-M"P``_U`(@\0(,\!FBT0D'@T``0``9HE$)!IFBX=R"P``9JD0`'1/,\"*1"0:
-M4#/`9HM'%H/`""7__P``4(N'7`L``/]0!#/`9HM$)"+!^`@E_P```%`SP&:+
-M1Q:#P`DE__\``%"+AUP+``#_4`2#Q!#K)H/'`#/`9HM$)!I0,\!FBT<6@\`(
-M)?__``!0BX=<"P``_U`(@\0(N`\````BPX/X#'=V_R2%D````#O_5^BN\O__
-M@\0$ZV*05^A"]/__:@$SP&:+1Q:#P`<E__\``%"+AUP+``#_4`17Z"+T___'
-M1"0D`@```(/$$.LND%?HKO'__X/$!.LBD(M';(7`=!K'1VP`````5__0@\0$
-MZPL[_U?HFOS__X/$!&H@,\!FBT<6@\`')?__``!0BX=<"P``_U`$,\!FBT<6
-M@\`')?__``!0BX=<"P``_U`<@\0,J00```!U(&B$````,\!FBT<6@\`')?__
-M``!0BX=<"P``_U`$@\0(6UZ+1"0,7X/$%,.#["Q7BWPD-%:+="0\4XM<)$15
-MBH=Z"P``/`1U#XN':`L``&:+0!#K#8/&`(N':`L``&:+0!)FB4<8,\!H@```
-M`&:+1Q:#P`@E__\``%"+AUP+``#_4`1J#XN'7`L``/]0-#/`9HM'%H/`""7_
-M_P``4(N'7`L``/]0'(/@9(/$$(/(`8A$)#MFBX=R"P``9JD!`'4+BE0D.X#*
-M`HA4)#LSP(I$)#M0,\!FBT<6@\`()?__``!0BX=<"P``_U`$:AZ+AUP+``#_
-M4#1J`#/`9HM'%H/`"27__P``4(N'7`L``/]0!&H>BX=<"P``_U`T9L=$)%``
-MP&:+AW(+``"#Q!AFJ0`$="-FJ0`(=21F@4PD.``(9HM'!F8]"P!T$V:!3"0X
-M``SK"H/'`&:!3"0X`!"+ZXU<)#:-0P%05?_6@\0(A<!U"U-5_]:#Q`B%P'0*
-MQT0D(`$```#K",=$)"``````BT0D((7`#X3<````Z=\#``"#QP"-;"0VN`$`
-M```#Q5!3_]:#Q`B%P'4+55/_UH/$"(7`=`>]`0```.L",^V%[0^$<@(``.FE
-M`P``D(M$)#!F_TPD,&:%P`^$6@(``(OKC5PD-K@!`````\-05?_6@\0(A<!U
-M"U-5_]:#Q`B%P'0'NP$```#K`C/;A=L/A5X#``"+1"0P9O],)#!FA<!UP.M&
-M._]FBT0D+F:%P'2>Z6'___^0:B8SP&:+1Q:#P`@E__\``%"+AUP+``#_4`1F
-MQT<"(@!FQT<$```SP(/$"%U;7E^#Q"S#D(O=Z<D!``"0C6PD-K@!`````\50
-M4__6@\0(A<!U"U53_]:#Q`B%P'0'O0$```#K`C/MA>T/A<X"``"+1"0P9O],
-M)#!FA<`/A(0!``")="00OA````!FA;=R"P``B^MFBUPD-G1+,\"*PU`SP&:+
-M1Q:#P`(E__\``%"+AUP+``#_4`2!X___```SP,'["('C_P```%-FBT<6@\`#
-M)?__``!0BX=<"P``_U`$@\00ZR.0@>/__P``,\!39HM'%H/``B7__P``4(N'
-M7`L``/]0"(/$"(M$)#"+W6;_3"0P9H7`#X5O____BW0D$.GA````D(M$)#!F
-M_TPD,&:%P`^$S@```(OKC5PD-K@!`````\-05?_6@\0(A<!U"U-5_]:#Q`B%
-MP'0'NP$```#K`C/;A=L/A=(!``!FBX=R"P``9JD0`&:+7"0V=$PSP(K#4#/`
-M9HM'%H/``B7__P``4(N'7`L``/]0!('C__\``#/`P?L(@>/_````4V:+1Q:#
-MP`,E__\``%"+AUP+``#_4`2#Q!#K)#O_@>/__P``,\!39HM'%H/``B7__P``
-M4(N'7`L``/]0"(/$"(M$)#!F_TPD,&:%P`^%//___^DS_O__@\<`C6PD,K@!
-M`````\504__6@\0(A<!U"U53_]:#Q`B%P'0'O0$```#K`C/MA>T/A08!``"-
-M;"0TN`$````#Q5!3_]:#Q`B%P'4+55/_UH/$"(7`=`F]`0```.L$._\S[87M
-M#X72````C6PD,+@!`````\504__6@\0(A<!U"U53_]:#Q`B%P'0)O0$```#K
-M!#O_,^V%[0^%G@```+@!````9B-$)#!FB40D+HM$)#`E__\``,'X`6:)1"0P
-M9H7`#X0Y_?__BT0D.&:%1"0R#X4:_?__9HM$)#)FB40D*F:+AW(+``!FJ1``
-M=%\SP(I$)"I0,\!FBT<6@\`,)?__``!0BX=<"P``_U`$,\!FBT0D,L'X""7_
-M````4#/`9HM'%H/`#27__P``4(N'7`L``/]0!(/$$.LV@\<`75M>N`$```!?
-M@\0LPX/'`#/`9HM$)"I0,\!FBT<6@\`,)?__``!0BX=<"P``_U`(@\0(BT0D
-M-&:)1"0J9HN'<@L``&:I$`!T3S/`BD0D*E`SP&:+1Q:#P`HE__\``%"+AUP+
-M``#_4`0SP&:+1"0RP?@()?\```!0,\!FBT<6@\`+)?__``!0BX=<"P``_U`$
-M@\00ZR:#QP`SP&:+1"0J4#/`9HM'%H/`"B7__P``4(N'7`L``/]0"(/$"&:+
-M1"0N9H7`#X0?_?__Z3+\__\[_X/L(%>+1"0LQT0D$`````!6BW0D+%-5QD0D
-M+P%FBP`S_V:%P`^$Q`,``(V&F@L``(E$)!2+1"0XC5@$9HM#"&:%P`^$C@,`
-M`+@?````BHZ_#@``(L&+5"0<9HE$)"R*1"0O0H3`B50D'`^$P0```(M$)!1F
-M]P`0`'0*BT,$N@@```#K!8M#!#/2B!"+1"0L)?__``"-!,4`$@``9HE$)"AF
-MBX9R"P``9JD0`'13BT0D*"7_````4#/`9HM&%H/`!"7__P``4(N&7`L``/]0
-M!(M$)#`E__\``,'X""7_````4#/`9HM&%H/`!27__P``4(N&7`L``/]0!(/$
-M$.LG._^+1"0H)?__``!0,\!FBT86@\`$)?__``!0BX9<"P``_U`(@\0(QD0D
-M+P#IV0```)!FBX9R"P``9JD0`'0[:@`SP&:+1A:#P`(E__\``%"+AEP+``#_
-M4`1J$#/`9HM&%H/``R7__P``4(N&7`L``/]0!(/$$.LB._]H`!```#/`9HM&
-M%H/``B7__P``4(N&7`L``/]0"(/$"(M$)"QFA<!U9V:+AG(+``!FJ1``=#IJ
-M`#/`9HM&%H/`!"7__P``4(N&7`L``/]0!&H2,\!FBT86@\`%)?__``!0BX9<
-M"P``_U`$@\00ZR&0:``2```SP&:+1A:#P`0E__\``%"+AEP+``#_4`B#Q`@S
-MR6:+CG(+``#WP2((``!T!XMK!.L$._^+*XO%P>@0]\$0````9HE$)"AT5(M$
-M)"@E_P```%`SP&:+1A:#P`(E__\``%"+AEP+``#_4`2+1"0P)?__``#!^`@E
-M_P```%`SP&:+1A:#P`,E__\``%"+AEP+``#_4`2#Q!#K*(/'`(M$)"@E__\`
-M`%`SP&:+1A:#P`(E__\``%"+AEP+``#_4`B#Q`AFBX9R"P``9JD0`&:);"0H
-M=%&+1"0H)?\```!0,\!FBT86@\`")?__``!0BX9<"P``_U`$@>7__P``,\#!
-M_0B!Y?\```!59HM&%H/``R7__P``4(N&7`L``/]0!(/$$.LG._^+1"0H)?__
-M``!0,\!FBT86@\`")?__``!0BX9<"P``_U`(@\0(9HM#"&:)1"0H9HN&<@L`
-M`&:I$`!T48M$)"@E_P```%`SP&:+1A:#P`(E__\``%"+AEP+``#_4`2+1"0P
-M)?__``#!^`@E_P```%`SP&:+1A:#P`,E__\``%"+AEP+``#_4`2#Q!#K)8M$
-M)"@E__\``%`SP&:+1A:#P`(E__\``%"+AEP+``#_4`B#Q`AF_XZ\#@``BH:_
-M#@``_L"(AK\.``"#PPR+1"0X1V:+`"7__P``._@/C$W\__]FBX::"P``9JD!
-M`'0)9K\`<.L'@\<`9K\`T&:+AG(+``!FJ1``=%>+QR7_````4#/`9HM&%H/`
-M`B7__P``4(N&7`L``/]0!('G__\``#/`P?\(@>?_````5V:+1A:#P`,E__\`
-M`%"+AEP+``#_4`2#Q!!=6UZ+1"007X/$(,.!Y___```SP%=FBT86@\`")?__
-M``!0BX9<"P``_U`(@\0(Z]"#[!2X'P```%>+?"0<5E.*E[D+``"+7"0H(L(#
-MP(T$0`4H$0``9HOP9HN'<@L``&:I$`!T3XO&)?\```!0,\!FBT<6@\`$)?__
-M``!0BX=<"P``_U`$@>;__P``,\#!_@B!YO\```!69HM'%H/`!27__P``4(N'
-M7`L``/]0!(/$$.LD._^!YO__```SP%9FBT<6@\`$)?__``!0BX=<"P``_U`(
-M@\0(_H>Y"P``,\!FBX=R"P``B40D%*D""```=`2+,^L#BW,$B\;!Z!!FB40D
-M'(M$)!2I$````'14BT0D'"7_````4#/`9HM'%H/``B7__P``4(N'7`L``/]0
-M!(M$)"0E__\``,'X""7_````4#/`9HM'%H/``R7__P``4(N'7`L``/]0!(/$
-M$.LH@\<`BT0D'"7__P``4#/`9HM'%H/``B7__P``4(N'7`L``/]0"(/$"&:+
-MAW(+``!FJ1``=$Z+QB7_````4#/`9HM'%H/``B7__P``4(N'7`L``/]0!(O&
-M)?__``#!^`@E_P```%`SP&:+1Q:#P`,E__\``%"+AUP+``#_4`2#Q!#K))"+
-MQB7__P``4#/`9HM'%H/``B7__P``4(N'7`L``/]0"(/$"&:+AW(+``!FJ1``
-M9HMS"'10B\8E_P```%`SP&:+1Q:#P`(E__\``%"+AUP+``#_4`2+QB7__P``
-MP?@()?\```!0,\!FBT<6@\`#)?__``!0BX=<"P``_U`$@\00ZR:#QP"+QB7_
-M_P``4#/`9HM'%H/``B7__P``4(N'7`L``/]0"(/$"&:+1P)F/5``#X6*````
-M:@$SP&:+1Q:#P`<E__\``%"+AUP+``#_4`1FB[>@"P``@\0(B\9F#0"`9H7V
-M9HF'H`L``'5.9HM'`F8]4`!R1,:'NPL```!FBT<09H7`="O'1VP`````:(@`
-M```SP&:+1Q:#P`<E__\``%"+AUP+``#_4`2#Q`CK"SO_5^@:X?__@\0$9L='
-M`F``6UY?@\04PSO_._^!_P````"#[!!7BWPD&%939HN'<@L``&:I$`!T.6H!
-M,\!FBT<6@\`,)?__``!0BX=<"P``_U`$:@`SP&:+1Q:#P`TE__\``%"+AUP+
-M``#_4`2#Q!#K'6H!,\!FBT<6@\`,)?__``!0BX=<"P``_U`(@\0(9HN'<@L`
-M`&:I$`!T.FH`,\!FBT<6@\`*)?__``!0BX=<"P``_U`$:@HSP&:+1Q:#P`LE
-M__\``%"+AUP+``#_4`2#Q!#K(9!H``H``#/`9HM'%H/`"B7__P``4(N'7`L`
-M`/]0"(/$"&:+AW(+``!FJ1``=#]J`#/`9HM'%H/``B7__P``4(N'7`L``/]0
-M!&B?````,\!FBT<6@\`#)?__``!0BX=<"P``_U`$@\00ZR.#QP!H`)\``#/`
-M9HM'%H/``B7__P``4(N'7`L``/]0"(/$"&:+AW(+``!FJ1``=#MJ`#/`9HM'
-M%H/``B7__P``4(N'7`L``/]0!&H`,\!FBT<6@\`#)?__``!0BX=<"P``_U`$
-M@\00ZQ\[_VH`,\!FBT<6@\`")?__``!0BX=<"P``_U`(@\0(9HN'<@L``&:I
-M$`!T.FH`,\!FBT<6@\`")?__``!0BX=<"P``_U`$:@`SP&:+1Q:#P`,E__\`
-M`%"+AUP+``#_4`2#Q!#K'I!J`#/`9HM'%H/``B7__P``4(N'7`L``/]0"(/$
-M"&:+AW(+``!FJ1``=#IJ`#/`9HM'%H/``B7__P``4(N'7`L``/]0!&H`,\!F
-MBT<6@\`#)?__``!0BX=<"P``_U`$@\00ZQZ0:@`SP&:+1Q:#P`(E__\``%"+
-MAUP+``#_4`B#Q`AFBX=R"P``9JD0`&:+=QAT3HO&)?\```!0,\!FBT<6@\`"
-M)?__``!0BX=<"P``_U`$B\8E__\``,'X""7_````4#/`9HM'%H/``R7__P``
-M4(N'7`L``/]0!(/$$.LDD(O&)?__``!0,\!FBT<6@\`")?__``!0BX=<"P``
-M_U`(@\0(9HN'<@L``&:I$`!FBW<8=%"+QB7_````4#/`9HM'%H/``B7__P``
-M4(N'7`L``/]0!('F__\``#/`P?X(@>;_````5F:+1Q:#P`,E__\``%"+AUP+
-M``#_4`2#Q!#K)8/'`('F__\``#/`5F:+1Q:#P`(E__\``%"+AUP+``#_4`B#
-MQ`AFBX=R"P``9JD0`'0Y:@4SP&:+1Q:#P`(E__\``%"+AUP+``#_4`1J!3/`
-M9HM'%H/``R7__P``4(N'7`L``/]0!(/$$.L@:`4%```SP&:+1Q:#P`(E__\`
-M`%"+AUP+``#_4`B#Q`@STF:+EW(+``#WP@"```!T"XUW$(U?".L/@\8`BX=D
-M"P``C7`0C5@(B\;!Z!#WPA````!FB40D&'12BT0D&"7_````4#/`9HM'%H/`
-M`B7__P``4(N'7`L``/]0!(M$)"`E__\``,'X""7_````4#/`9HM'%H/``R7_
-M_P``4(N'7`L``/]0!(/$$.LFD(M$)!@E__\``%`SP&:+1Q:#P`(E__\``%"+
-MAUP+``#_4`B#Q`AFBX=R"P``9JD0`'1.B\8E_P```%`SP&:+1Q:#P`(E__\`
-M`%"+AUP+``#_4`2+QB7__P``P?@()?\```!0,\!FBT<6@\`#)?__``!0BX=<
-M"P``_U`$@\00ZR20B\8E__\``%`SP&:+1Q:#P`(E__\``%"+AUP+``#_4`B#
-MQ`B+P\'H$&:+\&:+AW(+``!FJ1``=%"+QB7_````4#/`9HM'%H/``B7__P``
-M4(N'7`L``/]0!(O&)?__``#!^`@E_P```%`SP&:+1Q:#P`,E__\``%"+AUP+
-M``#_4`2#Q!#K)H/'`(O&)?__``!0,\!FBT<6@\`")?__``!0BX=<"P``_U`(
-M@\0(9HN'<@L``&:I$`!FB_-T38O&)?\```!0,\!FBT<6@\`")?__``!0BX=<
-M"P``_U`$@>;__P``,\#!_@B!YO\```!69HM'%H/``R7__P``4(N'7`L``/]0
-M!(/$$.LB@>;__P``,\!69HM'%H/``B7__P``4(N'7`L``/]0"(/$"&:+AW(+
-M``!FJ1``=$5H@````#/`9HM'%H/`!B7__P``4(N'7`L``/]0!&B0````,\!F
-MBT<6@\`')?__``!0BX=<"P``_U`$@\006UY?@\00PY!H@)```#/`9HM'%H/`
-M!B7__P``4(N'7`L``/]0"(/$"%M>7X/$$,.0._^!_P````"#[`Q7BWPD%%93
-M9HN'<@L``&:I$`!T13/`9HM'%H/`#"7__P``4(N'7`L``/]0'(OP,\!FBT<6
-M@\`-)?__``!0BX=<"P``_U`<P>`(9@OP@>;__P``@\0(ZR4[_S/`9HM'%H/`
-M#"7__P``4(N'7`L``/]0((OP@>;__P``@\0$9HN'<@L``&:I$`!T1#/`9HM'
-M%H/`"B7__P``4(N'7`L``/]0'(O8,\!FBT<6@\`+)?__``!0BX=<"P``_U`<
-MP>`(9@O8@>/__P``@\0(ZR20,\!FBT<6@\`*)?__``!0BX=<"P``_U`@B]B!
-MX___``"#Q`1FBX=R"P``9JD0`&:)7"06=#MJ`3/`9HM'%H/`#"7__P``4(N'
-M7`L``/]0!&H`,\!FBT<6@\`-)?__``!0BX=<"P``_U`$@\00ZQ\[_VH!,\!F
-MBT<6@\`,)?__``!0BX=<"P``_U`(@\0(9HN'<@L``&:I$`!T/FCN````,\!F
-MBT<6@\`*)?__``!0BX=<"P``_U`$:@4SP&:+1Q:#P`LE__\``%"+AUP+``#_
-M4`2#Q!#K(CO_:.X%```SP&:+1Q:#P`HE__\``%"+AUP+``#_4`B#Q`AJ"HN'
-M7`L``/]0-&:+AW(+``"#Q`1FJ1``=#DSP&:+1Q90BX=<"P``_U`<B]@SP&:+
-M1Q9`)?__``!0BX=<"P``_U`<P>`(9@O8@>/__P``@\0(ZQLSP&:+1Q90BX=<
-M"P``_U`@B]B!X___``"#Q`1FBX=R"P``9JD0`'10B\8E_P```%`SP&:+1Q:#
-MP`PE__\``%"+AUP+``#_4`2!YO__```SP,'^"('F_P```%9FBT<6@\`-)?__
-M``!0BX=<"P``_U`$@\00ZR6#QP"!YO__```SP%9FBT<6@\`,)?__``!0BX=<
-M"P``_U`(@\0(9HN'<@L``&:I$`!T63/`BD0D%E`SP&:+1Q:#P`HE__\``%"+
-MAUP+``#_4`0SP&:+1"0>P?@()?\```!0,\!FBT<6@\`+)?__``!0BX=<"P``
-M_U`$@\00B\-;7B7__P``7X/$#,.0,\!FBT0D%E`SP&:+1Q:#P`HE__\``%"+
-MAUP+``#_4`B#Q`CKS(/'`('_`````('_`````(/L#%>+?"045E-59HN'H`L`
-M`&:%P'0^9HM'$&:%P'0LQT=L`````&B(````,\!FBT<6@\`')?__``!0BX=<
-M"P``_U`$@\0(ZPR#QP!7Z,[6__^#Q`1FBX>T"P``9H7`#X3/````,^VX'P``
-M`"*'M@L``(OP9HN'M`L``&:%P'XIC9^T"P``C01VP>`#C80'O`L``%!7Z(;R
-M__]&@\0(@^8?10^_`SOH?-UJ`3/`9HM'%H/`!R7__P``4(N'7`L``/]0!&;'
-M1P)@`&:+MZ`+``"#Q`B+QF8-`(!FA?9FB8>@"P``=55FBT<"9CU0`')+QH>[
-M"P```&:+1Q!FA<!T*<=';`````!HB````#/`9HM'%H/`!R7__P``4(N'7`L`
-M`/]0!(/$".L25^CRU?__@\0$ZP>09L='`E``5^A`T?__9HNWC@L``(/$!(O&
-M@>;__P``P>8(:@`E__\``('F`/\``,'X""7_````"\:+\#/`@>;__P``BH><
-M"P``4&:+AW(+``!FJ0$`=`JX$````.L(@\<`N`0````E__\``%"+QB7__P``
-M4&H`:@!7Z)\T``"#Q!R*AWT+``"H`W1J5^CL^O__9HF'D!```(/$!&:+MZ`+
-M``"+QF8-``%FA?9FB8>@"P``=4%FBT<"9CU0`'(WQH>["P```&:+1Q!FA<!T
-M+\=';`````!HB````#/`9HM'%H/`!R7__P``4(N'7`L``/]0!(/$"%U;7E^#
-MQ`S#5^CJU/__@\0$75M>7X/$#,.#QP"!_P````"!_P````!0BU0D"(M$)`QF
-MBXJ@"P``9@O!9H7)9HF"H`L``'5!9HM"`F8]4`!R-\:"NPL```!FBT(09H7`
-M="O'0FP`````:(@````SP&:+0A:#P`<E__\``%"+@EP+``#_4`2#Q`B#Q`3#
-M4NAFU/__@\0$@\0$PX/'`('_`````('_`````(/L%+C_````5XM\)!Q39B-'
-M"HK8,\"*PSV`````#X2!````@_@"="1J`&H`:@`-``8``"7__P``4&H!:@)7
-MZ#TS``"#Q!Q;7X/$%,-J`&H`:@`SP&:+1PK!^`@-``<``"7__P``4&H`:@)7
-MZ!`S``!H_P```#/`9HM'%H/`!R7__P``4(N'7`L``/]0!&;'1P)%`&;'1P0%
-M`(/$)%M?@\04PSO_9HM'"F:I`(!T"L:'G`L```+K")#&AYP+```!9HN'<@L`
-M`&:I`@AT!#/`ZP6X`$```(E$)`AFBX>:"P``9JD!`'0*N`"```#K!8/'`#/`
-M9L='$``$QT=H``````M$)`B+R"7__P``P?@(@>'__P``P>$()?\```"!X0#_
-M```+P8E'$C/`:)````!FBT<6@\`')?__``!0BX=<"P``_U`$@\0(,\#'1VP`
-M````9L='!`$`9L='`D0`:(@```!FBT<6@\`')?__``!0BX=<"P``_U`$@\0(
-M6U^#Q!3#D(/L#%>+?"045E-FBX=R"P``9JD!`'0)9L='.```ZP>09L='.``0
-M9HN'F@L``&:I!`!U(F:+1SAF#0!`9HN7F@L``&;WP@@`9HE'.'0(9@T`(&:)
-M1SAFB[>8"P``N0`:``!FB4](BH>("P``9HE/2KD9````B$<ZBH>)"P``B$<[
-MBH>*"P``B$<\BH>+"P``B$<]BH>,"P``B$<^BH>-"P``B$<_BX>0"P``B4=`
-MBX>4"P``B4=$B\8E__\``('F__\``,'X"(A/4L'F""7_````@>8`_P``B$]3
-M"\8SR6:)1TR^`@```&:)3TYFB4]0H`````"(1QR@`0```(A''8J&`````(A$
-M-QR*A@$```"(1#<=BH8"````B$0W'HJ&`P```(/&!(/^$HA$-QM\T&:+AW(+
-M``!FJ0"`#X28````C7<<B]:+QL'J",'H&('B`/\```O"B];!X@C!YAB!X@``
-M_P`+P@O&C7<XB4=49L='$``#9L='!#P`9L='`D,`B]:+QL'H&+L`````P>H(
-MB5]H@>(`_P``"\*+UL'B",'F&('B``#_``O""\:)1Q(SP&B0````9HM'%H/`
-M!R7__P``4(N'7`L``/]0!(/$"%M>7X/$#,.#Q@"+AV0+``"^'`````/PB]:+
-MQL'J",'H&('B`/\```O"B];!X@C!YAB!X@``_P`+P@O&B4=4BX=D"P``C7`X
-MZ5/___\[_XUT)@"#[!@SP%>+?"0@5E-59HM'`H/X0P^$@00```^/6`0``(/X
-M)'1O#X\M`0``@_@B#X2(````#X^>````@_@A#X6=!P``,\!FBT<6@\`&)?__
-M``!0BX=<"P``_U`<BMBX<````(/$!"+#@_AP#X1D`@``5^@J,```9L='!```
-M9L='`B0`N.@#``"#Q`1=6UY?@\08PSO_9HM'!&;_1P1F/0(`=@QFQT<$``!F
-MQT<")0!=6UZXZ`,``%^#Q!C#D&:+1P1F_T<$9CT"`';D9L='!```9L='`B,`
-MZ]:#^",/A?\&``!FBT<$9O]'!&8]'@`/AXL````SP&:+1Q:#P`8E__\``%"+
-MAUP+``#_4!R*V+@P````@\0$(L.#^#`/A+4```"X?P```"+#@_A`#X6D`0``
-M9L='`C``:@!J`&H`:@!J`&H!5^B8+@``@\0<N.@#``!=6UY?@\08PX/X00^$
-MYP````^/V0(``(/X)0^%<`8``&:+1P1F_T<$9CT>`'8N9L='`A``:@!J`&H`
-M:``"``!J`&H!5^A'+@``@\0<N.@#``!=6UY?@\08PX/'`#/`9HM'%H/`!B7_
-M_P``4(N'7`L``/]0'(K8N#````"#Q`0BPX/X,'4[9L='`A``:@!J`&H`N!\`
-M```BPPT``0``)?__``!0:@!J`5?HXRT``(/$'+CH`P``75M>7X/$&,.#QP"X
-M?P```"+#@_A`#X6T````9L='`C``BY=@"P``4HN'7`L``/]0/(/$!+CH`P``
-M75M>7X/$&,,[_S/`9HM'%H/`!B7__P``4(N'7`L``/]0'(/$!(K8]L,0=#)J
-M`&H`:@"X#P```"+##0`!```E__\``%!J`6H"5^A4+0``@\0<N.@#``!=6UY?
-M@\08P_;#8'1#9HM'!&;_1P1F/60`=B5J`&H`:@!H``(``&H!:@)7Z!PM``"#
-MQ!RXZ`,``%U;7E^#Q!C#75M>N&0```!?@\08PX/&`&:+1Q!FA<!U/HM'$CW!
-MXM2+=30SP&:+1P@]__\``'4G,\!FBT<*/='7``!U&C/`9HM'##W%V0``=0TS
-MP&:+1PX]P]0``'1%:@!J`&H`9HN'<@L``&:I`(!T"K@`!```ZPB#QP"X``,`
-M`"7__P``4&H!:@)7Z(,L``"#Q!RXZ`,``%U;7E^#Q!C#@\<`:B`SP&:+1Q:#
-MP`<E__\``%"+AUP+``#_4`1HA````#/`9HM'%H/`!R7__P``4(N'7`L``/]0
-M!&;'1RX`"F;'1S`*`&:+AW(+``"#Q!!FJ0"`=`6-1R[K"8N'9`L``(/`+F;'
-M1Q``"V;'1P0"`&;'1P)"`(O(P>@8B]'!Z@B!X@#_```+PHO1P>((P>$8@>(`
-M`/\`"\*Z``````O!B5=HB4<2,\!HD````&:+1Q:#P`<E__\``%"+AUP+``#_
-M4`2#Q`BXZ`,``%U;7E^#Q!C#D(/X0@^%EP,``&:+1P1F_T\$9H7`#X54_/__
-M:@!J`&H`:``$``!J`6H"5^AQ*P``@\0<Z3?\__^0@_A0#X30`0``#X_!`0``
-M@_A%='P/CTX#``"#^$0/A44#``!FBT<$9O]/!&:%P`^%`OS__V:+AW(+``!F
-MJ1``#X3'````,\!FBT<6@\`()?__``!0BX=<"P``_U`<B_`SP&:+1Q:#P`DE
-M__\``%"+AUP+``#_4!S!X`AF"_"!YO__``")="0@@\0(Z:$```"09HM'!&;_
-M3P1FA<`/A97[__]FBT<&9CT+`'4\,\!FBT<6@\`()?__``!0BX=<"P``_U`<
-M@\@()?\```!0,\!FBT<6@\`()?__``!0BX=<"P``_U`$@\0,5^A+ZO__9L='
-M!```9L='`D$`@\0$N&0```!=6UY?@\08PX/'`#/`9HM'%H/`""7__P``4(N'
-M7`L``/]0("7__P``B40D'(/$!&:+AW(+``!FJ1``=$,SP&:+1Q:#P`8E__\`
-M`%"+AUP+``#_4!R+Z#/`9HM'%H/`!R7__P``4(N'7`L``/]0','@"&8+Z('E
-M__\``(/$".LC,\!FBT<6@\`&)?__``!0BX=<"P``_U`@B^B!Y?__``"#Q`2!
-MY?__``"+1"08527__P``4&H`:``%``!J`6H"5^BC*0``@\0<Z6GZ__^#QP"#
-M^&`/A8\!``!FBX>@"P``9H7`#X0_`0``BH>["P``BLC^P3P"B(^["P``#XXG
-M`0``9HN'<@L``&:I$`!T2C/`9HM'%H/`""7__P``4(N'7`L``/]0'(OP,\!F
-MBT<6@\`))?__``!0BX=<"P``_U`<P>`(9@OP@>;__P``B70D((/$".LG@\<`
-M,\!FBT<6@\`()?__``!0BX=<"P``_U`@)?__``")1"0<@\0$9HN'<@L``&:I
-M$`!T0S/`9HM'%H/`!B7__P``4(N'7`L``/]0'(OH,\!FBT<6@\`')?__``!0
-MBX=<"P``_U`<P>`(9@OH@>7__P``@\0(ZR,SP&:+1Q:#P`8E__\``%"+AUP+
-M``#_4""+Z('E__\``(/$!('E__\``(M$)!A5)?__``!0,\!FBX>@"P``4&H!
-M:@%J!U?H4B@``(/$'+CH`P``75M>7X/$&,,[_XI'&X3`#X0#^?__BD<:BM#^
-MPCP"B%<:#X[Q^/__:@!J`&H`:@-J`6H'5^@1*```@\0<N.@#``!=6UY?@\08
-MPY!=6UXSP%^#Q!C#._^-="8`@^P85XM\)"!6BW0D*%-5B\8E__\``%#_5QPS
-MTB7^````BA4`````"\(E^P```(K8,\"*PU"+QB7__P``4/]7!+@!````@\0,
-M(L.B`````(O&)?__``!0_U<<,](E_@```(H5``````O")?T```"*V#/`BL-0
-MB\8E__\``%#_5P2X`0```(/$#"+#H@````"+QB7__P``4/]7'#/2)?X```"*
-M%0`````+PB7^````BM@SP(K#4(O&)?__``!0_U<$N`$```"#Q`PBPZ(`````
-MB\8E__\``%#_5QPSTB7^````BA4`````"\(E[P```(K8,\"*PU"+QB7__P``
-M4/]7!+@!````@\0,(L.B`````(O&)?__``!0_U<<B\:#Q`0E__\``%#_5QR+
-MQH/$!"7__P``4/]7'(O&@\0$)?__``!0_U<<B\:#Q`0E__\``%#_5QPSTB7^
-M````BA4`````"\*#R!"*V#/`BL-0B\8E__\``%#_5P2X`0```(/$#"+#H@``
-M``"+QB7__P``4/]7'(O&@\0$)?__``!0_U<<B\:#Q`0E__\``%#_5QR+QH/$
-M!"7__P``4/]7'(O&@\0$)?__``!0_U<<,](E_@```(H5``````O"@\@"BM@S
-MP(K#4(O&)?__``!0_U<$N`$```"#Q`PBPZ(`````B\8E__\``%#_5QR+QH/$
-M!"7__P``4/]7'(O&@\0$)?__``!0_U<<B\:#Q`0E__\``%#_5QR+7"0X@\0$
-M@>/_````QT0D'`$```#!XPB!RX````!FA=L/A'<!``"+1"0<A<!T(8O&B^LE
-M__\``%#_5QPSTB7^````BA4`````"\*#R`'K(8O&B^LE__\``%#_5QPSTB7^
-M````BA4`````"\(E_@```(K8,\"*PU"+QB7__P``4/]7!+@!````@\0,(L.B
-M`````(O&)?__``!0_U<<,](E_@```(H5``````O")?T```"*V#/`BL-0B\8E
-M__\``%#_5P2X`0```(/$#"+#H@````"+QB7__P``4/]7'(O&@\0$)?__``!0
-M_U<<B\:#Q`0E__\``%#_5QR+QH/$!"7__P``4/]7'(O&@\0$)?__``!0_U<<
-M,](E_@```(H5``````O"@\@"BM@SP(K#4(O&)?__``!0_U<$N`$```"#Q`PB
-MPZ(`````B\8E__\``%#_5QR+QH/$!"7__P``4/]7'(O&@\0$)?__``!0_U<<
-MB\:#Q`0E__\``%#_5QR+Q8'E__\``"4`@```@\0$C5PM`(E$)!QFA=L/A8G^
-M__]=6UY?@\08PSO_._^!_P````"#[!17BWPD'%:+="0D4U6+QB7__P``4/]7
-M'(A$)"<E_P```(/(("7_````4(O&)?__``!0_U<$Q@4``````(M4)#RX/P``
-M`"+"#8`````E_P```%"+QB7__P``4%?HOOO__XM$)$R#Q!B%P(U0_XE4)#0/
-MA$P!```S[8EL)!B+QB7__P``4/]7'#/2)?X```"*%0`````+PB7]````BM@S
-MP(K#4(O&)?__``!0_U<$N`$```"#Q`PBPZ(`````B\8E__\``%#_5QR+QH/$
-M!"7__P``4/]7'(O&@\0$)?__``!0_U<<B\:#Q`0E__\``%#_5QR+QH/$!"7_
-M_P``4/]7'#/2)?X```"*%0`````+PH/(`HK8,\"*PU"+QB7__P``4/]7!+@!
-M````@\0,(L.B`````(O&)?__``!0_U<<B\:#Q`0E__\``%#_5QR+QH/$!"7_
-M_P``4/]7'(O&@\0$)?__``!0_U<<B\:#Q`0E__\``('E__\``%#_5QP#[8/@
-M`3/;@\0$BMB%VW0$9H/-`8M,)!A!B4PD&(/Y$`^,V_[__XM$)#AFB2B-2`*+
-M1"0TB4PD.(7`C5#_B50D-`^%M/[__XO&)?__``!0_U<<,](E_@```(H5````
-M``O")>\```"*V#/`BL-0B\8E__\``%#_5P2X`0```(/$#"+#H@````"+QB7_
-M_P``4/]7'#/2)?X```"*%0`````+PB7[````BM@SP(K#4(O&)?__``!0_U<$
-MN`$```"#Q`PBPX'F__\``*(`````,\"*1"0C4%;_5P2#Q`A=6UY?@\04PX/L
-M#%>+?"045HMT)!R+QB7__P``4/]7'(O&@\0$)?__``!0_U<<B\:#Q`0E__\`
-M`%#_5QR#Q`2!YO__``!6_U<<@\0$7E^#Q`S#._^-="8`@^P(5U93BUPD&&8S
-M_X/#`HO/@\,"@\,"9HMS^HO&@>;__P``P>8()?__``#!^`B!Y@#_```E_P``
-M``O&B_!FBT/Z@>;__P``9@/^9@O(9HMS_(O&@>;__P``P>8()?__``#!^`B!
-MY@#_```E_P````O&B_!FBT/\@>;__P``9@/^9@O(9HMS_HO&@>;__P``P>8(
-M)?__``#!^`B!Y@#_```E_P````O&B_!FBT/^@>;__P``9@/^9@O(@>?__P``
-M9HLSB\:!YO__``#!Y@@E__\``,'X"('F`/\``"7_````"\:+\('F__\``#O^
-M=`DSP%M>7X/$",,STHO!9HL36R7__P``7@O"7X/$",.#QP"#["17BWPD+%93
-M58ML)$"+1"0\)?__``!0_U<<B$0D-X/$!(M$)#PE__\``(/`#&:)1"0JB]@E
-M__\``%#_5QR+\('C__\``$.!X___``!3_U<<P>`(@\0(9@OPBT0D/('F__\`
-M`&:)="0P)?__``"#P`IFB40D+(O8)?__``!0_U<<B_"!X___``!#@>/__P``
-M4_]7','@"(/$"&8+\&H`@>;__P``9HET)#)FBW0D+HO&)?__``!0_U<$:@"!
-MYO__``!&@>;__P``5O]7!(MT)#R#Q!"+QFH`)?__``!0_U<$:@"!YO__``!&
-M@>;__P``5O]7!(M$)$R#Q!`E__\``#/V@\`"C5\<9HO0BT0D/(EL)!`E__\`
-M`(E\)!2+^HUH`XO')?__``!0_Q.+Q27__P``4/\3B$0T((/$"$:#_@A\WV:+
-M="0JBWPD%(M$)#"+;"00)?\```!0B\8E__\``%#_5P2+1"0X@>;__P``)?__
-M``!&P?@(@>;__P``)?\```!05O]7!(MT)#R#Q!`SP(I$)"Y0B\8E__\``%#_
-M5P0SP('F__\``&:+1"0V1L'X"('F__\``"7_````4%;_5P0SP(/$$(I$)#-0
-MBT0D0"7__P``4/]7!(U$)"!0Z`W]__^#Q`R%P'0^B\5%BU0D&(@0B\5%BE0D
-M&8@0B\5%BE0D&H@0B\6*5"0;18@018M4)!R(5?^*5"0=B%4`75M>7X/$),.#
-MQP"X!@```(O]O@4```"%P'3EB\9.Q@<`1X7`=?5=6UY?@\0DPY"-="8`@^P<
-M,\E7BWPD+%9358M$)#1FBV@0BT0D-,9'`03&1S`!9L='$B``9HE/%H'E_/\`
-M`&:);Q!FB4\4BT`4@^#PB4<8A<!T#F;'1QP`(,9''F#K##O_9L=''```QD<>
-M(,9''P"-1"04B]U0:@1J/('C__\``(/#$8M4)#R!X___``"-=R)34NAF^?__
-MC40D*%#H#/S__X/$&(7`=#5&C5PD%$-&0T9#1D-#1HI#^XA&^XI#_(A&_(I#
-M_8A&_8I#_HA&_HI#_XA&_XH#B`;K'(/'`+@&````NP4```"%P'0+B\-+Q@8`
-M1H7`=?6+Q27__P``@\`0)?__``!0BT0D-/]0'(/$!*F`````=`;&1RP0ZP3&
-M1RP$B@^`^0IU)<9'(01=6UXSP%^#Q!S#@\8`QD<?`<9'(00SP%U;7E^#Q!S#
-M._^-1"0F@>7__P``4(M$)#1J`6H&@\41@>7__P``55#HC?C__S/`@\049HM$
-M)":I``$``'0<J0`"``!U#HM$)#1FBT`$9JD$`'4'N`$```#K`C/`A<!UEL9'
-M'P#&1R'_BD<>#`*(1QZ+1"0T9HM`!&:I!`!U$%U;7K@"````7X/$',.#QP!=
-M6UXSP%^#Q!S#._^#[`Q7BWPD((U$)`2+5"044(M$)"!J!"7_````4(M$)"0E
-M__\``%!2Z//W__^-1"084.B9^O__@\08A<!T-D>-3"0$04=!1T%'04%'BD'[
-MB$?[BD'\B$?\BD']B$?]BD'^B$?^BD'_B$?_B@&(!U^#Q`S#D+@&````N04`
-M``"%P'3LB\%)Q@<`1X7`=?5?@\0,PSO_@?\`````@?\`````@^P(5S/_5HMT
-M)!135<9&&P!J"%;HIR0``(/$"*D`"```#X2L````O1````"+QT<]Z`,``'XB
-M:@!J`&H`:@%J`6H&5NA(&P``N`$```"#Q!Q=6UY?@\0(PV:%KG(+``!T0S/`
-M9HM&%H/`""7__P``4(N&7`L``/]0'(O8,\!FBT86@\`))?__``!0BX9<"P``
-M_U`<P>`(9@O8@>/__P``@\0(ZR,SP&:+1A:#P`@E__\``%"+AEP+``#_4""+
-MV('C__\``(/$!/?#``@```^%6?___UU;7C/`7X/$",.#QP"#[`A7BWPD$%9F
-MBX=R"P``9JD0`'1&,\!FBT<6@\`&)?__``!0BX=<"P``_U`<B_`SP&:+1Q:#
-MP`<E__\``%"+AUP+``#_4!S!X`AF"_"+_H'G__\``(/$".LDD#/`9HM'%H/`
-M!B7__P``4(N'7`L``/]0((OX@>?__P``@\0$]\>`````7K@`````#Y7`7X/$
-M",.0@?\`````@?\`````@^P(5XM\)!!69HN'<@L``&:I$`!T1C/`9HM'%H/`
-M""7__P``4(N'7`L``/]0'(OP,\!FBT<6@\`))?__``!0BX=<"P``_U`<P>`(
-M9@OP@>;__P``@\0(ZR:#QP`SP&:+1Q:#P`@E__\``%"+AUP+``#_4""+\('F
-M__\``(/$!(O&@^#W9HOP9HN'<@L``&:I$`!T4(O&)?\```!0,\!FBT<6@\`(
-M)?__``!0BX=<"P``_U`$@>;__P``,\#!_@B!YO\```!69HM'%H/`"27__P``
-M4(N'7`L``/]0!(/$$.LE@\<`@>;__P``,\!69HM'%H/`""7__P``4(N'7`L`
-M`/]0"(/$"&:+AW(+``!FJ1``=$4SP&:+1Q:#P`8E__\``%"+AUP+``#_4!R+
-M\#/`9HM'%H/`!R7__P``4(N'7`L``/]0','@"&8+\(O^@>?__P``@\0(ZR,S
-MP&:+1Q:#P`8E__\``%"+AUP+``#_4""+^('G__\``(/$!/?'@````%ZX````
-M``^5P%^#Q`C#D(/L"%>+?"005F:+AW(+``!FJ1``=$8SP&:+1Q:#P`@E__\`
-M`%"+AUP+``#_4!R+\#/`9HM'%H/`"27__P``4(N'7`L``/]0','@"&8+\('F
-M__\``(/$".LF@\<`,\!FBT<6@\`()?__``!0BX=<"P``_U`@B_"!YO__``"#
-MQ`2+QH/("&:+\&:+AW(+``!FJ1``=%2+QB7_````4#/`9HM'%H/`""7__P``
-M4(N'7`L``/]0!('F__\``#/`P?X(@>;_````5F:+1Q:#P`DE__\``%"+AUP+
-M``#_4`2#Q!!>7X/$",.#QP"!YO__```SP%9FBT<6@\`()?__``!0BX=<"P``
-M_U`(@\0(7E^#Q`C#@^P,5XM\)!16BD<;A,`/A9@```!FBX=R"P``9JD0`'1'
-M,\!FBT<6@\`()?__``!0BX=<"P``_U`<B_`SP&:+1Q:#P`DE__\``%"+AUP+
-M``#_4!S!X`AF"_"!YO__``")="04@\0(ZR0SP&:+1Q:#P`@E__\``%"+AUP+
-M``#_4"`E__\``(E$)!"#Q`2+1"0,)0`+```]``,``'4<N`$```"(1QM>7X/$
-M#,,[_[@!````7E^#Q`S#D&:+AW(+``!FJ1``=$<SP&:+1Q:#P`8E__\``%"+
-MAUP+``#_4!R+\#/`9HM'%H/`!R7__P``4(N'7`L``/]0','@"&8+\(O^@>?_
-M_P``@\0(ZR4[_S/`9HM'%H/`!B7__P``4(N'7`L``/]0((OX@>?__P``@\0$
-M]\>`````#X5Q____7C/`7X/$#,.0@?\`````@?\`````@^P85XM\)"!64U5F
-MBX=R"P``9JD0`'1$,\!FBT<6@\`()?__``!0BX=<"P``_U`<B_`SP&:+1Q:#
-MP`DE__\``%"+AUP+``#_4!S!X`AF"_"!YO__``"#Q`CK))`SP&:+1Q:#P`@E
-M__\``%"+AUP+``#_4""+\('F__\``(/$!+@``P``9B/&/0`#```/A6P#``!F
-MBX=R"P``B]Z!X_?_``"!RP`(``!FJ1``=$LSP(K#4#/`9HM'%H/`""7__P``
-M4(N'7`L``/]0!('C__\``#/`P?L(@>/_````4V:+1Q:#P`DE__\``%"+AUP+
-M``#_4`2#Q!#K(Y"!X___```SP%-FBT<6@\`()?__``!0BX=<"P``_U`(@\0(
-M9HN'<@L``&:I$`!T13/`9HM'%H/`#B7__P``4(N'7`L``/]0'(OH,\!FBT<6
-M@\`/)?__``!0BX=<"P``_U`<P>`(9@OH@>7__P``@\0(ZR4[_S/`9HM'%H/`
-M#B7__P``4(N'7`L``/]0((OH@>7__P``@\0$9HEL)"9FA>T/A$\!``!FBX=R
-M"P``9JD0`'1&,\!FBT<6@\`&)?__``!0BX=<"P``_U`<B^@SP&:+1Q:#P`<E
-M__\``%"+AUP+``#_4!S!X`AF"^B!Y?__``"#Q`CK)H/'`#/`9HM'%H/`!B7_
-M_P``4(N'7`L``/]0((OH@>7__P``@\0$9HN'<@L``&:I$`!FB6PD)'1#,\!F
-MBT<6@\`$)?__``!0BX=<"P``_U`<B^@SP&:+1Q:#P`4E__\``%"+AUP+``#_
-M4!S!X`AF"^B!Y?__``"#Q`CK(S/`9HM'%H/`!"7__P``4(N'7`L``/]0((OH
-M@>7__P``@\0$@>7__P``BT0D)"7__P``P>`0"\5F]\8`!(E$)!AT(C/`BU0D
-M&&:+1"0F4#/`4F:+1Q90BX=<"P``_U`H@\0,ZR`SP(M,)!AFBT0D)E`SP%%F
-MBT<64(N'7`L``/]0$(/$#%?HGO?__X/$!(7`=`LSP%U;7E^#Q!C#D&:+AW(+
-M``!FJ1``=$,SP&:+1Q:#P`@E__\``%"+AUP+``#_4!R+\#/`9HM'%H/`"27_
-M_P``4(N'7`L``/]0','@"&8+\('F__\``(/$".LC,\!FBT<6@\`()?__``!0
-MBX=<"P``_U`@B_"!YO__``"#Q`2+QH/("&:+\&:+AW(+``!FJ1``=%"+QB7_
-M````4#/`9HM'%H/`""7__P``4(N'7`L``/]0!('F__\``#/`P?X(@>;_````
-M5F:+1Q:#P`DE__\``%"+AUP+``#_4`2#Q!#K)8/'`('F__\``#/`5F:+1Q:#
-MP`@E__\``%"+AUP+``#_4`B#Q`A7Z#S!__^#Q`2#R`%=6UY?@\08PSO_@?\`
-M````@?\`````@^P(5XM\)!!69HN'H`L``&:%P`^$[@(``#/`9HN'/@L``(/`
-M!`T```"`4#/`9HN'<`L``(/`%"7__P``4(N'7`L``/]0#&:+AZ`+``"#Q`AF
-MJ0(`=!YFQX>B"P```@!7Z&LT``"^`0```(/$!.DJ`@``._]FBX>@"P``9JD$
-M`'039L>'H@L```0`O@(```#I"`(``&:+AZ`+``!FJ0@`=!]FQX>B"P``"`!7
-MZ%`U``"^`P```(/$!.G?`0``@\8`9HN'H`L``&:I(`!T'V;'AZ(+```@`%?H
-MU#8``+X%````@\0$Z;,!``"#Q@!FBX>@"P``9JE``'0?9L>'H@L``$``5^CX
-M-@``O@8```"#Q`3IAP$``(/&`&:+AZ`+``!FJ8``=$=FQX>B"P``@`!J$C/`
-M9HN'<`L``(/`&"7__P``4(N'7`L``/]0#(/$"+X'````9HN'H`L``&8-`0!F
-MB8>@"P``Z3(!```[_V:+AZ`+``!FJ0`!=!]FQX>B"P````%7Z'@X``"^"```
-M`(/$!.D'`0``@\8`9HN'H`L``&:I$`!T,V;'AZ(+```0`&H(,\!FBX=P"P``
-M@\`8)?__``!0BX=<"P``_U`,@\0(O@0```#IQ````&:+AZ`+``!FJ0!`=#-F
-MQX>B"P```$!J"#/`9HN'<`L``(/`&"7__P``4(N'7`L``/]0#(/$"+X.````
-MZ80```!FBX>@"P``9JD!`'0O9L>'H@L```$`:@@SP&:+AW`+``"#P!@E__\`
-M`%"+AUP+``#_4`R#Q`@S]NM*._]J`VH`,\!FBX>@"P``4&H%:@!J!E?HD@\`
-M`(/$'#/`9L>'H@L```$`:@AFBX=P"P``@\`8)?__``!0BX=<"P``_U`,@\0(
-M,_8SP&:+ASX+``!0,\!FBX=P"P``@\`4)?__``!0BX=<"P``_U`,5C/`9HN'
-M<`L``(/`&"7__P``4(N'7`L``/]0##/`,\EFBX>B"P``B(^["P``]]!F(X>@
-M"P``@\009HF'H`L``(B/3`L``%Y?@\0(PX/'`(/L"#/`BTPD#&:+00*#^$%T
-M=H/X0G1]@_A##X2`````@_A$#X2#````@_A%#X2&````@_A&#X2)````@_A0
-M=`6#^&!U/F;'00(S`&:+D:`+``!F@\H09HN!H@L``&:)D:`+``!FA<!U&F:+
-M00)F/3``<A#&@;L+````4>AP_/__@\0$@\0(PY!FQT$",0"#Q`C#._]FQT$"
-M,@"#Q`C#._]FQT$",P"#Q`C#._]FQT$"-`"#Q`C#._]FQT$"-0"#Q`C#._]F
-MQT$"-@"#Q`C#._^#[!@SP%>+?"0@4V:+1P*#^$0/A(P````/C]("``"#^#8/
-MA.$!```/CY\"``"#^#1T<@^/6`(``(/X(0^%LP0``&:+1P1F_T<$9CT*``^&
-MH00``#/`9HN'<`L``(/`,B7__P``4(N'7`L``/]0((/(#R7__P``4%>+AVP+
-M``#_4#1FQT<"$`!J`&H`:@!H``(``&H`:@%7Z(0-``"#Q"CI4`0``#/`9HN'
-M<`L``(/`,B7__P``4(N'7`L``/]0((/$!(O09O?"`@`/A?$```"*A[L+``"*
-MR/[!/`.(C[L+```/C@T$``!FQT<"$`!7Z.T-``"+AV`+``!0BX=<"P``_U`\
-M@\0(,\!J!&H`9HM'`E!J!6H`:@97Z`,-```SP&:+ASX+``!0,\!FBX=P"P``
-M@\`4)?__``!0BX=<"P``_U`,,\!FBX=`"P``4#/`9HN'<`L``(/`%"7__P``
-M4(N'7`L``/]0#(/$+&H/5XN';`L``/]0-&H`,\!FBX=P"P``@\`()?__``!0
-MBX=<"P``_U`,@\005^A$#0``BY=@"P``4HN'7`L``/]0/,>'4`L```````"#
-MQ`CI-@,``#O_@>+__P``@\H!@>+__P``4E>+AVP+``#_4#1F_T<",\EFB4\$
-MB8]0"P``5XN';`L``/]0+&;'1P0``&;_1P*#Q`SI[@(``#O_9HM'!&;_1P1F
-M/0H`#X;:`@``,\!FBX=P"P``@\`R)?__``!0BX=<"P``_U`@@\@!)?__``!0
-M5XN';`L``/]0-,>'4`L```````!FQT<"$`!J`&H`:@!H``(``&H`:@%7Z+,+
-M``"#Q"A7Z&H,``"+CV`+``!1BX=<"P``_U`\@\0(Z68"```[_X/X-0^%6P(`
-M`&:+1P1F_T<$9CT!``^&20(``%>+AVP+``#_4"QFQT<"-@!FQT<$``"#Q`3I
-M*P(``(/'`(/X0G0/#X\=`@``@_A!#X44`@``9HM'!&;_1P3I!P(``(/'`(/X
-M4`^$,P$``'\U@_A%#X7P`0``9HM'!&;_1P1F/04`#X;>`0``5XN';`L``/]0
-M+&;'1P)&`(/$!.G&`0``._^#^&`/A;L!``!FBX=R"P``BI=,"P``_L)FJ8``
-MB)=,"P``#X34````9HN'M`L``&:%P`^$Q````(J'3@L``*@!#X2V````:@$S
-MP&:+AW`+``"#P"XE__\``%"+AUP+``#_4`0SP&:+AW`+``"#P!HE__\``%"+
-MAUP+``#_4"!J`"4`#P``B]@SP&:+AW`+``"#P"XE__\``%"+AUP+``#_4`2#
-MQ!1F@_L!=E%FQT<"0P#_A]@0``!FBX>@"P``9@T0`&:)AZ`+``!FBX>B"P``
-M9H7`#X7K````9HM'`F8],``/@MT```#&A[L+````5^C\]___@\0$Z<@```!F
-MBX>@"P``9H7`=$2*A[L+``"*T/["/!Z(E[L+``!^,&H`,\!FBX>B"P``4#/`
-M9HN'H`L``%!J`6H!:@=7Z+()``"XZ`,``(/$'%M?@\08PS/`,]**A\$.``"*
-ME\(.```[PG0&_H=-"P``BX=$"P``J0$```"-4`&)ET0+``!T2&@4`P``,\!F
-MBX=P"P``@\`4)?__``!0BX=<"P``_U`,BX=$"P``P>@!4#/`9HN'<`L``(/`
-M&"7__P``4(N'7`L``/]0#(/$$%NXZ`,``%^#Q!C#D(/L#%>+?"04:@]7BX=L
-M"P``_U`TBT0D((/$"(7`=#EJ`#/`9HN'<`L``(/`""7__P``4(N'7`L``/]0
-M#(/$"%?HFPD``(N78`L``%*+AUP+``#_4#R#Q`C'AU`+````````7X/$#,.0
-M._^!_P````"#[#17BWPD/%9356:+1P)F/2$`=7)H``,`@#/`9HN'<`L``(/`
-M%"7__P``4(N'7`L``/]0#&H%C40D(%`SP&:+AW`+``"#P!@E__\``%"+AUP+
-M``#_4#"+1"0L9HF'/`L``&:+1"0N9HF'/@L``(M$)#!FB8=`"P``BT0D.&:)
-MAT(+``"#Q!0SP&:+AT`+```-````@%`SP&:+AW`+``"#P!0E__\``%"+AUP+
-M``#_4`PSP&:+AW`+``"#P!@E__\``%"+AUP+``#_4"2+\+C_````9B/&@\0,
-M2(/X!G=O_R2%Q````#O_,\!FBX=P"P``@\`8)?__``!0BX=<"P``_U`D@\0$
-MB]"#^@@/A)L```!FQT<"$`!J`"7__P``P>H04('B__\``%)H``$``&H`:@%7
-MZ'@'``"#Q!SK$8/'`(/X1G4)5^@E.```@\0$,\!FBX=`"P``4#/`9HN'<`L`
-M`(/`%"7__P``4(N'7`L``/]0#('F__\``#/`@<X`@```@>;__P``5F:+AW`+
-M``"#P!@E__\``%"+AUP+``#_4`B#Q!!=6UY?@\0TPS/`9HM'`H/X(70I@_@V
-M=81FQT<",`!7Z*@'``"+EV`+``!2BX=<"P``_U`\@\0(Z6[___]FQT<",`!J
-M`&H`:@!J`&H`:@%7Z+@&``"#Q!SI3O___S/`9HN'<`L``(/`&"7__P``4(N'
-M7`L``/]0),'H$&:)1"1$,\!FBT<"@\0$@_@R=#N#^$(/A((```"#^%!T"8/X
-M8`^%,`,``(M$)$!FJ0"`#X0B`P``9JD`"`^$'`(``,:'GPL``&3I+P(``(M$
-M)$!FJ0"`=#AFBX>@"P``9@T0`&:)AZ`+``!FBX>B"P``9H7`=1IFBT<"9CTP
-M`'(0QH>["P```%?H!?3__X/$!&;'1P(S`.F5_O__@\<`BT0D0&:I`(`/A"H!
-M``!FJ0`(=`S&AY\+``!DZR*#QP"+1"1`9JD``70*N!````#K"(/'`+@$````
-MB(>?"P``BT0D0&:I``)T"\:'G`L```+K"3O_QH><"P```6;'1P)0`,>'1`L`
-M``````"+AR@+``"-CR@+``")AS`+```STHF'+`L``(J'M@L``(B'MPL``(N?
-M*`L``&:)4P2+`8M;*#O8=?-FBX>T"P``9H7`=$\SV[@?````(H>V"P``B^AF
-MBX>T"P``9H7`?C2)="00C8>T"P``B_"-1&T`P>`#C80'O`L``%!7Z#@T``!%
-M@\0(@^4?0P^_!CO8?-R+="005^B?)@``:@`SP(J'G`L``%`SP(J'GPL``%`S
-MP&:+AXX+``!0:@!J`%?HQP0``(/$(.E=_?__@\8`9L='`D,`N`\```!F(T0D
-M0(/X#74SBH>>"P``B(>?"P``BH>>"P``A,!U46H`:@!J`&@`"```:@!J`E?H
-M?`0``(/$'.LW@\8`BH>="P``B(>?"P``:@!J`&H`N/\```!F(T0D3`T`!P``
-M)?__``!0:@!J`E?H0P0``(/$'&;'1P0``.G3_/__D(M$)$!FJ0`!=`JX$```
-M`.L(@\<`N`0```"(AY\+``"+1"1`9JD``G0+QH><"P```NL).__&AYP+```!
-M:@`SP(J'G`L``%`SP(J'GPL``%`SP&:+AXX+``!0:@!J`%?HT0,``(/$'.EG
-M_/__D#/`9HM'`H/X,W0Y@_A#="*#^%!T!8/X8'5V:@!J`&H`:``(``!J`&H#
-M5^B9`P``@\0<9L='`D0`5^A*`@``@\0$ZP>09L='`C0`9HN'H`L``&8-`$!F
-MB8>@"P``9HN'H@L``&:%P`^%^OO__V:+1P)F/3``#X+L^___QH>["P```%?H
-M0?'__X/$!.G7^___D&H`B\8E__\``%`SP&:+1P)0:@5J`&H&5^@;`P``@\0<
-MZ;'[__^#QP`SP&:+AW`+``"#P!@E__\``%"+AUP+``#_4"1J`&H`P>@0:@"+
-MV"7__P``4&H`:@-7Z-H"``!FBT<"@\0@9CU0``^"9_O__V;WPPL/=`YFQT<"
-M0P#I5?O__X/&`,:'CQ````?I1OO__\:'3`L```#I.OO__X'_`````('_````
-M`(/L##/`5XM\)!164V:+ASX+```-````@%`SP&:+AW`+``"#P!0E__\``%"+
-MAUP+``#_4`PSP&:+AW`+``"#P!@E__\``%"+AUP+``#_4"2+\#/`9HN'<`L`
-M`(/`&"7__P``4(N'7`L``/]0)#/2@\009HN7H@L``(O.@^%_N`$```#3X(O8
-M)?__```[PG0?:@$SP&:+PE"+PR7__P``4&H%:@!J!E?HY0$``(/$'&;'AZ(+
-M`````&:+1P)F/3$`=5-FQT<",`!7Z(,"``"+EV`+``!2BX=<"P``_U`\@\0(
-M6UY?@\0,PY"+QH/@?X/X!W4)5^CH)P``@\0$@^9_@_X.=`E7Z(?O__^#Q`1;
-M7E^#Q`S#D(O&P>@0J0`@``!UR&H"@>/__P``P>X0@>;__P``5E-J!6H`:@97
-MZ%$!``"#Q!Q;7E^#Q`S#@\<`C70F`(/L%#/2,\E7BWPD'%9358J7P0X``(J'
-MM@L``(B/N0L``(B'MPL``#/`BH?"#@``B(^Z"P``.\(/A(D```"+[XV%8`L`
-M`(VUP@X``(E$)!R-A<(.``"-O<$.``")1"08C9V\#@``BI7"#@``N1\````B
-MRFH!C0Q)P>$"C80-Q`X``(E$)!B+"(M$)"!1BP!0BX5<"P``_U!$BT0D)(/$
-M#(J5P@X``/["B!`STHM$)!1F#[9`!&8#`V:)`S/`B@:*%SO"=:&+_6:+E[P.
-M``"*A\(.``!F@_H@B(?##@``="0E_P```%`SP(J'P0X``%`SP&:+PE!J`FH!
-M:@97Z$````"#Q!QFQX>\#@``(``SR8B/O@X``(B/OPX``(B/P`X``(B/P0X`
-M`(B/PPX``(B/P@X``%U;7E^#Q!3#._^-="8`@^P05XM$)!Q6BW0D'&:)1"0(
-MBT0D)#/_B$0D"F:+AI@+``!FB40D#(M$)"AFB40D$(M$)"QFB40D$HM$)#!F
-MB40D%(M$)#1FB40D%HM$)"2$P'0NQH:<"P```&:+1@)FQT8",`!F/4``N```
-M```/E\!J`(OX5HN&;`L``/]0!(/$"(J&G`L``(A$)`N-1"0(4(N68`L``%*+
-MAEP+``#_4#B#Q`B%_W0)5N@2````@\0$7E^#Q!##D#O_@?\`````@^P4,\`S
-MTE>+?"0<5E-5BI>X"P``BH>V"P``.\(/A(@```"+[XV%7`L``(VUM@L``(E$
-M)""-A6`+``")1"0<C86V"P``C;VX"P``B40D&(V=M`L``(J5M@L``+D?````
-M(LIJ`8T,2<'A`XV$#;P+``"+2!2+1"0@46H!:@"+`%"+1"0TBP#_4$B+1"0L
-M@\04BI6V"P``_L*($#/29O\+,\"*!HH7.\)UK(O]9HN'M`L``&:%P'0K,\"*
-MA[H+``!0,\"*A[<+``!0,\!FBX>T"P``4&H#:@%J!E?H8?[__X/$'#/)9HF/
-MM`L``(B/M@L``(B/MPL``(B/N`L``%?H_?S__X/$!%U;7E^#Q!3#._]75HMT
-M)`RX'P```(M,)!`BAL$.``"-!$#!X`*-O`;$#@``BT0D%(D'BD0D&,9'!0"(
-M1PB*AL$.``#^P(B&P0X``%%6BX9L"P``_U`@B$<$@\0(7E_#@\<`._^!_P``
-M``#'!?P#``````#_@^P,5[^`````5E/'1"04`````%6+]X'F@("`@#/^B];!
-MZ@\#_S/Z]\:`````=`:!]P3!';>+3"08O@$```#3YKL``0``*]Z!^P`!```/
-MC:,```"+PXL,G0`````KQHO7,]%#B12%`````('[_0```'U=B\.+#)T`````
-M*\:+US/1B12%`````(O7B\.#PP0KQHTLA0````"+!)WT____,]")E00```"+
-MUS,4G?C___^)E0@```"+UXL,G?S___\ST8'[_0```(F5#````'RC@?L``0``
-M?1^+PXL,G0`````KQHO7,]%#B12%`````('[``$``'SABU0D&$*)5"08@_H(
-M#XP,____75M>7X/$#,,[_XUT)@!75E.+1"0858MT)!B+7"04@_X0BS@/C)(`
-M``#WPP,```!T)(O',]+!Z`B*$X'G_P```$XSUT,S!)4`````]\,#````B_AU
-MW(O&P?@"A<"-:/]T5X/#!#-[_(O'@>?_````P>@(,P2]`````(OXP>@(@>?_
-M````,P2]`````(OXP>@(@>?_````,P2]`````(OXP>@(@>?_````,P2]````
-M`(OXB\5-A<!UJ8/F`XO&3H7`="*+QS/2P>@(BA.!Y_\```!#,]<S!)4`````
-MB_B+QDZ%P'7>BT0D'(DX75M>7\.#QP"!_P````"!_P````!0BT0D%,<$)```
-M``!7OP$```!6C7#_4U6+;"0@A<!T4XM4)!R+7"08C40D$(U*`8/B'XE,)!R-
-M%%)0P>(#A?:-G!.\"P``=`@SP&:+0PCK`HO%*\=0BPL#^5?HL?[__S/`@\0,
-M9HM#"#/_*^B+QDZ%P'6M75M>BT0D!#TX^R*$N``````/E<!?@\0$PXUT)@!7
-M5E.+1"04BTPD$(LXBD`/J`$/A(<```"*1PBH@'0-NQ\```"*5PXBVNL#D#/;
-MBT0D%(U3%6:+0`HE__\``#O"=5V^^O___S/`,]**A#&("P``BE0W"#O"=4)&
-M?.HSP(U\'PZ^!@```(H')>\````]Y````'4I,\"*1P$E[P```#WD````=1B*
-M1P(\`W41BT<#/0`$D`=T$.L%._^#Q@8SP%M>7\.#QP!;7K@!````7\.#QP"!
-M_P````"!_P````!7BWPD#%:+="0,9HM'"&8]-0!S,HJ&?0L``"3\B(9]"P``
-M:``!``!6BX9L"P``_U`<:@!J`&H`:@-J`&H%5N@M^O__@\0D,\"+%XI"`27`
-M````@_A`=5E75NCB_O__@\0(A<!T,HJ&?0L``"3\B(9]"P``:``!``!6BX9L
-M"P``_U`<:@!J`&H`:@%J`&H%5NC<^?__@\0DBH9]"P``J`%U"XI'#Z@#=03&
-M1PX!7E_#D(J&?0L``*@"=?+K[(UT)@"#[!@SP#/25XM\)"!64U6*E\,.``"*
-MA\(.```[P@^$@@```(E\)""+QP7"#@``B40D)(ML)""-,(UX`8U8^HJ5P@X`
-M`+D?````(LJ-#$G!X0*-C`W$#@``9@^V001F`P-FB0.+1"0DBI7"#@``_L*(
-M$(I!"(3`=1TSP&:+0090BPE1BX5@"P``4(N%7`L``/]01(/$##/`,]**!HH7
-M.\)UG8M\)"`SP#/2BH>V"P``BI>W"P``.\(/A!H!``")?"00C8=@"P``B40D
-M((V'MPL``(E$)!R-AW(+``")1"08B\>-G[8+``"-N'T+``"-L+0+``"+5"00
-MN1\```"*@K8+```BR(M$)!B-#$G!X0-F]P"``(VL"KP+``!T4(I%#H3`=4F+
-M31`SP%%FBT4*4#/`BH*V"P``4%+HL_S__X/$$(7`=!R+1"00_X#($```BA?V
-MP@1T!\9%#@+K!9#&10X!9HM5"F:#Z@1FB54*BD40B@L"P8@#9HL&9BM%$&:)
-M!HH'J`-T#E6+5"044NBP_?__@\0(,\"*10Y0BTT448M%$%`SP&:+10I0BT0D
-M,(L0BT0D(%*+@%P+``#_4$B+5"0P@\04,\"*$HH#@>+_````.\(/A1S___]=
-M6UY?@\08PY"+1"0(BU0D!(7`C4C_=`N+P4G&`@!"A<!U]<.0C70F`&:+3"0$
-MB\&!X?__``#!X0@E__\``,'X"('A`/\``"7_````"\$E__\``,.0C70F`%<S
-MP&:+1"0,4(M$)`S_4!R+^#/`9HM$)!!`)?__``!0BT0D$/]0','@"&8+^(O'
-M)?__``"#Q`A?PX/'`(UT)@`SP(I$)`Q0,\!FBT0D#%"+1"0,_U`$,\!FBT0D
-M%,'X""7_````4#/`9HM$)!1`)?__``!0BT0D%/]0!(/$$,.0BTPD!(O1B\'!
-MZ@C!Z!B!X@#_```+PHO1P>((P>$8@>(``/\`"\(+P<.#QP"-="8`5XM\)`A6
-M9HN'<@L``&:I$`!T53/`,])FBT<69HM4)!`#PB7__P``4(N'7`L``/]0'(OP
-M,\!FBT<6,])FBU0D%(U$$`$E__\``%"+AUP+``#_4!S!X`AF"_"+QB7__P``
-M@\0(7E_#._\SP#/29HM'%F:+5"00`\(E__\``%"+AUP+``#_4"`E__\``(/$
-M!%Y?PX/'`('_`````('_`````%>+?"0(9HN'<@L``&:I$`!T6C/`,])FBU0D
-M#(I$)!!0,\!FBT<6`\(E__\``%"+AUP+``#_4`0SP#/29HM$)!C!^`AFBU0D
-M%"7_````4#/`9HM'%HU$`@$E__\``%"+AUP+``#_4`2#Q!!?PS/`,])FBT0D
-M$%`SP&:+1Q9FBU0D$`/")?__``!0BX=<"P``_U`(@\0(7\.0._^!_P````!7
-MBWPD"&C_````,\!FBT<6@\`')?__``!0BX=<"P``_U`$BT0D%(/$"(7`=%XS
-MP&:+1P:#^`)T6(/X`W5.:/X````SP&:+AW`+``"#P!TE__\``%"+AUP+``#_
-M4`1H@````#/`9HN'<`L``(/`'R7__P``4(N'7`L``/]0!&HRBX=<"P``_U`T
-M@\047\.#QP!J!S/`9HN'<`L``(/``B7__P``4(N'7`L``/]0!&B`````,\!F
-MBX=P"P``@\`#)?__``!0BX=<"P``_U`$:C*+AUP+``#_4#2#Q!1?PX/'`(M4
-M)`0SP&:+0A90BY)<"P``4NCIC?__@\0(PY"-="8`4%>+?"0,5^BTD/__,\"#
-MQ`2+EY00``"*1U@#PHN7H!```(F'E!```#/`BX^<$```BD=:`\&+CZP0``")
-MAYP0```SP(I'6P/"BY>H$```B8>@$```,\"*1UX#PHN7L!```(F'J!```#/`
-MBD=?`\&+C[P0``")AZP0```SP(I'8`/"BY>X$```B8>P$```,\"*1V(#PHN7
-MP!```(F'N!```#/`BD=D`\&)A[P0```SP(I'90/"B8?`$```BH=^"P``A,!T
-M(<:'?@L```"-AY00``!0BY=@"P``4HN'7`L``/]00(/$"%^#Q`3#._^-="8`
-M9HM,)`B+5"0$B\&!X?__``#!X0@E__\``,'X"('A`/\``"7_````"\%FB4(0
-MBT0D#(E"$HM$)!")0F@SP&B0````9HM"%H/`!R7__P``4(N"7`L``/]0!(/$
-M",.-="8`BU0D!&:+0A!FA<!T*\=";`````!HB````#/`9HM"%H/`!R7__P``
-M4(N"7`L``/]0!(/$",.#QP!2Z-*3__^#Q`3#._^!_P````"!_P````!0BU0D
-M"(M";(7`=`W'0FP`````4O_0@\0$@\0$PX/'`(M$)`R+5"0(0%!2_U0D#(/$
-M"(7`=16+3"0,BT0D"%%0_U0D#(/$"(7`=`FX`0```,.#QP`SP,.0._^!_P``
-M``!7BWPD"#/`,\EFBT<6B4]H9HF/H`L``(/`"(E/;"7__P``4(N'7`L``/]0
-M'(/(""7_````4#/`9HM'%H/`""7__P``4(N'7`L``/]0!&:+AW(+``"#Q`QF
-MJ0(`=#PSP&:+1Q:#P`DE__\``%"+AUP+``#_4!R#R`$E_P```%`SP&:+1Q:#
-MP`DE__\``%"+AUP+``#_4`2#Q`Q7Z,&Q__]FQT<"00!FQT<$``"#Q`1?PXM4
-M)`B+3"0$4E'H0?S__XM$)`QFQT`"(0"#Q`C#@\<`4(M$)`A75E.-6!Q5BVPD
-M'&8S_S/VB\4E__\``%#_$\'X!('G__\``,'G!(/$!`OX1H/^!'S?OOS___^+
-M3"0@B\>+T27__P``@>+__P``.\)T+HO'@>?__P``P?\$)?__``#!X`P+QT:+
-M^'S3O@0````SP%U;7E^#Q`3#D.L%._^#Q@1=6UZX`0```%^#Q`3#4S/`9HM$
-M)`Q0BT0D#/]0'#/2)?X```"*%0`````+PC/2BE0D%`O"BM@SP(K#4#/`9HM$
-M)!10BT0D%/]0!+@!````(L.#Q`RB`````%O#._]3,\!FBT0D#%"+1"0,_U`<
-M,](E_@```(H5``````O",]**5"04]]*!XO\````CPHK8,\"*PU`SP&:+1"04
-M4(M$)!3_4`2X`0```"+#@\0,H@````!;PSO_._^!_P`````SP&:+1"0(4(M$
-M)`C_4!R#X`&#Q`3#._\[_X'_`````(/L&%=64U5H-I0``(M$)#0E__\``(M4
-M)#"#P!XE__\``%!2Z'C^__^#Q`R%P'0=75M>N`,```!?@\08P[@"````75M>
-M7X/$&,.#QP!H1I(``(M$)#0E__\``(M,)#"#P`(E__\``%!1Z#/^__^#Q`R%
-MP'7(BT0D,"7__P``@\`#9HE$)"`E__\``%"+1"0P_U`<QD0D*0>*V(A$)"N+
-M1"0PBW0D)(/`!(E$)!R->!@SP(K#@^"_B40D&(/$!#/`,]**5"0EBL,SPB7_
-M````4(O&)?__``!0BT0D(/\0:F'_%XO&)?__``!0_Q<STH/$$(I4)"4SPHM4
-M)!2*V#/`BL.#X+\[T'4Q_DPD)76P,\"*1"0G4(M$)"0E__\``%"+1"0T_U`$
-M@\0(N`$```!=6UY?@\08PX/'`#/`BD0D)U"+1"0D)?__``!0BT0D-/]0!(M$
-M)#@E__\``(/``B7__P``4(M$)#C_4!R*V#/`B%PD,[D_````(MF(3"0QB%PD
-M,HK#4(M$)$`E__\``(/``B7__P``4(M$)$#_4`2+?"1$BT0D0('G__\``(/'
-M`HUP'(/`!(E$)"R#Q!0SP#/2BE0D)8K#,\(E_P```%"+QR7__P``4(M$)"#_
-M$&IA_Q:+QR7__P``4/\6,]*#Q!"*5"0E,\(STHK8,\"*1"0FBM,[P@^%J0``
-M`/Y,)"5UK3/`BD0D)U"+1"0T)?__``"#P`(E__\``%"+1"0T_U`$BT0D*"7_
-M_P``4(M$)#C_4!R*T(M$)#B_]O___X/$#(UP'(E<)!"+VHML)""+Q27__P``
-M4/\6,]*#Q`2*TSO"=3)'?.B+7"00OPH```#VPP9U#5U;7K@)````7X/$&,/V
-MPP1T0EU;7C/`7X/$&,.0ZP4[_X/'"EU;7KAC````7X/$&,,SP(I$)"=0BT0D
-M-"7__P``@\`")?__``!0BT0D-/]0!(/$"(M$)#`E__\``$!FB40D(B7__P``
-M4(M$)##_4!S&1"0I!XK8BT0D,&:+;"0FB%PD*XUX'(UP!#/`BL.#X+^)1"0<
-M@\0$,\`STHI4)"6*PS/")?\```!0B\4E__\``%#_%FIA_Q>+Q27__P``4/\7
-MBE0D-8/$$(K8B\,RPHM4)!B*V#/`BL.#X+\[T`^%Z0```/Y,)"5UKC/`BD0D
-M)U`SP&:+1"0F4(M$)#3_4`2_^/___XM$)#1FBVPD*HI<)"^(7"0NC7`<@\`$
-MB40D((/$"(I$)"8T0(A$)"8SP(K#@_!`)?\```!0B\4E__\``%"+1"0@_Q!J
-M8?\6B\4E__\``%#_%HK8@\00,\`STHI$)":*TSO"=31'?+<SP+\(````BD0D
-M)U`SP&:+1"0F4(M$)#3_4`2#Q`BX!P```%U;7E^#Q!C#.__K!3O_@\<(,\"*
-M1"0G);\```!0,\!FBT0D)E"+1"0T_U`$@\0(N`4```!=6UY?@\08PSO_,\"*
-M1"0G4#/`9HM$)"90BT0D-/]0!(/$"+AC````75M>7X/$&,,[_X'_`````('_
-M`````(/L"#/`5U:+="049HM&%H/`""7__P``4(N&7`L``/]0((/$!(OX9O?'
-M0`$/A18!``!H@````#/`9HM&%H/`""7__P``4(N&7`L``/]0!&@L`0``BX9<
-M"P``_U`T,\!FBT86@\`()?__``!0BX9<"P``_U`<N@,```"#X&1F(]<+T#/`
-MBL)0,\!FBT86@\`()?__``!0BX9<"P``_U`$,\!FBT86@\`5)?__``!0BX9<
-M"P``_U`<)?\```!0,\!FBT86@\`5)?__``!0BX9<"P``_U`$,\!FBT86@\`0
-M)?__``!0BX9<"P``_U`@@\0H)0@!```]"`$``'5,O^C___\SP&:+1A:#P!PE
-M__\``%"+AEP+``#_4"0SP&:+1A:#P!`E__\``%"+AEP+``#_4""#Q`BI``$`
-M`'0*1WS#OQ@```#K`X/'&#/`9HN&<`L``(/`$B7__P``4(N&7`L``/]0'(/@
-M/U`SP&:+AG`+``"#P!(E__\``%"+AEP+``#_4`2#Q`Q>7X/$",,[_XUT)@"#
-M[!0SP%>+?"0<5E-59HM'%H/`%27__P``4(N'7`L``/]0'(/$!(K8]L-`#X5G
-M`0``,\!FBT<6@\`0)?__``!0BX=<"P``_U`@@\0$B_!FJ0`!#X0S`0``,\!F
-MBT<6@\`8)?__``!0BX=<"P``_U`D,\!FBT<6@\`8)?__``!0BX=<"P``_U`D
-M,\!FBT<6@\`8)?__``!0BX=<"P``_U`D,\!FBT<6@\`8)?__``!0BX=<"P``
-M_U`D,\!FBT<6@\`8)?__``!0BX=<"P``_U`D,\!FBT<6@\`8)?__``!0BX=<
-M"P``_U`D@\08B^AF]\8(`'5TON+___\SP&:+1Q:#P!`E__\``%"+AUP+``#_
-M4"2#Q`0E"`$``#T``0``=6@SP&:+1Q:#P!@E__\``%"+AUP+``#_4"2#Q`0[
-MQ75)1GRW,\"^'@```&:+1Q:#P!4E__\``%"+AUP+``#_4!R*V(/$!.LR._]F
-MBX=R"P``9JD`"'4C._UW$HV'[!```#O%<Q7K!H/'`(/&'C/`75M>7X/$%,.#
-MQP`SP(K#4#/`9HM'%H/`%27__P``4(N'7`L``/]0!(/$"+@!````75M>7X/$
-M%,.#QP`[_X'_`````(/L)#/`5XM\)"Q64U7&1QL`9HM'%H/`$"7__P``4(N'
-M7`L``/]0'(A$)#<SP&:+1Q:#P`XE__\``%"+AUP+``#_4""+\#/`9HM'%H/`
-M&"7__P``4(N'7`L``/]0)(O8@\0,BD0D,Z@(#X5V`0``,\"*1"0SP?@$@^`#
-MB$0D,8J'>`L``(I4)#&$T`^$$`$``(/#!(M#_(E$)"0SP(K"]]B#X`-FB40D
-M*B7__P``@_@!=&J#^`(/A)4```"#^`,/A;L````SP#/29HM'%HI4)#&-1!`?
-M)?__``!0BX=<"P``_U`<BLB+1"0HP>@(,]**T<'B&`O",])0,\!FBT<6BE0D
-M.8U$$!PE__\``%"+AUP+``#_4`R#Q`SK93O_BT0D)#/2P>@8)?\```!0,\!F
-MBT<6BE0D-8U$$!PE__\``%"+AUP+``#_4`2#Q`CK,H/'`(M$)"0STL'H$"7_
-M_P``4#/`9HM'%HI4)#6-1!`<)?__``!0BX=<"P``_U`(@\0(,]*+QF:+5"0J
-M)?__```[PGP'9BORZP4[_V8S]L9$)#$`,\"*1"0Q@\`#9@/P9O?&_/]T)H'F
-M__\``#/`P?X"5E-FBT<6@\`<)?__``!0BX=<"P``_U`8@\0,75M>7X/$),.#
-MQP`SP(I$)#/!^`2#X`,+V&:%]G4-9L=$)"@!`.G=````D&;'1"0H``"+TXO&
-M@>+__P``)?__``#WVH/B`X/"7#O"#X^V````:F&+AUP+``#_4!QJ88N'7`L`
-M`/]0'#/`9HM'%H/`#B7__P``4(N'7`L``/]0((O()?__``"#Q`R+UH'B__\`
-M`#O"='*)7"00B]F]^/___V:%VW16:F&+AUP+``#_4!QJ88N'7`L``/]0'&IA
-MBX=<"P``_U`<:F&+AUP+``#_4!PSP&:+1Q:#P`XE__\``%"+AUP+``#_4""#
-MQ!1%B]A\K[T(````ZP:#QP"#Q0AF_T0D*(M<)!"+1"0H9H7`#X2"````,\!F
-MBT<6@\`$)?__``!0BX=<"P``_U`@B^@SP&@0`0``9HM'%H/`!"7__P``4(N'
-M7`L``/]0"#/`9HM'%E"+AUP+``#_4""+R(O#]]AF`\@SP('E__\``+K_````
-M58'F`/\``&:+1Q9F(]&#P`0+\B7__P``4(N'7`L``/]0"(/$&/?#`P```'1-
-M,\!FBT<6@\`<)?__``!0BX=<"P``_U`DB40D*(/$!(O#N@,```"#X`.-;"0D
-M9B/3`^B#^@1T%KD$````14-F3HI%_XA#_W0%0CO1=>]F]\;\_W0GB\8E__\`
-M`,'X`E`SP%-FBT<6@\`<)?__``!0BX=<"P``_U`P@\0,B\8E_/\```/89O?&
-M`P`/A-/]__\SP&:+1Q:#P!PE__\``%"+AUP+``#_4"2)1"0H@\0$,])F]\8#
-M`(U$)"0/CJ/]__^-:`&_`P```&8C_D**`(E4)!R-=_V(`T,[UGTKN00```"*
-M10!%B`-#BD4`18@#0XI%`$6(`T.*10`#T46(`T,[UGS>B50D'(M4)!P[UP^-
-M4/W__XM,)!R*10!%08@#B4PD'$,[SWSL75M>7X/$),.#QP`[_X'_`````&C`
-M````,\"+5"0(9HM"%H/`%"7__P``4(N"7`L``/]0!(/$",.#QP`[_X'_````
-M`%>+?"0(5HJ'?`L``(3`=1UJ`#/`9HM'%H/`%"7__P``4(N'7`L``/]0!(/$
-M"#/`,_9FBT<6@\`&)?__``!0BX=<"P``_U`@@\0$J8````!T$U?H:9+__X/(
-M`8/$!(OPZR6#Q@"*1QN$P'4-5^C?^/__@\0$A<!T#E?HHOK__[X!````@\0$
-MBH=\"P``A,!U(&C`````,\!FBT<6@\`4)?__``!0BX=<"P``_U`$@\0(B\9>
-M7\.#QP`[_X'_`````&C`````,\"+5"0(9HM"%H/`%"7__P``4(N"7`L``/]0
-M!(/$",.#QP`[_X'_`````%>+?"0(:@`SP&:+AW`+``"#P"XE__\``%"+AUP+
-M``#_4`1H````@#/`9HN'<`L``(/`%"7__P``4(N'7`L``/]0##/`9HN'<`L`
-M`(/`&"7__P``4(N'7`L``/]0)#/`9HN'<`L``(/`%"7__P``4(N'7`L``/]0
-M)(/$&#T$``"`N``````/E,!?PSO_C70F`%>+?"005C/V4XM<)!!5BVPD&(O'
-M1U!5_].#Q`B%P'0,N`$```!=6UY?PSO_1H/^!'S@75M>,\!?PX/'`(UT)@"#
-M["175E-5BT0D.(J03@L``(#BR(B03@L``&:+D'(+``!F]\*``'1`BX`4"P``
-M,]*)1"0P]]B#X`>)1"0DBT0D.(M,)"2+@!`+``")1"0LBT0D.(N`&`L``"O!
-MN2P```#W\8E$)"#K+<=$)"`@````BT0D.(N`9`L``(/`"(E$)##WV(/@!XE$
-M)"2+1"0X@\`(B40D+(M4)#`S]HM\)"0#UXE4)#"+5"0@.]8/CN````"+1"0X
-MBUPD,(E\)!"->O^)="04C;!R"P``BVPD)(M,)"P#Z3/2C5P3$(M,)!"+1"0L
-M`\AF]P:``'099L=!!@``9L=!!`"`9L<!$`")60CK$X/'`#/29HE1!F:)$8E1
-M"&:)402+5"00BT0D%(/"+#O'B50D$'459L=!`@``BU0D,(EI*(/*`XE1#.L]
-MBU0D%$*-!%*-%-4``````]#!X@*+1"0P`]")40QF]P:``'4&@\H#B5$,9L=!
-M`@``BU0D$(M$)"P#T(E1*(/#+(M,)!1!BT0D((E,)!0[R`^,2?___XM<)"2+
-M1"0XBU0D+#/V`]J+3"0@B9@H"P``.\Z+0RB+0"B+0"B+0"B+>"A^>HE?((M#
-M*(MO*$:)6"2->?V+6R@[]WU#B5T@BVTHBT,H@\8$._>)6"2+6RB)72"+;2B+
-M0RB)6"2+6RB)72"+;2B+0RB)6"2+6RB)72"+0RB+;2B)6"2+6RA\O8M$)"`[
-M\'T8B5T@BT,HBVTH1HE8)(M4)""+6R@[\GSHBT0D.(M4)#")D#0+``!FBX!R
-M"P``9JF``'0%,__K!I"_@`4``#/VBT0D.(N(9`L``(M$)#B-3#D(`_B+V??9
-M@^$'`]F-?`\(B7PD*#/_B5PD,#/)@\<LBU0D*(/^'XUL.M1FB4T"B4T(9HE-
-M`(E='&:)301U%F:)30:+5"0P@\H#B54,BU0D*.L:._]FB4T&BT0D,(T4.(M$
-M)"B#R@.)50R-%#B#PRQ&B54H@_X@?*2+7"0HBT0D.+[@____B9@<"P``BT,H
-MBT`HBT`HBT`HBW@HB5\@BW\HBT,H@\8$B5@DBULHB5\@BW\HBT,HB5@DBULH
-MB5\@BW\HBT,HB5@DBULHB5\@BT,HBW\HB5@DBULH?+^+1"0XOB````"+5"0P
-MB9`X"P``BI!."P``@,H(BX@<"P``B8@D"P``B8@@"P``B)!."P``75M>7X/$
-M),.0._^!_P````"#[$@SP%>+?"109HN'/`L```T```"`4#/`9HN'<`L``(/`
-M%"7__P``4(N'7`L``/]0#&H1C40D$%`SP&:+AW`+``"#P!@E__\``%"+AUP+
-M``#_4#"+1"0<@\04B(?<$```BD0D"8B'W1```(I$)`J(A]X0``"*1"0+B(??
-M$```BT0D#(B'X!```(I$)`V(A^$0``"+1"0P9HF'XA```&:+1"0J9JD`0'1/
-MBD0D.HB'Y!```(I$)#N(A^40``"+1"0\B(?F$```BD0D/8B'YQ```(I$)#Z(
-MA^@0``"*1"0_B(?I$```9HM$)"IFB8>."P``7X/$2,,[_S/)B(_D$```B(_E
-M$```B(_F$```B(_G$```B(_H$```B(_I$```Z\57BWPD"&H<,\!FBX=P"P``
-M@\`8)?__``!0BX=<"P``_U`,BI=X"P``N`$````BPB7_````4#/`9HN'F@L`
-M`%`SP(J'GPL``%"+AVP+``#_4#!0,\!FBX=P"P``@\`8)?__``!0BX=<"P``
-M_U`,BX^""P``,\!19HN'<`L``(/`&"7__P``4(N'7`L``/]0##/2,\!FBY>8
-M"P``9HN'A@L``(/"!,'B$`O"4#/`9HN'<`L``(/`&"7__P``4(N'7`L``/]0
-M#&@```\`,\!FBX=P"P``@\`8)?__``!0BX=<"P``_U`,,\!FBX=P"P``@\`H
-M)?__``!0BX=<"P``_U`@)?#P``!0,\!FBX=P"P``@\`8)?__``!0BX=<"P``
-M_U`,@\1`7\,[_SO_@?\`````@^P(,\!7BWPD$%93:BIFBX=P"P``@\`8)?__
-M``!0BX=<"P``_U`,,_:#Q`AFB[>("P``BH>?"P``P>80@<X``0``/`1T`X/.
-M$#/;BI]]"P``]\,"````=`.#S@3WPP$```!T`X/.`C/;9HN?F@L``/?#0```
-M`'0&@<X`!```]\,@````=`:!S@"```!6,\!FBX=P"P``@\`8)?__``!0BX=<
-M"P``_U`,BY>*"P``,\!29HN'<`L``(/`&"7__P``4(N'7`L``/]0#(N/D`L`
-M`#/`46:+AW`+``"#P!@E__\``%"+AUP+``#_4`R+AY0+``!0,\!FBX=P"P``
-M@\`8)?__``!0BX=<"P``_U`,,_:#Q""+E@`````SP%)FBX=P"P``@\`8)?__
-M``!0BX=<"P``_U`,@\0(@\8$@_X2?--FQT<"0@!;7E^#Q`C#@\<`:@@SP(M4
-M)`AFBX)P"P``@\`8)?__``!0BX)<"P``_U`,@\0(PX/'`#O_@?\`````:@@S
-MP(M4)`AFBX)P"P``@\`8)?__``!0BX)<"P``_U`,@\0(PX/'`#O_@?\`````
-M5XM\)`AJ"C/`9HN'<`L``(/`&"7__P``4(N'7`L``/]0#(N7E`L``#/`4F:+
-MAW`+``"#P!@E__\``%"+AUP+``#_4`R#Q!!?PX/'`(UT)@!7BWPD"&H*,\!F
-MBX=P"P``@\`8)?__``!0BX=<"P``_U`,BY>0"P``,\!29HN'<`L``(/`&"7_
-M_P``4(N'7`L``/]0#(/$$%_#@\<`C70F`%`SP%=6BW0D$&:+AG`+``"#P!@E
-M__\``%"+AEP+``#_4"2+^"7_````BY:4$```BXZ8$````\*+EIP0``")AI00
-M``"+Q\'H""7_`````\&)AI@0``"+Q\'H$,'O&"7_`````\*+EJ`0``")AIP0
-M```SP&:+AG`+``"!Y_\````#^H/`&(F^H!```"7__P``4(N&7`L``/]0)(OX
-M)?\```"+CJ00``"+EJ@0```#P8N.L!```(F&I!```(O'P>@()?\````#PHN6
-MK!```(F&J!```(O'P>@0P>\8)?\````#PH'G_P```(F&K!```#/`9HN&<`L`
-M``/Y@\`8B;ZP$```)?__``!0BX9<"P``_U`DB_@E_P```,'O"(N6M!````/"
-MBY:X$```@>?_````B8:T$````_J)OK@0``!6Z![Z__^#Q!"*AGX+``"$P'0A
-MQH9^"P```(V&E!```%"+CF`+``!1BX9<"P``_U!`@\0(7E^#Q`3#._\[_X'_
-M`````&H2,\"+5"0(9HN"<`L``(/`&"7__P``4(N"7`L``/]0#(/$",.#QP`[
-M_X'_`````%>+?"0(:@HSP&:+AW`+``"#P!@E__\``%"+AUP+``#_4`R#Q`B*
-MAY\+``"Z``$``#P$=`1F@\H0,\F*CWT+``#WP0(```!T!&:#R@3WP0$```!T
-M!&:#R@*!XO__```SP%)FBX=P"P``@\`8)?__``!0BX=<"P``_U`(@\0(7\.0
-M:@@SP(M4)`AFBX)P"P``@\`8)?__``!0BX)<"P``_U`,@\0(PX/'`#O_@?\`
-M````9HM$)`B+5"0$9@N"H`L``&:)@J`+``!FBX*B"P``9H7`=1IFBT("9CTP
-M`'(0QH*["P```%+H%L7__X/$!,,[_U>+?"0(5^C%U___BY=@"P``4HN'7`L`
-M`/]0/(/$"%_#@^P(5XM\)!!3,ML/OH=."P``J8````!T**D$````=!"*ATX+
-M```,((B'3@L``.L1BH=."P``)%^`RP2(ATX+``"*ATX+``"H0'0TJ`)T#0P0
-MB(=."P``ZR:#Q@"*ATX+```DKXB'3@L``(J'>`L``*@"=`B`RP'K!H/'`(#+
-M`H3;=",SP(K#4#/`9HN'<`L``(/`*"7__P``4(N'7`L``/]0!(/$"#/`BI=/
-M"P``BL/WT"+"B(=/"P``6U^#Q`C#@^P@5U935<=$)"P`````QT0D'`@````S
-M]HM$)#2+N"0+``"+1"0XB7PD*&:+`&:%P`^$T0```(M$)#@SR8U8!&:+0PB)
-M7"0@9H7`#X2;````,\!!9HM#"(M4)!R#P`8#T(M$)!2)1"00BT0D&(E$)!2)
-M5"0<9HM#"(E<)!AFB0>+`XE'"&:+1P9F)0`!9HE'!HM$)"B)1Q@[^'4X9HM'
-M!F8-``1FB4<&BT0D-&:+@)H+``!FJ1``=`QFBT<&9@T`0&:)1P9FBT<&9@T`
-M.&:)1P;K%)!FQT<$`("+1R2#P`R+$(/B_(D0B^^+?RB#PPR+1"0X1F:+`"7_
-M_P``._`/C#S___^)3"0L,_8SP&:+=0"+30AFBT4``_&#Y@,[\'X%,_9FB_"+
-M1"0TBU0D'(N`5`L``,'@`CO0#X;"`@``@_X##XVY`@``A?8/CK$"``!F@WT`
-M!'9B9HM5`(M$)!AF@^H$9HE5`(M5#(/B_(E5#(M4)!B+[V;'!P0`BT`$9HM2
-M"('B__\``(M$$/QFQT<$`(")1Q2+1"0HB4<8BU0D+&:+1P9F)0`!0F:)1P:)
-M5"0LZ4("``"#QP!F@WT``G91BT0D&&:+0`AF/0,`=2^+3"08BU0D&(M)!(M2
-M!&:+$HI)`H'A_P```('B__\``,'A$`O1B544Z?T!```[_XM4)!B+4@2+$HE5
-M%.GJ`0``@\<`,_^+121FBWT`9HLPB]:!XO__```#^H/_!'YMC5;^9HD0BT0D
-M&&:+50"#P@)FB54`9HM`"&8]`0!U$HM$)!B+0`2*`"7_````ZQ$[_XM$)!B+
-M0`1FBP`E__\``(M,)!2+5"04P>`09HM)"(M2!('A__\``&:+5`K^@>+__P``
-M"]")513I7P$``(/_`@^.@P```(O]BVTDBTPD+(M$)!1)BU4,@\H#B4PD+(E5
-M#&:+0`AF/0$`=2:+5"04BTPD&(M2!(M)!&:+"8H2@>+_````@>'__P``P>$(
-MZR0[_XM4)!2+3"08BU($BTD$9HL2B@F!XO__``"!X?\```#!X1`+T8E5%&:+
-M#V8#30!FB4T`Z=0```"0BT0D%(M4)!B+;22+0`2+4@2*"(H2@>'_````BT0D
-M+('B_P```$B)1"0LBT4DP>((B_D+^HM5#(/*`XE5#&:#.`)V/8M,)!"+5"00
-MP><0BT4D9HM)"(M2!('A__\``&:+5`K^@>+__P``"_J)?11FBQ!F@^H"9HD0
-M9L=%``0`ZU.+5"0LBVTD2HE4)"R+50R#R@-F@WT``8E5#'44P><(BTPD$(M)
-M!(H)@>'_````ZQ/!YQ"+3"00BTD$9HL)@>'__P``9HM5``OY@\("B7T49HE5
-M`(M5'(/"%(E5",9%$`"+1"0T9HN`<@L``&:I@`!T5XM5#(M,)"R#XOR)50QF
-MBU4&9H'*``)FB54&BVTHBU0D(&;'10`!`(L29L=%!`"`B54(9HM5!F:!X@`!
-M9HE5!F:!RH!&06:)50:+5"0HB548B4PD+.L.D&:+509F@<J``F:)50:+52B+
-M1"0TB9`D"P``BT0D*&;'0`0`@(M5#(/*`XE5#(M`)(/`#(L0@^+\B1"+1"0T
-MBI!."P``]L((='>`XO>(D$X+``"+D#@+``!2BH!X"P``J`)T";@X````ZP<[
-M_[@T````BU0D.&:+DG`+``"!XO__```#T(M$)#B!XO__``!2BX!<"P``_U`,
-M@\0(BT0D-&:+D+P.``!F*U0D+&:)D+P.``!=6UZ+1"0@7X/$(,,[_XM$)#2*
-MD$X+``"`RD"(D$X+``"+1"0HBT`@9HM`!&:I`(!UMXM,)#11Z.;Y__^#Q`3K
-MJ)!7BWPD#%:+="0,,\E39HE/"HE/$(A/#F:+AG(+``!FJ8``="AFQT<,``!F
-MBT8"9CU0``^%A````(N>*`L``(V^*`L``.F)````@\8`9HM'"(N>,`L``&:)
-M`XM'!&;'0P0`@(E#"(M##(/(`XE##(M#)(/`#(L0@^+\B1"+0RB)AC`+``!F
-MBT8"9CU0`'1M9HM&`F8]8`!U)(J&3@L```R`B(9."P``BT,@9HM`!&:I`(!U
-M"5;H)_G__X/$!%M>7\-FQT,"``"+0PR#X/R)0PR+6RAFQT,&``!FQT,$`(!F
-MQP,0`(M3*(L'.]!UU&;'0P(``(M##(/(`XE##(N.-`L``#/`46:+AG`+``"#
-MP#PE__\``%"+AEP+``#_4`QFQT8"8`"*ADX+```,!(/$"(B&3@L``%M>7\,[
-M_X'_`````%>+?"0(,\!FBX=""P``4#/`9HN'<`L``(/`%"7__P``4(N'7`L`
-M`/]0##/`9HN'<`L``(/`&"7__P``4(N'7`L``/]0)"7__P``@\0,7\.05XM\
-M)`@SR6;'1P)!`&:)CZ(+``"*AYT+``"(AY\+```SP&;'AZ`+```.`&:)3P11
-M9HN'<`L``(/`+B7__P``4(N'7`L``/]0!%?H\;S__X/$#%_#@?\`````@?\`
-M````@^P@,])7BWPD*%9358E4)!@/OX>T"P``B50D$(E$)!R%P'0YBH^W"P``
-M@>'_````B\&#X!^-!$#!X`.-K`>\"P```TT0B4PD((/A'XT$2<'@`XV$![P+
-M``")1"0HB[<L"P``9HM&!&:I`$`/A.0"``"-GTX+``"+1"0<A<`/A%P!``"+
-M5"0HBT0D*#/)9HM2#&:+0`B!XO__``!FBPXE__\```/1.\(/C?<```!FBX>:
-M"P``9JD"`'1*BT0D*(M4)"C&10X#9HM`"&:+4@PE__\``('B__\``"O"#X3S
-M````4(M$)"PSTF:+4`R+"`/1C4804E#H_/___X/$#.G2````._^+1"0<BU40
-M0DB)1"0<A<")51!_#,9%#@'ILP```(/'`(M$)"B+5"0H9HM`"&:+4@PE__\`
-M`('B__\``"O"4(E$)"B+1"0LBP@#T8U&$%)0Z/S___^+1"0LBTPD,$`STHE$
-M)"R#X!]FBQ8KT8T$0,'@`XU,#A"-A`>\"P``B40D-&:)4`R!XO__``!2BT0D
-M.(L`4%'H_/___X/$&.LS@\<`,\`STF:+!E"+1"0L9HM0#(L(`]&-1A!24.C\
-M____9HL.BT0D-&8#2`R#Q`QFB4@,9HL.9@--"F:)30J*`R3^B`-FBT8$9JF`
-M&71-BT0D'(7`=!6*AWT+``"H!'0'QD4.`NL%D,9%#@%FBT8$9JF``'0&_X?,
-M$```9HM&!&:I``%T!O^'R!```&:+1@1FJ0`0=`;_A\00``!FBT8$9JD``@^$
-MLP```(M,)!"+1"0<087`B4PD$`^$G@```#/29HM6!H'B`/```,'Z"(A5#V:+
-M1@9FJ0`"=`:`R@*(50]FBT8&9JD`\'0)BE4/@,H!B%4/9HM&!F:I$`!T"8I5
-M#X#*!(A5#XM5$(M$)!Q"2(E5$(E$)!R*11"*E[<+```"PHB'MPL``+@?````
-M(H>W"P``C01`P>`#C:P'O`L``(M$)"!`B40D((/@'XT$0,'@`XV$![P+``")
-M1"0H9L=&!`"`9L<&$`"+1@R#R`.)1@R+1B2#P`R+$(/B_(D0BT8@9HM`!&:I
-M`(!T!/]$)!B*$XMV*/;"!'0.@.+[]L(@B!-T!/]$)!AFBT8$9JD`0`^%(OW_
-M_XM$)!B)MRP+``"%P'0)5^B']/__@\0$75M>BT0D!%^#Q"##._^!_P````"#
-M[`RX'P```%=64XM<)!S'1"04`````%6+LRP+```B@[<+``"-!$#!X`.-O`.\
-M"P``9HM&!&:I`$`/A$$!``"+[HVSMPL``(E<)!2!PTX+``#_1Q"*`R3^B`-F
-MBT4$9JF`&714BT0D%(J`?0L``*@$=`;&1PX"ZP3&1PX!9HM%!&:I@`!T"HM$
-M)!3_@,P0``!FBT4$9JD``70*BT0D%/^`R!```&:+101FJ0`0=`J+1"04_X#$
-M$```9HM%`&8#1PIFB4<*9HM%!&:I``)T<XH6BD<0`L*+3"08B`8SP&:+109!
-M)0#P``")3"08P?@(B$</9HM5!F;WP@`"=`4,`HA'#V:+109FJ0#P=`B*1P\,
-M`8A'#V:+109FJ1``=`B*1P\,!(A'#XM\)!2Y'P```"*/MPL``(T,2<'A`XV\
-M#[P+``!FBU4$9H'B_[]FB54$B@.H!(MM*'05)/NH((@#=`V+5"044N@'\___
-M@\0$9HM%!&:I`$`/A=?^__^+]8M<)!2)LRP+``!=6UZ+1"0,7X/$#,,[_X'_
-M`````('_`````(/L++@?````5XM\)#164U6+KR`+``#'1"0X`````"*'PPX`
-M`(T$0,'@`HV$!\0.``")1"0T9HM%!&:I`$!U#8M%*&:+0`1FJ0!`=`BX`0``
-M`.L#D#/`A<`/A%0!``"-ATX+``"-GR`+``"-MTT+``")1"08BX<@"P``9HM`
-M!&:I`$!U!O^'U!```,8&`(N'(`L``&:+0`1FJ0`@#X0?`0``_X?0$```BT0D
-M-,9`!0"+AR`+``"+<!B),XM&'#/;B40D,#/`9HN'<`L``(/`*27__P``4(N'
-M7`L``/]0'(OHBH=X"P``@\0$J`)T![@!````ZP6X`@```(7H=4B)="00C8=X
-M"P``B_`SP$-FBX=P"P``@\`I)?__``!0BX=<"P``_U`<@\0$B@[VP0*+Z'0'
-MN`$```#K!;@"````A>ATR(MT)!`SVXM$)#2*0`2$P'0<BTPD-+H`@```@\$$
-M9HE6!#/`0XH!BW8H.]A\\(M$)#!0BH=X"P``J`)T![@X````ZP6X-````#/2
-M9HN7<`L```/0@>+__P``4HN'7`L``/]0#(M$)""*$(#*`H/$"(@075M>BT0D
-M+%^#Q"S#._^+1"08BA#VP@)T$X#B_?;"$(@0=`E7Z/7P__^#Q`2+1"0TBE`%
-M_L*(4`4SP(K"BU0D-(I2!('B_P```#O"=2O^A\,.``"X'P```"*'PPX``(T$
-M0,'@`HV$!\0.``")1"0TBT0D.$")1"0XBX<@"P``9L=`!```BX<@"P``BT`H
-MB0.+KR`+``!FBT4$9JD`0'47BT4H9HM`!&:I`$"X``````^4P.L$._\SP(7`
-M#X0"_O__Z3O___^0._^!_P````"#[`A7BWPD$%93QT0D$``````SVV8YGT@+
-M``!T$V:+MT@+``!FB9]("P``ZR.#QP`SP&:+AW`+``"#P!`E__\``%"+AUP+
-M``#_4""+\(/$!&;WQO]N=15;7C/`7X/$",.X`@```%M>7X/$",-FBT<"9CU@
-M`'4E9HN'<@L``&:I@`!T#5?HU_?__XO8@\0$ZPM7Z$K[__^+V(/$!&;WQ@@`
-M=`E7Z`C$__^#Q`1F]\8@`'0SBH=X"P``J`)T"+@!````ZP:0N`(```"#R`2(
-MAT\+``"*ATX+``"HP'0)5^AN[___@\0$9HM'`F8]4`!R#5?HB_S__XE$)!2#
-MQ`1F]\8`('0)5^B'O?__@\0$9O?&`0!T?0^_A[0+```[PW889HM'`F8]8`!U
-M#HJ'3@L```P!B(=."P``:@$SP&:+AW`+``"#P"XE__\``%"+AUP+``#_4`1J
-M`#/`9HN'<`L``(/`&B7__P``4(N'7`L``/]0"&H`,\!FBX=P"P``@\`N)?__
-M``!0BX=<"P``_U`$@\08A=L/A<C^__^+1"00A<`/A;S^__];7E^X`0```(/$
-M",-7BWPD"&:+AT@+``!FA<!U*C/`9HN'<`L``(/`$"7__P``4(N'7`L``/]0
-M((/$!&:%P&:)AT@+``!T";@!````7\,[_S/`7\,[_X'_`````&H`,\"+5"0(
-M9HN"<`L``(/`""7__P``4(N"7`L``/]0##/`@\0(PY`[_X'_`````(/L#%>+
-M?"045E.*1P2H"'0C,\"+-XI'!(/@]XA'!(K8,\"*PU`SP&:+1@10BP;_4`2#
-MQ`B+%U+H%!@``(L/4>@,&```BS<SP(/$"&:+1@10BP;_4!PE_P```(/$!(I?
-M!(A$)!<SP(#+`8LWB%\$BL-0,\!FBT8$4(L&_U`$BP>#Q`A0Z,@7``"+%U+H
-MP!<``(L/@\0(4>BU%P``,\"+-XI?!(/$!(#C_HA?!(K#4#/`9HM&!%"+!O]0
-M!(L'@\0(4.B+%P``BQ=2Z(,7``"*1"0?@\0(J(!T"+@!````ZP.0,\!;7B7_
-M````7X/$#,,[_X/L&%>+?"0@5E/&1"0C`(M$)"R+-R7_````P?@(BM@SP(I'
-M!(/@]XA'!(K0,\"*PE`SP&:+1@10BP;_4`0SP(LWBE<$@\0(@,H!B%<$BL)0
-M,\!FBT8$4(L&_U`$BQ>#Q`A2Z/D6``"+#U'H\18``(L'@\0(4.CF%@``,\"+
-M-XI'!(/$!(/("(A'!(K0,\"*PE`SP&:+1@10BP;_4`2+%X/$"%+HN!8``#/`
-MBS>*5P2#Q`2`XOZ(5P2*PE`SP&:+1@10BP;_4`2+#X/$"%'HCA8``(L'4.B&
-M%@``N`<```"#Q`@BPP/`B$0D(HK0,\"*P@V@````)?\```!05^@O"@``5^@)
-M_O__@\0,A<!T"KX"````Z>D```#&1"0?`(M<)"PSP(K#)8````"$P'0*,\"*
-M1P2#X/?K"#/`BD<$@\@(BM"+-XA'!#/`BL)0,\!FBT8$4(L&_U`$BQ>#Q`A2
-MZ/T5```SP(LWBE<$@\0$@,H!B%<$BL)0,\!FBT8$4(L&_U`$BP^#Q`A1Z-,5
-M``"+!U#HRQ4``(L7@\0(4NC`%0``,\"+-XI7!(/$!(#B_HA7!(K"4#/`9HM&
-M!%"+!O]0!(L/@\0(4>B6%0``BP=0Z(X5``"*5"0G@\0(,\#^PHK#B%0D'P/`
-M@/H(BM@/@C'___]7Z!K]__^+\('F_P```(/$!(7V#X7F````,\"+-XI'!(/@
-M]XA'!(K8,\"*PU`SP&:+1@10BP;_4`0SP(LWBE\$@\0(@,L!B%\$BL-0,\!F
-MBT8$4(L&_U`$BP^#Q`A1Z`T5``"+!U#H!14``(L7@\0(4NCZ%```,\"+-XI'
-M!(/$!(/("(A'!(K8,\"*PU`SP&:+1@10BP;_4`2+#X/$"%'HS!0``#/`BS>*
-M7P2#Q`2`X_Z(7P2*PU`SP&:+1@10BP;_4`2+!X/$"%#HHA0``(L74NB:%```
-MBEPD*H/$"#/`BL,-H0```"7_````4%?H3@@``%?H*/S__X/$#(7`=`VX_P``
-M`%M>7X/$&,.0,MLSP(I$)",#P(A$)"-7Z`#\__^*3"0G@\0$"LC^PXA,)".`
-M^PARVC/`BS>*1P2#X/>(1P2*V#/`BL-0,\!FBT8$4(L&_U`$,\"+-XI?!(/$
-M"(#+`8A?!(K#4#/`9HM&!%"+!O]0!(L'@\0(4.CR$P``BQ=2Z.H3``"+#X/$
-M"%'HWQ,``#/`BS>*7P2#Q`2`X_Z(7P2*PU`SP&:+1@10BP;_4`2+!X/$"%#H
-MM1,``(L74NBM$P``,\"+-XI'!(/$"(/("(A'!(K8,\"*PU`SP&:+1@10BP;_
-M4`0SP(LWBE\$@\0(@,L!B%\$BL-0,\!FBT8$4(L&_U`$BP^#Q`A1Z&`3``"+
-M!U#H6!,``(L7@\0(4NA-$P``,\"+-XI'!(/$!(/@]XA'!(K8,\"*PU`SP&:+
-M1@10BP;_4`2+#X/$"%'H'Q,``#/`BS>*7P2#Q`2`X_Z(7P2*PU`SP&:+1@10
-MBP;_4`2+!X/$"%#H]1(``(L74NCM$@``@\0(,\!;7HI$)!M?@\08PY"!_P``
-M``"!_P````"#[!`SP%>+?"085E.*1P2+-X/@]XA'!(K8,\"*PU`SP&:+1@10
-MBP;_4`0SP(LWBE\$@\0(@,L!B%\$BL-0,\!FBT8$4(L&_U`$BQ>#Q`A2Z'P2
-M``"+#U'H=!(``(L'@\0(4.AI$@``,\"+-XI'!(/$!(/("(A'!(K8,\"*PU`S
-MP&:+1@10BP;_4`2+%X/$"%+H.Q(``#/`BS>*7P2#Q`2`X_Z(7P2*PU`SP&:+
-M1@10BP;_4`2+#X/$"%'H$1(``(L'4.@)$@``BU0D,(/$"+@'````(L(#P(K0
-M,\"*P@V@````)?\```!05^BR!0``5^B,^?__@\0,A<!T#;@"````6UY?@\00
-MPY"+7"0DB%PD&S+;,\"*1"0;)8````"$P'0+,\"*1P2#X/?K"9`SP(I'!(/(
-M"(K0BS>(1P0SP(K"4#/`9HM&!%"+!O]0!(L/@\0(4>AY$0``,\"+-XI7!(/$
-M!(#*`8A7!(K"4#/`9HM&!%"+!O]0!(L'@\0(4.A/$0``BQ=2Z$<1``"+#X/$
-M"%'H/!$``#/`BS>*5P2#Q`2`XOZ(5P2*PE`SP&:+1@10BP;_4`2+!X/$"%#H
-M$A$``(L74N@*$0``,\"#Q`C^PXI$)!L#P(#["(A$)!L/@C+___]7Z)KX__^#
-MQ`0E_P```%M>7X/$$,.#QP`[_X'_`````(/L"#/`5XM\)!!64XI'!(LW@^#W
-MB$<$BM@SP(K#4#/`9HM&!%"+!O]0!#/`BS>*7P2#Q`B`RP&(7P2*PU`SP&:+
-M1@10BP;_4`2+%X/$"%+H?!```(L/4>AT$```BP>#Q`A0Z&D0```SP(LWBD<$
-M@\0$@\@(B$<$BM@SP(K#4#/`9HM&!%"+!O]0!(L7@\0(4N@[$```,\"+-XI?
-M!(/$!(#C_HA?!(K#4#/`9HM&!%"+!O]0!(L/@\0(4>@1$```BP=0Z`D0``"#
-MQ`A;7E^#Q`C#@\<`@?\`````@?\`````@^P0,\!75E.+7"0D58ML)"2+="0P
-M9HM%!%"+10#_4!R);"04@\0$)?\```#&1"04!(A$)!\SP&H$9HM%!%"+10#_
-M4`0SP(/$"(K#`\"*V(M$)"R+T/[*A,"(5"0L=$F*P_[#)?\```!0C40D%%#H
-M'?C__XOXBL,E_P```/[#4(U$)!Q0Z`?X___!X`B#Q!!F"_AFB3Z+1"0L@\8"
-MB\C^R83`B$PD+'6W,\"*1"0?4#/`9HM%!%"+10#_4`2#Q`A=6UY?@\00PY`[
-M_X'_`````(/L$%>+?"085E-FBW0D)(O&@>;_````)?__``#!^`@E_P```%!6
-M5^@D_/__@\0,A<!T%5M>0%^#Q!##D+@!````6UY?@\00PXM<)"B(7"0;,MLS
-MP(I$)!LE@````(3`=`LSP(I'!(/@]^L)D#/`BD<$@\@(BM"+-XA'!#/`BL)0
-M,\!FBT8$4(L&_U`$BQ>#Q`A2Z(D.```SP(LWBE<$@\0$@,H!B%<$BL)0,\!F
-MBT8$4(L&_U`$BP^#Q`A1Z%\.``"+!U#H5PX``(L7@\0(4NA,#@``,\"+-XI7
-M!(/$!(#B_HA7!(K"4#/`9HM&!%"+!O]0!(L/@\0(4>@B#@``BP=0Z!H.```S
-MP(/$"/[#BD0D&P/`@/L(B$0D&P^",O___U?HJO7__X/$!(7`#X4+____,\"+
-M-XI'!(/("(A'!(K8,\"*PU`SP&:+1@10BP;_4`0SP(LWBE\$@\0(@,L!B%\$
-MBL-0,\!FBT8$4(L&_U`$BQ>#Q`A2Z*4-``"+#U'HG0T``(L'@\0(4.B2#0``
-M,\"+-XI'!(/$!(/@]XA'!(K8,\"*PU`SP&:+1@10BP;_4`2+%X/$"%+H9`T`
-M`#/`BS>*7P2#Q`2`X_Z(7P2*PU`SP&:+1@10BP;_4`2+#X/$"%'H.@T``(L'
-M4.@R#0``BS^#Q`AJ"HL'_U`T@\0$,\!;7E^#Q!##._\[_X'_`````(/L"#/`
-M5XM\)!!64XI'!(LW@\@(B$<$BM@SP(K#4#/`9HM&!%"+!O]0!#/`BS>*7P2#
-MQ`B`RP&(7P2*PU`SP&:+1@10BP;_4`2+%X/$"%+HO`P``(L/4>BT#```BP>#
-MQ`A0Z*D,```SP(LWBD<$@\0$@^#WB$<$BM@SP(K#4#/`9HM&!%"+!O]0!(L7
-M@\0(4NA[#```,\"+-XI?!(/$!(#C_HA?!(K#4#/`9HM&!%"+!O]0!(L/@\0(
-M4>A1#```BP=0Z$D,``"#Q`A;7E^#Q`C#@\<`@?\`````@?\`````@^P,5XM\
-M)!164\9$)!<`BT0D("6`````A,!T##/`BD<$@^#WZPH[_S/`BD<$@\@(BMB+
-M-XA'!#/`BL-0,\!FBT8$4(L&_U`$BQ>#Q`A2Z-T+```SP(LWBE\$@\0$@,L!
-MB%\$BL-0,\!FBT8$4(L&_U`$BP^#Q`A1Z+,+``"+!U#HJPL``(L7@\0(4NB@
-M"P``,\"+-XI?!(/$!(#C_HA?!(K#4#/`9HM&!%"+!O]0!(L/@\0(4>AV"P``
-MBP=0Z&X+``"+1"0H@\0()?\````#P(I4)!?^PHA$)""(5"07@/H(#X(H____
-M6UY?@\0,PSO_4#/`5XM\)`Q64XI?!(LW@,L!B%\$BL-0,\!FBT8$4(L&_U`$
-MBQ>#Q`A2Z!$+``"+#U'H"0L``(L'@\0(4.C^"@``,\"+-XI?!(/$!(#C_HA?
-M!(K#4#/`9HM&!%"+!O]0!(L7@\0(4NC4"@``BP]1Z,P*``"#Q`A;7E^#Q`3#
-M._]7BWPD"%93,\"+-XI?!(#+`8A?!(K#4#/`9HM&!%"+!O]0!(L7@\0(4NB2
-M"@``BP]1Z(H*``"#Q`A;7E_#@\<`5XM\)`A64S/`BS>*7P2`X_Z(7P2*PU`S
-MP&:+1@10BP;_4`2+%X/$"%+H4@H``(L/4>A*"@``@\0(6UY?PX/'`(I$)`A3
-MBTPD"(3`="<SP(I!!(/@]XK8BQ&(000SP(K#4#/`9HM"!%"+`O]0!(/$"%O#
-M._\SP(I!!(/(".O7._^#[!`SP%=64XM<)"15BVPD)(MT)#!FBT4$4(M%`/]0
-M'(EL)!2#Q`0E_P```,9$)!0$B$0D'S/`:@1FBT4$4(M%`/]0!(M$)#2#Q`B+
-MT/[*A,"(5"0L=&$SP(H&4(K#)?\```!&4(U$)!A0Z''Z___^PX/$#(OXA?]T
-M+C/`BD0D'U`SP&:+1010BT4`_U`$BT0D-(/$",'G""7_````0`O'75M>7X/$
-M$,.+1"0LB\C^R83`B$PD+'6?,\"*1"0?4#/`9HM%!%"+10#_4`2#Q`@SP%U;
-M7E^#Q!##@\<`C70F`(/L-#/)5XM\)$16BT0D1%-5BW0D2,9'`03&1S`#9HM`
-M$&;'1Q)``&:)3Q8E_/\``&:)1Q"+1"1,9HE/%(M`%&;'1QP`0,9''J*#X/")
-M1QB+1"1,BT`PB4<HBT<8A<!T%HM$)$QFBT`$9JD"`'0(BD<>#$"(1QYJ`#/`
-M9HM'$(/`+B7__P``4/]6!,9''Q`SP&:+1Q"#P`(E__\``%#_5AR#R`8E_P``
-M`%`SP&:+1Q"#P`(E__\``%#_5@0SP&:+1Q"#P!(E__\``%#_5B!FB40D5B7_
-M_P``@\@@)?__``!0,\!FBT<0@\`2)?__``!0_U8(B70D0#/`9HM'$&H"@\`P
-M9HE$)$@SP&:+1Q"#P"XE__\``%#_5@2-1"1`4(U$)$QJ!&H@4.@%^/__BT0D
-M4(/$.#/2)?__``!FBU0D&@/"BU0D'('B__\```/",])FBU0D'B7__P``.\)U
-M+(M$)!B(1R**1"09B$<CBD0D&HA')(I$)!N(1R6+1"0<B$<FBD0D'8A')^L.
-M,\EFB4\B9HE/)&:)3R:-;"0@,\#&1"1"`6:+102S%XET)#"-="1#4(M%`/]0
-M'(EL)!2#Q`2*T#/`QD0D%`2*PHA$)$$SP&H$9HM%!%"+10#_4`2#Q`BP`8K0
-M_LJ$P(A4)$)T*HK#_L,E_P```%"-1"044.C`[___B`:#Q`A&BD0D0HK(_LF$
-MP(A,)$)UUC/`BD0D05`SP&:+1010BT4`_U`$BW0D.(/$"+@'````(D0D0XJ`
-M`````,9'(?^(1RQJ`#/`9HM'$(/`+B7__P``4/]6!#/`9HM$)$90,\!FBT<0
-M@\`2)?__``!0_U8(BT0D7(/$$&:+0`1FJ00`=`HSP%U;7E^#Q#3#75M>N`(`
-M``!?@\0TPX/'`(/L%#/`5XM\)"A6BW0D(%.+7"0L9HM&!%"+!O]0'(ET)!"#
-MQ`2*T#/`QD0D$`2*PHA$)!\SP&H$9HM&!%"+!O]0!(K#_LN#Q`B$P'0JBT0D
-M*(O0)?\```!0C40D$/["B%0D+%#HM^[__X@'BL.#Q`A'_LN$P'76,\"*1"0?
-M4#/`9HM&!%"+!O]0!(/$"%M>7X/$%,.!_P````"!_P````"#[!!7BWPD&%93
-M58ML)"AFBT<"9CTP`'0?75M>N`$```!?@\00PSO_N`0```!=6UY?@\00PX/&
-M`(N'&`L``(7`=0UFBX=R"P``9JE``'79QH=]"P```(M$)"R)AY`+``"+1"0P
-MB8>4"P``9HN'<@L``&:I`0!T#6;'AY@+``!01NL+._]FQX>8"P``E!$SP(M4
-M)#1FBX>8"P``@>+__P``.\)^"XM$)#1FB8>8"P``N`D```!F(T0D.(/X"70/
-MN`P```!F(T0D.(/X#'4/75M>N`,```!?@\00PSO_BT0D.(7M9HF'F@L``'1%
-M5>A_1@``@\0$A<!U.(I%`$5%B(>("P``145%BD7\B(>)"P``BD7]B(>*"P``
-MBD7^B(>+"P``BD7_B(>,"P``BD4`ZT.0BH>""P``B(>("P``BH>#"P``B(>)
-M"P``BH>$"P``B(>*"P``BH>%"P``B(>+"P``BH>&"P``B(>,"P``BH>'"P``
-M,_8STHB'C0L``(V?B`L``$.*2_\ZRG06B50D&.L>75M>N`(```!?@\00PX/'
-M`$:#_@9\W,=$)!@!````BT0D&(7`==J*AX@+``"H@'70BX=H"P``BT@\A<ET
-M!U?_4#R#Q`2+AV@+``"*0`N(AW@+``!7BX=L"P``_U`49L>'O`X``"``,\F#
-MQ`0SP(B/M@L``&:)C[0+``"(C[<+``"(C[@+``"(C[H+``"(C[D+``"(C[X.
-M``"(C[\.``"(C\`.``"(C\$.``"(C\(.``"(C\,.``!=6UY?@\00PSO_@^P<
-M5U9358ML)#"+50"!^B"!``!T6EU;7C/`7X/$',-&@_X1<F@S]HM$)#B+WJD$
-M````#X3^````A=L/A/8```!FO@`*B\8E__\``%!5Z)U-``"#Q`B%P'16BT0D
-M*"7__P``]]!F(_CIJP```(/'`,=$)!P`````9L=$)"@PSHM$)#2_#P```(E$
-M)!0S]HL<M0````"%VW2-9HM#"&8]`P`/A7G___^+\^EZ____._]H-I0``(O&
-M)?__``"#P!XE__\``%!5Z,6]__^#Q`R%P'1&BTPD%(O&427__P``4%7_4Q2+
-M1"0H@\0,0(E$)!R+1"0\BU0D'#O0#XU&`0``BT0D*(M,)!0E__\``/?09B/X
-M@\$TB4PD%(M$)"B#QB`E__\``,'X!&:)1"0H9H'^X`L/A@[____'1"08````
-M`&;WQP$`#X3@````:$:2``"+1"0<9HL$10````!FB40D*B7__P``@\`")?__
-M``!05>@<O?__@\0,A<!U-V:+1"0F9JD$`'0*N!P```#K"(/'`+@0````,])F
-MBU0D)@/0@>+__P``4E7H]4?__X/$"(7`='@SP&:+1"0F4%7H,+[__X/$"#/V
-MB\B+'+4`````A=MT&#/`B]%FBT,(@>+__P``.\)T"$:#_A%RW3/;A=MT.HM$
-M)#B+$X70=#"+5"04,\!FBT0D)E)05?]3%(M,)"B#Q`Q!BT0D/(E,)!P[R'TF
-MBU0D%(/"-(E4)!2!Y___``"+3"08P?\!08E,)!B#^00/C/K^__^+1"0<75M>
-M7X/$',.#QP"!_P````"!_P````"#[`A75HM$)!2+$('Z(($``'057KC_____
-M7X/$",,[_S/`7E^#Q`C#N.`/``"+3"049B-$)!PE__\``%!1Z$Y+``"#Q`B%
-MP'77BT0D'"7__P``4(M$)!A0Z#.]__^#Q`B+R&:#^6-TN#/VBSRU`````(7_
-M=!@SP(O19HM'"('B__\``#O"=`A&@_X1<MTS_X7_=(V+5"08BT0D'%(E__\`
-M`%"+3"0<4?]7%(/$#%Y?@\0(PY"!_P````"!_P````"+3"0$,\"+D5`+``!2
-M9HN!<`L``(/`""7__P``4(N!7`L``/]0#(/$",,[_XUT)@"+5"0$,\!FBT($
-M4(L"_U`<)?\```"#Q`3#@\<`C70F`#/`BU0D!(I$)`A0,\!FBT($4(L"_U`$
-M@\0(PY"-="8`5XM\)`AJ88L'_U`<:F&+!_]0'&IABP?_4!QJ88L'_U`<@\00
-M7\,[_SO_@?\`````,\!FBT0D"%"+1"0(BP#_4#2#Q`3#@\<`._^!_P````"#
-M[!PSP%=64XMT)"Q5BUPD-&:+AG`+``"#P#(E__\``%"+AEP+``#_4""+TR7_
-M_P``@>+__P``(\*#R`*+^"7__P``4#/`9HN&<`L``(/`,B7__P``4(N&7`L`
-M`/]0"('C__\``#/`@\L"9HE<)#9H4```@&:+AG`+``"#P!0E__\``%"+AEP+
-M``#_4`R[]/___X/$%#/`9HN&<`L``(/`&"7__P``4(N&7`L``/]0)(E$'""#
-MQ`2#PP1\V<=$)"0`````,]*+QV:+5"0J)?__``"[#````#O"#X0B`0``B^\S
-M_V:+^L'G$('/QP<``&A0``"`,\!FBX9P"P``@\`4)?__``!0BX9<"P``_U`,
-M:+A`8(XSP&:+AG`+``"#P!@E__\``%"+AEP+``#_4`QHV+MR`#/`9HN&<`L`
-M`(/`&"7__P``4(N&7`L``/]0#%<SP&:+AG`+``"#P!@E__\``%"+AEP+``#_
-M4`R!Y?W_```SP%5FBX9P"P``@\`R)?__``!0BX9<"P``_U`(NT3]__^#Q"@S
-MP&:+AG`+``"#P!(E__\``%"+AEP+``#_4""#Q`1#?-\SP+N\`@``9HN&<`L`
-M`(/`,B7__P``4(N&7`L``/]0((M4)"B#Q`2+Z"7__P``0HE4)"0STF:+5"0J
-M.\)T#8M$)"2#^&0/C.[^__]H4```@#/`9HN&<`L``(/`%"7__P``4(N&7`L`
-M`/]0#+OT____@\0(BTP<'#/`46:+AG`+``"#P!@E__\``%"+AEP+``#_4`R#
-MQ`B#PP1\V%V[#````%M>7X/$',,[_X/L##/`5XM\)!164VH`9HN'<`L``(/`
-M+B7__P``4(N'7`L``/]0!#/`9HN'<`L``(/`,B7__P``4(N'7`L``/]0((OP
-M9H'F_O^+QB7__P``4#/`9HN'<`L``(/`,B7__P``4(N'7`L``/]0"&:!YOW_
-M,\"!YO__``!69HN'<`L``(/`,B7__P``4(N'7`L``/]0"(J'3@L``"3^B(=.
-M"P``,\!FBX=P"P``@\`2)?__``!0BX=<"P``_U`@@\0@B_!F@<X``KL/````
-M9H/.$&8CWH/[!WX%NP<```"%VW0,C4O_NP$```#3X^L%NP$```!F@>;_XXJ'
-M?PL``(3`="HSTHO#)?__``"*EW\+```[PGP79H'.`!AFBX>`"P``9JD0`'0%
-M9H'.``2!YO__```SP%9FBX=P"P``@\`2)?__``!0BX=<"P``_U`(@\0(BH=\
-M"P``A,!U(VB<(```,\!FBX=P"P``@\`()?__``!0BX=<"P``_U`,@\0(QX=0
-M"P``G"```('C__\``#/`0XJ'?PL``&:)7"04B_,[PWX)9@^VP&:)1"04@>;_
-M_P``N/T````KQHO8)?__``")AU0+``"+1"04)?__``#!X`@+QB7__P``4#/`
-M9HN'<`L``(/`(B7__P``4(N'7`L``/]0"('C__\``#/`@<L`?P``@>/__P``
-M4V:+AW`+``"#P"`E__\``%"+AUP+``#_4`AJ`#/`9HN'<`L``(/`'B7__P``
-M4(N'7`L``/]0"(/$&+Y<````9HN'<@L``&:I@`!U`X/.`E8SP&:+AW`+``"#
-MP"0E__\``%"+AUP+``#_4`QJ`#/`9HN'<`L``(/`!B7__P``4(N'7`L``/]0
-M"(N''`L``(/FXXF')`L``(F'(`L``(J'3@L```P(B(=."P``,\!69HN'<`L`
-M`(/`)"7__P``4(N'7`L``/]0#&;'AT@+`````(/$&%M>7X/$#,.#[`Q75E-5
-MC40D&(ML)"A058M4)"R+="0H4NCQQ/__@\0,A<`/A<8```!H````@(M$)!PE
-M__\``(UX`S/`9HN&<`L``,'_`H/`%"7__P``4(N&7`L``/]0#(M,)"`SP%%F
-MBX9P"P``@\`8)?__``!0BX9<"P``_U`,@\00NP$````[^WY&C40D&%"+1"0H
-M55#H>\3__X/$#(7`=`>-1_\[V'5-BU0D&#/`4F:+AG`+``"#P!@E__\``%"+
-MAEP+``#_4`R#Q`A#.]]\NE:+AFP+``#_4"QFQT8"(0!FQT8$```SP(/$!%U;
-M7E^#Q`S#._]=6UZX`0```%^#Q`S#@\<`4XI<)`AFBU0D#+G"````A-MU"8')
-M``(``.L,D(#[$'4&@<D``0``P>$0@<D`<P``9O?""`!T!H'A_^___V;WP@0`
-M=`:!X?_?__\SP(K#@_@0=`6#^`1U!H'A_[___XI$)!"$P'0#@\D$B\%;PX/'
-M`(/L'#/`,\E7BWPD+%:+="0L4XM<)"S&1P$$QD<P`F:+1A!FQT<20`!FB4\6
-M)?S_``!FB4<09HE/%(M&%&;'1QP`0,9''J*#X/")1QB+1C")1RB+1QB%P'02
-M9HM&!&:I`@!T"(I''@Q`B$<>:@`SP&:+1Q"#P"XE__\``%#_4P0SP&:+1Q"#
-MP"DE__\``%#_4QR#Q`PE\````(/X$'4&QD<?&.L$QD<?`#/`9HM'$(/`$B7_
-M_P``4/]3(&:)1"0H)?__``"#R"`E__\``%`SP&:+1Q"#P!(E__\``%#_4PB)
-M7"0D9HM'$&:)1"0HC40D'%"-1"0H:@1J(%#H$>C__XM$)"R#Q!PSTB7__P``
-M9HM4)!(#PHM4)!2!XO__```#PC/29HM4)!8E__\``#O"=2R+1"00B$<BBD0D
-M$8A'(XI$)!*(1R2*1"03B$<EBT0D%(A')HI$)!6(1R?K#C/)9HE/(F:)3R1F
-MB4\FC40D)E"-1"0<:@%J#5#HD^?__S/`@\009HM$)":)1"0,J0$```!T!C/`
-MZQL[_XM$)`RI`@```'0)N!````#K!SO_N`0```#&1R'_B$<LBT0D)"7__P``
-M4#/`9HM'$(/`$B7__P``4/]3"&:+1@2#Q`AFJ00`=`LSP%M>7X/$',,[_UM>
-M7[@"````@\0<PSO_@?\`````BT0D!,>`4`L```````##D(/L"#/`5U:+="04
-M9HN&<`L``(/`$B7__P``4(N&7`L``/]0((OX)?__``"#R"`E__\``%`SP&:+
-MAG`+``"#P!(E__\``%"+AEP+``#_4`B+AEP+``"+5"0DB40D%&:+AG`+``!2
-M:@AJ.&:)1"0DC40D(%#H^.___X'G__\``#/`5V:+AG`+``"#P!(E__\``%"+
-MAEP+``#_4`B#Q"1>7X/$",.0@?\`````@?\`````@^P(,\!75E.+="089HN&
-M<`L``(/`$B7__P``4(N&7`L``/]0((OX)?__``"#R"`E__\``%`SP&:+AG`+
-M``"#P!(E__\``%"+AEP+``#_4`B+AEP+``"+5"0HB40D&&:+AG`+``!2:@AJ
-M.&:)1"0HC40D)%#HQ^O__XO8,\"!Y___``!79HN&<`L``(/`$B7__P``4(N&
-M7`L``/]0"(/$)(O#6UY?@\0(PX/'`(UT)@"#[!!7,_]6BW0D'%-5BVPD*&:+
-M13!FJ0"`="2-73!J9(N&7`L``/]0-(O'1X/$!(/X9`^/D`(``&;W`P"`==]J
-M9(N&7`L``/]0-&H",\!FBX9P"P``@\`N)?__``!0BX9<"P``_U`$:A8SP&:+
-MAG`+``"#P!8E__\``%"+AEP+``#_4`1J!C/`9HN&<`L``(/`%B7__P``4(N&
-M7`L``/]0!&H`,\!FBX9P"P``@\`N)?__``!0BX9<"P``_U`$N0"````SP&:)
-M35QFB8V(````:@%FBX9P"P``@\`H)?__``!0BX9<"P``_U`(@\0L,_]FBX6(
-M````9JD`@'0GC9V(````:F2+AEP+``#_4#2+QT>#Q`2#^&0/CYL!``!F]P,`
-M@'7?:F2+AEP+``#_4#1J`C/`9HN&<`L``(/`+B7__P``4(N&7`L``/]0!&H6
-M,\!FBX9P"P``@\`6)?__``!0BX9<"P``_U`$:@8SP&:+AG`+``"#P!8E__\`
-M`%"+AEP+``#_4`1J`#/`9HN&<`L``(/`+B7__P``4(N&7`L``/]0!&;'A;0`
-M````@#/;@\0DC;W@````9O<'`(!U"8/'+$.#^P5\\(/[!74",]N-%%N-%-K!
-MX@*-A!7>````9HL09H'B``%FB1"-%%N-%-K!X@)FQX05X@``````C11;C13:
-MP>("C805X````(E$)!QFQP``@#/`:@5FBX9P"P``@\`H)?__``!0BX9<"P``
-M_U`(BT0D)(/$"#/_9O<``(!T)XE<)!"+V&IDBX9<"P``_U`TB\='@\0$@_AD
-M?TIF]P,`@'7CBUPD$#/`C0Q;9HN%L````#/2C0S9@\`$P>$"9HN4#=P````[
-MPG00N`0```!=6UY?@\00PX/'`%U;7C/`7X/$$,,[_UU;7K@#````7X/$$,.#
-MQP!=6UZX`@```%^#Q!##@\<`75M>N`$```!?@\00PX/'`#O_@?\`````@^QH
-M,\!7BWPD<%9356:+AW`+``!0BX=<"P``_U`@9HE$)'@SP&:+AW`+``"#P"0E
-M__\``%"+AUP+``#_4"2)1"1@,\!FBX=P"P``@\`$)?__``!0BX=<"P``_U`D
-MB40D8#/`9HN'<`L``(/`""7__P``4(N'7`L``/]0(&:)A"2"````,\!FBX=P
-M"P``@\`J)?__``!0BX=<"P``_U`@9HF$)(0````SP&:+AW`+``"#P!(E__\`
-M`%"+AUP+``#_4"!FB80DA@```#/`9HN'<`L``(/`#"7__P``4(N'7`L``/]0
-M)(N?%`L``(N7$`L``/?;B40D;#/`9HN'<`L``(/C!X/`$(N/%`L``(TT&B7_
-M_P``4(N'7`L```/9B9PD@````/]0(&C__P``,\!FBX=P"P``@\`0)?__``!0
-MBX=<"P``_U`(:@`SP&:+AW`+``!0BX=<"P``_U`(:!W@!P`SP&:+AW`+``"#
-MP"0E__\``%"+AUP+``#_4`QJ`#/`9HN'<`L``(/`!"7__P``4(N'7`L``/]0
-M#&H`,\!FBX=P"P``@\`()?__``!0BX=<"P``_U`(:@`SP&:+AW`+``"#P"HE
-M__\``%"+AUP+``#_4`@SP&:+AW`+``"#P#(E__\``%"+AUP+``#_4"`E_W\`
-M`%`SP&:+AW`+``"#P#(E__\``%"+AUP+``#_4`@SP&:+AW`+``"#P!(E__\`
-M`%"+AUP+``#_4"`E\.P``(/(`27__P``4#/`9HN'<`L``(/`$B7__P``4(N'
-M7`L``/]0"&H",\!FBX=P"P``@\`N)?__``!0BX=<"P``_U`$,\!FBX=P"P``
-M@\`6)?__``!0BX=<"P``_U`<BM@SP(K#@\@0B(0DZ@```"7_````4#/`9HN'
-M<`L``(/`%B7__P``4(N'7`L``/]0!&H`,\!FBX=P"P``@\`N)?__``!0BX=<
-M"P``_U`$,\!FBX=P"P``@\`,)?__``!0BX=<"P``_U`D)?__```-```#`%`S
-MP&:+AW`+``"#P`PE__\``%"+AUP+``#_4`QJ`C/`9HN'<`L``(/`+B7__P``
-M4(N'7`L``/]0!#/`BL.#X.^(A"0/`0``)?\```!0,\!FBX=P"P``@\`6)?__
-M``!0BX=<"P``_U`$:@`SP&:+AW`+``"#P"XE__\``%"+AUP+``#_4`2!Q*@`
-M```SVXJ#`````$.#^PJ(A!ZW`0``<NTSVXE\)!"+1"1@C:[H````B40D:`7<
-M````B40D9(M$)&`%N`$``(ET)!2)1"1,BT0D8`7(`0``N2P```")1"1(C8;D
-M````B40D'(V&X@```(E$)""-AN````")1"0DC8;>````B40D*(V&W````(E$
-M)"R-1@R)1"0PC48(B40D-(U&!HE$)#B-1@2)1"0\C48"B_B+1"0\0V;'!A``
-MBU0D3&;'!P```_%FQP```(M$)#@#^6;'```&BT0D-(D0BT0D:`/!B40D:(M$
-M)#"+5"1H@\H!B1"+5"1(BT0D+&;'`!@`BT0D*&;'````BT0D)&;'``"`BT0D
-M(&;'````BT0D'(D0BU0D9`/1BT0D/`/!B54`B40D/(M$)#B)5"1DBU0D-`/!
-M`]&)1"0XBT0D,(E4)#2+5"0H`\$#T8E$)#"+1"0LB50D*(M4)!P#P0/1B40D
-M+(M$)"0#P0/IB40D)(M$)"`#P8/[!8E$)"")5"0<#XP>____BT0D8(MT)!2+
-M?"00@\@!B8:\````N0"```!FBX:V````9@T``6:)AK8```"+1"1@9HE.!`7<
-M````9HE.,(F&F`$``&:+AHX!``!F#0`!9HF&C@$``(M$)&`%W````%`SP&:+
-MAW`+``"#P#PE__\``%"+AUP+``#_4`R+3"1H,\!19HN'<`L``(/`."7__P``
-M4(N'7`L``/]0#%97Z&SW__^+\#/`9HN'<`L``(/`)"7__P``4(N'7`L``/]0
-M)`T````%4#/`9HN'<`L``(/`)"7__P``4(N'7`L``/]0#&IDBX=<"P``_U`T
-MBX0DG````"7__P``4#/`9HN'<`L``%"+AUP+``#_4`B+A"2(````4#/`9HN'
-M<`L``(/`)"7__P``4(N'7`L``/]0#(N4)(P````SP%)FBX=P"P``@\`$)?__
-M``!0BX=<"P``_U`,,\!FBX0DL@```%`SP&:+AW`+``"#P`@E__\``%"+AUP+
-M``#_4`B+A"2X````)?__``!0,\!FBX=P"P``@\`J)?__``!0BX=<"P``_U`(
-M,\!FBX0DO@```%`SP&:+AW`+``"#P!(E__\``%"+AUP+``#_4`AJ`C/`9HN'
-M<`L``(/`+B7__P``4(N'7`L``/]0!#/`BH0DU@```%`SP&:+AW`+``"#P!8E
-M__\``%"+AUP+``#_4`1J`#/`9HN'<`L``(/`+B7__P``4(N'7`L``/]0!(N,
-M),`````SP%%FBX=P"P``@\`,)?__``!0BX=<"P``_U`,:@(SP&:+AW`+``"#
-MP"XE__\``%"+AUP+``#_4`0SP(J$)/<```!0,\!FBX=P"P``@\`6)?__``!0
-MBX=<"P``_U`$:@`SP&:+AW`+``"#P"XE__\``%"+AUP+``#_4`2!Q)````"%
-M]G0:75N+QEY?@\1HP[@&````75M>7X/$:,.#QP`SP&:+AW`+``"#P"0E__\`
-M`%"+AUP+``#_4"2#Q`2#X!2#^!1UREU;7C/`7X/$:,.-="8`,\"+5"0$9HM$
-M)`A0,\!FBX)P"P``@\`R)?__``!0BX)<"P``_U`(@\0(PY"-="8`@^P4,\!7
-MBWPD'%93:@!FBX=P"P``@\`N)?__``!0BX=<"P``_U`$,\!FBX=P"P``@\`R
-M)?__``!0BX=<"P``_U`@B_!F@>;^_XO&)?__``!0,\!FBX=P"P``@\`R)?__
-M``!0BX=<"P``_U`(9H'F_?\SP('F__\``%9FBX=P"P``@\`R)?__``!0BX=<
-M"P``_U`(BH=."P``)/Z(ATX+```SP&:+AW`+``"#P!(E__\``%"+AUP+``#_
-M4""#Q""+\&:#SA"[#P```&8CWH/["WX%NPL```"%VW0-C4O_NP$```#3X^L&
-MD+L!````9H'F_^.*AW\+``"$P'0J,]*+PR7__P``BI=_"P``.\)\%V:!S@`8
-M9HN'@`L``&:I$`!T!6:!S@`$@>;__P``,\!69HN'<`L``(/`$B7__P``4(N'
-M7`L``/]0"(/$"(J'?`L``(3`=2-H7"```#/`9HN'<`L``(/`""7__P``4(N'
-M7`L``/]0#(/$",>'4`L``%P@``"+\X'C__\``('F__\``#/`1HJ'?PL``$.)
-M="04.\-^!(E$)!2[``@``#/`*]Z)GU0+``!J`F:+AW`+``"#P"XE__\``%"+
-MAUP+``#_4`0SP&:+AW`+``"#P!8E__\``%"+AUP+``#_4!R(1"0K)?\```"#
-MR!`E_P```%`SP&:+AW`+``"#P!8E__\``%"+AUP+``#_4`1H#Q`/`#/`9HN'
-M<`L``(/`)"7__P``4(N'7`L``/]0#&@?$```,\!FBX=P"P``@\`H)?__``!0
-MBX=<"P``_U`,:@`SP&:+AW`+``"#P"XE__\``%"+AUP+``#_4`2+1"1`P>@!
-M0,'@$`T``@``4#/`9HN'<`L``(/`#"7__P``4(N'7`L``/]0#,'K`C/`P>X!
-MNOH#``#!XQ`KU@O:4V:+AW`+``"#P"`E__\``%"+AUP+``#_4`QJ`C/`9HN'
-M<`L``(/`+B7__P``4(N'7`L``/]0!#/`BD0D8R7O````4#/`9HN'<`L``(/`
-M%B7__P``4(N'7`L``/]0!&H`,\!FBX=P"P``@\`N)?__``!0BX=<"P``_U`$
-M:@`SP&:+AW`+``!0BX=<"P``_U`(@\1<OD````!FBX=R"P``9JF``'4#@\X"
-M5C/`9HN'<`L``(/`)"7__P``4(N'7`L``/]0#&H`,\!FBX=P"P``@\`$)?__
-M``!0BX=<"P``_U`,@\00BX<<"P``B8<D"P``B8<@"P``BH=."P``#`B(ATX+
-M``"+AQ@+```]Z`$``'()5^CT\___@\0$@<X````',\!69HN'<`L``(/`)"7_
-M_P``4(N'7`L``/]0#&;'AT@+`````(/$"%M>7X/$%,.!_P````"!_P````"#
-M[`Q75E-5C40D&(M4)"A04HM,)"R+="0H4>CAL/__@\0,A<`/A2X!``!H````
-M@(M$)!PE__\``(UX`S/`9HN&<`L``,'_`H/`%"7__P``4(N&7`L``/]0#(M$
-M)"!0,\!FBX9P"P``@\`8)?__``!0BX9<"P``_U`,@\00NP$````[^WY1C:YP
-M"P``C40D&(M4)"A04HM,)"Q1Z&&P__^#Q`R%P'0+C4?_.]@/A:<```"+1"08
-M4#/`9HM%`(/`&"7__P``4(N&7`L``/]0#(/$"$,[WWRU:/"_`(`SP&:+AG`+
-M``"#P!0E__\``%"+AEP+``#_4`QHD.I0`#/`9HN&<`L``(/`&"7__P``4(N&
-M7`L``/]0#&H`,\!FBX9P"P``@\`8)?__``!0BX9<"P``_U`,5HN&;`L``/]0
-M+&;'1@(A`&;'1@0``#/`@\0<75M>7X/$#,,[_UU;7K@!````7X/$#,.#QP`[
-M_X'_`````%.*7"0(9HM4)`RYP@```(3;=0F!R0`0``#K')"`^Q!U"X')``$`
-M`.L.@\<`@/MD=0:!R0`"``#!X1"!R0!S``!F]\((`'0&@>'_[___9O?"!`!T
-M!H'A_]___S/`BL.#^!!T!8/X!'4&@>'_O___BD0D$(3`=`.#R02+P5O#@\<`
-M5XM\)`@SP,>'4`L```````!J`&:+AW`+``"#P"XE__\``%"+AUP+``#_4`0S
-MP&:+AW`+``"#P`(E__\``%"+AUP+``#_4!R#R`8E_P```%`SP&:+AW`+``"#
-MP`(E__\``%"+AUP+``#_4`2#Q!1?PX/L"#/`5U:+="049HN&<`L``(/`$B7_
-M_P``4(N&7`L``/]0((OX)?__``"#R"`E__\``%`SP&:+AG`+``"#P!(E__\`
-M`%"+AEP+``#_4`B+AEP+``")1"04,\!FBX9P"P``:@*#P#!FB40D'#/`9HN&
-M<`L``(/`+B7__P``4(N&7`L``/]0!(M4)"R-1"0<4FH(:CA0Z.;<__]J`#/`
-M9HN&<`L``(/`+B7__P``4(N&7`L``/]0!('G__\``#/`5V:+AG`+``"#P!(E
-M__\``%"+AEP+``#_4`B#Q#1>7X/$",,[_X'_`````('_`````(/L"#/`5U93
-MBW0D&&:+AG`+``"#P!(E__\``%"+AEP+``#_4""+^"7__P``@\@@)?__``!0
-M,\!FBX9P"P``@\`2)?__``!0BX9<"P``_U`(BX9<"P``B40D&#/`9HN&<`L`
-M`&H"@\`P9HE$)"`SP&:+AG`+``"#P"XE__\``%"+AEP+``#_4`2+5"0PC40D
-M(%)J"&HX4.AUV/__B]@SP&H`9HN&<`L``(/`+B7__P``4(N&7`L``/]0!('G
-M__\``#/`5V:+AG`+``"#P!(E__\``%"+AEP+``#_4`B#Q#2+PUM>7X/$",,[
-M_X'_`````%!75HM\)!A3N0$```"+="08B$\PB`^(3P%FB7<0N00```!FB4\2
-M9H7.=`FX'````.L'._^X$````&;'1Q80`(O6,\EFB4\<@>+__P```]"+QF:)
-M5Q0E__\``(/``HE/&"7__P``4(M$)!C_4!R*V(O&)?__``"#P`,E__\``%"+
-M1"0<_U`<B$0D%X/$"+@#````(L.*@`````"(1R"*1"0/J(!T$S/`BL,E_```
-M``T``0``B_#K!)!F,_:!YO__``#!Y@N)=RB*1"0/J`AT"<9'+!#K!X/&`,9'
-M+`3&1QX$,\!FBT<4@\`()?__``!0BT0D&/]0'(/$!*D"````=##&1R$$BD<>
-M#!B(1QZ-1R*+5"044#/`9HM'%%!2Z&]M__^#Q`RX`0```%M>7X/$!,,SP(I$
-M)`_!^`2#X`.*@`````"(1R$\!'4+BD<>#!"(1Q[KN9"*1QX,`XA''NNN._^#
-M[`RY`0```%>+?"0<5HMT)!A358A/`8A/,(M$)"2Y!````&:)1Q!FA<AFB4\2
-MQ@<"=`FX'````.L'._^X$````&;'1Q80`(M4)"0SR6:)3QR!XO__```#T(M$
-M)"1FB5<4)?__``"#P`*)3QB+V"7__P``4/]6'(A$)!MJ!8O#)?__``!0_U8$
-MBT0D,"7__P``@\`#B^@E__\``%#_5AR(1"0KB\-J!B7__P``4/]6!(O%)?__
-M``!0_U8<BE0D-X/$'/;"`8A$)!IU!*B`="7&1QX`:@*+PR7__P``4/]6!(O%
-M)?__``!0_U8<B$0D)6H#ZR.0QD<>!&H`B\,E__\``%#_5@2+Q27__P``4/]6
-M'(A$)"5J`8O#)?__``!0_U8$B\4E__\``%#_5AR(1"0P@\08N`<````B1"09
-MBH``````B$<@BT0D&*@!=`?&1RP0ZP60QD<L!(M$)!BH@'08N'@```"+5"08
-M(L(-``,``&:)1"04ZPB09L=$)!0``(M$)!0E__\``,'@"HE'*(I$)!JH0'0.
-MQD<A!(I''@P(B$<>ZQ4SP(I$)!G!^`.#X`>*@`````"(1R&*1R$\!'5,BD<>
-M#!"(1QYJ!HO#)?__``!0_U8$C4<B@>7__P``4&H\55;H:&___S/`@>/__P``
-MBD0D+U!3_U8$@\0@N`$```!=6UY?@\0,PX/&`(I''@P#Z[*0@?\`````@?\`
-M````5XM\)`@SP&:+AW`+``"#P`(E__\``%"+AUP+``#_4!PE]P```%`SP&:+
-MAW`+``"#P`(E__\``%"+AUP+``#_4`2#Q`Q?PSO_._^!_P````!7BWPD"&H%
-M,\!FBX=P"P``@\`")?__``!0BX=<"P``_U`$,\!FBX=P"P``@\`#)?__``!0
-MBX=<"P``_U`<)?<```!0,\!FBX=P"P``@\`#)?__``!0BX=<"P``_U`$@\04
-M7\.0@?\`````@?\`````4#/`5XM\)`QJ`F:+AW`+``"#P`(E__\``%"+AUP+
-M``#_4`0SP&:+AW`+``"#P`,E__\``%"+AUP+``#_4!R+5"0<@\0,BLBX!P``
-M`"+!@>+_````BH``````)?\````[PG16BT0D$"7_````BH``````B$0D!SP'
-M=@JX`P```%^#Q`3#,\`STHK!BE0D!R7X````"\(E_P```%`SP&:+AW`+``"#
-MP`,E__\``%"+AUP+``#_4`2#Q`@SP%^#Q`3#5XM\)`AJ`C/`9HN'<`L``(/`
-M`B7__P``4(N'7`L``/]0!#/`9HN'<`L``(/``R7__P``4(N'7`L``/]0'(K(
-M,\"#Q`R*P<'X`S/2@^`'BE0D#(J``````"7_````.\)T/HJ2`````#/`BL&!
-MXO\```#!X@,EQP````O")?\```!0,\!FBX=P"P``@\`#)?__``!0BX=<"P``
-M_U`$@\0(7\.#QP"!_P````"!_P````!7BWPD"&H`,\!FBT<6@\`>)?__``!0
-MBX=<"P``_U`$:@A7Z#F2__^#Q!`E``L``#T``P``=1*X`0```(A'&U_#N`$`
-M``!?PY!J!E?H$)+__X/$"*F`````=>8SP%_#._]J!#/`BU0D"&:+0A:#P!XE
-M__\``%"+@EP+``#_4`2#Q`C#._^!_P````"!_P````"#[!`SP%>+?"085E-5
-M9HN'<`L``(/`'B7__P``4(N'7`L``/]0'(K8N`$````BPR7_````4#/`9HN'
-M<`L``(/`'B7__P``4(N'7`L``/]0!#/`9HM'%H/`""7__P``4(N'7`L``/]0
-M((OPN``#``!F(\:#Q!`]``,```^%@`(``(O&)?__```-``@``"7__P``4#/`
-M9HM'%H/`""7__P``4(N'7`L``/]0"#/`9HM'%H/`#B7__P``4(N'7`L``/]0
-M(&:)1"0J@\0,9H7`#X0.`@``,\!FBT<6@\`&)?__``!0BX=<"P``_U`@9HE$
-M)"`SP&:+1Q:#P`0E__\``%"+AUP+``#_4""+;"0D@\0(@>7__P``)?__``#!
-MY1`+Z&:+AW(+``!FJ1``=%QF]\8`!'0I,\!FBT0D'E`SP%5FBT<6@\`0)?__
-M``!0BX=<"P``_U`H@\0,Z84!```SP&:+1"0>4#/`56:+1Q:#P!`E__\``%"+
-MAUP+``#_4!"#Q`SI7`$``(/'`#/`9HM$)![!^`)FB40D&+@#````9B-$)!YF
-M]\8`!&:)1"06#X2;````BT0D&&:%P'0P)?__``!0,\!59HM'%H/`$"7__P``
-M4(N'7`L``/]0,#/`9HM$)"HE_/\```/H@\0,9HM$)!9FJ0(`="(SP&:+1Q:#
-MP!`E__\``%"+AUP+``#_4""#Q0*#Q`1FB47^9HM$)!9FJ0$`#X2[````,\!F
-MBT<6@\`0)?__``!0BX=<"P``_U`<B$4`@\0$Z9@```"#QP"+1"089H7`=#`E
-M__\``%`SP%5FBT<6@\`0)?__``!0BX=<"P``_U`8,\!FBT0D*B7\_P```^B#
-MQ`QFBT0D%F:I`@!T)3/`9HM%`%`SP&:+1Q:#P!`E__\``%"+AUP+``#_4`B#
-MQ0*#Q`AFBT0D%F:I`0!T(3/`BD4`4#/`9HM'%H/`$"7__P``4(N'7`L``/]0
-M!(/$"%?H*6K__X/$!(7`=`HSP%U;7E^#Q!##O@$```#K#)!7Z+HT__^+\(/$
-M!#/`BL-0,\!FBX=P"P``@\`>)?__``!0BX=<"P``_U`$@\0(B\9=6UY?@\00
-MPSO_@?\`````5XM\)`AJ<3/`9HN'<`L``(/`'27__P``4(N'7`L``/]0!&H"
-M,\!FBX=P"P``@\`?)?__``!0BX=<"P``_U`$:/$````SP&:+AW`+``"#P!TE
-M__\``%"+AUP+``#_4`0SP&:+AW`+``"#P!\E__\``%"+AUP+``#_4!R#R`0E
-M_P```%`SP&:+AW`+``"#P!\E__\``%"+AUP+``#_4`0SP&:+AW`+``"#P!XE
-M__\``%"+AUP+``#_4!R#R`0E_P```%`SP&:+AW`+``"#P!XE__\``%"+AUP+
-M``#_4`2#Q#!?PSO_@?\`````@?\`````@^P@N0$```!7BWPD,%:+="0L4U6+
-M1"0XQ@<#)?__``"(3P&(3S!H-I0``(/`'6:)1"0NBT0D/"7__P``@\`>9HE$
-M)"R+1"0\)?__``"#P!]FB40D*HM$)"PE__\``%!6Z$N2__^#Q`R%P'4\75M>
-M,\!?@\0@PSO_0X'[``$```^,(P$``(MT)!2+?"00,\"*1"0N4#/`9HM$)"I0
-M_U8$@\0(Z4D!``"09L='!(T09L='!@$`BT0D*"7__P``4/]6'(A$)#,E]P``
-M`%"+1"0P)?__``!0_U8$:@8SP&:+1"0Z4/]6!#/`9HM$)#I0_U8<9L='$B``
-M9HE'#(M$)%!FB4<0,\!FBT0D0C/)9HE/%F:)3Q2)3QAFB4\<:G!0_U8$,\!F
-MBT0D1E#_5AR(1R!H^````#/`9HM$)%)0_U8$,\!FBT0D4E#_5AR(1"1>@\0P
-MJ"#'1"0@``````^$C````,9''P(EWP```%`SP&:+1"0J4/]6!(M$)$`E__\`
-M`%#_5AR-;AR)?"0<B70D((U6!(M$)$2[J@```"7__P``B_*#P`N#Q`R+^#/`
-MBL-0B\<E__\``%#_%FIA_U4`B\<E__\``%#_50`STH/$$(K3.\(/A*+^___'
-M1"0@`0```(MT)!2+?"00Z:+^__^0QD<?`(M$)"@E__\``%#_5AR#Q`2I`0``
-M`'4(BT0D((7`=!'&1QX(QD<?`L9'(03K)8/&`,9''@!J=#/`9HM$)"Y0_U8$
-M,\!FBT0D+E#_5AR(1R&#Q`R*1R$\!'0(BD<>#`.(1QYH_0```#/`9HM$)"Y0
-M_U8$C4<B4#/`9HM$)#)J/%!6Z,ME__]J0#/`9HM$)$90_U8$,\!FBT0D1E#_
-M5AS!X!")1RAJ03/`9HM$)%)0_U8$,\!FBT0D4E#_5AS!X`B+5R@+PHE'*&CW
-M````,\!FBT0D7E#_5@0SP&:+1"1>4/]6'(/$/*D!````=`G&1RP0ZP>#Q@#&
-M1RP$,\"*1"0O4(M$)"PE__\``%#_5@2X`0```(/$"%U;7E^#Q"##C70F`%>+
-M?"0(,\!FBX=P"P``@\`>)?__``!0BX=<"P``_U`<)?<```!0,\!FBX=P"P``
-M@\`>)?__``!0BX=<"P``_U`$:/X````SP&:+AW`+``"#P!TE__\``%"+AUP+
-M``#_4`0SP&:+AW`+``"#P!\E__\``%"+AUP+``#_4!R#R$`E_P```%`SP&:+
-MAW`+``"#P!\E__\``%"+AUP+``#_4`1J%(N'7`L``/]0-(/$)%_#5XM\)`AJ
-M<#/`9HN'<`L``(/`'27__P``4(N'7`L``/]0!#/`BD0D%%`SP&:+AW`+``"#
-MP!\E__\``%"+AUP+``#_4`0SP(/$$%_#D(UT)@!7BWPD"%,SP&:+AW`+``"#
-MP!XE__\``%"+AUP+``#_4!R*V#/`BL,E]P```%`SP&:+AW`+``"#P!XE__\`
-M`%"+AUP+``#_4`1J=#/`9HN'<`L``(/`'27__P``4(N'7`L``/]0!#/`BD0D
-M)%`SP&:+AW`+``"#P!\E__\``%"+AUP+``#_4`0SP(K#4#/`9HN'<`L``(/`
-M'B7__P``4(N'7`L``/]0!(/$)%M?PX/'`%"+1"085XM\)"!6BW0D%%.Y!```
-M`,9'`0/&1S`!B`>+1"0@9HE'!(M$)!QFB4<,9H7.9HEW$&:)3Q)T"+@<````
-MZP:0N!````!FQT<6$`"+UC/)9HE/'('B__\```/0B\9FB5<4)?__``")3QA0
-MBT0D&/]0'(K8B\8E__\``$`E__\``%"+1"0<_U`<B$0D%X/$"+AP````(D0D
-M#X/X<'4+QD<>,,9'(03K&I#&1QXBBT0D(&8]A`IU![`B#`&(1Q[&1R'_N`,`
-M```BPXJ``````(A'((I$)`^H@'03,\"*PR7\````#0`!``"+\.L$D&8S]H'F
-M__\``,'F"XEW*(I$)`^H"'0EQD<L$(U'(HM,)!10,\!FBT<44%'H0%[__X/$
-M#%M>7X/$!,,[_\9'+`3KV3O_@?\`````@?\`````@^P,5[\!````5E-5BVPD
-M(,=$)!@`````C74$BU0D)#OZ=&6-1P<E_P```%!HE@```/\6:`$!``#_51S!
-MX`AH``$``(O8_U4<@\00"\,]A`H```^$I````#V%"@``=`<]A@H``'4B:`(!
-M``#_51S!^`2#X`.+R+@!````T^`+1"0<B40D'(/$!$>#_PA^C6H`B_5HE@``
-M`/]6!#/;@\0(BVPD)(M\)"B+R[@!````T^"+5"08A=!U7#/`9HL$70````!0
-M5NA'C?__@\0(@_@%=4-7:@1HA`H``%4SP&:+!%T`````4%;HU?W__[@!````
-M@\0875M>7X/$#,.0:@!HE@```/\6@\0(,\!=6UY?@\0,PSO_0X/[!'R-75M>
-M,\!?@\0,PX'_`````('_`````%>+?"0(BT0D#(/`!R7_````4&B6````_U<$
-MBU0D&(M,)!12:@5HA0H``%%H`@$``/]7','X!%F#X`-FBP1%`````"7__P``
-M4%?H0OW__X/$(+@!````7\,[_X'_`````%>+?"0(BT0D#(/`!R7_````4&B6
-M````_U<$BU0D&(M,)!12:@9HA@H``%%H`@$``/]7','X!%F#X`-FBP1%````
-M`"7__P``4%?HXOS__VH`:)8```#_5P2#Q"BX`0```%_#._^!_P````"!_P``
-M``"#[!17OP$```!64U6+;"0HQT0D&`````"-=02-71R-1P<E_P```%!HE@``
-M`/\6:`$!``#_$\'@"(E$)!QH``$``/\3BU0D((/$$`O"9HE$)"(SP&:+1"0B
-M/80*```/A(T````]A0H```^$E@```#V&"@``#X2W````Z1H!```[_XM,)#"+
-M1"0<46H$:(0*``!0BT0D/"7__P``4%/H'_S__X/$&+@!````75M>7X/$%,.#
-MQP!J`&B6````_Q:+3"0X,\!1:@5FBT0D,E"+1"1`5R7__P``4%7HX_O__[@!
-M````@\0@75M>7X/$%,.#QP"+5"08B7PD'$*)5"08Z98````[_V@"`0``_U4<
-MBU0D,(/$!,'X!('B__\``(/@`V:+!$4`````)?__```[PG2$:`(!``#_51R+
-M5"0P@\0$P?@$@>+__P``@^`#9HL$10`````E__\``#O"=3QJ`&B6````_Q:+
-M1"0X4#/`:@9FBT0D,E"+1"1`5R7__P``4%7H._O__X/$(+@!````75M>7X/$
-M%,.#QP!'@_\(#XY\_O__:@"+W6B6````_U,$BT0D((/$"(7`=#>#^`$/A+[^
-M__^+5"0PBT0D+%)J!&B$"@``:@`E__\``%!3Z.#Z__^#Q!BX`0```%U;7E^#
-MQ!3#75M>,\!?@\04PSO_C70F`%>+?"0(9HN'<@L``&:I`@!T5S/`BH=["P``
-M@\`')?\```!0:)8```"+AUP+``#_4`1H`@$``(N'7`L``/]0'(/(#B7_````
-M4&@"`0``BX=<"P``_U`$:@!HE@```(N'7`L``/]0!(/$'%_#D(UT)@!05U:+
-M="044XM<)""+?"0D@?L]@PD!=0C&!P?K!H/&`,8'",9'`0+&1S`!9HEW$+D$
-M````9HE/$F:%SHM$)!R)7P1FB4<,=`BX'````.L&D+@0````9L='%A``B]8S
-MR6:)3QR!XO__```#T(O&9HE7%"7__P``B4\84(M$)!C_4!R(1"03B\8E__\`
-M`$`E__\``%"+1"0<_U`<BM@SP(/$"(K#P?@$B]:#X`.!XO__``!FBP1%````
-M`"7__P``.\)T"C/`6UY?@\0$PY"X`P```(I4)`\BPO;#0(J``````(A'('0+
-MQD<>,,9'(03K"9#&1QXBQD<A__;#@'07,\"*1"0/)?P````-``$``(OPZP:#
-MQP!F,_:!YO__``#!Y@OVPPB)=RAT",9'+!#K!CO_QD<L!(U'(HM,)!10,\!F
-MBT<44%'H9UC__X/$#+@!````6UY?@\0$PSO_@?\`````5U:+1"00P>`,B_@E
-M__\```6`#```)?__``!0BT0D$/]0)(/$!(OP@?X]@PD!=`B!_CV#"0)U(XO'
-M)?__```%A`P``"7__P``4(M$)!#_4!R#Q`2I`0```'4*N`$```!>7\,[_X'G
-M__\``(M$)`R!QX<,``"!Y___``!7_U`<P?@$BU0D&%)6@^`#BTPD'%%FBP1%
-M`````"7__P``4(M$)"!0Z/G]__^#Q!A>7\.#QP!7BT0D"%9353/_C5@DB\?!
-MX`R+\"7__P``!8`,```E__\``%#_$X/$!(OH@?T]@PD!=`R!_3V#"0(/A8$`
-M``"+QB7__P``!80,```E__\``%"+1"08_U`<@\0$J0$```!T7H'F__\``(M$
-M)!2!QH<,``"!YO__``!6_U`<P?@$@\0$@^`#,])FBU0D&&:+!$4`````)?__
-M```[PG4CBU0D'#/`4E57BTPD(&:+1"0D4%'H.OW__X/$%%U;7E_#._]'@_\0
-M#XQ#____75M>,\!?PX/'`('_`````('_`````%>+?"0(9HN'<@L``&:I`@!T
-M/C/`9HN'<`L``$`E__\``%"+AUP+``#_4!R#R$`E_P```%`SP&:+AW`+``!`
-M)?__``!0BX=<"P``_U`$@\0,7\,[_X'_`````('_`````%>+?"0(:@`SP&:+
-M1Q:#P!0E__\``%"+AUP+``#_4`0SP&:+1Q:#P`@E__\``%"+AUP+``#_4""#
-MQ`PE``L``#T``P``=1*X`0```(A'&U_#N`$```!?PY`SP&:+1Q:#P`8E__\`
-M`%"+AUP+``#_4""#Q`2I@````'76,\!?PSO_5XM\)`B*1QN$P'4B,\!FBT<6
-M@\`&)?__``!0BX=<"P``_U`@@\0$J8````!T'K@!````7\.#Q@#&1QL!5^AN
-MC?__N`$```"#Q`1?PU?HCHO__X/$!(7`==\SP%_#@\<`:@`SP(M4)`AFBT(6
-M@\`4)?__``!0BX)<"P``_U`$,\"#Q`C#@?\`````@?\`````:,`````SP(M4
-M)`AFBT(6@\`4)?__``!0BX)<"P``_U`$@\0(PX/'`#O_@?\`````5XM\)`@S
-MP&:+AW`+``"#P!(E__\``%"+AUP+``#_4!R#X#]0,\!FBX=P"P``@\`2)?__
-M``!0BX=<"P``_U`$@\0,7\.!_P````"!_P````!0BT0D"(I`&X3`=2J+1"0(
-M9HM`%B7__P``@\`5)?__``!0BT0D#(N`7`L``/]0'(/$!*C`=`JX`0```(/$
-M!,.0,\"#Q`3#._\[_X'_`````%>+?"0(:@`SP&:+1Q:#P!0E__\``%"+AUP+
-M``#_4`0SP&:+1Q:#P!4E__\``%"+AUP+``#_4!R#Q`RHP+@`````7P^5P,,[
-M_SO_@?\`````5S/_4V:+7"0,BPR]`````(7)=!@SP(O39HM!"('B__\``#O"
-M=`Y'@_\1<MTSP%M?PX/'`%N+P5_#@\<`C70F`%<S_U.+7"0,BPR]`````(7)
-M=`V+400[TW0.1X/_$7+H,\!;7\.#QP!;B\%?PX/'`%<S_U93,]**3"089HM\
-M)!3!YQ!FBU0D$`OZ,_:+'+4`````A=MT-XL3]\+`CP``=">+0P2+UR4`____
-M@>(`____.\)U$S/`,]**0PJ*T3O"=0:+PUM>7\-&@_X1<KY;7C/`7\.!_P``
-M``"!_P````"X[!```,,[_SO_@?\`````@^P(5XM$)!!6BW0D)(L0BWPD&('Z
-M(($``'097K@$````7X/$",,[_[@"````7E^#Q`C#D&CL$```5^B!>___9L='
-M`@``9L<'4I0SR8M$)!R(CYP+``")AUP+``"+1"0DB8=D"P``BT0D*(F'8`L`
-M`#/`B8\8"P``B@90Z)#^__^#Q`R%P(F':`L``'2;9@^V!F:)1P:+AV@+``"+
-M0$")AVP+``!FBT809HF'<`L``(N':`L``(M`0&:#.`)U&F:+1A1FA<!T"6:)
-M1Q;K"X/'`&:+1A!FB4<69HM&+F:)AX`+``"*1BV(AW\+``"+AVP+``"%P'0)
-M:@!7_U`$@\0(BX=H"P``BT@XA<ET!U?_4#B#Q`2*1B*(AX(+``"*1B.(AX,+
-M``"*1B2(AX0+``"*1B6(AX4+``"*1B:(AX8+``"*1B>(AX<+``"*1B&(AWH+
-M``"*1AZ(AWD+``"*1@R(AWL+``"*1BP\!'4-9L>'<@L`````ZPL[_V;'AW(+
-M```!`(I&'J@!="AFBX=R"P``9@T``6:)AW(+``"+1"0</13O_P!V"UZX`P``
-M`%^#Q`C#BD8>J`AT$F:+AW(+``!F#00`9HF'<@L``(I&'J@$=!)FBX=R"P``
-M9@T`(&:)AW(+``"*1A^H$'029HN'<@L``&8-0`!FB8=R"P``9HM'!F8]`P!U
-M-&:+1@QFA<!T$F:+AW(+``!F#0@`9HF'<@L``(I&'Z@"=!)FBX=R"P``9@T0
-M`&:)AW(+```SP&:+1P:#^`MT!8/X#'4'N`$```#K`C/`A<!T&8I&'Z@!=!)F
-MBX=R"P``9@T`$&:)AW(+``!FBT<&9CT-`'(>BD8?J`AT%V:+AW(+``!F#8``
-M9HF'<@L``.@I<___BX=L"P``A<!T%U?_4`R#Q`2%P'4,7K@!````7X/$",.0
-M9L='`A``BX=L"P``9H,X`74$QD<:`%XSP%^#Q`C#._\[_X'_`````%:+="0(
-M9HN&<@L``&:I`$!T"K@!````7L.#QP`SP&:+!CU2E```=21FBT8"9CT@`'8:
-MBH9\"P``A,!U"E;_EJ0+``"#Q`3^AGP+```SP%[#,\"+5"0$9HL"/5*4``!U
-M*F:+0@)F/2``=B"*@GP+``"$P'06_LB(@GP+``"$P'4*4O^2J`L``(/$!,.0
-MC70F`#/`BU0D!&:+`CU2E```=1AFBT("9CT@`'8.4O^2K`L``(/$!,.#QP`S
-MP,.0C70F`%<S_U:+="0,,\!FBP8]4I0``'4D9HM&`F8](`!V&E;_EK`+``"#
-MQ`2+^(/_`7X)5N@+=O__@\0$B\=>7\.#QP`SP(M4)`1FBP(]4I0``'4@9HM"
-M`F8](`!V%E+_DK`+``"#Q`2%P+@`````#Y7`PY`SP,.0@?\`````@?\`````
-M,\"+5"0$9HL"/5*4``!U$V:+0@)F/2``=@E2Z*!U__^#Q`3#@?\`````@?\`
-M````@^P0,\F+5"04BH$`````08/Y2XB$"D,0``!R[8J"@@L``(B"3!```(J"
-M@@L``(B"=1```(J"W!```(B"7Q```(J"@PL``(B"31```(J"@PL``(B"=A``
-M`(J"W1```(B"8!```(J"A`L``(B"3A```(J"A`L``(B"=Q```(J"WA```(B"
-M81```(J"A0L``(B"3Q```(J"A0L``(B">!```(J"WQ```(B"8A```(J"A@L`
-M`(B"4!```(J"A@L``(B">1```(J"X!```(B"8Q```(J"APL``(B"41```(J"
-MAPL``(B">A```(J"X1```(B"9!```(J"3!````R`B(),$```9L<$)`$`BX)D
-M"P``9L=$)`Q+``5$$```B40D!(V"1!```(E$)`AFBX*\#@``9H7`=!)J`6H`
-MC40D"%!2Z,UO__^#Q!"#Q!##._^-="8`4#/`5XM\)`Q69HM'`H7`#X2;````
-M@_@0#X2:````@_@P#X21````@_A0=`F#^&`/A<\```"*AWT+``"H`P^$FP``
-M`%>+AVP+``#_4"@STH/$!(OP)?__``!FBY>0$```*\)FB40D"&8]H`]V5XJ'
-M?0L``"3\B(=]"P``:``!``!7BX=L"P``_U`<:@`SP&:+AY`0``"!YO__``!0
-M5FH":@!J!5?H1VW__X/$).LP._\SP%Y?@\0$PUZXZ`,``%^#Q`3#D(M$)`AF
-M/;@+=A!FB;>0$```5^C5_?__@\0$BI>/$```BL+^PJ@'B)>/$```=1)H@```
-M`%>+AVP+``#_4!R#Q`A7BX=L"P``_U`0@\0$7E^#Q`3#D#O_@?\`````4XM$
-M)`AFBU`$9O](!&:%TG4*N/____];PX/'`(M4)`B+1"0,BPJ[`0````/9B1J*
-M$8@06S/`PY`[_X'_`````(/L#%:+="049HM&`F8]$`!U"HN&;`L``(7`=1A>
-MN`(```"#Q`S#._^X`0```%Z#Q`S#._^+1"089HL`)?__```]4I0``'7ABT0D
-M&(N6;`L``&:+0`)FBQ(E__\``('B__\``#O"=<&+1"08@\`$B40D!(M$)!AF
-MBT`$9HE$)`B*AGH+```\!'5?BXYH"P``BY9H"P``9HM)#('A__\``(')`(``
-M`&8+CG(+``!FB8YR"P``BU(@B9:L"P``BY9H"P``BU(8B9:P"P``BY9H"P``
-MBU(HB9:D"P``BY9H"P``BU(PZU&#QP"+CF@+``"+EF@+``!FBTD.9@N.<@L`
-M`&:)CG(+``"+4B2)EJP+``"+EF@+``"+4AR)EK`+``"+EF@+``"+4BR)EJ0+
-M``"+EF@+``"+4C2)EJ@+``"-1"0$4&@`````5HN&;`L``/]0&(/$#%Z#Q`S#
-M._^!_P````!0BT0D"%>*$(UX`832=29'BD__A,EU'D>*5_^$TG461XI7_X32
-M=0Y'BD__A,EU!HH'A,!T!S/`7X/$!,-?N`$```"#Q`3#._\[_X'_`````%>+
-M?"0(9HM'`F8]00!V/XM4)`Q25XN';`L``/]0"(M$)!2#Q`B%P'0E5^AQ:___
-MBX]@"P``48N'7`L``/]0/&;'1P0``&;'1P(B`(/$"%_#BU0D!(M$)`B)@I`+
-M``!FBT("9CU!`'(/:D!2BX)L"P``_U`<@\0(PSO_@?\`````BU0D!(M$)`B)
-M@I0+``!FBT("9CU!`'8/:B!2BX)L"P``_U`<@\0(PSO_@?\`````5XM\)`A3
-MBD0D$(J??0L``(B'?0L``&:+1P)F/4$`=D4/OL,STHI4)!`SPJD#````=!)H
-M``$``%>+AVP+``#_4!R#Q`B*1"00J`-T&?;#`W445XN';`L``/]0*&:)AY`0
-M``"#Q`1;7\,[_X'_`````%>+?"0(5F:+1P)F/4$`=BR+1"04A<!U),:'?@L`
-M``%H@````%>+AVP+``#_4!RX`0```(/$"%Y?PX/'`%>-MY00``"+1"04N18`
-M``"+^#/`\Z5?7E_#._\[_X'_`````(M$)`0/OX"\#@``PXUT)@"+3"0$9HM!
-M`F8]4`!S#K@!````P[@"````PSO_#[^1O`X``(M$)`A*9HL`)?__```[PGW@
-M:@"+5"004HM$)!!04>C::O__,\"#Q!##C70F`(M4)`2X(`````^_DK0+```K
-MPL.0@?\`````@?\`````5U:+="0,9HN&M`L``&8](`!\$5ZX`@```%_#D+@$
-M````7E_#9HN&<@L``&:I``%T$8M$)!B+5"04`\(]`````7?:9HM&`F8]00!S
-M"%ZX`0```%_#9HN&F@L``&:I`@!T&S/`BTPD&&:+AI@+```[R'T*7K@#````
-M7\,[_XJ&N`L``+D?````(LB+5"00C0Q)P>$#C;P.O`L``(D7BU0D%(E7!&:+
-M5"089HE7"(M4)!R)5Q1FBT8"9CU0`'(.5U:+AFP+``#_4"2#Q`AF_X:T"P``
-MBI:X"P``_L(SP(B6N`L``%Y?PX/'`#O_@?\`````:@&+5"0(4HN";`L``/]0
-M!(/$",.!_P````"!_P````!05E.+="00BGPD%&:+1@)F/1``=`M;N`$```!>
-M@\0$PV:+AG(+``!FJ0`@=4\SP(K'A<!T)X/X!'0L@_@0=">#^&1U"F:+1@9F
-M/1,`=!BX`@```%M>@\0$PX/'`(J&>0L``*B`=!8SP&:+1@9(@_@2=PK_)(4D
-M!P``@\<`6[@#````7H/$!,.0:@,SP&:+AG`+``"#P`(E__\``%"+AEP+``#_
-M4`0SP&:+AG`+``"#P`,E__\``%"+AEP+``#_4!R(1"07@\0,J`%T";@0````
-MZP<[_[@$````,]**USO"#X2?`0``,\"*1"0+@_`!)?\```!0,\!FBX9P"P``
-M@\`#)?__``!0BX9<"P``_U`$@\0(Z6T!``"0:/<````SP&:+AG`+``"#P!TE
-M__\``%"+AEP+``#_4`0SP&:+AG`+``"#P!\E__\``%"+AEP+``#_4!R#Q`R*
-MV/;#`70'N!````#K!;@$````,]**USO"#X0/`0``,\"*PX/P`27_````4#/`
-M9HN&<`L``(/`'R7__P``4(N&7`L``/]0!(/$".G?````@\<`,\!FBX9P"P``
-M0"7__P``4(N&7`L``/]0'(/$!(K8]L,(=`FX$````.L'._^X!````#/2BM<[
-MP@^$GP```#/`BL.#\`@E_P```%`SP&:+AG`+``!`)?__``!0BX9<"P``_U`$
-M@\0(ZW0SP&:+AG`+``"#P!`E__\``%"+AEP+``#_4!R#Q`2*V/;#@'0'N!``
-M``#K!;@$````,]**USO"=#LSP(K#-8`````E_P```%`SP&:+AG`+``"#P!`E
-M__\``%"+AEP+``#_4`2#Q`CK#(B^G0L``(B^G@L``(#_$'4/9HN6<@L``&:#
-MR@'K#CO_9HN6<@L``&:!XO[_9HF6<@L``%LSP%Z#Q`3#D('_`````('_````
-M`(M4)`2*3"0(9HM"`F8]$`!T#K@!````P[@"````PSO_9HN"<@L``&:I""!U
-M$H#Y#W?FBX)H"P``BT!$A<!U";@#````PX/'`#/`BL%04HN":`L``/]01#/`
-M@\0(PX/'`%:+="0(4XI<)!!FBT8"9CT0`'006[@!````7L.X`P```%M>PV:+
-MAG(+``!FJ0`@=>LSP(K#@_@'?@L]_P````^%ZP$``#/`9HM&!DB#^`MWR_\D
-MA7`'```SP(K#@_@"#X3+`0``@_@$#X2^````/?\````/A+<!``!FBX9R"P``
-M9JD$`'66BX9D"P``/13O_P!WB8J6>0L``(#*`XB6>0L``(#B[XB6>0L``.DW
-M`0``,\"*PX/X!'1#/?\````/A&P!``!FBX9R"P``9JD,``^%1____XN&9`L`
-M`#T4[_\`#X<V____BI9Y"P``@,H#B)9Y"P``Z>T````[_XJ6>0L``(#B_(B6
-M>0L``.G7````,\"*PX/X!'03/?\````/A&+____I!P$``(/'`(J6>0L``(#B
-M_(B6>0L``(#*$(B6>0L``.F>````@\<`,\"*PX/X!'0G/?\````/A=````"*
-MEGD+``"`R@*(EGD+``"`XN^(EGD+``#K;3O_BI9Y"P``@.+]B)9Y"P``@,H0
-MB)9Y"P``ZU$[_X#[!'1*Z8X````[_S/`BL.#^`1T*SW_````=7QFBX9R"P``
-M9JD`$`^%5_[__XJ6>0L``(#*`HB6>0L``.L1._^*EGD+``"`XOV(EGD+``"+
-MAF@+``"+0$B%P'02,\"*PU!6BX9H"P``_U!(@\0(BT0D%(B>>@L``(J6>0L`
-M`(@0BH9Y"P``J`%T%F:+EG(+``!F@<H``>L46[@"````7L-FBY9R"P``9H'B
-M__YFB99R"P``6S/`7L-0N/\#``!75E.+7"04BW0D&&8CQB7__P``/4`"```/
-MA/,````]@`(```^$Z````#W``@``#X3=````/0`#```/A-(````](`,```^$
-MQP```#U``P``#X2\````/6`#```/A+$```"+QB7__P``4/]3'(/$!"7B````
-M@_@B#X65````B\8E__\``(/``R7__P``4/]3'(/$!"7`````@_A`=76+QB7_
-M_P``@\`$)?__``!0_U,<@\0$J2````!U6(O&)?__``"#P`DE__\``%#_4QS!
-MX`B+^(O&)?__``"#P`@E__\``%#_4QR#Q`@+QV:%P'0C9JD!`'4=@>;__P``
-M@\8,@>;__P``5O]3'(/$!*D(````=`DSP%M>7X/$!,-;7E^X`0```(/$!,.-
-M="8`@^P05U9358U$)!^+;"0DB40D%&CX#```_U4<,_^#Q`2*V(UU'&IA_Q9H
-M^`P``/\6,]*#Q`B*TSO0=`F_`0```.L0._]'@_\R?-N+1"04,_^(&(7_#X7)
-M````BD0D'Z@!#X6]````C40D'XE$)!1H^@P``/]5'#/_@\0$BMB-=1QJ8?\6
-M:/H,``#_%C/2@\0(BM,[T'0*OP$```#K$8/'`$>#_S)\VHM$)!0S_X@8A?]U
-M<6CX#```_U4<B$0D(X/$!"7_````J?````!T$X/@#H/X"+@`````#Y3`ZP6#
-MQP`SP(7`=3UJ#FCX#```_U4$:F'_51QH^`P``/]5'(/$$(/X#G4>:@!H^`P`
-M`/]5!&IA_U4<:/@,``#_51R#Q!"%P'0-,\!=6UY?@\00PX/'`%U;7K@!````
-M7X/$$,.#QP"#[`Q6BW0D%%-6Z`$&``"#Q`2%P'4C5NBD_O__@\0$A<!T";H"
-M````ZQ@[_U;H7@8``(/$!(7`=`>Z`0```.L",]*%TG1"@_H!=$&#^@)U+FH0
-M:/@,``#_5@2+5"0LBTPD*%)1BT0D+%!6Z.$#``!J`(O8:/@,``#_5@2#Q""+
-MPUM>@\0,PSO_,]OK\HM4)"2+3"0@4E&+1"0D4%;HCP(``(O8@\00Z]8[_X'_
-M`````%>+1"0(5HMT)!2+$(M\)!"!^B"!``!T$%ZX`P```%_#N`$```!>7\,S
-MP(I&"%`SP&:+1@)0,\!FBP90Z/#J__^#Q`R+R(7)=->*1@Z$P'709HM&!&:I
-M`0!TQF:+%HM$)`QFB5<$9HM6`F:)5P:*5CR(5R"+5C"#XOR)5RB*5@R(5RUF
-MBU8$9HE7+HI1"(@75U90_U$4@\0,7E_#D(UT)@"#[`Q3BT0D%(L0@?H@@0``
-M=!);N/____^#Q`S#,\!;@\0,PY"+1"0<P>`,B]@E__\```6`#```)?__``!0
-MBT0D&/]0)%#H%NK__XE$)`R#Q`B%P'3',\!FB\,%A`P``"7__P``4(M$)!C_
-M4!R#Q`2I`0```'2FBTPD&(M$)!Q14(M4)!R+1"0,4O]03(/$#%N#Q`S#@?\`
-M````@?\`````@^P,5XM\)!13BQ>!^B"!``!T%5NX_____U^#Q`S#._\SP%M?
-M@\0,PXM$)""#P`<E_P```%!HE@```/]7!&@!`0``_U<<P>`(:``!``"+V/]7
-M'&H`"\.+V&B6````_U<$@>/__P``4^A4Z?__B40D*(/$'(7`=*F+3"0<BT0D
-M(%%05XM$)!C_4$R#Q`Q;7X/$#,,[_X'_`````('_`````%=64XMT)!0SP(M<
-M)"2*1@A0,\!FBT8"4#/`9HL&4.@MZ?__@\0,B_B%_W0*BT0D((L7A=!U"K@!
-M````6UY?PY!FBQ:+3"009HE3!&:+5@)FB5,&9@^V5"089HE3#&8/ME0D'&:)
-M4PZ*5CR(4R"+5C"#XOR)4RB*5@R(4RUFBU8$9HE3+HI7"(@34U91_U<4@\0,
-M6UY?PSO_._^!_P````"#[%@SR5=64U6+1"1PBW0D=(E$)&"+1"1LB4PD9('F
-MP(\``(E,)%B-6`R->"2+1"18P>`+#0```(!0B40D8&CX#```_Q,S[8/$"(ET
-M)!"+="1<C44`"\90:/@,``#_$VC\#```_Q>)1"P@@\0,@\4$@_U`?-V+5"1@
-MBW0D$%)6BT0D8(M,)'2#X!]0BT0D9,'X!27_````4(U$)"104>B]_O__@\08
-MA<!T-8/X`G5+BT0D7(/(!%!H^`P``/\3BT0D("7__P``@\@$)?\```!0BT0D
-M>&C\#```_U`$@\00_T0D9(M$)'B+5"1D.]!]'XM,)&"#P32)3"1@BT0D6$")
-M1"18/0`"```/C!____]=6UZ+1"187X/$6,,[_XUT)@"#[&`SR5=64U6+1"1X
-MB4PD:(E$)&"+1"1TB4PD9(UP!(UX((M$)&0E_P```%!H^@P``/\6QT0D9```
-M``"#Q`B+1"1<P>`(#0#```"+Z"7__P``4/\7@\0$/8T0```/A<H```")?"00
-MBT0D=(ET)!0S]HU8)+\0````B\6-%+4`````)?__```+PB7__P``4/\3B42T
-M'(/$!$8[]WS<B\Z+="04BU0D8('A_P```%*+A"2`````)<"/``"+?"044(M$
-M)&11BXPD@````"7_````4(U$)"A04>AD_?__@\08A<!T+(/X`G5%BT0D'('E
-M__\``"7__P``@\T$@\@$@>7__P``)?\```!05?\6@\0(_T0D:(N$)(````"+
-M5"1H.]!],HM,)&"#P32)3"1@BT0D7$")1"1<@_@0#XP`____BU0D9$*)5"1D
-M@?H``0``#XS/_O__75M>BT0D7%^#Q&##5U9356:+;"08BW0D%(O%)?__``!0
-M_U8<,_^#QAR*V(/$!&IA_Q:+Q27__P``4/\6,]*#Q`B*TSO0=`VX`0```%U;
-M7E_#@\<`1X/_,GS4BT0D'(@875M>,\!?PY"-="8`5XM\)`AH^`P``/]7)(/$
-M!*D```!_=4AH````@&CX#```_U<,:F'_5QQH^`P``/]7)(/$$#T```"`=21H
-MIP,`@&CX#```_U<,:F'_5QQH^`P``/]7)(/$$#VD`P"`=`4SP%_#D&H`:/@,
-M``#_5PR#Q`BX`0```%_#._^!_P````!7BWPD"&CX#```_U<D@\0$J0```']U
-M2&@```"`:/@,``#_5PQJ8?]7'&CX#```_U<D@\00/0```(!U)&BD`P"`:/@,
-M``#_5PQJ8?]7'&CX#```_U<D@\00/:0#`(!T!3/`7\.0:@!H^`P``/]7#(/$
-M"+@!````7\,[_X'_`````(M4)`12Z/;^__^#Q`2%P'47BTPD!%'HE??__X/$
-M!(7`=`ZX`@```,.X`0```,,[_XM$)`10Z$;___^#Q`2%P'7G,\##@?\`````
-M@?\`````BTPD!&:+00)F/1``=`ZX`0```,.X`P```,,[_V:+009F/0T`<NZ+
-M5"0(,\")D1`+``"+5"0,B9$4"P``BU0D$(F1&`L``,.058OL5E>+=0B+?0R+
-M31#SI%]>7<-`*",I=')L;&0N8R`D4F5V:7-I;VXZ("`@,2XP("`D`$]L:6-O
-M;2!44DQ,1"`Q+C(N,"`*)`I0"E0*,`I`"F`*<`H)`PH+0`*``L`"``,@`T`#
-M8`,"````````````````````````````````````````````````````````
-M``````````````````````#\%P``:1@``&D8``!I&```8!@``&D8``!(&```
-M:1@``#P8``!I&```:1@``&D8```(&```Z%X```!@``#H8@``H&,``$Y?```(
-M9```3E\```,`````````````````````````````````````````````````
-M`````````````````````````$#_______\`````!```````````````````
-M````````````````````````````````````````````````````````!!``
-M9`````D#"@L%!@<$`0`````````!````$D`0``P`#```````````````````
-M````````````````````````````````````````````````````````````
-M```)"@L,#P,%!P4&!P`!`P0$"`@`!0@&"`<(``$"`P@(!`,$!P4&``$"`@``
-M`$:2```"````$D`0``P`#```````````````````````````````````````
-M```````````````````````````````````````````$````-I0```,````"
-M````````````````````````````````````````````````````````````
-M``````````````````````````````@```"$"@``!`````)`````````````
-M````````````````````````````````````````````````````````````
-M````````````````"````(4*```%`````D``````````````````````````
-M````````````````````````````````````````````````````````````
-M```(````A@H```8````"0```````````````````````````````````````
-M`````````````````````````````````````````````````!`````]@PD!
-M!P```!)`$``,``P`````````````````````````````````````````````
-M````````````````````````````````````$````#V#"0((````$D`0``P`
-M#```````````````````````````````````````````````````````````
-M``````````````````````!`````C1`!``H``0`(#```````````````````
-M````````````````````````````````````````````````````````````
-M`````````$````"-$`$`"P`"`P@,*(3^__[_````````````````````````
-M````````````````````````````````````````````````````````@```
-M`(T0`0`,``,`"`P(!/[_````````````````````````````````````````
-M`````````````````````````````````````````````0``C1`$``T``@``
-M``@`````````````````````````````````````````````````````````
-M```````````````````````````````"``"-$`0`#@`#````"```````````
-M````````````````````````````````````````````````````````````
-M``````````````````0``(T0!P`/``$!```(````````````````````````
-M````````````````````````````````````````````````````````````
-M````@```C1`%`!(``@````@`````````````````````````````````````
-M```````````````````````````````````````````````````(``"-$`@`
-M$P`!`@``"```````````````````````````````````````````````````
-M````````````````````````````````````````````````````````````
-M````````````````````````````````````````````````````````````
-M```````00,`````@`(```````,)P]/0#`#B$`0`*0`,`````````!L`!``$`
-M!L`"@```#,`+$`!:>&M1````$D`,`#(P,C`R,#DV6#4W-@``7/\``&C_``#X
-M_P``B``!`(@``0"(``$`B``!`(@``0!<_P``\``!`/```0#P``$`6`$!`%@!
-M`0!8`0$`7/\``%S_``!8`0$`6`$!`!P"`0!8`@$`L`(!`!`#`0!,`P$`3`,!
-M`$P#`0!,`P$`'`(!`)@#`0"D`P$`I`,!``0````,`````0```%-#3P`!``$`
-M`0````@``0(``````````````````````0``````````````!`#Q_P``````
-M``````````,``0`````````````````#``(``````````````````P`#````
-M``````````````,`!``````````````````#``4``````````````````P`&
-M``````````````````,`!P`````````````````#``@`````````````````
-M`P`)``````````````````,`"@`,```````````````$`/'_%````-`-`0!$
-M`````@`!`",```!P#`$`7`````(``0`O````4`D!`)@````"``$`-@```/`)
-M`0`<`0```@`!`$`````0"P$`8`$```(``0!*````4`T!`'@````"``$`60``
-M`-`,`0!X`````@`!`&4```"`!0$`0`$```(``0!Q````X/D``#@````"``$`
-M>0```'#W``!,`0```@`!`(8```"@\@``9`````(``0"0````</(``#`````"
-M``$`F0```##R```\`````@`!`*0```"P[```6`$```(``0"U`````.<``#0!
-M```"``$`Q@```.#6``#H`````@`!`-T```#PU0``Y`````(``0#S````0,<`
-M``P(```"``$`_P```&#$``#8`@```@`!``H!``"PPP``K`````(``0`@`0``
-M`,,``*0````"``$`-0$``""Z```8`````@`!`#\!``#0N0``'`````(``0!)
-M`0``L+D``!P````"``$`4@$``%`$`0`L`0```@`!`&`!``"`^P``2`````(`
-M`0!G`0``<+,``)0````"``$`<P$``/"O``#<`````@`!`'\!``"PKP``0```
-M``(``0"*`0``<*\``$`````"``$`E@$``#"O``!``````@`!`*`!``"PK@``
-M@`````(``0"M`0``X*P``-0````"``$`N0$``-"J```(`@```@`!`,<!````
-MJ@``R`````(``0#3`0``(*D``-0````"``$`X`$``""G``#X`0```@`!`.T!
-M``#`K0``\`````(``0#Y`0``D*(``(0$```"``$`!`(``/"Y```H`````@`!
-M``P"``"@H0``\`````(``0`6`@``V`8``$L````!``(`)P(``)0&``!$````
-M`0`"`#,"``"`U0``<`````(``0!(`@``T+```*`"```"``$`6@(``$0&``!0
-M`````0`"`&8"``#T!0``4`````$``@!R`@``I`4``%`````!``(`?@(``%0%
-M``!0`````0`"`(H"``#PP@``$`````(``0">`@``@+D``"P````"``$`J0(`
-M`/#```#X`0```@`!`+H"```$!0``4`````$``@#&`@``X/$``$@````"``$`
-MT@(``)#Q``!(`````@`!`-X"``"T!```4`````$``@#H`@``$/$``"@````"
-M``$`\P(``.#P```D`````@`!`/\"``"`\```8`````(``0`+`P``9`0``%``
-M```!``(`%0,``$#Q``!$`````@`!`"8#````\```@`````(``0`R`P``%`0`
-M`%`````!``(`/`,``,0#``!0`````0`"`$<#```0[@``L`````(``0!4`P``
-MH.\``%0````"``$`80,``,#N``#4`````@`!`&H#``!T`P``4`````$``@!U
-M`P``T.D``&0````"``$`A`,``"0#``!0`````0`"`(X#``!PZ0``6`````(`
-M`0"=`P``U`(``%`````!``(`IP,``$#H```D`0```@`!`+8#``!`[```;```
-M``(``0#"`P``0.H``/P!```"``$`RP,``(0"``!0`````0`"`-4#``!0Y@``
-ML`````(``0#@`P```.8``$P````"``$`\0,``%#A``#D`````@`!```$``!0
-MY0``L`````(``0`1!```X-T``"0````"``$`'P0``(#=``!@`````@`!`"X$
-M```0W@``.`,```(``0`_!```0.(```P#```"``$`2`0``#0"``!0`````0`"
-M`%($``#0W```I`````(``0!=!```$-P``,`````"``$`;@0``*#;``!D````
-M`@`!`'T$``!0VP``2`````(``0".!```,-D``!0"```"``$`EP0``.0!``!0
-M`````0`"`*$$``#<`0``"`````$``@"M!```S`$``!`````!``(`N00``,0!
-M```(`````0`"`,$$``"\`0``"`````$``@#.!```T-<``&`!```"``$`UP0`
-M`&P!``!0`````0`"`.$$``!H`0``!`````$``@#H!```9`$```0````!``(`
-M]`0``%P!```(`````0`"`/T$``!0SP``+`````(``0`0!0```-4``(`````"
-M``$`)P4``(#/```$!````@`!`#<%``"0TP``:`$```(``0!,!0``)`$``#@`
-M```!``(`7@4``!@!```*`````0`"`'$%``!`N@``8`(```(``0"#!0``@,``
-M`'`````"``$`F04``*"\``#@`@```@`!`*@%``"`OP````$```(``0"\!0``
-MX````#@````!``(`S04``'"A```H`````@`!`-D%```@H0``2`````(``0#E
-M!0``<)\``+`!```"``$`]@4``/"<``!X`@```@`!``@&``!0FP``E`$```(`
-M`0`>!@``T)<``'@#```"``$`-`8``""7``!0`````@`!`$@&``"`D```8`4`
-M``(``0!=!@``P(\``,`````"``$`;P8``*"/```@`````@`!`(4&``!@CP``
-M0`````(``0"9!@``,(\``"@````"``$`K`8``(".```H`````@`!`,4&```P
-MC```*`````(``0#5!@```(P``"@````"``$`X@8``-"$``"(`P```@`!`/0&
-M``"0A```/`````(``0#\!@```(0``(P````"``$`!@<``-"#```H`````@`!
-M`!0'```0@P``N`````(``0`D!P``X((``"@````"``$`+@<``#!^``"H!```
-M`@`!`#<'``!@?```R`$```(``0!%!P``T'H``(P!```"``$`50<``%!V``!T
-M!````@`!`%T'```P=@``&`````(``0!E!P``T'4``%@````"``$`;0<``(!U
-M``!0`````@`!`','``#P=```D`````(``0![!P``X',``#@````"``$`AP<`
-M`,!S```@`````@`!`)`'``!P<P``1`````(``0"=!P``$',``%P````"``$`
-MJ`<``(!P``"8`````@`!`+$'``!P;P``0`````(``0"W!P```&\``"P````"
-M``$`P`<``.!N```<`````@`!`,P'````;0``X`$```(``0#C!P``0&P``+P`
-M```"``$`]`<``(!K``"T`````@`!``0(``#P:@``C`````(``0`-"````&H`
-M`.0````"``$`&`@`````````!````0`#`"$(``#@:```'`$```(``0`I"```
-M@&@``%@````"``$`-P@```"-``!X`0```@`!`$8(```@9```3`$```(``0!4
-M"```8(@``"`!```"``$`:@@``."5```X`0```@`!`'X(``!PEP``5`````(`
-M`0"-"````%X``!0&```"``$`G0@``)!=``!H`````@`!`*H(``"06`````4`
-M``(``0"V"```P%<``-`````"``$`QP@``+".``"``````@`!`-4(``"PC```
-M3`````(``0#E"```8(P``$P````"``$`^@@``+"*``!0`0```@`!``8)``"`
-MB0``*`$```(``0`2"0``L%0``!`#```"``$`)@D``)!0```4!````@`!`#8)
-M``!`3P``1`$```(``0!$"0``,$X``!`!```"``$`40D``*!,``"0`0```@`!
-M`%\)````3```E`````(``0!M"0``X&\``)0````"``$`=0D``"!+``#@````
-M`@`!`'T)``"`2@``E`````(``0"'"0``L$@``-`!```"``$`E`D``&!&``!,
-M`@```@`!`)P)``!010``$`$```(``0"E"0```$4``$P````"``$`K0D``*!"
-M``!@`@```@`!`+0)``#`/@``V`,```(``0#!"0``<&<``!`!```"``$`SPD`
-M`+`T```<`@```@`!`-P)```P,P``@`$```(``0#I"0``8#```$0"```"``$`
-M]@D``(`F``"(!@```@`!``@*``#0%0````,```(``0`5"@``<&4``#P!```"
-M``$`(@H````5``#$`````@`!`"T*``!0#```L`@```(``0`W"@``L`H``*`!
-M```"``$`1`H``+!F``"X`````@`!`$\*``#P"0``N`````(``0!@"@``('(`
-M`.P````"``$`<`H``+!O```L`````@`!`'@*``"`!P``<`(```(``0"""@``
-MX`(``)0$```"``$`D0H``#!O```\`````@`!`)8*````````V`(```(``0"?
-M"@``C`````$````!``(`J`H``!`M``!$`P```@`!`+@*``"`(P``^`(```(`
-M`0#("@``\!X``)`$```"``$`V0H``+`R``!T`````@`!`.D*``#0&```(`8`
-M``(``0#Y"@``('0``+`````"``$`!`L``-`V``#L!P```@`!``P+````<@``
-M'`````(``0`6"P``T'0``"`````"``$`(PL``"!Q``#@`````@`!`"P+``!4
-M````.`````$``@!#"P``1@````X````!``(`40L``$(````$`````0`"`%H+
-M```Z````"`````$``@!F"P``,@````@````!``(`;PL``"`````2`````0`"
-M`'<+````````(`````$``@!["P``8+8``%0"```2``$`A0L``$#W```D````
-M$@`!`)\+``!0_0``#````!(``0"Q"P``L/T``!0````2``$`P@L``%#V```\
-M````$@`!`,X+``#0^P``4````!(``0#9"P``\/P``%@````2``$`[`L``,`&
-M`0"H````$@`!`/D+``!0_```*````!(``0`3#```$+0``%`"```2``$`'0P`
-M`-#]``#H````$@`!`#(,``#`_@``%````!(``0!!#```(/P``"@````2``$`
-M5@P``+`(`0"4````$@`!`&D,``#`^```&`$``!(``0!S#```(`X!`$@````2
-M``$`@@P``&@.`0``````$``!`(P,````]P``-````!(``0"E#```X/X``+0"
-M```2``$`LPP``!`(`0"4````$@`!`,<,```@\P``V`(``!(``0#8#```<`<!
-M`)P````2``$`YPP``!#S```(````$@`!`/@,```@^@``6`$``!(``0`&#0``
-M@/P``&@````2``$`'@T``&#]``!,````$@`!`#$-``"@`0$`8````!(``0!#
-M#0``D/8``"P````2``$`60T``,"X``"T````$@`!`&X-````]@``4````!(`
-M`0![#0````(!`%`"```2``$`APT``,#V``!`````$@`!``!T<FQL9&5L9BYO
-M`'1R;&QD+F,`4$-)0DE/4U!R97-E;G0`4$-)0VAE8VM296<`06-C97!T`%!#
-M23%3=V5E<`!00TDR4W=E97``3VQD4$-),5!R97-E;G0`4$-),5!R97-E;G0`
-M4$-),E!R97-E;G0`1V5T0V]D90!396YD5%101G)A;64`4$-)3&]O:W5P`$QO
-M;VMU<$E$`$QO;VMU<%1Y<&4`0V]N9C,Q,S-3;&]T0F%S90!#;VYF,S$R.5-L
-M;W1"87-E`$)U;&QS97EE5W)I=&524$Q%15!R;VT`0G5L;'-E>65296%D4E!,
-M1450<F]M`$1R86EN4EA&:69O`&1R86EN7W1X<G@`2&%W:V5Y95=R:71E4E!,
-M1450<F]M`$AA=VME>65296%D4E!,1450<F]M`$5%35-$96QA>0!%15!O<G1/
-M=70`1450;W)T26X`3D4R,#`P4')E<V5N=`!Z97)O97,`07-I8T5%4F5A9$(`
-M07-I8T5%5W)I=&4`1457<FET94)I=`!%14-L;V-K1&]W;@!%14-L;V-K57``
-M145#;&]C:U!U;'-E`$5%5W)I=&53=&]P`$5%5W)I=&5286YD;VT`07-I8T5%
-M4F5A9%<`1457<FET95-T87)T`$5%1'5M;7E7<FET90!%15=R:71E0GET90!%
-M15)E861">71E`$5%1&5L87D`145296%D0FET`%12;&QD5%105&5M<&QA=&4`
-M061A<'1E<DQI<W0`0G5L;'-E>65(5T-O;F9I9TEN:70`0G5L;'-E>6500TE#
-M;VYF:6<`3T,S-30P5&%B;&4`3T,S,C4P5&%B;&4`3T,S,30Q5&%B;&4`3T,S
-M,30P5&%B;&4`2&%W:V5Y94A70V]N9FEG26YI=`!%;F%B;&500TDT`$AA=VME
-M>6500TE#;VYF:6<`3T,S,3,Y5&%B;&4`1&ES86)L95!#23,`4')E<V5N=%!#
-M23,`4$-),U1A8FQE`$5N86)L95!#23(`1&ES86)L95!#23(`4')E<V5N=%!#
-M23(`4$-),E1A8FQE`%!#23%(5T-O;F9I9TEN:70`1&ES86)L95!#23$`4$-)
-M,51A8FQE`$5)4T$R5&%B;&4`0V]N9C,Q,S-3;&]T`$5)4T%/<&5N26YI=`!#
-M;VYF,S$S,P!%25-!,51A8FQE`$U#03-3;&]T0V]N9FEG`$U#03-486)L90!-
-M0T$R4VQO=$-O;F9I9P!-0T$R5&%B;&4`34-!,5-L;W1#;VYF:6<`34-!3W!E
-M;DEN:70`0V]N9C,Q,CD`34-!,51A8FQE`$E303-3971$34$`25-!,U-E=$EN
-M=&5R<G5P=`!)4T$S2%=/<&5N26YI=`!)4T$S2%=#;VYF:6=);FET`$5N86)L
-M93,Q,3A024\`1&ES86)L93,Q,3A024\`25-!,U!)3TEN=&5R<G5P=`!#;VYF
-M,S$Q.`!)4T$S5&%B;&4`25-!,E-E=$1-00!)4T$R4V5T26YT97)R=7!T`$E3
-M03)(5T]P96Y);FET`$E303)(5T-O;F9I9TEN:70`0V]N9C,Q,3<`25-!,E1A
-M8FQE`$E303)$34%":71S`$E303));G1":71S`$E303)$34$`25-!,DEN=$QE
-M=F5L`$-O;F8S,3$U`$E303%486)L90!)4T%$34$`25-!26YT3&5V96P`145?
-M4U!%140`0G5L;'-E>65"87-I8U)E<V5T`$)U;&QS97EE0V]N;F5C=$]P=&EO
-M;G,`0G5L;'-E>65297-T87)T`$)U;&QS97EE0V]D941O=VYL;V%D`$)U;&QS
-M97EE26YT97)F86-E`%181')A:6Y&<F%M94AE861E<@!(87=K97EE0F%S:6-2
-M97-E=`!(87=K97EE0V]N;F5C=$]P=&EO;G,`2&%W:V5Y95)E<W1A<G0`2&%W
-M:V5Y94-O9&5$;W=N;&]A9`!(87=K97EE26YT97)F86-E`$1I<V%B;&500TDT
-M`%!R97-E;G100TDT`$AA=VME>65);G1E<G)U<'0`5')A;G-M:71);G1E<G)U
-M<'0`4W!I;C-296-E:79E26YT97)R=7!T`%-P:6XR4F5C96EV94EN=&5R<G5P
-M=`!(87=K97EE4F5A9$U!0U1I;65R`$AA=VME>653971U<%1R86YS;6ET`%-E
-M;F10;VQL26UM961I871E`$AA=VME>65#;&]S94-O;7!L971E9`!(87=K97EE
-M4V5T=7!#;VUM86YD`$AA=VME>65.;T]P97)A=&EO;@!(87=K97EE4F5A9$5R
-M<F]R0V]U;G1E<G,`2&%W:V5Y94U!0U)E<V5T`$AA=VME>65#;&]S90!(87=K
-M97EE2%=/<&5N26YI=`!'971,;VYG`$%S:6-#:&5C:P!00TE(5T]P96Y);FET
-M`%!#25!)3TEN=&5R<G5P=`!%;F%B;&500TD`1&]00TE024\`4$-)4$E/4')E
-M<V5N=`!00TE(5T-O;F9I9TEN:70`061P5'EP90!%14=E=$1/`$5%0VQE87(`
-M1453970`0VAE8VM)9`!'971435-3:&]R=`!30T)#;&5A<@!3=&%R=$-O;6UA
-M;F0`5$U30V]M;6%N9`!T;7-?;W5T,@!D;W5T,@!T;7-S:&]R=`!3=&]R95IE
-M<F]E<P!2971U<FY#;VUP;&5T961"=69F97)S`%!R;VUI<V-U;W5S0VAE8VL`
-M5')A8V54;V]L4F5M;W9E`$-20T-H96-K`$-O;7!U=&5#4D,`0U)#5&%B;&4`
-M0U)#26YI=`!3971U<%1R86YS;6ET`%5P9&%T94-O=6YT97)S`$5X96-);G1E
-M<G)U<'0`2&%W:V5Y95)E861087)A;65T97)S`$AA=VME>653971U<%)E8V5I
-M=F4`2&%W:V5Y94U!0TEN:70`4W1A='5S26YT97)R=7!T`$AA=VME>65297-E
-M=`!(87=K97EE4&]L;`!(87=K97EE57-E<D-L;W-E`$AA=VME>65296]P96X`
-M2&%W:V5Y95-E=$=R;W5P`$AA=VME>653971&=6YC=&EO;F%L`$AA=VME>65/
-M<&5N`$EN:71#;VUM86YD`$AA=VME>653=&%R=$-O;6UA;F0`3VQD4$E/26YT
-M97)R=7!T`%!R97-E;G1/;&1024\`16YA8FQE36%S=&5R`$1I<V%B;&5-87-T
-M97(`4')E<V5N=$UA<W1E<@!T;7-?:6XR`%=A:71024\`4F5A9$5%0DE!`%1-
-M4U!#24-O;F9I9P!296%D0DE!`$-H96-K0DE!`$5%4&%U<V4`145296%D`$5%
-M3W5T3F]R;4-M9`!2971U<FY"=69F97)S`%)E;W!E;E!H87-E,@!296]P96Y0
-M:&%S934`4F5O<&5N4&AA<V4V`%1R86YS9F5R26YI=$)L;V-K`%1-4TEN=&5R
-M<G5P=`!297-E=$)U9F9E<G,`4FEN9U-T871U<P!4>%)X4W=E97``061A<'1E
-M<D-H96-K`%-E;F13=&%T=7,`0V]M;6%N9$-O;7!L971E9`!297-P;VYD17)R
-M;W)L;V<`=&US;&]N9P!$;T-O;6UA;F0`4F5A9%!A<F%M971E<G,`9&EN,@!4
-M35-#:&5C:P!%141)0V]P>0!435-296%D34%#5&EM97(`5$U34V5T=7!296-E
-M:79E`%1-4U-E='5P5')A;G-M:70`5$U34V5T=7!#;VUM86YD`%1-4T-O9&5$
-M;W=N;&]A9`!435--04-);FET`%1-4U!O;&P`5$U37T-H96-K`%1-4U5S97)#
-M;&]S90!435-297-E=`!0;W=E<DU!0TA?5$U326YT97)F86-E`$Y%,C`P,%!O
-M<G1486(`26YT3&5V96P`:7AT;W1M<V)A<V4`:7AT;V)A<V4`5%)L;&1)1`!?
-M5E\`5%)L;&1&:6YD`%12;&QD26YT97)R=7!T4&]S=%-E<G9I8V4`5%)L;&14
-M<F%N<VUI=$9R964`5%)L;&1296-E:79E1G)E90!44FQL9$5N86)L90!44FQL
-M9$-L;W-E`%12;&QD1V5T4W1A=&ES=&EC<P!44FQL9$9I;F100TD`5%)L;&13
-M971&=6YC=&EO;F%L061D<F5S<P!44FQL9$]P96X`5%)L;&1296-E:79E1G)A
-M9VUE;G0`5%)L;&1%;65R9V5N8WD`5%)L;&13971'<F]U<$%D9')E<W,`5%)L
-M;&1-0T%3;&]T0V]N9FEG`%12;&QD4&]L;`!44FQL9$%D9$UE;6]R>0!44FQL
-M9$-O<'D`5%)L;&1);G1E<G)U<'10<F5397)V:6-E`%12;&QD4V5T4W!E960`
-M5%)L;&1%25-!4VQO=$-O;F9I9P!44FQL9$%D87!T97));FET`%12;&QD4$-)
-M0V]N9FEG`%12;&QD061A<'1E<E-I>F4`5%)L;&1$;W=N;&]A9`!44FQL9%-E
-M=%!R;VUI<V-U;W5S36]D90!44FQL9%1R86YS;6ET1G)A;64`5%)L;&13971)
-M;G1E<G)U<'0`5%)L;&1);G1E<G)U<'10<F5S96YT`%12;&QD24]!9&1R97-S
-M0V]N9FEG`%12;&QD1&ES86)L90!44FQL9%-E=$1-00!44FQL9$EN=&5R<G5P
-M=%-E<G9I8V4``"YT97AT`"YD871A`"YB<W,`+FYO=&4`+G-Y;71A8@`N<W1R
-M=&%B`"YS:'-T<G1A8@`N<F5L+G1E>'0`+G)E;"YD871A`"YC;VUM96YT`'L(
-M```!T@``.PH```'4``#V%P```0,``#@F```!U```@S````'4``!B,0```=0`
-M`&0R```!U```[#(```'4``![-````<D``*`U```!Z```J#4```'H``"Q-0``
-M`>@``+LU```!Z```Q34```'H``#/-0```>@``#<V```!R```UCH```''``#C
-M/@```=@```L_```!V```(S\```'8``!+/P```=@``&,_```!V```BS\```'8
-M``"C/P```=@``,L_```!V```&T````'8``!!0````=@``)%````!V```MT``
-M``'8```U00```=@``%9!```!V```?D$```'8``"600```=@``+Y!```!V```
-M#D(```'8```T0@```=@``-E"```!V```,D,```'8``!:0P```=@``*I#```!
-MV```T$,```'8``!X1````=@``*!$```!V```N$0```'8``#F1````=@``.)>
-M```!`P``XF@```&F``!":0```:8``%!I```!I@``86D```&F``!N:0```:8`
-M`(5I```!I@``C6D```&F``"6:0```:8``)QI```!I@``I6D```&F``"S:0``
-M`:8``,9I```!I@``U&D```&F```Y:@```:8``&=J```!I@``>6H```&F``"+
-M:@```:8``)UJ```!I@``R6H```&F``"`<P```=0``)EU```!V```R'4```'8
-M``#I=0```=@``"!V```!V```Q8L```'H``#&F````OH``"29```"^@``:)D`
-M``+Z``".F0```OH```RS```!<```\;8```$W``"WMP```><``"JX```!-P``
-M+;D```$W``#-R@```78``&;8```!;P``#MD```%N``!NV@```6L``.+:```!
-M:@``9MP```%K``!^W````6D``"3=```!:@``,]T```%H``#.YP```>4``/[H
-M```!YP``(.D```'G``"NZ0```><```[J```!YP``8^L```'G``"/ZP```><`
-M`&7M```!YP``C.T```'E``"C[@```><``%#O```!YP``//(```$W``![\@``
-M`3<``+_R```!-P``>_<```$V``!B^P```14``%7_```!`P``5`(!``$#``!8
-M`````>(``%P````!X0``8`````'@``!D`````=\``&@````!W@``;`````'=
-M``!P`````=P``'0````!VP``>`````':``!\`````=D``)`````!`@``E```
-M``$"``"8`````0(``)P````!`@``H`````$"``"D`````0(``*@````!`@``
-MK`````$"``"P`````0(``+0````!`@``N`````$"``"\`````0(``,`````!
-M`@``Q`````$"``#(`````0(``,P````!`@``T`````$"``#4`````0(``-@`
-M```!`@``W`````$"``#D`````:\``.@````!L0``[`````&-``#P`````;``
-M`/0````!K0``^`````%Z``#\`````88````!```!@P``!`$```&L```(`0``
-M`8(```P!```!>0``$`$```%X```4`0```7<``"@!```!KP``+`$```&Q```P
-M`0```8T``#0!```!L```.`$```&M```\`0```70``$`!```!A@``1`$```&#
-M``!(`0```:P``$P!```!@@``4`$```%S``!4`0```7(``%@!```!<0``@`$`
-M``%L``"$`0```;@``(@!```!RP``C`$```&Y``"0`0```;P``)@!```!NP``
-MH`$```&Z``"L`0```>,``/@!```!9@``_`$```&X`````@```<L```0"```!
-MN0``"`(```&\```0`@```;L``!@"```!N@``'`(```%E```@`@```60``"0"
-M```!XP``*`(```%C```L`@```6(``$@"```!8```3`(```%?``!0`@```<L`
-M`%0"```!N0``6`(```&\``!<`@```5X``&`"```!NP``9`(```%=``!H`@``
-M`;H``&P"```!7```<`(```%;``!T`@```>,``'@"```!6@``?`(```%9``"8
-M`@```5<``)P"```!N```H`(```'+``"D`@```;D``*@"```!O```L`(```&[
-M``"X`@```;H``,`"```!5@``Q`(```'C``#0`@```54``.@"```!5P``[`(`
-M``&X``#P`@```<L``/0"```!N0``^`(```&\`````P```;L```@#```!N@``
-M$`,```%6```4`P```>,``"`#```!4P``.`,```%7```\`P```;@``$`#```!
-MRP``1`,```&Y``!(`P```;P``%`#```!NP``6`,```&Z``!@`P```58``&0#
-M```!XP``<`,```%1``"(`P```4\``(P#```!N```D`,```'+``"4`P```;D`
-M`)@#```!O```H`,```&[``"H`P```;H``+`#```!3@``M`,```'C``#``P``
-M`4T``-@#```!3P``W`,```&X``#@`P```<L``.0#```!N0``Z`,```&\``#P
-M`P```;L``/@#```!N@````0```%.```$!````>,``!`$```!30``*`0```'`
-M```L!````8\``#0$```!N0``/`0```%*``!$!````9```$P$```!20``4`0`
-M``&.``!4!````>,``'@$```!P```?`0```&/``"`!````8\``(0$```!1P``
-MB`0```%'``",!````48``)`$```!1@``E`0```%%``"8!````44``)P$```!
-MDP``H`0```&.``"D!````>,``,@$```!P```S`0```&/``#0!````<L``-0$
-M```!0P``V`0```%#``#<!````4(``.`$```!0@``Y`0```&0``#H!````9``
-M`.P$```!DP``\`0```&.``#T!````>,``!@%```!0```(`4```%^```H!0``
-M`7T``#`%```!?```.`4```$_```\!0```3X``$`%```!BP``1`4```%[``!H
-M!0```4```'`%```!?@``>`4```%]``"`!0```7P``(@%```!/P``C`4```$^
-M``"0!0```8L``)0%```!>P``N`4```%```#`!0```7X``,@%```!?0``T`4`
-M``%\``#8!0```3\``-P%```!/@``X`4```&+``#D!0```7L```@&```!0```
-M$`8```%^```8!@```7T``"`&```!?```*`8```$_```L!@```3X``#`&```!
-MBP``-`8```%[``!8!@```3D``&`&```!?@``:`8```%]``!P!@```7P``'@&
-M```!/P``?`8```$X``"`!@```8L``(0&```!=0``E`8```%M``"8!@```6<`
-M`)P&```!80``H`8```%8``"D!@```50``*@&```!4@``K`8```%0``"P!@``
-M`4P``+0&```!2P``N`8```%(``"\!@```40``,`&```!00``Q`8```$]``#(
-M!@```3P``,P&```!.P``T`8```$Z```D!P```0(``"@'```!`@``+`<```$"
-M```P!P```0(``#0'```!`@``.`<```$"```\!P```0(``$`'```!`@``1`<`
-M``$"``!(!P```0(``$P'```!`@``4`<```$"``!4!P```0(``%@'```!`@``
-M7`<```$"``!@!P```0(``&0'```!`@``:`<```$"``!L!P```0(``'`'```!
-M`@``=`<```$"``!X!P```0(``'P'```!`@``@`<```$"``"$!P```0(``(@'
-M```!`@``C`<```$"``"0!P```0(``)0'```!`@``F`<```$"``"<!P```0(`
-M`'AP9S1P;'5S($`H(RD@<W1D9&5F+F@@,C`N,2`Y-"\Q,B\P-"``86-O;7`Z
-M(%)E;&5A<V4@-2XP+C!A(#$V36%R.34`;W!T:6TZ(%)E;&5A<V4@-2XP+C!A
-M(#$V36%R.34`:3,X-F%S.B!296QE87-E(#4N,"XP82`Q-DUA<CDU`$`H(RD@
-M=&-O<'DN<R`Q+C`@.3@O,#@O,3$`:3,X-F%S.B!296QE87-E(#4N,"XP82`Q
-M-DUA<CDU````````````````````````````````````````````````````
-M``````$````!````!@````````!`````?`X!````````````$``````````'
-M`````0````,`````````O`X!`*`'``````````````0`````````#0````@`
-M```#`````````%P6`0``!``````````````$`````````!(````'````````
-M``````!<%@$`'````````````````0`````````8`````@``````````````
-M>!8!`*`0```&````Z@````0````0````(`````,``````````````!@G`0"=
-M#0`````````````!`````````"@````#``````````````"U-`$`3P``````
-M`````````0`````````R````"0``````````````!#4!`%@#```%`````0``
-M``0````(````/`````D``````````````%PX`0`8"```!0````(````$````
-L"````$8````!``````````````!T0`$`N@```````````````0``````````
-`
-end
diff --git a/sys/contrib/dev/oltr/if_oltr.c b/sys/contrib/dev/oltr/if_oltr.c
deleted file mode 100644
index 268ad8a80204..000000000000
--- a/sys/contrib/dev/oltr/if_oltr.c
+++ /dev/null
@@ -1,1515 +0,0 @@
-/*
- * Copyright (c) 1998, Larry Lile
- * All rights reserved.
- *
- * For latest sources and information on this driver, please
- * go to http://anarchy.stdio.com.
- *
- * Questions, comments or suggestions should be directed to
- * Larry Lile <lile@stdio.com>.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice unmodified, this list of conditions, and the following
- * disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $Id: if_oltr.c,v 1.4 1999/04/24 20:24:02 peter Exp $
- */
-
-
-#include "pci.h"
-#include "oltr.h"
-#include "opt_inet.h"
-#include "bpfilter.h"
-
-#if (NOLTR + NPCI) > 0
-
-/*#define TRlldInlineIO*/
-
-#define ISA_ADAPTERS (OC_3115 | OC_3117 | OC_3118)
-#define PCI_ADAPTERS (OC_3133 | OC_3136 | OC_3137 | \
- OC_3139 | OC_3140 | OC_3141 | \
- OC_3250 | OC_3540 )
-
-#define PCI_VENDOR_OLICOM 0x108D
-
-char *AdapterName[] = {
- /* 0 */ "Olicom XT Adapter [unsupported]",
- /* 1 */ "Olicom OC-3115",
- /* 2 */ "Olicom ISA 16/4 Adapter (OC-3117)",
- /* 3 */ "Olicom ISA 16/4 Adapter (OC-3118)",
- /* 4 */ "Olicom MCA 16/4 Adapter (OC-3129) [unsupported]",
- /* 5 */ "Olicom MCA 16/4 Adapter (OC-3129) [unsupported]",
- /* 6 */ "Olicom MCA 16/4 Adapter (OC-3129) [unsupported]",
- /* 7 */ "Olicom EISA 16/4 Adapter (OC-3133)",
- /* 8 */ "Olicom EISA 16/4 Adapter (OC-3133)",
- /* 9 */ "Olicom EISA 16/4 Server Adapter (OC-3135)",
- /* 10 */ "Olicom PCI 16/4 Adapter (OC-3136)",
- /* 11 */ "Olicom PCI 16/4 Adapter (OC-3136)",
- /* 12 */ "Olicom PCI/II 16/4 Adapter (OC-3137)",
- /* 13 */ "Olicom PCI 16/4 Adapter (OC-3139)",
- /* 14 */ "Olicom RapidFire 3140 16/4 PCI Adapter (OC-3140)",
- /* 15 */ "Olicom RapidFire 3141 Fiber Adapter (OC-3141)",
- /* 16 */ "Olicom PCMCIA 16/4 Adapter (OC-3220) [unsupported]",
- /* 17 */ "Olicom PCMCIA 16/4 Adapter (OC-3121, OC-3230, OC-3232) [unsupported]",
- /* 18 */ "Olicom PCMCIA 16/4 Adapter (OC-3250)",
- /* 19 */ "Olicom RapidFire 3540 4/16/100 Adapter (OC-3540)"
-};
-
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/proc.h>
-#include <sys/sockio.h>
-#include <sys/malloc.h>
-#include <sys/mbuf.h>
-#include <sys/socket.h>
-#include <sys/syslog.h>
-#include <sys/kernel.h>
-#include <sys/interrupt.h>
-
-#include <net/ethernet.h>
-#include <net/if.h>
-#include <net/if_arp.h>
-#include <net/iso88025.h>
-#include <net/if_media.h>
-
-#if NBPFILTER > 0
-#include <net/bpf.h>
-#endif
-
-#if NPNP > 0
-#include <i386/isa/pnp.h>
-#endif
-
-#include <machine/clock.h>
-#include <machine/md_var.h>
-#include <i386/isa/isa_device.h>
-
-#if NPCI > 0
-#include <pci/pcivar.h>
-#include <pci/pcireg.h>
-#endif
-
-#include "contrib/dev/oltr/trlld.h"
-
-#ifndef TRLLD_SPEED_AUTO
-#define TRLLD_SPEED_AUTO 0
-#endif
-
-#define MIN(A,B) (((A) < (B)) ? (A) : (B))
-#define MIN3(A,B,C) (MIN(A, (MIN(B, C))))
-
-void *oltr_malloc(ssize_t, TRlldAdapterConfig_t *);
-
-/*
- * Glue functions prototypes for PMW kit IO
- */
-
-#ifndef TRlldInlineIO
-static void DriverOutByte __P((unsigned short, unsigned char));
-static void DriverOutWord __P((unsigned short, unsigned short));
-static void DriverOutDword __P((unsigned short, unsigned long));
-static void DriverRepOutByte __P((unsigned short, unsigned char *, int));
-static void DriverRepOutWord __P((unsigned short, unsigned short *, int));
-static void DriverRepOutDword __P((unsigned short, unsigned long *, int));
-static unsigned char DriverInByte __P((unsigned short));
-static unsigned short DriverInWord __P((unsigned short));
-static unsigned long DriverInDword __P((unsigned short));
-static void DriverRepInByte __P((unsigned short, unsigned char *, int));
-static void DriverRepInWord __P((unsigned short, unsigned short *, int));
-static void DriverRepInDword __P((unsigned short, unsigned long *, int));
-#endif /*TRlldInlineIO*/
-static void DriverSuspend __P((unsigned short));
-static void DriverStatus __P((void *, TRlldStatus_t *));
-static void DriverCloseCompleted __P((void *));
-static void DriverStatistics __P((void *, TRlldStatistics_t *));
-static void DriverTransmitFrameCompleted __P((void *, void *, int));
-static void DriverReceiveFrameCompleted __P((void *, int, int, void *, int));
-
-typedef struct tx_buf {
- int index;
- int count;
- char *buf;
- struct mbuf *m;
-} tx_buf_t;
-
-typedef struct rx_buf {
- int index;
- char *buf;
-} rx_buf_t;
-
-#ifndef EXTRA_OLTR
-#if NPCI > 0
-#define EXTRA_OLTR 8
-#else
-#define EXTRA_OLTR 0
-#endif /* NPCI */
-#endif /* EXTRA_OLTR */
-
-#ifndef OLTR_PROMISC_MODE
-#define OLTR_PROMISC_MODE (TRLLD_PROM_LLC)
-#endif
-
-#define ALL_OPTIONS (IFM_TOK_ETR | IFM_TOK_SRCRT | IFM_TOK_ALLR | IFM_TOK_DTR | IFM_TOK_CLASSIC | IFM_TOK_AUTO)
-
-/* List sizes MUST be a power of 2 */
-#define TX_LIST_SIZE 16
-#define RX_LIST_SIZE 16
-#define TX_LIST_MASK (TX_LIST_SIZE - 1)
-#define RX_LIST_MASK (RX_LIST_SIZE - 1)
-#define RX_BUFFER_LEN (8*1024)
-#define TX_BUFFER_LEN (8*1024)
-
-struct oltr_softc {
- struct arpcom arpcom;
- struct ifmedia ifmedia;
- TRlldAdapterConfig_t *config;
- TRlldAdapter_t *TRlldAdapter;
- int unit;
- u_short PromiscMode;
- u_short AdapterMode;
- int hw_state;
-#define HW_UNKNOWN 0 /* initial/absent state */
-#define HW_FOUND 1 /* found, not initialized */
-#define HW_BAD 2 /* fatal error */
-#define HW_FAILED 3 /* closed eg. by remove, allow manual reopen */
-#define HW_LOADING 4
-#define HW_CLOSING 5
-#define HW_CLOSING2 6
-#define HW_CLOSED 7
-#define HW_OPENING 8
-#define HW_OPEN 9
-#define HW_ERROR 10 /* temporary error */
-
- u_long GroupAddress;
- u_long FunctionalAddress;
- int poll_adapter;
-
- int tx_next;
- int tx_avail;
- tx_buf_t tx_buffer[TX_LIST_SIZE];
- TRlldTransmit_t tx_frame;
-
- int rx_next;
- int rx_avail;
- rx_buf_t rx_buffer[RX_LIST_SIZE];
-
- struct callout_handle oltr_ch;
- struct callout_handle poll_ch;
-
-};
-
-static struct oltr_softc oltr_softc[NOLTR + EXTRA_OLTR];
-
-/*
- * Driver function prototypes
- */
-
-static int oltr_probe __P((struct isa_device *));
-static int oltr_attach __P((struct isa_device *));
-static void oltr_init __P((struct oltr_softc *));
-static void oltr_intr __P((int));
-static void oltr_start __P((struct ifnet *));
-static void oltr_stop __P((struct oltr_softc *));
-static int oltr_ioctl __P((struct ifnet *, u_long, caddr_t));
-
-static int oltr_attach_common __P((struct oltr_softc *));
-
-void oltr_timeout __P((void *));
-void adapter_poll __P((void *));
-
-struct isa_driver oltrdriver = {
- oltr_probe,
- oltr_attach,
- "oltr",
- 0
-};
-
-int isa_cards = 0;
-
-#if NPCI > 0
-static u_long oltr_count = NOLTR;
-static const char *oltr_pci_probe __P((pcici_t, pcidi_t));
-static void oltr_pci_attach __P((pcici_t, int));
-static void oltr_pci_intr __P((void *));
-static void oltr_pci_shutdown __P((int, void *));
-
-static struct pci_device oltr_device = {
- "oltr",
- oltr_pci_probe,
- oltr_pci_attach,
- &oltr_count,
- NULL
-};
-
-COMPAT_PCI_DRIVER(oltr_pci, oltr_device);
-int pci_cards = 0;
-#endif /* NPCI */
-
-static int oltr_ifmedia_upd __P((struct ifnet *));
-static void oltr_ifmedia_sts __P((struct ifnet *, struct ifmediareq *));
-
-static TRlldDriver_t oltrLldDriver = {
- TRLLD_VERSION,
-#ifndef TRlldInlineIO
- DriverOutByte,
- DriverOutWord,
- DriverOutDword,
- DriverRepOutByte,
- DriverRepOutWord,
- DriverRepOutDword,
- DriverInByte,
- DriverInWord,
- DriverInDword,
- DriverRepInByte,
- DriverRepInWord,
- DriverRepInDword,
-#endif /*TRlldInlineIO*/
- DriverSuspend,
- DriverStatus,
- DriverCloseCompleted,
- DriverStatistics,
- DriverTransmitFrameCompleted,
- DriverReceiveFrameCompleted,
-};
-
-TRlldAdapterConfig_t oltr_config[NOLTR + EXTRA_OLTR];
-
-void *
-oltr_malloc(Size, Adapter)
- ssize_t Size;
- TRlldAdapterConfig_t *Adapter;
-{
-
- /* If the adapter needs memory below 16M for DMA then use contigmalloc */
- if (Adapter->mode & TRLLD_MODE_16M) /* Adapter using ISA DMA buffer below 16M */
- return(contigmalloc(Size, M_DEVBUF, M_NOWAIT, 0ul, 0xfffffful, 1ul, 0x10000ul));
- else
- return(malloc(Size, M_DEVBUF, M_NOWAIT));
-}
-
-/*
- * Driver Functions
- */
-
-static int
-oltr_probe(is)
- struct isa_device *is;
-{
- static int find_completed = 0, assigned[NOLTR];
- struct oltr_softc *sc = &oltr_softc[is->id_unit];
- int i;
-
- printf("oltr%d: oltr_probe\n", is->id_unit);
-
- /* Make life easy, use the Olicom supplied find function on the first probe
- * to probe all of the ISA adapters. Then give them to each unit as requested.
- * Try to match the adapters to units based on the iobase, but if iobase? then
- * just give out the next available adapter.
- */
- if (!find_completed) {
- isa_cards = TRlldFind(&oltrLldDriver, &oltr_config[0], ISA_ADAPTERS, NOLTR);
- /*for (i = 0; i < isa_cards; i++) {
- printf("TRlldFind: card %d - %s MAC %6D\n", i + 1, AdapterName[oltr_config[i].type], oltr_config[i].macaddress, ":");
- }*/
- for (i = 0; i < NOLTR; i++)
- assigned[i] = 0;
- find_completed = 1;
- }
-
- sc->unit = is->id_unit;
- sc->hw_state = HW_UNKNOWN;
-
- if (find_completed && ((isa_cards == 0) || (is->id_unit > isa_cards)))
- return(0);
-
- if (((is->id_iobase < 0xa00) || (is->id_iobase > 0xbe0)) && (is->id_iobase != 0xffffffff)) {
- printf("oltr%d: port address impossible (0x%X)\n", is->id_unit, is->id_iobase);
- return(0);
- }
-
- /* Auto assign lowest available card not already in use */
- if (is->id_iobase == 0xffffffff) {
- printf("oltr%d: auto assigning card.\n", is->id_unit);
- for (i = 0; assigned[i]; i++);
- assigned[i] = 1;
- sc->config = &oltr_config[i];
- is->id_iobase = sc->config->iobase0; /* Claim our port space */
- if (!is->id_irq)
- is->id_irq = (1 << sc->config->interruptlevel); /* Claim our interrupt */
- is->id_intr = (inthand2_t *)oltr_intr;
- if ((is->id_drq == 0xffffffff) && (sc->config->dmalevel != TRLLD_DMA_PIO))
- is->id_drq = sc->config->dmalevel; /* Claim our dma channel */
- printf("oltr%d: <%s> [%6D]\n", is->id_unit, AdapterName[sc->config->type], sc->config->macaddress, ":");
- sc->hw_state = HW_FOUND;
- return(1);
- } else {
- /* Assign based on iobase address provided in kernel config */
- for (i = 0; i < NOLTR; i++) {
- if (is->id_iobase == oltr_config[i].iobase0) {
- if (assigned[i]) {
- printf("oltr%d: adapter (0x%X) already assigned.\n", is->id_unit, is->id_iobase);
- return(0);
- }
- assigned[i] = 1;
- sc->config = &oltr_config[i];
- if (is->id_irq == 0)
- is->id_irq = (1 << sc->config->interruptlevel); /* Claim our interrupt */
- is->id_intr = (inthand2_t *)oltr_intr;
- if ((is->id_drq == 0xffffffff) && (sc->config->dmalevel != TRLLD_DMA_PIO))
- is->id_drq = sc->config->dmalevel; /* Claim our dma channel */
- printf("oltr%d: <%s> [%6D]\n", is->id_unit, AdapterName[sc->config->type], sc->config->macaddress, ":");
- sc->hw_state = HW_FOUND;
- return(1);
- }
- }
- }
- return(0); /* Card was not found */
-}
-
-#if NPCI > 0
-static const char *
-oltr_pci_probe(config_id, device_id)
- pcici_t config_id;
- pcidi_t device_id;
-{
- u_char PCIConfigurationSpace[64];
- u_long command;
- int i, j, rc;
-
- printf("oltr: oltr_pci_probe\n");
-
- j = NOLTR + pci_cards;
-
- if (pci_cards == EXTRA_OLTR)
- return(NULL);
-
- if (((device_id & 0xffff) == PCI_VENDOR_OLICOM) &&
- ((((device_id >> 16) & 0xffff) == 0x0001) ||
- (((device_id >> 16) & 0xffff) == 0x0004) ||
- (((device_id >> 16) & 0xffff) == 0x0005) ||
- (((device_id >> 16) & 0xffff) == 0x0007) ||
- (((device_id >> 16) & 0xffff) == 0x0008))) {
-
- for (i = 0; i < 64; i++)
- PCIConfigurationSpace[i] = pci_cfgread(config_id, i, /*bytes*/1);
-
- rc = TRlldPCIConfig(&oltrLldDriver, &oltr_config[j], PCIConfigurationSpace);
-
- if ((rc == TRLLD_PCICONFIG_OK) || (rc == TRLLD_PCICONFIG_SET_COMMAND)) {
- if (rc == TRLLD_PCICONFIG_SET_COMMAND) {
- printf("oltr: setting bus-master mode\n");
- command = pci_conf_read(config_id, PCIR_COMMAND);
- pci_conf_write(config_id, PCIR_COMMAND, (command | PCIM_CMD_BUSMASTEREN));
- }
- pci_cards++;
- return (AdapterName[oltr_config[j].type]);
- } else {
- if (rc == TRLLD_PCICONFIG_FAIL)
- printf("oltr: TRlldPCIConfig failed!\n");
- if (rc == TRLLD_PCICONFIG_VERSION)
- printf("oltr: wrong LLD version\n");
- }
- }
- return(NULL);
-}
-#endif /* NPCI */
-
-static int
-oltr_attach(is)
- struct isa_device *is;
-{
- struct oltr_softc *sc = &oltr_softc[is->id_unit];
- int rc;
-
- sc->unit = is->id_unit;
-
- if (!oltr_attach_common(sc))
- return(0);
-
- /* If the kernel config does not match the current card configuration then
- * adjust the card settings to match the kernel.
- */
- if ((ffs(is->id_irq) - 1) != sc->config->interruptlevel) {
- rc = TRlldSetInterrupt(sc->TRlldAdapter, is->id_irq);
- if (rc != TRLLD_CONFIG_OK) {
- printf("oltr%d: Unable to change adapter interrupt level (%x)\n", sc->unit, rc);
- return(0);
- }
- }
-
- /* Set dma level, fall back to pio if possible. (following SCO driver example) */
- if (is->id_drq != sc->config->dmalevel) {
- rc = TRlldSetDMA(sc->TRlldAdapter, is->id_drq, &sc->config->mode);
- if (rc != TRLLD_CONFIG_OK) {
- if ((sc->config->dmalevel != TRLLD_DMA_PIO) &&
- (TRlldSetDMA(sc->TRlldAdapter, TRLLD_DMA_PIO, &sc->config->mode) != TRLLD_CONFIG_OK)) {
- printf("oltr%d: unable to change dma level from %d to %d (%x)\n", sc->unit,
- sc->config->dmalevel, is->id_drq, rc);
- }
- printf("oltr%d: Unable to change adapter dma level, using PIO mode (%x)\n", sc->unit, rc);
- sc->config->dmalevel = TRLLD_DMA_PIO;
- rc = TRlldSetDMA(sc->TRlldAdapter, is->id_drq, &sc->config->mode);
- }
- is->id_irq = sc->config->dmalevel;
- }
- return(1);
-}
-
-#if NPCI > 0
-static void
-oltr_pci_attach(config_id, unit)
- pcici_t config_id;
- int unit;
-{
- struct oltr_softc *sc = &oltr_softc[unit];
-
- sc->unit = unit;
- sc->config = &oltr_config[unit];
- sc->hw_state = HW_FOUND;
-
- printf("oltr%d: mac address [%6D]\n", sc->unit, sc->config->macaddress, ":");
-
- if (!oltr_attach_common(sc))
- return;
-
- /* Map our interrupt */
- if (!pci_map_int(config_id, oltr_pci_intr, sc, &net_imask)) {
- printf("oltr%d: couldn't map interrupt\n", unit);
- return;
- }
-}
-#endif /* NPCI */
-
-static int
-oltr_attach_common(sc)
- struct oltr_softc *sc;
-{
- struct ifnet *ifp = &sc->arpcom.ac_if;
- u_int bufsize;
- int rc, i, j;
-
- /*printf("oltr%d: attach_common called\n", sc->unit);*/
-
- /* Allocate adapter memory buffer */
- bufsize = TRlldAdapterSize();
- sc->TRlldAdapter = (TRlldAdapter_t *)oltr_malloc(bufsize, sc->config);
- if (sc->TRlldAdapter == NULL) {
- printf("oltr%d: Unable to allocate adapter memory block (%d bytes)\n", sc->unit, bufsize);
- }
- /*printf("oltr%d: Adapter memory block (%p %d bytes)\n", sc->unit, sc->TRlldAdapter, bufsize);*/
-
- /* Setup transmit pool */
- for (i = 0; i < TX_LIST_SIZE; i++) {
- sc->tx_buffer[i].index = i;
- sc->tx_buffer[i].buf = (char *)oltr_malloc(TX_BUFFER_LEN, sc->config);
- /* If we have a failure then free everything and get out */
- if (!sc->tx_buffer[i].buf) {
- printf("oltr%d: Unable to allocate transmit buffers.\n", sc->unit);
- for (j = 0; j < i; j++)
- free(sc->tx_buffer[j].buf, M_DEVBUF);
- return(0);
- }
- }
- sc->tx_next = 0;
- sc->tx_avail = TX_LIST_SIZE;
- sc->tx_frame.FragmentCount = 0;
-
- /* Setup receive pool */
- for (i = 0; i < RX_LIST_SIZE; i++) {
- sc->rx_buffer[i].index = i;
- sc->rx_buffer[i].buf = (char *)oltr_malloc(RX_BUFFER_LEN, sc->config);
- /* If we have a failure then free everything and get out */
- if (!sc->rx_buffer[i].buf) {
- printf("oltr%d: Unable to allocate receive buffers.\n", sc->unit);
- for (j = 0; j < i; j++)
- free(sc->rx_buffer[j].buf, M_DEVBUF);
- return(0);
- }
- }
- sc->rx_next = 0;
- sc->rx_avail = RX_LIST_SIZE;
- /*printf("oltr%d: Allocated receive buffers\n", sc->unit); */
-
- /* Set up adapter polling mechanism */
- sc->poll_adapter = 1;
- callout_handle_init(&sc->poll_ch);
- sc->poll_ch = timeout(adapter_poll, (void *)sc->unit, (1*hz)/1000);
- callout_handle_init(&sc->oltr_ch);
-
- /* Initialize adapter */
- rc = TRlldAdapterInit(&oltrLldDriver, sc->TRlldAdapter, kvtop(sc->TRlldAdapter),
- (void *)sc->unit, sc->config);
- if (rc != TRLLD_INIT_OK) {
- switch (rc) {
- case TRLLD_INIT_NOT_FOUND:
- printf("oltr%d: Adapter not found or malfunctioning.\n", sc->unit);
- sc->hw_state = HW_BAD;
- return(0);
- case TRLLD_INIT_UNSUPPORTED:
- printf("oltr%d: Adapter not supported by low level driver.\n", sc->unit);
- sc->hw_state = HW_UNKNOWN;
- return(0);
- case TRLLD_INIT_PHYS16:
- printf("oltr%d: Adapter memory block above 16M, must be below 16M.\n", sc->unit);
- return(0);
- case TRLLD_INIT_VERSION:
- printf("oltr%d: Low level driver version mismatch.\n", sc->unit);
- return(0);
- default:
- printf("oltr%d: Unknown initilization error occoured (%x).\n", sc->unit, rc);
- return(0);
- }
- }
-
- /* Download Adapter Microcode */
- /*printf("oltr%d: Downloading adapter microcode...", sc->unit);*/
- sc->hw_state = HW_LOADING;
- switch(sc->config->mactype) {
- case TRLLD_MAC_TMS: /* TMS microcode */
- rc = TRlldDownload(sc->TRlldAdapter, TRlldMacCode);
- break;
- case TRLLD_MAC_HAWKEYE: /* Hawkeye microcode */
- rc = TRlldDownload(sc->TRlldAdapter, TRlldHawkeyeMac);
- break;
- case TRLLD_MAC_BULLSEYE: /* Bullseye microcode */
- rc = TRlldDownload(sc->TRlldAdapter, TRlldBullseyeMac);
- break;
- default:
- printf("oltr%d: unknown mactype %d\n", sc->unit, sc->config->mactype);
- return(0);
- }
- /*if (rc == TRLLD_DOWNLOAD_OK)
- printf("done\n");*/
- if ((rc == TRLLD_DOWNLOAD_ERROR) || (rc == TRLLD_STATE)) {
- printf("oltr%d: Adapter microcode download failed! (rc = %x)\n", sc->unit, rc);
- sc->hw_state = HW_BAD;
- return(0);
- }
-
- TRlldSetSpeed(sc->TRlldAdapter, TRLLD_SPEED_AUTO);
-
- sc->PromiscMode = 0;
- sc->AdapterMode = 0;
-
- /* Do the ifnet initialization */
- ifp->if_softc = sc;
- ifp->if_unit = sc->unit;
- ifp->if_name = "oltr";
- ifp->if_output = iso88025_output;
- ifp->if_init = (if_init_f_t *)oltr_init;
- ifp->if_start = oltr_start;
- ifp->if_ioctl = oltr_ioctl;
- ifp->if_flags = IFF_BROADCAST | IFF_MULTICAST | IFF_SIMPLEX;
- bcopy(sc->config->macaddress, sc->arpcom.ac_enaddr, sizeof(sc->config->macaddress));
-
- /* Set up common ifmedia options */
- ifmedia_init(&sc->ifmedia, 0, oltr_ifmedia_upd, oltr_ifmedia_sts);
-
- ifmedia_add(&sc->ifmedia, IFM_TOKEN | IFM_AUTO, 0 , NULL);
- ifmedia_add(&sc->ifmedia, IFM_TOKEN | IFM_TOK_UTP4, 0 , NULL);
- ifmedia_add(&sc->ifmedia, IFM_TOKEN | IFM_TOK_UTP16, 0 , NULL);
-
- ifmedia_set(&sc->ifmedia, IFM_TOKEN | IFM_AUTO);
-
- if_attach(ifp);
- iso88025_ifattach(ifp);
-
-#if NBPFILTER > 0
- bpfattach(ifp, DLT_IEEE802, sizeof(struct iso88025_header));
-#endif
-
- printf("oltr%d: Adapter modes - ", sc->unit);
- if (sc->config->mode & TRLLD_MODE_16M) printf("TRLLD_MODE_16M ");
- if (sc->config->mode & TRLLD_MODE_PHYSICAL) printf("TRLLD_MODE_PHYSICAL ");
- if (sc->config->mode & TRLLD_MODE_FIXED_CFG) printf("TRLLD_MODE_FIXED_CFG ");
- if (sc->config->mode & TRLLD_MODE_SHORT_SLOT) printf("TRLLD_MODE_SHORT_SLOT ");
- if (sc->config->mode & TRLLD_MODE_CANNOT_DISABLE) printf("TRLLD_MODE_CANNOT_DISABLE ");
- if (sc->config->mode & TRLLD_MODE_SHARE_INTERRUPT) printf("TRLLD_MODE_SHARE_INTERRUPT ");
- if (sc->config->mode & TRLLD_MODE_MEMORY) printf("TRLLD_MODE_MEMORY ");
- printf("\n");
-
- return(1);
-}
-
-#if NPCI > 0
-static void
-oltr_pci_shutdown(howto, sc)
- int howto;
- void *sc;
-{
- printf("oltr: oltr_pci_shutdown called\n");
-}
-#endif /* NPCI */
-
-static int
-oltr_ifmedia_upd(ifp)
- struct ifnet *ifp;
-{
- struct oltr_softc *sc = ifp->if_softc;
- struct ifmedia *ifm = &sc->ifmedia;
-
- if (IFM_TYPE(ifm->ifm_media) != IFM_TOKEN)
- return(EINVAL);
-
- switch(IFM_SUBTYPE(ifm->ifm_media)) {
- case IFM_AUTO:
- TRlldSetSpeed(sc->TRlldAdapter, TRLLD_SPEED_AUTO);
- break;
- case IFM_TOK_UTP4:
- TRlldSetSpeed(sc->TRlldAdapter, TRLLD_SPEED_4MBPS);
- break;
- case IFM_TOK_UTP16:
- TRlldSetSpeed(sc->TRlldAdapter, TRLLD_SPEED_16MBPS);
- break;
- default:
- return(EINVAL);
- }
-
- if (IFM_TYPE_OPTIONS(ifm->ifm_media) & IFM_TOK_ETR)
- printf("oltr%d: ETR not implemented\n", sc->unit);
- if (IFM_TYPE_OPTIONS(ifm->ifm_media) & IFM_TOK_SRCRT)
- printf("oltr%d: source-routing not implemented\n", sc->unit);
- if (IFM_TYPE_OPTIONS(ifm->ifm_media) & IFM_TOK_ALLR)
- printf("oltr%d: all source routes not implemented\n", sc->unit);
- if (IFM_TYPE_OPTIONS(ifm->ifm_media) & IFM_TOK_DTR) {
- sc->AdapterMode |= TRLLD_MODE_FORCE_TXI;
- sc->AdapterMode &= ~TRLLD_MODE_FORCE_TKP;
- }
- if (IFM_TYPE_OPTIONS(ifm->ifm_media) & IFM_TOK_CLASSIC) {
- sc->AdapterMode |= TRLLD_MODE_FORCE_TKP;
- sc->AdapterMode &= ~TRLLD_MODE_FORCE_TXI;
- }
- if (IFM_TYPE_OPTIONS(ifm->ifm_media) & IFM_TOK_AUTO)
- sc->AdapterMode &= ~(TRLLD_MODE_FORCE_TXI | TRLLD_MODE_FORCE_TKP);
-
- if (IFM_TYPE_OPTIONS(ifm->ifm_media) & ~ALL_OPTIONS)
- return(EINVAL);
-
- return(0);
-}
-
-static void
-oltr_ifmedia_sts(ifp, ifmr)
- struct ifnet *ifp;
- struct ifmediareq *ifmr;
-{
- struct oltr_softc *sc = ifp->if_softc;
- struct ifmedia *ifm = &sc->ifmedia;
-
- ifmr->ifm_active = IFM_TYPE(ifm->ifm_media)|IFM_SUBTYPE(ifm->ifm_media)|IFM_TYPE_OPTIONS(ifm->ifm_media);
-
- return;
-}
-
-void
-oltr_timeout(token)
- void *token;
-{
- struct oltr_softc *sc = &oltr_softc[(int)token];
- int unit = (int)token, s;
-
- s = splimp();
-
- printf("oltr%d: adapter timed out (%x)\n", unit, sc->hw_state);
-
- splx(s);
-}
-
-
-void
-adapter_poll(token)
- void *token;
-{
- int unit = (int)token, poll_timeout = 0, s;
- struct oltr_softc *sc = &oltr_softc[unit];
-#if 0
- static int rx_buffers = 0, tx_buffers = 0, rc;
-#endif
-
- s = splimp();
-
- /* Check to make sure we are not polling a dead card */
- if ((sc->hw_state == HW_BAD) || (sc->hw_state == HW_UNKNOWN)) {
- sc->poll_adapter = -1;
- splx(s);
- return;
- }
-
- /*printf("oltr%d: adapter poll.\n", unit);*/
-
- /* If the adapter is to be polled again, then set up
- * next timeout poll
- */
- if (sc->poll_adapter) {
- poll_timeout = TRlldPoll(sc->TRlldAdapter);
- sc->poll_ch = timeout(adapter_poll, (void *)unit, (poll_timeout * hz)/1000);
- }
-#if 0
- rc = TRlldReceiveFree(sc->TRlldAdapter);
- if (rx_buffers != rc) {
- printf("oltr%d: %d receive buffers available\n", sc->unit, rc);
- rx_buffers = rc;
- }
- rc = TRlldTransmitFree(sc->TRlldAdapter);
- if (tx_buffers != rc) {
- printf("oltr%d: %d transmit buffers available\n", sc->unit, rc);
- tx_buffers = rc;
- }
-#endif
-
- splx(s);
-}
-
-static void
-oltr_init(sc)
- struct oltr_softc *sc;
-{
- struct ifnet *ifp = &sc->arpcom.ac_if;
- int i, rc;
-
- /*printf("oltr%d: oltr_init\n", sc->unit);*/
-
- /*
- * Adapter should be freshly downloaded or previously closed before
- * bringing it back on line.
- */
- if ((sc->hw_state != HW_CLOSED) && (sc->hw_state != HW_LOADING) && (sc->hw_state != HW_CLOSING2)) {
- printf("oltr%d: adapter not ready to be opened (%d).\n", sc->unit, sc->hw_state);
- return;
- }
-
- /* Allocate and set up the DMA channel */
- if (sc->config->dmalevel != TRLLD_DMA_PIO) {
- rc = isa_dma_acquire(sc->config->dmalevel);
- isa_dmacascade(sc->config->dmalevel);
- }
-
- /* Open the adapter */
- sc->hw_state = HW_OPENING;
- rc = TRlldOpen(sc->TRlldAdapter, sc->arpcom.ac_enaddr, sc->GroupAddress,
- sc->FunctionalAddress, ifp->if_mtu + 52, sc->AdapterMode);
- if (rc != TRLLD_OPEN_OK) {
- printf("oltr%d: Adapter failed to open (rc = %x)\n", sc->unit, rc);
- sc->hw_state = HW_FAILED;
- } else {
- /*printf("oltr%d: adapter opening...\n", sc->unit);*/
- /*ifp->if_flags |= (IFF_UP | IFF_RUNNING);*/
- ifp->if_flags &= ~IFF_OACTIVE;
- }
- sc->oltr_ch = timeout(oltr_timeout, (void *)sc->unit, 30*hz);
- tsleep((void *)sc->unit, 1, "oltrop", 30*hz);
-
- /* Give the receive buffers to the adapter */
- for (i = 0; i < RX_LIST_SIZE; i++) {
- rc = TRlldReceiveFragment(sc->TRlldAdapter,
- (void *)sc->rx_buffer[sc->rx_next & RX_LIST_MASK].buf,
- kvtop(sc->rx_buffer[sc->rx_next & RX_LIST_MASK].buf),
- RX_BUFFER_LEN,
- (void *)sc->rx_buffer[sc->rx_next & RX_LIST_MASK].index);
- if (rc != TRLLD_RECEIVE_OK) {
- printf("oltr%d: Adapter refused fragment %d (rc = %d).\n", sc->unit, i, rc);
- break;
- } else {
- sc->rx_avail--;
- }
- sc->rx_next++;
- }
- sc->tx_frame.FragmentCount = 0;
-
- return;
-}
-
-static void
-oltr_intr(unit)
- int unit;
-{
- struct oltr_softc *sc = &oltr_softc[unit];
- int rc;
-
- /*printf("oltr%d: oltr_intr\n", unit);*/ /* Too noisy */
- rc= TRlldInterruptService(sc->TRlldAdapter);
- if (rc == TRLLD_NO_INTERRUPT)
- printf("oltr%d: interrupt not serviced.\n", unit);
-}
-
-#if NPCI > 0
-static void
-oltr_pci_intr(psc)
- void *psc;
-{
- struct oltr_softc *sc = (struct oltr_softc *)psc;
- int rc = 0;
-
- /*printf("oltr%d: oltr_pci_intr\n", sc->unit);*/ /* Too noisy */
- rc = TRlldInterruptService(sc->TRlldAdapter);
- if (rc == TRLLD_NO_INTERRUPT)
- printf("oltr%d: pci interrupt not serviced.\n", sc->unit);
-}
-#endif /* NPCI */
-
-static void
-oltr_start(ifp)
- struct ifnet *ifp;
-{
- struct oltr_softc *sc = &oltr_softc[ifp->if_unit];
- struct mbuf *m0, *m;
- int len, i, k, rc;
-
- /*printf("oltr%d: oltr_start\n", sc->unit);*/
-
-outloop:
-
- i = (sc->tx_next & TX_LIST_MASK); /* Just to shorten thing up */
-
- /* Check to see if we have enough room to transmit */
- if (sc->tx_avail <= 0) {
- /* No free buffers, hold off the upper layers */
- /*printf("oltr%d: transmit queue full.\n", sc->unit);*/
- ifp->if_flags |= IFF_OACTIVE;
- return;
- }
-
- if (sc->tx_frame.FragmentCount > 0) {
- if (!(sc->config->mode & TRLLD_MODE_16M)) {
- sc->tx_next++;
- m0 = sc->tx_buffer[i].m;
- goto restart;
- }
- }
-
- IF_DEQUEUE(&ifp->if_snd, m);
- if (m == 0) {
- /*printf("oltr%d: oltr_start NULL packet dequeued.\n", sc->unit);*/
- ifp->if_flags &= ~IFF_OACTIVE;
- return;
- }
-
- /* Keep a pointer to the head of the packet */
- m0 = m;
-
- if (sc->config->mode & TRLLD_MODE_16M) { /* ISA Adapters - bounce buffers */
-
- for (len = 0; m != 0; m = m->m_next) {
- sc->tx_frame.TransmitFragment[0].VirtualAddress = sc->tx_buffer[i].buf;
- sc->tx_frame.TransmitFragment[0].PhysicalAddress = kvtop(sc->tx_buffer[i].buf);
- bcopy(mtod(m, caddr_t), sc->tx_buffer[i].buf + len, m->m_len);
- len += m->m_len;
- }
- sc->tx_frame.FragmentCount = 1;
- sc->tx_frame.TransmitFragment[0].count = len;
-
- sc->tx_next++;
- sc->tx_avail--;
-
- } else { /* PCI Adapters w/DMA */
-
- for (k = 0; m!= 0; m = m->m_next) {
- sc->tx_frame.TransmitFragment[k].VirtualAddress = mtod(m, caddr_t);
- sc->tx_frame.TransmitFragment[k].PhysicalAddress = kvtop(mtod(m, caddr_t));
- sc->tx_frame.TransmitFragment[k].count = m->m_len;
- k++;
- sc->tx_avail--;
- }
- sc->tx_frame.FragmentCount = k;
- sc->tx_buffer[i].count = k;
- sc->tx_buffer[i].m = m0;
-
- if (sc->tx_avail < 0) {
- /*printf("oltr%d: transmit buffers exhausted.\n", sc->unit);*/
- goto nobuffers;
- }
- sc->tx_next++;
- }
-
-restart:
- rc = TRlldTransmitFrame(sc->TRlldAdapter, &sc->tx_frame, (void *)sc->tx_buffer[i].index);
- sc->tx_frame.FragmentCount = 0;
-
- if (rc != TRLLD_TRANSMIT_OK) {
- printf("oltr%d: TRlldTransmitFrame returned (%x)\n", sc->unit, rc);
- ifp->if_oerrors++;
- goto bad;
- }
-
-#if NBPFILTER > 0
- if (ifp->if_bpf)
- bpf_mtap(ifp, m0);
-#endif
-
-bad:
-
- if (sc->config->mode & TRLLD_MODE_16M) {
- m_freem(m0);
- }
-
- goto outloop;
-
-nobuffers:
-
- ifp->if_flags |= IFF_OACTIVE;
-
- return;
-}
-
-static void
-oltr_stop(sc)
- struct oltr_softc *sc;
-{
- struct ifnet *ifp = &sc->arpcom.ac_if;
- printf("oltr%d: otlr_stop\n", sc->unit);
- ifp->if_flags &= ~(IFF_UP | IFF_RUNNING | IFF_OACTIVE);
- sc->hw_state = HW_CLOSING;
- TRlldClose(sc->TRlldAdapter, 0);
- sc->oltr_ch = timeout(oltr_timeout, (void *)sc->unit, 30*hz);
- tsleep((void *)sc->unit, 1, "oltrcl", 30*hz);
-}
-
-static int
-oltr_ioctl(ifp, cmd, data)
- struct ifnet *ifp;
- u_long cmd;
- caddr_t data;
-{
- struct oltr_softc *sc = &oltr_softc[ifp->if_unit];
- struct ifreq *ifr = (struct ifreq *)data;
- int error = 0, s;
-
- /*printf("oltr%d: oltr_ioctl\n", ifp->if_unit);*/
-
- s = splimp();
-
- switch (cmd) {
-
- case SIOCSIFADDR:
- case SIOCGIFADDR:
- case SIOCSIFMTU:
- error = iso88025_ioctl(ifp, cmd, data);
- break;
-
- case SIOCSIFFLAGS:
- /*
- * If the interface is marked up and stopped, then start it.
- * If it is marked down and running, then stop it.
- */
- if (ifp->if_flags & IFF_UP) {
- if ((ifp->if_flags & IFF_RUNNING) == 0)
- oltr_init(sc);
- } else {
- if (ifp->if_flags & IFF_RUNNING) {
- oltr_stop(sc);
- ifp->if_flags &= ~IFF_RUNNING;
- }
- }
-
- if ((ifp->if_flags & IFF_PROMISC) != sc->PromiscMode) {
- if (ifp->if_flags & IFF_PROMISC)
- TRlldSetPromiscuousMode(sc->TRlldAdapter, OLTR_PROMISC_MODE);
- else
- TRlldSetPromiscuousMode(sc->TRlldAdapter, 0);
- sc->PromiscMode = (ifp->if_flags & IFF_PROMISC);
- }
-
- break;
- case SIOCGIFMEDIA:
- case SIOCSIFMEDIA:
- error = ifmedia_ioctl(ifp, ifr, &sc->ifmedia, cmd);
- break;
- default:
- error = EINVAL;
- }
- splx(s);
- return(error);
-}
-
-/*
- * PMW Callback functions ----------------------------------------------------
- */
-
-static void
-DriverSuspend(MicroSeconds)
- unsigned short MicroSeconds;
-{
- DELAY(MicroSeconds);
-}
-
-
-static void
-DriverStatus(DriverHandle, Status)
- void *DriverHandle;
- TRlldStatus_t *Status;
-{
- struct oltr_softc *sc = &oltr_softc[(int)DriverHandle];
- struct ifnet *ifp = &sc->arpcom.ac_if;
-
- switch (Status->Type) {
- case TRLLD_STS_ON_WIRE:
- if (sc->hw_state == HW_OPENING) {
- sc->hw_state = HW_OPEN;
- ifp->if_flags |= (IFF_UP | IFF_RUNNING);
- /*printf("oltr%d: Adapter inserted.\n", sc->unit);*/
- untimeout(oltr_timeout, (void *)sc->unit, sc->oltr_ch);
- wakeup_one((void *)sc->unit);
- }
- break;
- case TRLLD_STS_SELFTEST_STATUS:
- if (Status->Specification.SelftestStatus == TRLLD_ST_OK) {
- printf("oltr%d: adapter status good. (close completed/self-test)\n", sc->unit);
- if ((sc->hw_state == HW_LOADING) || (sc->hw_state == HW_CLOSING) || (sc->hw_state == HW_CLOSING2)) {
- sc->hw_state = HW_CLOSED;
- break;
- }
- } else {
- printf("oltr%d: Self test failed: ", sc->unit);
- switch (Status->Specification.SelftestStatus) {
- case TRLLD_ST_ERROR + 0: printf("Initial Test Error\n"); break;
- case TRLLD_ST_ERROR + 1: printf("Adapter Software Checksum Error\n"); break;
- case TRLLD_ST_ERROR + 2: printf("Adapter RAM Error\n"); break;
- case TRLLD_ST_ERROR + 4: printf("Instruction Test Error\n"); break;
- case TRLLD_ST_ERROR + 5: printf("Protocol Handler/RI Hw Error\n"); break;
- case TRLLD_ST_ERROR + 6: printf("System Interface Register Error\n"); break;
- case TRLLD_ST_TIMEOUT: printf("Selftest did not complete\n"); break;
- default: printf("Unknown error (%x)\n", Status->Specification.SelftestStatus);
- }
- }
- break;
- case TRLLD_STS_INIT_STATUS:
- printf("oltr%d: Adapter initialization failed: ", sc->unit);
- switch(Status->Specification.InitStatus) {
- case TRLLD_INIT_ERROR + 0x01: printf("Invalid init block (LLD error)\n"); break;
- case TRLLD_INIT_ERROR + 0x02: printf("Invalid options (LLD error)\n"); break;
- case TRLLD_INIT_ERROR + 0x03: printf("Invalid rcv burst (LLD error)\n"); break;
- case TRLLD_INIT_ERROR + 0x04: printf("Invalid xmt burst (LLD error)\n"); break;
- case TRLLD_INIT_ERROR + 0x05: printf("Invalid DMA threshold (LLD error)\n"); break;
- case TRLLD_INIT_ERROR + 0x06: printf("Invalid scb addr\n"); break;
- case TRLLD_INIT_ERROR + 0x07: printf("Invalid ssb addr\n"); break;
- case TRLLD_INIT_ERROR + 0x08: printf("DIO parity error (HW error)\n"); break;
- case TRLLD_INIT_ERROR + 0x09: printf("DMA timeout (May be interrupt failing if PIO mode or PCI2)\n"); break;
- case TRLLD_INIT_ERROR + 0x0A: printf("DMA parity error (HW error)\n"); break;
- case TRLLD_INIT_ERROR + 0x0B: printf("DMA bus error (HW error)\n"); break;
- case TRLLD_INIT_ERROR + 0x0C: printf("DMA data error\n"); break;
- case TRLLD_INIT_ERROR + 0x0D: printf("Adapter Check\n"); break;
- case TRLLD_INIT_TIMEOUT: printf("Adapter initialization did not complete\n"); break;
- case TRLLD_INIT_DMA_ERROR: printf("Adapter cannot access system memory\n"); break;
- case TRLLD_INIT_INTR_ERROR: printf("Adapter cannot interrupt\n"); break;
- case TRLLD_OPEN_TIMEOUT: printf("Adapter did not complete open within 30 seconds\n"); break;
- case TRLLD_OPEN_ERROR + 0x01: printf("Invalid open options (LLD error)\n"); break;
- case TRLLD_OPEN_ERROR + 0x04: printf("TxBuffer count error (LLD error)\n"); break;
- case TRLLD_OPEN_ERROR + 0x10: printf("Buffer size error (LLD error)\n"); break;
- case TRLLD_OPEN_ERROR + 0x20: printf("List size error (LLD error)\n"); break;
- default:
- if (Status->Specification.InitStatus & 0x700) {
- switch (Status->Specification.InitStatus & 0x70F) {
- case TRLLD_OPEN_REPEAT + 0x01: printf("Lobe media test - "); break;
- case TRLLD_OPEN_REPEAT + 0x02: printf("Physical insertion - "); break;
- case TRLLD_OPEN_REPEAT + 0x03: printf("Address verification - "); break;
- case TRLLD_OPEN_REPEAT + 0x04: printf("Participation in ring poll - "); break;
- case TRLLD_OPEN_REPEAT + 0x05: printf("Request initialization - "); break;
- case TRLLD_OPEN_REPEAT + 0x09: printf("Request registration (TXI) - "); break;
- case TRLLD_OPEN_REPEAT + 0x0A: printf("Lobe media test (TXI) - "); break;
- default: printf("Unknown phase (%x) - ", Status->Specification.InitStatus & 0x00F);
- }
- switch (Status->Specification.InitStatus & 0x7F0) {
- case TRLLD_OPEN_REPEAT + 0x10: printf("Function failure (No cable?)\n"); break;
- case TRLLD_OPEN_REPEAT + 0x20: printf("Signal loss\n"); break;
- case TRLLD_OPEN_REPEAT + 0x50: printf("Timeout\n"); break;
- case TRLLD_OPEN_REPEAT + 0x60: printf("Ring failure (TKP) / Protocol error (TXI)\n"); break;
- case TRLLD_OPEN_REPEAT + 0x70: printf("Ring beaconing\n"); break;
- case TRLLD_OPEN_REPEAT + 0x80: printf("Duplicate node address (TKP) / Insert denied (TXI)\n"); break;
- case TRLLD_OPEN_REPEAT + 0x90: printf("Request initialization (TKP)\n"); break;
- case TRLLD_OPEN_REPEAT + 0xa0: printf("Remove received\n"); break;
- case TRLLD_OPEN_REPEAT + 0xb0: printf("C-port address changed (TXI)\n"); break;
- default: printf("Unknown type (%x)\n", Status->Specification.InitStatus & 0x0F0);
- }
- } else {
- printf("Unknown error (%x)\n", Status->Specification.InitStatus);
- }
- }
- break;
- case TRLLD_STS_RING_STATUS:
- if (Status->Specification.RingStatus != 0) {
- printf("oltr%d: Ring status change: ", sc->unit);
- if (Status->Specification.RingStatus & TRLLD_RS_HARD_ERROR) printf("[Hard error] ");
- if (Status->Specification.RingStatus & TRLLD_RS_SOFT_ERROR) printf("[Soft error] ");
- if (Status->Specification.RingStatus & TRLLD_RS_TRANSMIT_BEACON) printf("[Transmit beacon] ");
- if (Status->Specification.RingStatus & TRLLD_RS_LOBE_WIRE_FAULT) printf("[Wire fault] ");
- if (Status->Specification.RingStatus & TRLLD_RS_AUTO_REMOVAL_ERROR) printf("[Auto removal] ");
- if (Status->Specification.RingStatus & TRLLD_RS_REMOVE_RECEIVED) printf("[Remove received] ");
- if (Status->Specification.RingStatus & TRLLD_RS_COUNTER_OVERFLOW) printf("[Counter overflow] ");
- if (Status->Specification.RingStatus & TRLLD_RS_SINGLE_STATION) printf("[Single station] ");
- if (Status->Specification.RingStatus & TRLLD_RS_RING_RECOVERY) printf("[Ring recovery] ");
- printf("\n");
- }
- break;
- case TRLLD_STS_ADAPTER_CHECK:
- printf("oltr%d: Adapter check (%x %x %x %x)\n", sc->unit, Status->Specification.AdapterCheck[0],
- Status->Specification.AdapterCheck[1], Status->Specification.AdapterCheck[2],
- Status->Specification.AdapterCheck[3]);
- break;
- case TRLLD_STS_PROMISCUOUS_STOPPED:
- printf("oltr%d: Promiscuous mode stopped: ", sc->unit);
- switch(Status->Specification.PromRemovedCause) {
- case TRLLD_PROM_REMOVE_RECEIVED: printf("Remove received\n"); break;
- case TRLLD_PROM_POLL_FAILURE: printf("Poll failure\n"); break;
- default: printf("Unknown (%x)\n", Status->Specification.PromRemovedCause);
- }
- break;
- case TRLLD_STS_LLD_ERROR:
- printf("oltr%d: LLD error (%x %x %x %x) ", sc->unit, Status->Specification.InternalError[0],
- Status->Specification.InternalError[1], Status->Specification.InternalError[2],
- Status->Specification.InternalError[3]);
- break;
- case TRLLD_STS_ADAPTER_TIMEOUT:
- printf("oltr%d: Adapter operation timed out: ", sc->unit);
- switch(Status->Specification.AdapterTimeout) {
- case TRLLD_COMMAND_TIMEOUT: printf("Command\n");
- case TRLLD_TRANSMIT_TIMEOUT: printf("Transmit\n");
- case TRLLD_INTERRUPT_TIMEOUT: printf("Interrupt\n");
- default: printf("Unknown (%x)\n", Status->Specification.AdapterTimeout);
- }
- break;
- default:
- printf("oltr%d: Unknown status type (%x)\n", sc->unit, Status->Type);
-
- }
- if (Status->Closed) {
- if (sc->hw_state > HW_BAD) {
- sc->hw_state = HW_FAILED;
- printf("oltr%d: closing adapter due to failure.\n", sc->unit);
- oltr_stop(sc);
- }
- }
-}
-
-static void
-DriverCloseCompleted(DriverHandle)
- void *DriverHandle;
-{
- struct oltr_softc *sc = &oltr_softc[(int)DriverHandle];
-
- printf("oltr%d: DriverCloseCompleted\n", sc->unit);
-
- untimeout(oltr_timeout, (void *)sc->unit, sc->oltr_ch);
- wakeup_one((void *)sc->unit);
-
- if ((sc->hw_state != HW_CLOSING) && (sc->hw_state != HW_CLOSING2) && (sc->hw_state != HW_CLOSED)) {
- printf("oltr%d: adapter close complete called in wrong state (%d)\n", sc->unit, sc->hw_state);
- return;
- }
- sc->hw_state = HW_CLOSING2;
- if (sc->config->dmalevel != TRLLD_DMA_PIO)
- isa_dma_release(sc->config->dmalevel);
-
-}
-
-static void
-DriverStatistics(DriverHandle, Statistics)
- void *DriverHandle;
- TRlldStatistics_t *Statistics;
-{
- printf("oltr: DriverStatistics\n");
-}
-
-static void
-DriverTransmitFrameCompleted(DriverHandle, FrameHandle, TransmitStatus)
- void *DriverHandle;
- void *FrameHandle;
- int TransmitStatus;
-{
- int frame = (int)FrameHandle;
- struct oltr_softc *sc = &oltr_softc[(int)DriverHandle];
- struct ifnet *ifp = &sc->arpcom.ac_if;
-
- /*printf("oltr%d: transmit complete frame %d\n", sc->unit, frame);*/
- if (TransmitStatus == TRLLD_TRANSMIT_OK) {
- ifp->if_opackets++;
- } else {
- printf("oltr%d: DriverTransmitFrameCompleted (frame %d status %x)\n", sc->unit, frame, TransmitStatus);
- ifp->if_oerrors++;
- }
-
- if ((frame < 0) || (frame > TX_LIST_SIZE)) {
- printf("oltr%d: bogus transmit frame. (%d)\n", sc->unit, frame);
- return;
- }
-
- if (sc->config->mode & TRLLD_MODE_16M) {
- sc->tx_avail++;
- } else {
- m_freem(sc->tx_buffer[frame].m);
- sc->tx_avail += sc->tx_buffer[frame].count;
- }
-
- if ((ifp->if_flags & IFF_OACTIVE) && (sc->tx_avail > 0)) {
- ifp->if_flags &= ~(IFF_OACTIVE);
- oltr_start(ifp);
- }
-
-}
-
-static void
-DriverReceiveFrameCompleted(DriverHandle, ByteCount, FragmentCount, FragmentHandle, ReceiveStatus)
- void *DriverHandle;
- int ByteCount;
- int FragmentCount;
- void *FragmentHandle;
- int ReceiveStatus;
-{
- struct oltr_softc *sc = &oltr_softc[(int)DriverHandle];
- struct ifnet *ifp = &sc->arpcom.ac_if;
- struct iso88025_header *th;
- struct mbuf *m0, *m1, *m;
- int j = (int)FragmentHandle, rc, frame_len = ByteCount, mac_hdr_len;
- int mbuf_offset, mbuf_size, frag_offset, length;
- char *frag = sc->rx_buffer[j].buf;
-
- /*printf("oltr%d: ReceiveFrameCompleted (Size %d Count %d Start %d)\n", sc->unit, ByteCount, FragmentCount, j);*/
-
- if (sc->hw_state >= HW_OPEN) { /* Hardware operating normally */
- if (frag != sc->rx_buffer[sc->rx_next & RX_LIST_MASK].buf) {
- printf("oltr%d: ring buffer pointer blown\n", sc->unit);
- oltr_stop(sc);
- return;
- }
- if (ReceiveStatus == TRLLD_RCV_OK) { /* Receive good frame */
- MGETHDR(m0, M_DONTWAIT, MT_DATA);
- mbuf_size = MHLEN;
- if (m0 == NULL) {
- ifp->if_ierrors++;
- goto out;
- }
- if (ByteCount + 2 > MHLEN) {
- MCLGET(m0, M_DONTWAIT);
- mbuf_size = MCLBYTES;
- if ((m0->m_flags & M_EXT) == 0) {
- m_freem(m0);
- ifp->if_ierrors++;
- goto out;
- }
- }
-
- m0->m_pkthdr.rcvif = &sc->arpcom.ac_if;
- m0->m_pkthdr.len = ByteCount;
- m0->m_len = 0;
- m0->m_data += 2;
- mbuf_size -=2;
- th = mtod(m0, struct iso88025_header *);
- m0->m_pkthdr.header = (void *)th;
-
- m = m0; mbuf_offset = 0; frag_offset = 0;
- while (frame_len > 0) {
- length = MIN3(frame_len, (RX_BUFFER_LEN - frag_offset), (mbuf_size - mbuf_offset));
- bcopy(frag + frag_offset, mtod(m, char *) + mbuf_offset, length);
- m->m_len += length;
- mbuf_offset += length;
- frag_offset += length;
- frame_len -= length;
- if (frag_offset == RX_BUFFER_LEN) {
- frag = sc->rx_buffer[++j].buf;
- frag_offset = 0;
- }
- if ((mbuf_offset == mbuf_size) && (frame_len > 0)) {
- MGET(m1, M_DONTWAIT, MT_DATA);
- mbuf_size = MHLEN;
- if (m1 == NULL) {
- ifp->if_ierrors++;
- m_freem(m0);
- goto out;
- }
- if (frame_len > MHLEN) {
- MCLGET(m1, M_DONTWAIT);
- mbuf_size = MCLBYTES;
- if ((m1->m_flags & M_EXT) == 0) {
- m_freem(m0);
- m_freem(m1);
- ifp->if_ierrors++;
- goto out;
- }
- }
- m->m_next = m1;
- m = m1;
- mbuf_offset = 0;
- m->m_len = 0;
- }
- }
- ifp->if_ipackets++;
-
-#if NBPFILTER > 0
- if (ifp->if_bpf)
- bpf_mtap(ifp, m0);
-#endif
-
- if (ifp->if_flags & IFF_PROMISC)
- if (bcmp(th->iso88025_dhost, etherbroadcastaddr, sizeof(th->iso88025_dhost)) != 0) {
- if (((th->iso88025_dhost[0] & 0x7f) != sc->arpcom.ac_enaddr[0]) ||
- (bcmp(th->iso88025_dhost + 1, sc->arpcom.ac_enaddr + 1, ISO88025_ADDR_LEN - 1))) {
- m_freem(m0);
- goto out;
- }
- }
-
- mac_hdr_len = ISO88025_HDR_LEN;
- if (th->iso88025_shost[0] & 0x80) /* Check for source routing info */
- mac_hdr_len += (ntohs(th->rcf) & 0x1f00) >> 8;
-
- m0->m_pkthdr.len -= mac_hdr_len;
- m0->m_len -= mac_hdr_len;
- m0->m_data += mac_hdr_len;
-
- iso88025_input(&sc->arpcom.ac_if, th, m0);
-
- } else {
- if (ReceiveStatus != TRLLD_RCV_NO_DATA) {
- printf("oltr%d: receive error. (ReceiveStatus=%d)\n", sc->unit, ReceiveStatus);
- ifp->if_ierrors++;
- }
- }
-out:
- while (FragmentCount > 0) {
- rc = TRlldReceiveFragment(sc->TRlldAdapter,
- (void *)sc->rx_buffer[sc->rx_next & RX_LIST_MASK].buf,
- kvtop(sc->rx_buffer[sc->rx_next & RX_LIST_MASK].buf),
- RX_BUFFER_LEN,
- (void *)sc->rx_buffer[sc->rx_next & RX_LIST_MASK].index);
- if (rc == TRLLD_RECEIVE_OK) {
- sc->rx_next++;
- FragmentCount--;
- } else {
- printf("oltr%d: Adapter refused fragment (%d).\n", sc->unit, sc->rx_next - 1);
- sc->rx_avail += FragmentCount;
- break;
- }
- }
- } else { /* Hardware being closed */
- if (frag != sc->rx_buffer[sc->rx_next++ & RX_LIST_MASK].buf) {
- printf("oltr%d: ring buffer pointer blown\n", sc->unit);
- }
- sc->rx_avail += FragmentCount;
- }
-
-}
-
-
-/*
- * ---------------------------- PMW Glue -------------------------------
- */
-
-#ifndef TRlldInlineIO
-
-static void
-DriverOutByte(IOAddress, value)
- unsigned short IOAddress;
- unsigned char value;
-{
- outb(IOAddress, value);
-}
-
-static void
-DriverOutWord(IOAddress, value)
- unsigned short IOAddress;
- unsigned short value;
-{
- outw(IOAddress, value);
-}
-
-static void
-DriverOutDword(IOAddress, value)
- unsigned short IOAddress;
- unsigned long value;
-{
- outl(IOAddress, value);
-}
-
-static void
-DriverRepOutByte(IOAddress, DataPointer, ByteCount)
- unsigned short IOAddress;
- unsigned char *DataPointer;
- int ByteCount;
-{
- outsb(IOAddress, (void *)DataPointer, ByteCount);
-}
-
-static void
-DriverRepOutWord(IOAddress, DataPointer, WordCount)
- unsigned short IOAddress;
- unsigned short *DataPointer;
- int WordCount;
-{
- outsw(IOAddress, (void *)DataPointer, WordCount);
-}
-
-static void
-DriverRepOutDword(IOAddress, DataPointer, DWordCount)
- unsigned short IOAddress;
- unsigned long *DataPointer;
- int DWordCount;
-{
- outsl(IOAddress, (void *)DataPointer, DWordCount);
-}
-
-static unsigned char
-DriverInByte(IOAddress)
- unsigned short IOAddress;
-{
- return(inb(IOAddress));
-}
-
-static unsigned short
-DriverInWord(IOAddress)
- unsigned short IOAddress;
-{
- return(inw(IOAddress));
-}
-
-static unsigned long
-DriverInDword(IOAddress)
- unsigned short IOAddress;
-{
- return(inl(IOAddress));
-}
-
-static void
-DriverRepInByte(IOAddress, DataPointer, ByteCount)
- unsigned short IOAddress;
- unsigned char *DataPointer;
- int ByteCount;
-{
- insb(IOAddress, (void *)DataPointer, ByteCount);
-}
-
-static void
-DriverRepInWord(IOAddress, DataPointer, WordCount)
- unsigned short IOAddress;
- unsigned short *DataPointer;
- int WordCount;
-{
- insw(IOAddress, (void *)DataPointer, WordCount);
-}
-static void
-DriverRepInDword(IOAddress, DataPointer, DWordCount)
- unsigned short IOAddress;
- unsigned long *DataPointer;
- int DWordCount;
-{
- insl(IOAddress, (void *)DataPointer, DWordCount);
-}
-#endif /* TRlldInlineIO */
-
-#endif /* NOLTR */
diff --git a/sys/contrib/dev/oltr/trlld.h b/sys/contrib/dev/oltr/trlld.h
deleted file mode 100644
index d61893e2ab77..000000000000
--- a/sys/contrib/dev/oltr/trlld.h
+++ /dev/null
@@ -1,892 +0,0 @@
-/*
- ****************************** trlld.h ***********************************
- *
- * Copyright (c) 1997
- * OLICOM A/S
- * Denmark
- *
- * All Rights Reserved
- *
- * This source file is subject to the terms and conditions of the
- * OLICOM Software License Agreement which restricts the manner
- * in which it may be used.
- *
- *---------------------------------------------------------------------------
- *
- * Description: PowerMACH Works header file
- *
- *---------------------------------------------------------------------------
- * $Log: O:/USR/PROJECT/trlld/libsrc/include/trlld.h_v $
- *
- * Rev 1.8 10 Dec 1998 12:24:52 JHM
- * version 1.2.0,prominfo structure with shorts.
- *
- * Rev 1.7 25 Nov 1998 16:18:48 JHM
- * Bullseye mac, 100MBPS, mactype in config structure,
- * 3540 adapter, TRlldTransmitFree, TRlldReceiveFree,
- * TRlldAdapterName
- *
- * Rev 1.6 23 Oct 1998 16:00:36 JHM
- * hawkeye adapter types
- *
- * Rev 1.5 11 Aug 1998 12:22:06 JHM
- * split hawkeye types into PCI4,5,6
- *
- * Rev 1.4 10 Jul 1998 14:39:22 JHM
- * OC_3140,OC_3250
- *
- * Rev 1.3 18 Jun 1998 11:32:20 JHM
- * AddMemory,OC_3250
- *
- * Rev 1.2 18 Apr 1998 15:11:20 JHM
- *
- * Rev 1.1 09 Dec 1997 18:17:52 JHM
- * rel111: TRlldDataPtr_t
- *
- * Rev 1.0 24 Nov 1997 11:08:58 JHM
- * Initial revision.
-
- Rev 1.5 18 Jun 1997 11:31:36 JHM
- Checks for version
-
- Rev 1.4 13 Jun 1997 13:47:34 JHM
-
- Rev 1.3 13 Jun 1997 13:27:56 JHM
- DTR support, version change
-
- Rev 1.2 12 Jun 1997 11:43:20 JHM
- TRLLD_INTERRUPT_TIMEOUT defined
-
- Rev 1.1 11 Apr 1997 15:24:18 JHM
- replaced tabs with spaces
-
- Rev 1.0 11 Apr 1997 14:43:04 JHM
- Initial revision.
- *
- ****************************************************************************
-*/
-
-#ifndef TRLLD_H
-#define TRLLD_H
-
-/* Data buffer pointers are always 32 bits.
- For 16:16 it is segment:offset while it for 32:32 is a linear address. */
-
-#ifdef TRlldSmall
-#define TRlldDataPtr_t unsigned char far *
-#define TRlldWordDataPtr_t unsigned short far *
-#define TRlldDWordDataPtr_t unsigned long far *
-#else
-#define TRlldDataPtr_t unsigned char *
-#define TRlldWordDataPtr_t unsigned short *
-#define TRlldDWordDataPtr_t unsigned long *
-#endif
-
-#ifdef __WATCOMC__
-#define CDECL _cdecl
-#else
-#define CDECL
-#endif
-
-/*****************************************************************************/
-/* */
-/* Firmware */
-/* */
-/*****************************************************************************/
-
-extern unsigned char TRlldMacCode[]; /* 3115,17,18,29,33,36,37 */
-extern unsigned char TRlldHawkeyeMac[]; /* 3139,3140,3141,3250 */
-extern unsigned char TRlldBullseyeMac[]; /* 3540 */
-
-/*****************************************************************************/
-/* */
-/* Maximal numbers of concurrent receive and transmit slots */
-/* */
-/*****************************************************************************/
-
-#define TRLLD_MAX_RECEIVE 32
-#define TRLLD_MAX_TRANSMIT 32
-
-/*****************************************************************************/
-/* */
-/* Maximal frame sizes */
-/* */
-/*****************************************************************************/
-
-#define TRLLD_MAXFRAME_100MBPS 18000
-#define TRLLD_MAXFRAME_16MBPS 18000
-#define TRLLD_MAXFRAME_4MBPS 4500
-
-/*****************************************************************************/
-/* */
-/* TRlldStatus contains the adapter status used in a DriverStatus call-back. */
-/* */
-/*****************************************************************************/
-
-struct OnWireInformation {
- unsigned short RingStatus;
- unsigned short Speed;
- unsigned short AccessProtocol;
- unsigned short Reserved;
-};
-
-typedef struct TRlldStatus {
- unsigned short Type;
- unsigned char Closed;
- unsigned char AccessProtocol;
- unsigned short MaxFrameSize;
- unsigned short Reserved;
- union {
- unsigned short OnWireRingStatus; /* for compability */
- unsigned short SelftestStatus;
- unsigned short InitStatus;
- unsigned short RingStatus;
- unsigned short AdapterCheck[4];
- unsigned short InternalError[4];
- unsigned short PromRemovedCause;
- unsigned short AdapterTimeout;
- struct OnWireInformation OnWireInformation;
- } Specification;
-} TRlldStatus_t;
-
-/* values of TRlldStatus.Type */
-
-#define TRLLD_STS_ON_WIRE 0
-#define TRLLD_STS_SELFTEST_STATUS 1
-#define TRLLD_STS_INIT_STATUS 2
-#define TRLLD_STS_RING_STATUS 3
-#define TRLLD_STS_ADAPTER_CHECK 4
-#define TRLLD_STS_PROMISCUOUS_STOPPED 5
-#define TRLLD_STS_LLD_ERROR 6
-#define TRLLD_STS_ADAPTER_TIMEOUT 7
-
-/* values of TRlldStatus.Closed */
-
-#define TRLLD_STS_STATUS_OK 0
-#define TRLLD_STS_STATUS_CLOSED 1
-
-/* values of TRlldStatus.AccessProtocol */
-
-#define TRLLD_ACCESS_UNKNOWN 0
-#define TRLLD_ACCESS_TKP 1
-#define TRLLD_ACCESS_TXI 2
-
-/* values of TRlldStatus.SelftestStatus */
-
-#define TRLLD_ST_OK 0
-#define TRLLD_ST_ERROR 0x0100 /* actual errors are 010x, where x is */
- /* 0: Initial Test Error */
- /* 1: Adapter Software Checksum Error */
- /* 2: Adapter RAM Error */
- /* 4: Instruction Test Error */
- /* 5: Protocol Handler/RI Hw Error */
- /* 6: System Interface Register Error */
-
-#define TRLLD_ST_TIMEOUT 0x0200 /* The adapter did not complete */
- /* selftest after download */
-
-/* values of TRlldStatus.Specification.InitStatus */
-
-/* the most likely cause of an init error (whatever the code) is a wrong */
-/* physical or virtual address of the adapter block in TRlldAdapterInit */
-
-#define TRLLD_INIT_ERROR 0x100 /* actual errors are 010x, where x is */
- /* 1: Invalid init block (LLD error) */
- /* 2: Invalid options (LLD error) */
- /* 3: Invalid rcv burst (LLD error) */
- /* 4: Invalid xmt burst (LLD error) */
- /* 5: Invalid DMA threshold (LLDerror)*/
- /* 6: Invalid scb addr */
- /* 7: Invalid ssb addr */
- /* 8: DIO parity error (HW error) */
- /* 9: DMA timeout (May be interrupt
- failing if PIO mode or PCI2) */
- /* A: DMA parity error (HW error) */
- /* B: DMA bus error (HW error) */
- /* C: DMA data error */
- /* D: Adapter check */
-
-#define TRLLD_INIT_TIMEOUT 0x200 /* adapter init did not complete */
-#define TRLLD_INIT_DMA_ERROR 0x300 /* adapter cannot access sys memory */
-#define TRLLD_INIT_INTR_ERROR 0x400 /* adapter cannot interrupt */
-#define TRLLD_OPEN_TIMEOUT 0x500 /* adapter open did not complete */
- /* within 30 seconds */
-
-#define TRLLD_OPEN_ERROR 0x600 /* actual errors are 06xx, where the */
- /* bits in x mean: */
- /* 01: Invalid open options (LLDerror)*/
- /* 04: TxBuffer count error (LLDerror)*/
- /* 10: Buffer size error (LLD error) */
- /* 20: List size error (LLD error) */
- /* 40: Node address error */
-
-#define TRLLD_OPEN_REPEAT 0x700 /* actual errors are 07xy, where */
- /* x is the open phase: */
- /* 1: Lobe media test */
- /* 2: Physical Insertion */
- /* 3: Address verification */
- /* 4: Participation in ring poll */
- /* 5: Request Initialization */
- /* 9: Request registration (TXI) */
- /* A: Lobe Media Test (TXI) */
- /* B: Address verification (TXI) */
- /* y is the type of error: */
- /* 1: Function failure (No Cable ?) */
- /* 2: Signal loss */
- /* 5: Timeout */
- /* 6: Ring failure (TKP) */
- /* 6: Protocol error (TXI) */
- /* 7: Ring beaconing */
- /* 8: Duplicate Node Address (TKP) */
- /* 8: Insert Denied (TXI) */
- /* 9: Request Initialization (TKP) */
- /* 9: Heart beat failure (TXI) */
- /* A: Remove received */
- /* B: C-port address changed (TXI) */
- /* C: Wire Fault (TKP) */
- /* D: Auto Speed, 1. on ring (TKP) */
- /* E: Speed sense failed */
-
-/* When opening with FORCE_TXI and only classic token ring attachment is */
-/* possible, the error is Request Registration/Timeout or 0x795 */
-
-#define TRLLD_OPEN_1ST_ON_RING 0x800 /* Speed sense is active, but no other*/
- /* station is present to set the speed*/
-
-
-/* values of TRlldStatus.Specification.RingStatus */
-
-#define TRLLD_RS_SIGNAL_LOSS 0x8000
-#define TRLLD_RS_HARD_ERROR 0x4000
-#define TRLLD_RS_SOFT_ERROR 0x2000
-#define TRLLD_RS_TRANSMIT_BEACON 0x1000
-#define TRLLD_RS_LOBE_WIRE_FAULT 0x0800
-#define TRLLD_RS_AUTO_REMOVAL_ERROR 0x0400
-#define TRLLD_RS_REMOVE_RECEIVED 0x0100
-#define TRLLD_RS_COUNTER_OVERFLOW 0x0080
-#define TRLLD_RS_SINGLE_STATION 0x0040
-#define TRLLD_RS_RING_RECOVERY 0x0020
-
-/* values of TRlldStatus.Specification.AdapterCheck */
-/* MISSING */
-
-/* values of TRlldStatus.Specification.PromRemovedCause */
-
-#define TRLLD_PROM_REMOVE_RECEIVED 1
-#define TRLLD_PROM_POLL_FAILURE 2
-#define TRLLD_PROM_BUFFER_SIZE 3
-
-/* values of TRlldStatus.Specification.InternalError */
-
-#define TRLLD_INTERNAL_PIO 1 /* A PIO transfer to or from adapter */
- /* did not complete */
-#define TRLLD_INTERNAL_TX 2 /* Trouble with clean up of tx frames */
-#define TRLLD_INTERNAL_RX 3 /* Trouble with clean up of receive */
- /* fragments */
-#define TRLLD_INTERNAL_CMD 4 /* error response from adapter */
-#define TRLLD_INTERNAL_STATE 5 /* event happened in unexpected state */
-
-/* values of TRlldStatus.Specification.AdapterTimeout */
-
-#define TRLLD_COMMAND_TIMEOUT 1
-#define TRLLD_TRANSMIT_TIMEOUT 2
-#define TRLLD_INTERRUPT_TIMEOUT 3
-
-
-/*****************************************************************************/
-/* */
-/* TRlldStatistics contains the adapter statistics returned to Driver */
-/* in TRlldStatistics calls and DriverStatistics call-backs */
-/* */
-/*****************************************************************************/
-
-typedef struct TRlldStatistics {
- unsigned long LineErrors;
- unsigned long InternalErrors; /* Not maintained by TMS based boards */
- unsigned long BurstErrors;
- unsigned long ARIFCIErrors;
- unsigned long AbortDelimiters; /* Not maintained by TMS based boards */
- unsigned long LostFrames;
- unsigned long CongestionErrors;
- unsigned long FrameCopiedErrors;
- unsigned long FrequencyErrors; /* Not maintained by TMS based boards */
- unsigned long TokenErrors;
- unsigned long DMABusErrors; /* Not maintained by 3139 */
- unsigned long DMAParityErrors; /* Not maintained by 3139 */
- unsigned long ReceiveLongFrame; /* Not maintained by TMS based boards */
- unsigned long ReceiveCRCErrors; /* Not maintained by TMS based boards */
- unsigned long ReceiveOverflow; /* Not maintained by TMS based boards */
- unsigned long TransmitUnderrun; /* Not maintained by TMS based boards */
- unsigned long UnderrunLock; /* Not maintained by TMS based boards */
- unsigned long OverflowReset;
- unsigned char UpstreamNeighbour[6];
- unsigned short RingNumber;
- unsigned char BeaconingUpstreamNeighbour[6];
- unsigned short padding;
-} TRlldStatistics_t;
-
-
-/*****************************************************************************/
-/* */
-/* TRlldDriver contains the Driver call-backs */
-/* */
-/*****************************************************************************/
-
-typedef struct TRlldDriver {
- unsigned long TRlldVersion;
-#ifndef TRlldInlineIO
- void (CDECL * DriverOutByte)(unsigned short IOAddress,
- unsigned char Value);
- void (CDECL * DriverOutWord)(unsigned short IOAddress,
- unsigned short Value);
- void (CDECL * DriverOutDWord)(unsigned short IOAddress,
- unsigned long Value);
- void (CDECL * DriverRepOutByte)(unsigned short IOAddress,
- TRlldDataPtr_t DataPointer,
- int ByteCount);
- void (CDECL * DriverRepOutWord)(unsigned short IOAddress,
- TRlldWordDataPtr_t DataPointer,
- int WordCount);
- void (CDECL * DriverRepOutDWord)(unsigned short IOAddress,
- TRlldDWordDataPtr_t DataPointer,
- int DWordCount);
- unsigned char (CDECL * DriverInByte)(unsigned short IOAddress);
- unsigned short (CDECL * DriverInWord)(unsigned short IOAddress);
- unsigned long (CDECL * DriverInDWord)(unsigned short IOAddress);
- void (CDECL * DriverRepInByte)(unsigned short IOAddress,
- TRlldDataPtr_t DataPointer,
- int ByteCount);
- void (CDECL * DriverRepInWord)(unsigned short IOAddress,
- TRlldWordDataPtr_t DataPointer,
- int WordCount);
- void (CDECL * DriverRepInDWord)(unsigned short IOAddress,
- TRlldDWordDataPtr_t DataPointer,
- int DWordCount);
-#endif
- void (CDECL * DriverSuspend)(unsigned short MicroSeconds);
- void (CDECL * DriverStatus)(void * DriverHandle,
- TRlldStatus_t * Status);
- void (CDECL * DriverCloseCmpltd)(void * DriverHandle);
- void (CDECL * DriverStatistics)(void * DriverHandle,
- TRlldStatistics_t * Statistics);
- void (CDECL * DriverTxFrameCmpltd)(void * DriverHandle,
- void * FrameHandle,
- int TxStatus);
- void (CDECL * DriverRcvFrameCmpltd)(void * DriverHandle,
- int ByteCount,
- int FragmentCount,
- void * FragmentHandle,
- int RcvStatus);
-} TRlldDriver_t;
-
-/* Version and model control */
-
-#define TRLLD_VERSION_INLINEIO 0x8000
-#define TRLLD_VERSION_SMALL 0x4000
-#ifdef TRlldInlineIO
-#ifdef TRlldSmall
-#define TRLLD_VERSION 0x4120
-#else
-#define TRLLD_VERSION 0x0120
-#endif
-#else
-#ifdef TRlldSmall
-#define TRLLD_VERSION 0xC120
-#else
-#define TRLLD_VERSION 0x8120
-#endif
-#endif
-
-
-/*****************************************************************************/
-/* */
-/* TRlldAdapterConfig contains the properties found for an adapter */
-/* used when finding and defining adapters to use */
-/* */
-/*****************************************************************************/
-
-
-struct pnp_id {
- unsigned short vendor;
- unsigned short device;
-};
-
-struct pci_id {
- unsigned short vendor;
- unsigned short device;
- unsigned char revision;
- unsigned char reserved_byte;
- unsigned short reserved_word;
-};
-
-struct pcmcia_id {
- /* unknown as yet */
- unsigned char x;
-};
-
-struct pci_slot {
- unsigned short bus_no;
- unsigned short device_no;
-};
-
-struct pcmcia_socket {
- /* unknown as yet */
- unsigned char x;
-};
-
-typedef struct TRlldAdapterConfig {
- unsigned char type;
- unsigned char bus;
- unsigned short magic;
- union {
- struct pnp_id pnp;
- unsigned long eisa;
- unsigned short mca;
- struct pci_id pci;
- struct pcmcia_id pcmcia;
- } id;
- union {
- unsigned short csn;
- unsigned short eisa;
- unsigned short mca;
- struct pci_slot pci;
- struct pcmcia_socket pcmcia;
- } slot;
- unsigned short iobase0;
- unsigned short iolength0;
- unsigned short iobase1;
- unsigned short iolength1;
- unsigned long memorybase;
- unsigned short memorylength;
- unsigned char mode;
- unsigned char xmode;
- unsigned char interruptlevel;
- unsigned char dmalevel;
- unsigned char macaddress[6];
- unsigned long prombase;
- unsigned char speed;
- unsigned char cachelinesize;
- unsigned short pcicommand;
- unsigned char mactype;
- unsigned char reserved[3];
-} TRlldAdapterConfig_t;
-
-/* values of TRlldAdapterConfig.Type */
-
-#define TRLLD_ADAPTER_XT 0 /* not supported */
-#define TRLLD_ADAPTER_ISA1 1 /* OC-3115 */
-#define TRLLD_ADAPTER_ISA2 2 /* OC-3117 */
-#define TRLLD_ADAPTER_ISA3 3 /* OC-3118 */
-#define TRLLD_ADAPTER_MCA1 4 /* OC-3129 id A84 */
-#define TRLLD_ADAPTER_MCA2 5 /* OC-3129 id A85 */
-#define TRLLD_ADAPTER_MCA3 6 /* OC-3129 id A86 */
-#define TRLLD_ADAPTER_EISA1 7 /* OC-3133 id 0109833D */
-#define TRLLD_ADAPTER_EISA2 8 /* OC-3133 id 0209833D */
-#define TRLLD_ADAPTER_EISA3 9 /* OC-3135 not supported */
-#define TRLLD_ADAPTER_PCI1 10 /* OC-3136 id 108d0001 rev 1 */
-#define TRLLD_ADAPTER_PCI2 11 /* OC-3136 id 108d0001 rev 2 */
-#define TRLLD_ADAPTER_PCI3 12 /* OC-3137 id 108d0001 rev 3 */
-#define TRLLD_ADAPTER_PCI4 13 /* OC-3139 id 108d0004 rev 2 */
-#define TRLLD_ADAPTER_PCI5 14 /* OC-3140 id 108d0004 rev 3 */
-#define TRLLD_ADAPTER_PCI6 15 /* OC-3141 id 108d0007 rev 1 */
-#define TRLLD_ADAPTER_PCI7 19 /* OC-3540 id 108d0008 rev 1 */
-#ifdef PCMCIA
-#define TRLLD_ADAPTER_PCCARD1 16 /* OC-3220 */
-#define TRLLD_ADAPTER_PCCARD2 17 /* OC-3221,OC-3230,OC-3232 */
-#endif
-#define TRLLD_ADAPTER_PCCARD3 18 /* OC-3250 id 108d0005 rev 1 */
-
-/* values of TRlldAdapterConfig.Bus */
-
-#define TRLLD_BUS_ISA 1
-#define TRLLD_BUS_EISA 2
-#define TRLLD_BUS_MCA 3
-#define TRLLD_BUS_PCI 4
-#define TRLLD_BUS_PCMCIA 5
-
-/* values of TRlldAdapterConfig.mode */
-
-#define TRLLD_MODE_16M 0x01 /* needs data buffers below 16 M */
-#define TRLLD_MODE_PHYSICAL 0x02 /* needs valid physical addresses */
-#define TRLLD_MODE_FIXED_CFG 0x04 /* cannot be reconfigured */
-#define TRLLD_MODE_SHORT_SLOT 0x08 /* in short ISA slot, cannot use DMA */
-#define TRLLD_MODE_CANNOT_DISABLE 0x10 /* can not disable interrupt */
-#define TRLLD_MODE_SHARE_INTERRUPT 0x20 /* may share interrupt */
-#define TRLLD_MODE_MEMORY 0x40 /* is configured with a memory window*/
-
-/* values of TRlldAdapterConfig.dma */
-
-#define TRLLD_DMA_PIO 4 /* other values signifies the DMA channel */
-#define TRLLD_DMA_MASTER 0xff /* to use */
-
-/* values of TRlldAdapterConfig.mactype */
-
- /* download with: */
-#define TRLLD_MAC_TMS 1 /* TRlldMACCode */
-#define TRLLD_MAC_HAWKEYE 2 /* TRlldHawkeyeMAC */
-#define TRLLD_MAC_BULLSEYE 3 /* TRlldBullseyeMAC */
-
-
-typedef void * TRlldAdapter_t;
-typedef void * TRlldAdapterType_t;
-
-#ifndef MAX_FRAGMENTS
-#define MAX_FRAGMENTS 32
-#endif
-
-typedef struct TRlldTransmit {
- unsigned short FragmentCount;
- unsigned short TRlldTransmitReserved;
- struct TRlldTransmitFragment {
- unsigned long PhysicalAddress;
- TRlldDataPtr_t VirtualAddress;
- unsigned short count;
- unsigned short TRlldTransmitFragmentReserved;
- } TransmitFragment[MAX_FRAGMENTS];
-} TRlldTransmit_t;
-
-int CDECL TRlldAdapterSize(void);
-
-int CDECL TRlldInit(int TypeCount,
- TRlldAdapterType_t * AdapterTypeTable);
-
-extern TRlldAdapterType_t CDECL TRlld3115; /* ISA adapters */
-extern TRlldAdapterType_t CDECL TRlld3117;
-extern TRlldAdapterType_t CDECL TRlld3118;
-extern TRlldAdapterType_t CDECL TRlld3129; /* MCA adapters */
-extern TRlldAdapterType_t CDECL TRlld3133; /* EISA adapters */
-extern TRlldAdapterType_t CDECL TRlld3136; /* PCI adapters */
-extern TRlldAdapterType_t CDECL TRlld3137;
-extern TRlldAdapterType_t CDECL TRlld3139; /* Hawkeye adapters */
-extern TRlldAdapterType_t CDECL TRlld3540; /* BUllseye adapter */
-
-#define T3115 &TRlld3115
-#define T3117 &TRlld3117
-#define T3118 &TRlld3118
-#define T3129 &TRlld3129
-#define T3133 &TRlld3133
-#define T3136 &TRlld3136
-#define T3137 &TRlld3137
-#define T3139 &TRlld3139
-#define T3540 &TRlld3540
-
-/* Only for Boot Prom Page Zero code */
-
-extern TRlldAdapterType_t CDECL TRlld3115Boot; /* ISA adapters */
-extern TRlldAdapterType_t CDECL TRlld3117Boot;
-extern TRlldAdapterType_t CDECL TRlld3118Boot;
-extern TRlldAdapterType_t CDECL TRlld3129Boot; /* MCA adapters */
-extern TRlldAdapterType_t CDECL TRlld3133Boot; /* EISA adapters */
-extern TRlldAdapterType_t CDECL TRlld3136Boot; /* PCI adapters */
-extern TRlldAdapterType_t CDECL TRlld3137Boot;
-extern TRlldAdapterType_t CDECL TRlld3139Boot; /* Hawkeye adapters */
-extern TRlldAdapterType_t CDECL TRlld3540Boot; /* Bullseye adapters */
-
-#define B3115 &TRlld3115Boot
-#define B3117 &TRlld3117Boot
-#define B3118 &TRlld3118Boot
-#define B3129 &TRlld3129Boot
-#define B3133 &TRlld3133Boot
-#define B3136 &TRlld3136Boot
-#define B3137 &TRlld3137Boot
-#define B3139 &TRlld3139Boot
-#define B3540 &TRlld3540Boot
-
-#define TRLLD_INIT_OK 0
-#define TRLLD_INIT_UNKNOWN 5
-
-int CDECL TRlldAdapterInit(TRlldDriver_t * DriverDefinition,
- TRlldAdapter_t * TRlldAdapter,
- unsigned long TRlldAdapterPhysical,
- void * DriverHandle,
- TRlldAdapterConfig_t * config);
-
-#define TRLLD_INIT_OK 0
-#define TRLLD_INIT_NOT_FOUND 1
-#define TRLLD_INIT_UNSUPPORTED 2
-#define TRLLD_INIT_PHYS16 3
-#define TRLLD_INIT_VERSION 4
-
-int CDECL TRlldSetSpeed(TRlldAdapter_t * adapter,
- unsigned char speed);
-
-#define TRLLD_SPEED_4MBPS 4
-#define TRLLD_SPEED_16MBPS 16
-#define TRLLD_SPEED_100MBPS 100
-
-int CDECL TRlldSetInterrupt(TRlldAdapter_t * adapter,
- unsigned char interruptlevel);
-
-int CDECL TRlldSetDMA(TRlldAdapter_t * adapter,
- unsigned char dma, unsigned char * mode);
-
-#define TRLLD_CONFIG_OK 0
-#define TRLLD_CONFIG_STATE 1
-#define TRLLD_CONFIG_ILLEGAL 2
-#define TRLLD_CONFIG_FAILED 3
-
-int CDECL TRlldSetSpecial(TRlldAdapter_t * adapter,
- unsigned short param1, unsigned short param2,
- unsigned short param3, unsigned short param4);
-
-int CDECL TRlldAddMemory(TRlldAdapter_t * adapter,
- TRlldDataPtr_t virtual,
- unsigned long physical,
- long size);
-
-int CDECL TRlldDisable(TRlldAdapter_t * adapter);
-
-#define TRLLD_OK 0
-#define TRLLD_NOT_SUPPORTED 1
-
-void CDECL TRlldEnable(TRlldAdapter_t * adapter);
-
-int CDECL TRlldInterruptPresent(TRlldAdapter_t * adapter);
-
-#define TRLLD_NO_INTERRUPT 0
-#define TRLLD_INTERRUPT 1
-
-int CDECL TRlldInterruptService(TRlldAdapter_t * adapter);
-
-int CDECL TRlldInterruptPreService(TRlldAdapter_t * adapter);
-
-void CDECL TRlldInterruptPostService(TRlldAdapter_t * adapter);
-
-
-int CDECL TRlldPoll(TRlldAdapter_t * adapter);
-
-int CDECL TRlldDownload(TRlldAdapter_t * adapter,
- char * DownLoadCode);
-
-#define TRLLD_DOWNLOAD_OK 0
-#define TRLLD_DOWNLOAD_ERROR 1
-#define TRLLD_STATE 2
-
-typedef int (CDECL * GetCode_t)(void * handle, unsigned char * maccodebyte);
-
-int CDECL TRlldStreamDownload(TRlldAdapter_t * adapter,
- GetCode_t procedure, void * handle);
-
-int CDECL TRlldOpen(TRlldAdapter_t * adapter,
- unsigned char * MACAddress,
- unsigned long GroupAddress,
- unsigned long FunctionalAddress,
- unsigned short MaxFrameSize,
- unsigned short OpenModes);
-
-#define TRLLD_OPEN_OK 0
-#define TRLLD_OPEN_STATE 1
-#define TRLLD_OPEN_ADDRESS_ERROR 2
-#define TRLLD_OPEN_MODE_ERROR 3
-#define TRLLD_OPEN_MEMORY 4
-
-#define TRLLD_MODE_TX_STATUS 0x01
-#define TRLLD_MODE_RX_SINGLE 0x02
-#define TRLLD_MODE_FORCE_TKP 0x04
-#define TRLLD_MODE_FORCE_TXI 0x08
-#define TRLLD_MODE_TX_CRC 0x10
-
-void CDECL TRlldClose(TRlldAdapter_t * adapter, int immediate);
-
-void CDECL TRlldSetGroupAddress(TRlldAdapter_t * adapter,
- unsigned long GroupAddress);
-
-void CDECL TRlldSetFunctionalAddress(TRlldAdapter_t * adapter,
- unsigned long FunctionalAddress);
-
-void CDECL TRlldSetPromiscuousMode(TRlldAdapter_t * adapter,
- unsigned char mode);
-
-/* mode bits */
-
-#define TRLLD_PROM_LLC 1
-#define TRLLD_PROM_MAC 2
-#define TRLLD_PROM_ERRORFRAMES 4
-
-int CDECL TRlldGetStatistics(TRlldAdapter_t * adapter,
- TRlldStatistics_t * statistics,
- int immediate);
-
-#define TRLLD_IMMEDIATE_STATISTICS 1
-
-#define TRLLD_STATISTICS_RETRIEVED 0
-#define TRLLD_STATISTICS_PENDING 1
-
-int CDECL TRlldTransmitFrame(TRlldAdapter_t * adapter,
- TRlldTransmit_t * TransmitFrame,
- void * FrameHandle);
-
-#define TRLLD_TRANSMIT_OK 0
-#define TRLLD_TRANSMIT_NOT_OPEN 1
-#define TRLLD_TRANSMIT_TOO_MANY 2
-#define TRLLD_TRANSMIT_MAX16 3
-#define TRLLD_TRANSMIT_SIZE 4
-#define TRLLD_TRANSMIT_EMPTY 5
-
-/* completion flags */
-
-#define TRLLD_TX_OK 0
-#define TRLLD_TX_NOT_PROCESSED 1
-#define TRLLD_TX_NOT_RECOGNIZED 2
-#define TRLLD_TX_NOT_COPIED 3
-
-/* number of free transmit fragments */
-
-int CDECL TRlldTransmitFree(TRlldAdapter_t * adapter);
-
-int CDECL TRlldReceiveFragment(TRlldAdapter_t * adapter,
- TRlldDataPtr_t FragmentStart,
- unsigned long FragmentPhysical,
- int count,
- void * FragmentHandle);
-
-#define TRLLD_RECEIVE_OK 0
-#define TRLLD_RECEIVE_NOT_OPEN 1
-#define TRLLD_RECEIVE_TOO_MANY 2
-#define TRLLD_RECEIVE_SIZE 3
-#define TRLLD_RECEIVE_MAX16 4
-
-/* completion flags */
-
-#define TRLLD_RCV_OK 0
-#define TRLLD_RCV_NO_DATA 1
-#define TRLLD_RCV_ERROR 2 /* Only when TRLLD_PROM_ERRORFRAMES */
-#define TRLLD_RCV_LONG 3
-
-/* number of free receive fragments */
-
-int CDECL TRlldReceiveFree(TRlldAdapter_t * adapter);
-
-int CDECL TRlldFind(TRlldDriver_t * driver,
- TRlldAdapterConfig_t * config_table,
- unsigned long type_mask,
- int max);
-
-/* type mask bits */
-
-#define OC_3115 0x0001
-#define OC_3117 0x0002
-#define OC_3118 0x0004
-#define OC_3129 0x0008
-#define OC_3133 0x0010
-#define OC_3136 0x0040
-#define OC_3137 0x0080
-#define OC_3139 0x0100
-#define OC_3140 0x0200
-#define OC_3141 0x0400
-#define OC_3540 0x0800
-
-#ifdef PCMCIA
-#define OC_3220 0x0800
-#define OC_3221 0x1000
-#define OC_3230 0x2000
-#define OC_3232 0x4000
-#endif
-
-#define OC_3250 0x8000
-
-int CDECL TRlldIOAddressConfig(TRlldDriver_t * driver,
- TRlldAdapterConfig_t * config,
- unsigned short address);
-
-
-#define TRLLD_FIND_OK 1
-#define TRLLD_FIND_ERROR 0
-#define TRLLD_FIND_VERSION -1
-
-int CDECL TRlldEISASlotConfig(TRlldDriver_t * driver,
- TRlldAdapterConfig_t * config,
- int slot);
-
-int CDECL TRlldMCASlotConfig(TRlldDriver_t * driver,
- TRlldAdapterConfig_t * config,
- int slot);
-
-int CDECL TRlldPCIConfig(TRlldDriver_t * driver,
- TRlldAdapterConfig_t * config,
- char * PCIConfigurationSpace);
-
-#define TRLLD_PCICONFIG_OK 0
-#define TRLLD_PCICONFIG_FAIL 1
-#define TRLLD_PCICONFIG_SET_COMMAND 2
-#define TRLLD_PCICONFIG_VERSION 3
-
-
-int CDECL TRlldFindPCI(TRlldDriver_t * driver,
- TRlldAdapterConfig_t * config_table,
- unsigned long type_mask,
- int max);
-
-#ifdef PCMCIA
-typedef void * PCCardHandle_t;
-
-typedef int (CDECL * GetTupleData_t)(PCCardHandle_t handle,
- unsigned short TupleIdent,
- char * TupleData,
- int length);
-
-int CDECL TRlldPCCardConfig(TRlldDriver_t * driver,
- TRlldAdapterConfig_t * config,
- unsigned short address,
- int irq,
- GetTupleData_t GetTuple,
- PCCardHandle_t handle);
-
-#define TRLLD_PCCARD_CONFIG_OK 0
-#define TRLLD_PCCARD_CONFIG_FAIL 1
-#endif
-
-/* Boot Prom Support */
-
-typedef struct TRlldPromInfo {
- unsigned short PromIdent;
- short PromPages;
- short PromPageSize;
-} TRlldPromInfo_t;
-
-int CDECL TRlldMapBootProm(TRlldAdapter_t * adapter,
- TRlldDataPtr_t prompointer);
-
-#define TRLLD_PROM_OK 0
-#define TRLLD_PROM_FAILED 3
-
-int CDECL TRlldGetPromInfo(TRlldAdapter_t * adapter, TRlldPromInfo_t * info);
-
-#define TRLLD_PROM_OK 0
-#define TRLLD_PROM_NOT_MOUNTED 1
-#define TRLLD_PROM_NOT_MAPPED 2
-
-void CDECL TRlldSetPromPage(TRlldAdapter_t * adapter, int page);
-
-int CDECL TRlldSetMemoryUse(TRlldAdapter_t * adapter, int use);
-
-#define TRLLD_PROM_TO_MEMORY 0
-#define TRLLD_REGISTERS_TO_MEMORY 1
-
-#define TRLLD_MEMORY_USE_OK 0
-#define TRLLD_MEMORY_USE_NO_MEMORY 1
-#define TRLLD_MEMORY_USE_STATE 2
-#define TRLLD_MEMORY_USE_ILLEGAL 3
-
-int CDECL TRlldPromErase(TRlldAdapter_t * adapter,
- void (CDECL * delay)(int milliseconds));
-
-#define TRLLD_PROM_OK 0
-#define TRLLD_PROM_NOT_MOUNTED 1
-#define TRLLD_PROM_NOT_MAPPED 2
-#define TRLLD_PROM_FAILED 3
-
-int CDECL TRlldPromWrite(TRlldAdapter_t * adapter, char * data,
- int offset, int count);
-
-#define TRLLD_PROM_OK 0
-#define TRLLD_PROM_NOT_MOUNTED 1
-#define TRLLD_PROM_NOT_MAPPED 2
-#define TRLLD_PROM_FAILED 3
-#define TRLLD_PROM_ILLEGAL 4
-
-void CDECL TRlldEmergency(TRlldAdapter_t * adapter);
-
-/* Convert from TRlldAdapterConfig.type to name string */
-char * CDECL TRlldAdapterName(int type);
-#endif
diff --git a/sys/contrib/dev/oltr/trlldbm.c b/sys/contrib/dev/oltr/trlldbm.c
deleted file mode 100644
index c4400f383e11..000000000000
--- a/sys/contrib/dev/oltr/trlldbm.c
+++ /dev/null
@@ -1,2011 +0,0 @@
-/*
- ****************************** trlld.h ***********************************
- *
- * Copyright (c) 1997
- * OLICOM A/S
- * Denmark
- *
- * All Rights Reserved
- *
- * This source file is subject to the terms and conditions of the
- * OLICOM Software License Agreement which restricts the manner
- * in which it may be used.
- *
- *---------------------------------------------------------------------------
- *
- * Description: Olicom Bullseye adapter micro-code
- *
- *---------------------------------------------------------------------------
- */
-
-#include "opt_oltr.h"
-
-#ifndef OLTR_NO_BULLSEYE_MAC
-
-unsigned char TRlldBullseyeMac[] = { 0x52, 0x94, 0x03, 0x00, 0x02, 0x7c, 0x7d, 0xb7, 0x4f, 0x43, 0x53, 0x4d, 0x41, 0x43, 0x2e, 0x42,
- 0x55, 0x4c, 0x4c, 0x53, 0x45, 0x59, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xea, 0x55, 0x00, 0x00, 0x00, 0xfc, 0xfa, 0xb8, 0x00, 0x00, 0xbb, 0x00,
- 0x00, 0xb9, 0x00, 0x00, 0xba, 0x00, 0x00, 0xbe, 0x00, 0x00, 0xbf, 0x00, 0x00, 0xbd, 0x00, 0x00,
- 0x8c, 0xc8, 0x8e, 0xd8, 0x8e, 0xc0, 0x8e, 0xd0, 0xb8, 0x7e, 0x5e, 0x8b, 0xe0, 0x83, 0x3e, 0x4e,
- 0x00, 0x00, 0x75, 0x1c, 0x2b, 0xdb, 0x8b, 0xf3, 0xad, 0x8b, 0xd8, 0x8b, 0xc8, 0xd1, 0xe9, 0x49,
- 0x49, 0xad, 0x03, 0xd8, 0xe2, 0xfb, 0x0b, 0xdb, 0x74, 0x06, 0xc7, 0x06, 0x50, 0x5d, 0x01, 0x00,
- 0xb8, 0x00, 0x00, 0x8e, 0xd8, 0xc7, 0x06, 0x0c, 0x00, 0x9a, 0x01, 0x8c, 0x0e, 0x0e, 0x00, 0xc7,
- 0x06, 0x04, 0x00, 0x9a, 0x01, 0x8c, 0x0e, 0x06, 0x00, 0xc7, 0x06, 0x14, 0x00, 0x9a, 0x01, 0x8c,
- 0x0e, 0x14, 0x00, 0xc7, 0x06, 0x08, 0x00, 0x9a, 0x01, 0x8c, 0x0e, 0x08, 0x00, 0x90, 0x90, 0x90,
- 0xc7, 0x06, 0x20, 0x00, 0xf2, 0x23, 0x8c, 0x0e, 0x22, 0x00, 0x2b, 0xc0, 0xe7, 0x06, 0xc7, 0x06,
- 0x30, 0x00, 0xe4, 0x0d, 0x8c, 0x0e, 0x32, 0x00, 0xc7, 0x06, 0x34, 0x00, 0xde, 0x0e, 0x8c, 0x0e,
- 0x36, 0x00, 0xc7, 0x06, 0x38, 0x00, 0x10, 0x0f, 0x8c, 0x0e, 0x3a, 0x00, 0xc7, 0x06, 0x3c, 0x00,
- 0x9a, 0x01, 0x8c, 0x0e, 0x3e, 0x00, 0xc7, 0x06, 0x08, 0x00, 0x9a, 0x01, 0x8c, 0x0e, 0x0a, 0x00,
- 0xc7, 0x06, 0x14, 0x00, 0x9a, 0x01, 0x8c, 0x0e, 0x16, 0x00, 0xbb, 0x40, 0x60, 0x8e, 0xc3, 0x26,
- 0x83, 0x0e, 0x32, 0x00, 0x08, 0x2b, 0xc0, 0x2b, 0xc0, 0x2b, 0xc0, 0x2b, 0xc0, 0x26, 0x83, 0x26,
- 0x32, 0x00, 0xf7, 0x2b, 0xc0, 0x2b, 0xc0, 0x2b, 0xc0, 0x2b, 0xc0, 0x26, 0x83, 0x0e, 0x32, 0x00,
- 0x08, 0x2a, 0xe4, 0xb0, 0x13, 0xe6, 0x10, 0x90, 0x90, 0x90, 0xb0, 0x08, 0xe6, 0x12, 0x90, 0x90,
- 0x90, 0xb0, 0x09, 0xe6, 0x12, 0x90, 0x90, 0x90, 0xb0, 0xff, 0xe6, 0x12, 0x90, 0x90, 0x90, 0x26,
- 0x83, 0x26, 0x32, 0x00, 0xf7, 0x90, 0x90, 0x90, 0x33, 0xc0, 0x26, 0xc7, 0x06, 0x44, 0x00, 0xff,
- 0xff, 0x26, 0xc7, 0x06, 0x46, 0x00, 0xff, 0xff, 0x26, 0x09, 0x06, 0x48, 0x00, 0x26, 0x09, 0x06,
- 0x4a, 0x00, 0xb8, 0x00, 0x00, 0xe7, 0x06, 0xb8, 0x0f, 0x27, 0xe7, 0x00, 0xb8, 0x09, 0x00, 0xe7,
- 0x06, 0xb0, 0x11, 0xe8, 0x7f, 0x0a, 0xe8, 0xbd, 0x0a, 0xfb, 0xe9, 0x67, 0x0b, 0x90, 0x50, 0xb0,
- 0xa0, 0xe6, 0x10, 0x58, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xf0, 0xf0, 0xf0, 0xf0, 0xe7, 0xe7, 0xe7, 0x31, 0x36,
- 0x31, 0x32, 0x39, 0x38, 0x20, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x28,
- 0x63, 0x29, 0x20, 0x31, 0x39, 0x39, 0x38, 0x20, 0x4f, 0x6c, 0x69, 0x63, 0x6f, 0x6d, 0x2e, 0x20,
- 0x41, 0x6c, 0x6c, 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x20, 0x72, 0x65, 0x73, 0x65, 0x72,
- 0x76, 0x65, 0x64, 0x20, 0x2c, 0x21, 0x2c, 0x21, 0x6e, 0x37, 0x1f, 0x3b, 0x1b, 0x3d, 0x61, 0x3e,
- 0xa3, 0x3f, 0xeb, 0x42, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21, 0x54, 0x41, 0xaa, 0x41, 0x3b, 0x42,
- 0xb8, 0x42, 0xbd, 0x42, 0xc2, 0x42, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21, 0x83, 0x3a,
- 0x2c, 0x21, 0x2c, 0x21, 0x03, 0x39, 0x63, 0x39, 0x63, 0x39, 0x40, 0x3a, 0x63, 0x39, 0x68, 0x3a,
- 0xa4, 0x3a, 0x2c, 0x21, 0x2c, 0x21, 0x54, 0x41, 0xaa, 0x41, 0x3b, 0x42, 0xb8, 0x42, 0xbd, 0x42,
- 0xc2, 0x42, 0x2c, 0x21, 0x7d, 0x39, 0x2c, 0x21, 0x08, 0x3a, 0x2c, 0x21, 0xd9, 0x3a, 0xff, 0x3a,
- 0xaa, 0x34, 0xaa, 0x34, 0xaa, 0x34, 0xaa, 0x34, 0x74, 0x35, 0x9f, 0x36, 0xaa, 0x34, 0x86, 0x35,
- 0x32, 0x36, 0xf1, 0x36, 0xf1, 0x36, 0xf1, 0x36, 0xf1, 0x36, 0xf1, 0x36, 0xf1, 0x36, 0xf1, 0x36,
- 0xf1, 0x36, 0xf1, 0x36, 0xf1, 0x36, 0xf1, 0x36, 0xf1, 0x36, 0xf1, 0x36, 0xf1, 0x36, 0xf1, 0x36,
- 0xf1, 0x36, 0xf1, 0x36, 0xf1, 0x36, 0xf1, 0x36, 0xf1, 0x36, 0xf1, 0x36, 0xf1, 0x36, 0xf1, 0x36,
- 0xde, 0x35, 0xaa, 0x34, 0xaa, 0x34, 0xaa, 0x34, 0xaa, 0x34, 0xaa, 0x34, 0x11, 0x36, 0xaa, 0x34,
- 0xaa, 0x34, 0x23, 0x36, 0xaa, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
- 0xff, 0x04, 0x04, 0x05, 0xff, 0xff, 0xff, 0x00, 0x03, 0x00, 0x03, 0x03, 0x00, 0x03, 0x0d, 0x06,
- 0xff, 0xff, 0x18, 0x06, 0x28, 0x06, 0x28, 0x06, 0x28, 0x06, 0x28, 0x06, 0x00, 0x00, 0x33, 0x06,
- 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x39, 0x06, 0x58, 0x06, 0x9e, 0x06, 0x9e, 0x06, 0x9e, 0x06,
- 0x6d, 0x06, 0x7d, 0x06, 0x00, 0x00, 0x83, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0x2c, 0x21, 0x73, 0x43, 0x3e, 0x17, 0x5f, 0x34, 0xd5, 0x27, 0x0d, 0x4a, 0x2c, 0x21, 0xad, 0x43,
- 0x86, 0x47, 0xcf, 0x45, 0xcf, 0x43, 0x42, 0x45, 0x47, 0x47, 0x0b, 0x45, 0xff, 0x46, 0x0d, 0x48,
- 0x57, 0x48, 0x44, 0x48, 0x26, 0x47, 0x64, 0x48, 0x89, 0x48, 0xb4, 0x48, 0x47, 0x48, 0xd2, 0x48,
- 0x16, 0x03, 0x3c, 0x03, 0x5c, 0x03, 0x88, 0x03, 0xae, 0x03, 0x26, 0x04, 0x8c, 0x04, 0xc6, 0x04,
- 0x10, 0x05, 0x02, 0x06, 0xe8, 0x01, 0x10, 0x03, 0x36, 0x03, 0x64, 0x03, 0x82, 0x03, 0xa8, 0x03,
- 0x86, 0x04, 0xc0, 0x04, 0x0a, 0x05, 0xfc, 0x05, 0xe4, 0x01, 0x2e, 0x04, 0x94, 0x04, 0x00, 0x03,
- 0x2a, 0x03, 0x50, 0x03, 0x76, 0x03, 0x9c, 0x03, 0xc2, 0x03, 0xbc, 0x03, 0xda, 0x03, 0x98, 0x05,
- 0x0e, 0x04, 0x7a, 0x04, 0xb4, 0x04, 0xda, 0x04, 0xfa, 0x04, 0xe0, 0x05, 0x24, 0x05, 0x48, 0x05,
- 0x64, 0x05, 0x7c, 0x05, 0xf4, 0x03, 0xb0, 0x05, 0xc8, 0x05, 0x20, 0x5c, 0x28, 0x5c, 0x34, 0x5c,
- 0x3c, 0x5c, 0x44, 0x5c, 0x6a, 0x5c, 0x7e, 0x5c, 0x86, 0x5c, 0x92, 0x5c, 0xb8, 0x5c, 0xcc, 0x5c,
- 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6,
- 0xe6, 0x1d, 0x50, 0x1e, 0x7c, 0x1e, 0xf2, 0x1e, 0x14, 0x1f, 0xa6, 0x1f, 0x04, 0x20, 0x2c, 0x21,
- 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21, 0x30, 0x20, 0x58, 0x20, 0xc4, 0x20, 0xe8, 0x20, 0x24, 0x21,
- 0x2c, 0x21, 0x2c, 0x21, 0xde, 0x16, 0x0e, 0x18, 0x92, 0x18, 0x94, 0x18, 0xb0, 0x18, 0xd6, 0x18,
- 0xf2, 0x18, 0x80, 0x19, 0xf8, 0x19, 0x48, 0x1b, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21,
- 0x58, 0x22, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21,
- 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21,
- 0x2c, 0x21, 0x2c, 0x21, 0x84, 0x1b, 0xf4, 0x1b, 0x9e, 0x1c, 0xea, 0x1c, 0x6c, 0x1d, 0x8c, 0x1d,
- 0xba, 0x1d, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21, 0x2c, 0x21,
- 0xaa, 0x55, 0x00, 0xff, 0xf6, 0x46, 0x01, 0x01, 0x75, 0x48, 0xc6, 0x86, 0x0e, 0x01, 0x05, 0xe8,
- 0x73, 0x01, 0xe8, 0x0d, 0x06, 0xe8, 0x02, 0x03, 0xe8, 0x5c, 0x03, 0x73, 0x19, 0xfe, 0x8e, 0x0e,
- 0x01, 0x74, 0x0d, 0xe8, 0xaa, 0x03, 0x8b, 0x86, 0x0f, 0x01, 0x26, 0xa3, 0x42, 0x00, 0xeb, 0xdf,
- 0xc7, 0x06, 0x50, 0x5d, 0x02, 0x00, 0x32, 0xe4, 0x8a, 0x46, 0x00, 0xe8, 0x48, 0x04, 0x83, 0x3e,
- 0x4e, 0x00, 0x02, 0x72, 0x03, 0xe8, 0x61, 0x03, 0xa1, 0x50, 0x5d, 0xe8, 0xb3, 0x42, 0xc6, 0x46,
- 0x01, 0x01, 0xf6, 0x06, 0x81, 0x5e, 0x01, 0x74, 0x27, 0xf6, 0x86, 0x6c, 0x01, 0x01, 0x74, 0x03,
- 0xe8, 0x16, 0x55, 0xf6, 0x86, 0x6d, 0x01, 0x01, 0x74, 0x03, 0xe8, 0x64, 0x55, 0xf7, 0x86, 0x82,
- 0x01, 0x01, 0x00, 0x75, 0x08, 0xf7, 0x86, 0x8a, 0x01, 0x01, 0x00, 0x74, 0x03, 0xe8, 0x40, 0x52,
- 0xe8, 0x5a, 0x05, 0xe8, 0x26, 0x05, 0xe8, 0x9e, 0x04, 0xe8, 0x43, 0x04, 0xf6, 0x86, 0x95, 0x02,
- 0x01, 0x74, 0x03, 0xe8, 0x78, 0x1c, 0x33, 0xdb, 0xf6, 0x86, 0xae, 0x02, 0x01, 0x74, 0x16, 0x8a,
- 0x5e, 0x09, 0x8a, 0x7e, 0x08, 0x38, 0xfb, 0x75, 0x30, 0x80, 0xfb, 0x00, 0x74, 0x07, 0x80, 0xfb,
- 0x1e, 0x74, 0x02, 0xeb, 0x22, 0x80, 0x7e, 0x06, 0x1e, 0x74, 0x1e, 0x33, 0xdb, 0x8a, 0x5e, 0x07,
- 0x3a, 0x5e, 0x06, 0x74, 0x14, 0xfa, 0x50, 0x8b, 0x46, 0x06, 0x89, 0x46, 0x0c, 0x58, 0x88, 0x5e,
- 0x06, 0x32, 0xff, 0xff, 0x97, 0x9e, 0x05, 0xeb, 0x32, 0x8a, 0x5e, 0x09, 0x3a, 0x5e, 0x08, 0x74,
- 0x2a, 0x50, 0x8b, 0x46, 0x08, 0x89, 0x46, 0x0e, 0x58, 0x80, 0xfb, 0x1e, 0x74, 0x12, 0x80, 0xfb,
- 0x00, 0x74, 0x0d, 0x80, 0xfb, 0x0c, 0x74, 0x08, 0x80, 0xfb, 0x16, 0x74, 0x03, 0xe8, 0x31, 0x2c,
- 0x88, 0x5e, 0x08, 0x32, 0xff, 0xfa, 0xff, 0x97, 0x7c, 0x05, 0xfb, 0xfa, 0xf7, 0x86, 0xf0, 0x00,
- 0xff, 0xff, 0x74, 0x0f, 0x8b, 0xb6, 0xf0, 0x00, 0x8b, 0x4c, 0x04, 0xe8, 0xce, 0x09, 0xfb, 0xff,
- 0xd1, 0xeb, 0x5c, 0xfb, 0xf7, 0x46, 0x16, 0xff, 0xff, 0x74, 0x27, 0x8d, 0x7e, 0x16, 0xe8, 0x64,
- 0x06, 0x56, 0x8b, 0x5c, 0x02, 0xd1, 0xe3, 0xff, 0x97, 0xcc, 0x04, 0x5e, 0xe8, 0x68, 0x06, 0xf7,
- 0x86, 0xcc, 0x01, 0x01, 0x00, 0x74, 0x09, 0xe8, 0xbf, 0x25, 0xc7, 0x86, 0xcc, 0x01, 0x00, 0x00,
- 0xeb, 0x2d, 0xfa, 0xf7, 0x86, 0x0a, 0x01, 0x01, 0x00, 0x75, 0x13, 0xf6, 0x86, 0xc4, 0x15, 0x80,
- 0x75, 0x0c, 0xc7, 0x86, 0x0a, 0x01, 0x01, 0x00, 0xfb, 0xe8, 0x0b, 0x3c, 0xeb, 0x11, 0xfa, 0x8b,
- 0x86, 0x67, 0x02, 0x38, 0xc4, 0x74, 0x07, 0x88, 0x86, 0x68, 0x02, 0xe8, 0xe5, 0x1a, 0xfb, 0xe8,
- 0xcd, 0x05, 0xe9, 0xcd, 0xfe, 0x8e, 0x46, 0x02, 0x26, 0xc7, 0x06, 0x44, 0x00, 0xff, 0xcb, 0x8e,
- 0x46, 0x02, 0x26, 0xc7, 0x06, 0x48, 0x00, 0xff, 0xfb, 0xe8, 0xa1, 0x02, 0x33, 0xc0, 0x88, 0x86,
- 0xb8, 0x01, 0x88, 0x86, 0xb9, 0x01, 0x8e, 0x46, 0x02, 0x26, 0xa2, 0x5a, 0x00, 0x89, 0x86, 0x18,
- 0x02, 0x89, 0x86, 0x0a, 0x02, 0x89, 0x86, 0x3a, 0x02, 0x8e, 0x46, 0x02, 0x26, 0xc7, 0x06, 0x4c,
- 0x00, 0x30, 0x01, 0x8d, 0x86, 0xa8, 0x08, 0x89, 0x86, 0xc0, 0x01, 0x89, 0x86, 0xc2, 0x01, 0xc7,
- 0x86, 0xc4, 0x01, 0x01, 0x00, 0x8c, 0xd8, 0x8e, 0xc0, 0x33, 0xc0, 0x8d, 0xbe, 0x58, 0x02, 0xb9,
- 0x52, 0x00, 0xd1, 0xe9, 0xf3, 0xab, 0xd1, 0xd1, 0xf3, 0xaa, 0x8d, 0xbe, 0xec, 0x05, 0xab, 0xab,
- 0xaa, 0x8d, 0xbe, 0xf4, 0x05, 0xab, 0xab, 0xaa, 0x8d, 0xbe, 0xb8, 0x02, 0xb9, 0x0b, 0x00, 0xf3,
- 0xab, 0xc7, 0x86, 0xc8, 0x01, 0x14, 0x00, 0xc7, 0x86, 0xc0, 0x02, 0x04, 0x00, 0xbb, 0xfc, 0x04,
- 0xb9, 0x0b, 0x00, 0x8b, 0x3f, 0x03, 0xfd, 0xab, 0xab, 0xab, 0x43, 0x43, 0xe2, 0xf5, 0xbb, 0x12,
- 0x05, 0xb9, 0x0a, 0x00, 0x8b, 0x3f, 0x03, 0xfd, 0xab, 0xab, 0x43, 0x43, 0xe2, 0xf6, 0xb8, 0x02,
- 0x00, 0x03, 0x06, 0x2a, 0x5d, 0xe8, 0x19, 0x05, 0x39, 0x06, 0x2a, 0x5d, 0x75, 0xf7, 0x8e, 0x46,
- 0x02, 0x26, 0x83, 0x0e, 0x4c, 0x00, 0x02, 0xc7, 0x86, 0x0c, 0x02, 0xc8, 0x00, 0xc7, 0x86, 0xfc,
- 0x01, 0xff, 0xff, 0xc7, 0x86, 0xfa, 0x01, 0x07, 0x00, 0xc6, 0x86, 0x8c, 0x02, 0x00, 0xe8, 0x01,
- 0x00, 0xc3, 0x8e, 0x46, 0x02, 0x33, 0xc0, 0xfa, 0x89, 0x86, 0xb6, 0x01, 0x8e, 0x46, 0x02, 0x26,
- 0xa3, 0x50, 0x00, 0x8b, 0x86, 0xa8, 0x15, 0x26, 0xa3, 0x70, 0x00, 0x89, 0x86, 0xb2, 0x01, 0x93,
- 0xc7, 0x07, 0x00, 0x00, 0xc7, 0x47, 0x02, 0xff, 0xff, 0x93, 0xc1, 0xe8, 0x08, 0x26, 0xa3, 0x74,
- 0x00, 0x8b, 0x86, 0xaa, 0x15, 0x26, 0xa3, 0x78, 0x00, 0x26, 0xa1, 0x78, 0x00, 0x93, 0xc7, 0x47,
- 0xfc, 0xde, 0xad, 0xc7, 0x47, 0xfe, 0xbe, 0xaf, 0x93, 0xc1, 0xe8, 0x08, 0x26, 0xa3, 0x76, 0x00,
- 0x33, 0xc0, 0xc6, 0x86, 0x87, 0x02, 0x01, 0x8d, 0xb6, 0xa8, 0x09, 0xc7, 0x86, 0xa6, 0x01, 0xb0,
- 0x09, 0x01, 0xae, 0xa6, 0x01, 0x89, 0xb6, 0xa8, 0x01, 0x89, 0xb6, 0xaa, 0x01, 0xc7, 0x04, 0x30,
- 0x80, 0xc7, 0x44, 0x04, 0x00, 0x00, 0xc6, 0x86, 0x8a, 0x02, 0x01, 0xfb, 0xe8, 0xa7, 0x08, 0x80,
- 0xbe, 0xfe, 0x00, 0x02, 0x74, 0x33, 0xb8, 0x00, 0x40, 0x80, 0xbe, 0xfe, 0x00, 0x00, 0x74, 0x13,
- 0x25, 0xff, 0x1f, 0x0d, 0x00, 0xa0, 0x83, 0xe0, 0xfd, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x4c,
- 0x00, 0x80, 0x00, 0x8e, 0x46, 0x02, 0x26, 0xa3, 0x40, 0x00, 0xa1, 0x2a, 0x5d, 0x83, 0xc0, 0x02,
- 0xe8, 0x3e, 0x04, 0x39, 0x06, 0x2a, 0x5d, 0x75, 0xf7, 0xc3, 0x8e, 0x46, 0x02, 0x26, 0xc7, 0x06,
- 0x40, 0x00, 0x08, 0xbe, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x42, 0x00, 0xc8, 0x8e, 0x46, 0x02,
- 0x26, 0xc7, 0x06, 0x4c, 0x00, 0xa0, 0x00, 0x8e, 0x46, 0x02, 0x26, 0xc7, 0x06, 0x50, 0x00, 0x04,
- 0x00, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x40, 0x00, 0x7f, 0xff, 0x90, 0x90, 0x8e, 0x46, 0x02,
- 0x26, 0x81, 0x0e, 0x40, 0x00, 0x80, 0x00, 0x90, 0x90, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x40,
- 0x00, 0x7f, 0xff, 0x8e, 0x46, 0x02, 0x26, 0xc7, 0x06, 0x68, 0x00, 0x18, 0x00, 0x8e, 0x46, 0x02,
- 0x26, 0x83, 0x0e, 0x4c, 0x00, 0x01, 0xc3, 0xc6, 0x86, 0x0c, 0x01, 0x01, 0xc6, 0x86, 0x0d, 0x01,
- 0x00, 0xe8, 0xcc, 0x27, 0xa1, 0x2a, 0x5d, 0x83, 0xc0, 0x02, 0x0b, 0xc0, 0x0b, 0xc0, 0x0b, 0xc0,
- 0x0b, 0xc0, 0x39, 0x06, 0x2a, 0x5d, 0x72, 0xf2, 0x80, 0xbe, 0x0d, 0x01, 0x01, 0x74, 0x03, 0xf9,
- 0xeb, 0x01, 0xf8, 0xc6, 0x86, 0x0c, 0x01, 0x00, 0xc3, 0xb8, 0x00, 0x00, 0x88, 0x86, 0x06, 0x01,
- 0x88, 0x86, 0x07, 0x01, 0x88, 0x86, 0x08, 0x01, 0x88, 0x86, 0x09, 0x01, 0x89, 0x86, 0x0a, 0x01,
- 0x88, 0x86, 0xb8, 0x01, 0x88, 0x86, 0xb9, 0x01, 0x88, 0x86, 0xd1, 0x01, 0xa2, 0x81, 0x5e, 0xc3,
- 0xb8, 0x40, 0x60, 0x8e, 0xc0, 0x26, 0x83, 0x0e, 0x32, 0x00, 0x08, 0x2b, 0xc0, 0x2b, 0xc0, 0x2b,
- 0xc0, 0x2b, 0xc0, 0x26, 0x83, 0x26, 0x32, 0x00, 0xf7, 0x2b, 0xc0, 0x2b, 0xc0, 0x2b, 0xc0, 0x2b,
- 0xc0, 0x2b, 0xc0, 0x26, 0x83, 0x0e, 0x32, 0x00, 0x08, 0x2b, 0xc0, 0x2b, 0xc0, 0x2b, 0xc0, 0x2b,
- 0xc0, 0x26, 0x83, 0x26, 0x32, 0x00, 0xf7, 0xc3, 0x50, 0x53, 0x52, 0xc6, 0x46, 0x01, 0x00, 0x32,
- 0xe4, 0x8a, 0x46, 0x00, 0xbb, 0x00, 0xbd, 0x81, 0xeb, 0x00, 0x7c, 0x81, 0xe3, 0x00, 0xff, 0x89,
- 0x9e, 0xac, 0x15, 0x81, 0xc3, 0x00, 0x01, 0xf7, 0xe3, 0x05, 0x00, 0x7c, 0x89, 0x86, 0xa8, 0x15,
- 0x03, 0x86, 0xac, 0x15, 0x48, 0x89, 0x86, 0xaa, 0x15, 0x5a, 0x5b, 0x58, 0xc3, 0x51, 0x8e, 0x46,
- 0x02, 0x26, 0x83, 0x26, 0x4c, 0x00, 0xfc, 0x8e, 0x46, 0x02, 0x26, 0xf7, 0x06, 0x54, 0x00, 0x80,
- 0x00, 0x75, 0x1e, 0xb9, 0xf4, 0x01, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x4c, 0x00, 0x00, 0x08,
- 0x8e, 0x46, 0x02, 0x26, 0xf7, 0x06, 0x54, 0x00, 0x80, 0x00, 0x75, 0x05, 0xe8, 0xe2, 0x02, 0xe2,
- 0xe5, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x4c, 0x00, 0xff, 0xf7, 0x59, 0x8e, 0x46, 0x02, 0x26,
- 0x83, 0x0e, 0x4c, 0x00, 0x02, 0xc3, 0x50, 0x53, 0xc1, 0xe0, 0x05, 0x05, 0x00, 0x03, 0x8b, 0xd8,
- 0x8d, 0x86, 0x00, 0x01, 0x89, 0x07, 0x8d, 0x86, 0xd4, 0x01, 0x89, 0x47, 0x02, 0x8d, 0x86, 0xe4,
- 0x01, 0x89, 0x47, 0x04, 0x8d, 0x86, 0xb0, 0x15, 0x89, 0x47, 0x08, 0x8d, 0x86, 0xc4, 0x15, 0x89,
- 0x47, 0x06, 0x8d, 0x86, 0xc0, 0x01, 0x89, 0x47, 0x0a, 0xc7, 0x47, 0x0c, 0x94, 0x5e, 0x8d, 0x86,
- 0x40, 0x02, 0x89, 0x47, 0x0e, 0x8d, 0x06, 0x2a, 0x5d, 0x89, 0x47, 0x10, 0x5b, 0x58, 0xc3, 0x50,
- 0xf7, 0x86, 0xf6, 0x00, 0x02, 0x00, 0x75, 0x02, 0xeb, 0x4b, 0xf6, 0x86, 0x64, 0x02, 0x01, 0x75,
- 0x07, 0xf6, 0x86, 0x72, 0x02, 0x01, 0x74, 0x3d, 0xf6, 0x86, 0x89, 0x02, 0x01, 0x74, 0x36, 0xc6,
- 0x86, 0x89, 0x02, 0x00, 0x8b, 0x86, 0x0a, 0x02, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x40, 0x74, 0x03,
- 0x25, 0xff, 0xaf, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x20, 0x74, 0x03, 0x25, 0xff, 0xdf, 0x89, 0x86,
- 0x0a, 0x02, 0x3b, 0x86, 0x3a, 0x02, 0x74, 0x0d, 0x89, 0x86, 0x3a, 0x02, 0x81, 0xa6, 0x3a, 0x02,
- 0x7f, 0xdf, 0xe8, 0xe0, 0x3e, 0x58, 0xc3, 0x57, 0x56, 0x50, 0x8b, 0x86, 0xe6, 0x02, 0xa9, 0xff,
- 0xff, 0x74, 0x40, 0x8d, 0xbe, 0xdc, 0x02, 0x8d, 0xb6, 0xec, 0x05, 0xb9, 0x0a, 0x00, 0x83, 0xf9,
- 0x05, 0x75, 0x04, 0x8d, 0xb6, 0xf4, 0x05, 0xa9, 0x01, 0x00, 0x74, 0x1e, 0x80, 0x3d, 0xff, 0x74,
- 0x12, 0xfe, 0x05, 0x80, 0x3d, 0xff, 0x75, 0x0b, 0x81, 0x8e, 0x0a, 0x02, 0x80, 0x00, 0xc6, 0x86,
- 0x89, 0x02, 0x01, 0x80, 0x3c, 0xff, 0x74, 0x02, 0xfe, 0x04, 0xd1, 0xe8, 0x47, 0x46, 0xe2, 0xce,
- 0xe8, 0x0a, 0x00, 0xc7, 0x86, 0xe6, 0x02, 0x00, 0x00, 0x58, 0x5e, 0x5f, 0xc3, 0xf6, 0x86, 0x5a,
- 0x02, 0x01, 0x75, 0x27, 0xf6, 0x86, 0xaf, 0x02, 0x01, 0x75, 0x07, 0xf6, 0x86, 0x64, 0x02, 0x01,
- 0x74, 0x19, 0xc6, 0x86, 0x5a, 0x02, 0x01, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x80, 0x75, 0x0c, 0xbe,
- 0x07, 0x4c, 0xe8, 0xa1, 0x03, 0xc7, 0x86, 0xc0, 0x02, 0x04, 0x00, 0xc3, 0xf7, 0x86, 0xb0, 0x15,
- 0x00, 0x80, 0x75, 0x02, 0xeb, 0x26, 0x8b, 0xb6, 0x60, 0x01, 0x3b, 0xb6, 0x5e, 0x01, 0x74, 0x1c,
- 0x46, 0x83, 0xe6, 0x07, 0x89, 0xb6, 0x60, 0x01, 0x8b, 0xce, 0xd1, 0xe1, 0xd1, 0xe1, 0x8d, 0xb6,
- 0x3e, 0x01, 0x03, 0xf1, 0x8b, 0x04, 0x8b, 0x54, 0x02, 0xe9, 0xd0, 0x3e, 0xc3, 0xbb, 0x00, 0x03,
- 0x83, 0x7f, 0x12, 0x00, 0x74, 0x08, 0xe8, 0x4b, 0x3e, 0xc7, 0x47, 0x12, 0x00, 0x00, 0xc3, 0x53,
- 0x50, 0x33, 0xc0, 0x88, 0x86, 0xcf, 0x01, 0xa3, 0x92, 0x5e, 0xbb, 0x94, 0x5e, 0x89, 0x1e, 0x8a,
- 0x5e, 0x89, 0x07, 0x89, 0x47, 0x02, 0x89, 0x47, 0x04, 0xa3, 0x8c, 0x5e, 0xa3, 0x8e, 0x5e, 0xa3,
- 0x90, 0x5e, 0x58, 0x5b, 0xc3, 0x50, 0x8a, 0xe0, 0xe4, 0x12, 0xf6, 0xd4, 0x22, 0xc4, 0xe6, 0x12,
- 0x58, 0xc3, 0xc6, 0x46, 0x06, 0x00, 0xc6, 0x46, 0x07, 0x00, 0xc6, 0x46, 0x08, 0x00, 0xc6, 0x46,
- 0x09, 0x00, 0xc6, 0x86, 0xc4, 0x15, 0x80, 0x8d, 0xbe, 0x16, 0x03, 0x8c, 0xd8, 0x8e, 0xc0, 0xab,
- 0xab, 0xab, 0xc3, 0x51, 0x53, 0xb9, 0x10, 0x00, 0xd1, 0xe0, 0xd1, 0xdb, 0xe2, 0xfa, 0x8b, 0xc3,
- 0x86, 0xc4, 0x5b, 0x59, 0xc3, 0x90, 0x50, 0x53, 0x51, 0x52, 0x57, 0x56, 0x8d, 0x1e, 0x6c, 0x05,
- 0xb8, 0x40, 0x60, 0x8e, 0xc0, 0xff, 0x06, 0x4e, 0x00, 0xc7, 0x06, 0x46, 0x5d, 0x00, 0x00, 0xc6,
- 0x06, 0x4a, 0x5d, 0x00, 0xc7, 0x06, 0x4e, 0x5d, 0x30, 0x00, 0x8d, 0x3e, 0x48, 0x5d, 0xb8, 0xa4,
- 0x65, 0x89, 0x05, 0x06, 0x33, 0xc0, 0x8e, 0xc0, 0xa3, 0x2a, 0x5d, 0xa3, 0x2c, 0x5d, 0xa3, 0x2e,
- 0x5d, 0x8d, 0x3e, 0x3e, 0x5d, 0xb9, 0x04, 0x00, 0xd1, 0xe9, 0xf3, 0xab, 0x8d, 0x3e, 0x42, 0x5d,
- 0xb9, 0x04, 0x00, 0xd1, 0xe9, 0xf3, 0xab, 0x07, 0x8b, 0xd4, 0xb9, 0x01, 0x00, 0xbb, 0x00, 0x00,
- 0xbd, 0xa4, 0x65, 0x88, 0x5e, 0x00, 0x8b, 0xc3, 0xd1, 0xe0, 0xd1, 0xe0, 0x05, 0x40, 0x60, 0x89,
- 0x46, 0x02, 0x06, 0x51, 0x8c, 0xd8, 0x8e, 0xc0, 0xbe, 0x80, 0x03, 0x8d, 0xbe, 0x1a, 0x04, 0xb9,
- 0x05, 0x00, 0xf3, 0xa5, 0x59, 0x07, 0xe8, 0x2f, 0xfd, 0xe8, 0xe2, 0x00, 0x8b, 0xc5, 0x05, 0xa4,
- 0x08, 0x89, 0x86, 0xa6, 0x08, 0x83, 0xc0, 0x02, 0x8b, 0xe0, 0x68, 0x00, 0x06, 0x81, 0xc5, 0x44,
- 0x16, 0x43, 0xe2, 0xbf, 0x8b, 0xe2, 0x33, 0xed, 0x5e, 0x5f, 0x5a, 0x59, 0x5b, 0x58, 0xc3, 0x3e,
- 0x89, 0xa6, 0xa6, 0x08, 0x33, 0xed, 0xbc, 0x7e, 0x5e, 0xfa, 0x83, 0x0e, 0x42, 0x5d, 0x00, 0x74,
- 0x0d, 0x8b, 0x36, 0x42, 0x5d, 0x8b, 0x4c, 0x04, 0xe8, 0xd1, 0x03, 0xfb, 0xff, 0xd1, 0xfb, 0x32,
- 0xff, 0x8a, 0x1e, 0x46, 0x5d, 0x80, 0x8f, 0x4c, 0x5d, 0x00, 0x75, 0x21, 0xd1, 0xe3, 0x8b, 0xaf,
- 0x48, 0x5d, 0x81, 0xbe, 0xa4, 0x06, 0xa5, 0xa5, 0x74, 0x0c, 0xd1, 0xeb, 0xc6, 0x87, 0x4c, 0x5d,
- 0x01, 0xe8, 0xdb, 0x06, 0xeb, 0x07, 0x8b, 0x86, 0xa6, 0x08, 0x8b, 0xe0, 0xc3, 0xeb, 0xb5, 0xeb,
- 0xae, 0x60, 0x9c, 0xe8, 0xa9, 0xff, 0x0e, 0xe8, 0x02, 0x00, 0xeb, 0x01, 0xcf, 0x61, 0xc3, 0x50,
- 0xfa, 0x8b, 0x76, 0x1a, 0xf7, 0xc6, 0xff, 0xff, 0x74, 0x10, 0x8b, 0x04, 0x89, 0x46, 0x1a, 0x0b,
- 0xc0, 0x75, 0x03, 0x89, 0x46, 0x1c, 0xc7, 0x04, 0x00, 0x00, 0xfb, 0x58, 0xc3, 0x53, 0xfa, 0xc7,
- 0x04, 0x00, 0x00, 0x8b, 0x5d, 0x02, 0x89, 0x37, 0x89, 0x75, 0x02, 0x83, 0x3d, 0x00, 0x75, 0x02,
- 0x89, 0x35, 0xfb, 0x5b, 0xc3, 0x50, 0xfa, 0x8b, 0x35, 0x8b, 0x04, 0x89, 0x05, 0x0b, 0xc0, 0x75,
- 0x03, 0x89, 0x45, 0x02, 0xfb, 0x58, 0xc3, 0x50, 0xfa, 0x8b, 0x46, 0x1a, 0x89, 0x04, 0x89, 0x76,
- 0x1a, 0xf7, 0x46, 0x1a, 0xff, 0xff, 0x75, 0x03, 0x89, 0x76, 0x1a, 0xfb, 0x58, 0xc3, 0x50, 0x53,
- 0x51, 0x8b, 0xc5, 0x83, 0xc0, 0x1e, 0x89, 0x46, 0x1a, 0x83, 0xc0, 0x48, 0x89, 0x46, 0x1c, 0xb9,
- 0x09, 0x00, 0x8b, 0xdd, 0x8b, 0xc5, 0x83, 0xc0, 0x26, 0x89, 0x47, 0x1e, 0x83, 0xc3, 0x08, 0x83,
- 0xc0, 0x08, 0xe2, 0xf5, 0x59, 0x5b, 0x58, 0xc3, 0x60, 0x06, 0x1e, 0xfa, 0x33, 0xdb, 0x8e, 0xdb,
- 0x83, 0x06, 0x2a, 0x5d, 0x01, 0x73, 0x04, 0x11, 0x1e, 0x2c, 0x5d, 0xb9, 0x01, 0x00, 0x8b, 0xaf,
- 0x48, 0x5d, 0xf6, 0x06, 0x81, 0x5e, 0x01, 0x75, 0x03, 0xe8, 0x60, 0x46, 0xf7, 0x86, 0xa8, 0x02,
- 0x01, 0x00, 0x74, 0x30, 0xfe, 0x86, 0x6b, 0x01, 0x80, 0xbe, 0x6b, 0x01, 0x02, 0x73, 0x02, 0xeb,
- 0x23, 0xc6, 0x86, 0x6b, 0x01, 0x00, 0xf7, 0x86, 0x1c, 0x01, 0x01, 0x00, 0x75, 0x0a, 0x8e, 0x46,
- 0x02, 0x26, 0x81, 0x26, 0x44, 0x00, 0x32, 0xfe, 0x81, 0xa6, 0x18, 0x01, 0x32, 0xfe, 0xc7, 0x86,
- 0xa8, 0x02, 0x00, 0x00, 0xc6, 0x86, 0x6a, 0x01, 0x00, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x48, 0x00,
- 0x25, 0x00, 0x02, 0x74, 0x03, 0xe8, 0x30, 0x17, 0xf6, 0x86, 0x58, 0x02, 0x01, 0x74, 0x03, 0xe8,
- 0x2e, 0x46, 0x8b, 0x86, 0xf6, 0x00, 0x25, 0xd0, 0xe3, 0x89, 0x86, 0x30, 0x02, 0x8a, 0x46, 0x08,
- 0x3c, 0x06, 0x74, 0x08, 0x3c, 0x0a, 0x74, 0x04, 0x3c, 0x18, 0x75, 0x04, 0xff, 0x86, 0x4a, 0x02,
- 0x83, 0xc3, 0x02, 0x49, 0x74, 0x03, 0xe9, 0x75, 0xff, 0xf7, 0x06, 0x3e, 0x5d, 0xff, 0xff, 0x74,
- 0x1f, 0xff, 0x0e, 0x2e, 0x5d, 0x75, 0x19, 0xe8, 0x14, 0x02, 0x8b, 0x1e, 0x3e, 0x5d, 0x0b, 0xdb,
- 0x74, 0x0e, 0x8b, 0x47, 0x08, 0xa3, 0x2e, 0x5d, 0xf7, 0x06, 0x2e, 0x5d, 0xff, 0xff, 0x74, 0xe7,
- 0x50, 0xb0, 0xa0, 0xe6, 0x10, 0x58, 0x1f, 0x07, 0x61, 0xcf, 0x60, 0x06, 0x1e, 0xfa, 0x8d, 0x36,
- 0x32, 0x5d, 0x83, 0x04, 0x01, 0x83, 0x54, 0x02, 0x00, 0xe8, 0x64, 0x4a, 0xa0, 0x30, 0x5d, 0xfe,
- 0xc0, 0x3c, 0x04, 0x72, 0x08, 0xc6, 0x06, 0x30, 0x5d, 0x00, 0xe9, 0x0f, 0xff, 0xa2, 0x30, 0x5d,
- 0xeb, 0xce, 0x50, 0x57, 0x56, 0xfa, 0x8d, 0x36, 0x36, 0x5d, 0x83, 0x04, 0x01, 0x83, 0x54, 0x02,
- 0x00, 0x80, 0x3e, 0x81, 0x5e, 0x01, 0x75, 0x0d, 0x8b, 0x36, 0x84, 0x5e, 0x83, 0xfe, 0x14, 0x77,
- 0x0e, 0xff, 0x94, 0x56, 0x05, 0x50, 0xb0, 0xa0, 0xe6, 0x10, 0x58, 0x5e, 0x5f, 0x58, 0xcf, 0xe8,
- 0x12, 0x4d, 0xeb, 0xf1, 0x57, 0x56, 0x50, 0xfa, 0x8d, 0x36, 0x3a, 0x5d, 0x83, 0x04, 0x01, 0x83,
- 0x54, 0x02, 0x00, 0x80, 0x3e, 0x81, 0x5e, 0x01, 0x75, 0x0d, 0x8b, 0x36, 0x84, 0x5e, 0x83, 0xfe,
- 0x14, 0x77, 0x0e, 0xff, 0x94, 0x56, 0x05, 0x50, 0xb0, 0xa0, 0xe6, 0x10, 0x58, 0x58, 0x5e, 0x5f,
- 0xcf, 0xe8, 0xe0, 0x4c, 0xeb, 0xf1, 0x50, 0x53, 0x51, 0x57, 0xe8, 0xab, 0x00, 0xfa, 0x8b, 0x3c,
- 0x03, 0xfd, 0x89, 0x6d, 0x02, 0x8b, 0x44, 0x02, 0x89, 0x45, 0x04, 0x8b, 0x44, 0x04, 0x89, 0x45,
- 0x06, 0x0b, 0xc0, 0x75, 0x0e, 0x8b, 0x86, 0x0c, 0x02, 0x0b, 0xc0, 0x75, 0x03, 0xb8, 0xc8, 0x00,
- 0x89, 0x45, 0x06, 0xf7, 0x06, 0x3e, 0x5d, 0xff, 0xff, 0x75, 0x14, 0x89, 0x3e, 0x3e, 0x5d, 0x89,
- 0x3e, 0x40, 0x5d, 0xc7, 0x05, 0x00, 0x00, 0x89, 0x45, 0x08, 0xa3, 0x2e, 0x5d, 0xeb, 0x63, 0x8b,
- 0x3e, 0x3e, 0x5d, 0x8b, 0x0e, 0x2e, 0x5d, 0x33, 0xdb, 0x3b, 0xc8, 0x72, 0x35, 0x0b, 0xdb, 0x75,
- 0x17, 0x2b, 0xc8, 0x89, 0x4d, 0x08, 0x8b, 0x34, 0x03, 0xf5, 0x89, 0x44, 0x08, 0x89, 0x3c, 0x89,
- 0x36, 0x3e, 0x5d, 0xa3, 0x2e, 0x5d, 0xeb, 0x3a, 0x2b, 0x4d, 0x08, 0x2b, 0xc1, 0x8b, 0x34, 0x03,
- 0xf5, 0x89, 0x44, 0x08, 0x8b, 0x4d, 0x08, 0x2b, 0xc8, 0x89, 0x4d, 0x08, 0x89, 0x37, 0x89, 0x3c,
- 0xeb, 0x20, 0x8b, 0xdf, 0x8b, 0x3d, 0x0b, 0xff, 0x74, 0x05, 0x03, 0x4d, 0x08, 0xeb, 0xba, 0x2b,
- 0xc1, 0x8b, 0x34, 0x03, 0xf5, 0x89, 0x44, 0x08, 0x89, 0x37, 0xc7, 0x04, 0x00, 0x00, 0x89, 0x36,
- 0x40, 0x5d, 0xfb, 0x5f, 0x59, 0x5b, 0x58, 0xc3, 0x57, 0x53, 0x50, 0x56, 0xfa, 0x8b, 0x1e, 0x3e,
- 0x5d, 0x33, 0xff, 0x8b, 0x34, 0x03, 0xf5, 0x83, 0x7c, 0x02, 0xff, 0x74, 0x4b, 0x3b, 0xde, 0x75,
- 0x49, 0x0b, 0xff, 0x74, 0x18, 0x8b, 0x07, 0x89, 0x05, 0x0b, 0xc0, 0x75, 0x06, 0x89, 0x3e, 0x40,
- 0x5d, 0xeb, 0x2c, 0x8b, 0x4f, 0x08, 0x8b, 0xf8, 0x01, 0x4d, 0x08, 0xeb, 0x22, 0x8b, 0x3f, 0x89,
- 0x3e, 0x3e, 0x5d, 0x0b, 0xff, 0x75, 0x0c, 0x89, 0x3e, 0x40, 0x5d, 0xc7, 0x06, 0x2e, 0x5d, 0xff,
- 0xff, 0xeb, 0x0c, 0xa1, 0x2e, 0x5d, 0x01, 0x45, 0x08, 0x8b, 0x45, 0x08, 0xa3, 0x2e, 0x5d, 0xc7,
- 0x47, 0x02, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0xeb, 0x4e, 0x83, 0xcb, 0x00, 0x74, 0x06, 0x8b,
- 0xfb, 0x8b, 0x1f, 0xeb, 0xa8, 0x83, 0xfd, 0x00, 0x75, 0x05, 0xbb, 0x42, 0x5d, 0xeb, 0x04, 0x8d,
- 0x9e, 0xf0, 0x00, 0x8b, 0x1f, 0x83, 0xfb, 0x00, 0x74, 0x2e, 0x3b, 0xde, 0x75, 0x05, 0xe8, 0x6b,
- 0x00, 0xeb, 0x25, 0x8b, 0xfb, 0x8b, 0x1f, 0x83, 0xcb, 0x00, 0x74, 0x1c, 0x3b, 0xde, 0x75, 0xf3,
- 0x8b, 0x07, 0x89, 0x05, 0x83, 0xc8, 0x00, 0x75, 0x04, 0x89, 0xbe, 0xf2, 0x00, 0xc7, 0x07, 0x00,
- 0x00, 0xc7, 0x47, 0x02, 0xff, 0xff, 0xeb, 0x00, 0xfb, 0x5e, 0x58, 0x5b, 0x5f, 0xc3, 0x50, 0x53,
- 0x56, 0x55, 0x8b, 0x1e, 0x3e, 0x5d, 0x8b, 0x6f, 0x02, 0x0b, 0xed, 0x74, 0x06, 0x81, 0xc5, 0xf0,
- 0x00, 0xeb, 0x03, 0xbd, 0x42, 0x5d, 0x8b, 0x76, 0x02, 0x8b, 0x07, 0xa3, 0x3e, 0x5d, 0x0b, 0xc0,
- 0x75, 0x03, 0xa3, 0x40, 0x5d, 0x89, 0x5e, 0x02, 0x89, 0x1c, 0xc7, 0x07, 0x00, 0x00, 0x83, 0x4e,
- 0x00, 0x00, 0x75, 0x03, 0x89, 0x5e, 0x00, 0x5d, 0x5e, 0x5b, 0x58, 0xc3, 0x55, 0x53, 0x50, 0x0b,
- 0xed, 0x74, 0x06, 0x81, 0xc5, 0xf0, 0x00, 0xeb, 0x03, 0xbd, 0x42, 0x5d, 0x8b, 0x5e, 0x00, 0xc7,
- 0x47, 0x02, 0xff, 0xff, 0x8b, 0x07, 0xc7, 0x07, 0x00, 0x00, 0x8b, 0xd8, 0x89, 0x5e, 0x00, 0x0b,
- 0xdb, 0x75, 0x03, 0x89, 0x5e, 0x02, 0x58, 0x5b, 0x5d, 0xc3, 0x50, 0x53, 0x51, 0x57, 0x56, 0xfa,
- 0x8b, 0x1e, 0x3e, 0x5d, 0x33, 0xff, 0x83, 0xcb, 0x00, 0x74, 0x54, 0x8b, 0xc3, 0x39, 0x6f, 0x02,
- 0x75, 0x47, 0x0b, 0xff, 0x74, 0x18, 0x8b, 0x37, 0x89, 0x35, 0x8b, 0xc7, 0x0b, 0xf6, 0x75, 0x06,
- 0x89, 0x3e, 0x40, 0x5d, 0xeb, 0x2c, 0x8b, 0x4f, 0x08, 0x01, 0x4c, 0x08, 0xeb, 0x24, 0x8b, 0x37,
- 0x89, 0x36, 0x3e, 0x5d, 0x0b, 0xf6, 0x75, 0x0c, 0x89, 0x36, 0x40, 0x5d, 0xc7, 0x06, 0x2e, 0x5d,
- 0xff, 0xff, 0xeb, 0x0e, 0xa1, 0x2e, 0x5d, 0x01, 0x44, 0x08, 0x8b, 0x44, 0x08, 0xa3, 0x2e, 0x5d,
- 0x33, 0xc0, 0xc7, 0x47, 0x02, 0xff, 0xff, 0xeb, 0x00, 0x8b, 0xf8, 0x8b, 0x1f, 0xeb, 0xa7, 0xfb,
- 0x5e, 0x5f, 0x59, 0x5b, 0x58, 0xc3, 0x50, 0x53, 0x51, 0x52, 0x8a, 0x8e, 0xad, 0x02, 0x8e, 0x46,
- 0x02, 0x26, 0xa1, 0x32, 0x00, 0x8a, 0x9e, 0x7d, 0x02, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x75, 0x57,
- 0xf6, 0x86, 0xb3, 0x02, 0x01, 0x75, 0x4e, 0x0d, 0x74, 0x80, 0x25, 0x7f, 0x9f, 0x26, 0xa3, 0x32,
- 0x00, 0xb8, 0x01, 0x00, 0xe8, 0x16, 0x05, 0x26, 0x83, 0x0e, 0x42, 0x00, 0x04, 0xc6, 0x86, 0xb4,
- 0x02, 0x00, 0x26, 0xa1, 0x32, 0x00, 0x0d, 0x00, 0x60, 0x26, 0xa3, 0x32, 0x00, 0xb8, 0x00, 0x00,
- 0xe8, 0xfa, 0x04, 0x26, 0xa1, 0x32, 0x00, 0x83, 0xe0, 0xdf, 0x26, 0xa3, 0x32, 0x00, 0xb8, 0x00,
- 0x00, 0xe8, 0xe9, 0x04, 0xe8, 0x6c, 0x01, 0x26, 0xa1, 0x8c, 0x00, 0x25, 0xff, 0x07, 0x0d, 0x00,
- 0xd0, 0x26, 0xa3, 0x8c, 0x00, 0xeb, 0x3c, 0xf6, 0x86, 0xb4, 0x02, 0x01, 0x75, 0x35, 0x26, 0x83,
- 0x26, 0x42, 0x00, 0xfb, 0x26, 0xa1, 0x32, 0x00, 0x0d, 0xb4, 0x80, 0x25, 0xbf, 0x9f, 0x26, 0xa3,
- 0x32, 0x00, 0xc6, 0x86, 0xb3, 0x02, 0x00, 0xb8, 0x01, 0x00, 0xe8, 0xb0, 0x04, 0x26, 0xa1, 0x32,
- 0x00, 0x83, 0xe0, 0xef, 0x26, 0xa3, 0x32, 0x00, 0xc6, 0x86, 0xb4, 0x02, 0x01, 0xb8, 0x00, 0x00,
- 0xe8, 0x9a, 0x04, 0x26, 0xa1, 0x40, 0x00, 0x8b, 0xd8, 0x80, 0xbe, 0xfe, 0x00, 0x01, 0x75, 0x10,
- 0x83, 0xe0, 0xfd, 0xc6, 0x86, 0x7d, 0x02, 0x01, 0x25, 0xff, 0x1f, 0x0d, 0x00, 0x80, 0xeb, 0x0e,
- 0x25, 0xff, 0x1f, 0x0d, 0x00, 0x20, 0x83, 0xc8, 0x02, 0xc6, 0x86, 0x7d, 0x02, 0x00, 0xe8, 0x96,
- 0x02, 0x0d, 0x00, 0x08, 0xf6, 0x86, 0xaf, 0x02, 0x01, 0x75, 0x03, 0x25, 0xff, 0xf7, 0x33, 0xd8,
- 0x74, 0x04, 0x26, 0xa3, 0x40, 0x00, 0x26, 0xa1, 0x4c, 0x00, 0x8a, 0x9e, 0x7d, 0x02, 0x8b, 0xd8,
- 0xf7, 0x86, 0x12, 0x01, 0x10, 0x00, 0x74, 0x05, 0x0d, 0x00, 0x10, 0xeb, 0x03, 0x25, 0xff, 0xef,
- 0x8a, 0xae, 0x6d, 0x02, 0x80, 0xf9, 0x01, 0x75, 0x04, 0x8a, 0xae, 0x6e, 0x02, 0xf6, 0xc5, 0x01,
- 0x74, 0x05, 0x83, 0xc8, 0x10, 0xeb, 0x03, 0x83, 0xe0, 0xef, 0xf6, 0x86, 0x6f, 0x02, 0x01, 0x74,
- 0x0a, 0x83, 0xc8, 0x20, 0xc6, 0x86, 0x7e, 0x02, 0x00, 0xeb, 0x08, 0x83, 0xe0, 0xdf, 0xc6, 0x86,
- 0x7e, 0x02, 0x01, 0xf6, 0x86, 0x58, 0x02, 0x01, 0x74, 0x0a, 0xc6, 0x86, 0x7e, 0x02, 0x00, 0x83,
- 0xc8, 0x40, 0xeb, 0x03, 0x83, 0xe0, 0xbf, 0xf6, 0x86, 0x7d, 0x02, 0x01, 0x74, 0x05, 0x0d, 0x80,
- 0x00, 0xeb, 0x03, 0x25, 0x7f, 0xff, 0xf6, 0x86, 0x7c, 0x02, 0x01, 0x74, 0x05, 0x0d, 0x00, 0x01,
- 0xeb, 0x03, 0x25, 0xff, 0xfe, 0xf6, 0x86, 0x7e, 0x02, 0x01, 0x74, 0x05, 0x0d, 0x00, 0x20, 0xeb,
- 0x03, 0x25, 0xff, 0xdf, 0x33, 0xd8, 0x74, 0x12, 0xf7, 0xc3, 0x20, 0x00, 0x74, 0x05, 0xc6, 0x06,
- 0x4e, 0x13, 0x01, 0x25, 0xff, 0xf7, 0x26, 0xa3, 0x4c, 0x00, 0x26, 0xa1, 0x50, 0x00, 0x8b, 0xd8,
- 0x33, 0xd8, 0x74, 0x04, 0x26, 0xa3, 0x50, 0x00, 0xf6, 0x06, 0x4e, 0x13, 0x01, 0x74, 0x1e, 0xc6,
- 0x06, 0x4e, 0x13, 0x00, 0x26, 0x81, 0x26, 0x40, 0x00, 0x7f, 0xff, 0x90, 0x90, 0x26, 0x81, 0x0e,
- 0x40, 0x00, 0x80, 0x00, 0x90, 0x90, 0x26, 0x81, 0x26, 0x40, 0x00, 0x7f, 0xff, 0x5a, 0x59, 0x5b,
- 0x58, 0xc3, 0x00, 0xf6, 0x86, 0xb3, 0x02, 0x01, 0x75, 0x42, 0x50, 0xe8, 0x50, 0x03, 0xb3, 0x00,
- 0x8a, 0x3e, 0x80, 0x5e, 0xb8, 0x00, 0x80, 0xe8, 0xdf, 0x02, 0x8b, 0xc0, 0x8b, 0xc0, 0x8b, 0xc0,
- 0xb3, 0x00, 0x8a, 0x3e, 0x80, 0x5e, 0xb8, 0x00, 0x21, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x04, 0x74,
- 0x03, 0x0d, 0x00, 0x40, 0xe8, 0xc2, 0x02, 0xb3, 0x1b, 0x8a, 0x3e, 0x80, 0x5e, 0xe8, 0x12, 0x02,
- 0x83, 0xc8, 0x10, 0xe8, 0xb3, 0x02, 0xc6, 0x86, 0xb3, 0x02, 0x01, 0x58, 0xc3, 0x8e, 0x46, 0x02,
- 0xf7, 0x86, 0xf4, 0x00, 0x04, 0x00, 0x74, 0x0b, 0xc6, 0x06, 0x81, 0x5e, 0x01, 0x26, 0x83, 0x0e,
- 0x42, 0x00, 0x02, 0xc6, 0x86, 0xb0, 0x02, 0x00, 0xc6, 0x86, 0xb1, 0x02, 0x00, 0xa8, 0x02, 0x74,
- 0x26, 0x26, 0x83, 0x26, 0x42, 0x00, 0xcf, 0xf7, 0x86, 0xf4, 0x00, 0x04, 0x00, 0x75, 0x14, 0xf7,
- 0x86, 0x12, 0x01, 0x00, 0x84, 0x75, 0x0c, 0x80, 0xbe, 0xfe, 0x00, 0x01, 0x77, 0x05, 0xc6, 0x86,
- 0xb0, 0x02, 0x01, 0xb0, 0x02, 0xeb, 0x2a, 0xa8, 0x04, 0x74, 0x0e, 0x26, 0x83, 0x0e, 0x42, 0x00,
- 0x20, 0x26, 0x83, 0x26, 0x42, 0x00, 0xef, 0xeb, 0x18, 0xa8, 0x08, 0x74, 0x08, 0x26, 0x83, 0x0e,
- 0x42, 0x00, 0x30, 0xeb, 0x0c, 0xa8, 0x10, 0x74, 0x08, 0x26, 0x83, 0x0e, 0x42, 0x00, 0x30, 0xeb,
- 0x00, 0xf6, 0x06, 0x81, 0x5e, 0x01, 0x74, 0x06, 0x26, 0x83, 0x26, 0x42, 0x00, 0xcf, 0xc3, 0xc3,
- 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x4c, 0x00, 0x00, 0x01, 0x90, 0x90, 0x90, 0x90, 0x8e, 0x46,
- 0x02, 0x26, 0x81, 0x26, 0x4c, 0x00, 0xff, 0xfe, 0xc3, 0x8e, 0x46, 0x02, 0x80, 0xbe, 0xfe, 0x00,
- 0x02, 0x74, 0x1e, 0xf6, 0x06, 0x81, 0x5e, 0x01, 0x75, 0x0f, 0x80, 0xbe, 0xb0, 0x02, 0x01, 0x75,
- 0x10, 0x26, 0x83, 0x0e, 0x42, 0x00, 0x02, 0xeb, 0x08, 0xc6, 0x86, 0x6c, 0x01, 0x01, 0xe8, 0x18,
- 0x47, 0xc3, 0x8e, 0x46, 0x02, 0xf7, 0x86, 0xf4, 0x00, 0x02, 0x00, 0x74, 0x09, 0x26, 0x81, 0x26,
- 0x42, 0x00, 0xff, 0xef, 0xeb, 0x07, 0x26, 0x81, 0x0e, 0x42, 0x00, 0x00, 0x10, 0xc3, 0x8e, 0x46,
- 0x02, 0xf7, 0x86, 0xf4, 0x00, 0x02, 0x00, 0x74, 0x09, 0x26, 0x81, 0x0e, 0x42, 0x00, 0x00, 0x10,
- 0xeb, 0x07, 0x26, 0x81, 0x26, 0x42, 0x00, 0xff, 0xef, 0xc3, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e,
- 0x42, 0x00, 0x00, 0x80, 0xc3, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x42, 0x00, 0xff, 0x7f, 0xc3,
- 0xf7, 0x86, 0xf4, 0x00, 0x08, 0x00, 0x74, 0x13, 0xe8, 0xdf, 0xff, 0xeb, 0x39, 0x80, 0x7e, 0x06,
- 0x0e, 0x74, 0x1d, 0x80, 0x7e, 0x06, 0x48, 0x74, 0x23, 0xeb, 0x2b, 0xe8, 0xd7, 0xff, 0x8e, 0x46,
- 0x02, 0xf7, 0x86, 0xf4, 0x00, 0x10, 0x00, 0x75, 0xe4, 0x80, 0xbe, 0xfe, 0x00, 0x00, 0x75, 0x0c,
- 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x42, 0x00, 0x00, 0x40, 0xeb, 0x0a, 0x8e, 0x46, 0x02, 0x26,
- 0x81, 0x26, 0x42, 0x00, 0xff, 0xbf, 0xc3, 0x83, 0xe0, 0xf7, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x04,
- 0x74, 0x03, 0x83, 0xc8, 0x08, 0xc3, 0x80, 0xbe, 0xfe, 0x00, 0x01, 0x77, 0x0a, 0x8e, 0x46, 0x02,
- 0x26, 0x83, 0x0e, 0x50, 0x00, 0x04, 0xc3, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x90, 0x00, 0x04,
- 0xc3, 0x80, 0xbe, 0xfe, 0x00, 0x01, 0x77, 0x0a, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x50, 0x00,
- 0xfb, 0xc3, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x90, 0x00, 0xfb, 0xc3, 0x51, 0x50, 0xfa, 0x8e,
- 0x46, 0x02, 0x26, 0x83, 0x26, 0x92, 0x00, 0xfb, 0x26, 0x83, 0x26, 0x92, 0x00, 0xfe, 0x90, 0x90,
- 0x90, 0x90, 0x26, 0x83, 0x0e, 0x92, 0x00, 0x01, 0x90, 0x90, 0x90, 0x90, 0x26, 0xa1, 0x92, 0x00,
- 0x83, 0xc8, 0x02, 0xb9, 0x20, 0x00, 0xe8, 0x06, 0x00, 0xe2, 0xfb, 0xfb, 0x58, 0x59, 0xc3, 0x53,
- 0x8e, 0x46, 0x02, 0x24, 0xfe, 0x26, 0xa3, 0x92, 0x00, 0x90, 0x90, 0x90, 0x90, 0x0c, 0x01, 0x26,
- 0xa3, 0x92, 0x00, 0x90, 0x90, 0x90, 0x5b, 0xc3, 0x51, 0xb1, 0x03, 0xd2, 0xe5, 0xb1, 0x05, 0xd0,
- 0xe5, 0x72, 0x04, 0x24, 0xfd, 0xeb, 0x02, 0x0c, 0x02, 0xe8, 0xd3, 0xff, 0xfe, 0xc9, 0x75, 0xef,
- 0x59, 0xc3, 0x9c, 0xfa, 0x51, 0x52, 0xfa, 0x8e, 0x46, 0x02, 0xe8, 0x8f, 0xff, 0x26, 0xa1, 0x92,
- 0x00, 0x83, 0xe0, 0xfd, 0x83, 0xc8, 0x01, 0x26, 0xa3, 0x92, 0x00, 0x83, 0xc8, 0x04, 0x26, 0xa3,
- 0x92, 0x00, 0xe8, 0xaa, 0xff, 0x83, 0xc8, 0x02, 0xe8, 0xa4, 0xff, 0x83, 0xc8, 0x02, 0xe8, 0x9e,
- 0xff, 0x83, 0xe0, 0xfd, 0xe8, 0x98, 0xff, 0x8a, 0xef, 0xe8, 0xac, 0xff, 0x8a, 0xeb, 0xe8, 0xa7,
- 0xff, 0x83, 0xe0, 0xfb, 0xe8, 0x88, 0xff, 0x83, 0xe0, 0xfe, 0x26, 0xa3, 0x92, 0x00, 0x90, 0x90,
- 0x26, 0x8b, 0x0e, 0x92, 0x00, 0xf7, 0xc1, 0x02, 0x00, 0x74, 0x12, 0xa8, 0x02, 0x74, 0x0e, 0xb9,
- 0x12, 0x00, 0xe8, 0x6a, 0xff, 0xe2, 0xfb, 0xfb, 0x5a, 0x59, 0x9d, 0xf9, 0xc3, 0x0c, 0x01, 0x26,
- 0xa3, 0x92, 0x00, 0x90, 0x90, 0x90, 0x90, 0xb1, 0x10, 0x53, 0x33, 0xdb, 0x24, 0xfe, 0x26, 0xa3,
- 0x92, 0x00, 0x26, 0xa1, 0x92, 0x00, 0xd1, 0xe3, 0xa8, 0x02, 0x74, 0x03, 0x83, 0xcb, 0x01, 0x0c,
- 0x01, 0x26, 0xa3, 0x92, 0x00, 0x90, 0x90, 0x90, 0x90, 0xfe, 0xc9, 0x75, 0xdf, 0xe8, 0x2f, 0xff,
- 0x8b, 0xc3, 0x5b, 0xfb, 0x5a, 0x59, 0x9d, 0xf8, 0xc3, 0x9c, 0xfa, 0x51, 0x53, 0x52, 0x50, 0xfa,
- 0xe8, 0xe9, 0xfe, 0x26, 0xa1, 0x92, 0x00, 0x83, 0xe0, 0xfd, 0x83, 0xc8, 0x01, 0x26, 0xa3, 0x92,
- 0x00, 0x83, 0xc8, 0x04, 0x26, 0xa3, 0x92, 0x00, 0xe8, 0x04, 0xff, 0x83, 0xc8, 0x02, 0xe8, 0xfe,
- 0xfe, 0x24, 0xfd, 0xe8, 0xf9, 0xfe, 0x0c, 0x02, 0xe8, 0xf4, 0xfe, 0x8a, 0xef, 0xe8, 0x08, 0xff,
- 0x8a, 0xeb, 0xe8, 0x03, 0xff, 0x0c, 0x02, 0xe8, 0xe5, 0xfe, 0x24, 0xfd, 0xe8, 0xe0, 0xfe, 0x5b,
- 0xb1, 0x10, 0xd1, 0xe3, 0x72, 0x04, 0x24, 0xfd, 0xeb, 0x02, 0x0c, 0x02, 0xe8, 0xd0, 0xfe, 0xfe,
- 0xc9, 0x75, 0xef, 0x24, 0xfb, 0xe8, 0xc7, 0xfe, 0xfb, 0x5a, 0x5b, 0x59, 0x9d, 0xc3, 0x50, 0xe8,
- 0x8a, 0xfe, 0xb7, 0x00, 0xb3, 0x02, 0xe8, 0xe9, 0xfe, 0x83, 0xf8, 0xff, 0x75, 0x09, 0xfe, 0xc7,
- 0x80, 0xff, 0x20, 0x75, 0xf1, 0xb7, 0xff, 0x88, 0x3e, 0x80, 0x5e, 0x58, 0xc3, 0x53, 0x40, 0x03,
- 0x06, 0x2a, 0x5d, 0x8b, 0xd8, 0xe8, 0x79, 0xf6, 0xa1, 0x2a, 0x5d, 0x3b, 0xc3, 0x75, 0xf6, 0x5b,
- 0xc3, 0x90, 0xe8, 0xa0, 0xf0, 0xc6, 0x86, 0x6d, 0x02, 0x01, 0xc6, 0x86, 0x6f, 0x02, 0x01, 0x8e,
- 0x46, 0x02, 0x26, 0x83, 0x26, 0x4c, 0x00, 0xfe, 0x26, 0x81, 0x0e, 0x32, 0x00, 0x00, 0x80, 0x80,
- 0xbe, 0xfe, 0x00, 0x02, 0x74, 0x0b, 0xc6, 0x86, 0x7c, 0x02, 0x00, 0xe8, 0x78, 0xfa, 0xe8, 0xf5,
- 0xfd, 0x33, 0xc0, 0x88, 0x86, 0x8d, 0x02, 0x88, 0x86, 0x8e, 0x02, 0xc6, 0x86, 0x63, 0x01, 0x01,
- 0xc7, 0x86, 0x64, 0x01, 0xfc, 0x05, 0xc6, 0x86, 0x69, 0x01, 0x02, 0xbe, 0x67, 0x4c, 0xe8, 0x15,
- 0xf8, 0xbe, 0x61, 0x4c, 0xe8, 0x0f, 0xf8, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x44, 0x00, 0x32,
- 0xfe, 0xc3, 0xc6, 0x86, 0x63, 0x01, 0x00, 0x80, 0xbe, 0x62, 0x01, 0x01, 0x75, 0x0d, 0xe8, 0x34,
- 0xf0, 0xe8, 0x4b, 0x30, 0xc6, 0x46, 0x07, 0x00, 0xe9, 0xb6, 0x00, 0xbe, 0x19, 0x4c, 0xe8, 0x97,
- 0xf8, 0xbe, 0x61, 0x4c, 0xe8, 0x91, 0xf8, 0xc6, 0x86, 0x8d, 0x02, 0x01, 0x80, 0x7e, 0x06, 0x02,
- 0x74, 0x08, 0x80, 0x7e, 0x06, 0x44, 0x74, 0x09, 0xeb, 0x1c, 0xc6, 0x46, 0x07, 0x04, 0xe9, 0x90,
- 0x00, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x84, 0x74, 0x07, 0xc6, 0x46, 0x07, 0x4e, 0xe9, 0x81, 0x00,
- 0xc6, 0x46, 0x07, 0x46, 0xeb, 0x7b, 0x80, 0x7e, 0x08, 0x08, 0x75, 0xf8, 0xc6, 0x86, 0x85, 0x02,
- 0x01, 0xc6, 0x86, 0x6d, 0x02, 0x00, 0xc6, 0x86, 0x61, 0x02, 0x00, 0xc6, 0x86, 0x60, 0x02, 0x00,
- 0xc6, 0x86, 0x63, 0x02, 0x01, 0xc6, 0x86, 0x6c, 0x02, 0x01, 0xc6, 0x86, 0x70, 0x02, 0x01, 0xf6,
- 0x86, 0x5c, 0x02, 0x01, 0x74, 0x17, 0x80, 0xbe, 0xab, 0x02, 0x01, 0x74, 0x2c, 0xc6, 0x46, 0x09,
- 0x0a, 0xc6, 0x86, 0x6f, 0x02, 0x00, 0xc6, 0x86, 0x5d, 0x02, 0x01, 0xeb, 0x1c, 0xf6, 0x86, 0x5d,
- 0x02, 0x01, 0x74, 0x15, 0x80, 0xbe, 0xab, 0x02, 0x01, 0x74, 0x0e, 0xc6, 0x46, 0x09, 0x06, 0xc6,
- 0x86, 0x5c, 0x02, 0x01, 0xc6, 0x86, 0x6f, 0x02, 0x01, 0xe8, 0x8a, 0xf9, 0xe8, 0x3a, 0xfc, 0xbe,
- 0x49, 0x4c, 0xe8, 0x41, 0xf7, 0xbe, 0x0d, 0x4c, 0xe8, 0x3b, 0xf7, 0xbe, 0x4f, 0x4c, 0xe8, 0x35,
- 0xf7, 0xc3, 0xc6, 0x46, 0x09, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x44, 0x00, 0x32, 0xfe,
- 0xbe, 0x6d, 0x4c, 0xe8, 0x20, 0xf7, 0xc7, 0x86, 0xc8, 0x01, 0x14, 0x00, 0xc7, 0x86, 0xcc, 0x02,
- 0x00, 0x00, 0xbe, 0x55, 0x4c, 0xe8, 0x0e, 0xf7, 0xc6, 0x86, 0x6d, 0x02, 0x00, 0xc6, 0x86, 0x6f,
- 0x02, 0x00, 0xc6, 0x86, 0x6c, 0x02, 0x01, 0xc6, 0x86, 0x70, 0x02, 0x01, 0xe8, 0x37, 0xf9, 0xbe,
- 0x13, 0x4c, 0xe8, 0xf1, 0xf6, 0xbe, 0x49, 0x4c, 0xe8, 0xeb, 0xf6, 0x33, 0xc0, 0x89, 0x86, 0xf2,
- 0x01, 0x89, 0x86, 0xf4, 0x01, 0x89, 0x86, 0xf6, 0x01, 0xf6, 0x06, 0x81, 0x5e, 0x01, 0x74, 0x0a,
- 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x44, 0x00, 0xff, 0xf7, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x20,
- 0x74, 0x10, 0xbe, 0x4f, 0x4c, 0xe8, 0xbe, 0xf6, 0xc6, 0x86, 0x61, 0x02, 0x00, 0xc6, 0x86, 0x60,
- 0x02, 0x00, 0xe8, 0xa4, 0xfb, 0xc3, 0xc3, 0x90, 0xc6, 0x86, 0x5b, 0x02, 0x01, 0xc7, 0x86, 0xce,
- 0x02, 0x00, 0x00, 0xc7, 0x86, 0xd0, 0x02, 0x00, 0x00, 0xbe, 0x13, 0x4c, 0xe8, 0x97, 0xf6, 0xe8,
- 0xc7, 0x14, 0xc3, 0x90, 0xc6, 0x86, 0x5f, 0x02, 0x01, 0xf6, 0x86, 0x88, 0x02, 0x01, 0x74, 0x08,
- 0xe8, 0x0a, 0x17, 0xc6, 0x86, 0x88, 0x02, 0x00, 0xbe, 0x13, 0x4c, 0xe8, 0x78, 0xf6, 0xf6, 0x86,
- 0x67, 0x02, 0x01, 0x74, 0x04, 0xc6, 0x46, 0x07, 0x0c, 0xc3, 0xbe, 0x13, 0x4c, 0xe8, 0x66, 0xf6,
- 0xbe, 0x31, 0x4c, 0xe8, 0x60, 0xf6, 0xc7, 0x86, 0xc2, 0x02, 0x01, 0x00, 0xc7, 0x86, 0xc4, 0x02,
- 0x01, 0x00, 0xe8, 0x50, 0x15, 0xc3, 0xc7, 0x86, 0xcc, 0x02, 0x00, 0x00, 0xc7, 0x86, 0xc8, 0x01,
- 0x14, 0x00, 0xc6, 0x86, 0x08, 0x01, 0x00, 0x81, 0xa6, 0x0a, 0x02, 0xdf, 0xbf, 0xc6, 0x86, 0x64,
- 0x02, 0x01, 0xc7, 0x86, 0x2a, 0x02, 0xff, 0xff, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x20, 0x75, 0x18,
- 0xf7, 0x86, 0x12, 0x01, 0x00, 0x84, 0x75, 0x10, 0xbe, 0x4f, 0x4c, 0xe8, 0x18, 0xf6, 0xc6, 0x86,
- 0x61, 0x02, 0x00, 0xc6, 0x86, 0x60, 0x02, 0x00, 0xbe, 0x13, 0x4c, 0xe8, 0xba, 0xf6, 0x8e, 0x46,
- 0x02, 0x26, 0x83, 0x0e, 0x4c, 0x00, 0x01, 0x26, 0x81, 0x26, 0x32, 0x00, 0xff, 0x7f, 0xb8, 0x00,
- 0x80, 0xe8, 0xb6, 0x2f, 0xe8, 0x59, 0xfb, 0xe8, 0x08, 0xfb, 0xc6, 0x86, 0x62, 0x02, 0x01, 0xc6,
- 0x86, 0xce, 0x01, 0x00, 0xf7, 0x86, 0xf6, 0x00, 0x04, 0x00, 0x74, 0x05, 0xc6, 0x86, 0xce, 0x01,
- 0x01, 0xf6, 0x86, 0x58, 0x02, 0x01, 0x75, 0x06, 0xbe, 0x1f, 0x4c, 0xe8, 0xc8, 0xf5, 0xff, 0x86,
- 0xfc, 0x00, 0xc3, 0x90, 0xe8, 0x9a, 0xfb, 0xc6, 0x86, 0x08, 0x01, 0x00, 0xc6, 0x46, 0x09, 0x00,
- 0xc6, 0x46, 0x0b, 0x00, 0xc6, 0x86, 0x58, 0x02, 0x00, 0xc6, 0x86, 0x6c, 0x02, 0x00, 0xc6, 0x86,
- 0x62, 0x02, 0x00, 0xc6, 0x86, 0x64, 0x02, 0x00, 0xc6, 0x86, 0x5f, 0x02, 0x00, 0xc6, 0x86, 0x67,
- 0x02, 0x00, 0xc6, 0x86, 0x6f, 0x02, 0x00, 0xc6, 0x86, 0x6d, 0x02, 0x00, 0xc6, 0x86, 0x6e, 0x02,
- 0x00, 0xe8, 0xc2, 0xf7, 0xf6, 0x86, 0x70, 0x02, 0x01, 0x74, 0x0c, 0x83, 0xbe, 0x22, 0x01, 0x0e,
- 0x75, 0x28, 0xe8, 0x65, 0x08, 0xeb, 0x23, 0x8e, 0x46, 0x02, 0xf6, 0x06, 0x81, 0x5e, 0x01, 0x75,
- 0x08, 0x26, 0x83, 0x26, 0x42, 0x00, 0xfd, 0xeb, 0x08, 0xc6, 0x86, 0x6d, 0x01, 0x01, 0xe8, 0xe0,
- 0x41, 0xe8, 0x26, 0xf7, 0xbe, 0x2b, 0x4c, 0xe8, 0x4c, 0xf5, 0xc3, 0x90, 0xc7, 0x86, 0x32, 0x02,
- 0x02, 0x00, 0xe8, 0x1c, 0xfb, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x4c, 0x00, 0xfe, 0x26, 0x81,
- 0x0e, 0x32, 0x00, 0x00, 0x80, 0x8e, 0x46, 0x02, 0xf6, 0x06, 0x81, 0x5e, 0x01, 0x75, 0x08, 0x26,
- 0x83, 0x26, 0x42, 0x00, 0xfd, 0xeb, 0x08, 0xc6, 0x86, 0x6d, 0x01, 0x01, 0xe8, 0xa2, 0x41, 0xc6,
- 0x86, 0x08, 0x01, 0x00, 0xc7, 0x86, 0x22, 0x01, 0x00, 0x00, 0xe8, 0x41, 0xfa, 0xe8, 0x65, 0xfa,
- 0xf7, 0x86, 0xf4, 0x00, 0x10, 0x00, 0x74, 0x14, 0xf7, 0x86, 0xf4, 0x00, 0x02, 0x00, 0x74, 0x0c,
- 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x42, 0x00, 0x00, 0x40, 0xeb, 0x0a, 0x8e, 0x46, 0x02, 0x26,
- 0x81, 0x26, 0x42, 0x00, 0xff, 0xbf, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x75, 0x05, 0xc6, 0x86, 0xfe,
- 0x00, 0x01, 0xf6, 0x86, 0xbd, 0x01, 0x01, 0x75, 0x02, 0xeb, 0x71, 0x26, 0xff, 0x36, 0x5e, 0x00,
- 0x26, 0xff, 0x36, 0x60, 0x00, 0x26, 0xff, 0x36, 0x62, 0x00, 0x26, 0xff, 0x36, 0x64, 0x00, 0x26,
- 0xff, 0x36, 0x66, 0x00, 0x26, 0xff, 0x36, 0x7a, 0x00, 0x26, 0xff, 0x36, 0x7c, 0x00, 0x26, 0xff,
- 0x36, 0x7e, 0x00, 0x26, 0xff, 0x36, 0x52, 0x00, 0x26, 0xff, 0x36, 0x6a, 0x00, 0x26, 0xff, 0x36,
- 0x68, 0x00, 0xe8, 0x1b, 0xef, 0x26, 0x8f, 0x06, 0x68, 0x00, 0x26, 0x8f, 0x06, 0x6a, 0x00, 0x26,
- 0x8f, 0x06, 0x52, 0x00, 0x26, 0x8f, 0x06, 0x7e, 0x00, 0x26, 0x8f, 0x06, 0x7c, 0x00, 0x26, 0x8f,
- 0x06, 0x7a, 0x00, 0x26, 0x8f, 0x06, 0x66, 0x00, 0x26, 0x8f, 0x06, 0x64, 0x00, 0x26, 0x8f, 0x06,
- 0x62, 0x00, 0x26, 0x8f, 0x06, 0x60, 0x00, 0x26, 0x8f, 0x06, 0x5e, 0x00, 0xe8, 0x96, 0xec, 0xe8,
- 0xb5, 0x2e, 0xc6, 0x86, 0xb2, 0x02, 0x00, 0x8d, 0xbe, 0x16, 0x03, 0x8c, 0xd8, 0x8e, 0xc0, 0xab,
- 0xab, 0xab, 0xf6, 0x86, 0xab, 0x02, 0x01, 0x74, 0x12, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x42,
- 0x00, 0x04, 0xc6, 0x86, 0xb4, 0x02, 0x00, 0xc6, 0x46, 0x09, 0x1e, 0x8e, 0x46, 0x02, 0x26, 0xc7,
- 0x06, 0x44, 0x00, 0xff, 0xfb, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x02, 0x74, 0x10, 0xf7, 0x86, 0x20,
- 0x01, 0x80, 0x00, 0x75, 0x08, 0xbe, 0xd3, 0x4c, 0xe8, 0x0b, 0xf4, 0xeb, 0x0d, 0x8e, 0x46, 0x02,
- 0x33, 0xc0, 0x26, 0xa3, 0x64, 0x00, 0x26, 0xa3, 0x66, 0x00, 0xc3, 0x90, 0x33, 0xc0, 0x88, 0x86,
- 0x5f, 0x02, 0x88, 0x86, 0x62, 0x02, 0x88, 0x86, 0x64, 0x02, 0x88, 0x86, 0x67, 0x02, 0x88, 0x86,
- 0x6c, 0x02, 0xbe, 0x5b, 0x4c, 0xe8, 0xde, 0xf3, 0xc6, 0x86, 0xb2, 0x02, 0x01, 0x8e, 0x46, 0x02,
- 0xf6, 0x06, 0x81, 0x5e, 0x01, 0x75, 0x08, 0x26, 0x83, 0x26, 0x42, 0x00, 0xfd, 0xeb, 0x08, 0xc6,
- 0x86, 0x6d, 0x01, 0x01, 0xe8, 0x4a, 0x40, 0xc3, 0xc7, 0x86, 0x32, 0x02, 0x03, 0x00, 0xe8, 0xf4,
- 0xeb, 0xc6, 0x86, 0x6d, 0x02, 0x01, 0xc6, 0x86, 0x6f, 0x02, 0x01, 0xe8, 0xe8, 0xf5, 0x8e, 0x46,
- 0x02, 0x26, 0x81, 0x0e, 0x40, 0x00, 0x00, 0x1e, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x10, 0x74, 0x15,
- 0xf7, 0x86, 0xf4, 0x00, 0x00, 0x40, 0x74, 0x0d, 0xf7, 0x86, 0xf6, 0x00, 0x20, 0x00, 0x74, 0x05,
- 0xc6, 0x86, 0x78, 0x02, 0x01, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x75, 0x06, 0xbe, 0xc7, 0x4c, 0xe8,
- 0x74, 0xf3, 0xe8, 0x31, 0xf9, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x84, 0x74, 0x06, 0xc6, 0x46, 0x07,
- 0x44, 0xeb, 0x06, 0xbe, 0x79, 0x4c, 0xe8, 0x5d, 0xf3, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x44,
- 0x00, 0x32, 0xfe, 0xe8, 0x8f, 0x06, 0xc3, 0x90, 0xc7, 0x86, 0x32, 0x02, 0x04, 0x00, 0x8e, 0x46,
- 0x02, 0x26, 0x83, 0x26, 0x4c, 0x00, 0xfe, 0x26, 0x81, 0x0e, 0x32, 0x00, 0x00, 0x80, 0xc6, 0x86,
- 0x6f, 0x02, 0x01, 0xc6, 0x86, 0x6d, 0x02, 0x00, 0xc6, 0x86, 0x7c, 0x02, 0x00, 0xe8, 0x66, 0xf5,
- 0xe8, 0xe3, 0xf8, 0xb0, 0x00, 0xe8, 0x2a, 0x17, 0x33, 0xc0, 0x88, 0x86, 0x8d, 0x02, 0x88, 0x86,
- 0x8e, 0x02, 0xc6, 0x86, 0x63, 0x01, 0x01, 0xc7, 0x86, 0x64, 0x01, 0xfc, 0x05, 0xc6, 0x86, 0x69,
- 0x01, 0x02, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x75, 0x2c, 0xc6, 0x86, 0x68, 0x01, 0x02, 0xc7, 0x86,
- 0x66, 0x01, 0x60, 0x04, 0xc6, 0x86, 0x76, 0x02, 0x01, 0xbe, 0xc7, 0x4c, 0xe8, 0xe7, 0xf2, 0xbe,
- 0x19, 0x4c, 0xe8, 0xe1, 0xf2, 0xbe, 0x73, 0x4c, 0xe8, 0xdb, 0xf2, 0xbe, 0xc1, 0x4c, 0xe8, 0xd5,
- 0xf2, 0xe8, 0x80, 0x14, 0xc3, 0xc6, 0x86, 0x68, 0x01, 0x02, 0xc7, 0x86, 0x66, 0x01, 0x20, 0x03,
- 0x8e, 0x46, 0x02, 0x26, 0xc7, 0x06, 0x5c, 0x00, 0x00, 0x00, 0xbe, 0x19, 0x4c, 0xe8, 0xb6, 0xf2,
- 0xbe, 0x73, 0x4c, 0xe8, 0xb0, 0xf2, 0x8b, 0xb6, 0x64, 0x01, 0xb9, 0xe8, 0x03, 0xe8, 0xf2, 0x10,
- 0xc3, 0x90, 0xc7, 0x86, 0x32, 0x02, 0x05, 0x00, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x74, 0x08, 0xc6,
- 0x86, 0x6d, 0x02, 0x01, 0xe8, 0xcf, 0xf4, 0xf6, 0x86, 0x72, 0x02, 0x01, 0x75, 0x04, 0xc6, 0x46,
- 0x09, 0x16, 0xc6, 0x86, 0x73, 0x02, 0x01, 0xbe, 0x97, 0x4c, 0xe8, 0x79, 0xf2, 0xbe, 0x9d, 0x4c,
- 0xe8, 0x73, 0xf2, 0xbe, 0x85, 0x4c, 0xe8, 0x6d, 0xf2, 0xbe, 0xaf, 0x4c, 0xe8, 0x67, 0xf2, 0xc7,
- 0x86, 0xd6, 0x02, 0x01, 0x00, 0xc6, 0x86, 0x7a, 0x02, 0x01, 0xe8, 0xcd, 0x13, 0xc3, 0xc7, 0x86,
- 0x32, 0x02, 0x07, 0x00, 0xc6, 0x86, 0x6c, 0x02, 0x01, 0xc6, 0x86, 0x60, 0x02, 0x00, 0xc6, 0x86,
- 0x61, 0x02, 0x00, 0xbe, 0x4f, 0x4c, 0xe8, 0x3d, 0xf2, 0xf6, 0x86, 0x72, 0x02, 0x01, 0x75, 0x0d,
- 0xc6, 0x86, 0x72, 0x02, 0x01, 0xb8, 0x00, 0x80, 0xe8, 0xef, 0x2b, 0xeb, 0x0a, 0x83, 0xa6, 0x0a,
- 0x02, 0xdf, 0xc6, 0x86, 0x89, 0x02, 0x01, 0xc6, 0x86, 0x08, 0x01, 0x00, 0xe8, 0x81, 0xf7, 0xe8,
- 0x30, 0xf7, 0xf6, 0x06, 0x81, 0x5e, 0x01, 0x74, 0x0a, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x44,
- 0x00, 0xff, 0xf7, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x4c, 0x00, 0x01, 0x26, 0x81, 0x26, 0x32,
- 0x00, 0xff, 0x7f, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x74, 0x15, 0xe8, 0xdc, 0xf6, 0xc7, 0x86, 0xc8,
- 0x01, 0x14, 0x00, 0xc7, 0x86, 0xcc, 0x02, 0x00, 0x00, 0xbe, 0x55, 0x4c, 0xe8, 0xd7, 0xf1, 0xc3,
- 0xbe, 0xb5, 0x4c, 0xe8, 0xd0, 0xf1, 0xc6, 0x86, 0x78, 0x02, 0x00, 0xc6, 0x86, 0x74, 0x02, 0x00,
- 0xc6, 0x86, 0xfe, 0x00, 0x02, 0xe8, 0xfe, 0xf3, 0xbe, 0xc7, 0x4c, 0xe8, 0xb8, 0xf1, 0xc3, 0x90,
- 0xc6, 0x86, 0x6c, 0x02, 0x00, 0xc6, 0x46, 0x09, 0x1e, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x4c,
- 0x00, 0xfe, 0x26, 0x81, 0x0e, 0x32, 0x00, 0x00, 0x80, 0xc7, 0x86, 0xda, 0x02, 0x05, 0x00, 0xbe,
- 0xbb, 0x4c, 0xe8, 0x91, 0xf1, 0xb0, 0x00, 0xe8, 0x98, 0x15, 0xe8, 0x53, 0x13, 0xc3, 0xb8, 0x00,
- 0x80, 0xe8, 0x46, 0x2b, 0xc6, 0x86, 0x08, 0x01, 0x00, 0xe8, 0xe4, 0xf6, 0xe8, 0x93, 0xf6, 0x8e,
- 0x46, 0x02, 0x26, 0xc7, 0x06, 0x68, 0x00, 0x18, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x4c,
- 0x00, 0x01, 0x26, 0x81, 0x26, 0x32, 0x00, 0xff, 0x7f, 0xc3, 0xc7, 0x86, 0x36, 0x02, 0x01, 0x00,
- 0xc7, 0x86, 0xc6, 0x01, 0xff, 0xff, 0xc7, 0x86, 0xcc, 0x02, 0x00, 0x00, 0xc7, 0x86, 0xc8, 0x01,
- 0x14, 0x00, 0x80, 0x7e, 0x07, 0x10, 0x74, 0x4b, 0xb0, 0x00, 0xe8, 0x45, 0x15, 0x80, 0x7e, 0x06,
- 0x0e, 0x74, 0x02, 0xeb, 0x3e, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x4c, 0x00, 0x01, 0x26, 0x81,
- 0x26, 0x32, 0x00, 0xff, 0x7f, 0x83, 0xa6, 0x0a, 0x02, 0xdf, 0xc6, 0x86, 0x89, 0x02, 0x01, 0xf6,
- 0x86, 0x5f, 0x02, 0x01, 0x74, 0x1d, 0xf6, 0x86, 0x6a, 0x02, 0x01, 0x74, 0x16, 0xf6, 0x86, 0x67,
- 0x02, 0x01, 0x75, 0x0f, 0xc6, 0x86, 0x67, 0x02, 0x01, 0xf6, 0x86, 0x58, 0x02, 0x01, 0x75, 0x03,
- 0xe8, 0xfb, 0x0e, 0xc3, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x4c, 0x00, 0xfe, 0x26, 0x81, 0x0e,
- 0x32, 0x00, 0x00, 0x80, 0xc7, 0x86, 0x36, 0x02, 0x02, 0x00, 0xc6, 0x86, 0x6d, 0x02, 0x01, 0xe8,
- 0x14, 0xf3, 0xe8, 0xab, 0xf5, 0xbe, 0x37, 0x4c, 0xe8, 0xcb, 0xf0, 0xe8, 0x8b, 0x0e, 0xc3, 0x90,
- 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x4c, 0x00, 0xfe, 0x26, 0x81, 0x0e, 0x32, 0x00, 0x00, 0x80,
- 0xc7, 0x86, 0x36, 0x02, 0x03, 0x00, 0xc7, 0x86, 0xcc, 0x02, 0x00, 0x00, 0xc7, 0x86, 0xc8, 0x01,
- 0x0a, 0x00, 0xf6, 0x86, 0x58, 0x02, 0x01, 0x74, 0x0f, 0xc6, 0x86, 0x58, 0x02, 0x00, 0x8e, 0x46,
- 0x02, 0x26, 0x81, 0x26, 0x64, 0x00, 0xff, 0x7f, 0xc6, 0x86, 0x5e, 0x02, 0x00, 0xc6, 0x86, 0x6d,
- 0x02, 0x01, 0xc6, 0x86, 0x6f, 0x02, 0x01, 0xe8, 0xbc, 0xf2, 0x81, 0xa6, 0x0a, 0x02, 0xff, 0x2f,
- 0x83, 0x8e, 0x0a, 0x02, 0x20, 0xc6, 0x86, 0x89, 0x02, 0x01, 0xbe, 0x01, 0x4c, 0xe8, 0x66, 0xf0,
- 0xbe, 0x25, 0x4c, 0xe8, 0x60, 0xf0, 0xc7, 0x86, 0xbc, 0x02, 0x01, 0x00, 0xc7, 0x86, 0xbe, 0x02,
- 0x01, 0x00, 0xe8, 0xc3, 0x0d, 0xc3, 0xff, 0x86, 0x48, 0x02, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26,
- 0x4c, 0x00, 0xfe, 0x26, 0x81, 0x0e, 0x32, 0x00, 0x00, 0x80, 0xe8, 0xf9, 0xf5, 0xf6, 0x86, 0x63,
- 0x02, 0x01, 0x75, 0x03, 0xe8, 0x67, 0x0d, 0xc3, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x4c, 0x00,
- 0xfe, 0x26, 0x81, 0x0e, 0x32, 0x00, 0x00, 0x80, 0x80, 0xbe, 0xab, 0x02, 0x01, 0x75, 0x20, 0xc6,
- 0x86, 0x6c, 0x02, 0x00, 0xc6, 0x86, 0x6d, 0x02, 0x00, 0xc6, 0x86, 0x6f, 0x02, 0x00, 0xe8, 0x45,
- 0xf2, 0xe8, 0xd6, 0xf1, 0xbe, 0x2b, 0x4c, 0xe8, 0xfc, 0xef, 0xe8, 0xd4, 0xf5, 0xeb, 0x59, 0xc6,
- 0x86, 0x71, 0x02, 0x01, 0xf6, 0x86, 0x70, 0x02, 0x01, 0x75, 0x4d, 0xe8, 0xbc, 0xf1, 0xe8, 0x01,
- 0xe9, 0xc6, 0x86, 0x6c, 0x02, 0x00, 0xc6, 0x86, 0x71, 0x02, 0x00, 0xbe, 0x2b, 0x4c, 0xe8, 0xd5,
- 0xef, 0x8e, 0x46, 0x02, 0xf6, 0x06, 0x81, 0x5e, 0x01, 0x75, 0x08, 0x26, 0x83, 0x26, 0x42, 0x00,
- 0xfd, 0xeb, 0x08, 0xc6, 0x86, 0x6d, 0x01, 0x01, 0xe8, 0x46, 0x3c, 0xe8, 0x78, 0xf5, 0x33, 0xc0,
- 0x88, 0x86, 0x8d, 0x02, 0x88, 0x86, 0x8e, 0x02, 0xc6, 0x86, 0x63, 0x01, 0x01, 0xc7, 0x86, 0x64,
- 0x01, 0xfc, 0x05, 0xc6, 0x86, 0x69, 0x01, 0x02, 0xc3, 0x90, 0xff, 0x86, 0x48, 0x02, 0x8e, 0x46,
- 0x02, 0x26, 0x83, 0x26, 0x4c, 0x00, 0xfe, 0x26, 0x81, 0x0e, 0x32, 0x00, 0x00, 0x80, 0xe8, 0x45,
- 0xf5, 0xc7, 0x86, 0xb8, 0x02, 0x02, 0x00, 0xc7, 0x86, 0xba, 0x02, 0x08, 0x00, 0xc6, 0x86, 0x58,
- 0x02, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x64, 0x00, 0xff, 0x7f, 0xc6, 0x86, 0x6d, 0x02,
- 0x00, 0xc6, 0x86, 0x6f, 0x02, 0x00, 0xe8, 0x9d, 0xf1, 0xf6, 0x86, 0x85, 0x02, 0x01, 0x75, 0x06,
- 0xbe, 0xf5, 0x4b, 0xe8, 0x50, 0xef, 0x81, 0xa6, 0x0a, 0x02, 0xff, 0x6f, 0x81, 0x8e, 0x0a, 0x02,
- 0x00, 0x40, 0xc6, 0x86, 0x89, 0x02, 0x01, 0xc3, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x4c, 0x00,
- 0xfe, 0x26, 0x81, 0x0e, 0x32, 0x00, 0x00, 0x80, 0x83, 0xbe, 0xca, 0x01, 0x00, 0x74, 0x0d, 0x8b,
- 0x86, 0xca, 0x01, 0xc7, 0x86, 0xca, 0x01, 0x00, 0x00, 0xe8, 0xfc, 0x0f, 0xbe, 0x01, 0x4c, 0xe8,
- 0x14, 0xef, 0xc3, 0x90, 0xc7, 0x86, 0x36, 0x02, 0x01, 0x00, 0xc7, 0x86, 0x34, 0x02, 0x02, 0x00,
- 0xb0, 0x00, 0xe8, 0x0d, 0x13, 0x80, 0x7e, 0x06, 0x48, 0x75, 0x10, 0x8e, 0x46, 0x02, 0x26, 0x83,
- 0x0e, 0x4c, 0x00, 0x01, 0x26, 0x81, 0x26, 0x32, 0x00, 0xff, 0x7f, 0xc3, 0xc7, 0x86, 0x34, 0x02,
- 0x03, 0x00, 0xff, 0x86, 0x48, 0x02, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x4c, 0x00, 0xfe, 0x26,
- 0x81, 0x0e, 0x32, 0x00, 0x00, 0x80, 0xc6, 0x86, 0x6c, 0x02, 0x00, 0xc6, 0x86, 0x73, 0x02, 0x00,
- 0xbe, 0x7f, 0x4c, 0xe8, 0xc0, 0xee, 0xbe, 0x8b, 0x4c, 0xe8, 0xba, 0xee, 0xbe, 0xa3, 0x4c, 0xe8,
- 0xb4, 0xee, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x74, 0x08, 0xc6, 0x86, 0x6f, 0x02, 0x01, 0xe8, 0xe5,
- 0xf0, 0x81, 0x8e, 0x0a, 0x02, 0x04, 0x50, 0xc6, 0x86, 0x89, 0x02, 0x01, 0x80, 0xbe, 0xfe, 0x00,
- 0x02, 0x74, 0x0d, 0xf6, 0x86, 0x65, 0x02, 0x01, 0x74, 0x06, 0x81, 0x8e, 0x0a, 0x02, 0x00, 0x80,
- 0xe8, 0xcd, 0x2f, 0xe8, 0xb8, 0x0b, 0xc3, 0x90, 0xc7, 0x86, 0x34, 0x02, 0x04, 0x00, 0xbe, 0x7f,
- 0x4c, 0xe8, 0x72, 0xee, 0xbe, 0x8b, 0x4c, 0xe8, 0x6c, 0xee, 0x81, 0xa6, 0x0a, 0x02, 0xfb, 0x6f,
- 0x81, 0x8e, 0x0a, 0x02, 0x00, 0x40, 0xc6, 0x86, 0x89, 0x02, 0x01, 0xc3, 0xc7, 0x86, 0x34, 0x02,
- 0x05, 0x00, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x74, 0x1a, 0x8e, 0x46, 0x02, 0xf6, 0x06, 0x81, 0x5e,
- 0x01, 0x75, 0x08, 0x26, 0x83, 0x26, 0x42, 0x00, 0xfd, 0xeb, 0x08, 0xc6, 0x86, 0x6d, 0x01, 0x01,
- 0xe8, 0xbe, 0x3a, 0x81, 0xa6, 0x0a, 0x02, 0xfb, 0x2f, 0x83, 0x8e, 0x0a, 0x02, 0x20, 0xc6, 0x86,
- 0x89, 0x02, 0x01, 0xe8, 0x5e, 0x01, 0xc3, 0x90, 0xc7, 0x86, 0x34, 0x02, 0x01, 0x00, 0xc3, 0x90,
- 0xc3, 0x53, 0x50, 0x89, 0x86, 0x22, 0x01, 0x80, 0xbe, 0x62, 0x01, 0x01, 0x75, 0x0f, 0x50, 0xe8,
- 0x43, 0xe6, 0xe8, 0x67, 0x26, 0xc6, 0x46, 0x07, 0x00, 0x58, 0xe9, 0xea, 0x00, 0xf6, 0x86, 0x08,
- 0x01, 0x01, 0x74, 0x05, 0xe8, 0xb3, 0x27, 0xeb, 0x6c, 0x83, 0xf8, 0x10, 0x75, 0x08, 0x81, 0x8e,
- 0x1e, 0x01, 0x00, 0x80, 0xeb, 0x5f, 0x83, 0x8e, 0x1e, 0x01, 0x02, 0x8b, 0x9e, 0x0a, 0x02, 0x83,
- 0xf8, 0x01, 0x75, 0x04, 0x81, 0xcb, 0x00, 0x04, 0x83, 0xf8, 0x0c, 0x75, 0x04, 0x81, 0xcb, 0x00,
- 0x08, 0x83, 0xf8, 0x0b, 0x75, 0x03, 0x83, 0xcb, 0x02, 0x83, 0xf8, 0x09, 0x75, 0x03, 0x83, 0xcb,
- 0x04, 0x83, 0xf8, 0x0a, 0x75, 0x09, 0x81, 0xcb, 0x00, 0x01, 0x83, 0x8e, 0x1e, 0x01, 0x04, 0x83,
- 0xf8, 0x06, 0x75, 0x03, 0x83, 0xcb, 0x01, 0x83, 0xf8, 0x0f, 0x74, 0x19, 0x83, 0xf8, 0x02, 0x75,
- 0x03, 0x83, 0xcb, 0x08, 0x83, 0xf8, 0x03, 0x75, 0x03, 0x83, 0xcb, 0x08, 0x89, 0x9e, 0x0a, 0x02,
- 0xc6, 0x86, 0x89, 0x02, 0x01, 0x8a, 0x4e, 0x06, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x72, 0x2e, 0xf7,
- 0x86, 0x0a, 0x02, 0x08, 0x00, 0x75, 0x1c, 0x80, 0xf9, 0x48, 0x74, 0x11, 0xf6, 0x86, 0x72, 0x02,
- 0x01, 0x74, 0x10, 0x80, 0xf9, 0x44, 0x74, 0x05, 0x80, 0xf9, 0x46, 0x75, 0x06, 0xc6, 0x46, 0x07,
- 0x4c, 0xeb, 0x44, 0xc6, 0x46, 0x07, 0x12, 0xc6, 0x46, 0x09, 0x1e, 0xeb, 0x3a, 0xc6, 0x46, 0x07,
- 0x12, 0xc6, 0x46, 0x09, 0x1e, 0xf6, 0x86, 0xac, 0x02, 0x01, 0x74, 0x1a, 0x8e, 0x46, 0x02, 0xf6,
- 0x06, 0x81, 0x5e, 0x01, 0x75, 0x08, 0x26, 0x83, 0x26, 0x42, 0x00, 0xfd, 0xeb, 0x08, 0xc6, 0x86,
- 0x6d, 0x01, 0x01, 0xe8, 0xab, 0x39, 0xf6, 0x86, 0xaa, 0x02, 0x01, 0x75, 0x02, 0xeb, 0x08, 0xc6,
- 0x46, 0x07, 0x10, 0xc6, 0x46, 0x09, 0x00, 0x58, 0x5b, 0xc3, 0x8e, 0x46, 0x02, 0x26, 0xf7, 0x06,
- 0x40, 0x00, 0x02, 0x00, 0x74, 0x0b, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x40, 0x00, 0xfd, 0xeb,
- 0x09, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x40, 0x00, 0x02, 0xc3, 0x90, 0xc7, 0x86, 0x32, 0x02,
- 0x01, 0x00, 0xc3, 0xb9, 0x01, 0x01, 0x38, 0xc8, 0x75, 0x19, 0x8b, 0xb6, 0xf6, 0x00, 0x81, 0xe6,
- 0x00, 0xc0, 0x81, 0xfe, 0x00, 0x80, 0x75, 0x0b, 0xc6, 0x86, 0x5a, 0x02, 0x01, 0xbe, 0x07, 0x4c,
- 0xe8, 0xc3, 0xec, 0xc3, 0xc3, 0x50, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x74, 0x18, 0xf7, 0x86, 0xf6,
- 0x00, 0x00, 0x10, 0x74, 0x05, 0xc6, 0x86, 0xfe, 0x00, 0x01, 0xc6, 0x86, 0x95, 0x02, 0x01, 0xe8,
- 0x05, 0x00, 0xe8, 0xe1, 0xee, 0x58, 0xc3, 0xc7, 0x86, 0x98, 0x02, 0x00, 0x00, 0xc7, 0x86, 0x9c,
- 0x02, 0x05, 0x00, 0xc6, 0x86, 0x96, 0x02, 0x00, 0xa1, 0x2a, 0x5d, 0x89, 0x86, 0x9a, 0x02, 0x40,
- 0x89, 0x86, 0x9e, 0x02, 0xc3, 0xc6, 0x86, 0x95, 0x02, 0x00, 0xc6, 0x86, 0x96, 0x02, 0x00, 0xc3,
- 0x50, 0x53, 0xf6, 0x86, 0x96, 0x02, 0x01, 0x75, 0x1c, 0xa1, 0x2a, 0x5d, 0x8b, 0x9e, 0x9a, 0x02,
- 0x3b, 0xc3, 0x74, 0x11, 0x43, 0x3b, 0xc3, 0x74, 0x0c, 0x83, 0xc0, 0x04, 0x89, 0x86, 0x9a, 0x02,
- 0xc6, 0x86, 0x96, 0x02, 0x01, 0x5b, 0x58, 0xc3, 0xc7, 0x86, 0x98, 0x02, 0x00, 0x00, 0xa1, 0x2a,
- 0x5d, 0x83, 0xc0, 0x04, 0x89, 0x86, 0x9a, 0x02, 0xc6, 0x86, 0x96, 0x02, 0x01, 0xc3, 0xa1, 0x2a,
- 0x5d, 0x3b, 0x86, 0x9e, 0x02, 0x74, 0x3a, 0x40, 0x3b, 0x86, 0x9e, 0x02, 0x74, 0x33, 0x48, 0xf6,
- 0x86, 0x96, 0x02, 0x01, 0x74, 0x42, 0x3b, 0x86, 0x9a, 0x02, 0x75, 0x3c, 0x81, 0xbe, 0x98, 0x02,
- 0x04, 0x01, 0x75, 0x0a, 0x80, 0xbe, 0xfe, 0x00, 0x00, 0x75, 0x03, 0xe9, 0xa5, 0x00, 0x83, 0xbe,
- 0x98, 0x02, 0x04, 0x75, 0x11, 0x80, 0x7e, 0x06, 0x04, 0x75, 0x09, 0xe8, 0xaa, 0xff, 0xe9, 0xa4,
- 0x00, 0xe9, 0xa1, 0x00, 0xeb, 0x0c, 0x80, 0x7e, 0x06, 0x04, 0x75, 0x06, 0xe8, 0x26, 0xff, 0xe9,
- 0x93, 0x00, 0xe8, 0x60, 0xff, 0xe9, 0x8d, 0x00, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x54, 0x00, 0x25,
- 0x24, 0x01, 0x8b, 0xd8, 0x33, 0x86, 0x98, 0x02, 0x75, 0x02, 0xeb, 0x79, 0xa9, 0x04, 0x00, 0x74,
- 0x15, 0xe8, 0x4c, 0xff, 0xf7, 0xc3, 0x04, 0x00, 0x74, 0x07, 0xc6, 0x86, 0x97, 0x02, 0x01, 0xeb,
- 0x05, 0xc6, 0x86, 0x97, 0x02, 0x00, 0xa9, 0x00, 0x01, 0x74, 0x14, 0xf7, 0xc3, 0x00, 0x01, 0x74,
- 0x0b, 0xf7, 0xc3, 0x20, 0x00, 0x75, 0x20, 0xe8, 0x26, 0xff, 0xeb, 0x03, 0xe8, 0x21, 0xff, 0xa9,
- 0x20, 0x00, 0x74, 0x2d, 0xf7, 0xc3, 0x20, 0x00, 0x74, 0x34, 0xf6, 0x86, 0x96, 0x02, 0x01, 0x74,
- 0x30, 0xf7, 0xc3, 0x00, 0x01, 0x74, 0x2a, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x10, 0x74, 0x14, 0x80,
- 0xbe, 0xfe, 0x00, 0x00, 0x74, 0x0d, 0xe8, 0x1f, 0xff, 0xc6, 0x86, 0xfe, 0x00, 0x00, 0xe8, 0xa5,
- 0xed, 0xeb, 0x0e, 0xe8, 0xdf, 0xfe, 0xb8, 0x0e, 0x00, 0xe8, 0x45, 0xfd, 0xeb, 0x03, 0xe8, 0xdf,
- 0xfe, 0x89, 0x9e, 0x98, 0x02, 0xc3, 0x55, 0x1e, 0x06, 0x33, 0xed, 0x8e, 0xdd, 0x8b, 0x2e, 0x48,
- 0x5d, 0x8e, 0x46, 0x02, 0xeb, 0x00, 0x60, 0xfa, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x44, 0x00, 0x89,
- 0x86, 0x18, 0x01, 0xc7, 0x86, 0x1c, 0x01, 0x01, 0x00, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x46, 0x00,
- 0x89, 0x86, 0x1a, 0x01, 0xb8, 0x07, 0x00, 0x8e, 0x46, 0x02, 0x26, 0xa3, 0x46, 0x00, 0xb8, 0xff,
- 0xff, 0x8e, 0x46, 0x02, 0x26, 0xa3, 0x44, 0x00, 0xfb, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x48, 0x00,
- 0x8b, 0xd8, 0x81, 0xe3, 0xff, 0xfc, 0x8e, 0x46, 0x02, 0x26, 0x89, 0x1e, 0x48, 0x00, 0x8e, 0x46,
- 0x02, 0x26, 0x8b, 0x1e, 0x4a, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x89, 0x1e, 0x4a, 0x00, 0x50, 0xb0,
- 0xa0, 0xe6, 0x10, 0x58, 0xa9, 0x00, 0x08, 0x74, 0x0f, 0xf6, 0x06, 0x81, 0x5e, 0x01, 0x74, 0x05,
- 0xe8, 0xe8, 0x35, 0xeb, 0x03, 0xe8, 0x74, 0x30, 0xa9, 0x00, 0x01, 0x75, 0x22, 0xf7, 0x86, 0xa8,
- 0x02, 0x01, 0x00, 0x75, 0x21, 0xa9, 0xcd, 0x01, 0x74, 0x1c, 0x80, 0xbe, 0x6a, 0x01, 0x0a, 0x72,
- 0x0e, 0xc7, 0x86, 0xa8, 0x02, 0x01, 0x00, 0x81, 0x8e, 0x18, 0x01, 0xcd, 0x00, 0xeb, 0x07, 0xfe,
- 0x86, 0x6a, 0x01, 0xe8, 0x6c, 0x32, 0xa9, 0x00, 0x04, 0x74, 0x29, 0xf7, 0x86, 0x0a, 0x01, 0x01,
- 0x00, 0x75, 0x21, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x44, 0x00, 0x00, 0x04, 0xe8, 0x9f, 0xe8,
- 0xc7, 0x44, 0x02, 0x01, 0x00, 0x89, 0x44, 0x04, 0xc7, 0x86, 0x0a, 0x01, 0x01, 0x00, 0x8d, 0x7e,
- 0x16, 0xe8, 0xa9, 0xe8, 0xa9, 0x00, 0x10, 0x74, 0x27, 0x80, 0xbe, 0x0c, 0x01, 0x01, 0x74, 0x20,
- 0xf6, 0x86, 0xb8, 0x01, 0x01, 0x75, 0x19, 0xe8, 0x75, 0xe8, 0xf7, 0xc6, 0xff, 0xff, 0x74, 0x10,
- 0xc7, 0x44, 0x02, 0x03, 0x00, 0xc6, 0x86, 0xb8, 0x01, 0x01, 0x8d, 0x7e, 0x16, 0xe8, 0x7d, 0xe8,
- 0xa9, 0x00, 0x20, 0x74, 0x61, 0x80, 0xbe, 0x0c, 0x01, 0x01, 0x75, 0x07, 0xc6, 0x86, 0x0d, 0x01,
- 0x01, 0xeb, 0x53, 0x50, 0x26, 0xa1, 0x78, 0x00, 0x26, 0x8b, 0x1e, 0x70, 0x00, 0x3b, 0xc3, 0x77,
- 0x10, 0x2b, 0x86, 0xa8, 0x15, 0x8b, 0xc8, 0x8b, 0x86, 0xaa, 0x15, 0x2b, 0xc3, 0x03, 0xc1, 0xeb,
- 0x02, 0x2b, 0xc3, 0x3d, 0x00, 0x02, 0x77, 0x0d, 0xe8, 0xe6, 0xef, 0xc6, 0x86, 0xbc, 0x01, 0x01,
- 0x83, 0x8e, 0xe6, 0x02, 0x40, 0x58, 0xf6, 0x86, 0xb9, 0x01, 0x01, 0x75, 0x19, 0xe8, 0x0f, 0xe8,
- 0xf7, 0xc6, 0xff, 0xff, 0x74, 0x10, 0xc7, 0x44, 0x02, 0x04, 0x00, 0xc6, 0x86, 0xb9, 0x01, 0x01,
- 0x8d, 0x7e, 0x16, 0xe8, 0x17, 0xe8, 0xfa, 0x8b, 0x86, 0x18, 0x01, 0x8e, 0x46, 0x02, 0x26, 0xa3,
- 0x44, 0x00, 0xc7, 0x86, 0x1c, 0x01, 0x00, 0x00, 0x8b, 0x86, 0x1a, 0x01, 0x8e, 0x46, 0x02, 0x26,
- 0xa3, 0x46, 0x00, 0x61, 0x07, 0x1f, 0x5d, 0xcf, 0x50, 0x25, 0x00, 0x02, 0x8e, 0x46, 0x02, 0x26,
- 0xa3, 0x48, 0x00, 0x8b, 0x86, 0xcc, 0x02, 0x40, 0x89, 0x86, 0xcc, 0x02, 0x83, 0xf8, 0x01, 0x75,
- 0x08, 0x56, 0xbe, 0x55, 0x4c, 0xe8, 0x9e, 0xe9, 0x5e, 0x3b, 0x86, 0xc8, 0x01, 0x76, 0x0a, 0x80,
- 0xbe, 0x65, 0x02, 0x01, 0x74, 0x03, 0xe8, 0x3e, 0x32, 0x58, 0xc3, 0x8d, 0x71, 0x18, 0x8b, 0x49,
- 0x14, 0x86, 0xcd, 0x83, 0xe9, 0x04, 0x7e, 0x1b, 0x33, 0xc0, 0x03, 0xf0, 0x8a, 0x04, 0x0a, 0xc0,
- 0x74, 0x11, 0x3a, 0x54, 0x01, 0x74, 0x17, 0x32, 0xe4, 0x3c, 0xff, 0x74, 0x0a, 0x2b, 0xc8, 0x72,
- 0x02, 0x77, 0xe7, 0x33, 0xc0, 0xf9, 0xc3, 0x8b, 0x44, 0x02, 0x86, 0xc4, 0xeb, 0xef, 0x0a, 0xe4,
- 0x75, 0xf1, 0x38, 0xf0, 0x75, 0xed, 0x8d, 0x74, 0x02, 0xf8, 0xc3, 0x8c, 0xd8, 0x8e, 0xc0, 0x8b,
- 0xb6, 0xa8, 0x15, 0x8b, 0xbe, 0xaa, 0x15, 0x47, 0xa5, 0xa5, 0xa5, 0x8b, 0x4f, 0x04, 0x83, 0xc1,
- 0x07, 0x80, 0xe1, 0xfe, 0x8b, 0xc7, 0x2b, 0xc3, 0x2b, 0xc8, 0x76, 0x0a, 0x81, 0xf9, 0x00, 0x01,
- 0x73, 0x09, 0xd1, 0xe9, 0xf3, 0xa5, 0x8b, 0x07, 0xe9, 0xd1, 0x01, 0xb9, 0x19, 0x00, 0xf3, 0xa5,
- 0x33, 0xff, 0xf6, 0x47, 0x0e, 0x80, 0x74, 0x0e, 0x8b, 0x47, 0x14, 0x83, 0xe0, 0x1f, 0x74, 0x0f,
- 0xa8, 0x01, 0x75, 0x0b, 0x8b, 0xf8, 0xba, 0x80, 0x09, 0x68, 0xe9, 0x28, 0xe9, 0x65, 0x05, 0xe9,
- 0x9b, 0x02, 0xc3, 0x80, 0x7f, 0x17, 0x02, 0x75, 0xf9, 0x50, 0x56, 0x8b, 0xb6, 0x1a, 0x06, 0x8b,
- 0x04, 0x5e, 0x3b, 0x86, 0xc6, 0x01, 0x74, 0x07, 0x89, 0x86, 0xc6, 0x01, 0x58, 0xeb, 0x3d, 0x58,
- 0xeb, 0x12, 0x8a, 0x4f, 0x07, 0x80, 0xe1, 0x3f, 0x74, 0xd8, 0x8a, 0xe9, 0x86, 0x8e, 0xfe, 0x01,
- 0x38, 0xcd, 0x75, 0x18, 0x57, 0x51, 0x8d, 0xbe, 0x00, 0x02, 0x8d, 0x77, 0x0e, 0x8c, 0xd9, 0x8e,
- 0xc1, 0xb9, 0x03, 0x00, 0xf3, 0xa7, 0x75, 0x06, 0x59, 0x5f, 0xeb, 0xb6, 0x57, 0x51, 0x8d, 0xbe,
- 0x00, 0x02, 0x8d, 0x77, 0x0e, 0xb9, 0x03, 0x00, 0xf3, 0xa5, 0x59, 0x5f, 0xeb, 0x0d, 0x8b, 0x7e,
- 0x04, 0x58, 0xc3, 0xf7, 0x86, 0xf6, 0x00, 0x01, 0x00, 0x74, 0xf7, 0x80, 0x7e, 0x06, 0x0e, 0x74,
- 0x08, 0x80, 0x7e, 0x06, 0x48, 0x74, 0x02, 0xeb, 0xe9, 0x50, 0x8c, 0xd8, 0x8e, 0xc0, 0x8b, 0x07,
- 0xa9, 0x00, 0x40, 0x75, 0xdc, 0x0d, 0x00, 0x40, 0x89, 0x07, 0xe8, 0x8a, 0x00, 0x8b, 0x4f, 0x04,
- 0x83, 0xc1, 0x03, 0x80, 0xe1, 0xfe, 0x89, 0x7e, 0x04, 0x8b, 0xbe, 0xc2, 0x01, 0x3b, 0xfe, 0x72,
- 0x11, 0x8d, 0x86, 0xa8, 0x08, 0x05, 0xff, 0x00, 0x2b, 0xc7, 0x3b, 0xc1, 0x7d, 0x0a, 0x8d, 0xbe,
- 0xa8, 0x08, 0x2b, 0xf7, 0x3b, 0xf1, 0x7c, 0xa6, 0x8b, 0xd7, 0x8c, 0xd8, 0x8e, 0xc0, 0x33, 0xc0,
- 0x8b, 0xf3, 0xd1, 0xe9, 0x83, 0xc7, 0x02, 0x49, 0xad, 0xf3, 0xa5, 0x8b, 0xcf, 0xc7, 0x05, 0x00,
- 0x00, 0x8b, 0xfa, 0x89, 0x4d, 0x02, 0x51, 0x8b, 0x4d, 0x04, 0x83, 0xe9, 0x04, 0x89, 0x4d, 0x04,
- 0x59, 0x89, 0x05, 0x8d, 0x86, 0xa8, 0x08, 0x3b, 0xf8, 0x75, 0x0e, 0x8b, 0x86, 0xc0, 0x01, 0x3b,
- 0x86, 0xc2, 0x01, 0x75, 0x1c, 0x89, 0xbe, 0xc0, 0x01, 0x89, 0x8e, 0xc2, 0x01, 0x8b, 0x7e, 0x04,
- 0xc7, 0x86, 0xc4, 0x01, 0x00, 0x00, 0xb9, 0x40, 0x60, 0x8e, 0xc1, 0xe8, 0xd1, 0x22, 0xe9, 0x4d,
- 0xff, 0x97, 0x89, 0x45, 0x02, 0xeb, 0xe2, 0x8b, 0xb6, 0xc0, 0x01, 0xf7, 0x86, 0xc4, 0x01, 0x01,
- 0x00, 0x75, 0x0f, 0x81, 0x3c, 0x00, 0x80, 0x75, 0x05, 0x8b, 0x74, 0x02, 0xeb, 0xf5, 0x89, 0xb6,
- 0xc0, 0x01, 0xc3, 0xf7, 0x07, 0x01, 0x09, 0x74, 0x03, 0xe9, 0x61, 0x01, 0xf7, 0x07, 0x00, 0x10,
- 0x75, 0x34, 0x68, 0xf8, 0x27, 0xe9, 0xae, 0x26, 0xa8, 0x02, 0x74, 0x22, 0x80, 0x7e, 0x08, 0x00,
- 0x75, 0x1c, 0x80, 0xbe, 0x62, 0x02, 0x00, 0x74, 0x15, 0x24, 0x28, 0x3c, 0x28, 0x75, 0x0f, 0xf6,
- 0x47, 0x0e, 0x80, 0x75, 0x64, 0x81, 0x8e, 0xe6, 0x02, 0x80, 0x00, 0xeb, 0x5c, 0x90, 0xeb, 0x59,
- 0xe9, 0x38, 0xfe, 0x90, 0xeb, 0xd2, 0xeb, 0x34, 0x8b, 0x47, 0x14, 0x83, 0xe0, 0x1f, 0x74, 0x06,
- 0xa8, 0x01, 0x8b, 0xf8, 0x74, 0x4b, 0xe9, 0x14, 0x01, 0x50, 0x8b, 0x9e, 0xb2, 0x01, 0x8b, 0x07,
- 0xa9, 0x00, 0x80, 0x75, 0x02, 0x58, 0xc3, 0xa9, 0x00, 0x20, 0x74, 0x0b, 0xff, 0x86, 0x40, 0x02,
- 0x8b, 0x4f, 0x04, 0x01, 0x8e, 0x42, 0x02, 0xe8, 0x92, 0x03, 0x75, 0xc4, 0xf7, 0x86, 0xb6, 0x01,
- 0x00, 0x02, 0x75, 0x11, 0xa9, 0x01, 0x09, 0x75, 0x40, 0x80, 0x7e, 0x07, 0x10, 0x74, 0x3a, 0x80,
- 0x7e, 0x07, 0x12, 0x74, 0x34, 0xa8, 0x28, 0x75, 0xab, 0x33, 0xff, 0xf6, 0x47, 0x0e, 0x80, 0x75,
- 0xa7, 0x8b, 0x47, 0x04, 0x83, 0xf8, 0x12, 0x77, 0x05, 0x33, 0xc0, 0xe9, 0x99, 0x01, 0x83, 0xe8,
- 0x12, 0x2b, 0xc7, 0x83, 0xf8, 0x04, 0x7c, 0x38, 0x8b, 0x49, 0x16, 0x88, 0xae, 0x08, 0x02, 0x51,
- 0x80, 0xe1, 0xf0, 0x80, 0xf9, 0x00, 0x74, 0x04, 0x59, 0xe9, 0xa1, 0x00, 0x59, 0x0b, 0xff, 0x74,
- 0x0f, 0xf6, 0xc1, 0x0f, 0x74, 0xf3, 0x80, 0xf9, 0x33, 0x74, 0xee, 0x80, 0xf9, 0x03, 0x74, 0xe9,
- 0x86, 0xc4, 0x39, 0x41, 0x14, 0x86, 0xc4, 0x75, 0x03, 0xeb, 0x0d, 0x90, 0xe9, 0x53, 0x01, 0x90,
- 0xe9, 0x54, 0x01, 0x90, 0xe9, 0x5c, 0x01, 0x90, 0xf6, 0x86, 0x95, 0x02, 0x01, 0x74, 0x03, 0xe8,
- 0x43, 0xfa, 0x80, 0xfd, 0x17, 0x77, 0x11, 0x80, 0xfd, 0x01, 0x74, 0xe8, 0x80, 0xfd, 0x09, 0x74,
- 0xe3, 0x80, 0xfd, 0x0a, 0x74, 0xde, 0xeb, 0x11, 0x80, 0xfd, 0x20, 0x72, 0xd7, 0x80, 0xfd, 0x29,
- 0x77, 0xd2, 0x80, 0xfd, 0x21, 0x74, 0xcd, 0xeb, 0xa0, 0x80, 0xfd, 0x10, 0x76, 0x02, 0xeb, 0x05,
- 0x80, 0xfd, 0x0e, 0x73, 0x1d, 0x53, 0x8b, 0xd9, 0xc1, 0xeb, 0x08, 0x80, 0xe1, 0x0f, 0x3a, 0x8f,
- 0x72, 0x04, 0x74, 0x23, 0x83, 0xfb, 0x0b, 0x74, 0x19, 0x83, 0xfb, 0x0c, 0x74, 0x14, 0x5b, 0xe9,
- 0xfa, 0x00, 0x80, 0xe1, 0x0f, 0x80, 0xf9, 0x00, 0x74, 0xf5, 0x80, 0xf9, 0x03, 0x74, 0xf0, 0xe9,
- 0xa1, 0x01, 0x80, 0xf9, 0x08, 0x75, 0xe7, 0x5b, 0xe9, 0x98, 0x01, 0x5b, 0x5f, 0x8b, 0x9e, 0xb2,
- 0x01, 0xf7, 0x86, 0xf6, 0x00, 0x01, 0x00, 0x74, 0x28, 0x80, 0x7e, 0x06, 0x0e, 0x74, 0x06, 0x80,
- 0x7e, 0x06, 0x48, 0x75, 0x1c, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x08, 0x74, 0x06, 0x68, 0x1d, 0x29,
- 0xe9, 0x5f, 0xfd, 0xf7, 0x86, 0x12, 0x01, 0x80, 0x00, 0x74, 0x06, 0x68, 0x1d, 0x29, 0xe9, 0x32,
- 0xfd, 0x8b, 0x5f, 0x02, 0x89, 0x9e, 0xb2, 0x01, 0x8b, 0xc3, 0x83, 0xe8, 0x02, 0x3b, 0x86, 0xa8,
- 0x15, 0x77, 0x04, 0x8b, 0x86, 0xaa, 0x15, 0x8e, 0x46, 0x02, 0x53, 0x26, 0x8b, 0x1e, 0x78, 0x00,
- 0x81, 0x7f, 0xfc, 0xde, 0xad, 0x75, 0x07, 0x81, 0x7f, 0xfe, 0xbe, 0xaf, 0x74, 0x05, 0xc6, 0x86,
- 0xbd, 0x01, 0x01, 0x5b, 0x26, 0xa3, 0x78, 0x00, 0x26, 0xa1, 0x78, 0x00, 0x93, 0xc7, 0x47, 0xfc,
- 0xde, 0xad, 0xc7, 0x47, 0xfe, 0xbe, 0xaf, 0x93, 0xfa, 0x8b, 0x07, 0xa9, 0x00, 0x80, 0x74, 0x17,
- 0xfb, 0xff, 0x86, 0x3c, 0x01, 0x83, 0xbe, 0x3c, 0x01, 0x05, 0x77, 0x2b, 0x8a, 0x4e, 0x09, 0x3a,
- 0x4e, 0x08, 0x75, 0x23, 0xe9, 0x60, 0xfe, 0xc6, 0x86, 0xb9, 0x01, 0x00, 0xfb, 0xf6, 0x86, 0xbc,
- 0x01, 0x01, 0x74, 0x08, 0xc6, 0x86, 0xbc, 0x01, 0x00, 0xe8, 0x6a, 0xeb, 0xc7, 0x86, 0x3c, 0x01,
- 0x00, 0x00, 0x58, 0xc3, 0xe9, 0x46, 0xff, 0xe8, 0xb5, 0xe3, 0xf7, 0xc6, 0xff, 0xff, 0x74, 0xd7,
- 0xc7, 0x44, 0x02, 0x04, 0x00, 0xc6, 0x86, 0xb9, 0x01, 0x01, 0x8d, 0x7e, 0x16, 0xe8, 0xbd, 0xe3,
- 0xeb, 0xcb, 0xba, 0x80, 0x02, 0xeb, 0x1d, 0xba, 0x80, 0x01, 0xeb, 0x18, 0xba, 0x80, 0x04, 0xeb,
- 0x13, 0x5f, 0x5b, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x10, 0x74, 0x06, 0x68, 0x1d, 0x29, 0xe9, 0xd2,
- 0xfc, 0xba, 0x80, 0x03, 0x33, 0xc0, 0x8e, 0xc0, 0x68, 0xe9, 0x28, 0xe9, 0xc6, 0x01, 0x33, 0xd2,
- 0x32, 0xed, 0x8a, 0x4d, 0xff, 0x89, 0x55, 0x02, 0x83, 0xc7, 0x05, 0xe2, 0xf8, 0xf6, 0x86, 0x63,
- 0x02, 0x01, 0x74, 0x38, 0x80, 0x7e, 0x08, 0x0a, 0x75, 0x0b, 0xc6, 0x46, 0x09, 0x04, 0xc6, 0x86,
- 0x63, 0x02, 0x00, 0xeb, 0x24, 0x80, 0x7e, 0x08, 0x06, 0x75, 0x21, 0xc6, 0x86, 0x63, 0x02, 0x00,
- 0xc6, 0x86, 0x6d, 0x02, 0x01, 0xe8, 0x5e, 0xe7, 0xbe, 0x25, 0x4c, 0xe8, 0x18, 0xe5, 0x50, 0x53,
- 0x33, 0xc0, 0x8e, 0xc0, 0xe8, 0x47, 0x02, 0x5b, 0x58, 0xbb, 0x00, 0x00, 0x8b, 0xf8, 0x8b, 0xf3,
- 0x5b, 0x57, 0x53, 0x68, 0xe7, 0x28, 0xff, 0x66, 0x12, 0xeb, 0x87, 0x8b, 0xc7, 0x8b, 0xbf, 0x8a,
- 0x04, 0x0b, 0xff, 0x78, 0xf4, 0x74, 0xa6, 0x03, 0xfd, 0xf6, 0x45, 0x01, 0x80, 0x75, 0x02, 0xeb,
- 0x8d, 0xe9, 0x21, 0x01, 0xe9, 0x03, 0x01, 0x5f, 0x5b, 0xba, 0x80, 0x08, 0xe9, 0x75, 0xff, 0x8b,
- 0x54, 0x02, 0x86, 0xd6, 0x83, 0xc6, 0x02, 0xb0, 0x04, 0xeb, 0x51, 0x5f, 0x5b, 0xba, 0x80, 0x05,
- 0xe9, 0x61, 0xff, 0x53, 0x8d, 0x71, 0x18, 0x32, 0xff, 0x8a, 0xdd, 0xd1, 0xe3, 0x83, 0xe8, 0x04,
- 0x0b, 0xc0, 0x74, 0xb7, 0x89, 0x46, 0x04, 0x57, 0x8b, 0xbf, 0x8a, 0x04, 0x0b, 0xff, 0x74, 0xc4,
- 0x79, 0x03, 0xe9, 0x2c, 0xff, 0x03, 0xfd, 0x8e, 0xc7, 0x33, 0xc0, 0x32, 0xed, 0x8a, 0x4d, 0xff,
- 0x89, 0x45, 0x02, 0x83, 0xc7, 0x05, 0xe2, 0xf8, 0x33, 0xd2, 0x03, 0xf2, 0x8a, 0x4c, 0x01, 0x8a,
- 0x14, 0x0a, 0xd2, 0x74, 0xb6, 0x80, 0xfa, 0xff, 0x74, 0xa5, 0xb0, 0x02, 0x29, 0x56, 0x04, 0x72,
- 0xaa, 0x0a, 0xc9, 0x78, 0x92, 0x8a, 0xe1, 0x80, 0xe1, 0x3f, 0x8c, 0xc7, 0x8a, 0x6d, 0xff, 0xeb,
- 0x12, 0x80, 0x7d, 0x04, 0xff, 0x74, 0x15, 0xeb, 0x92, 0xe9, 0x7b, 0xff, 0xfe, 0xcd, 0x74, 0xf9,
- 0x83, 0xc7, 0x05, 0x3a, 0x0d, 0x75, 0xf5, 0x3a, 0x55, 0x04, 0x75, 0xe5, 0x8d, 0x44, 0x02, 0x87,
- 0x45, 0x02, 0x0b, 0xc0, 0x74, 0x09, 0xf6, 0x45, 0x01, 0x80, 0x75, 0xdd, 0x89, 0x45, 0x02, 0x83,
- 0x7e, 0x04, 0x00, 0x75, 0xa5, 0x33, 0xc0, 0x8c, 0xc6, 0xf6, 0x44, 0x01, 0x80, 0x74, 0x0e, 0x39,
- 0x44, 0x02, 0x74, 0x60, 0x83, 0xc6, 0x05, 0xf6, 0x44, 0x01, 0x80, 0x75, 0xf2, 0xf6, 0x86, 0x63,
- 0x02, 0x01, 0x74, 0x36, 0x80, 0x7e, 0x08, 0x0a, 0x75, 0x0b, 0xc6, 0x86, 0x63, 0x02, 0x00, 0xc6,
- 0x46, 0x09, 0x04, 0xeb, 0x22, 0x80, 0x7e, 0x08, 0x06, 0x75, 0x1f, 0xc6, 0x86, 0x63, 0x02, 0x00,
- 0xc6, 0x86, 0x6d, 0x02, 0x01, 0xe8, 0x2e, 0xe6, 0xbe, 0x25, 0x4c, 0xe8, 0xe8, 0xe3, 0x33, 0xc0,
- 0x8e, 0xc0, 0x53, 0xe8, 0x18, 0x01, 0x5b, 0xbb, 0x00, 0x00, 0x89, 0x5e, 0x04, 0x8b, 0xf3, 0x5f,
- 0x5b, 0x33, 0xc0, 0x8e, 0xc0, 0x3b, 0xb6, 0xba, 0x01, 0x73, 0x06, 0x68, 0xe9, 0x28, 0xff, 0x66,
- 0x12, 0xe9, 0x69, 0xfd, 0x5f, 0x5b, 0xba, 0x80, 0x07, 0xe9, 0x58, 0xfe, 0x56, 0x57, 0x50, 0x33,
- 0xc0, 0x8e, 0xc0, 0x8b, 0xb6, 0xa8, 0x15, 0x8b, 0xbe, 0xaa, 0x15, 0x83, 0xc7, 0x01, 0xa5, 0xa5,
- 0xa5, 0x8b, 0xc3, 0x03, 0x47, 0x04, 0x8b, 0xbe, 0xaa, 0x15, 0x3b, 0xc7, 0x7f, 0x02, 0x32, 0xc0,
- 0x58, 0x5f, 0x5e, 0xc3, 0x8c, 0xd8, 0x8e, 0xc0, 0xf6, 0x41, 0x16, 0x0f, 0x74, 0x60, 0x89, 0x96,
- 0xee, 0x02, 0x81, 0xfa, 0x80, 0x02, 0x74, 0x13, 0xba, 0x09, 0x04, 0xe8, 0xed, 0xf9, 0x72, 0x0b,
- 0xad, 0x86, 0xe0, 0x89, 0x86, 0x18, 0x02, 0x86, 0xe0, 0xeb, 0x06, 0x8b, 0x86, 0x18, 0x02, 0x86,
- 0xe0, 0x89, 0x86, 0xea, 0x02, 0x8c, 0xd8, 0x8e, 0xc0, 0x8d, 0x4d, 0x22, 0x57, 0x53, 0xe8, 0x2b,
- 0x06, 0x5a, 0x5f, 0x72, 0x29, 0x57, 0xe8, 0x26, 0x00, 0xb8, 0x00, 0x0e, 0xab, 0x47, 0xb0, 0x00,
- 0xaa, 0x8d, 0xb6, 0xe8, 0x02, 0xa5, 0xa5, 0x8d, 0xb6, 0xec, 0x02, 0xa5, 0xa5, 0x55, 0x8b, 0xea,
- 0x8a, 0x47, 0x16, 0x8a, 0x66, 0x17, 0xab, 0x5d, 0xe8, 0xa1, 0x06, 0x8b, 0xda, 0x5f, 0xc3, 0x55,
- 0x8b, 0xea, 0x8a, 0x43, 0x16, 0xc0, 0xe0, 0x04, 0x88, 0x41, 0x16, 0xc7, 0x47, 0x06, 0xe0, 0x00,
- 0x83, 0xe9, 0x06, 0x89, 0x4f, 0x04, 0x0b, 0xff, 0x75, 0x18, 0x8d, 0x76, 0x0e, 0x8d, 0x7f, 0x08,
- 0x8c, 0xd8, 0x8e, 0xc0, 0xa5, 0xa5, 0xa5, 0x8b, 0xd5, 0x5d, 0x8d, 0xb6, 0x00, 0x03, 0xa5, 0xa5,
- 0xa5, 0xc3, 0x8b, 0xcf, 0xd1, 0xe9, 0x8d, 0x76, 0x0e, 0x8d, 0x7f, 0x08, 0x8c, 0xd8, 0x8e, 0xc0,
- 0xad, 0x24, 0x7f, 0xab, 0xa5, 0xa5, 0x8b, 0xd5, 0x5d, 0x56, 0x8d, 0xb6, 0x00, 0x03, 0xad, 0x0c,
- 0x80, 0xab, 0xa5, 0xa5, 0x5e, 0xad, 0x80, 0xcc, 0x80, 0xab, 0x49, 0xf3, 0xa5, 0xc3, 0x8b, 0x86,
- 0x0c, 0x03, 0x86, 0xe0, 0x89, 0x86, 0x14, 0x02, 0x89, 0x86, 0x06, 0x02, 0x8c, 0xd8, 0x8e, 0xc0,
- 0x8d, 0xbe, 0x00, 0x02, 0x8d, 0xb6, 0x00, 0x03, 0xb9, 0x03, 0x00, 0xf3, 0xa5, 0xb9, 0x2a, 0x00,
- 0xe8, 0x5f, 0x05, 0x72, 0xd8, 0x8d, 0xb6, 0xf2, 0x02, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1,
- 0xe9, 0xf3, 0xa5, 0xe9, 0x0d, 0x06, 0xeb, 0x6a, 0xb9, 0x26, 0x00, 0xe8, 0x44, 0x05, 0x72, 0xf6,
- 0x8d, 0xb6, 0x1c, 0x03, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0xe9, 0xf2,
- 0x05, 0x8d, 0x7f, 0x08, 0x8b, 0x4f, 0x04, 0x83, 0xc1, 0x03, 0x80, 0xe1, 0xfe, 0x57, 0xe8, 0x21,
- 0x05, 0x5f, 0x8b, 0xd7, 0x72, 0x22, 0x83, 0xe9, 0x08, 0x8d, 0x7f, 0x04, 0x8c, 0xd8, 0x8e, 0xc0,
- 0x8b, 0xc1, 0xab, 0x8b, 0x86, 0x22, 0x03, 0xab, 0x8b, 0xf2, 0xd1, 0xe9, 0x49, 0xf3, 0xa5, 0xbe,
- 0x01, 0x4c, 0xe8, 0x41, 0xe2, 0xe9, 0xbb, 0x05, 0xc3, 0xb9, 0x26, 0x00, 0xe8, 0xf3, 0x04, 0x72,
- 0x11, 0x8c, 0xd8, 0x8e, 0xc0, 0x8d, 0xb6, 0x42, 0x03, 0x8b, 0xfb, 0xd1, 0xe9, 0xf3, 0xa5, 0xe9,
- 0xa1, 0x05, 0xc3, 0xb9, 0x26, 0x00, 0xe8, 0xf3, 0x04, 0x72, 0xf7, 0x8d, 0xb6, 0x68, 0x03, 0x8b,
- 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0xc6, 0x86, 0x67, 0x02, 0x01, 0x80, 0xbe,
- 0x87, 0x02, 0x01, 0x75, 0x03, 0xe9, 0x74, 0x05, 0x68, 0x6d, 0x31, 0xe9, 0x6e, 0x05, 0xb9, 0x26,
- 0x00, 0xe8, 0xc8, 0x04, 0x72, 0xcc, 0x8d, 0xb6, 0x8e, 0x03, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0,
- 0xd1, 0xe9, 0xf3, 0xa5, 0xc6, 0x86, 0x67, 0x02, 0x01, 0x80, 0xbe, 0x87, 0x02, 0x01, 0x75, 0x03,
- 0xe9, 0x49, 0x05, 0x68, 0x6d, 0x31, 0xe9, 0x43, 0x05, 0xb9, 0x18, 0x00, 0xe8, 0x9d, 0x04, 0x72,
- 0xa1, 0x8d, 0xb6, 0xb4, 0x03, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0xe9,
- 0x2a, 0x05, 0x83, 0xc1, 0x1c, 0x56, 0x57, 0x52, 0xe8, 0x81, 0x04, 0x5a, 0x5f, 0x5e, 0x72, 0x53,
- 0x56, 0x8c, 0xd8, 0x8e, 0xc0, 0x83, 0xe9, 0x08, 0x8b, 0xc1, 0x8d, 0x7f, 0x04, 0xab, 0xba, 0xe0,
- 0x00, 0x8b, 0xc2, 0xab, 0x8d, 0xb6, 0xd4, 0x03, 0xa5, 0xa5, 0xa5, 0x8d, 0xb6, 0x00, 0x03, 0x80,
- 0xbe, 0x62, 0x01, 0x01, 0x75, 0x04, 0x8d, 0xb6, 0x00, 0x01, 0xa5, 0xa5, 0xa5, 0x83, 0xe9, 0x0e,
- 0x80, 0xbe, 0x63, 0x01, 0x02, 0x75, 0x03, 0x83, 0xe9, 0x04, 0x8b, 0xc1, 0x86, 0xe0, 0xab, 0xb8,
- 0x00, 0x08, 0xab, 0x83, 0xe9, 0x04, 0xb8, 0xff, 0x26, 0xab, 0x8b, 0xc1, 0x86, 0xe0, 0xab, 0x5e,
- 0xe9, 0xc9, 0x04, 0xeb, 0x69, 0xf6, 0x86, 0x8b, 0x02, 0x01, 0x75, 0x03, 0xe9, 0xfb, 0x04, 0x83,
- 0xc1, 0x1a, 0x57, 0x52, 0xe8, 0x15, 0x04, 0x5a, 0x5f, 0x72, 0x53, 0x8c, 0xd8, 0x8e, 0xc0, 0x83,
- 0xe9, 0x08, 0x8b, 0xc1, 0x8d, 0x7f, 0x04, 0xab, 0xb9, 0x07, 0x00, 0x8d, 0xb6, 0xec, 0x03, 0xf3,
- 0xa5, 0x83, 0xe8, 0x0e, 0x8b, 0xc8, 0x86, 0xe0, 0xab, 0xb8, 0x00, 0x08, 0xab, 0x83, 0xe9, 0x04,
- 0x8b, 0xc1, 0xb4, 0x26, 0xab, 0xbe, 0x80, 0x03, 0xb9, 0x20, 0x00, 0xf3, 0xa5, 0xc6, 0x86, 0x8b,
- 0x02, 0x00, 0xe9, 0x77, 0x04, 0xb9, 0x44, 0x00, 0xe8, 0xd1, 0x03, 0x72, 0x11, 0x8d, 0xb6, 0x00,
- 0x04, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0xe8, 0x5e, 0x04, 0xc3, 0xb9,
- 0x36, 0x00, 0xe8, 0xb7, 0x03, 0x72, 0xf7, 0xff, 0x86, 0x56, 0x02, 0x8d, 0xb6, 0xd2, 0x05, 0x8b,
- 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0x33, 0xc0, 0x8d, 0xbe, 0xec, 0x05, 0xab,
- 0xab, 0xaa, 0x8d, 0xbe, 0xf4, 0x05, 0xab, 0xab, 0xaa, 0xe9, 0x30, 0x04, 0x8d, 0x4d, 0x3a, 0x57,
- 0x53, 0xe8, 0x88, 0x03, 0x5a, 0x5f, 0x72, 0x5b, 0x57, 0xe8, 0x83, 0xfd, 0x8c, 0xd8, 0x8e, 0xc0,
- 0xb8, 0x00, 0x26, 0xab, 0x47, 0xb0, 0x22, 0xaa, 0x8d, 0xb6, 0xe8, 0x02, 0xa5, 0xa5, 0x8d, 0xb6,
- 0x0e, 0x03, 0xa5, 0xa5, 0xa5, 0x8d, 0xb6, 0x14, 0x03, 0xa5, 0xa5, 0xa5, 0xa5, 0x8d, 0xb6, 0x44,
- 0x04, 0xa5, 0xa5, 0x8d, 0xb6, 0x48, 0x04, 0xa5, 0xa5, 0xa5, 0x8d, 0xb6, 0x4e, 0x04, 0xa5, 0x53,
- 0x8c, 0xdb, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x66, 0x00, 0xe8, 0x67, 0xdd, 0x8e, 0xc3, 0xab, 0x8e,
- 0x46, 0x02, 0x26, 0xa1, 0x64, 0x00, 0xe8, 0x5a, 0xdd, 0x8e, 0xc3, 0xab, 0x5b, 0xe8, 0xcc, 0x03,
- 0x8b, 0xda, 0x5f, 0xc3, 0x8d, 0x4d, 0x38, 0x57, 0x53, 0xe8, 0x20, 0x03, 0x5a, 0x5f, 0x72, 0xf3,
- 0x57, 0xe8, 0x1b, 0xfd, 0x8c, 0xd8, 0x8e, 0xc0, 0xb8, 0x00, 0x24, 0xab, 0x47, 0xb0, 0x23, 0xaa,
- 0x8d, 0xb6, 0xe8, 0x02, 0xa5, 0xa5, 0x8d, 0xb6, 0x18, 0x04, 0xb9, 0x06, 0x00, 0xf3, 0xa5, 0x8d,
- 0xb6, 0x5c, 0x04, 0xa5, 0xa5, 0xa5, 0xa5, 0x8d, 0xb6, 0x54, 0x04, 0xa5, 0xa5, 0xa5, 0xa5, 0xe8,
- 0x8a, 0x03, 0x8b, 0xda, 0x5f, 0xc3, 0x8d, 0x4d, 0x3e, 0x57, 0x53, 0xe8, 0xde, 0x02, 0x5a, 0x5f,
- 0x72, 0x64, 0x57, 0xe8, 0xd9, 0xfc, 0x8c, 0xd8, 0x8e, 0xc0, 0xb8, 0x00, 0x2a, 0xab, 0x47, 0xb0,
- 0x24, 0xaa, 0x8d, 0xb6, 0xe8, 0x02, 0xa5, 0xa5, 0x8d, 0xb6, 0x2c, 0x04, 0xb9, 0x0a, 0x00, 0xf3,
- 0xa5, 0x8d, 0xb6, 0x4e, 0x04, 0xa5, 0x53, 0x8c, 0xdb, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x66, 0x00,
- 0xe8, 0xd0, 0xdc, 0x8e, 0xc3, 0xab, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x64, 0x00, 0xe8, 0xc3, 0xdc,
- 0x8e, 0xc3, 0xab, 0x5b, 0x8c, 0xd8, 0x8e, 0xc0, 0x8d, 0xb6, 0x64, 0x04, 0xa5, 0x8b, 0x86, 0xfc,
- 0x01, 0x86, 0xc4, 0xab, 0x8d, 0xb6, 0x68, 0x04, 0xa5, 0x8b, 0x86, 0xfa, 0x01, 0x86, 0xc4, 0xab,
- 0xe8, 0x19, 0x03, 0x8b, 0xda, 0x5f, 0xc3, 0xb9, 0x3a, 0x00, 0xe8, 0x6f, 0x02, 0x72, 0xf7, 0x8d,
- 0xb6, 0x6c, 0x04, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0x80, 0xbe, 0x87,
- 0x02, 0x01, 0x75, 0x03, 0xe9, 0xf5, 0x02, 0x68, 0x6d, 0x31, 0xe9, 0xef, 0x02, 0xb9, 0x26, 0x00,
- 0xe8, 0x49, 0x02, 0x72, 0xd1, 0xff, 0x86, 0x52, 0x02, 0x8d, 0xb6, 0xa6, 0x04, 0x8b, 0xfb, 0x8c,
- 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0x80, 0xbe, 0x87, 0x02, 0x01, 0x75, 0x03, 0xe9, 0xcb,
- 0x02, 0x68, 0x6d, 0x31, 0xe9, 0xc5, 0x02, 0xb9, 0x20, 0x00, 0xe8, 0x1f, 0x02, 0x72, 0xa7, 0x8d,
- 0xb6, 0xf2, 0x01, 0x8d, 0xbe, 0xe6, 0x04, 0x8c, 0xd8, 0x8e, 0xc0, 0xa5, 0xa5, 0xa5, 0x8d, 0xb6,
- 0xcc, 0x04, 0x8b, 0xfb, 0xd1, 0xe9, 0xf3, 0xa5, 0x80, 0xbe, 0x87, 0x02, 0x01, 0x75, 0x03, 0xe9,
- 0x9a, 0x02, 0x68, 0x6d, 0x31, 0xe9, 0x94, 0x02, 0x89, 0x86, 0x06, 0x05, 0x86, 0xc4, 0x89, 0x86,
- 0x12, 0x02, 0xb9, 0x2a, 0x00, 0xe8, 0xe4, 0x01, 0x72, 0x18, 0x8d, 0xb6, 0xec, 0x04, 0x8b, 0xfb,
- 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0x80, 0xbe, 0x87, 0x02, 0x01, 0x75, 0x07, 0xe9,
- 0x6a, 0x02, 0xe9, 0x5a, 0x01, 0x90, 0x68, 0x6d, 0x31, 0xe9, 0x60, 0x02, 0xb9, 0x18, 0x00, 0xe8,
- 0xba, 0x01, 0x73, 0x03, 0xe9, 0x3f, 0xff, 0x8d, 0xb6, 0x8a, 0x05, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e,
- 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0xe9, 0x44, 0x02, 0xb9, 0x24, 0x00, 0xe8, 0x9e, 0x01, 0x73, 0x03,
- 0xe9, 0x23, 0xff, 0x8b, 0x86, 0x34, 0x05, 0x86, 0xc4, 0x89, 0x86, 0x2a, 0x02, 0x8d, 0xb6, 0x16,
- 0x05, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0xe9, 0x1e, 0x02, 0xb9, 0x1c,
- 0x00, 0xe8, 0x78, 0x01, 0x73, 0x03, 0xe9, 0xfd, 0xfe, 0x8d, 0xb6, 0x3a, 0x05, 0x8b, 0xfb, 0x8c,
- 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0xe9, 0x02, 0x02, 0xb9, 0x18, 0x00, 0xe8, 0x5c, 0x01,
- 0x73, 0x03, 0xe9, 0xe1, 0xfe, 0x8d, 0xb6, 0x56, 0x05, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1,
- 0xe9, 0xf3, 0xa5, 0xe9, 0xe6, 0x01, 0xb9, 0x1c, 0x00, 0x50, 0xe8, 0x3f, 0x01, 0x58, 0x73, 0x03,
- 0xe9, 0xc3, 0xfe, 0x8d, 0xb6, 0x6e, 0x05, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3,
- 0xa5, 0xe9, 0xc8, 0x01, 0xb9, 0x18, 0x00, 0xe8, 0x22, 0x01, 0x73, 0x03, 0xe9, 0xa7, 0xfe, 0x8d,
- 0xb6, 0xa2, 0x05, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0xe9, 0xac, 0x01,
- 0xb9, 0x18, 0x00, 0xe8, 0x06, 0x01, 0x73, 0x03, 0xe9, 0x8b, 0xfe, 0x8d, 0xb6, 0xba, 0x05, 0x8b,
- 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0xe9, 0x90, 0x01, 0x8b, 0x4f, 0x04, 0x53,
- 0xe8, 0xe9, 0x00, 0x5e, 0x72, 0x17, 0x89, 0x9e, 0x3c, 0x02, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0,
- 0xd1, 0xe9, 0xf3, 0xa5, 0xc7, 0x86, 0x3e, 0x02, 0x01, 0x00, 0xe9, 0x6f, 0x01, 0xe9, 0x61, 0x12,
- 0xb9, 0x18, 0x00, 0xe8, 0xc6, 0x00, 0x8d, 0xb6, 0xb4, 0x03, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0,
- 0xd1, 0xe9, 0xf3, 0xa5, 0x33, 0xc0, 0x8d, 0x7f, 0x08, 0xb9, 0x06, 0x00, 0xf3, 0xab, 0xe9, 0x4b,
- 0x01, 0x53, 0x8b, 0x9e, 0xb0, 0x01, 0x8b, 0xb6, 0xae, 0x01, 0x3b, 0xde, 0x74, 0x15, 0x8a, 0x47,
- 0x17, 0xf6, 0x44, 0x0e, 0x80, 0x75, 0x0e, 0x38, 0x44, 0x17, 0x75, 0x09, 0x8b, 0x74, 0x02, 0x89,
- 0xb6, 0xae, 0x01, 0xeb, 0x1a, 0x8b, 0xfe, 0x8b, 0x74, 0x02, 0x3b, 0xde, 0x74, 0x11, 0xf6, 0x44,
- 0x0e, 0x80, 0x75, 0xf1, 0x38, 0x44, 0x17, 0x75, 0xec, 0x8b, 0x44, 0x02, 0x89, 0x45, 0x02, 0x5b,
- 0xc3, 0xe8, 0x89, 0xd8, 0xc6, 0x86, 0x87, 0x02, 0x00, 0x8d, 0xb6, 0xa6, 0x01, 0x8d, 0xbe, 0xac,
- 0x01, 0x8c, 0xd8, 0x8e, 0xc0, 0xa5, 0xa5, 0xa5, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x40, 0x00,
- 0x00, 0x16, 0x8d, 0x9e, 0xa8, 0x12, 0x89, 0x9e, 0xa8, 0x01, 0x89, 0x9e, 0xaa, 0x01, 0xc7, 0x07,
- 0x30, 0x80, 0xc7, 0x47, 0x04, 0x00, 0x00, 0x83, 0xc3, 0x08, 0x89, 0x9e, 0xa6, 0x01, 0xc6, 0x86,
- 0x8a, 0x02, 0x01, 0x83, 0xc1, 0x02, 0xeb, 0x4a, 0x8b, 0x9e, 0xac, 0x01, 0x8b, 0xb6, 0xae, 0x01,
- 0xeb, 0x29, 0x80, 0xbe, 0x87, 0x02, 0x01, 0x74, 0xa8, 0x8d, 0x96, 0xa8, 0x15, 0x8d, 0xbe, 0xa8,
- 0x12, 0x8b, 0x9e, 0xa6, 0x01, 0x8b, 0xb6, 0xa8, 0x01, 0xeb, 0x18, 0x90, 0x8b, 0x9e, 0xa6, 0x01,
- 0x8b, 0xb6, 0xa8, 0x01, 0x80, 0xbe, 0x87, 0x02, 0x01, 0x75, 0xcd, 0x8d, 0x96, 0xa8, 0x12, 0x8d,
- 0xbe, 0xa8, 0x09, 0x83, 0xc1, 0x02, 0x3b, 0xde, 0x73, 0x17, 0x8b, 0xc6, 0x2b, 0xc3, 0x3b, 0xc1,
- 0x72, 0x25, 0xc7, 0x07, 0x00, 0x00, 0x83, 0xc3, 0x02, 0xc7, 0x07, 0x00, 0x00, 0x83, 0xe9, 0x02,
- 0xc3, 0x8b, 0xc2, 0x2b, 0xc3, 0x3b, 0xc1, 0x72, 0x02, 0xeb, 0xe7, 0x8b, 0xdf, 0x8b, 0xc6, 0x2b,
- 0xc3, 0x3b, 0xc1, 0x72, 0x02, 0xeb, 0xdb, 0x3b, 0xb6, 0xae, 0x01, 0x74, 0x11, 0x80, 0xbe, 0x62,
- 0x02, 0x01, 0x75, 0x05, 0x83, 0x8e, 0xe6, 0x02, 0x02, 0xe8, 0x82, 0x01, 0xf9, 0xc3, 0x8b, 0x74,
- 0x02, 0x89, 0xb6, 0xae, 0x01, 0x3b, 0xdd, 0x74, 0x04, 0x3b, 0xde, 0x77, 0xc4, 0x8b, 0xc6, 0x2b,
- 0xc3, 0x3b, 0xc1, 0x72, 0xe9, 0x89, 0xb6, 0xae, 0x01, 0xeb, 0xa7, 0x8b, 0xb6, 0xb0, 0x01, 0x89,
- 0x5c, 0x02, 0x80, 0x4c, 0x05, 0x80, 0x89, 0x9e, 0xb0, 0x01, 0x03, 0x5f, 0x04, 0x83, 0xc3, 0x06,
- 0x89, 0x9e, 0xac, 0x01, 0xc6, 0x86, 0x8c, 0x02, 0x01, 0xc3, 0xeb, 0xdf, 0x80, 0xbe, 0x87, 0x02,
- 0x01, 0x75, 0xf7, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x4c, 0x00, 0x0c, 0x02, 0x80, 0xbe, 0x8a, 0x02,
- 0x01, 0x74, 0x45, 0x8b, 0xb6, 0xaa, 0x01, 0x89, 0x5c, 0x02, 0x80, 0x4c, 0x05, 0x80, 0x83, 0xc8,
- 0x04, 0x25, 0xff, 0xf7, 0x8e, 0x46, 0x02, 0x26, 0xa3, 0x4c, 0x00, 0x89, 0x9e, 0xaa, 0x01, 0x03,
- 0x5f, 0x04, 0x83, 0xc3, 0x06, 0x89, 0x9e, 0xa6, 0x01, 0xc3, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x4c,
- 0x00, 0x0c, 0x02, 0x8b, 0x9e, 0xaa, 0x01, 0xc7, 0x07, 0x00, 0x00, 0x26, 0x89, 0x1e, 0x6c, 0x00,
- 0x83, 0xc8, 0x08, 0x25, 0xff, 0xf7, 0xeb, 0xcc, 0x8e, 0x46, 0x02, 0x89, 0x9e, 0xa8, 0x01, 0x26,
- 0x89, 0x1e, 0x6c, 0x00, 0x83, 0xc8, 0x08, 0x25, 0xff, 0xf7, 0xc6, 0x86, 0x8a, 0x02, 0x00, 0xeb,
- 0xb3, 0x53, 0xf6, 0x86, 0x87, 0x02, 0x01, 0x74, 0x13, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x4c,
- 0x00, 0xfe, 0x26, 0x81, 0x0e, 0x32, 0x00, 0x00, 0x80, 0xe8, 0x65, 0xfe, 0x5b, 0xc3, 0xe9, 0xac,
- 0x00, 0x90, 0x80, 0xbe, 0x87, 0x02, 0x00, 0x75, 0xf5, 0x50, 0xfa, 0x8d, 0xb6, 0xac, 0x01, 0x8d,
- 0xbe, 0xa6, 0x01, 0x8c, 0xd8, 0x8e, 0xc0, 0xa5, 0xa5, 0xa5, 0x80, 0xbe, 0x63, 0x01, 0x01, 0x75,
- 0x16, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x40, 0x00, 0x00, 0x02, 0x8e, 0x46, 0x02, 0x26, 0x81,
- 0x26, 0x40, 0x00, 0xff, 0xe3, 0xeb, 0x27, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x40, 0x00, 0x00,
- 0x02, 0xf6, 0x86, 0xaf, 0x02, 0x01, 0x74, 0x0c, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x40, 0x00,
- 0x00, 0x1c, 0xeb, 0x0a, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x40, 0x00, 0xff, 0xe3, 0x33, 0xc0,
- 0x89, 0x86, 0xae, 0x01, 0x40, 0x88, 0x86, 0x87, 0x02, 0x58, 0xf6, 0x86, 0x58, 0x02, 0x01, 0x74,
- 0x0a, 0xe8, 0x5c, 0xe0, 0x8e, 0x46, 0x02, 0x26, 0xa2, 0x5c, 0x00, 0x8b, 0x9e, 0xa8, 0x01, 0x83,
- 0x3f, 0x00, 0x74, 0x03, 0xe8, 0x90, 0x00, 0xf6, 0x86, 0x8c, 0x02, 0x01, 0x74, 0x19, 0x8e, 0x46,
- 0x02, 0x26, 0x89, 0x1e, 0x6c, 0x00, 0xc6, 0x86, 0x8c, 0x02, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x83,
- 0x0e, 0x4c, 0x00, 0x08, 0xfb, 0xeb, 0x06, 0xc6, 0x86, 0x8a, 0x02, 0x01, 0xfb, 0xc3, 0x56, 0x8d,
- 0xb6, 0xa8, 0x09, 0xc7, 0x86, 0xa6, 0x01, 0xb0, 0x09, 0x01, 0xae, 0xa6, 0x01, 0x89, 0xb6, 0xa8,
- 0x01, 0x89, 0xb6, 0xaa, 0x01, 0xc7, 0x04, 0x30, 0x80, 0xc7, 0x44, 0x04, 0x00, 0x00, 0xc6, 0x86,
- 0x8a, 0x02, 0x01, 0x5e, 0xc3, 0xff, 0xa4, 0x1c, 0x04, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x74, 0x32,
- 0x80, 0x7e, 0x06, 0x46, 0x75, 0x1c, 0xf6, 0x86, 0x7a, 0x02, 0x01, 0x74, 0x15, 0xff, 0x8e, 0xd6,
- 0x02, 0x75, 0x0f, 0xc6, 0x86, 0x7a, 0x02, 0x00, 0xc6, 0x86, 0x6f, 0x02, 0x00, 0xe8, 0x36, 0xdd,
- 0xeb, 0x10, 0x83, 0xfe, 0x10, 0x74, 0x07, 0x83, 0xfe, 0x0e, 0x74, 0x02, 0xeb, 0x04, 0xff, 0xa4,
- 0x1c, 0x04, 0xc3, 0x8b, 0x9e, 0xa8, 0x01, 0x8b, 0x07, 0xfb, 0xa9, 0x00, 0x80, 0x75, 0x46, 0x8b,
- 0x77, 0x17, 0x81, 0xe6, 0xff, 0x00, 0xf7, 0x86, 0x3e, 0x02, 0x01, 0x00, 0x74, 0x1b, 0x3b, 0x9e,
- 0x3c, 0x02, 0x75, 0x15, 0x89, 0x86, 0xcc, 0x15, 0x50, 0x53, 0x56, 0xe8, 0x23, 0x0f, 0x5e, 0x5b,
- 0x58, 0xc7, 0x86, 0x3e, 0x02, 0x00, 0x00, 0xeb, 0x18, 0xf7, 0x46, 0x14, 0xff, 0xff, 0x74, 0x11,
- 0x83, 0xfe, 0x2a, 0x77, 0x0c, 0xd1, 0xe6, 0x68, 0xad, 0x34, 0xff, 0x66, 0x14, 0x5b, 0x83, 0xc4,
- 0x02, 0x81, 0x0f, 0x00, 0x80, 0xfa, 0xf6, 0x47, 0x05, 0x80, 0x74, 0x1a, 0x8b, 0x5f, 0x02, 0x89,
- 0x9e, 0xa8, 0x01, 0xf7, 0x07, 0x10, 0x00, 0x74, 0x0d, 0xff, 0x86, 0x3a, 0x01, 0x83, 0xbe, 0x3a,
- 0x01, 0x06, 0x77, 0x0f, 0xeb, 0x91, 0xc6, 0x86, 0xb8, 0x01, 0x00, 0xc7, 0x86, 0x3a, 0x01, 0x00,
- 0x00, 0xfb, 0xc3, 0xe8, 0x79, 0xd8, 0xf7, 0xc6, 0xff, 0xff, 0x74, 0xea, 0xc7, 0x44, 0x02, 0x03,
- 0x00, 0xc6, 0x86, 0xb8, 0x01, 0x01, 0x8d, 0x7e, 0x16, 0xe8, 0x81, 0xd8, 0xeb, 0xdd, 0xa9, 0x20,
- 0x00, 0x75, 0x74, 0xf7, 0x47, 0x04, 0x00, 0x80, 0x74, 0x05, 0xe8, 0x08, 0x00, 0x72, 0x9f, 0x53,
- 0x68, 0xa9, 0x34, 0xff, 0xe6, 0x8a, 0x47, 0x17, 0x8b, 0xfb, 0x8b, 0x7d, 0x02, 0x38, 0x45, 0x17,
- 0x74, 0x09, 0xf7, 0x45, 0x04, 0x00, 0x80, 0x75, 0xf1, 0xf8, 0xc3, 0xf9, 0xc3, 0xa9, 0x20, 0x00,
- 0x75, 0x05, 0xa9, 0x00, 0x10, 0x75, 0x0c, 0x33, 0xc9, 0xa9, 0x05, 0x00, 0x75, 0x0a, 0xa9, 0x0a,
- 0x04, 0x74, 0x05, 0x8b, 0x0d, 0xe3, 0x01, 0x49, 0x89, 0x0d, 0xc3, 0x53, 0x8b, 0x4f, 0x04, 0x80,
- 0xe5, 0x7f, 0x89, 0x4f, 0x04, 0x83, 0xc1, 0x06, 0xe8, 0xc1, 0xfc, 0x72, 0x19, 0x5e, 0x56, 0x8b,
- 0xfb, 0xd1, 0xe9, 0x83, 0xe9, 0x02, 0x83, 0xc6, 0x04, 0x83, 0xc7, 0x04, 0x8c, 0xd8, 0x8e, 0xc0,
- 0xf3, 0xa5, 0xe8, 0x47, 0xfd, 0xf8, 0x5b, 0xc3, 0x80, 0x7e, 0x08, 0x02, 0x75, 0x0b, 0xa9, 0x20,
- 0x00, 0x75, 0x06, 0xc7, 0x86, 0xcc, 0x01, 0x01, 0x00, 0xc3, 0x8a, 0x56, 0x06, 0x80, 0xfa, 0x02,
- 0x74, 0x17, 0x80, 0xfa, 0x44, 0x74, 0x12, 0x83, 0x7e, 0x08, 0x08, 0x75, 0x18, 0x80, 0xfa, 0x0c,
- 0x74, 0x07, 0x80, 0xfa, 0x0e, 0x74, 0x02, 0xeb, 0x0b, 0xa9, 0x20, 0x00, 0x75, 0x06, 0xb8, 0x01,
- 0x00, 0xe8, 0x7d, 0xeb, 0xc3, 0xb9, 0x05, 0x00, 0xa9, 0x20, 0x00, 0x74, 0x09, 0xb9, 0x08, 0x00,
- 0xa9, 0x0f, 0x00, 0x75, 0x01, 0xc3, 0xff, 0x86, 0xce, 0x02, 0x83, 0xbe, 0xce, 0x02, 0x02, 0x72,
- 0x06, 0x8b, 0xc1, 0xe8, 0x5b, 0xeb, 0xc3, 0xe8, 0x9f, 0xf7, 0xc3, 0x53, 0x68, 0xa9, 0x34, 0xe9,
- 0x63, 0xf8, 0x80, 0x7e, 0x06, 0x0c, 0x75, 0x1d, 0xa9, 0x00, 0x10, 0x75, 0xee, 0xa9, 0x20, 0x00,
- 0x75, 0x00, 0xa8, 0x0a, 0x75, 0x10, 0xff, 0x86, 0xc4, 0x02, 0x83, 0xbe, 0xc4, 0x02, 0x04, 0x72,
- 0xda, 0xc6, 0x46, 0x07, 0x0e, 0xc3, 0x83, 0xbe, 0xc2, 0x02, 0x04, 0x73, 0xf8, 0xbe, 0x31, 0x4c,
- 0xe8, 0x33, 0xd9, 0xeb, 0xf0, 0x8d, 0xbe, 0xc8, 0x02, 0xe8, 0x11, 0xff, 0x0b, 0xc9, 0x74, 0xe5,
- 0x53, 0x68, 0xa9, 0x34, 0xe9, 0x1e, 0xf8, 0x8d, 0xbe, 0xc0, 0x02, 0xe8, 0xff, 0xfe, 0x0b, 0xc9,
- 0x74, 0x03, 0xe9, 0x16, 0xff, 0xc3, 0x53, 0x8a, 0x56, 0x06, 0x80, 0xfa, 0x02, 0x74, 0x17, 0x80,
- 0xfa, 0x44, 0x74, 0x12, 0x80, 0x7e, 0x08, 0x08, 0x75, 0x34, 0x80, 0xfa, 0x0c, 0x74, 0x07, 0x80,
- 0xfa, 0x0e, 0x74, 0x02, 0xeb, 0x28, 0xa9, 0x20, 0x00, 0x74, 0x25, 0x80, 0xbe, 0xfe, 0x00, 0x02,
- 0x74, 0x1c, 0x8b, 0x96, 0x66, 0x01, 0x4a, 0x89, 0x96, 0x66, 0x01, 0x83, 0xfa, 0x01, 0x77, 0x1b,
- 0xbe, 0x19, 0x4c, 0xe8, 0xd0, 0xd8, 0xc6, 0x86, 0x8a, 0x02, 0x01, 0xe8, 0xfb, 0xf6, 0x5b, 0xc3,
- 0xfe, 0x8e, 0x68, 0x01, 0x75, 0x05, 0xe8, 0x15, 0x20, 0xeb, 0xf3, 0xbe, 0x19, 0x4c, 0xe8, 0xb5,
- 0xd8, 0x8b, 0xb6, 0x64, 0x01, 0xb9, 0xe8, 0x03, 0xc6, 0x86, 0x8a, 0x02, 0x01, 0xfa, 0xe8, 0xf1,
- 0xf6, 0xeb, 0xdb, 0xa9, 0x20, 0x00, 0x74, 0x41, 0xa9, 0x0f, 0x00, 0x75, 0x25, 0xc6, 0x86, 0x69,
- 0x02, 0x01, 0xc6, 0x86, 0x6a, 0x02, 0x01, 0x8c, 0xd8, 0x8e, 0xc0, 0x33, 0xc0, 0x8d, 0x77, 0x0e,
- 0x8d, 0xbe, 0xf2, 0x01, 0xab, 0xab, 0xab, 0x8b, 0x86, 0x0a, 0x02, 0x83, 0x8e, 0x0a, 0x02, 0x40,
- 0xeb, 0x17, 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0xf2, 0x01, 0x8c, 0xd8, 0x8e, 0xc0, 0xa5, 0xa5, 0xa5,
- 0x8b, 0x86, 0x0a, 0x02, 0x83, 0xa6, 0x0a, 0x02, 0xbf, 0x33, 0x86, 0x0a, 0x02, 0x74, 0x05, 0xc6,
- 0x86, 0x89, 0x02, 0x01, 0xc3, 0xfb, 0xc3, 0xff, 0xa4, 0xc0, 0x03, 0x53, 0x56, 0x8b, 0xc7, 0xf7,
- 0x07, 0x00, 0x10, 0x75, 0x18, 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0xd4, 0x01, 0x8c, 0xd9, 0x8e, 0xc1,
- 0xb9, 0x03, 0x00, 0xf3, 0xa7, 0x8b, 0xf8, 0x75, 0x0c, 0x81, 0x0f, 0x00, 0x10, 0x80, 0x7e, 0x06,
- 0x44, 0x74, 0x47, 0xeb, 0x42, 0x8b, 0x49, 0x16, 0x80, 0xf9, 0x00, 0x74, 0x05, 0x80, 0xf9, 0x03,
- 0x75, 0x38, 0x8d, 0xbe, 0x16, 0x03, 0x83, 0x3d, 0x00, 0x75, 0x0c, 0x83, 0x7d, 0x02, 0x00, 0x75,
- 0x06, 0x83, 0x7d, 0x04, 0x00, 0x74, 0x23, 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0x16, 0x03, 0x8c, 0xd9,
- 0x8e, 0xc1, 0xb9, 0x03, 0x00, 0xf3, 0xa7, 0x8b, 0xf8, 0x74, 0x0f, 0xc7, 0x86, 0x2e, 0x02, 0x0e,
- 0x00, 0xb8, 0x0b, 0x00, 0xe8, 0xca, 0xe9, 0x5e, 0x5b, 0xc3, 0x8b, 0xf8, 0x5e, 0x5b, 0xff, 0xa4,
- 0xec, 0x03, 0xff, 0x86, 0x4c, 0x02, 0xc7, 0x86, 0x2e, 0x02, 0x06, 0x00, 0x8c, 0xd8, 0x8e, 0xc0,
- 0x8d, 0xbe, 0x00, 0x02, 0x8d, 0x77, 0x0e, 0xb9, 0x03, 0x00, 0xf3, 0xa5, 0x8b, 0xb6, 0x1a, 0x06,
- 0x8b, 0x04, 0x86, 0xe0, 0x89, 0x86, 0x06, 0x02, 0x89, 0x86, 0x16, 0x02, 0x8b, 0xb6, 0x1f, 0x06,
- 0x8b, 0x04, 0x89, 0x86, 0x1a, 0x02, 0x8b, 0x44, 0x02, 0x89, 0x86, 0x1c, 0x02, 0x8b, 0x44, 0x04,
- 0x89, 0x86, 0x1e, 0x02, 0x8b, 0xb6, 0x24, 0x06, 0x8b, 0x04, 0x89, 0x86, 0x24, 0x02, 0x8b, 0x44,
- 0x02, 0x89, 0x86, 0x26, 0x02, 0x8b, 0xb6, 0x1a, 0x06, 0x8b, 0x04, 0x80, 0x7e, 0x08, 0x06, 0x75,
- 0x56, 0xf7, 0x07, 0x00, 0x10, 0x74, 0x14, 0xf6, 0x47, 0x06, 0x08, 0x75, 0x0b, 0x80, 0xbe, 0x63,
- 0x02, 0x00, 0x75, 0x04, 0xc6, 0x46, 0x09, 0x04, 0xe9, 0x1b, 0x01, 0x3b, 0x86, 0x0c, 0x03, 0x77,
- 0xf7, 0x80, 0xbe, 0x62, 0x02, 0x01, 0x74, 0x10, 0x80, 0x7e, 0x06, 0x0c, 0x75, 0xea, 0xc6, 0x46,
- 0x07, 0x10, 0xc6, 0x46, 0x09, 0x1e, 0xeb, 0xe0, 0x80, 0xbe, 0x63, 0x02, 0x00, 0x75, 0xd9, 0xc6,
- 0x46, 0x09, 0x0a, 0xf6, 0x86, 0x0b, 0x02, 0x10, 0x74, 0xce, 0x80, 0xa6, 0x0b, 0x02, 0x6f, 0xc6,
- 0x86, 0x89, 0x02, 0x01, 0xe9, 0xdf, 0x00, 0x80, 0x7e, 0x08, 0x0a, 0x75, 0x5b, 0xc6, 0x86, 0x58,
- 0x02, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x4c, 0x00, 0xbf, 0xbe, 0xf5, 0x4b, 0xe8, 0x05,
- 0xd7, 0x8b, 0xb6, 0x1f, 0x06, 0x8d, 0xbe, 0x00, 0x03, 0x8c, 0xd9, 0x8e, 0xc1, 0xb9, 0x03, 0x00,
- 0xf3, 0xa7, 0x75, 0x21, 0x83, 0xf8, 0x01, 0x74, 0x1c, 0xff, 0x8e, 0xba, 0x02, 0x75, 0x13, 0xf6,
- 0x86, 0x5c, 0x02, 0x01, 0x75, 0x0c, 0xc6, 0x86, 0x5c, 0x02, 0x01, 0xc6, 0x46, 0x09, 0x08, 0xe9,
- 0x94, 0x00, 0xe9, 0x91, 0x00, 0xc7, 0x86, 0xba, 0x02, 0x08, 0x00, 0x83, 0xf8, 0x01, 0x75, 0x0a,
- 0xc7, 0x86, 0xb8, 0x02, 0x02, 0x00, 0xeb, 0x7e, 0xeb, 0x2e, 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0x16,
- 0x03, 0x8c, 0xd9, 0x8e, 0xc1, 0xb9, 0x03, 0x00, 0xf3, 0xa7, 0x75, 0xe4, 0xff, 0x8e, 0xb8, 0x02,
- 0x75, 0x14, 0xc7, 0x86, 0xb8, 0x02, 0x02, 0x00, 0xc6, 0x86, 0x58, 0x02, 0x01, 0x8e, 0x46, 0x02,
- 0x26, 0x83, 0x0e, 0x4c, 0x00, 0x40, 0xeb, 0x4e, 0x80, 0xbe, 0x62, 0x02, 0x00, 0x74, 0x0c, 0x80,
- 0x7e, 0x08, 0x08, 0x74, 0x41, 0xc6, 0x46, 0x09, 0x0a, 0xeb, 0x3b, 0xb7, 0x10, 0x8a, 0x5e, 0x06,
- 0x80, 0xfb, 0x06, 0x74, 0x1f, 0x80, 0xfb, 0x08, 0x74, 0x1a, 0x80, 0xfb, 0x04, 0x74, 0x15, 0x80,
- 0xfb, 0x0c, 0x74, 0x10, 0x80, 0xfb, 0x0a, 0x75, 0x07, 0xc6, 0x86, 0x5f, 0x02, 0x00, 0xeb, 0x04,
- 0xb7, 0x12, 0xeb, 0x12, 0x88, 0x7e, 0x07, 0x80, 0xff, 0x12, 0x75, 0x04, 0xc6, 0x46, 0x09, 0x1e,
- 0xb8, 0x07, 0x00, 0xe8, 0x2b, 0xe8, 0xc3, 0xff, 0x86, 0x4c, 0x02, 0xc7, 0x86, 0x2e, 0x02, 0x06,
- 0x00, 0x8c, 0xd8, 0x8e, 0xc0, 0x8d, 0xbe, 0x00, 0x02, 0x8d, 0x77, 0x0e, 0xb9, 0x03, 0x00, 0xf3,
- 0xa5, 0x80, 0x7e, 0x06, 0x48, 0x74, 0x08, 0xb8, 0x06, 0x00, 0xe8, 0x04, 0xe8, 0xeb, 0x37, 0xf6,
- 0x86, 0x72, 0x02, 0x01, 0x74, 0x26, 0x80, 0x7e, 0x08, 0x16, 0x75, 0x20, 0xc6, 0x46, 0x09, 0x1a,
- 0xc6, 0x86, 0x73, 0x02, 0x00, 0xc6, 0x86, 0x6c, 0x02, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26,
- 0x4c, 0x00, 0xfe, 0x26, 0x81, 0x0e, 0x32, 0x00, 0x00, 0x80, 0xeb, 0x0a, 0x80, 0x7e, 0x08, 0x18,
- 0x75, 0x04, 0xc6, 0x46, 0x09, 0x1a, 0xc3, 0x8a, 0x4e, 0x06, 0x80, 0xbe, 0xac, 0x02, 0x01, 0x74,
- 0x02, 0xeb, 0x06, 0xb8, 0x06, 0x00, 0xe8, 0xb8, 0xe7, 0xc3, 0xe9, 0x8e, 0x00, 0xeb, 0x6e, 0xeb,
- 0x64, 0x80, 0x7e, 0x06, 0x42, 0x75, 0xf3, 0x8b, 0x47, 0x1a, 0x83, 0xf8, 0x00, 0x75, 0xee, 0x80,
- 0xbe, 0xfe, 0x00, 0x02, 0x74, 0xe9, 0xf6, 0x86, 0x78, 0x02, 0x01, 0x74, 0x29, 0xc6, 0x86, 0x78,
- 0x02, 0x00, 0xc6, 0x86, 0xb0, 0x02, 0x01, 0xc7, 0x86, 0x34, 0x05, 0x00, 0x02, 0xc7, 0x86, 0xd8,
- 0x02, 0x05, 0x00, 0xbe, 0xa9, 0x4c, 0xe8, 0x8d, 0xd5, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x08, 0x74,
- 0x03, 0xe8, 0xb4, 0xf6, 0xeb, 0x45, 0xf6, 0x86, 0x82, 0x02, 0x01, 0x75, 0x18, 0xf7, 0x86, 0xf4,
- 0x00, 0x00, 0x10, 0x74, 0x10, 0xb8, 0x02, 0x00, 0xe8, 0x9a, 0x11, 0xc6, 0x46, 0x09, 0x1e, 0xc6,
- 0x46, 0x07, 0x02, 0xeb, 0x26, 0xb8, 0x06, 0x00, 0xe8, 0x46, 0xe7, 0xeb, 0x1e, 0x3d, 0x00, 0x02,
- 0x75, 0x10, 0xc6, 0x86, 0x7b, 0x02, 0x01, 0xe8, 0xf1, 0x06, 0xbe, 0x91, 0x4c, 0xe8, 0x46, 0xd5,
- 0xeb, 0x09, 0x3d, 0x00, 0x04, 0x75, 0x04, 0xc6, 0x46, 0x07, 0x4a, 0xc3, 0xc7, 0x86, 0x2e, 0x02,
- 0x02, 0x00, 0x80, 0x7e, 0x06, 0x46, 0x75, 0x2b, 0x8b, 0x47, 0x1a, 0x83, 0xf8, 0x00, 0x75, 0x10,
- 0xc6, 0x46, 0x07, 0x48, 0x80, 0x7e, 0x08, 0x1c, 0x75, 0x19, 0xc6, 0x46, 0x09, 0x16, 0xeb, 0x13,
- 0x86, 0xc4, 0x3d, 0x20, 0x80, 0x75, 0x0c, 0xc7, 0x86, 0x2e, 0x02, 0x11, 0x00, 0xb8, 0x08, 0x00,
- 0xe8, 0xee, 0xe6, 0xc3, 0xc7, 0x86, 0x2e, 0x02, 0x0f, 0x00, 0x80, 0x7e, 0x06, 0x44, 0x74, 0x06,
- 0x80, 0x7e, 0x06, 0x42, 0x75, 0x08, 0xb8, 0x06, 0x00, 0xe8, 0xd5, 0xe6, 0xeb, 0x0d, 0xf6, 0x86,
- 0x73, 0x02, 0x01, 0x74, 0x06, 0xbe, 0x9d, 0x4c, 0xe8, 0xdb, 0xd4, 0xc3, 0x80, 0x7e, 0x06, 0x44,
- 0x75, 0x14, 0xe8, 0xea, 0xd2, 0xc7, 0x44, 0x02, 0x02, 0x00, 0x8d, 0x7e, 0x16, 0xe8, 0xfd, 0xd2,
- 0xbe, 0x19, 0x4c, 0xe8, 0x72, 0xd5, 0xc3, 0xf7, 0x86, 0xf6, 0x00, 0x40, 0x00, 0x74, 0x18, 0xf7,
- 0x86, 0xf4, 0x00, 0x00, 0x20, 0x74, 0x10, 0x80, 0x7e, 0x06, 0x08, 0x72, 0x0a, 0x80, 0x7e, 0x06,
- 0x0e, 0x77, 0x04, 0xc6, 0x46, 0x07, 0x14, 0xc3, 0x80, 0x7e, 0x06, 0x44, 0x75, 0x2e, 0xff, 0x8e,
- 0x66, 0x01, 0x75, 0x1d, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x64, 0x00, 0xfd, 0xf7, 0x86, 0x12,
- 0x01, 0x00, 0x84, 0x74, 0x06, 0xc6, 0x46, 0x07, 0x4e, 0xeb, 0x11, 0xc6, 0x46, 0x07, 0x46, 0xeb,
- 0x0b, 0xc6, 0x86, 0x77, 0x02, 0x01, 0xb9, 0x5a, 0x00, 0xe8, 0x19, 0xf3, 0xc3, 0x80, 0x7e, 0x06,
- 0x44, 0x75, 0x1f, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x64, 0x00, 0x02, 0xc6, 0x86, 0x76, 0x02,
- 0x00, 0xbe, 0x19, 0x4c, 0xe8, 0x4f, 0xd4, 0xb9, 0x5a, 0x00, 0xc6, 0x86, 0x8b, 0x02, 0x01, 0xe8,
- 0xf3, 0xf2, 0xc3, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x72, 0x18, 0x8a, 0x4e, 0x06, 0x80, 0xf9, 0x44,
- 0x74, 0x0a, 0x80, 0xf9, 0x46, 0x74, 0x05, 0x80, 0xf9, 0x48, 0x75, 0x06, 0xb8, 0x03, 0x00, 0xe8,
- 0x0f, 0xe6, 0xc3, 0xff, 0x86, 0x50, 0x02, 0xc7, 0x86, 0x2e, 0x02, 0x0b, 0x00, 0x8a, 0x86, 0x58,
- 0x02, 0x88, 0x86, 0x84, 0x02, 0xc7, 0x86, 0xcc, 0x02, 0x00, 0x00, 0xc6, 0x86, 0x65, 0x02, 0x00,
- 0x83, 0x8e, 0x0a, 0x02, 0x20, 0x81, 0xa6, 0x0a, 0x02, 0xff, 0x2f, 0xc6, 0x86, 0x89, 0x02, 0x01,
- 0xf6, 0x86, 0x58, 0x02, 0x01, 0x74, 0x38, 0xc6, 0x86, 0x84, 0x02, 0x00, 0x8e, 0x46, 0x02, 0x26,
- 0x81, 0x26, 0x64, 0x00, 0xff, 0x7f, 0x80, 0x7e, 0x0a, 0x00, 0x75, 0x0a, 0xc6, 0x86, 0x6d, 0x02,
- 0x00, 0xc6, 0x86, 0x6f, 0x02, 0x00, 0x8a, 0xa6, 0x84, 0x02, 0x88, 0xa6, 0x58, 0x02, 0xe8, 0x05,
- 0xd6, 0x88, 0x86, 0x58, 0x02, 0xc6, 0x46, 0x09, 0x0c, 0xc7, 0x86, 0xca, 0x01, 0x00, 0x01, 0x80,
- 0x7e, 0x06, 0x04, 0x75, 0x04, 0xc6, 0x46, 0x07, 0x06, 0x80, 0x7e, 0x08, 0x02, 0x75, 0x04, 0xc6,
- 0x46, 0x09, 0x0c, 0x80, 0x7e, 0x08, 0x06, 0x74, 0x05, 0xc6, 0x86, 0x5e, 0x02, 0x01, 0x8d, 0x77,
- 0x0e, 0x8d, 0xbe, 0x00, 0x03, 0x8c, 0xd9, 0x8e, 0xc1, 0xb9, 0x06, 0x00, 0xf3, 0xa6, 0x74, 0x08,
- 0x77, 0x03, 0xe9, 0x95, 0x00, 0xe9, 0xfe, 0x00, 0xf6, 0x47, 0x06, 0x08, 0x75, 0x59, 0x80, 0x7e,
- 0x08, 0x04, 0x75, 0x53, 0x8b, 0xb6, 0x2a, 0x06, 0x8d, 0xbe, 0x16, 0x03, 0x8c, 0xd9, 0x8e, 0xc1,
- 0xb9, 0x03, 0x00, 0xb8, 0x01, 0x00, 0xf3, 0xa7, 0x74, 0x02, 0xeb, 0x3e, 0xff, 0x86, 0xbe, 0x02,
- 0x83, 0xbe, 0xbe, 0x02, 0x03, 0x72, 0x30, 0x83, 0xbe, 0xbc, 0x02, 0x03, 0x72, 0x29, 0xc6, 0x46,
- 0x09, 0x02, 0xc6, 0x86, 0x84, 0x02, 0x01, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x64, 0x00, 0x00,
- 0x80, 0x8a, 0x86, 0x58, 0x02, 0x8a, 0xa6, 0x84, 0x02, 0x88, 0xa6, 0x58, 0x02, 0xe8, 0x66, 0xd5,
- 0x88, 0x86, 0x58, 0x02, 0xe8, 0x80, 0xf3, 0xe9, 0xec, 0x00, 0x80, 0x7e, 0x0a, 0x00, 0x75, 0x1d,
- 0xc6, 0x86, 0x6d, 0x02, 0x00, 0xc6, 0x86, 0x6f, 0x02, 0x00, 0x8a, 0x86, 0x58, 0x02, 0x8a, 0xa6,
- 0x84, 0x02, 0x88, 0xa6, 0x58, 0x02, 0xe8, 0x3d, 0xd5, 0x88, 0x86, 0x58, 0x02, 0xc6, 0x46, 0x09,
- 0x0c, 0xb8, 0x00, 0x03, 0xe8, 0xd1, 0xf3, 0xe9, 0xbc, 0x00, 0x80, 0x7e, 0x08, 0x00, 0x75, 0x3d,
- 0xf6, 0x86, 0x58, 0x02, 0x01, 0x75, 0x16, 0xf6, 0x86, 0x6c, 0x02, 0x01, 0x74, 0x16, 0xf6, 0x86,
- 0x62, 0x02, 0x01, 0x74, 0x08, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x01, 0x75, 0x16, 0xc6, 0x46, 0x09,
- 0x0c, 0xe9, 0x92, 0x00, 0xf6, 0x86, 0x62, 0x02, 0x01, 0x74, 0x9c, 0xf7, 0x86, 0x12, 0x01, 0x00,
- 0x01, 0x74, 0x94, 0xc6, 0x46, 0x09, 0x04, 0xff, 0x86, 0x4e, 0x02, 0xeb, 0x79, 0x80, 0x7e, 0x08,
- 0x0a, 0x75, 0x73, 0xf6, 0x86, 0x63, 0x02, 0x01, 0x75, 0x0e, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x01,
- 0x75, 0x06, 0xc6, 0x46, 0x09, 0x0c, 0xeb, 0x5e, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x01, 0x74, 0x56,
- 0xc6, 0x46, 0x09, 0x04, 0xeb, 0x50, 0x80, 0x7e, 0x08, 0x04, 0x75, 0x2c, 0xc6, 0x46, 0x09, 0x0c,
- 0x80, 0x7e, 0x0a, 0x00, 0x75, 0x1d, 0xc6, 0x86, 0x6d, 0x02, 0x00, 0xc6, 0x86, 0x6f, 0x02, 0x00,
- 0x8a, 0x86, 0x58, 0x02, 0x8a, 0xa6, 0x84, 0x02, 0x88, 0xa6, 0x58, 0x02, 0xe8, 0x97, 0xd4, 0x88,
- 0x86, 0x58, 0x02, 0xe8, 0xdb, 0xef, 0xeb, 0x1e, 0x80, 0x7e, 0x08, 0x00, 0x75, 0x09, 0xf6, 0x86,
- 0x6c, 0x02, 0x01, 0x74, 0x02, 0xeb, 0xab, 0x80, 0x7e, 0x08, 0x0a, 0x75, 0x09, 0xf6, 0x86, 0x63,
- 0x02, 0x01, 0x75, 0x02, 0xeb, 0x9c, 0x8a, 0x86, 0x84, 0x02, 0x88, 0x86, 0x58, 0x02, 0xc3, 0xc7,
- 0x86, 0xc6, 0x02, 0x02, 0x00, 0xff, 0x86, 0x46, 0x02, 0xc7, 0x86, 0x2e, 0x02, 0x0c, 0x00, 0x80,
- 0x7e, 0x06, 0x04, 0x74, 0x06, 0x80, 0x7e, 0x06, 0x06, 0x75, 0x04, 0xc6, 0x46, 0x07, 0x08, 0x80,
- 0x7e, 0x08, 0x00, 0x75, 0x56, 0xf6, 0x86, 0x58, 0x02, 0x01, 0x74, 0x3b, 0xc6, 0x86, 0x58, 0x02,
- 0x00, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x64, 0x00, 0xff, 0x7f, 0xb8, 0x00, 0x02, 0xe8, 0xc7,
- 0xf2, 0xf6, 0x86, 0x62, 0x02, 0x01, 0x74, 0x0c, 0xbe, 0x1f, 0x4c, 0xe8, 0xd8, 0xd1, 0xbe, 0x3d,
- 0x4c, 0xe8, 0xd2, 0xd1, 0x80, 0x7e, 0x0a, 0x00, 0x75, 0x0d, 0xc6, 0x86, 0x6d, 0x02, 0x00, 0xc6,
- 0x86, 0x6f, 0x02, 0x00, 0xe8, 0xff, 0xd3, 0xf6, 0x86, 0x62, 0x02, 0x01, 0x74, 0x34, 0xc6, 0x86,
- 0x5c, 0x02, 0x00, 0xc6, 0x86, 0x5d, 0x02, 0x00, 0xe9, 0xc9, 0x00, 0x80, 0x7e, 0x08, 0x0c, 0x75,
- 0x24, 0xc6, 0x46, 0x09, 0x00, 0xf6, 0x86, 0x62, 0x02, 0x01, 0x74, 0x16, 0xbe, 0x1f, 0x4c, 0xe8,
- 0x94, 0xd1, 0xbe, 0x3d, 0x4c, 0xe8, 0x8e, 0xd1, 0xc6, 0x86, 0x5c, 0x02, 0x00, 0xc6, 0x86, 0x5d,
- 0x02, 0x00, 0xe9, 0x9f, 0x00, 0x80, 0x7e, 0x08, 0x02, 0x75, 0xf7, 0xc7, 0x86, 0xcc, 0x01, 0x00,
- 0x00, 0xc6, 0x46, 0x09, 0x00, 0xf6, 0x86, 0x62, 0x02, 0x01, 0x74, 0x0a, 0xc6, 0x86, 0x5c, 0x02,
- 0x00, 0xc6, 0x86, 0x5d, 0x02, 0x00, 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0x00, 0x03, 0x8c, 0xd9, 0x8e,
- 0xc1, 0xb9, 0x06, 0x00, 0xf3, 0xa6, 0x74, 0x2e, 0xc6, 0x86, 0x58, 0x02, 0x00, 0x8e, 0x46, 0x02,
- 0x26, 0x81, 0x26, 0x64, 0x00, 0xff, 0x7f, 0x80, 0x7e, 0x0a, 0x00, 0x75, 0x0a, 0xc6, 0x86, 0x6d,
- 0x02, 0x00, 0xc6, 0x86, 0x6f, 0x02, 0x00, 0xe8, 0x6c, 0xd3, 0xb8, 0x00, 0x02, 0xe8, 0x08, 0xf2,
- 0xc6, 0x46, 0x09, 0x00, 0xeb, 0x3e, 0x8e, 0x46, 0x02, 0x26, 0xa0, 0x5c, 0x00, 0xc6, 0x46, 0x09,
- 0x00, 0xc6, 0x86, 0x6d, 0x02, 0x00, 0xc6, 0x86, 0x59, 0x02, 0x00, 0xc6, 0x86, 0x69, 0x02, 0x00,
- 0xe8, 0x43, 0xd3, 0x24, 0x07, 0xe8, 0x0a, 0xf5, 0xbe, 0xef, 0x4b, 0xe8, 0xf8, 0xd0, 0x8c, 0xd8,
- 0x8e, 0xc0, 0x33, 0xc0, 0x8d, 0xbe, 0xf2, 0x01, 0xab, 0xab, 0xab, 0xe8, 0xc5, 0xee, 0xbe, 0x3d,
- 0x4c, 0xe8, 0xe2, 0xd0, 0xc3, 0x8c, 0xd8, 0x8e, 0xc0, 0xff, 0x86, 0x54, 0x02, 0xc7, 0x86, 0x2e,
- 0x02, 0x0f, 0x00, 0xf6, 0x86, 0xce, 0x01, 0x01, 0x74, 0x3b, 0xb8, 0x94, 0x5e, 0xa3, 0x8a, 0x5e,
- 0x8d, 0x77, 0x0e, 0x8b, 0xf8, 0xa5, 0xa5, 0xa5, 0xc7, 0x06, 0x92, 0x5e, 0x01, 0x00, 0xc6, 0x86,
- 0xcf, 0x01, 0x00, 0x33, 0xff, 0xba, 0x02, 0x08, 0xe8, 0x20, 0xe7, 0xbf, 0x8c, 0x5e, 0xb9, 0x03,
- 0x00, 0xf3, 0xa5, 0x8d, 0x77, 0x0e, 0xbf, 0x8c, 0x5e, 0xb9, 0x03, 0x00, 0xf3, 0xa7, 0x75, 0x05,
- 0xe8, 0x8b, 0x04, 0xeb, 0x00, 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0xf2, 0x01, 0xa5, 0xa5, 0xa5, 0x80,
- 0x7e, 0x06, 0x04, 0x75, 0x04, 0xc6, 0x46, 0x07, 0x08, 0x8b, 0x8e, 0xc6, 0x02, 0xe3, 0x05, 0x49,
- 0x89, 0x8e, 0xc6, 0x02, 0xf7, 0x07, 0x3c, 0x00, 0x75, 0x0a, 0xf6, 0x86, 0x6c, 0x02, 0x01, 0x74,
- 0x03, 0xe8, 0x07, 0x02, 0xf6, 0x86, 0x58, 0x02, 0x01, 0x75, 0x03, 0xe9, 0x93, 0x00, 0xbe, 0x3d,
- 0x4c, 0xe8, 0x52, 0xd0, 0xf7, 0x07, 0x00, 0x10, 0x75, 0x37, 0xc6, 0x86, 0x58, 0x02, 0x00, 0x8e,
- 0x46, 0x02, 0x26, 0x81, 0x26, 0x64, 0x00, 0xff, 0x7f, 0xb8, 0x00, 0x02, 0xe8, 0x19, 0xf1, 0xf6,
- 0x86, 0x62, 0x02, 0x01, 0x74, 0x06, 0xbe, 0x1f, 0x4c, 0xe8, 0x2a, 0xd0, 0x80, 0x7e, 0x0a, 0x00,
- 0x75, 0x38, 0xc6, 0x86, 0x6d, 0x02, 0x00, 0xc6, 0x86, 0x6f, 0x02, 0x00, 0xe8, 0x57, 0xd2, 0xeb,
- 0x29, 0xf7, 0x07, 0x3c, 0x00, 0x75, 0x33, 0xc6, 0x86, 0x69, 0x02, 0x01, 0xc6, 0x86, 0x6a, 0x02,
- 0x01, 0x8c, 0xd8, 0x8e, 0xc0, 0x33, 0xc0, 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0xf2, 0x01, 0xab, 0xab,
- 0xab, 0x8b, 0x86, 0x0a, 0x02, 0xa9, 0x40, 0x00, 0x74, 0x02, 0xeb, 0x48, 0x83, 0xc8, 0x40, 0x89,
- 0x86, 0x0a, 0x02, 0xc6, 0x86, 0x89, 0x02, 0x01, 0xeb, 0x3a, 0x83, 0xa6, 0x0a, 0x02, 0xbf, 0x8c,
- 0xd8, 0x8e, 0xc0, 0x33, 0xc0, 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0xf2, 0x01, 0xa5, 0xa5, 0xa5, 0xeb,
- 0x23, 0xf6, 0x86, 0x62, 0x02, 0x01, 0x74, 0x06, 0xbe, 0x3d, 0x4c, 0xe8, 0xb8, 0xcf, 0xc6, 0x86,
- 0x6b, 0x02, 0x00, 0xf7, 0x07, 0x3c, 0x00, 0x75, 0x0b, 0xc6, 0x86, 0x6b, 0x02, 0x01, 0xbe, 0x25,
- 0x4c, 0xe8, 0xa2, 0xcf, 0xc3, 0xeb, 0x61, 0x8c, 0xd8, 0x8e, 0xc0, 0xc7, 0x86, 0x2e, 0x02, 0x0d,
- 0x00, 0xf6, 0x86, 0xce, 0x01, 0x01, 0x74, 0x50, 0x33, 0xff, 0xba, 0x02, 0x08, 0xe8, 0xfb, 0xe5,
- 0x8b, 0x3e, 0x8a, 0x5e, 0xb9, 0x03, 0x00, 0xf3, 0xa7, 0x75, 0x3d, 0x81, 0xff, 0xa2, 0x65, 0x73,
- 0x6f, 0x89, 0x3e, 0x8a, 0x5e, 0x8d, 0x77, 0x0e, 0xb9, 0x03, 0x00, 0xf3, 0xa7, 0x74, 0x05, 0xc6,
- 0x86, 0xd0, 0x01, 0x01, 0x81, 0xff, 0xa2, 0x65, 0x73, 0x56, 0x89, 0x3e, 0x8a, 0x5e, 0x8d, 0x77,
- 0x0e, 0xa5, 0xa5, 0xa5, 0xff, 0x06, 0x92, 0x5e, 0x8d, 0x77, 0x0e, 0xbf, 0x8c, 0x5e, 0xb9, 0x03,
- 0x00, 0xf3, 0xa7, 0x75, 0x03, 0xe8, 0x36, 0x03, 0x8a, 0x86, 0x0a, 0x02, 0xa8, 0x40, 0x75, 0x3d,
- 0x80, 0x7e, 0x06, 0x04, 0x75, 0x04, 0xc6, 0x46, 0x07, 0x08, 0xf7, 0x07, 0x3c, 0x00, 0x75, 0x3a,
- 0xf6, 0x86, 0x6c, 0x02, 0x01, 0x74, 0x35, 0xf6, 0x86, 0x58, 0x02, 0x01, 0x74, 0x07, 0xf6, 0x86,
- 0x69, 0x02, 0x01, 0x75, 0x27, 0xe8, 0xb3, 0x00, 0xc7, 0x86, 0xc8, 0x02, 0x01, 0x00, 0xeb, 0x1c,
- 0xbf, 0x9c, 0x65, 0x33, 0xc0, 0xab, 0xab, 0xab, 0xe8, 0xf3, 0x02, 0xeb, 0xbb, 0x24, 0xbf, 0x88,
- 0x86, 0x0a, 0x02, 0xc6, 0x86, 0x89, 0x02, 0x01, 0xeb, 0xb6, 0xeb, 0x79, 0xf6, 0x86, 0x58, 0x02,
- 0x01, 0x74, 0x3c, 0xf6, 0x86, 0x69, 0x02, 0x01, 0x74, 0x19, 0xf6, 0x86, 0x62, 0x02, 0x01, 0x74,
- 0x12, 0x83, 0xbe, 0xc6, 0x02, 0x00, 0x75, 0x0b, 0x80, 0x7e, 0x08, 0x00, 0x75, 0x05, 0x83, 0x8e,
- 0xe6, 0x02, 0x08, 0xc6, 0x86, 0x69, 0x02, 0x01, 0xc6, 0x86, 0x6a, 0x02, 0x01, 0x8c, 0xd8, 0x8e,
- 0xc0, 0x33, 0xc0, 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0xf2, 0x01, 0xab, 0xab, 0xab, 0xeb, 0x4b, 0xf6,
- 0x86, 0x6c, 0x02, 0x01, 0x74, 0x44, 0xf6, 0x86, 0x6b, 0x02, 0x01, 0x75, 0x0d, 0xc6, 0x86, 0x6b,
- 0x02, 0x01, 0xbe, 0x25, 0x4c, 0xe8, 0x8e, 0xce, 0xeb, 0x30, 0xf6, 0x86, 0x62, 0x02, 0x01, 0x74,
- 0x12, 0x80, 0x7e, 0x08, 0x00, 0x75, 0x0c, 0x83, 0xbe, 0xc6, 0x02, 0x00, 0x75, 0x05, 0x83, 0x8e,
- 0xe6, 0x02, 0x08, 0xeb, 0x15, 0xf6, 0x86, 0x58, 0x02, 0x01, 0x74, 0x0e, 0x8c, 0xd8, 0x8e, 0xc0,
- 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0xf2, 0x01, 0xa5, 0xa5, 0xa5, 0xc3, 0x53, 0x8c, 0xd8, 0x8e, 0xc0,
- 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0x16, 0x03, 0x8c, 0xd9, 0x8e, 0xc1, 0xb9, 0x03, 0x00, 0xf3, 0xa7,
- 0x74, 0x54, 0x8b, 0x44, 0xfe, 0x89, 0x45, 0xfe, 0xf3, 0xa5, 0xbb, 0xfc, 0x04, 0xb9, 0x0b, 0x00,
- 0x8d, 0xb6, 0x16, 0x03, 0xad, 0x8b, 0x14, 0x8b, 0x74, 0x02, 0x8b, 0x3f, 0x03, 0xfd, 0xab, 0x89,
- 0x15, 0x89, 0x75, 0x02, 0x83, 0xc3, 0x02, 0xe2, 0xf1, 0xf6, 0x86, 0xaf, 0x02, 0x01, 0x75, 0x26,
- 0x8b, 0xb6, 0x2f, 0x06, 0x8d, 0xbe, 0xee, 0x01, 0xa5, 0xa5, 0x80, 0x7e, 0x06, 0x08, 0x76, 0x0b,
- 0xc7, 0x86, 0xc8, 0x02, 0x04, 0x00, 0xe8, 0x84, 0xee, 0xeb, 0x0b, 0xc6, 0x86, 0x88, 0x02, 0x01,
- 0xc7, 0x86, 0xc8, 0x02, 0x01, 0x00, 0x5b, 0xc3, 0xb8, 0x80, 0x0a, 0xf6, 0x86, 0xab, 0x02, 0x01,
- 0x75, 0x45, 0xf6, 0x86, 0xad, 0x02, 0x01, 0x75, 0x3e, 0xf7, 0x86, 0xf6, 0x00, 0x10, 0x00, 0x75,
- 0x36, 0xf7, 0x07, 0x82, 0x00, 0x74, 0x2f, 0xc7, 0x86, 0x2e, 0x02, 0x07, 0x00, 0xc6, 0x86, 0x16,
- 0x01, 0x00, 0x81, 0x8e, 0x0a, 0x02, 0x00, 0x01, 0xc6, 0x86, 0x89, 0x02, 0x01, 0xf6, 0x86, 0xac,
- 0x02, 0x01, 0x75, 0x0c, 0x80, 0x7e, 0x06, 0x08, 0x72, 0x0c, 0x80, 0x7e, 0x06, 0x0e, 0x77, 0x06,
- 0xb8, 0x0a, 0x00, 0xe8, 0x8b, 0xdf, 0xc3, 0x89, 0x86, 0xee, 0x02, 0xe9, 0x37, 0xea, 0xf7, 0x07,
- 0x02, 0x00, 0x74, 0x0f, 0x80, 0x7e, 0x06, 0x0c, 0x75, 0x09, 0xc6, 0x86, 0x64, 0x02, 0x01, 0xc6,
- 0x46, 0x07, 0x0e, 0x8b, 0x86, 0x18, 0x02, 0x86, 0xe0, 0x8b, 0xb6, 0x54, 0x06, 0x0b, 0xf6, 0x74,
- 0x09, 0xad, 0x86, 0xe0, 0x89, 0x86, 0x18, 0x02, 0x86, 0xe0, 0x89, 0x86, 0xea, 0x02, 0x8b, 0xb6,
- 0x3b, 0x06, 0x0b, 0xf6, 0x74, 0x07, 0xad, 0x86, 0xc4, 0x89, 0x86, 0x10, 0x02, 0x8b, 0xb6, 0x40,
- 0x06, 0x0b, 0xf6, 0x74, 0x05, 0x8b, 0xc6, 0xe8, 0xa2, 0x00, 0x8b, 0xb6, 0x45, 0x06, 0x0b, 0xf6,
- 0x74, 0x07, 0xad, 0x86, 0xe0, 0x89, 0x86, 0x0c, 0x02, 0x8b, 0xb6, 0x4a, 0x06, 0x0b, 0xf6, 0x74,
- 0x07, 0xad, 0x86, 0xc4, 0x89, 0x86, 0xfc, 0x01, 0x8b, 0xb6, 0x4f, 0x06, 0x0b, 0xf6, 0x74, 0x07,
- 0xad, 0x86, 0xc4, 0x89, 0x86, 0xfa, 0x01, 0x8b, 0x07, 0xa9, 0x02, 0x00, 0x75, 0x07, 0xa8, 0x28,
- 0x74, 0x03, 0xe9, 0x71, 0xff, 0xc7, 0x86, 0xee, 0x02, 0x00, 0x01, 0xe9, 0xa7, 0xe9, 0xc3, 0xf7,
- 0x07, 0x02, 0x02, 0x74, 0xf9, 0x8b, 0x86, 0x18, 0x02, 0x86, 0xe0, 0x8b, 0xb6, 0x69, 0x06, 0x0b,
- 0xf6, 0x74, 0x09, 0xad, 0x86, 0xe0, 0x89, 0x86, 0x18, 0x02, 0x86, 0xe0, 0x89, 0x86, 0xea, 0x02,
- 0x8b, 0xb6, 0x5a, 0x06, 0x0b, 0xf6, 0x74, 0x07, 0xad, 0x86, 0xc4, 0x89, 0x86, 0x10, 0x02, 0x8b,
- 0xb6, 0x5f, 0x06, 0x0b, 0xf6, 0x74, 0x05, 0x8b, 0xc6, 0xe8, 0x20, 0x00, 0x8b, 0xb6, 0x64, 0x06,
- 0x0b, 0xf6, 0x74, 0x07, 0xad, 0x86, 0xe0, 0x89, 0x86, 0x0c, 0x02, 0x80, 0x7e, 0x06, 0x0c, 0x75,
- 0x96, 0xc6, 0x86, 0x64, 0x02, 0x01, 0xc6, 0x46, 0x07, 0x0e, 0xeb, 0x8b, 0x53, 0x57, 0x8c, 0xdb,
- 0x8e, 0xc3, 0xbb, 0x12, 0x05, 0xb9, 0x0a, 0x00, 0x8b, 0xf0, 0xad, 0x8b, 0x34, 0x8b, 0x3f, 0x03,
- 0xfd, 0xab, 0x89, 0x35, 0x83, 0xc3, 0x02, 0xe2, 0xf4, 0x5f, 0x5b, 0xc3, 0x68, 0x88, 0x2e, 0xeb,
- 0x08, 0x68, 0xf0, 0x2e, 0xeb, 0x03, 0x68, 0x32, 0x2f, 0xf7, 0x07, 0x82, 0x02, 0x74, 0x1c, 0x8b,
- 0x86, 0x18, 0x02, 0x86, 0xe0, 0x8b, 0xb6, 0xa0, 0x06, 0x0b, 0xf6, 0x74, 0x09, 0xad, 0x86, 0xe0,
- 0x89, 0x86, 0x18, 0x02, 0x86, 0xe0, 0x89, 0x86, 0xea, 0x02, 0xc3, 0x83, 0xc4, 0x02, 0xc3, 0x8b,
- 0x07, 0xf6, 0x86, 0x63, 0x01, 0x01, 0x74, 0x1e, 0xa9, 0x00, 0x20, 0x74, 0x40, 0x56, 0x57, 0xe8,
- 0x5d, 0xca, 0xc7, 0x44, 0x02, 0x02, 0x00, 0x8d, 0x7e, 0x16, 0xe8, 0x70, 0xca, 0xbe, 0x19, 0x4c,
- 0xe8, 0xe5, 0xcc, 0x5f, 0x5e, 0xc3, 0x80, 0x7e, 0x06, 0x08, 0x75, 0x21, 0xa9, 0x00, 0x10, 0x74,
- 0x1c, 0xa9, 0x3c, 0x00, 0x75, 0x17, 0xff, 0x86, 0xd2, 0x02, 0xff, 0x86, 0xd0, 0x02, 0x83, 0xbe,
- 0xd0, 0x02, 0x02, 0x72, 0x05, 0xc6, 0x46, 0x07, 0x0a, 0xc3, 0xe8, 0x3c, 0xea, 0xc3, 0x8c, 0xd8,
- 0x8e, 0xc0, 0x33, 0xc0, 0x8b, 0x3e, 0x8a, 0x5e, 0x83, 0xc7, 0x06, 0x81, 0xff, 0xa2, 0x65, 0x72,
- 0x03, 0xbf, 0x9c, 0x65, 0xab, 0xab, 0xab, 0xf6, 0x86, 0xd0, 0x01, 0x01, 0x74, 0x18, 0xc6, 0x86,
- 0xcf, 0x01, 0x01, 0xe8, 0xf9, 0xc9, 0xc7, 0x44, 0x02, 0x05, 0x00, 0x8d, 0x7e, 0x16, 0xe8, 0x0c,
- 0xca, 0xc6, 0x86, 0xce, 0x01, 0x00, 0xc3, 0xf7, 0x86, 0xf6, 0x00, 0x08, 0x00, 0x74, 0x06, 0xbe,
- 0xdf, 0x4c, 0xe8, 0xc1, 0xcb, 0x8d, 0xb6, 0xc4, 0x15, 0x8e, 0x46, 0x02, 0x8a, 0x1c, 0xf6, 0xc3,
- 0x80, 0x75, 0x0d, 0x80, 0xfb, 0x10, 0x77, 0x14, 0x32, 0xff, 0xd1, 0xe3, 0xff, 0xa7, 0xda, 0x04,
- 0xc7, 0x86, 0x0a, 0x01, 0x00, 0x00, 0xc3, 0xb8, 0x00, 0x80, 0xeb, 0x08, 0xb8, 0x00, 0x80, 0xeb,
- 0x03, 0xb8, 0x00, 0x20, 0x8d, 0xb6, 0xc4, 0x15, 0x89, 0x44, 0x02, 0x80, 0x0c, 0x80, 0xb8, 0x40,
- 0x60, 0x8e, 0xc0, 0xc7, 0x86, 0x0a, 0x01, 0x00, 0x00, 0x26, 0xc7, 0x06, 0x30, 0x00, 0x08, 0x00,
- 0xc3, 0xeb, 0xe1, 0xb8, 0x04, 0x00, 0x80, 0xbe, 0x06, 0x01, 0x01, 0x75, 0xf4, 0xb8, 0x05, 0x00,
- 0x80, 0xbe, 0x07, 0x01, 0x01, 0x74, 0xea, 0xc6, 0x86, 0x08, 0x01, 0x01, 0xc6, 0x86, 0xd1, 0x01,
- 0x00, 0xc6, 0x86, 0x09, 0x01, 0x00, 0x8b, 0x86, 0xf8, 0x00, 0x89, 0x86, 0xf6, 0x00, 0x8d, 0xb6,
- 0xce, 0x15, 0xb8, 0x03, 0x00, 0xf6, 0x04, 0x80, 0x75, 0xc7, 0x33, 0xc0, 0x39, 0x04, 0x75, 0x1e,
- 0x39, 0x44, 0x02, 0x75, 0x19, 0x39, 0x44, 0x04, 0x75, 0x14, 0x8b, 0x86, 0x00, 0x01, 0x89, 0x04,
- 0x8b, 0x86, 0x02, 0x01, 0x89, 0x44, 0x02, 0x8b, 0x86, 0x04, 0x01, 0x89, 0x44, 0x04, 0xad, 0x8b,
- 0x14, 0x8b, 0x74, 0x02, 0x89, 0x86, 0xd4, 0x01, 0x89, 0x96, 0xd6, 0x01, 0x89, 0xb6, 0xd8, 0x01,
- 0x8e, 0x46, 0x02, 0x50, 0xe8, 0xfc, 0xc7, 0x26, 0xa3, 0x5e, 0x00, 0x8b, 0xc2, 0xe8, 0xf3, 0xc7,
- 0x26, 0xa3, 0x60, 0x00, 0x8b, 0xc6, 0xe8, 0xea, 0xc7, 0x26, 0xa3, 0x62, 0x00, 0x58, 0xbb, 0x2a,
- 0x05, 0xb9, 0x16, 0x00, 0x1e, 0x07, 0x8b, 0x3f, 0x03, 0xfd, 0xab, 0x89, 0x15, 0x89, 0x75, 0x02,
- 0x83, 0xc3, 0x02, 0xe2, 0xf1, 0xbb, 0x26, 0x05, 0x8d, 0x96, 0xdc, 0x15, 0xb8, 0x02, 0x00, 0x8b,
- 0x3f, 0x03, 0xfd, 0x8b, 0xf2, 0xb9, 0x09, 0x00, 0xf3, 0xa5, 0x83, 0xc3, 0x02, 0x48, 0x75, 0xef,
- 0xf7, 0x86, 0xf6, 0x00, 0x08, 0x00, 0x74, 0x06, 0xbe, 0xdf, 0x4c, 0xe8, 0xa8, 0xca, 0x8d, 0xb6,
- 0xc4, 0x15, 0x8b, 0x44, 0x08, 0x89, 0x86, 0x12, 0x01, 0x89, 0x86, 0x14, 0x01, 0xf7, 0x86, 0x12,
- 0x01, 0x01, 0x00, 0x74, 0x08, 0xc7, 0x06, 0x17, 0x4c, 0x58, 0x02, 0xeb, 0x06, 0xc7, 0x06, 0x17,
- 0x4c, 0x08, 0x07, 0x8e, 0x46, 0x02, 0x26, 0x8b, 0x1e, 0x68, 0x00, 0x81, 0xe3, 0xff, 0xf4, 0xa9,
- 0x04, 0x00, 0x74, 0x04, 0x81, 0xcb, 0x00, 0x08, 0xa9, 0x02, 0x00, 0x74, 0x04, 0x81, 0xcb, 0x00,
- 0x03, 0x8e, 0x46, 0x02, 0x26, 0x89, 0x1e, 0x68, 0x00, 0x8d, 0xb6, 0xd8, 0x15, 0xe8, 0x64, 0x02,
- 0x8d, 0xb6, 0xd4, 0x15, 0xe8, 0x23, 0x00, 0xf6, 0x06, 0x81, 0x5e, 0x01, 0x74, 0x03, 0xe8, 0x5e,
- 0x16, 0xc6, 0x86, 0x07, 0x01, 0x01, 0xe8, 0xd0, 0x03, 0xe8, 0xc7, 0x05, 0xe9, 0xa2, 0xfe, 0x56,
- 0x83, 0xc6, 0x08, 0xe8, 0x04, 0x00, 0x5e, 0xe9, 0x97, 0xfe, 0x8e, 0x46, 0x02, 0xb8, 0xc0, 0x00,
- 0xe8, 0x20, 0xc7, 0x26, 0xa3, 0x7a, 0x00, 0x8b, 0x04, 0x0d, 0x80, 0x00, 0x89, 0x86, 0xda, 0x01,
- 0xe8, 0x10, 0xc7, 0x26, 0xa3, 0x7c, 0x00, 0x8b, 0x44, 0x02, 0x89, 0x86, 0xdc, 0x01, 0xe8, 0x02,
- 0xc7, 0x26, 0xa3, 0x7e, 0x00, 0xc3, 0x83, 0x8e, 0x1e, 0x01, 0x01, 0xc6, 0x86, 0x16, 0x01, 0x00,
- 0x8a, 0x46, 0x06, 0x3c, 0x00, 0x74, 0x46, 0x3c, 0x10, 0x75, 0x03, 0xe9, 0x53, 0xfe, 0x3c, 0x12,
- 0x74, 0x3b, 0x3c, 0x4c, 0x75, 0x03, 0xe9, 0x48, 0xfe, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x72, 0x1a,
- 0x3c, 0x48, 0x74, 0x0f, 0xf6, 0x86, 0x72, 0x02, 0x01, 0x74, 0x17, 0x3c, 0x44, 0x74, 0x04, 0x3c,
- 0x46, 0x75, 0x28, 0xc6, 0x46, 0x07, 0x4c, 0xe9, 0x27, 0xfe, 0x3c, 0x0e, 0x74, 0x17, 0x3c, 0x48,
- 0x74, 0x19, 0xe8, 0x1c, 0xfe, 0xb8, 0x0f, 0x00, 0xe8, 0x96, 0xdb, 0xeb, 0x35, 0xe8, 0x11, 0xfe,
- 0xe8, 0x04, 0x04, 0xeb, 0x2d, 0xc6, 0x46, 0x07, 0x10, 0xeb, 0x20, 0x8e, 0x46, 0x02, 0xf6, 0x06,
- 0x81, 0x5e, 0x01, 0x75, 0x08, 0x26, 0x83, 0x26, 0x42, 0x00, 0xfd, 0xeb, 0x08, 0xc6, 0x86, 0x6d,
- 0x01, 0x01, 0xe8, 0x0c, 0x16, 0xc6, 0x46, 0x07, 0x12, 0xeb, 0x00, 0xc6, 0x46, 0x09, 0x1e, 0xe9,
- 0xdf, 0xfd, 0xc3, 0xc6, 0x86, 0x06, 0x01, 0x00, 0xb8, 0x05, 0x00, 0x80, 0xbe, 0x07, 0x01, 0x01,
- 0x75, 0x03, 0xe9, 0xcf, 0xfd, 0x8b, 0x44, 0x08, 0x89, 0x86, 0xf4, 0x00, 0x8b, 0x44, 0x0a, 0xa9,
- 0x00, 0x10, 0x74, 0x03, 0x0d, 0x00, 0x01, 0x89, 0x86, 0xf6, 0x00, 0x89, 0x86, 0xf8, 0x00, 0x8b,
- 0x44, 0x12, 0x0b, 0xc0, 0x75, 0x21, 0xf7, 0x86, 0xf4, 0x00, 0x00, 0x40, 0x74, 0x0b, 0xb8, 0x1f,
- 0x47, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x12, 0x75, 0x0e, 0xb8, 0x18, 0x47, 0xf7, 0x86, 0xf6, 0x00,
- 0x00, 0x01, 0x75, 0x03, 0xb8, 0xc6, 0x11, 0x89, 0x86, 0xfa, 0x00, 0xe8, 0xab, 0x02, 0x8d, 0xbe,
- 0x56, 0x04, 0x8b, 0x44, 0x0c, 0x89, 0x05, 0x89, 0x86, 0x00, 0x01, 0x8b, 0x44, 0x0e, 0x89, 0x45,
- 0x02, 0x89, 0x86, 0x02, 0x01, 0x8b, 0x44, 0x10, 0x89, 0x45, 0x04, 0x89, 0x86, 0x04, 0x01, 0x80,
- 0xbe, 0x62, 0x01, 0x01, 0x75, 0x21, 0x8b, 0x44, 0x0c, 0x89, 0x86, 0xbc, 0x03, 0x89, 0x86, 0xc2,
- 0x03, 0x8b, 0x44, 0x0e, 0x89, 0x86, 0xbe, 0x03, 0x89, 0x86, 0xc4, 0x03, 0x8b, 0x44, 0x10, 0x89,
- 0x86, 0xc0, 0x03, 0x89, 0x86, 0xc6, 0x03, 0x8e, 0x46, 0x02, 0x8b, 0x86, 0xfa, 0x00, 0x26, 0xa3,
- 0x52, 0x00, 0x8b, 0x44, 0x14, 0x26, 0xa3, 0x6a, 0x00, 0x8b, 0x44, 0x16, 0x25, 0xff, 0xf4, 0x83,
- 0xc8, 0x30, 0x26, 0xa3, 0x68, 0x00, 0x8d, 0x1e, 0x6c, 0x05, 0x8b, 0x44, 0x18, 0xc1, 0xe8, 0x04,
- 0x83, 0xe0, 0x0f, 0xd7, 0xa2, 0x87, 0x03, 0x8b, 0x44, 0x18, 0xc1, 0xe8, 0x0c, 0x83, 0xe0, 0x0f,
- 0xd7, 0xa2, 0x88, 0x03, 0x33, 0xc0, 0xd7, 0xa2, 0x89, 0x03, 0x06, 0x51, 0x8c, 0xd8, 0x8e, 0xc0,
- 0xbe, 0x80, 0x03, 0x8d, 0xbe, 0x1a, 0x04, 0xb9, 0x05, 0x00, 0xf3, 0xa5, 0x59, 0x07, 0x8b, 0x86,
- 0xf4, 0x00, 0x25, 0xff, 0xfe, 0xc1, 0xe8, 0x08, 0x89, 0x86, 0x28, 0x02, 0xf7, 0x86, 0xf4, 0x00,
- 0x04, 0x00, 0x74, 0x0f, 0xf6, 0x06, 0x81, 0x5e, 0x01, 0x75, 0x08, 0xc6, 0x06, 0x81, 0x5e, 0x01,
- 0xe8, 0xa7, 0x11, 0x80, 0xbe, 0x62, 0x01, 0x01, 0x75, 0x01, 0xc3, 0xc6, 0x86, 0x06, 0x01, 0x01,
- 0xe9, 0xae, 0xfc, 0x56, 0x8c, 0xd8, 0x8e, 0xc0, 0x8d, 0x7c, 0x08, 0x8d, 0xb6, 0xdc, 0x02, 0xb9,
- 0x05, 0x00, 0x8b, 0xd1, 0xf3, 0xa5, 0x8d, 0xbe, 0xdc, 0x02, 0x33, 0xc0, 0x8b, 0xca, 0xf3, 0xab,
- 0x81, 0xa6, 0x0a, 0x02, 0x7f, 0xdf, 0x5e, 0xe9, 0x87, 0xfc, 0x56, 0x8c, 0xd8, 0x8e, 0xc0, 0x8d,
- 0x7c, 0x08, 0x8d, 0xb6, 0x40, 0x02, 0xb9, 0x0c, 0x00, 0x8b, 0xd1, 0xf3, 0xa5, 0x8d, 0xbe, 0x40,
- 0x02, 0x33, 0xc0, 0x8b, 0xca, 0xf3, 0xab, 0x5e, 0xe9, 0x66, 0xfc, 0x83, 0xc6, 0x08, 0xe8, 0x03,
- 0x00, 0xe9, 0x5d, 0xfc, 0x06, 0x8e, 0x46, 0x02, 0x8b, 0x04, 0x89, 0x86, 0xde, 0x01, 0xe8, 0xe2,
- 0xc4, 0x26, 0xa3, 0x66, 0x00, 0x8b, 0x44, 0x02, 0x23, 0x86, 0xfc, 0x01, 0xe8, 0xd4, 0xc4, 0x25,
- 0xff, 0x7f, 0x26, 0x8b, 0x0e, 0x64, 0x00, 0x81, 0xe1, 0x00, 0x80, 0x0b, 0xc1, 0x26, 0xa3, 0x64,
- 0x00, 0xe8, 0xbf, 0xc4, 0x89, 0x86, 0xe0, 0x01, 0x07, 0xc3, 0xb8, 0x05, 0x00, 0x80, 0xbe, 0x07,
- 0x01, 0x01, 0x75, 0x03, 0xe9, 0x1d, 0xfc, 0xc6, 0x86, 0x62, 0x01, 0x01, 0xe8, 0x34, 0xfe, 0xc6,
- 0x86, 0x62, 0x01, 0x00, 0xc6, 0x86, 0x06, 0x01, 0x01, 0xe9, 0x05, 0xfc, 0xb8, 0x11, 0x00, 0xc6,
- 0x86, 0x62, 0x01, 0x00, 0xe9, 0xfd, 0xfb, 0xc3, 0x8b, 0xd8, 0x26, 0x8b, 0x04, 0x50, 0x33, 0xc0,
- 0x50, 0x23, 0xc3, 0x8b, 0xc8, 0x26, 0x89, 0x04, 0x26, 0x8b, 0x04, 0x23, 0xc3, 0x3b, 0xc1, 0x58,
- 0x75, 0x3c, 0x05, 0x55, 0x55, 0x73, 0xe9, 0xb8, 0x01, 0x00, 0x50, 0x23, 0xc3, 0x8b, 0xc8, 0x26,
- 0x89, 0x04, 0x26, 0x8b, 0x04, 0x23, 0xc3, 0x3b, 0xc1, 0x58, 0x75, 0x22, 0xd1, 0xc0, 0x73, 0xea,
- 0xf7, 0xd0, 0x50, 0x23, 0xc3, 0x8b, 0xc8, 0x26, 0x89, 0x04, 0x26, 0x8b, 0x04, 0x23, 0xc3, 0x3b,
- 0xc1, 0x58, 0x75, 0x0a, 0xd1, 0xc0, 0x72, 0xea, 0xf8, 0x58, 0x26, 0x89, 0x04, 0xc3, 0xf9, 0xeb,
- 0xf8, 0x8b, 0x44, 0x08, 0x25, 0xff, 0x7b, 0x89, 0x86, 0x12, 0x01, 0x89, 0x86, 0x14, 0x01, 0x8e,
- 0x46, 0x02, 0x26, 0x8b, 0x1e, 0x68, 0x00, 0x81, 0xe3, 0xff, 0xf4, 0xa9, 0x04, 0x00, 0x74, 0x04,
- 0x81, 0xcb, 0x00, 0x08, 0xa9, 0x02, 0x00, 0x74, 0x04, 0x81, 0xcb, 0x00, 0x03, 0x8e, 0x46, 0x02,
- 0x26, 0x89, 0x1e, 0x68, 0x00, 0xe9, 0x69, 0xfb, 0xe9, 0x61, 0xfb, 0x8b, 0x44, 0x08, 0x89, 0x86,
- 0x30, 0x01, 0xbe, 0xcd, 0x4c, 0xe8, 0xee, 0xc6, 0xe9, 0x56, 0xfb, 0x8b, 0x44, 0x08, 0x8e, 0x46,
- 0x02, 0x26, 0xa3, 0x6a, 0x00, 0xe9, 0x49, 0xfb, 0x80, 0x7e, 0x06, 0x0e, 0x74, 0x06, 0x80, 0x7e,
- 0x06, 0x48, 0x75, 0x13, 0x80, 0x7e, 0x08, 0x00, 0x74, 0x06, 0x80, 0x7e, 0x08, 0x16, 0x75, 0x07,
- 0x8d, 0x5c, 0x08, 0xe8, 0xa6, 0xe8, 0xc3, 0xb8, 0x00, 0x10, 0xe9, 0x27, 0xfb, 0xb8, 0x04, 0x00,
- 0xf6, 0x86, 0x07, 0x01, 0x01, 0x74, 0x1e, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x68, 0x00, 0x8b, 0x5c,
- 0x08, 0x81, 0xe3, 0xff, 0xf4, 0x25, 0x00, 0x0b, 0x0b, 0xd8, 0x8e, 0x46, 0x02, 0x26, 0x89, 0x1e,
- 0x68, 0x00, 0xb8, 0x00, 0x20, 0xe9, 0xfc, 0xfa, 0xb8, 0x05, 0x00, 0xf6, 0x86, 0x07, 0x01, 0x01,
- 0x75, 0x11, 0xfa, 0xe8, 0x54, 0xc8, 0xfa, 0xe8, 0xe7, 0xfa, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e,
- 0x32, 0x00, 0x02, 0xe9, 0xde, 0xfa, 0xe9, 0xd8, 0xfa, 0xf7, 0x86, 0xf4, 0x00, 0x00, 0x40, 0x74,
- 0x0d, 0xc6, 0x86, 0xfe, 0x00, 0x02, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x12, 0x75, 0x12, 0xc6, 0x86,
- 0xfe, 0x00, 0x01, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x11, 0x75, 0x05, 0xc6, 0x86, 0xfe, 0x00, 0x00,
- 0xc3, 0x8b, 0xd0, 0xb8, 0x01, 0x00, 0xe9, 0xa3, 0x01, 0xc3, 0x80, 0xbe, 0xb2, 0x02, 0x01, 0x74,
- 0x0e, 0x80, 0xbe, 0x07, 0x01, 0x01, 0x75, 0xf1, 0x80, 0xbe, 0x09, 0x01, 0x01, 0x74, 0xea, 0xc6,
- 0x86, 0x09, 0x01, 0x01, 0xc6, 0x86, 0xb2, 0x02, 0x00, 0x80, 0xbe, 0xfe, 0x00, 0x01, 0x74, 0x0c,
- 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x75, 0x08, 0x0d, 0x00, 0x08, 0xeb, 0x03, 0x0d, 0x00, 0x01, 0x80,
- 0xbe, 0xaa, 0x02, 0x01, 0x74, 0x0a, 0x80, 0xbe, 0xac, 0x02, 0x01, 0x74, 0x03, 0x0d, 0x00, 0x04,
- 0x80, 0xbe, 0xaa, 0x02, 0x01, 0x74, 0x0a, 0x80, 0xbe, 0xab, 0x02, 0x01, 0x74, 0x03, 0x0d, 0x00,
- 0x02, 0xf7, 0x86, 0xa6, 0x02, 0x01, 0x00, 0x74, 0x03, 0x0d, 0x00, 0x08, 0xa9, 0x00, 0x80, 0x74,
- 0x1d, 0xc7, 0x86, 0x2e, 0x01, 0x02, 0x00, 0xf6, 0x86, 0x2c, 0x01, 0x01, 0x74, 0x1d, 0x53, 0xbb,
- 0x40, 0x60, 0x8e, 0xc3, 0x26, 0x81, 0x0e, 0x32, 0x00, 0x00, 0x02, 0x5b, 0xeb, 0x0d, 0x8a, 0x56,
- 0x06, 0xd0, 0xe2, 0xd0, 0xe2, 0xd0, 0xe2, 0x24, 0x0f, 0x0a, 0xc2, 0x89, 0x86, 0x38, 0x02, 0x8b,
- 0xd0, 0xb8, 0x02, 0x00, 0xe9, 0x92, 0x00, 0x8b, 0x96, 0x1e, 0x01, 0x8b, 0x86, 0x12, 0x01, 0xa9,
- 0x00, 0x02, 0x74, 0x06, 0xf7, 0xc2, 0x05, 0x80, 0x74, 0x0e, 0xc6, 0x86, 0x07, 0x01, 0x00, 0xc6,
- 0x86, 0x16, 0x01, 0x00, 0x81, 0xca, 0x80, 0x00, 0x33, 0xc0, 0x89, 0x86, 0x1e, 0x01, 0x89, 0x96,
- 0x20, 0x01, 0xc7, 0x86, 0x38, 0x02, 0x00, 0x00, 0xf7, 0xc2, 0x01, 0x00, 0x75, 0x22, 0x83, 0xbe,
- 0x2e, 0x01, 0x03, 0x74, 0x1b, 0xc7, 0x86, 0x2e, 0x01, 0x03, 0x00, 0xf6, 0x86, 0x2c, 0x01, 0x01,
- 0x74, 0x0e, 0x53, 0xbb, 0x40, 0x60, 0x8e, 0xc3, 0x26, 0x81, 0x0e, 0x32, 0x00, 0x00, 0x02, 0x5b,
- 0xb8, 0x03, 0x00, 0xeb, 0x34, 0x3b, 0xc0, 0x74, 0x00, 0x8b, 0xd0, 0xb8, 0x04, 0x00, 0xeb, 0x29,
- 0xc3, 0xc6, 0x86, 0xce, 0x01, 0x00, 0xc6, 0x86, 0xcf, 0x01, 0x00, 0x55, 0x33, 0xed, 0xbe, 0x7a,
- 0x5d, 0xe8, 0x22, 0xc5, 0x5d, 0xb8, 0x05, 0x00, 0xeb, 0x0f, 0xb8, 0x06, 0x00, 0xeb, 0x0a, 0xb8,
- 0x07, 0x00, 0xeb, 0x05, 0xb8, 0x08, 0x00, 0xeb, 0x00, 0x8b, 0xb6, 0x60, 0x01, 0x3b, 0xb6, 0x5e,
- 0x01, 0x75, 0x0a, 0xf7, 0x86, 0xb0, 0x15, 0x00, 0x80, 0x74, 0x02, 0xeb, 0x5f, 0x8b, 0x8e, 0x5e,
- 0x01, 0x41, 0x80, 0xe1, 0x07, 0x3b, 0xf1, 0x75, 0x20, 0x46, 0x83, 0xe6, 0x07, 0x89, 0xb6, 0x60,
- 0x01, 0x51, 0x8b, 0xce, 0xd1, 0xe1, 0xd1, 0xe1, 0x8d, 0xb6, 0x3e, 0x01, 0x03, 0xf1, 0x8b, 0x0c,
- 0x83, 0xf9, 0x05, 0x74, 0x03, 0x0d, 0x00, 0x01, 0x59, 0x83, 0xf8, 0x04, 0x75, 0x1a, 0x51, 0xb9,
- 0x08, 0x00, 0x8d, 0xb6, 0x3e, 0x01, 0x39, 0x04, 0x74, 0x08, 0x83, 0xc6, 0x04, 0xe2, 0xf7, 0x59,
- 0xeb, 0x06, 0x89, 0x54, 0x02, 0x59, 0xeb, 0x13, 0x89, 0x8e, 0x5e, 0x01, 0xd1, 0xe1, 0xd1, 0xe1,
- 0x8d, 0xb6, 0x3e, 0x01, 0x03, 0xf1, 0x89, 0x04, 0x89, 0x54, 0x02, 0xc3, 0x8d, 0xb6, 0xb0, 0x15,
- 0x89, 0x54, 0x06, 0xc7, 0x44, 0x04, 0x08, 0x00, 0x3c, 0x05, 0x75, 0x05, 0xc7, 0x44, 0x04, 0x06,
- 0x00, 0x25, 0xff, 0x7f, 0x89, 0x04, 0xb8, 0x40, 0x60, 0x8e, 0xc0, 0x26, 0xc7, 0x06, 0x30, 0x00,
- 0x00, 0x20, 0xc3, 0x8b, 0x86, 0x14, 0x01, 0x89, 0x86, 0x12, 0x01, 0xc6, 0x46, 0x09, 0x1e, 0xc6,
- 0x46, 0x08, 0x1e, 0xc6, 0x46, 0x0b, 0x00, 0xc7, 0x86, 0x28, 0x01, 0x00, 0x00, 0xc7, 0x86, 0x2a,
- 0x01, 0x00, 0x00, 0x8c, 0xd8, 0x8e, 0xc0, 0x33, 0xc0, 0x8d, 0xbe, 0xe4, 0x01, 0xb9, 0x2b, 0x00,
- 0xf3, 0xab, 0xc7, 0x86, 0x2a, 0x02, 0xff, 0xff, 0x8e, 0x46, 0x02, 0xb8, 0x02, 0x00, 0xf7, 0x86,
- 0xf4, 0x00, 0x80, 0x00, 0x74, 0x03, 0x83, 0xc8, 0x01, 0xf7, 0x86, 0xf4, 0x00, 0x40, 0x00, 0x74,
- 0x03, 0x83, 0xc8, 0x04, 0xf7, 0x86, 0xf4, 0x00, 0x20, 0x00, 0x74, 0x03, 0x83, 0xc8, 0x08, 0x26,
- 0xa3, 0x4e, 0x00, 0xb0, 0x02, 0xe8, 0x65, 0xc8, 0xf7, 0x86, 0xf4, 0x00, 0x00, 0x20, 0x74, 0x28,
- 0xf7, 0x86, 0x12, 0x01, 0x00, 0x84, 0x74, 0x0c, 0xb8, 0x05, 0x00, 0xe8, 0x27, 0x00, 0xc6, 0x46,
- 0x07, 0x42, 0xeb, 0x20, 0xf7, 0x86, 0xf6, 0x00, 0x80, 0x00, 0x74, 0x0c, 0xb8, 0x05, 0x00, 0xe8,
- 0x13, 0x00, 0xc6, 0x46, 0x07, 0x42, 0xeb, 0x0c, 0xb8, 0x02, 0x00, 0xe8, 0x07, 0x00, 0xc6, 0x46,
- 0x07, 0x02, 0xeb, 0x00, 0xc3, 0x50, 0xb0, 0x00, 0x88, 0x86, 0xaa, 0x02, 0x88, 0x86, 0xab, 0x02,
- 0x88, 0x86, 0xac, 0x02, 0x88, 0x86, 0xad, 0x02, 0x88, 0x86, 0xaf, 0x02, 0x88, 0x86, 0xae, 0x02,
- 0x58, 0x9c, 0xfa, 0x83, 0xf8, 0x02, 0x74, 0x13, 0x83, 0xf8, 0x05, 0x74, 0x0c, 0xc7, 0x46, 0x12,
- 0x2c, 0x21, 0xc7, 0x46, 0x14, 0x2c, 0x21, 0xeb, 0x42, 0xeb, 0x21, 0xc6, 0x86, 0xaa, 0x02, 0x01,
- 0xc6, 0x86, 0xae, 0x02, 0x01, 0xc6, 0x86, 0xaf, 0x02, 0x00, 0xc7, 0x46, 0x12, 0xf3, 0x36, 0xc7,
- 0x46, 0x14, 0x21, 0x34, 0xc7, 0x86, 0xba, 0x01, 0x2c, 0x00, 0xeb, 0x1f, 0xc6, 0x86, 0xac, 0x02,
- 0x01, 0xc6, 0x86, 0xae, 0x02, 0x00, 0xc6, 0x86, 0xaf, 0x02, 0x01, 0xc7, 0x46, 0x12, 0xf7, 0x36,
- 0xc7, 0x46, 0x14, 0x25, 0x34, 0xc7, 0x86, 0xba, 0x01, 0x30, 0x00, 0x0e, 0xe8, 0x02, 0x00, 0xeb,
- 0x01, 0xcf, 0xc3, 0x8c, 0x00, 0xf8, 0x4c, 0xbc, 0x02, 0x96, 0x00, 0x2e, 0x4d, 0x14, 0x00, 0x96,
- 0x00, 0x42, 0x4d, 0x08, 0x07, 0x96, 0x00, 0x80, 0x4d, 0x6e, 0x00, 0x78, 0x00, 0xd2, 0x4f, 0x00,
- 0x00, 0x6e, 0x00, 0x42, 0x4e, 0xf4, 0x01, 0x6e, 0x00, 0x72, 0x4e, 0x08, 0x07, 0x6e, 0x00, 0x8a,
- 0x51, 0x02, 0x00, 0xaa, 0x00, 0xa6, 0x4e, 0xfa, 0x00, 0x8c, 0x00, 0xf6, 0x4e, 0x02, 0x00, 0x8c,
- 0x00, 0x0c, 0x4e, 0x3c, 0x00, 0x78, 0x00, 0x62, 0x4f, 0x04, 0x01, 0x96, 0x00, 0x8e, 0x4f, 0x64,
- 0x00, 0x96, 0x00, 0xb2, 0x4f, 0xdc, 0x05, 0xbe, 0x00, 0xe0, 0x50, 0xf4, 0x01, 0xa0, 0x00, 0x5c,
- 0x52, 0xf4, 0x01, 0xbe, 0x00, 0x0a, 0x51, 0xf4, 0x01, 0x82, 0x00, 0x22, 0x55, 0x19, 0x00, 0x6e,
- 0x00, 0x42, 0x52, 0x14, 0x00, 0x78, 0x00, 0x1e, 0x51, 0xc4, 0x09, 0x6e, 0x00, 0x32, 0x51, 0x02,
- 0x00, 0xd2, 0x00, 0xac, 0x55, 0x2c, 0x01, 0x78, 0x00, 0x34, 0x54, 0xf0, 0x00, 0x6e, 0x00, 0xb4,
- 0x52, 0x32, 0x00, 0xa0, 0x00, 0x16, 0x53, 0xbc, 0x02, 0x6e, 0x00, 0x28, 0x53, 0x08, 0x07, 0x6e,
- 0x00, 0x36, 0x53, 0xe8, 0x03, 0x6e, 0x00, 0x48, 0x53, 0x14, 0x00, 0x96, 0x00, 0x54, 0x53, 0x64,
- 0x00, 0xa0, 0x00, 0x42, 0x54, 0xf4, 0x01, 0xc8, 0x00, 0xe0, 0x4e, 0x02, 0x00, 0x6e, 0x00, 0x84,
- 0x53, 0x04, 0x00, 0x8c, 0x00, 0x0c, 0x54, 0x14, 0x00, 0x6e, 0x00, 0xe6, 0x55, 0x84, 0x03, 0x96,
- 0x00, 0xf4, 0x55, 0x02, 0x00, 0x82, 0x00, 0x34, 0x52, 0x14, 0x00, 0xb4, 0x00, 0x20, 0x56, 0x02,
- 0x00, 0xdc, 0x00, 0xdc, 0x55, 0x64, 0x00, 0xa0, 0x00, 0x47, 0x55, 0x64, 0x00, 0xc8, 0x00, 0x5e,
- 0x55, 0x03, 0x00, 0xd2, 0x00, 0xb0, 0x55, 0xf4, 0x01, 0xd2, 0x00, 0xc2, 0x55, 0x4c, 0x04, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x80, 0xbe, 0x58, 0x02,
- 0x01, 0x75, 0x28, 0x80, 0x7e, 0x08, 0x00, 0x75, 0x22, 0xf6, 0x86, 0x69, 0x02, 0x01, 0x74, 0x1c,
- 0xe8, 0x10, 0xe0, 0xbe, 0xef, 0x4b, 0xe8, 0x2d, 0xc2, 0x8c, 0xd8, 0x8e, 0xc0, 0x33, 0xc0, 0x8d,
- 0xbe, 0xf2, 0x01, 0xab, 0xab, 0xab, 0xc6, 0x86, 0x69, 0x02, 0x00, 0xc3, 0xe8, 0xc8, 0xe2, 0xeb,
- 0xdf, 0x90, 0x8a, 0x46, 0x08, 0x3c, 0x0a, 0x75, 0x0b, 0xf6, 0x86, 0x62, 0x02, 0x01, 0x74, 0x04,
- 0xc6, 0x46, 0x09, 0x04, 0xc3, 0x90, 0x80, 0xbe, 0xab, 0x02, 0x01, 0x74, 0x32, 0x80, 0x7e, 0x08,
- 0x06, 0x75, 0x2c, 0x80, 0x7e, 0x06, 0x0c, 0x75, 0x0f, 0xf6, 0x86, 0x62, 0x02, 0x01, 0x74, 0x08,
- 0xb8, 0x07, 0x00, 0xe8, 0xcb, 0xd3, 0xeb, 0x17, 0xf6, 0x86, 0x62, 0x02, 0x01, 0x74, 0x10, 0xf6,
- 0x86, 0x5d, 0x02, 0x01, 0x75, 0x09, 0xc6, 0x86, 0x5d, 0x02, 0x01, 0xc6, 0x46, 0x09, 0x08, 0xc3,
- 0xe9, 0x84, 0x00, 0x90, 0x8a, 0x4e, 0x06, 0x8a, 0x56, 0x08, 0x80, 0xf9, 0x06, 0x74, 0xf1, 0x80,
- 0xf9, 0x08, 0x74, 0x05, 0x80, 0xf9, 0x0a, 0x75, 0x0a, 0x80, 0xfa, 0x0c, 0x74, 0xe2, 0x80, 0xfa,
- 0x04, 0x74, 0xdd, 0x80, 0xfa, 0x0c, 0x74, 0x05, 0x80, 0xfa, 0x04, 0x75, 0x59, 0xf6, 0x86, 0x67,
- 0x02, 0x01, 0x74, 0x52, 0xe8, 0xd9, 0x02, 0xf6, 0x86, 0x65, 0x02, 0x01, 0x74, 0x0b, 0x81, 0x8e,
- 0x0a, 0x02, 0x00, 0x80, 0xc6, 0x86, 0x89, 0x02, 0x01, 0xc6, 0x46, 0x09, 0x06, 0x81, 0x8e, 0x0a,
- 0x02, 0x00, 0x50, 0xc6, 0x86, 0x89, 0x02, 0x01, 0xc6, 0x86, 0x6e, 0x02, 0x01, 0xc6, 0x86, 0x6d,
- 0x02, 0x01, 0xc6, 0x86, 0x6f, 0x02, 0x01, 0xe8, 0x9c, 0xc3, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26,
- 0x4c, 0x00, 0xfe, 0x26, 0x81, 0x0e, 0x32, 0x00, 0x00, 0x80, 0xbe, 0xfb, 0x4b, 0xe8, 0x46, 0xc1,
- 0xbe, 0x25, 0x4c, 0xe8, 0x40, 0xc1, 0xc3, 0xb8, 0x07, 0x00, 0xe8, 0x24, 0xd3, 0xeb, 0xf7, 0x90,
- 0x80, 0xbe, 0xaa, 0x02, 0x01, 0x74, 0x02, 0xeb, 0x2b, 0x80, 0x7e, 0x06, 0x10, 0x75, 0x06, 0xc6,
- 0x46, 0x07, 0x12, 0xeb, 0x1f, 0x80, 0x7e, 0x08, 0x08, 0x75, 0x19, 0xc6, 0x86, 0x6d, 0x02, 0x01,
- 0xc6, 0x86, 0x6f, 0x02, 0x01, 0xe8, 0x4e, 0xc3, 0xbe, 0x61, 0x4c, 0xe8, 0x08, 0xc1, 0xbe, 0x67,
- 0x4c, 0xe8, 0x02, 0xc1, 0xc3, 0x90, 0xf6, 0x86, 0x63, 0x02, 0x01, 0x74, 0x28, 0xc6, 0x86, 0x63,
- 0x02, 0x00, 0x80, 0x7e, 0x08, 0x0a, 0x75, 0x06, 0xc6, 0x46, 0x09, 0x04, 0xeb, 0x17, 0x80, 0x7e,
- 0x08, 0x06, 0x75, 0x11, 0xc6, 0x86, 0x6d, 0x02, 0x01, 0xe8, 0x1a, 0xc3, 0xbe, 0x25, 0x4c, 0xe8,
- 0xd4, 0xc0, 0xe8, 0x09, 0xde, 0xc3, 0x8a, 0x46, 0x06, 0x3c, 0x04, 0x75, 0x1e, 0xf7, 0x86, 0xf6,
- 0x00, 0x00, 0x10, 0x75, 0x0e, 0xc6, 0x46, 0x07, 0x06, 0xc6, 0x46, 0x06, 0x06, 0xc6, 0x46, 0x09,
- 0x04, 0xeb, 0x16, 0xb8, 0x0d, 0x00, 0xe8, 0x98, 0xd2, 0xeb, 0x0e, 0x3c, 0x08, 0x72, 0x0a, 0x3c,
- 0x0c, 0x77, 0x06, 0xb8, 0x05, 0x00, 0xe8, 0x88, 0xd2, 0xc3, 0x80, 0x7e, 0x08, 0x00, 0x75, 0x33,
- 0xf6, 0x86, 0x58, 0x02, 0x01, 0x75, 0x2c, 0xf6, 0x86, 0x62, 0x02, 0x01, 0x74, 0x25, 0x8e, 0x46,
- 0x02, 0x26, 0xf7, 0x06, 0x54, 0x00, 0x03, 0x00, 0x74, 0x11, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26,
- 0x54, 0x00, 0x03, 0xbe, 0x1f, 0x4c, 0xe8, 0x6d, 0xc0, 0xeb, 0x08, 0xc6, 0x46, 0x09, 0x04, 0xff,
- 0x86, 0x4e, 0x02, 0xc3, 0x80, 0x7e, 0x08, 0x18, 0x75, 0x0e, 0xbe, 0xa3, 0x4c, 0xe8, 0x56, 0xc0,
- 0xe8, 0x9d, 0x01, 0xe8, 0x88, 0xdd, 0xeb, 0x00, 0xc3, 0x90, 0x80, 0x7e, 0x08, 0x00, 0x75, 0x35,
- 0x80, 0xbe, 0x5f, 0x02, 0x01, 0x75, 0x58, 0x80, 0xbe, 0x58, 0x02, 0x01, 0x74, 0x1f, 0xe8, 0x3d,
- 0xde, 0x80, 0x7e, 0x06, 0x0a, 0x75, 0x16, 0xc6, 0x86, 0x67, 0x02, 0x01, 0xc6, 0x46, 0x07, 0x0c,
- 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x40, 0x75, 0x05, 0xc6, 0x86, 0x62, 0x02, 0x01, 0xc3, 0xbe, 0x25,
- 0x4c, 0xe8, 0x12, 0xc0, 0xc3, 0x8a, 0x46, 0x08, 0x3c, 0x04, 0x75, 0x0e, 0xbe, 0x25, 0x4c, 0xe8,
- 0x04, 0xc0, 0xff, 0x86, 0xbc, 0x02, 0xe8, 0x6f, 0xdd, 0xc3, 0x3c, 0x06, 0x75, 0xdf, 0xf6, 0x86,
- 0x63, 0x02, 0x01, 0x75, 0xd8, 0xbe, 0x25, 0x4c, 0xe8, 0xeb, 0xbf, 0xe8, 0x20, 0xdd, 0xc3, 0xc6,
- 0x86, 0x6a, 0x02, 0x01, 0xc3, 0x90, 0x80, 0xbe, 0xab, 0x02, 0x01, 0x74, 0x22, 0x80, 0x7e, 0x06,
- 0x0c, 0x75, 0x1b, 0xff, 0x86, 0xc2, 0x02, 0x83, 0xbe, 0xc2, 0x02, 0x04, 0x77, 0x0a, 0xbe, 0x31,
- 0x4c, 0xe8, 0xc2, 0xbf, 0xe8, 0xbe, 0xde, 0xc3, 0xb8, 0x09, 0x00, 0xe8, 0xa3, 0xd1, 0xc3, 0xeb,
- 0xfd, 0x90, 0x80, 0x7e, 0x08, 0x02, 0x75, 0x1d, 0x80, 0xbe, 0x62, 0x02, 0x01, 0x74, 0x08, 0xb8,
- 0x05, 0x00, 0xe8, 0x8c, 0xd1, 0xeb, 0x0e, 0xff, 0x86, 0x4e, 0x02, 0xc6, 0x46, 0x09, 0x04, 0xb8,
- 0x00, 0x01, 0xe8, 0x73, 0xe0, 0xc3, 0x80, 0x7e, 0x08, 0x00, 0x75, 0x16, 0x80, 0xbe, 0x58, 0x02,
- 0x01, 0x74, 0x07, 0x80, 0xbe, 0x62, 0x02, 0x00, 0x74, 0x08, 0xff, 0x86, 0x4e, 0x02, 0xc6, 0x46,
- 0x09, 0x04, 0xc3, 0xe9, 0xb8, 0x00, 0xf6, 0x86, 0xaf, 0x02, 0x01, 0x75, 0x07, 0xf6, 0x86, 0x62,
- 0x02, 0x01, 0x74, 0xef, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x80, 0x74, 0x06, 0xbe, 0x07, 0x4c, 0xe8,
- 0x54, 0xbf, 0x8d, 0xbe, 0xdc, 0x02, 0x8c, 0xd9, 0x8e, 0xc1, 0xb9, 0x05, 0x00, 0x33, 0xc0, 0xf3,
- 0xaf, 0x74, 0xd0, 0x80, 0xbe, 0xaa, 0x02, 0x01, 0x74, 0x45, 0x80, 0xbe, 0xab, 0x02, 0x01, 0x74,
- 0x5f, 0x80, 0xbe, 0xac, 0x02, 0x01, 0x74, 0x09, 0x80, 0xbe, 0xad, 0x02, 0x01, 0x74, 0x51, 0xeb,
- 0x6d, 0xc7, 0x86, 0xc0, 0x02, 0x04, 0x00, 0x81, 0x8e, 0x0a, 0x02, 0x00, 0x20, 0xc6, 0x86, 0x89,
- 0x02, 0x01, 0xf6, 0x86, 0x72, 0x02, 0x01, 0x74, 0x14, 0x80, 0x7e, 0x08, 0x16, 0x75, 0x0e, 0xc6,
- 0x86, 0x5a, 0x02, 0x00, 0xe8, 0x18, 0xde, 0xc7, 0x86, 0x2e, 0x02, 0x03, 0x00, 0xeb, 0x3f, 0xc7,
- 0x86, 0xc0, 0x02, 0x04, 0x00, 0xc6, 0x86, 0x5a, 0x02, 0x00, 0xe8, 0x02, 0xde, 0xc7, 0x86, 0x2e,
- 0x02, 0x03, 0x00, 0x81, 0x8e, 0x0a, 0x02, 0x00, 0x20, 0xc6, 0x86, 0x89, 0x02, 0x01, 0xeb, 0x1e,
- 0xc7, 0x86, 0xc0, 0x02, 0x04, 0x00, 0x81, 0x8e, 0x0a, 0x02, 0x00, 0x20, 0xc6, 0x86, 0x89, 0x02,
- 0x01, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x80, 0x75, 0x05, 0xc6, 0x86, 0x5a, 0x02, 0x00, 0xc3, 0x90,
- 0xc7, 0x86, 0x36, 0x02, 0x06, 0x00, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x74, 0x18, 0xb8, 0x00, 0x02,
- 0x80, 0xbe, 0x65, 0x02, 0x01, 0x74, 0x37, 0xf6, 0x86, 0xac, 0x02, 0x01, 0x75, 0x07, 0xf6, 0x86,
- 0xad, 0x02, 0x01, 0x74, 0x05, 0xb8, 0x00, 0x05, 0xeb, 0x24, 0xb8, 0x00, 0x04, 0xc7, 0x86, 0x36,
- 0x02, 0x04, 0x00, 0x8a, 0x4e, 0x08, 0x80, 0xf9, 0x0c, 0x74, 0x13, 0xb8, 0x00, 0x04, 0x80, 0xbe,
- 0x5e, 0x02, 0x01, 0x74, 0x09, 0xb8, 0x00, 0x03, 0xc7, 0x86, 0x36, 0x02, 0x07, 0x00, 0x89, 0x86,
- 0x0c, 0x03, 0xc3, 0x90, 0x80, 0x7e, 0x08, 0x08, 0x74, 0x23, 0x8a, 0x46, 0x06, 0x3c, 0x04, 0x72,
- 0x1c, 0x3c, 0x48, 0x74, 0x04, 0x3c, 0x0e, 0x77, 0x14, 0xf6, 0x86, 0x61, 0x02, 0x01, 0x74, 0x0d,
- 0xf6, 0x86, 0x60, 0x02, 0x01, 0x74, 0x06, 0xb8, 0x0c, 0x00, 0xe8, 0x24, 0xd0, 0xc3, 0xc6, 0x86,
- 0x61, 0x02, 0x01, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x44, 0x00, 0xff, 0xf7, 0xe8, 0xcc, 0x03,
- 0xc3, 0x90, 0x80, 0x7e, 0x06, 0x02, 0x74, 0x06, 0x80, 0x7e, 0x08, 0x08, 0x75, 0x06, 0xb8, 0x01,
- 0x00, 0xe8, 0xfd, 0xcf, 0xc3, 0x90, 0x51, 0x52, 0x56, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x75, 0x02,
- 0xeb, 0x48, 0x33, 0xd2, 0xc6, 0x86, 0x6d, 0x02, 0x00, 0xe8, 0x3a, 0xc0, 0x8d, 0xb6, 0xa6, 0x01,
- 0x8d, 0xbe, 0xac, 0x01, 0x8c, 0xd8, 0x8e, 0xc0, 0xa5, 0xa5, 0xa5, 0xc6, 0x86, 0x87, 0x02, 0x00,
- 0xb0, 0x00, 0xe8, 0xed, 0xe1, 0xc6, 0x86, 0x68, 0x01, 0x02, 0xc7, 0x86, 0x66, 0x01, 0x20, 0x03,
- 0xbe, 0x19, 0x4c, 0xe8, 0xd0, 0xbd, 0x8b, 0xb6, 0x64, 0x01, 0xb9, 0xe8, 0x03, 0x8e, 0x46, 0x02,
- 0x26, 0xc7, 0x06, 0x5c, 0x00, 0x00, 0x00, 0xe8, 0x08, 0xdc, 0x5e, 0x5a, 0x59, 0xc3, 0x80, 0x7e,
- 0x06, 0x02, 0x74, 0x0f, 0x80, 0x7e, 0x06, 0x44, 0x74, 0x09, 0x80, 0x7e, 0x08, 0x08, 0x74, 0x03,
- 0xe9, 0x94, 0x00, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x75, 0x26, 0xf6, 0x86, 0x76, 0x02, 0x01, 0x74,
- 0x0b, 0xbe, 0x19, 0x4c, 0xe8, 0x8f, 0xbd, 0xe8, 0x3a, 0xdf, 0xeb, 0x7b, 0xf6, 0x86, 0x77, 0x02,
- 0x01, 0x74, 0x0d, 0xc6, 0x86, 0x77, 0x02, 0x00, 0xbe, 0x19, 0x4c, 0xe8, 0x78, 0xbd, 0xeb, 0x67,
- 0xfe, 0x8e, 0x68, 0x01, 0x75, 0x05, 0xe8, 0xc5, 0x04, 0xeb, 0x5c, 0xbe, 0x19, 0x4c, 0xe8, 0x65,
- 0xbd, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x75, 0x08, 0xb9, 0x5a, 0x00, 0xe8, 0x07, 0xdc, 0xeb, 0x47,
- 0xe8, 0x4a, 0xb8, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x4c, 0x00, 0x00, 0x01, 0x90, 0x8e, 0x46,
- 0x02, 0x26, 0x81, 0x26, 0x4c, 0x00, 0xff, 0xfe, 0x8e, 0x46, 0x02, 0x26, 0xc7, 0x06, 0x5c, 0x00,
- 0x00, 0x00, 0x8b, 0xb6, 0x64, 0x01, 0xb9, 0xe8, 0x03, 0xc6, 0x86, 0x8a, 0x02, 0x01, 0x83, 0xbe,
- 0x66, 0x01, 0x01, 0x75, 0x07, 0xe8, 0x51, 0xdb, 0xeb, 0x0d, 0xeb, 0x05, 0xe8, 0x63, 0xdb, 0xeb,
- 0x06, 0xb8, 0x01, 0x00, 0xe8, 0xfa, 0xce, 0xc3, 0x80, 0x7e, 0x06, 0x44, 0x75, 0x07, 0xf6, 0x86,
- 0x76, 0x02, 0x01, 0x75, 0xec, 0xc3, 0xf7, 0x86, 0xf6, 0x00, 0x80, 0x00, 0x74, 0x10, 0x80, 0x7e,
- 0x06, 0x14, 0x75, 0x0a, 0xb8, 0x05, 0x00, 0xe8, 0x1b, 0xf9, 0xc6, 0x46, 0x07, 0x42, 0xc3, 0x90,
- 0x80, 0xbe, 0xab, 0x02, 0x01, 0x74, 0x4e, 0xc6, 0x86, 0x70, 0x02, 0x00, 0x80, 0x7e, 0x08, 0x08,
- 0x75, 0x2c, 0xf6, 0x86, 0x71, 0x02, 0x01, 0x74, 0x25, 0xe9, 0xdf, 0xcc, 0xbe, 0x2b, 0x4c, 0xe8,
- 0xc4, 0xbc, 0x8e, 0x46, 0x02, 0xf6, 0x06, 0x81, 0x5e, 0x01, 0x75, 0x08, 0x26, 0x83, 0x26, 0x42,
- 0x00, 0xfd, 0xeb, 0x08, 0xc6, 0x86, 0x6d, 0x01, 0x01, 0xe8, 0x35, 0x09, 0xeb, 0x16, 0x80, 0x7e,
- 0x06, 0x10, 0x75, 0x10, 0xc6, 0x46, 0x09, 0x00, 0xc6, 0x86, 0x58, 0x02, 0x00, 0xc6, 0x86, 0x6c,
- 0x02, 0x00, 0xeb, 0xc8, 0xc3, 0xeb, 0xfd, 0x90, 0x80, 0x7e, 0x06, 0x42, 0x75, 0x14, 0x80, 0xbe,
- 0xfe, 0x00, 0x02, 0x72, 0x27, 0xf6, 0x86, 0x74, 0x02, 0x01, 0x75, 0x08, 0xb8, 0x02, 0x00, 0xe8,
- 0x02, 0x04, 0xeb, 0x45, 0xc7, 0x86, 0x34, 0x05, 0x00, 0x02, 0xc7, 0x86, 0x30, 0x05, 0x00, 0x02,
- 0xc6, 0x86, 0x79, 0x02, 0x01, 0xc6, 0x86, 0xb0, 0x02, 0x00, 0xeb, 0x1e, 0xc6, 0x86, 0xb0, 0x02,
- 0x01, 0xc7, 0x86, 0x34, 0x05, 0x00, 0x02, 0xc7, 0x86, 0x30, 0x05, 0x00, 0x01, 0xf6, 0x86, 0x78,
- 0x02, 0x01, 0x74, 0x06, 0xc7, 0x86, 0x34, 0x05, 0x00, 0x06, 0xc7, 0x86, 0xd8, 0x02, 0x05, 0x00,
- 0xbe, 0xa9, 0x4c, 0xe8, 0x30, 0xbc, 0xe8, 0x5f, 0xdd, 0xc3, 0x80, 0x7e, 0x08, 0x18, 0x74, 0x06,
- 0x80, 0x7e, 0x08, 0x1a, 0x75, 0x04, 0xc6, 0x46, 0x09, 0x1c, 0xc3, 0x90, 0x80, 0x7e, 0x06, 0x46,
- 0x75, 0x06, 0xb8, 0x05, 0x00, 0xe8, 0xf9, 0xcd, 0xc3, 0x90, 0x80, 0x7e, 0x08, 0x1c, 0x75, 0x0a,
- 0x80, 0x7e, 0x06, 0x48, 0x75, 0x04, 0xc6, 0x46, 0x07, 0x44, 0xc3, 0x90, 0x80, 0x7e, 0x06, 0x42,
- 0x75, 0x04, 0xc6, 0x46, 0x07, 0x44, 0xc3, 0x90, 0xf6, 0x86, 0x73, 0x02, 0x01, 0x74, 0x27, 0xf6,
- 0x46, 0x06, 0x46, 0x75, 0x18, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x74, 0x11, 0xc6, 0x86, 0x6f, 0x02,
- 0x01, 0xc6, 0x86, 0x7a, 0x02, 0x01, 0xe8, 0x0d, 0xbe, 0xff, 0x86, 0xd6, 0x02, 0xe8, 0xce, 0xd9,
- 0xbe, 0x97, 0x4c, 0xe8, 0xc0, 0xbb, 0xc3, 0x90, 0x80, 0x7e, 0x06, 0x42, 0x75, 0x35, 0xf6, 0x86,
- 0x7b, 0x02, 0x01, 0x75, 0x2e, 0x83, 0xbe, 0xd8, 0x02, 0x00, 0x74, 0x29, 0xff, 0x8e, 0xd8, 0x02,
- 0xbe, 0xa9, 0x4c, 0xe8, 0xa0, 0xbb, 0x80, 0xbe, 0xfe, 0x00, 0x01, 0x77, 0x13, 0xc7, 0x86, 0x34,
- 0x05, 0x00, 0x02, 0xf6, 0x86, 0x78, 0x02, 0x01, 0x74, 0x06, 0xc7, 0x86, 0x34, 0x05, 0x00, 0x06,
- 0xe8, 0xb5, 0xdc, 0xeb, 0x49, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x10, 0x74, 0x1c, 0x80, 0xbe, 0xfe,
- 0x00, 0x00, 0x74, 0x08, 0xb8, 0x06, 0x00, 0xe8, 0xfa, 0x02, 0xeb, 0x32, 0xf7, 0x86, 0xf6, 0x00,
- 0x00, 0x10, 0x74, 0x05, 0xc6, 0x86, 0xfe, 0x00, 0x01, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x74, 0x18,
- 0xf7, 0x86, 0xf4, 0x00, 0x00, 0x10, 0x74, 0x10, 0xb8, 0x02, 0x00, 0xe8, 0x77, 0xf7, 0xc6, 0x46,
- 0x09, 0x1e, 0xc6, 0x46, 0x07, 0x02, 0xeb, 0x06, 0xb8, 0x06, 0x00, 0xe8, 0x23, 0xcd, 0xc3, 0x90,
- 0x80, 0x7e, 0x06, 0x46, 0x75, 0x21, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x74, 0x11, 0xc6, 0x86, 0x6f,
- 0x02, 0x01, 0xc6, 0x86, 0x7a, 0x02, 0x01, 0xe8, 0x5c, 0xbd, 0xff, 0x86, 0xd6, 0x02, 0xbe, 0xaf,
- 0x4c, 0xe8, 0x12, 0xbb, 0xe8, 0x83, 0xdc, 0xc3, 0x80, 0x7e, 0x06, 0x44, 0x75, 0x06, 0xb8, 0x05,
- 0x00, 0xe8, 0xed, 0xcc, 0xc3, 0x90, 0x80, 0x7e, 0x06, 0x46, 0x75, 0x08, 0xb8, 0x06, 0x00, 0xe8,
- 0xdf, 0xcc, 0xeb, 0x17, 0x80, 0x7e, 0x08, 0x16, 0x75, 0x11, 0xc7, 0x86, 0x2e, 0x02, 0x04, 0x00,
- 0xf6, 0x86, 0x72, 0x02, 0x01, 0x74, 0x04, 0xc6, 0x46, 0x09, 0x18, 0xc3, 0x8e, 0x46, 0x02, 0x26,
- 0x8b, 0x16, 0x42, 0x00, 0xf7, 0xc2, 0x02, 0x00, 0x74, 0x14, 0x8b, 0xc2, 0x83, 0xe0, 0xfd, 0x8e,
- 0x46, 0x02, 0x26, 0xa3, 0x42, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x89, 0x16, 0x42, 0x00, 0xc3, 0x90,
- 0x8e, 0x46, 0x02, 0x26, 0xf7, 0x06, 0x54, 0x00, 0x03, 0x00, 0x74, 0x10, 0x8e, 0x46, 0x02, 0x26,
- 0x83, 0x26, 0x54, 0x00, 0x03, 0xc6, 0x86, 0x59, 0x02, 0x01, 0xeb, 0x00, 0xf6, 0x86, 0x59, 0x02,
- 0x01, 0x75, 0x14, 0x80, 0x7e, 0x08, 0x00, 0x75, 0x0e, 0xc6, 0x46, 0x09, 0x02, 0xff, 0x86, 0x44,
- 0x02, 0x81, 0x8e, 0xe6, 0x02, 0x00, 0x02, 0xc6, 0x86, 0x59, 0x02, 0x00, 0xc3, 0x90, 0xf7, 0x86,
- 0xf4, 0x00, 0x00, 0x10, 0x75, 0x15, 0x8e, 0x46, 0x02, 0x26, 0xf7, 0x06, 0x54, 0x00, 0x03, 0x00,
- 0x74, 0x09, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x54, 0x00, 0x03, 0xc3, 0x80, 0xbe, 0xb0, 0x02,
- 0x01, 0x75, 0x32, 0x8e, 0x46, 0x02, 0x26, 0xf7, 0x06, 0x54, 0x00, 0x08, 0x00, 0x74, 0x21, 0xf6,
- 0x86, 0x61, 0x02, 0x01, 0x74, 0x1f, 0xf6, 0x86, 0x60, 0x02, 0x01, 0x75, 0x18, 0xc7, 0x86, 0x2e,
- 0x02, 0x0a, 0x00, 0xbe, 0x43, 0x4c, 0xe8, 0x2d, 0xba, 0xc6, 0x86, 0x60, 0x02, 0x01, 0xeb, 0x05,
- 0xc6, 0x86, 0x60, 0x02, 0x00, 0xc3, 0xbe, 0x55, 0x4c, 0xe8, 0x1a, 0xba, 0x33, 0xc0, 0x87, 0x86,
- 0xcc, 0x02, 0x0b, 0xc0, 0x75, 0x14, 0x80, 0xbe, 0x65, 0x02, 0x00, 0x74, 0x0d, 0xc6, 0x86, 0x65,
- 0x02, 0x00, 0x80, 0xa6, 0x0b, 0x02, 0x7f, 0xe8, 0x46, 0xfb, 0xc3, 0x80, 0x7e, 0x06, 0x12, 0x75,
- 0x10, 0xc6, 0x86, 0x08, 0x01, 0x01, 0xc6, 0x86, 0x09, 0x01, 0x00, 0xe8, 0x7b, 0xf3, 0xe8, 0x72,
- 0xf5, 0xc3, 0xf6, 0x86, 0x6e, 0x01, 0x01, 0x74, 0x15, 0x80, 0xbe, 0x70, 0x01, 0x03, 0x73, 0x07,
- 0xc6, 0x86, 0x6c, 0x01, 0x01, 0xeb, 0x23, 0xc6, 0x86, 0x6e, 0x01, 0x00, 0xeb, 0x1c, 0xf6, 0x86,
- 0x6f, 0x01, 0x01, 0x74, 0x15, 0x80, 0xbe, 0x71, 0x01, 0x03, 0x73, 0x07, 0xc6, 0x86, 0x6d, 0x01,
- 0x01, 0xeb, 0x07, 0xc6, 0x86, 0x6f, 0x01, 0x00, 0xeb, 0x00, 0xc3, 0xf7, 0x86, 0xb0, 0x15, 0x00,
- 0x80, 0x75, 0x07, 0x83, 0xbe, 0xb0, 0x15, 0x05, 0x74, 0x05, 0xc6, 0x86, 0xce, 0x01, 0x01, 0xc3,
- 0xe8, 0xd2, 0xcc, 0xc3, 0xf7, 0x86, 0xf6, 0x00, 0x08, 0x00, 0x74, 0x09, 0xe8, 0x6b, 0xf4, 0xbe,
- 0xe5, 0x4c, 0xe8, 0x81, 0xb9, 0xc3, 0xf7, 0x86, 0xf6, 0x00, 0x08, 0x00, 0x74, 0x11, 0x81, 0x8e,
- 0x0a, 0x02, 0x00, 0x04, 0xc6, 0x86, 0x89, 0x02, 0x01, 0xb8, 0x10, 0x00, 0xe8, 0x52, 0xcb, 0xc3,
- 0x8b, 0x86, 0x30, 0x01, 0x88, 0xa6, 0x2c, 0x01, 0xc3, 0x90, 0x80, 0x7e, 0x06, 0x4a, 0x75, 0x06,
- 0xb8, 0x04, 0x00, 0xe8, 0x3b, 0xcb, 0xc3, 0x90, 0x80, 0x7e, 0x06, 0x4c, 0x75, 0x25, 0xf6, 0x86,
- 0x74, 0x02, 0x01, 0x74, 0x07, 0x83, 0xbe, 0xda, 0x02, 0x00, 0x75, 0x0a, 0xc6, 0x46, 0x07, 0x12,
- 0xc6, 0x46, 0x09, 0x1e, 0xeb, 0x0d, 0xff, 0x8e, 0xda, 0x02, 0xbe, 0xbb, 0x4c, 0xe8, 0x26, 0xb9,
- 0xe8, 0xed, 0xda, 0xc3, 0x80, 0xbe, 0xfe, 0x00, 0x02, 0x75, 0x2e, 0x8a, 0x3e, 0x80, 0x5e, 0xb3,
- 0x01, 0xe8, 0x6e, 0xbf, 0xf6, 0x86, 0x74, 0x02, 0x01, 0x74, 0x24, 0xa9, 0x04, 0x00, 0x75, 0x1d,
- 0xff, 0x8e, 0xb5, 0x02, 0x75, 0x15, 0xc6, 0x86, 0x74, 0x02, 0x00, 0x8a, 0x4e, 0x06, 0x80, 0xf9,
- 0x42, 0x74, 0x08, 0xb8, 0x02, 0x00, 0xe8, 0xd8, 0xca, 0xeb, 0x41, 0xeb, 0x39, 0xeb, 0x31, 0xa9,
- 0x04, 0x00, 0x74, 0x2c, 0xc6, 0x86, 0x74, 0x02, 0x01, 0x8a, 0x4e, 0x06, 0x80, 0xf9, 0x4a, 0x75,
- 0x1d, 0xc6, 0x46, 0x07, 0x42, 0xc6, 0x46, 0x06, 0x42, 0xe8, 0x8a, 0xbe, 0xbe, 0x79, 0x4c, 0xe8,
- 0xc4, 0xb8, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x44, 0x00, 0x32, 0xfe, 0xeb, 0x08, 0xeb, 0x06,
- 0xc7, 0x86, 0xb5, 0x02, 0x02, 0x00, 0xbe, 0xc7, 0x4c, 0xe8, 0xaa, 0xb8, 0xc3, 0x90, 0xf7, 0x86,
- 0xf6, 0x00, 0x00, 0x10, 0x74, 0x26, 0x80, 0x8e, 0xfe, 0x00, 0x00, 0x74, 0x1f, 0xfe, 0x8e, 0xfe,
- 0x00, 0xc6, 0x86, 0x6d, 0x02, 0x01, 0xc6, 0x86, 0x6f, 0x02, 0x01, 0xe8, 0xc8, 0xba, 0xbe, 0x61,
- 0x4c, 0xe8, 0x82, 0xb8, 0xbe, 0x67, 0x4c, 0xe8, 0x7c, 0xb8, 0xeb, 0x06, 0xb8, 0x01, 0x00, 0xe8,
- 0x5f, 0xca, 0xc3, 0x90, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x10, 0x74, 0x32, 0x80, 0x8e, 0xfe, 0x00,
- 0x00, 0x74, 0x2b, 0xfe, 0x8e, 0xfe, 0x00, 0xbe, 0x79, 0x4c, 0xe8, 0x59, 0xb8, 0xb0, 0x02, 0xe8,
- 0xab, 0xbc, 0xc6, 0x86, 0x6d, 0x02, 0x01, 0xc6, 0x86, 0x6f, 0x02, 0x01, 0xe8, 0x87, 0xba, 0x8e,
- 0x46, 0x02, 0x26, 0x81, 0x0e, 0x40, 0x00, 0x00, 0x1e, 0xe8, 0xfa, 0xbd, 0xeb, 0x03, 0xe8, 0x20,
- 0xca, 0xc3, 0xf6, 0x86, 0x95, 0x02, 0x01, 0x74, 0x07, 0xa8, 0x24, 0x74, 0x03, 0xe8, 0xb0, 0xcb,
- 0xf6, 0x86, 0xae, 0x02, 0x01, 0x74, 0x09, 0x80, 0xbe, 0x62, 0x02, 0x01, 0x75, 0x58, 0xeb, 0x09,
- 0xf6, 0x86, 0x72, 0x02, 0x01, 0x75, 0x10, 0xeb, 0x52, 0x80, 0x7e, 0x06, 0x0e, 0x74, 0x02, 0xeb,
- 0x45, 0x80, 0x7e, 0x08, 0x00, 0x75, 0x3f, 0xa8, 0x01, 0x74, 0x05, 0x83, 0x8e, 0xe6, 0x02, 0x10,
- 0xa8, 0x04, 0x74, 0x05, 0x83, 0x8e, 0xe6, 0x02, 0x04, 0xa8, 0x08, 0x74, 0x05, 0x83, 0x8e, 0xe6,
- 0x02, 0x40, 0xa8, 0x20, 0x74, 0x10, 0x81, 0x8e, 0xe6, 0x02, 0x00, 0x01, 0xf6, 0x86, 0x58, 0x02,
- 0x01, 0x75, 0x03, 0xe8, 0xaa, 0xbc, 0xa8, 0x40, 0x74, 0x05, 0x83, 0x8e, 0xe6, 0x02, 0x01, 0xa8,
- 0x80, 0x74, 0x03, 0xe8, 0x52, 0x00, 0xa9, 0x00, 0x01, 0x75, 0x01, 0xc3, 0x50, 0x80, 0x7e, 0x08,
- 0x0a, 0x75, 0x06, 0xc6, 0x46, 0x09, 0x04, 0xeb, 0x1b, 0x80, 0x7e, 0x08, 0x00, 0x75, 0x23, 0xc6,
- 0x46, 0x09, 0x02, 0xff, 0x86, 0x44, 0x02, 0xf6, 0x86, 0x62, 0x02, 0x01, 0x74, 0x06, 0x81, 0x8e,
- 0xe6, 0x02, 0x00, 0x02, 0xc6, 0x86, 0x6d, 0x02, 0x01, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x4c,
- 0x00, 0x10, 0x8e, 0x46, 0x02, 0x26, 0xc7, 0x06, 0x48, 0x00, 0x00, 0x00, 0x8e, 0x46, 0x02, 0x26,
- 0xc7, 0x06, 0x48, 0x00, 0x00, 0x01, 0x58, 0xc3, 0x83, 0x8e, 0xe6, 0x02, 0x20, 0x83, 0x7e, 0x06,
- 0x08, 0x75, 0x13, 0x8b, 0x8e, 0xce, 0x02, 0x41, 0x89, 0x8e, 0xce, 0x02, 0x80, 0xf9, 0x02, 0x75,
- 0x05, 0x50, 0xe8, 0x84, 0xd5, 0x58, 0xc3, 0x50, 0x53, 0x51, 0x8a, 0x4e, 0x06, 0x80, 0xf9, 0x0e,
- 0x74, 0x1e, 0x80, 0xf9, 0x48, 0x74, 0x19, 0x80, 0xbe, 0x58, 0x02, 0x01, 0x74, 0x46, 0x80, 0xf9,
- 0x08, 0x72, 0x41, 0x80, 0xf9, 0x0e, 0x77, 0x3c, 0xb8, 0x02, 0x00, 0xe8, 0x13, 0xc9, 0xeb, 0x34,
- 0xc7, 0x86, 0x2e, 0x02, 0x05, 0x00, 0xc6, 0x86, 0x65, 0x02, 0x01, 0x8a, 0x46, 0x08, 0x3c, 0x06,
- 0x74, 0x26, 0x3c, 0x02, 0x74, 0x51, 0x3c, 0x08, 0x74, 0x1a, 0x3c, 0x04, 0x74, 0x16, 0xf6, 0x86,
- 0xac, 0x02, 0x01, 0x75, 0x13, 0xf6, 0x86, 0xad, 0x02, 0x01, 0x75, 0x0c, 0xc6, 0x46, 0x09, 0x04,
- 0xff, 0x86, 0x4e, 0x02, 0x59, 0x5b, 0x58, 0xc3, 0x8b, 0x86, 0x0a, 0x02, 0xf6, 0xc4, 0x80, 0x75,
- 0x0c, 0x80, 0xcc, 0x80, 0x89, 0x86, 0x0a, 0x02, 0xc6, 0x86, 0x89, 0x02, 0x01, 0x81, 0xbe, 0x0c,
- 0x03, 0x00, 0x02, 0x74, 0xdf, 0xc7, 0x86, 0x0c, 0x03, 0x00, 0x02, 0xf6, 0x86, 0xaa, 0x02, 0x01,
- 0x74, 0xd2, 0xe8, 0xf9, 0xd3, 0xeb, 0xcd, 0xb8, 0x00, 0x01, 0xe8, 0x9b, 0xd7, 0xf6, 0x86, 0x62,
- 0x02, 0x01, 0x74, 0xc0, 0xc6, 0x46, 0x09, 0x04, 0xeb, 0xba, 0xfa, 0xc7, 0x06, 0x30, 0x00, 0xb6,
- 0x0e, 0x8c, 0x0e, 0x32, 0x00, 0xb8, 0x00, 0x00, 0xe7, 0x06, 0xb8, 0xea, 0x09, 0xe7, 0x00, 0xb8,
- 0x09, 0x00, 0xe7, 0x06, 0xb0, 0x7f, 0xe8, 0x5c, 0xb3, 0xc6, 0x06, 0x82, 0x5e, 0x80, 0xfb, 0xc3,
- 0xf7, 0x86, 0x82, 0x01, 0x01, 0x00, 0x74, 0x1a, 0xc7, 0x86, 0x82, 0x01, 0x00, 0x00, 0xf6, 0x86,
- 0x6e, 0x01, 0x01, 0x74, 0x0d, 0xc6, 0x86, 0x6e, 0x01, 0x00, 0xbe, 0xd9, 0x4c, 0xe8, 0x18, 0xb7,
- 0xeb, 0x00, 0xf7, 0x86, 0x8a, 0x01, 0x01, 0x00, 0x74, 0x45, 0xc7, 0x86, 0x8a, 0x01, 0x00, 0x00,
- 0xf6, 0x86, 0x6f, 0x01, 0x01, 0x74, 0x0d, 0xc6, 0x86, 0x6f, 0x01, 0x00, 0xbe, 0xd9, 0x4c, 0xe8,
- 0xf6, 0xb6, 0xeb, 0x2b, 0x80, 0x7e, 0x06, 0x0e, 0x74, 0x06, 0x80, 0x7e, 0x06, 0x48, 0x75, 0x1f,
- 0xf6, 0x86, 0x61, 0x02, 0x01, 0x74, 0x18, 0xf6, 0x86, 0x60, 0x02, 0x01, 0x75, 0x11, 0xc6, 0x86,
- 0x60, 0x02, 0x01, 0xc7, 0x86, 0x2e, 0x02, 0x0a, 0x00, 0xb8, 0x0c, 0x00, 0xe8, 0x02, 0xc8, 0xc3,
- 0xb9, 0x01, 0x00, 0x33, 0xdb, 0x8b, 0xaf, 0x48, 0x5d, 0x8e, 0x46, 0x02, 0x26, 0x8b, 0x16, 0x54,
- 0x00, 0x83, 0xe2, 0x08, 0x26, 0xa1, 0x72, 0x00, 0xd1, 0xe8, 0xd0, 0xe8, 0x86, 0xe0, 0xf7, 0xc2,
- 0x08, 0x00, 0x75, 0x02, 0xeb, 0x67, 0x83, 0xbe, 0x74, 0x01, 0x00, 0x75, 0x04, 0x88, 0xa6, 0x78,
- 0x01, 0x81, 0xbe, 0x74, 0x01, 0xbc, 0x02, 0x72, 0x06, 0xc7, 0x86, 0x74, 0x01, 0xf4, 0x01, 0x8a,
- 0xc4, 0x2a, 0xe4, 0x83, 0xf8, 0x7f, 0x75, 0x12, 0x8b, 0x86, 0x74, 0x01, 0xbe, 0xeb, 0x09, 0xf7,
- 0xe6, 0xbe, 0x20, 0x00, 0xf7, 0xf6, 0x03, 0x86, 0x78, 0x01, 0x89, 0x86, 0x7c, 0x01, 0xff, 0x86,
- 0x74, 0x01, 0x83, 0xbe, 0x7c, 0x01, 0x7d, 0x72, 0x21, 0x83, 0xbe, 0x88, 0x01, 0x01, 0x74, 0x1a,
- 0xc7, 0x86, 0x88, 0x01, 0x01, 0x00, 0xc7, 0x86, 0x8a, 0x01, 0x01, 0x00, 0xa1, 0x32, 0x5d, 0x89,
- 0x86, 0x8c, 0x01, 0xa1, 0x34, 0x5d, 0x89, 0x86, 0x8e, 0x01, 0xe9, 0x94, 0x00, 0x83, 0xbe, 0x76,
- 0x01, 0x00, 0x75, 0x04, 0x88, 0x86, 0x7a, 0x01, 0x81, 0xbe, 0x76, 0x01, 0xbc, 0x02, 0x72, 0x06,
- 0xc7, 0x86, 0x76, 0x01, 0xf4, 0x01, 0x2a, 0xe4, 0x83, 0xf8, 0x7f, 0x75, 0x12, 0x8b, 0x86, 0x76,
- 0x01, 0xbe, 0xeb, 0x09, 0xf7, 0xe6, 0xbe, 0x20, 0x00, 0xf7, 0xf6, 0x03, 0x86, 0x7a, 0x01, 0x89,
- 0x86, 0x7e, 0x01, 0xff, 0x86, 0x76, 0x01, 0x83, 0xbe, 0x80, 0x01, 0x01, 0x74, 0x53, 0x83, 0xf8,
- 0x1f, 0x72, 0x4e, 0x8d, 0xb6, 0x96, 0x01, 0x83, 0x3c, 0x12, 0x72, 0x45, 0x83, 0x3c, 0x23, 0x77,
- 0x40, 0x83, 0x7c, 0x02, 0x1f, 0x72, 0x3a, 0x83, 0x7c, 0x02, 0x45, 0x77, 0x34, 0x83, 0x7c, 0x04,
- 0x12, 0x72, 0x2e, 0x90, 0x83, 0x7c, 0x04, 0x23, 0x77, 0x27, 0x81, 0x7c, 0x06, 0x9c, 0x00, 0x72,
- 0x20, 0xc7, 0x86, 0x80, 0x01, 0x01, 0x00, 0xc7, 0x86, 0x82, 0x01, 0x01, 0x00, 0xc7, 0x86, 0x88,
- 0x01, 0x00, 0x00, 0xa1, 0x32, 0x5d, 0x89, 0x86, 0x84, 0x01, 0xa1, 0x34, 0x5d, 0x89, 0x86, 0x86,
- 0x01, 0x83, 0xc3, 0x02, 0x49, 0x74, 0x03, 0xe9, 0xdb, 0xfe, 0xc3, 0x50, 0x51, 0x52, 0x56, 0x57,
- 0x8e, 0x46, 0x02, 0x83, 0x86, 0x90, 0x01, 0x01, 0x83, 0x96, 0x92, 0x01, 0x00, 0xc7, 0x86, 0x80,
- 0x01, 0x00, 0x00, 0x26, 0xa1, 0x72, 0x00, 0xd1, 0xe8, 0xd0, 0xe8, 0x86, 0xe0, 0x8d, 0xb6, 0x96,
- 0x01, 0x26, 0x8b, 0x0e, 0x54, 0x00, 0x83, 0xe1, 0x08, 0x89, 0x8e, 0x94, 0x01, 0xf7, 0xc1, 0x08,
- 0x00, 0x74, 0x4f, 0x8b, 0x4c, 0x0a, 0x89, 0x4c, 0x0e, 0x8b, 0x4c, 0x06, 0x89, 0x4c, 0x0a, 0x8b,
- 0x4c, 0x02, 0x89, 0x4c, 0x06, 0x2a, 0xe4, 0x8b, 0xc8, 0x83, 0xf8, 0x7f, 0x75, 0x19, 0xb0, 0x0a,
- 0xe6, 0x10, 0xe5, 0x00, 0xb1, 0x05, 0xd3, 0xe8, 0x03, 0x86, 0x7e, 0x01, 0x8b, 0xc8, 0xe4, 0x10,
- 0xa8, 0x10, 0x74, 0x03, 0x83, 0xc1, 0x4f, 0x8b, 0xc1, 0x89, 0x44, 0x02, 0xc7, 0x86, 0x7e, 0x01,
- 0x00, 0x00, 0xc7, 0x86, 0x76, 0x01, 0x00, 0x00, 0xeb, 0x7f, 0xc7, 0x86, 0x88, 0x01, 0x00, 0x00,
- 0xeb, 0x77, 0x8b, 0x4c, 0x08, 0x89, 0x4c, 0x0c, 0x8b, 0x4c, 0x04, 0x89, 0x4c, 0x08, 0x8b, 0x0c,
- 0x89, 0x4c, 0x04, 0x8a, 0xc4, 0x2a, 0xe4, 0x8b, 0xc8, 0x83, 0xf8, 0x7f, 0x75, 0x25, 0xb0, 0x0a,
- 0xe6, 0x10, 0xe5, 0x00, 0xb1, 0x05, 0xd3, 0xe8, 0x03, 0x86, 0x7c, 0x01, 0x8b, 0xc8, 0xe4, 0x10,
- 0xa8, 0x10, 0x74, 0x03, 0x83, 0xc1, 0x4f, 0x8b, 0x96, 0x7c, 0x01, 0x83, 0xf9, 0x7f, 0x77, 0x03,
- 0x83, 0xc1, 0x4f, 0x8b, 0xc1, 0x89, 0x04, 0xc7, 0x86, 0x7c, 0x01, 0x00, 0x00, 0xc7, 0x86, 0x74,
- 0x01, 0x00, 0x00, 0x83, 0xf8, 0x7d, 0x72, 0xa2, 0x83, 0xbe, 0x88, 0x01, 0x01, 0x74, 0x1a, 0xc7,
- 0x86, 0x88, 0x01, 0x01, 0x00, 0xc7, 0x86, 0x8a, 0x01, 0x01, 0x00, 0xa1, 0x32, 0x5d, 0x89, 0x86,
- 0x84, 0x01, 0xa1, 0x34, 0x5d, 0x89, 0x86, 0x86, 0x01, 0x5f, 0x5e, 0x5a, 0x59, 0x58, 0xc3, 0x50,
- 0x51, 0x57, 0x06, 0xfa, 0x8c, 0xd8, 0x8e, 0xc0, 0x2b, 0xc0, 0x8d, 0xbe, 0x72, 0x01, 0xb9, 0x1a,
- 0x00, 0xf3, 0xab, 0xfb, 0x07, 0x5f, 0x59, 0x58, 0xc3, 0xfa, 0xf6, 0x06, 0x82, 0x5e, 0x80, 0x74,
- 0x4e, 0xc6, 0x86, 0x6c, 0x01, 0x00, 0xc6, 0x86, 0x6e, 0x01, 0x01, 0xfe, 0x86, 0x70, 0x01, 0x8a,
- 0x46, 0x00, 0xa2, 0x82, 0x5e, 0xc7, 0x06, 0x84, 0x5e, 0x02, 0x00, 0xc7, 0x06, 0x86, 0x5e, 0x01,
- 0x00, 0xe5, 0x06, 0x83, 0xe0, 0x09, 0xe7, 0x06, 0x8b, 0xc8, 0xb8, 0xd6, 0x13, 0xe7, 0x02, 0xb8,
- 0x4e, 0x03, 0xe7, 0x04, 0x83, 0xc9, 0x46, 0x8b, 0xc1, 0xe7, 0x06, 0x8e, 0x46, 0x02, 0x26, 0x83,
- 0x0e, 0x42, 0x00, 0x01, 0xbe, 0xd9, 0x4c, 0xe8, 0x7c, 0xb3, 0xc6, 0x86, 0x61, 0x02, 0x01, 0xfb,
- 0xc3, 0xfa, 0xf6, 0x06, 0x82, 0x5e, 0x80, 0x74, 0x49, 0xc6, 0x86, 0x6d, 0x01, 0x00, 0xc6, 0x86,
- 0x6f, 0x01, 0x01, 0xfe, 0x86, 0x71, 0x01, 0x8a, 0x46, 0x00, 0xa2, 0x82, 0x5e, 0xc7, 0x06, 0x84,
- 0x5e, 0x0e, 0x00, 0xc7, 0x06, 0x86, 0x5e, 0x02, 0x00, 0xe5, 0x06, 0x83, 0xe0, 0x09, 0xe7, 0x06,
- 0x8b, 0xc8, 0xb8, 0xf7, 0x03, 0xe7, 0x02, 0xb8, 0xd6, 0x13, 0xe7, 0x04, 0x83, 0xc9, 0x46, 0x8b,
- 0xc1, 0xe7, 0x06, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x42, 0x00, 0x01, 0xbe, 0xd9, 0x4c, 0xe8,
- 0x24, 0xb3, 0xfb, 0xc3, 0xe5, 0x06, 0x83, 0xe0, 0x09, 0xe7, 0x06, 0xc3, 0xb8, 0x9d, 0x06, 0xe7,
- 0x02, 0xc7, 0x06, 0x84, 0x5e, 0x04, 0x00, 0xc3, 0xc7, 0x06, 0x84, 0x5e, 0x06, 0x00, 0xc3, 0x90,
- 0xc7, 0x06, 0x84, 0x5e, 0x08, 0x00, 0xc3, 0x90, 0x53, 0xc7, 0x06, 0x84, 0x5e, 0x0a, 0x00, 0x33,
- 0xdb, 0x8a, 0x1e, 0x82, 0x5e, 0xd0, 0xe3, 0x8b, 0x9f, 0x48, 0x5d, 0x06, 0x8e, 0x47, 0x02, 0x26,
- 0x83, 0x26, 0x42, 0x00, 0xfe, 0x07, 0xb8, 0x9d, 0x06, 0xe7, 0x02, 0x5b, 0xc3, 0x90, 0xe5, 0x06,
- 0x83, 0xe0, 0x09, 0xe7, 0x06, 0xc7, 0x06, 0x84, 0x5e, 0x0c, 0x00, 0xc6, 0x06, 0x82, 0x5e, 0x80,
- 0xc3, 0x90, 0xe5, 0x06, 0x83, 0xe0, 0x09, 0xe7, 0x06, 0xc3, 0xb8, 0xf7, 0x03, 0xe7, 0x02, 0xc7,
- 0x06, 0x84, 0x5e, 0x10, 0x00, 0xc3, 0x53, 0xc7, 0x06, 0x84, 0x5e, 0x12, 0x00, 0x33, 0xdb, 0x8a,
- 0x1e, 0x82, 0x5e, 0xd0, 0xe3, 0x8b, 0x9f, 0x48, 0x5d, 0x06, 0x8e, 0x47, 0x02, 0x26, 0x83, 0x26,
- 0x42, 0x00, 0xfe, 0x07, 0xb8, 0x9d, 0x06, 0xe7, 0x02, 0x5b, 0xc3, 0x90, 0xe5, 0x06, 0x83, 0xe0,
- 0x09, 0xe7, 0x06, 0xc7, 0x06, 0x84, 0x5e, 0x14, 0x00, 0xc6, 0x06, 0x82, 0x5e, 0x80, 0xc3, 0x90,
- 0xe5, 0x06, 0x83, 0xe0, 0x09, 0xe7, 0x06, 0xc3, 0x4e, 0x6f, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x54,
- 0x78, 0x74, 0x30, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x34, 0x12, 0x45, 0x23,
- 0x56, 0x34, 0x00, 0x00, 0x00, 0x00, 0xcd, 0xab, 0xde, 0xbc, 0xef, 0xcd, 0x00, 0x00, 0x00, 0x00,
- 0x4e, 0x6f, 0x74, 0x49, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x00, 0x54,
- 0x69, 0x6d, 0x65, 0x72, 0x30, 0x00, 0x00, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x31, 0x00, 0x00, 0x54,
- 0x65, 0x73, 0x74, 0x31, 0x00, 0x00, 0x54, 0x65, 0x73, 0x74, 0x32, 0x00, 0x00, 0x90, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x5d,
- 0x97, 0x55, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x04, 0x09, 0x00, 0x00, 0x06, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00,
- 0xe0, 0x02, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16,
- 0x00, 0x02, 0x04, 0x01, 0x00, 0x00, 0x06, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0xe0, 0x03, 0xc0, 0x00, 0xff, 0xff,
- 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x03, 0x06, 0x0b, 0x00, 0x00,
- 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
- 0xe0, 0x04, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12,
- 0x00, 0x04, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0b, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0xe0, 0x05, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x05, 0x06, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0xe0, 0x06, 0xc0, 0x00,
- 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x06, 0x06, 0x0b,
- 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x12, 0x00, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x08, 0x02, 0x26, 0x00, 0x00,
- 0x00, 0x00, 0x14, 0x00, 0xe0, 0x08, 0xc0, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x20, 0x00, 0x08, 0x1c, 0x26, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0xe0, 0x00,
- 0xc0, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x50, 0x20,
- 0x0c, 0x23, 0x30, 0x30, 0x30, 0x30, 0xf3, 0xf0, 0xf0, 0xf8, 0xf9, 0xf6, 0x08, 0x02, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x14, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x21, 0x00, 0x00, 0x04, 0x21, 0x00, 0x00,
- 0x06, 0x2b, 0x00, 0x00, 0x00, 0x00, 0x06, 0x2c, 0x00, 0x00, 0x00, 0x00, 0x08, 0x28, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x08, 0x29, 0x20, 0x00, 0x08, 0x00, 0x01, 0x00, 0x04, 0x06, 0x00, 0x00,
- 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0xe0, 0x00, 0xc0, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0x40, 0x25, 0x06, 0x0b, 0x00, 0x00,
- 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x22, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x20, 0x00, 0xe0, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x12, 0x40, 0x26, 0x06, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0xe0, 0x00, 0xc0, 0x00, 0x00, 0x00,
- 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x60, 0x27, 0x08, 0x0a, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0xe0, 0x00, 0xc0, 0x00, 0x00, 0x00,
- 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x60, 0x28, 0x04, 0x30, 0x00, 0x00,
- 0x06, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x1e, 0x00, 0xe0, 0x00, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x10, 0x30, 0x11, 0x04, 0x0c, 0x00, 0x01, 0x04, 0x0e, 0x00, 0x02, 0x04, 0x21,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0xe0, 0x00, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x03, 0x12, 0x04, 0x0f, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x12, 0x00, 0xe0, 0x00, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x04, 0x30, 0x13, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0xe0, 0x00, 0xc0, 0x00,
- 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x03, 0x14, 0x04, 0x0d,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0xe0, 0x00, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x15, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00,
- 0xe0, 0x08, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
- 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0xe0, 0x07, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x30, 0x17, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00,
- 0xe0, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22,
- 0x60, 0x29, 0x08, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x2e, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x06, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x04, 0x2a, 0x00, 0x00, 0x02, 0x20, 0x80, 0x00, 0x00, 0x06, 0x09, 0x00, 0x00, 0x00, 0x04, 0x03,
- 0x01, 0x80, 0x00, 0x00, 0x04, 0x02, 0x80, 0x00, 0x00, 0x08, 0x0b, 0x00, 0x00, 0x00, 0x06, 0x02,
- 0x02, 0x80, 0x00, 0x00, 0x08, 0x0b, 0x00, 0x00, 0x00, 0x06, 0x01, 0x26, 0x80, 0x00, 0x00, 0xff,
- 0x06, 0x03, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x06, 0x05, 0x00, 0x00, 0x00, 0x04,
- 0x06, 0x00, 0x00, 0x00, 0x04, 0x07, 0x00, 0x00, 0x00, 0x04, 0x09, 0x00, 0x00, 0x00, 0x04, 0x04,
- 0x03, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x06, 0x05, 0x00, 0x00, 0x00, 0x04, 0x09,
- 0x00, 0x00, 0x00, 0x04, 0x03, 0x0c, 0x80, 0x00, 0x00, 0x04, 0x0e, 0x80, 0x00, 0x00, 0x04, 0x21,
- 0x00, 0x00, 0x00, 0x04, 0x01, 0x0f, 0x80, 0x00, 0x00, 0x04, 0x01, 0x0d, 0x80, 0x00, 0x00, 0x04,
- 0x04, 0x02, 0x80, 0x00, 0x00, 0x08, 0x22, 0x00, 0x00, 0x00, 0xff, 0x23, 0x00, 0x00, 0x00, 0xff,
- 0x21, 0x00, 0x00, 0x00, 0x04, 0x01, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0xa5, 0xa5, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
-
-#endif /* OLTR_NO_BULLSEYE_MAC */
diff --git a/sys/contrib/dev/oltr/trlldhm.c b/sys/contrib/dev/oltr/trlldhm.c
deleted file mode 100644
index 633eea215421..000000000000
--- a/sys/contrib/dev/oltr/trlldhm.c
+++ /dev/null
@@ -1,1899 +0,0 @@
-/*
- ****************************** trlld.h ***********************************
- *
- * Copyright (c) 1997
- * OLICOM A/S
- * Denmark
- *
- * All Rights Reserved
- *
- * This source file is subject to the terms and conditions of the
- * OLICOM Software License Agreement which restricts the manner
- * in which it may be used.
- *
- *---------------------------------------------------------------------------
- *
- * Description: Olicom Hawkeye adapter micro-code
- *
- *---------------------------------------------------------------------------
- */
-
-#include "opt_oltr.h"
-
-#ifndef OLTR_NO_HAWKEYE_MAC
-
-unsigned char TRlldHawkeyeMac[] = { 0x52, 0x94, 0x03, 0x00, 0x02, 0x75, 0xfb, 0xbb, 0x4f, 0x43, 0x53, 0x4d, 0x41, 0x43, 0x2e, 0x48,
- 0x41, 0x57, 0x4b, 0x45, 0x59, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xea, 0x55, 0x00, 0x00, 0x00, 0xfc, 0xfa, 0xb8, 0x00, 0x00, 0xbb, 0x00,
- 0x00, 0xb9, 0x00, 0x00, 0xba, 0x00, 0x00, 0xbe, 0x00, 0x00, 0xbf, 0x00, 0x00, 0xbd, 0x00, 0x00,
- 0x8c, 0xc8, 0x8e, 0xd8, 0x8e, 0xc0, 0x8e, 0xd0, 0xb8, 0x1c, 0x56, 0x8b, 0xe0, 0x83, 0x3e, 0x4e,
- 0x00, 0x00, 0x75, 0x1c, 0x2b, 0xdb, 0x8b, 0xf3, 0xad, 0x8b, 0xd8, 0x8b, 0xc8, 0xd1, 0xe9, 0x49,
- 0x49, 0xad, 0x03, 0xd8, 0xe2, 0xfb, 0x0b, 0xdb, 0x74, 0x06, 0xc7, 0x06, 0xee, 0x54, 0x01, 0x00,
- 0xc7, 0x06, 0x0c, 0x00, 0xa8, 0x01, 0x8c, 0x0e, 0x0e, 0x00, 0xc7, 0x06, 0x04, 0x00, 0xa8, 0x01,
- 0x8c, 0x0e, 0x06, 0x00, 0xc7, 0x06, 0x14, 0x00, 0xa8, 0x01, 0x8c, 0x0e, 0x14, 0x00, 0xc7, 0x06,
- 0x08, 0x00, 0xa8, 0x01, 0x8c, 0x0e, 0x08, 0x00, 0x90, 0x90, 0x90, 0xc7, 0x06, 0x20, 0x00, 0x6e,
- 0x1f, 0x8c, 0x0e, 0x22, 0x00, 0x2b, 0xc0, 0xe7, 0x06, 0xc7, 0x06, 0x30, 0x00, 0x20, 0x0e, 0x8c,
- 0x0e, 0x32, 0x00, 0xc7, 0x06, 0x34, 0x00, 0x32, 0x0f, 0x8c, 0x0e, 0x36, 0x00, 0xc7, 0x06, 0x38,
- 0x00, 0x64, 0x0f, 0x8c, 0x0e, 0x3a, 0x00, 0xc7, 0x06, 0x3c, 0x00, 0xa8, 0x01, 0x8c, 0x0e, 0x3e,
- 0x00, 0xc7, 0x06, 0x08, 0x00, 0xa8, 0x01, 0x8c, 0x0e, 0x0a, 0x00, 0xc7, 0x06, 0x14, 0x00, 0xa8,
- 0x01, 0x8c, 0x0e, 0x16, 0x00, 0xbb, 0x40, 0x60, 0x8e, 0xc3, 0x26, 0xa1, 0x02, 0x00, 0x25, 0x00,
- 0x50, 0x89, 0x86, 0x0f, 0x01, 0x26, 0x83, 0x0e, 0x72, 0x00, 0x08, 0x2b, 0xc0, 0x2b, 0xc0, 0x2b,
- 0xc0, 0x2b, 0xc0, 0x26, 0x83, 0x26, 0x72, 0x00, 0xf7, 0x2b, 0xc0, 0x2b, 0xc0, 0x2b, 0xc0, 0x2b,
- 0xc0, 0x26, 0x83, 0x0e, 0x72, 0x00, 0x08, 0x2a, 0xe4, 0xb0, 0x13, 0xe6, 0x10, 0x90, 0x90, 0x90,
- 0xb0, 0x08, 0xe6, 0x12, 0x90, 0x90, 0x90, 0xb0, 0x09, 0xe6, 0x12, 0x90, 0x90, 0x90, 0xb0, 0xff,
- 0xe6, 0x12, 0x90, 0x90, 0x90, 0x26, 0x83, 0x26, 0x72, 0x00, 0xf7, 0x8b, 0x86, 0x0f, 0x01, 0x26,
- 0xa3, 0x02, 0x00, 0x90, 0x90, 0x90, 0x33, 0xc0, 0x26, 0xc7, 0x06, 0x04, 0x00, 0xff, 0xff, 0x26,
- 0xc7, 0x06, 0x06, 0x00, 0xff, 0xff, 0x26, 0x09, 0x06, 0x08, 0x00, 0x26, 0x09, 0x06, 0x0a, 0x00,
- 0xb8, 0x00, 0x00, 0xe7, 0x06, 0xb8, 0x0f, 0x27, 0xe7, 0x00, 0xb8, 0x09, 0x00, 0xe7, 0x06, 0xb0,
- 0x11, 0xe8, 0xae, 0x0a, 0xe8, 0xeb, 0x0a, 0xfb, 0xe9, 0x94, 0x0b, 0x90, 0x50, 0xb0, 0xa0, 0xe6,
- 0x10, 0x58, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0f, 0xf0, 0xf0, 0xf0, 0xf0, 0xe7, 0xe7, 0xe7, 0x31, 0x36,
- 0x31, 0x32, 0x39, 0x38, 0x20, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x28,
- 0x63, 0x29, 0x20, 0x31, 0x39, 0x39, 0x37, 0x2c, 0x20, 0x31, 0x39, 0x39, 0x38, 0x20, 0x4f, 0x6c,
- 0x69, 0x63, 0x6f, 0x6d, 0x2e, 0x20, 0x41, 0x6c, 0x6c, 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73,
- 0x20, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0xf8, 0x1c, 0xf8, 0x1c, 0x2e, 0x32,
- 0x14, 0x35, 0x10, 0x37, 0x56, 0x38, 0x98, 0x39, 0xe0, 0x3c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c,
- 0x49, 0x3b, 0x9f, 0x3b, 0x30, 0x3c, 0xad, 0x3c, 0xb2, 0x3c, 0xb7, 0x3c, 0xf8, 0x1c, 0xf8, 0x1c,
- 0xf8, 0x1c, 0xf8, 0x1c, 0xf3, 0x34, 0xf8, 0x1c, 0xf8, 0x1c, 0xc3, 0x33, 0x1c, 0x34, 0x1c, 0x34,
- 0xb0, 0x34, 0x1c, 0x34, 0xd8, 0x34, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0x49, 0x3b, 0x9f, 0x3b,
- 0x30, 0x3c, 0xad, 0x3c, 0xb2, 0x3c, 0xb7, 0x3c, 0xf8, 0x1c, 0x2f, 0x34, 0xf8, 0x1c, 0x78, 0x34,
- 0xf8, 0x1c, 0x7f, 0x2f, 0x7f, 0x2f, 0x7f, 0x2f, 0x7f, 0x2f, 0x49, 0x30, 0x75, 0x31, 0x7f, 0x2f,
- 0x5b, 0x30, 0x07, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31,
- 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31,
- 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31, 0xc7, 0x31,
- 0xc7, 0x31, 0xb3, 0x30, 0x7f, 0x2f, 0x7f, 0x2f, 0x7f, 0x2f, 0x7f, 0x2f, 0x7f, 0x2f, 0xe6, 0x30,
- 0x7f, 0x2f, 0x7f, 0x2f, 0xf8, 0x30, 0x7f, 0x2f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0xff, 0xff, 0x04, 0x04, 0x05, 0xff, 0xff, 0xff, 0x00, 0x03, 0x00, 0x03, 0x03, 0xb7, 0x05,
- 0xff, 0xff, 0xc2, 0x05, 0xd2, 0x05, 0xd2, 0x05, 0xd2, 0x05, 0xd2, 0x05, 0x00, 0x00, 0xdd, 0x05,
- 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xe3, 0x05, 0x02, 0x06, 0x48, 0x06, 0x48, 0x06, 0x48, 0x06,
- 0x17, 0x06, 0x27, 0x06, 0x00, 0x00, 0x2d, 0x06, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xf8, 0x1c, 0x68, 0x3d, 0xde, 0x14, 0x34, 0x2f, 0x1b, 0x23, 0xac, 0x43, 0xf8, 0x1c, 0xa2, 0x3d,
- 0x2e, 0x41, 0xab, 0x3f, 0xc4, 0x3d, 0x49, 0x3f, 0xef, 0x40, 0x12, 0x3f, 0xa7, 0x40, 0xb5, 0x41,
- 0x1d, 0x42, 0xec, 0x41, 0xce, 0x40, 0x2a, 0x42, 0x4f, 0x42, 0x7a, 0x42, 0x0d, 0x42, 0x98, 0x42,
- 0x0a, 0x03, 0x30, 0x03, 0x50, 0x03, 0x7c, 0x03, 0xa2, 0x03, 0x00, 0x04, 0x66, 0x04, 0xa0, 0x04,
- 0xea, 0x04, 0xac, 0x05, 0xe4, 0x01, 0x04, 0x03, 0x2a, 0x03, 0x58, 0x03, 0x76, 0x03, 0x9c, 0x03,
- 0x60, 0x04, 0x9a, 0x04, 0xe4, 0x04, 0xa6, 0x05, 0xe0, 0x01, 0x08, 0x04, 0x6e, 0x04, 0xf4, 0x02,
- 0x1e, 0x03, 0x44, 0x03, 0x6a, 0x03, 0x90, 0x03, 0xb6, 0x03, 0xb0, 0x03, 0xce, 0x03, 0x72, 0x05,
- 0xe8, 0x03, 0x54, 0x04, 0x8e, 0x04, 0xb4, 0x04, 0xd4, 0x04, 0x8a, 0x05, 0xfe, 0x04, 0x22, 0x05,
- 0x3e, 0x05, 0x56, 0x05, 0xbe, 0x53, 0xc6, 0x53, 0xd2, 0x53, 0xda, 0x53, 0xe2, 0x53, 0x08, 0x54,
- 0x1c, 0x54, 0x24, 0x54, 0x30, 0x54, 0x56, 0x54, 0x6a, 0x54, 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5,
- 0xf6, 0xf7, 0xf8, 0xf9, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xec, 0x19, 0x50, 0x1a, 0x74, 0x1a,
- 0xe4, 0x1a, 0x06, 0x1b, 0x9e, 0x1b, 0xfc, 0x1b, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c,
- 0x20, 0x1c, 0x42, 0x1c, 0x98, 0x1c, 0xbc, 0x1c, 0xf0, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0x7c, 0x14,
- 0xa0, 0x15, 0x24, 0x16, 0x26, 0x16, 0x42, 0x16, 0x68, 0x16, 0x84, 0x16, 0x0e, 0x17, 0x8c, 0x17,
- 0x3e, 0x18, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xd6, 0x1d, 0xf8, 0x1c, 0xf8, 0x1c,
- 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c,
- 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0x7a, 0x18,
- 0xb8, 0x18, 0x2e, 0x19, 0x74, 0x19, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c,
- 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xaa, 0x55, 0x00, 0xff, 0xf6, 0x46,
- 0x01, 0x01, 0x75, 0x6a, 0xc6, 0x86, 0x0e, 0x01, 0x05, 0xe8, 0x90, 0x01, 0xe8, 0x50, 0x06, 0xe8,
- 0xfc, 0x02, 0xe8, 0x56, 0x03, 0x73, 0x3a, 0xfe, 0x8e, 0x0e, 0x01, 0x74, 0x2e, 0x26, 0x83, 0x0e,
- 0x72, 0x00, 0x08, 0x2b, 0xc0, 0x2b, 0xc0, 0x26, 0x83, 0x26, 0x72, 0x00, 0xf7, 0x2b, 0xc0, 0x2b,
- 0xc0, 0x26, 0x83, 0x0e, 0x72, 0x00, 0x08, 0x2b, 0xc0, 0x2b, 0xc0, 0x26, 0x83, 0x26, 0x72, 0x00,
- 0xf7, 0x8b, 0x86, 0x0f, 0x01, 0x26, 0xa3, 0x02, 0x00, 0xeb, 0xbe, 0xc7, 0x06, 0xee, 0x54, 0x02,
- 0x00, 0x32, 0xe4, 0x8a, 0x46, 0x00, 0xe8, 0xf6, 0x03, 0x83, 0x3e, 0x4e, 0x00, 0x02, 0x72, 0x03,
- 0xe8, 0x3a, 0x03, 0xa1, 0xee, 0x54, 0xe8, 0x36, 0x3c, 0xc6, 0x46, 0x01, 0x01, 0x90, 0xf6, 0x06,
- 0x1e, 0x56, 0x01, 0x74, 0x27, 0xf6, 0x86, 0x6c, 0x01, 0x01, 0x74, 0x03, 0xe8, 0x98, 0x4c, 0xf6,
- 0x86, 0x6d, 0x01, 0x01, 0x74, 0x03, 0xe8, 0xe6, 0x4c, 0xf7, 0x86, 0x82, 0x01, 0x01, 0x00, 0x75,
- 0x08, 0xf7, 0x86, 0x8a, 0x01, 0x01, 0x00, 0x74, 0x03, 0xe8, 0xc2, 0x49, 0xe8, 0x7b, 0x05, 0xe8,
- 0x47, 0x05, 0xe8, 0xbf, 0x04, 0xe8, 0x64, 0x04, 0xf6, 0x86, 0x90, 0x02, 0x01, 0x74, 0x03, 0xe8,
- 0xd4, 0x17, 0x33, 0xdb, 0xf6, 0x86, 0xa9, 0x02, 0x01, 0x74, 0x16, 0x8a, 0x5e, 0x09, 0x8a, 0x7e,
- 0x08, 0x38, 0xfb, 0x75, 0x30, 0x80, 0xfb, 0x00, 0x74, 0x07, 0x80, 0xfb, 0x1e, 0x74, 0x02, 0xeb,
- 0x22, 0x80, 0x7e, 0x06, 0x1e, 0x74, 0x1e, 0x33, 0xdb, 0x8a, 0x5e, 0x07, 0x3a, 0x5e, 0x06, 0x74,
- 0x14, 0xfa, 0x50, 0x8b, 0x46, 0x06, 0x89, 0x46, 0x0c, 0x58, 0x88, 0x5e, 0x06, 0x32, 0xff, 0xff,
- 0x97, 0x98, 0x05, 0xeb, 0x2d, 0x8a, 0x5e, 0x09, 0x3a, 0x5e, 0x08, 0x74, 0x25, 0x50, 0x8b, 0x46,
- 0x08, 0x89, 0x46, 0x0e, 0x58, 0x80, 0xfb, 0x1e, 0x74, 0x0d, 0x80, 0xfb, 0x00, 0x74, 0x08, 0x80,
- 0xfb, 0x16, 0x74, 0x03, 0xe8, 0xfc, 0x26, 0x88, 0x5e, 0x08, 0x32, 0xff, 0xfa, 0xff, 0x97, 0x76,
- 0x05, 0xfb, 0xfa, 0xf7, 0x86, 0xf0, 0x00, 0xff, 0xff, 0x74, 0x0f, 0x8b, 0xb6, 0xf0, 0x00, 0x8b,
- 0x4c, 0x04, 0xe8, 0x0b, 0x0a, 0xfb, 0xff, 0xd1, 0xeb, 0x5c, 0xfb, 0xf7, 0x46, 0x16, 0xff, 0xff,
- 0x74, 0x27, 0x8d, 0x7e, 0x16, 0xe8, 0x88, 0x06, 0x56, 0x8b, 0x5c, 0x02, 0xd1, 0xe3, 0xff, 0x97,
- 0xcc, 0x04, 0x5e, 0xe8, 0x8c, 0x06, 0xf7, 0x86, 0xc8, 0x01, 0x01, 0x00, 0x74, 0x09, 0xe8, 0x33,
- 0x21, 0xc7, 0x86, 0xc8, 0x01, 0x00, 0x00, 0xeb, 0x2d, 0xfa, 0xf7, 0x86, 0x0a, 0x01, 0x01, 0x00,
- 0x75, 0x13, 0xf6, 0x86, 0x6c, 0x15, 0x80, 0x75, 0x0c, 0xc7, 0x86, 0x0a, 0x01, 0x01, 0x00, 0xfb,
- 0xe8, 0xe9, 0x35, 0xeb, 0x11, 0xfa, 0x8b, 0x86, 0x63, 0x02, 0x38, 0xc4, 0x74, 0x07, 0x88, 0x86,
- 0x64, 0x02, 0xe8, 0x4c, 0x16, 0xfb, 0xe8, 0xf1, 0x05, 0xe9, 0xd2, 0xfe, 0x8e, 0x46, 0x02, 0x26,
- 0xc7, 0x06, 0x04, 0x00, 0xff, 0xcb, 0x8e, 0x46, 0x02, 0x26, 0xc7, 0x06, 0x08, 0x00, 0xff, 0xfb,
- 0xe8, 0x53, 0x02, 0x33, 0xc0, 0x88, 0x86, 0xb8, 0x01, 0x88, 0x86, 0xb9, 0x01, 0x8e, 0x46, 0x02,
- 0x26, 0xa2, 0x1a, 0x00, 0x89, 0x86, 0x14, 0x02, 0x89, 0x86, 0x06, 0x02, 0x89, 0x86, 0x36, 0x02,
- 0x8e, 0x46, 0x02, 0x26, 0xc7, 0x06, 0x0c, 0x00, 0x30, 0x01, 0x8d, 0x86, 0x52, 0x08, 0x89, 0x86,
- 0xbc, 0x01, 0x89, 0x86, 0xbe, 0x01, 0xc7, 0x86, 0xc0, 0x01, 0x01, 0x00, 0x8c, 0xd8, 0x8e, 0xc0,
- 0x33, 0xc0, 0x8d, 0xbe, 0x54, 0x02, 0xb9, 0x51, 0x00, 0xd1, 0xe9, 0xf3, 0xab, 0xd1, 0xd1, 0xf3,
- 0xaa, 0x8d, 0xbe, 0x96, 0x05, 0xab, 0xab, 0xaa, 0x8d, 0xbe, 0x9e, 0x05, 0xab, 0xab, 0xaa, 0x8d,
- 0xbe, 0xae, 0x02, 0xb9, 0x0b, 0x00, 0xf3, 0xab, 0xc7, 0x86, 0xc4, 0x01, 0x14, 0x00, 0xc7, 0x86,
- 0xb6, 0x02, 0x04, 0x00, 0xbb, 0xfc, 0x04, 0xb9, 0x0b, 0x00, 0x8b, 0x3f, 0x03, 0xfd, 0xab, 0xab,
- 0xab, 0x43, 0x43, 0xe2, 0xf5, 0xbb, 0x12, 0x05, 0xb9, 0x0a, 0x00, 0x8b, 0x3f, 0x03, 0xfd, 0xab,
- 0xab, 0x43, 0x43, 0xe2, 0xf6, 0xb8, 0x02, 0x00, 0x03, 0x06, 0xc8, 0x54, 0xe8, 0x3d, 0x05, 0x39,
- 0x06, 0xc8, 0x54, 0x75, 0xf7, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x0c, 0x00, 0x02, 0xc7, 0x86,
- 0x08, 0x02, 0xc8, 0x00, 0xc7, 0x86, 0xf8, 0x01, 0xff, 0xff, 0xc7, 0x86, 0xf6, 0x01, 0x07, 0x00,
- 0xc6, 0x86, 0x87, 0x02, 0x00, 0xe8, 0x01, 0x00, 0xc3, 0x8e, 0x46, 0x02, 0x33, 0xc0, 0x89, 0x86,
- 0xb6, 0x01, 0x8e, 0x46, 0x02, 0x26, 0xa3, 0x10, 0x00, 0x8b, 0x86, 0x52, 0x15, 0x26, 0xa3, 0x30,
- 0x00, 0x89, 0x86, 0xb2, 0x01, 0xc1, 0xe8, 0x08, 0x26, 0xa3, 0x34, 0x00, 0x8b, 0x86, 0x54, 0x15,
- 0x26, 0xa3, 0x38, 0x00, 0xc1, 0xe8, 0x08, 0x26, 0xa3, 0x36, 0x00, 0x33, 0xc0, 0xc6, 0x86, 0x83,
- 0x02, 0x01, 0x8d, 0xb6, 0x52, 0x09, 0xc7, 0x86, 0xa6, 0x01, 0x5a, 0x09, 0x01, 0xae, 0xa6, 0x01,
- 0x89, 0xb6, 0xa8, 0x01, 0x89, 0xb6, 0xaa, 0x01, 0xc7, 0x04, 0x30, 0x80, 0xc7, 0x44, 0x04, 0x00,
- 0x00, 0xc6, 0x86, 0x86, 0x02, 0x01, 0xe8, 0x01, 0x09, 0xb8, 0x00, 0x40, 0xf7, 0x86, 0xf6, 0x00,
- 0x00, 0x01, 0x74, 0x13, 0x25, 0xff, 0x1f, 0x0d, 0x00, 0xa0, 0x83, 0xe0, 0xfd, 0x8e, 0x46, 0x02,
- 0x26, 0x81, 0x0e, 0x0c, 0x00, 0x80, 0x00, 0x8e, 0x46, 0x02, 0x26, 0xa3, 0x00, 0x00, 0xa1, 0xc8,
- 0x54, 0x83, 0xc0, 0x02, 0xe8, 0x85, 0x04, 0x39, 0x06, 0xc8, 0x54, 0x75, 0xf7, 0xc3, 0x8e, 0x46,
- 0x02, 0x26, 0xc7, 0x06, 0x00, 0x00, 0x08, 0xbe, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x02, 0x00,
- 0xc8, 0x8e, 0x46, 0x02, 0x26, 0xc7, 0x06, 0x0c, 0x00, 0xa0, 0x00, 0x8e, 0x46, 0x02, 0x26, 0xc7,
- 0x06, 0x10, 0x00, 0x04, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x00, 0x00, 0x7f, 0xff, 0x90,
- 0x90, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x00, 0x00, 0x80, 0x00, 0x90, 0x90, 0x8e, 0x46, 0x02,
- 0x26, 0x81, 0x26, 0x00, 0x00, 0x7f, 0xff, 0x8e, 0x46, 0x02, 0x26, 0xc7, 0x06, 0x28, 0x00, 0x18,
- 0x00, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x0c, 0x00, 0x01, 0xc3, 0xc6, 0x86, 0x0c, 0x01, 0x01,
- 0xc6, 0x86, 0x0d, 0x01, 0x00, 0xe8, 0xda, 0x22, 0xa1, 0xc8, 0x54, 0x83, 0xc0, 0x02, 0x0b, 0xc0,
- 0x0b, 0xc0, 0x0b, 0xc0, 0x0b, 0xc0, 0x39, 0x06, 0xc8, 0x54, 0x72, 0xf2, 0x80, 0xbe, 0x0d, 0x01,
- 0x01, 0x74, 0x03, 0xf9, 0xeb, 0x01, 0xf8, 0xc6, 0x86, 0x0c, 0x01, 0x00, 0xc3, 0xb8, 0x00, 0x00,
- 0x88, 0x86, 0x06, 0x01, 0x88, 0x86, 0x07, 0x01, 0x88, 0x86, 0x08, 0x01, 0x88, 0x86, 0x09, 0x01,
- 0x89, 0x86, 0x0a, 0x01, 0x88, 0x86, 0xb8, 0x01, 0x88, 0x86, 0xb9, 0x01, 0x88, 0x86, 0xcd, 0x01,
- 0xa2, 0x1e, 0x56, 0xc3, 0x50, 0x53, 0x52, 0xc6, 0x46, 0x01, 0x00, 0x32, 0xe4, 0x8a, 0x46, 0x00,
- 0xbb, 0x00, 0xfd, 0xbb, 0x00, 0xee, 0x83, 0x3e, 0xec, 0x54, 0x20, 0x75, 0x03, 0xbb, 0x00, 0x7d,
- 0x81, 0xeb, 0x00, 0x75, 0x81, 0xe3, 0x00, 0xff, 0x89, 0x9e, 0x56, 0x15, 0x81, 0xc3, 0x00, 0x01,
- 0xf7, 0xe3, 0x05, 0x00, 0x75, 0x89, 0x86, 0x52, 0x15, 0x03, 0x86, 0x56, 0x15, 0x48, 0x89, 0x86,
- 0x54, 0x15, 0x5a, 0x5b, 0x58, 0xc3, 0x51, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x0c, 0x00, 0xfc,
- 0x8e, 0x46, 0x02, 0x26, 0xf7, 0x06, 0x14, 0x00, 0x80, 0x00, 0x75, 0x1e, 0xb9, 0xf4, 0x01, 0x8e,
- 0x46, 0x02, 0x26, 0x81, 0x0e, 0x0c, 0x00, 0x00, 0x08, 0x8e, 0x46, 0x02, 0x26, 0xf7, 0x06, 0x14,
- 0x00, 0x80, 0x00, 0x75, 0x05, 0xe8, 0x54, 0x03, 0xe2, 0xe5, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26,
- 0x0c, 0x00, 0xff, 0xf7, 0x59, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x0c, 0x00, 0x02, 0xc3, 0x50,
- 0x53, 0xc1, 0xe0, 0x05, 0x05, 0x00, 0x03, 0x8b, 0xd8, 0x8d, 0x86, 0x00, 0x01, 0x89, 0x07, 0x8d,
- 0x86, 0xd0, 0x01, 0x89, 0x47, 0x02, 0x8d, 0x86, 0xe0, 0x01, 0x89, 0x47, 0x04, 0x8d, 0x86, 0x58,
- 0x15, 0x89, 0x47, 0x08, 0x8d, 0x86, 0x6c, 0x15, 0x89, 0x47, 0x06, 0x8d, 0x86, 0xbc, 0x01, 0x89,
- 0x47, 0x0a, 0xc7, 0x47, 0x0c, 0x30, 0x56, 0x8d, 0x86, 0x3c, 0x02, 0x89, 0x47, 0x0e, 0x8d, 0x06,
- 0xc8, 0x54, 0x89, 0x47, 0x10, 0xc7, 0x47, 0x14, 0x00, 0x00, 0xc7, 0x47, 0x16, 0x00, 0x00, 0x8d,
- 0x86, 0xec, 0x15, 0x89, 0x47, 0x18, 0x5b, 0x58, 0xc3, 0x8e, 0x46, 0x02, 0x80, 0xbe, 0x2d, 0x01,
- 0x01, 0x75, 0x40, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x10, 0x00, 0xfb, 0x26, 0xa1, 0x38, 0x00,
- 0x2d, 0x00, 0x02, 0x3b, 0x86, 0x52, 0x15, 0x73, 0x0c, 0x8b, 0xd8, 0x2b, 0x9e, 0x52, 0x15, 0x8b,
- 0x86, 0x54, 0x15, 0x2b, 0xc3, 0x26, 0xa3, 0x6c, 0x00, 0x26, 0xa1, 0x12, 0x00, 0x89, 0x86, 0x32,
- 0x01, 0x26, 0xc7, 0x06, 0x12, 0x00, 0x00, 0x01, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x10, 0x00,
- 0x05, 0xeb, 0x18, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x10, 0x00, 0xfe, 0x8b, 0x86, 0x32, 0x01,
- 0x26, 0xa3, 0x12, 0x00, 0xb8, 0xff, 0xff, 0x26, 0xa3, 0x6c, 0x00, 0xc3, 0x50, 0xf7, 0x86, 0xf6,
- 0x00, 0x02, 0x00, 0x75, 0x02, 0xeb, 0x4b, 0xf6, 0x86, 0x60, 0x02, 0x01, 0x75, 0x07, 0xf6, 0x86,
- 0x6e, 0x02, 0x01, 0x74, 0x3d, 0xf6, 0x86, 0x85, 0x02, 0x01, 0x74, 0x36, 0xc6, 0x86, 0x85, 0x02,
- 0x00, 0x8b, 0x86, 0x06, 0x02, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x40, 0x74, 0x03, 0x25, 0xff, 0xaf,
- 0xf7, 0x86, 0x12, 0x01, 0x00, 0x20, 0x74, 0x03, 0x25, 0xff, 0xdf, 0x89, 0x86, 0x06, 0x02, 0x3b,
- 0x86, 0x36, 0x02, 0x74, 0x0d, 0x89, 0x86, 0x36, 0x02, 0x81, 0xa6, 0x36, 0x02, 0x7f, 0xdf, 0xe8,
- 0x42, 0x38, 0x58, 0xc3, 0x57, 0x56, 0x50, 0x8b, 0x86, 0xda, 0x02, 0xa9, 0xff, 0xff, 0x74, 0x40,
- 0x8d, 0xbe, 0xd0, 0x02, 0x8d, 0xb6, 0x96, 0x05, 0xb9, 0x0a, 0x00, 0x83, 0xf9, 0x05, 0x75, 0x04,
- 0x8d, 0xb6, 0x9e, 0x05, 0xa9, 0x01, 0x00, 0x74, 0x1e, 0x80, 0x3d, 0xff, 0x74, 0x12, 0xfe, 0x05,
- 0x80, 0x3d, 0xff, 0x75, 0x0b, 0x81, 0x8e, 0x06, 0x02, 0x80, 0x00, 0xc6, 0x86, 0x85, 0x02, 0x01,
- 0x80, 0x3c, 0xff, 0x74, 0x02, 0xfe, 0x04, 0xd1, 0xe8, 0x47, 0x46, 0xe2, 0xce, 0xe8, 0x0a, 0x00,
- 0xc7, 0x86, 0xda, 0x02, 0x00, 0x00, 0x58, 0x5e, 0x5f, 0xc3, 0xf6, 0x86, 0x56, 0x02, 0x01, 0x75,
- 0x27, 0xf6, 0x86, 0xaa, 0x02, 0x01, 0x75, 0x07, 0xf6, 0x86, 0x60, 0x02, 0x01, 0x74, 0x19, 0xc6,
- 0x86, 0x56, 0x02, 0x01, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x80, 0x75, 0x0c, 0xbe, 0x5b, 0x45, 0xe8,
- 0xb8, 0x03, 0xc7, 0x86, 0xb6, 0x02, 0x04, 0x00, 0xc3, 0xf7, 0x86, 0x58, 0x15, 0x00, 0x80, 0x75,
- 0x02, 0xeb, 0x26, 0x8b, 0xb6, 0x60, 0x01, 0x3b, 0xb6, 0x5e, 0x01, 0x74, 0x1c, 0x46, 0x83, 0xe6,
- 0x07, 0x89, 0xb6, 0x60, 0x01, 0x8b, 0xce, 0xd1, 0xe1, 0xd1, 0xe1, 0x8d, 0xb6, 0x3e, 0x01, 0x03,
- 0xf1, 0x8b, 0x04, 0x8b, 0x54, 0x02, 0xe9, 0x32, 0x38, 0xc3, 0xbb, 0x00, 0x03, 0x83, 0x7f, 0x12,
- 0x00, 0x74, 0x08, 0xe8, 0xad, 0x37, 0xc7, 0x47, 0x12, 0x00, 0x00, 0xc3, 0x53, 0x50, 0x33, 0xc0,
- 0x88, 0x86, 0xcb, 0x01, 0xa3, 0x2e, 0x56, 0xbb, 0x30, 0x56, 0x89, 0x1e, 0x26, 0x56, 0x89, 0x07,
- 0x89, 0x47, 0x02, 0x89, 0x47, 0x04, 0xa3, 0x28, 0x56, 0xa3, 0x2a, 0x56, 0xa3, 0x2c, 0x56, 0x58,
- 0x5b, 0xc3, 0x50, 0x8a, 0xe0, 0xe4, 0x12, 0xf6, 0xd4, 0x22, 0xc4, 0xe6, 0x12, 0x58, 0xc3, 0xc6,
- 0x46, 0x06, 0x00, 0xc6, 0x46, 0x07, 0x00, 0xc6, 0x46, 0x08, 0x00, 0xc6, 0x46, 0x09, 0x00, 0xc6,
- 0x86, 0x6c, 0x15, 0x80, 0x8d, 0xbe, 0x0a, 0x03, 0x8c, 0xd8, 0x8e, 0xc0, 0xab, 0xab, 0xab, 0xc3,
- 0x51, 0x53, 0xb9, 0x10, 0x00, 0xd1, 0xe0, 0xd1, 0xdb, 0xe2, 0xfa, 0x8b, 0xc3, 0x86, 0xc4, 0x5b,
- 0x59, 0xc3, 0x50, 0x53, 0x51, 0x52, 0x57, 0x56, 0x8d, 0x1e, 0x66, 0x05, 0xb8, 0x40, 0x60, 0x8e,
- 0xc0, 0xff, 0x06, 0x4e, 0x00, 0xc7, 0x06, 0xe4, 0x54, 0x00, 0x00, 0xc6, 0x06, 0xe8, 0x54, 0x00,
- 0xc7, 0x06, 0xec, 0x54, 0x20, 0x00, 0xbb, 0xfe, 0x0c, 0x8b, 0x07, 0x81, 0xc3, 0x00, 0x80, 0x3b,
- 0x07, 0x74, 0x06, 0xc7, 0x06, 0xec, 0x54, 0x40, 0x00, 0x8d, 0x3e, 0xe6, 0x54, 0xb8, 0x40, 0x5d,
- 0x89, 0x05, 0x06, 0x33, 0xc0, 0x8e, 0xc0, 0xa3, 0xc8, 0x54, 0xa3, 0xca, 0x54, 0xa3, 0xcc, 0x54,
- 0x8d, 0x3e, 0xdc, 0x54, 0xb9, 0x04, 0x00, 0xd1, 0xe9, 0xf3, 0xab, 0x8d, 0x3e, 0xe0, 0x54, 0xb9,
- 0x04, 0x00, 0xd1, 0xe9, 0xf3, 0xab, 0x07, 0x8b, 0xd4, 0xb9, 0x01, 0x00, 0xbb, 0x00, 0x00, 0xbd,
- 0x40, 0x5d, 0x88, 0x5e, 0x00, 0x8b, 0xc3, 0xd1, 0xe0, 0xd1, 0xe0, 0x05, 0x40, 0x60, 0x89, 0x46,
- 0x02, 0xe8, 0xb0, 0xfc, 0xe8, 0xe2, 0x00, 0x8b, 0xc5, 0x05, 0x4e, 0x08, 0x89, 0x86, 0x50, 0x08,
- 0x83, 0xc0, 0x02, 0x8b, 0xe0, 0x68, 0xfa, 0x05, 0x81, 0xc5, 0xec, 0x16, 0x43, 0xe2, 0xd3, 0x8b,
- 0xe2, 0x33, 0xed, 0x5e, 0x5f, 0x5a, 0x59, 0x5b, 0x58, 0xc3, 0x3e, 0x89, 0xa6, 0x50, 0x08, 0x33,
- 0xed, 0xbc, 0x1c, 0x56, 0xfa, 0x83, 0x0e, 0xe0, 0x54, 0x00, 0x74, 0x0d, 0x8b, 0x36, 0xe0, 0x54,
- 0x8b, 0x4c, 0x04, 0xe8, 0xea, 0x03, 0xfb, 0xff, 0xd1, 0xfb, 0x32, 0xff, 0x8a, 0x1e, 0xe4, 0x54,
- 0x80, 0x8f, 0xea, 0x54, 0x00, 0x75, 0x21, 0xd1, 0xe3, 0x8b, 0xaf, 0xe6, 0x54, 0x81, 0xbe, 0x4e,
- 0x06, 0xa5, 0xa5, 0x74, 0x0c, 0xd1, 0xeb, 0xc6, 0x87, 0xea, 0x54, 0x01, 0xe8, 0x21, 0x06, 0xeb,
- 0x07, 0x8b, 0x86, 0x50, 0x08, 0x8b, 0xe0, 0xc3, 0xeb, 0xb5, 0xeb, 0xae, 0x60, 0x9c, 0xe8, 0xa9,
- 0xff, 0x0e, 0xe8, 0x02, 0x00, 0xeb, 0x01, 0xcf, 0x61, 0xc3, 0x50, 0xfa, 0x8b, 0x76, 0x1a, 0xf7,
- 0xc6, 0xff, 0xff, 0x74, 0x10, 0x8b, 0x04, 0x89, 0x46, 0x1a, 0x0b, 0xc0, 0x75, 0x03, 0x89, 0x46,
- 0x1c, 0xc7, 0x04, 0x00, 0x00, 0xfb, 0x58, 0xc3, 0x53, 0xfa, 0xc7, 0x04, 0x00, 0x00, 0x8b, 0x5d,
- 0x02, 0x89, 0x37, 0x89, 0x75, 0x02, 0x83, 0x3d, 0x00, 0x75, 0x02, 0x89, 0x35, 0xfb, 0x5b, 0xc3,
- 0x50, 0xfa, 0x8b, 0x35, 0x8b, 0x04, 0x89, 0x05, 0x0b, 0xc0, 0x75, 0x03, 0x89, 0x45, 0x02, 0xfb,
- 0x58, 0xc3, 0x50, 0xfa, 0x8b, 0x46, 0x1a, 0x89, 0x04, 0x89, 0x76, 0x1a, 0xf7, 0x46, 0x1a, 0xff,
- 0xff, 0x75, 0x03, 0x89, 0x76, 0x1a, 0xfb, 0x58, 0xc3, 0x50, 0x53, 0x51, 0x8b, 0xc5, 0x83, 0xc0,
- 0x1e, 0x89, 0x46, 0x1a, 0x83, 0xc0, 0x48, 0x89, 0x46, 0x1c, 0xb9, 0x09, 0x00, 0x8b, 0xdd, 0x8b,
- 0xc5, 0x83, 0xc0, 0x26, 0x89, 0x47, 0x1e, 0x83, 0xc3, 0x08, 0x83, 0xc0, 0x08, 0xe2, 0xf5, 0x59,
- 0x5b, 0x58, 0xc3, 0x90, 0x60, 0x06, 0x1e, 0xfa, 0x33, 0xdb, 0x8e, 0xdb, 0x83, 0x06, 0xc8, 0x54,
- 0x01, 0x73, 0x04, 0x11, 0x1e, 0xca, 0x54, 0xb9, 0x01, 0x00, 0x8b, 0xaf, 0xe6, 0x54, 0xf6, 0x06,
- 0x1e, 0x56, 0x01, 0x75, 0x03, 0xe8, 0x80, 0x3e, 0xf7, 0x06, 0xc8, 0x54, 0x07, 0x00, 0x74, 0x10,
- 0x80, 0xbe, 0x2d, 0x01, 0x01, 0x75, 0x09, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x10, 0x00, 0x01,
- 0xf7, 0x86, 0xa3, 0x02, 0x01, 0x00, 0x74, 0x30, 0xfe, 0x86, 0x6b, 0x01, 0x80, 0xbe, 0x6b, 0x01,
- 0x02, 0x73, 0x02, 0xeb, 0x23, 0xc6, 0x86, 0x6b, 0x01, 0x00, 0xf7, 0x86, 0x1c, 0x01, 0x01, 0x00,
- 0x75, 0x0a, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x04, 0x00, 0x32, 0xfe, 0x81, 0xa6, 0x18, 0x01,
- 0x32, 0xfe, 0xc7, 0x86, 0xa3, 0x02, 0x00, 0x00, 0xc6, 0x86, 0x6a, 0x01, 0x00, 0x8e, 0x46, 0x02,
- 0x26, 0xa1, 0x08, 0x00, 0x25, 0x00, 0x02, 0x74, 0x03, 0xe8, 0x23, 0x12, 0xf6, 0x86, 0x54, 0x02,
- 0x01, 0x74, 0x03, 0xe8, 0x36, 0x3e, 0x8b, 0x86, 0xf6, 0x00, 0x25, 0xd0, 0xe5, 0x89, 0x86, 0x2c,
- 0x02, 0x8a, 0x46, 0x08, 0x3c, 0x06, 0x74, 0x08, 0x3c, 0x0a, 0x74, 0x04, 0x3c, 0x18, 0x75, 0x04,
- 0xff, 0x86, 0x46, 0x02, 0x83, 0xc3, 0x02, 0x49, 0x74, 0x03, 0xe9, 0x5d, 0xff, 0xf7, 0x06, 0xdc,
- 0x54, 0xff, 0xff, 0x74, 0x1f, 0xff, 0x0e, 0xcc, 0x54, 0x75, 0x19, 0xe8, 0x14, 0x02, 0x8b, 0x1e,
- 0xdc, 0x54, 0x0b, 0xdb, 0x74, 0x0e, 0x8b, 0x47, 0x08, 0xa3, 0xcc, 0x54, 0xf7, 0x06, 0xcc, 0x54,
- 0xff, 0xff, 0x74, 0xe7, 0x50, 0xb0, 0xa0, 0xe6, 0x10, 0x58, 0x1f, 0x07, 0x61, 0xcf, 0x60, 0x06,
- 0x1e, 0xfa, 0x8d, 0x36, 0xd0, 0x54, 0x83, 0x04, 0x01, 0x83, 0x54, 0x02, 0x00, 0xe8, 0xae, 0x41,
- 0xa0, 0xce, 0x54, 0xfe, 0xc0, 0x3c, 0x04, 0x72, 0x08, 0xc6, 0x06, 0xce, 0x54, 0x00, 0xe9, 0xf7,
- 0xfe, 0xa2, 0xce, 0x54, 0xeb, 0xce, 0x50, 0x57, 0x56, 0xfa, 0x8d, 0x36, 0xd4, 0x54, 0x83, 0x04,
- 0x01, 0x83, 0x54, 0x02, 0x00, 0x80, 0x3e, 0x1e, 0x56, 0x01, 0x75, 0x0d, 0x8b, 0x36, 0x20, 0x56,
- 0x83, 0xfe, 0x14, 0x77, 0x0e, 0xff, 0x94, 0x50, 0x05, 0x50, 0xb0, 0xa0, 0xe6, 0x10, 0x58, 0x5e,
- 0x5f, 0x58, 0xcf, 0xe8, 0x5c, 0x44, 0xeb, 0xf1, 0x57, 0x56, 0x50, 0xfa, 0x8d, 0x36, 0xd8, 0x54,
- 0x83, 0x04, 0x01, 0x83, 0x54, 0x02, 0x00, 0x80, 0x3e, 0x1e, 0x56, 0x01, 0x75, 0x0d, 0x8b, 0x36,
- 0x20, 0x56, 0x83, 0xfe, 0x14, 0x77, 0x0e, 0xff, 0x94, 0x50, 0x05, 0x50, 0xb0, 0xa0, 0xe6, 0x10,
- 0x58, 0x58, 0x5e, 0x5f, 0xcf, 0xe8, 0x2a, 0x44, 0xeb, 0xf1, 0x50, 0x53, 0x51, 0x57, 0xe8, 0xab,
- 0x00, 0xfa, 0x8b, 0x3c, 0x03, 0xfd, 0x89, 0x6d, 0x02, 0x8b, 0x44, 0x02, 0x89, 0x45, 0x04, 0x8b,
- 0x44, 0x04, 0x89, 0x45, 0x06, 0x0b, 0xc0, 0x75, 0x0e, 0x8b, 0x86, 0x08, 0x02, 0x0b, 0xc0, 0x75,
- 0x03, 0xb8, 0xc8, 0x00, 0x89, 0x45, 0x06, 0xf7, 0x06, 0xdc, 0x54, 0xff, 0xff, 0x75, 0x14, 0x89,
- 0x3e, 0xdc, 0x54, 0x89, 0x3e, 0xde, 0x54, 0xc7, 0x05, 0x00, 0x00, 0x89, 0x45, 0x08, 0xa3, 0xcc,
- 0x54, 0xeb, 0x63, 0x8b, 0x3e, 0xdc, 0x54, 0x8b, 0x0e, 0xcc, 0x54, 0x33, 0xdb, 0x3b, 0xc8, 0x72,
- 0x35, 0x0b, 0xdb, 0x75, 0x17, 0x2b, 0xc8, 0x89, 0x4d, 0x08, 0x8b, 0x34, 0x03, 0xf5, 0x89, 0x44,
- 0x08, 0x89, 0x3c, 0x89, 0x36, 0xdc, 0x54, 0xa3, 0xcc, 0x54, 0xeb, 0x3a, 0x2b, 0x4d, 0x08, 0x2b,
- 0xc1, 0x8b, 0x34, 0x03, 0xf5, 0x89, 0x44, 0x08, 0x8b, 0x4d, 0x08, 0x2b, 0xc8, 0x89, 0x4d, 0x08,
- 0x89, 0x37, 0x89, 0x3c, 0xeb, 0x20, 0x8b, 0xdf, 0x8b, 0x3d, 0x0b, 0xff, 0x74, 0x05, 0x03, 0x4d,
- 0x08, 0xeb, 0xba, 0x2b, 0xc1, 0x8b, 0x34, 0x03, 0xf5, 0x89, 0x44, 0x08, 0x89, 0x37, 0xc7, 0x04,
- 0x00, 0x00, 0x89, 0x36, 0xde, 0x54, 0xfb, 0x5f, 0x59, 0x5b, 0x58, 0xc3, 0x57, 0x53, 0x50, 0x56,
- 0xfa, 0x8b, 0x1e, 0xdc, 0x54, 0x33, 0xff, 0x8b, 0x34, 0x03, 0xf5, 0x83, 0x7c, 0x02, 0xff, 0x74,
- 0x4b, 0x3b, 0xde, 0x75, 0x49, 0x0b, 0xff, 0x74, 0x18, 0x8b, 0x07, 0x89, 0x05, 0x0b, 0xc0, 0x75,
- 0x06, 0x89, 0x3e, 0xde, 0x54, 0xeb, 0x2c, 0x8b, 0x4f, 0x08, 0x8b, 0xf8, 0x01, 0x4d, 0x08, 0xeb,
- 0x22, 0x8b, 0x3f, 0x89, 0x3e, 0xdc, 0x54, 0x0b, 0xff, 0x75, 0x0c, 0x89, 0x3e, 0xde, 0x54, 0xc7,
- 0x06, 0xcc, 0x54, 0xff, 0xff, 0xeb, 0x0c, 0xa1, 0xcc, 0x54, 0x01, 0x45, 0x08, 0x8b, 0x45, 0x08,
- 0xa3, 0xcc, 0x54, 0xc7, 0x47, 0x02, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0xeb, 0x4e, 0x83, 0xcb,
- 0x00, 0x74, 0x06, 0x8b, 0xfb, 0x8b, 0x1f, 0xeb, 0xa8, 0x83, 0xfd, 0x00, 0x75, 0x05, 0xbb, 0xe0,
- 0x54, 0xeb, 0x04, 0x8d, 0x9e, 0xf0, 0x00, 0x8b, 0x1f, 0x83, 0xfb, 0x00, 0x74, 0x2e, 0x3b, 0xde,
- 0x75, 0x05, 0xe8, 0x6b, 0x00, 0xeb, 0x25, 0x8b, 0xfb, 0x8b, 0x1f, 0x83, 0xcb, 0x00, 0x74, 0x1c,
- 0x3b, 0xde, 0x75, 0xf3, 0x8b, 0x07, 0x89, 0x05, 0x83, 0xc8, 0x00, 0x75, 0x04, 0x89, 0xbe, 0xf2,
- 0x00, 0xc7, 0x07, 0x00, 0x00, 0xc7, 0x47, 0x02, 0xff, 0xff, 0xeb, 0x00, 0xfb, 0x5e, 0x58, 0x5b,
- 0x5f, 0xc3, 0x50, 0x53, 0x56, 0x55, 0x8b, 0x1e, 0xdc, 0x54, 0x8b, 0x6f, 0x02, 0x0b, 0xed, 0x74,
- 0x06, 0x81, 0xc5, 0xf0, 0x00, 0xeb, 0x03, 0xbd, 0xe0, 0x54, 0x8b, 0x76, 0x02, 0x8b, 0x07, 0xa3,
- 0xdc, 0x54, 0x0b, 0xc0, 0x75, 0x03, 0xa3, 0xde, 0x54, 0x89, 0x5e, 0x02, 0x89, 0x1c, 0xc7, 0x07,
- 0x00, 0x00, 0x83, 0x4e, 0x00, 0x00, 0x75, 0x03, 0x89, 0x5e, 0x00, 0x5d, 0x5e, 0x5b, 0x58, 0xc3,
- 0x55, 0x53, 0x50, 0x0b, 0xed, 0x74, 0x06, 0x81, 0xc5, 0xf0, 0x00, 0xeb, 0x03, 0xbd, 0xe0, 0x54,
- 0x8b, 0x5e, 0x00, 0xc7, 0x47, 0x02, 0xff, 0xff, 0x8b, 0x07, 0xc7, 0x07, 0x00, 0x00, 0x8b, 0xd8,
- 0x89, 0x5e, 0x00, 0x0b, 0xdb, 0x75, 0x03, 0x89, 0x5e, 0x02, 0x58, 0x5b, 0x5d, 0xc3, 0x50, 0x53,
- 0x51, 0x57, 0x56, 0xfa, 0x8b, 0x1e, 0xdc, 0x54, 0x33, 0xff, 0x83, 0xcb, 0x00, 0x74, 0x54, 0x8b,
- 0xc3, 0x39, 0x6f, 0x02, 0x75, 0x47, 0x0b, 0xff, 0x74, 0x18, 0x8b, 0x37, 0x89, 0x35, 0x8b, 0xc7,
- 0x0b, 0xf6, 0x75, 0x06, 0x89, 0x3e, 0xde, 0x54, 0xeb, 0x2c, 0x8b, 0x4f, 0x08, 0x01, 0x4c, 0x08,
- 0xeb, 0x24, 0x8b, 0x37, 0x89, 0x36, 0xdc, 0x54, 0x0b, 0xf6, 0x75, 0x0c, 0x89, 0x36, 0xde, 0x54,
- 0xc7, 0x06, 0xcc, 0x54, 0xff, 0xff, 0xeb, 0x0e, 0xa1, 0xcc, 0x54, 0x01, 0x44, 0x08, 0x8b, 0x44,
- 0x08, 0xa3, 0xcc, 0x54, 0x33, 0xc0, 0xc7, 0x47, 0x02, 0xff, 0xff, 0xeb, 0x00, 0x8b, 0xf8, 0x8b,
- 0x1f, 0xeb, 0xa7, 0xfb, 0x5e, 0x5f, 0x59, 0x5b, 0x58, 0xc3, 0x50, 0x53, 0x51, 0x52, 0x8a, 0x8e,
- 0xa8, 0x02, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x00, 0x00, 0x8b, 0xd8, 0xf7, 0x86, 0xf6, 0x00, 0x00,
- 0x01, 0x74, 0x10, 0x83, 0xe0, 0xfd, 0xc6, 0x86, 0x79, 0x02, 0x01, 0x25, 0xff, 0x1f, 0x0d, 0x00,
- 0x80, 0xeb, 0x0e, 0x25, 0xff, 0x1f, 0x0d, 0x00, 0x20, 0x83, 0xc8, 0x02, 0xc6, 0x86, 0x79, 0x02,
- 0x00, 0xe8, 0x5c, 0x02, 0x0d, 0x00, 0x08, 0xf6, 0x86, 0xaa, 0x02, 0x01, 0x75, 0x03, 0x25, 0xff,
- 0xf7, 0x33, 0xd8, 0x74, 0x04, 0x26, 0xa3, 0x00, 0x00, 0x26, 0xa1, 0x0c, 0x00, 0x8b, 0xd8, 0xf7,
- 0x86, 0x12, 0x01, 0x10, 0x00, 0x74, 0x05, 0x0d, 0x00, 0x10, 0xeb, 0x03, 0x25, 0xff, 0xef, 0x8a,
- 0xae, 0x69, 0x02, 0x80, 0xf9, 0x01, 0x75, 0x04, 0x8a, 0xae, 0x6a, 0x02, 0xf6, 0xc5, 0x01, 0x74,
- 0x05, 0x83, 0xc8, 0x10, 0xeb, 0x03, 0x83, 0xe0, 0xef, 0xf6, 0x86, 0x6b, 0x02, 0x01, 0x74, 0x0a,
- 0x83, 0xc8, 0x20, 0xc6, 0x86, 0x7a, 0x02, 0x00, 0xeb, 0x08, 0x83, 0xe0, 0xdf, 0xc6, 0x86, 0x7a,
- 0x02, 0x01, 0xf6, 0x86, 0x54, 0x02, 0x01, 0x74, 0x0a, 0xc6, 0x86, 0x7a, 0x02, 0x00, 0x83, 0xc8,
- 0x40, 0xeb, 0x03, 0x83, 0xe0, 0xbf, 0xf6, 0x86, 0x79, 0x02, 0x01, 0x74, 0x05, 0x0d, 0x80, 0x00,
- 0xeb, 0x03, 0x25, 0x7f, 0xff, 0xf6, 0x86, 0x78, 0x02, 0x01, 0x74, 0x05, 0x0d, 0x00, 0x01, 0xeb,
- 0x03, 0x25, 0xff, 0xfe, 0xf6, 0x86, 0x7a, 0x02, 0x01, 0x74, 0x05, 0x0d, 0x00, 0x20, 0xeb, 0x03,
- 0x25, 0xff, 0xdf, 0x33, 0xd8, 0x74, 0x12, 0xf7, 0xc3, 0x20, 0x00, 0x74, 0x05, 0xc6, 0x06, 0xfd,
- 0x12, 0x01, 0x25, 0xff, 0xf7, 0x26, 0xa3, 0x0c, 0x00, 0x26, 0xa1, 0x10, 0x00, 0x8b, 0xd8, 0x33,
- 0xd8, 0x74, 0x04, 0x26, 0xa3, 0x10, 0x00, 0xf6, 0x06, 0xfd, 0x12, 0x01, 0x74, 0x1e, 0xc6, 0x06,
- 0xfd, 0x12, 0x00, 0x26, 0x81, 0x26, 0x00, 0x00, 0x7f, 0xff, 0x90, 0x90, 0x26, 0x81, 0x0e, 0x00,
- 0x00, 0x80, 0x00, 0x90, 0x90, 0x26, 0x81, 0x26, 0x00, 0x00, 0x7f, 0xff, 0x5a, 0x59, 0x5b, 0x58,
- 0xc3, 0x00, 0x8e, 0x46, 0x02, 0xf7, 0x86, 0xf4, 0x00, 0x04, 0x00, 0x74, 0x0b, 0xc6, 0x06, 0x1e,
- 0x56, 0x01, 0x26, 0x83, 0x0e, 0x02, 0x00, 0x02, 0xc6, 0x86, 0xab, 0x02, 0x00, 0xc6, 0x86, 0xac,
- 0x02, 0x00, 0x81, 0xa6, 0xf6, 0x00, 0xff, 0xfb, 0xa8, 0x01, 0x74, 0x19, 0x81, 0x8e, 0xf6, 0x00,
- 0x00, 0x04, 0x26, 0x83, 0x0e, 0x02, 0x00, 0x20, 0x26, 0x83, 0x26, 0x02, 0x00, 0xef, 0xc6, 0x86,
- 0xac, 0x02, 0x01, 0xeb, 0x4d, 0xa8, 0x02, 0x74, 0x1f, 0x26, 0x83, 0x26, 0x02, 0x00, 0xcf, 0xf7,
- 0x86, 0xf4, 0x00, 0x04, 0x00, 0x75, 0x0d, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x84, 0x75, 0x05, 0xc6,
- 0x86, 0xab, 0x02, 0x01, 0xb0, 0x02, 0xeb, 0x2a, 0xa8, 0x04, 0x74, 0x0e, 0x26, 0x83, 0x0e, 0x02,
- 0x00, 0x20, 0x26, 0x83, 0x26, 0x02, 0x00, 0xef, 0xeb, 0x18, 0xa8, 0x08, 0x74, 0x08, 0x26, 0x83,
- 0x0e, 0x02, 0x00, 0x30, 0xeb, 0x0c, 0xa8, 0x10, 0x74, 0x08, 0x26, 0x83, 0x0e, 0x02, 0x00, 0x30,
- 0xeb, 0x00, 0xf6, 0x06, 0x1e, 0x56, 0x01, 0x74, 0x06, 0x26, 0x83, 0x26, 0x02, 0x00, 0xcf, 0xc3,
- 0xc3, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x0c, 0x00, 0x00, 0x01, 0x90, 0x90, 0x8e, 0x46, 0x02,
- 0x26, 0x81, 0x26, 0x0c, 0x00, 0xff, 0xfe, 0xc3, 0x8e, 0x46, 0x02, 0xf6, 0x06, 0x1e, 0x56, 0x01,
- 0x75, 0x0f, 0x80, 0xbe, 0xab, 0x02, 0x01, 0x75, 0x10, 0x26, 0x83, 0x0e, 0x02, 0x00, 0x02, 0xeb,
- 0x08, 0xc6, 0x86, 0x6c, 0x01, 0x01, 0xe8, 0x3e, 0x3f, 0xc3, 0x8e, 0x46, 0x02, 0xf7, 0x86, 0xf4,
- 0x00, 0x02, 0x00, 0x74, 0x09, 0x26, 0x81, 0x26, 0x02, 0x00, 0xff, 0xef, 0xeb, 0x07, 0x26, 0x81,
- 0x0e, 0x02, 0x00, 0x00, 0x10, 0xc3, 0x8e, 0x46, 0x02, 0xf7, 0x86, 0xf4, 0x00, 0x02, 0x00, 0x74,
- 0x09, 0x26, 0x81, 0x0e, 0x02, 0x00, 0x00, 0x10, 0xeb, 0x07, 0x26, 0x81, 0x26, 0x02, 0x00, 0xff,
- 0xef, 0xc3, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x02, 0x00, 0x00, 0x80, 0xc3, 0x8e, 0x46, 0x02,
- 0x26, 0x81, 0x26, 0x02, 0x00, 0xff, 0x7f, 0xc3, 0xf7, 0x86, 0xf4, 0x00, 0x08, 0x00, 0x74, 0x13,
- 0xe8, 0xdf, 0xff, 0xeb, 0x3a, 0x80, 0x7e, 0x06, 0x0e, 0x74, 0x1e, 0x80, 0x7e, 0x06, 0x48, 0x74,
- 0x24, 0xeb, 0x2c, 0xe8, 0xd7, 0xff, 0x8e, 0x46, 0x02, 0xf7, 0x86, 0xf4, 0x00, 0x10, 0x00, 0x75,
- 0xe4, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x01, 0x75, 0x0c, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x02,
- 0x00, 0x00, 0x40, 0xeb, 0x0a, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x02, 0x00, 0xff, 0xbf, 0xc3,
- 0x83, 0xe0, 0xf7, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x04, 0x74, 0x03, 0x83, 0xc8, 0x08, 0xc3, 0x90,
- 0xe8, 0x19, 0xf3, 0xc6, 0x86, 0x69, 0x02, 0x01, 0xc6, 0x86, 0x6b, 0x02, 0x01, 0x8e, 0x46, 0x02,
- 0x26, 0x83, 0x26, 0x0c, 0x00, 0xfe, 0xc6, 0x86, 0x78, 0x02, 0x00, 0xe8, 0x3c, 0xfd, 0x8e, 0x46,
- 0x02, 0x26, 0xc7, 0x06, 0x10, 0x00, 0x04, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x10, 0x00,
- 0x04, 0x33, 0xc0, 0x88, 0x86, 0x88, 0x02, 0x88, 0x86, 0x89, 0x02, 0xc6, 0x86, 0x63, 0x01, 0x01,
- 0xc7, 0x86, 0x64, 0x01, 0xf6, 0x05, 0xc6, 0x86, 0x69, 0x01, 0x02, 0xbe, 0xbb, 0x45, 0xe8, 0xc9,
- 0xfa, 0xbe, 0xb5, 0x45, 0xe8, 0xc3, 0xfa, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x04, 0x00, 0x32,
- 0xfe, 0xc3, 0xc6, 0x86, 0x63, 0x01, 0x00, 0x80, 0xbe, 0x62, 0x01, 0x01, 0x75, 0x0d, 0xe8, 0xab,
- 0xf2, 0xe8, 0x53, 0x2c, 0xc6, 0x46, 0x07, 0x00, 0xe9, 0xa7, 0x00, 0xbe, 0x6d, 0x45, 0xe8, 0x4b,
- 0xfb, 0xbe, 0xb5, 0x45, 0xe8, 0x45, 0xfb, 0xc6, 0x86, 0x88, 0x02, 0x01, 0x80, 0x7e, 0x06, 0x02,
- 0x74, 0x08, 0x80, 0x7e, 0x06, 0x44, 0x74, 0x09, 0xeb, 0x0d, 0xc6, 0x46, 0x07, 0x04, 0xe9, 0x81,
- 0x00, 0xc6, 0x46, 0x07, 0x46, 0xeb, 0x7b, 0x80, 0x7e, 0x08, 0x08, 0x75, 0xf8, 0xc6, 0x86, 0x81,
- 0x02, 0x01, 0xc6, 0x86, 0x69, 0x02, 0x00, 0xc6, 0x86, 0x5d, 0x02, 0x00, 0xc6, 0x86, 0x5c, 0x02,
- 0x00, 0xc6, 0x86, 0x5f, 0x02, 0x01, 0xc6, 0x86, 0x68, 0x02, 0x01, 0xc6, 0x86, 0x6c, 0x02, 0x01,
- 0xf6, 0x86, 0x58, 0x02, 0x01, 0x74, 0x17, 0x80, 0xbe, 0xa6, 0x02, 0x01, 0x74, 0x2c, 0xc6, 0x46,
- 0x09, 0x0a, 0xc6, 0x86, 0x6b, 0x02, 0x00, 0xc6, 0x86, 0x59, 0x02, 0x01, 0xeb, 0x1c, 0xf6, 0x86,
- 0x59, 0x02, 0x01, 0x74, 0x15, 0x80, 0xbe, 0xa6, 0x02, 0x01, 0x74, 0x0e, 0xc6, 0x46, 0x09, 0x06,
- 0xc6, 0x86, 0x58, 0x02, 0x01, 0xc6, 0x86, 0x6b, 0x02, 0x01, 0xe8, 0x4d, 0xfc, 0xe8, 0x28, 0xfe,
- 0xbe, 0x9d, 0x45, 0xe8, 0x04, 0xfa, 0xbe, 0x61, 0x45, 0xe8, 0xfe, 0xf9, 0xbe, 0xa3, 0x45, 0xe8,
- 0xf8, 0xf9, 0xc3, 0x90, 0xc6, 0x46, 0x09, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x04, 0x00,
- 0x32, 0xfe, 0xbe, 0xc1, 0x45, 0xe8, 0xe2, 0xf9, 0xc7, 0x86, 0xc4, 0x01, 0x14, 0x00, 0xc7, 0x86,
- 0xc2, 0x02, 0x00, 0x00, 0xbe, 0xa9, 0x45, 0xe8, 0xd0, 0xf9, 0xc6, 0x86, 0x69, 0x02, 0x00, 0xc6,
- 0x86, 0x6b, 0x02, 0x00, 0xc6, 0x86, 0x68, 0x02, 0x01, 0xc6, 0x86, 0x6c, 0x02, 0x01, 0xe8, 0xf9,
- 0xfb, 0xbe, 0x67, 0x45, 0xe8, 0xb3, 0xf9, 0xbe, 0x9d, 0x45, 0xe8, 0xad, 0xf9, 0x33, 0xc0, 0x89,
- 0x86, 0xee, 0x01, 0x89, 0x86, 0xf0, 0x01, 0x89, 0x86, 0xf2, 0x01, 0xf6, 0x06, 0x1e, 0x56, 0x01,
- 0x74, 0x0a, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x04, 0x00, 0xff, 0xf7, 0xf7, 0x86, 0xf6, 0x00,
- 0x00, 0x20, 0x74, 0x10, 0xbe, 0xa3, 0x45, 0xe8, 0x80, 0xf9, 0xc6, 0x86, 0x5d, 0x02, 0x00, 0xc6,
- 0x86, 0x5c, 0x02, 0x00, 0xe8, 0x91, 0xfd, 0xc3, 0xc3, 0x90, 0xc6, 0x86, 0x57, 0x02, 0x01, 0xc7,
- 0x86, 0xc4, 0x02, 0x00, 0x00, 0xc7, 0x86, 0xc6, 0x02, 0x00, 0x00, 0xbe, 0x67, 0x45, 0xe8, 0x59,
- 0xf9, 0xe8, 0xc0, 0x12, 0xc3, 0x90, 0xc6, 0x86, 0x5b, 0x02, 0x01, 0xf6, 0x86, 0x84, 0x02, 0x01,
- 0x74, 0x08, 0xe8, 0xb1, 0x14, 0xc6, 0x86, 0x84, 0x02, 0x00, 0xbe, 0x67, 0x45, 0xe8, 0x3a, 0xf9,
- 0xf6, 0x86, 0x63, 0x02, 0x01, 0x74, 0x04, 0xc6, 0x46, 0x07, 0x0c, 0xc3, 0xbe, 0x67, 0x45, 0xe8,
- 0x28, 0xf9, 0xbe, 0x85, 0x45, 0xe8, 0x22, 0xf9, 0xc7, 0x86, 0xb8, 0x02, 0x01, 0x00, 0xc7, 0x86,
- 0xba, 0x02, 0x01, 0x00, 0xe8, 0xf7, 0x12, 0xc3, 0xc7, 0x86, 0xc2, 0x02, 0x00, 0x00, 0xc7, 0x86,
- 0xc4, 0x01, 0x14, 0x00, 0xc6, 0x86, 0x08, 0x01, 0x00, 0x81, 0xa6, 0x06, 0x02, 0xdf, 0xbf, 0xc6,
- 0x86, 0x60, 0x02, 0x01, 0xc7, 0x86, 0x26, 0x02, 0xff, 0xff, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x20,
- 0x75, 0x18, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x84, 0x75, 0x10, 0xbe, 0xa3, 0x45, 0xe8, 0xda, 0xf8,
- 0xc6, 0x86, 0x5d, 0x02, 0x00, 0xc6, 0x86, 0x5c, 0x02, 0x00, 0xbe, 0x67, 0x45, 0xe8, 0x7c, 0xf9,
- 0xb8, 0x00, 0x80, 0xe8, 0xd2, 0x2b, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x0c, 0x00, 0x01, 0xe8,
- 0x46, 0xfd, 0xe8, 0xf5, 0xfc, 0xc6, 0x86, 0x5e, 0x02, 0x01, 0xc6, 0x86, 0xca, 0x01, 0x00, 0xf7,
- 0x86, 0xf6, 0x00, 0x04, 0x00, 0x74, 0x05, 0xc6, 0x86, 0xca, 0x01, 0x01, 0xe8, 0xaa, 0xf3, 0xf6,
- 0x86, 0x54, 0x02, 0x01, 0x75, 0x06, 0xbe, 0x73, 0x45, 0xe8, 0x8e, 0xf8, 0xff, 0x86, 0xfc, 0x00,
- 0xc3, 0x90, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x10, 0x00, 0xfb, 0xc6, 0x86, 0x08, 0x01, 0x00,
- 0xc6, 0x46, 0x09, 0x00, 0xc6, 0x46, 0x0b, 0x00, 0xc6, 0x86, 0x54, 0x02, 0x00, 0xc6, 0x86, 0x68,
- 0x02, 0x00, 0xc6, 0x86, 0x5e, 0x02, 0x00, 0xc6, 0x86, 0x60, 0x02, 0x00, 0xc6, 0x86, 0x5b, 0x02,
- 0x00, 0xc6, 0x86, 0x63, 0x02, 0x00, 0xc6, 0x86, 0x6b, 0x02, 0x00, 0xc6, 0x86, 0x69, 0x02, 0x00,
- 0xc6, 0x86, 0x6a, 0x02, 0x00, 0xe8, 0x82, 0xfa, 0xf6, 0x86, 0x6c, 0x02, 0x01, 0x74, 0x0c, 0x83,
- 0xbe, 0x22, 0x01, 0x0e, 0x75, 0x28, 0xe8, 0x50, 0x06, 0xeb, 0x23, 0x8e, 0x46, 0x02, 0xf6, 0x06,
- 0x1e, 0x56, 0x01, 0x75, 0x08, 0x26, 0x83, 0x26, 0x02, 0x00, 0xfd, 0xeb, 0x08, 0xc6, 0x86, 0x6d,
- 0x01, 0x01, 0xe8, 0xea, 0x3b, 0xe8, 0xe6, 0xf9, 0xbe, 0x7f, 0x45, 0xe8, 0x0c, 0xf8, 0xc3, 0x90,
- 0xc7, 0x86, 0x2e, 0x02, 0x02, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x10, 0x00, 0xfb, 0x8e,
- 0x46, 0x02, 0xf6, 0x06, 0x1e, 0x56, 0x01, 0x75, 0x08, 0x26, 0x83, 0x26, 0x02, 0x00, 0xfd, 0xeb,
- 0x08, 0xc6, 0x86, 0x6d, 0x01, 0x01, 0xe8, 0xb6, 0x3b, 0xc6, 0x86, 0x08, 0x01, 0x00, 0xc7, 0x86,
- 0x22, 0x01, 0x00, 0x00, 0xe8, 0x2f, 0xfc, 0xe8, 0x53, 0xfc, 0xf7, 0x86, 0xf4, 0x00, 0x10, 0x00,
- 0x74, 0x14, 0xf7, 0x86, 0xf4, 0x00, 0x02, 0x00, 0x74, 0x0c, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e,
- 0x02, 0x00, 0x00, 0x40, 0xeb, 0x0a, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x02, 0x00, 0xff, 0xbf,
- 0xe8, 0xa9, 0xef, 0xe8, 0x50, 0x2b, 0xc6, 0x86, 0xad, 0x02, 0x00, 0x8d, 0xbe, 0x0a, 0x03, 0x8c,
- 0xd8, 0x8e, 0xc0, 0xab, 0xab, 0xab, 0xf6, 0x86, 0xa6, 0x02, 0x01, 0x74, 0x04, 0xc6, 0x46, 0x09,
- 0x1e, 0x8e, 0x46, 0x02, 0x26, 0xc7, 0x06, 0x04, 0x00, 0xff, 0xfb, 0xf7, 0x86, 0x12, 0x01, 0x00,
- 0x02, 0x74, 0x10, 0xf7, 0x86, 0x20, 0x01, 0x80, 0x00, 0x75, 0x08, 0xbe, 0x0f, 0x46, 0xe8, 0x69,
- 0xf7, 0xeb, 0x0d, 0x8e, 0x46, 0x02, 0x33, 0xc0, 0x26, 0xa3, 0x24, 0x00, 0x26, 0xa3, 0x26, 0x00,
- 0xc3, 0x90, 0x33, 0xc0, 0x88, 0x86, 0x5b, 0x02, 0x88, 0x86, 0x5e, 0x02, 0x88, 0x86, 0x60, 0x02,
- 0x88, 0x86, 0x63, 0x02, 0x88, 0x86, 0x68, 0x02, 0xbe, 0xaf, 0x45, 0xe8, 0x3c, 0xf7, 0xc6, 0x86,
- 0xad, 0x02, 0x01, 0x8e, 0x46, 0x02, 0xf6, 0x06, 0x1e, 0x56, 0x01, 0x75, 0x08, 0x26, 0x83, 0x26,
- 0x02, 0x00, 0xfd, 0xeb, 0x08, 0xc6, 0x86, 0x6d, 0x01, 0x01, 0xe8, 0xf2, 0x3a, 0xc3, 0xc7, 0x86,
- 0x2e, 0x02, 0x03, 0x00, 0xe8, 0x15, 0xef, 0xc6, 0x86, 0x69, 0x02, 0x01, 0xc6, 0x86, 0x6b, 0x02,
- 0x01, 0xe8, 0x46, 0xf9, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x00, 0x00, 0x00, 0x1e, 0x8e, 0x46,
- 0x02, 0x26, 0x83, 0x0e, 0x10, 0x00, 0x04, 0xbe, 0xcd, 0x45, 0xe8, 0xed, 0xf6, 0x8e, 0x46, 0x02,
- 0x26, 0x81, 0x26, 0x04, 0x00, 0x32, 0xfe, 0xe8, 0x49, 0x05, 0xc3, 0x90, 0xc7, 0x86, 0x2e, 0x02,
- 0x04, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x0c, 0x00, 0xfe, 0xc6, 0x86, 0x6b, 0x02, 0x01,
- 0xc6, 0x86, 0x69, 0x02, 0x00, 0xc6, 0x86, 0x78, 0x02, 0x00, 0xe8, 0xfd, 0xf8, 0x8e, 0x46, 0x02,
- 0x26, 0xc7, 0x06, 0x10, 0x00, 0x04, 0x00, 0x32, 0xc0, 0xe8, 0x42, 0x15, 0x33, 0xc0, 0x88, 0x86,
- 0x88, 0x02, 0x88, 0x86, 0x89, 0x02, 0xc6, 0x86, 0x63, 0x01, 0x01, 0xc7, 0x86, 0x64, 0x01, 0xf6,
- 0x05, 0xc6, 0x86, 0x69, 0x01, 0x02, 0xc6, 0x86, 0x68, 0x01, 0x02, 0xc7, 0x86, 0x66, 0x01, 0x20,
- 0x03, 0x8e, 0x46, 0x02, 0x26, 0xc7, 0x06, 0x1c, 0x00, 0x00, 0x00, 0xbe, 0x6d, 0x45, 0xe8, 0x79,
- 0xf6, 0xbe, 0xc7, 0x45, 0xe8, 0x73, 0xf6, 0x8b, 0xb6, 0x64, 0x01, 0xb9, 0xe8, 0x03, 0xe8, 0xec,
- 0x0f, 0xc3, 0xc7, 0x86, 0x2e, 0x02, 0x05, 0x00, 0xc6, 0x86, 0x69, 0x02, 0x01, 0xe8, 0x9a, 0xf8,
- 0xf6, 0x86, 0x6e, 0x02, 0x01, 0x75, 0x04, 0xc6, 0x46, 0x09, 0x16, 0xc6, 0x86, 0x72, 0x02, 0x01,
- 0xbe, 0xeb, 0x45, 0xe8, 0x44, 0xf6, 0xbe, 0xf1, 0x45, 0xe8, 0x3e, 0xf6, 0xbe, 0xd9, 0x45, 0xe8,
- 0x38, 0xf6, 0xbe, 0x03, 0x46, 0xe8, 0x32, 0xf6, 0xc7, 0x86, 0xcc, 0x02, 0x01, 0x00, 0xc6, 0x86,
- 0x76, 0x02, 0x01, 0xe8, 0x7e, 0x12, 0xc3, 0x90, 0xc7, 0x86, 0x2e, 0x02, 0x07, 0x00, 0xc6, 0x86,
- 0x68, 0x02, 0x01, 0xc6, 0x86, 0x5c, 0x02, 0x00, 0xc6, 0x86, 0x5d, 0x02, 0x00, 0xbe, 0xa3, 0x45,
- 0xe8, 0x07, 0xf6, 0xf6, 0x86, 0x6e, 0x02, 0x01, 0x75, 0x0d, 0xc6, 0x86, 0x6e, 0x02, 0x01, 0xb8,
- 0x00, 0x80, 0xe8, 0x03, 0x29, 0xeb, 0x0a, 0x83, 0xa6, 0x06, 0x02, 0xdf, 0xc6, 0x86, 0x85, 0x02,
- 0x01, 0xc6, 0x86, 0x08, 0x01, 0x00, 0xe8, 0x6f, 0xfa, 0xe8, 0x1e, 0xfa, 0xf6, 0x06, 0x1e, 0x56,
- 0x01, 0x74, 0x0a, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x04, 0x00, 0xff, 0xf7, 0xe8, 0xe8, 0xf9,
- 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x0c, 0x00, 0x01, 0xe8, 0xcd, 0xf0, 0xc7, 0x86, 0xc4, 0x01,
- 0x14, 0x00, 0xc7, 0x86, 0xc2, 0x02, 0x00, 0x00, 0xbe, 0xa9, 0x45, 0xe8, 0xac, 0xf5, 0xc3, 0x90,
- 0xc7, 0x86, 0x32, 0x02, 0x01, 0x00, 0xc7, 0x86, 0xc2, 0x01, 0xff, 0xff, 0xc7, 0x86, 0xc2, 0x02,
- 0x00, 0x00, 0xc7, 0x86, 0xc4, 0x01, 0x14, 0x00, 0x80, 0x7e, 0x07, 0x10, 0x74, 0x44, 0x32, 0xc0,
- 0xe8, 0x1b, 0x14, 0x80, 0x7e, 0x06, 0x0e, 0x74, 0x02, 0xeb, 0x37, 0x8e, 0x46, 0x02, 0x26, 0x83,
- 0x0e, 0x0c, 0x00, 0x01, 0x83, 0xa6, 0x06, 0x02, 0xdf, 0xc6, 0x86, 0x85, 0x02, 0x01, 0xf6, 0x86,
- 0x5b, 0x02, 0x01, 0x74, 0x1d, 0xf6, 0x86, 0x66, 0x02, 0x01, 0x74, 0x16, 0xf6, 0x86, 0x63, 0x02,
- 0x01, 0x75, 0x0f, 0xc6, 0x86, 0x63, 0x02, 0x01, 0xf6, 0x86, 0x54, 0x02, 0x01, 0x75, 0x03, 0xe8,
- 0x87, 0x0e, 0xc3, 0x90, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x0c, 0x00, 0xfe, 0xc7, 0x86, 0x32,
- 0x02, 0x02, 0x00, 0xc6, 0x86, 0x69, 0x02, 0x01, 0xe8, 0x6f, 0xf7, 0xe8, 0x33, 0xf9, 0xbe, 0x8b,
- 0x45, 0xe8, 0x26, 0xf5, 0xe8, 0x1d, 0x0e, 0xc3, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x0c, 0x00,
- 0xfe, 0xc7, 0x86, 0x32, 0x02, 0x03, 0x00, 0xc7, 0x86, 0xc2, 0x02, 0x00, 0x00, 0xc7, 0x86, 0xc4,
- 0x01, 0x0a, 0x00, 0xf6, 0x86, 0x54, 0x02, 0x01, 0x74, 0x0f, 0xc6, 0x86, 0x54, 0x02, 0x00, 0x8e,
- 0x46, 0x02, 0x26, 0x81, 0x26, 0x24, 0x00, 0xff, 0x7f, 0xc6, 0x86, 0x5a, 0x02, 0x00, 0xc6, 0x86,
- 0x69, 0x02, 0x01, 0xc6, 0x86, 0x6b, 0x02, 0x01, 0xe8, 0x1f, 0xf7, 0x81, 0xa6, 0x06, 0x02, 0xff,
- 0x2f, 0x83, 0x8e, 0x06, 0x02, 0x20, 0xc6, 0x86, 0x85, 0x02, 0x01, 0xbe, 0x55, 0x45, 0xe8, 0xc9,
- 0xf4, 0xbe, 0x79, 0x45, 0xe8, 0xc3, 0xf4, 0xc7, 0x86, 0xb2, 0x02, 0x01, 0x00, 0xc7, 0x86, 0xb4,
- 0x02, 0x01, 0x00, 0xe8, 0x5d, 0x0d, 0xc3, 0x90, 0xff, 0x86, 0x44, 0x02, 0x8e, 0x46, 0x02, 0x26,
- 0x83, 0x26, 0x0c, 0x00, 0xfe, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x10, 0x00, 0x04, 0xf6, 0x86,
- 0x5f, 0x02, 0x01, 0x75, 0x03, 0xe8, 0x03, 0x0d, 0xc3, 0x90, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26,
- 0x0c, 0x00, 0xfe, 0x80, 0xbe, 0xa6, 0x02, 0x01, 0x75, 0x26, 0xc6, 0x86, 0x68, 0x02, 0x00, 0xc6,
- 0x86, 0x69, 0x02, 0x00, 0xc6, 0x86, 0x6b, 0x02, 0x00, 0xe8, 0xae, 0xf6, 0xe8, 0x3f, 0xf6, 0xbe,
- 0x7f, 0x45, 0xe8, 0x65, 0xf4, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x10, 0x00, 0xfb, 0xeb, 0x60,
- 0xc6, 0x86, 0x6d, 0x02, 0x01, 0xf6, 0x86, 0x6c, 0x02, 0x01, 0x75, 0x54, 0xe8, 0x1f, 0xf6, 0xe8,
- 0x27, 0xed, 0xc6, 0x86, 0x68, 0x02, 0x00, 0xc6, 0x86, 0x6d, 0x02, 0x00, 0xbe, 0x7f, 0x45, 0xe8,
- 0x38, 0xf4, 0x8e, 0x46, 0x02, 0xf6, 0x06, 0x1e, 0x56, 0x01, 0x75, 0x08, 0x26, 0x83, 0x26, 0x02,
- 0x00, 0xfd, 0xeb, 0x08, 0xc6, 0x86, 0x6d, 0x01, 0x01, 0xe8, 0xf3, 0x37, 0x8e, 0x46, 0x02, 0x26,
- 0xc7, 0x06, 0x10, 0x00, 0x04, 0x00, 0x33, 0xc0, 0x88, 0x86, 0x88, 0x02, 0x88, 0x86, 0x89, 0x02,
- 0xc6, 0x86, 0x63, 0x01, 0x01, 0xc7, 0x86, 0x64, 0x01, 0xf6, 0x05, 0xc6, 0x86, 0x69, 0x01, 0x02,
- 0xc3, 0x90, 0xff, 0x86, 0x44, 0x02, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x0c, 0x00, 0xfe, 0x8e,
- 0x46, 0x02, 0x26, 0x83, 0x0e, 0x10, 0x00, 0x04, 0xc7, 0x86, 0xae, 0x02, 0x02, 0x00, 0xc7, 0x86,
- 0xb0, 0x02, 0x08, 0x00, 0xc6, 0x86, 0x54, 0x02, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x24,
- 0x00, 0xff, 0x7f, 0xc6, 0x86, 0x69, 0x02, 0x00, 0xc6, 0x86, 0x6b, 0x02, 0x00, 0xe8, 0xfa, 0xf5,
- 0xf6, 0x86, 0x81, 0x02, 0x01, 0x75, 0x06, 0xbe, 0x49, 0x45, 0xe8, 0xad, 0xf3, 0x81, 0xa6, 0x06,
- 0x02, 0xff, 0x6f, 0x81, 0x8e, 0x06, 0x02, 0x00, 0x40, 0xc6, 0x86, 0x85, 0x02, 0x01, 0xc3, 0x90,
- 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x0c, 0x00, 0xfe, 0x83, 0xbe, 0xc6, 0x01, 0x00, 0x74, 0x0d,
- 0x8b, 0x86, 0xc6, 0x01, 0xc7, 0x86, 0xc6, 0x01, 0x00, 0x00, 0xe8, 0x44, 0x0f, 0xbe, 0x55, 0x45,
- 0xe8, 0x77, 0xf3, 0xc3, 0xc7, 0x86, 0x32, 0x02, 0x01, 0x00, 0xc7, 0x86, 0x30, 0x02, 0x02, 0x00,
- 0x32, 0xc0, 0xe8, 0xf9, 0x11, 0x80, 0x7e, 0x06, 0x48, 0x75, 0x09, 0x8e, 0x46, 0x02, 0x26, 0x83,
- 0x0e, 0x0c, 0x00, 0x01, 0xc3, 0x90, 0xc7, 0x86, 0x30, 0x02, 0x03, 0x00, 0xff, 0x86, 0x44, 0x02,
- 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x0c, 0x00, 0xfe, 0xc6, 0x86, 0x68, 0x02, 0x00, 0xc6, 0x86,
- 0x72, 0x02, 0x00, 0xbe, 0xd3, 0x45, 0xe8, 0x31, 0xf3, 0xbe, 0xdf, 0x45, 0xe8, 0x2b, 0xf3, 0xbe,
- 0xf7, 0x45, 0xe8, 0x25, 0xf3, 0xc6, 0x86, 0x6b, 0x02, 0x01, 0xe8, 0x5d, 0xf5, 0x81, 0x8e, 0x06,
- 0x02, 0x04, 0x50, 0xc6, 0x86, 0x85, 0x02, 0x01, 0xf6, 0x86, 0x61, 0x02, 0x01, 0x74, 0x06, 0x81,
- 0x8e, 0x06, 0x02, 0x00, 0x80, 0xe8, 0x54, 0x2d, 0xe8, 0x70, 0x0b, 0xc3, 0xc7, 0x86, 0x30, 0x02,
- 0x04, 0x00, 0xbe, 0xd3, 0x45, 0xe8, 0xf2, 0xf2, 0xbe, 0xdf, 0x45, 0xe8, 0xec, 0xf2, 0x81, 0xa6,
- 0x06, 0x02, 0xfb, 0x6f, 0x81, 0x8e, 0x06, 0x02, 0x00, 0x40, 0xc6, 0x86, 0x85, 0x02, 0x01, 0xc3,
- 0xc7, 0x86, 0x30, 0x02, 0x05, 0x00, 0x8e, 0x46, 0x02, 0xf6, 0x06, 0x1e, 0x56, 0x01, 0x75, 0x08,
- 0x26, 0x83, 0x26, 0x02, 0x00, 0xfd, 0xeb, 0x08, 0xc6, 0x86, 0x6d, 0x01, 0x01, 0xe8, 0x8f, 0x36,
- 0x81, 0xa6, 0x06, 0x02, 0xfb, 0x2f, 0x83, 0x8e, 0x06, 0x02, 0x20, 0xc6, 0x86, 0x85, 0x02, 0x01,
- 0xe8, 0x0f, 0x01, 0xc3, 0xc7, 0x86, 0x30, 0x02, 0x01, 0x00, 0xc3, 0x90, 0xc3, 0x53, 0x50, 0x89,
- 0x86, 0x22, 0x01, 0x80, 0xbe, 0x62, 0x01, 0x01, 0x75, 0x0f, 0x50, 0xe8, 0x8e, 0xea, 0xe8, 0x43,
- 0x24, 0xc6, 0x46, 0x07, 0x00, 0x58, 0xe9, 0x9d, 0x00, 0xf6, 0x86, 0x08, 0x01, 0x01, 0x74, 0x05,
- 0xe8, 0x85, 0x25, 0xeb, 0x57, 0x83, 0xf8, 0x10, 0x75, 0x08, 0x81, 0x8e, 0x1e, 0x01, 0x00, 0x80,
- 0xeb, 0x4a, 0x83, 0x8e, 0x1e, 0x01, 0x02, 0x8b, 0x9e, 0x06, 0x02, 0x83, 0xf8, 0x01, 0x75, 0x04,
- 0x81, 0xcb, 0x00, 0x04, 0x83, 0xf8, 0x0c, 0x75, 0x04, 0x81, 0xcb, 0x00, 0x08, 0x83, 0xf8, 0x0b,
- 0x75, 0x03, 0x83, 0xcb, 0x02, 0x83, 0xf8, 0x09, 0x75, 0x03, 0x83, 0xcb, 0x04, 0x83, 0xf8, 0x0a,
- 0x75, 0x04, 0x81, 0xcb, 0x00, 0x01, 0x83, 0xf8, 0x06, 0x75, 0x03, 0x83, 0xcb, 0x01, 0x83, 0xf8,
- 0x0f, 0x74, 0x09, 0x89, 0x9e, 0x06, 0x02, 0xc6, 0x86, 0x85, 0x02, 0x01, 0xc6, 0x46, 0x07, 0x12,
- 0xc6, 0x46, 0x09, 0x1e, 0xf6, 0x86, 0xa7, 0x02, 0x01, 0x74, 0x1a, 0x8e, 0x46, 0x02, 0xf6, 0x06,
- 0x1e, 0x56, 0x01, 0x75, 0x08, 0x26, 0x83, 0x26, 0x02, 0x00, 0xfd, 0xeb, 0x08, 0xc6, 0x86, 0x6d,
- 0x01, 0x01, 0xe8, 0xca, 0x35, 0xf6, 0x86, 0xa5, 0x02, 0x01, 0x75, 0x02, 0xeb, 0x08, 0xc6, 0x46,
- 0x07, 0x10, 0xc6, 0x46, 0x09, 0x00, 0x58, 0x5b, 0xc3, 0x8e, 0x46, 0x02, 0x26, 0xf7, 0x06, 0x00,
- 0x00, 0x02, 0x00, 0x74, 0x0b, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x00, 0x00, 0xfd, 0xeb, 0x09,
- 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x00, 0x00, 0x02, 0xc3, 0xc7, 0x86, 0x2e, 0x02, 0x01, 0x00,
- 0xc3, 0xb9, 0x01, 0x01, 0x38, 0xc8, 0x75, 0x19, 0x8b, 0xb6, 0xf6, 0x00, 0x81, 0xe6, 0x00, 0xc0,
- 0x81, 0xfe, 0x00, 0x80, 0x75, 0x0b, 0xc6, 0x86, 0x56, 0x02, 0x01, 0xbe, 0x5b, 0x45, 0xe8, 0x99,
- 0xf1, 0xc3, 0xc3, 0x50, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x02, 0x74, 0x06, 0x81, 0x8e, 0xf6, 0x00,
- 0x00, 0x01, 0xc6, 0x86, 0x90, 0x02, 0x01, 0xe8, 0x05, 0x00, 0xe8, 0xbd, 0xf3, 0x58, 0xc3, 0xc7,
- 0x86, 0x93, 0x02, 0x00, 0x00, 0xc7, 0x86, 0x97, 0x02, 0x05, 0x00, 0xc6, 0x86, 0x91, 0x02, 0x00,
- 0xa1, 0xc8, 0x54, 0x89, 0x86, 0x95, 0x02, 0x40, 0x89, 0x86, 0x99, 0x02, 0xc3, 0xc6, 0x86, 0x90,
- 0x02, 0x00, 0xc6, 0x86, 0x91, 0x02, 0x00, 0xc3, 0x50, 0x53, 0xf6, 0x86, 0x91, 0x02, 0x01, 0x75,
- 0x1c, 0xa1, 0xc8, 0x54, 0x8b, 0x9e, 0x95, 0x02, 0x3b, 0xc3, 0x74, 0x11, 0x43, 0x3b, 0xc3, 0x74,
- 0x0c, 0x83, 0xc0, 0x04, 0x89, 0x86, 0x95, 0x02, 0xc6, 0x86, 0x91, 0x02, 0x01, 0x5b, 0x58, 0xc3,
- 0xc7, 0x86, 0x93, 0x02, 0x00, 0x00, 0xa1, 0xc8, 0x54, 0x83, 0xc0, 0x04, 0x89, 0x86, 0x95, 0x02,
- 0xc6, 0x86, 0x91, 0x02, 0x01, 0xc3, 0xa1, 0xc8, 0x54, 0x3b, 0x86, 0x99, 0x02, 0x74, 0x3b, 0x40,
- 0x3b, 0x86, 0x99, 0x02, 0x74, 0x34, 0x48, 0xf6, 0x86, 0x91, 0x02, 0x01, 0x74, 0x43, 0x3b, 0x86,
- 0x95, 0x02, 0x75, 0x3d, 0x81, 0xbe, 0x93, 0x02, 0x04, 0x01, 0x75, 0x0b, 0xf7, 0x86, 0xf6, 0x00,
- 0x00, 0x01, 0x75, 0x03, 0xe9, 0xa7, 0x00, 0x83, 0xbe, 0x93, 0x02, 0x04, 0x75, 0x11, 0x80, 0x7e,
- 0x06, 0x04, 0x75, 0x09, 0xe8, 0xa9, 0xff, 0xe9, 0xa6, 0x00, 0xe9, 0xa3, 0x00, 0xeb, 0x0c, 0x80,
- 0x7e, 0x06, 0x04, 0x75, 0x06, 0xe8, 0x2b, 0xff, 0xe9, 0x95, 0x00, 0xe8, 0x5f, 0xff, 0xe9, 0x8f,
- 0x00, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x14, 0x00, 0x25, 0x24, 0x01, 0x8b, 0xd8, 0x33, 0x86, 0x93,
- 0x02, 0x75, 0x02, 0xeb, 0x7b, 0xa9, 0x04, 0x00, 0x74, 0x15, 0xe8, 0x4b, 0xff, 0xf7, 0xc3, 0x04,
- 0x00, 0x74, 0x07, 0xc6, 0x86, 0x92, 0x02, 0x01, 0xeb, 0x05, 0xc6, 0x86, 0x92, 0x02, 0x00, 0xa9,
- 0x00, 0x01, 0x74, 0x14, 0xf7, 0xc3, 0x00, 0x01, 0x74, 0x0b, 0xf7, 0xc3, 0x20, 0x00, 0x75, 0x20,
- 0xe8, 0x25, 0xff, 0xeb, 0x03, 0xe8, 0x20, 0xff, 0xa9, 0x20, 0x00, 0x74, 0x2f, 0xf7, 0xc3, 0x20,
- 0x00, 0x74, 0x36, 0xf6, 0x86, 0x91, 0x02, 0x01, 0x74, 0x32, 0xf7, 0xc3, 0x00, 0x01, 0x74, 0x2c,
- 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x02, 0x74, 0x16, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x01, 0x74, 0x0e,
- 0xe8, 0x1d, 0xff, 0x81, 0xa6, 0xf6, 0x00, 0xff, 0xfe, 0xe8, 0x7e, 0xf2, 0xeb, 0x0e, 0xe8, 0xdc,
- 0xfe, 0xb8, 0x0e, 0x00, 0xe8, 0x96, 0xfd, 0xeb, 0x03, 0xe8, 0xdc, 0xfe, 0x89, 0x9e, 0x93, 0x02,
- 0xc3, 0x90, 0x55, 0x1e, 0x06, 0x33, 0xed, 0x8e, 0xdd, 0x8b, 0x2e, 0xe6, 0x54, 0x8e, 0x46, 0x02,
- 0xeb, 0x00, 0x60, 0xfa, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x04, 0x00, 0x89, 0x86, 0x18, 0x01, 0xc7,
- 0x86, 0x1c, 0x01, 0x01, 0x00, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x06, 0x00, 0x89, 0x86, 0x1a, 0x01,
- 0xb8, 0x07, 0x00, 0x8e, 0x46, 0x02, 0x26, 0xa3, 0x06, 0x00, 0xb8, 0xff, 0xff, 0x8e, 0x46, 0x02,
- 0x26, 0xa3, 0x04, 0x00, 0xfb, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x08, 0x00, 0x8b, 0xd8, 0x81, 0xe3,
- 0xff, 0xfc, 0x8e, 0x46, 0x02, 0x26, 0x89, 0x1e, 0x08, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x8b, 0x1e,
- 0x0a, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x89, 0x1e, 0x0a, 0x00, 0x50, 0xb0, 0xa0, 0xe6, 0x10, 0x58,
- 0xa9, 0x00, 0x08, 0x74, 0x0f, 0xf6, 0x06, 0x1e, 0x56, 0x01, 0x74, 0x05, 0xe8, 0x0a, 0x32, 0xeb,
- 0x03, 0xe8, 0x54, 0x2d, 0xa9, 0x00, 0x01, 0x75, 0x20, 0xf7, 0x86, 0xa3, 0x02, 0x01, 0x00, 0x75,
- 0x1f, 0xa9, 0xcd, 0x01, 0x74, 0x1a, 0x80, 0xbe, 0x6a, 0x01, 0x0a, 0x72, 0x0c, 0xc7, 0x86, 0xa3,
- 0x02, 0x01, 0x00, 0x81, 0x8e, 0x18, 0x01, 0xcd, 0x00, 0xfe, 0x86, 0x6a, 0x01, 0xe8, 0x90, 0x2e,
- 0xa9, 0x00, 0x04, 0x74, 0x29, 0xf7, 0x86, 0x0a, 0x01, 0x01, 0x00, 0x75, 0x21, 0x8e, 0x46, 0x02,
- 0x26, 0x81, 0x0e, 0x04, 0x00, 0x00, 0x04, 0xe8, 0x60, 0xed, 0xc7, 0x44, 0x02, 0x01, 0x00, 0x89,
- 0x44, 0x04, 0xc7, 0x86, 0x0a, 0x01, 0x01, 0x00, 0x8d, 0x7e, 0x16, 0xe8, 0x6a, 0xed, 0xa9, 0x00,
- 0x10, 0x74, 0x27, 0x80, 0xbe, 0x0c, 0x01, 0x01, 0x74, 0x20, 0xf6, 0x86, 0xb8, 0x01, 0x01, 0x75,
- 0x19, 0xe8, 0x36, 0xed, 0xf7, 0xc6, 0xff, 0xff, 0x74, 0x10, 0xc7, 0x44, 0x02, 0x03, 0x00, 0xc6,
- 0x86, 0xb8, 0x01, 0x01, 0x8d, 0x7e, 0x16, 0xe8, 0x3e, 0xed, 0xa9, 0x00, 0x20, 0x74, 0x2e, 0x80,
- 0xbe, 0x0c, 0x01, 0x01, 0x75, 0x07, 0xc6, 0x86, 0x0d, 0x01, 0x01, 0xeb, 0x20, 0xf6, 0x86, 0xb9,
- 0x01, 0x01, 0x75, 0x19, 0xe8, 0x03, 0xed, 0xf7, 0xc6, 0xff, 0xff, 0x74, 0x10, 0xc7, 0x44, 0x02,
- 0x04, 0x00, 0xc6, 0x86, 0xb9, 0x01, 0x01, 0x8d, 0x7e, 0x16, 0xe8, 0x0b, 0xed, 0xfa, 0x8b, 0x86,
- 0x18, 0x01, 0x8e, 0x46, 0x02, 0x26, 0xa3, 0x04, 0x00, 0xc7, 0x86, 0x1c, 0x01, 0x00, 0x00, 0x8b,
- 0x86, 0x1a, 0x01, 0x8e, 0x46, 0x02, 0x26, 0xa3, 0x06, 0x00, 0x61, 0x07, 0x1f, 0x5d, 0xcf, 0x50,
- 0x25, 0x00, 0x02, 0x8e, 0x46, 0x02, 0x26, 0xa3, 0x08, 0x00, 0x8b, 0x86, 0xc2, 0x02, 0x40, 0x89,
- 0x86, 0xc2, 0x02, 0x83, 0xf8, 0x01, 0x75, 0x08, 0x56, 0xbe, 0xa9, 0x45, 0xe8, 0xab, 0xee, 0x5e,
- 0x3b, 0x86, 0xc4, 0x01, 0x76, 0x0a, 0x80, 0xbe, 0x61, 0x02, 0x01, 0x74, 0x03, 0xe8, 0x95, 0x2e,
- 0x58, 0xc3, 0x8d, 0x71, 0x18, 0x8b, 0x49, 0x14, 0x86, 0xcd, 0x83, 0xe9, 0x04, 0x7e, 0x1b, 0x33,
- 0xc0, 0x03, 0xf0, 0x8a, 0x04, 0x0a, 0xc0, 0x74, 0x11, 0x3a, 0x54, 0x01, 0x74, 0x17, 0x32, 0xe4,
- 0x3c, 0xff, 0x74, 0x0a, 0x2b, 0xc8, 0x72, 0x02, 0x77, 0xe7, 0x33, 0xc0, 0xf9, 0xc3, 0x8b, 0x44,
- 0x02, 0x86, 0xc4, 0xeb, 0xef, 0x0a, 0xe4, 0x75, 0xf1, 0x38, 0xf0, 0x75, 0xed, 0x8d, 0x74, 0x02,
- 0xf8, 0xc3, 0x8c, 0xd8, 0x8e, 0xc0, 0x8b, 0xb6, 0x52, 0x15, 0x8b, 0xbe, 0x54, 0x15, 0x47, 0xa5,
- 0xa5, 0xa5, 0x8b, 0x4f, 0x04, 0x83, 0xc1, 0x07, 0x80, 0xe1, 0xfe, 0x8b, 0xc7, 0x2b, 0xc3, 0x2b,
- 0xc8, 0x76, 0x0a, 0x81, 0xf9, 0x00, 0x01, 0x73, 0x09, 0xd1, 0xe9, 0xf3, 0xa5, 0x8b, 0x07, 0xe9,
- 0xc9, 0x01, 0xb9, 0x19, 0x00, 0xf3, 0xa5, 0x33, 0xff, 0xf6, 0x47, 0x0e, 0x80, 0x74, 0x0e, 0x8b,
- 0x47, 0x14, 0x83, 0xe0, 0x1f, 0x74, 0x0f, 0xa8, 0x01, 0x75, 0x0b, 0x8b, 0xf8, 0xba, 0x80, 0x09,
- 0x68, 0x2e, 0x24, 0xe9, 0xab, 0x05, 0xe9, 0x99, 0x02, 0xc3, 0x80, 0x7f, 0x17, 0x02, 0x75, 0xf9,
- 0x50, 0x56, 0x8b, 0xb6, 0xc4, 0x05, 0x8b, 0x04, 0x5e, 0x3b, 0x86, 0xc2, 0x01, 0x74, 0x07, 0x89,
- 0x86, 0xc2, 0x01, 0x58, 0xeb, 0x3d, 0x58, 0xeb, 0x12, 0x8a, 0x4f, 0x07, 0x80, 0xe1, 0x3f, 0x74,
- 0xd8, 0x8a, 0xe9, 0x86, 0x8e, 0xfa, 0x01, 0x38, 0xcd, 0x75, 0x18, 0x57, 0x51, 0x8d, 0xbe, 0xfc,
- 0x01, 0x8d, 0x77, 0x0e, 0x8c, 0xd9, 0x8e, 0xc1, 0xb9, 0x03, 0x00, 0xf3, 0xa7, 0x75, 0x06, 0x59,
- 0x5f, 0xeb, 0xb6, 0x57, 0x51, 0x8d, 0xbe, 0xfc, 0x01, 0x8d, 0x77, 0x0e, 0xb9, 0x03, 0x00, 0xf3,
- 0xa5, 0x59, 0x5f, 0xeb, 0x0d, 0x8b, 0x7e, 0x04, 0x58, 0xc3, 0xf7, 0x86, 0xf6, 0x00, 0x01, 0x00,
- 0x74, 0xf7, 0x80, 0x7e, 0x06, 0x0e, 0x74, 0x08, 0x80, 0x7e, 0x06, 0x48, 0x74, 0x02, 0xeb, 0xe9,
- 0x50, 0x8c, 0xd8, 0x8e, 0xc0, 0x8b, 0x07, 0xa9, 0x00, 0x40, 0x75, 0xdc, 0x0d, 0x00, 0x40, 0x89,
- 0x07, 0xe8, 0x8a, 0x00, 0x8b, 0x4f, 0x04, 0x83, 0xc1, 0x03, 0x80, 0xe1, 0xfe, 0x89, 0x7e, 0x04,
- 0x8b, 0xbe, 0xbe, 0x01, 0x3b, 0xfe, 0x72, 0x11, 0x8d, 0x86, 0x52, 0x08, 0x05, 0xff, 0x00, 0x2b,
- 0xc7, 0x3b, 0xc1, 0x7d, 0x0a, 0x8d, 0xbe, 0x52, 0x08, 0x2b, 0xf7, 0x3b, 0xf1, 0x7c, 0xa6, 0x8b,
- 0xd7, 0x8c, 0xd8, 0x8e, 0xc0, 0x33, 0xc0, 0x8b, 0xf3, 0xd1, 0xe9, 0x83, 0xc7, 0x02, 0x49, 0xad,
- 0xf3, 0xa5, 0x8b, 0xcf, 0xc7, 0x05, 0x00, 0x00, 0x8b, 0xfa, 0x89, 0x4d, 0x02, 0x51, 0x8b, 0x4d,
- 0x04, 0x83, 0xe9, 0x04, 0x89, 0x4d, 0x04, 0x59, 0x89, 0x05, 0x8d, 0x86, 0x52, 0x08, 0x3b, 0xf8,
- 0x75, 0x0e, 0x8b, 0x86, 0xbc, 0x01, 0x3b, 0x86, 0xbe, 0x01, 0x75, 0x1c, 0x89, 0xbe, 0xbc, 0x01,
- 0x89, 0x8e, 0xbe, 0x01, 0x8b, 0x7e, 0x04, 0xc7, 0x86, 0xc0, 0x01, 0x00, 0x00, 0xb9, 0x40, 0x60,
- 0x8e, 0xc1, 0xe8, 0x29, 0x21, 0xe9, 0x4d, 0xff, 0x97, 0x89, 0x45, 0x02, 0xeb, 0xe2, 0x8b, 0xb6,
- 0xbc, 0x01, 0xf7, 0x86, 0xc0, 0x01, 0x01, 0x00, 0x75, 0x0f, 0x81, 0x3c, 0x00, 0x80, 0x75, 0x05,
- 0x8b, 0x74, 0x02, 0xeb, 0xf5, 0x89, 0xb6, 0xbc, 0x01, 0xc3, 0xf7, 0x07, 0x01, 0x09, 0x74, 0x03,
- 0xe9, 0x5f, 0x01, 0xf7, 0x07, 0x00, 0x10, 0x75, 0x33, 0x68, 0x42, 0x23, 0xe9, 0x9d, 0x24, 0xa8,
- 0x02, 0x74, 0x21, 0x80, 0x7e, 0x08, 0x00, 0x75, 0x1b, 0x80, 0xbe, 0x5e, 0x02, 0x00, 0x74, 0x14,
- 0x24, 0x28, 0x3c, 0x28, 0x75, 0x0e, 0xf6, 0x47, 0x0e, 0x80, 0x75, 0x67, 0x81, 0x8e, 0xda, 0x02,
- 0x80, 0x00, 0xeb, 0x5f, 0xeb, 0x5d, 0xe9, 0x39, 0xfe, 0x90, 0xeb, 0xd3, 0xeb, 0x38, 0x8b, 0x47,
- 0x14, 0x83, 0xe0, 0x1f, 0x74, 0x06, 0xa8, 0x01, 0x8b, 0xf8, 0x74, 0x4f, 0xe9, 0x13, 0x01, 0x50,
- 0x8b, 0x9e, 0xb2, 0x01, 0x8b, 0x07, 0xa9, 0x00, 0x20, 0x74, 0x0b, 0xff, 0x86, 0x3c, 0x02, 0x8b,
- 0x4f, 0x04, 0x01, 0x8e, 0x3e, 0x02, 0xe8, 0x81, 0x03, 0x75, 0xcb, 0xf6, 0x47, 0x07, 0x40, 0x74,
- 0x05, 0xe8, 0x9e, 0x03, 0xeb, 0x78, 0xf7, 0x86, 0xb6, 0x01, 0x00, 0x02, 0x75, 0x11, 0xa9, 0x01,
- 0x09, 0x75, 0x6b, 0x80, 0x7e, 0x07, 0x10, 0x74, 0x65, 0x80, 0x7e, 0x07, 0x12, 0x74, 0x5f, 0xa8,
- 0x28, 0x75, 0xa7, 0x33, 0xff, 0xf6, 0x47, 0x0e, 0x80, 0x75, 0xa3, 0x8b, 0x47, 0x04, 0x83, 0xf8,
- 0x12, 0x77, 0x05, 0x33, 0xc0, 0xe9, 0x7d, 0x01, 0x83, 0xe8, 0x12, 0x2b, 0xc7, 0x83, 0xf8, 0x04,
- 0x7c, 0x3e, 0x8b, 0x49, 0x16, 0x88, 0xae, 0x04, 0x02, 0x51, 0x80, 0xe1, 0xf0, 0x80, 0xf9, 0x00,
- 0x74, 0x09, 0x80, 0xf9, 0x30, 0x74, 0x04, 0x59, 0xe9, 0x97, 0x00, 0x59, 0x0b, 0xff, 0x74, 0x0f,
- 0xf6, 0xc1, 0x0f, 0x74, 0x19, 0x80, 0xf9, 0x33, 0x74, 0x14, 0x80, 0xf9, 0x03, 0x74, 0x0f, 0x86,
- 0xc4, 0x39, 0x41, 0x14, 0x86, 0xc4, 0x75, 0x02, 0xeb, 0x0e, 0xe9, 0x33, 0x01, 0x90, 0xeb, 0x72,
- 0xe9, 0x32, 0x01, 0x90, 0xe9, 0x3a, 0x01, 0x90, 0xf6, 0x86, 0x90, 0x02, 0x01, 0x74, 0x03, 0xe8,
- 0x6b, 0xfa, 0x80, 0xfd, 0x15, 0x77, 0x11, 0x80, 0xfd, 0x01, 0x74, 0xe8, 0x80, 0xfd, 0x09, 0x74,
- 0xe3, 0x80, 0xfd, 0x0a, 0x74, 0xde, 0xeb, 0x11, 0x80, 0xfd, 0x20, 0x72, 0xd7, 0x80, 0xfd, 0x29,
- 0x77, 0xd2, 0x80, 0xfd, 0x21, 0x74, 0xcd, 0xeb, 0xc5, 0x80, 0xfd, 0x10, 0x76, 0x02, 0xeb, 0x0a,
- 0x80, 0xfd, 0x0e, 0x73, 0x28, 0x80, 0xfd, 0x15, 0x77, 0x23, 0x53, 0x8b, 0xd9, 0xc1, 0xeb, 0x08,
- 0x80, 0xe1, 0x0f, 0x3a, 0x8f, 0x74, 0x04, 0x74, 0x13, 0x83, 0xfb, 0x0b, 0x74, 0x09, 0x83, 0xfb,
- 0x0c, 0x74, 0x04, 0x5b, 0xe9, 0xd3, 0x00, 0x80, 0xf9, 0x08, 0x75, 0xf7, 0x5b, 0xe9, 0x81, 0x01,
- 0x5b, 0x5f, 0x8b, 0x9e, 0xb2, 0x01, 0xf7, 0x86, 0xf6, 0x00, 0x01, 0x00, 0x74, 0x28, 0x80, 0x7e,
- 0x06, 0x0e, 0x74, 0x06, 0x80, 0x7e, 0x06, 0x48, 0x75, 0x1c, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x08,
- 0x74, 0x06, 0x68, 0x62, 0x24, 0xe9, 0x61, 0xfd, 0xf7, 0x86, 0x12, 0x01, 0x80, 0x00, 0x74, 0x06,
- 0x68, 0x62, 0x24, 0xe9, 0x34, 0xfd, 0x8b, 0x5f, 0x02, 0x89, 0x9e, 0xb2, 0x01, 0x8b, 0xc3, 0x83,
- 0xe8, 0x02, 0x3b, 0x86, 0x52, 0x15, 0x77, 0x04, 0x8b, 0x86, 0x54, 0x15, 0x8e, 0x46, 0x02, 0x26,
- 0xa3, 0x38, 0x00, 0x80, 0xbe, 0x2d, 0x01, 0x01, 0x75, 0x1b, 0x2d, 0x00, 0x02, 0x3b, 0x86, 0x52,
- 0x15, 0x73, 0x0e, 0x53, 0x8b, 0xd8, 0x2b, 0x9e, 0x52, 0x15, 0x8b, 0x86, 0x54, 0x15, 0x2b, 0xc3,
- 0x5b, 0x26, 0xa3, 0x6c, 0x00, 0xfa, 0x8b, 0x07, 0xa9, 0x00, 0x80, 0x74, 0x17, 0xfb, 0xff, 0x86,
- 0x3c, 0x01, 0x83, 0xbe, 0x3c, 0x01, 0x05, 0x77, 0x1c, 0x8a, 0x4e, 0x09, 0x3a, 0x4e, 0x08, 0x75,
- 0x14, 0xe9, 0x62, 0xfe, 0xc6, 0x86, 0xb9, 0x01, 0x00, 0xfb, 0xc7, 0x86, 0x3c, 0x01, 0x00, 0x00,
- 0x58, 0xc3, 0xe9, 0x5d, 0xff, 0xe8, 0xc2, 0xe8, 0xf7, 0xc6, 0xff, 0xff, 0x74, 0xe6, 0xc7, 0x44,
- 0x02, 0x04, 0x00, 0xc6, 0x86, 0xb9, 0x01, 0x01, 0x8d, 0x7e, 0x16, 0xe8, 0xca, 0xe8, 0xeb, 0xda,
- 0xba, 0x80, 0x02, 0xeb, 0x1d, 0xba, 0x80, 0x01, 0xeb, 0x18, 0xba, 0x80, 0x04, 0xeb, 0x13, 0x5f,
- 0x5b, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x10, 0x74, 0x06, 0x68, 0x62, 0x24, 0xe9, 0xeb, 0xfc, 0xba,
- 0x80, 0x03, 0x33, 0xc0, 0x8e, 0xc0, 0x68, 0x2e, 0x24, 0xe9, 0x25, 0x02, 0x33, 0xd2, 0x32, 0xed,
- 0x8a, 0x4d, 0xff, 0x89, 0x55, 0x02, 0x83, 0xc7, 0x05, 0xe2, 0xf8, 0xf6, 0x86, 0x5f, 0x02, 0x01,
- 0x74, 0x38, 0x80, 0x7e, 0x08, 0x0a, 0x75, 0x0b, 0xc6, 0x46, 0x09, 0x04, 0xc6, 0x86, 0x5f, 0x02,
- 0x00, 0xeb, 0x24, 0x80, 0x7e, 0x08, 0x06, 0x75, 0x21, 0xc6, 0x86, 0x5f, 0x02, 0x00, 0xc6, 0x86,
- 0x69, 0x02, 0x01, 0xe8, 0x84, 0xec, 0xbe, 0x79, 0x45, 0xe8, 0x3e, 0xea, 0x50, 0x53, 0x33, 0xc0,
- 0x8e, 0xc0, 0xe8, 0xa6, 0x02, 0x5b, 0x58, 0xbb, 0x00, 0x00, 0x8b, 0xf8, 0x8b, 0xf3, 0x5b, 0x57,
- 0x53, 0x68, 0x2c, 0x24, 0xff, 0x66, 0x12, 0xeb, 0x87, 0x8b, 0xc7, 0x8b, 0xbf, 0x8a, 0x04, 0x0b,
- 0xff, 0x78, 0xf4, 0x74, 0xa6, 0x03, 0xfd, 0xf6, 0x45, 0x01, 0x80, 0x75, 0x02, 0xeb, 0x8d, 0xe9,
- 0x21, 0x01, 0xe9, 0x03, 0x01, 0x5f, 0x5b, 0xba, 0x80, 0x08, 0xe9, 0x75, 0xff, 0x8b, 0x54, 0x02,
- 0x86, 0xd6, 0x83, 0xc6, 0x02, 0xb0, 0x04, 0xeb, 0x51, 0x5f, 0x5b, 0xba, 0x80, 0x05, 0xe9, 0x61,
- 0xff, 0x53, 0x8d, 0x71, 0x18, 0x32, 0xff, 0x8a, 0xdd, 0xd1, 0xe3, 0x83, 0xe8, 0x04, 0x0b, 0xc0,
- 0x74, 0xb7, 0x89, 0x46, 0x04, 0x57, 0x8b, 0xbf, 0x8a, 0x04, 0x0b, 0xff, 0x74, 0xc4, 0x79, 0x03,
- 0xe9, 0x2c, 0xff, 0x03, 0xfd, 0x8e, 0xc7, 0x33, 0xc0, 0x32, 0xed, 0x8a, 0x4d, 0xff, 0x89, 0x45,
- 0x02, 0x83, 0xc7, 0x05, 0xe2, 0xf8, 0x33, 0xd2, 0x03, 0xf2, 0x8a, 0x4c, 0x01, 0x8a, 0x14, 0x0a,
- 0xd2, 0x74, 0xb6, 0x80, 0xfa, 0xff, 0x74, 0xa5, 0xb0, 0x02, 0x29, 0x56, 0x04, 0x72, 0xaa, 0x0a,
- 0xc9, 0x78, 0x92, 0x8a, 0xe1, 0x80, 0xe1, 0x3f, 0x8c, 0xc7, 0x8a, 0x6d, 0xff, 0xeb, 0x12, 0x80,
- 0x7d, 0x04, 0xff, 0x74, 0x15, 0xeb, 0x92, 0xe9, 0x7b, 0xff, 0xfe, 0xcd, 0x74, 0xf9, 0x83, 0xc7,
- 0x05, 0x3a, 0x0d, 0x75, 0xf5, 0x3a, 0x55, 0x04, 0x75, 0xe5, 0x8d, 0x44, 0x02, 0x87, 0x45, 0x02,
- 0x0b, 0xc0, 0x74, 0x09, 0xf6, 0x45, 0x01, 0x80, 0x75, 0xdd, 0x89, 0x45, 0x02, 0x83, 0x7e, 0x04,
- 0x00, 0x75, 0xa5, 0x33, 0xc0, 0x8c, 0xc6, 0xf6, 0x44, 0x01, 0x80, 0x74, 0x0e, 0x39, 0x44, 0x02,
- 0x74, 0x60, 0x83, 0xc6, 0x05, 0xf6, 0x44, 0x01, 0x80, 0x75, 0xf2, 0xf6, 0x86, 0x5f, 0x02, 0x01,
- 0x74, 0x36, 0x80, 0x7e, 0x08, 0x0a, 0x75, 0x0b, 0xc6, 0x86, 0x5f, 0x02, 0x00, 0xc6, 0x46, 0x09,
- 0x04, 0xeb, 0x22, 0x80, 0x7e, 0x08, 0x06, 0x75, 0x1f, 0xc6, 0x86, 0x5f, 0x02, 0x00, 0xc6, 0x86,
- 0x69, 0x02, 0x01, 0xe8, 0x54, 0xeb, 0xbe, 0x79, 0x45, 0xe8, 0x0e, 0xe9, 0x33, 0xc0, 0x8e, 0xc0,
- 0x53, 0xe8, 0x77, 0x01, 0x5b, 0xbb, 0x00, 0x00, 0x89, 0x5e, 0x04, 0x8b, 0xf3, 0x5f, 0x5b, 0x33,
- 0xc0, 0x8e, 0xc0, 0x3b, 0xb6, 0xba, 0x01, 0x73, 0x06, 0x68, 0x2e, 0x24, 0xff, 0x66, 0x12, 0xe9,
- 0x80, 0xfd, 0x5f, 0x5b, 0xba, 0x80, 0x07, 0xe9, 0x58, 0xfe, 0x56, 0x57, 0x50, 0x33, 0xc0, 0x8e,
- 0xc0, 0x8b, 0xb6, 0x52, 0x15, 0x8b, 0xbe, 0x54, 0x15, 0x83, 0xc7, 0x01, 0xa5, 0xa5, 0xa5, 0x8b,
- 0xc3, 0x03, 0x47, 0x04, 0x8b, 0xbe, 0x54, 0x15, 0x3b, 0xc7, 0x7f, 0x02, 0x32, 0xc0, 0x58, 0x5f,
- 0x5e, 0xc3, 0x80, 0xbe, 0x2d, 0x01, 0x01, 0x75, 0x57, 0x53, 0x33, 0xff, 0xf6, 0x47, 0x0e, 0x80,
- 0x74, 0x0e, 0x8b, 0x47, 0x14, 0x83, 0xe0, 0x1f, 0x74, 0x45, 0xa8, 0x01, 0x75, 0x41, 0x8b, 0xf8,
- 0x83, 0xc3, 0x06, 0x8d, 0xb6, 0xec, 0x15, 0x33, 0xc0, 0x33, 0xc9, 0x8a, 0x0c, 0x80, 0xf9, 0x00,
- 0x74, 0x2d, 0x53, 0x46, 0x8a, 0x04, 0x03, 0xd8, 0x80, 0x3c, 0x0e, 0x72, 0x02, 0x03, 0xdf, 0x46,
- 0x8a, 0x04, 0x3a, 0x07, 0x75, 0x07, 0x5b, 0xfe, 0xc9, 0x74, 0x0a, 0xeb, 0xe5, 0x5b, 0x03, 0xf1,
- 0x03, 0xf1, 0x4e, 0xeb, 0xd6, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x72, 0x00, 0x00, 0x01, 0x5b,
- 0xc3, 0x8c, 0xd8, 0x8e, 0xc0, 0xf6, 0x41, 0x16, 0x0f, 0x74, 0x60, 0x89, 0x96, 0xe2, 0x02, 0x81,
- 0xfa, 0x80, 0x02, 0x74, 0x13, 0xba, 0x09, 0x04, 0xe8, 0xa7, 0xf9, 0x72, 0x0b, 0xad, 0x86, 0xe0,
- 0x89, 0x86, 0x14, 0x02, 0x86, 0xe0, 0xeb, 0x06, 0x8b, 0x86, 0x14, 0x02, 0x86, 0xe0, 0x89, 0x86,
- 0xde, 0x02, 0x8c, 0xd8, 0x8e, 0xc0, 0x8d, 0x4d, 0x22, 0x57, 0x53, 0xe8, 0xa0, 0x05, 0x5a, 0x5f,
- 0x72, 0x29, 0x57, 0xe8, 0x26, 0x00, 0xb8, 0x00, 0x0e, 0xab, 0x47, 0xb0, 0x00, 0xaa, 0x8d, 0xb6,
- 0xdc, 0x02, 0xa5, 0xa5, 0x8d, 0xb6, 0xe0, 0x02, 0xa5, 0xa5, 0x55, 0x8b, 0xea, 0x8a, 0x47, 0x16,
- 0x8a, 0x66, 0x17, 0xab, 0x5d, 0xe8, 0x14, 0x06, 0x8b, 0xda, 0x5f, 0xc3, 0x55, 0x8b, 0xea, 0x8a,
- 0x43, 0x16, 0xc0, 0xe0, 0x04, 0x88, 0x41, 0x16, 0xc7, 0x47, 0x06, 0xe0, 0x00, 0x83, 0xe9, 0x06,
- 0x89, 0x4f, 0x04, 0x0b, 0xff, 0x75, 0x18, 0x8d, 0x76, 0x0e, 0x8d, 0x7f, 0x08, 0x8c, 0xd8, 0x8e,
- 0xc0, 0xa5, 0xa5, 0xa5, 0x8b, 0xd5, 0x5d, 0x8d, 0xb6, 0xf4, 0x02, 0xa5, 0xa5, 0xa5, 0xc3, 0x8b,
- 0xcf, 0xd1, 0xe9, 0x8d, 0x76, 0x0e, 0x8d, 0x7f, 0x08, 0x8c, 0xd8, 0x8e, 0xc0, 0xad, 0x24, 0x7f,
- 0xab, 0xa5, 0xa5, 0x8b, 0xd5, 0x5d, 0x56, 0x8d, 0xb6, 0xf4, 0x02, 0xad, 0x0c, 0x80, 0xab, 0xa5,
- 0xa5, 0x5e, 0xad, 0x80, 0xcc, 0x80, 0xab, 0x49, 0xf3, 0xa5, 0xc3, 0x8b, 0x86, 0x00, 0x03, 0x86,
- 0xe0, 0x89, 0x86, 0x10, 0x02, 0x89, 0x86, 0x02, 0x02, 0x8c, 0xd8, 0x8e, 0xc0, 0x8d, 0xbe, 0xfc,
- 0x01, 0x8d, 0xb6, 0xf4, 0x02, 0xb9, 0x03, 0x00, 0xf3, 0xa5, 0xb9, 0x2a, 0x00, 0xe8, 0xd4, 0x04,
- 0x72, 0xd8, 0x8d, 0xb6, 0xe6, 0x02, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5,
- 0xe9, 0x80, 0x05, 0xb9, 0x26, 0x00, 0xe8, 0xbb, 0x04, 0x72, 0x62, 0x8d, 0xb6, 0x10, 0x03, 0x8b,
- 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0xe9, 0x67, 0x05, 0x8d, 0x7f, 0x08, 0x8b,
- 0x4f, 0x04, 0x83, 0xc1, 0x03, 0x80, 0xe1, 0xfe, 0x57, 0xe8, 0x98, 0x04, 0x5f, 0x8b, 0xd7, 0x72,
- 0x22, 0x83, 0xe9, 0x08, 0x8d, 0x7f, 0x04, 0x8c, 0xd8, 0x8e, 0xc0, 0x8b, 0xc1, 0xab, 0x8b, 0x86,
- 0x16, 0x03, 0xab, 0x8b, 0xf2, 0xd1, 0xe9, 0x49, 0xf3, 0xa5, 0xbe, 0x55, 0x45, 0xe8, 0x0a, 0xe7,
- 0xe9, 0x30, 0x05, 0xc3, 0xb9, 0x26, 0x00, 0xe8, 0x6a, 0x04, 0x72, 0x11, 0x8c, 0xd8, 0x8e, 0xc0,
- 0x8d, 0xb6, 0x36, 0x03, 0x8b, 0xfb, 0xd1, 0xe9, 0xf3, 0xa5, 0xe9, 0x16, 0x05, 0xc3, 0xb9, 0x26,
- 0x00, 0xe8, 0x6a, 0x04, 0x72, 0xf7, 0x8d, 0xb6, 0x5c, 0x03, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0,
- 0xd1, 0xe9, 0xf3, 0xa5, 0xc6, 0x86, 0x63, 0x02, 0x01, 0x80, 0xbe, 0x83, 0x02, 0x01, 0x75, 0x03,
- 0xe9, 0xe9, 0x04, 0x68, 0x6f, 0x2c, 0xe9, 0xe3, 0x04, 0xb9, 0x26, 0x00, 0xe8, 0x3f, 0x04, 0x72,
- 0xcc, 0x8d, 0xb6, 0x82, 0x03, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0xc6,
- 0x86, 0x63, 0x02, 0x01, 0x80, 0xbe, 0x83, 0x02, 0x01, 0x75, 0x03, 0xe9, 0xbe, 0x04, 0x68, 0x6f,
- 0x2c, 0xe9, 0xb8, 0x04, 0xb9, 0x18, 0x00, 0xe8, 0x14, 0x04, 0x72, 0xa1, 0x8d, 0xb6, 0xa8, 0x03,
- 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0xe9, 0x9f, 0x04, 0x83, 0xc1, 0x1c,
- 0x56, 0x57, 0x52, 0xe8, 0xf8, 0x03, 0x5a, 0x5f, 0x5e, 0x72, 0x6c, 0x56, 0x8c, 0xd8, 0x8e, 0xc0,
- 0x83, 0xe9, 0x08, 0x8b, 0xc1, 0x8d, 0x7f, 0x04, 0xab, 0xba, 0xe0, 0x00, 0x8b, 0xc2, 0xab, 0x8d,
- 0xb6, 0xc8, 0x03, 0xa5, 0xa5, 0xa5, 0x8d, 0xb6, 0xf4, 0x02, 0x80, 0xbe, 0x62, 0x01, 0x01, 0x75,
- 0x04, 0x8d, 0xb6, 0x00, 0x01, 0xa5, 0xa5, 0xa5, 0x83, 0xe9, 0x0e, 0x80, 0xbe, 0x63, 0x01, 0x02,
- 0x75, 0x03, 0x83, 0xe9, 0x04, 0x8b, 0xc1, 0x86, 0xe0, 0xab, 0xb8, 0x00, 0x08, 0xab, 0xb8, 0xff,
- 0x26, 0xab, 0x83, 0xe9, 0x04, 0x8b, 0xc1, 0x86, 0xe0, 0xab, 0x5e, 0xe9, 0x3e, 0x04, 0xb9, 0x44,
- 0x00, 0xe8, 0x9a, 0x03, 0x72, 0x11, 0x8d, 0xb6, 0xda, 0x03, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0,
- 0xd1, 0xe9, 0xf3, 0xa5, 0xe8, 0x25, 0x04, 0xc3, 0xb9, 0x36, 0x00, 0xe8, 0x80, 0x03, 0x72, 0xf7,
- 0xff, 0x86, 0x52, 0x02, 0x8d, 0xb6, 0x7c, 0x05, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9,
- 0xf3, 0xa5, 0x33, 0xc0, 0x8d, 0xbe, 0x96, 0x05, 0xab, 0xab, 0xaa, 0x8d, 0xbe, 0x9e, 0x05, 0xab,
- 0xab, 0xaa, 0xe9, 0xf7, 0x03, 0x8d, 0x4d, 0x3a, 0x57, 0x53, 0xe8, 0x51, 0x03, 0x5a, 0x5f, 0x72,
- 0x5b, 0x57, 0xe8, 0xd7, 0xfd, 0x8c, 0xd8, 0x8e, 0xc0, 0xb8, 0x00, 0x26, 0xab, 0x47, 0xb0, 0x22,
- 0xaa, 0x8d, 0xb6, 0xdc, 0x02, 0xa5, 0xa5, 0x8d, 0xb6, 0x02, 0x03, 0xa5, 0xa5, 0xa5, 0x8d, 0xb6,
- 0x08, 0x03, 0xa5, 0xa5, 0xa5, 0xa5, 0x8d, 0xb6, 0x1e, 0x04, 0xa5, 0xa5, 0x8d, 0xb6, 0x22, 0x04,
- 0xa5, 0xa5, 0xa5, 0x8d, 0xb6, 0x28, 0x04, 0xa5, 0x53, 0x8c, 0xdb, 0x8e, 0x46, 0x02, 0x26, 0xa1,
- 0x26, 0x00, 0xe8, 0x6b, 0xe2, 0x8e, 0xc3, 0xab, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x24, 0x00, 0xe8,
- 0x5e, 0xe2, 0x8e, 0xc3, 0xab, 0x5b, 0xe8, 0x93, 0x03, 0x8b, 0xda, 0x5f, 0xc3, 0x8d, 0x4d, 0x38,
- 0x57, 0x53, 0xe8, 0xe9, 0x02, 0x5a, 0x5f, 0x72, 0xf3, 0x57, 0xe8, 0x6f, 0xfd, 0x8c, 0xd8, 0x8e,
- 0xc0, 0xb8, 0x00, 0x24, 0xab, 0x47, 0xb0, 0x23, 0xaa, 0x8d, 0xb6, 0xdc, 0x02, 0xa5, 0xa5, 0x8d,
- 0xb6, 0xf2, 0x03, 0xb9, 0x06, 0x00, 0xf3, 0xa5, 0x8d, 0xb6, 0x36, 0x04, 0xa5, 0xa5, 0xa5, 0xa5,
- 0x8d, 0xb6, 0x2e, 0x04, 0xa5, 0xa5, 0xa5, 0xa5, 0xe8, 0x51, 0x03, 0x8b, 0xda, 0x5f, 0xc3, 0x8d,
- 0x4d, 0x3e, 0x57, 0x53, 0xe8, 0xa7, 0x02, 0x5a, 0x5f, 0x72, 0x64, 0x57, 0xe8, 0x2d, 0xfd, 0x8c,
- 0xd8, 0x8e, 0xc0, 0xb8, 0x00, 0x2a, 0xab, 0x47, 0xb0, 0x24, 0xaa, 0x8d, 0xb6, 0xdc, 0x02, 0xa5,
- 0xa5, 0x8d, 0xb6, 0x06, 0x04, 0xb9, 0x0a, 0x00, 0xf3, 0xa5, 0x8d, 0xb6, 0x28, 0x04, 0xa5, 0x53,
- 0x8c, 0xdb, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x26, 0x00, 0xe8, 0xd4, 0xe1, 0x8e, 0xc3, 0xab, 0x8e,
- 0x46, 0x02, 0x26, 0xa1, 0x24, 0x00, 0xe8, 0xc7, 0xe1, 0x8e, 0xc3, 0xab, 0x5b, 0x8c, 0xd8, 0x8e,
- 0xc0, 0x8d, 0xb6, 0x3e, 0x04, 0xa5, 0x8b, 0x86, 0xf8, 0x01, 0x86, 0xc4, 0xab, 0x8d, 0xb6, 0x42,
- 0x04, 0xa5, 0x8b, 0x86, 0xf6, 0x01, 0x86, 0xc4, 0xab, 0xe8, 0xe0, 0x02, 0x8b, 0xda, 0x5f, 0xc3,
- 0xb9, 0x3a, 0x00, 0xe8, 0x38, 0x02, 0x72, 0xf7, 0x8d, 0xb6, 0x46, 0x04, 0x8b, 0xfb, 0x8c, 0xd8,
- 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0x80, 0xbe, 0x83, 0x02, 0x01, 0x75, 0x03, 0xe9, 0xbc, 0x02,
- 0x68, 0x6f, 0x2c, 0xe9, 0xb6, 0x02, 0xb9, 0x26, 0x00, 0xe8, 0x12, 0x02, 0x72, 0xd1, 0xff, 0x86,
- 0x4e, 0x02, 0x8d, 0xb6, 0x80, 0x04, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5,
- 0x80, 0xbe, 0x83, 0x02, 0x01, 0x75, 0x03, 0xe9, 0x92, 0x02, 0x68, 0x6f, 0x2c, 0xe9, 0x8c, 0x02,
- 0xb9, 0x20, 0x00, 0xe8, 0xe8, 0x01, 0x72, 0xa7, 0x8d, 0xb6, 0xee, 0x01, 0x8d, 0xbe, 0xc0, 0x04,
- 0x8c, 0xd8, 0x8e, 0xc0, 0xa5, 0xa5, 0xa5, 0x8d, 0xb6, 0xa6, 0x04, 0x8b, 0xfb, 0xd1, 0xe9, 0xf3,
- 0xa5, 0x80, 0xbe, 0x83, 0x02, 0x01, 0x75, 0x03, 0xe9, 0x61, 0x02, 0x68, 0x6f, 0x2c, 0xe9, 0x5b,
- 0x02, 0x89, 0x86, 0xe0, 0x04, 0x86, 0xc4, 0x89, 0x86, 0x0e, 0x02, 0xb9, 0x2a, 0x00, 0xe8, 0xad,
- 0x01, 0x72, 0x19, 0x8d, 0xb6, 0xc6, 0x04, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3,
- 0xa5, 0x80, 0xbe, 0x83, 0x02, 0x01, 0x75, 0x08, 0xe9, 0x31, 0x02, 0x90, 0xe9, 0x22, 0x01, 0x90,
- 0x68, 0x6f, 0x2c, 0xe9, 0x26, 0x02, 0xb9, 0x18, 0x00, 0xe8, 0x82, 0x01, 0x73, 0x03, 0xe9, 0x3e,
- 0xff, 0x8d, 0xb6, 0x64, 0x05, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0xe9,
- 0x0a, 0x02, 0xb9, 0x24, 0x00, 0xe8, 0x66, 0x01, 0x73, 0x03, 0xe9, 0x22, 0xff, 0x8b, 0x86, 0x0e,
- 0x05, 0x86, 0xc4, 0x89, 0x86, 0x26, 0x02, 0x8d, 0xb6, 0xf0, 0x04, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e,
- 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0xe9, 0xe4, 0x01, 0xb9, 0x1c, 0x00, 0xe8, 0x40, 0x01, 0x73, 0x03,
- 0xe9, 0xfc, 0xfe, 0x8d, 0xb6, 0x14, 0x05, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3,
- 0xa5, 0xe9, 0xc8, 0x01, 0xb9, 0x18, 0x00, 0xe8, 0x24, 0x01, 0x73, 0x03, 0xe9, 0xe0, 0xfe, 0x8d,
- 0xb6, 0x30, 0x05, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0xe9, 0xac, 0x01,
- 0xb9, 0x1c, 0x00, 0x50, 0xe8, 0x07, 0x01, 0x58, 0x73, 0x03, 0xe9, 0xc2, 0xfe, 0x8d, 0xb6, 0x48,
- 0x05, 0x8b, 0xfb, 0x8c, 0xd8, 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0xe9, 0x8e, 0x01, 0x8b, 0x4f,
- 0x04, 0x53, 0xe8, 0xe9, 0x00, 0x5e, 0x72, 0x17, 0x89, 0x9e, 0x38, 0x02, 0x8b, 0xfb, 0x8c, 0xd8,
- 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0xc7, 0x86, 0x3a, 0x02, 0x01, 0x00, 0xe9, 0x6d, 0x01, 0xe9,
- 0x54, 0x11, 0xb9, 0x18, 0x00, 0xe8, 0xc6, 0x00, 0x8d, 0xb6, 0xa8, 0x03, 0x8b, 0xfb, 0x8c, 0xd8,
- 0x8e, 0xc0, 0xd1, 0xe9, 0xf3, 0xa5, 0x33, 0xc0, 0x8d, 0x7f, 0x08, 0xb9, 0x06, 0x00, 0xf3, 0xab,
- 0xe9, 0x49, 0x01, 0x53, 0x8b, 0x9e, 0xb0, 0x01, 0x8b, 0xb6, 0xae, 0x01, 0x3b, 0xde, 0x74, 0x15,
- 0x8a, 0x47, 0x17, 0xf6, 0x44, 0x0e, 0x80, 0x75, 0x0e, 0x38, 0x44, 0x17, 0x75, 0x09, 0x8b, 0x74,
- 0x02, 0x89, 0xb6, 0xae, 0x01, 0xeb, 0x1a, 0x8b, 0xfe, 0x8b, 0x74, 0x02, 0x3b, 0xde, 0x74, 0x11,
- 0xf6, 0x44, 0x0e, 0x80, 0x75, 0xf1, 0x38, 0x44, 0x17, 0x75, 0xec, 0x8b, 0x44, 0x02, 0x89, 0x45,
- 0x02, 0x5b, 0xc3, 0xe8, 0x50, 0xdd, 0xc6, 0x86, 0x83, 0x02, 0x00, 0x8d, 0xb6, 0xa6, 0x01, 0x8d,
- 0xbe, 0xac, 0x01, 0x8c, 0xd8, 0x8e, 0xc0, 0xa5, 0xa5, 0xa5, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e,
- 0x00, 0x00, 0x00, 0x16, 0x8d, 0x9e, 0x52, 0x12, 0x89, 0x9e, 0xa8, 0x01, 0x89, 0x9e, 0xaa, 0x01,
- 0xc7, 0x07, 0x30, 0x80, 0xc7, 0x47, 0x04, 0x00, 0x00, 0x83, 0xc3, 0x08, 0x89, 0x9e, 0xa6, 0x01,
- 0xc6, 0x86, 0x86, 0x02, 0x01, 0x83, 0xc1, 0x02, 0xeb, 0x4a, 0x8b, 0x9e, 0xac, 0x01, 0x8b, 0xb6,
- 0xae, 0x01, 0xeb, 0x29, 0x80, 0xbe, 0x83, 0x02, 0x01, 0x74, 0xa8, 0x8d, 0x96, 0x52, 0x15, 0x8d,
- 0xbe, 0x52, 0x12, 0x8b, 0x9e, 0xa6, 0x01, 0x8b, 0xb6, 0xa8, 0x01, 0xeb, 0x18, 0x90, 0x8b, 0x9e,
- 0xa6, 0x01, 0x8b, 0xb6, 0xa8, 0x01, 0x80, 0xbe, 0x83, 0x02, 0x01, 0x75, 0xcd, 0x8d, 0x96, 0x52,
- 0x12, 0x8d, 0xbe, 0x52, 0x09, 0x83, 0xc1, 0x02, 0x3b, 0xde, 0x73, 0x17, 0x8b, 0xc6, 0x2b, 0xc3,
- 0x3b, 0xc1, 0x72, 0x25, 0xc7, 0x07, 0x00, 0x00, 0x83, 0xc3, 0x02, 0xc7, 0x07, 0x00, 0x00, 0x83,
- 0xe9, 0x02, 0xc3, 0x8b, 0xc2, 0x2b, 0xc3, 0x3b, 0xc1, 0x72, 0x02, 0xeb, 0xe7, 0x8b, 0xdf, 0x8b,
- 0xc6, 0x2b, 0xc3, 0x3b, 0xc1, 0x72, 0x02, 0xeb, 0xdb, 0x3b, 0xb6, 0xae, 0x01, 0x74, 0x11, 0x80,
- 0xbe, 0x5e, 0x02, 0x01, 0x75, 0x05, 0x83, 0x8e, 0xda, 0x02, 0x02, 0xe8, 0x5c, 0x01, 0xf9, 0xc3,
- 0x8b, 0x74, 0x02, 0x89, 0xb6, 0xae, 0x01, 0x3b, 0xdd, 0x74, 0x04, 0x3b, 0xde, 0x77, 0xc4, 0x8b,
- 0xc6, 0x2b, 0xc3, 0x3b, 0xc1, 0x72, 0xe9, 0x89, 0xb6, 0xae, 0x01, 0xeb, 0xa7, 0x8b, 0xb6, 0xb0,
- 0x01, 0x89, 0x5c, 0x02, 0x80, 0x4c, 0x05, 0x80, 0x89, 0x9e, 0xb0, 0x01, 0x03, 0x5f, 0x04, 0x83,
- 0xc3, 0x06, 0x89, 0x9e, 0xac, 0x01, 0xc6, 0x86, 0x87, 0x02, 0x01, 0xc3, 0x80, 0xbe, 0x83, 0x02,
- 0x01, 0x75, 0xda, 0x8e, 0x46, 0x02, 0x26, 0xa1, 0x0c, 0x00, 0x0c, 0x02, 0x80, 0xbe, 0x86, 0x02,
- 0x01, 0x74, 0x27, 0x8b, 0xb6, 0xaa, 0x01, 0x89, 0x5c, 0x02, 0x80, 0x4c, 0x05, 0x80, 0x83, 0xc8,
- 0x04, 0x25, 0xff, 0xf7, 0x8e, 0x46, 0x02, 0x26, 0xa3, 0x0c, 0x00, 0x89, 0x9e, 0xaa, 0x01, 0x03,
- 0x5f, 0x04, 0x83, 0xc3, 0x06, 0x89, 0x9e, 0xa6, 0x01, 0xc3, 0x8e, 0x46, 0x02, 0x89, 0x9e, 0xa8,
- 0x01, 0x26, 0x89, 0x1e, 0x2c, 0x00, 0x83, 0xc8, 0x08, 0x25, 0xff, 0xf7, 0xc6, 0x86, 0x86, 0x02,
- 0x00, 0xeb, 0xd1, 0x53, 0xf6, 0x86, 0x83, 0x02, 0x01, 0x74, 0x0c, 0x8e, 0x46, 0x02, 0x26, 0x83,
- 0x26, 0x0c, 0x00, 0xfe, 0xe8, 0x8c, 0xfe, 0x5b, 0xc3, 0x90, 0xe9, 0xac, 0x00, 0x90, 0x80, 0xbe,
- 0x83, 0x02, 0x00, 0x75, 0xf5, 0x50, 0xfa, 0x8d, 0xb6, 0xac, 0x01, 0x8d, 0xbe, 0xa6, 0x01, 0x8c,
- 0xd8, 0x8e, 0xc0, 0xa5, 0xa5, 0xa5, 0x80, 0xbe, 0x63, 0x01, 0x01, 0x75, 0x16, 0x8e, 0x46, 0x02,
- 0x26, 0x81, 0x0e, 0x00, 0x00, 0x00, 0x02, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x00, 0x00, 0xff,
- 0xe3, 0xeb, 0x27, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x00, 0x00, 0x00, 0x02, 0xf6, 0x86, 0xaa,
- 0x02, 0x01, 0x74, 0x0c, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x00, 0x00, 0x00, 0x1c, 0xeb, 0x0a,
- 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x00, 0x00, 0xff, 0xe3, 0x33, 0xc0, 0x89, 0x86, 0xae, 0x01,
- 0x40, 0x88, 0x86, 0x83, 0x02, 0x58, 0xf6, 0x86, 0x54, 0x02, 0x01, 0x74, 0x0a, 0xe8, 0x01, 0xe5,
- 0x8e, 0x46, 0x02, 0x26, 0xa2, 0x1c, 0x00, 0x8b, 0x9e, 0xa8, 0x01, 0x83, 0x3f, 0x00, 0x74, 0x03,
- 0xe8, 0x89, 0x00, 0xf6, 0x86, 0x87, 0x02, 0x01, 0x74, 0x19, 0x8e, 0x46, 0x02, 0x26, 0x89, 0x1e,
- 0x2c, 0x00, 0xc6, 0x86, 0x87, 0x02, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x0c, 0x00, 0x08,
- 0xfb, 0xeb, 0x06, 0xc6, 0x86, 0x86, 0x02, 0x01, 0xfb, 0xc3, 0x56, 0x8d, 0xb6, 0x52, 0x09, 0xc7,
- 0x86, 0xa6, 0x01, 0x5a, 0x09, 0x01, 0xae, 0xa6, 0x01, 0x89, 0xb6, 0xa8, 0x01, 0x89, 0xb6, 0xaa,
- 0x01, 0xc7, 0x04, 0x30, 0x80, 0xc7, 0x44, 0x04, 0x00, 0x00, 0xc6, 0x86, 0x86, 0x02, 0x01, 0x5e,
- 0xc3, 0xff, 0xa4, 0x1e, 0x04, 0x80, 0x7e, 0x06, 0x46, 0x75, 0x1c, 0xf6, 0x86, 0x76, 0x02, 0x01,
- 0x74, 0x15, 0xff, 0x8e, 0xcc, 0x02, 0x75, 0x0f, 0xc6, 0x86, 0x76, 0x02, 0x00, 0xc6, 0x86, 0x6b,
- 0x02, 0x00, 0xe8, 0xb5, 0xe2, 0xeb, 0x10, 0x83, 0xfe, 0x10, 0x74, 0x07, 0x83, 0xfe, 0x0e, 0x74,
- 0x02, 0xeb, 0x04, 0xff, 0xa4, 0x1e, 0x04, 0xc3, 0x8b, 0x9e, 0xa8, 0x01, 0x8b, 0x07, 0xfb, 0xa9,
- 0x00, 0x80, 0x75, 0x46, 0x8b, 0x77, 0x17, 0x81, 0xe6, 0xff, 0x00, 0xf7, 0x86, 0x3a, 0x02, 0x01,
- 0x00, 0x74, 0x1b, 0x3b, 0x9e, 0x38, 0x02, 0x75, 0x15, 0x89, 0x86, 0x74, 0x15, 0x50, 0x53, 0x56,
- 0xe8, 0x43, 0x0e, 0x5e, 0x5b, 0x58, 0xc7, 0x86, 0x3a, 0x02, 0x00, 0x00, 0xeb, 0x18, 0xf7, 0x46,
- 0x14, 0xff, 0xff, 0x74, 0x11, 0x83, 0xfe, 0x2a, 0x77, 0x0c, 0xd1, 0xe6, 0x68, 0x82, 0x2f, 0xff,
- 0x66, 0x14, 0x5b, 0x83, 0xc4, 0x02, 0x81, 0x0f, 0x00, 0x80, 0xfa, 0xf6, 0x47, 0x05, 0x80, 0x74,
- 0x1a, 0x8b, 0x5f, 0x02, 0x89, 0x9e, 0xa8, 0x01, 0xf7, 0x07, 0x10, 0x00, 0x74, 0x0d, 0xff, 0x86,
- 0x3a, 0x01, 0x83, 0xbe, 0x3a, 0x01, 0x06, 0x77, 0x0f, 0xeb, 0x91, 0xc6, 0x86, 0xb8, 0x01, 0x00,
- 0xc7, 0x86, 0x3a, 0x01, 0x00, 0x00, 0xfb, 0xc3, 0xe8, 0xdf, 0xdd, 0xf7, 0xc6, 0xff, 0xff, 0x74,
- 0xea, 0xc7, 0x44, 0x02, 0x03, 0x00, 0xc6, 0x86, 0xb8, 0x01, 0x01, 0x8d, 0x7e, 0x16, 0xe8, 0xe7,
- 0xdd, 0xeb, 0xdd, 0xa9, 0x20, 0x00, 0x75, 0x74, 0xf7, 0x47, 0x04, 0x00, 0x80, 0x74, 0x05, 0xe8,
- 0x08, 0x00, 0x72, 0x9f, 0x53, 0x68, 0x7e, 0x2f, 0xff, 0xe6, 0x8a, 0x47, 0x17, 0x8b, 0xfb, 0x8b,
- 0x7d, 0x02, 0x38, 0x45, 0x17, 0x74, 0x09, 0xf7, 0x45, 0x04, 0x00, 0x80, 0x75, 0xf1, 0xf8, 0xc3,
- 0xf9, 0xc3, 0xa9, 0x20, 0x00, 0x75, 0x05, 0xa9, 0x00, 0x10, 0x75, 0x0c, 0x33, 0xc9, 0xa9, 0x05,
- 0x00, 0x75, 0x0a, 0xa9, 0x0a, 0x04, 0x74, 0x05, 0x8b, 0x0d, 0xe3, 0x01, 0x49, 0x89, 0x0d, 0xc3,
- 0x53, 0x8b, 0x4f, 0x04, 0x80, 0xe5, 0x7f, 0x89, 0x4f, 0x04, 0x83, 0xc1, 0x06, 0xe8, 0xee, 0xfc,
- 0x72, 0x19, 0x5e, 0x56, 0x8b, 0xfb, 0xd1, 0xe9, 0x83, 0xe9, 0x02, 0x83, 0xc6, 0x04, 0x83, 0xc7,
- 0x04, 0x8c, 0xd8, 0x8e, 0xc0, 0xf3, 0xa5, 0xe8, 0x72, 0xfd, 0xf8, 0x5b, 0xc3, 0x80, 0x7e, 0x08,
- 0x02, 0x75, 0x0b, 0xa9, 0x20, 0x00, 0x75, 0x06, 0xc7, 0x86, 0xc8, 0x01, 0x01, 0x00, 0xc3, 0x8a,
- 0x56, 0x06, 0x80, 0xfa, 0x02, 0x74, 0x17, 0x80, 0xfa, 0x44, 0x74, 0x12, 0x83, 0x7e, 0x08, 0x08,
- 0x75, 0x18, 0x80, 0xfa, 0x0c, 0x74, 0x07, 0x80, 0xfa, 0x0e, 0x74, 0x02, 0xeb, 0x0b, 0xa9, 0x20,
- 0x00, 0x75, 0x06, 0xb8, 0x01, 0x00, 0xe8, 0x74, 0xec, 0xc3, 0xb9, 0x05, 0x00, 0xa9, 0x20, 0x00,
- 0x74, 0x09, 0xb9, 0x08, 0x00, 0xa9, 0x0f, 0x00, 0x75, 0x01, 0xc3, 0xff, 0x86, 0xc4, 0x02, 0x83,
- 0xbe, 0xc4, 0x02, 0x02, 0x72, 0x06, 0x8b, 0xc1, 0xe8, 0x52, 0xec, 0xc3, 0xe8, 0x55, 0xf8, 0xc3,
- 0x53, 0x68, 0x7e, 0x2f, 0xe9, 0xc7, 0xf8, 0x80, 0x7e, 0x06, 0x0c, 0x75, 0x1d, 0xa9, 0x00, 0x10,
- 0x75, 0xee, 0xa9, 0x20, 0x00, 0x75, 0x00, 0xa8, 0x0a, 0x75, 0x10, 0xff, 0x86, 0xba, 0x02, 0x83,
- 0xbe, 0xba, 0x02, 0x04, 0x72, 0xda, 0xc6, 0x46, 0x07, 0x0e, 0xc3, 0x83, 0xbe, 0xb8, 0x02, 0x04,
- 0x73, 0xf8, 0xbe, 0x85, 0x45, 0xe8, 0xb2, 0xde, 0xeb, 0xf0, 0x8d, 0xbe, 0xbe, 0x02, 0xe8, 0x11,
- 0xff, 0x0b, 0xc9, 0x74, 0xe5, 0x53, 0x68, 0x7e, 0x2f, 0xe9, 0x82, 0xf8, 0x8d, 0xbe, 0xb6, 0x02,
- 0xe8, 0xff, 0xfe, 0x0b, 0xc9, 0x74, 0x03, 0xe9, 0x16, 0xff, 0xc3, 0x53, 0x8a, 0x56, 0x06, 0x80,
- 0xfa, 0x02, 0x74, 0x17, 0x80, 0xfa, 0x44, 0x74, 0x12, 0x80, 0x7e, 0x08, 0x08, 0x75, 0x2d, 0x80,
- 0xfa, 0x0c, 0x74, 0x07, 0x80, 0xfa, 0x0e, 0x74, 0x02, 0xeb, 0x21, 0xa9, 0x20, 0x00, 0x74, 0x1e,
- 0x8b, 0x96, 0x66, 0x01, 0x4a, 0x89, 0x96, 0x66, 0x01, 0x83, 0xfa, 0x01, 0x77, 0x23, 0xbe, 0x6d,
- 0x45, 0xe8, 0x56, 0xde, 0xc6, 0x86, 0x86, 0x02, 0x01, 0xe8, 0xb8, 0xf7, 0x5b, 0xc3, 0xfe, 0x8e,
- 0x68, 0x01, 0x80, 0x8e, 0x68, 0x01, 0x00, 0x75, 0x08, 0xb8, 0x01, 0x00, 0xe8, 0x9e, 0xeb, 0xeb,
- 0xeb, 0xbe, 0x6d, 0x45, 0xe8, 0x33, 0xde, 0x8b, 0xb6, 0x64, 0x01, 0xb9, 0xe8, 0x03, 0xc6, 0x86,
- 0x86, 0x02, 0x01, 0xfa, 0xe8, 0xa6, 0xf7, 0xeb, 0xd3, 0xa9, 0x20, 0x00, 0x74, 0x41, 0xa9, 0x0f,
- 0x00, 0x75, 0x25, 0xc6, 0x86, 0x65, 0x02, 0x01, 0xc6, 0x86, 0x66, 0x02, 0x01, 0x8c, 0xd8, 0x8e,
- 0xc0, 0x33, 0xc0, 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0xee, 0x01, 0xab, 0xab, 0xab, 0x8b, 0x86, 0x06,
- 0x02, 0x83, 0x8e, 0x06, 0x02, 0x40, 0xeb, 0x17, 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0xee, 0x01, 0x8c,
- 0xd8, 0x8e, 0xc0, 0xa5, 0xa5, 0xa5, 0x8b, 0x86, 0x06, 0x02, 0x83, 0xa6, 0x06, 0x02, 0xbf, 0x33,
- 0x86, 0x06, 0x02, 0x74, 0x05, 0xc6, 0x86, 0x85, 0x02, 0x01, 0xc3, 0xfb, 0xc3, 0xff, 0xa4, 0xc6,
- 0x03, 0x53, 0x56, 0xf7, 0x07, 0x00, 0x10, 0x74, 0x0a, 0x8b, 0xc7, 0x80, 0x7e, 0x06, 0x44, 0x74,
- 0x49, 0xeb, 0x44, 0x8b, 0xc7, 0x8b, 0x49, 0x16, 0x80, 0xf9, 0x00, 0x74, 0x05, 0x80, 0xf9, 0x03,
- 0x75, 0x38, 0x8d, 0xbe, 0x0a, 0x03, 0x83, 0x3d, 0x00, 0x75, 0x0c, 0x83, 0x7d, 0x02, 0x00, 0x75,
- 0x06, 0x83, 0x7d, 0x04, 0x00, 0x74, 0x23, 0x8b, 0xf8, 0x8d, 0x71, 0x0e, 0x8d, 0xbe, 0x0a, 0x03,
- 0x8c, 0xd8, 0x8e, 0xc0, 0xb9, 0x03, 0x00, 0xf3, 0xa7, 0x74, 0x0f, 0xc7, 0x86, 0x2a, 0x02, 0x0e,
- 0x00, 0xb8, 0x0b, 0x00, 0xe8, 0xd6, 0xea, 0x5e, 0x5b, 0xc3, 0x8b, 0xf8, 0x5e, 0x5b, 0xff, 0xa4,
- 0xf2, 0x03, 0xff, 0x86, 0x48, 0x02, 0xc7, 0x86, 0x2a, 0x02, 0x06, 0x00, 0x8c, 0xd8, 0x8e, 0xc0,
- 0x8d, 0xbe, 0xfc, 0x01, 0x8d, 0x77, 0x0e, 0xb9, 0x03, 0x00, 0xf3, 0xa5, 0x8b, 0xb6, 0xc4, 0x05,
- 0x8b, 0x04, 0x86, 0xe0, 0x89, 0x86, 0x02, 0x02, 0x89, 0x86, 0x12, 0x02, 0x8b, 0xb6, 0xc9, 0x05,
- 0x8b, 0x04, 0x89, 0x86, 0x16, 0x02, 0x8b, 0x44, 0x02, 0x89, 0x86, 0x18, 0x02, 0x8b, 0x44, 0x04,
- 0x89, 0x86, 0x1a, 0x02, 0x8b, 0xb6, 0xce, 0x05, 0x8b, 0x04, 0x89, 0x86, 0x20, 0x02, 0x8b, 0x44,
- 0x02, 0x89, 0x86, 0x22, 0x02, 0x8b, 0xb6, 0xc4, 0x05, 0x8b, 0x04, 0x80, 0x7e, 0x08, 0x06, 0x75,
- 0x56, 0xf7, 0x07, 0x00, 0x10, 0x74, 0x14, 0xf6, 0x47, 0x06, 0x08, 0x75, 0x0b, 0x80, 0xbe, 0x5f,
- 0x02, 0x00, 0x75, 0x04, 0xc6, 0x46, 0x09, 0x04, 0xe9, 0x1b, 0x01, 0x3b, 0x86, 0x00, 0x03, 0x77,
- 0xf7, 0x80, 0xbe, 0x5e, 0x02, 0x01, 0x74, 0x10, 0x80, 0x7e, 0x06, 0x0c, 0x75, 0xea, 0xc6, 0x46,
- 0x07, 0x10, 0xc6, 0x46, 0x09, 0x1e, 0xeb, 0xe0, 0x80, 0xbe, 0x5f, 0x02, 0x00, 0x75, 0xd9, 0xc6,
- 0x46, 0x09, 0x0a, 0xf6, 0x86, 0x07, 0x02, 0x10, 0x74, 0xce, 0x80, 0xa6, 0x07, 0x02, 0x6f, 0xc6,
- 0x86, 0x85, 0x02, 0x01, 0xe9, 0xdf, 0x00, 0x80, 0x7e, 0x08, 0x0a, 0x75, 0x5b, 0xc6, 0x86, 0x54,
- 0x02, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x0c, 0x00, 0xbf, 0xbe, 0x49, 0x45, 0xe8, 0x99,
- 0xdc, 0x8b, 0xb6, 0xc9, 0x05, 0x8d, 0xbe, 0xf4, 0x02, 0x8c, 0xd9, 0x8e, 0xc1, 0xb9, 0x03, 0x00,
- 0xf3, 0xa7, 0x75, 0x21, 0x83, 0xf8, 0x01, 0x74, 0x1c, 0xff, 0x8e, 0xb0, 0x02, 0x75, 0x13, 0xf6,
- 0x86, 0x58, 0x02, 0x01, 0x75, 0x0c, 0xc6, 0x86, 0x58, 0x02, 0x01, 0xc6, 0x46, 0x09, 0x08, 0xe9,
- 0x94, 0x00, 0xe9, 0x91, 0x00, 0xc7, 0x86, 0xb0, 0x02, 0x08, 0x00, 0x83, 0xf8, 0x01, 0x75, 0x0a,
- 0xc7, 0x86, 0xae, 0x02, 0x02, 0x00, 0xeb, 0x7e, 0xeb, 0x2e, 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0x0a,
- 0x03, 0x8c, 0xd9, 0x8e, 0xc1, 0xb9, 0x03, 0x00, 0xf3, 0xa7, 0x75, 0xe4, 0xff, 0x8e, 0xae, 0x02,
- 0x75, 0x14, 0xc7, 0x86, 0xae, 0x02, 0x02, 0x00, 0xc6, 0x86, 0x54, 0x02, 0x01, 0x8e, 0x46, 0x02,
- 0x26, 0x83, 0x0e, 0x0c, 0x00, 0x40, 0xeb, 0x4e, 0x80, 0xbe, 0x5e, 0x02, 0x00, 0x74, 0x0c, 0x80,
- 0x7e, 0x08, 0x08, 0x74, 0x41, 0xc6, 0x46, 0x09, 0x0a, 0xeb, 0x3b, 0xb7, 0x10, 0x8a, 0x5e, 0x06,
- 0x80, 0xfb, 0x06, 0x74, 0x1f, 0x80, 0xfb, 0x08, 0x74, 0x1a, 0x80, 0xfb, 0x04, 0x74, 0x15, 0x80,
- 0xfb, 0x0c, 0x74, 0x10, 0x80, 0xfb, 0x0a, 0x75, 0x07, 0xc6, 0x86, 0x5b, 0x02, 0x00, 0xeb, 0x04,
- 0xb7, 0x12, 0xeb, 0x12, 0x88, 0x7e, 0x07, 0x80, 0xff, 0x12, 0x75, 0x04, 0xc6, 0x46, 0x09, 0x1e,
- 0xb8, 0x07, 0x00, 0xe8, 0x37, 0xe9, 0xc3, 0xff, 0x86, 0x48, 0x02, 0xc7, 0x86, 0x2a, 0x02, 0x06,
- 0x00, 0x8c, 0xd8, 0x8e, 0xc0, 0x8d, 0xbe, 0xfc, 0x01, 0x8d, 0x77, 0x0e, 0xb9, 0x03, 0x00, 0xf3,
- 0xa5, 0x80, 0x7e, 0x06, 0x48, 0x74, 0x08, 0xb8, 0x06, 0x00, 0xe8, 0x10, 0xe9, 0xeb, 0x30, 0xf6,
- 0x86, 0x6e, 0x02, 0x01, 0x74, 0x1f, 0x80, 0x7e, 0x08, 0x16, 0x75, 0x19, 0xc6, 0x46, 0x09, 0x1a,
- 0xc6, 0x86, 0x72, 0x02, 0x00, 0xc6, 0x86, 0x68, 0x02, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26,
- 0x0c, 0x00, 0xfe, 0xeb, 0x0a, 0x80, 0x7e, 0x08, 0x18, 0x75, 0x04, 0xc6, 0x46, 0x09, 0x1a, 0xc3,
- 0x8a, 0x4e, 0x06, 0x80, 0xbe, 0xa7, 0x02, 0x01, 0x74, 0x02, 0xeb, 0x06, 0xb8, 0x06, 0x00, 0xe8,
- 0xcb, 0xe8, 0xc3, 0x80, 0x7e, 0x06, 0x42, 0x75, 0x42, 0x8b, 0x47, 0x1a, 0x83, 0xf8, 0x00, 0x75,
- 0x27, 0xf6, 0x86, 0x7e, 0x02, 0x01, 0x75, 0x18, 0xf7, 0x86, 0xf4, 0x00, 0x00, 0x10, 0x74, 0x10,
- 0xb8, 0x02, 0x00, 0xe8, 0x73, 0x10, 0xc6, 0x46, 0x09, 0x1e, 0xc6, 0x46, 0x07, 0x02, 0xeb, 0x1b,
- 0xb8, 0x06, 0x00, 0xe8, 0x97, 0xe8, 0xeb, 0x13, 0x3d, 0x00, 0x02, 0x75, 0x0e, 0xc6, 0x86, 0x77,
- 0x02, 0x01, 0xe8, 0x6b, 0x06, 0xbe, 0xe5, 0x45, 0xe8, 0x1f, 0xdb, 0xc3, 0xc7, 0x86, 0x2a, 0x02,
- 0x02, 0x00, 0x80, 0x7e, 0x06, 0x46, 0x75, 0x2b, 0x8b, 0x47, 0x1a, 0x83, 0xf8, 0x00, 0x75, 0x10,
- 0xc6, 0x46, 0x07, 0x48, 0x80, 0x7e, 0x08, 0x1c, 0x75, 0x19, 0xc6, 0x46, 0x09, 0x16, 0xeb, 0x13,
- 0x86, 0xc4, 0x3d, 0x20, 0x80, 0x75, 0x0c, 0xc7, 0x86, 0x2a, 0x02, 0x11, 0x00, 0xb8, 0x08, 0x00,
- 0xe8, 0x4a, 0xe8, 0xc3, 0xc7, 0x86, 0x2a, 0x02, 0x0f, 0x00, 0x80, 0x7e, 0x06, 0x44, 0x74, 0x06,
- 0x80, 0x7e, 0x06, 0x42, 0x75, 0x08, 0xb8, 0x06, 0x00, 0xe8, 0x31, 0xe8, 0xeb, 0x0d, 0xf6, 0x86,
- 0x72, 0x02, 0x01, 0x74, 0x06, 0xbe, 0xf1, 0x45, 0xe8, 0xbf, 0xda, 0xc3, 0x80, 0x7e, 0x06, 0x44,
- 0x75, 0x14, 0xe8, 0xb5, 0xd8, 0xc7, 0x44, 0x02, 0x02, 0x00, 0x8d, 0x7e, 0x16, 0xe8, 0xc8, 0xd8,
- 0xbe, 0x6d, 0x45, 0xe8, 0x56, 0xdb, 0xc3, 0xf7, 0x86, 0xf6, 0x00, 0x40, 0x00, 0x74, 0x18, 0xf7,
- 0x86, 0xf4, 0x00, 0x00, 0x20, 0x74, 0x10, 0x80, 0x7e, 0x06, 0x08, 0x72, 0x0a, 0x80, 0x7e, 0x06,
- 0x0e, 0x77, 0x04, 0xc6, 0x46, 0x07, 0x14, 0xc3, 0xff, 0x86, 0x4c, 0x02, 0xc7, 0x86, 0x2a, 0x02,
- 0x0b, 0x00, 0x8a, 0x86, 0x54, 0x02, 0x88, 0x86, 0x80, 0x02, 0xc7, 0x86, 0xc2, 0x02, 0x00, 0x00,
- 0xc6, 0x86, 0x61, 0x02, 0x00, 0x83, 0x8e, 0x06, 0x02, 0x20, 0x81, 0xa6, 0x06, 0x02, 0xff, 0x2f,
- 0xc6, 0x86, 0x85, 0x02, 0x01, 0xf6, 0x86, 0x54, 0x02, 0x01, 0x74, 0x38, 0xc6, 0x86, 0x80, 0x02,
- 0x00, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x24, 0x00, 0xff, 0x7f, 0x80, 0x7e, 0x0a, 0x00, 0x75,
- 0x0a, 0xc6, 0x86, 0x69, 0x02, 0x00, 0xc6, 0x86, 0x6b, 0x02, 0x00, 0x8a, 0xa6, 0x80, 0x02, 0x88,
- 0xa6, 0x54, 0x02, 0xe8, 0x64, 0xdc, 0x88, 0x86, 0x54, 0x02, 0xc6, 0x46, 0x09, 0x0c, 0xc7, 0x86,
- 0xc6, 0x01, 0x00, 0x01, 0x80, 0x7e, 0x06, 0x04, 0x75, 0x04, 0xc6, 0x46, 0x07, 0x06, 0x80, 0x7e,
- 0x08, 0x02, 0x75, 0x04, 0xc6, 0x46, 0x09, 0x0c, 0x80, 0x7e, 0x08, 0x06, 0x74, 0x05, 0xc6, 0x86,
- 0x5a, 0x02, 0x01, 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0xf4, 0x02, 0x8c, 0xd9, 0x8e, 0xc1, 0xb9, 0x06,
- 0x00, 0xf3, 0xa6, 0x74, 0x08, 0x77, 0x03, 0xe9, 0x95, 0x00, 0xe9, 0xfe, 0x00, 0xf6, 0x47, 0x06,
- 0x08, 0x75, 0x59, 0x80, 0x7e, 0x08, 0x04, 0x75, 0x53, 0x8b, 0xb6, 0xd4, 0x05, 0x8d, 0xbe, 0x0a,
- 0x03, 0x8c, 0xd9, 0x8e, 0xc1, 0xb9, 0x03, 0x00, 0xb8, 0x01, 0x00, 0xf3, 0xa7, 0x74, 0x02, 0xeb,
- 0x3e, 0xff, 0x86, 0xb4, 0x02, 0x83, 0xbe, 0xb4, 0x02, 0x03, 0x72, 0x30, 0x83, 0xbe, 0xb2, 0x02,
- 0x03, 0x72, 0x29, 0xc6, 0x46, 0x09, 0x02, 0xc6, 0x86, 0x80, 0x02, 0x01, 0x8e, 0x46, 0x02, 0x26,
- 0x81, 0x0e, 0x24, 0x00, 0x00, 0x80, 0x8a, 0x86, 0x54, 0x02, 0x8a, 0xa6, 0x80, 0x02, 0x88, 0xa6,
- 0x54, 0x02, 0xe8, 0xc5, 0xdb, 0x88, 0x86, 0x54, 0x02, 0xe8, 0xc4, 0xf4, 0xe9, 0xec, 0x00, 0x80,
- 0x7e, 0x0a, 0x00, 0x75, 0x1d, 0xc6, 0x86, 0x69, 0x02, 0x00, 0xc6, 0x86, 0x6b, 0x02, 0x00, 0x8a,
- 0x86, 0x54, 0x02, 0x8a, 0xa6, 0x80, 0x02, 0x88, 0xa6, 0x54, 0x02, 0xe8, 0x9c, 0xdb, 0x88, 0x86,
- 0x54, 0x02, 0xc6, 0x46, 0x09, 0x0c, 0xb8, 0x00, 0x03, 0xe8, 0x15, 0xf5, 0xe9, 0xbc, 0x00, 0x80,
- 0x7e, 0x08, 0x00, 0x75, 0x3d, 0xf6, 0x86, 0x54, 0x02, 0x01, 0x75, 0x16, 0xf6, 0x86, 0x68, 0x02,
- 0x01, 0x74, 0x16, 0xf6, 0x86, 0x5e, 0x02, 0x01, 0x74, 0x08, 0xf7, 0x86, 0x12, 0x01, 0x00, 0x01,
- 0x75, 0x16, 0xc6, 0x46, 0x09, 0x0c, 0xe9, 0x92, 0x00, 0xf6, 0x86, 0x5e, 0x02, 0x01, 0x74, 0x9c,
- 0xf7, 0x86, 0x12, 0x01, 0x00, 0x01, 0x74, 0x94, 0xc6, 0x46, 0x09, 0x04, 0xff, 0x86, 0x4a, 0x02,
- 0xeb, 0x79, 0x80, 0x7e, 0x08, 0x0a, 0x75, 0x73, 0xf6, 0x86, 0x5f, 0x02, 0x01, 0x75, 0x0e, 0xf7,
- 0x86, 0x12, 0x01, 0x00, 0x01, 0x75, 0x06, 0xc6, 0x46, 0x09, 0x0c, 0xeb, 0x5e, 0xf7, 0x86, 0x12,
- 0x01, 0x00, 0x01, 0x74, 0x56, 0xc6, 0x46, 0x09, 0x04, 0xeb, 0x50, 0x80, 0x7e, 0x08, 0x04, 0x75,
- 0x2c, 0xc6, 0x46, 0x09, 0x0c, 0x80, 0x7e, 0x0a, 0x00, 0x75, 0x1d, 0xc6, 0x86, 0x69, 0x02, 0x00,
- 0xc6, 0x86, 0x6b, 0x02, 0x00, 0x8a, 0x86, 0x54, 0x02, 0x8a, 0xa6, 0x80, 0x02, 0x88, 0xa6, 0x54,
- 0x02, 0xe8, 0xf6, 0xda, 0x88, 0x86, 0x54, 0x02, 0xe8, 0x71, 0xf1, 0xeb, 0x1e, 0x80, 0x7e, 0x08,
- 0x00, 0x75, 0x09, 0xf6, 0x86, 0x68, 0x02, 0x01, 0x74, 0x02, 0xeb, 0xab, 0x80, 0x7e, 0x08, 0x0a,
- 0x75, 0x09, 0xf6, 0x86, 0x5f, 0x02, 0x01, 0x75, 0x02, 0xeb, 0x9c, 0x8a, 0x86, 0x80, 0x02, 0x88,
- 0x86, 0x54, 0x02, 0xc3, 0xc7, 0x86, 0xbc, 0x02, 0x02, 0x00, 0xff, 0x86, 0x42, 0x02, 0xc7, 0x86,
- 0x2a, 0x02, 0x0c, 0x00, 0x80, 0x7e, 0x06, 0x04, 0x74, 0x06, 0x80, 0x7e, 0x06, 0x06, 0x75, 0x04,
- 0xc6, 0x46, 0x07, 0x08, 0x80, 0x7e, 0x08, 0x00, 0x75, 0x56, 0xf6, 0x86, 0x54, 0x02, 0x01, 0x74,
- 0x3b, 0xc6, 0x86, 0x54, 0x02, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x24, 0x00, 0xff, 0x7f,
- 0xb8, 0x00, 0x02, 0xe8, 0x0b, 0xf4, 0xf6, 0x86, 0x5e, 0x02, 0x01, 0x74, 0x0c, 0xbe, 0x73, 0x45,
- 0xe8, 0x37, 0xd8, 0xbe, 0x91, 0x45, 0xe8, 0x31, 0xd8, 0x80, 0x7e, 0x0a, 0x00, 0x75, 0x0d, 0xc6,
- 0x86, 0x69, 0x02, 0x00, 0xc6, 0x86, 0x6b, 0x02, 0x00, 0xe8, 0x5e, 0xda, 0xf6, 0x86, 0x5e, 0x02,
- 0x01, 0x74, 0x34, 0xc6, 0x86, 0x58, 0x02, 0x00, 0xc6, 0x86, 0x59, 0x02, 0x00, 0xe9, 0xc9, 0x00,
- 0x80, 0x7e, 0x08, 0x0c, 0x75, 0x24, 0xc6, 0x46, 0x09, 0x00, 0xf6, 0x86, 0x5e, 0x02, 0x01, 0x74,
- 0x16, 0xbe, 0x73, 0x45, 0xe8, 0xf3, 0xd7, 0xbe, 0x91, 0x45, 0xe8, 0xed, 0xd7, 0xc6, 0x86, 0x58,
- 0x02, 0x00, 0xc6, 0x86, 0x59, 0x02, 0x00, 0xe9, 0x9f, 0x00, 0x80, 0x7e, 0x08, 0x02, 0x75, 0xf7,
- 0xc7, 0x86, 0xc8, 0x01, 0x00, 0x00, 0xc6, 0x46, 0x09, 0x00, 0xf6, 0x86, 0x5e, 0x02, 0x01, 0x74,
- 0x0a, 0xc6, 0x86, 0x58, 0x02, 0x00, 0xc6, 0x86, 0x59, 0x02, 0x00, 0x8d, 0x77, 0x0e, 0x8d, 0xbe,
- 0xf4, 0x02, 0x8c, 0xd9, 0x8e, 0xc1, 0xb9, 0x06, 0x00, 0xf3, 0xa6, 0x74, 0x2e, 0xc6, 0x86, 0x54,
- 0x02, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x24, 0x00, 0xff, 0x7f, 0x80, 0x7e, 0x0a, 0x00,
- 0x75, 0x0a, 0xc6, 0x86, 0x69, 0x02, 0x00, 0xc6, 0x86, 0x6b, 0x02, 0x00, 0xe8, 0xcb, 0xd9, 0xb8,
- 0x00, 0x02, 0xe8, 0x4c, 0xf3, 0xc6, 0x46, 0x09, 0x00, 0xeb, 0x3e, 0x8e, 0x46, 0x02, 0x26, 0xa0,
- 0x1c, 0x00, 0xc6, 0x46, 0x09, 0x00, 0xc6, 0x86, 0x69, 0x02, 0x00, 0xc6, 0x86, 0x55, 0x02, 0x00,
- 0xc6, 0x86, 0x65, 0x02, 0x00, 0xe8, 0xa2, 0xd9, 0x24, 0x07, 0xe8, 0xf1, 0xf5, 0xbe, 0x43, 0x45,
- 0xe8, 0x57, 0xd7, 0x8c, 0xd8, 0x8e, 0xc0, 0x33, 0xc0, 0x8d, 0xbe, 0xee, 0x01, 0xab, 0xab, 0xab,
- 0xe8, 0x5b, 0xf0, 0xbe, 0x91, 0x45, 0xe8, 0x41, 0xd7, 0xc3, 0x8c, 0xd8, 0x8e, 0xc0, 0xff, 0x86,
- 0x50, 0x02, 0xc7, 0x86, 0x2a, 0x02, 0x0f, 0x00, 0xf6, 0x86, 0xca, 0x01, 0x01, 0x74, 0x3b, 0xb8,
- 0x30, 0x56, 0xa3, 0x26, 0x56, 0x8d, 0x77, 0x0e, 0x8b, 0xf8, 0xa5, 0xa5, 0xa5, 0xc7, 0x06, 0x2e,
- 0x56, 0x01, 0x00, 0xc6, 0x86, 0xcb, 0x01, 0x00, 0x33, 0xff, 0xba, 0x02, 0x08, 0xe8, 0x72, 0xe8,
- 0xbf, 0x28, 0x56, 0xb9, 0x03, 0x00, 0xf3, 0xa5, 0x8d, 0x77, 0x0e, 0xbf, 0x28, 0x56, 0xb9, 0x03,
- 0x00, 0xf3, 0xa7, 0x75, 0x05, 0xe8, 0x8b, 0x04, 0xeb, 0x00, 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0xee,
- 0x01, 0xa5, 0xa5, 0xa5, 0x80, 0x7e, 0x06, 0x04, 0x75, 0x04, 0xc6, 0x46, 0x07, 0x08, 0x8b, 0x8e,
- 0xbc, 0x02, 0xe3, 0x05, 0x49, 0x89, 0x8e, 0xbc, 0x02, 0xf7, 0x07, 0x3c, 0x00, 0x75, 0x0a, 0xf6,
- 0x86, 0x68, 0x02, 0x01, 0x74, 0x03, 0xe8, 0x07, 0x02, 0xf6, 0x86, 0x54, 0x02, 0x01, 0x75, 0x03,
- 0xe9, 0x93, 0x00, 0xbe, 0x91, 0x45, 0xe8, 0xb1, 0xd6, 0xf7, 0x07, 0x00, 0x10, 0x75, 0x37, 0xc6,
- 0x86, 0x54, 0x02, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x24, 0x00, 0xff, 0x7f, 0xb8, 0x00,
- 0x02, 0xe8, 0x5d, 0xf2, 0xf6, 0x86, 0x5e, 0x02, 0x01, 0x74, 0x06, 0xbe, 0x73, 0x45, 0xe8, 0x89,
- 0xd6, 0x80, 0x7e, 0x0a, 0x00, 0x75, 0x38, 0xc6, 0x86, 0x69, 0x02, 0x00, 0xc6, 0x86, 0x6b, 0x02,
- 0x00, 0xe8, 0xb6, 0xd8, 0xeb, 0x29, 0xf7, 0x07, 0x3c, 0x00, 0x75, 0x33, 0xc6, 0x86, 0x65, 0x02,
- 0x01, 0xc6, 0x86, 0x66, 0x02, 0x01, 0x8c, 0xd8, 0x8e, 0xc0, 0x33, 0xc0, 0x8d, 0x77, 0x0e, 0x8d,
- 0xbe, 0xee, 0x01, 0xab, 0xab, 0xab, 0x8b, 0x86, 0x06, 0x02, 0xa9, 0x40, 0x00, 0x74, 0x02, 0xeb,
- 0x48, 0x83, 0xc8, 0x40, 0x89, 0x86, 0x06, 0x02, 0xc6, 0x86, 0x85, 0x02, 0x01, 0xeb, 0x3a, 0x83,
- 0xa6, 0x06, 0x02, 0xbf, 0x8c, 0xd8, 0x8e, 0xc0, 0x33, 0xc0, 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0xee,
- 0x01, 0xa5, 0xa5, 0xa5, 0xeb, 0x23, 0xf6, 0x86, 0x5e, 0x02, 0x01, 0x74, 0x06, 0xbe, 0x91, 0x45,
- 0xe8, 0x17, 0xd6, 0xc6, 0x86, 0x67, 0x02, 0x00, 0xf7, 0x07, 0x3c, 0x00, 0x75, 0x0b, 0xc6, 0x86,
- 0x67, 0x02, 0x01, 0xbe, 0x79, 0x45, 0xe8, 0x01, 0xd6, 0xc3, 0xeb, 0x61, 0x8c, 0xd8, 0x8e, 0xc0,
- 0xc7, 0x86, 0x2a, 0x02, 0x0d, 0x00, 0xf6, 0x86, 0xca, 0x01, 0x01, 0x74, 0x50, 0x33, 0xff, 0xba,
- 0x02, 0x08, 0xe8, 0x4d, 0xe7, 0x8b, 0x3e, 0x26, 0x56, 0xb9, 0x03, 0x00, 0xf3, 0xa7, 0x75, 0x3d,
- 0x81, 0xff, 0x3e, 0x5d, 0x73, 0x6f, 0x89, 0x3e, 0x26, 0x56, 0x8d, 0x77, 0x0e, 0xb9, 0x03, 0x00,
- 0xf3, 0xa7, 0x74, 0x05, 0xc6, 0x86, 0xcc, 0x01, 0x01, 0x81, 0xff, 0x3e, 0x5d, 0x73, 0x56, 0x89,
- 0x3e, 0x26, 0x56, 0x8d, 0x77, 0x0e, 0xa5, 0xa5, 0xa5, 0xff, 0x06, 0x2e, 0x56, 0x8d, 0x77, 0x0e,
- 0xbf, 0x28, 0x56, 0xb9, 0x03, 0x00, 0xf3, 0xa7, 0x75, 0x03, 0xe8, 0x36, 0x03, 0x8a, 0x86, 0x06,
- 0x02, 0xa8, 0x40, 0x75, 0x3d, 0x80, 0x7e, 0x06, 0x04, 0x75, 0x04, 0xc6, 0x46, 0x07, 0x08, 0xf7,
- 0x07, 0x3c, 0x00, 0x75, 0x3a, 0xf6, 0x86, 0x68, 0x02, 0x01, 0x74, 0x35, 0xf6, 0x86, 0x54, 0x02,
- 0x01, 0x74, 0x07, 0xf6, 0x86, 0x65, 0x02, 0x01, 0x75, 0x27, 0xe8, 0xb3, 0x00, 0xc7, 0x86, 0xbe,
- 0x02, 0x01, 0x00, 0xeb, 0x1c, 0xbf, 0x38, 0x5d, 0x33, 0xc0, 0xab, 0xab, 0xab, 0xe8, 0xf3, 0x02,
- 0xeb, 0xbb, 0x24, 0xbf, 0x88, 0x86, 0x06, 0x02, 0xc6, 0x86, 0x85, 0x02, 0x01, 0xeb, 0xb6, 0xeb,
- 0x79, 0xf6, 0x86, 0x54, 0x02, 0x01, 0x74, 0x3c, 0xf6, 0x86, 0x65, 0x02, 0x01, 0x74, 0x19, 0xf6,
- 0x86, 0x5e, 0x02, 0x01, 0x74, 0x12, 0x83, 0xbe, 0xbc, 0x02, 0x00, 0x75, 0x0b, 0x80, 0x7e, 0x08,
- 0x00, 0x75, 0x05, 0x83, 0x8e, 0xda, 0x02, 0x08, 0xc6, 0x86, 0x65, 0x02, 0x01, 0xc6, 0x86, 0x66,
- 0x02, 0x01, 0x8c, 0xd8, 0x8e, 0xc0, 0x33, 0xc0, 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0xee, 0x01, 0xab,
- 0xab, 0xab, 0xeb, 0x4b, 0xf6, 0x86, 0x68, 0x02, 0x01, 0x74, 0x44, 0xf6, 0x86, 0x67, 0x02, 0x01,
- 0x75, 0x0d, 0xc6, 0x86, 0x67, 0x02, 0x01, 0xbe, 0x79, 0x45, 0xe8, 0xed, 0xd4, 0xeb, 0x30, 0xf6,
- 0x86, 0x5e, 0x02, 0x01, 0x74, 0x12, 0x80, 0x7e, 0x08, 0x00, 0x75, 0x0c, 0x83, 0xbe, 0xbc, 0x02,
- 0x00, 0x75, 0x05, 0x83, 0x8e, 0xda, 0x02, 0x08, 0xeb, 0x15, 0xf6, 0x86, 0x54, 0x02, 0x01, 0x74,
- 0x0e, 0x8c, 0xd8, 0x8e, 0xc0, 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0xee, 0x01, 0xa5, 0xa5, 0xa5, 0xc3,
- 0x53, 0x8c, 0xd8, 0x8e, 0xc0, 0x8d, 0x77, 0x0e, 0x8d, 0xbe, 0x0a, 0x03, 0x8c, 0xd9, 0x8e, 0xc1,
- 0xb9, 0x03, 0x00, 0xf3, 0xa7, 0x74, 0x54, 0x8b, 0x44, 0xfe, 0x89, 0x45, 0xfe, 0xf3, 0xa5, 0xbb,
- 0xfc, 0x04, 0xb9, 0x0b, 0x00, 0x8d, 0xb6, 0x0a, 0x03, 0xad, 0x8b, 0x14, 0x8b, 0x74, 0x02, 0x8b,
- 0x3f, 0x03, 0xfd, 0xab, 0x89, 0x15, 0x89, 0x75, 0x02, 0x83, 0xc3, 0x02, 0xe2, 0xf1, 0xf6, 0x86,
- 0xaa, 0x02, 0x01, 0x75, 0x26, 0x8b, 0xb6, 0xd9, 0x05, 0x8d, 0xbe, 0xea, 0x01, 0xa5, 0xa5, 0x80,
- 0x7e, 0x06, 0x08, 0x76, 0x0b, 0xc7, 0x86, 0xbe, 0x02, 0x04, 0x00, 0xe8, 0xc8, 0xef, 0xeb, 0x0b,
- 0xc6, 0x86, 0x84, 0x02, 0x01, 0xc7, 0x86, 0xbe, 0x02, 0x01, 0x00, 0x5b, 0xc3, 0xb8, 0x80, 0x0a,
- 0xf6, 0x86, 0xa6, 0x02, 0x01, 0x75, 0x45, 0xf6, 0x86, 0xa8, 0x02, 0x01, 0x75, 0x3e, 0xf7, 0x86,
- 0xf6, 0x00, 0x10, 0x00, 0x75, 0x36, 0xf7, 0x07, 0x82, 0x00, 0x74, 0x2f, 0xc7, 0x86, 0x2a, 0x02,
- 0x07, 0x00, 0xc6, 0x86, 0x16, 0x01, 0x00, 0x81, 0x8e, 0x06, 0x02, 0x00, 0x01, 0xc6, 0x86, 0x85,
- 0x02, 0x01, 0xf6, 0x86, 0xa7, 0x02, 0x01, 0x75, 0x0c, 0x80, 0x7e, 0x06, 0x08, 0x72, 0x0c, 0x80,
- 0x7e, 0x06, 0x0e, 0x77, 0x06, 0xb8, 0x0a, 0x00, 0xe8, 0x62, 0xe1, 0xc3, 0x89, 0x86, 0xe2, 0x02,
- 0xe9, 0xcf, 0xeb, 0xf7, 0x07, 0x02, 0x00, 0x74, 0x0f, 0x80, 0x7e, 0x06, 0x0c, 0x75, 0x09, 0xc6,
- 0x86, 0x60, 0x02, 0x01, 0xc6, 0x46, 0x07, 0x0e, 0x8b, 0x86, 0x14, 0x02, 0x86, 0xe0, 0x8b, 0xb6,
- 0xfe, 0x05, 0x0b, 0xf6, 0x74, 0x09, 0xad, 0x86, 0xe0, 0x89, 0x86, 0x14, 0x02, 0x86, 0xe0, 0x89,
- 0x86, 0xde, 0x02, 0x8b, 0xb6, 0xe5, 0x05, 0x0b, 0xf6, 0x74, 0x07, 0xad, 0x86, 0xc4, 0x89, 0x86,
- 0x0c, 0x02, 0x8b, 0xb6, 0xea, 0x05, 0x0b, 0xf6, 0x74, 0x05, 0x8b, 0xc6, 0xe8, 0xa2, 0x00, 0x8b,
- 0xb6, 0xef, 0x05, 0x0b, 0xf6, 0x74, 0x07, 0xad, 0x86, 0xe0, 0x89, 0x86, 0x08, 0x02, 0x8b, 0xb6,
- 0xf4, 0x05, 0x0b, 0xf6, 0x74, 0x07, 0xad, 0x86, 0xc4, 0x89, 0x86, 0xf8, 0x01, 0x8b, 0xb6, 0xf9,
- 0x05, 0x0b, 0xf6, 0x74, 0x07, 0xad, 0x86, 0xc4, 0x89, 0x86, 0xf6, 0x01, 0x8b, 0x07, 0xa9, 0x02,
- 0x00, 0x75, 0x07, 0xa8, 0x28, 0x74, 0x03, 0xe9, 0x71, 0xff, 0xc7, 0x86, 0xe2, 0x02, 0x00, 0x01,
- 0xe9, 0x3f, 0xeb, 0xc3, 0xf7, 0x07, 0x02, 0x02, 0x74, 0xf9, 0x8b, 0x86, 0x14, 0x02, 0x86, 0xe0,
- 0x8b, 0xb6, 0x13, 0x06, 0x0b, 0xf6, 0x74, 0x09, 0xad, 0x86, 0xe0, 0x89, 0x86, 0x14, 0x02, 0x86,
- 0xe0, 0x89, 0x86, 0xde, 0x02, 0x8b, 0xb6, 0x04, 0x06, 0x0b, 0xf6, 0x74, 0x07, 0xad, 0x86, 0xc4,
- 0x89, 0x86, 0x0c, 0x02, 0x8b, 0xb6, 0x09, 0x06, 0x0b, 0xf6, 0x74, 0x05, 0x8b, 0xc6, 0xe8, 0x20,
- 0x00, 0x8b, 0xb6, 0x0e, 0x06, 0x0b, 0xf6, 0x74, 0x07, 0xad, 0x86, 0xe0, 0x89, 0x86, 0x08, 0x02,
- 0x80, 0x7e, 0x06, 0x0c, 0x75, 0x96, 0xc6, 0x86, 0x60, 0x02, 0x01, 0xc6, 0x46, 0x07, 0x0e, 0xeb,
- 0x8b, 0x53, 0x57, 0x8c, 0xdb, 0x8e, 0xc3, 0xbb, 0x12, 0x05, 0xb9, 0x0a, 0x00, 0x8b, 0xf0, 0xad,
- 0x8b, 0x34, 0x8b, 0x3f, 0x03, 0xfd, 0xab, 0x89, 0x35, 0x83, 0xc3, 0x02, 0xe2, 0xf4, 0x5f, 0x5b,
- 0xc3, 0x68, 0xc1, 0x29, 0xeb, 0x08, 0x68, 0x29, 0x2a, 0xeb, 0x03, 0x68, 0x6b, 0x2a, 0xf7, 0x07,
- 0x82, 0x02, 0x74, 0x1c, 0x8b, 0x86, 0x14, 0x02, 0x86, 0xe0, 0x8b, 0xb6, 0x4a, 0x06, 0x0b, 0xf6,
- 0x74, 0x09, 0xad, 0x86, 0xe0, 0x89, 0x86, 0x14, 0x02, 0x86, 0xe0, 0x89, 0x86, 0xde, 0x02, 0xc3,
- 0x83, 0xc4, 0x02, 0xc3, 0x8b, 0x07, 0xf6, 0x86, 0x63, 0x01, 0x01, 0x74, 0x1e, 0xa9, 0x00, 0x20,
- 0x74, 0x40, 0x56, 0x57, 0xe8, 0xa3, 0xd0, 0xc7, 0x44, 0x02, 0x02, 0x00, 0x8d, 0x7e, 0x16, 0xe8,
- 0xb6, 0xd0, 0xbe, 0x6d, 0x45, 0xe8, 0x44, 0xd3, 0x5f, 0x5e, 0xc3, 0x80, 0x7e, 0x06, 0x08, 0x75,
- 0x21, 0xa9, 0x00, 0x10, 0x74, 0x1c, 0xa9, 0x3c, 0x00, 0x75, 0x17, 0xff, 0x86, 0xc8, 0x02, 0xff,
- 0x86, 0xc6, 0x02, 0x83, 0xbe, 0xc6, 0x02, 0x02, 0x72, 0x05, 0xc6, 0x46, 0x07, 0x0a, 0xc3, 0xe8,
- 0xd2, 0xeb, 0xc3, 0x8c, 0xd8, 0x8e, 0xc0, 0x33, 0xc0, 0x8b, 0x3e, 0x26, 0x56, 0x83, 0xc7, 0x06,
- 0x81, 0xff, 0x3e, 0x5d, 0x72, 0x03, 0xbf, 0x38, 0x5d, 0xab, 0xab, 0xab, 0xf6, 0x86, 0xcc, 0x01,
- 0x01, 0x74, 0x18, 0xc6, 0x86, 0xcb, 0x01, 0x01, 0xe8, 0x3f, 0xd0, 0xc7, 0x44, 0x02, 0x05, 0x00,
- 0x8d, 0x7e, 0x16, 0xe8, 0x52, 0xd0, 0xc6, 0x86, 0xca, 0x01, 0x00, 0xc3, 0xf7, 0x86, 0xf6, 0x00,
- 0x08, 0x00, 0x74, 0x06, 0xbe, 0x1b, 0x46, 0xe8, 0x20, 0xd2, 0x8d, 0xb6, 0x6c, 0x15, 0x8e, 0x46,
- 0x02, 0x8a, 0x1c, 0xf6, 0xc3, 0x80, 0x75, 0x0d, 0x80, 0xfb, 0x10, 0x77, 0x14, 0x32, 0xff, 0xd1,
- 0xe3, 0xff, 0xa7, 0xda, 0x04, 0xc7, 0x86, 0x0a, 0x01, 0x00, 0x00, 0xc3, 0xb8, 0x00, 0x80, 0xeb,
- 0x08, 0xb8, 0x00, 0x80, 0xeb, 0x03, 0xb8, 0x00, 0x20, 0x8d, 0xb6, 0x6c, 0x15, 0x89, 0x44, 0x02,
- 0x80, 0x0c, 0x80, 0xb8, 0x40, 0x60, 0x8e, 0xc0, 0xc7, 0x86, 0x0a, 0x01, 0x00, 0x00, 0x26, 0xc7,
- 0x06, 0x70, 0x00, 0x08, 0x00, 0xc3, 0xeb, 0xe1, 0xb8, 0x04, 0x00, 0x80, 0xbe, 0x06, 0x01, 0x01,
- 0x75, 0xf4, 0xb8, 0x05, 0x00, 0x80, 0xbe, 0x07, 0x01, 0x01, 0x74, 0xea, 0xc6, 0x86, 0x08, 0x01,
- 0x01, 0xc6, 0x86, 0xcd, 0x01, 0x00, 0xc6, 0x86, 0x09, 0x01, 0x00, 0x8b, 0x86, 0xf8, 0x00, 0x89,
- 0x86, 0xf6, 0x00, 0x8d, 0xb6, 0x76, 0x15, 0xb8, 0x03, 0x00, 0xf6, 0x04, 0x80, 0x75, 0xc7, 0x33,
- 0xc0, 0x39, 0x04, 0x75, 0x1e, 0x39, 0x44, 0x02, 0x75, 0x19, 0x39, 0x44, 0x04, 0x75, 0x14, 0x8b,
- 0x86, 0x00, 0x01, 0x89, 0x04, 0x8b, 0x86, 0x02, 0x01, 0x89, 0x44, 0x02, 0x8b, 0x86, 0x04, 0x01,
- 0x89, 0x44, 0x04, 0xad, 0x8b, 0x14, 0x8b, 0x74, 0x02, 0x89, 0x86, 0xd0, 0x01, 0x89, 0x96, 0xd2,
- 0x01, 0x89, 0xb6, 0xd4, 0x01, 0x8e, 0x46, 0x02, 0x50, 0xe8, 0x44, 0xce, 0x26, 0xa3, 0x1e, 0x00,
- 0x8b, 0xc2, 0xe8, 0x3b, 0xce, 0x26, 0xa3, 0x20, 0x00, 0x8b, 0xc6, 0xe8, 0x32, 0xce, 0x26, 0xa3,
- 0x22, 0x00, 0x58, 0xbb, 0x2a, 0x05, 0xb9, 0x13, 0x00, 0x1e, 0x07, 0x8b, 0x3f, 0x03, 0xfd, 0xab,
- 0x89, 0x15, 0x89, 0x75, 0x02, 0x83, 0xc3, 0x02, 0xe2, 0xf1, 0xbb, 0x26, 0x05, 0x8d, 0x96, 0x84,
- 0x15, 0xb8, 0x02, 0x00, 0x8b, 0x3f, 0x03, 0xfd, 0x8b, 0xf2, 0xb9, 0x09, 0x00, 0xf3, 0xa5, 0x83,
- 0xc3, 0x02, 0x48, 0x75, 0xef, 0xf7, 0x86, 0xf6, 0x00, 0x08, 0x00, 0x74, 0x06, 0xbe, 0x1b, 0x46,
- 0xe8, 0x07, 0xd1, 0x8d, 0xb6, 0x6c, 0x15, 0x8b, 0x44, 0x08, 0xf7, 0x86, 0xf4, 0x00, 0x00, 0x20,
- 0x75, 0x0a, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x0c, 0x75, 0x02, 0xeb, 0x03, 0x25, 0xff, 0x7b, 0x89,
- 0x86, 0x12, 0x01, 0x89, 0x86, 0x14, 0x01, 0xf7, 0x86, 0x12, 0x01, 0x01, 0x00, 0x74, 0x08, 0xc7,
- 0x06, 0x6b, 0x45, 0x58, 0x02, 0xeb, 0x06, 0xc7, 0x06, 0x6b, 0x45, 0x08, 0x07, 0x8e, 0x46, 0x02,
- 0x26, 0x8b, 0x1e, 0x28, 0x00, 0x81, 0xe3, 0xff, 0xf4, 0xa9, 0x04, 0x00, 0x74, 0x04, 0x81, 0xcb,
- 0x00, 0x08, 0xa9, 0x02, 0x00, 0x74, 0x04, 0x81, 0xcb, 0x00, 0x03, 0x8e, 0x46, 0x02, 0x26, 0x89,
- 0x1e, 0x28, 0x00, 0x8d, 0xb6, 0x80, 0x15, 0xe8, 0x02, 0x02, 0x8d, 0xb6, 0x7c, 0x15, 0xe8, 0x20,
- 0x00, 0xf6, 0x06, 0x1e, 0x56, 0x01, 0x74, 0x03, 0xe8, 0xf2, 0x13, 0xc6, 0x86, 0x07, 0x01, 0x01,
- 0xe8, 0x5f, 0x05, 0xe9, 0x90, 0xfe, 0x56, 0x83, 0xc6, 0x08, 0xe8, 0x04, 0x00, 0x5e, 0xe9, 0x85,
- 0xfe, 0x8e, 0x46, 0x02, 0xb8, 0xc0, 0x00, 0xe8, 0x56, 0xcd, 0x26, 0xa3, 0x3a, 0x00, 0x8b, 0x04,
- 0x0d, 0x80, 0x00, 0x89, 0x86, 0xd6, 0x01, 0xe8, 0x46, 0xcd, 0x26, 0xa3, 0x3c, 0x00, 0x8b, 0x44,
- 0x02, 0x89, 0x86, 0xd8, 0x01, 0xe8, 0x38, 0xcd, 0x26, 0xa3, 0x3e, 0x00, 0xc3, 0x83, 0x8e, 0x1e,
- 0x01, 0x01, 0xc6, 0x86, 0x16, 0x01, 0x00, 0x8a, 0x46, 0x06, 0x3c, 0x00, 0x74, 0x1b, 0x3c, 0x10,
- 0x74, 0x17, 0x3c, 0x12, 0x74, 0x13, 0x3c, 0x0e, 0x74, 0x17, 0x3c, 0x48, 0x74, 0x19, 0xe8, 0x35,
- 0xfe, 0xb8, 0x0f, 0x00, 0xe8, 0x86, 0xdd, 0xeb, 0x35, 0xe8, 0x2a, 0xfe, 0xe8, 0xc7, 0x03, 0xeb,
- 0x2d, 0xc6, 0x46, 0x07, 0x10, 0xeb, 0x20, 0x8e, 0x46, 0x02, 0xf6, 0x06, 0x1e, 0x56, 0x01, 0x75,
- 0x08, 0x26, 0x83, 0x26, 0x02, 0x00, 0xfd, 0xeb, 0x08, 0xc6, 0x86, 0x6d, 0x01, 0x01, 0xe8, 0xce,
- 0x13, 0xc6, 0x46, 0x07, 0x12, 0xeb, 0x00, 0xc6, 0x46, 0x09, 0x1e, 0xe9, 0xf8, 0xfd, 0xc3, 0xc6,
- 0x86, 0x06, 0x01, 0x00, 0xb8, 0x05, 0x00, 0x80, 0xbe, 0x07, 0x01, 0x01, 0x75, 0x03, 0xe9, 0xe8,
- 0xfd, 0x8b, 0x44, 0x08, 0x89, 0x86, 0xf4, 0x00, 0x8b, 0x44, 0x0a, 0xa9, 0x00, 0x02, 0x74, 0x03,
- 0x0d, 0x00, 0x01, 0x89, 0x86, 0xf6, 0x00, 0x89, 0x86, 0xf8, 0x00, 0xf7, 0x86, 0xf6, 0x00, 0x00,
- 0x04, 0x74, 0x06, 0xb8, 0x01, 0x00, 0xe9, 0xc0, 0xfd, 0x8b, 0x44, 0x12, 0x0b, 0xc0, 0x75, 0x16,
- 0xb8, 0x18, 0x47, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x01, 0x75, 0x0b, 0xf7, 0x86, 0xf6, 0x00, 0x00,
- 0x02, 0x75, 0x03, 0xb8, 0xc6, 0x11, 0x89, 0x86, 0xfa, 0x00, 0x89, 0x86, 0x32, 0x01, 0x8d, 0xbe,
- 0x30, 0x04, 0x8b, 0x44, 0x0c, 0x89, 0x05, 0x89, 0x86, 0x00, 0x01, 0x8b, 0x44, 0x0e, 0x89, 0x45,
- 0x02, 0x89, 0x86, 0x02, 0x01, 0x8b, 0x44, 0x10, 0x89, 0x45, 0x04, 0x89, 0x86, 0x04, 0x01, 0x80,
- 0xbe, 0x62, 0x01, 0x01, 0x75, 0x21, 0x8b, 0x44, 0x0c, 0x89, 0x86, 0xb0, 0x03, 0x89, 0x86, 0xb6,
- 0x03, 0x8b, 0x44, 0x0e, 0x89, 0x86, 0xb2, 0x03, 0x89, 0x86, 0xb8, 0x03, 0x8b, 0x44, 0x10, 0x89,
- 0x86, 0xb4, 0x03, 0x89, 0x86, 0xba, 0x03, 0x8e, 0x46, 0x02, 0x8b, 0x86, 0xfa, 0x00, 0x26, 0xa3,
- 0x12, 0x00, 0x8b, 0x44, 0x14, 0x26, 0xa3, 0x2a, 0x00, 0x8b, 0x44, 0x16, 0x25, 0xff, 0xf4, 0x83,
- 0xc8, 0x30, 0x26, 0xa3, 0x28, 0x00, 0x8b, 0x86, 0xf4, 0x00, 0x25, 0xff, 0xfe, 0xc1, 0xe8, 0x08,
- 0x89, 0x86, 0x24, 0x02, 0xf7, 0x86, 0xf4, 0x00, 0x04, 0x00, 0x74, 0x0f, 0xf6, 0x06, 0x1e, 0x56,
- 0x01, 0x75, 0x08, 0xc6, 0x06, 0x1e, 0x56, 0x01, 0xe8, 0x9d, 0x0f, 0x80, 0xbe, 0x62, 0x01, 0x01,
- 0x75, 0x01, 0xc3, 0xc6, 0x86, 0x06, 0x01, 0x01, 0xe9, 0xfb, 0xfc, 0x56, 0x8c, 0xd8, 0x8e, 0xc0,
- 0x8d, 0x7c, 0x08, 0x8d, 0xb6, 0xd0, 0x02, 0xb9, 0x05, 0x00, 0x8b, 0xd1, 0xf3, 0xa5, 0x8d, 0xbe,
- 0xd0, 0x02, 0x33, 0xc0, 0x8b, 0xca, 0xf3, 0xab, 0x81, 0xa6, 0x06, 0x02, 0x7f, 0xdf, 0x5e, 0xe9,
- 0xd4, 0xfc, 0x56, 0x8c, 0xd8, 0x8e, 0xc0, 0x8d, 0x7c, 0x08, 0x8d, 0xb6, 0x3c, 0x02, 0xb9, 0x0c,
- 0x00, 0x8b, 0xd1, 0xf3, 0xa5, 0x8d, 0xbe, 0x3c, 0x02, 0x33, 0xc0, 0x8b, 0xca, 0xf3, 0xab, 0x5e,
- 0xe9, 0xb3, 0xfc, 0x83, 0xc6, 0x08, 0xe8, 0x03, 0x00, 0xe9, 0xaa, 0xfc, 0x06, 0x8e, 0x46, 0x02,
- 0x8b, 0x04, 0x89, 0x86, 0xda, 0x01, 0xe8, 0x77, 0xcb, 0x26, 0xa3, 0x26, 0x00, 0x8b, 0x44, 0x02,
- 0x23, 0x86, 0xf8, 0x01, 0xe8, 0x69, 0xcb, 0x25, 0xff, 0x7f, 0x26, 0x8b, 0x0e, 0x24, 0x00, 0x81,
- 0xe1, 0x00, 0x80, 0x0b, 0xc1, 0x26, 0xa3, 0x24, 0x00, 0xe8, 0x54, 0xcb, 0x89, 0x86, 0xdc, 0x01,
- 0x07, 0xc3, 0xb8, 0x05, 0x00, 0x80, 0xbe, 0x07, 0x01, 0x01, 0x75, 0x03, 0xe9, 0x6a, 0xfc, 0xc6,
- 0x86, 0x62, 0x01, 0x01, 0xe8, 0x68, 0xfe, 0xc6, 0x86, 0x62, 0x01, 0x00, 0xc6, 0x86, 0x06, 0x01,
- 0x01, 0xe9, 0x52, 0xfc, 0xb8, 0x11, 0x00, 0xc6, 0x86, 0x62, 0x01, 0x00, 0xe9, 0x4a, 0xfc, 0xc3,
- 0x8b, 0xd8, 0x26, 0x8b, 0x04, 0x50, 0x33, 0xc0, 0x50, 0x23, 0xc3, 0x8b, 0xc8, 0x26, 0x89, 0x04,
- 0x26, 0x8b, 0x04, 0x23, 0xc3, 0x3b, 0xc1, 0x58, 0x75, 0x3c, 0x05, 0x55, 0x55, 0x73, 0xe9, 0xb8,
- 0x01, 0x00, 0x50, 0x23, 0xc3, 0x8b, 0xc8, 0x26, 0x89, 0x04, 0x26, 0x8b, 0x04, 0x23, 0xc3, 0x3b,
- 0xc1, 0x58, 0x75, 0x22, 0xd1, 0xc0, 0x73, 0xea, 0xf7, 0xd0, 0x50, 0x23, 0xc3, 0x8b, 0xc8, 0x26,
- 0x89, 0x04, 0x26, 0x8b, 0x04, 0x23, 0xc3, 0x3b, 0xc1, 0x58, 0x75, 0x0a, 0xd1, 0xc0, 0x72, 0xea,
- 0xf8, 0x58, 0x26, 0x89, 0x04, 0xc3, 0xf9, 0xeb, 0xf8, 0x8b, 0x44, 0x08, 0x25, 0xff, 0x7b, 0x89,
- 0x86, 0x12, 0x01, 0x89, 0x86, 0x14, 0x01, 0x8e, 0x46, 0x02, 0x26, 0x8b, 0x1e, 0x28, 0x00, 0x81,
- 0xe3, 0xff, 0xf4, 0xa9, 0x04, 0x00, 0x74, 0x04, 0x81, 0xcb, 0x00, 0x08, 0xa9, 0x02, 0x00, 0x74,
- 0x04, 0x81, 0xcb, 0x00, 0x03, 0x8e, 0x46, 0x02, 0x26, 0x89, 0x1e, 0x28, 0x00, 0xe9, 0xb6, 0xfb,
- 0x8b, 0x44, 0x08, 0x89, 0x86, 0x28, 0x02, 0x86, 0xc4, 0x89, 0x86, 0x62, 0x05, 0xf6, 0x86, 0x73,
- 0x02, 0x01, 0x75, 0x05, 0xc6, 0x86, 0x74, 0x02, 0x01, 0xc6, 0x86, 0x73, 0x02, 0x00, 0xe9, 0x95,
- 0xfb, 0x8b, 0x44, 0x08, 0x89, 0x86, 0x30, 0x01, 0xbe, 0x09, 0x46, 0xe8, 0x7c, 0xcd, 0xe9, 0x85,
- 0xfb, 0x8b, 0x44, 0x08, 0x8e, 0x46, 0x02, 0x26, 0xa3, 0x2a, 0x00, 0xe9, 0x78, 0xfb, 0x80, 0x7e,
- 0x06, 0x0e, 0x74, 0x06, 0x80, 0x7e, 0x06, 0x48, 0x75, 0x13, 0x80, 0x7e, 0x08, 0x00, 0x74, 0x06,
- 0x80, 0x7e, 0x08, 0x16, 0x75, 0x07, 0x8d, 0x5c, 0x08, 0xe8, 0xe2, 0xe9, 0xc3, 0xb8, 0x00, 0x10,
- 0xe9, 0x56, 0xfb, 0xb8, 0x04, 0x00, 0xf6, 0x86, 0x07, 0x01, 0x01, 0x74, 0x1e, 0x8e, 0x46, 0x02,
- 0x26, 0xa1, 0x28, 0x00, 0x8b, 0x5c, 0x08, 0x81, 0xe3, 0xff, 0xf4, 0x25, 0x00, 0x0b, 0x0b, 0xd8,
- 0x8e, 0x46, 0x02, 0x26, 0x89, 0x1e, 0x28, 0x00, 0xb8, 0x00, 0x20, 0xe9, 0x2b, 0xfb, 0xb8, 0x05,
- 0x00, 0xf6, 0x86, 0x07, 0x01, 0x01, 0x75, 0x11, 0xfa, 0xe8, 0xe2, 0xce, 0xfa, 0xe8, 0x16, 0xfb,
- 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x72, 0x00, 0x02, 0xe9, 0x0d, 0xfb, 0xe9, 0x07, 0xfb, 0x8b,
- 0xd0, 0xb8, 0x01, 0x00, 0xe9, 0xa4, 0x01, 0xc3, 0x80, 0xbe, 0xad, 0x02, 0x01, 0x74, 0x0e, 0x80,
- 0xbe, 0x07, 0x01, 0x01, 0x75, 0xf1, 0x80, 0xbe, 0x09, 0x01, 0x01, 0x74, 0xea, 0xc6, 0x86, 0x09,
- 0x01, 0x01, 0xc6, 0x86, 0xad, 0x02, 0x00, 0x8e, 0x46, 0x02, 0x26, 0xf7, 0x06, 0x00, 0x00, 0x02,
- 0x00, 0x74, 0x08, 0xbe, 0x27, 0x46, 0xe8, 0xc1, 0xcc, 0xeb, 0x03, 0x0d, 0x00, 0x01, 0x80, 0xbe,
- 0xa5, 0x02, 0x01, 0x74, 0x0a, 0x80, 0xbe, 0xa7, 0x02, 0x01, 0x74, 0x03, 0x0d, 0x00, 0x04, 0x80,
- 0xbe, 0xa5, 0x02, 0x01, 0x74, 0x0a, 0x80, 0xbe, 0xa6, 0x02, 0x01, 0x74, 0x03, 0x0d, 0x00, 0x02,
- 0xf7, 0x86, 0xa1, 0x02, 0x01, 0x00, 0x74, 0x03, 0x0d, 0x00, 0x08, 0xa9, 0x00, 0x80, 0x74, 0x1d,
- 0xc7, 0x86, 0x2e, 0x01, 0x02, 0x00, 0xf6, 0x86, 0x2c, 0x01, 0x01, 0x74, 0x1d, 0x53, 0xbb, 0x40,
- 0x60, 0x8e, 0xc3, 0x26, 0x81, 0x0e, 0x72, 0x00, 0x00, 0x02, 0x5b, 0xeb, 0x0d, 0x8a, 0x56, 0x06,
- 0xd0, 0xe2, 0xd0, 0xe2, 0xd0, 0xe2, 0x24, 0x0f, 0x0a, 0xc2, 0x89, 0x86, 0x34, 0x02, 0x8b, 0xd0,
- 0xb8, 0x02, 0x00, 0xe9, 0x92, 0x00, 0x8b, 0x96, 0x1e, 0x01, 0x8b, 0x86, 0x12, 0x01, 0xa9, 0x00,
- 0x02, 0x74, 0x06, 0xf7, 0xc2, 0x05, 0x80, 0x74, 0x0e, 0xc6, 0x86, 0x07, 0x01, 0x00, 0xc6, 0x86,
- 0x16, 0x01, 0x00, 0x81, 0xca, 0x80, 0x00, 0x33, 0xc0, 0x89, 0x86, 0x1e, 0x01, 0x89, 0x96, 0x20,
- 0x01, 0xc7, 0x86, 0x34, 0x02, 0x00, 0x00, 0xf7, 0xc2, 0x01, 0x00, 0x75, 0x22, 0x83, 0xbe, 0x2e,
- 0x01, 0x03, 0x74, 0x1b, 0xc7, 0x86, 0x2e, 0x01, 0x03, 0x00, 0xf6, 0x86, 0x2c, 0x01, 0x01, 0x74,
- 0x0e, 0x53, 0xbb, 0x40, 0x60, 0x8e, 0xc3, 0x26, 0x81, 0x0e, 0x72, 0x00, 0x00, 0x02, 0x5b, 0xb8,
- 0x03, 0x00, 0xeb, 0x34, 0x3b, 0xc0, 0x74, 0x00, 0x8b, 0xd0, 0xb8, 0x04, 0x00, 0xeb, 0x29, 0xc3,
- 0xc6, 0x86, 0xca, 0x01, 0x00, 0xc6, 0x86, 0xcb, 0x01, 0x00, 0x55, 0x33, 0xed, 0xbe, 0x18, 0x55,
- 0xe8, 0xd7, 0xcb, 0x5d, 0xb8, 0x05, 0x00, 0xeb, 0x0f, 0xb8, 0x06, 0x00, 0xeb, 0x0a, 0xb8, 0x07,
- 0x00, 0xeb, 0x05, 0xb8, 0x08, 0x00, 0xeb, 0x00, 0x8b, 0xb6, 0x60, 0x01, 0x3b, 0xb6, 0x5e, 0x01,
- 0x75, 0x0a, 0xf7, 0x86, 0x58, 0x15, 0x00, 0x80, 0x74, 0x02, 0xeb, 0x5f, 0x8b, 0x8e, 0x5e, 0x01,
- 0x41, 0x80, 0xe1, 0x07, 0x3b, 0xf1, 0x75, 0x20, 0x46, 0x83, 0xe6, 0x07, 0x89, 0xb6, 0x60, 0x01,
- 0x51, 0x8b, 0xce, 0xd1, 0xe1, 0xd1, 0xe1, 0x8d, 0xb6, 0x3e, 0x01, 0x03, 0xf1, 0x8b, 0x0c, 0x83,
- 0xf9, 0x05, 0x74, 0x03, 0x0d, 0x00, 0x01, 0x59, 0x83, 0xf8, 0x04, 0x75, 0x1a, 0x51, 0xb9, 0x08,
- 0x00, 0x8d, 0xb6, 0x3e, 0x01, 0x39, 0x04, 0x74, 0x08, 0x83, 0xc6, 0x04, 0xe2, 0xf7, 0x59, 0xeb,
- 0x06, 0x89, 0x54, 0x02, 0x59, 0xeb, 0x13, 0x89, 0x8e, 0x5e, 0x01, 0xd1, 0xe1, 0xd1, 0xe1, 0x8d,
- 0xb6, 0x3e, 0x01, 0x03, 0xf1, 0x89, 0x04, 0x89, 0x54, 0x02, 0xc3, 0x8d, 0xb6, 0x58, 0x15, 0x89,
- 0x54, 0x06, 0xc7, 0x44, 0x04, 0x08, 0x00, 0x3c, 0x05, 0x75, 0x05, 0xc7, 0x44, 0x04, 0x06, 0x00,
- 0x25, 0xff, 0x7f, 0x89, 0x04, 0xb8, 0x40, 0x60, 0x8e, 0xc0, 0x26, 0xc7, 0x06, 0x70, 0x00, 0x00,
- 0x20, 0xc3, 0x8b, 0x86, 0x14, 0x01, 0x89, 0x86, 0x12, 0x01, 0xc6, 0x46, 0x09, 0x1e, 0xc6, 0x46,
- 0x08, 0x1e, 0xc7, 0x86, 0x28, 0x01, 0x00, 0x00, 0xc7, 0x86, 0x2a, 0x01, 0x00, 0x00, 0x8c, 0xd8,
- 0x8e, 0xc0, 0x33, 0xc0, 0x8d, 0xbe, 0xe0, 0x01, 0xb9, 0x2b, 0x00, 0xf3, 0xab, 0xc7, 0x86, 0x26,
- 0x02, 0xff, 0xff, 0xb0, 0x02, 0xe8, 0x5a, 0xce, 0xf7, 0x86, 0xf6, 0x00, 0x80, 0x00, 0x74, 0x0c,
- 0xb8, 0x05, 0x00, 0xe8, 0x13, 0x00, 0xc6, 0x46, 0x07, 0x42, 0xeb, 0x0c, 0xb8, 0x02, 0x00, 0xe8,
- 0x07, 0x00, 0xc6, 0x46, 0x07, 0x02, 0xeb, 0x00, 0xc3, 0x50, 0xb0, 0x00, 0x88, 0x86, 0xa5, 0x02,
- 0x88, 0x86, 0xa6, 0x02, 0x88, 0x86, 0xa7, 0x02, 0x88, 0x86, 0xa8, 0x02, 0x88, 0x86, 0xaa, 0x02,
- 0x88, 0x86, 0xa9, 0x02, 0x58, 0x9c, 0xfa, 0x83, 0xf8, 0x02, 0x74, 0x13, 0x83, 0xf8, 0x05, 0x74,
- 0x0c, 0xc7, 0x46, 0x12, 0xf8, 0x1c, 0xc7, 0x46, 0x14, 0xf8, 0x1c, 0xeb, 0x42, 0xeb, 0x21, 0xc6,
- 0x86, 0xa5, 0x02, 0x01, 0xc6, 0x86, 0xa9, 0x02, 0x01, 0xc6, 0x86, 0xaa, 0x02, 0x00, 0xc7, 0x46,
- 0x12, 0xc9, 0x31, 0xc7, 0x46, 0x14, 0xfd, 0x2e, 0xc7, 0x86, 0xba, 0x01, 0x2c, 0x00, 0xeb, 0x1f,
- 0xc6, 0x86, 0xa7, 0x02, 0x01, 0xc6, 0x86, 0xa9, 0x02, 0x00, 0xc6, 0x86, 0xaa, 0x02, 0x01, 0xc7,
- 0x46, 0x12, 0xcd, 0x31, 0xc7, 0x46, 0x14, 0x01, 0x2f, 0xc7, 0x86, 0xba, 0x01, 0x2c, 0x00, 0x0e,
- 0xe8, 0x02, 0x00, 0xeb, 0x01, 0xcf, 0xc3, 0x8c, 0x00, 0x3a, 0x46, 0xbc, 0x02, 0x96, 0x00, 0x70,
- 0x46, 0x14, 0x00, 0x96, 0x00, 0x84, 0x46, 0x08, 0x07, 0x96, 0x00, 0xbe, 0x46, 0x6e, 0x00, 0x78,
- 0x00, 0x2e, 0x49, 0x00, 0x00, 0x6e, 0x00, 0x78, 0x47, 0xf4, 0x01, 0x6e, 0x00, 0xa8, 0x47, 0x08,
- 0x07, 0x6e, 0x00, 0xd6, 0x4a, 0x05, 0x00, 0xaa, 0x00, 0xdc, 0x47, 0xfa, 0x00, 0x8c, 0x00, 0x52,
- 0x48, 0x02, 0x00, 0x8c, 0x00, 0x42, 0x47, 0x3c, 0x00, 0x78, 0x00, 0xbe, 0x48, 0x04, 0x01, 0x96,
- 0x00, 0xea, 0x48, 0x64, 0x00, 0x96, 0x00, 0x0e, 0x49, 0xdc, 0x05, 0xbe, 0x00, 0x34, 0x4a, 0xf4,
- 0x01, 0xa0, 0x00, 0x58, 0x4b, 0xf4, 0x01, 0xbe, 0x00, 0x5e, 0x4a, 0xf4, 0x01, 0x82, 0x00, 0x7e,
- 0x4d, 0x19, 0x00, 0x6e, 0x00, 0x3f, 0x4b, 0x14, 0x00, 0x78, 0x00, 0x72, 0x4a, 0xc4, 0x09, 0x6e,
- 0x00, 0x86, 0x4a, 0x02, 0x00, 0xd2, 0x00, 0x06, 0x4e, 0x2c, 0x01, 0x78, 0x00, 0x90, 0x4c, 0xf0,
- 0x00, 0x6e, 0x00, 0xaf, 0x4b, 0x04, 0x00, 0xa0, 0x00, 0xc6, 0x4b, 0xbc, 0x02, 0x6e, 0x00, 0xd8,
- 0x4b, 0x08, 0x07, 0x6e, 0x00, 0xe6, 0x4b, 0xe8, 0x03, 0x6e, 0x00, 0xf8, 0x4b, 0x14, 0x00, 0x96,
- 0x00, 0x04, 0x4c, 0x64, 0x00, 0xa0, 0x00, 0x9e, 0x4c, 0xf4, 0x01, 0xc8, 0x00, 0x16, 0x48, 0x02,
- 0x00, 0x6e, 0x00, 0x2c, 0x4c, 0x04, 0x00, 0x8c, 0x00, 0x6e, 0x4c, 0x14, 0x00, 0xb4, 0x00, 0x8a,
- 0x4e, 0x64, 0x00, 0xa0, 0x00, 0xa3, 0x4d, 0x05, 0x00, 0xc8, 0x00, 0xb8, 0x4d, 0x03, 0x00, 0xd2,
- 0x00, 0x0a, 0x4e, 0xf4, 0x01, 0xd2, 0x00, 0x1c, 0x4e, 0x4c, 0x04, 0xdc, 0x00, 0x36, 0x4e, 0xfa,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x80, 0xbe,
- 0x54, 0x02, 0x01, 0x75, 0x28, 0x80, 0x7e, 0x08, 0x00, 0x75, 0x22, 0xf6, 0x86, 0x65, 0x02, 0x01,
- 0x74, 0x1c, 0xe8, 0x59, 0xe2, 0xbe, 0x43, 0x45, 0xe8, 0x3f, 0xc9, 0x8c, 0xd8, 0x8e, 0xc0, 0x33,
- 0xc0, 0x8d, 0xbe, 0xee, 0x01, 0xab, 0xab, 0xab, 0xc6, 0x86, 0x65, 0x02, 0x00, 0xc3, 0xe8, 0xbf,
- 0xe4, 0xeb, 0xdf, 0x90, 0x8a, 0x46, 0x08, 0x3c, 0x0a, 0x75, 0x0b, 0xf6, 0x86, 0x5e, 0x02, 0x01,
- 0x74, 0x04, 0xc6, 0x46, 0x09, 0x04, 0xc3, 0x90, 0x80, 0xbe, 0xa6, 0x02, 0x01, 0x74, 0x32, 0x80,
- 0x7e, 0x08, 0x06, 0x75, 0x2c, 0x80, 0x7e, 0x06, 0x0c, 0x75, 0x0f, 0xf6, 0x86, 0x5e, 0x02, 0x01,
- 0x74, 0x08, 0xb8, 0x07, 0x00, 0xe8, 0x55, 0xd6, 0xeb, 0x17, 0xf6, 0x86, 0x5e, 0x02, 0x01, 0x74,
- 0x10, 0xf6, 0x86, 0x59, 0x02, 0x01, 0x75, 0x09, 0xc6, 0x86, 0x59, 0x02, 0x01, 0xc6, 0x46, 0x09,
- 0x08, 0xc3, 0x8a, 0x4e, 0x06, 0x8a, 0x56, 0x08, 0x80, 0xf9, 0x06, 0x74, 0x71, 0x80, 0xf9, 0x08,
- 0x74, 0x05, 0x80, 0xf9, 0x0a, 0x75, 0x0a, 0x80, 0xfa, 0x0c, 0x74, 0x62, 0x80, 0xfa, 0x04, 0x74,
- 0x5d, 0x80, 0xfa, 0x0c, 0x74, 0x05, 0x80, 0xfa, 0x04, 0x75, 0x52, 0xf6, 0x86, 0x63, 0x02, 0x01,
- 0x74, 0x4b, 0xe8, 0xf7, 0x02, 0xf6, 0x86, 0x61, 0x02, 0x01, 0x74, 0x0b, 0x81, 0x8e, 0x06, 0x02,
- 0x00, 0x80, 0xc6, 0x86, 0x85, 0x02, 0x01, 0xc6, 0x46, 0x09, 0x06, 0x81, 0x8e, 0x06, 0x02, 0x00,
- 0x50, 0xc6, 0x86, 0x85, 0x02, 0x01, 0xc6, 0x86, 0x6a, 0x02, 0x01, 0xc6, 0x86, 0x69, 0x02, 0x01,
- 0xc6, 0x86, 0x6b, 0x02, 0x01, 0xe8, 0xb2, 0xca, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x0c, 0x00,
- 0xfe, 0xbe, 0x4f, 0x45, 0xe8, 0x63, 0xc8, 0xbe, 0x79, 0x45, 0xe8, 0x5d, 0xc8, 0xc3, 0xb8, 0x07,
- 0x00, 0xe8, 0xb9, 0xd5, 0xeb, 0xf7, 0x80, 0xbe, 0xa5, 0x02, 0x01, 0x74, 0x02, 0xeb, 0x2b, 0x80,
- 0x7e, 0x06, 0x10, 0x75, 0x06, 0xc6, 0x46, 0x07, 0x12, 0xeb, 0x1f, 0x80, 0x7e, 0x08, 0x08, 0x75,
- 0x19, 0xc6, 0x86, 0x69, 0x02, 0x01, 0xc6, 0x86, 0x6b, 0x02, 0x01, 0xe8, 0x6c, 0xca, 0xbe, 0xb5,
- 0x45, 0xe8, 0x26, 0xc8, 0xbe, 0xbb, 0x45, 0xe8, 0x20, 0xc8, 0xc3, 0x90, 0xf6, 0x86, 0x5f, 0x02,
- 0x01, 0x74, 0x28, 0xc6, 0x86, 0x5f, 0x02, 0x00, 0x80, 0x7e, 0x08, 0x0a, 0x75, 0x06, 0xc6, 0x46,
- 0x09, 0x04, 0xeb, 0x17, 0x80, 0x7e, 0x08, 0x06, 0x75, 0x11, 0xc6, 0x86, 0x69, 0x02, 0x01, 0xe8,
- 0x38, 0xca, 0xbe, 0x79, 0x45, 0xe8, 0xf2, 0xc7, 0xe8, 0x60, 0xe0, 0xc3, 0x8a, 0x46, 0x06, 0x3c,
- 0x04, 0x75, 0x1e, 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x02, 0x75, 0x0e, 0xc6, 0x46, 0x07, 0x06, 0xc6,
- 0x46, 0x06, 0x06, 0xc6, 0x46, 0x09, 0x04, 0xeb, 0x16, 0xb8, 0x0d, 0x00, 0xe8, 0x2e, 0xd5, 0xeb,
- 0x0e, 0x3c, 0x08, 0x72, 0x0a, 0x3c, 0x0c, 0x77, 0x06, 0xb8, 0x05, 0x00, 0xe8, 0x1e, 0xd5, 0xc3,
- 0x80, 0x7e, 0x08, 0x00, 0x75, 0x33, 0xf6, 0x86, 0x54, 0x02, 0x01, 0x75, 0x2c, 0xf6, 0x86, 0x5e,
- 0x02, 0x01, 0x74, 0x25, 0x8e, 0x46, 0x02, 0x26, 0xf7, 0x06, 0x14, 0x00, 0x03, 0x00, 0x74, 0x11,
- 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x14, 0x00, 0x03, 0xbe, 0x73, 0x45, 0xe8, 0x8b, 0xc7, 0xeb,
- 0x08, 0xc6, 0x46, 0x09, 0x04, 0xff, 0x86, 0x4a, 0x02, 0xc3, 0x80, 0x7e, 0x08, 0x18, 0x75, 0x0e,
- 0xbe, 0xf7, 0x45, 0xe8, 0x74, 0xc7, 0xe8, 0xc3, 0x01, 0xe8, 0xdf, 0xdf, 0xeb, 0x00, 0xc3, 0xf6,
- 0x86, 0x7c, 0x02, 0x01, 0x75, 0x1e, 0x80, 0xbe, 0x68, 0x02, 0x01, 0x75, 0x17, 0xc6, 0x46, 0x07,
- 0x12, 0xc6, 0x46, 0x09, 0x1e, 0x83, 0x8e, 0x06, 0x02, 0x08, 0x83, 0x8e, 0x1e, 0x01, 0x02, 0xc6,
- 0x86, 0x85, 0x02, 0x01, 0xc3, 0x90, 0x80, 0x7e, 0x08, 0x00, 0x75, 0x35, 0x80, 0xbe, 0x5b, 0x02,
- 0x01, 0x75, 0x58, 0x80, 0xbe, 0x54, 0x02, 0x01, 0x74, 0x1f, 0xe8, 0x6c, 0xe0, 0x80, 0x7e, 0x06,
- 0x0a, 0x75, 0x16, 0xc6, 0x86, 0x63, 0x02, 0x01, 0xc6, 0x46, 0x07, 0x0c, 0xf7, 0x86, 0xf6, 0x00,
- 0x00, 0x40, 0x75, 0x05, 0xc6, 0x86, 0x5e, 0x02, 0x01, 0xc3, 0xbe, 0x79, 0x45, 0xe8, 0x0a, 0xc7,
- 0xc3, 0x8a, 0x46, 0x08, 0x3c, 0x04, 0x75, 0x0e, 0xbe, 0x79, 0x45, 0xe8, 0xfc, 0xc6, 0xff, 0x86,
- 0xb2, 0x02, 0xe8, 0x9e, 0xdf, 0xc3, 0x3c, 0x06, 0x75, 0xdf, 0xf6, 0x86, 0x5f, 0x02, 0x01, 0x75,
- 0xd8, 0xbe, 0x79, 0x45, 0xe8, 0xe3, 0xc6, 0xe8, 0x51, 0xdf, 0xc3, 0xc6, 0x86, 0x66, 0x02, 0x01,
- 0xc3, 0x90, 0x80, 0xbe, 0xa6, 0x02, 0x01, 0x74, 0x22, 0x80, 0x7e, 0x06, 0x0c, 0x75, 0x1b, 0xff,
- 0x86, 0xb8, 0x02, 0x83, 0xbe, 0xb8, 0x02, 0x04, 0x77, 0x0a, 0xbe, 0x85, 0x45, 0xe8, 0xba, 0xc6,
- 0xe8, 0x9b, 0xe0, 0xc3, 0xb8, 0x09, 0x00, 0xe8, 0x13, 0xd4, 0xc3, 0xeb, 0xfd, 0x90, 0x80, 0x7e,
- 0x08, 0x02, 0x75, 0x1d, 0x80, 0xbe, 0x5e, 0x02, 0x01, 0x74, 0x08, 0xb8, 0x05, 0x00, 0xe8, 0xfc,
- 0xd3, 0xeb, 0x0e, 0xff, 0x86, 0x4a, 0x02, 0xc6, 0x46, 0x09, 0x04, 0xb8, 0x00, 0x01, 0xe8, 0x50,
- 0xe2, 0xc3, 0x80, 0x7e, 0x08, 0x00, 0x75, 0x16, 0x80, 0xbe, 0x54, 0x02, 0x01, 0x74, 0x07, 0x80,
- 0xbe, 0x5e, 0x02, 0x00, 0x74, 0x08, 0xff, 0x86, 0x4a, 0x02, 0xc6, 0x46, 0x09, 0x04, 0xc3, 0xe9,
- 0xb8, 0x00, 0xf6, 0x86, 0xaa, 0x02, 0x01, 0x75, 0x07, 0xf6, 0x86, 0x5e, 0x02, 0x01, 0x74, 0xef,
- 0xf7, 0x86, 0xf6, 0x00, 0x00, 0x80, 0x74, 0x06, 0xbe, 0x5b, 0x45, 0xe8, 0x4c, 0xc6, 0x8d, 0xbe,
- 0xd0, 0x02, 0x8c, 0xd9, 0x8e, 0xc1, 0xb9, 0x05, 0x00, 0x33, 0xc0, 0xf3, 0xaf, 0x74, 0xd0, 0x80,
- 0xbe, 0xa5, 0x02, 0x01, 0x74, 0x45, 0x80, 0xbe, 0xa6, 0x02, 0x01, 0x74, 0x5f, 0x80, 0xbe, 0xa7,
- 0x02, 0x01, 0x74, 0x09, 0x80, 0xbe, 0xa8, 0x02, 0x01, 0x74, 0x51, 0xeb, 0x6d, 0xc7, 0x86, 0xb6,
- 0x02, 0x04, 0x00, 0x81, 0x8e, 0x06, 0x02, 0x00, 0x20, 0xc6, 0x86, 0x85, 0x02, 0x01, 0xf6, 0x86,
- 0x6e, 0x02, 0x01, 0x74, 0x14, 0x80, 0x7e, 0x08, 0x16, 0x75, 0x0e, 0xc6, 0x86, 0x56, 0x02, 0x00,
- 0xe8, 0xf5, 0xdf, 0xc7, 0x86, 0x2a, 0x02, 0x03, 0x00, 0xeb, 0x3f, 0xc7, 0x86, 0xb6, 0x02, 0x04,
- 0x00, 0xc6, 0x86, 0x56, 0x02, 0x00, 0xe8, 0xdf, 0xdf, 0xc7, 0x86, 0x2a, 0x02, 0x03, 0x00, 0x81,
- 0x8e, 0x06, 0x02, 0x00, 0x20, 0xc6, 0x86, 0x85, 0x02, 0x01, 0xeb, 0x1e, 0xc7, 0x86, 0xb6, 0x02,
- 0x04, 0x00, 0x81, 0x8e, 0x06, 0x02, 0x00, 0x20, 0xc6, 0x86, 0x85, 0x02, 0x01, 0xf7, 0x86, 0xf6,
- 0x00, 0x00, 0x80, 0x75, 0x05, 0xc6, 0x86, 0x56, 0x02, 0x00, 0xc3, 0x90, 0xb8, 0x00, 0x02, 0xc7,
- 0x86, 0x32, 0x02, 0x06, 0x00, 0x80, 0xbe, 0x61, 0x02, 0x01, 0x74, 0x37, 0xf6, 0x86, 0xa7, 0x02,
- 0x01, 0x75, 0x07, 0xf6, 0x86, 0xa8, 0x02, 0x01, 0x74, 0x05, 0xb8, 0x00, 0x05, 0xeb, 0x24, 0xb8,
- 0x00, 0x04, 0xc7, 0x86, 0x32, 0x02, 0x04, 0x00, 0x8a, 0x4e, 0x08, 0x80, 0xf9, 0x0c, 0x74, 0x13,
- 0xb8, 0x00, 0x04, 0x80, 0xbe, 0x5a, 0x02, 0x01, 0x74, 0x09, 0xb8, 0x00, 0x03, 0xc7, 0x86, 0x32,
- 0x02, 0x07, 0x00, 0x89, 0x86, 0x00, 0x03, 0xc3, 0x80, 0x7e, 0x08, 0x08, 0x74, 0x23, 0x8a, 0x46,
- 0x06, 0x3c, 0x04, 0x72, 0x1c, 0x3c, 0x48, 0x74, 0x04, 0x3c, 0x0e, 0x77, 0x14, 0xf6, 0x86, 0x5d,
- 0x02, 0x01, 0x74, 0x0d, 0xf6, 0x86, 0x5c, 0x02, 0x01, 0x74, 0x06, 0xb8, 0x0c, 0x00, 0xe8, 0x9c,
- 0xd2, 0xc3, 0xc6, 0x86, 0x5d, 0x02, 0x01, 0x8e, 0x46, 0x02, 0x26, 0x81, 0x26, 0x04, 0x00, 0xff,
- 0xf7, 0xe8, 0xd4, 0x02, 0xc3, 0x90, 0x80, 0x7e, 0x06, 0x02, 0x74, 0x06, 0x80, 0x7e, 0x08, 0x08,
- 0x75, 0x06, 0xb8, 0x01, 0x00, 0xe8, 0x75, 0xd2, 0xc3, 0x90, 0x51, 0x52, 0x56, 0x33, 0xd2, 0xc6,
- 0x86, 0x69, 0x02, 0x00, 0xe8, 0x43, 0xc7, 0x8d, 0xb6, 0xa6, 0x01, 0x8d, 0xbe, 0xac, 0x01, 0x8c,
- 0xd8, 0x8e, 0xc0, 0xa5, 0xa5, 0xa5, 0xc6, 0x86, 0x83, 0x02, 0x00, 0x32, 0xc0, 0xe8, 0x7e, 0xe3,
- 0xc6, 0x86, 0x68, 0x01, 0x02, 0xc7, 0x86, 0x66, 0x01, 0x20, 0x03, 0xbe, 0x6d, 0x45, 0xe8, 0xd9,
- 0xc4, 0x8b, 0xb6, 0x64, 0x01, 0xb9, 0xe8, 0x03, 0x8e, 0x46, 0x02, 0x26, 0xc7, 0x06, 0x1c, 0x00,
- 0x00, 0x00, 0xe8, 0x48, 0xde, 0x5e, 0x5a, 0x59, 0xc3, 0x90, 0x80, 0x7e, 0x06, 0x02, 0x74, 0x0c,
- 0x80, 0x7e, 0x06, 0x44, 0x74, 0x06, 0x80, 0x7e, 0x08, 0x08, 0x75, 0x56, 0xfe, 0x8e, 0x68, 0x01,
- 0x80, 0x8e, 0x68, 0x01, 0x00, 0x74, 0x45, 0xbe, 0x6d, 0x45, 0xe8, 0x9d, 0xc4, 0xe8, 0x06, 0xbf,
- 0x8e, 0x46, 0x02, 0x26, 0x81, 0x0e, 0x0c, 0x00, 0x00, 0x01, 0x90, 0x8e, 0x46, 0x02, 0x26, 0x81,
- 0x26, 0x0c, 0x00, 0xff, 0xfe, 0x8e, 0x46, 0x02, 0x26, 0xc7, 0x06, 0x1c, 0x00, 0x00, 0x00, 0x8b,
- 0xb6, 0x64, 0x01, 0xb9, 0xe8, 0x03, 0xc6, 0x86, 0x86, 0x02, 0x01, 0x83, 0xbe, 0x66, 0x01, 0x01,
- 0x75, 0x05, 0xe8, 0xcf, 0xdd, 0xeb, 0x0b, 0xe8, 0xe3, 0xdd, 0xeb, 0x06, 0xb8, 0x01, 0x00, 0xe8,
- 0xbb, 0xd1, 0xc3, 0xf7, 0x86, 0xf6, 0x00, 0x80, 0x00, 0x74, 0x10, 0x80, 0x7e, 0x06, 0x14, 0x75,
- 0x0a, 0xb8, 0x05, 0x00, 0xe8, 0x72, 0xf9, 0xc6, 0x46, 0x07, 0x42, 0xc3, 0x80, 0xbe, 0xa6, 0x02,
- 0x01, 0x74, 0x4e, 0xc6, 0x86, 0x6c, 0x02, 0x00, 0x80, 0x7e, 0x08, 0x08, 0x75, 0x2c, 0xf6, 0x86,
- 0x6d, 0x02, 0x01, 0x74, 0x25, 0xe9, 0xd4, 0xcf, 0xbe, 0x7f, 0x45, 0xe8, 0x1c, 0xc4, 0x8e, 0x46,
- 0x02, 0xf6, 0x06, 0x1e, 0x56, 0x01, 0x75, 0x08, 0x26, 0x83, 0x26, 0x02, 0x00, 0xfd, 0xeb, 0x08,
- 0xc6, 0x86, 0x6d, 0x01, 0x01, 0xe8, 0xd7, 0x07, 0xeb, 0x16, 0x80, 0x7e, 0x06, 0x10, 0x75, 0x10,
- 0xc6, 0x46, 0x09, 0x00, 0xc6, 0x86, 0x54, 0x02, 0x00, 0xc6, 0x86, 0x68, 0x02, 0x00, 0xeb, 0xc8,
- 0xc3, 0xeb, 0xfd, 0x80, 0x7e, 0x06, 0x42, 0x75, 0x0f, 0xc7, 0x86, 0xce, 0x02, 0x05, 0x00, 0xbe,
- 0xfd, 0x45, 0xe8, 0xd5, 0xc3, 0xe8, 0xea, 0xdf, 0xc3, 0x90, 0x80, 0x7e, 0x08, 0x18, 0x74, 0x06,
- 0x80, 0x7e, 0x08, 0x1a, 0x75, 0x04, 0xc6, 0x46, 0x09, 0x1c, 0xc3, 0x90, 0x80, 0x7e, 0x06, 0x46,
- 0x75, 0x06, 0xb8, 0x05, 0x00, 0xe8, 0x15, 0xd1, 0xc3, 0x90, 0x80, 0x7e, 0x08, 0x1c, 0x75, 0x0a,
- 0x80, 0x7e, 0x06, 0x48, 0x75, 0x04, 0xc6, 0x46, 0x07, 0x44, 0xc3, 0x90, 0x80, 0x7e, 0x06, 0x42,
- 0x75, 0x04, 0xc6, 0x46, 0x07, 0x44, 0xc3, 0x90, 0xf6, 0x86, 0x72, 0x02, 0x01, 0x74, 0x20, 0xf6,
- 0x46, 0x06, 0x46, 0x75, 0x11, 0xc6, 0x86, 0x6b, 0x02, 0x01, 0xc6, 0x86, 0x76, 0x02, 0x01, 0xe8,
- 0xb8, 0xc5, 0xff, 0x86, 0xcc, 0x02, 0xe8, 0xb0, 0xdc, 0xbe, 0xeb, 0x45, 0xe8, 0x6b, 0xc3, 0xc3,
- 0x80, 0x7e, 0x06, 0x42, 0x75, 0x3b, 0xf6, 0x86, 0x77, 0x02, 0x01, 0x75, 0x34, 0x83, 0xbe, 0xce,
- 0x02, 0x00, 0x74, 0x0f, 0xff, 0x8e, 0xce, 0x02, 0xbe, 0xfd, 0x45, 0xe8, 0x4c, 0xc3, 0xe8, 0x61,
- 0xdf, 0xeb, 0x1e, 0xf7, 0x86, 0xf4, 0x00, 0x00, 0x10, 0x74, 0x10, 0xb8, 0x02, 0x00, 0xe8, 0x68,
- 0xf8, 0xc6, 0x46, 0x09, 0x1e, 0xc6, 0x46, 0x07, 0x02, 0xeb, 0x06, 0xb8, 0x06, 0x00, 0xe8, 0x8c,
- 0xd0, 0xc3, 0x80, 0x7e, 0x06, 0x46, 0x75, 0x1a, 0xc6, 0x86, 0x6b, 0x02, 0x01, 0xc6, 0x86, 0x76,
- 0x02, 0x01, 0xe8, 0x55, 0xc5, 0xff, 0x86, 0xcc, 0x02, 0xbe, 0x03, 0x46, 0xe8, 0x0b, 0xc3, 0xe8,
- 0x62, 0xdf, 0xc3, 0x90, 0x80, 0x7e, 0x06, 0x44, 0x75, 0x06, 0xb8, 0x05, 0x00, 0xe8, 0x5d, 0xd0,
- 0xc3, 0x90, 0x80, 0x7e, 0x06, 0x46, 0x75, 0x08, 0xb8, 0x06, 0x00, 0xe8, 0x4f, 0xd0, 0xeb, 0x17,
- 0x80, 0x7e, 0x08, 0x16, 0x75, 0x11, 0xc7, 0x86, 0x2a, 0x02, 0x04, 0x00, 0xf6, 0x86, 0x6e, 0x02,
- 0x01, 0x74, 0x04, 0xc6, 0x46, 0x09, 0x18, 0xc3, 0x8e, 0x46, 0x02, 0x26, 0x8b, 0x16, 0x02, 0x00,
- 0xf7, 0xc2, 0x02, 0x00, 0x74, 0x14, 0x8b, 0xc2, 0x83, 0xe0, 0xfd, 0x8e, 0x46, 0x02, 0x26, 0xa3,
- 0x02, 0x00, 0x8e, 0x46, 0x02, 0x26, 0x89, 0x16, 0x02, 0x00, 0xc3, 0x90, 0x8e, 0x46, 0x02, 0x26,
- 0xf7, 0x06, 0x14, 0x00, 0x03, 0x00, 0x74, 0x10, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x26, 0x14, 0x00,
- 0x03, 0xc6, 0x86, 0x55, 0x02, 0x01, 0xeb, 0x00, 0xf6, 0x86, 0x55, 0x02, 0x01, 0x75, 0x14, 0x80,
- 0x7e, 0x08, 0x00, 0x75, 0x0e, 0xc6, 0x46, 0x09, 0x02, 0xff, 0x86, 0x40, 0x02, 0x81, 0x8e, 0xda,
- 0x02, 0x00, 0x02, 0xc6, 0x86, 0x55, 0x02, 0x00, 0xc3, 0x90, 0xf7, 0x86, 0xf4, 0x00, 0x00, 0x10,
- 0x75, 0x15, 0x8e, 0x46, 0x02, 0x26, 0xf7, 0x06, 0x14, 0x00, 0x03, 0x00, 0x74, 0x09, 0x8e, 0x46,
- 0x02, 0x26, 0x83, 0x26, 0x14, 0x00, 0x03, 0xc3, 0x80, 0xbe, 0xab, 0x02, 0x01, 0x75, 0x32, 0x8e,
- 0x46, 0x02, 0x26, 0xf7, 0x06, 0x14, 0x00, 0x08, 0x00, 0x74, 0x21, 0xf6, 0x86, 0x5d, 0x02, 0x01,
- 0x74, 0x1f, 0xf6, 0x86, 0x5c, 0x02, 0x01, 0x75, 0x18, 0xc7, 0x86, 0x2a, 0x02, 0x0a, 0x00, 0xbe,
- 0x97, 0x45, 0xe8, 0x25, 0xc2, 0xc6, 0x86, 0x5c, 0x02, 0x01, 0xeb, 0x05, 0xc6, 0x86, 0x5c, 0x02,
- 0x00, 0xc3, 0xbe, 0xa9, 0x45, 0xe8, 0x12, 0xc2, 0x33, 0xc0, 0x87, 0x86, 0xc2, 0x02, 0x0b, 0xc0,
- 0x75, 0x14, 0x80, 0xbe, 0x61, 0x02, 0x00, 0x74, 0x0d, 0xc6, 0x86, 0x61, 0x02, 0x00, 0x80, 0xa6,
- 0x07, 0x02, 0x7f, 0xe8, 0x46, 0xfc, 0xc3, 0x80, 0x7e, 0x06, 0x12, 0x75, 0x0d, 0xc6, 0x86, 0x08,
- 0x01, 0x01, 0xc6, 0x86, 0x09, 0x01, 0x00, 0xe8, 0xb8, 0xf6, 0xc3, 0x90, 0xf6, 0x86, 0x6e, 0x01,
- 0x01, 0x74, 0x15, 0x80, 0xbe, 0x70, 0x01, 0x03, 0x73, 0x07, 0xc6, 0x86, 0x6c, 0x01, 0x01, 0xeb,
- 0x23, 0xc6, 0x86, 0x6e, 0x01, 0x00, 0xeb, 0x1c, 0xf6, 0x86, 0x6f, 0x01, 0x01, 0x74, 0x15, 0x80,
- 0xbe, 0x71, 0x01, 0x03, 0x73, 0x07, 0xc6, 0x86, 0x6d, 0x01, 0x01, 0xeb, 0x07, 0xc6, 0x86, 0x6f,
- 0x01, 0x00, 0xeb, 0x00, 0xc3, 0xf7, 0x86, 0x58, 0x15, 0x00, 0x80, 0x75, 0x07, 0x83, 0xbe, 0x58,
- 0x15, 0x05, 0x74, 0x05, 0xc6, 0x86, 0xca, 0x01, 0x01, 0xc3, 0xe8, 0xf6, 0xcf, 0xc3, 0xf7, 0x86,
- 0xf6, 0x00, 0x08, 0x00, 0x74, 0x09, 0xe8, 0xb0, 0xf5, 0xbe, 0x21, 0x46, 0xe8, 0x7b, 0xc1, 0xc3,
- 0xf7, 0x86, 0xf6, 0x00, 0x08, 0x00, 0x74, 0x11, 0x81, 0x8e, 0x06, 0x02, 0x00, 0x04, 0xc6, 0x86,
- 0x85, 0x02, 0x01, 0xb8, 0x10, 0x00, 0xe8, 0xc4, 0xce, 0xc3, 0x8e, 0x46, 0x02, 0x26, 0xf7, 0x06,
- 0x00, 0x00, 0x02, 0x00, 0x74, 0x41, 0xbb, 0x00, 0x03, 0x8b, 0x47, 0x14, 0x83, 0xf8, 0x00, 0x74,
- 0x36, 0x3b, 0x86, 0x2a, 0x01, 0x74, 0x0c, 0x89, 0x86, 0x2a, 0x01, 0xc7, 0x86, 0x28, 0x01, 0x00,
- 0x00, 0xeb, 0x24, 0xff, 0x86, 0x28, 0x01, 0x83, 0xbe, 0x28, 0x01, 0x02, 0x72, 0x19, 0x83, 0xbe,
- 0x28, 0x01, 0x18, 0x73, 0x0c, 0x80, 0x7e, 0x08, 0x00, 0x74, 0x0c, 0x80, 0x7e, 0x08, 0x16, 0x74,
- 0x06, 0xb8, 0x10, 0x00, 0xe8, 0x76, 0xce, 0xbe, 0x27, 0x46, 0xe8, 0x0d, 0xc1, 0xc3, 0x8b, 0x86,
- 0x30, 0x01, 0x88, 0xa6, 0x2c, 0x01, 0x86, 0x86, 0x2d, 0x01, 0x32, 0x86, 0x2d, 0x01, 0x74, 0x0f,
- 0xf6, 0x46, 0x06, 0x0e, 0x74, 0x06, 0xf6, 0x46, 0x06, 0x48, 0x75, 0x03, 0xe8, 0xfa, 0xbb, 0xc3,
- 0xf6, 0x86, 0x90, 0x02, 0x01, 0x74, 0x07, 0xa8, 0x24, 0x74, 0x03, 0xe8, 0x8a, 0xcf, 0xf6, 0x86,
- 0xa9, 0x02, 0x01, 0x74, 0x09, 0x80, 0xbe, 0x5e, 0x02, 0x01, 0x75, 0x58, 0xeb, 0x09, 0xf6, 0x86,
- 0x6e, 0x02, 0x01, 0x75, 0x10, 0xeb, 0x52, 0x80, 0x7e, 0x06, 0x0e, 0x74, 0x02, 0xeb, 0x45, 0x80,
- 0x7e, 0x08, 0x00, 0x75, 0x3f, 0xa8, 0x01, 0x74, 0x05, 0x83, 0x8e, 0xda, 0x02, 0x10, 0xa8, 0x04,
- 0x74, 0x05, 0x83, 0x8e, 0xda, 0x02, 0x04, 0xa8, 0x08, 0x74, 0x05, 0x83, 0x8e, 0xda, 0x02, 0x40,
- 0xa8, 0x20, 0x74, 0x10, 0x81, 0x8e, 0xda, 0x02, 0x00, 0x01, 0xf6, 0x86, 0x54, 0x02, 0x01, 0x75,
- 0x03, 0xe8, 0x8d, 0xc4, 0xa8, 0x40, 0x74, 0x05, 0x83, 0x8e, 0xda, 0x02, 0x01, 0xa8, 0x80, 0x74,
- 0x03, 0xe8, 0x52, 0x00, 0xa9, 0x00, 0x01, 0x75, 0x01, 0xc3, 0x50, 0x80, 0x7e, 0x08, 0x0a, 0x75,
- 0x06, 0xc6, 0x46, 0x09, 0x04, 0xeb, 0x1b, 0x80, 0x7e, 0x08, 0x00, 0x75, 0x23, 0xc6, 0x46, 0x09,
- 0x02, 0xff, 0x86, 0x40, 0x02, 0xf6, 0x86, 0x5e, 0x02, 0x01, 0x74, 0x06, 0x81, 0x8e, 0xda, 0x02,
- 0x00, 0x02, 0xc6, 0x86, 0x69, 0x02, 0x01, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x0c, 0x00, 0x10,
- 0x8e, 0x46, 0x02, 0x26, 0xc7, 0x06, 0x08, 0x00, 0x00, 0x00, 0x8e, 0x46, 0x02, 0x26, 0xc7, 0x06,
- 0x08, 0x00, 0x00, 0x01, 0x58, 0xc3, 0x83, 0x8e, 0xda, 0x02, 0x20, 0x83, 0x7e, 0x06, 0x08, 0x75,
- 0x13, 0x8b, 0x8e, 0xc4, 0x02, 0x41, 0x89, 0x8e, 0xc4, 0x02, 0x80, 0xf9, 0x02, 0x75, 0x05, 0x50,
- 0xe8, 0x71, 0xd9, 0x58, 0xc3, 0x50, 0x53, 0x51, 0x8a, 0x4e, 0x06, 0x80, 0xf9, 0x0e, 0x74, 0x1e,
- 0x80, 0xf9, 0x48, 0x74, 0x19, 0x80, 0xbe, 0x54, 0x02, 0x01, 0x74, 0x46, 0x80, 0xf9, 0x08, 0x72,
- 0x41, 0x80, 0xf9, 0x0e, 0x77, 0x3c, 0xb8, 0x02, 0x00, 0xe8, 0x41, 0xcd, 0xeb, 0x34, 0xc7, 0x86,
- 0x2a, 0x02, 0x05, 0x00, 0xc6, 0x86, 0x61, 0x02, 0x01, 0x8a, 0x46, 0x08, 0x3c, 0x06, 0x74, 0x26,
- 0x3c, 0x02, 0x74, 0x51, 0x3c, 0x08, 0x74, 0x1a, 0x3c, 0x04, 0x74, 0x16, 0xf6, 0x86, 0xa7, 0x02,
- 0x01, 0x75, 0x13, 0xf6, 0x86, 0xa8, 0x02, 0x01, 0x75, 0x0c, 0xc6, 0x46, 0x09, 0x04, 0xff, 0x86,
- 0x4a, 0x02, 0x59, 0x5b, 0x58, 0xc3, 0x8b, 0x86, 0x06, 0x02, 0xf6, 0xc4, 0x80, 0x75, 0x0c, 0x80,
- 0xcc, 0x80, 0x89, 0x86, 0x06, 0x02, 0xc6, 0x86, 0x85, 0x02, 0x01, 0x81, 0xbe, 0x00, 0x03, 0x00,
- 0x02, 0x74, 0xdf, 0xc7, 0x86, 0x00, 0x03, 0x00, 0x02, 0xf6, 0x86, 0xa5, 0x02, 0x01, 0x74, 0xd2,
- 0xe8, 0xe8, 0xd7, 0xeb, 0xcd, 0xb8, 0x00, 0x01, 0xe8, 0x36, 0xdb, 0xf6, 0x86, 0x5e, 0x02, 0x01,
- 0x74, 0xc0, 0xc6, 0x46, 0x09, 0x04, 0xeb, 0xba, 0xfa, 0xc7, 0x06, 0x30, 0x00, 0x0a, 0x0f, 0x8c,
- 0x0e, 0x32, 0x00, 0xb8, 0x00, 0x00, 0xe7, 0x06, 0xb8, 0xea, 0x09, 0xe7, 0x00, 0xb8, 0x09, 0x00,
- 0xe7, 0x06, 0xb0, 0x7f, 0xe8, 0xfb, 0xbb, 0xc6, 0x06, 0x1f, 0x56, 0x80, 0xfb, 0xc3, 0xf7, 0x86,
- 0x82, 0x01, 0x01, 0x00, 0x74, 0x1a, 0xc7, 0x86, 0x82, 0x01, 0x00, 0x00, 0xf6, 0x86, 0x6e, 0x01,
- 0x01, 0x74, 0x0d, 0xc6, 0x86, 0x6e, 0x01, 0x00, 0xbe, 0x15, 0x46, 0xe8, 0xce, 0xbf, 0xeb, 0x00,
- 0xf7, 0x86, 0x8a, 0x01, 0x01, 0x00, 0x74, 0x45, 0xc7, 0x86, 0x8a, 0x01, 0x00, 0x00, 0xf6, 0x86,
- 0x6f, 0x01, 0x01, 0x74, 0x0d, 0xc6, 0x86, 0x6f, 0x01, 0x00, 0xbe, 0x15, 0x46, 0xe8, 0xac, 0xbf,
- 0xeb, 0x2b, 0x80, 0x7e, 0x06, 0x0e, 0x74, 0x06, 0x80, 0x7e, 0x06, 0x48, 0x75, 0x1f, 0xf6, 0x86,
- 0x5d, 0x02, 0x01, 0x74, 0x18, 0xf6, 0x86, 0x5c, 0x02, 0x01, 0x75, 0x11, 0xc6, 0x86, 0x5c, 0x02,
- 0x01, 0xc7, 0x86, 0x2a, 0x02, 0x0a, 0x00, 0xb8, 0x0c, 0x00, 0xe8, 0x30, 0xcc, 0xc3, 0xb9, 0x01,
- 0x00, 0x33, 0xdb, 0x8b, 0xaf, 0xe6, 0x54, 0x8e, 0x46, 0x02, 0x26, 0x8b, 0x16, 0x14, 0x00, 0x83,
- 0xe2, 0x08, 0x26, 0xa1, 0x32, 0x00, 0xd1, 0xe8, 0xd0, 0xe8, 0x86, 0xe0, 0xf7, 0xc2, 0x08, 0x00,
- 0x75, 0x02, 0xeb, 0x67, 0x83, 0xbe, 0x74, 0x01, 0x00, 0x75, 0x04, 0x88, 0xa6, 0x78, 0x01, 0x81,
- 0xbe, 0x74, 0x01, 0xbc, 0x02, 0x72, 0x06, 0xc7, 0x86, 0x74, 0x01, 0xf4, 0x01, 0x8a, 0xc4, 0x2a,
- 0xe4, 0x83, 0xf8, 0x7f, 0x75, 0x12, 0x8b, 0x86, 0x74, 0x01, 0xbe, 0xeb, 0x09, 0xf7, 0xe6, 0xbe,
- 0x20, 0x00, 0xf7, 0xf6, 0x03, 0x86, 0x78, 0x01, 0x89, 0x86, 0x7c, 0x01, 0xff, 0x86, 0x74, 0x01,
- 0x83, 0xbe, 0x7c, 0x01, 0x7d, 0x72, 0x21, 0x83, 0xbe, 0x88, 0x01, 0x01, 0x74, 0x1a, 0xc7, 0x86,
- 0x88, 0x01, 0x01, 0x00, 0xc7, 0x86, 0x8a, 0x01, 0x01, 0x00, 0xa1, 0xd0, 0x54, 0x89, 0x86, 0x8c,
- 0x01, 0xa1, 0xd2, 0x54, 0x89, 0x86, 0x8e, 0x01, 0xe9, 0x94, 0x00, 0x83, 0xbe, 0x76, 0x01, 0x00,
- 0x75, 0x04, 0x88, 0x86, 0x7a, 0x01, 0x81, 0xbe, 0x76, 0x01, 0xbc, 0x02, 0x72, 0x06, 0xc7, 0x86,
- 0x76, 0x01, 0xf4, 0x01, 0x2a, 0xe4, 0x83, 0xf8, 0x7f, 0x75, 0x12, 0x8b, 0x86, 0x76, 0x01, 0xbe,
- 0xeb, 0x09, 0xf7, 0xe6, 0xbe, 0x20, 0x00, 0xf7, 0xf6, 0x03, 0x86, 0x7a, 0x01, 0x89, 0x86, 0x7e,
- 0x01, 0xff, 0x86, 0x76, 0x01, 0x83, 0xbe, 0x80, 0x01, 0x01, 0x74, 0x53, 0x83, 0xf8, 0x1f, 0x72,
- 0x4e, 0x8d, 0xb6, 0x96, 0x01, 0x83, 0x3c, 0x12, 0x72, 0x45, 0x83, 0x3c, 0x23, 0x77, 0x40, 0x83,
- 0x7c, 0x02, 0x1f, 0x72, 0x3a, 0x83, 0x7c, 0x02, 0x45, 0x77, 0x34, 0x83, 0x7c, 0x04, 0x12, 0x72,
- 0x2e, 0x90, 0x83, 0x7c, 0x04, 0x23, 0x77, 0x27, 0x81, 0x7c, 0x06, 0x9c, 0x00, 0x72, 0x20, 0xc7,
- 0x86, 0x80, 0x01, 0x01, 0x00, 0xc7, 0x86, 0x82, 0x01, 0x01, 0x00, 0xc7, 0x86, 0x88, 0x01, 0x00,
- 0x00, 0xa1, 0xd0, 0x54, 0x89, 0x86, 0x84, 0x01, 0xa1, 0xd2, 0x54, 0x89, 0x86, 0x86, 0x01, 0x83,
- 0xc3, 0x02, 0x49, 0x74, 0x03, 0xe9, 0xdb, 0xfe, 0xc3, 0x50, 0x51, 0x52, 0x56, 0x57, 0x8e, 0x46,
- 0x02, 0x83, 0x86, 0x90, 0x01, 0x01, 0x83, 0x96, 0x92, 0x01, 0x00, 0xc7, 0x86, 0x80, 0x01, 0x00,
- 0x00, 0x26, 0xa1, 0x32, 0x00, 0xd1, 0xe8, 0xd0, 0xe8, 0x86, 0xe0, 0x8d, 0xb6, 0x96, 0x01, 0x26,
- 0x8b, 0x0e, 0x14, 0x00, 0x83, 0xe1, 0x08, 0x89, 0x8e, 0x94, 0x01, 0xf7, 0xc1, 0x08, 0x00, 0x74,
- 0x4f, 0x8b, 0x4c, 0x0a, 0x89, 0x4c, 0x0e, 0x8b, 0x4c, 0x06, 0x89, 0x4c, 0x0a, 0x8b, 0x4c, 0x02,
- 0x89, 0x4c, 0x06, 0x2a, 0xe4, 0x8b, 0xc8, 0x83, 0xf8, 0x7f, 0x75, 0x19, 0xb0, 0x0a, 0xe6, 0x10,
- 0xe5, 0x00, 0xb1, 0x05, 0xd3, 0xe8, 0x03, 0x86, 0x7e, 0x01, 0x8b, 0xc8, 0xe4, 0x10, 0xa8, 0x10,
- 0x74, 0x03, 0x83, 0xc1, 0x4f, 0x8b, 0xc1, 0x89, 0x44, 0x02, 0xc7, 0x86, 0x7e, 0x01, 0x00, 0x00,
- 0xc7, 0x86, 0x76, 0x01, 0x00, 0x00, 0xeb, 0x7f, 0xc7, 0x86, 0x88, 0x01, 0x00, 0x00, 0xeb, 0x77,
- 0x8b, 0x4c, 0x08, 0x89, 0x4c, 0x0c, 0x8b, 0x4c, 0x04, 0x89, 0x4c, 0x08, 0x8b, 0x0c, 0x89, 0x4c,
- 0x04, 0x8a, 0xc4, 0x2a, 0xe4, 0x8b, 0xc8, 0x83, 0xf8, 0x7f, 0x75, 0x25, 0xb0, 0x0a, 0xe6, 0x10,
- 0xe5, 0x00, 0xb1, 0x05, 0xd3, 0xe8, 0x03, 0x86, 0x7c, 0x01, 0x8b, 0xc8, 0xe4, 0x10, 0xa8, 0x10,
- 0x74, 0x03, 0x83, 0xc1, 0x4f, 0x8b, 0x96, 0x7c, 0x01, 0x83, 0xf9, 0x7f, 0x77, 0x03, 0x83, 0xc1,
- 0x4f, 0x8b, 0xc1, 0x89, 0x04, 0xc7, 0x86, 0x7c, 0x01, 0x00, 0x00, 0xc7, 0x86, 0x74, 0x01, 0x00,
- 0x00, 0x83, 0xf8, 0x7d, 0x72, 0xa2, 0x83, 0xbe, 0x88, 0x01, 0x01, 0x74, 0x1a, 0xc7, 0x86, 0x88,
- 0x01, 0x01, 0x00, 0xc7, 0x86, 0x8a, 0x01, 0x01, 0x00, 0xa1, 0xd0, 0x54, 0x89, 0x86, 0x84, 0x01,
- 0xa1, 0xd2, 0x54, 0x89, 0x86, 0x86, 0x01, 0x5f, 0x5e, 0x5a, 0x59, 0x58, 0xc3, 0x50, 0x51, 0x57,
- 0x06, 0xfa, 0x8c, 0xd8, 0x8e, 0xc0, 0x2b, 0xc0, 0x8d, 0xbe, 0x72, 0x01, 0xb9, 0x1a, 0x00, 0xf3,
- 0xab, 0xfb, 0x07, 0x5f, 0x59, 0x58, 0xc3, 0xfa, 0xf6, 0x06, 0x1f, 0x56, 0x80, 0x74, 0x4e, 0xc6,
- 0x86, 0x6c, 0x01, 0x00, 0xc6, 0x86, 0x6e, 0x01, 0x01, 0xfe, 0x86, 0x70, 0x01, 0x8a, 0x46, 0x00,
- 0xa2, 0x1f, 0x56, 0xc7, 0x06, 0x20, 0x56, 0x02, 0x00, 0xc7, 0x06, 0x22, 0x56, 0x01, 0x00, 0xe5,
- 0x06, 0x83, 0xe0, 0x09, 0xe7, 0x06, 0x8b, 0xc8, 0xb8, 0xd6, 0x13, 0xe7, 0x02, 0xb8, 0x4e, 0x03,
- 0xe7, 0x04, 0x83, 0xc9, 0x46, 0x8b, 0xc1, 0xe7, 0x06, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x02,
- 0x00, 0x01, 0xbe, 0x15, 0x46, 0xe8, 0x32, 0xbc, 0xc6, 0x86, 0x5d, 0x02, 0x01, 0xfb, 0xc3, 0xfa,
- 0xf6, 0x06, 0x1f, 0x56, 0x80, 0x74, 0x49, 0xc6, 0x86, 0x6d, 0x01, 0x00, 0xc6, 0x86, 0x6f, 0x01,
- 0x01, 0xfe, 0x86, 0x71, 0x01, 0x8a, 0x46, 0x00, 0xa2, 0x1f, 0x56, 0xc7, 0x06, 0x20, 0x56, 0x0e,
- 0x00, 0xc7, 0x06, 0x22, 0x56, 0x02, 0x00, 0xe5, 0x06, 0x83, 0xe0, 0x09, 0xe7, 0x06, 0x8b, 0xc8,
- 0xb8, 0xf7, 0x03, 0xe7, 0x02, 0xb8, 0xd6, 0x13, 0xe7, 0x04, 0x83, 0xc9, 0x46, 0x8b, 0xc1, 0xe7,
- 0x06, 0x8e, 0x46, 0x02, 0x26, 0x83, 0x0e, 0x02, 0x00, 0x01, 0xbe, 0x15, 0x46, 0xe8, 0xda, 0xbb,
- 0xfb, 0xc3, 0xe5, 0x06, 0x83, 0xe0, 0x09, 0xe7, 0x06, 0xc3, 0xb8, 0x9d, 0x06, 0xe7, 0x02, 0xc7,
- 0x06, 0x20, 0x56, 0x04, 0x00, 0xc3, 0xc7, 0x06, 0x20, 0x56, 0x06, 0x00, 0xc3, 0x90, 0xc7, 0x06,
- 0x20, 0x56, 0x08, 0x00, 0xc3, 0x90, 0x53, 0xc7, 0x06, 0x20, 0x56, 0x0a, 0x00, 0x33, 0xdb, 0x8a,
- 0x1e, 0x1f, 0x56, 0xd0, 0xe3, 0x8b, 0x9f, 0xe6, 0x54, 0x06, 0x8e, 0x47, 0x02, 0x26, 0x83, 0x26,
- 0x02, 0x00, 0xfe, 0x07, 0xb8, 0x9d, 0x06, 0xe7, 0x02, 0x5b, 0xc3, 0x90, 0xe5, 0x06, 0x83, 0xe0,
- 0x09, 0xe7, 0x06, 0xc7, 0x06, 0x20, 0x56, 0x0c, 0x00, 0xc6, 0x06, 0x1f, 0x56, 0x80, 0xc3, 0x90,
- 0xe5, 0x06, 0x83, 0xe0, 0x09, 0xe7, 0x06, 0xc3, 0xb8, 0xf7, 0x03, 0xe7, 0x02, 0xc7, 0x06, 0x20,
- 0x56, 0x10, 0x00, 0xc3, 0x53, 0xc7, 0x06, 0x20, 0x56, 0x12, 0x00, 0x33, 0xdb, 0x8a, 0x1e, 0x1f,
- 0x56, 0xd0, 0xe3, 0x8b, 0x9f, 0xe6, 0x54, 0x06, 0x8e, 0x47, 0x02, 0x26, 0x83, 0x26, 0x02, 0x00,
- 0xfe, 0x07, 0xb8, 0x9d, 0x06, 0xe7, 0x02, 0x5b, 0xc3, 0x90, 0xe5, 0x06, 0x83, 0xe0, 0x09, 0xe7,
- 0x06, 0xc7, 0x06, 0x20, 0x56, 0x14, 0x00, 0xc6, 0x06, 0x1f, 0x56, 0x80, 0xc3, 0x90, 0xe5, 0x06,
- 0x83, 0xe0, 0x09, 0xe7, 0x06, 0xc3, 0x4e, 0x6f, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x54, 0x78, 0x74,
- 0x30, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x34, 0x12, 0x45, 0x23, 0x56, 0x34,
- 0x00, 0x00, 0x00, 0x00, 0xcd, 0xab, 0xde, 0xbc, 0xef, 0xcd, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x6f,
- 0x74, 0x49, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x00, 0x54, 0x69, 0x6d,
- 0x65, 0x72, 0x30, 0x00, 0x00, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x31, 0x00, 0x00, 0x54, 0x65, 0x73,
- 0x74, 0x31, 0x00, 0x00, 0x54, 0x65, 0x73, 0x74, 0x32, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x55, 0xf1, 0x4d,
- 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
- 0x41, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x04, 0x09, 0x00, 0x00, 0x06, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00,
- 0xe0, 0x02, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16,
- 0x00, 0x02, 0x04, 0x01, 0x00, 0x00, 0x06, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0xe0, 0x03, 0xc0, 0x00, 0xff, 0xff,
- 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x03, 0x06, 0x0b, 0x00, 0x00,
- 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
- 0xe0, 0x04, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12,
- 0x00, 0x04, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0b, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0xe0, 0x05, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x05, 0x06, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0xe0, 0x06, 0xc0, 0x00,
- 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x06, 0x06, 0x0b,
- 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x12, 0x00, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x08, 0x02, 0x26, 0x00, 0x00,
- 0x00, 0x00, 0x3e, 0x00, 0xe0, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x30, 0x50, 0x20, 0x0c, 0x23, 0x30, 0x30, 0x30, 0x30, 0xf3, 0xf0, 0xf0, 0xf8,
- 0xf9, 0xf6, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x22, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x21,
- 0x00, 0x00, 0x04, 0x21, 0x00, 0x00, 0x06, 0x2b, 0x00, 0x00, 0x00, 0x00, 0x06, 0x2c, 0x00, 0x00,
- 0x00, 0x00, 0x08, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x29, 0x20, 0x00, 0x08, 0x00,
- 0x01, 0x00, 0x04, 0x06, 0x00, 0x00, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00,
- 0xe0, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26,
- 0x40, 0x25, 0x06, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x14, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0xe0, 0x00, 0xc0, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x40, 0x26, 0x06, 0x0b, 0x00, 0x00,
- 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00,
- 0xe0, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c,
- 0x60, 0x27, 0x08, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00,
- 0xe0, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16,
- 0x60, 0x28, 0x04, 0x30, 0x00, 0x00, 0x06, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0xe0, 0x00, 0xc0, 0x00, 0xff, 0xff,
- 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x30, 0x11, 0x04, 0x0c, 0x00, 0x01,
- 0x04, 0x0e, 0x00, 0x02, 0x04, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0xe0, 0x00,
- 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x03, 0x12,
- 0x04, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0xe0, 0x00, 0xc0, 0x00, 0xff, 0xff,
- 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x30, 0x13, 0x00, 0x00, 0x00, 0x00,
- 0x16, 0x00, 0xe0, 0x00, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x08, 0x03, 0x14, 0x04, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0xe0, 0x00,
- 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x15,
- 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0xe0, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x60, 0x29, 0x08, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x08, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x2a, 0x00, 0x00, 0x02, 0x20, 0x80, 0x00, 0x00, 0x06,
- 0x09, 0x00, 0x00, 0x00, 0x04, 0x03, 0x01, 0x80, 0x00, 0x00, 0x04, 0x02, 0x80, 0x00, 0x00, 0x08,
- 0x0b, 0x00, 0x00, 0x00, 0x06, 0x02, 0x02, 0x80, 0x00, 0x00, 0x08, 0x0b, 0x00, 0x00, 0x00, 0x06,
- 0x01, 0x26, 0x80, 0x00, 0x00, 0xff, 0x06, 0x03, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00,
- 0x06, 0x05, 0x00, 0x00, 0x00, 0x04, 0x06, 0x00, 0x00, 0x00, 0x04, 0x07, 0x00, 0x00, 0x00, 0x04,
- 0x09, 0x00, 0x00, 0x00, 0x04, 0x04, 0x03, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x06,
- 0x05, 0x00, 0x00, 0x00, 0x04, 0x09, 0x00, 0x00, 0x00, 0x04, 0x03, 0x0c, 0x80, 0x00, 0x00, 0x04,
- 0x0e, 0x80, 0x00, 0x00, 0x04, 0x21, 0x00, 0x00, 0x00, 0x04, 0x01, 0x0f, 0x80, 0x00, 0x00, 0x04,
- 0x01, 0x0d, 0x80, 0x00, 0x00, 0x04, 0x04, 0x02, 0x80, 0x00, 0x00, 0x08, 0x22, 0x00, 0x00, 0x00,
- 0xff, 0x23, 0x00, 0x00, 0x00, 0xff, 0x21, 0x00, 0x00, 0x00, 0x04, 0x01, 0x09, 0x00, 0x00, 0x00,
- 0x04, 0x00, 0xa5, 0xa5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
-
-#endif /* OLTR_NO_HAWKEYE_MAC */
diff --git a/sys/contrib/dev/oltr/trlldmac.c b/sys/contrib/dev/oltr/trlldmac.c
deleted file mode 100644
index 158848854793..000000000000
--- a/sys/contrib/dev/oltr/trlldmac.c
+++ /dev/null
@@ -1,1990 +0,0 @@
-/*
- ****************************** trlld.h ***********************************
- *
- * Copyright (c) 1997
- * OLICOM A/S
- * Denmark
- *
- * All Rights Reserved
- *
- * This source file is subject to the terms and conditions of the
- * OLICOM Software License Agreement which restricts the manner
- * in which it may be used.
- *
- *---------------------------------------------------------------------------
- *
- * Description: Olicom TMS-380 adapter microcode
- *
- *---------------------------------------------------------------------------
- */
-
-#include "opt_oltr.h"
-
-#ifndef OLTR_NO_TMS_MAC
-
-unsigned char TRlldMacCode[] = { 0x52, 0x94, 0x02, 0x00, 0xba, 0x7a, 0x00, 0x00, 0xa0, 0x00, 0x01, 0xc8, 0xe2, 0x28, 0xd4, 0xdb,
- 0x80, 0x00, 0x40, 0x00, 0x20, 0x00, 0x10, 0x00, 0x08, 0x00, 0x04, 0x00, 0x02, 0x00, 0x01, 0x00,
- 0x00, 0x80, 0x00, 0x40, 0x00, 0x20, 0x00, 0x10, 0x00, 0x08, 0x00, 0x04, 0x00, 0x02, 0x00, 0x01,
- 0xff, 0x00, 0x00, 0xff, 0xff, 0xf0, 0xf0, 0x00, 0x00, 0x0f, 0xff, 0xff, 0x7f, 0xff, 0x00, 0x03,
- 0x00, 0x00, 0x00, 0xd4, 0xe7, 0xe7, 0xe7, 0xf2, 0xf2, 0xf8, 0x28, 0x43, 0x29, 0x20, 0x43, 0x4f,
- 0x50, 0x59, 0x52, 0x49, 0x47, 0x48, 0x54, 0x20, 0x49, 0x42, 0x4d, 0x20, 0x31, 0x39, 0x38, 0x33,
- 0x2c, 0x34, 0x2c, 0x35, 0x2c, 0x36, 0x28, 0x43, 0x29, 0x20, 0x43, 0x4f, 0x50, 0x59, 0x52, 0x49,
- 0x47, 0x48, 0x54, 0x20, 0x54, 0x49, 0x20, 0x31, 0x39, 0x38, 0x33, 0x2d, 0x38, 0x39, 0x2c, 0x39,
- 0x30, 0x2d, 0x39, 0x34, 0x00, 0x00, 0x7b, 0x63, 0xf6, 0xde, 0xf1, 0xcc, 0xed, 0x9c, 0xf7, 0xe2,
- 0x00, 0x00, 0x00, 0xc4, 0xbd, 0x24, 0x06, 0x4a, 0x06, 0x50, 0x06, 0x4c, 0xda, 0x00, 0x06, 0x4e,
- 0x00, 0x0f, 0x06, 0x32, 0x00, 0x01, 0x07, 0x50, 0x07, 0x58, 0x07, 0x52, 0xc2, 0xce, 0x07, 0x54,
- 0x00, 0x0f, 0x07, 0x38, 0x00, 0x01, 0x00, 0xba, 0x00, 0xa0, 0x00, 0xbc, 0xf7, 0xf0, 0x00, 0xbe,
- 0x00, 0x0f, 0x07, 0x5e, 0x07, 0x3a, 0x07, 0x62, 0x80, 0x40, 0x07, 0x64, 0xc7, 0xb2, 0x07, 0x66,
- 0xc7, 0x94, 0x07, 0x68, 0xc5, 0x9e, 0x07, 0x98, 0x80, 0x00, 0x07, 0x78, 0x80, 0x00, 0x08, 0xe2,
- 0x00, 0x04, 0x08, 0xe4, 0x00, 0x01, 0x08, 0xec, 0x00, 0x08, 0x08, 0xf6, 0x00, 0x0a, 0x08, 0xf8,
- 0x00, 0x06, 0x09, 0x00, 0x00, 0x0c, 0x09, 0x02, 0x00, 0x04, 0x01, 0xae, 0x00, 0x00, 0x09, 0x1e,
- 0x00, 0x00, 0x09, 0x66, 0x00, 0x00, 0x06, 0x0c, 0x00, 0x13, 0x06, 0x0a, 0x00, 0x20, 0x00, 0x00,
- 0x00, 0xe0, 0xb3, 0x86, 0x00, 0xe0, 0xb2, 0xe6, 0x00, 0xe0, 0xb3, 0x86, 0x00, 0xe0, 0xb5, 0x02,
- 0x00, 0xe0, 0xb6, 0x5e, 0x00, 0xe0, 0xb9, 0x3c, 0x00, 0xe0, 0xb4, 0x12, 0x00, 0xc0, 0xb4, 0x22,
- 0x00, 0xe0, 0xb3, 0x86, 0x00, 0xe0, 0xb3, 0x86, 0x00, 0xc0, 0xb4, 0x74, 0x00, 0xe0, 0xb3, 0x86,
- 0x00, 0xe0, 0xb3, 0x86, 0x00, 0xe0, 0xb3, 0x86, 0x00, 0xe0, 0xb3, 0x86, 0x00, 0xe0, 0xb3, 0x86,
- 0x00, 0xc0, 0xbd, 0x4a, 0x00, 0xc0, 0xbd, 0xb4, 0x00, 0xc0, 0xbd, 0xf0, 0x00, 0xc0, 0xbe, 0x60,
- 0x00, 0xc0, 0xbe, 0xe2, 0x00, 0xe0, 0xc0, 0x50, 0x00, 0xe0, 0xbf, 0xf6, 0x00, 0xe0, 0xc1, 0x52,
- 0x00, 0xe0, 0xc0, 0xe8, 0x00, 0xe0, 0xba, 0x90, 0x00, 0xc0, 0xbb, 0x00, 0x00, 0xc0, 0xbb, 0x5a,
- 0x00, 0xc0, 0xbb, 0x8c, 0x00, 0xc0, 0xba, 0xb4, 0x00, 0xc0, 0xb3, 0x80, 0x00, 0xc0, 0xb3, 0x80,
- 0x3f, 0x00, 0x7f, 0x00, 0x5e, 0x00, 0x00, 0x30, 0x00, 0x28, 0x00, 0x43, 0xb6, 0xb6, 0xb6, 0xb6,
- 0xb5, 0x1c, 0xb5, 0x14, 0xb5, 0x46, 0xb5, 0x46, 0xb5, 0x62, 0xb6, 0xb6, 0x40, 0x00, 0x00, 0x00,
- 0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0x20, 0x00, 0x08, 0x00, 0x80, 0x00, 0x08, 0x00, 0x01, 0x00,
- 0x10, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x0c, 0x00, 0x10, 0x00, 0x14, 0x10, 0x0e, 0x0c, 0x0c,
- 0x0a, 0x0a, 0x0a, 0x0a, 0x00, 0x00, 0xa1, 0xc8, 0x00, 0x09, 0x08, 0x08, 0x00, 0x00, 0xa1, 0xd0,
- 0x00, 0x11, 0x06, 0x06, 0x00, 0x00, 0xa1, 0xe0, 0x00, 0x21, 0x04, 0x04, 0x00, 0x00, 0xa2, 0x00,
- 0x00, 0x41, 0x02, 0x02, 0x00, 0x00, 0xa2, 0x40, 0x00, 0x81, 0x00, 0x00, 0x00, 0x00, 0xa2, 0xc0,
- 0x06, 0xd8, 0x07, 0x98, 0xd7, 0xa2, 0x07, 0x58, 0xc6, 0x56, 0x07, 0x58, 0xc5, 0x5c, 0x07, 0x58,
- 0xc6, 0xc6, 0x07, 0x58, 0xc6, 0x2e, 0x07, 0x98, 0xd4, 0x7e, 0x07, 0x98, 0xd4, 0x76, 0x07, 0x78,
- 0xce, 0xea, 0x07, 0x58, 0xc6, 0x8e, 0x07, 0x98, 0xd7, 0x5c, 0x07, 0x78, 0xcf, 0xbe, 0x07, 0x58,
- 0xd4, 0x8e, 0x07, 0x58, 0xc6, 0x3e, 0x07, 0x58, 0xc6, 0x7c, 0x07, 0x58, 0xc7, 0x40, 0x07, 0x98,
- 0xd8, 0xd2, 0x07, 0x98, 0xd4, 0xb2, 0x07, 0x78, 0xcf, 0x7e, 0x07, 0xb8, 0xd9, 0x38, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xc8, 0x00, 0xce, 0x3e, 0xce, 0xf2, 0xd3, 0xfa, 0xca, 0xba, 0xca, 0xf2,
- 0xcb, 0x10, 0xcb, 0x9a, 0xcb, 0xbe, 0xcb, 0xda, 0xcc, 0x52, 0xcc, 0x52, 0xcb, 0x86, 0xcc, 0xf0,
- 0xcb, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x0c, 0x00, 0x0f, 0x01, 0xfe, 0xff, 0x58, 0x00,
- 0x0e, 0x00, 0xfe, 0xff, 0x00, 0x0e, 0x70, 0x00, 0x80, 0x40, 0x5e, 0x00, 0xc0, 0xa0, 0xff, 0xdf,
- 0x18, 0x00, 0xe0, 0x00, 0x78, 0x00, 0x50, 0x00, 0x60, 0x00, 0x70, 0x00, 0x0c, 0x00, 0x00, 0x06,
- 0x00, 0x00, 0xe3, 0x84, 0x07, 0xe6, 0x07, 0xf4, 0x00, 0x08, 0x00, 0x00, 0xe3, 0x8a, 0x07, 0xea,
- 0x07, 0xf4, 0x00, 0x06, 0x00, 0x40, 0x0a, 0x00, 0x07, 0xe6, 0x07, 0xee, 0x00, 0x08, 0x00, 0x40,
- 0x0a, 0x06, 0x07, 0xea, 0x07, 0xee, 0x00, 0x00, 0xc1, 0xe2, 0xd4, 0x8b, 0xff, 0xff, 0xd1, 0xd7,
- 0xc5, 0xd9, 0xc3, 0xd4, 0x59, 0x3b, 0x09, 0x34, 0x05, 0xfc, 0x09, 0x6c, 0x06, 0xd8, 0x04, 0x06,
- 0xea, 0x7a, 0x09, 0x30, 0x04, 0x48, 0x08, 0x80, 0x00, 0x06, 0x06, 0x0a, 0x0c, 0x0e, 0xdb, 0xa8,
- 0xe8, 0x7c, 0xe8, 0xa4, 0xe9, 0x8a, 0xea, 0x8c, 0xea, 0xe6, 0xeb, 0x40, 0xeb, 0xf2, 0xdb, 0xa8,
- 0xec, 0x74, 0xec, 0x04, 0xe8, 0x62, 0xec, 0x10, 0xec, 0x10, 0xed, 0x3a, 0xed, 0x44, 0xed, 0x4e,
- 0xe5, 0x62, 0xe7, 0xea, 0xdb, 0x9e, 0xe5, 0xb4, 0xe6, 0x82, 0xe6, 0xf2, 0xe7, 0x6e, 0xe7, 0x92,
- 0xdb, 0xf6, 0xdb, 0x9e, 0xe4, 0xd2, 0xe4, 0xb4, 0xe4, 0x6e, 0xdb, 0x9e, 0xe7, 0xf6, 0xdb, 0x9e,
- 0x06, 0x72, 0xdf, 0xa2, 0x07, 0x08, 0x06, 0x72, 0xdf, 0x00, 0x01, 0xf4, 0x06, 0x72, 0xde, 0xe0,
- 0x07, 0x08, 0x06, 0x7c, 0xe6, 0x5a, 0x00, 0x04, 0x06, 0x7c, 0xdf, 0x24, 0x00, 0x00, 0x06, 0x7c,
- 0xe7, 0xd8, 0x00, 0xfa, 0x06, 0x86, 0xde, 0x70, 0x00, 0x05, 0x06, 0x90, 0xe8, 0x28, 0x00, 0x28,
- 0x06, 0x90, 0xdf, 0xfc, 0x01, 0x04, 0x06, 0x90, 0x00, 0x00, 0x00, 0x02, 0x06, 0x90, 0xdf, 0x2c,
- 0x02, 0xbc, 0x06, 0x9a, 0xdf, 0xb2, 0x05, 0xdc, 0x06, 0x9a, 0xdf, 0x56, 0x00, 0x64, 0x06, 0x9a,
- 0xdf, 0xb6, 0x00, 0x14, 0x06, 0x9a, 0xe9, 0x1c, 0x06, 0x40, 0x06, 0x9a, 0xdf, 0xbe, 0x00, 0x64,
- 0x00, 0x00, 0x07, 0x0a, 0x07, 0x0e, 0x07, 0x04, 0x06, 0xd8, 0x07, 0x00, 0x06, 0xf0, 0x06, 0xee,
- 0x06, 0xec, 0x07, 0x0c, 0x06, 0xe6, 0x07, 0x18, 0x50, 0x00, 0x00, 0xcc, 0x00, 0x03, 0x84, 0x00,
- 0xa8, 0x00, 0xa0, 0x00, 0x20, 0x00, 0x80, 0x00, 0x40, 0x00, 0x08, 0x00, 0x40, 0x00, 0x80, 0x00,
- 0x40, 0x00, 0x10, 0x00, 0xf4, 0x40, 0xf3, 0x06, 0xf3, 0x20, 0xf3, 0x3a, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x09, 0x00, 0x09, 0xf3, 0xa8, 0xf3, 0x10, 0xf3, 0x26, 0xf3, 0x40, 0x01, 0x40,
- 0x01, 0x42, 0x01, 0x42, 0x01, 0x42, 0x00, 0x00, 0x00, 0x7f, 0x00, 0xa0, 0x00, 0xff, 0x02, 0x10,
- 0x02, 0x1f, 0x02, 0x30, 0x02, 0x3f, 0x02, 0x50, 0x02, 0x5f, 0x02, 0x70, 0x02, 0x7f, 0x02, 0x90,
- 0x02, 0x9f, 0x02, 0xb0, 0x02, 0xbf, 0x02, 0xd0, 0x02, 0xdf, 0x02, 0xe1, 0x02, 0xff, 0x03, 0x01,
- 0x03, 0x7f, 0x03, 0x81, 0x03, 0x8f, 0x03, 0x91, 0x03, 0x9f, 0x03, 0xa1, 0x03, 0xaf, 0x03, 0xb1,
- 0x03, 0xbf, 0x03, 0xc1, 0x03, 0xcf, 0x03, 0xe1, 0x03, 0xff, 0x07, 0xc0, 0x07, 0xff, 0x0c, 0x00,
- 0x0f, 0xff, 0x30, 0x00, 0x37, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xbc, 0x00, 0x07, 0x02, 0x5e,
- 0x01, 0x00, 0xba, 0xff, 0xba, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0c, 0x01, 0x0a,
- 0x01, 0x0e, 0x01, 0x10, 0x01, 0x14, 0x00, 0x00, 0x01, 0x12, 0xf8, 0x00, 0x01, 0x16, 0xff, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x0a, 0x01, 0x1c, 0x01, 0x82, 0x96, 0x66, 0x96, 0x66, 0x55, 0x55,
- 0x00, 0x00, 0x01, 0x82, 0x8a, 0x2a, 0x8a, 0x2a, 0xc9, 0x18, 0xc9, 0x18, 0x01, 0x86, 0xa2, 0xaa,
- 0xa0, 0x1e, 0x55, 0x55, 0x54, 0x1e, 0x01, 0x8a, 0x50, 0x00, 0x00, 0x00, 0xa8, 0x00, 0x00, 0x00,
- 0x01, 0x8c, 0x50, 0x00, 0x00, 0x00, 0xa8, 0x00, 0x00, 0x00, 0x01, 0x8e, 0x50, 0x00, 0x00, 0x00,
- 0xa8, 0x00, 0x00, 0x00, 0x01, 0x90, 0x50, 0x00, 0x00, 0x00, 0xa8, 0x00, 0x00, 0x00, 0x01, 0x92,
- 0x50, 0x00, 0x00, 0x00, 0xa8, 0x00, 0x00, 0x00, 0x01, 0x94, 0x50, 0x00, 0x00, 0x00, 0xa8, 0x00,
- 0x00, 0x00, 0x01, 0x96, 0x50, 0x00, 0x00, 0x00, 0xa8, 0x00, 0x00, 0x00, 0x01, 0x98, 0x50, 0x00,
- 0x00, 0x00, 0xa8, 0x00, 0x00, 0x00, 0x01, 0x9a, 0x50, 0x00, 0x00, 0x00, 0xa8, 0x00, 0x00, 0x00,
- 0x01, 0x9c, 0x55, 0x55, 0x7f, 0xc0, 0xaa, 0xaa, 0x7f, 0xc0, 0x00, 0x00, 0x01, 0xa2, 0x01, 0xa4,
- 0x01, 0xa8, 0x01, 0xaa, 0x01, 0xae, 0x01, 0xb0, 0x01, 0xb2, 0x01, 0x80, 0x00, 0x00, 0x01, 0x88,
- 0xff, 0x00, 0x01, 0x9e, 0x00, 0xff, 0x01, 0xa0, 0x80, 0x00, 0x01, 0xac, 0x80, 0x00, 0x00, 0x00,
- 0x01, 0xa6, 0x80, 0x00, 0x00, 0x00, 0x01, 0x80, 0x01, 0xbc, 0x88, 0x00, 0x06, 0x00, 0xc8, 0x00,
- 0x00, 0x00, 0x80, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x02, 0x00, 0x44, 0xf2, 0x50,
- 0x00, 0x48, 0xf2, 0x56, 0x00, 0x50, 0xf2, 0x5c, 0x00, 0x60, 0xf2, 0x62, 0x00, 0x78, 0xf2, 0x68,
- 0xef, 0xc8, 0xee, 0xd6, 0xe9, 0xfc, 0xee, 0xe8, 0x55, 0x14, 0x01, 0xa0, 0xee, 0xaa, 0xe9, 0x90,
- 0xef, 0x04, 0xef, 0x5e, 0xee, 0xbe, 0xf0, 0x16, 0x00, 0x00, 0x00, 0x1e, 0xef, 0x04, 0xef, 0x50,
- 0x41, 0x00, 0x41, 0x01, 0xef, 0x74, 0xea, 0x33, 0xee, 0xd6, 0xea, 0x08, 0xee, 0xaa, 0xe9, 0xc4,
- 0xef, 0x14, 0xef, 0x20, 0xef, 0x74, 0xea, 0x2e, 0xf0, 0x20, 0x00, 0x00, 0xef, 0xf4, 0xee, 0xaa,
- 0xe9, 0xba, 0xef, 0x14, 0xef, 0x20, 0xef, 0xf4, 0xf0, 0x20, 0x00, 0x00, 0xee, 0xaa, 0xe9, 0xb0,
- 0xee, 0xca, 0xef, 0x08, 0xef, 0x20, 0xef, 0xf4, 0xee, 0xaa, 0xe9, 0xba, 0xef, 0x14, 0xef, 0x20,
- 0xef, 0xf4, 0xf0, 0x20, 0x20, 0x00, 0xee, 0xe8, 0x55, 0x14, 0x01, 0xa0, 0xee, 0xd6, 0xea, 0x10,
- 0xee, 0xaa, 0xe9, 0x90, 0xf0, 0x16, 0x55, 0x50, 0x00, 0x0c, 0xef, 0x04, 0xef, 0x50, 0x01, 0x00,
- 0x00, 0x00, 0xef, 0x74, 0xea, 0x35, 0xee, 0xbe, 0xf0, 0x16, 0x55, 0x55, 0x00, 0x0c, 0xef, 0x14,
- 0xef, 0x5e, 0xee, 0xbe, 0xf0, 0x16, 0xff, 0xff, 0x00, 0x08, 0xf0, 0x16, 0x10, 0x02, 0x00, 0x06,
- 0xef, 0x04, 0xef, 0x50, 0x01, 0x00, 0x01, 0x01, 0xef, 0x74, 0xea, 0x40, 0xee, 0xbe, 0xf0, 0x16,
- 0xc0, 0x00, 0x00, 0x08, 0xf0, 0x16, 0xff, 0xff, 0x00, 0x0a, 0xf0, 0x16, 0xff, 0xff, 0x00, 0x0c,
- 0xf0, 0x16, 0x10, 0x0d, 0x00, 0x06, 0xef, 0x04, 0xef, 0x50, 0x01, 0x00, 0x01, 0x01, 0xef, 0x74,
- 0xea, 0x34, 0xf0, 0x20, 0x20, 0x08, 0xee, 0xbe, 0xf0, 0x10, 0x01, 0x82, 0xc9, 0x02, 0xef, 0x04,
- 0xef, 0x74, 0xea, 0x40, 0xf0, 0x20, 0x20, 0x34, 0xee, 0xbe, 0xf0, 0x16, 0x10, 0x00, 0x00, 0x06,
- 0xef, 0x04, 0xf0, 0x84, 0xef, 0x74, 0xea, 0x38, 0xf0, 0x10, 0x01, 0x9c, 0x00, 0x40, 0xee, 0xd6,
- 0xea, 0x10, 0xee, 0xe8, 0x00, 0xff, 0x07, 0x80, 0xf0, 0xe4, 0x00, 0x03, 0xf1, 0x24, 0xf1, 0x32,
- 0xe9, 0xd2, 0xf0, 0xf6, 0x00, 0x00, 0xf1, 0x32, 0xe9, 0xdc, 0xf0, 0xf6, 0x00, 0x04, 0xf1, 0x32,
- 0xe9, 0xe4, 0xf0, 0xf6, 0x00, 0x07, 0xf1, 0x32, 0xe9, 0xec, 0xf0, 0xe4, 0x00, 0x01, 0xf1, 0x32,
- 0xe9, 0xf4, 0xf0, 0xf6, 0x00, 0x02, 0xf1, 0x32, 0xe9, 0xf4, 0xf0, 0xf6, 0x00, 0x06, 0xf1, 0x32,
- 0xe9, 0xf4, 0xf0, 0xf6, 0x00, 0x05, 0xf1, 0x32, 0xe9, 0xf4, 0xf0, 0xe4, 0x00, 0x01, 0xf1, 0x08,
- 0xf0, 0xe4, 0x00, 0x03, 0xf1, 0x16, 0xef, 0x20, 0xf0, 0xa4, 0xe9, 0x98, 0x00, 0x01, 0xf0, 0xa4,
- 0xe9, 0xe5, 0x00, 0x02, 0xf0, 0xa4, 0xe9, 0xef, 0x00, 0x06, 0xf0, 0xa4, 0xe9, 0xfa, 0x00, 0x05,
- 0xef, 0x74, 0xea, 0x34, 0xef, 0xf4, 0xee, 0xaa, 0xe9, 0x90, 0xef, 0x14, 0xf0, 0x84, 0xee, 0xca,
- 0xef, 0x50, 0x01, 0x00, 0x80, 0x00, 0xef, 0x74, 0xea, 0x38, 0xee, 0xbe, 0xf0, 0xbc, 0xf0, 0x10,
- 0x01, 0x80, 0x8e, 0x41, 0xef, 0x08, 0xef, 0x50, 0x01, 0x00, 0x1b, 0x01, 0xf0, 0xc4, 0xff, 0xe4,
- 0xef, 0x74, 0xea, 0x3c, 0xf0, 0x7c, 0xee, 0xd6, 0xea, 0x16, 0xee, 0xca, 0xf0, 0x28, 0xee, 0xfa,
- 0xe0, 0x00, 0xf0, 0x84, 0xef, 0x74, 0xea, 0x46, 0xee, 0xfa, 0xe8, 0x00, 0xef, 0x20, 0xef, 0x74,
- 0xea, 0x45, 0xee, 0xfa, 0x08, 0x00, 0xf0, 0x84, 0xef, 0x74, 0xea, 0x46, 0xee, 0xfa, 0xf8, 0x00,
- 0xef, 0x20, 0xef, 0x74, 0xea, 0x45, 0xf0, 0x10, 0x01, 0x80, 0x02, 0x00, 0xee, 0xfa, 0xe0, 0x00,
- 0xef, 0x20, 0xef, 0x74, 0xea, 0x45, 0xf0, 0x10, 0x01, 0x84, 0x00, 0x00, 0xf0, 0x20, 0x00, 0x34,
- 0xee, 0xfa, 0x00, 0x00, 0xf0, 0x84, 0xf0, 0x20, 0x60, 0x34, 0xf0, 0xcc, 0xf0, 0x10, 0x01, 0x84,
- 0x00, 0x00, 0xef, 0x74, 0xea, 0x46, 0xf0, 0x10, 0x01, 0x82, 0xc8, 0x00, 0xee, 0xfa, 0xe0, 0x00,
- 0xf0, 0x84, 0xee, 0xfa, 0x10, 0x00, 0xf0, 0x84, 0xf0, 0x20, 0x60, 0x34, 0xf0, 0x10, 0x01, 0x80,
- 0x06, 0x00, 0xee, 0xfa, 0x00, 0x10, 0xf0, 0x36, 0xef, 0xf4, 0xf0, 0x10, 0x01, 0x84, 0x00, 0x00,
- 0xf0, 0x20, 0x00, 0x34, 0xee, 0xaa, 0xe9, 0x90, 0xee, 0xd6, 0xea, 0x1c, 0xf0, 0x8e, 0xe9, 0x52,
- 0xee, 0xbe, 0xee, 0xca, 0xef, 0x2e, 0xf0, 0x40, 0x00, 0x06, 0xc7, 0x00, 0xef, 0x5e, 0xf0, 0x9a,
- 0xe0, 0x00, 0xee, 0xbe, 0xee, 0xca, 0xef, 0x2e, 0xd0, 0x40, 0x00, 0x06, 0xe0, 0x00, 0xef, 0x5e,
- 0xf0, 0x9a, 0xc0, 0x00, 0xee, 0xbe, 0xee, 0xca, 0xef, 0x2e, 0x90, 0x40, 0x00, 0x06, 0xa0, 0x00,
- 0xef, 0x5e, 0xf0, 0x9a, 0x80, 0x00, 0xee, 0xbe, 0xee, 0xca, 0xef, 0x2e, 0x50, 0x40, 0x00, 0x06,
- 0x60, 0x00, 0xef, 0x5e, 0xf0, 0x9a, 0x40, 0x00, 0xee, 0xbe, 0xee, 0xca, 0xef, 0x2e, 0x10, 0x40,
- 0x00, 0x06, 0x20, 0x00, 0xef, 0x5e, 0xf0, 0x9a, 0x00, 0x00, 0xf0, 0x8e, 0xe9, 0x52, 0xee, 0xbe,
- 0xee, 0xca, 0xef, 0x2e, 0xd0, 0x40, 0x00, 0x06, 0xa6, 0x00, 0xef, 0x5e, 0xf0, 0x9a, 0xc0, 0x00,
- 0xee, 0xbe, 0xee, 0xca, 0xef, 0x2e, 0x90, 0x40, 0x00, 0x06, 0xc0, 0x00, 0xef, 0x5e, 0xf0, 0x9a,
- 0x80, 0x00, 0xee, 0xbe, 0xee, 0xca, 0xef, 0x2e, 0x50, 0x40, 0x00, 0x06, 0x40, 0x00, 0xef, 0x5e,
- 0xf0, 0x9a, 0x40, 0x00, 0xee, 0xbe, 0xee, 0xca, 0xef, 0x2e, 0x70, 0x40, 0x00, 0x06, 0x60, 0x00,
- 0xef, 0x5e, 0xf0, 0x9a, 0x60, 0x00, 0xf1, 0x3c, 0xe9, 0x50, 0xee, 0xd6, 0xea, 0x22, 0xee, 0xaa,
- 0xe9, 0x90, 0xf0, 0x62, 0x55, 0x55, 0x00, 0x16, 0xef, 0x04, 0xef, 0x50, 0x00, 0x00, 0x00, 0x00,
- 0xef, 0x74, 0xea, 0x4b, 0xef, 0xc8, 0xee, 0xd6, 0xea, 0x22, 0xf0, 0x16, 0x55, 0x55, 0x00, 0x16,
- 0xee, 0xbe, 0xef, 0x04, 0xef, 0x5e, 0xee, 0xe8, 0x00, 0xff, 0x08, 0x00, 0xee, 0xe8, 0x00, 0xff,
- 0x0c, 0x00, 0xee, 0xe8, 0x00, 0xff, 0x10, 0x00, 0xee, 0xe8, 0x00, 0xff, 0x14, 0x00, 0xee, 0xe8,
- 0x00, 0xff, 0x18, 0x00, 0xee, 0xe8, 0x00, 0xff, 0x1c, 0x00, 0xee, 0xe8, 0x00, 0xff, 0x20, 0x00,
- 0xee, 0xe8, 0x00, 0xff, 0x24, 0x00, 0xee, 0xe8, 0x00, 0xff, 0x28, 0x00, 0xee, 0xe8, 0x00, 0xff,
- 0x2c, 0x00, 0xef, 0x90, 0xee, 0xbe, 0xee, 0xca, 0xef, 0x2e, 0x30, 0x40, 0x00, 0x06, 0x01, 0x00,
- 0xef, 0x5e, 0xf0, 0x9a, 0x20, 0x00, 0xee, 0xbe, 0xee, 0xca, 0xef, 0x2e, 0x70, 0x40, 0x00, 0x06,
- 0x43, 0x00, 0xef, 0x5e, 0xf0, 0x9a, 0x60, 0x00, 0xee, 0xbe, 0xee, 0xca, 0xef, 0x2e, 0xb0, 0x40,
- 0x00, 0x06, 0x85, 0x00, 0xef, 0x5e, 0xf0, 0x9a, 0xa0, 0x00, 0xf0, 0x96, 0x01, 0x00, 0x01, 0x03,
- 0x01, 0x01, 0x00, 0x00, 0x81, 0x00, 0x00, 0x1a, 0x10, 0x40, 0x00, 0x00, 0xa9, 0x98, 0x00, 0x0d,
- 0x55, 0x55, 0x00, 0x00, 0xa9, 0xa4, 0x00, 0xaa, 0x82, 0x72, 0xa9, 0x4a, 0x5a, 0xa5, 0xe7, 0xda,
- 0x09, 0x03, 0x9d, 0x11, 0x00, 0x00, 0x81, 0x00, 0x00, 0x04, 0x90, 0xd8, 0x10, 0x00, 0x00, 0x00,
- 0x81, 0x00, 0x00, 0x04, 0x90, 0xd8, 0xb4, 0xd8, 0x00, 0x00, 0x81, 0x00, 0x00, 0x08, 0x90, 0xd8,
- 0x16, 0x46, 0x40, 0x00, 0xb4, 0xd8, 0x00, 0x08, 0x00, 0x00, 0x80, 0x00, 0x00, 0x13, 0x10, 0x40,
- 0x00, 0x16, 0x00, 0x00, 0x80, 0x00, 0x00, 0x10, 0x00, 0x15, 0x00, 0x00, 0x80, 0x00, 0x00, 0x0f,
- 0x00, 0x15, 0x00, 0x00, 0x81, 0x00, 0x00, 0x0f, 0x00, 0x06, 0x00, 0x00, 0x80, 0x00, 0x00, 0x12,
- 0x80, 0x0a, 0x9e, 0x40, 0xc8, 0x00, 0x00, 0x00, 0x80, 0x5e, 0x00, 0x0f, 0x80, 0x06, 0xfe, 0x40,
- 0xcc, 0x00, 0x00, 0x00, 0x80, 0x04, 0x8e, 0x40, 0xc9, 0x00, 0x80, 0x04, 0x06, 0x00, 0xcc, 0x00,
- 0x80, 0x04, 0x0a, 0x40, 0xc8, 0x00, 0x80, 0x0a, 0x8a, 0x40, 0xc8, 0x00, 0x00, 0x00, 0x80, 0x5e,
- 0x00, 0x0f, 0x08, 0x0a, 0x1c, 0x80, 0x00, 0x0a, 0x1a, 0x1c, 0x80, 0x00, 0x0c, 0x1c, 0x80, 0x00,
- 0x1a, 0x1c, 0x80, 0x00, 0x0e, 0x1a, 0x1c, 0x80, 0x00, 0x04, 0x80, 0x00, 0x02, 0x80, 0x00, 0x02,
- 0x80, 0x00, 0x00, 0x00, 0xaa, 0x4e, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x00, 0xaa, 0x7a, 0x00, 0x4e,
- 0x07, 0x58, 0xc5, 0x6a, 0xe0, 0x16, 0x08, 0xe2, 0x08, 0xec, 0x08, 0xf6, 0xe0, 0x16, 0x09, 0x00,
- 0x09, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x08, 0xe2, 0x00, 0x00, 0x08, 0xec, 0x08, 0xf6, 0x09, 0x00,
- 0x00, 0x00, 0x07, 0xb8, 0xd8, 0xee, 0x02, 0x80, 0x07, 0xb8, 0xd9, 0x0c, 0xff, 0x84, 0x07, 0xb8,
- 0xd9, 0x2e, 0x07, 0xb8, 0xd9, 0xa8, 0xda, 0x88, 0xda, 0x7c, 0xda, 0xa2, 0xda, 0xa6, 0xda, 0x9e,
- 0xdb, 0x86, 0xdb, 0x86, 0xdb, 0x86, 0xda, 0xa8, 0xda, 0xb2, 0xdb, 0x2e, 0xdb, 0x78, 0x00, 0x00,
- 0xaa, 0xc8, 0x00, 0x09, 0xdb, 0x86, 0x00, 0x00, 0xaa, 0xd0, 0x02, 0xb0, 0x00, 0x07, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x01, 0x08, 0x08, 0x05, 0x08, 0x08, 0x08, 0x00, 0x00, 0x02,
- 0x04, 0x04, 0x04, 0x04, 0x00, 0x08, 0x0a, 0x00, 0x00, 0x0c, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x41, 0x04, 0x0b, 0x06, 0xc2, 0x08, 0xe6, 0x00, 0xe7, 0x00, 0x06, 0x04, 0x07, 0x04, 0x03, 0x04,
- 0x04, 0x06, 0x05, 0x04, 0x88, 0x04, 0x00, 0x03, 0x00, 0x1c, 0x0c, 0x00, 0x80, 0x00, 0xe3, 0xfc,
- 0xe4, 0x04, 0xe4, 0x48, 0xe4, 0x08, 0xe4, 0x14, 0xe4, 0x1a, 0xe4, 0x3e, 0xe4, 0x0e, 0xe4, 0x5c,
- 0x06, 0x00, 0x00, 0x00, 0x07, 0x06, 0x0e, 0x14, 0x14, 0x1e, 0x2a, 0x4c, 0x38, 0x7c, 0x3e, 0x78,
- 0x43, 0x92, 0x58, 0x9c, 0x4d, 0xb2, 0x2f, 0x64, 0x1d, 0x34, 0x6c, 0xd0, 0x23, 0x3e, 0x1d, 0x2a,
- 0x65, 0xc0, 0x72, 0xe0, 0x78, 0xee, 0x7f, 0xfc, 0x01, 0x32, 0x57, 0x01, 0x11, 0x32, 0x51, 0x81,
- 0x56, 0x02, 0x55, 0x03, 0x11, 0x54, 0x81, 0x56, 0x02, 0x55, 0x02, 0x54, 0x81, 0x56, 0x76, 0x01,
- 0x34, 0x02, 0x55, 0x02, 0x54, 0x81, 0x58, 0x02, 0x55, 0x02, 0x54, 0x81, 0x58, 0x02, 0x12, 0x11,
- 0x52, 0x02, 0x83, 0x58, 0x05, 0x52, 0x04, 0x81, 0x58, 0x05, 0x52, 0x03, 0x15, 0x5c, 0x5b, 0x53,
- 0x87, 0x52, 0x03, 0x11, 0x51, 0x41, 0x51, 0x78, 0x11, 0x34, 0x11, 0x81, 0x31, 0x20, 0x57, 0x54,
- 0x53, 0x01, 0x12, 0x5a, 0x51, 0x81, 0x31, 0x20, 0x57, 0x5b, 0x5a, 0x01, 0x11, 0x01, 0x11, 0x51,
- 0x81, 0x31, 0x20, 0x57, 0x01, 0x15, 0x01, 0x13, 0x01, 0x11, 0x11, 0x11, 0x51, 0x81, 0x58, 0x05,
- 0x52, 0x02, 0x54, 0x5b, 0x81, 0x5d, 0x05, 0x52, 0x02, 0x54, 0x81, 0x58, 0x02, 0x50, 0x03, 0x13,
- 0x81, 0x58, 0x02, 0x50, 0x03, 0x11, 0x54, 0x81, 0x5d, 0x72, 0x03, 0x50, 0x03, 0x13, 0x01, 0x13,
- 0x54, 0x40, 0x00, 0x0e, 0x06, 0x20, 0x06, 0x56, 0xe5, 0x2a, 0x00, 0x24, 0x10, 0x02, 0x00, 0x16,
- 0x00, 0x02, 0x04, 0x01, 0x07, 0x08, 0xe5, 0x2a, 0x00, 0x20, 0x10, 0x03, 0x00, 0x12, 0x00, 0x03,
- 0xe4, 0x78, 0x8e, 0x14, 0x00, 0x20, 0x10, 0x04, 0x00, 0x12, 0x00, 0x04, 0xdb, 0xc0, 0x00, 0x20,
- 0xe0, 0x05, 0x00, 0x12, 0x00, 0x05, 0xdb, 0xc0, 0x00, 0x20, 0xe0, 0x06, 0x00, 0x12, 0x00, 0x06,
- 0xe7, 0x22, 0x00, 0x12, 0xe0, 0x01, 0x09, 0x6c, 0x06, 0xcc, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00,
- 0x06, 0x30, 0xe6, 0x42, 0x05, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xe2,
- 0x00, 0x08, 0xff, 0x26, 0x05, 0xdc, 0xe7, 0xae, 0x00, 0x3e, 0xe0, 0x00, 0xc0, 0x00, 0x00, 0x00,
- 0x00, 0x02, 0x00, 0x30, 0x50, 0x20, 0x0c, 0x23, 0x05, 0xfc, 0x06, 0x52, 0x06, 0x56, 0x00, 0x00,
- 0x81, 0x00, 0x00, 0x16, 0xe0, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x08, 0x40, 0x2a,
- 0x04, 0x2a, 0x06, 0x56, 0x00, 0x26, 0xec, 0x71, 0x06, 0x2b, 0x09, 0x72, 0x00, 0x22, 0x00, 0x24,
- 0xec, 0x87, 0x0c, 0x23, 0x05, 0xfc, 0x08, 0x28, 0x09, 0x34, 0x08, 0x29, 0x07, 0x58, 0x07, 0x78,
- 0x07, 0x98, 0x00, 0x23, 0x00, 0x2a, 0xec, 0x95, 0x04, 0x06, 0x06, 0xf0, 0x04, 0x07, 0x06, 0xee,
- 0x00, 0x24, 0xdb, 0xc0, 0x00, 0x34, 0xe0, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x26,
- 0x40, 0x25, 0xdb, 0xc0, 0x00, 0x20, 0xe0, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x12,
- 0x40, 0x26, 0xdb, 0xc0, 0x00, 0x1a, 0xe0, 0x00, 0x00, 0x0c, 0x60, 0x27, 0x08, 0x0a, 0x06, 0xe6,
- 0xdb, 0xc0, 0x00, 0x24, 0xe0, 0x00, 0x00, 0x16, 0x60, 0x28, 0x04, 0x30, 0x07, 0x06, 0xdc, 0x16,
- 0x81, 0x00, 0x00, 0x30, 0xe0, 0x00, 0x00, 0x22, 0x60, 0x29, 0x08, 0x2d, 0x07, 0x1c, 0x08, 0x2e,
- 0x07, 0x22, 0x00, 0x00, 0x02, 0x08, 0x01, 0x06, 0x06, 0x14, 0x08, 0x18, 0x0c, 0x20, 0x0e, 0x26,
- 0x0f, 0x30, 0x11, 0x34, 0x12, 0x3e, 0x14, 0x42, 0x16, 0x46, 0x0a, 0x1c, 0x18, 0x4a, 0x03, 0x13,
- 0x83, 0x11, 0x11, 0x01, 0x81, 0x11, 0x81, 0x12, 0x01, 0x13, 0x83, 0x52, 0x85, 0x81, 0x11, 0x85,
- 0x81, 0x12, 0x81, 0x12, 0x81, 0x19, 0x85, 0x60, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x08, 0x09, 0x6c,
- 0x00, 0x00, 0x06, 0x30, 0xec, 0xfc, 0x06, 0x54, 0x06, 0x50, 0x02, 0x38, 0x04, 0x21, 0x09, 0x1e,
- 0x06, 0x0b, 0x06, 0xd8, 0x08, 0x02, 0x06, 0xdc, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x41,
- 0x00, 0x41, 0xae, 0x14, 0x00, 0x00, 0x81, 0x00, 0x04, 0x09, 0x07, 0x0c, 0x00, 0x41, 0x00, 0x41,
- 0x02, 0x14, 0x00, 0x00, 0x81, 0x00, 0x06, 0x0b, 0x06, 0xd8, 0x06, 0x2c, 0x09, 0x76, 0x14, 0x22,
- 0x09, 0x3a, 0x00, 0x41, 0x00, 0x41, 0x02, 0x54, 0x00, 0x00, 0x81, 0x00, 0x06, 0xd8, 0x84, 0x00,
- 0x48, 0x00, 0xff, 0xfc, 0x00, 0x09, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0xad, 0x80,
- 0x02, 0x81, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x00, 0x06, 0x44, 0x54, 0x68, 0x69, 0x73, 0x20, 0x63,
- 0x6f, 0x64, 0x65, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x64, 0x20,
- 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x4f, 0x6e,
- 0x6c, 0x79, 0x2c, 0x20, 0x41, 0x6c, 0x6c, 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x20, 0x72,
- 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x2e, 0x01, 0x60, 0x01, 0x42, 0x08, 0x00, 0x16, 0x08,
- 0x03, 0xb0, 0x04, 0xe0, 0x00, 0x00, 0x01, 0x20, 0x00, 0x00, 0xff, 0xff, 0x13, 0xfc, 0x03, 0x80,
- 0x07, 0xa0, 0x01, 0x42, 0x08, 0x00, 0x07, 0x20, 0x00, 0x00, 0x04, 0xe0, 0x01, 0x00, 0x07, 0x8b,
- 0x3d, 0x00, 0x01, 0x60, 0x01, 0x42, 0x00, 0x80, 0x13, 0x09, 0x07, 0x8b, 0x2d, 0x00, 0xc0, 0x20,
- 0x01, 0x4e, 0x02, 0x80, 0x0f, 0x41, 0x11, 0x02, 0x07, 0x8b, 0x3d, 0x00, 0xc8, 0x0b, 0x01, 0x4a,
- 0x02, 0x00, 0xa0, 0x00, 0x09, 0xa0, 0xc8, 0x00, 0x01, 0x66, 0x02, 0xe0, 0x00, 0xa0, 0x07, 0xa0,
- 0x01, 0x04, 0x00, 0x20, 0x01, 0xa0, 0x01, 0x40, 0xfe, 0x00, 0x48, 0x20, 0xe0, 0x2a, 0x01, 0x42,
- 0x04, 0xe0, 0x01, 0x02, 0x04, 0xe0, 0x09, 0x60, 0x04, 0xe0, 0x01, 0x82, 0x01, 0x60, 0x01, 0x1c,
- 0x00, 0x04, 0x16, 0x03, 0x01, 0xe0, 0x01, 0x40, 0x0c, 0x00, 0x06, 0xa0, 0xb1, 0xbc, 0x07, 0xa0,
- 0x01, 0x04, 0x00, 0x2d, 0xc2, 0x20, 0xe0, 0x00, 0x02, 0x88, 0xe2, 0x28, 0x16, 0x14, 0x07, 0xa0,
- 0x01, 0x04, 0x00, 0x2e, 0x01, 0x60, 0x01, 0x42, 0x03, 0x00, 0x16, 0x0d, 0x07, 0xa0, 0x01, 0x04,
- 0x00, 0x21, 0x07, 0x88, 0xb0, 0x00, 0x07, 0x89, 0xff, 0xfe, 0x09, 0xa8, 0x09, 0xa9, 0x07, 0x8a,
- 0xe0, 0x02, 0x06, 0xa0, 0xf4, 0x42, 0x10, 0x56, 0x07, 0x88, 0xa0, 0x00, 0x07, 0x89, 0xaf, 0xfe,
- 0x09, 0xa8, 0x09, 0xa9, 0x07, 0x8a, 0xe0, 0x78, 0x06, 0xa0, 0xf4, 0x42, 0x10, 0x4b, 0x05, 0xa0,
- 0x01, 0x04, 0x07, 0x88, 0x00, 0x08, 0x07, 0x89, 0x00, 0x7a, 0x03, 0x00, 0x00, 0x01, 0x06, 0xa0,
- 0xf4, 0x7c, 0x10, 0x40, 0x06, 0xa0, 0xb1, 0xbc, 0x02, 0xe0, 0x03, 0xf4, 0x07, 0x88, 0x00, 0xa0,
- 0x07, 0x89, 0x00, 0xfe, 0x06, 0xa0, 0xf4, 0x7c, 0x10, 0x35, 0x02, 0xe0, 0x00, 0xa0, 0x04, 0xe0,
- 0x01, 0x7e, 0x04, 0xc8, 0x02, 0x09, 0x03, 0xf2, 0x62, 0x48, 0xc1, 0xe0, 0x01, 0x40, 0x01, 0xa0,
- 0x01, 0x40, 0x04, 0x00, 0xce, 0x18, 0x06, 0x09, 0x16, 0xfd, 0x01, 0xa0, 0x01, 0x40, 0x40, 0x00,
- 0xc8, 0x07, 0x01, 0x40, 0x07, 0x88, 0x03, 0xf4, 0x07, 0x89, 0x3f, 0xfe, 0x06, 0xa0, 0xf4, 0x7c,
- 0x10, 0x19, 0x02, 0xe0, 0x00, 0xa0, 0x06, 0xa0, 0xf5, 0xa4, 0x10, 0x14, 0xc8, 0x08, 0x04, 0x44,
- 0xc8, 0x09, 0x04, 0x46, 0x06, 0xa0, 0xf4, 0xd2, 0x10, 0x0d, 0x07, 0x81, 0xe0, 0x7c, 0xc0, 0xb1,
- 0x13, 0x26, 0xc8, 0x01, 0x00, 0xe0, 0x05, 0xa0, 0x01, 0x04, 0x06, 0x92, 0x10, 0x03, 0xc0, 0x60,
- 0x00, 0xe0, 0x10, 0xf5, 0x01, 0xe0, 0x01, 0x04, 0x00, 0x10, 0x03, 0xb0, 0x10, 0xff, 0x01, 0xa0,
- 0x01, 0x04, 0x80, 0x00, 0x03, 0x80, 0x07, 0x80, 0x00, 0xa0, 0x04, 0xc2, 0xcc, 0x80, 0x07, 0x81,
- 0xb1, 0xaa, 0x02, 0x82, 0x00, 0x1e, 0x16, 0x02, 0x07, 0x81, 0xb1, 0xb4, 0xc4, 0x81, 0x8c, 0x81,
- 0x16, 0xe9, 0x02, 0x82, 0x00, 0x7c, 0x16, 0xf2, 0x03, 0x00, 0x00, 0x0f, 0x04, 0x5b, 0x07, 0x81,
- 0xe1, 0x08, 0x07, 0x82, 0x00, 0x04, 0x04, 0xe0, 0x01, 0x80, 0x04, 0xe0, 0x01, 0x82, 0xc4, 0x91,
- 0x8c, 0xb1, 0x16, 0xd8, 0x02, 0x82, 0x00, 0x7c, 0x16, 0xfa, 0xc8, 0x20, 0xe0, 0x04, 0x01, 0x82,
- 0xe8, 0x20, 0xe0, 0x0c, 0x01, 0x82, 0xc8, 0x20, 0xe0, 0x10, 0x01, 0x80, 0x07, 0x81, 0xe0, 0x86,
- 0xc0, 0xb1, 0x13, 0x07, 0xc4, 0xb1, 0x10, 0xfc, 0x07, 0xa0, 0x01, 0x04, 0x00, 0x2e, 0x04, 0x60,
- 0xb1, 0xaa, 0x07, 0x81, 0xe0, 0x34, 0x07, 0x82, 0x05, 0xfc, 0x07, 0x83, 0x00, 0x0a, 0xcc, 0xb1,
- 0x06, 0x43, 0x16, 0xfd, 0x02, 0x02, 0x06, 0x00, 0xd0, 0x60, 0x01, 0x4e, 0x13, 0xed, 0x02, 0x21,
- 0xf7, 0x00, 0x02, 0x21, 0xc0, 0x00, 0xdc, 0x81, 0xd0, 0x60, 0x01, 0x4f, 0xc0, 0xc1, 0x09, 0x41,
- 0x02, 0x21, 0xf0, 0x00, 0xdc, 0x81, 0x02, 0x43, 0x0f, 0x00, 0x02, 0x23, 0xf0, 0x00, 0xdc, 0x83,
- 0x02, 0x01, 0x0c, 0x32, 0xc0, 0xa0, 0x04, 0x44, 0xc0, 0xe0, 0x04, 0x46, 0xc1, 0x03, 0x61, 0x02,
- 0x05, 0x84, 0xc8, 0x04, 0x04, 0x48, 0xc1, 0x03, 0x05, 0x84, 0xa1, 0x04, 0xa1, 0x01, 0xc8, 0x04,
- 0x0c, 0x30, 0xc1, 0x03, 0x05, 0x84, 0x04, 0xf1, 0x06, 0x04, 0x16, 0xfd, 0x02, 0x08, 0xb0, 0x00,
- 0x09, 0xa8, 0xc2, 0x60, 0x0c, 0x30, 0x02, 0x29, 0x03, 0xff, 0x09, 0xa9, 0x02, 0x29, 0x00, 0x40,
- 0x07, 0x80, 0xa0, 0x00, 0x09, 0xa0, 0x07, 0x8a, 0xaf, 0xfe, 0x02, 0x2a, 0x03, 0xff, 0x09, 0xaa,
- 0x02, 0x01, 0x0c, 0x32, 0x02, 0x05, 0x00, 0x00, 0xc1, 0x03, 0x05, 0x84, 0x07, 0x11, 0x05, 0xc1,
- 0x05, 0x85, 0x06, 0x04, 0x13, 0x0b, 0x80, 0x85, 0x1a, 0xf9, 0x80, 0x05, 0x1a, 0xf8, 0x82, 0x85,
- 0x1a, 0xf5, 0x82, 0x05, 0x1a, 0xf4, 0x82, 0x45, 0x1a, 0xf1, 0x10, 0xf1, 0x2d, 0x20, 0x00, 0x02,
- 0x01, 0x60, 0x01, 0x40, 0x40, 0x00, 0x16, 0x06, 0x07, 0x8a, 0x08, 0x00, 0x01, 0xa0, 0x01, 0x40,
- 0x40, 0x00, 0x10, 0x48, 0x01, 0x60, 0x01, 0x42, 0x80, 0x00, 0x16, 0x06, 0x07, 0x8a, 0x10, 0x00,
- 0x01, 0xa0, 0x01, 0x42, 0x80, 0x00, 0x10, 0x3e, 0x01, 0x60, 0x01, 0x02, 0x10, 0x00, 0x16, 0x0a,
- 0x01, 0x60, 0x01, 0x00, 0x04, 0x00, 0x16, 0x06, 0x07, 0x8a, 0x80, 0x00, 0x01, 0xa0, 0x01, 0x02,
- 0x10, 0x00, 0x10, 0x30, 0x01, 0x60, 0x01, 0x02, 0x08, 0x00, 0x16, 0x0a, 0x01, 0x60, 0x01, 0x00,
- 0x04, 0x00, 0x16, 0x06, 0x01, 0xa0, 0x01, 0x02, 0x08, 0x00, 0x02, 0x0d, 0x00, 0x01, 0x10, 0x0d,
- 0x01, 0x60, 0x01, 0x02, 0x04, 0x00, 0x16, 0x16, 0x01, 0x60, 0x01, 0x00, 0x08, 0x00, 0x16, 0x12,
- 0x01, 0xa0, 0x01, 0x02, 0x04, 0x00, 0x02, 0x0d, 0x00, 0x02, 0xc3, 0xa0, 0x01, 0x0e, 0xc3, 0xe0,
- 0x01, 0x10, 0x07, 0x8a, 0x20, 0x00, 0x01, 0x60, 0x01, 0x00, 0x80, 0x00, 0x13, 0x0b, 0x07, 0x8a,
- 0x40, 0x00, 0x10, 0x08, 0x07, 0x8a, 0x00, 0x04, 0x10, 0x05, 0x07, 0x8a, 0x00, 0x02, 0x10, 0x02,
- 0x07, 0x8a, 0x00, 0x08, 0x03, 0x00, 0x00, 0x00, 0x04, 0xe0, 0x01, 0x82, 0x07, 0x8b, 0x05, 0xe0,
- 0xce, 0xca, 0xce, 0xcd, 0xce, 0xce, 0xc6, 0xcf, 0xc3, 0x20, 0x07, 0x58, 0x23, 0x20, 0xe0, 0x04,
- 0x13, 0x12, 0x07, 0x8b, 0xff, 0x18, 0x02, 0x8a, 0x80, 0x00, 0x13, 0x0a, 0x05, 0x8b, 0xa2, 0xcd,
- 0x02, 0x8a, 0x40, 0x00, 0x13, 0x05, 0x02, 0x8a, 0x20, 0x00, 0x13, 0x02, 0x07, 0x8b, 0xff, 0x1d,
- 0xc8, 0x0b, 0x01, 0x04, 0x10, 0x0d, 0xd3, 0x20, 0x01, 0x05, 0x11, 0xfd, 0xd8, 0x20, 0x07, 0xdf,
- 0x01, 0x17, 0x07, 0x8b, 0xff, 0x80, 0xc8, 0x0b, 0x01, 0x04, 0xe8, 0x20, 0xe0, 0x0a, 0x01, 0x00,
- 0xc2, 0xe0, 0x01, 0x04, 0x22, 0xe0, 0xe1, 0x86, 0x16, 0xfb, 0x02, 0xe0, 0x00, 0xa0, 0x04, 0xe0,
- 0x01, 0x82, 0xe8, 0x20, 0xe0, 0x0a, 0x01, 0x00, 0xc2, 0xe0, 0x01, 0x00, 0x22, 0xe0, 0xe0, 0x06,
- 0x13, 0xf8, 0x01, 0xa0, 0x01, 0x40, 0xf6, 0x00, 0x04, 0x60, 0xb0, 0x90, 0x03, 0x00, 0x00, 0x02,
- 0x07, 0xa0, 0x01, 0x02, 0xdf, 0xff, 0x03, 0x90, 0xff, 0xff, 0x03, 0x80, 0x03, 0x00, 0x00, 0x02,
- 0x07, 0x09, 0xc2, 0xa0, 0x01, 0x04, 0x01, 0x8a, 0x00, 0x80, 0x52, 0x4a, 0xd2, 0x89, 0xc8, 0x0a,
- 0x01, 0x04, 0xd2, 0xa0, 0x01, 0x04, 0x16, 0xf9, 0x05, 0x49, 0x01, 0x89, 0x80, 0x00, 0x01, 0x49,
- 0x40, 0x00, 0x13, 0x0e, 0xf8, 0x09, 0x07, 0x3a, 0xc2, 0x60, 0x07, 0x36, 0x16, 0x03, 0x03, 0x90,
- 0xff, 0xff, 0x03, 0x80, 0x04, 0xe0, 0x07, 0x36, 0x04, 0x54, 0x03, 0x90, 0xff, 0xff, 0x03, 0x80,
- 0x22, 0x60, 0xe1, 0x86, 0x13, 0xc2, 0x04, 0xe0, 0x01, 0x82, 0x04, 0x60, 0xb3, 0xe0, 0x03, 0x00,
- 0x00, 0x02, 0x07, 0xa0, 0x09, 0x62, 0x03, 0xe8, 0x04, 0xc9, 0xc1, 0xa0, 0x06, 0x34, 0x16, 0x04,
- 0x06, 0xa0, 0xc2, 0xae, 0x04, 0xe0, 0x09, 0x20, 0x07, 0x86, 0x05, 0xe8, 0x01, 0xa0, 0x01, 0x40,
- 0x80, 0x00, 0xc2, 0x20, 0x01, 0x84, 0x48, 0x20, 0xe0, 0x08, 0x01, 0x84, 0x22, 0x20, 0xe0, 0x08,
- 0x13, 0x08, 0x01, 0x60, 0x01, 0xae, 0x00, 0x01, 0x16, 0x04, 0x01, 0xe0, 0x06, 0x34, 0x80, 0x00,
- 0x10, 0x06, 0xc2, 0x20, 0x09, 0x32, 0x13, 0x06, 0x01, 0xe0, 0x06, 0x34, 0x08, 0x00, 0x04, 0xe0,
- 0x06, 0x30, 0x07, 0x09, 0x05, 0xa0, 0x05, 0xee, 0x06, 0x20, 0x05, 0xec, 0x16, 0x02, 0xc2, 0x16,
- 0x16, 0x03, 0xc2, 0x49, 0x16, 0x12, 0x03, 0x80, 0xc5, 0x98, 0xc1, 0xe8, 0x00, 0x02, 0xe9, 0xe0,
- 0xe0, 0x14, 0x00, 0x04, 0x04, 0xd7, 0x02, 0x27, 0x00, 0x08, 0x06, 0xa0, 0xc2, 0x44, 0xc2, 0x16,
- 0x13, 0x04, 0xc8, 0x28, 0x00, 0x08, 0x05, 0xec, 0x13, 0xef, 0x04, 0x54, 0x03, 0x00, 0x00, 0x02,
- 0xc1, 0xe0, 0x01, 0x86, 0x02, 0x47, 0x00, 0x0e, 0xc2, 0xa7, 0xe1, 0x90, 0x04, 0x5a, 0x07, 0x8a,
- 0xa0, 0x00, 0xc8, 0x0a, 0x01, 0x86, 0xa1, 0xc7, 0x02, 0x27, 0xe1, 0x98, 0xe8, 0x37, 0x06, 0x34,
- 0xe8, 0x17, 0x06, 0xd2, 0x04, 0xe0, 0x06, 0x30, 0x04, 0x60, 0xb9, 0xc0, 0xe8, 0x0a, 0x06, 0xd2,
- 0x01, 0xe0, 0x06, 0x34, 0x08, 0x00, 0x04, 0xe0, 0x06, 0x30, 0xe0, 0x20, 0xe0, 0x18, 0x04, 0x5b,
- 0x05, 0xa0, 0x09, 0x20, 0x88, 0x20, 0x09, 0x20, 0xe0, 0x16, 0x1a, 0xe5, 0x04, 0xe0, 0x09, 0x20,
- 0x06, 0xa0, 0xe1, 0x18, 0x03, 0x80, 0x05, 0xa0, 0x09, 0x32, 0x03, 0x80, 0xc3, 0x01, 0x13, 0xfb,
- 0x01, 0x60, 0x09, 0x6a, 0x00, 0x01, 0x13, 0x78, 0x05, 0xa0, 0x09, 0x32, 0x10, 0x75, 0xc0, 0x41,
- 0x13, 0x06, 0xc8, 0x01, 0x01, 0x6c, 0xc2, 0xe0, 0xfc, 0x02, 0x11, 0x01, 0x10, 0x7b, 0x01, 0x60,
- 0x01, 0x9c, 0x00, 0x40, 0x16, 0x79, 0xd8, 0x20, 0x09, 0x2f, 0x01, 0x83, 0xc0, 0x41, 0x13, 0x04,
- 0xc8, 0x01, 0x01, 0x8a, 0xc8, 0x01, 0x09, 0x18, 0x07, 0x86, 0x00, 0x43, 0xc8, 0x06, 0x01, 0x6c,
- 0x02, 0x07, 0xfc, 0x02, 0xc2, 0x17, 0x04, 0x60, 0xb6, 0xfa, 0x04, 0xe0, 0x09, 0x18, 0x61, 0xc7,
- 0x07, 0x08, 0x01, 0x60, 0xfc, 0x06, 0x00, 0x40, 0x13, 0x02, 0x02, 0x08, 0x00, 0x01, 0x10, 0x09,
- 0xc2, 0x4c, 0xc3, 0x20, 0xfc, 0x00, 0x13, 0x2a, 0xc8, 0x0c, 0x01, 0x6c, 0xc2, 0xe0, 0xfc, 0x02,
- 0x11, 0x1b, 0x01, 0x4b, 0x01, 0x00, 0x16, 0xf4, 0x22, 0xc8, 0x13, 0x12, 0x01, 0xcb, 0x40, 0x00,
- 0xc8, 0x0b, 0xfc, 0x02, 0x10, 0x0d, 0xc1, 0xe0, 0x09, 0x18, 0xc3, 0x01, 0x13, 0x21, 0xc2, 0x4c,
- 0x13, 0x15, 0xc8, 0x0c, 0x01, 0x6c, 0xc2, 0xe0, 0xfc, 0x02, 0x11, 0x06, 0x81, 0xcc, 0x13, 0xd5,
- 0xc2, 0x4c, 0xc3, 0x20, 0xfc, 0x00, 0x10, 0xf4, 0xc8, 0x09, 0x01, 0x6c, 0xc2, 0xe0, 0xfc, 0x02,
- 0x16, 0x1e, 0x07, 0xa0, 0xfc, 0x02, 0x80, 0x00, 0xc3, 0x09, 0x10, 0x19, 0xc8, 0x09, 0x01, 0x6c,
- 0xc2, 0xe0, 0xfc, 0x02, 0x16, 0x05, 0x07, 0xa0, 0xfc, 0x02, 0x80, 0x00, 0xc3, 0x09, 0x10, 0x0f,
- 0xc2, 0xe0, 0x0c, 0x02, 0x11, 0x01, 0x10, 0x1e, 0xd8, 0x20, 0xe2, 0x00, 0x01, 0x83, 0x00, 0x00,
- 0xb6, 0x44, 0x00, 0x09, 0x09, 0x8b, 0x00, 0x00, 0xb6, 0x4c, 0x0b, 0x36, 0x07, 0xa0, 0x01, 0x8a,
- 0x00, 0x43, 0x10, 0x13, 0xc8, 0x0c, 0x01, 0x8a, 0xc8, 0x0c, 0x09, 0x18, 0x10, 0x0e, 0x03, 0x00,
- 0x00, 0x02, 0xc0, 0xe0, 0x01, 0x6c, 0xc3, 0x20, 0x01, 0x8a, 0x98, 0x20, 0x01, 0x83, 0xe2, 0x00,
- 0x13, 0x81, 0x01, 0x60, 0x01, 0x9c, 0x00, 0x40, 0x13, 0xb9, 0x83, 0x01, 0x16, 0x31, 0xc8, 0x03,
- 0x01, 0x6c, 0x01, 0x40, 0x00, 0x10, 0x16, 0x14, 0xc2, 0xe0, 0x06, 0x2e, 0x13, 0x11, 0xc2, 0xe0,
- 0x05, 0xf8, 0x13, 0x0e, 0x01, 0xe0, 0x07, 0x3a, 0x80, 0x00, 0x01, 0x80, 0x00, 0x10, 0xc2, 0xe0,
- 0x07, 0x36, 0x13, 0x06, 0x04, 0xe0, 0x07, 0x36, 0x01, 0x80, 0x00, 0x20, 0x04, 0x60, 0xb9, 0xc0,
- 0x01, 0x40, 0x00, 0x20, 0x13, 0xf9, 0x03, 0x90, 0x11, 0xff, 0x03, 0x80, 0x01, 0x08, 0x04, 0x00,
- 0x16, 0x19, 0x01, 0x60, 0x09, 0x6a, 0x00, 0x01, 0x16, 0x15, 0x01, 0x88, 0x1a, 0x00, 0x01, 0xc8,
- 0x01, 0x00, 0xc5, 0xc8, 0x10, 0x0f, 0x04, 0xe0, 0x09, 0x18, 0x01, 0xc0, 0x00, 0x04, 0x10, 0x15,
- 0xc1, 0x81, 0xc8, 0x01, 0x01, 0x6c, 0x02, 0x07, 0xfc, 0x00, 0xc0, 0x77, 0xc2, 0x17, 0x01, 0x48,
- 0x18, 0x00, 0x13, 0xe4, 0x01, 0x40, 0x00, 0x40, 0x16, 0x15, 0x01, 0x80, 0x00, 0x45, 0xc1, 0x46,
- 0xd0, 0x20, 0xfc, 0x07, 0x81, 0x60, 0x09, 0x18, 0x13, 0xe6, 0xc2, 0xe0, 0xfc, 0x08, 0x11, 0x08,
- 0xc2, 0xe0, 0xfc, 0x0e, 0x15, 0x07, 0x13, 0x06, 0xc2, 0xe0, 0xfc, 0x14, 0x15, 0x03, 0x13, 0x02,
- 0x01, 0xc0, 0x00, 0x01, 0x01, 0x48, 0x01, 0x00, 0x13, 0x11, 0x01, 0x40, 0x40, 0x80, 0x13, 0x5b,
- 0x04, 0x60, 0xb6, 0x66, 0x01, 0x48, 0x00, 0x01, 0x16, 0x03, 0x01, 0x40, 0x40, 0x00, 0x16, 0x0b,
- 0x01, 0xc8, 0x40, 0x00, 0x05, 0xa0, 0x09, 0x32, 0xc5, 0xc8, 0x10, 0x05, 0x01, 0xc0, 0x00, 0x40,
- 0x01, 0x40, 0x00, 0x04, 0x13, 0xef, 0x05, 0xc7, 0xc2, 0xd7, 0x62, 0xc4, 0x05, 0x0b, 0x02, 0x2b,
- 0xff, 0xfc, 0xc5, 0xcb, 0x15, 0x02, 0x81, 0x46, 0x13, 0x5d, 0x01, 0x08, 0x5e, 0x00, 0x16, 0x5a,
- 0x01, 0x08, 0x00, 0x88, 0x16, 0x13, 0x02, 0x86, 0x00, 0x43, 0x16, 0x1e, 0x01, 0x40, 0x40, 0x00,
- 0x13, 0x0b, 0x01, 0x08, 0x00, 0x03, 0x13, 0x08, 0xc2, 0x84, 0x02, 0x2a, 0xff, 0xd8, 0xc8, 0x06,
- 0x01, 0x6c, 0x68, 0x0a, 0xfc, 0x04, 0x10, 0x66, 0x04, 0x60, 0xb8, 0xa8, 0x01, 0x40, 0x00, 0x01,
- 0x13, 0xea, 0x01, 0x08, 0x00, 0x02, 0x16, 0xe7, 0x01, 0x48, 0x00, 0x01, 0x16, 0xe4, 0x07, 0x8a,
- 0x00, 0x80, 0x06, 0xa0, 0xb5, 0x32, 0x10, 0xdf, 0xc0, 0x00, 0x11, 0xee, 0xc2, 0x60, 0x09, 0x6a,
- 0x01, 0x40, 0x40, 0x00, 0x13, 0x0a, 0x01, 0x48, 0x00, 0x01, 0x13, 0x2e, 0x01, 0x48, 0x00, 0x02,
- 0x13, 0x04, 0x01, 0x49, 0x00, 0x04, 0x16, 0xe0, 0x10, 0x00, 0x01, 0x49, 0x00, 0x01, 0x13, 0x12,
- 0x01, 0x40, 0x40, 0x80, 0x16, 0x01, 0xc1, 0x46, 0x04, 0xe0, 0xfc, 0x00, 0x07, 0x87, 0x05, 0xf8,
- 0xc2, 0x17, 0x13, 0x14, 0x05, 0xc7, 0xc8, 0x17, 0x01, 0x6c, 0xc8, 0x05, 0xfc, 0x00, 0xc5, 0xc6,
- 0x04, 0x60, 0xb6, 0x66, 0x02, 0x07, 0xfc, 0x02, 0xa1, 0xe0, 0x09, 0x2c, 0xcd, 0xe0, 0x05, 0xee,
- 0xc5, 0xe0, 0xfc, 0x04, 0xc8, 0x20, 0x09, 0x2c, 0xfc, 0x04, 0x10, 0xe2, 0xcd, 0xc5, 0xc5, 0xc6,
- 0x04, 0x60, 0xb6, 0x66, 0x04, 0x60, 0xb8, 0x8c, 0xc8, 0x06, 0x01, 0x6c, 0x81, 0x85, 0x13, 0x1a,
- 0xc2, 0xe0, 0xfc, 0x04, 0x15, 0x17, 0xc2, 0x86, 0xa2, 0x8a, 0xc1, 0xaa, 0x0c, 0x32, 0xc8, 0x06,
- 0x01, 0x6c, 0xa8, 0x0b, 0xfc, 0x04, 0x09, 0x1a, 0xc8, 0x0a, 0x01, 0x6c, 0xc2, 0xe0, 0xfc, 0x02,
- 0x04, 0xe0, 0xfc, 0x00, 0xc8, 0x06, 0x01, 0x6c, 0xc8, 0x0b, 0xfc, 0x02, 0x06, 0xa0, 0xc1, 0x9c,
- 0xc8, 0x06, 0x01, 0x6c, 0x04, 0xe0, 0xfc, 0x00, 0x01, 0xa0, 0xfc, 0x02, 0x00, 0x02, 0x07, 0x87,
- 0x06, 0x30, 0x01, 0xe7, 0x00, 0x04, 0x00, 0x40, 0x04, 0xd7, 0x02, 0x27, 0x00, 0x0c, 0xc2, 0x05,
- 0x06, 0xa0, 0xc2, 0x5a, 0x01, 0xc0, 0x00, 0x20, 0x04, 0x60, 0xb6, 0x66, 0x01, 0x48, 0x18, 0x00,
- 0x13, 0x03, 0x01, 0x48, 0x10, 0x00, 0x16, 0x02, 0x05, 0xa0, 0x09, 0x32, 0x02, 0x86, 0x00, 0x43,
- 0x13, 0x03, 0x01, 0x40, 0x40, 0x80, 0x13, 0x9f, 0xc8, 0x06, 0x01, 0x6c, 0x04, 0xe0, 0xfc, 0x00,
- 0xc2, 0x85, 0x06, 0xa0, 0xc1, 0x9c, 0x06, 0x20, 0x09, 0x62, 0x16, 0xe6, 0x06, 0xa0, 0xe1, 0x18,
- 0x10, 0xe3, 0xc2, 0xa0, 0x05, 0xf6, 0x16, 0x52, 0xc8, 0x19, 0x05, 0xf0, 0xc2, 0xa9, 0x00, 0x0a,
- 0x11, 0x0d, 0xf2, 0xa0, 0x09, 0x2e, 0xd8, 0x0a, 0x01, 0x80, 0xc8, 0x29, 0x00, 0x06, 0x01, 0x8c,
- 0x07, 0xa0, 0x09, 0x16, 0x00, 0x04, 0xc8, 0x09, 0x05, 0xf4, 0x10, 0x42, 0xc8, 0x29, 0x00, 0x06,
- 0x01, 0x6c, 0xc8, 0x20, 0xfc, 0x0e, 0x01, 0xbc, 0xc8, 0x20, 0xfc, 0x10, 0x01, 0xb0, 0xc8, 0x20,
- 0xfc, 0x12, 0x01, 0xb2, 0xf2, 0xa0, 0x09, 0x2e, 0x01, 0x8a, 0x10, 0x00, 0x01, 0xa0, 0x01, 0x80,
- 0xc4, 0x00, 0x10, 0xe1, 0x01, 0x47, 0x00, 0x08, 0x16, 0x06, 0xc2, 0xa8, 0x00, 0x06, 0x06, 0xa0,
- 0xc1, 0x9c, 0x04, 0xe8, 0x00, 0x06, 0x01, 0x07, 0x00, 0x20, 0x13, 0x2d, 0x04, 0xe8, 0x00, 0x02,
- 0x10, 0x37, 0x04, 0xe0, 0xfc, 0x00, 0x06, 0xa0, 0xc1, 0x9c, 0x10, 0x25, 0x03, 0x00, 0x00, 0x02,
- 0xc2, 0x20, 0x01, 0x8c, 0xc0, 0xe0, 0x01, 0x6c, 0xc2, 0x20, 0x05, 0xf4, 0xc8, 0x28, 0x00, 0x08,
- 0x01, 0x6c, 0xc1, 0xe8, 0x00, 0x0a, 0xc3, 0x20, 0xfc, 0x02, 0x01, 0x0c, 0xfe, 0x00, 0x16, 0x3b,
- 0x01, 0x47, 0x00, 0x40, 0x13, 0x50, 0xc2, 0x60, 0x05, 0xf0, 0x16, 0xab, 0x04, 0xe0, 0x05, 0xf4,
- 0xca, 0x0c, 0x00, 0x08, 0x01, 0x47, 0x00, 0x80, 0x16, 0xcd, 0xc8, 0x28, 0x00, 0x06, 0x01, 0x6c,
- 0xc2, 0xa0, 0xfc, 0x00, 0x16, 0xd6, 0xc1, 0xe8, 0x00, 0x02, 0xc2, 0xd7, 0x16, 0x0f, 0x02, 0x27,
- 0x00, 0x10, 0x04, 0xd8, 0xc2, 0x57, 0x13, 0x0e, 0x05, 0xc7, 0xc2, 0x57, 0xc6, 0x48, 0xc5, 0xc8,
- 0xc8, 0x03, 0x01, 0x6c, 0x11, 0x0d, 0x03, 0x90, 0x11, 0xff, 0x03, 0x80, 0x04, 0xd7, 0x01, 0xc3,
- 0x80, 0x00, 0x10, 0xed, 0x01, 0xe7, 0xff, 0xf4, 0x00, 0x20, 0xcd, 0xc8, 0xc5, 0xc8, 0x10, 0xf0,
- 0x03, 0x90, 0x11, 0xf8, 0x02, 0xe0, 0x00, 0xc0, 0xc3, 0x60, 0x00, 0xfa, 0xc3, 0xa0, 0x00, 0xfc,
- 0xc3, 0xe0, 0x00, 0xfe, 0x04, 0x54, 0xc2, 0xe8, 0x00, 0x08, 0xc2, 0xa8, 0x00, 0x06, 0xc3, 0x0c,
- 0x11, 0x33, 0x23, 0x20, 0xe0, 0x0a, 0x13, 0x45, 0x23, 0x20, 0xe0, 0x10, 0x13, 0x46, 0x23, 0x20,
- 0xe0, 0x0e, 0x13, 0x13, 0x21, 0xe0, 0xe0, 0x16, 0x16, 0xb6, 0x23, 0x20, 0xe0, 0x06, 0x16, 0x03,
- 0x27, 0x20, 0xe4, 0x68, 0x13, 0x0a, 0xc2, 0xe8, 0x00, 0x08, 0xc2, 0xa8, 0x00, 0x06, 0x01, 0x4c,
- 0x00, 0x88, 0x16, 0xa9, 0x01, 0x0c, 0x00, 0x44, 0x16, 0xa6, 0x06, 0x20, 0x09, 0x16, 0x13, 0xa3,
- 0xc8, 0x0a, 0x01, 0x6c, 0xc8, 0x20, 0xe0, 0x04, 0xfc, 0x02, 0xc8, 0x0b, 0x01, 0x6c, 0x07, 0xa0,
- 0xfc, 0x02, 0x81, 0x00, 0xc3, 0x20, 0x01, 0x80, 0x01, 0xa0, 0x01, 0x80, 0xc4, 0x00, 0xc8, 0x0c,
- 0x01, 0x80, 0xc8, 0x0a, 0x01, 0x8c, 0x10, 0xac, 0xc2, 0x0a, 0x13, 0x0f, 0xc8, 0x08, 0x01, 0x6c,
- 0xc2, 0xa0, 0xfc, 0x00, 0xc3, 0x20, 0xfc, 0x02, 0x23, 0x20, 0xe0, 0x12, 0x16, 0xf5, 0xc8, 0x0b,
- 0x01, 0x6c, 0xc8, 0x0c, 0xfc, 0x02, 0x04, 0x60, 0xb9, 0x48, 0x07, 0x8a, 0x04, 0x00, 0x04, 0x60,
- 0xb3, 0x8a, 0x07, 0x8a, 0x00, 0x20, 0x04, 0x60, 0xb3, 0x8a, 0x07, 0x8a, 0x02, 0x00, 0x27, 0x20,
- 0xe0, 0x0e, 0x16, 0x02, 0x06, 0xa0, 0xb5, 0x32, 0xc2, 0xa8, 0x00, 0x06, 0x04, 0x60, 0xb9, 0x66,
- 0x03, 0x00, 0x00, 0x02, 0x01, 0xc0, 0x00, 0x10, 0xc2, 0xe0, 0x06, 0x2e, 0x13, 0x08, 0xc2, 0xe0,
- 0x05, 0xf8, 0x13, 0x05, 0x01, 0xe0, 0x07, 0x3a, 0x80, 0x00, 0x01, 0x80, 0x00, 0x10, 0x03, 0x90,
- 0x7f, 0xff, 0x03, 0x80, 0x03, 0x00, 0x00, 0x02, 0xc2, 0x20, 0x05, 0xf6, 0xe2, 0x20, 0x05, 0xf4,
- 0x16, 0x0e, 0xd8, 0x20, 0x09, 0x2e, 0x01, 0x80, 0xc8, 0x2b, 0x00, 0x06, 0x01, 0x8c, 0x07, 0xa0,
- 0x09, 0x16, 0x00, 0x04, 0xc8, 0x0b, 0x05, 0xf4, 0x03, 0x90, 0xff, 0xff, 0x03, 0x80, 0x07, 0x87,
- 0x05, 0xf0, 0x04, 0xdb, 0xc2, 0x57, 0x16, 0x05, 0xcd, 0xcb, 0xc5, 0xcb, 0x03, 0x90, 0xff, 0xff,
- 0x03, 0x80, 0x05, 0xc7, 0xc2, 0x57, 0xc6, 0x4b, 0xc5, 0xcb, 0x03, 0x90, 0xff, 0xff, 0x03, 0x80,
- 0x03, 0x00, 0x00, 0x02, 0xc2, 0x0b, 0xc3, 0x20, 0x05, 0xf4, 0x13, 0x0f, 0xc2, 0xa8, 0x00, 0x0a,
- 0x01, 0x4a, 0x00, 0x10, 0x16, 0x16, 0x22, 0xa0, 0xe0, 0x04, 0x16, 0x1a, 0xc3, 0x08, 0x06, 0xa0,
- 0xbb, 0xfe, 0xc2, 0x0c, 0xc3, 0x20, 0x05, 0xf4, 0x16, 0x13, 0x01, 0x68, 0x00, 0x0a, 0x00, 0x10,
- 0x13, 0x03, 0xc2, 0xe0, 0x05, 0xf6, 0x16, 0x05, 0x06, 0xa0, 0xbc, 0x40, 0x03, 0x90, 0xff, 0xff,
- 0x03, 0x80, 0x07, 0x87, 0x05, 0xf0, 0x06, 0xa0, 0xc2, 0x44, 0x03, 0x90, 0xff, 0xff, 0x03, 0x80,
- 0x07, 0x87, 0x05, 0xf0, 0x06, 0xa0, 0xc2, 0x8a, 0x03, 0x80, 0x03, 0x00, 0x00, 0x02, 0x07, 0x87,
- 0x05, 0xf0, 0xc2, 0xcb, 0x16, 0x08, 0x06, 0xa0, 0xbb, 0xfe, 0x07, 0x20, 0x05, 0xf6, 0xcb, 0x60,
- 0x05, 0xf4, 0x00, 0x02, 0x03, 0x80, 0x04, 0xe0, 0x05, 0xf6, 0xc2, 0x20, 0x05, 0xf4, 0x16, 0x05,
- 0xc2, 0x17, 0x13, 0x03, 0xc5, 0xd8, 0x06, 0xa0, 0xbc, 0x40, 0x03, 0x80, 0x03, 0x00, 0x00, 0x02,
- 0xc2, 0x8b, 0x06, 0xa0, 0xbb, 0xfe, 0xc1, 0xca, 0x02, 0x27, 0x00, 0x10, 0x07, 0x88, 0x05, 0xf0,
- 0xc1, 0x88, 0xc2, 0x18, 0x13, 0x26, 0x82, 0xa8, 0x00, 0x02, 0x16, 0xfa, 0xc2, 0xe8, 0x00, 0x0a,
- 0x22, 0xe0, 0xe0, 0x1e, 0x16, 0xf5, 0xc5, 0x98, 0x22, 0xe0, 0xe0, 0x1c, 0x16, 0x0b, 0xc8, 0x28,
- 0x00, 0x06, 0x00, 0xf4, 0x02, 0xe0, 0x00, 0xe0, 0x06, 0xa0, 0xc1, 0x9c, 0x02, 0xe0, 0x00, 0xc0,
- 0x04, 0xe8, 0x00, 0x06, 0x22, 0xe0, 0xe0, 0x18, 0x13, 0xe4, 0xea, 0x20, 0xe0, 0x22, 0x00, 0x0a,
- 0xea, 0xa0, 0xe0, 0x18, 0x00, 0x04, 0x04, 0xda, 0x06, 0xa0, 0xc2, 0x44, 0x06, 0x47, 0xc2, 0x06,
- 0x10, 0xd8, 0xc8, 0x06, 0x05, 0xf2, 0xcb, 0x60, 0x05, 0xf4, 0x00, 0x02, 0x04, 0x54, 0xc2, 0x20,
- 0x05, 0xf4, 0x13, 0x13, 0x01, 0xe0, 0x01, 0x9c, 0x40, 0x00, 0x0b, 0x8b, 0x0b, 0x8b, 0x01, 0x60,
- 0x01, 0x9c, 0x40, 0x00, 0x16, 0x0a, 0xc2, 0x60, 0x01, 0x6c, 0xc8, 0x28, 0x00, 0x06, 0x01, 0x6c,
- 0xc2, 0xa0, 0xfc, 0x02, 0x11, 0x03, 0xc8, 0x09, 0x01, 0x6c, 0x04, 0x5b, 0xc8, 0x09, 0x01, 0x6c,
- 0xc2, 0x4b, 0x07, 0x87, 0x05, 0xf0, 0x06, 0xa0, 0xc2, 0x8a, 0x04, 0xe0, 0x05, 0xf4, 0x04, 0x59,
- 0xc2, 0xa8, 0x00, 0x0a, 0x11, 0x0d, 0xf2, 0xa0, 0x09, 0x2e, 0xd8, 0x0a, 0x01, 0x80, 0xc8, 0x28,
- 0x00, 0x06, 0x01, 0x8c, 0x07, 0xa0, 0x09, 0x16, 0x00, 0x04, 0xc8, 0x08, 0x05, 0xf4, 0x04, 0x5b,
- 0xc3, 0x20, 0x01, 0x6c, 0xc8, 0x28, 0x00, 0x06, 0x01, 0x6c, 0xc8, 0x20, 0xfc, 0x0e, 0x01, 0xbc,
- 0xc8, 0x20, 0xfc, 0x10, 0x01, 0xb0, 0xc8, 0x20, 0xfc, 0x12, 0x01, 0xb2, 0xc8, 0x0c, 0x01, 0x6c,
- 0xf2, 0xa0, 0x09, 0x2e, 0x01, 0x8a, 0x10, 0x00, 0x01, 0xa0, 0x01, 0x80, 0xc4, 0x00, 0x10, 0xdd,
- 0x07, 0x33, 0x07, 0x33, 0x10, 0x0c, 0x07, 0x13, 0x07, 0x23, 0x00, 0x02, 0xc8, 0xcb, 0x00, 0x06,
- 0x02, 0x23, 0x00, 0x18, 0xcc, 0xe0, 0x01, 0x6c, 0xcc, 0xcd, 0xcc, 0xce, 0xcc, 0xcf, 0x07, 0x83,
- 0x06, 0x30, 0xc1, 0xd3, 0x13, 0x0a, 0x07, 0x83, 0x07, 0x36, 0xc1, 0xd3, 0x13, 0x06, 0x07, 0x83,
- 0x00, 0xa0, 0x00, 0x93, 0xc8, 0x0c, 0x01, 0x6c, 0x03, 0x80, 0x07, 0x63, 0x00, 0x02, 0x15, 0x2a,
- 0xc2, 0x63, 0x00, 0x04, 0x42, 0x63, 0x00, 0x06, 0x13, 0xdb, 0xc3, 0x63, 0x00, 0x1a, 0xd2, 0x49,
- 0x13, 0x0c, 0x06, 0xc9, 0x72, 0x49, 0xd2, 0x69, 0xe1, 0xc0, 0x06, 0xc9, 0x72, 0x49, 0x48, 0xe9,
- 0xe0, 0x04, 0x00, 0x04, 0xcb, 0x49, 0x00, 0x02, 0x04, 0x52, 0xc2, 0x69, 0xe1, 0xc0, 0x72, 0x49,
- 0x02, 0x29, 0x00, 0x10, 0xc2, 0xc3, 0xa2, 0xe9, 0xe1, 0xa8, 0xc3, 0x1b, 0x02, 0x89, 0x00, 0x12,
- 0x13, 0x0f, 0xc6, 0xdc, 0x16, 0x03, 0x48, 0xe9, 0xe0, 0x04, 0x00, 0x04, 0xcb, 0x49, 0x00, 0x02,
- 0xcb, 0x4c, 0x00, 0x04, 0x03, 0x90, 0x01, 0xff, 0x00, 0x93, 0xc8, 0x0c, 0x01, 0x6c, 0x03, 0x80,
- 0xc8, 0x0c, 0x01, 0x6c, 0xc6, 0xe0, 0xfc, 0x00, 0x16, 0xf1, 0x48, 0xe9, 0xe0, 0x04, 0x00, 0x04,
- 0xcb, 0x49, 0x00, 0x02, 0xcb, 0x4c, 0x00, 0x04, 0x10, 0xed, 0x03, 0x00, 0x00, 0x02, 0xc2, 0xdb,
- 0xc2, 0x63, 0x00, 0x04, 0x42, 0x4b, 0x13, 0x9f, 0xd2, 0x49, 0x13, 0x0e, 0x06, 0xc9, 0x72, 0x49,
- 0xd2, 0x69, 0xe1, 0xc0, 0x06, 0xc9, 0x72, 0x49, 0x48, 0xe9, 0xe0, 0x04, 0x00, 0x04, 0xcb, 0x49,
- 0x00, 0x02, 0x03, 0x90, 0xff, 0xff, 0x03, 0x80, 0xc2, 0x69, 0xe1, 0xc0, 0x72, 0x49, 0x02, 0x29,
- 0x00, 0x10, 0xc2, 0xc3, 0xa2, 0xe9, 0xe1, 0xa8, 0xc3, 0x1b, 0x02, 0x89, 0x00, 0x12, 0x13, 0x0c,
- 0xc6, 0xdc, 0x16, 0x03, 0x48, 0xe9, 0xe0, 0x04, 0x00, 0x04, 0xcb, 0x49, 0x00, 0x02, 0xcb, 0x4c,
- 0x00, 0x04, 0x03, 0x90, 0xff, 0xff, 0x03, 0x80, 0xc8, 0x0c, 0x01, 0x6c, 0xc6, 0xe0, 0xfc, 0x00,
- 0x16, 0xf4, 0x10, 0xf0, 0x03, 0x00, 0x00, 0x02, 0xc2, 0xbb, 0xc1, 0xbb, 0xd1, 0x86, 0x13, 0x03,
- 0xea, 0x86, 0x00, 0x04, 0x10, 0x13, 0xd1, 0xa6, 0xe1, 0xc0, 0x06, 0xc6, 0x71, 0x86, 0xc1, 0xca,
- 0xa1, 0xe6, 0xe1, 0xb8, 0xea, 0xa6, 0xe0, 0x14, 0x00, 0x04, 0xc2, 0x1b, 0x02, 0x86, 0x00, 0x02,
- 0x16, 0x03, 0x06, 0xa0, 0xc2, 0x6a, 0x10, 0x02, 0x06, 0xa0, 0xc2, 0x44, 0x04, 0xda, 0x03, 0x80,
- 0x03, 0x00, 0x00, 0x02, 0xc2, 0xab, 0x00, 0x06, 0x07, 0x8c, 0x05, 0xe8, 0xc2, 0x5c, 0x13, 0x16,
- 0xc1, 0xa0, 0x05, 0xec, 0x81, 0x8a, 0x1a, 0x1a, 0xc1, 0xc6, 0xc2, 0x09, 0xc2, 0x59, 0x13, 0x20,
- 0xa1, 0xe9, 0x00, 0x08, 0x82, 0x87, 0x12, 0xf9, 0xa2, 0xa9, 0x00, 0x08, 0x62, 0x87, 0xca, 0xca,
- 0x00, 0x08, 0x6a, 0x4a, 0x00, 0x08, 0xc6, 0xc9, 0xc6, 0x0b, 0x03, 0x80, 0xca, 0xca, 0x00, 0x08,
- 0xc8, 0x0a, 0x05, 0xec, 0x04, 0xdb, 0xcf, 0x0b, 0xc7, 0x0b, 0x03, 0x80, 0x61, 0x8a, 0xca, 0x46,
- 0x00, 0x08, 0xca, 0xca, 0x00, 0x08, 0xc8, 0x0a, 0x05, 0xec, 0xc6, 0xc9, 0xc7, 0x0b, 0x03, 0x80,
- 0x62, 0x87, 0xca, 0xca, 0x00, 0x08, 0x04, 0xdb, 0xc6, 0x0b, 0xcb, 0x0b, 0x00, 0x02, 0x03, 0x80,
- 0x03, 0x00, 0x00, 0x02, 0xc1, 0xbb, 0xc2, 0xdb, 0x07, 0x8c, 0x05, 0xe8, 0xc2, 0x4c, 0x04, 0xed,
- 0x00, 0x02, 0xc2, 0x09, 0xc2, 0x59, 0x13, 0x18, 0x81, 0xa9, 0x00, 0x02, 0x16, 0xfa, 0x82, 0xe9,
- 0x00, 0x04, 0x16, 0xf7, 0xcb, 0x49, 0x00, 0x04, 0xc2, 0x99, 0xc6, 0x0a, 0x13, 0x0a, 0x83, 0x08,
- 0x13, 0x04, 0xaa, 0xa9, 0x00, 0x08, 0x00, 0x08, 0x03, 0x80, 0xa8, 0x2a, 0x00, 0x08, 0x05, 0xec,
- 0x03, 0x80, 0xcb, 0x08, 0x00, 0x02, 0x03, 0x80, 0x07, 0x2d, 0x00, 0x02, 0x07, 0x8c, 0x00, 0x08,
- 0xa3, 0x06, 0xc2, 0x4c, 0xc2, 0x09, 0xc2, 0x59, 0x13, 0x13, 0x82, 0xe9, 0x00, 0x04, 0x16, 0xfa,
- 0x07, 0xad, 0x00, 0x02, 0x00, 0x01, 0xcb, 0x49, 0x00, 0x04, 0xc6, 0x19, 0x13, 0x01, 0x03, 0x80,
- 0x83, 0x08, 0x16, 0x04, 0x49, 0xa0, 0xe0, 0x14, 0x00, 0x04, 0x03, 0x80, 0xcb, 0x08, 0x00, 0x02,
- 0x03, 0x80, 0x03, 0x00, 0x00, 0x02, 0x06, 0x0b, 0x11, 0x1f, 0x13, 0x4d, 0x07, 0x8b, 0x4e, 0x00,
- 0x01, 0x60, 0x01, 0x42, 0x00, 0x80, 0x13, 0x09, 0x07, 0x8b, 0x3a, 0x00, 0xc1, 0x20, 0x01, 0x4e,
- 0x02, 0x84, 0x0f, 0x41, 0x11, 0x02, 0x07, 0x8b, 0x4e, 0x00, 0xc8, 0x0b, 0x01, 0x44, 0x07, 0xa0,
- 0x09, 0x62, 0x03, 0xe8, 0x01, 0xe0, 0x01, 0x40, 0x02, 0x00, 0x01, 0xe0, 0x01, 0x40, 0x20, 0x00,
- 0x07, 0x84, 0xbc, 0xa0, 0x04, 0x60, 0xbc, 0xae, 0xc8, 0x20, 0xe0, 0x16, 0x00, 0xe0, 0xc2, 0xe0,
- 0x09, 0x6a, 0x22, 0xe0, 0xe0, 0x10, 0x13, 0x03, 0xe8, 0x20, 0xe0, 0x14, 0x00, 0xe0, 0xc8, 0x20,
- 0xe0, 0x04, 0x01, 0x82, 0xc8, 0x20, 0x00, 0xe2, 0x01, 0x8a, 0x04, 0xe0, 0x09, 0x18, 0x04, 0xe0,
- 0x05, 0xf4, 0x04, 0xe0, 0x05, 0xf8, 0x04, 0xe0, 0x05, 0xf0, 0x04, 0xe0, 0x07, 0x42, 0x07, 0xa0,
- 0x01, 0x88, 0x00, 0x20, 0xc2, 0xe0, 0x09, 0x30, 0x13, 0x09, 0x07, 0xa0, 0x01, 0x88, 0x00, 0x80,
- 0xe8, 0x20, 0xe0, 0x16, 0x01, 0x80, 0x01, 0xe0, 0x01, 0x82, 0x03, 0x00, 0x07, 0x8b, 0xa0, 0x00,
- 0xe8, 0x0b, 0x01, 0x86, 0x03, 0x80, 0x04, 0xe0, 0x01, 0x86, 0x01, 0xe0, 0x01, 0x9c, 0x00, 0x40,
- 0x01, 0xe0, 0x01, 0x9c, 0x40, 0x00, 0x04, 0xcb, 0x03, 0xb0, 0x06, 0x0b, 0x13, 0x04, 0x01, 0x60,
- 0x01, 0x9c, 0x40, 0x00, 0x16, 0xf9, 0x04, 0xe0, 0x01, 0x82, 0xe8, 0x20, 0xe0, 0x08, 0x09, 0x6a,
- 0x07, 0x8b, 0x80, 0x00, 0xc8, 0x0b, 0x07, 0x98, 0xc8, 0x0b, 0x07, 0x78, 0xc8, 0x20, 0xe0, 0x04,
- 0x01, 0x82, 0x07, 0x8b, 0x87, 0x6f, 0x48, 0x0b, 0x07, 0x3a, 0xc2, 0xe0, 0x07, 0x50, 0x02, 0x8b,
- 0x07, 0x58, 0x13, 0x10, 0xe8, 0x20, 0xe0, 0x0a, 0x01, 0x00, 0xc2, 0xe0, 0x01, 0x00, 0x22, 0xe0,
- 0xe0, 0x06, 0x13, 0xf8, 0x07, 0x8b, 0x07, 0x58, 0xc8, 0x0b, 0x07, 0x50, 0x07, 0x8b, 0xc5, 0x6a,
- 0xc8, 0x0b, 0x07, 0x52, 0x03, 0x80, 0x03, 0x00, 0x00, 0x02, 0xc2, 0xe0, 0x09, 0x1a, 0x13, 0x0c,
- 0x06, 0x20, 0x09, 0x1c, 0xc8, 0x0b, 0x01, 0x6c, 0xc8, 0x20, 0xfc, 0x00, 0x09, 0x1a, 0xcb, 0x4b,
- 0x00, 0x02, 0x03, 0x90, 0xff, 0xff, 0x03, 0x80, 0xc0, 0x41, 0x13, 0x0f, 0x80, 0x81, 0x13, 0x0d,
- 0xa0, 0x82, 0xc2, 0xe2, 0x0c, 0x32, 0x09, 0x12, 0xc8, 0x0b, 0x01, 0x6c, 0x04, 0xe0, 0xfc, 0x00,
- 0xc3, 0x20, 0xfc, 0x02, 0x11, 0x07, 0xc8, 0x02, 0xfc, 0x00, 0x04, 0xed, 0x00, 0x02, 0x04, 0xe0,
- 0x01, 0x6c, 0x03, 0x80, 0xcb, 0x42, 0x00, 0x02, 0xc8, 0x02, 0x01, 0x6c, 0xc0, 0x8b, 0x03, 0x80,
- 0x03, 0x00, 0x00, 0x02, 0x07, 0x83, 0x80, 0x00, 0xc2, 0x60, 0x09, 0x7e, 0xc1, 0x09, 0x02, 0x24,
- 0xff, 0xf8, 0x08, 0xa9, 0x02, 0x01, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x02, 0x0b, 0x00, 0x00,
- 0x02, 0x0c, 0x00, 0x00, 0x02, 0x07, 0x00, 0x00, 0xcb, 0x2c, 0x0c, 0x32, 0x0c, 0x32, 0x13, 0x06,
- 0x05, 0x8b, 0x05, 0xcc, 0x88, 0x0b, 0x04, 0x46, 0x1b, 0x27, 0x10, 0xf6, 0xc2, 0x09, 0xc2, 0x8b,
- 0x06, 0x08, 0x13, 0x0a, 0x05, 0x8b, 0x05, 0xcc, 0x88, 0x0b, 0x04, 0x46, 0x1b, 0x1d, 0xcb, 0x2c,
- 0x0c, 0x32, 0x0c, 0x32, 0x16, 0xed, 0x10, 0xf4, 0xc0, 0x82, 0x13, 0x14, 0xc8, 0x02, 0x01, 0x6c,
- 0xc8, 0x0a, 0xfc, 0x00, 0xc8, 0x0a, 0x01, 0x6c, 0x04, 0xe0, 0xfc, 0x00, 0x07, 0xa0, 0xfc, 0x02,
- 0x80, 0x00, 0xc8, 0x04, 0xfc, 0x04, 0xc2, 0x0a, 0xa2, 0x08, 0xca, 0x02, 0x0c, 0x32, 0xc0, 0x8a,
- 0x05, 0x87, 0x10, 0xd6, 0xc0, 0x4a, 0x10, 0xee, 0xcb, 0x47, 0x00, 0x02, 0x04, 0xe0, 0x01, 0x6c,
- 0x07, 0x8b, 0x00, 0x43, 0x04, 0xe0, 0x0c, 0x00, 0x03, 0x00, 0x00, 0x02, 0xc8, 0x0b, 0x01, 0x6c,
- 0xc2, 0x8b, 0x06, 0xa0, 0xc1, 0xa0, 0x03, 0x90, 0x00, 0x7f, 0x03, 0x80, 0x01, 0xa0, 0xfc, 0x02,
- 0x00, 0x20, 0x01, 0x60, 0x09, 0x6a, 0x00, 0x01, 0x16, 0x0b, 0x02, 0x0a, 0xfc, 0x02, 0xa2, 0xa0,
- 0x09, 0x2c, 0xce, 0xa0, 0x05, 0xee, 0xc6, 0xa0, 0xfc, 0x04, 0xc8, 0x20, 0x09, 0x2c, 0xfc, 0x04,
- 0x07, 0x8a, 0x05, 0xf8, 0xc2, 0x5a, 0x13, 0x08, 0x05, 0xca, 0xc2, 0x5a, 0xc8, 0x09, 0x01, 0x6c,
- 0xc8, 0x0b, 0xfc, 0x00, 0xc6, 0x8b, 0x10, 0x02, 0xce, 0x8b, 0xc6, 0x8b, 0x20, 0x20, 0xe0, 0x1a,
- 0x16, 0x05, 0xe8, 0x20, 0xe0, 0x04, 0x07, 0x3a, 0x04, 0xe0, 0x07, 0x36, 0x03, 0x90, 0x00, 0x7f,
- 0x03, 0x80, 0x03, 0x00, 0x00, 0x02, 0xc8, 0x0b, 0x01, 0x6c, 0x04, 0xcc, 0x04, 0xe0, 0xfc, 0x00,
- 0xc2, 0x8b, 0x06, 0xa0, 0xc1, 0xae, 0x03, 0x90, 0x00, 0x7f, 0x03, 0x80, 0x07, 0xa0, 0xfc, 0x02,
- 0x80, 0x00, 0xc8, 0x20, 0xe1, 0x8c, 0xfc, 0x04, 0xc0, 0x41, 0x16, 0x0f, 0xd8, 0x20, 0xe2, 0x00,
- 0x01, 0x83, 0x00, 0x00, 0xc1, 0x82, 0x00, 0x15, 0x0b, 0x8b, 0x00, 0x00, 0xc1, 0x96, 0x0c, 0xa8,
- 0xc8, 0x0a, 0x01, 0x8a, 0x04, 0x5b, 0xc8, 0x0a, 0x01, 0x6c, 0xc3, 0x20, 0xfc, 0x00, 0x04, 0xe0,
- 0xfc, 0x00, 0x02, 0x8a, 0x00, 0x43, 0x13, 0xdf, 0x07, 0xa0, 0xfc, 0x02, 0x80, 0x00, 0xc8, 0x04,
- 0xfc, 0x04, 0x98, 0x20, 0x09, 0x84, 0x09, 0x1d, 0x13, 0x0a, 0xc8, 0x20, 0x09, 0x1a, 0xfc, 0x00,
- 0xc8, 0x0a, 0x09, 0x1a, 0x05, 0xa0, 0x09, 0x1c, 0xc2, 0x8c, 0x16, 0xe5, 0x04, 0x5b, 0xc0, 0x41,
- 0x13, 0x10, 0xa2, 0x8a, 0xca, 0x82, 0x0c, 0x32, 0x09, 0x1a, 0xc8, 0x02, 0x01, 0x6c, 0xc8, 0x0a,
- 0xfc, 0x00, 0xc0, 0x8a, 0x98, 0x20, 0x01, 0x83, 0xe2, 0x00, 0x13, 0x09, 0xc2, 0x8c, 0x16, 0xd3,
- 0x04, 0x5b, 0xc0, 0x4a, 0xc0, 0x8a, 0x98, 0x20, 0x01, 0x83, 0xe2, 0x00, 0x16, 0x1b, 0x01, 0xe0,
- 0x01, 0x9c, 0x00, 0x40, 0x07, 0xa0, 0x09, 0x64, 0x70, 0x00, 0x01, 0x60, 0x01, 0x9c, 0x00, 0x40,
- 0x13, 0x07, 0x06, 0x20, 0x09, 0x64, 0x16, 0xf9, 0x02, 0x0a, 0x01, 0x00, 0x04, 0x60, 0xb3, 0x8a,
- 0x01, 0x60, 0x0c, 0x02, 0x01, 0x00, 0x13, 0xe2, 0xd8, 0x20, 0x09, 0x2f, 0x01, 0x83, 0x07, 0xa0,
- 0x0c, 0x02, 0x80, 0x00, 0xc8, 0x0a, 0x01, 0x8a, 0xc8, 0x0a, 0x09, 0x18, 0x10, 0xd7, 0x04, 0xd8,
- 0xc2, 0x57, 0x16, 0x03, 0xcd, 0xc8, 0xc5, 0xc8, 0x04, 0x5b, 0x05, 0xc7, 0xc2, 0x57, 0xc6, 0x48,
- 0xc5, 0xc8, 0x04, 0x5b, 0xc8, 0x08, 0x01, 0x6c, 0xa2, 0x08, 0xca, 0x20, 0xfc, 0x00, 0x0c, 0x32,
- 0x09, 0x18, 0x10, 0x02, 0xc8, 0x08, 0x01, 0x6c, 0x04, 0xe0, 0xfc, 0x00, 0xc2, 0x57, 0x16, 0x03,
- 0xcd, 0xc8, 0xc5, 0xc8, 0x04, 0x5b, 0x05, 0xc7, 0xc8, 0x17, 0x01, 0x6c, 0xc8, 0x08, 0xfc, 0x00,
- 0xc5, 0xc8, 0x04, 0x5b, 0xc6, 0x17, 0x16, 0x02, 0xc9, 0xc8, 0x00, 0x02, 0xc5, 0xc8, 0x04, 0x5b,
- 0xc2, 0x17, 0xc8, 0x08, 0x01, 0x6c, 0x13, 0x07, 0xc5, 0xe0, 0xfc, 0x00, 0xa2, 0x08, 0xc8, 0x28,
- 0x0c, 0x32, 0xfc, 0x00, 0x09, 0x18, 0x04, 0x5b, 0x01, 0x60, 0x01, 0x82, 0x20, 0x00, 0x16, 0x0a,
- 0xc2, 0x60, 0x01, 0x84, 0x01, 0xa0, 0x01, 0x82, 0x20, 0x00, 0x01, 0xe0, 0x01, 0x82, 0x20, 0x00,
- 0xc8, 0x09, 0x01, 0x84, 0x04, 0xc9, 0x04, 0x5b, 0x06, 0xa0, 0xc5, 0x1c, 0x04, 0xd3, 0x04, 0xe0,
- 0x01, 0x02, 0xe8, 0x20, 0xe0, 0x14, 0x01, 0x00, 0xc8, 0x20, 0xe0, 0x16, 0x01, 0x04, 0x2c, 0x05,
- 0x48, 0x20, 0xe0, 0x14, 0x01, 0x00, 0x07, 0x8c, 0x0a, 0x00, 0x07, 0x8d, 0x07, 0xd8, 0x07, 0x8e,
- 0x00, 0x18, 0xcf, 0x7c, 0x06, 0x4e, 0x16, 0xfd, 0x02, 0xe0, 0x07, 0xd8, 0x07, 0x8f, 0xff, 0x11,
- 0x02, 0x8b, 0x59, 0x3b, 0x16, 0x21, 0x02, 0x8a, 0x59, 0x3b, 0x13, 0x1e, 0x05, 0x8f, 0x20, 0x20,
- 0xe0, 0x16, 0x16, 0x01, 0x10, 0x19, 0x20, 0x20, 0xe0, 0x04, 0x16, 0x16, 0x01, 0x00, 0x00, 0xbf,
- 0x16, 0x13, 0x07, 0x8b, 0x40, 0xc0, 0x01, 0x00, 0x60, 0x00, 0x13, 0x10, 0x01, 0x40, 0x60, 0x00,
- 0x16, 0x0b, 0x07, 0x8b, 0x44, 0xc4, 0xc3, 0xa0, 0x01, 0x02, 0x48, 0x0e, 0x01, 0x02, 0x01, 0x4e,
- 0x10, 0x00, 0x16, 0x04, 0x07, 0x8f, 0xff, 0x18, 0x04, 0x60, 0xc4, 0xf2, 0xc3, 0x0b, 0xc3, 0x4b,
- 0x20, 0x20, 0xe0, 0x0a, 0x16, 0x02, 0x02, 0x6b, 0x20, 0x20, 0x20, 0x20, 0xe0, 0x0c, 0x16, 0x02,
- 0x02, 0x6c, 0x20, 0x00, 0x20, 0x20, 0xe0, 0x0e, 0x16, 0x02, 0x02, 0x6c, 0x00, 0x20, 0x05, 0x8f,
- 0x20, 0x20, 0xe0, 0x10, 0x16, 0x07, 0x02, 0x6d, 0x00, 0x20, 0x21, 0x20, 0xe0, 0x22, 0x13, 0xe4,
- 0xc1, 0x04, 0x16, 0x02, 0x07, 0x84, 0x7f, 0xfe, 0x05, 0x8f, 0x20, 0x20, 0xe0, 0x12, 0x16, 0x02,
- 0x02, 0x6d, 0x20, 0x00, 0x21, 0x60, 0xe0, 0x22, 0x13, 0xd7, 0xc1, 0x45, 0x16, 0x02, 0x07, 0x85,
- 0x7f, 0xfe, 0x05, 0x8f, 0xd1, 0x86, 0x13, 0x0b, 0x25, 0xa0, 0xe0, 0x26, 0x13, 0x08, 0x05, 0x8f,
- 0x26, 0x20, 0xe0, 0x22, 0x16, 0x04, 0x05, 0x8f, 0x26, 0xa0, 0xe0, 0x22, 0x13, 0x02, 0x04, 0x60,
- 0xc4, 0xf2, 0xd8, 0x01, 0x08, 0xec, 0xd8, 0x20, 0x07, 0xdb, 0x09, 0x00, 0xd8, 0x02, 0x08, 0xf6,
- 0xd8, 0x20, 0x07, 0xdd, 0x08, 0xe2, 0x02, 0xe0, 0x07, 0x58, 0xd8, 0x20, 0x07, 0xef, 0x07, 0xf4,
- 0xd8, 0x20, 0x07, 0xf1, 0x07, 0xf6, 0xd8, 0x20, 0x07, 0xf3, 0x07, 0xf8, 0x02, 0x09, 0x00, 0x06,
- 0x04, 0xcb, 0x02, 0x0f, 0x07, 0xee, 0x05, 0x8f, 0xdf, 0xcb, 0x06, 0x09, 0x16, 0xfc, 0x06, 0xa0,
- 0xc5, 0x1c, 0x07, 0x89, 0xe3, 0x5c, 0x04, 0xe0, 0x01, 0x1a, 0xc8, 0x20, 0x07, 0xe4, 0x01, 0x18,
- 0xc8, 0x19, 0x01, 0x0c, 0xc8, 0x39, 0x01, 0x0a, 0xc8, 0x39, 0x01, 0x12, 0x16, 0x09, 0xc3, 0x79,
- 0x02, 0x0f, 0xe0, 0x00, 0x63, 0x4f, 0x02, 0x2d, 0xa0, 0x00, 0xc8, 0x0d, 0x01, 0x14, 0x10, 0x02,
- 0xc8, 0x39, 0x01, 0x14, 0xc3, 0xf9, 0xc8, 0x3f, 0x01, 0x0e, 0xc8, 0x1f, 0x01, 0x10, 0x04, 0xe0,
- 0x09, 0x14, 0xc2, 0xb9, 0xc8, 0x1a, 0x01, 0x00, 0x06, 0x96, 0x02, 0x89, 0xe3, 0x84, 0x16, 0xe0,
- 0x07, 0x8f, 0xff, 0x1c, 0x07, 0x8c, 0x0a, 0x00, 0x07, 0x8d, 0xe3, 0x84, 0x07, 0x8e, 0x00, 0x10,
- 0x8f, 0x7c, 0x16, 0x44, 0x06, 0x4e, 0x16, 0xfc, 0xc3, 0xa0, 0x07, 0xe2, 0xc3, 0xe0, 0x07, 0xe0,
- 0x83, 0xce, 0x14, 0x01, 0xc3, 0xce, 0xc8, 0x0f, 0x01, 0x1a, 0x07, 0x8c, 0xe3, 0x94, 0x07, 0x8d,
- 0x0a, 0x00, 0x07, 0x8e, 0xe3, 0xa4, 0x63, 0x8c, 0xcf, 0x7c, 0x06, 0x4e, 0x16, 0xfd, 0x04, 0xe0,
- 0x09, 0x30, 0x01, 0x20, 0x01, 0x42, 0x04, 0x00, 0x16, 0x02, 0x07, 0x20, 0x09, 0x30, 0xc2, 0x60,
- 0x01, 0x62, 0x04, 0xe0, 0x01, 0x62, 0x07, 0x8e, 0x80, 0x00, 0x07, 0x8c, 0x09, 0x34, 0x07, 0x8d,
- 0x00, 0x06, 0xdf, 0x3e, 0x05, 0x8e, 0x06, 0x0d, 0x16, 0xfc, 0xd3, 0xfe, 0x06, 0xcf, 0x05, 0x8e,
- 0xd3, 0xfe, 0x06, 0xcf, 0x07, 0x8c, 0x09, 0x34, 0xc8, 0x09, 0x01, 0x62, 0x04, 0xc9, 0xa3, 0x5c,
- 0xe2, 0x7c, 0xa3, 0x5c, 0xe2, 0x7c, 0xa3, 0x5c, 0xe2, 0x7c, 0x13, 0x02, 0x83, 0xcd, 0x13, 0x09,
- 0x07, 0x20, 0x09, 0x34, 0x10, 0x06, 0x07, 0x8f, 0xff, 0x19, 0xa3, 0xcd, 0xc8, 0x0f, 0x01, 0x04,
- 0x10, 0xff, 0x01, 0xa0, 0x01, 0x02, 0x10, 0x00, 0xc3, 0xe0, 0x07, 0xee, 0x43, 0xe0, 0xe0, 0x06,
- 0xc8, 0x0f, 0x01, 0x00, 0xc0, 0x20, 0xe0, 0x04, 0x04, 0xe0, 0x06, 0xfe, 0x04, 0xd3, 0x04, 0xe0,
- 0x01, 0x04, 0x04, 0x60, 0xc5, 0x6a, 0x07, 0x8c, 0x0a, 0x00, 0x07, 0x8d, 0x00, 0x18, 0x07, 0x8e,
- 0x59, 0x3b, 0xcf, 0x0e, 0x06, 0x4d, 0x16, 0xfd, 0x04, 0x5b, 0x01, 0x93, 0x80, 0x00, 0x04, 0x20,
- 0xe2, 0xc0, 0xd0, 0x60, 0x07, 0x98, 0x13, 0x1c, 0x03, 0x00, 0x00, 0x02, 0xc0, 0xa0, 0x07, 0x46,
- 0xc8, 0x12, 0x07, 0x46, 0x16, 0x02, 0x01, 0x93, 0x00, 0x20, 0x03, 0x00, 0x00, 0x0f, 0x04, 0x20,
- 0xe2, 0xe8, 0x01, 0x93, 0x20, 0x00, 0x01, 0x80, 0x40, 0x00, 0x01, 0x00, 0x00, 0xfe, 0x16, 0x49,
- 0xc3, 0xc4, 0x16, 0x25, 0xc3, 0xd3, 0x43, 0xc5, 0x16, 0x0c, 0xc3, 0xe0, 0x07, 0x98, 0x11, 0x03,
- 0x02, 0xe0, 0x07, 0x98, 0x04, 0x51, 0xc3, 0xe0, 0x07, 0x78, 0x11, 0x0a, 0x02, 0xe0, 0x07, 0x78,
- 0x04, 0x51, 0x11, 0xd3, 0x01, 0x4f, 0x20, 0x00, 0x13, 0xe4, 0x01, 0x4f, 0x00, 0x20, 0x13, 0xd1,
- 0x2c, 0x05, 0xa0, 0x41, 0x04, 0x21, 0xe2, 0xc0, 0x07, 0x8b, 0xc5, 0x6a, 0x01, 0x00, 0x40, 0x00,
- 0x13, 0x0f, 0xc3, 0xdd, 0x02, 0x4f, 0x00, 0x0f, 0xe1, 0x2f, 0xe0, 0x14, 0x04, 0x5b, 0xc3, 0xe4,
- 0xe1, 0xc0, 0x73, 0xcf, 0x41, 0x2f, 0xe0, 0x14, 0xc3, 0x6f, 0xea, 0x8c, 0x07, 0x8b, 0xc5, 0x6a,
- 0xc2, 0x4b, 0xc2, 0xa0, 0x07, 0xf4, 0x07, 0x8c, 0x00, 0x08, 0xc0, 0xbd, 0xc3, 0xa0, 0x07, 0xea,
- 0xc3, 0xe0, 0x07, 0xec, 0x06, 0xa0, 0xc7, 0x5e, 0x01, 0xc0, 0x40, 0x00, 0xd8, 0x02, 0x01, 0x17,
- 0x02, 0x62, 0xff, 0x80, 0x06, 0xa0, 0xc7, 0xb2, 0xc8, 0x02, 0x01, 0x04, 0x03, 0x90, 0x60, 0x3f,
- 0x04, 0x59, 0xc3, 0xc0, 0x73, 0xcf, 0xc3, 0xef, 0xe1, 0xc0, 0x73, 0xcf, 0xc3, 0xaf, 0xea, 0x7e,
- 0xc3, 0x9e, 0x02, 0x4e, 0x00, 0x0f, 0x21, 0x2e, 0xe0, 0x14, 0x13, 0x08, 0x40, 0x2f, 0xe0, 0x14,
- 0xa3, 0xcf, 0x04, 0x2f, 0xe2, 0xf0, 0x01, 0x40, 0x40, 0x00, 0x13, 0xa4, 0xc3, 0xc4, 0x16, 0xc7,
- 0x01, 0x00, 0x00, 0xfe, 0x16, 0xe6, 0x10, 0x9e, 0x01, 0x40, 0x40, 0x00, 0x16, 0x05, 0xe0, 0x20,
- 0xe0, 0x14, 0x02, 0x65, 0x58, 0x00, 0x10, 0x96, 0xd8, 0x20, 0x07, 0xde, 0x01, 0x17, 0x07, 0x8f,
- 0xff, 0x86, 0xc8, 0x0f, 0x01, 0x04, 0x01, 0xc0, 0x40, 0x00, 0x02, 0x45, 0xa7, 0xff, 0x10, 0x8a,
- 0xc3, 0x20, 0x06, 0xfe, 0x27, 0x20, 0xe3, 0x38, 0x13, 0x07, 0x23, 0x20, 0xe0, 0x22, 0x13, 0x1a,
- 0x02, 0x65, 0xdf, 0xff, 0x40, 0x20, 0xe0, 0x14, 0xe0, 0x20, 0xe0, 0x16, 0xc8, 0x0c, 0x08, 0xe6,
- 0x07, 0x8d, 0x08, 0xe2, 0x04, 0x58, 0x48, 0x20, 0xe0, 0x08, 0x06, 0xfe, 0xc3, 0x20, 0x08, 0xe6,
- 0x27, 0x20, 0xe3, 0x38, 0x16, 0x19, 0x03, 0x80, 0xc3, 0x02, 0xc2, 0x6c, 0x00, 0x0a, 0x06, 0x99,
- 0x04, 0x60, 0xc5, 0x6a, 0xc2, 0xa0, 0x07, 0xf4, 0x07, 0x8c, 0x00, 0x01, 0x07, 0x8d, 0x06, 0x06,
- 0x04, 0xce, 0xc3, 0xe0, 0x06, 0x08, 0x13, 0x01, 0x06, 0x97, 0xd8, 0x20, 0x06, 0x07, 0x01, 0x17,
- 0x07, 0x8b, 0xff, 0x82, 0xc8, 0x0b, 0x01, 0x04, 0x06, 0xa0, 0xcb, 0xe4, 0x04, 0x60, 0xc5, 0x6a,
- 0xc2, 0xa0, 0x07, 0xee, 0x07, 0x8c, 0x00, 0x06, 0x07, 0x8d, 0x08, 0xee, 0xc3, 0xa0, 0x07, 0xe6,
- 0xc3, 0xe0, 0x07, 0xe8, 0x06, 0x97, 0xc2, 0xa0, 0x07, 0xf4, 0x07, 0x8d, 0x08, 0xf4, 0x04, 0xdd,
- 0x07, 0x8c, 0x00, 0x02, 0x06, 0x97, 0x07, 0x8d, 0x80, 0x00, 0xc2, 0xa0, 0x08, 0xee, 0x88, 0x0a,
- 0x06, 0x0c, 0x1b, 0x14, 0x07, 0x82, 0xc7, 0x2e, 0xc3, 0xa0, 0x08, 0xf0, 0xc3, 0xe0, 0x08, 0xf2,
- 0x07, 0x8b, 0xe3, 0x0c, 0x02, 0x8a, 0x00, 0x14, 0x1a, 0x04, 0x07, 0x8b, 0xea, 0x7a, 0x02, 0x2a,
- 0xff, 0xec, 0xa2, 0x8a, 0xa2, 0xca, 0xc2, 0xdb, 0x13, 0x01, 0x06, 0x9b, 0xc8, 0x20, 0x08, 0xee,
- 0x08, 0xf2, 0xc8, 0x20, 0xe0, 0x20, 0x08, 0xee, 0xc8, 0x0d, 0x08, 0xf0, 0x07, 0x8d, 0x08, 0xec,
- 0xe0, 0x20, 0xe0, 0x18, 0x02, 0x65, 0x58, 0x00, 0x04, 0x58, 0x02, 0x45, 0xa7, 0xff, 0x03, 0x80,
- 0xc0, 0x60, 0x05, 0xee, 0x02, 0x21, 0x03, 0xe8, 0x01, 0x20, 0x01, 0x02, 0x00, 0x06, 0x16, 0x07,
- 0x88, 0x01, 0x05, 0xee, 0x16, 0xf9, 0x10, 0x39, 0xd0, 0x60, 0x01, 0x03, 0x13, 0xf1, 0x02, 0x01,
- 0x01, 0x0a, 0xcc, 0x4c, 0xcc, 0x4c, 0xcc, 0x4e, 0xcc, 0x4f, 0x07, 0xb1, 0x00, 0x40, 0xcc, 0x4d,
- 0xc8, 0x0a, 0x01, 0x00, 0x04, 0x5b, 0xc0, 0x60, 0x05, 0xee, 0x02, 0x21, 0x03, 0xe8, 0x01, 0x20,
- 0x01, 0x02, 0x00, 0x06, 0x16, 0x07, 0x88, 0x01, 0x05, 0xee, 0x16, 0xf9, 0x10, 0x1e, 0xd0, 0x60,
- 0x01, 0x03, 0x13, 0xf1, 0x02, 0x01, 0x01, 0x0a, 0xcc, 0x4c, 0xcc, 0x4c, 0xcc, 0x4e, 0xcc, 0x4f,
- 0x07, 0xb1, 0x00, 0x40, 0xcc, 0x4d, 0xc8, 0x0a, 0x01, 0x00, 0x03, 0xa0, 0xd0, 0x60, 0x01, 0x03,
- 0x13, 0x01, 0x04, 0x5b, 0xc0, 0x60, 0x05, 0xee, 0x02, 0x21, 0x03, 0xe8, 0x01, 0x20, 0x01, 0x02,
- 0x00, 0x06, 0x16, 0xf7, 0x88, 0x01, 0x05, 0xee, 0x16, 0xf9, 0x04, 0xcd, 0x07, 0x8a, 0x40, 0x00,
- 0xc3, 0x20, 0x01, 0x00, 0x01, 0x0c, 0x80, 0x00, 0x13, 0x02, 0x07, 0x8a, 0x20, 0x00, 0xc3, 0xa0,
- 0x01, 0x0e, 0xc3, 0xe0, 0x01, 0x10, 0x03, 0xb0, 0xc3, 0x20, 0x07, 0x58, 0x23, 0x20, 0xe0, 0x04,
- 0x13, 0x02, 0x04, 0x60, 0xc4, 0xec, 0x04, 0x60, 0xb3, 0x8a, 0x07, 0x8d, 0x20, 0x00, 0x20, 0x20,
- 0xe0, 0x0a, 0x16, 0x01, 0x04, 0x5b, 0x02, 0x0d, 0x0c, 0x32, 0xc2, 0x5d, 0x11, 0x01, 0x04, 0xdd,
- 0x05, 0xcd, 0x88, 0x0d, 0x0c, 0x30, 0x16, 0xf9, 0xc2, 0x60, 0x06, 0x0a, 0x07, 0x8d, 0x09, 0x6a,
- 0x06, 0xa0, 0xcc, 0x24, 0x02, 0x09, 0x00, 0x6e, 0xc3, 0xe0, 0x09, 0x30, 0x16, 0x03, 0x01, 0xe0,
- 0x09, 0x6a, 0x00, 0x10, 0xc2, 0xe0, 0x09, 0x6a, 0x02, 0x0f, 0x01, 0x00, 0x26, 0xc9, 0x13, 0x02,
- 0x04, 0x60, 0xca, 0xb6, 0x02, 0x09, 0x12, 0x00, 0x01, 0x4b, 0x00, 0x10, 0x13, 0x02, 0x02, 0x09,
- 0x13, 0x00, 0xd8, 0x09, 0x09, 0x2e, 0x07, 0x8f, 0x40, 0x00, 0x07, 0x89, 0x09, 0x6c, 0x04, 0xcb,
- 0xe2, 0xf9, 0xe2, 0xf9, 0xe2, 0xf9, 0x16, 0x07, 0x07, 0x8b, 0x09, 0x34, 0x07, 0x8c, 0x09, 0x6c,
- 0xcf, 0x3b, 0xcf, 0x3b, 0xc7, 0x1b, 0xc3, 0x20, 0x09, 0x6c, 0x11, 0x19, 0x07, 0x8f, 0x20, 0x00,
- 0x07, 0x89, 0x09, 0x7a, 0x06, 0xa0, 0xc8, 0x98, 0x06, 0xa0, 0xc8, 0x98, 0x10, 0x12, 0xce, 0x4c,
- 0x04, 0x5b, 0xc3, 0x19, 0x16, 0x02, 0x07, 0x8c, 0x00, 0x1a, 0xc3, 0x4c, 0x02, 0x2d, 0xff, 0xf8,
- 0x02, 0x0a, 0x00, 0x09, 0x02, 0x2d, 0xff, 0xfa, 0x13, 0xf2, 0x06, 0x0a, 0x16, 0xfb, 0x04, 0x60,
- 0xca, 0xb6, 0x07, 0x8f, 0x10, 0x00, 0xc2, 0xd9, 0x11, 0xfa, 0x16, 0x02, 0x07, 0x8b, 0x04, 0x00,
- 0xc3, 0x4b, 0x02, 0x8d, 0x00, 0x20, 0x14, 0x02, 0x02, 0x0d, 0x00, 0x20, 0x02, 0x8d, 0x04, 0x00,
- 0x12, 0x02, 0x02, 0x0d, 0x04, 0x00, 0x02, 0x2d, 0xff, 0xf8, 0xc8, 0x0d, 0x09, 0x2c, 0x02, 0x2b,
- 0x03, 0xff, 0x01, 0x8b, 0x03, 0xff, 0xce, 0x4b, 0x04, 0xcb, 0x04, 0xe0, 0x05, 0xf8, 0x04, 0xe0,
- 0x09, 0x66, 0xc8, 0x20, 0x0c, 0x30, 0x09, 0x80, 0x07, 0xa0, 0x09, 0x82, 0xdf, 0xfe, 0x07, 0x8d,
- 0xdf, 0xfe, 0xc3, 0xe0, 0x07, 0xd8, 0x23, 0xe0, 0xe0, 0x16, 0x16, 0x24, 0xc3, 0xe0, 0x0c, 0x30,
- 0x63, 0x4f, 0x04, 0xff, 0x04, 0xff, 0x06, 0x4d, 0x16, 0xfd, 0x07, 0x8d, 0xdf, 0xfe, 0x04, 0x20,
- 0xea, 0x62, 0xc3, 0xa0, 0xea, 0x62, 0xc3, 0xee, 0x00, 0x12, 0x16, 0xc1, 0xc3, 0x6e, 0x00, 0x18,
- 0x09, 0xad, 0x07, 0x8c, 0xe0, 0x00, 0x09, 0xac, 0x63, 0x0d, 0x13, 0x0c, 0xc3, 0x6e, 0x00, 0x18,
- 0x09, 0xad, 0x02, 0x2d, 0x00, 0x40, 0x0a, 0x1d, 0x02, 0x2d, 0x0c, 0x32, 0x07, 0xbd, 0x7f, 0xff,
- 0x06, 0x0c, 0x16, 0xfc, 0xc3, 0x20, 0x04, 0x46, 0x02, 0x8c, 0x00, 0x80, 0x1a, 0x13, 0x02, 0xac,
- 0xc8, 0x0c, 0x00, 0x9a, 0x02, 0xe0, 0x00, 0x80, 0x07, 0x88, 0x00, 0x80, 0xc2, 0x60, 0x04, 0x46,
- 0x06, 0xa0, 0xf4, 0xd2, 0x10, 0x02, 0x00, 0x9d, 0x10, 0x05, 0x00, 0x9d, 0x07, 0x8f, 0x08, 0x00,
- 0x04, 0x60, 0xca, 0xb6, 0x2d, 0x4b, 0xc3, 0x81, 0x05, 0xc9, 0x07, 0x8f, 0x10, 0x00, 0x02, 0x8e,
- 0x00, 0x02, 0x11, 0xf6, 0x07, 0x8f, 0x04, 0x00, 0x05, 0xc9, 0xc2, 0xd9, 0x26, 0xe0, 0xe0, 0x26,
- 0x16, 0x02, 0x02, 0x2b, 0x00, 0x06, 0xc6, 0x4b, 0xc3, 0x4b, 0x72, 0xcb, 0x02, 0x2e, 0xff, 0xfe,
- 0x83, 0x8b, 0x1b, 0xe6, 0x06, 0xcd, 0x73, 0x4d, 0x82, 0xcd, 0x1b, 0xe2, 0x04, 0xe0, 0x09, 0x1a,
- 0x04, 0xe0, 0x09, 0x1c, 0xc3, 0x4d, 0x13, 0x02, 0x66, 0x60, 0xe0, 0x12, 0x05, 0xc9, 0x04, 0xcf,
- 0x2d, 0x81, 0xc8, 0x01, 0x01, 0x6c, 0x13, 0xd4, 0xc8, 0x0f, 0xfc, 0x00, 0xc3, 0xc1, 0x06, 0x0d,
- 0x15, 0xf7, 0x02, 0x0d, 0x07, 0x36, 0x02, 0x0e, 0x08, 0x98, 0x02, 0x0c, 0x00, 0x03, 0xcb, 0x8d,
- 0x00, 0x02, 0x2d, 0x81, 0xcb, 0x81, 0x00, 0x06, 0x13, 0xc3, 0x04, 0xee, 0x00, 0x0c, 0x02, 0x2e,
- 0x00, 0x18, 0x06, 0x0c, 0x16, 0xf4, 0x04, 0xe0, 0x08, 0x96, 0x2e, 0x1f, 0xc3, 0xb9, 0xc3, 0xd9,
- 0x07, 0x89, 0x00, 0x12, 0x07, 0x8d, 0x09, 0x3a, 0x06, 0xa0, 0xcc, 0x24, 0xc3, 0x60, 0x07, 0xd8,
- 0x23, 0x60, 0xe0, 0x16, 0x16, 0x09, 0xe8, 0x20, 0xe0, 0x10, 0x09, 0x6a, 0xe8, 0x20, 0xe0, 0x18,
- 0x07, 0x98, 0xe8, 0x20, 0xe0, 0x12, 0x07, 0x78, 0xc3, 0x60, 0x09, 0x6a, 0x23, 0x60, 0xe0, 0x1e,
- 0x16, 0x03, 0x48, 0x20, 0xe3, 0xa4, 0x09, 0x6a, 0x23, 0x60, 0xe0, 0x22, 0x13, 0x06, 0x27, 0x60,
- 0xe3, 0xa6, 0x13, 0x03, 0xe8, 0x20, 0xe0, 0x10, 0x09, 0x6a, 0x2d, 0x20, 0x00, 0x00, 0x07, 0x8e,
- 0x00, 0x00, 0x06, 0xa0, 0xcc, 0x04, 0x05, 0x4e, 0x2c, 0x0e, 0xc0, 0xa0, 0x08, 0x04, 0xc3, 0xef,
- 0x00, 0x06, 0x16, 0x1b, 0xc3, 0xa0, 0x09, 0x72, 0xc3, 0xe0, 0x09, 0x74, 0x06, 0xa0, 0xca, 0xf2,
- 0xc3, 0xa0, 0x09, 0x76, 0xc3, 0xe0, 0x09, 0x78, 0x06, 0xa0, 0xcb, 0x10, 0xe0, 0x20, 0xe0, 0x0a,
- 0xc3, 0x60, 0x07, 0xd8, 0x23, 0x60, 0xe0, 0x16, 0x16, 0x05, 0x04, 0xe0, 0x06, 0x2e, 0x41, 0x60,
- 0xe0, 0x04, 0x2e, 0x4d, 0x07, 0x8d, 0x80, 0x00, 0x04, 0x52, 0x73, 0xcf, 0x02, 0x2f, 0x02, 0x00,
- 0xc3, 0x4f, 0x04, 0x52, 0x20, 0x20, 0xe0, 0x0a, 0x13, 0x03, 0x07, 0x8d, 0x10, 0x00, 0x04, 0x5b,
- 0x40, 0x20, 0xe0, 0x0a, 0x02, 0x40, 0xf0, 0xff, 0x07, 0x8e, 0x00, 0x02, 0x06, 0xa0, 0xcc, 0x04,
- 0x05, 0x4e, 0x2c, 0x0e, 0xc0, 0xa0, 0x08, 0x04, 0x06, 0xa0, 0xcb, 0xe4, 0xc3, 0x60, 0x07, 0xd8,
- 0x23, 0x60, 0xe0, 0x16, 0x16, 0x66, 0x04, 0x20, 0xea, 0x76, 0x10, 0x63, 0x02, 0x6e, 0x80, 0x00,
- 0x07, 0x8d, 0xc0, 0x00, 0xc8, 0x0d, 0x01, 0xa6, 0xc8, 0x0e, 0x09, 0x72, 0xc8, 0x0f, 0x09, 0x74,
- 0xc8, 0x0e, 0x01, 0xa8, 0xc8, 0x0f, 0x01, 0xaa, 0x10, 0x12, 0x01, 0x8f, 0x00, 0x01, 0x07, 0x8a,
- 0x09, 0x76, 0xe3, 0xa0, 0x09, 0x4e, 0xce, 0x8e, 0x01, 0x9a, 0xff, 0xfe, 0xe3, 0xe0, 0x09, 0x50,
- 0xe6, 0x8f, 0x07, 0x8a, 0x01, 0xac, 0xce, 0x8e, 0x01, 0x9a, 0xff, 0xfe, 0xe6, 0x8f, 0x20, 0x20,
- 0xe0, 0x0a, 0x13, 0x3f, 0x07, 0x8d, 0x10, 0x00, 0x04, 0x5b, 0x20, 0x20, 0xe0, 0x0a, 0x13, 0x03,
- 0x02, 0x0d, 0x10, 0x00, 0x04, 0x5b, 0xc3, 0x8e, 0x13, 0x04, 0x01, 0xe0, 0x09, 0x50, 0x01, 0x00,
- 0x10, 0x06, 0x01, 0xa0, 0x09, 0x50, 0x01, 0x00, 0x01, 0xa0, 0x09, 0x78, 0x01, 0x00, 0xc3, 0xa0,
- 0x09, 0x76, 0xc3, 0xe0, 0x09, 0x78, 0xe3, 0xa0, 0x09, 0x4e, 0xe3, 0xe0, 0x09, 0x50, 0xc8, 0x0e,
- 0x01, 0xac, 0xc8, 0x0f, 0x01, 0xae, 0xc8, 0x0e, 0x09, 0x76, 0xc8, 0x0f, 0x09, 0x78, 0x10, 0x19,
- 0x02, 0x6e, 0x80, 0x00, 0xc8, 0x0e, 0x01, 0xa6, 0x20, 0x20, 0xe0, 0x0a, 0x13, 0x12, 0x02, 0x0d,
- 0x10, 0x00, 0x04, 0x5b, 0x07, 0x8d, 0x07, 0x28, 0x07, 0x89, 0x00, 0x0e, 0x06, 0xa0, 0xcc, 0x2a,
- 0x07, 0x8d, 0x07, 0x28, 0x04, 0xfd, 0x02, 0x8d, 0x07, 0x36, 0x16, 0xfc, 0x48, 0x20, 0xe0, 0x14,
- 0x06, 0xfe, 0x07, 0x8d, 0x80, 0x00, 0x04, 0x52, 0xc2, 0xa0, 0x07, 0xee, 0x07, 0x8c, 0x00, 0x04,
- 0x07, 0x8d, 0x08, 0xf0, 0x06, 0x97, 0xc2, 0x7d, 0xc3, 0x5d, 0x43, 0x60, 0xe0, 0x22, 0x06, 0xa0,
- 0xcc, 0x2a, 0x10, 0xef, 0xc8, 0x0e, 0x06, 0x06, 0xc8, 0x0f, 0x06, 0x08, 0x10, 0xea, 0x03, 0xb0,
- 0x01, 0xa0, 0x07, 0x60, 0x00, 0x26, 0x02, 0x40, 0xc0, 0x00, 0x04, 0xe0, 0x06, 0x06, 0x07, 0x8c,
- 0x40, 0x10, 0x44, 0xcc, 0x04, 0xe0, 0x06, 0xfe, 0x07, 0x85, 0x80, 0x40, 0x04, 0x5b, 0xc8, 0x02,
- 0x08, 0x04, 0x07, 0x8f, 0x07, 0xfa, 0xcb, 0xce, 0x00, 0x02, 0x07, 0x8e, 0x07, 0x36, 0xcb, 0xce,
- 0x00, 0x04, 0x07, 0x8d, 0x06, 0x30, 0x07, 0x8e, 0x00, 0x10, 0x2c, 0x4d, 0x04, 0x5b, 0xc2, 0xa0,
- 0x07, 0xf2, 0x10, 0x02, 0xc2, 0xa0, 0x07, 0xf8, 0xc8, 0x0b, 0x08, 0xea, 0xc3, 0x09, 0x13, 0x0a,
- 0x06, 0xa0, 0xc7, 0x94, 0xc2, 0xa0, 0x01, 0x00, 0xe2, 0xa0, 0xe0, 0x06, 0xa3, 0x4c, 0xa3, 0xcc,
- 0x17, 0x01, 0x05, 0x8e, 0x62, 0x4c, 0xc2, 0xe0, 0x08, 0xea, 0x04, 0x5b, 0x07, 0x8d, 0x10, 0x00,
- 0x20, 0x20, 0xe0, 0x0a, 0x13, 0x01, 0x04, 0x5b, 0x02, 0x0d, 0x00, 0x6e, 0xc3, 0xe0, 0x09, 0x30,
- 0x16, 0x02, 0x01, 0xce, 0x00, 0x10, 0x27, 0x8d, 0x13, 0x03, 0x02, 0x0d, 0x01, 0x00, 0x04, 0x52,
- 0x03, 0x00, 0x00, 0x02, 0xc3, 0x60, 0x09, 0x6a, 0x02, 0x4d, 0x80, 0x08, 0x02, 0x4e, 0x7f, 0xf7,
- 0xe3, 0x8d, 0xc3, 0xe0, 0x07, 0xd8, 0x23, 0xe0, 0xe0, 0x16, 0x13, 0x04, 0x07, 0x8d, 0x00, 0x06,
- 0x27, 0x8d, 0x13, 0x02, 0xe3, 0xa0, 0xe0, 0x10, 0xc8, 0x0e, 0x09, 0x6a, 0x02, 0x0d, 0x12, 0x00,
- 0x01, 0x4e, 0x00, 0x10, 0x13, 0x02, 0x02, 0x0d, 0x13, 0x00, 0xd8, 0x0d, 0x09, 0x2e, 0xc3, 0x60,
- 0x01, 0x80, 0x02, 0x4e, 0x00, 0x01, 0x02, 0x4d, 0xff, 0xfe, 0xe3, 0x4e, 0xc8, 0x0d, 0x01, 0x80,
- 0xd8, 0x20, 0xe2, 0x40, 0x09, 0x2f, 0x01, 0x20, 0x09, 0x6a, 0x00, 0x06, 0x13, 0x03, 0xd8, 0x20,
- 0xe1, 0xd0, 0x09, 0x2f, 0x98, 0x20, 0x01, 0x83, 0xe2, 0x00, 0x13, 0x03, 0xd8, 0x20, 0x09, 0x2f,
- 0x01, 0x83, 0x03, 0x00, 0x00, 0x0f, 0x04, 0x60, 0xcb, 0xb8, 0x20, 0x20, 0xe0, 0x0a, 0x13, 0x03,
- 0x02, 0x0d, 0x10, 0x00, 0x04, 0x5b, 0x02, 0x09, 0x00, 0x08, 0x02, 0x0d, 0x09, 0x58, 0x06, 0xa0,
- 0xcc, 0x24, 0x07, 0xa0, 0x02, 0x02, 0x00, 0x00, 0x02, 0x0d, 0x04, 0x00, 0xc3, 0xe0, 0x09, 0x58,
- 0x01, 0x0f, 0x7c, 0x00, 0x13, 0x01, 0x04, 0x52, 0xc3, 0x8f, 0x02, 0x4e, 0x00, 0x0f, 0x13, 0xfb,
- 0x02, 0x8e, 0x00, 0x0f, 0x13, 0xf8, 0x02, 0x0d, 0x40, 0x00, 0xc2, 0x4f, 0x09, 0x49, 0x02, 0x49,
- 0x00, 0x3f, 0x01, 0x09, 0x00, 0x01, 0x16, 0xef, 0x02, 0x89, 0x00, 0x06, 0x1a, 0xec, 0x02, 0x89,
- 0x00, 0x20, 0x14, 0xe9, 0x06, 0xc9, 0x09, 0x1f, 0x02, 0x4f, 0x40, 0x00, 0xe2, 0x4f, 0x02, 0x69,
- 0x80, 0x00, 0xc8, 0x09, 0x09, 0x58, 0x02, 0x0f, 0xff, 0xff, 0xc2, 0x4e, 0x09, 0x1f, 0x06, 0x09,
- 0x16, 0xfd, 0x05, 0x4f, 0x02, 0x0d, 0x20, 0x00, 0xc2, 0x60, 0x09, 0x5a, 0x13, 0xd4, 0x26, 0x4f,
- 0x16, 0xd2, 0x02, 0x0d, 0x10, 0x00, 0xc2, 0x60, 0x09, 0x5c, 0x13, 0xcd, 0x26, 0x4f, 0x16, 0xcb,
- 0x02, 0x0d, 0x30, 0x00, 0x88, 0x20, 0x09, 0x5a, 0x09, 0x5c, 0x13, 0xc5, 0xc3, 0xe0, 0x09, 0x5a,
- 0xc2, 0x4e, 0x0a, 0x1f, 0x06, 0x09, 0x16, 0xfd, 0xe3, 0xe0, 0x09, 0x5e, 0xc8, 0x0f, 0x09, 0x5a,
- 0xc3, 0xe0, 0x09, 0x5c, 0xc2, 0x4e, 0x0a, 0x1f, 0x06, 0x09, 0x16, 0xfd, 0xe3, 0xe0, 0x09, 0x5e,
- 0xc8, 0x0f, 0x09, 0x5c, 0x02, 0x0f, 0xff, 0xff, 0xc2, 0x4e, 0x0a, 0x1f, 0x06, 0x09, 0x16, 0xfd,
- 0x02, 0x0d, 0x08, 0x00, 0xc2, 0x60, 0x09, 0x5e, 0x26, 0x4f, 0x16, 0xa5, 0x05, 0x4f, 0xc8, 0x0f,
- 0x09, 0x5e, 0x02, 0x0f, 0x02, 0x02, 0x02, 0x0e, 0x00, 0x03, 0xc3, 0x60, 0x01, 0x40, 0x02, 0x0c,
- 0xce, 0x26, 0x01, 0xa0, 0x01, 0x40, 0x04, 0x00, 0x05, 0xcf, 0x02, 0x09, 0x55, 0x55, 0x06, 0x9c,
- 0x05, 0x49, 0x06, 0x9c, 0x07, 0x09, 0x06, 0x9c, 0x05, 0x49, 0x06, 0x9c, 0x06, 0x0e, 0x16, 0xf4,
- 0x01, 0xa0, 0x01, 0x40, 0x40, 0x00, 0xc8, 0x0d, 0x01, 0x40, 0x02, 0x09, 0x00, 0x08, 0x02, 0x0e,
- 0x09, 0x58, 0x02, 0x0f, 0x02, 0x02, 0xcf, 0xfe, 0x06, 0x49, 0x16, 0xfd, 0x04, 0x60, 0xcb, 0xb8,
- 0xc7, 0xc9, 0x82, 0x5f, 0x16, 0x01, 0x04, 0x5b, 0x01, 0xa0, 0x01, 0x40, 0x40, 0x00, 0xc8, 0x0d,
- 0x01, 0x40, 0x02, 0x0d, 0x01, 0x00, 0x04, 0x52, 0x00, 0x00, 0xd8, 0xee, 0x00, 0x92, 0xc2, 0xad,
- 0x00, 0x02, 0xc2, 0x6d, 0x00, 0x00, 0x16, 0x05, 0x07, 0xaa, 0x00, 0x02, 0x07, 0x36, 0x2c, 0x9a,
- 0x03, 0x80, 0x2c, 0xea, 0x00, 0x02, 0xcb, 0x41, 0x00, 0x00, 0x03, 0x80, 0xc3, 0x2d, 0x00, 0x18,
- 0x07, 0xac, 0x00, 0x02, 0x07, 0x36, 0x4b, 0x20, 0xea, 0xa6, 0x00, 0x0a, 0xeb, 0x20, 0xea, 0xa0,
- 0x00, 0x0a, 0x2e, 0x9c, 0x03, 0x80, 0xc2, 0xa0, 0xe0, 0x22, 0x04, 0x60, 0xb3, 0x8a, 0xc0, 0xed,
- 0x00, 0x18, 0x06, 0xa0, 0xd9, 0x5e, 0x03, 0x80, 0xc2, 0x44, 0xc0, 0xc3, 0x13, 0x02, 0x06, 0xa0,
- 0xd9, 0x5e, 0xc3, 0x19, 0xcb, 0x09, 0x00, 0x18, 0x05, 0xc9, 0xcb, 0x19, 0x00, 0x16, 0xc2, 0x4c,
- 0x02, 0x2c, 0x00, 0x1a, 0xcf, 0x0d, 0xcf, 0x0e, 0xc7, 0x0f, 0x00, 0x99, 0x04, 0x5b, 0x07, 0x8c,
- 0x09, 0x0a, 0xc2, 0x9c, 0x22, 0xa0, 0xe0, 0x14, 0x13, 0x06, 0xc2, 0xa0, 0x07, 0x58, 0x22, 0xa0,
- 0xe0, 0x20, 0x16, 0x01, 0x03, 0x80, 0xc1, 0x03, 0x04, 0xc3, 0x07, 0x8a, 0x00, 0x04, 0xa2, 0x84,
- 0x00, 0x00, 0xd9, 0x80, 0x00, 0x0b, 0xcf, 0x3a, 0x00, 0x00, 0xd9, 0x8a, 0x00, 0xb2, 0x02, 0xe0,
- 0x07, 0x58, 0x07, 0x8d, 0x09, 0x0a, 0xc8, 0x0b, 0x07, 0xc2, 0x06, 0xa0, 0xc5, 0xa2, 0xc2, 0xe0,
- 0x07, 0xc2, 0xe0, 0x20, 0xe0, 0x20, 0x02, 0xe0, 0x07, 0xb8, 0x04, 0x5b, 0xc3, 0x2d, 0x00, 0x18,
- 0xc2, 0x8c, 0xc2, 0x60, 0x01, 0x6c, 0xc8, 0x0a, 0x01, 0x6c, 0xc2, 0xe0, 0xfc, 0x00, 0x13, 0x02,
- 0xc2, 0x8b, 0x10, 0xf9, 0xc8, 0x09, 0x01, 0x6c, 0x07, 0x8b, 0x05, 0xf8, 0xc2, 0x5b, 0x13, 0x0c,
- 0x05, 0xcb, 0xc2, 0x5b, 0xc6, 0xca, 0xc2, 0xe0, 0x01, 0x6c, 0xc8, 0x09, 0x01, 0x6c, 0xc8, 0x0c,
- 0xfc, 0x00, 0xc8, 0x0b, 0x01, 0x6c, 0x10, 0x02, 0xce, 0xcc, 0xc6, 0xca, 0xc2, 0xa0, 0x00, 0xe0,
- 0x22, 0xa0, 0xe0, 0x1a, 0x16, 0x06, 0xe8, 0x20, 0xe0, 0x04, 0x07, 0x3a, 0x48, 0x20, 0xe0, 0x1a,
- 0x00, 0xe0, 0x03, 0x80, 0xd3, 0xe0, 0xe3, 0xab, 0xc1, 0xe0, 0x06, 0xa8, 0x16, 0x05, 0x02, 0x07,
- 0x06, 0xa2, 0x06, 0xa0, 0xc2, 0x96, 0x16, 0x0b, 0xc1, 0xe0, 0x06, 0xba, 0x16, 0x20, 0x02, 0x07,
- 0x06, 0xb4, 0x06, 0xa0, 0xc2, 0x96, 0x13, 0x1b, 0x02, 0x07, 0x06, 0xb8, 0x10, 0x02, 0x02, 0x07,
- 0x06, 0xa6, 0xc1, 0x60, 0xfc, 0x02, 0xc8, 0x25, 0x00, 0x0c, 0xfc, 0x02, 0xc9, 0xc5, 0x00, 0x0c,
- 0x00, 0x00, 0xda, 0x3c, 0x00, 0x0b, 0xcd, 0xf5, 0x00, 0x00, 0xda, 0x46, 0x19, 0x3a, 0xc5, 0xf5,
- 0x01, 0xb7, 0x00, 0x28, 0x02, 0x27, 0xff, 0xf4, 0x07, 0xa7, 0x00, 0x04, 0xdb, 0x48, 0x2e, 0x97,
- 0x10, 0xd5, 0x03, 0x00, 0x00, 0x02, 0x06, 0xa0, 0xc2, 0xae, 0x03, 0x00, 0x00, 0x0f, 0x2c, 0x20,
- 0xed, 0x48, 0x93, 0xe0, 0xe3, 0xab, 0x16, 0x03, 0x02, 0x81, 0x00, 0x16, 0x16, 0xc7, 0xc1, 0x21,
- 0xea, 0xb0, 0x04, 0x54, 0x93, 0xe0, 0xe0, 0x10, 0x16, 0x03, 0xd2, 0xa0, 0xe3, 0xa8, 0x10, 0x0b,
- 0xd3, 0xcf, 0x16, 0x09, 0x23, 0xa0, 0xe0, 0x08, 0x16, 0x06, 0x07, 0x84, 0x00, 0x20, 0xe8, 0x04,
- 0x06, 0xd2, 0xd2, 0xa0, 0xe0, 0x0c, 0x04, 0x60, 0xdb, 0xc0, 0x04, 0x60, 0xde, 0x34, 0x10, 0x7b,
- 0xc1, 0x22, 0x00, 0x04, 0x04, 0xe2, 0x00, 0x02, 0x04, 0x54, 0xc8, 0x02, 0x01, 0x6c, 0xa0, 0x82,
- 0xc8, 0x22, 0x0c, 0x32, 0xfc, 0x00, 0x02, 0x02, 0xfc, 0x00, 0x93, 0xe0, 0xe3, 0xaa, 0x13, 0x70,
- 0x06, 0xa0, 0xdc, 0xc6, 0x48, 0xa0, 0xe0, 0x04, 0x00, 0x0e, 0x02, 0x85, 0x00, 0x07, 0x13, 0x0e,
- 0x01, 0x0e, 0x00, 0x03, 0x13, 0x0b, 0x23, 0xa0, 0xe0, 0x22, 0x16, 0x03, 0xd2, 0xa0, 0xe0, 0x0e,
- 0x10, 0x02, 0xd2, 0xa0, 0xe3, 0xa8, 0x01, 0x8e, 0x00, 0x03, 0x10, 0x5a, 0xc8, 0x05, 0x06, 0xfc,
- 0xc0, 0xc3, 0x16, 0x53, 0x43, 0xa0, 0xe0, 0x10, 0x88, 0x22, 0x00, 0x0e, 0x09, 0x6c, 0x16, 0x0a,
- 0x88, 0x22, 0x00, 0x10, 0x09, 0x6e, 0x16, 0x06, 0x88, 0x22, 0x00, 0x12, 0x09, 0x70, 0x16, 0x02,
- 0xe3, 0xa0, 0xe0, 0x10, 0x02, 0x85, 0x00, 0x09, 0x13, 0x02, 0x06, 0xa0, 0xe2, 0xe4, 0xa1, 0x45,
- 0xc1, 0x65, 0xe3, 0xac, 0x04, 0x55, 0xc0, 0x62, 0x00, 0x04, 0xc8, 0x22, 0x00, 0x06, 0x01, 0x6c,
- 0x02, 0x82, 0x04, 0x48, 0x1b, 0x02, 0x43, 0xa0, 0xe0, 0x0c, 0xc1, 0x22, 0x00, 0x0e, 0x04, 0x51,
- 0xc0, 0x42, 0x04, 0xe1, 0x00, 0x02, 0xc0, 0xa2, 0x00, 0x0c, 0xc1, 0x22, 0x00, 0x0a, 0x21, 0x20,
- 0xe0, 0x18, 0x13, 0x07, 0xc8, 0xa1, 0x00, 0x0a, 0x00, 0x0a, 0xc8, 0xa1, 0x00, 0x08, 0x00, 0x08,
- 0x10, 0xe2, 0xc8, 0x22, 0x00, 0x06, 0x01, 0x6c, 0x06, 0xa0, 0xe1, 0xa2, 0x04, 0x60, 0xdb, 0x9e,
- 0xc8, 0x02, 0x06, 0xd4, 0xc1, 0x62, 0x00, 0x02, 0xc1, 0x65, 0xe3, 0xce, 0x04, 0x55, 0x10, 0x0b,
- 0x07, 0x85, 0x03, 0xf4, 0x04, 0xf5, 0xcd, 0x60, 0xed, 0x26, 0x06, 0xa0, 0xe3, 0xce, 0xe3, 0xa0,
- 0xe0, 0x0c, 0x2e, 0xa0, 0x03, 0xf4, 0x04, 0x60, 0xda, 0x04, 0x06, 0xa0, 0xe0, 0x6e, 0x10, 0x0c,
- 0x06, 0xa0, 0xe1, 0xa2, 0x10, 0x09, 0x06, 0xa0, 0xe3, 0x56, 0x10, 0x06, 0x06, 0xa0, 0xe1, 0xa2,
- 0xc8, 0x03, 0x09, 0x2a, 0xd2, 0xa0, 0xe3, 0xaa, 0x06, 0xa0, 0xdc, 0x32, 0x92, 0xa0, 0xe0, 0x26,
- 0x16, 0x0c, 0xd3, 0xe0, 0xe0, 0x26, 0x23, 0xe0, 0xe0, 0x14, 0x13, 0x0a, 0xc1, 0x0a, 0x83, 0xc4,
- 0x13, 0x07, 0xc3, 0xc4, 0xc1, 0x24, 0xe3, 0xd2, 0x04, 0x54, 0x93, 0xca, 0x13, 0xdc, 0xd3, 0xca,
- 0x03, 0xb0, 0xd8, 0x0f, 0x06, 0x59, 0x71, 0x04, 0xc1, 0x24, 0xe3, 0xde, 0x04, 0x54, 0x23, 0xa0,
- 0xe0, 0x0c, 0x13, 0xd1, 0xc3, 0x4d, 0x13, 0xcf, 0x07, 0x86, 0x00, 0x02, 0x07, 0x84, 0x00, 0x26,
- 0x23, 0x46, 0x13, 0x03, 0x06, 0x44, 0xa1, 0x86, 0x10, 0xfb, 0x43, 0x46, 0x10, 0xb9, 0x07, 0x85,
- 0x07, 0x1c, 0x07, 0x86, 0x04, 0x1a, 0x6d, 0x76, 0x6d, 0x76, 0x6d, 0x76, 0x05, 0xc6, 0x6d, 0x76,
- 0x6d, 0x76, 0x6d, 0x76, 0x07, 0x83, 0x90, 0x00, 0x10, 0xbe, 0xc3, 0x0b, 0x07, 0x86, 0x01, 0x00,
- 0x07, 0x85, 0x80, 0x00, 0xc1, 0x20, 0x06, 0xd2, 0x13, 0x37, 0x04, 0xc4, 0xc0, 0x60, 0x06, 0xd2,
- 0x20, 0x45, 0x13, 0x04, 0x05, 0x84, 0x09, 0x15, 0x16, 0xf9, 0x10, 0x2e, 0xd3, 0xcf, 0x16, 0x06,
- 0x23, 0xe0, 0xe0, 0x14, 0x16, 0x03, 0x01, 0x0e, 0x00, 0x03, 0x13, 0x03, 0x04, 0xe0, 0x06, 0xd2,
- 0x10, 0x23, 0xd0, 0x64, 0x07, 0x1c, 0xb0, 0x46, 0x18, 0x10, 0xd9, 0x01, 0x07, 0x1c, 0x23, 0x60,
- 0xe0, 0x20, 0x13, 0x0b, 0x07, 0x81, 0x00, 0x18, 0xc0, 0x61, 0xe3, 0xee, 0x88, 0x11, 0xed, 0x26,
- 0x13, 0x04, 0x02, 0x08, 0x80, 0x18, 0x06, 0xa0, 0xe0, 0x22, 0xd0, 0x64, 0x07, 0x28, 0xb0, 0x46,
- 0x18, 0x08, 0xd9, 0x01, 0x07, 0x28, 0xb0, 0x46, 0x17, 0x04, 0x07, 0x83, 0x80, 0x40, 0x06, 0xa0,
- 0xe3, 0x56, 0x48, 0x05, 0x06, 0xd2, 0x16, 0xca, 0xc1, 0x20, 0x09, 0x32, 0x16, 0x01, 0x04, 0x5c,
- 0x02, 0x04, 0x00, 0x07, 0x06, 0x20, 0x09, 0x32, 0x02, 0x05, 0x01, 0x00, 0x10, 0xc7, 0xc3, 0x0b,
- 0x04, 0xc5, 0xc0, 0x42, 0x04, 0xc7, 0xc2, 0x20, 0x01, 0x6c, 0xa1, 0xe1, 0x00, 0x04, 0xc8, 0x11,
- 0x01, 0x6c, 0x16, 0xfb, 0xc8, 0x08, 0x01, 0x6c, 0x04, 0xc8, 0x43, 0xa0, 0xe0, 0x1a, 0xc1, 0x22,
- 0x00, 0x0e, 0x15, 0x0d, 0x13, 0x0c, 0xe3, 0xa0, 0xe0, 0x1a, 0x06, 0xa0, 0xe3, 0x40, 0xc2, 0x08,
- 0x13, 0x48, 0x02, 0x88, 0x00, 0x12, 0x1b, 0x45, 0x22, 0x20, 0xe0, 0x22, 0x13, 0x42, 0xc1, 0x02,
- 0xa1, 0x08, 0x05, 0x08, 0x02, 0x28, 0xff, 0xf2, 0xa2, 0x07, 0x07, 0x83, 0x80, 0x01, 0x02, 0x88,
- 0x00, 0x04, 0x11, 0x6e, 0xc2, 0x64, 0x00, 0x16, 0xd2, 0x49, 0x16, 0x02, 0x81, 0x02, 0x16, 0x31,
- 0x01, 0x09, 0xf0, 0x00, 0x16, 0x28, 0xc1, 0x49, 0x71, 0x45, 0x04, 0xc3, 0x02, 0x85, 0x00, 0x09,
- 0x13, 0x7c, 0x07, 0x83, 0x80, 0x02, 0xc1, 0xa4, 0x00, 0x14, 0x81, 0x88, 0x16, 0x76, 0x05, 0x83,
- 0x02, 0x85, 0x00, 0x10, 0x1b, 0x13, 0x05, 0x83, 0x99, 0x49, 0xea, 0xd0, 0x13, 0x0a, 0x98, 0x09,
- 0xe0, 0x0e, 0x16, 0x6b, 0x98, 0x25, 0xea, 0xd0, 0xe0, 0x0c, 0x16, 0x67, 0xc1, 0xe0, 0x06, 0xec,
- 0x16, 0x64, 0x04, 0xc3, 0xc2, 0x52, 0x13, 0x0f, 0x07, 0x83, 0x80, 0x09, 0xc1, 0xe0, 0x09, 0x6a,
- 0x01, 0x47, 0x10, 0x00, 0x16, 0x5a, 0xc0, 0xa0, 0x01, 0x6c, 0x06, 0xa0, 0xe1, 0xfa, 0x04, 0x60,
- 0xdb, 0x9e, 0x04, 0x60, 0xdb, 0xa8, 0x07, 0x89, 0x07, 0x0e, 0x04, 0xc7, 0xd1, 0xe5, 0xea, 0xe1,
- 0x13, 0x05, 0x06, 0xc7, 0x02, 0x27, 0xea, 0xf2, 0xce, 0x77, 0x15, 0xfe, 0xc0, 0x44, 0x02, 0x21,
- 0x00, 0x18, 0x02, 0x28, 0xff, 0xfc, 0x13, 0x36, 0xc1, 0x91, 0xd1, 0x86, 0x13, 0x1f, 0x06, 0xc6,
- 0x07, 0x87, 0x07, 0x0e, 0xc0, 0xf7, 0x02, 0x46, 0xbf, 0xff, 0x02, 0x43, 0x3f, 0xff, 0x91, 0xa0,
- 0xed, 0x4d, 0x16, 0x09, 0x03, 0xb0, 0x98, 0x20, 0xe0, 0x0e, 0x06, 0x5d, 0x16, 0x0f, 0xc8, 0x21,
- 0x00, 0x02, 0x07, 0x0c, 0x10, 0x17, 0x82, 0x47, 0x1b, 0x0c, 0x90, 0xc6, 0x16, 0xeb, 0x06, 0x47,
- 0x04, 0xf7, 0x03, 0xb0, 0x98, 0x20, 0x06, 0x5d, 0x06, 0x57, 0x13, 0x0c, 0x07, 0x83, 0x80, 0x05,
- 0x10, 0x1c, 0xc0, 0xd1, 0x20, 0xe0, 0xe0, 0x16, 0x16, 0x03, 0x07, 0x83, 0x80, 0x08, 0x10, 0x15,
- 0x44, 0x60, 0xe0, 0x26, 0x71, 0x86, 0xa0, 0x46, 0x62, 0x06, 0x07, 0x83, 0x80, 0x05, 0xc2, 0x08,
- 0x15, 0xcb, 0x16, 0x0b, 0x04, 0xc3, 0x07, 0x87, 0x07, 0x0e, 0xc0, 0x77, 0x82, 0x47, 0x1b, 0x05,
- 0x20, 0x60, 0xe0, 0x06, 0x16, 0xfa, 0x07, 0x83, 0x80, 0x07, 0x04, 0x5c, 0x92, 0xa0, 0xe0, 0x0e,
- 0x16, 0x11, 0xc8, 0x20, 0xe0, 0x20, 0x07, 0x08, 0x04, 0xe0, 0x01, 0x84, 0x05, 0x60, 0x07, 0x02,
- 0x13, 0x3f, 0x48, 0x20, 0xe0, 0x06, 0x01, 0x82, 0x06, 0xa0, 0xe0, 0x18, 0x07, 0x83, 0xc0, 0x00,
- 0x06, 0xa0, 0xe3, 0x56, 0xc8, 0x20, 0xe0, 0x1e, 0x07, 0x02, 0xe3, 0xa0, 0xe0, 0x04, 0x02, 0x08,
- 0x80, 0x24, 0x06, 0xa0, 0xe0, 0x22, 0x10, 0x36, 0xc1, 0x20, 0x01, 0x84, 0x02, 0x44, 0x88, 0x00,
- 0x13, 0x1e, 0x48, 0x04, 0x01, 0x84, 0x06, 0x20, 0x07, 0x02, 0x16, 0xf1, 0x23, 0xa0, 0xe0, 0x22,
- 0x16, 0x05, 0x43, 0xa0, 0xe0, 0x22, 0xd2, 0xa0, 0xe0, 0x0e, 0x10, 0xd3, 0x23, 0xe0, 0xe0, 0x14,
- 0x13, 0x04, 0x98, 0x20, 0xe3, 0xa9, 0x06, 0x65, 0x16, 0x06, 0x92, 0xa0, 0xe0, 0x0e, 0x13, 0xc9,
- 0xd2, 0xa0, 0xe3, 0xa8, 0x10, 0xd7, 0x07, 0x83, 0x00, 0x02, 0x04, 0x60, 0xdb, 0xb8, 0xe8, 0x20,
- 0xe0, 0x06, 0x01, 0x82, 0x06, 0xa0, 0xe0, 0x18, 0x07, 0x20, 0x07, 0x02, 0x43, 0xa0, 0xe0, 0x04,
- 0xc8, 0x20, 0xe4, 0x6e, 0x01, 0x86, 0x88, 0x20, 0xe0, 0x20, 0x07, 0x08, 0x16, 0x03, 0xc8, 0x20,
- 0xeb, 0x0a, 0x07, 0x08, 0x04, 0x60, 0xdb, 0xc0, 0x01, 0x0e, 0x00, 0x03, 0x13, 0x16, 0xd3, 0xcf,
- 0x16, 0x08, 0x23, 0xa0, 0xe0, 0x20, 0x16, 0x03, 0xd2, 0xa0, 0xe3, 0xa8, 0x10, 0x02, 0xd2, 0xa0,
- 0xe0, 0x0e, 0x01, 0x8e, 0x00, 0x03, 0x10, 0x09, 0xc1, 0x60, 0x01, 0x84, 0x21, 0x60, 0xe0, 0x0a,
- 0x16, 0x04, 0x07, 0x83, 0x84, 0x00, 0x04, 0x60, 0xdb, 0xb8, 0xc8, 0x20, 0xe0, 0x2e, 0x01, 0x84,
- 0x02, 0x08, 0x80, 0x06, 0x06, 0xa0, 0xe0, 0x22, 0x04, 0x60, 0xdb, 0xc0, 0xe3, 0x60, 0xe0, 0x20,
- 0x04, 0x60, 0xdb, 0xc0, 0x93, 0xe0, 0xe0, 0x26, 0x16, 0x10, 0x23, 0xa0, 0xe0, 0x08, 0x16, 0x0d,
- 0x23, 0xa0, 0xe0, 0x06, 0x13, 0x02, 0xe3, 0x60, 0xe0, 0x1c, 0xe3, 0x60, 0xe0, 0x18, 0x43, 0xa0,
- 0xe0, 0x06, 0x02, 0x08, 0x80, 0x3c, 0x06, 0xa0, 0xe0, 0x22, 0x04, 0x60, 0xdb, 0xc0, 0x92, 0xa0,
- 0xe3, 0xa8, 0x13, 0x03, 0x92, 0xa0, 0xe3, 0xa9, 0x16, 0x1e, 0x23, 0xe0, 0xe0, 0x14, 0x13, 0x08,
- 0x98, 0x20, 0xe3, 0xa9, 0x06, 0x65, 0x13, 0x04, 0x07, 0x83, 0x00, 0x07, 0x04, 0x60, 0xdb, 0xb8,
- 0xd2, 0xa0, 0xe0, 0x0e, 0xc8, 0x20, 0xe0, 0x20, 0x07, 0x08, 0x27, 0xa0, 0xe0, 0x04, 0x16, 0x0b,
- 0xc8, 0x20, 0xe0, 0x1e, 0x07, 0x08, 0x93, 0xe0, 0xe3, 0xa8, 0x16, 0x05, 0x23, 0xa0, 0xe0, 0x12,
- 0x13, 0x02, 0x06, 0x20, 0x07, 0x08, 0x04, 0x60, 0xdb, 0xc0, 0x23, 0xe0, 0xe0, 0x14, 0x13, 0x36,
- 0x03, 0xb0, 0x98, 0x20, 0xe0, 0x0e, 0x06, 0x6f, 0x16, 0x0f, 0xd3, 0xcf, 0x16, 0x2f, 0xd2, 0xa0,
- 0xe3, 0xa8, 0x04, 0x60, 0xdb, 0xc0, 0x92, 0xa0, 0xe0, 0x0c, 0x16, 0x28, 0x23, 0xe0, 0xe0, 0x14,
- 0x13, 0xf6, 0x07, 0x83, 0x00, 0x06, 0x10, 0x07, 0x07, 0x83, 0x00, 0x05, 0x93, 0xe0, 0xe0, 0x0e,
- 0x16, 0x02, 0x07, 0x83, 0x00, 0x07, 0x04, 0x60, 0xdb, 0xb8, 0xe3, 0x60, 0xe0, 0x12, 0x23, 0xe0,
- 0xe0, 0x14, 0x13, 0x0d, 0x98, 0x20, 0xe0, 0x0c, 0x06, 0x65, 0x16, 0x03, 0xd8, 0x20, 0xe3, 0xa9,
- 0x06, 0x65, 0x10, 0x0c, 0xc1, 0x20, 0x01, 0x84, 0x21, 0x20, 0xe0, 0x06, 0x16, 0xd6, 0x48, 0x20,
- 0xe0, 0x06, 0x01, 0x84, 0x02, 0x08, 0x80, 0x30, 0x06, 0xa0, 0xe0, 0x22, 0x04, 0x60, 0xdb, 0xc0,
- 0x02, 0x04, 0x00, 0x64, 0x06, 0x04, 0x16, 0xfe, 0x04, 0x5b, 0xe3, 0xa0, 0xe0, 0x0a, 0xc2, 0x08,
- 0x11, 0x02, 0x43, 0xa0, 0xe0, 0x0a, 0x42, 0x20, 0xe0, 0x04, 0x02, 0x28, 0xe3, 0xee, 0xc0, 0x58,
- 0xc0, 0x02, 0x88, 0x11, 0xed, 0x26, 0x16, 0x03, 0x2c, 0xd1, 0xc0, 0x58, 0x04, 0xd1, 0xc0, 0x80,
- 0x01, 0x0e, 0x10, 0x00, 0x13, 0x0f, 0xcc, 0x60, 0xed, 0x26, 0x05, 0xc8, 0xcc, 0x78, 0x16, 0x03,
- 0x06, 0x41, 0xcc, 0x60, 0x06, 0xd6, 0xc4, 0x58, 0x16, 0x02, 0xc4, 0x60, 0x07, 0x00, 0x02, 0x21,
- 0xff, 0xfa, 0x2c, 0x91, 0x04, 0x5b, 0xc3, 0x0b, 0x06, 0xa0, 0xe1, 0x0a, 0x06, 0xa0, 0xe0, 0xe4,
- 0xc2, 0x08, 0x16, 0x05, 0xc2, 0x62, 0x00, 0x02, 0x26, 0x60, 0xe4, 0x68, 0x16, 0x0d, 0xc2, 0x42,
- 0x05, 0xc9, 0xce, 0x60, 0xed, 0x4a, 0xc6, 0x60, 0xeb, 0x0c, 0x06, 0xa0, 0xe1, 0x4c, 0xca, 0x18,
- 0x00, 0x0a, 0x46, 0x20, 0xe0, 0x26, 0x16, 0x04, 0xc0, 0xa0, 0x01, 0x6c, 0x2e, 0x12, 0x10, 0x1d,
- 0xc1, 0x12, 0x13, 0x05, 0xc1, 0x60, 0x01, 0x6c, 0x2e, 0x14, 0xc8, 0x05, 0x01, 0x6c, 0x04, 0xd2,
- 0x06, 0x48, 0x07, 0x84, 0x00, 0x02, 0xc1, 0x48, 0xc0, 0xa0, 0x01, 0x6c, 0xc0, 0x02, 0x06, 0xa0,
- 0xe3, 0xce, 0xc5, 0x60, 0xfc, 0x02, 0x02, 0x07, 0x06, 0xa2, 0x02, 0x25, 0xff, 0xf4, 0xc8, 0x05,
- 0xfc, 0x02, 0xc2, 0x20, 0x01, 0x6c, 0x06, 0xa0, 0xc2, 0x5a, 0x04, 0x5c, 0xc2, 0x42, 0x02, 0x29,
- 0x00, 0x08, 0xc2, 0x39, 0x02, 0x48, 0xc0, 0x00, 0x02, 0x88, 0xc0, 0x00, 0x16, 0x08, 0x8e, 0x60,
- 0xe0, 0x2e, 0x16, 0x05, 0x86, 0x60, 0xe0, 0x2e, 0x16, 0x02, 0x04, 0xc8, 0x04, 0x5b, 0x07, 0x08,
- 0x04, 0x5b, 0x88, 0x20, 0xe1, 0x8e, 0x01, 0x6c, 0x16, 0x02, 0x04, 0x60, 0xdb, 0xa8, 0x04, 0x5b,
- 0x07, 0x88, 0x01, 0xae, 0xe8, 0x20, 0xe0, 0x0e, 0x01, 0x80, 0x06, 0x08, 0x16, 0xfe, 0x48, 0x20,
- 0xe0, 0x0e, 0x01, 0x80, 0x04, 0x5b, 0x04, 0xc2, 0x23, 0xa0, 0xe0, 0x0c, 0x16, 0x0a, 0x2f, 0x20,
- 0x06, 0x30, 0x07, 0x82, 0xff, 0xdf, 0x2c, 0x02, 0x02, 0x82, 0x03, 0xf4, 0x16, 0xfa, 0x43, 0xa0,
- 0xe0, 0x0c, 0x04, 0x5b, 0xc2, 0x42, 0x07, 0x88, 0x00, 0x0e, 0xa2, 0x09, 0x02, 0x29, 0x00, 0x08,
- 0xce, 0x78, 0xce, 0x78, 0xce, 0x78, 0xce, 0x60, 0x09, 0x6c, 0xce, 0x60, 0x09, 0x6e, 0xce, 0x60,
- 0x09, 0x70, 0x23, 0xa0, 0xe0, 0x1a, 0x16, 0x0f, 0xc2, 0x58, 0x02, 0x49, 0x1f, 0x80, 0x2a, 0x60,
- 0xe0, 0x14, 0xe8, 0xa0, 0xe0, 0x04, 0x00, 0x0e, 0xc6, 0x09, 0x02, 0x49, 0x1f, 0x00, 0x06, 0xc9,
- 0xa2, 0x09, 0xa8, 0x89, 0x00, 0x04, 0x02, 0x28, 0x00, 0x02, 0xc2, 0x58, 0x0a, 0x49, 0x02, 0x49,
- 0xf0, 0x00, 0xd6, 0x09, 0x04, 0xe2, 0x00, 0x06, 0x04, 0x5b, 0x07, 0x00, 0xc0, 0x82, 0x13, 0x53,
- 0xc0, 0xa0, 0x01, 0x6c, 0xc1, 0xa0, 0xfc, 0x06, 0x02, 0x46, 0x00, 0x0f, 0x02, 0x86, 0x00, 0x01,
- 0x12, 0x3d, 0x88, 0x06, 0x06, 0xf2, 0x16, 0x12, 0x02, 0x01, 0xfc, 0x0e, 0x88, 0x31, 0x06, 0xf4,
- 0x16, 0x0d, 0x88, 0x31, 0x06, 0xf6, 0x16, 0x0a, 0x88, 0x31, 0x06, 0xf8, 0x16, 0x07, 0x02, 0x86,
- 0x00, 0x02, 0x16, 0x2c, 0x88, 0x20, 0x07, 0x0a, 0x06, 0xfa, 0x13, 0x28, 0xc1, 0x20, 0x09, 0x6a,
- 0x01, 0x44, 0x08, 0x00, 0x13, 0x06, 0x02, 0x86, 0x00, 0x02, 0x16, 0x20, 0x01, 0x44, 0x00, 0x80,
- 0x16, 0x1d, 0x07, 0x00, 0x23, 0xe0, 0xe0, 0x14, 0x16, 0x19, 0x02, 0x82, 0x00, 0x43, 0x13, 0x16,
- 0x02, 0x00, 0xfc, 0x02, 0xc0, 0x40, 0x01, 0xb0, 0x00, 0x20, 0x01, 0x60, 0x09, 0x6a, 0x00, 0x01,
- 0x16, 0x07, 0xa0, 0x60, 0x09, 0x2c, 0xcc, 0x60, 0x05, 0xee, 0xc4, 0x50, 0xc4, 0x20, 0x09, 0x2c,
- 0x07, 0x80, 0x07, 0x36, 0x07, 0x81, 0x00, 0x40, 0x2c, 0x40, 0x04, 0xc0, 0x07, 0x84, 0x06, 0xf2,
- 0xcd, 0x06, 0x02, 0x01, 0xfc, 0x0e, 0xcd, 0x31, 0xcd, 0x31, 0xcd, 0x31, 0xc5, 0x20, 0x07, 0x0a,
- 0xc0, 0x00, 0x13, 0x01, 0x2e, 0x12, 0x04, 0xe0, 0x01, 0x6c, 0x04, 0x5b, 0xc8, 0x0b, 0x09, 0x22,
- 0x06, 0xa0, 0xe2, 0x72, 0x02, 0x08, 0x80, 0x42, 0x06, 0xa0, 0xe0, 0x22, 0x02, 0x08, 0x80, 0x30,
- 0x06, 0xa0, 0xe0, 0x22, 0xc2, 0xe0, 0x09, 0x22, 0x04, 0x5b, 0xc3, 0x0b, 0x48, 0x20, 0xeb, 0x0e,
- 0x01, 0x82, 0x48, 0x20, 0xe4, 0x6c, 0x01, 0x80, 0x48, 0x20, 0xe0, 0x22, 0x01, 0xae, 0x48, 0x20,
- 0xe0, 0x22, 0x09, 0x78, 0x43, 0x60, 0xe0, 0x18, 0x43, 0xa0, 0xe0, 0x08, 0x02, 0x08, 0x00, 0x42,
- 0x06, 0xa0, 0xe0, 0x22, 0x04, 0x5c, 0xc3, 0x0b, 0xe8, 0x20, 0xe0, 0x0e, 0x01, 0x82, 0xe8, 0x20,
- 0xe0, 0x22, 0x01, 0xae, 0xe8, 0x20, 0xe0, 0x22, 0x09, 0x78, 0xe3, 0xa0, 0xe0, 0x08, 0xe3, 0x60,
- 0xe0, 0x18, 0x43, 0xa0, 0xe0, 0x06, 0x02, 0x08, 0x80, 0x3c, 0x06, 0xa0, 0xe0, 0x22, 0x02, 0x08,
- 0x80, 0x42, 0x06, 0xa0, 0xe0, 0x22, 0x04, 0x5c, 0xc3, 0x0b, 0x07, 0x83, 0x68, 0x00, 0x06, 0xa0,
- 0xe3, 0x56, 0x07, 0x83, 0x80, 0x10, 0x06, 0xa0, 0xe3, 0x56, 0x04, 0x5c, 0xc3, 0x0b, 0x06, 0xa0,
- 0xe3, 0x40, 0xa2, 0x02, 0xc2, 0x68, 0x00, 0x14, 0x02, 0x29, 0xff, 0xfc, 0x13, 0x24, 0x02, 0x28,
- 0x00, 0x18, 0x07, 0x87, 0x00, 0x0e, 0x07, 0x81, 0x07, 0x0e, 0x04, 0xf1, 0x06, 0x47, 0x15, 0xfd,
- 0xc0, 0x58, 0x03, 0xb0, 0x78, 0x01, 0x06, 0x63, 0x02, 0x41, 0x00, 0x3f, 0x13, 0x0e, 0x02, 0x81,
- 0x00, 0x1f, 0x1b, 0x0b, 0xa0, 0x41, 0xc0, 0x61, 0xe4, 0x4e, 0xc1, 0xf8, 0x06, 0xc7, 0x71, 0xc7,
- 0x06, 0x47, 0xcc, 0x78, 0x06, 0x47, 0x15, 0xfd, 0x10, 0x04, 0xc0, 0x58, 0x06, 0xc1, 0x70, 0x41,
- 0xa2, 0x01, 0xc2, 0x49, 0x15, 0xe5, 0x04, 0x5c, 0x23, 0xa0, 0xe0, 0x1a, 0x13, 0x02, 0x04, 0xc8,
- 0x04, 0x5b, 0xc2, 0x22, 0x00, 0x14, 0x02, 0x48, 0x1f, 0x00, 0x06, 0xc8, 0x04, 0x5b, 0x02, 0x83,
- 0x00, 0x0f, 0x1b, 0x17, 0xc1, 0xa0, 0x06, 0xd4, 0x13, 0x35, 0x02, 0x26, 0x00, 0x04, 0xcd, 0xa0,
- 0xed, 0x26, 0xc5, 0x83, 0x13, 0x04, 0xc2, 0x4a, 0x0a, 0x39, 0xe0, 0xc9, 0xc5, 0x83, 0x07, 0x86,
- 0x07, 0x36, 0x07, 0x87, 0x00, 0x10, 0xc2, 0x20, 0x06, 0xd4, 0x04, 0xe0, 0x06, 0xd4, 0x2c, 0x46,
- 0x04, 0x5b, 0xc0, 0x60, 0x06, 0xfe, 0xc2, 0x20, 0x09, 0x6a, 0x02, 0x48, 0x60, 0x00, 0x22, 0x20,
- 0xe0, 0x06, 0x16, 0x04, 0xe2, 0x20, 0xe0, 0x0a, 0xe2, 0x20, 0xe0, 0x18, 0x0a, 0x13, 0x18, 0x04,
- 0x05, 0x41, 0x48, 0x03, 0x06, 0xfe, 0x10, 0x06, 0x02, 0x83, 0x00, 0x02, 0x16, 0x01, 0x09, 0x13,
- 0xe8, 0x03, 0x06, 0xfe, 0x40, 0xc8, 0x40, 0xc1, 0x13, 0x05, 0x07, 0x88, 0x07, 0x36, 0x07, 0x89,
- 0x40, 0x00, 0x2c, 0x48, 0x04, 0x5b, 0x04, 0xc9, 0xc1, 0x24, 0xeb, 0x24, 0xc1, 0x84, 0x71, 0x86,
- 0x02, 0x26, 0xeb, 0xd6, 0x06, 0xc4, 0x71, 0x04, 0x02, 0x24, 0xeb, 0x4c, 0xd2, 0x14, 0x09, 0xc8,
- 0xa2, 0x08, 0x03, 0xb0, 0xd8, 0x34, 0x06, 0x5f, 0x02, 0x47, 0x00, 0x0f, 0xa1, 0xc7, 0xc2, 0x28,
- 0xeb, 0x12, 0x04, 0x58, 0xcd, 0x76, 0x06, 0x47, 0x16, 0xfd, 0x10, 0x32, 0xc2, 0x36, 0x10, 0x26,
- 0x09, 0x17, 0xa1, 0x47, 0x10, 0x2d, 0x09, 0x17, 0x61, 0x47, 0x10, 0x2a, 0x43, 0xa0, 0xe0, 0x16,
- 0x04, 0x5b, 0x43, 0xa0, 0xe0, 0x16, 0xc2, 0x49, 0x16, 0x03, 0xc2, 0x44, 0xc8, 0x06, 0x09, 0x22,
- 0xc1, 0x27, 0xec, 0xe6, 0xc1, 0x84, 0x71, 0x86, 0x02, 0x26, 0xed, 0x1c, 0x06, 0xc4, 0x71, 0x04,
- 0x02, 0x24, 0xed, 0x02, 0x10, 0xd3, 0xc1, 0x09, 0xc1, 0xa0, 0x09, 0x22, 0x04, 0xc9, 0x10, 0x10,
- 0xc2, 0x36, 0xd5, 0x78, 0x41, 0x60, 0xe0, 0x22, 0x05, 0xc5, 0x10, 0x0a, 0xcd, 0x78, 0x06, 0x47,
- 0x15, 0xfd, 0x10, 0x06, 0x23, 0xa0, 0xe0, 0x16, 0x16, 0xcd, 0xc2, 0x49, 0x16, 0xec, 0x10, 0xd6,
- 0xe3, 0xa0, 0xe0, 0x16, 0x10, 0xbb, 0x02, 0x08, 0x80, 0x5a, 0x06, 0xa0, 0xe0, 0x22, 0x10, 0x3e,
- 0x92, 0xa0, 0xe0, 0x0c, 0x16, 0x15, 0x02, 0x44, 0x5e, 0x00, 0x16, 0x14, 0x48, 0x20, 0xe4, 0x6c,
- 0x01, 0x80, 0x06, 0xa0, 0xe2, 0x9e, 0xc8, 0x20, 0x01, 0x9e, 0x01, 0x9e, 0x2e, 0xe0, 0x00, 0x01,
- 0x43, 0xa0, 0xe0, 0x18, 0xd2, 0xa0, 0xe0, 0x26, 0x07, 0x83, 0x00, 0x10, 0x06, 0xa0, 0xe3, 0x56,
- 0x04, 0x60, 0xdb, 0xc0, 0x07, 0x84, 0x00, 0x08, 0x04, 0x60, 0xdb, 0x88, 0x07, 0x85, 0x02, 0x03,
- 0xc8, 0x05, 0x06, 0xce, 0x43, 0xa0, 0xe0, 0x12, 0x04, 0xe0, 0x06, 0xfa, 0x06, 0xa0, 0xe2, 0xd0,
- 0x02, 0x08, 0x80, 0x48, 0x06, 0xa0, 0xe0, 0x22, 0x10, 0x11, 0x27, 0xa0, 0xe0, 0x2c, 0x16, 0x04,
- 0x02, 0x08, 0x80, 0x54, 0x06, 0xa0, 0xe0, 0x22, 0x07, 0x83, 0xa8, 0x00, 0x88, 0x20, 0x07, 0x08,
- 0xe0, 0x20, 0x16, 0x02, 0x07, 0x83, 0xe8, 0x00, 0x06, 0xa0, 0xe3, 0x56, 0x02, 0x08, 0x00, 0x36,
- 0x06, 0xa0, 0xe0, 0x22, 0xe8, 0x20, 0xe0, 0x0c, 0x01, 0x82, 0x23, 0xa0, 0xe0, 0x18, 0x13, 0x06,
- 0xe3, 0xa0, 0xe0, 0x18, 0x2e, 0xe0, 0x00, 0x00, 0xc0, 0x41, 0x16, 0xfa, 0x06, 0xa0, 0xe1, 0x2e,
- 0xc0, 0x82, 0x13, 0x02, 0x02, 0x4f, 0xff, 0x80, 0x04, 0xc4, 0xd1, 0x0f, 0x06, 0xc4, 0x04, 0x60,
- 0xdb, 0x88, 0x06, 0xa0, 0xe5, 0x50, 0x02, 0x08, 0x80, 0x36, 0x07, 0xa0, 0x06, 0xd6, 0xe5, 0x3e,
- 0x06, 0xa0, 0xe0, 0x22, 0x10, 0x10, 0x06, 0xa0, 0xe5, 0x50, 0xd1, 0x20, 0x06, 0xce, 0x13, 0xe6,
- 0x78, 0x20, 0xe0, 0x12, 0x06, 0xce, 0x10, 0xe2, 0xc1, 0x20, 0x04, 0x16, 0x0a, 0x14, 0x06, 0xc4,
- 0x91, 0x0a, 0x16, 0x01, 0x04, 0x5b, 0x04, 0x60, 0xdb, 0xc0, 0x04, 0xca, 0x04, 0xcd, 0x04, 0xce,
- 0x04, 0xcf, 0x04, 0xe0, 0x06, 0xa8, 0x04, 0xe0, 0x06, 0xba, 0x07, 0x84, 0x01, 0xa0, 0x07, 0x85,
- 0x00, 0x10, 0x04, 0xf4, 0x06, 0x45, 0x15, 0xfd, 0x07, 0x84, 0x06, 0xd8, 0x07, 0x85, 0x07, 0x34,
- 0x61, 0x44, 0x04, 0xf4, 0x06, 0x45, 0x15, 0xfd, 0x07, 0x84, 0x00, 0xc8, 0xc8, 0x04, 0x07, 0x00,
- 0x07, 0x84, 0x7f, 0xff, 0xc8, 0x04, 0x06, 0xf0, 0x07, 0x84, 0x00, 0x06, 0xc8, 0x04, 0x06, 0xee,
- 0x03, 0xb0, 0xd8, 0x20, 0xe0, 0x10, 0x06, 0x65, 0x04, 0x60, 0xdb, 0xc0, 0xf8, 0x20, 0xed, 0x71,
- 0x01, 0x82, 0xc8, 0x20, 0xe0, 0x10, 0x06, 0xc6, 0xc8, 0x20, 0xe0, 0x20, 0x06, 0xc8, 0x2e, 0xe0,
- 0x00, 0x00, 0x06, 0xa0, 0xe1, 0x2e, 0xc8, 0x20, 0x09, 0x6c, 0x01, 0xa0, 0xc8, 0x20, 0x09, 0x6e,
- 0x01, 0xa2, 0xc8, 0x20, 0x09, 0x70, 0x01, 0xa4, 0xc8, 0x20, 0x09, 0x6e, 0x01, 0xb0, 0xc8, 0x20,
- 0x09, 0x70, 0x01, 0xb2, 0xc8, 0x20, 0x09, 0x70, 0x06, 0xcc, 0xf8, 0x20, 0xed, 0x70, 0x01, 0x80,
- 0x06, 0xa0, 0xe1, 0x18, 0x48, 0x20, 0xe0, 0x04, 0x01, 0x80, 0x04, 0xe0, 0x01, 0x9e, 0x02, 0x08,
- 0x80, 0x12, 0x06, 0xa0, 0xe0, 0x22, 0x07, 0x84, 0x00, 0x0a, 0x07, 0x85, 0x03, 0xf4, 0x88, 0x20,
- 0x06, 0xc6, 0xe0, 0x20, 0x1b, 0x04, 0x07, 0x84, 0x00, 0x1c, 0x07, 0x85, 0x03, 0xf8, 0x06, 0xa0,
- 0xe3, 0xce, 0x07, 0x85, 0xe6, 0x42, 0xc8, 0x05, 0x03, 0xf8, 0x23, 0xa0, 0xe0, 0x0c, 0x13, 0x23,
- 0xe3, 0xa0, 0xe0, 0x0c, 0x2e, 0xa0, 0x03, 0xf4, 0x10, 0x1e, 0x03, 0xb0, 0x98, 0x20, 0xe0, 0x10,
- 0x06, 0x65, 0x16, 0x19, 0x02, 0x44, 0x5e, 0x00, 0x16, 0x04, 0x06, 0x20, 0x06, 0xc6, 0x16, 0xd7,
- 0x10, 0x08, 0x03, 0xb0, 0x98, 0x20, 0xe0, 0x10, 0x06, 0x65, 0x16, 0x0d, 0x06, 0x20, 0x06, 0xc8,
- 0x16, 0xc4, 0x01, 0x0e, 0x00, 0x03, 0x13, 0x03, 0x07, 0x83, 0x82, 0x00, 0x10, 0x02, 0x07, 0x83,
- 0x00, 0x01, 0x04, 0x60, 0xdb, 0xb8, 0x04, 0x60, 0xdb, 0x9e, 0x01, 0x0e, 0x00, 0x03, 0x13, 0x0a,
- 0x02, 0x08, 0x80, 0x0c, 0x06, 0xa0, 0xe0, 0x22, 0xe3, 0xe0, 0xe0, 0x14, 0xc8, 0x20, 0xe4, 0x6e,
- 0x01, 0x86, 0x10, 0x26, 0x48, 0x20, 0xe0, 0x0c, 0x01, 0x82, 0x2e, 0xe0, 0x00, 0x01, 0xc1, 0x60,
- 0x09, 0x1e, 0x0a, 0x35, 0xe8, 0x05, 0x01, 0x82, 0xc1, 0x20, 0x09, 0x6a, 0x01, 0x04, 0x00, 0x06,
- 0x13, 0x06, 0xd8, 0x20, 0xe1, 0xd0, 0x09, 0x2f, 0xd8, 0x20, 0xe1, 0xd0, 0x01, 0x83, 0x21, 0x20,
- 0xe0, 0x22, 0x16, 0x03, 0xe8, 0x20, 0xe0, 0x22, 0x01, 0x80, 0x21, 0x20, 0xe0, 0x04, 0x16, 0x04,
- 0xe3, 0xa0, 0xe0, 0x14, 0x04, 0x60, 0xdf, 0xb6, 0x02, 0x08, 0x80, 0x00, 0x06, 0xa0, 0xe0, 0x22,
- 0xe8, 0x20, 0xe0, 0x08, 0x01, 0x82, 0x04, 0x60, 0xdb, 0x9e, 0xc8, 0x20, 0xe4, 0x6e, 0x01, 0x86,
- 0x02, 0x08, 0x80, 0x00, 0x06, 0xa0, 0xe0, 0x22, 0xc2, 0x20, 0x09, 0x1e, 0xa2, 0x08, 0x05, 0x08,
- 0xc8, 0x28, 0xe0, 0x22, 0x06, 0xca, 0xc8, 0x20, 0xe0, 0x20, 0x06, 0xc6, 0xc8, 0x20, 0xe0, 0x20,
- 0x06, 0xc8, 0xe3, 0x60, 0xe0, 0x16, 0x04, 0x60, 0xdb, 0xc0, 0xc1, 0x44, 0x02, 0x44, 0x5e, 0x00,
- 0x16, 0xf8, 0x25, 0x60, 0xe4, 0x68, 0x16, 0x0f, 0x06, 0x20, 0x06, 0xc6, 0x16, 0xf2, 0x06, 0x20,
- 0x06, 0xca, 0x13, 0x03, 0x05, 0xa0, 0x06, 0xcc, 0x10, 0xe6, 0x03, 0xb0, 0xd8, 0x20, 0xe0, 0x0c,
- 0x06, 0x65, 0x04, 0x60, 0xdb, 0xc0, 0x06, 0x20, 0x06, 0xc8, 0x16, 0xe3, 0x88, 0x20, 0x09, 0x70,
- 0x06, 0xcc, 0x16, 0x03, 0x07, 0x83, 0x00, 0x08, 0x10, 0x02, 0x07, 0x83, 0x00, 0x0c, 0x04, 0x60,
- 0xdb, 0xb8, 0x04, 0x60, 0xdb, 0xc0, 0x23, 0xa0, 0xe0, 0x08, 0x13, 0x03, 0x23, 0x60, 0xe0, 0x12,
- 0x16, 0x06, 0x03, 0xb0, 0xd8, 0x20, 0xe3, 0xa9, 0x06, 0x65, 0x04, 0x60, 0xdb, 0xc0, 0x02, 0x08,
- 0x80, 0x00, 0x06, 0xa0, 0xe0, 0x22, 0x04, 0x60, 0xdb, 0x9e, 0x02, 0x08, 0x80, 0x00, 0x06, 0xa0,
- 0xe0, 0x22, 0xc8, 0x20, 0xe0, 0x1e, 0x06, 0xc6, 0xc8, 0x20, 0xe0, 0x1e, 0x06, 0xc8, 0xe3, 0x60,
- 0xe0, 0x10, 0x04, 0x60, 0xdb, 0xc0, 0x23, 0xe0, 0xe0, 0x14, 0x13, 0x19, 0xc1, 0x44, 0x02, 0x44,
- 0x1e, 0x00, 0x16, 0xf5, 0x25, 0x60, 0xe4, 0x68, 0x16, 0x06, 0x06, 0x20, 0x06, 0xc8, 0x16, 0xef,
- 0x04, 0xc2, 0x04, 0x60, 0xec, 0x20, 0x02, 0x08, 0x80, 0x1e, 0x06, 0xa0, 0xe0, 0x22, 0x10, 0x07,
- 0x06, 0x20, 0x06, 0xc6, 0x16, 0xe4, 0x07, 0x83, 0x00, 0x09, 0x06, 0xa0, 0xdb, 0xb8, 0x04, 0x60,
- 0xdb, 0x9e, 0x04, 0xce, 0x04, 0xe0, 0x09, 0x2a, 0xd3, 0xe0, 0xe3, 0xaa, 0xc2, 0x8f, 0xc8, 0x20,
- 0xe4, 0x70, 0x01, 0x86, 0x48, 0x20, 0xe0, 0x08, 0x01, 0x82, 0x07, 0x86, 0x00, 0x05, 0x07, 0x84,
- 0x06, 0x72, 0xc1, 0x54, 0x13, 0x01, 0x2c, 0xd4, 0x02, 0x24, 0x00, 0x0a, 0x06, 0x06, 0x16, 0xf9,
- 0x02, 0x08, 0x80, 0x2a, 0x06, 0xa0, 0xe0, 0x22, 0x2c, 0x20, 0xe0, 0x1a, 0x04, 0x60, 0xda, 0x6a,
- 0x06, 0xa0, 0xe2, 0x72, 0x04, 0xcd, 0x23, 0xa0, 0xe0, 0x1c, 0x13, 0x0d, 0x01, 0x0e, 0x00, 0x03,
- 0x13, 0x0a, 0xe3, 0xa0, 0xe0, 0x1c, 0x03, 0xb0, 0xd8, 0x20, 0xe0, 0x10, 0x06, 0x65, 0xd2, 0xa0,
- 0xe0, 0x26, 0x04, 0xcf, 0x10, 0x08, 0x2d, 0x20, 0x00, 0x01, 0xc0, 0xe0, 0x09, 0x2a, 0x06, 0xa0,
- 0xe3, 0x56, 0xd2, 0xa0, 0xe3, 0xab, 0x04, 0x60, 0xdb, 0xc0, 0x06, 0xa0, 0xe0, 0xe4, 0xc2, 0x08,
- 0x13, 0x19, 0x07, 0x83, 0x80, 0x80, 0x23, 0xe0, 0xe0, 0x14, 0x13, 0x02, 0x07, 0x83, 0x00, 0x0a,
- 0x04, 0x60, 0xdb, 0xb4, 0xc1, 0x20, 0x06, 0x06, 0x13, 0x0d, 0x06, 0xa0, 0xe0, 0xe4, 0xc2, 0x08,
- 0x13, 0x09, 0x07, 0x83, 0x00, 0x0b, 0x23, 0xe0, 0xe0, 0x14, 0x16, 0x02, 0x07, 0x83, 0x80, 0x01,
- 0x04, 0x60, 0xdb, 0xb4, 0x07, 0x83, 0x80, 0x0a, 0x04, 0x60, 0xdb, 0xa2, 0x93, 0xe0, 0xe0, 0x0e,
- 0x13, 0x5e, 0x93, 0xe0, 0xe0, 0x10, 0x13, 0x17, 0x23, 0xe0, 0xe0, 0x14, 0x13, 0x04, 0x07, 0x83,
- 0x00, 0x07, 0x04, 0x60, 0xdb, 0xb4, 0x07, 0x83, 0xa0, 0x00, 0x06, 0xa0, 0xe3, 0x56, 0x07, 0x83,
- 0x48, 0x00, 0x06, 0xa0, 0xe3, 0x56, 0xd2, 0xa0, 0xe0, 0x10, 0xc8, 0x20, 0xe0, 0x1c, 0x06, 0xca,
- 0xc8, 0x20, 0xe0, 0x20, 0x06, 0xcc, 0x06, 0xa0, 0xe2, 0x72, 0x02, 0x08, 0x80, 0x4e, 0x06, 0xa0,
- 0xe0, 0x22, 0x23, 0xa0, 0xe0, 0x1c, 0x13, 0x20, 0x88, 0x20, 0x09, 0x6c, 0x07, 0x0e, 0x16, 0x1c,
- 0x88, 0x20, 0x09, 0x6e, 0x07, 0x10, 0x16, 0x18, 0x88, 0x20, 0x09, 0x70, 0x07, 0x12, 0x16, 0x14,
- 0x88, 0x20, 0x07, 0x0a, 0xe0, 0x22, 0x13, 0x10, 0x06, 0x20, 0x06, 0xca, 0x16, 0x38, 0xe3, 0xa0,
- 0xe0, 0x20, 0x10, 0x06, 0x23, 0xe0, 0xe0, 0x14, 0x16, 0xca, 0xe3, 0xa0, 0xe0, 0x22, 0x04, 0xc2,
- 0xd2, 0xa0, 0xe3, 0xaa, 0x04, 0x60, 0xdb, 0xa8, 0xc8, 0x20, 0xe0, 0x1c, 0x06, 0xca, 0x88, 0xa0,
- 0x06, 0xdc, 0x00, 0x0e, 0x16, 0x10, 0x88, 0xa0, 0x06, 0xde, 0x00, 0x10, 0x16, 0x0c, 0x88, 0xa0,
- 0x06, 0xe0, 0x00, 0x12, 0x16, 0x08, 0x06, 0x20, 0x06, 0xcc, 0x16, 0x19, 0xe8, 0x20, 0xe0, 0x0e,
- 0x01, 0x82, 0xe3, 0xa0, 0xe0, 0x1e, 0xc8, 0x20, 0xe0, 0x20, 0x06, 0xcc, 0x10, 0x10, 0x23, 0xa0,
- 0xe0, 0x10, 0x16, 0x08, 0xc1, 0x64, 0x00, 0x06, 0x21, 0x60, 0xe0, 0x0c, 0x13, 0x08, 0xd2, 0xa0,
- 0xe3, 0xa8, 0x10, 0x05, 0x88, 0x20, 0x07, 0x0a, 0x07, 0x08, 0x12, 0x96, 0x10, 0x00, 0x04, 0x60,
- 0xdb, 0xa8, 0x93, 0xe0, 0xe0, 0x0e, 0x13, 0x50, 0x93, 0xe0, 0xe3, 0xa9, 0x13, 0x4d, 0x93, 0xe0,
- 0xe3, 0xa8, 0x13, 0x1c, 0x06, 0xa0, 0xe2, 0xd0, 0x23, 0xa0, 0xe0, 0x10, 0x13, 0x45, 0x23, 0xa0,
- 0xe0, 0x08, 0x16, 0x06, 0xe3, 0x60, 0xe0, 0x1e, 0xc8, 0x20, 0xe0, 0x22, 0x07, 0x06, 0x10, 0x34,
- 0x23, 0xe0, 0xe0, 0x14, 0x16, 0x31, 0xc1, 0x60, 0x09, 0x6a, 0x21, 0x60, 0xe0, 0x12, 0x16, 0x2c,
- 0x06, 0xa0, 0xea, 0x34, 0x10, 0x31, 0xd2, 0xa0, 0xe3, 0xa8, 0x10, 0x2e, 0xe3, 0xa0, 0xe0, 0x12,
- 0x06, 0xa0, 0xea, 0x34, 0xc1, 0x64, 0x00, 0x06, 0x21, 0x60, 0xe0, 0x0c, 0x13, 0x25, 0x88, 0x20,
- 0x07, 0x0e, 0x06, 0xdc, 0x16, 0x14, 0x88, 0x20, 0x07, 0x10, 0x06, 0xde, 0x16, 0x10, 0x88, 0x20,
- 0x07, 0x12, 0x06, 0xe0, 0x16, 0x0c, 0x98, 0x20, 0x06, 0xce, 0x06, 0xcf, 0x13, 0x15, 0x06, 0x20,
- 0x06, 0xce, 0x16, 0x12, 0xe3, 0x60, 0xe0, 0x1a, 0xd2, 0xa0, 0xe0, 0x0c, 0x10, 0x0d, 0xe3, 0x60,
- 0xe0, 0x1e, 0xc8, 0x20, 0xe0, 0x32, 0x07, 0x06, 0x06, 0xa0, 0xe2, 0x72, 0x02, 0x08, 0x80, 0x48,
- 0x06, 0xa0, 0xe0, 0x22, 0xd2, 0xa0, 0xe3, 0xa9, 0x04, 0x60, 0xdb, 0xa8, 0x88, 0x22, 0x00, 0x0e,
- 0x09, 0x6c, 0x1a, 0xc9, 0x1b, 0x0b, 0x88, 0x22, 0x00, 0x10, 0x09, 0x6e, 0x1a, 0xc4, 0x1b, 0x06,
- 0x88, 0x22, 0x00, 0x12, 0x09, 0x70, 0x1a, 0xbf, 0x1b, 0x01, 0x04, 0x5b, 0xc1, 0x60, 0x01, 0x6c,
- 0x02, 0x85, 0x00, 0x43, 0x13, 0xe1, 0x93, 0xe0, 0xe3, 0xa8, 0x16, 0xde, 0xc8, 0xa0, 0xed, 0x58,
- 0x00, 0x02, 0x07, 0x84, 0x00, 0x0e, 0xc1, 0x42, 0xc0, 0xa0, 0x01, 0x6c, 0xc0, 0x02, 0x02, 0x25,
- 0x00, 0x48, 0x07, 0x81, 0xea, 0x86, 0x07, 0x83, 0xae, 0x14, 0x04, 0x60, 0xed, 0x92, 0x02, 0x02,
- 0xfc, 0x00, 0x10, 0xca, 0x98, 0x20, 0xe0, 0x0e, 0x06, 0x65, 0x16, 0x03, 0xd8, 0x20, 0xe3, 0xa8,
- 0x06, 0x65, 0x93, 0xe0, 0xe3, 0xa9, 0x13, 0x0d, 0x23, 0xa0, 0xe0, 0x08, 0x16, 0x19, 0x23, 0xa0,
- 0xe0, 0x10, 0x13, 0x16, 0xe3, 0x60, 0xe0, 0x1e, 0xc8, 0x20, 0xe0, 0x20, 0x07, 0x06, 0x06, 0xa0,
- 0xe2, 0x72, 0x43, 0xa0, 0xe0, 0x18, 0x2e, 0xe0, 0x00, 0x01, 0xd2, 0xa0, 0xe0, 0x26, 0x07, 0x83,
- 0x00, 0x10, 0x06, 0xa0, 0xe3, 0x56, 0x23, 0xe0, 0xe0, 0x14, 0x16, 0x02, 0x06, 0xa0, 0xe2, 0x54,
- 0x43, 0xa0, 0xe0, 0x2c, 0xc8, 0x20, 0xe0, 0x20, 0x09, 0x24, 0x04, 0x60, 0xdb, 0xa8, 0x43, 0xa0,
- 0xe0, 0x0e, 0xc1, 0xa0, 0x09, 0x24, 0x13, 0x02, 0x06, 0x20, 0x09, 0x24, 0x23, 0xe0, 0xe0, 0x14,
- 0x13, 0x03, 0x23, 0xa0, 0xe0, 0x08, 0x16, 0x26, 0x02, 0x08, 0x80, 0x42, 0x06, 0xa0, 0xe0, 0x22,
- 0x23, 0xa0, 0xe0, 0x08, 0x16, 0x1f, 0x23, 0xa0, 0xe0, 0x10, 0x16, 0x0a, 0xc1, 0x22, 0x00, 0x02,
- 0x25, 0x20, 0xe4, 0x68, 0x16, 0x23, 0x07, 0x83, 0x80, 0x20, 0x06, 0xa0, 0xe3, 0x56, 0x10, 0x12,
- 0x06, 0xa0, 0xe2, 0x72, 0x23, 0xe0, 0xe0, 0x14, 0x16, 0x02, 0x06, 0xa0, 0xe2, 0x54, 0xe3, 0x60,
- 0xe0, 0x1e, 0xc8, 0x20, 0xe0, 0x20, 0x07, 0x06, 0x23, 0xa0, 0xe0, 0x08, 0x16, 0x03, 0x23, 0xa0,
- 0xe0, 0x06, 0x13, 0x51, 0x98, 0x20, 0xe0, 0x0e, 0x06, 0x65, 0x16, 0x03, 0xd8, 0x20, 0xe3, 0xa8,
- 0x06, 0x65, 0xc1, 0x22, 0x00, 0x02, 0x25, 0x20, 0xe4, 0x68, 0x13, 0x0e, 0x07, 0x83, 0x00, 0x20,
- 0x06, 0xa0, 0xe3, 0x56, 0xc8, 0x22, 0x00, 0x0e, 0x06, 0xe6, 0xc8, 0x22, 0x00, 0x10, 0x06, 0xe8,
- 0xc8, 0x22, 0x00, 0x12, 0x06, 0xea, 0x10, 0x37, 0x88, 0x22, 0x00, 0x0e, 0x06, 0xdc, 0x16, 0x08,
- 0x88, 0x22, 0x00, 0x10, 0x06, 0xde, 0x16, 0x04, 0x88, 0x22, 0x00, 0x12, 0x06, 0xe0, 0x13, 0x0b,
- 0xc8, 0x22, 0x00, 0x0e, 0x06, 0xdc, 0xc8, 0x22, 0x00, 0x10, 0x06, 0xde, 0xc8, 0x22, 0x00, 0x12,
- 0x06, 0xe0, 0xe3, 0x60, 0xe0, 0x14, 0x23, 0xa0, 0xe0, 0x0e, 0x16, 0x08, 0xc1, 0xa0, 0x09, 0x24,
- 0x16, 0x1a, 0x07, 0x86, 0x10, 0x00, 0xe8, 0x06, 0x06, 0xd2, 0x10, 0x15, 0xe3, 0xa0, 0xe0, 0x0e,
- 0x23, 0xa0, 0xe0, 0x08, 0x16, 0x09, 0xe3, 0xa0, 0xe0, 0x06, 0x04, 0xe0, 0x06, 0xe6, 0x04, 0xe0,
- 0x06, 0xe8, 0x04, 0xe0, 0x06, 0xea, 0x10, 0x07, 0x02, 0x08, 0x80, 0x36, 0x07, 0xa0, 0x06, 0xd6,
- 0xdf, 0xe2, 0x06, 0xa0, 0xe0, 0x22, 0x04, 0x60, 0xdb, 0xa8, 0x98, 0x20, 0x06, 0x65, 0xe0, 0x10,
- 0x16, 0x03, 0xd8, 0x20, 0xe0, 0x0e, 0x06, 0x65, 0x04, 0x60, 0xdb, 0xa8, 0x23, 0xe0, 0xe0, 0x14,
- 0x13, 0x02, 0x04, 0x60, 0xdb, 0xa8, 0x10, 0x2e, 0x03, 0xb0, 0x98, 0x20, 0xe3, 0xa9, 0x06, 0x6f,
- 0x16, 0x19, 0xc2, 0x24, 0x00, 0x08, 0x11, 0x16, 0xe3, 0xe0, 0xe0, 0x14, 0x07, 0x83, 0x00, 0x00,
- 0x06, 0xa0, 0xe3, 0x56, 0x23, 0xa0, 0xe0, 0x14, 0x13, 0x04, 0x02, 0x08, 0x80, 0x06, 0x06, 0xa0,
- 0xe0, 0x22, 0x02, 0x08, 0x00, 0x1e, 0x06, 0xa0, 0xe0, 0x22, 0x23, 0xa0, 0xe0, 0x08, 0x13, 0x02,
- 0x06, 0xa0, 0xe2, 0x54, 0xc0, 0x82, 0x16, 0x02, 0x04, 0x60, 0xdb, 0xc0, 0xe8, 0x20, 0xed, 0x74,
- 0x06, 0xf0, 0x99, 0x20, 0xe0, 0x0e, 0x00, 0x16, 0x16, 0x05, 0x04, 0xe0, 0x06, 0xec, 0x48, 0x20,
- 0xe0, 0x14, 0x06, 0xf0, 0x07, 0x83, 0x00, 0x01, 0x04, 0x60, 0xdb, 0xa2, 0xc2, 0x64, 0x00, 0x14,
- 0x02, 0x24, 0x00, 0x18, 0xc1, 0xc4, 0x61, 0xc2, 0x02, 0x27, 0xff, 0xfc, 0xc1, 0x74, 0xc1, 0x85,
- 0x71, 0x45, 0x02, 0x85, 0x00, 0x27, 0x16, 0x46, 0xc1, 0x54, 0x02, 0x45, 0xff, 0xcf, 0x16, 0x42,
- 0x04, 0xc8, 0xc1, 0x64, 0x00, 0x08, 0x15, 0x06, 0x13, 0x05, 0xc2, 0x24, 0x00, 0x0e, 0x02, 0x48,
- 0x1f, 0x00, 0x06, 0xc8, 0x02, 0x28, 0x00, 0x11, 0xa2, 0x04, 0x98, 0x18, 0xed, 0x79, 0x16, 0x32,
- 0xc1, 0x42, 0x02, 0x25, 0x00, 0x04, 0x65, 0x47, 0xc2, 0x35, 0xcd, 0x74, 0x06, 0x48, 0x15, 0xfd,
- 0xc0, 0xa0, 0x01, 0x6c, 0xc1, 0x02, 0xc8, 0x04, 0x01, 0x6c, 0xc1, 0xa0, 0xfc, 0x00, 0x13, 0x05,
- 0xc8, 0x20, 0xeb, 0x10, 0xfc, 0x02, 0xc1, 0x06, 0x10, 0xf6, 0xc8, 0x02, 0x01, 0x6c, 0xc8, 0x20,
- 0xed, 0x58, 0xfc, 0x02, 0x07, 0x81, 0xec, 0xfc, 0xc0, 0x04, 0x07, 0x83, 0x02, 0x10, 0x07, 0x84,
- 0x00, 0x0e, 0x10, 0x3b, 0x07, 0x84, 0x00, 0x0c, 0xc0, 0xe2, 0x00, 0x08, 0x02, 0x05, 0xfc, 0x00,
- 0xc0, 0xa0, 0x01, 0x6c, 0xc0, 0x02, 0xc1, 0xa0, 0xfc, 0x00, 0x13, 0x2f, 0x04, 0xe0, 0xfc, 0x00,
- 0x2e, 0x16, 0x10, 0x2b, 0xc8, 0xa0, 0xed, 0x7a, 0x00, 0x0e, 0xc8, 0xa0, 0xed, 0x7c, 0x00, 0x10,
- 0xc8, 0xa0, 0xed, 0x7e, 0x00, 0x12, 0x07, 0x83, 0x80, 0x06, 0x04, 0x60, 0xdb, 0xa2, 0x04, 0x60,
- 0xdb, 0xc0, 0x07, 0x84, 0x00, 0x10, 0x07, 0x85, 0x00, 0x34, 0x10, 0x09, 0x07, 0x84, 0x00, 0x12,
- 0x07, 0x85, 0x00, 0x32, 0x10, 0x04, 0x07, 0x84, 0x00, 0x14, 0x07, 0x85, 0x00, 0x38, 0x06, 0xa0,
- 0xe1, 0x0a, 0xc8, 0x85, 0x00, 0x04, 0x06, 0xa0, 0xe1, 0x4c, 0xc8, 0xa0, 0xed, 0x58, 0x00, 0x02,
- 0xc0, 0xa0, 0x01, 0x6c, 0xc0, 0x02, 0x06, 0x48, 0xc1, 0x48, 0x06, 0xa0, 0xe3, 0xce, 0x02, 0x07,
- 0x06, 0xa2, 0xc5, 0x60, 0xfc, 0x02, 0x02, 0x25, 0xff, 0xf4, 0xc8, 0x05, 0xfc, 0x02, 0xc2, 0x20,
- 0x01, 0x6c, 0x06, 0xa0, 0xc2, 0x5a, 0x04, 0x60, 0xdb, 0x9e, 0x06, 0xa0, 0xe3, 0xce, 0x02, 0x07,
- 0x06, 0xb4, 0x10, 0xef, 0xc3, 0x0b, 0x03, 0x00, 0x00, 0x02, 0x07, 0x82, 0x00, 0xc0, 0xc8, 0x20,
- 0x00, 0x0c, 0x00, 0xc0, 0xc8, 0x20, 0x00, 0x0e, 0x00, 0xc2, 0xc8, 0x20, 0x00, 0x10, 0x00, 0xc4,
- 0xc8, 0x20, 0x00, 0x12, 0x00, 0xc6, 0xc8, 0x20, 0x00, 0x14, 0x00, 0xc8, 0xc8, 0x20, 0x00, 0x16,
- 0x00, 0xca, 0xc8, 0x20, 0x00, 0x04, 0x00, 0xcc, 0xc8, 0x20, 0x00, 0x06, 0x00, 0xce, 0xc8, 0x02,
- 0x00, 0x0c, 0x07, 0xa0, 0x00, 0x0e, 0xee, 0x3c, 0xc8, 0x02, 0x00, 0x10, 0x07, 0xa0, 0x00, 0x12,
- 0xee, 0x46, 0xc8, 0x02, 0x00, 0x14, 0x07, 0xa0, 0x00, 0x16, 0xee, 0x76, 0xc8, 0x02, 0x00, 0x04,
- 0x07, 0xa0, 0x00, 0x06, 0xee, 0x8c, 0x01, 0x60, 0x01, 0x1c, 0x00, 0x04, 0x16, 0x09, 0x01, 0xe0,
- 0x01, 0x40, 0x08, 0x00, 0x01, 0xa0, 0x01, 0x40, 0x40, 0x00, 0x01, 0xe0, 0x01, 0x40, 0x04, 0x00,
- 0x06, 0xa0, 0xf1, 0x4c, 0x02, 0x05, 0x80, 0x00, 0xd8, 0x05, 0x04, 0x80, 0x04, 0xc7, 0x03, 0x00,
- 0x00, 0x0f, 0x07, 0x88, 0x10, 0x00, 0x02, 0x09, 0x20, 0x00, 0x07, 0x8a, 0xee, 0xa4, 0x02, 0x03,
- 0xe5, 0xfe, 0x04, 0x5a, 0x03, 0x00, 0x00, 0x00, 0xd2, 0x20, 0x01, 0x87, 0x10, 0x06, 0x03, 0x00,
- 0x00, 0x00, 0xc2, 0x20, 0x01, 0x8a, 0x02, 0x08, 0x1a, 0x00, 0xc2, 0x60, 0x00, 0xae, 0xda, 0x48,
- 0x04, 0x80, 0x05, 0x89, 0x02, 0x89, 0x00, 0x06, 0x15, 0x07, 0x07, 0x88, 0x80, 0x00, 0xda, 0x48,
- 0x04, 0x80, 0xc8, 0x09, 0x00, 0xae, 0x03, 0x80, 0x02, 0xe0, 0x00, 0xa0, 0x04, 0x5c, 0x03, 0x00,
- 0x00, 0x00, 0x01, 0x60, 0x01, 0x9c, 0x00, 0x20, 0x13, 0xe2, 0xc2, 0x20, 0x01, 0x8c, 0x02, 0x08,
- 0x1c, 0x00, 0x10, 0xe3, 0x03, 0x00, 0x00, 0x00, 0x01, 0x60, 0x01, 0x40, 0x40, 0x00, 0x16, 0xec,
- 0x01, 0xa0, 0x01, 0x40, 0x40, 0x00, 0x02, 0x08, 0x02, 0x00, 0x10, 0xd7, 0xc0, 0xb3, 0x06, 0x92,
- 0x10, 0xfd, 0xc0, 0xb3, 0xc0, 0x48, 0xcc, 0x72, 0xcc, 0x72, 0xc1, 0x32, 0xcc, 0x44, 0xdc, 0x72,
- 0x06, 0x04, 0x16, 0xfd, 0x04, 0x5b, 0xc0, 0x48, 0x02, 0x02, 0xe9, 0x90, 0x07, 0x84, 0x00, 0x06,
- 0x10, 0xf6, 0x02, 0x02, 0xe5, 0xde, 0xc0, 0x49, 0x07, 0x84, 0x00, 0x06, 0x10, 0xf0, 0xc0, 0xb3,
- 0xc1, 0x32, 0x02, 0x01, 0x00, 0x01, 0xd0, 0x44, 0x06, 0xc1, 0x02, 0x44, 0x00, 0xff, 0x10, 0xe7,
- 0xc1, 0x33, 0xc0, 0x73, 0xd1, 0x44, 0x02, 0x44, 0x00, 0xff, 0xdc, 0x45, 0x06, 0x04, 0x16, 0xfd,
- 0x04, 0x5a, 0x06, 0xa0, 0xf0, 0xcc, 0xc8, 0x33, 0x01, 0x9e, 0x04, 0x5a, 0x06, 0xa0, 0xee, 0xca,
- 0xc1, 0x89, 0x09, 0xa6, 0x02, 0x66, 0x00, 0x40, 0xc8, 0x06, 0x01, 0x8a, 0xc1, 0x88, 0x09, 0xa6,
- 0x02, 0x66, 0x00, 0x40, 0xc8, 0x06, 0x01, 0x8c, 0x04, 0xc2, 0xc1, 0xc7, 0x16, 0x03, 0x06, 0x02,
- 0x16, 0xfc, 0x10, 0x4d, 0x04, 0x5a, 0x06, 0xa0, 0xf0, 0x16, 0xc1, 0x89, 0x09, 0xa6, 0x02, 0x66,
- 0x00, 0x40, 0xc8, 0x06, 0x01, 0x8a, 0xc1, 0x88, 0x09, 0xa6, 0x02, 0x66, 0x00, 0x40, 0xc8, 0x06,
- 0x01, 0x8c, 0xc8, 0x33, 0x01, 0x9e, 0x10, 0xe8, 0x8a, 0x33, 0x00, 0x02, 0x16, 0x38, 0x8a, 0x73,
- 0x00, 0x02, 0x16, 0x35, 0x04, 0x5a, 0x8a, 0x20, 0xe9, 0x8a, 0x00, 0x02, 0x16, 0x30, 0x8a, 0x60,
- 0xe9, 0x8e, 0x00, 0x02, 0x16, 0x2c, 0x07, 0x82, 0xea, 0x34, 0x10, 0x01, 0xc0, 0xb3, 0x02, 0x04,
- 0x04, 0x80, 0xd1, 0x52, 0x13, 0x03, 0x9d, 0x32, 0x16, 0x22, 0x10, 0xfb, 0x07, 0x85, 0x80, 0x00,
- 0xd8, 0x05, 0x04, 0x80, 0x04, 0xc7, 0x04, 0x5a, 0xc8, 0x20, 0x00, 0xc0, 0x00, 0x0c, 0xc8, 0x20,
- 0x00, 0xc2, 0x00, 0x0e, 0xc8, 0x20, 0x00, 0xc4, 0x00, 0x10, 0xc8, 0x20, 0x00, 0xc6, 0x00, 0x12,
- 0xc8, 0x20, 0x00, 0xc8, 0x00, 0x14, 0xc8, 0x20, 0x00, 0xca, 0x00, 0x16, 0xc8, 0x20, 0x00, 0xcc,
- 0x00, 0x04, 0xc8, 0x20, 0x00, 0xce, 0x00, 0x06, 0x03, 0x00, 0x00, 0x0f, 0x05, 0xcc, 0x04, 0x5c,
- 0x04, 0xe0, 0x01, 0x82, 0x02, 0x02, 0xe5, 0xd8, 0xc8, 0x32, 0x01, 0x82, 0xc8, 0x32, 0x01, 0x80,
- 0x06, 0xa0, 0xef, 0xe2, 0xc8, 0x12, 0x01, 0x82, 0xc2, 0xca, 0x07, 0x84, 0x07, 0xd0, 0x04, 0xe0,
- 0x01, 0x84, 0x06, 0x04, 0x16, 0xfc, 0xc1, 0x20, 0x01, 0x84, 0x16, 0xe9, 0x02, 0x04, 0x00, 0x32,
- 0x07, 0x85, 0x80, 0x00, 0xd8, 0x05, 0x04, 0x80, 0x04, 0xc7, 0xc1, 0x60, 0x01, 0x86, 0x06, 0x04,
- 0x16, 0xfc, 0xc1, 0x20, 0x01, 0x84, 0x04, 0x5b, 0xc0, 0xb3, 0xc4, 0xb3, 0x04, 0x5b, 0xc0, 0x48,
- 0xc0, 0xb3, 0xa0, 0x73, 0xc4, 0x42, 0x04, 0x5b, 0x88, 0x33, 0x01, 0x84, 0x16, 0xe6, 0x04, 0x5a,
- 0xc1, 0x89, 0x09, 0xa6, 0x02, 0x66, 0x00, 0x40, 0xc8, 0x06, 0x01, 0x8a, 0x04, 0x5b, 0x04, 0xc5,
- 0x07, 0xa0, 0x01, 0x9c, 0x00, 0x40, 0x01, 0x60, 0x01, 0x9c, 0x00, 0x40, 0x13, 0x03, 0x06, 0x05,
- 0x16, 0xf7, 0x04, 0x5c, 0x04, 0x5b, 0x06, 0xa0, 0xf0, 0x6a, 0xc0, 0x60, 0x01, 0x40, 0xc8, 0x05,
- 0x01, 0x40, 0xc5, 0x02, 0xc8, 0x01, 0x01, 0x40, 0x04, 0x5a, 0x06, 0xa0, 0xf0, 0x6a, 0xa1, 0x08,
- 0x10, 0xf4, 0xc0, 0xb3, 0xc1, 0x33, 0xc1, 0x60, 0x01, 0x40, 0x01, 0x85, 0x04, 0x00, 0x01, 0xc5,
- 0x10, 0x00, 0x04, 0x5b, 0xc1, 0x08, 0xc2, 0x09, 0xc2, 0x44, 0x04, 0x5b, 0x02, 0x05, 0x00, 0xc8,
- 0x06, 0x05, 0x16, 0xfe, 0x04, 0x5b, 0xc1, 0x33, 0xc0, 0x03, 0xc0, 0xc4, 0x04, 0x5b, 0xc0, 0xc0,
- 0x04, 0x5b, 0x94, 0xe0, 0x01, 0x9e, 0x16, 0xc2, 0x05, 0xc3, 0x04, 0x5b, 0xc0, 0x73, 0x06, 0xa0,
- 0xf0, 0xe4, 0x02, 0x2d, 0x00, 0x08, 0x07, 0x85, 0x00, 0x08, 0x9f, 0x71, 0x16, 0xb7, 0x06, 0x05,
- 0x16, 0xfc, 0x04, 0x5a, 0x02, 0x02, 0xe5, 0xe4, 0x04, 0x60, 0xee, 0xce, 0x8c, 0xe9, 0x00, 0x04,
- 0x16, 0xad, 0x04, 0x5b, 0xc1, 0x20, 0x01, 0x80, 0x07, 0x85, 0x07, 0xd0, 0x01, 0xe0, 0x01, 0x80,
- 0x04, 0x00, 0x06, 0x45, 0x16, 0xfe, 0xc8, 0x04, 0x01, 0x80, 0x04, 0x5b, 0xc1, 0x33, 0xc3, 0x48,
- 0xc1, 0x04, 0x13, 0x04, 0x02, 0x2d, 0x04, 0x00, 0x06, 0x04, 0x16, 0xfc, 0x04, 0x5b, 0xc3, 0x8d,
- 0x06, 0xa0, 0xf0, 0xe4, 0xc1, 0x8d, 0x09, 0xa6, 0x02, 0x66, 0x00, 0x40, 0xc7, 0x86, 0x04, 0x5a,
- 0xc1, 0x8d, 0x09, 0xa6, 0x02, 0x66, 0x00, 0x40, 0xc8, 0x06, 0x01, 0x8a, 0x04, 0x5b, 0xc1, 0x8d,
- 0x09, 0xa6, 0x02, 0x66, 0x00, 0x40, 0xc8, 0x06, 0x01, 0x8c, 0x04, 0x5b, 0xc0, 0x4d, 0x02, 0x04,
- 0x00, 0x28, 0x07, 0x85, 0x55, 0x00, 0x04, 0x60, 0xee, 0xf2, 0xc0, 0x4d, 0xc0, 0xb3, 0xc1, 0x32,
- 0x04, 0x60, 0xee, 0xb6, 0xc1, 0x33, 0x01, 0x60, 0x01, 0x1c, 0x00, 0x04, 0x16, 0x01, 0x04, 0x5b,
- 0xc0, 0xc4, 0x04, 0x5b, 0x07, 0x89, 0xe5, 0x26, 0xc2, 0x39, 0x13, 0x07, 0xc6, 0x39, 0x86, 0x39,
- 0x16, 0x25, 0xc6, 0x39, 0x86, 0x39, 0x16, 0x22, 0x10, 0xf7, 0x02, 0x02, 0xf1, 0x6a, 0x04, 0xc4,
- 0x04, 0xc5, 0xc2, 0x39, 0x13, 0x02, 0x04, 0x60, 0xf1, 0xa6, 0x02, 0x02, 0xf1, 0x78, 0x04, 0xc4,
- 0xc2, 0x39, 0x13, 0x03, 0xc1, 0x79, 0x04, 0x60, 0xf1, 0xa6, 0x02, 0x02, 0xf1, 0x88, 0x04, 0xc5,
- 0xc2, 0x39, 0x13, 0x03, 0xc1, 0x39, 0x04, 0x60, 0xf1, 0xa6, 0xc0, 0x79, 0xc0, 0xb9, 0x60, 0x81,
- 0x05, 0xc2, 0x09, 0x12, 0x04, 0xf1, 0x06, 0x02, 0x16, 0xfd, 0x04, 0x5b, 0x04, 0x5c, 0x02, 0x01,
- 0xaa, 0xaa, 0xc6, 0x01, 0xe0, 0x44, 0x40, 0x45, 0x80, 0x58, 0x16, 0xf8, 0x02, 0x01, 0x00, 0x14,
- 0x06, 0x01, 0x16, 0xfe, 0x02, 0x01, 0x55, 0x55, 0xc6, 0x01, 0xe0, 0x44, 0x40, 0x45, 0x80, 0x58,
- 0x16, 0xed, 0x04, 0x52, 0x02, 0xe0, 0x00, 0xa0, 0x07, 0x88, 0x00, 0xc0, 0x02, 0x09, 0xf2, 0x20,
- 0x07, 0x84, 0xe5, 0xea, 0x02, 0x05, 0x00, 0x01, 0xc2, 0x8b, 0x04, 0xcc, 0x06, 0xa0, 0xf2, 0x2a,
- 0x2c, 0x60, 0x00, 0x01, 0x06, 0x99, 0x2c, 0xa0, 0x00, 0x02, 0x06, 0x99, 0x2d, 0x20, 0x00, 0x04,
- 0x06, 0x99, 0x2e, 0x20, 0x00, 0x08, 0x06, 0x99, 0x2f, 0xa0, 0x00, 0x10, 0x05, 0x8c, 0x16, 0x09,
- 0xcc, 0x80, 0xc4, 0x81, 0x07, 0x83, 0xf2, 0x6e, 0xc0, 0x88, 0x04, 0x02, 0x05, 0x8c, 0x16, 0x01,
- 0x10, 0x33, 0x02, 0xe0, 0x00, 0xa0, 0x04, 0x5a, 0x05, 0x8c, 0x16, 0xfb, 0xcc, 0x80, 0xc4, 0x81,
- 0x0a, 0x15, 0xc0, 0xb4, 0xc0, 0x12, 0xcc, 0x88, 0xc0, 0x52, 0xc4, 0xb4, 0x06, 0x42, 0x04, 0x5b,
- 0x07, 0x2d, 0x00, 0x18, 0x8b, 0x41, 0x00, 0x0a, 0x16, 0xec, 0x82, 0xc1, 0x16, 0xea, 0x02, 0xc2,
- 0x02, 0x42, 0x02, 0x00, 0x16, 0xe6, 0x03, 0x80, 0x07, 0x81, 0x00, 0x01, 0x10, 0xf1, 0x02, 0x01,
- 0x00, 0x02, 0x10, 0xee, 0x02, 0x01, 0x00, 0x04, 0x10, 0xeb, 0x02, 0x01, 0x00, 0x08, 0x10, 0xe8,
- 0x02, 0x01, 0x00, 0x10, 0x10, 0xe5, 0x02, 0xa1, 0x8b, 0x41, 0x00, 0x10, 0x13, 0x02, 0x04, 0x60,
- 0xf2, 0x1a, 0x07, 0x2d, 0x00, 0x18, 0x03, 0x80, 0x02, 0x09, 0x08, 0x00, 0x02, 0x03, 0x00, 0x04,
- 0x04, 0xc7, 0x06, 0xa0, 0xf3, 0x9a, 0x01, 0x60, 0x01, 0x1c, 0x00, 0x04, 0x16, 0x1c, 0x01, 0xa0,
- 0x01, 0x40, 0x08, 0x00, 0x01, 0xe0, 0x01, 0x40, 0x10, 0x00, 0x02, 0x04, 0x00, 0x01, 0xce, 0x44,
- 0x06, 0xc4, 0xc6, 0x44, 0x01, 0xa0, 0x01, 0x40, 0x10, 0x00, 0x06, 0x49, 0x01, 0xa0, 0x01, 0x40,
- 0x40, 0x00, 0x01, 0xe0, 0x01, 0x40, 0x04, 0x00, 0x01, 0xe0, 0x01, 0x40, 0x08, 0x00, 0x06, 0xa0,
- 0xf4, 0x38, 0x06, 0xa0, 0xf4, 0x38, 0x05, 0xc7, 0x02, 0x04, 0xe4, 0xa4, 0x04, 0xe0, 0x03, 0xd0,
- 0xc1, 0x74, 0xc1, 0xb4, 0x05, 0x86, 0x13, 0x1c, 0x02, 0xe0, 0x00, 0xc0, 0x02, 0x00, 0x00, 0x00,
- 0xc0, 0x40, 0xc0, 0x80, 0xc0, 0xc0, 0xc1, 0x00, 0xc1, 0x40, 0xc1, 0x80, 0xc1, 0xc0, 0xc2, 0x00,
- 0xc2, 0x40, 0xc2, 0x80, 0xc2, 0xc0, 0xc3, 0x00, 0xc3, 0x40, 0xc3, 0x80, 0xc3, 0xc0, 0x04, 0xa0,
- 0x00, 0xaa, 0x03, 0xd0, 0x03, 0xd0, 0x10, 0x3f, 0x05, 0x85, 0x81, 0x85, 0x13, 0xe1, 0x10, 0xe4,
- 0x05, 0xc7, 0x02, 0x05, 0x7f, 0xff, 0xa1, 0x45, 0x03, 0xd0, 0x03, 0xd0, 0x10, 0x34, 0xcc, 0xc0,
- 0xc4, 0xc1, 0x02, 0x03, 0x00, 0x28, 0x06, 0xa0, 0xf3, 0x9a, 0x01, 0xe0, 0x01, 0x42, 0x10, 0x00,
- 0x05, 0xc7, 0x03, 0xd0, 0x03, 0xd0, 0x10, 0x27, 0x05, 0xc7, 0xc1, 0xa0, 0x01, 0x4a, 0x07, 0xa0,
- 0x01, 0x4a, 0x0e, 0x00, 0x01, 0xa0, 0x01, 0x40, 0x02, 0x00, 0x07, 0x20, 0x01, 0x44, 0xc1, 0x60,
- 0x01, 0x44, 0x02, 0x85, 0xff, 0x00, 0x16, 0x17, 0x01, 0xe0, 0x01, 0x40, 0x22, 0x00, 0x02, 0x05,
- 0x00, 0xc0, 0x06, 0x05, 0x03, 0xd0, 0x16, 0xfd, 0xc1, 0x60, 0x01, 0x46, 0x02, 0x85, 0xff, 0x00,
- 0x13, 0x0a, 0x02, 0x05, 0x33, 0x93, 0x06, 0x05, 0x00, 0x00, 0xf3, 0x80, 0x00, 0x0b, 0x10, 0x00,
- 0x00, 0x00, 0xf3, 0x8a, 0x04, 0x9c, 0x03, 0xd0, 0x16, 0xf8, 0x10, 0x51, 0xc8, 0x06, 0x01, 0x4a,
- 0xcc, 0xc0, 0xc4, 0xc1, 0x10, 0x4b, 0xc0, 0x13, 0xcc, 0xc8, 0xc0, 0x53, 0x02, 0x02, 0xf3, 0xaa,
- 0xc4, 0xc2, 0x06, 0x43, 0x04, 0x5b, 0xc0, 0x60, 0x00, 0xae, 0x02, 0xc4, 0x02, 0x44, 0x00, 0x0f,
- 0x88, 0x44, 0xe4, 0x8a, 0x16, 0x3c, 0x02, 0x81, 0x00, 0x08, 0x13, 0x27, 0xc1, 0x21, 0xe4, 0x9c,
- 0xc1, 0x14, 0x21, 0x21, 0xe4, 0x7a, 0x16, 0x33, 0xc1, 0x21, 0xe4, 0x82, 0x02, 0x81, 0x00, 0x00,
- 0x13, 0x0b, 0x02, 0x0d, 0x00, 0xa0, 0x83, 0x84, 0x13, 0x09, 0x05, 0xc4, 0x83, 0x84, 0x13, 0x06,
- 0x05, 0xc4, 0x83, 0x84, 0x13, 0x03, 0x10, 0x23, 0x81, 0x0e, 0x16, 0x21, 0xc1, 0x21, 0xe4, 0x9c,
- 0x45, 0x21, 0xe4, 0x7a, 0x01, 0xe0, 0x01, 0x42, 0x10, 0x00, 0x01, 0xa0, 0x01, 0x42, 0x10, 0x00,
- 0xc3, 0xa1, 0xe4, 0x94, 0x02, 0x0f, 0x00, 0x2f, 0x03, 0x80, 0x01, 0xa0, 0x01, 0x40, 0x02, 0x00,
- 0x01, 0xa0, 0x01, 0x40, 0x80, 0x00, 0xc0, 0x6d, 0x00, 0x0a, 0x13, 0x09, 0x02, 0x81, 0x12, 0x5c,
- 0x1b, 0x06, 0x02, 0x0e, 0xf3, 0x90, 0x02, 0x0f, 0x00, 0x0f, 0x03, 0x80, 0x05, 0xca, 0x02, 0xe0,
- 0x00, 0xa0, 0x04, 0x5a, 0xce, 0x59, 0x88, 0x20, 0xe4, 0xa4, 0xe4, 0xa4, 0x10, 0xf8, 0x04, 0xc1,
- 0x62, 0x48, 0x05, 0x89, 0xc0, 0xa0, 0x01, 0x6c, 0xc8, 0x08, 0x01, 0x6c, 0x02, 0x03, 0xfc, 0x00,
- 0x02, 0x04, 0x02, 0x00, 0xa0, 0x73, 0x06, 0x04, 0x16, 0xfd, 0x05, 0x88, 0x06, 0x09, 0x16, 0xf4,
- 0xc8, 0x02, 0x01, 0x6c, 0x86, 0x81, 0x16, 0x02, 0x03, 0xd0, 0x05, 0xcb, 0x04, 0x5b, 0xc0, 0x48,
- 0xc0, 0x89, 0x60, 0x81, 0x05, 0xc2, 0x04, 0x5b, 0xc3, 0x0b, 0x06, 0xa0, 0xf4, 0x72, 0xcc, 0x41,
- 0x06, 0x42, 0x16, 0xfd, 0x06, 0xa0, 0xf4, 0x72, 0xc1, 0x01, 0x8c, 0x44, 0x16, 0x12, 0x05, 0xc4,
- 0x06, 0x42, 0x16, 0xfb, 0x02, 0x04, 0xf4, 0xb8, 0x02, 0x03, 0x01, 0x01, 0x06, 0x94, 0x02, 0x03,
- 0x5a, 0x5a, 0x06, 0x94, 0x05, 0x43, 0x06, 0x94, 0x07, 0x03, 0x06, 0x94, 0x04, 0xc3, 0x06, 0x94,
- 0x05, 0xcc, 0x04, 0x5c, 0xc1, 0xcb, 0x06, 0xa0, 0xf4, 0x72, 0xcc, 0x43, 0x06, 0x42, 0x16, 0xfd,
- 0x06, 0xa0, 0xf4, 0x72, 0x8c, 0x43, 0x16, 0xf5, 0x06, 0x42, 0x16, 0xfc, 0x04, 0x57, 0xc2, 0x8b,
- 0xc0, 0x08, 0xc1, 0x49, 0x05, 0x85, 0x02, 0x80, 0x00, 0x40, 0x11, 0x03, 0x02, 0x80, 0x00, 0x4f,
- 0x12, 0x45, 0x02, 0x01, 0xf4, 0x72, 0x09, 0xa1, 0x80, 0x01, 0x13, 0x40, 0x02, 0x01, 0xf5, 0xa2,
- 0x09, 0xa1, 0x80, 0x01, 0x13, 0x3b, 0xc0, 0x60, 0x00, 0x06, 0x09, 0xa1, 0x80, 0x01, 0x13, 0x36,
- 0x05, 0x81, 0x80, 0x01, 0x13, 0x33, 0xc0, 0x4a, 0x09, 0xa1, 0x80, 0x01, 0x13, 0x2f, 0xc8, 0x00,
- 0x01, 0x6a, 0x02, 0x80, 0x00, 0x80, 0x14, 0x17, 0x02, 0x01, 0xf8, 0x00, 0xc1, 0xa0, 0x01, 0x40,
- 0x01, 0xa0, 0x01, 0x40, 0x04, 0x00, 0x02, 0x02, 0x10, 0x00, 0x02, 0x03, 0x04, 0x00, 0xcc, 0xb1,
- 0x06, 0x43, 0x16, 0xfd, 0x01, 0xa0, 0x01, 0x40, 0x40, 0x00, 0x02, 0x08, 0xf8, 0x10, 0xc8, 0x06,
- 0x01, 0x40, 0xc0, 0x00, 0x13, 0x02, 0x02, 0x08, 0xf8, 0x00, 0x02, 0x09, 0xfb, 0xfe, 0x06, 0xa0,
- 0xf4, 0x7c, 0x10, 0x25, 0x02, 0x80, 0x00, 0x80, 0x14, 0x09, 0x02, 0x01, 0xf8, 0x00, 0x02, 0x02,
- 0x10, 0x00, 0x02, 0x03, 0x04, 0x00, 0xcc, 0x72, 0x06, 0x43, 0x16, 0xfd, 0x05, 0x80, 0x02, 0x80,
- 0x00, 0x80, 0x12, 0x04, 0x01, 0x60, 0x01, 0x04, 0x00, 0x20, 0x13, 0x05, 0x81, 0x40, 0x16, 0xab,
- 0x02, 0x80, 0x00, 0x80, 0x14, 0x0b, 0x07, 0xa0, 0x01, 0x6a, 0x00, 0x7e, 0x02, 0x02, 0x10, 0x00,
- 0x02, 0x03, 0x04, 0x00, 0x04, 0xc1, 0xcc, 0x81, 0x06, 0x43, 0x16, 0xfd, 0x05, 0xca, 0x04, 0x5a,
- 0x02, 0x00, 0xf5, 0x94, 0x02, 0x01, 0xf6, 0xc4, 0x02, 0x40, 0xfc, 0x00, 0x02, 0x41, 0xfc, 0x00,
- 0x80, 0x40, 0x13, 0x04, 0x07, 0xa0, 0x01, 0x04, 0x00, 0x3c, 0x04, 0x5b, 0x04, 0xc0, 0x02, 0x01,
- 0x00, 0x08, 0x02, 0x02, 0x12, 0x00, 0xc1, 0xe0, 0x01, 0x40, 0x01, 0xa0, 0x01, 0x40, 0x04, 0x00,
- 0x02, 0x03, 0x01, 0x00, 0xc8, 0x00, 0x01, 0x6a, 0xcc, 0xa0, 0xf8, 0x10, 0x05, 0x80, 0x06, 0x03,
- 0x16, 0xf9, 0x02, 0x22, 0x02, 0x00, 0x06, 0x01, 0x16, 0xf3, 0x01, 0xa0, 0x01, 0x40, 0x40, 0x00,
- 0xc8, 0x07, 0x01, 0x40, 0x02, 0x00, 0x08, 0x00, 0xc0, 0x40, 0x06, 0x01, 0xc8, 0x01, 0x01, 0x6a,
- 0x02, 0x61, 0x80, 0x00, 0xc8, 0x01, 0xf8, 0x10, 0x06, 0x00, 0x16, 0xf6, 0x04, 0xc0, 0x04, 0xc8,
- 0x04, 0xc9, 0x02, 0x03, 0x08, 0x00, 0xc8, 0x00, 0x01, 0x6a, 0xc1, 0x80, 0x02, 0x66, 0x80, 0x00,
- 0xc1, 0x20, 0xf8, 0x10, 0x81, 0x06, 0x16, 0x15, 0xc2, 0x08, 0x13, 0x06, 0x05, 0x80, 0x06, 0x03,
- 0x16, 0xf2, 0xc2, 0x08, 0x13, 0x0d, 0x10, 0x19, 0x07, 0xa0, 0xf8, 0x10, 0x55, 0x55, 0xc1, 0x20,
- 0xf8, 0x10, 0x02, 0x84, 0x55, 0x55, 0x16, 0x02, 0xc2, 0x06, 0x10, 0xf0, 0x81, 0x06, 0x13, 0xee,
- 0x04, 0x5b, 0x07, 0xa0, 0xf8, 0x10, 0x55, 0x55, 0xc1, 0x60, 0xf8, 0x10, 0x81, 0x05, 0x13, 0x03,
- 0x02, 0x85, 0x55, 0x55, 0x16, 0xf5, 0xc2, 0x08, 0x13, 0xe1, 0xc2, 0x40, 0x06, 0x09, 0x02, 0x48,
- 0x07, 0xff, 0x04, 0xc0, 0x02, 0x01, 0x00, 0x08, 0x02, 0x02, 0x12, 0x00, 0x02, 0x03, 0x01, 0x00,
- 0xc8, 0x00, 0x01, 0x6a, 0xc8, 0x32, 0xf8, 0x10, 0x05, 0x80, 0x06, 0x03, 0x16, 0xf9, 0x02, 0x22,
- 0x02, 0x00, 0x06, 0x01, 0x16, 0xf3, 0x02, 0x88, 0x00, 0x40, 0x15, 0x13, 0x02, 0x89, 0x00, 0x4f,
- 0x11, 0x10, 0x04, 0xc0, 0x02, 0x02, 0x12, 0x00, 0x02, 0x01, 0x00, 0x08, 0x02, 0x03, 0x01, 0x00,
- 0xcc, 0x80, 0x06, 0x03, 0x16, 0xfd, 0x02, 0x22, 0x02, 0x00, 0x06, 0x01, 0x16, 0xf7, 0x05, 0xcb,
- 0x04, 0x5b, 0x07, 0xa0, 0x01, 0x04, 0x00, 0x37, 0x04, 0x5b, 0x28, 0x43, 0x29, 0x31, 0x39, 0x38,
- 0x33, 0x2d, 0x38, 0x38, 0x20, 0x42, 0x59, 0x20, 0x54, 0x49, 0xc2, 0x4b, 0x02, 0xa8, 0x00, 0x98,
- 0x07, 0x83, 0x00, 0x02, 0x02, 0x28, 0x00, 0x08, 0xc6, 0x23, 0xe4, 0xf6, 0x06, 0x48, 0xc0, 0xc4,
- 0x0a, 0x73, 0x17, 0x65, 0x06, 0xa0, 0xf7, 0xc4, 0xc1, 0xc8, 0x05, 0xc7, 0x02, 0x03, 0x00, 0xa5,
- 0x03, 0xb0, 0xcd, 0xf8, 0xcd, 0xf8, 0x02, 0xa6, 0x62, 0x06, 0x02, 0x88, 0x00, 0x0a, 0x16, 0x57,
- 0x29, 0x03, 0x16, 0x55, 0x29, 0x05, 0x80, 0xc4, 0x16, 0x52, 0x09, 0x15, 0x17, 0x50, 0x09, 0x15,
- 0x18, 0x4e, 0x02, 0x85, 0x00, 0x29, 0x16, 0x4b, 0x05, 0xc6, 0x00, 0x96, 0x07, 0x03, 0x04, 0xc4,
- 0x06, 0x45, 0x00, 0x95, 0x05, 0x44, 0x16, 0x43, 0x81, 0x44, 0x16, 0x41, 0x03, 0x00, 0x00, 0x05,
- 0x02, 0xc4, 0x03, 0x00, 0x00, 0x0a, 0x02, 0x44, 0x00, 0x0f, 0x02, 0x84, 0x00, 0x05, 0x16, 0x37,
- 0x02, 0xc4, 0x03, 0x00, 0x00, 0x0f, 0x02, 0x44, 0x00, 0x0f, 0x02, 0x84, 0x00, 0x0a, 0x16, 0x2f,
- 0x02, 0x04, 0xff, 0xfe, 0x13, 0x2c, 0x15, 0x2b, 0x1a, 0x2a, 0x05, 0x84, 0x12, 0x28, 0x15, 0x27,
- 0x1a, 0x26, 0x18, 0x25, 0x05, 0x84, 0x16, 0x23, 0x1b, 0x22, 0x17, 0x21, 0x05, 0x84, 0x13, 0x1f,
- 0x1a, 0x1e, 0x11, 0x1d, 0x06, 0x04, 0x16, 0x1b, 0x02, 0xa5, 0xc1, 0xc5, 0x02, 0x25, 0x00, 0x06,
- 0x02, 0x03, 0xa5, 0xa5, 0xc1, 0x83, 0x00, 0x95, 0x38, 0x03, 0x00, 0x94, 0x02, 0x83, 0x6b, 0x2e,
- 0x16, 0x0e, 0x02, 0x84, 0x1c, 0x59, 0x16, 0x0b, 0x02, 0x24, 0x00, 0x69, 0x00, 0x95, 0x3c, 0x03,
- 0x00, 0x94, 0x81, 0x83, 0x16, 0x04, 0x02, 0x84, 0x00, 0x69, 0x16, 0x01, 0x05, 0xc9, 0x04, 0x59,
- 0xd0, 0xc3, 0x13, 0xfd, 0x1c, 0x01, 0x10, 0xfb, 0x90, 0xe0, 0xe4, 0xfd, 0x16, 0xf8, 0x06, 0xc3,
- 0xd0, 0xc3, 0x1c, 0xf5, 0x16, 0xf4, 0x90, 0xe0, 0xe4, 0xfa, 0x16, 0xf1, 0x04, 0x5b, 0xc3, 0x0b,
- 0x02, 0x09, 0xe4, 0xfe, 0x06, 0xa0, 0xf1, 0x50, 0x05, 0xcc, 0x04, 0x5c, 0x07, 0x88, 0xb0, 0x00,
- 0x07, 0x89, 0xff, 0xfe, 0x09, 0xa8, 0x09, 0xa9, 0x07, 0x8a, 0xe0, 0x02, 0x06, 0xa0, 0xf4, 0x42,
- 0x00, 0x00, 0x07, 0x88, 0xa0, 0x00, 0x07, 0x89, 0xaf, 0xfe, 0x09, 0xa8, 0x09, 0xa9, 0x07, 0x8a,
- 0xe0, 0x78, 0x06, 0xa0, 0xf4, 0x42, 0x00, 0x00, 0x06, 0xa0, 0xf6, 0xde, 0x00, 0x00, 0x10, 0xe6,
- 0x10, 0xe5, 0x00, 0x00, 0xf8, 0x26, 0x07, 0x93, 0x00, 0x00, 0x00, 0x00, 0xff, 0xb8, 0x00, 0x48,
- 0x28, 0x43, 0x29, 0x31, 0x39, 0x38, 0x33, 0x2d, 0x38, 0x39, 0x2c, 0x39, 0x30, 0x2d, 0x39, 0x34,
- 0x20, 0x54, 0x65, 0x78, 0x61, 0x73, 0x20, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x6d, 0x65, 0x6e,
- 0x74, 0x73, 0x0a, 0x28, 0x43, 0x29, 0x31, 0x39, 0x38, 0x33, 0x2c, 0x34, 0x2c, 0x35, 0x2c, 0x36,
- 0x20, 0x49, 0x42, 0x4d, 0x20, 0x43, 0x6f, 0x72, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xa0, 0x34, 0xff, 0xb8, 0x00, 0x80, 0xb0, 0x3e, 0x20, 0x00, 0x90, 0x00, 0x0d, 0xd2, 0x45, 0x4f,
- 0x20, 0x56, 0x32, 0x32, 0x38, 0x2e, 0x31, 0x30, 0x2e, 0x31, 0x38, 0x20, 0x20, 0x28, 0x43, 0x29,
- 0x20, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x4f, 0x6c, 0x69, 0x63, 0x6f,
- 0x6d, 0x20, 0x31, 0x39, 0x39, 0x38, 0x2e, 0x00, 0x03, 0x00, 0x00, 0x02, 0xc0, 0xa0, 0x01, 0x6a,
- 0xc3, 0x0e, 0x09, 0xac, 0xc8, 0x0c, 0x01, 0x6a, 0xc3, 0x0e, 0x02, 0x4c, 0x03, 0xff, 0xd8, 0xec,
- 0xf8, 0x00, 0x13, 0xc0, 0x05, 0x83, 0x02, 0x43, 0x00, 0x3f, 0xd8, 0xec, 0xf8, 0x01, 0x13, 0xc0,
- 0xc8, 0x02, 0x01, 0x6a, 0x05, 0xce, 0x03, 0x90, 0xef, 0xff, 0x03, 0x80, 0x11, 0x08, 0xc3, 0xbc,
- 0xdf, 0xbc, 0x06, 0x0d, 0x16, 0xfd, 0x05, 0x8c, 0x01, 0x8c, 0x00, 0x01, 0x10, 0x12, 0xc3, 0xbc,
- 0xc3, 0xfc, 0x01, 0x8d, 0x80, 0x00, 0x13, 0x0d, 0x01, 0x0d, 0x40, 0x00, 0x16, 0x04, 0xdf, 0x8f,
- 0x06, 0x0d, 0x16, 0xfd, 0x10, 0x06, 0x01, 0x8d, 0x40, 0x01, 0x13, 0x03, 0xcf, 0x8f, 0x06, 0x4d,
- 0x16, 0xfd, 0xc3, 0x7c, 0x16, 0xe3, 0x04, 0x5b, 0xc1, 0x60, 0x01, 0x6c, 0x02, 0xe0, 0x07, 0x78,
- 0x04, 0xcd, 0x06, 0x9b, 0x02, 0xe0, 0x08, 0x5c, 0x01, 0x60, 0x13, 0x0c, 0x10, 0x00, 0x16, 0x0e,
- 0xc8, 0x0d, 0x01, 0x6c, 0x07, 0x0f, 0x03, 0x00, 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02,
- 0x88, 0x0f, 0xfc, 0x06, 0x13, 0xf8, 0xd8, 0x20, 0xe0, 0x0a, 0xfc, 0x06, 0xc8, 0x05, 0x01, 0x6c,
- 0x07, 0x8f, 0xfc, 0x00, 0xc1, 0x5f, 0x13, 0xe0, 0x04, 0xff, 0x07, 0xbf, 0x81, 0x00, 0x07, 0x20,
- 0xff, 0xfe, 0xc7, 0xc2, 0x03, 0x00, 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02, 0xd3, 0xe0,
- 0x01, 0x03, 0x13, 0xf8, 0xc2, 0x8a, 0x16, 0x23, 0xc8, 0x0d, 0x01, 0x8c, 0xc2, 0xcd, 0xc3, 0x20,
- 0x01, 0x6c, 0x07, 0x8a, 0x00, 0x01, 0xd2, 0x8e, 0x15, 0x2d, 0x05, 0xa0, 0x10, 0x84, 0x07, 0x8d,
- 0x01, 0x04, 0x01, 0x5d, 0x21, 0x00, 0x16, 0x03, 0x07, 0x9d, 0xde, 0x8c, 0x10, 0x25, 0x01, 0x5d,
- 0x01, 0x00, 0x16, 0x22, 0xc3, 0xdd, 0x01, 0xcf, 0xff, 0x00, 0x01, 0x8f, 0x04, 0x80, 0xc7, 0x4f,
- 0x01, 0x5d, 0x20, 0x00, 0x13, 0xf1, 0x01, 0xe0, 0x07, 0x78, 0x80, 0x00, 0x10, 0x15, 0xc3, 0xe0,
- 0x01, 0x6c, 0xc8, 0x09, 0x01, 0x6c, 0x13, 0x08, 0xc8, 0x0d, 0xfc, 0x00, 0xc2, 0x4f, 0x05, 0x87,
- 0xf1, 0xce, 0xc3, 0x8e, 0x11, 0xda, 0x10, 0x06, 0xc2, 0x0d, 0xc2, 0x4f, 0x07, 0x87, 0x00, 0x01,
- 0xd1, 0xce, 0x11, 0xd3, 0x05, 0xa0, 0x10, 0x84, 0xc8, 0x06, 0x07, 0x92, 0x07, 0x81, 0x01, 0x0a,
- 0x01, 0x60, 0x13, 0x0c, 0x10, 0x00, 0x16, 0x04, 0xc8, 0x05, 0x01, 0x6c, 0x07, 0x20, 0xfc, 0x06,
- 0x03, 0x90, 0xa0, 0x07, 0x02, 0xe0, 0x07, 0x78, 0x06, 0x9b, 0x02, 0xe0, 0x08, 0x5c, 0xcc, 0x66,
- 0x00, 0x04, 0xcc, 0x43, 0xcc, 0x76, 0xcc, 0x76, 0xc8, 0x44, 0x00, 0x02, 0xc4, 0x45, 0x07, 0xa1,
- 0xff, 0xee, 0x60, 0x81, 0xc3, 0x45, 0xc0, 0xb6, 0x80, 0xc2, 0x1b, 0x63, 0xc3, 0x96, 0x04, 0xf6,
- 0x02, 0x46, 0xfe, 0xf8, 0x01, 0x4e, 0x40, 0x00, 0x16, 0x02, 0x04, 0x60, 0x90, 0xaa, 0x07, 0x81,
- 0x01, 0x0a, 0xa1, 0x02, 0xc0, 0x83, 0x02, 0x22, 0x00, 0x06, 0x60, 0x84, 0x15, 0x25, 0x07, 0x84,
- 0x00, 0x06, 0xc0, 0x83, 0xc8, 0x05, 0x01, 0x6c, 0xc8, 0x02, 0xfc, 0x04, 0x07, 0xa0, 0xfc, 0x02,
- 0x80, 0x00, 0x04, 0xe0, 0xff, 0xfe, 0xc1, 0x60, 0x01, 0x6c, 0xc8, 0x06, 0x07, 0x92, 0x02, 0xe0,
- 0x07, 0x78, 0x06, 0x9b, 0x02, 0xe0, 0x08, 0x5c, 0xc8, 0x05, 0x01, 0x6c, 0xc1, 0x60, 0xfc, 0x00,
- 0x16, 0x16, 0x10, 0xf1, 0xc8, 0x06, 0x07, 0x92, 0x03, 0x90, 0x80, 0x03, 0x02, 0xe0, 0x07, 0x78,
- 0x06, 0x9b, 0x02, 0xe0, 0x08, 0x5c, 0x10, 0x0b, 0xc3, 0xe6, 0x00, 0x06, 0x13, 0xf3, 0x03, 0x00,
- 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02, 0xd3, 0xe0, 0x01, 0x03, 0x13, 0xf8, 0xcc, 0x66,
- 0x00, 0x04, 0xcc, 0x42, 0xcc, 0x76, 0xcc, 0x76, 0xc8, 0x44, 0x00, 0x02, 0xc4, 0x45, 0x07, 0xa1,
- 0xff, 0xee, 0x60, 0x81, 0x05, 0xa0, 0x10, 0x84, 0x65, 0x82, 0x15, 0x0e, 0xa0, 0xb6, 0xc3, 0x96,
- 0x04, 0xf6, 0x02, 0x46, 0xfe, 0xf8, 0x01, 0x4e, 0x40, 0x00, 0x16, 0xb1, 0xa0, 0x84, 0x07, 0x84,
- 0x00, 0x06, 0x60, 0x84, 0x04, 0x60, 0x90, 0xaa, 0x02, 0x26, 0xff, 0xfc, 0xc0, 0x36, 0xc0, 0x76,
- 0x10, 0x06, 0x02, 0x26, 0xff, 0xfa, 0xc0, 0x36, 0xc0, 0x76, 0xc0, 0x83, 0x65, 0x82, 0x07, 0x84,
- 0x00, 0x06, 0xa0, 0x42, 0x17, 0x01, 0x05, 0x80, 0xc8, 0x05, 0x01, 0x6c, 0x07, 0x8f, 0xfc, 0x00,
- 0xc1, 0x7f, 0x16, 0x09, 0xc1, 0x60, 0x01, 0x6c, 0x02, 0xe0, 0x07, 0x78, 0x04, 0xcd, 0x06, 0x9b,
- 0x02, 0xe0, 0x08, 0x5c, 0x10, 0xf1, 0x07, 0xbf, 0x80, 0x00, 0x04, 0xe0, 0xff, 0xfe, 0xc7, 0xc3,
- 0xc0, 0xb6, 0xc3, 0x96, 0x04, 0xf6, 0x02, 0x46, 0xfe, 0xf8, 0x27, 0xa0, 0x08, 0x98, 0x13, 0x0d,
- 0xc3, 0xc5, 0xc8, 0x0e, 0x08, 0x8e, 0xc3, 0xa0, 0x08, 0x90, 0xc0, 0xee, 0xff, 0xfe, 0x05, 0xa0,
- 0x08, 0xa0, 0x16, 0x32, 0x05, 0xa0, 0x08, 0x9e, 0x10, 0x2f, 0x07, 0x83, 0x03, 0xf8, 0x06, 0x20,
- 0x08, 0x9c, 0x13, 0x02, 0x04, 0x60, 0x95, 0x0c, 0xc3, 0xe0, 0x08, 0x9a, 0x83, 0xe0, 0x08, 0x98,
- 0x13, 0x08, 0xc8, 0x0f, 0x08, 0x98, 0x04, 0xe0, 0x08, 0x9e, 0x04, 0xe0, 0x08, 0xa0, 0x27, 0x8f,
- 0x16, 0xdf, 0x04, 0x60, 0x95, 0x0c, 0xc8, 0x0f, 0x01, 0x6c, 0x07, 0xa0, 0xfc, 0x02, 0x80, 0x00,
- 0x04, 0xe0, 0xff, 0xfe, 0x04, 0xe0, 0xfc, 0x04, 0xc8, 0x3e, 0xfc, 0x06, 0xc3, 0xe0, 0xfc, 0x00,
- 0x16, 0x0b, 0xc3, 0xe0, 0x01, 0x6c, 0x02, 0xe0, 0x07, 0x78, 0x04, 0xcd, 0x06, 0x9b, 0x02, 0xe0,
- 0x08, 0x5c, 0xc8, 0x0f, 0x01, 0x6c, 0x10, 0xf2, 0x60, 0x9e, 0x87, 0x82, 0x15, 0xe4, 0xa0, 0x9e,
- 0x02, 0x82, 0x00, 0xe0, 0x15, 0x1b, 0x02, 0x82, 0x00, 0x70, 0x15, 0x35, 0xc3, 0xa0, 0x08, 0x8e,
- 0x03, 0x00, 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02, 0xd3, 0xe0, 0x01, 0x03, 0x13, 0xf8,
- 0x07, 0x8f, 0x01, 0x0a, 0xcf, 0xc2, 0x07, 0x3f, 0xcf, 0xc0, 0xcf, 0xc1, 0xcb, 0xc4, 0x00, 0x02,
- 0xc7, 0xc5, 0x07, 0xaf, 0xff, 0xee, 0x60, 0x81, 0x04, 0x60, 0x90, 0xaa, 0xc8, 0x0f, 0x01, 0x6c,
- 0x07, 0xa0, 0xfc, 0x02, 0x80, 0x00, 0x04, 0xe0, 0xff, 0xfe, 0x04, 0xe0, 0xfc, 0x04, 0xc3, 0xc2,
- 0x09, 0x2f, 0xa3, 0xcf, 0xc8, 0x0f, 0xfc, 0x06, 0x60, 0x8f, 0xc3, 0xe0, 0xfc, 0x00, 0x16, 0x0b,
- 0xc3, 0xe0, 0x01, 0x6c, 0x02, 0xe0, 0x07, 0x78, 0x04, 0xcd, 0x06, 0x9b, 0x02, 0xe0, 0x08, 0x5c,
- 0xc8, 0x0f, 0x01, 0x6c, 0x10, 0xf2, 0xc8, 0x0f, 0x01, 0x6c, 0x07, 0xa0, 0xfc, 0x02, 0x80, 0x00,
- 0x04, 0xe0, 0xff, 0xfe, 0x04, 0xe0, 0xfc, 0x04, 0x01, 0xc2, 0x80, 0x00, 0xc8, 0x02, 0xfc, 0x06,
- 0xc3, 0xe0, 0xfc, 0x00, 0x16, 0x0b, 0xc3, 0xe0, 0x01, 0x6c, 0x02, 0xe0, 0x07, 0x78, 0x04, 0xcd,
- 0x06, 0x9b, 0x02, 0xe0, 0x08, 0x5c, 0xc8, 0x0f, 0x01, 0x6c, 0x10, 0xf2, 0xc8, 0x0f, 0x01, 0x6c,
- 0x07, 0xa0, 0xfc, 0x02, 0x80, 0x00, 0x04, 0xe0, 0xff, 0xfe, 0x04, 0xe0, 0xfc, 0x04, 0xc3, 0x8f,
- 0xc3, 0xe0, 0xfc, 0x00, 0x16, 0x0b, 0xc3, 0xe0, 0x01, 0x6c, 0x02, 0xe0, 0x07, 0x78, 0x04, 0xcd,
- 0x06, 0x9b, 0x02, 0xe0, 0x08, 0x5c, 0xc8, 0x0f, 0x01, 0x6c, 0x10, 0xf2, 0xc8, 0x05, 0x01, 0x6c,
- 0xc0, 0xa0, 0xfc, 0x06, 0x15, 0x0f, 0x01, 0x82, 0x80, 0x00, 0xc3, 0xc2, 0x06, 0x0f, 0x01, 0x8f,
- 0x00, 0x01, 0xc8, 0x0f, 0x08, 0x5a, 0xc8, 0x0f, 0xfc, 0x04, 0x63, 0xc2, 0x05, 0x0f, 0xc8, 0x0f,
- 0x08, 0x58, 0x10, 0x05, 0x07, 0xa0, 0x00, 0x1a, 0x95, 0x3e, 0xc8, 0x02, 0xfc, 0x04, 0x03, 0x00,
- 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02, 0xd3, 0xe0, 0x01, 0x03, 0x13, 0xf8, 0x04, 0xe0,
- 0x01, 0x02, 0x07, 0x8f, 0x01, 0x0a, 0x07, 0x3f, 0xcf, 0xc2, 0xcf, 0xc0, 0xcf, 0xc1, 0xcb, 0xc4,
- 0x00, 0x02, 0xc7, 0xc5, 0x07, 0xaf, 0xff, 0xee, 0x68, 0x81, 0x01, 0x60, 0x13, 0x0c, 0x10, 0x00,
- 0x16, 0x05, 0xc8, 0x0d, 0x01, 0x6c, 0xd8, 0x20, 0xe0, 0x0a, 0xfc, 0x06, 0xc2, 0x8a, 0x16, 0x13,
- 0xc8, 0x0d, 0x01, 0x8c, 0xc2, 0xcd, 0xc3, 0x0e, 0x07, 0x8a, 0x00, 0x01, 0xc3, 0xa0, 0x08, 0x8e,
- 0xd2, 0x8e, 0x03, 0x00, 0x00, 0x0f, 0x01, 0x60, 0x01, 0x00, 0x08, 0x00, 0x13, 0xfc, 0x03, 0x00,
- 0x00, 0x02, 0x04, 0x60, 0x91, 0x54, 0xc8, 0x09, 0x01, 0x6c, 0x13, 0x08, 0xc8, 0x0d, 0xfc, 0x00,
- 0xc2, 0x4e, 0x05, 0x87, 0xc3, 0xa0, 0x08, 0x8e, 0xf1, 0xce, 0x10, 0xeb, 0xc2, 0x0d, 0xc2, 0x4e,
- 0x07, 0x87, 0x00, 0x01, 0xc3, 0xa0, 0x08, 0x8e, 0xd1, 0xce, 0x10, 0xe3, 0xa0, 0x43, 0x17, 0x01,
- 0x05, 0x80, 0xc8, 0x05, 0x01, 0x6c, 0x07, 0x8f, 0xfc, 0x00, 0xc1, 0x7f, 0x16, 0x09, 0xc1, 0x60,
- 0x01, 0x6c, 0x02, 0xe0, 0x07, 0x78, 0x04, 0xcd, 0x06, 0x9b, 0x02, 0xe0, 0x08, 0x5c, 0x10, 0xf1,
- 0x07, 0xbf, 0x80, 0x00, 0x04, 0xe0, 0xff, 0xfe, 0xc7, 0xc3, 0x03, 0x00, 0x00, 0x0f, 0x03, 0xd0,
- 0x03, 0x00, 0x00, 0x02, 0xd3, 0xe0, 0x01, 0x03, 0x13, 0xf8, 0x07, 0x8f, 0x01, 0x0a, 0xcf, 0xc2,
- 0xcf, 0xc3, 0xcf, 0xc0, 0xcf, 0xc1, 0xcb, 0xc4, 0x00, 0x02, 0xc7, 0xc5, 0x07, 0xaf, 0xff, 0xee,
- 0x60, 0x81, 0x60, 0x83, 0x15, 0xd3, 0xa0, 0x83, 0x04, 0x60, 0x91, 0xb6, 0x03, 0x00, 0x00, 0x02,
- 0xc8, 0x0c, 0x01, 0x6a, 0xc3, 0x20, 0xf8, 0x00, 0xc8, 0x0c, 0x01, 0x6a, 0xc1, 0xa0, 0xf8, 0x06,
- 0x11, 0x10, 0xc8, 0x06, 0xf8, 0x04, 0x04, 0xe4, 0xff, 0xf6, 0xcd, 0x06, 0x02, 0x24, 0x00, 0x04,
- 0xc9, 0x0b, 0x00, 0x02, 0xc5, 0x0c, 0x07, 0xa4, 0xff, 0xee, 0x68, 0x81, 0x03, 0x90, 0x0a, 0x07,
- 0x03, 0x80, 0x01, 0x86, 0x80, 0x00, 0xc1, 0x46, 0x06, 0x06, 0x01, 0x86, 0x00, 0x01, 0xc8, 0x06,
- 0xf8, 0x04, 0x04, 0xe4, 0xff, 0xf6, 0xcd, 0x05, 0x02, 0x24, 0x00, 0x04, 0xc9, 0x0b, 0x00, 0x02,
- 0xc5, 0x0c, 0x07, 0xa4, 0xff, 0xee, 0x68, 0x81, 0x61, 0x46, 0x07, 0xa0, 0x00, 0x1a, 0x95, 0xa8,
- 0x03, 0x90, 0x08, 0x07, 0x03, 0x80, 0x03, 0x00, 0x00, 0x02, 0xc8, 0x0c, 0x01, 0x6a, 0xc1, 0xa6,
- 0xf8, 0x06, 0xc3, 0x20, 0xf8, 0x00, 0xc8, 0x0c, 0x01, 0x6a, 0xc8, 0x06, 0xf8, 0x06, 0xc8, 0x05,
- 0xf8, 0x04, 0xc3, 0x20, 0xf8, 0x00, 0x04, 0xe0, 0xf8, 0x00, 0x07, 0xa0, 0xf8, 0x02, 0x81, 0x00,
- 0x07, 0x20, 0xfb, 0xfe, 0x07, 0xa0, 0x01, 0x00, 0x20, 0x81, 0x03, 0x90, 0x02, 0x07, 0x03, 0x80,
- 0xc2, 0x84, 0xc3, 0x0a, 0xc8, 0x0a, 0x01, 0x6a, 0x01, 0x20, 0xf8, 0x02, 0x81, 0x00, 0x13, 0x09,
- 0x01, 0x20, 0xf8, 0x02, 0xfe, 0x00, 0x16, 0x0a, 0xc2, 0xa0, 0xf8, 0x00, 0x16, 0xf2, 0x06, 0xa0,
- 0x97, 0xb6, 0xc2, 0xa0, 0xf8, 0x00, 0x16, 0xee, 0x06, 0xa0, 0x97, 0xb6, 0xc2, 0xa0, 0xf8, 0x02,
- 0x11, 0x09, 0x01, 0x0a, 0x02, 0x00, 0x16, 0x55, 0x01, 0x0a, 0x14, 0x00, 0x13, 0x5f, 0x01, 0x4a,
- 0x10, 0x00, 0x16, 0x33, 0x07, 0x0a, 0x26, 0xa0, 0x08, 0x9e, 0x16, 0x02, 0xc2, 0xa0, 0x08, 0xa0,
- 0x09, 0x5a, 0x05, 0x0a, 0x02, 0x2a, 0x08, 0x10, 0xc8, 0x0a, 0x08, 0x9c, 0x04, 0xe0, 0x08, 0x98,
- 0x07, 0x8a, 0x7f, 0xfe, 0x98, 0x0a, 0x07, 0x2c, 0x13, 0x0a, 0x98, 0x0a, 0x07, 0x20, 0x13, 0x07,
- 0x06, 0xca, 0x98, 0x0a, 0x07, 0x2c, 0x13, 0x03, 0x98, 0x0a, 0x07, 0x20, 0x16, 0x0a, 0x01, 0xe0,
- 0x06, 0xd2, 0x08, 0x00, 0x01, 0xe0, 0x06, 0x34, 0x08, 0x00, 0x04, 0xe0, 0x06, 0x30, 0x04, 0xcb,
- 0x10, 0x0c, 0x07, 0x8a, 0x01, 0x00, 0xb8, 0x0a, 0x07, 0x2c, 0x17, 0x02, 0x78, 0x0a, 0x07, 0x2c,
- 0xb8, 0x0a, 0x07, 0x20, 0x17, 0x02, 0x78, 0x0a, 0x07, 0x20, 0xc2, 0xa0, 0xfb, 0xfe, 0x02, 0x4a,
- 0x01, 0x00, 0x01, 0xca, 0x80, 0x00, 0xc8, 0x0a, 0xf8, 0x02, 0xc8, 0x0c, 0x01, 0x6a, 0xc2, 0xa0,
- 0xf8, 0x02, 0x11, 0x07, 0x07, 0xa0, 0xf8, 0x02, 0x80, 0x00, 0xc8, 0x20, 0xf8, 0x00, 0x01, 0x6a,
- 0x10, 0xf6, 0x07, 0x8a, 0x01, 0x8c, 0xc6, 0x8c, 0xc2, 0xcb, 0x03, 0x90, 0xff, 0xdf, 0x13, 0x32,
- 0x03, 0x80, 0x01, 0x4a, 0x06, 0x00, 0x13, 0x0a, 0x01, 0xe0, 0x06, 0xd2, 0x02, 0x00, 0x01, 0xe0,
- 0x06, 0x34, 0x08, 0x00, 0x04, 0xe0, 0x06, 0x30, 0x01, 0xcb, 0x00, 0x01, 0x88, 0x05, 0x01, 0x6a,
- 0x13, 0x1a, 0xc3, 0x20, 0xfb, 0xfe, 0x16, 0x08, 0x04, 0xe0, 0xf8, 0x02, 0xc8, 0x20, 0xf8, 0x00,
- 0x01, 0x6a, 0x16, 0xf4, 0x06, 0xa0, 0x97, 0xb6, 0xd2, 0xa0, 0xe0, 0x12, 0xc8, 0x0a, 0xf8, 0x02,
- 0xc3, 0x20, 0xf8, 0x00, 0x13, 0x06, 0xc2, 0xa0, 0xf8, 0x02, 0x11, 0xd3, 0xc2, 0x8c, 0x04, 0x60,
- 0x95, 0xe6, 0x06, 0xa0, 0x97, 0xb6, 0xc8, 0x0a, 0xf8, 0x02, 0x07, 0x8a, 0x01, 0x8c, 0x01, 0x4b,
- 0x00, 0x01, 0x04, 0x5b, 0x07, 0x8b, 0x00, 0xda, 0xce, 0xcd, 0xce, 0xce, 0xc6, 0xcf, 0x02, 0xe0,
- 0x00, 0xc0, 0x04, 0x54, 0x06, 0xa0, 0x95, 0xe2, 0x16, 0x25, 0xc0, 0x82, 0x13, 0x0b, 0xc6, 0x81,
- 0xc8, 0x09, 0x01, 0x6a, 0xc8, 0x04, 0xf8, 0x00, 0xc2, 0x45, 0xc1, 0x01, 0xc1, 0x42, 0x04, 0xc2,
- 0xc0, 0xc0, 0x10, 0xe8, 0xc8, 0x09, 0x01, 0x6a, 0xc8, 0x04, 0xf8, 0x00, 0xc2, 0x45, 0x04, 0xc3,
- 0x10, 0xe1, 0x03, 0x90, 0xff, 0xff, 0x03, 0x80, 0x03, 0x00, 0x00, 0x02, 0x86, 0x8a, 0x01, 0x60,
- 0x01, 0x9c, 0x40, 0x00, 0x16, 0xf6, 0x86, 0x8a, 0xc8, 0x05, 0x01, 0x6a, 0x01, 0x20, 0xf8, 0x02,
- 0xfe, 0x00, 0x16, 0xd8, 0xc0, 0x82, 0x13, 0x0d, 0xc6, 0x81, 0xc8, 0x09, 0x01, 0x6a, 0xc8, 0x04,
- 0xf8, 0x00, 0xc2, 0x45, 0xc1, 0x01, 0xc1, 0x42, 0x04, 0xc2, 0xc0, 0xc0, 0x03, 0x90, 0x00, 0x1f,
- 0x03, 0x80, 0xc8, 0x09, 0x01, 0x6a, 0xc8, 0x04, 0xf8, 0x00, 0xc2, 0x45, 0x04, 0xc3, 0x03, 0x90,
- 0x00, 0x1f, 0x03, 0x80, 0x02, 0xe0, 0x08, 0x6a, 0xc2, 0x8b, 0x02, 0x2a, 0xff, 0xfc, 0x04, 0x60,
- 0xb3, 0x8a, 0xc0, 0x82, 0x13, 0x07, 0xc6, 0x81, 0xc8, 0x09, 0x01, 0x6a, 0xc8, 0x04, 0xf8, 0x00,
- 0xc2, 0x45, 0x10, 0x06, 0xc8, 0x09, 0x01, 0x6a, 0xc8, 0x04, 0xf8, 0x00, 0xc2, 0x45, 0x04, 0xc0,
- 0x06, 0xa0, 0x99, 0x16, 0xc0, 0xc0, 0xc1, 0x01, 0xc1, 0x42, 0x04, 0xc2, 0x10, 0x9b, 0x03, 0x90,
- 0xff, 0xff, 0x03, 0x80, 0x03, 0x00, 0x00, 0x02, 0x86, 0x8a, 0x01, 0x60, 0x01, 0x9c, 0x40, 0x00,
- 0x16, 0xf6, 0x86, 0x8a, 0xc8, 0x05, 0x01, 0x6a, 0x01, 0x20, 0xf8, 0x02, 0xfe, 0x00, 0x13, 0x03,
- 0x06, 0xa0, 0x95, 0xe2, 0x13, 0xd6, 0xc0, 0x82, 0x13, 0x07, 0xc6, 0x81, 0xc8, 0x09, 0x01, 0x6a,
- 0xc8, 0x04, 0xf8, 0x00, 0xc2, 0x45, 0x10, 0x06, 0xc8, 0x09, 0x01, 0x6a, 0xc8, 0x04, 0xf8, 0x00,
- 0xc2, 0x45, 0x04, 0xc0, 0x06, 0xa0, 0x99, 0x16, 0xc0, 0xc0, 0xc1, 0x01, 0xc1, 0x42, 0x04, 0xc2,
- 0x03, 0x90, 0x00, 0x1f, 0x03, 0x80, 0x03, 0x90, 0xff, 0xff, 0x03, 0x80, 0x03, 0x00, 0x00, 0x02,
- 0x88, 0x08, 0x01, 0x8c, 0x01, 0x60, 0x01, 0x9c, 0x40, 0x00, 0x16, 0xf5, 0x88, 0x08, 0x01, 0x8c,
- 0xc0, 0xe0, 0x01, 0x6c, 0xc2, 0x20, 0x05, 0xf4, 0x13, 0x02, 0x04, 0x60, 0xb9, 0x4c, 0x02, 0xe0,
- 0x08, 0x6a, 0x01, 0x03, 0x00, 0xff, 0x13, 0x11, 0x01, 0x43, 0x04, 0x00, 0x13, 0x0e, 0xc8, 0x09,
- 0x01, 0x6a, 0xc8, 0x04, 0xf8, 0x00, 0xc2, 0x45, 0xc1, 0x60, 0x08, 0x96, 0x02, 0x85, 0x97, 0xf6,
- 0x16, 0x02, 0x06, 0xa0, 0x99, 0x16, 0x02, 0x43, 0x03, 0x00, 0x02, 0xe0, 0x00, 0xe0, 0x01, 0x20,
- 0x08, 0x70, 0x01, 0x00, 0x16, 0x2f, 0xc2, 0x20, 0x05, 0xf4, 0x16, 0x2c, 0xc2, 0x60, 0x05, 0xf0,
- 0x13, 0x12, 0xc8, 0x19, 0x05, 0xf0, 0xc2, 0xa9, 0x00, 0x0a, 0x11, 0x02, 0xf2, 0xa0, 0x09, 0x2e,
- 0xd8, 0x0a, 0x01, 0x80, 0xc8, 0x29, 0x00, 0x06, 0x01, 0x8c, 0x07, 0xa0, 0x09, 0x16, 0x00, 0x04,
- 0xc8, 0x09, 0x05, 0xf4, 0x10, 0x17, 0x02, 0xe0, 0x08, 0x6a, 0x01, 0x83, 0x06, 0x00, 0x16, 0x05,
- 0xc1, 0x42, 0x13, 0x08, 0xc0, 0xc0, 0xc1, 0x01, 0x04, 0xc2, 0xd8, 0x20, 0x09, 0x2e, 0x01, 0x80,
- 0xc8, 0x04, 0x01, 0x8c, 0x02, 0xe0, 0x00, 0xe0, 0x07, 0xa0, 0x00, 0x14, 0x08, 0x6a, 0xc8, 0x20,
- 0x08, 0x96, 0x00, 0x16, 0xc8, 0x03, 0x01, 0x6c, 0x11, 0x03, 0x03, 0x90, 0x11, 0xff, 0x03, 0x80,
- 0x04, 0x60, 0xb9, 0xc0, 0xc8, 0x04, 0x01, 0x6a, 0x10, 0x03, 0xc8, 0x20, 0xf8, 0x00, 0x01, 0x6a,
- 0xc3, 0x20, 0xf8, 0x02, 0x01, 0x4c, 0x01, 0x00, 0x16, 0xf8, 0xc1, 0x60, 0x10, 0x86, 0x02, 0x45,
- 0x00, 0x1f, 0x06, 0xcc, 0xd9, 0x4c, 0x10, 0x88, 0x13, 0x0d, 0x05, 0xa0, 0x10, 0x86, 0x06, 0x03,
- 0x01, 0x03, 0x00, 0xff, 0x13, 0x52, 0xc1, 0x20, 0xf8, 0x00, 0xc8, 0x04, 0x01, 0x6a, 0x16, 0xe8,
- 0x06, 0xa0, 0x97, 0xb6, 0x01, 0x0c, 0x00, 0xfe, 0x16, 0xf0, 0xc3, 0x20, 0x01, 0x6a, 0xc8, 0x04,
- 0x01, 0x6a, 0x01, 0x20, 0xf8, 0x0e, 0x80, 0x00, 0x13, 0x07, 0xc1, 0x20, 0xf8, 0x14, 0x01, 0x84,
- 0x60, 0xff, 0x02, 0x84, 0x02, 0x00, 0x1b, 0x33, 0xc1, 0x20, 0xf8, 0x08, 0x11, 0x0c, 0x88, 0x20,
- 0xf8, 0x0c, 0x01, 0xa4, 0x16, 0x2f, 0x88, 0x20, 0xf8, 0x0a, 0x01, 0xa2, 0x16, 0x2b, 0x88, 0x04,
- 0x01, 0xa0, 0x13, 0x25, 0x10, 0x27, 0xc1, 0x20, 0xf8, 0x0a, 0x11, 0x09, 0x25, 0x20, 0x01, 0xac,
- 0x16, 0x1e, 0xc1, 0x20, 0xf8, 0x0c, 0x25, 0x20, 0x01, 0xae, 0x16, 0x19, 0x10, 0x1b, 0x02, 0x84,
- 0xff, 0xff, 0x16, 0x0a, 0x88, 0x04, 0xf8, 0x0c, 0x16, 0x07, 0x41, 0x20, 0xf8, 0x08, 0x13, 0x0f,
- 0x02, 0x84, 0x3f, 0xff, 0x13, 0x0c, 0x10, 0x0e, 0x88, 0x04, 0x01, 0xa8, 0x16, 0x0b, 0x88, 0x20,
- 0xf8, 0x0c, 0x01, 0xaa, 0x16, 0x07, 0x88, 0x20, 0xf8, 0x08, 0x01, 0xa6, 0x16, 0x03, 0xd9, 0x60,
- 0xee, 0xa8, 0x10, 0x88, 0xc8, 0x0c, 0x01, 0x6a, 0x10, 0xa8, 0x01, 0x43, 0x20, 0x00, 0x16, 0x07,
- 0x07, 0x85, 0x01, 0x04, 0x01, 0x55, 0x21, 0x00, 0x16, 0x03, 0x07, 0x95, 0xde, 0x8c, 0x04, 0x5b,
- 0x01, 0x55, 0x01, 0x00, 0x16, 0xfc, 0xc1, 0x15, 0x01, 0xc4, 0xff, 0x00, 0x01, 0x84, 0x04, 0x80,
- 0xc5, 0x44, 0x01, 0x55, 0x20, 0x00, 0x13, 0xf1, 0x01, 0xe0, 0x07, 0x78, 0x80, 0x00, 0x04, 0x5b,
- 0x03, 0x00, 0x00, 0x02, 0xc2, 0x0b, 0xc3, 0x20, 0x05, 0xf4, 0x16, 0x08, 0xc3, 0x20, 0x08, 0x70,
- 0x01, 0x0c, 0x00, 0xff, 0x13, 0x1a, 0x01, 0x4c, 0x04, 0x00, 0x13, 0x17, 0xc2, 0xa8, 0x00, 0x0a,
- 0x01, 0x4a, 0x00, 0x10, 0x16, 0x46, 0x01, 0x4a, 0x80, 0x00, 0x16, 0x19, 0xc3, 0x08, 0x06, 0xa0,
- 0x9a, 0xf4, 0xc2, 0x0c, 0xc3, 0x20, 0x05, 0xf4, 0x16, 0x12, 0xc3, 0x20, 0x08, 0x70, 0x01, 0x0c,
- 0x00, 0xff, 0x13, 0x03, 0x01, 0x4c, 0x04, 0x00, 0x16, 0x0a, 0x01, 0x68, 0x00, 0x0a, 0x00, 0x10,
- 0x13, 0x03, 0x01, 0x0c, 0x01, 0x00, 0x16, 0x2d, 0x06, 0xa0, 0xbc, 0x40, 0x10, 0x04, 0x07, 0x87,
- 0x05, 0xf0, 0x06, 0xa0, 0xc2, 0x8a, 0x01, 0xe0, 0x08, 0x70, 0x02, 0x00, 0x07, 0xa0, 0x00, 0x14,
- 0x00, 0xe0, 0x07, 0xa0, 0x00, 0x16, 0x98, 0x4e, 0x03, 0x90, 0xff, 0xff, 0x03, 0x80, 0xa8, 0xc3,
- 0xa9, 0xa0, 0xcf, 0xec, 0xe9, 0xe3, 0xef, 0xed, 0xa0, 0xb1, 0xb9, 0xb9, 0xb6, 0x00, 0x03, 0x00,
- 0x00, 0x02, 0xc2, 0x20, 0x08, 0x70, 0x16, 0x0c, 0xd8, 0x20, 0x09, 0x2e, 0x01, 0x80, 0xc8, 0x2b,
- 0x00, 0x06, 0x01, 0x8c, 0x07, 0xa0, 0x09, 0x16, 0x00, 0x04, 0xc8, 0x0b, 0x05, 0xf4, 0x10, 0x05,
- 0xc2, 0x0b, 0x07, 0x87, 0x05, 0xf0, 0x06, 0xa0, 0xc2, 0x44, 0x01, 0xe0, 0x08, 0x70, 0x02, 0x00,
- 0x07, 0xa0, 0x00, 0x14, 0x00, 0xe0, 0x07, 0xa0, 0x00, 0x16, 0x98, 0x4e, 0x03, 0x90, 0xff, 0xff,
- 0x03, 0x80, 0xc2, 0x20, 0x05, 0xf4, 0x13, 0x02, 0x04, 0x60, 0xbc, 0x04, 0x02, 0xa8, 0xc8, 0x08,
- 0x08, 0x84, 0x02, 0xe0, 0x08, 0x6a, 0x01, 0x03, 0x00, 0xff, 0x13, 0x22, 0x01, 0x43, 0x04, 0x00,
- 0x13, 0x1f, 0x01, 0xe0, 0x01, 0x9c, 0x40, 0x00, 0x0b, 0xab, 0x0b, 0xab, 0x01, 0x60, 0x01, 0x9c,
- 0x40, 0x00, 0x16, 0x16, 0xc8, 0x04, 0x01, 0x6a, 0xc2, 0xe0, 0xf8, 0x02, 0x11, 0x0f, 0xc8, 0x09,
- 0x01, 0x6a, 0xc8, 0x04, 0xf8, 0x00, 0xc2, 0x45, 0xc1, 0x60, 0x08, 0x96, 0x02, 0x85, 0x97, 0xf6,
- 0x16, 0x02, 0x06, 0xa0, 0x99, 0x16, 0x02, 0x43, 0x03, 0x00, 0x10, 0x02, 0x01, 0xc3, 0x04, 0x00,
- 0x00, 0x9d, 0x04, 0x5b, 0x03, 0x00, 0x00, 0x02, 0x07, 0x87, 0x05, 0xf0, 0xc2, 0xcb, 0x16, 0x0f,
- 0x06, 0xa0, 0x9a, 0xf4, 0x01, 0xe0, 0x08, 0x70, 0x01, 0x00, 0x07, 0xa0, 0x00, 0x14, 0x00, 0xe0,
- 0x07, 0xa0, 0x00, 0x16, 0x98, 0x4e, 0xcb, 0x60, 0x05, 0xf4, 0x00, 0x02, 0x03, 0x80, 0xc2, 0x20,
- 0x08, 0x70, 0x01, 0x88, 0x01, 0x00, 0xc8, 0x08, 0x08, 0x70, 0x01, 0x08, 0x04, 0x00, 0x16, 0x03,
- 0x01, 0x08, 0x00, 0xff, 0x16, 0x08, 0xc2, 0x20, 0x05, 0xf4, 0x16, 0x05, 0xc2, 0x17, 0x13, 0x04,
- 0xc5, 0xd8, 0x06, 0xa0, 0xbc, 0x40, 0x03, 0x80, 0x02, 0xe0, 0x08, 0x6a, 0x01, 0x83, 0x06, 0x00,
- 0x16, 0x05, 0xc1, 0x42, 0x13, 0x08, 0xc0, 0xc0, 0xc1, 0x01, 0x04, 0xc2, 0xd8, 0x20, 0x09, 0x2e,
- 0x01, 0x80, 0xc8, 0x04, 0x01, 0x8c, 0x02, 0xe0, 0x00, 0xc0, 0x07, 0xa0, 0x00, 0x14, 0x08, 0x6a,
- 0xc8, 0x20, 0x08, 0x96, 0x00, 0x16, 0x03, 0x80, 0xc8, 0x01, 0x01, 0x6a, 0x13, 0x05, 0xc2, 0xe0,
- 0xf8, 0x02, 0x11, 0x02, 0x06, 0xa0, 0x97, 0xb6, 0x01, 0x60, 0x01, 0x9c, 0x00, 0x40, 0x13, 0x01,
- 0x03, 0x80, 0xd8, 0x20, 0x09, 0x2f, 0x01, 0x83, 0xc0, 0x41, 0x13, 0x04, 0xc8, 0x01, 0x01, 0x8a,
- 0xc8, 0x01, 0x09, 0x18, 0x07, 0x85, 0x00, 0x43, 0x01, 0x20, 0x0c, 0x06, 0x00, 0xc0, 0x16, 0x20,
- 0xc2, 0x20, 0x0c, 0x02, 0x06, 0x08, 0x01, 0x08, 0xfe, 0x03, 0x16, 0x1a, 0x07, 0x8a, 0x00, 0x24,
- 0x62, 0xa0, 0x0c, 0x04, 0xc8, 0x0a, 0x0c, 0x04, 0x07, 0x87, 0x06, 0x30, 0x01, 0xe7, 0x00, 0x04,
- 0x00, 0x40, 0x04, 0xd7, 0x02, 0x27, 0x00, 0x0c, 0xc2, 0x57, 0x16, 0x04, 0xcd, 0xc5, 0xc5, 0xc5,
- 0x04, 0x60, 0xb9, 0xc0, 0x05, 0xc7, 0xc8, 0x17, 0x01, 0x6a, 0xc8, 0x05, 0xf8, 0x00, 0x10, 0xf7,
- 0x04, 0x60, 0xf8, 0xfe, 0x03, 0x00, 0x00, 0x02, 0xc3, 0x20, 0x01, 0x8a, 0x98, 0x20, 0xe0, 0x10,
- 0x01, 0x83, 0x13, 0xba, 0x01, 0x20, 0x01, 0x9c, 0x00, 0x40, 0x13, 0x02, 0x06, 0xa0, 0xd7, 0xd8,
- 0xc1, 0x41, 0x83, 0x05, 0x16, 0x01, 0x03, 0x80, 0xc8, 0x05, 0x01, 0x6a, 0xc2, 0x20, 0xf8, 0x02,
- 0x01, 0x40, 0x00, 0x40, 0x16, 0x12, 0x88, 0x01, 0x09, 0x18, 0x16, 0x07, 0xc8, 0x20, 0x09, 0x1a,
- 0x09, 0x18, 0x04, 0xe0, 0x09, 0x1a, 0x01, 0xc0, 0x00, 0x04, 0x01, 0x80, 0x40, 0x40, 0x01, 0x20,
- 0xf8, 0x06, 0x00, 0xc0, 0x16, 0x02, 0x01, 0xc0, 0x40, 0x00, 0x01, 0x48, 0x01, 0x00, 0x16, 0x55,
- 0x01, 0xc0, 0x00, 0x40, 0x01, 0x00, 0x40, 0x04, 0x13, 0x50, 0x01, 0x40, 0x40, 0x00, 0x16, 0x48,
- 0x01, 0xa0, 0x07, 0x78, 0x40, 0x00, 0x01, 0x80, 0x40, 0x00, 0x01, 0x48, 0x00, 0x01, 0x16, 0x3d,
- 0x01, 0x80, 0x00, 0x04, 0xc1, 0x41, 0xc0, 0x60, 0xf8, 0x00, 0x04, 0xe0, 0xf8, 0x00, 0x07, 0x8b,
- 0x03, 0xea, 0x62, 0xe0, 0xf8, 0x04, 0xc8, 0x0b, 0xf8, 0x04, 0x85, 0x05, 0x16, 0x02, 0xc5, 0x01,
- 0x10, 0x10, 0xc8, 0x14, 0x01, 0x6a, 0x88, 0x05, 0xf8, 0x00, 0x13, 0x06, 0xc8, 0x20, 0xf8, 0x00,
- 0x01, 0x6a, 0x88, 0x05, 0xf8, 0x00, 0x16, 0xfa, 0xc8, 0x01, 0xf8, 0x00, 0x16, 0x02, 0xc0, 0xa0,
- 0x01, 0x6a, 0x01, 0x08, 0xfe, 0x00, 0x16, 0x4a, 0xc8, 0x05, 0x01, 0x6a, 0x07, 0x87, 0x06, 0x30,
- 0x01, 0xe7, 0x00, 0x04, 0x00, 0x40, 0x04, 0xd7, 0x02, 0x27, 0x00, 0x0c, 0xa1, 0x45, 0xc9, 0x60,
- 0xf8, 0x00, 0x0c, 0x32, 0x04, 0xe0, 0xf8, 0x00, 0x09, 0x15, 0xc2, 0x57, 0x16, 0x31, 0xcd, 0xc5,
- 0xc5, 0xc5, 0x01, 0xc0, 0x00, 0x20, 0xc1, 0x41, 0x10, 0x0e, 0x01, 0x40, 0x00, 0x04, 0x16, 0x05,
- 0x01, 0x80, 0x00, 0x04, 0x01, 0xe0, 0xf8, 0x02, 0x40, 0x00, 0xc1, 0x60, 0xf8, 0x00, 0x01, 0x00,
- 0x40, 0x00, 0x16, 0x01, 0xc0, 0x45, 0x83, 0x05, 0x16, 0x87, 0xc2, 0xe0, 0x09, 0x18, 0x16, 0x10,
- 0x01, 0x00, 0x00, 0x04, 0x16, 0x0d, 0x98, 0x20, 0xe0, 0x10, 0x01, 0x83, 0x13, 0x09, 0x07, 0x8b,
- 0xd7, 0x5e, 0x01, 0x40, 0x00, 0x40, 0x13, 0x02, 0x07, 0x8b, 0xd7, 0xa4, 0xc8, 0x0b, 0x00, 0x12,
- 0x01, 0x00, 0x00, 0x20, 0x16, 0x01, 0x03, 0x80, 0x01, 0x80, 0x00, 0x20, 0x04, 0x60, 0xb9, 0xc0,
- 0x05, 0xc7, 0xc8, 0x17, 0x01, 0x6a, 0xc8, 0x05, 0xf8, 0x00, 0x10, 0xca, 0xc1, 0x81, 0x06, 0xa0,
- 0xf9, 0x32, 0xc1, 0x46, 0x10, 0xd8, 0x05, 0xa0, 0x09, 0x32, 0xc0, 0x41, 0x16, 0x01, 0x03, 0x80,
- 0xc3, 0x20, 0x00, 0x12, 0x04, 0x5c, 0x03, 0x00, 0x00, 0x00, 0x03, 0xb0, 0x10, 0xff, 0x03, 0x80,
- 0x20, 0x00, 0x9d, 0xd2, 0x02, 0x2f, 0x00, 0x00, 0x20, 0x00, 0xc7, 0x46, 0x00, 0x88, 0xc0, 0x60,
- 0x05, 0xee, 0x02, 0x21, 0x03, 0xe8, 0x01, 0x20, 0x01, 0x02, 0x00, 0x06, 0x13, 0x04, 0x01, 0x20,
- 0x01, 0x00, 0x08, 0x00, 0x13, 0x04, 0x88, 0x01, 0x05, 0xee, 0x16, 0xf5, 0x10, 0x35, 0x07, 0x81,
- 0x01, 0x0a, 0xcc, 0x4c, 0xcc, 0x4c, 0xcc, 0x4e, 0xcc, 0x4f, 0x07, 0xb1, 0x00, 0x40, 0xc4, 0x4d,
- 0xc8, 0x0a, 0x01, 0x00, 0x04, 0x5b, 0xc0, 0x60, 0x05, 0xee, 0x02, 0x21, 0x03, 0xe8, 0x01, 0x20,
- 0x01, 0x02, 0x00, 0x06, 0x13, 0x04, 0x01, 0x20, 0x01, 0x00, 0x08, 0x00, 0x13, 0x04, 0x88, 0x01,
- 0x05, 0xee, 0x16, 0xf5, 0x10, 0x19, 0x07, 0x81, 0x01, 0x0a, 0xcc, 0x4c, 0xcc, 0x4c, 0xcc, 0x4e,
- 0xcc, 0x4f, 0x07, 0xb1, 0x00, 0x40, 0xc4, 0x4d, 0xc8, 0x0a, 0x01, 0x00, 0xc0, 0x60, 0x05, 0xee,
- 0x02, 0x21, 0x03, 0xe8, 0x01, 0x20, 0x01, 0x02, 0x00, 0x06, 0x13, 0x01, 0x04, 0x5b, 0x88, 0x01,
- 0x05, 0xee, 0x16, 0xf8, 0x10, 0x01, 0x20, 0x00, 0xce, 0x3e, 0x0a, 0x32, 0x07, 0x8d, 0x10, 0x00,
- 0x20, 0x0d, 0x16, 0x28, 0x07, 0x8d, 0x08, 0x00, 0x01, 0x40, 0x02, 0x00, 0x13, 0x23, 0x01, 0xc0,
- 0x02, 0x00, 0x07, 0x8f, 0x97, 0xf6, 0xc3, 0x8e, 0x11, 0x02, 0x07, 0x8f, 0x97, 0x6a, 0xc8, 0x0f,
- 0x08, 0x96, 0xc3, 0x60, 0x00, 0x16, 0x02, 0x8d, 0x98, 0x4e, 0x13, 0x02, 0xc8, 0x0f, 0x00, 0x16,
- 0x07, 0x8f, 0x03, 0xf8, 0x02, 0x4e, 0x40, 0x00, 0xc8, 0x0e, 0x08, 0x98, 0xc8, 0x0e, 0x08, 0x9a,
- 0x13, 0x05, 0x07, 0x8e, 0xee, 0x60, 0xc3, 0xfe, 0xc8, 0x0e, 0x08, 0x90, 0xc8, 0x0f, 0x08, 0x62,
- 0x04, 0x20, 0xea, 0x7a, 0x04, 0x5b, 0x07, 0x8d, 0x10, 0x00, 0x20, 0x0d, 0x16, 0xfb, 0x07, 0x8d,
- 0x08, 0x00, 0x01, 0x40, 0x04, 0x00, 0x13, 0xf6, 0x07, 0x8d, 0x40, 0x00, 0x01, 0x0e, 0x00, 0x01,
- 0x16, 0xf1, 0x01, 0xc0, 0x04, 0x00, 0x06, 0x0f, 0x01, 0x8f, 0x80, 0x00, 0xc8, 0x0f, 0x08, 0x8c,
- 0xc3, 0xce, 0x01, 0x8e, 0xe0, 0x00, 0x05, 0x0e, 0xc8, 0x0e, 0x08, 0x4c, 0xa8, 0x0e, 0x08, 0x8c,
- 0x09, 0xdf, 0x02, 0x4f, 0x00, 0x04, 0x02, 0x2f, 0x03, 0xf0, 0xc8, 0x0f, 0x08, 0x8a, 0x01, 0x85,
- 0x00, 0x40, 0x04, 0x20, 0xea, 0x7a, 0xc0, 0x41, 0x13, 0xfe, 0x03, 0x00, 0x00, 0x02, 0x88, 0x01,
- 0x00, 0xe2, 0x13, 0x36, 0xc8, 0x01, 0x01, 0x6c, 0x01, 0x20, 0xfc, 0x06, 0x00, 0xc0, 0x13, 0x30,
- 0xc0, 0xe0, 0xfc, 0x02, 0xc1, 0x81, 0x07, 0x20, 0xfc, 0x02, 0x07, 0xa0, 0xfc, 0x04, 0x03, 0xee,
- 0xc8, 0x04, 0xfc, 0x76, 0xc8, 0x04, 0xfc, 0xe6, 0xc8, 0x04, 0xfd, 0x56, 0xc8, 0x04, 0xfd, 0xc6,
- 0xc8, 0x04, 0xfe, 0x36, 0xc8, 0x04, 0xfe, 0xa6, 0xc8, 0x04, 0xff, 0x16, 0xc8, 0x04, 0xff, 0x86,
- 0x07, 0x8e, 0xfc, 0x00, 0xc0, 0x5e, 0x04, 0xde, 0xc8, 0x20, 0x00, 0xe4, 0x01, 0x6c, 0xc8, 0x06,
- 0xfc, 0x00, 0xc8, 0x06, 0x00, 0xe4, 0x01, 0x43, 0x01, 0x00, 0x13, 0x0a, 0x03, 0x00, 0x00, 0x0f,
- 0x03, 0x00, 0x00, 0x02, 0x88, 0x01, 0x00, 0xe2, 0x13, 0xf9, 0xc8, 0x01, 0x01, 0x6c, 0x10, 0xd0,
- 0x03, 0x00, 0x00, 0x0f, 0x01, 0x60, 0x07, 0x58, 0x14, 0x00, 0x16, 0xbf, 0x07, 0x83, 0xfc, 0x76,
- 0x02, 0xe0, 0x08, 0x5c, 0x04, 0x60, 0x91, 0x6a, 0x02, 0x2d, 0x00, 0x06, 0xc0, 0xa0, 0x08, 0x4c,
- 0x04, 0x60, 0xd3, 0x36, 0x01, 0x00, 0x07, 0xff, 0x16, 0x11, 0x01, 0xc0, 0x07, 0xff, 0x01, 0x00,
- 0x20, 0x00, 0x16, 0x29, 0x01, 0xc0, 0x20, 0x00, 0x07, 0x8f, 0x08, 0x92, 0xc7, 0xc1, 0xc8, 0x0f,
- 0x00, 0xe8, 0xc0, 0x60, 0x05, 0xf8, 0x04, 0xe0, 0x05, 0xf8, 0x10, 0x1f, 0x01, 0x40, 0x20, 0x00,
- 0x16, 0x0b, 0xc0, 0x60, 0x05, 0xf8, 0x16, 0xf7, 0x01, 0x80, 0x20, 0x00, 0x07, 0xa0, 0x00, 0xe8,
- 0x07, 0x7a, 0xc0, 0x60, 0x08, 0x92, 0x10, 0x0f, 0xc3, 0xdd, 0x13, 0x05, 0x03, 0x90, 0x00, 0x17,
- 0x06, 0x9b, 0x02, 0x2d, 0x00, 0x06, 0x03, 0x00, 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02,
- 0xd3, 0xe0, 0x01, 0x03, 0x13, 0xf8, 0x24, 0x40, 0x13, 0xcd, 0xc8, 0x01, 0x01, 0x6c, 0x88, 0x01,
- 0x00, 0xe2, 0x16, 0x24, 0xc3, 0xdd, 0x16, 0xea, 0x84, 0xc4, 0x13, 0xed, 0x01, 0x20, 0xfc, 0x06,
- 0x00, 0xc0, 0x16, 0x53, 0x01, 0xc0, 0x40, 0x00, 0x03, 0x00, 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00,
- 0x00, 0x02, 0xd3, 0xe0, 0x01, 0x03, 0x13, 0xf8, 0x01, 0x40, 0x40, 0x00, 0x16, 0xe4, 0xc3, 0xdd,
- 0x13, 0xf3, 0x03, 0x90, 0x00, 0x17, 0x06, 0x9b, 0x02, 0x2d, 0x00, 0x06, 0xc8, 0x01, 0x01, 0x6c,
- 0x10, 0xeb, 0x07, 0x86, 0x03, 0xf4, 0x61, 0x89, 0x04, 0x60, 0xd4, 0x28, 0xc0, 0xe0, 0xfc, 0x02,
- 0x13, 0xf8, 0xc1, 0xa0, 0x08, 0x8a, 0x61, 0x89, 0x61, 0xa0, 0xfc, 0x04, 0x15, 0x0a, 0x04, 0x60,
- 0xd2, 0x78, 0x03, 0x00, 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02, 0xd3, 0xe0, 0x01, 0x03,
- 0x13, 0xf8, 0xcd, 0x4a, 0xcd, 0x46, 0xcd, 0x47, 0xcd, 0x48, 0xc9, 0x49, 0x00, 0x02, 0xc5, 0x41,
- 0x07, 0xa5, 0xff, 0xee, 0xe0, 0x81, 0x02, 0x25, 0xff, 0xf8, 0x04, 0x60, 0xd2, 0x74, 0x03, 0x90,
- 0x00, 0x17, 0x06, 0x9b, 0x02, 0x2d, 0x00, 0x06, 0xc8, 0x01, 0x01, 0x6c, 0x03, 0x00, 0x00, 0x0f,
- 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02, 0xd3, 0xe0, 0x01, 0x03, 0x13, 0xf8, 0x88, 0x01, 0x00, 0xe2,
- 0x16, 0xcd, 0xc3, 0xdd, 0x16, 0xec, 0x84, 0xc4, 0x13, 0xf1, 0x61, 0x83, 0x02, 0x23, 0x00, 0x70,
- 0x84, 0xc4, 0x16, 0xfc, 0xa1, 0x83, 0xcd, 0x4a, 0xcd, 0x46, 0xcd, 0x47, 0xcd, 0x48, 0xc9, 0x49,
- 0x00, 0x02, 0xc5, 0x41, 0x07, 0xa5, 0xff, 0xee, 0xe0, 0x81, 0x02, 0x25, 0xff, 0xf8, 0x62, 0x86,
- 0x15, 0x43, 0xa1, 0x8a, 0xa2, 0x46, 0xa0, 0x86, 0x17, 0x21, 0x07, 0x8e, 0x01, 0x04, 0x03, 0x00,
- 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02, 0xd3, 0xe0, 0x01, 0x03, 0x13, 0xf8, 0x05, 0xa0,
- 0x10, 0x80, 0x01, 0x5e, 0x21, 0x00, 0x16, 0x03, 0x07, 0x9e, 0xde, 0x8c, 0x10, 0x11, 0x01, 0x5e,
- 0x01, 0x00, 0x16, 0x0e, 0xc3, 0xde, 0x01, 0xcf, 0xff, 0x00, 0x01, 0x8f, 0x04, 0x80, 0xc7, 0x8f,
- 0x01, 0x5e, 0x20, 0x00, 0x13, 0xf1, 0x01, 0xc0, 0x80, 0x00, 0x10, 0x02, 0x05, 0xa0, 0x10, 0x80,
- 0xc1, 0x8a, 0x88, 0x02, 0x08, 0x8c, 0x15, 0x3f, 0xc2, 0xac, 0x00, 0x04, 0x13, 0x3e, 0x01, 0x8a,
- 0x80, 0x00, 0xc1, 0xfc, 0xc2, 0x3c, 0x04, 0xfc, 0x02, 0x8c, 0x11, 0xe8, 0x16, 0x02, 0x07, 0x8c,
- 0x11, 0x28, 0x05, 0x06, 0x13, 0xa3, 0x03, 0x00, 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02,
- 0xd3, 0xe0, 0x01, 0x03, 0x13, 0xf8, 0x10, 0xaf, 0xa2, 0x46, 0xa2, 0x06, 0x17, 0x01, 0x05, 0x87,
- 0xa0, 0x86, 0x04, 0xc6, 0x17, 0x93, 0x07, 0x8e, 0x01, 0x04, 0x03, 0x00, 0x00, 0x0f, 0x03, 0xd0,
- 0x03, 0x00, 0x00, 0x02, 0xd3, 0xe0, 0x01, 0x03, 0x13, 0xf8, 0x01, 0x5e, 0x21, 0x00, 0x16, 0x03,
- 0x07, 0x9e, 0xde, 0x8c, 0x10, 0x8b, 0x01, 0x5e, 0x01, 0x00, 0x16, 0x88, 0xc3, 0xde, 0x01, 0xcf,
- 0xff, 0x00, 0x01, 0x8f, 0x04, 0x80, 0xc7, 0x8f, 0x01, 0x5e, 0x20, 0x00, 0x13, 0xf1, 0x01, 0xc0,
- 0x80, 0x00, 0x04, 0x60, 0xd0, 0x9e, 0x04, 0x60, 0xd5, 0xa0, 0x03, 0x00, 0x00, 0x0f, 0x03, 0xd0,
- 0x03, 0x00, 0x00, 0x02, 0xd3, 0xe0, 0x01, 0x03, 0x13, 0xf8, 0xc2, 0xac, 0x00, 0x04, 0x16, 0xb7,
- 0xc3, 0xdd, 0x13, 0xf3, 0x03, 0x90, 0x01, 0xb7, 0x06, 0x9b, 0x02, 0x2d, 0x00, 0x06, 0xc8, 0x01,
- 0x01, 0x6c, 0x10, 0xeb, 0xa1, 0x8a, 0xa2, 0x46, 0xa0, 0x86, 0x17, 0x21, 0x07, 0x8e, 0x01, 0x04,
- 0x03, 0x00, 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02, 0xd3, 0xe0, 0x01, 0x03, 0x13, 0xf8,
- 0x05, 0xa0, 0x10, 0x80, 0x01, 0x5e, 0x21, 0x00, 0x16, 0x03, 0x07, 0x9e, 0xde, 0x8c, 0x10, 0x11,
- 0x01, 0x5e, 0x01, 0x00, 0x16, 0x0e, 0xc3, 0xde, 0x01, 0xcf, 0xff, 0x00, 0x01, 0x8f, 0x04, 0x80,
- 0xc7, 0x8f, 0x01, 0x5e, 0x20, 0x00, 0x13, 0xf1, 0x01, 0xc0, 0x80, 0x00, 0x10, 0x02, 0x05, 0xa0,
- 0x10, 0x80, 0xc1, 0x8a, 0x88, 0x02, 0x08, 0x8c, 0x15, 0x15, 0xc2, 0xac, 0x00, 0x04, 0x16, 0x14,
- 0x03, 0x00, 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02, 0xd3, 0xe0, 0x01, 0x03, 0x13, 0xf8,
- 0xc3, 0xdd, 0x13, 0xf3, 0x03, 0x90, 0x01, 0xb7, 0x06, 0x9b, 0x02, 0x2d, 0x00, 0x06, 0xc8, 0x01,
- 0x01, 0x6c, 0x10, 0xeb, 0x04, 0x60, 0xd5, 0xa0, 0x01, 0x8a, 0x80, 0x00, 0xc1, 0xfc, 0xc2, 0x3c,
- 0x04, 0xfc, 0x02, 0x8c, 0x11, 0xe8, 0x16, 0x02, 0x07, 0x8c, 0x11, 0x28, 0x05, 0x06, 0x04, 0x60,
- 0xd0, 0x54, 0x62, 0x86, 0x17, 0xaf, 0xa1, 0x82, 0xc0, 0xa0, 0x08, 0x4c, 0x61, 0x82, 0xc3, 0xe0,
- 0x10, 0x82, 0x02, 0x4f, 0x00, 0x1f, 0x0a, 0x2f, 0xcb, 0xc6, 0x10, 0xa8, 0xcb, 0xc3, 0x10, 0xaa,
- 0xc1, 0x81, 0x07, 0x20, 0xfc, 0x02, 0x07, 0xa0, 0xfc, 0x04, 0x03, 0xee, 0x07, 0x83, 0xfc, 0x76,
- 0x07, 0x89, 0x00, 0x06, 0xc2, 0xac, 0x00, 0x04, 0x13, 0x08, 0xc1, 0xfc, 0xc2, 0x3c, 0x04, 0xfc,
- 0x02, 0x8c, 0x11, 0xe8, 0x16, 0x02, 0x07, 0x8c, 0x11, 0x28, 0x07, 0x8e, 0x01, 0x04, 0x03, 0x00,
- 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02, 0xd3, 0xe0, 0x01, 0x03, 0x13, 0xf8, 0x05, 0xa0,
- 0x10, 0x82, 0x01, 0x5e, 0x21, 0x00, 0x16, 0x3b, 0x07, 0x9e, 0xde, 0x8c, 0x05, 0xa0, 0x10, 0x80,
- 0xc4, 0xc4, 0xc8, 0x04, 0xfc, 0xe6, 0xc8, 0x04, 0xfd, 0x56, 0xc8, 0x04, 0xfd, 0xc6, 0xc8, 0x04,
- 0xfe, 0x36, 0xc8, 0x04, 0xfe, 0xa6, 0xc8, 0x04, 0xff, 0x16, 0xc8, 0x04, 0xff, 0x86, 0x07, 0x8e,
- 0xfc, 0x00, 0xc0, 0x5e, 0x04, 0xde, 0xc8, 0x20, 0x00, 0xe4, 0x01, 0x6c, 0xc3, 0xe0, 0x00, 0xe2,
- 0x13, 0x40, 0xc7, 0x86, 0xc8, 0x06, 0x00, 0xe4, 0x04, 0xc6, 0xc2, 0x8a, 0x15, 0x31, 0x13, 0x0a,
- 0x05, 0xa0, 0x10, 0x80, 0x03, 0x00, 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02, 0xd3, 0xe0,
- 0x01, 0x03, 0x13, 0xf8, 0xc2, 0xac, 0x00, 0x04, 0x16, 0x19, 0xc3, 0xdd, 0x13, 0xf3, 0x03, 0x90,
- 0x01, 0xb7, 0x06, 0x9b, 0x02, 0x2d, 0x00, 0x06, 0xc8, 0x01, 0x01, 0x6c, 0x10, 0xeb, 0x01, 0x5e,
- 0x01, 0x00, 0x16, 0xc4, 0xc3, 0xde, 0x01, 0xcf, 0xff, 0x00, 0x01, 0x8f, 0x04, 0x80, 0xc7, 0x8f,
- 0x01, 0x5e, 0x20, 0x00, 0x13, 0xb9, 0x01, 0xc0, 0x80, 0x00, 0x10, 0xb8, 0xc1, 0xfc, 0xc2, 0x3c,
- 0x04, 0xfc, 0x02, 0x8c, 0x11, 0xe8, 0x16, 0x02, 0x07, 0x8c, 0x11, 0x28, 0xc2, 0x8a, 0x11, 0xd0,
- 0xc3, 0xdd, 0x16, 0x02, 0x04, 0x60, 0xcf, 0xe8, 0x03, 0x90, 0x00, 0x17, 0x06, 0x9b, 0x04, 0x60,
- 0xcf, 0xd4, 0x07, 0x8e, 0xd3, 0x1a, 0xc8, 0x20, 0x08, 0x94, 0x01, 0x6a, 0x16, 0x03, 0xc8, 0x06,
- 0x08, 0x94, 0x04, 0x5e, 0xc8, 0x06, 0xf8, 0x00, 0xc8, 0x06, 0x00, 0xe4, 0xc1, 0xa0, 0x08, 0x94,
- 0x98, 0x20, 0xe0, 0x10, 0x01, 0x83, 0x16, 0x19, 0x01, 0xe0, 0x01, 0x9c, 0x00, 0x40, 0x07, 0x8f,
- 0x03, 0xe8, 0x0b, 0x8f, 0x0b, 0x8f, 0x06, 0x0f, 0x13, 0x1a, 0x01, 0x60, 0x01, 0x9c, 0x00, 0x40,
- 0x16, 0xf8, 0x01, 0x60, 0x0c, 0x02, 0x01, 0x00, 0x13, 0x12, 0xd8, 0x20, 0x09, 0x2f, 0x01, 0x83,
- 0x07, 0xa0, 0x0c, 0x02, 0x80, 0x00, 0x0b, 0x8f, 0x0b, 0x8f, 0xc8, 0x06, 0x01, 0x8a, 0xc8, 0x06,
- 0x09, 0x18, 0x07, 0xa0, 0x00, 0x12, 0x9c, 0x56, 0x01, 0xe0, 0x00, 0xe0, 0x00, 0x40, 0x04, 0xe0,
- 0x08, 0x94, 0xc8, 0x06, 0x00, 0xe2, 0x01, 0x40, 0x20, 0x00, 0x13, 0x07, 0xc0, 0x41, 0x13, 0x03,
- 0xc8, 0x06, 0xfc, 0x00, 0x04, 0x5e, 0xc0, 0x46, 0x04, 0x5e, 0xc3, 0xe0, 0x08, 0x92, 0x16, 0xf8,
- 0xc8, 0x06, 0x08, 0x92, 0x04, 0x5e, 0xcd, 0x4a, 0xcd, 0x46, 0xcd, 0x47, 0xcd, 0x48, 0xc9, 0x49,
- 0x00, 0x02, 0xc5, 0x41, 0x07, 0xa5, 0xff, 0xee, 0xe0, 0x81, 0x02, 0x25, 0xff, 0xf8, 0x62, 0x86,
- 0x15, 0x57, 0xa1, 0x8a, 0xa2, 0x46, 0xa0, 0x86, 0x17, 0x21, 0x07, 0x8e, 0x01, 0x04, 0x03, 0x00,
- 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02, 0xd3, 0xe0, 0x01, 0x03, 0x13, 0xf8, 0x05, 0xa0,
- 0x10, 0x80, 0x01, 0x5e, 0x21, 0x00, 0x16, 0x03, 0x07, 0x9e, 0xde, 0x8c, 0x10, 0x11, 0x01, 0x5e,
- 0x01, 0x00, 0x16, 0x0e, 0xc3, 0xde, 0x01, 0xcf, 0xff, 0x00, 0x01, 0x8f, 0x04, 0x80, 0xc7, 0x8f,
- 0x01, 0x5e, 0x20, 0x00, 0x13, 0xf1, 0x01, 0xc0, 0x80, 0x00, 0x10, 0x02, 0x05, 0xa0, 0x10, 0x80,
- 0xc1, 0x8a, 0x88, 0x02, 0x08, 0x8c, 0x15, 0x15, 0xc2, 0xac, 0x00, 0x04, 0x16, 0x14, 0x03, 0x00,
- 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02, 0xd3, 0xe0, 0x01, 0x03, 0x13, 0xf8, 0xc3, 0xdd,
- 0x13, 0xf3, 0x03, 0x90, 0x01, 0xb7, 0x06, 0x9b, 0x02, 0x2d, 0x00, 0x06, 0xc8, 0x01, 0x01, 0x6c,
- 0x10, 0xeb, 0x04, 0x60, 0xd5, 0xa0, 0x01, 0x8a, 0x80, 0x00, 0xc1, 0xfc, 0xc2, 0x3c, 0x04, 0xfc,
- 0x02, 0x8c, 0x11, 0xe8, 0x16, 0x02, 0x07, 0x8c, 0x11, 0x28, 0x05, 0x06, 0x13, 0x09, 0x03, 0x00,
- 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02, 0xd3, 0xa0, 0x01, 0x03, 0x13, 0xf8, 0x10, 0x9b,
- 0xa2, 0x06, 0x17, 0x01, 0x05, 0x87, 0xa0, 0x86, 0x17, 0x1e, 0x07, 0x8e, 0x01, 0x04, 0x03, 0x00,
- 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02, 0xd3, 0xe0, 0x01, 0x03, 0x13, 0xf8, 0x01, 0x5e,
- 0x21, 0x00, 0x16, 0x03, 0x07, 0x9e, 0xde, 0x8c, 0x10, 0x0e, 0x01, 0x5e, 0x01, 0x00, 0x16, 0x0b,
- 0xc3, 0xde, 0x01, 0xcf, 0xff, 0x00, 0x01, 0x8f, 0x04, 0x80, 0xc7, 0x8f, 0x01, 0x5e, 0x20, 0x00,
- 0x13, 0xf1, 0x01, 0xc0, 0x80, 0x00, 0xc1, 0x81, 0x07, 0x20, 0xfc, 0x02, 0x07, 0x83, 0xfc, 0x76,
- 0x07, 0x89, 0x00, 0x06, 0x07, 0x8e, 0xfc, 0x00, 0x03, 0x00, 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00,
- 0x00, 0x02, 0xd3, 0xe0, 0x01, 0x03, 0x13, 0xf8, 0xc4, 0xc4, 0xc8, 0x04, 0xfc, 0xe6, 0xc8, 0x04,
- 0xfd, 0x56, 0xc8, 0x04, 0xfd, 0xc6, 0xc8, 0x04, 0xfe, 0x36, 0xc8, 0x04, 0xfe, 0xa6, 0xc8, 0x04,
- 0xff, 0x16, 0xc8, 0x04, 0xff, 0x86, 0xc0, 0x5e, 0x04, 0xde, 0xc8, 0x20, 0x00, 0xe4, 0x01, 0x6c,
- 0xc3, 0xe0, 0x00, 0xe2, 0x13, 0x08, 0xc7, 0x86, 0xc8, 0x06, 0x00, 0xe4, 0x04, 0xc6, 0xc8, 0x01,
- 0x01, 0x6c, 0x04, 0x60, 0xd0, 0x9e, 0x07, 0x8e, 0xd5, 0x8e, 0x04, 0x60, 0xd3, 0x98, 0x62, 0x46,
- 0x60, 0x86, 0x03, 0x00, 0x00, 0x0f, 0x03, 0xd0, 0x03, 0x00, 0x00, 0x02, 0xd3, 0xe0, 0x01, 0x03,
- 0x13, 0xf8, 0x88, 0x01, 0x00, 0xe2, 0x16, 0x0a, 0xc3, 0xdd, 0x13, 0xf3, 0x03, 0x90, 0x00, 0x17,
- 0x06, 0x9b, 0x02, 0x2d, 0x00, 0x06, 0xc8, 0x01, 0x01, 0x6c, 0x10, 0xeb, 0xc0, 0xe0, 0xfc, 0x02,
- 0x13, 0x09, 0xc1, 0xa0, 0x08, 0x8a, 0x61, 0x89, 0x61, 0xa0, 0xfc, 0x04, 0x06, 0x20, 0x10, 0x80,
- 0x04, 0x60, 0xd2, 0x78, 0x07, 0x86, 0x03, 0xf4, 0x61, 0x89, 0xa0, 0x86, 0x15, 0x02, 0x07, 0x82,
- 0x7f, 0xff, 0xc1, 0x81, 0x07, 0x20, 0xfc, 0x02, 0x07, 0xa0, 0xfc, 0x04, 0x03, 0xee, 0x07, 0x83,
- 0xfc, 0x76, 0x07, 0x89, 0x00, 0x06, 0x07, 0x8e, 0xfc, 0x00, 0xc4, 0xc4, 0xc8, 0x04, 0xfc, 0xe6,
- 0xc8, 0x04, 0xfd, 0x56, 0xc8, 0x04, 0xfd, 0xc6, 0xc8, 0x04, 0xfe, 0x36, 0xc8, 0x04, 0xfe, 0xa6,
- 0xc8, 0x04, 0xff, 0x16, 0xc8, 0x04, 0xff, 0x86, 0xc0, 0x5e, 0x04, 0xde, 0xc8, 0x20, 0x00, 0xe4,
- 0x01, 0x6c, 0xc3, 0xe0, 0x00, 0xe2, 0x13, 0x07, 0xc7, 0x86, 0xc8, 0x06, 0x00, 0xe4, 0x04, 0xc6,
- 0xc8, 0x01, 0x01, 0x6c, 0x10, 0xae, 0x07, 0x8e, 0xd6, 0x40, 0x04, 0x60, 0xd3, 0x98, 0xc1, 0x60,
- 0xf8, 0x00, 0x83, 0x05, 0x13, 0x0c, 0xc8, 0x05, 0x01, 0x6a, 0xc2, 0x20, 0xf8, 0x02, 0x13, 0xf7,
- 0x15, 0x14, 0x06, 0xa0, 0x97, 0xb6, 0xc0, 0x60, 0xf8, 0x00, 0x83, 0x01, 0x16, 0x6d, 0x04, 0x60,
- 0xb9, 0xc0, 0x06, 0xa0, 0xf9, 0x32, 0x80, 0x45, 0x16, 0x4f, 0x04, 0x60, 0xb9, 0xc0, 0x06, 0xa0,
- 0x97, 0xb6, 0xc2, 0x20, 0xf8, 0x02, 0x11, 0xfb, 0x13, 0xe2, 0x01, 0xa0, 0x07, 0x78, 0x40, 0x00,
- 0xc1, 0x41, 0xc0, 0x60, 0xf8, 0x00, 0x01, 0x48, 0x00, 0x01, 0x16, 0x3e, 0x04, 0xe0, 0xf8, 0x00,
- 0x07, 0x8b, 0x03, 0xea, 0x62, 0xe0, 0xf8, 0x04, 0xc8, 0x0b, 0xf8, 0x04, 0x85, 0x05, 0x16, 0x02,
- 0xc5, 0x01, 0x10, 0x10, 0xc8, 0x14, 0x01, 0x6a, 0x88, 0x05, 0xf8, 0x00, 0x13, 0x06, 0xc8, 0x20,
- 0xf8, 0x00, 0x01, 0x6a, 0x88, 0x05, 0xf8, 0x00, 0x16, 0xfa, 0xc8, 0x01, 0xf8, 0x00, 0x16, 0x02,
- 0xc0, 0xa0, 0x01, 0x6a, 0x01, 0x08, 0xfe, 0x00, 0x16, 0xcc, 0xc8, 0x05, 0x01, 0x6a, 0x01, 0xe0,
- 0xf8, 0x02, 0x00, 0x20, 0x07, 0x87, 0x06, 0x30, 0x01, 0xe7, 0x00, 0x04, 0x00, 0x40, 0x04, 0xd7,
- 0x02, 0x27, 0x00, 0x0c, 0xa1, 0x45, 0xc9, 0x60, 0xf8, 0x00, 0x0c, 0x32, 0x04, 0xe0, 0xf8, 0x00,
- 0x09, 0x15, 0xc2, 0x57, 0x16, 0x03, 0xcd, 0xc5, 0xc5, 0xc5, 0x10, 0x06, 0x05, 0xc7, 0xc8, 0x17,
- 0x01, 0x6a, 0xc8, 0x05, 0xf8, 0x00, 0xc5, 0xc5, 0x83, 0x01, 0x13, 0xa9, 0xc8, 0x01, 0x01, 0x6a,
- 0x01, 0x20, 0xf8, 0x06, 0x00, 0xc0, 0x13, 0xad, 0x01, 0x60, 0xf8, 0x02, 0x01, 0x00, 0x16, 0x05,
- 0xc0, 0x60, 0xf8, 0x00, 0x83, 0x01, 0x16, 0xf2, 0x10, 0x9a, 0x07, 0xa0, 0x00, 0x12, 0xd7, 0xa4,
- 0xc0, 0x60, 0xf8, 0x00, 0x83, 0x01, 0x13, 0x93, 0xc8, 0x01, 0x01, 0x6a, 0x01, 0x60, 0xf8, 0x02,
- 0x01, 0x00, 0x16, 0x89, 0x07, 0xa0, 0x00, 0x12, 0xd7, 0x5e, 0x10, 0xea, 0x03, 0x00, 0x00, 0x02,
- 0xc3, 0x20, 0x01, 0x8a, 0x13, 0x1d, 0x83, 0x01, 0x13, 0x0e, 0xc8, 0x01, 0x01, 0x6a, 0x01, 0x20,
- 0xf8, 0x06, 0x00, 0xc0, 0x13, 0x86, 0x01, 0x60, 0xf8, 0x02, 0x01, 0x00, 0x16, 0x07, 0xc0, 0x60,
- 0xf8, 0x00, 0x83, 0x01, 0x16, 0xf2, 0x03, 0x90, 0xbf, 0xff, 0x03, 0x80, 0x07, 0xa0, 0x00, 0x12,
- 0xd7, 0xa4, 0xc0, 0x60, 0xf8, 0x00, 0x83, 0x01, 0x16, 0x0b, 0x03, 0x90, 0xbf, 0xff, 0x03, 0x80,
- 0x10, 0x18, 0x03, 0x00, 0x00, 0x02, 0xc3, 0x20, 0x01, 0x8a, 0x13, 0x13, 0x83, 0x01, 0x13, 0x0e,
- 0xc8, 0x01, 0x01, 0x6a, 0x01, 0x60, 0xf8, 0x02, 0x01, 0x00, 0x16, 0x04, 0x07, 0xa0, 0x00, 0x12,
- 0xd7, 0x5e, 0x10, 0xdd, 0xc0, 0x60, 0xf8, 0x00, 0x83, 0x01, 0x16, 0xf2, 0x03, 0x90, 0xbf, 0xff,
- 0x03, 0x80, 0x07, 0x8b, 0x9c, 0x72, 0xc3, 0x01, 0x13, 0x39, 0xc2, 0x4c, 0xc8, 0x0c, 0x01, 0x6a,
- 0xc2, 0x20, 0xf8, 0x02, 0x11, 0x2d, 0xc2, 0x4c, 0xc3, 0x20, 0xf8, 0x00, 0x16, 0xf7, 0xc8, 0x09,
- 0x01, 0x6a, 0xc2, 0x20, 0xf8, 0x02, 0x16, 0x2a, 0x01, 0xe0, 0xf8, 0x02, 0x19, 0x00, 0x05, 0xa0,
- 0x13, 0x80, 0x10, 0x24, 0x01, 0xe0, 0xf8, 0x02, 0x19, 0x00, 0x05, 0xa0, 0x13, 0x80, 0xc8, 0x0c,
- 0x01, 0x8a, 0x07, 0x89, 0x09, 0x18, 0xc2, 0x19, 0x13, 0x01, 0x05, 0xc9, 0xc6, 0x4c, 0xc2, 0x20,
- 0x00, 0x12, 0x02, 0x88, 0xd7, 0x5e, 0x16, 0x03, 0x01, 0xc0, 0x00, 0x40, 0x10, 0x05, 0x02, 0x88,
- 0xd7, 0xa4, 0x16, 0x05, 0x01, 0x80, 0x40, 0x40, 0x07, 0xa0, 0x00, 0x12, 0x9c, 0x56, 0x04, 0x5b,
- 0xc8, 0x09, 0x01, 0x6a, 0xc2, 0x20, 0xf8, 0x02, 0x16, 0xe2, 0x10, 0xdc, 0xc2, 0x20, 0x0c, 0x02,
- 0x11, 0x01, 0x10, 0xe5, 0xd8, 0x20, 0xe0, 0x10, 0x01, 0x83, 0x07, 0x88, 0x00, 0x05, 0x0b, 0x88,
- 0x0b, 0x88, 0x06, 0x08, 0x16, 0xfc, 0x07, 0xa0, 0x01, 0x8a, 0x00, 0x43, 0x10, 0xd8, 0x20, 0x00,
- 0xd8, 0x70, 0x00, 0x7f, 0x00, 0x00, 0x20, 0x00, 0xf8, 0x30, 0x05, 0xec, 0x68, 0x04, 0x09, 0x32,
- 0xd3, 0xcf, 0x16, 0x30, 0x01, 0x4f, 0x00, 0x80, 0x16, 0x2d, 0x01, 0x0e, 0x00, 0x03, 0x16, 0x2a,
- 0xd1, 0x04, 0x13, 0x01, 0x07, 0x04, 0x06, 0xc4, 0x07, 0x03, 0x07, 0x88, 0x07, 0x23, 0xb6, 0x04,
- 0x18, 0x0d, 0x01, 0x4d, 0x00, 0x02, 0x13, 0x0f, 0xc0, 0x60, 0x06, 0x7c, 0x02, 0x81, 0x06, 0x30,
- 0x13, 0x0a, 0x07, 0x88, 0x80, 0x18, 0x06, 0xa0, 0xe0, 0x22, 0x10, 0x05, 0x76, 0x04, 0x96, 0x03,
- 0x13, 0x02, 0xd6, 0x01, 0x10, 0xee, 0x07, 0x88, 0x07, 0x2f, 0xb6, 0x04, 0x18, 0x03, 0x96, 0x03,
- 0x13, 0x05, 0x04, 0x5c, 0x76, 0x04, 0x96, 0x03, 0x13, 0x05, 0xd6, 0x03, 0x07, 0x83, 0x80, 0x40,
- 0x06, 0xa0, 0xe3, 0x56, 0x04, 0x5c, 0x03, 0x00, 0x00, 0x02, 0xc1, 0x4b, 0x02, 0x85, 0x00, 0x43,
- 0x13, 0x2c, 0x01, 0x60, 0x09, 0x6a, 0x00, 0x04, 0x16, 0x06, 0xc8, 0x05, 0x01, 0x6c, 0x01, 0x60,
- 0xfc, 0x02, 0x00, 0x20, 0x13, 0x07, 0x06, 0xa0, 0xf9, 0x32, 0x03, 0x90, 0x04, 0x77, 0x03, 0x80,
- 0xc8, 0x0a, 0x01, 0x6c, 0xc2, 0xa0, 0xfc, 0x00, 0x16, 0xfb, 0xc2, 0xa0, 0x01, 0x6c, 0x07, 0x89,
- 0x03, 0xea, 0x62, 0x60, 0xfc, 0x04, 0xc8, 0x09, 0xfc, 0x04, 0x07, 0x89, 0x05, 0xf8, 0xc2, 0xd9,
- 0x16, 0x02, 0xce, 0x45, 0x10, 0x05, 0x05, 0xc9, 0xc8, 0x19, 0x01, 0x6c, 0xc8, 0x05, 0xfc, 0x00,
- 0xc6, 0x4a, 0x01, 0xa0, 0x07, 0x78, 0x07, 0xff, 0x10, 0xe0, 0x07, 0xa0, 0x0c, 0x02, 0x80, 0x00,
- 0x07, 0xa0, 0x0c, 0x04, 0x00, 0x28, 0xc0, 0x41, 0x16, 0xd8, 0xd8, 0x20, 0xe0, 0x10, 0x01, 0x83,
- 0x07, 0x89, 0x00, 0x05, 0x0b, 0x89, 0x0b, 0x89, 0x06, 0x09, 0x16, 0xfc, 0xc8, 0x05, 0x01, 0x8a,
- 0x07, 0xa0, 0x00, 0x12, 0x9c, 0x56, 0x01, 0xe0, 0x00, 0xe0, 0x00, 0x40, 0x10, 0xc6, 0xc2, 0x85,
- 0xc2, 0x60, 0x07, 0x80, 0xc8, 0x0a, 0x01, 0x6a, 0x07, 0x20, 0xf8, 0x02, 0x07, 0xa0, 0xf8, 0x04,
- 0x03, 0xee, 0xc8, 0x09, 0xf8, 0x76, 0xc8, 0x09, 0xf8, 0xe6, 0xc8, 0x09, 0xf9, 0x56, 0xc8, 0x09,
- 0xf9, 0xc6, 0xc8, 0x09, 0xfa, 0x36, 0xc8, 0x09, 0xfa, 0xa6, 0xc8, 0x09, 0xfb, 0x16, 0xc8, 0x09,
- 0xfb, 0x86, 0xc8, 0x09, 0xfb, 0xf6, 0xc2, 0xa0, 0xf8, 0x00, 0x16, 0xe4, 0xc2, 0xa0, 0x01, 0x6a,
- 0xc0, 0x41, 0x13, 0x06, 0xc8, 0x02, 0x01, 0x6a, 0xc8, 0x05, 0xf8, 0x00, 0xc0, 0x8a, 0x04, 0x5b,
- 0xc8, 0x20, 0x08, 0x94, 0x01, 0x6a, 0x16, 0x05, 0x82, 0x85, 0x16, 0x07, 0xc8, 0x05, 0x08, 0x94,
- 0x04, 0x5b, 0xc8, 0x05, 0xf8, 0x00, 0xc1, 0x60, 0x08, 0x94, 0x98, 0x20, 0xe0, 0x10, 0x01, 0x83,
- 0x16, 0x19, 0x01, 0xe0, 0x01, 0x9c, 0x00, 0x40, 0x07, 0x89, 0x03, 0xe8, 0x0b, 0x89, 0x0b, 0x89,
- 0x06, 0x09, 0x13, 0x14, 0x01, 0x60, 0x01, 0x9c, 0x00, 0x40, 0x16, 0xf8, 0x01, 0x60, 0x0c, 0x02,
- 0x01, 0x00, 0x13, 0x0c, 0xd8, 0x20, 0x09, 0x2f, 0x01, 0x83, 0x07, 0xa0, 0x0c, 0x02, 0x80, 0x00,
- 0x0b, 0x89, 0x0b, 0x89, 0xc8, 0x05, 0x01, 0x8a, 0xc8, 0x05, 0x09, 0x18, 0x04, 0xe0, 0x08, 0x94,
- 0xc0, 0x54, 0x16, 0x02, 0xc5, 0x05, 0x10, 0x04, 0xc8, 0x02, 0x01, 0x6a, 0xc8, 0x05, 0xf8, 0x00,
- 0xc0, 0x45, 0xc0, 0x8a, 0x07, 0xa0, 0x00, 0x12, 0x9c, 0x56, 0x01, 0xe0, 0x00, 0xe0, 0x00, 0x40,
- 0x04, 0x5b, 0x07, 0x20, 0x0c, 0xb8, 0x07, 0x83, 0x80, 0x00, 0x04, 0x5b, 0x07, 0xa0, 0xfc, 0x04,
- 0x03, 0xee, 0xc2, 0x20, 0x07, 0x80, 0xc8, 0x08, 0xfc, 0x76, 0xc8, 0x08, 0xfc, 0xe6, 0xc8, 0x08,
- 0xfd, 0x56, 0xc8, 0x08, 0xfd, 0xc6, 0xc8, 0x08, 0xfe, 0x36, 0xc8, 0x08, 0xfe, 0xa6, 0xc8, 0x08,
- 0xff, 0x16, 0xc8, 0x08, 0xff, 0x86, 0xc8, 0x08, 0xff, 0xf6, 0x04, 0x60, 0xc0, 0xc6, 0xc3, 0xa0,
- 0x00, 0xe2, 0xc8, 0x0e, 0x08, 0x66, 0xc8, 0x0e, 0x01, 0x6c, 0xc3, 0xa0, 0xfc, 0x00, 0x06, 0x0d,
- 0x16, 0xfa, 0x04, 0xe0, 0xfc, 0x00, 0xc8, 0x20, 0x01, 0x6c, 0x08, 0x7c, 0xc8, 0x0e, 0x00, 0xe2,
- 0xc8, 0x0e, 0x07, 0x7a, 0x04, 0xe0, 0x08, 0x94, 0x04, 0xe0, 0x0c, 0xb8, 0x07, 0x8d, 0x00, 0x10,
- 0x04, 0x5b, 0x03, 0x00, 0x00, 0x02, 0x07, 0x09, 0xc2, 0xa0, 0x01, 0x04, 0x01, 0x8a, 0x00, 0x80,
- 0x52, 0x4a, 0xd2, 0x89, 0x01, 0xca, 0x25, 0x00, 0xc8, 0x0a, 0x01, 0x04, 0xd2, 0xa0, 0x01, 0x04,
- 0x01, 0x0a, 0xda, 0x00, 0x16, 0xf5, 0x52, 0x4a, 0x01, 0xa0, 0x08, 0xa0, 0xff, 0x00, 0x07, 0xa0,
- 0x08, 0xa8, 0x10, 0x00, 0x01, 0xc9, 0x05, 0x00, 0x07, 0x8a, 0x07, 0x78, 0x02, 0x89, 0x5f, 0xff,
- 0x16, 0x19, 0x01, 0x5a, 0x80, 0x00, 0x16, 0x0f, 0x07, 0x89, 0xde, 0x8c, 0x01, 0x20, 0x07, 0x58,
- 0x20, 0xfe, 0x13, 0x02, 0x01, 0x89, 0x04, 0x00, 0xc8, 0x09, 0x01, 0x04, 0x01, 0x9a, 0x80, 0x00,
- 0x03, 0x90, 0xff, 0xff, 0x03, 0x80, 0x01, 0x20, 0x07, 0x58, 0x20, 0xfe, 0x16, 0x22, 0x03, 0x90,
- 0xff, 0xff, 0x03, 0x80, 0x05, 0x49, 0x01, 0x89, 0x80, 0x00, 0x01, 0x49, 0x40, 0x00, 0x13, 0x23,
- 0x01, 0x49, 0x20, 0x00, 0x16, 0x2f, 0x01, 0x5a, 0x80, 0x00, 0x16, 0x0e, 0x01, 0x9a, 0x80, 0x00,
- 0x07, 0x8a, 0xde, 0x8c, 0x01, 0x20, 0x07, 0x58, 0x20, 0xfe, 0x13, 0x02, 0x01, 0x8a, 0x04, 0x00,
- 0xc8, 0x0a, 0x01, 0x04, 0x01, 0x89, 0x20, 0x00, 0xd2, 0x49, 0x16, 0x05, 0x03, 0x90, 0xff, 0xff,
- 0x03, 0x80, 0x07, 0x89, 0x20, 0x00, 0xf8, 0x09, 0x07, 0x3a, 0xc2, 0x60, 0x07, 0x36, 0x13, 0xf6,
- 0x04, 0xe0, 0x07, 0x36, 0x04, 0x54, 0x04, 0xca, 0x87, 0x4a, 0x87, 0x4a, 0x87, 0x4a, 0x87, 0x4a,
- 0x87, 0x4a, 0x87, 0x4a, 0x87, 0x4a, 0x87, 0x4a, 0x87, 0x4a, 0x87, 0x4a, 0x06, 0x0a, 0x16, 0xf4,
- 0x04, 0x60, 0xb3, 0xf0, 0x01, 0x5a, 0x80, 0x00, 0x13, 0x04, 0x01, 0x20, 0x07, 0x58, 0x20, 0xfe,
- 0x13, 0xdb, 0xc2, 0xa0, 0x01, 0x04, 0x01, 0xca, 0xff, 0x00, 0x01, 0x8a, 0x04, 0x80, 0xc8, 0x0a,
- 0x01, 0x04, 0x01, 0x60, 0x01, 0x04, 0x20, 0x00, 0x16, 0xcf, 0x01, 0xc9, 0x20, 0x00, 0x07, 0x8a,
- 0x07, 0x78, 0x10, 0xb9, 0x01, 0x60, 0x07, 0x58, 0x10, 0x00, 0x16, 0x13, 0x01, 0x20, 0x05, 0xee,
- 0x00, 0x07, 0x16, 0x0f, 0xc1, 0xa0, 0x08, 0xa0, 0x06, 0xc6, 0xd1, 0xe0, 0x01, 0x03, 0x13, 0x14,
- 0x71, 0x86, 0x06, 0xc6, 0x01, 0x20, 0x01, 0x04, 0x20, 0x00, 0x13, 0x22, 0x71, 0x86, 0xc8, 0x06,
- 0x08, 0xa0, 0x01, 0x60, 0x01, 0x82, 0x20, 0x00, 0x16, 0x06, 0x01, 0xa0, 0x01, 0x82, 0x20, 0x00,
- 0x01, 0xe0, 0x01, 0x82, 0x20, 0x00, 0x04, 0x5b, 0x07, 0x87, 0x01, 0x0c, 0x07, 0x88, 0x08, 0xa2,
- 0x02, 0x26, 0xff, 0x00, 0x18, 0x04, 0xce, 0x37, 0xce, 0x37, 0xc6, 0x17, 0x10, 0xe2, 0x8e, 0x37,
- 0x16, 0xdf, 0x8e, 0x37, 0x16, 0xdd, 0x86, 0x17, 0x16, 0xdb, 0xd1, 0x86, 0x16, 0xda, 0x10, 0x11,
- 0x02, 0x26, 0x01, 0x00, 0x18, 0x0e, 0x19, 0xdb, 0xc1, 0xe0, 0x01, 0x04, 0x01, 0xc7, 0xff, 0x00,
- 0x01, 0x87, 0x04, 0x80, 0xc8, 0x07, 0x01, 0x04, 0x01, 0x20, 0x01, 0x04, 0x20, 0x00, 0x16, 0xce,
- 0x10, 0xce, 0x04, 0xe0, 0x08, 0xa8, 0x04, 0x5b, 0xc0, 0xe0, 0x07, 0x5c, 0xc8, 0x03, 0x01, 0x6c,
- 0xc3, 0x43, 0xc2, 0xc3, 0xa2, 0xcb, 0xc2, 0xeb, 0x0c, 0x32, 0xc8, 0x0b, 0xfc, 0x00, 0x13, 0x07,
- 0xc8, 0x0b, 0x01, 0x6c, 0xc2, 0xe0, 0xfc, 0x00, 0x16, 0xfb, 0xc3, 0x60, 0x01, 0x6c, 0x07, 0x8b,
- 0x03, 0xea, 0x62, 0xe0, 0xfc, 0x04, 0xc8, 0x0b, 0xfc, 0x04, 0x07, 0x8b, 0x05, 0xf8, 0x03, 0x00,
- 0x00, 0x02, 0xc3, 0x9b, 0x16, 0x02, 0xce, 0xc3, 0x10, 0x05, 0x05, 0xcb, 0xc8, 0x1b, 0x01, 0x6c,
- 0xc8, 0x03, 0xfc, 0x00, 0xc6, 0xcd, 0x01, 0xa0, 0x07, 0x78, 0x07, 0xff, 0x03, 0x00, 0x00, 0x0f,
- 0x04, 0x20, 0xea, 0x7a, 0x07, 0x8e, 0x01, 0x04, 0x03, 0x00, 0x00, 0x02, 0xc3, 0xde, 0x01, 0x4f,
- 0x20, 0x00, 0x16, 0x08, 0x01, 0x20, 0x07, 0x78, 0x80, 0x00, 0x16, 0x04, 0x03, 0x00, 0x00, 0x0f,
- 0x04, 0x60, 0xc5, 0xc6, 0x01, 0xcf, 0xff, 0x00, 0x01, 0x8f, 0x04, 0x80, 0xc7, 0x8f, 0x01, 0x5e,
- 0x20, 0x00, 0x16, 0x04, 0x01, 0x60, 0x07, 0x78, 0x80, 0x00, 0x16, 0xf0, 0xc3, 0xdd, 0x02, 0x4f,
- 0x00, 0x0f, 0xe1, 0x2f, 0xe0, 0x14, 0x03, 0x00, 0x00, 0x0f, 0x04, 0x5b, 0x03, 0x00, 0x00, 0x0f,
- 0x10, 0x08, 0x06, 0xa0, 0xc7, 0x7e, 0x01, 0xc2, 0xff, 0x80, 0x01, 0x82, 0x24, 0x00, 0x07, 0x8e,
- 0x01, 0x04, 0x03, 0x00, 0x00, 0x02, 0x01, 0x5e, 0x20, 0x00, 0x16, 0xf0, 0xc7, 0x82, 0x03, 0x00,
- 0x00, 0x0f, 0x03, 0x90, 0x60, 0x3f, 0x04, 0x59, 0x07, 0x8e, 0x01, 0x04, 0x03, 0x00, 0x00, 0x02,
- 0x01, 0x5e, 0x20, 0x00, 0x13, 0x06, 0xc3, 0xde, 0x01, 0xcf, 0xff, 0x00, 0x01, 0x8f, 0x04, 0x80,
- 0xc7, 0x8f, 0x03, 0x00, 0x00, 0x0f, 0x04, 0x60, 0xc5, 0x60, 0x07, 0x8e, 0x01, 0x04, 0x03, 0x00,
- 0x00, 0x02, 0x01, 0x5e, 0x20, 0x00, 0x16, 0x10, 0x03, 0x00, 0x00, 0x0f, 0x04, 0x60, 0xc6, 0x22,
- 0x07, 0x8e, 0x01, 0x04, 0x03, 0x00, 0x00, 0x02, 0x01, 0x5e, 0x20, 0x00, 0x16, 0x09, 0x07, 0xa0,
- 0x01, 0x04, 0xdb, 0x86, 0x01, 0x85, 0x58, 0x00, 0x03, 0x00, 0x00, 0x0f, 0x04, 0x60, 0xc5, 0x6a,
- 0xc3, 0xde, 0x01, 0xcf, 0xff, 0x00, 0x01, 0x8f, 0x04, 0x80, 0xc7, 0x8f, 0x01, 0x5e, 0x20, 0x00,
- 0x13, 0xee, 0x01, 0xc0, 0x00, 0x80, 0x01, 0xc5, 0x58, 0x00, 0x10, 0xee, 0x07, 0x8e, 0x80, 0x20,
- 0xc2, 0x60, 0x01, 0x62, 0x04, 0xe0, 0x01, 0x62, 0x07, 0x8c, 0x09, 0x34, 0xcf, 0x1e, 0x11, 0x16,
- 0xc3, 0x5e, 0xc3, 0xfe, 0xcf, 0x1e, 0xe3, 0x5e, 0xa3, 0xfe, 0xcf, 0x1e, 0xe3, 0x5e, 0x13, 0x0e,
- 0xa3, 0xfe, 0x83, 0xfe, 0x16, 0x0b, 0xc3, 0x7e, 0x05, 0x4d, 0x83, 0x6e, 0xff, 0xf6, 0x16, 0x06,
- 0x02, 0x8e, 0x80, 0x30, 0x16, 0xf8, 0xc8, 0x09, 0x01, 0x62, 0x04, 0x5b, 0xc8, 0x09, 0x01, 0x62,
- 0x07, 0x20, 0x09, 0x34, 0x04, 0x5b, 0x04, 0xe0, 0x01, 0x68, 0xc8, 0x20, 0x07, 0xe4, 0x01, 0x18,
- 0xc3, 0x60, 0x07, 0xe2, 0x07, 0x8f, 0x00, 0x81, 0xd3, 0xe0, 0x07, 0xf4, 0x01, 0x4d, 0x40, 0x00,
- 0x16, 0x01, 0x05, 0x8f, 0xc8, 0x0f, 0x07, 0xf8, 0x07, 0x8f, 0x00, 0x81, 0xd3, 0xe0, 0x07, 0xee,
- 0x01, 0x4d, 0x80, 0x00, 0x16, 0x01, 0x05, 0x8f, 0xc8, 0x0f, 0x07, 0xee, 0x01, 0x8d, 0xc0, 0x00,
- 0xc8, 0x0d, 0x01, 0x1a, 0x04, 0x60, 0xc4, 0x16, 0x07, 0x8c, 0xee, 0x00, 0x06, 0xa0, 0x90, 0x94,
- 0x07, 0x8c, 0xed, 0x90, 0x06, 0xa0, 0x90, 0x94, 0x04, 0xe0, 0x01, 0x04, 0x04, 0x60, 0xc5, 0x6a,
- 0x02, 0x85, 0x00, 0x0e, 0x1a, 0x05, 0x01, 0x09, 0x0f, 0x00, 0x13, 0x02, 0x04, 0x60, 0xdd, 0x6a,
- 0x99, 0x49, 0xea, 0xd0, 0x04, 0x60, 0xdd, 0x54, 0x20, 0x00, 0xb3, 0xcc, 0x00, 0x14, 0x07, 0x8b,
- 0x01, 0x04, 0x01, 0x5b, 0x20, 0x00, 0x16, 0xfd, 0xd8, 0x20, 0x07, 0xdf, 0x01, 0x17, 0x07, 0x9b,
- 0xdf, 0x80, 0x20, 0x00, 0xff, 0xc0, 0x00, 0x2a, 0x03, 0x00, 0x00, 0x00, 0x01, 0xe0, 0x01, 0x00,
- 0x00, 0x80, 0x06, 0x4e, 0x02, 0x01, 0xef, 0xfa, 0xcc, 0x4d, 0xcc, 0x4e, 0xc4, 0x4f, 0x02, 0x00,
- 0x00, 0x01, 0xc8, 0x00, 0xef, 0xe0, 0x88, 0x00, 0xef, 0xe0, 0x13, 0xfd, 0x02, 0xe0, 0xef, 0xe0,
- 0x03, 0x80, 0x20, 0x00, 0xae, 0x00, 0x00, 0xaa, 0xc3, 0xce, 0x10, 0x32, 0x00, 0x00, 0xc0, 0x3c,
- 0x08, 0x4e, 0x00, 0x00, 0xc0, 0x20, 0x07, 0x78, 0x00, 0x00, 0x00, 0x02, 0x08, 0x56, 0x01, 0x0c,
- 0x00, 0x08, 0x08, 0x62, 0x03, 0xf8, 0x00, 0x06, 0x00, 0x00, 0x12, 0x00, 0x00, 0x02, 0x08, 0x7e,
- 0x01, 0x8c, 0x00, 0x02, 0x07, 0x78, 0x07, 0xff, 0x00, 0x06, 0x07, 0x7e, 0xfc, 0x76, 0xbe, 0xad,
- 0x01, 0x0a, 0x00, 0x08, 0x07, 0x8a, 0x00, 0x06, 0x00, 0x00, 0xcf, 0x7a, 0x11, 0x28, 0x00, 0x04,
- 0x13, 0xa0, 0x13, 0xa0, 0x90, 0x2a, 0x00, 0x02, 0x08, 0x96, 0x97, 0x6a, 0xc0, 0x04, 0x08, 0x9e,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x9d, 0xc8, 0x01, 0x80, 0x01, 0x00, 0x01, 0x38, 0x01, 0x7c,
- 0x01, 0xce, 0x02, 0x32, 0x02, 0xae, 0x03, 0x42, 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8,
- 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8,
- 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8,
- 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf8,
- 0xcc, 0x00, 0x20, 0x00, 0xb2, 0x98, 0x00, 0x04, 0x02, 0x09, 0x14, 0x00, 0x20, 0x00, 0xb2, 0xa8,
- 0x00, 0x02, 0x90, 0x00, 0x20, 0x00, 0xb1, 0x00, 0x00, 0x02, 0x90, 0x00, 0x20, 0x00, 0xf8, 0x08,
- 0x00, 0x02, 0x90, 0x00, 0x20, 0x00, 0xc8, 0xbe, 0x00, 0x04, 0xc2, 0xcb, 0xc2, 0xcb, 0x20, 0x00,
- 0xbf, 0xb4, 0x00, 0x08, 0x88, 0x0b, 0x07, 0x98, 0x88, 0x0b, 0x07, 0x78, 0x20, 0x00, 0xc0, 0x54,
- 0x00, 0x04, 0x06, 0xa0, 0xfa, 0x06, 0x20, 0x00, 0xc0, 0x5e, 0x00, 0x04, 0x07, 0x84, 0x07, 0x7a,
- 0x20, 0x00, 0xc0, 0xc2, 0x00, 0x04, 0x04, 0x60, 0xfa, 0x10, 0x20, 0x00, 0xc9, 0xc0, 0x00, 0x02,
- 0x16, 0xe2, 0x20, 0x00, 0xc9, 0xc2, 0x00, 0x04, 0x06, 0xa0, 0xfa, 0x42, 0x20, 0x00, 0xc9, 0xe8,
- 0x00, 0x04, 0x04, 0x60, 0xca, 0x0c, 0x20, 0x00, 0xb9, 0xa0, 0x00, 0x04, 0x04, 0x60, 0x98, 0xa0,
- 0x20, 0x00, 0xbb, 0x92, 0x00, 0x04, 0x06, 0xa0, 0x9a, 0xf4, 0x20, 0x00, 0xbc, 0x20, 0x00, 0x04,
- 0xc1, 0xe0, 0xfc, 0x02, 0x20, 0x00, 0xc5, 0x5c, 0x00, 0x04, 0x04, 0x60, 0xfc, 0xec, 0x20, 0x00,
- 0xc5, 0xa2, 0x00, 0x04, 0x04, 0x60, 0xfc, 0x78, 0x20, 0x00, 0xc5, 0xda, 0x00, 0x04, 0x04, 0x60,
- 0xfc, 0xc6, 0x20, 0x00, 0xc6, 0x1c, 0x00, 0x04, 0x04, 0x60, 0xfd, 0x0e, 0x20, 0x00, 0xc2, 0xe6,
- 0x00, 0x06, 0x01, 0x20, 0x01, 0x00, 0x00, 0x80, 0x20, 0x00, 0xc3, 0xd4, 0x00, 0x02, 0x01, 0x17,
- 0x20, 0x00, 0xa2, 0xca, 0x00, 0x02, 0xc5, 0x60, 0x20, 0x00, 0xa2, 0xd2, 0x00, 0x02, 0xfd, 0x24,
- 0x20, 0x00, 0xa2, 0xf2, 0x00, 0x02, 0xfd, 0x24, 0x20, 0x00, 0xa3, 0x18, 0x00, 0x02, 0xce, 0x98,
- 0x20, 0x00, 0xc5, 0x6e, 0x00, 0x02, 0x10, 0x0c, 0x20, 0x00, 0xc4, 0x0c, 0x00, 0x04, 0x06, 0xa0,
- 0xfd, 0xaa, 0x20, 0x00, 0xcc, 0x38, 0x00, 0x02, 0xc7, 0x7e, 0x20, 0x00, 0xa0, 0xc4, 0x00, 0x02,
- 0xc7, 0x7e, 0x20, 0x00, 0xc5, 0xec, 0x00, 0x02, 0xc7, 0xb4, 0x20, 0x00, 0xa0, 0xc0, 0x00, 0x02,
- 0xc7, 0xb4, 0x20, 0x00, 0xc5, 0x14, 0x00, 0x04, 0x04, 0x60, 0xfd, 0xec, 0x20, 0x00, 0xc4, 0xe6,
- 0x00, 0x04, 0x06, 0xa0, 0xfd, 0x60, 0x20, 0x00, 0xc8, 0x2c, 0x00, 0x02, 0x06, 0x69, 0x20, 0x00,
- 0xcc, 0x60, 0x00, 0x02, 0x06, 0x69, 0x20, 0x00, 0xdc, 0x68, 0x00, 0x02, 0x04, 0x5c, 0x20, 0x00,
- 0xdc, 0xb8, 0x00, 0x04, 0x04, 0x60, 0xf8, 0x30, 0x20, 0x00, 0xdd, 0x50, 0x00, 0x04, 0x04, 0x60,
- 0xfe, 0x04, 0x20, 0x80, 0xb4, 0x88, 0x00, 0x02, 0xfb, 0x88, 0x20, 0x80, 0xdf, 0x06, 0x00, 0x02,
- 0x08, 0xa8, 0x20, 0x00, 0xa0, 0x34, 0x00, 0x0a, 0x00, 0x02, 0x28, 0xf1, 0xf0, 0xf1, 0xf8, 0xe7,
- 0xe7, 0xe7, 0x20, 0x00, 0xb2, 0x3c, 0x00, 0x02, 0x06, 0x03, 0x20, 0x00, 0xa1, 0x16, 0x00, 0x02,
- 0x9c, 0x56, 0x20, 0x00, 0xa1, 0x1a, 0x00, 0x02, 0x98, 0x4e, 0x20, 0x00, 0xa1, 0x1c, 0x00, 0x04,
- 0x08, 0x4e, 0x95, 0xa8, 0x20, 0x00, 0xa1, 0x22, 0x00, 0x02, 0xfa, 0x76, 0x20, 0x00, 0xa1, 0x66,
- 0x00, 0x02, 0xf8, 0x9a, 0x20, 0x00, 0xa1, 0x6e, 0x00, 0x02, 0x9a, 0x22, 0x20, 0x00, 0xa1, 0x72,
- 0x00, 0x02, 0x9b, 0x56, 0x20, 0x00, 0xa1, 0x7a, 0x00, 0x02, 0x9a, 0xb0, 0x20, 0x00, 0xa1, 0x80,
- 0x00, 0x04, 0xef, 0xc0, 0xff, 0xc0, 0x20, 0x00, 0xa1, 0x9c, 0x00, 0x02, 0x9d, 0xb8, 0x20, 0x00,
- 0xa0, 0xb0, 0x00, 0x02, 0xce, 0xe8, 0x20, 0x00, 0xa0, 0xac, 0x00, 0x02, 0x07, 0x78, 0x20, 0x00,
- 0xa2, 0xe6, 0x00, 0x02, 0xfc, 0x1c, 0x20, 0x00, 0xf5, 0xc4, 0x00, 0x02, 0x00, 0x02, 0x20, 0x00,
- 0xf6, 0x7a, 0x00, 0x02, 0x00, 0x02, 0x20, 0x00, 0xf6, 0xae, 0x00, 0x02, 0x00, 0x02, 0x20, 0x00,
- 0xf5, 0xfa, 0x00, 0x02, 0x02, 0x00, 0x20, 0x00, 0xf6, 0x18, 0x00, 0x02, 0x02, 0x00, 0x20, 0x00,
- 0xc5, 0xc8, 0x00, 0x04, 0xc2, 0xa0, 0x07, 0xf8, 0x20, 0x00, 0xc6, 0x9a, 0x00, 0x04, 0xc2, 0xa0,
- 0x07, 0xf8, 0x20, 0x00, 0xc6, 0xdc, 0x00, 0x04, 0xc2, 0xa0, 0x07, 0xf8, 0x20, 0x00, 0xcc, 0x24,
- 0x00, 0x04, 0xc2, 0xa0, 0x07, 0xee, 0x20, 0x00, 0xa3, 0x64, 0x00, 0x02, 0x07, 0xf8, 0x20, 0x00,
- 0xa3, 0x6e, 0x00, 0x02, 0x07, 0xf8, 0x20, 0x00, 0xc3, 0xa6, 0x00, 0x02, 0x3f, 0xfe, 0x20, 0x00,
- 0xa4, 0x46, 0x00, 0x02, 0x07, 0x08, 0x30, 0x00, 0x90, 0xf0, 0x00, 0x06, 0xc3, 0xe0, 0xf0, 0x00,
- 0x11, 0xf8, 0x30, 0x00, 0x92, 0x2a, 0x00, 0x06, 0xc3, 0xe0, 0xf0, 0x00, 0x11, 0xf8, 0x30, 0x00,
- 0x93, 0x5c, 0x00, 0x06, 0xc3, 0xe0, 0xf0, 0x00, 0x11, 0xf8, 0x30, 0x00, 0x94, 0x5a, 0x00, 0x06,
- 0xc3, 0xe0, 0xf0, 0x00, 0x11, 0xf8, 0x30, 0x00, 0x95, 0x16, 0x00, 0x06, 0xc3, 0xe0, 0xf0, 0x00,
- 0x11, 0xf8, 0x30, 0x00, 0xcf, 0xe2, 0x00, 0x06, 0xc3, 0xe0, 0xf0, 0x00, 0x11, 0xf8, 0x30, 0x00,
- 0xd0, 0x14, 0x00, 0x06, 0xc3, 0xe0, 0xf0, 0x00, 0x11, 0xf8, 0x30, 0x00, 0xd0, 0x5e, 0x00, 0x06,
- 0xc3, 0xe0, 0xf0, 0x00, 0x11, 0xf8, 0x30, 0x00, 0xd0, 0x98, 0x00, 0x06, 0xc3, 0xe0, 0xf0, 0x00,
- 0x11, 0xf8, 0x30, 0x00, 0xd0, 0xea, 0x00, 0x06, 0xc3, 0xe0, 0xf0, 0x00, 0x11, 0xf8, 0x30, 0x00,
- 0xd1, 0x52, 0x00, 0x06, 0xc3, 0xe0, 0xf0, 0x00, 0x11, 0xf8, 0x30, 0x00, 0xd1, 0x76, 0x00, 0x06,
- 0xc3, 0xe0, 0xf0, 0x00, 0x11, 0xf8, 0x30, 0x00, 0xd1, 0xb6, 0x00, 0x06, 0xc3, 0xe0, 0xf0, 0x00,
- 0x11, 0xf8, 0x30, 0x00, 0xd1, 0xec, 0x00, 0x06, 0xc3, 0xe0, 0xf0, 0x00, 0x11, 0xf8, 0x30, 0x00,
- 0xd2, 0x3c, 0x00, 0x06, 0xc3, 0xe0, 0xf0, 0x00, 0x11, 0xf8, 0x30, 0x00, 0xd2, 0xca, 0x00, 0x06,
- 0xc3, 0xe0, 0xf0, 0x00, 0x11, 0xf8, 0x30, 0x00, 0xd3, 0x30, 0x00, 0x06, 0xc3, 0xe0, 0xf0, 0x00,
- 0x11, 0xf8, 0x30, 0x00, 0xd4, 0x5a, 0x00, 0x06, 0xc3, 0xe0, 0xf0, 0x00, 0x11, 0xf8, 0x30, 0x00,
- 0xd4, 0xaa, 0x00, 0x06, 0xc3, 0xe0, 0xf0, 0x00, 0x11, 0xf8, 0x30, 0x00, 0xd4, 0xea, 0x00, 0x06,
- 0xc3, 0xa0, 0xf0, 0x00, 0x11, 0xf8, 0x30, 0x00, 0xd5, 0x0a, 0x00, 0x06, 0xc3, 0xe0, 0xf0, 0x00,
- 0x11, 0xf8, 0x30, 0x00, 0xd5, 0x54, 0x00, 0x06, 0xc3, 0xe0, 0xf0, 0x00, 0x11, 0xf8, 0x30, 0x00,
- 0xd5, 0xae, 0x00, 0x06, 0xc3, 0xe0, 0xf0, 0x00, 0x11, 0xf8, 0x30, 0x00, 0xfb, 0x9e, 0x00, 0x06,
- 0xc1, 0xe0, 0xf0, 0x00, 0x11, 0x14, 0x30, 0x00, 0xc7, 0x4e, 0x00, 0x06, 0x01, 0x60, 0xf0, 0x00,
- 0x80, 0x00, 0x30, 0x00, 0xc7, 0x86, 0x00, 0x06, 0x01, 0x60, 0xf0, 0x00, 0x80, 0x00, 0x30, 0x00,
- 0xc7, 0xbc, 0x00, 0x06, 0x01, 0x60, 0xf0, 0x00, 0x80, 0x00, 0x30, 0x00, 0x95, 0x5e, 0x00, 0x04,
- 0xed, 0x03, 0xed, 0x03, 0x30, 0x00, 0x95, 0x8a, 0x00, 0x04, 0xed, 0x03, 0xed, 0x03, 0x34, 0x00,
- 0x91, 0xa4, 0x00, 0x02, 0x60, 0x82, 0x34, 0x00, 0x92, 0x44, 0x00, 0x02, 0x60, 0x82, 0x34, 0x00,
- 0x93, 0x78, 0x00, 0x02, 0x60, 0x82, 0x34, 0x00, 0x94, 0x7a, 0x00, 0x02, 0x68, 0x82, 0x34, 0x00,
- 0x95, 0x32, 0x00, 0x02, 0x60, 0x82, 0x34, 0x00, 0x95, 0x6c, 0x00, 0x02, 0x68, 0x82, 0x34, 0x00,
- 0x95, 0x98, 0x00, 0x02, 0x68, 0x82, 0x34, 0x00, 0x95, 0xda, 0x00, 0x02, 0x20, 0x82, 0x38, 0x00,
- 0xd0, 0x76, 0x00, 0x02, 0xe0, 0x82, 0x38, 0x00, 0xd0, 0xca, 0x00, 0x02, 0xe0, 0x82, 0x38, 0x00,
- 0xd4, 0x3a, 0x00, 0x02, 0xe0, 0x82, 0x20, 0x00, 0xa0, 0x02, 0x00, 0x02, 0xf9, 0xe0, 0x20, 0x00,
- 0xa0, 0x7a, 0x00, 0x02, 0xe5, 0x18, 0x20, 0x80, 0xa0, 0x02, 0x00, 0x02, 0x5b, 0x58, 0x20, 0x80,
- 0xa0, 0x7a, 0x00, 0x02, 0x83, 0xa0, 0x30, 0x00, 0xa0, 0x02, 0x00, 0x02, 0xae, 0x4f, 0x30, 0x00,
- 0xa0, 0x7a, 0x00, 0x02, 0x2f, 0xfc, 0x30, 0x80, 0xa0, 0x02, 0x00, 0x02, 0x0f, 0xc7, 0x30, 0x80,
- 0xa0, 0x7a, 0x00, 0x02, 0xce, 0x84, 0x34, 0x00, 0xa0, 0x02, 0x00, 0x02, 0xae, 0x4f, 0x34, 0x00,
- 0xa0, 0x7a, 0x00, 0x02, 0x2f, 0xf4, 0x34, 0x80, 0xa0, 0x02, 0x00, 0x02, 0x0f, 0xc7, 0x34, 0x80,
- 0xa0, 0x7a, 0x00, 0x02, 0xce, 0x7c, 0x38, 0x00, 0xa0, 0x02, 0x00, 0x02, 0xae, 0x52, 0x38, 0x00,
- 0xa0, 0x7a, 0x00, 0x02, 0x2f, 0xf1, 0x38, 0x80, 0xa0, 0x02, 0x00, 0x02, 0x0f, 0xca, 0x38, 0x80,
- 0xa0, 0x7a, 0x00, 0x02, 0xce, 0x79, 0x00, 0x00, 0x80, 0x00, 0x09, 0xfc, 0x53, 0x4d, 0x41, 0x43,
- 0x2e, 0x30, 0x30, 0x2e, 0x33, 0x38, 0x20, 0x20, 0x28, 0x43, 0x29, 0x20, 0x43, 0x6f, 0x70, 0x79,
- 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x4f, 0x6c, 0x69, 0x63, 0x6f, 0x6d, 0x20, 0x31, 0x39, 0x39,
- 0x38, 0x2e, 0x00, 0x00, 0x07, 0xa0, 0x13, 0x04, 0xc4, 0x00, 0x01, 0x60, 0x09, 0x6a, 0x80, 0x00,
- 0x16, 0x03, 0x01, 0xa0, 0x09, 0x6a, 0x00, 0x60, 0x01, 0x60, 0x09, 0x6a, 0x00, 0x40, 0x16, 0x34,
- 0x01, 0x20, 0x13, 0x0c, 0x10, 0x00, 0x16, 0x30, 0xd8, 0x20, 0x09, 0x2e, 0x13, 0x06, 0xd8, 0x20,
- 0x01, 0x80, 0x13, 0x08, 0xd8, 0x20, 0x01, 0x82, 0x13, 0x0a, 0x07, 0xa0, 0x13, 0x00, 0x87, 0xe0,
- 0x07, 0xa0, 0x13, 0x02, 0xed, 0xb6, 0x07, 0xa0, 0x13, 0x14, 0x00, 0x04, 0x06, 0xa0, 0x84, 0xd0,
- 0x07, 0xa0, 0x13, 0x0c, 0x04, 0x00, 0xd8, 0x20, 0xef, 0x54, 0x09, 0x2e, 0x01, 0xe0, 0x13, 0x0c,
- 0x10, 0x00, 0x01, 0xa0, 0x13, 0x0c, 0x28, 0x00, 0x01, 0x60, 0x09, 0x6a, 0x00, 0x20, 0x16, 0x03,
- 0x01, 0xe0, 0x13, 0x0c, 0x28, 0x00, 0x07, 0xa0, 0x13, 0x4c, 0x00, 0x02, 0x02, 0x0a, 0x00, 0x02,
- 0x01, 0xe0, 0x13, 0x0e, 0x01, 0x80, 0x10, 0x09, 0x07, 0xa0, 0x13, 0x00, 0xdb, 0xc4, 0x07, 0xa0,
- 0x13, 0x02, 0xea, 0xb0, 0x01, 0xa0, 0x13, 0x0c, 0x38, 0x00, 0x06, 0xa0, 0xdc, 0x32, 0xc2, 0xe0,
- 0x13, 0x00, 0x04, 0x5b, 0x01, 0x4e, 0x00, 0x40, 0x16, 0x02, 0x04, 0x60, 0xcc, 0xb4, 0x02, 0x0d,
- 0x12, 0x00, 0x04, 0x60, 0xcc, 0xa6, 0x01, 0x60, 0x13, 0x0c, 0x10, 0x00, 0x13, 0x02, 0x04, 0x60,
- 0xe3, 0xce, 0xc8, 0x0b, 0x13, 0x52, 0x06, 0xa0, 0xe3, 0xce, 0xd8, 0x20, 0xe0, 0x0a, 0xfc, 0x06,
- 0xc2, 0xe0, 0x13, 0x52, 0x04, 0x5b, 0x01, 0x60, 0x13, 0x0c, 0x10, 0x00, 0x16, 0x06, 0x02, 0x84,
- 0x00, 0x12, 0x13, 0x15, 0x02, 0x84, 0x00, 0x14, 0x13, 0x2d, 0x06, 0xa0, 0xe3, 0xce, 0x01, 0x60,
- 0x13, 0x0c, 0x10, 0x00, 0x16, 0x0a, 0xd8, 0x20, 0xe0, 0x0a, 0x04, 0x06, 0x88, 0x20, 0x13, 0x54,
- 0x03, 0xf8, 0x13, 0x03, 0x07, 0xa0, 0x03, 0xf8, 0x81, 0x8c, 0x04, 0x60, 0xdb, 0x96, 0x02, 0x04,
- 0x00, 0x08, 0x06, 0xa0, 0xe3, 0xce, 0x07, 0xa0, 0x03, 0xf8, 0x81, 0x8c, 0x02, 0x05, 0x04, 0x04,
- 0x02, 0x06, 0xef, 0x5c, 0xcd, 0x76, 0xcd, 0x76, 0x02, 0x25, 0x00, 0x0c, 0xcd, 0x76, 0xcd, 0x76,
- 0xcd, 0x76, 0xcd, 0x60, 0x13, 0x12, 0xcd, 0x76, 0xcd, 0x60, 0x13, 0x4c, 0xcd, 0x76, 0xc5, 0x60,
- 0x09, 0x1e, 0x10, 0xe3, 0x02, 0x04, 0x00, 0x08, 0x06, 0xa0, 0xe3, 0xce, 0x07, 0xa0, 0x03, 0xf8,
- 0x81, 0x8c, 0x02, 0x05, 0x04, 0x04, 0x02, 0x06, 0xef, 0x6a, 0xcd, 0x76, 0xcd, 0x76, 0x02, 0x25,
- 0x00, 0x0c, 0xcd, 0x76, 0xcd, 0x76, 0x10, 0xd1, 0x04, 0x60, 0x87, 0xe0, 0x01, 0x4f, 0x00, 0x0a,
- 0x16, 0x03, 0x01, 0x4f, 0x00, 0x80, 0x04, 0x5b, 0x04, 0x60, 0xda, 0x04, 0xc0, 0xc3, 0x13, 0x06,
- 0x01, 0x60, 0x13, 0x0c, 0x10, 0x00, 0x16, 0x02, 0x01, 0xd6, 0x00, 0x80, 0x07, 0x86, 0x07, 0x36,
- 0x04, 0x60, 0xe3, 0x7a, 0xa0, 0x60, 0x13, 0x02, 0xc1, 0x11, 0x04, 0x54, 0x01, 0x48, 0x40, 0x00,
- 0x16, 0x06, 0x01, 0x88, 0x40, 0x00, 0x02, 0x28, 0xef, 0x00, 0x04, 0x60, 0xe0, 0x36, 0x02, 0x28,
- 0xe3, 0xee, 0x04, 0x60, 0xe0, 0x36, 0x01, 0x60, 0x13, 0x0c, 0x10, 0x00, 0x16, 0x06, 0x02, 0x85,
- 0x00, 0x12, 0x13, 0x0a, 0x02, 0x85, 0x00, 0x14, 0x13, 0x07, 0x02, 0x85, 0x00, 0x15, 0x13, 0x24,
- 0x02, 0x85, 0x00, 0x10, 0x04, 0x60, 0xdd, 0x4c, 0x02, 0x03, 0x80, 0x02, 0x88, 0x24, 0x00, 0x14,
- 0xe0, 0x1c, 0x16, 0x19, 0x05, 0x83, 0x05, 0x83, 0x92, 0x60, 0xef, 0x9e, 0x16, 0x14, 0x05, 0x83,
- 0x99, 0x20, 0xe0, 0x0e, 0x00, 0x18, 0x16, 0x0f, 0x05, 0x83, 0x05, 0x83, 0x02, 0x85, 0x00, 0x12,
- 0x16, 0x05, 0x99, 0x20, 0xef, 0xa0, 0x00, 0x19, 0x16, 0x06, 0x10, 0x04, 0x99, 0x20, 0xef, 0xa1,
- 0x00, 0x19, 0x16, 0x01, 0x04, 0xc3, 0x04, 0x5c, 0x02, 0x03, 0x80, 0x02, 0x88, 0x24, 0x00, 0x14,
- 0xe0, 0x1e, 0x16, 0xf9, 0x05, 0x83, 0x05, 0x83, 0x92, 0x60, 0xef, 0x9e, 0x16, 0xf4, 0x04, 0xc3,
- 0x10, 0xf2, 0x02, 0x85, 0x00, 0x15, 0x13, 0x09, 0x02, 0x85, 0x00, 0x09, 0x13, 0x02, 0x06, 0xa0,
- 0xe2, 0xe4, 0xa1, 0x45, 0xc1, 0x65, 0xe3, 0xac, 0x04, 0x55, 0x06, 0xa0, 0xe1, 0xa2, 0x01, 0x60,
- 0x13, 0x0c, 0x04, 0x00, 0x16, 0x19, 0x01, 0x4f, 0x00, 0x80, 0x16, 0x09, 0x01, 0xe0, 0x13, 0x0e,
- 0x20, 0x00, 0x02, 0x03, 0x80, 0x10, 0x06, 0xa0, 0xe3, 0x56, 0x06, 0xa0, 0xe2, 0x72, 0x01, 0xe0,
- 0x13, 0x0e, 0x00, 0x10, 0x07, 0xa0, 0x13, 0x00, 0x87, 0xe0, 0x07, 0xa0, 0x13, 0x02, 0xed, 0xb6,
- 0x01, 0x8f, 0x00, 0x80, 0x02, 0x0a, 0x00, 0x08, 0x04, 0x60, 0x80, 0xbe, 0x02, 0x0d, 0x80, 0x00,
- 0x01, 0x60, 0x13, 0x0c, 0x10, 0x00, 0x16, 0x02, 0x02, 0x0d, 0x80, 0x80, 0x04, 0x52, 0x01, 0x60,
- 0x13, 0x0e, 0x20, 0x00, 0x16, 0x02, 0x02, 0x03, 0x82, 0x00, 0x04, 0x60, 0xdb, 0xb8, 0x02, 0x8f,
- 0x00, 0x06, 0x16, 0x56, 0x01, 0xe0, 0x13, 0x0e, 0x00, 0xa0, 0x05, 0xa0, 0x13, 0x16, 0x06, 0xa0,
- 0x85, 0x30, 0x02, 0x08, 0xc0, 0x00, 0x06, 0xa0, 0xe0, 0x22, 0x01, 0xcd, 0x04, 0x00, 0x10, 0x48,
- 0x02, 0x8f, 0x00, 0x02, 0x16, 0x45, 0x02, 0x08, 0xc0, 0x42, 0x06, 0xa0, 0xe0, 0x22, 0x01, 0xcd,
- 0x08, 0x00, 0x10, 0x3e, 0x93, 0xe0, 0xef, 0xa3, 0x13, 0x03, 0x93, 0xe0, 0xef, 0xa4, 0x16, 0x38,
- 0xd2, 0xa0, 0xef, 0xa5, 0x10, 0x35, 0x02, 0x8f, 0x00, 0x06, 0x16, 0x32, 0x02, 0x03, 0x00, 0x03,
- 0x04, 0x60, 0x82, 0xc2, 0x93, 0xe0, 0xef, 0xa5, 0x16, 0x2b, 0x01, 0xe0, 0x13, 0x0e, 0x00, 0x80,
- 0x06, 0xa0, 0x85, 0x30, 0x04, 0xcf, 0x02, 0x0a, 0x00, 0x04, 0x02, 0x08, 0xc0, 0x1e, 0x06, 0xa0,
- 0xe0, 0x22, 0x02, 0x03, 0x68, 0x00, 0x06, 0xa0, 0xe3, 0x56, 0x02, 0x03, 0x80, 0x10, 0x06, 0xa0,
- 0xe3, 0x56, 0x10, 0x16, 0x02, 0x8f, 0x00, 0x04, 0x16, 0x13, 0x02, 0x03, 0x00, 0x03, 0x04, 0x60,
- 0x82, 0xc2, 0x02, 0x8f, 0x00, 0x02, 0x16, 0x7a, 0x01, 0x60, 0x13, 0x0e, 0x00, 0x08, 0x16, 0x02,
- 0x04, 0x60, 0x85, 0x56, 0x02, 0x0a, 0x00, 0x04, 0x02, 0x08, 0xc0, 0x1e, 0x06, 0xa0, 0xe0, 0x22,
- 0x10, 0x6d, 0x01, 0x60, 0x13, 0x0e, 0x40, 0x00, 0x16, 0x69, 0x02, 0x8f, 0x00, 0x06, 0x16, 0x07,
- 0x01, 0xe0, 0x13, 0x0e, 0x00, 0xa0, 0x05, 0xa0, 0x13, 0x16, 0x06, 0xa0, 0x85, 0x30, 0x02, 0x08,
- 0xc0, 0x30, 0x06, 0xa0, 0xe0, 0x22, 0x01, 0xcd, 0x01, 0x00, 0x10, 0x58, 0x93, 0xe0, 0xef, 0xa3,
- 0x16, 0x55, 0x02, 0x08, 0xc0, 0x36, 0x06, 0xa0, 0xe0, 0x22, 0x07, 0xa0, 0x07, 0x08, 0x00, 0x05,
- 0x01, 0x60, 0x13, 0x0e, 0x04, 0x00, 0x16, 0x03, 0x07, 0xa0, 0x07, 0x08, 0x00, 0x02, 0x02, 0x05,
- 0x03, 0xf8, 0x02, 0x04, 0x00, 0x04, 0x04, 0x60, 0x80, 0xfa, 0xc1, 0x20, 0x01, 0x84, 0x02, 0x44,
- 0x88, 0x00, 0x13, 0x12, 0x48, 0x04, 0x01, 0x84, 0x06, 0x20, 0x07, 0x02, 0x16, 0x08, 0x01, 0xe0,
- 0x13, 0x0e, 0x04, 0x00, 0x07, 0x83, 0xc0, 0x00, 0x06, 0xa0, 0xe3, 0x56, 0x10, 0x2f, 0x02, 0x08,
- 0xc0, 0x3c, 0x06, 0xa0, 0xe0, 0x22, 0x10, 0x2a, 0x01, 0xe0, 0x01, 0x82, 0x40, 0x00, 0x06, 0xa0,
- 0xe0, 0x18, 0x07, 0x20, 0x07, 0x02, 0x01, 0x8e, 0x80, 0x00, 0x01, 0xa0, 0x13, 0x0e, 0x06, 0x00,
- 0x10, 0x1d, 0x02, 0x8f, 0x00, 0x02, 0x16, 0x1a, 0x01, 0x20, 0x13, 0x0e, 0x00, 0x40, 0x16, 0x16,
- 0xc2, 0x20, 0x13, 0x14, 0x13, 0x09, 0x06, 0x20, 0x13, 0x14, 0x02, 0x08, 0xc0, 0x42, 0x06, 0xa0,
- 0xe0, 0x22, 0x01, 0xcd, 0x08, 0x00, 0x10, 0x0a, 0x01, 0x60, 0x13, 0x0c, 0x20, 0x00, 0x13, 0x02,
- 0x04, 0x60, 0x85, 0x56, 0x02, 0x03, 0x00, 0x05, 0x04, 0x60, 0x82, 0xc2, 0x04, 0x60, 0x87, 0xe0,
- 0x02, 0x8f, 0x00, 0x06, 0x16, 0x04, 0x02, 0x03, 0x00, 0x05, 0x04, 0x60, 0x82, 0xc2, 0x01, 0x60,
- 0x13, 0x0e, 0x20, 0x00, 0x16, 0xf3, 0x93, 0xe0, 0xef, 0xa2, 0x16, 0xf0, 0x01, 0xa0, 0x13, 0x0e,
- 0x50, 0x80, 0x06, 0xa0, 0x85, 0x30, 0x01, 0xce, 0x00, 0x01, 0xd2, 0xa0, 0xef, 0xa3, 0x07, 0xa0,
- 0x07, 0x08, 0x00, 0x05, 0x01, 0x60, 0x13, 0x0e, 0x04, 0x00, 0x16, 0x03, 0x07, 0xa0, 0x07, 0x08,
- 0x00, 0x02, 0x02, 0x08, 0xc0, 0x36, 0x06, 0xa0, 0xe0, 0x22, 0x02, 0x08, 0xc0, 0x0c, 0x06, 0xa0,
- 0xe0, 0x22, 0x02, 0x08, 0xc0, 0x18, 0x06, 0xa0, 0xe0, 0x22, 0x10, 0xd0, 0x02, 0x8f, 0x00, 0x08,
- 0x16, 0xcd, 0x07, 0xa0, 0x13, 0x14, 0x00, 0x0c, 0x04, 0x60, 0x80, 0x74, 0xc3, 0x0b, 0x06, 0xa0,
- 0x85, 0x48, 0x06, 0xa0, 0x84, 0xf2, 0xc2, 0xcc, 0x04, 0xe0, 0x13, 0x0e, 0x04, 0xe0, 0x13, 0x16,
- 0x04, 0xe0, 0x06, 0xdc, 0x04, 0xe0, 0x06, 0xde, 0x04, 0xe0, 0x06, 0xe0, 0x04, 0x5b, 0x02, 0x06,
- 0x00, 0x05, 0x02, 0x04, 0x13, 0x1a, 0xc1, 0x54, 0x13, 0x01, 0x2c, 0xd4, 0x02, 0x24, 0x00, 0x0a,
- 0x06, 0x06, 0x16, 0xf9, 0x04, 0x5b, 0x02, 0x06, 0x00, 0x05, 0x02, 0x04, 0x06, 0x72, 0xc1, 0x54,
- 0x13, 0x01, 0x2c, 0xd4, 0x02, 0x24, 0x00, 0x0a, 0x06, 0x06, 0x16, 0xf9, 0x04, 0x5b, 0x01, 0x60,
- 0x13, 0x0e, 0x08, 0x00, 0x16, 0x03, 0x01, 0xe0, 0x01, 0x82, 0x20, 0x00, 0x01, 0x60, 0x13, 0x0e,
- 0x00, 0x80, 0x16, 0x04, 0x01, 0xe0, 0x01, 0x82, 0x0a, 0x00, 0x10, 0x03, 0x01, 0xa0, 0x01, 0x82,
- 0x0a, 0x00, 0x04, 0x5b, 0x01, 0xa0, 0x01, 0x82, 0x28, 0x00, 0x01, 0xe0, 0x01, 0x82, 0x10, 0x00,
- 0x04, 0x5b, 0x06, 0xa0, 0x84, 0xf2, 0x04, 0xe0, 0x13, 0x0e, 0xd8, 0x20, 0x13, 0x06, 0x09, 0x2e,
- 0xd8, 0x20, 0x13, 0x08, 0x01, 0x80, 0xd8, 0x20, 0x13, 0x0a, 0x01, 0x82, 0x06, 0xa0, 0xe0, 0x18,
- 0x04, 0x60, 0xe5, 0x62, 0xc0, 0x62, 0x00, 0x04, 0xc8, 0x22, 0x00, 0x06, 0x01, 0x6c, 0x02, 0x82,
- 0x04, 0x00, 0x1b, 0x0d, 0x01, 0x8e, 0x08, 0x00, 0x02, 0x8f, 0x00, 0x06, 0x16, 0x08, 0x06, 0x20,
- 0x13, 0x16, 0x16, 0x05, 0x01, 0xa0, 0x13, 0x0e, 0x00, 0xa0, 0x06, 0xa0, 0x85, 0x30, 0xc1, 0x22,
- 0x00, 0x0e, 0x04, 0x51, 0xc8, 0x02, 0x01, 0x6c, 0xa0, 0x82, 0xc8, 0x22, 0x0c, 0x32, 0xfc, 0x00,
- 0x02, 0x02, 0xfc, 0x00, 0x93, 0xe0, 0xe3, 0xaa, 0x13, 0x71, 0x06, 0xa0, 0xdc, 0xc6, 0x01, 0xa2,
- 0x00, 0x0e, 0x80, 0x00, 0xc8, 0x05, 0x06, 0xfc, 0xc0, 0xc3, 0x16, 0x43, 0x01, 0x22, 0x00, 0x16,
- 0x0f, 0x00, 0x16, 0x10, 0x88, 0x22, 0x00, 0x0e, 0x09, 0x6c, 0x16, 0x0c, 0x88, 0x22, 0x00, 0x10,
- 0x09, 0x6e, 0x16, 0x08, 0x88, 0x22, 0x00, 0x12, 0x09, 0x70, 0x16, 0x04, 0x06, 0xa0, 0xe1, 0xa2,
- 0x04, 0x60, 0x87, 0xe0, 0x98, 0xa0, 0xef, 0xa6, 0x00, 0x16, 0x13, 0x04, 0x98, 0xa0, 0xef, 0xa7,
- 0x00, 0x16, 0x16, 0x15, 0xc2, 0xe0, 0x06, 0xdc, 0x16, 0x06, 0xc2, 0xe0, 0x06, 0xde, 0x16, 0x03,
- 0xc2, 0xe0, 0x06, 0xe0, 0x13, 0x0c, 0x88, 0x22, 0x00, 0x0e, 0x06, 0xdc, 0x16, 0x71, 0x88, 0x22,
- 0x00, 0x10, 0x06, 0xde, 0x16, 0x6d, 0x88, 0x22, 0x00, 0x12, 0x06, 0xe0, 0x16, 0x69, 0x02, 0x85,
- 0x00, 0x09, 0x13, 0x0b, 0x02, 0x85, 0x00, 0x15, 0x13, 0x08, 0x02, 0x85, 0x00, 0x12, 0x13, 0x0d,
- 0x02, 0x85, 0x00, 0x14, 0x13, 0x0e, 0x06, 0xa0, 0xe2, 0xe4, 0xa1, 0x45, 0xc1, 0x65, 0xef, 0x72,
- 0x04, 0x55, 0x06, 0xa0, 0xe0, 0x6e, 0x04, 0x60, 0x87, 0xe0, 0xc8, 0x24, 0x00, 0x1a, 0x13, 0x4e,
- 0x10, 0xf4, 0xc8, 0x24, 0x00, 0x1a, 0x13, 0x50, 0x10, 0xf0, 0x01, 0x20, 0x13, 0x0e, 0x02, 0x00,
- 0x16, 0x07, 0x04, 0xe0, 0x01, 0x84, 0x01, 0xa0, 0x01, 0x82, 0x40, 0x00, 0x06, 0xa0, 0xe0, 0x18,
- 0x07, 0xa0, 0x07, 0x02, 0x00, 0x04, 0x01, 0xe0, 0x13, 0x0e, 0x02, 0x00, 0x01, 0xce, 0x80, 0x00,
- 0x02, 0x08, 0xc0, 0x3c, 0x06, 0xa0, 0xe0, 0x22, 0x04, 0x60, 0x87, 0xe0, 0x06, 0xa0, 0xe1, 0xa2,
- 0x04, 0x60, 0x87, 0xe0, 0x06, 0xa0, 0xe1, 0xa2, 0x02, 0x03, 0x00, 0x05, 0x01, 0x4f, 0x00, 0x80,
- 0x16, 0x02, 0x02, 0x03, 0x82, 0x00, 0x04, 0x60, 0x82, 0xc2, 0x01, 0x60, 0x13, 0x0e, 0x20, 0x00,
- 0x16, 0x24, 0x93, 0xe0, 0xef, 0xa2, 0x16, 0x0c, 0x01, 0x60, 0x13, 0x0e, 0x20, 0x00, 0x16, 0x28,
- 0x02, 0x03, 0xa0, 0x00, 0x06, 0xa0, 0xe3, 0x56, 0x01, 0xa0, 0x13, 0x0e, 0x50, 0x00, 0x10, 0x03,
- 0x93, 0xe0, 0xef, 0xa3, 0x16, 0x1d, 0x01, 0xce, 0x00, 0x02, 0xd2, 0xa0, 0xef, 0xa4, 0x02, 0x08,
- 0xc0, 0x0c, 0x06, 0xa0, 0xe0, 0x22, 0x02, 0x08, 0xc0, 0x18, 0x06, 0xa0, 0xe0, 0x22, 0x10, 0x10,
- 0x06, 0xa0, 0xe1, 0xa2, 0x02, 0x03, 0x00, 0x0b, 0x10, 0x04, 0x06, 0xa0, 0xe1, 0xa2, 0x02, 0x03,
- 0x00, 0x05, 0x01, 0x4f, 0x00, 0x80, 0x16, 0x02, 0x02, 0x03, 0x82, 0x00, 0x04, 0x60, 0x82, 0xc2,
- 0x10, 0xbd, 0x02, 0x8f, 0x00, 0x02, 0x13, 0xf1, 0x02, 0x8f, 0x00, 0x04, 0x13, 0xee, 0x01, 0x60,
- 0x13, 0x0e, 0x40, 0x00, 0x16, 0xf5, 0x02, 0x08, 0xc0, 0x48, 0x06, 0xa0, 0xe0, 0x22, 0x10, 0xf0,
- 0x02, 0x8f, 0x00, 0x02, 0x16, 0xab, 0xc0, 0xe0, 0x13, 0x4e, 0x16, 0x0e, 0x01, 0x60, 0x13, 0x0c,
- 0x08, 0x00, 0x13, 0xa8, 0x01, 0xe0, 0x13, 0x0e, 0x00, 0x48, 0x06, 0xa0, 0xe1, 0xa2, 0x02, 0x08,
- 0xc0, 0x24, 0x06, 0xa0, 0xe0, 0x22, 0x10, 0x22, 0x02, 0x83, 0x00, 0x02, 0x16, 0xd9, 0xc8, 0x24,
- 0x00, 0x0e, 0x06, 0xdc, 0xc8, 0x24, 0x00, 0x10, 0x06, 0xde, 0xc8, 0x24, 0x00, 0x12, 0x06, 0xe0,
- 0x06, 0xa0, 0xe1, 0xa2, 0x02, 0x08, 0xc0, 0x24, 0x06, 0xa0, 0xe0, 0x22, 0x01, 0xe0, 0x13, 0x0e,
- 0x00, 0x40, 0xc0, 0xe0, 0x13, 0x12, 0x16, 0x04, 0x01, 0xa0, 0x13, 0x0e, 0x08, 0x01, 0x10, 0x06,
- 0x02, 0x83, 0x00, 0x01, 0x16, 0x03, 0x01, 0xe0, 0x13, 0x0e, 0x08, 0x01, 0x10, 0x17, 0x02, 0x8f,
- 0x00, 0x06, 0x16, 0xb6, 0xc0, 0xe0, 0x13, 0x50, 0x02, 0x83, 0x00, 0x00, 0x16, 0x05, 0x06, 0xa0,
- 0xe1, 0xa2, 0x02, 0x0a, 0x00, 0x0a, 0x10, 0x0a, 0x02, 0x83, 0x80, 0x20, 0x16, 0x04, 0x02, 0x03,
- 0x00, 0x08, 0x04, 0x60, 0x82, 0xc2, 0x16, 0xa4, 0x04, 0x60, 0xda, 0x04, 0x92, 0xa0, 0xe0, 0x26,
- 0x16, 0x0d, 0xd3, 0xe0, 0xe0, 0x26, 0x01, 0x4f, 0x00, 0x80, 0x13, 0x07, 0xc1, 0x0a, 0x83, 0xc4,
- 0x13, 0x08, 0xc3, 0xc4, 0xc1, 0x24, 0xed, 0xd6, 0x04, 0x54, 0x10, 0x03, 0x93, 0xca, 0x13, 0xec,
- 0xd3, 0xca, 0x03, 0xb0, 0xd8, 0x0f, 0x06, 0x59, 0x71, 0x04, 0xc1, 0x24, 0xed, 0xe2, 0x04, 0x54,
- 0xf8, 0x20, 0xef, 0x54, 0x01, 0x80, 0xf8, 0x20, 0xef, 0x56, 0x01, 0x82, 0x06, 0xa0, 0xe0, 0x18,
- 0x2e, 0xe0, 0x00, 0x00, 0xc8, 0x20, 0x09, 0x6c, 0x01, 0xa0, 0xc8, 0x20, 0x09, 0x6e, 0x01, 0xa2,
- 0xc8, 0x20, 0x09, 0x70, 0x01, 0xa4, 0x02, 0x08, 0xc0, 0x06, 0x06, 0xa0, 0xe0, 0x22, 0x10, 0xcc,
- 0x07, 0xa0, 0x06, 0xc6, 0x02, 0x00, 0x07, 0xa0, 0x06, 0xc8, 0x00, 0x02, 0xd8, 0x20, 0xef, 0x58,
- 0x09, 0x2e, 0xd8, 0x20, 0xef, 0x58, 0x01, 0x80, 0xd8, 0x20, 0xef, 0x5a, 0x01, 0x82, 0x06, 0xa0,
- 0xe0, 0x18, 0x04, 0xe0, 0x01, 0x9e, 0x02, 0x08, 0xc0, 0x2a, 0x06, 0xa0, 0xe0, 0x22, 0x02, 0x04,
- 0x00, 0x0a, 0x02, 0x05, 0x03, 0xf4, 0x06, 0xa0, 0xe3, 0xce, 0x07, 0xa0, 0x03, 0xf8, 0x88, 0x94,
- 0x01, 0x4e, 0x08, 0x00, 0x13, 0xa9, 0x01, 0xce, 0x08, 0x00, 0x2e, 0xa0, 0x03, 0xf4, 0x10, 0xa4,
- 0x03, 0xb0, 0x98, 0x20, 0xe0, 0x0e, 0x06, 0x65, 0x16, 0x9f, 0x92, 0xa0, 0xe0, 0x26, 0x16, 0x9c,
- 0x02, 0x44, 0x5e, 0x00, 0x16, 0x0b, 0x06, 0x20, 0x06, 0xc6, 0x16, 0xdd, 0x02, 0x0a, 0x00, 0x06,
- 0x10, 0x95, 0x03, 0xb0, 0x98, 0x20, 0xe0, 0x0e, 0x06, 0x65, 0x16, 0x8e, 0x06, 0x20, 0x06, 0xc8,
- 0x16, 0xc5, 0x04, 0x60, 0xe6, 0x6a, 0xd8, 0x20, 0xef, 0x54, 0x09, 0x2e, 0xd8, 0x20, 0xef, 0x54,
- 0x01, 0x80, 0xd8, 0x20, 0xef, 0x56, 0x01, 0x82, 0x06, 0xa0, 0xe0, 0x18, 0x01, 0xe0, 0x13, 0x0e,
- 0x40, 0x20, 0x07, 0xa0, 0x13, 0x16, 0x00, 0x01, 0x02, 0x08, 0xc0, 0x30, 0x06, 0xa0, 0xe0, 0x22,
- 0x02, 0x08, 0xc0, 0x48, 0x06, 0xa0, 0xe0, 0x22, 0x02, 0x08, 0xc0, 0x12, 0x06, 0xa0, 0xe0, 0x22,
- 0x02, 0x08, 0xc0, 0x00, 0x06, 0xa0, 0xe0, 0x22, 0x01, 0xcd, 0x04, 0x00, 0x04, 0x60, 0x87, 0xe0,
- 0x06, 0xa0, 0x85, 0x48, 0x01, 0xce, 0x00, 0x20, 0x2e, 0xe0, 0x00, 0x00, 0x04, 0xcd, 0x06, 0xa0,
- 0x85, 0x0a, 0x02, 0x08, 0xc0, 0x4e, 0x06, 0xa0, 0xe0, 0x22, 0x04, 0x60, 0x87, 0xe0, 0x01, 0xa0,
- 0x13, 0x0e, 0x00, 0x80, 0x06, 0xa0, 0x85, 0x22, 0x01, 0xcf, 0x00, 0x80, 0x01, 0xe0, 0x13, 0x0e,
- 0x10, 0x00, 0x01, 0x60, 0x13, 0x0e, 0x00, 0x01, 0x16, 0x04, 0x07, 0x88, 0x80, 0x06, 0x06, 0xa0,
- 0xe0, 0x22, 0x01, 0x20, 0x13, 0x0e, 0x20, 0x00, 0x16, 0x07, 0x01, 0xe0, 0x13, 0x0e, 0x20, 0x00,
- 0x04, 0xc3, 0x06, 0xa0, 0xe3, 0x56, 0x10, 0x0e, 0x01, 0x8e, 0x00, 0x03, 0x02, 0x03, 0x00, 0x10,
- 0x06, 0xa0, 0xe3, 0x56, 0x01, 0x60, 0x13, 0x0e, 0x00, 0x10, 0x16, 0x04, 0x02, 0x03, 0x80, 0x08,
- 0x06, 0xa0, 0xe3, 0x56, 0xc8, 0x20, 0xe4, 0x6e, 0x01, 0x86, 0x2e, 0xe0, 0x00, 0x01, 0x01, 0x8e,
- 0x00, 0x20, 0x04, 0x60, 0x87, 0xdc, 0x02, 0x03, 0xa8, 0x00, 0x01, 0x60, 0x07, 0x08, 0x00, 0x02,
- 0x16, 0x02, 0x02, 0x03, 0xe8, 0x00, 0x06, 0xa0, 0xe3, 0x56, 0x01, 0x4e, 0x00, 0x20, 0x13, 0x06,
- 0x01, 0xce, 0x00, 0x20, 0x2e, 0xe0, 0x00, 0x00, 0xc0, 0x41, 0x16, 0xfa, 0x06, 0xa0, 0xe1, 0x2e,
- 0x02, 0x4a, 0xff, 0x00, 0x02, 0x4f, 0xff, 0x80, 0x02, 0x05, 0x03, 0xf8, 0x02, 0x04, 0x00, 0x04,
- 0x04, 0x60, 0x80, 0xfa, 0x02, 0x4a, 0xff, 0x00, 0x02, 0x4f, 0xff, 0x80, 0x04, 0x60, 0x87, 0xdc,
- 0x06, 0xa0, 0x85, 0x48, 0x04, 0x60, 0x87, 0xdc, 0x06, 0xa0, 0x84, 0xf2, 0x04, 0xe0, 0x13, 0x0e,
- 0x01, 0xce, 0x00, 0x08, 0x04, 0x60, 0xe7, 0xf6, 0x00, 0x00, 0x89, 0xfc, 0x06, 0x05, 0x00, 0x00,
- 0x00, 0x00, 0xad, 0x90, 0x00, 0x62, 0xc0, 0x80, 0x13, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0x00,
- 0xdb, 0xc4, 0x00, 0x02, 0x13, 0x02, 0xea, 0xb0, 0x00, 0x02, 0x13, 0x54, 0xdc, 0x16, 0x00, 0x02,
- 0x09, 0x1e, 0x00, 0x00, 0x00, 0x02, 0x13, 0x12, 0x00, 0x01, 0x00, 0x00, 0xda, 0x88, 0xda, 0x7c,
- 0x86, 0x6e, 0xda, 0xa6, 0xda, 0x9e, 0xdb, 0x86, 0xdb, 0x86, 0xdb, 0x86, 0xda, 0xa8, 0x85, 0xa8,
- 0x85, 0x78, 0xdb, 0x78, 0xdb, 0x86, 0xdb, 0x86, 0xdb, 0x86, 0xdb, 0x86, 0xdb, 0x9e, 0x88, 0x14,
- 0x88, 0x44, 0x88, 0xca, 0x89, 0x14, 0x89, 0x32, 0xdb, 0xf6, 0x89, 0x9a, 0x89, 0xd8, 0x89, 0xe4,
- 0xe4, 0x6e, 0xdb, 0x9e, 0x89, 0xec, 0xdb, 0x9e, 0x00, 0x00, 0xaf, 0x00, 0x00, 0xa8, 0x13, 0x24,
- 0x82, 0xd2, 0x00, 0x14, 0x13, 0x1a, 0x82, 0xf4, 0x00, 0x04, 0x13, 0x38, 0x83, 0x08, 0x02, 0xbc,
- 0x13, 0x1a, 0x83, 0x1a, 0x07, 0x08, 0x13, 0x1a, 0x83, 0x28, 0x03, 0xe8, 0x13, 0x1a, 0x83, 0x58,
- 0x00, 0xf0, 0x13, 0x1a, 0x83, 0x66, 0x00, 0x14, 0x13, 0x24, 0x88, 0xb6, 0x00, 0x04, 0x13, 0x2e,
- 0x83, 0x86, 0x00, 0x64, 0x13, 0x2e, 0x83, 0xb0, 0x00, 0x02, 0x13, 0x42, 0x83, 0xde, 0x00, 0x05,
- 0x13, 0x1a, 0x84, 0x26, 0x00, 0x04, 0x13, 0x38, 0x84, 0x64, 0x01, 0xf4, 0x13, 0x1a, 0x84, 0xc0,
- 0x00, 0x14, 0xae, 0x00, 0xd9, 0x00, 0x02, 0x00, 0xd9, 0x00, 0x00, 0x1e, 0x10, 0x00, 0x00, 0x10,
- 0x30, 0x11, 0x04, 0x0c, 0x04, 0x0e, 0x04, 0x21, 0x00, 0x12, 0x10, 0x00, 0x00, 0x04, 0x30, 0x13,
- 0xdb, 0xa8, 0xe8, 0x7c, 0x86, 0xbe, 0x86, 0xa8, 0x86, 0xa8, 0x87, 0x26, 0x86, 0xa8, 0xeb, 0xf2,
- 0xdb, 0xa8, 0x86, 0xa0, 0xec, 0x04, 0xe8, 0x62, 0xec, 0x10, 0xec, 0x10, 0xed, 0x3a, 0xed, 0x44,
- 0xed, 0x4e, 0x86, 0xa0, 0x87, 0x44, 0x86, 0xa0, 0x87, 0xb2, 0x86, 0xa0, 0x03, 0x00, 0x0f, 0x0d,
- 0x00, 0x02, 0x04, 0x06, 0x00, 0x03, 0x00, 0x00, 0xb2, 0xa8, 0x00, 0x02, 0x80, 0x00, 0x00, 0x00,
- 0xb1, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x00, 0xf8, 0x08, 0x00, 0x02, 0x80, 0x00, 0x00, 0x00,
- 0xb9, 0x0c, 0x00, 0x06, 0x48, 0x20, 0x13, 0x04, 0x01, 0x80, 0x00, 0x00, 0xba, 0x38, 0x00, 0x06,
- 0x48, 0x20, 0x13, 0x04, 0x01, 0x80, 0x00, 0x00, 0xbc, 0x88, 0x00, 0x06, 0x48, 0x20, 0x13, 0x04,
- 0x01, 0x80, 0x00, 0x00, 0xca, 0xaa, 0x00, 0x04, 0x04, 0x60, 0x82, 0xb0, 0x00, 0x00, 0xc8, 0x2c,
- 0x00, 0x02, 0x06, 0x09, 0x00, 0x00, 0xcc, 0x60, 0x00, 0x02, 0x06, 0x09, 0x00, 0x00, 0xdb, 0x1c,
- 0x00, 0x04, 0x04, 0x60, 0x82, 0x56, 0x00, 0x00, 0xe0, 0xc8, 0x00, 0x02, 0x80, 0xda, 0x00, 0x00,
- 0xed, 0x74, 0x00, 0x02, 0x80, 0xda, 0x00, 0x00, 0xed, 0x94, 0x00, 0x02, 0x80, 0xda, 0x00, 0x00,
- 0xe7, 0xae, 0x00, 0x04, 0x06, 0xa0, 0x81, 0x90, 0x00, 0x00, 0xe5, 0xb0, 0x00, 0x04, 0x04, 0x60,
- 0x80, 0x28, 0x00, 0x00, 0xdb, 0xc0, 0x00, 0x04, 0x04, 0x60, 0x80, 0xbe, 0x00, 0x00, 0xda, 0x76,
- 0x00, 0x04, 0x04, 0x60, 0x81, 0xb8, 0x00, 0x00, 0xe0, 0x32, 0x00, 0x04, 0x04, 0x60, 0x81, 0xc0,
- 0x00, 0x00, 0xdb, 0x92, 0x00, 0x04, 0x04, 0x60, 0x80, 0xfa, 0x00, 0x00, 0xe3, 0x76, 0x00, 0x04,
- 0x04, 0x60, 0x81, 0xa0, 0x00, 0x00, 0xdd, 0x48, 0x00, 0x04, 0x04, 0x60, 0x81, 0xda, 0x00, 0x00,
- 0xcc, 0xa2, 0x00, 0x04, 0x04, 0x60, 0x80, 0xc8, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 };
-
-#endif /* OLTR_NO_TMS_MAC */
diff --git a/sys/contrib/softupdates/README b/sys/contrib/softupdates/README
deleted file mode 100644
index 8a7433b61e9e..000000000000
--- a/sys/contrib/softupdates/README
+++ /dev/null
@@ -1,320 +0,0 @@
-Introduction
-
-This package constitutes the alpha distribution of the soft update
-code updates for the fast filesystem.
-
-For More information on what Soft Updates is, see:
-http://www.ece.cmu.edu/~ganger/papers/CSE-TR-254-95/
-
-Status
-
-My `filesystem torture tests' (described below) run for days without
-a hitch (no panic's, hangs, filesystem corruption, or memory leaks).
-However, I have had several panic's reported to me by folks that
-are field testing the code which I have not yet been able to
-reproduce or fix. Although these panic's are rare and do not cause
-filesystem corruption, the code should only be put into production
-on systems where the system administrator is aware that it is being
-run, and knows how to turn it off if problems arise. Thus, you may
-hand out this code to others, but please ensure that this status
-message is included with any distributions. Please also include
-the file ffs_softdep.stub.c in any distributions so that folks that
-cannot abide by the need to redistribute source will not be left
-with a kernel that will not link. It will resolve all the calls
-into the soft update code and simply ignores the request to enable
-them. Thus you will be able to ensure that your other hooks have
-not broken anything and that your kernel is softdep-ready for those
-that wish to use them. Please report problems back to me with
-kernel backtraces of panics if possible. This is massively complex
-code, and people only have to have their filesystems hosed once or
-twice to avoid future changes like the plague. I want to find and
-fix as many bugs as soon as possible so as to get the code rock
-solid before it gets widely released. Please report any bugs that
-you uncover to mckusick@mckusick.com.
-
-Performance
-
-Running the Andrew Benchmarks yields the following raw data:
-
- Phase Normal Softdep What it does
- 1 3s <1s Creating directories
- 2 8s 4s Copying files
- 3 6s 6s Recursive directory stats
- 4 8s 9s Scanning each file
- 5 25s 25s Compilation
-
- Normal: 19.9u 29.2s 0:52.8 135+630io
- Softdep: 20.3u 28.5s 0:47.8 103+363io
-
-Another interesting datapoint are my `filesystem torture tests'.
-They consist of 1000 runs of the andrew benchmarks, 1000 copy and
-removes of /etc with randomly selected pauses of 0-60 seconds
-between each copy and remove, and 500 find from / with randomly
-selected pauses of 100 seconds between each run). The run of the
-torture test compares as follows:
-
-With soft updates: writes: 6 sync, 1,113,686 async; run time 19hr, 50min
-Normal filesystem: writes: 1,459,147 sync, 487,031 async; run time 27hr, 15min
-
-The upshot is 42% less I/O and 28% shorter running time.
-
-Another interesting test point is a full MAKEDEV. Because it runs
-as a shell script, it becomes mostly limited by the execution speed
-of the machine on which it runs. Here are the numbers:
-
-With soft updates:
-
- labrat# time ./MAKEDEV std
- 2.2u 32.6s 0:34.82 100.0% 0+0k 11+36io 0pf+0w
-
- labrat# ls | wc
- 522 522 3317
-
-Without soft updates:
-
- labrat# time ./MAKEDEV std
- 2.0u 40.5s 0:42.53 100.0% 0+0k 11+1221io 0pf+0w
-
- labrat# ls | wc
- 522 522 3317
-
-Of course, some of the system time is being pushed
-to the syncer process, but that is a different story.
-
-To show a benchmark designed to highlight the soft update code
-consider a tar of zero-sized files and an rm -rf of a directory tree
-that has at least 50 files or so at each level. Running a test with
-a directory tree containing 28 directories holding 202 empty files
-produces the following numbers:
-
-With soft updates:
-tar: 0.0u 0.5s 0:00.65 76.9% 0+0k 0+44io 0pf+0w (0 sync, 33 async writes)
-rm: 0.0u 0.2s 0:00.20 100.0% 0+0k 0+37io 0pf+0w (0 sync, 72 async writes)
-
-Normal filesystem:
-tar: 0.0u 1.1s 0:07.27 16.5% 0+0k 60+586io 0pf+0w (523 sync, 0 async writes)
-rm: 0.0u 0.5s 0:01.84 29.3% 0+0k 0+318io 0pf+0w (258 sync, 65 async writes)
-
-The large reduction in writes is because inodes are clustered, so
-most of a block gets allocated, then the whole block is written
-out once rather than having the same block written once for each
-inode allocated from it. Similarly each directory block is written
-once rather than once for each new directory entry. Effectively
-what the update code is doing is allocating a bunch of inodes
-and directory entries without writing anything, then ensuring that
-the block containing the inodes is written first followed by the
-directory block that references them. If there were data in the
-files it would further ensure that the data blocks were written
-before their inodes claimed them.
-
-Copyright Restrictions
-
-Please familiarize yourself with the copyright restrictions
-contained at the top of either the sys/ufs/ffs/softdep.h or
-sys/ufs/ffs/ffs_softdep.c file. The key provision is similar
-to the one used by the DB 2.0 package and goes as follows:
-
- Redistributions in any form must be accompanied by information
- on how to obtain complete source code for any accompanying
- software that uses the this software. This source code must
- either be included in the distribution or be available for
- no more than the cost of distribution plus a nominal fee,
- and must be freely redistributable under reasonable
- conditions. For an executable file, complete source code
- means the source code for all modules it contains. It does
- not mean source code for modules or files that typically
- accompany the operating system on which the executable file
- runs, e.g., standard library modules or system header files.
-
-The idea is to allow those of you freely redistributing your source
-to use it while retaining for myself the right to peddle it for
-money to the commercial UNIX vendors. Note that I have included a
-stub file ffs_softdep.c.stub that is freely redistributable so that
-you can put in all the necessary hooks to run the full soft updates
-code, but still allow vendors that want to maintain proprietary
-source to have a working system. I do plan to release the code with
-a `Berkeley style' copyright once I have peddled it around to the
-commercial vendors. If you have concerns about this copyright,
-feel free to contact me with them and we can try to resolve any
-difficulties.
-
-Soft Dependency Operation
-
-The soft update implementation does NOT require ANY changes
-to the on-disk format of your filesystems. Furthermore it is
-not used by default for any filesystems. It must be enabled on
-a filesystem by filesystem basis by running tunefs to set a
-bit in the superblock indicating that the filesystem should be
-managed using soft updates. If you wish to stop using
-soft updates due to performance or reliability reasons,
-you can simply run tunefs on it again to turn off the bit and
-revert to normal operation. The additional dynamic memory load
-placed on the kernel malloc arena is approximately equal to
-the amount of memory used by vnodes plus inodes (for a system
-with 1000 vnodes, the additional peak memory load is about 300K).
-
-Kernel Changes
-
-There are two new changes to the kernel functionality that are not
-contained in in the soft update files. The first is a `trickle
-sync' facility running in the kernel as process 3. This trickle
-sync process replaces the traditional `update' program (which should
-be commented out of the /etc/rc startup script). When a vnode is
-first written it is placed 30 seconds down on the trickle sync
-queue. If it still exists and has dirty data when it reaches the
-top of the queue, it is sync'ed. This approach evens out the load
-on the underlying I/O system and avoids writing short-lived files.
-The papers on trickle-sync tend to favor aging based on buffers
-rather than files. However, I sync on file age rather than buffer
-age because the data structures are much smaller as there are
-typically far fewer files than buffers. Although this can make the
-I/O spikey when a big file times out, it is still much better than
-the wholesale sync's that were happening before. It also adapts
-much better to the soft update code where I want to control
-aging to improve performance (inodes age in 10 seconds, directories
-in 15 seconds, files in 30 seconds). This ensures that most
-dependencies are gone (e.g., inodes are written when directory
-entries want to go to disk) reducing the amount of rollback that
-is needed.
-
-The other main kernel change is to split the vnode freelist into
-two separate lists. One for vnodes that are still being used to
-identify buffers and the other for those vnodes no longer identifying
-any buffers. The latter list is used by getnewvnode in preference
-to the former.
-
-Packaging of Kernel Changes
-
-The sys subdirectory contains the changes and additions to the
-kernel. My goal in writing this code was to minimize the changes
-that need to be made to the kernel. Thus, most of the new code
-is contained in the two new files softdep.h and ffs_softdep.c.
-The rest of the kernel changes are simply inserting hooks to
-call into these two new files. Although there has been some
-structural reorganization of the filesystem code to accommodate
-gathering the information required by the soft update code,
-the actual ordering of filesystem operations when soft updates
-are disabled is unchanged.
-
-The kernel changes are packaged as a set of diffs. As I am
-doing my development in BSD/OS, the diffs are relative to the
-BSD/OS versions of the files. Because BSD/OS recently had
-4.4BSD-Lite2 merged into it, the Lite2 files are a good starting
-point for figuring out the changes. There are 40 files that
-require change plus the two new files. Most of these files have
-only a few lines of changes in them. However, four files have
-fairly extensive changes: kern/vfs_subr.c, ufs/ufs/ufs_lookup.c,
-ufs/ufs/ufs_vnops.c, and ufs/ffs/ffs_alloc.c. For these four
-files, I have provided the original Lite2 version, the Lite2
-version with the diffs merged in, and the diffs between the
-BSD/OS and merged version. Even so, I expect that there will
-be some difficulty in doing the merge; I am certainly willing
-to assist in helping get the code merged into your system.
-
-Packaging of Utility Changes
-
-The utilities subdirectory contains the changes and additions
-to the utilities. There are diffs to three utilities enclosed:
-
- tunefs - add a flag to enable and disable soft updates
-
- mount - print out whether soft updates are enabled and
- also statistics on number of sync and async writes
-
- fsck - tighter checks on acceptable errors and a slightly
- different policy for what to put in lost+found on
- filesystems using soft updates
-
-In addition you should recompile vmstat so as to get reports
-on the 13 new memory types used by the soft update code.
-It is not necessary to use the new version of fsck, however it
-would aid in my debugging if you do. Also, because of the time
-lag between deleting a directory entry and the inode it
-references, you will find a lot more files showing up in your
-lost+found if you do not use the new version. Note that the
-new version checks for the soft update flag in the superblock
-and only uses the new algorithms if it is set. So, it will run
-unchanged on the filesystems that are not using soft updates.
-
-Operation
-
-Once you have booted a kernel that incorporates the soft update
-code and installed the updated utilities, do the following:
-
-1) Comment out the update program in /etc/rc.
-
-2) Run `tunefs -n enable' on one or more test filesystems.
-
-3) Mount these filesystems and then type `mount' to ensure that
- they have been enabled for soft updates.
-
-4) Copy the test directory to a softdep filesystem, chdir into
- it and run `./doit'. You may want to check out each of the
- three subtests individually first: doit1 - andrew benchmarks,
- doit2 - copy and removal of /etc, doit3 - find from /.
-
-====
-Additional notes from Feb 13
-
-hen removing huge directories of files, it is possible to get
-the incore state arbitrarily far ahead of the disk. Maintaining
-all the associated depedency information can exhaust the kernel
-malloc arena. To avoid this senario, I have put some limits on
-the soft update code so that it will not be allowed to rampage
-through all of the kernel memory. I enclose below the relevant
-patches to vnode.h and vfs_subr.c (which allow the soft update
-code to speed up the filesystem syncer process). I have also
-included the diffs for ffs_softdep.c. I hope to make a pass over
-ffs_softdep.c to isolate the differences with my standard version
-so that these diffs are less painful to incorporate.
-
-Since I know you like to play with tuning, I have put the relevant
-knobs on sysctl debug variables. The tuning knobs can be viewed
-with `sysctl debug' and set with `sysctl -w debug.<name>=value'.
-The knobs are as follows:
-
- debug.max_softdeps - limit on any given resource
- debug.tickdelay - ticks to delay before allocating
- debug.max_limit_hit - number of times tickdelay imposed
- debug.rush_requests - number of rush requests to filesystem syncer
-
-The max_softdeps limit is derived from vnodesdesired which in
-turn is sized based on the amount of memory on the machine.
-When the limit is hit, a process requesting a resource first
-tries to speed up the filesystem syncer process. Such a
-request is recorded as a rush_request. After syncdelay / 2
-unserviced rush requests (typically 15) are in the filesystem
-syncers queue (i.e., it is more than 15 seconds behind in its
-work), the process requesting the memory is put to sleep for
-tickdelay seconds. Such a delay is recorded in max_limit_hit.
-Following this delay it is granted its memory without further
-delay. I have tried the following experiments in which I
-delete an MH directory containing 16,703 files:
-
-Run # 1 2 3
-
-max_softdeps 4496 4496 4496
-tickdelay 100 == 1 sec 20 == 0.2 sec 2 == 0.02 sec
-max_limit_hit 16 == 16 sec 27 == 5.4 sec 203 == 4.1 sec
-rush_requests 147 102 93
-run time 57 sec 46 sec 45 sec
-I/O's 781 859 936
-
-When run with no limits, it completes in 40 seconds. So, the
-time spent in delay is directly added to the bottom line.
-Shortening the tick delay does cut down the total running time,
-but at the expense of generating more total I/O operations
-due to the rush orders being sent to the filesystem syncer.
-Although the number of rush orders decreases with a shorter
-tick delay, there are more requests in each order, hence the
-increase in I/O count. Also, although the I/O count does rise
-with a shorter delay, it is still at least an order of magnitude
-less than without soft updates. Anyway, you may want to play
-around with these value to see what works best and to see if
-you can get an insight into how best to tune them. If you get
-out of memory panic's, then you have max_softdeps set too high.
-The max_limit_hit and rush_requests show be reset to zero
-before each run. The minimum legal value for tickdelay is 2
-(if you set it below that, the code will use 2).
-
-
diff --git a/sys/contrib/softupdates/softdep.h b/sys/contrib/softupdates/softdep.h
deleted file mode 100644
index 5d5ce5ec5cda..000000000000
--- a/sys/contrib/softupdates/softdep.h
+++ /dev/null
@@ -1,548 +0,0 @@
-/*
- * Copyright 1998 Marshall Kirk McKusick. All Rights Reserved.
- *
- * The soft updates code is derived from the appendix of a University
- * of Michigan technical report (Gregory R. Ganger and Yale N. Patt,
- * "Soft Updates: A Solution to the Metadata Update Problem in File
- * Systems", CSE-TR-254-95, August 1995).
- *
- * The following are the copyrights and redistribution conditions that
- * apply to this copy of the soft update software. For a license
- * to use, redistribute or sell the soft update software under
- * conditions other than those described here, please contact the
- * author at one of the following addresses:
- *
- * Marshall Kirk McKusick mckusick@mckusick.com
- * 1614 Oxford Street +1-510-843-9542
- * Berkeley, CA 94709-1608
- * USA
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. None of the names of McKusick, Ganger, Patt, or the University of
- * Michigan may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- * 4. Redistributions in any form must be accompanied by information on
- * how to obtain complete source code for any accompanying software
- * that uses this software. This source code must either be included
- * in the distribution or be available for no more than the cost of
- * distribution plus a nominal fee, and must be freely redistributable
- * under reasonable conditions. For an executable file, complete
- * source code means the source code for all modules it contains.
- * It does not mean source code for modules or files that typically
- * accompany the operating system on which the executable file runs,
- * e.g., standard library modules or system header files.
- *
- * THIS SOFTWARE IS PROVIDED BY MARSHALL KIRK MCKUSICK ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL MARSHALL KIRK MCKUSICK BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)softdep.h 9.6 (McKusick) 2/25/99
- * $Id: softdep.h,v 1.5 1999/03/02 00:19:47 mckusick Exp $
- */
-
-#include <sys/queue.h>
-
-/*
- * Allocation dependencies are handled with undo/redo on the in-memory
- * copy of the data. A particular data dependency is eliminated when
- * it is ALLCOMPLETE: that is ATTACHED, DEPCOMPLETE, and COMPLETE.
- *
- * ATTACHED means that the data is not currently being written to
- * disk. UNDONE means that the data has been rolled back to a safe
- * state for writing to the disk. When the I/O completes, the data is
- * restored to its current form and the state reverts to ATTACHED.
- * The data must be locked throughout the rollback, I/O, and roll
- * forward so that the rolled back information is never visible to
- * user processes. The COMPLETE flag indicates that the item has been
- * written. For example, a dependency that requires that an inode be
- * written will be marked COMPLETE after the inode has been written
- * to disk. The DEPCOMPLETE flag indicates the completion of any other
- * dependencies such as the writing of a cylinder group map has been
- * completed. A dependency structure may be freed only when both it
- * and its dependencies have completed and any rollbacks that are in
- * progress have finished as indicated by the set of ALLCOMPLETE flags
- * all being set. The two MKDIR flags indicate additional dependencies
- * that must be done when creating a new directory. MKDIR_BODY is
- * cleared when the directory data block containing the "." and ".."
- * entries has been written. MKDIR_PARENT is cleared when the parent
- * inode with the increased link count for ".." has been written. When
- * both MKDIR flags have been cleared, the DEPCOMPLETE flag is set to
- * indicate that the directory dependencies have been completed. The
- * writing of the directory inode itself sets the COMPLETE flag which
- * then allows the directory entry for the new directory to be written
- * to disk. The RMDIR flag marks a dirrem structure as representing
- * the removal of a directory rather than a file. When the removal
- * dependencies are completed, additional work needs to be done
- * (truncation of the "." and ".." entries, an additional decrement
- * of the associated inode, and a decrement of the parent inode). The
- * DIRCHG flag marks a diradd structure as representing the changing
- * of an existing entry rather than the addition of a new one. When
- * the update is complete the dirrem associated with the inode for
- * the old name must be added to the worklist to do the necessary
- * reference count decrement. The GOINGAWAY flag indicates that the
- * data structure is frozen from further change until its dependencies
- * have been completed and its resources freed after which it will be
- * discarded. The IOSTARTED flag prevents multiple calls to the I/O
- * start routine from doing multiple rollbacks. The ONWORKLIST flag
- * shows whether the structure is currently linked onto a worklist.
- */
-#define ATTACHED 0x0001
-#define UNDONE 0x0002
-#define COMPLETE 0x0004
-#define DEPCOMPLETE 0x0008
-#define MKDIR_PARENT 0x0010
-#define MKDIR_BODY 0x0020
-#define RMDIR 0x0040
-#define DIRCHG 0x0080
-#define GOINGAWAY 0x0100
-#define IOSTARTED 0x0200
-#define ONWORKLIST 0x8000
-
-#define ALLCOMPLETE (ATTACHED | COMPLETE | DEPCOMPLETE)
-
-/*
- * The workitem queue.
- *
- * It is sometimes useful and/or necessary to clean up certain dependencies
- * in the background rather than during execution of an application process
- * or interrupt service routine. To realize this, we append dependency
- * structures corresponding to such tasks to a "workitem" queue. In a soft
- * updates implementation, most pending workitems should not wait for more
- * than a couple of seconds, so the filesystem syncer process awakens once
- * per second to process the items on the queue.
- */
-
-/* LIST_HEAD(workhead, worklist); -- declared in buf.h */
-
-/*
- * Each request can be linked onto a work queue through its worklist structure.
- * To avoid the need for a pointer to the structure itself, this structure
- * MUST be declared FIRST in each type in which it appears! If more than one
- * worklist is needed in the structure, then a wk_data field must be added
- * and the macros below changed to use it.
- */
-struct worklist {
- LIST_ENTRY(worklist) wk_list; /* list of work requests */
- unsigned short wk_type; /* type of request */
- unsigned short wk_state; /* state flags */
-};
-#define WK_DATA(wk) ((void *)(wk))
-#define WK_PAGEDEP(wk) ((struct pagedep *)(wk))
-#define WK_INODEDEP(wk) ((struct inodedep *)(wk))
-#define WK_NEWBLK(wk) ((struct newblk *)(wk))
-#define WK_BMSAFEMAP(wk) ((struct bmsafemap *)(wk))
-#define WK_ALLOCDIRECT(wk) ((struct allocdirect *)(wk))
-#define WK_INDIRDEP(wk) ((struct indirdep *)(wk))
-#define WK_ALLOCINDIR(wk) ((struct allocindir *)(wk))
-#define WK_FREEFRAG(wk) ((struct freefrag *)(wk))
-#define WK_FREEBLKS(wk) ((struct freeblks *)(wk))
-#define WK_FREEFILE(wk) ((struct freefile *)(wk))
-#define WK_DIRADD(wk) ((struct diradd *)(wk))
-#define WK_MKDIR(wk) ((struct mkdir *)(wk))
-#define WK_DIRREM(wk) ((struct dirrem *)(wk))
-
-/*
- * Various types of lists
- */
-LIST_HEAD(dirremhd, dirrem);
-LIST_HEAD(diraddhd, diradd);
-LIST_HEAD(newblkhd, newblk);
-LIST_HEAD(inodedephd, inodedep);
-LIST_HEAD(allocindirhd, allocindir);
-LIST_HEAD(allocdirecthd, allocdirect);
-TAILQ_HEAD(allocdirectlst, allocdirect);
-
-/*
- * The "pagedep" structure tracks the various dependencies related to
- * a particular directory page. If a directory page has any dependencies,
- * it will have a pagedep linked to its associated buffer. The
- * pd_dirremhd list holds the list of dirrem requests which decrement
- * inode reference counts. These requests are processed after the
- * directory page with the corresponding zero'ed entries has been
- * written. The pd_diraddhd list maintains the list of diradd requests
- * which cannot be committed until their corresponding inode has been
- * written to disk. Because a directory may have many new entries
- * being created, several lists are maintained hashed on bits of the
- * offset of the entry into the directory page to keep the lists from
- * getting too long. Once a new directory entry has been cleared to
- * be written, it is moved to the pd_pendinghd list. After the new
- * entry has been written to disk it is removed from the pd_pendinghd
- * list, any removed operations are done, and the dependency structure
- * is freed.
- */
-#define DAHASHSZ 6
-#define DIRADDHASH(offset) (((offset) >> 2) % DAHASHSZ)
-struct pagedep {
- struct worklist pd_list; /* page buffer */
-# define pd_state pd_list.wk_state /* check for multiple I/O starts */
- LIST_ENTRY(pagedep) pd_hash; /* hashed lookup */
- struct mount *pd_mnt; /* associated mount point */
- ino_t pd_ino; /* associated file */
- ufs_lbn_t pd_lbn; /* block within file */
- struct dirremhd pd_dirremhd; /* dirrem's waiting for page */
- struct diraddhd pd_diraddhd[DAHASHSZ]; /* diradd dir entry updates */
- struct diraddhd pd_pendinghd; /* directory entries awaiting write */
-};
-
-/*
- * The "inodedep" structure tracks the set of dependencies associated
- * with an inode. One task that it must manage is delayed operations
- * (i.e., work requests that must be held until the inodedep's associated
- * inode has been written to disk). Getting an inode from its incore
- * state to the disk requires two steps to be taken by the filesystem
- * in this order: first the inode must be copied to its disk buffer by
- * the VOP_UPDATE operation; second the inode's buffer must be written
- * to disk. To ensure that both operations have happened in the required
- * order, the inodedep maintains two lists. Delayed operations are
- * placed on the id_inowait list. When the VOP_UPDATE is done, all
- * operations on the id_inowait list are moved to the id_bufwait list.
- * When the buffer is written, the items on the id_bufwait list can be
- * safely moved to the work queue to be processed. A second task of the
- * inodedep structure is to track the status of block allocation within
- * the inode. Each block that is allocated is represented by an
- * "allocdirect" structure (see below). It is linked onto the id_newinoupdt
- * list until both its contents and its allocation in the cylinder
- * group map have been written to disk. Once these dependencies have been
- * satisfied, it is removed from the id_newinoupdt list and any followup
- * actions such as releasing the previous block or fragment are placed
- * on the id_inowait list. When an inode is updated (a VOP_UPDATE is
- * done), the "inodedep" structure is linked onto the buffer through
- * its worklist. Thus, it will be notified when the buffer is about
- * to be written and when it is done. At the update time, all the
- * elements on the id_newinoupdt list are moved to the id_inoupdt list
- * since those changes are now relevant to the copy of the inode in the
- * buffer. Also at update time, the tasks on the id_inowait list are
- * moved to the id_bufwait list so that they will be executed when
- * the updated inode has been written to disk. When the buffer containing
- * the inode is written to disk, any updates listed on the id_inoupdt
- * list are rolled back as they are not yet safe. Following the write,
- * the changes are once again rolled forward and any actions on the
- * id_bufwait list are processed (since those actions are now safe).
- * The entries on the id_inoupdt and id_newinoupdt lists must be kept
- * sorted by logical block number to speed the calculation of the size
- * of the rolled back inode (see explanation in initiate_write_inodeblock).
- * When a directory entry is created, it is represented by a diradd.
- * The diradd is added to the id_inowait list as it cannot be safely
- * written to disk until the inode that it represents is on disk. After
- * the inode is written, the id_bufwait list is processed and the diradd
- * entries are moved to the id_pendinghd list where they remain until
- * the directory block containing the name has been written to disk.
- * The purpose of keeping the entries on the id_pendinghd list is so that
- * the softdep_fsync function can find and push the inode's directory
- * name(s) as part of the fsync operation for that file.
- */
-struct inodedep {
- struct worklist id_list; /* buffer holding inode block */
-# define id_state id_list.wk_state /* inode dependency state */
- LIST_ENTRY(inodedep) id_hash; /* hashed lookup */
- struct fs *id_fs; /* associated filesystem */
- ino_t id_ino; /* dependent inode */
- nlink_t id_nlinkdelta; /* saved effective link count */
- struct dinode *id_savedino; /* saved dinode contents */
- LIST_ENTRY(inodedep) id_deps; /* bmsafemap's list of inodedep's */
- struct buf *id_buf; /* related bmsafemap (if pending) */
- off_t id_savedsize; /* file size saved during rollback */
- struct workhead id_pendinghd; /* entries awaiting directory write */
- struct workhead id_bufwait; /* operations after inode written */
- struct workhead id_inowait; /* operations waiting inode update */
- struct allocdirectlst id_inoupdt; /* updates before inode written */
- struct allocdirectlst id_newinoupdt; /* updates when inode written */
-};
-
-/*
- * A "newblk" structure is attached to a bmsafemap structure when a block
- * or fragment is allocated from a cylinder group. Its state is set to
- * DEPCOMPLETE when its cylinder group map is written. It is consumed by
- * an associated allocdirect or allocindir allocation which will attach
- * themselves to the bmsafemap structure if the newblk's DEPCOMPLETE flag
- * is not set (i.e., its cylinder group map has not been written).
- */
-struct newblk {
- LIST_ENTRY(newblk) nb_hash; /* hashed lookup */
- struct fs *nb_fs; /* associated filesystem */
- ufs_daddr_t nb_newblkno; /* allocated block number */
- int nb_state; /* state of bitmap dependency */
- LIST_ENTRY(newblk) nb_deps; /* bmsafemap's list of newblk's */
- struct bmsafemap *nb_bmsafemap; /* associated bmsafemap */
-};
-
-/*
- * A "bmsafemap" structure maintains a list of dependency structures
- * that depend on the update of a particular cylinder group map.
- * It has lists for newblks, allocdirects, allocindirs, and inodedeps.
- * It is attached to the buffer of a cylinder group block when any of
- * these things are allocated from the cylinder group. It is freed
- * after the cylinder group map is written and the state of its
- * dependencies are updated with DEPCOMPLETE to indicate that it has
- * been processed.
- */
-struct bmsafemap {
- struct worklist sm_list; /* cylgrp buffer */
- struct buf *sm_buf; /* associated buffer */
- struct allocdirecthd sm_allocdirecthd; /* allocdirect deps */
- struct allocindirhd sm_allocindirhd; /* allocindir deps */
- struct inodedephd sm_inodedephd; /* inodedep deps */
- struct newblkhd sm_newblkhd; /* newblk deps */
-};
-
-/*
- * An "allocdirect" structure is attached to an "inodedep" when a new block
- * or fragment is allocated and pointed to by the inode described by
- * "inodedep". The worklist is linked to the buffer that holds the block.
- * When the block is first allocated, it is linked to the bmsafemap
- * structure associated with the buffer holding the cylinder group map
- * from which it was allocated. When the cylinder group map is written
- * to disk, ad_state has the DEPCOMPLETE flag set. When the block itself
- * is written, the COMPLETE flag is set. Once both the cylinder group map
- * and the data itself have been written, it is safe to write the inode
- * that claims the block. If there was a previous fragment that had been
- * allocated before the file was increased in size, the old fragment may
- * be freed once the inode claiming the new block is written to disk.
- * This ad_fragfree request is attached to the id_inowait list of the
- * associated inodedep (pointed to by ad_inodedep) for processing after
- * the inode is written.
- */
-struct allocdirect {
- struct worklist ad_list; /* buffer holding block */
-# define ad_state ad_list.wk_state /* block pointer state */
- TAILQ_ENTRY(allocdirect) ad_next; /* inodedep's list of allocdirect's */
- ufs_lbn_t ad_lbn; /* block within file */
- ufs_daddr_t ad_newblkno; /* new value of block pointer */
- ufs_daddr_t ad_oldblkno; /* old value of block pointer */
- long ad_newsize; /* size of new block */
- long ad_oldsize; /* size of old block */
- LIST_ENTRY(allocdirect) ad_deps; /* bmsafemap's list of allocdirect's */
- struct buf *ad_buf; /* cylgrp buffer (if pending) */
- struct inodedep *ad_inodedep; /* associated inodedep */
- struct freefrag *ad_freefrag; /* fragment to be freed (if any) */
-};
-
-/*
- * A single "indirdep" structure manages all allocation dependencies for
- * pointers in an indirect block. The up-to-date state of the indirect
- * block is stored in ir_savedata. The set of pointers that may be safely
- * written to the disk is stored in ir_safecopy. The state field is used
- * only to track whether the buffer is currently being written (in which
- * case it is not safe to update ir_safecopy). Ir_deplisthd contains the
- * list of allocindir structures, one for each block that needs to be
- * written to disk. Once the block and its bitmap allocation have been
- * written the safecopy can be updated to reflect the allocation and the
- * allocindir structure freed. If ir_state indicates that an I/O on the
- * indirect block is in progress when ir_safecopy is to be updated, the
- * update is deferred by placing the allocindir on the ir_donehd list.
- * When the I/O on the indirect block completes, the entries on the
- * ir_donehd list are processed by updating their corresponding ir_safecopy
- * pointers and then freeing the allocindir structure.
- */
-struct indirdep {
- struct worklist ir_list; /* buffer holding indirect block */
-# define ir_state ir_list.wk_state /* indirect block pointer state */
- caddr_t ir_saveddata; /* buffer cache contents */
- struct buf *ir_savebp; /* buffer holding safe copy */
- struct allocindirhd ir_donehd; /* done waiting to update safecopy */
- struct allocindirhd ir_deplisthd; /* allocindir deps for this block */
-};
-
-/*
- * An "allocindir" structure is attached to an "indirdep" when a new block
- * is allocated and pointed to by the indirect block described by the
- * "indirdep". The worklist is linked to the buffer that holds the new block.
- * When the block is first allocated, it is linked to the bmsafemap
- * structure associated with the buffer holding the cylinder group map
- * from which it was allocated. When the cylinder group map is written
- * to disk, ai_state has the DEPCOMPLETE flag set. When the block itself
- * is written, the COMPLETE flag is set. Once both the cylinder group map
- * and the data itself have been written, it is safe to write the entry in
- * the indirect block that claims the block; the "allocindir" dependency
- * can then be freed as it is no longer applicable.
- */
-struct allocindir {
- struct worklist ai_list; /* buffer holding indirect block */
-# define ai_state ai_list.wk_state /* indirect block pointer state */
- LIST_ENTRY(allocindir) ai_next; /* indirdep's list of allocindir's */
- int ai_offset; /* pointer offset in indirect block */
- ufs_daddr_t ai_newblkno; /* new block pointer value */
- ufs_daddr_t ai_oldblkno; /* old block pointer value */
- struct freefrag *ai_freefrag; /* block to be freed when complete */
- struct indirdep *ai_indirdep; /* address of associated indirdep */
- LIST_ENTRY(allocindir) ai_deps; /* bmsafemap's list of allocindir's */
- struct buf *ai_buf; /* cylgrp buffer (if pending) */
-};
-
-/*
- * A "freefrag" structure is attached to an "inodedep" when a previously
- * allocated fragment is replaced with a larger fragment, rather than extended.
- * The "freefrag" structure is constructed and attached when the replacement
- * block is first allocated. It is processed after the inode claiming the
- * bigger block that replaces it has been written to disk. Note that the
- * ff_state field is is used to store the uid, so may lose data. However,
- * the uid is used only in printing an error message, so is not critical.
- * Keeping it in a short keeps the data structure down to 32 bytes.
- */
-struct freefrag {
- struct worklist ff_list; /* id_inowait or delayed worklist */
-# define ff_state ff_list.wk_state /* owning user; should be uid_t */
- struct vnode *ff_devvp; /* filesystem device vnode */
- struct fs *ff_fs; /* addr of superblock */
- ufs_daddr_t ff_blkno; /* fragment physical block number */
- long ff_fragsize; /* size of fragment being deleted */
- ino_t ff_inum; /* owning inode number */
-};
-
-/*
- * A "freeblks" structure is attached to an "inodedep" when the
- * corresponding file's length is reduced to zero. It records all
- * the information needed to free the blocks of a file after its
- * zero'ed inode has been written to disk.
- */
-struct freeblks {
- struct worklist fb_list; /* id_inowait or delayed worklist */
- ino_t fb_previousinum; /* inode of previous owner of blocks */
- struct vnode *fb_devvp; /* filesystem device vnode */
- struct fs *fb_fs; /* addr of superblock */
- off_t fb_oldsize; /* previous file size */
- off_t fb_newsize; /* new file size */
- int fb_chkcnt; /* used to check cnt of blks released */
- uid_t fb_uid; /* uid of previous owner of blocks */
- ufs_daddr_t fb_dblks[NDADDR]; /* direct blk ptrs to deallocate */
- ufs_daddr_t fb_iblks[NIADDR]; /* indirect blk ptrs to deallocate */
-};
-
-/*
- * A "freefile" structure is attached to an inode when its
- * link count is reduced to zero. It marks the inode as free in
- * the cylinder group map after the zero'ed inode has been written
- * to disk and any associated blocks and fragments have been freed.
- */
-struct freefile {
- struct worklist fx_list; /* id_inowait or delayed worklist */
- mode_t fx_mode; /* mode of inode */
- ino_t fx_oldinum; /* inum of the unlinked file */
- struct vnode *fx_devvp; /* filesystem device vnode */
- struct fs *fx_fs; /* addr of superblock */
-};
-
-/*
- * A "diradd" structure is linked to an "inodedep" id_inowait list when a
- * new directory entry is allocated that references the inode described
- * by "inodedep". When the inode itself is written (either the initial
- * allocation for new inodes or with the increased link count for
- * existing inodes), the COMPLETE flag is set in da_state. If the entry
- * is for a newly allocated inode, the "inodedep" structure is associated
- * with a bmsafemap which prevents the inode from being written to disk
- * until the cylinder group has been updated. Thus the da_state COMPLETE
- * flag cannot be set until the inode bitmap dependency has been removed.
- * When creating a new file, it is safe to write the directory entry that
- * claims the inode once the referenced inode has been written. Since
- * writing the inode clears the bitmap dependencies, the DEPCOMPLETE flag
- * in the diradd can be set unconditionally when creating a file. When
- * creating a directory, there are two additional dependencies described by
- * mkdir structures (see their description below). When these dependencies
- * are resolved the DEPCOMPLETE flag is set in the diradd structure.
- * If there are multiple links created to the same inode, there will be
- * a separate diradd structure created for each link. The diradd is
- * linked onto the pg_diraddhd list of the pagedep for the directory
- * page that contains the entry. When a directory page is written,
- * the pg_diraddhd list is traversed to rollback any entries that are
- * not yet ready to be written to disk. If a directory entry is being
- * changed (by rename) rather than added, the DIRCHG flag is set and
- * the da_previous entry points to the entry that will be "removed"
- * once the new entry has been committed. During rollback, entries
- * with da_previous are replaced with the previous inode number rather
- * than zero.
- *
- * The overlaying of da_pagedep and da_previous is done to keep the
- * structure down to 32 bytes in size on a 32-bit machine. If a
- * da_previous entry is present, the pointer to its pagedep is available
- * in the associated dirrem entry. If the DIRCHG flag is set, the
- * da_previous entry is valid; if not set the da_pagedep entry is valid.
- * The DIRCHG flag never changes; it is set when the structure is created
- * if appropriate and is never cleared.
- */
-struct diradd {
- struct worklist da_list; /* id_inowait or id_pendinghd list */
-# define da_state da_list.wk_state /* state of the new directory entry */
- LIST_ENTRY(diradd) da_pdlist; /* pagedep holding directory block */
- doff_t da_offset; /* offset of new dir entry in dir blk */
- ino_t da_newinum; /* inode number for the new dir entry */
- union {
- struct dirrem *dau_previous; /* entry being replaced in dir change */
- struct pagedep *dau_pagedep; /* pagedep dependency for addition */
- } da_un;
-};
-#define da_previous da_un.dau_previous
-#define da_pagedep da_un.dau_pagedep
-
-/*
- * Two "mkdir" structures are needed to track the additional dependencies
- * associated with creating a new directory entry. Normally a directory
- * addition can be committed as soon as the newly referenced inode has been
- * written to disk with its increased link count. When a directory is
- * created there are two additional dependencies: writing the directory
- * data block containing the "." and ".." entries (MKDIR_BODY) and writing
- * the parent inode with the increased link count for ".." (MKDIR_PARENT).
- * These additional dependencies are tracked by two mkdir structures that
- * reference the associated "diradd" structure. When they have completed,
- * they set the DEPCOMPLETE flag on the diradd so that it knows that its
- * extra dependencies have been completed. The md_state field is used only
- * to identify which type of dependency the mkdir structure is tracking.
- * It is not used in the mainline code for any purpose other than consistency
- * checking. All the mkdir structures in the system are linked together on
- * a list. This list is needed so that a diradd can find its associated
- * mkdir structures and deallocate them if it is prematurely freed (as for
- * example if a mkdir is immediately followed by a rmdir of the same directory).
- * Here, the free of the diradd must traverse the list to find the associated
- * mkdir structures that reference it. The deletion would be faster if the
- * diradd structure were simply augmented to have two pointers that referenced
- * the associated mkdir's. However, this would increase the size of the diradd
- * structure from 32 to 64-bits to speed a very infrequent operation.
- */
-struct mkdir {
- struct worklist md_list; /* id_inowait or buffer holding dir */
-# define md_state md_list.wk_state /* type: MKDIR_PARENT or MKDIR_BODY */
- struct diradd *md_diradd; /* associated diradd */
- struct buf *md_buf; /* MKDIR_BODY: buffer holding dir */
- LIST_ENTRY(mkdir) md_mkdirs; /* list of all mkdirs */
-};
-LIST_HEAD(mkdirlist, mkdir) mkdirlisthd;
-
-/*
- * A "dirrem" structure describes an operation to decrement the link
- * count on an inode. The dirrem structure is attached to the pg_dirremhd
- * list of the pagedep for the directory page that contains the entry.
- * It is processed after the directory page with the deleted entry has
- * been written to disk.
- *
- * The overlaying of dm_pagedep and dm_dirinum is done to keep the
- * structure down to 32 bytes in size on a 32-bit machine. It works
- * because they are never used concurrently.
- */
-struct dirrem {
- struct worklist dm_list; /* delayed worklist */
-# define dm_state dm_list.wk_state /* state of the old directory entry */
- LIST_ENTRY(dirrem) dm_next; /* pagedep's list of dirrem's */
- struct mount *dm_mnt; /* associated mount point */
- ino_t dm_oldinum; /* inum of the removed dir entry */
- union {
- struct pagedep *dmu_pagedep; /* pagedep dependency for remove */
- ino_t dmu_dirinum; /* parent inode number (for rmdir) */
- } dm_un;
-};
-#define dm_pagedep dm_un.dmu_pagedep
-#define dm_dirinum dm_un.dmu_dirinum
diff --git a/sys/dev/aic7xxx/aic7xxx.c b/sys/dev/aic7xxx/aic7xxx.c
index b0dbf367c293..8da50f326580 100644
--- a/sys/dev/aic7xxx/aic7xxx.c
+++ b/sys/dev/aic7xxx/aic7xxx.c
@@ -36,7 +36,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: aic7xxx.c,v 1.16.2.6 1999/04/19 21:37:50 gibbs Exp $
+ * $Id: aic7xxx.c,v 1.16.2.7 1999/05/07 00:43:26 ken Exp $
*/
/*
* A few notes on features of the driver.
@@ -192,7 +192,7 @@ typedef enum {
SEARCH_REMOVE
} ahc_search_action;
-u_long ahc_unit = 0;
+u_long ahc_unit;
#ifdef AHC_DEBUG
static int ahc_debug = AHC_DEBUG;
@@ -202,6 +202,11 @@ static int ahc_debug = AHC_DEBUG;
void ahc_pci_intr(struct ahc_softc *ahc);
#endif
+static int ahcinitscbdata(struct ahc_softc *ahc);
+static void ahcfiniscbdata(struct ahc_softc *ahc);
+
+static bus_dmamap_callback_t ahcdmamapcb;
+
#if UNUSED
static void ahc_dump_targcmd(struct target_cmd *cmd);
#endif
@@ -221,11 +226,7 @@ static void ahc_poll(struct cam_sim *sim);
static void ahc_setup_data(struct ahc_softc *ahc,
struct ccb_scsiio *csio, struct scb *scb);
static void ahc_freeze_devq(struct ahc_softc *ahc, struct cam_path *path);
-static struct scb *
- ahc_get_scb(struct ahc_softc *ahc);
-static void ahc_free_scb(struct ahc_softc *ahc, struct scb *scb);
-static struct scb *
- ahc_alloc_scb(struct ahc_softc *ahc);
+static void ahcallocscbs(struct ahc_softc *ahc);
static void ahc_scb_devinfo(struct ahc_softc *ahc,
struct ahc_devinfo *devinfo,
struct scb *scb);
@@ -350,8 +351,8 @@ static __inline void ahc_busy_tcl(struct ahc_softc *ahc, struct scb *scb);
static __inline void ahc_freeze_ccb(union ccb* ccb);
static __inline cam_status ahc_ccb_status(union ccb* ccb);
-static __inline void ahc_set_ccb_status(union ccb* ccb,
- cam_status status);
+static __inline void ahcsetccbstatus(union ccb* ccb,
+ cam_status status);
static __inline void ahc_run_tqinfifo(struct ahc_softc *ahc);
static __inline struct ahc_initiator_tinfo *
@@ -359,11 +360,16 @@ static __inline struct ahc_initiator_tinfo *
char channel,
u_int our_id, u_int target,
struct tmode_tstate **tstate);
+static __inline void
+ ahcfreescb(struct ahc_softc *ahc, struct scb *scb);
+static __inline struct scb *
+ ahcgetscb(struct ahc_softc *ahc);
static __inline u_int32_t
ahc_hscb_busaddr(struct ahc_softc *ahc, u_int index)
{
- return (ahc->hscb_busaddr + (sizeof(struct hardware_scb) * index));
+ return (ahc->scb_data->hscb_busaddr
+ + (sizeof(struct hardware_scb) * index));
}
#define AHC_BUSRESET_DELAY 25 /* Reset delay in us */
@@ -440,7 +446,7 @@ ahc_ccb_status(union ccb* ccb)
}
static __inline void
-ahc_set_ccb_status(union ccb* ccb, cam_status status)
+ahcsetccbstatus(union ccb* ccb, cam_status status)
{
ccb->ccb_h.status &= ~CAM_STATUS_MASK;
ccb->ccb_h.status |= status;
@@ -491,6 +497,62 @@ ahc_run_tqinfifo(struct ahc_softc *ahc)
}
}
+/*
+ * An scb (and hence an scb entry on the board) is put onto the
+ * free list.
+ */
+static __inline void
+ahcfreescb(struct ahc_softc *ahc, struct scb *scb)
+{
+ struct hardware_scb *hscb;
+ int opri;
+
+ hscb = scb->hscb;
+
+ opri = splcam();
+
+ if ((ahc->flags & AHC_RESOURCE_SHORTAGE) != 0
+ && (scb->ccb->ccb_h.status & CAM_RELEASE_SIMQ) == 0) {
+ scb->ccb->ccb_h.status |= CAM_RELEASE_SIMQ;
+ ahc->flags &= ~AHC_RESOURCE_SHORTAGE;
+ }
+
+ /* Clean up for the next user */
+ scb->flags = SCB_FREE;
+ hscb->control = 0;
+ hscb->status = 0;
+
+ SLIST_INSERT_HEAD(&ahc->scb_data->free_scbs, scb, links);
+ splx(opri);
+}
+
+/*
+ * Get a free scb, either one already assigned to a hardware slot
+ * on the adapter or one that will require an SCB to be paged out before
+ * use. If there are none, see if we can allocate a new SCB. Otherwise
+ * either return an error or sleep.
+ */
+static __inline struct scb *
+ahcgetscb(struct ahc_softc *ahc)
+{
+ struct scb *scbp;
+ int opri;
+
+ opri = splcam();
+ if ((scbp = SLIST_FIRST(&ahc->scb_data->free_scbs))) {
+ SLIST_REMOVE_HEAD(&ahc->scb_data->free_scbs, links);
+ } else {
+ ahcallocscbs(ahc);
+ scbp = SLIST_FIRST(&ahc->scb_data->free_scbs);
+ if (scbp != NULL)
+ SLIST_REMOVE_HEAD(&ahc->scb_data->free_scbs, links);
+ }
+
+ splx(opri);
+
+ return (scbp);
+}
+
char *
ahc_name(struct ahc_softc *ahc)
{
@@ -518,8 +580,8 @@ ahc_print_scb(struct scb *scb)
hscb->SG_count,
hscb->SG_pointer);
printf(" sg_addr:%lx sg_len:%ld\n",
- scb->ahc_dma[0].addr,
- scb->ahc_dma[0].len);
+ scb->sg_list[0].addr,
+ scb->sg_list[0].len);
printf(" cdb:%x %x %x %x %x %x %x %x %x %x %x %x\n",
hscb->cmdstore[0], hscb->cmdstore[1], hscb->cmdstore[2],
hscb->cmdstore[3], hscb->cmdstore[4], hscb->cmdstore[5],
@@ -573,8 +635,9 @@ static struct ahc_syncrate ahc_syncrates[] = {
* Allocate a controller structure for a new device and initialize it.
*/
struct ahc_softc *
-ahc_alloc(int unit, u_int32_t iobase, vm_offset_t maddr, ahc_chip chip,
- ahc_feature features, ahc_flag flags, struct scb_data *scb_data)
+ahc_alloc(int unit, u_int32_t io_base, vm_offset_t maddr,
+ bus_dma_tag_t parent_dmat, ahc_chip chip, ahc_feature features,
+ ahc_flag flags, struct scb_data *scb_data)
{
/*
* find unit and check we have that many defined
@@ -595,19 +658,12 @@ ahc_alloc(int unit, u_int32_t iobase, vm_offset_t maddr, ahc_chip chip,
alloc_size = sizeof(struct ahc_softc);
ahc = malloc(alloc_size, M_DEVBUF, M_NOWAIT);
if (!ahc) {
- printf("ahc%d: cannot malloc!\n", unit);
+ printf("ahc%d: cannot malloc softc!\n", ahc->unit);
return NULL;
}
bzero(ahc, alloc_size);
- if (scb_data == NULL) {
- struct full_ahc_softc* full_softc = (struct full_ahc_softc*)ahc;
- ahc->scb_data = &full_softc->scb_data_storage;
- STAILQ_INIT(&ahc->scb_data->free_scbs);
- } else
- ahc->scb_data = scb_data;
LIST_INIT(&ahc->pending_ccbs);
ahc->unit = unit;
-
/*
* XXX This should be done by the bus specific probe stubs with
* the bus layer providing the bsh and tag. Unfortunately,
@@ -619,17 +675,23 @@ ahc_alloc(int unit, u_int32_t iobase, vm_offset_t maddr, ahc_chip chip,
ahc->bsh = (bus_space_handle_t)maddr;
} else {
ahc->tag = I386_BUS_SPACE_IO;
- ahc->bsh = (bus_space_handle_t)iobase;
+ ahc->bsh = (bus_space_handle_t)io_base;
}
ahc->chip = chip;
ahc->features = features;
- ahc->flags = flags;
+ ahc->flags = flags;
+ ahc->parent_dmat = parent_dmat;
+ if (scb_data == NULL) {
+ struct full_ahc_softc* full_softc = (struct full_ahc_softc*)ahc;
+ ahc->scb_data = &full_softc->scb_data_storage;
+ } else
+ ahc->scb_data = scb_data;
+
ahc->unpause = (ahc_inb(ahc, HCNTRL) & IRQMS) | INTEN;
/* The IRQMS bit is only valid on VL and EISA chips */
if ((ahc->chip & AHC_PCI) != 0)
ahc->unpause &= ~IRQMS;
ahc->pause = ahc->unpause | PAUSE;
-
return (ahc);
}
@@ -637,10 +699,239 @@ void
ahc_free(ahc)
struct ahc_softc *ahc;
{
+ ahcfiniscbdata(ahc);
+ switch (ahc->init_level) {
+ case 3:
+ bus_dmamap_unload(ahc->shared_data_dmat,
+ ahc->shared_data_dmamap);
+ case 2:
+ bus_dmamem_free(ahc->shared_data_dmat, ahc->qoutfifo,
+ ahc->shared_data_dmamap);
+ bus_dmamap_destroy(ahc->shared_data_dmat,
+ ahc->shared_data_dmamap);
+ case 1:
+ bus_dma_tag_destroy(ahc->buffer_dmat);
+ break;
+ }
+
+ /*
+ * XXX We punt on releasing our register space and interrupt.
+ * This is addressed in -current.
+ */
+
free(ahc, M_DEVBUF);
return;
}
+static int
+ahcinitscbdata(struct ahc_softc *ahc)
+{
+ struct scb_data *scb_data;
+ int i;
+
+ scb_data = ahc->scb_data;
+ SLIST_INIT(&scb_data->free_scbs);
+ SLIST_INIT(&scb_data->sg_maps);
+
+ /* Allocate SCB resources */
+ scb_data->scbarray =
+ (struct scb *)malloc(sizeof(struct scb) * AHC_SCB_MAX,
+ M_DEVBUF, M_NOWAIT);
+ if (scb_data->scbarray == NULL)
+ return (ENOMEM);
+ bzero(scb_data->scbarray, sizeof(struct scb) * AHC_SCB_MAX);
+
+ /* Determine the number of hardware SCBs and initialize them */
+
+ scb_data->maxhscbs = ahc_probe_scbs(ahc);
+ /* SCB 0 heads the free list */
+ ahc_outb(ahc, FREE_SCBH, 0);
+ for (i = 0; i < ahc->scb_data->maxhscbs; i++) {
+ ahc_outb(ahc, SCBPTR, i);
+
+ /* Clear the control byte. */
+ ahc_outb(ahc, SCB_CONTROL, 0);
+
+ /* Set the next pointer */
+ ahc_outb(ahc, SCB_NEXT, i+1);
+
+ /* Make the tag number invalid */
+ ahc_outb(ahc, SCB_TAG, SCB_LIST_NULL);
+ }
+
+ /* Make sure that the last SCB terminates the free list */
+ ahc_outb(ahc, SCBPTR, i-1);
+ ahc_outb(ahc, SCB_NEXT, SCB_LIST_NULL);
+
+ /* Ensure we clear the 0 SCB's control byte. */
+ ahc_outb(ahc, SCBPTR, 0);
+ ahc_outb(ahc, SCB_CONTROL, 0);
+
+ scb_data->maxhscbs = i;
+
+ if (ahc->scb_data->maxhscbs == 0)
+ panic("%s: No SCB space found", ahc_name(ahc));
+
+ /*
+ * Create our DMA tags. These tags define the kinds of device
+ * accessable memory allocations and memory mappings we will
+ * need to perform during normal operation.
+ *
+ * Unless we need to further restrict the allocation, we rely
+ * on the restrictions of the parent dmat, hence the common
+ * use of MAXADDR and MAXSIZE.
+ */
+
+ /* DMA tag for our hardware scb structures */
+ if (bus_dma_tag_create(ahc->parent_dmat, /*alignment*/0, /*boundary*/0,
+ /*lowaddr*/BUS_SPACE_MAXADDR,
+ /*highaddr*/BUS_SPACE_MAXADDR,
+ /*filter*/NULL, /*filterarg*/NULL,
+ AHC_SCB_MAX * sizeof(struct hardware_scb),
+ /*nsegments*/1,
+ /*maxsegsz*/BUS_SPACE_MAXSIZE_32BIT,
+ /*flags*/0, &scb_data->hscb_dmat) != 0) {
+ goto error_exit;
+ }
+
+ scb_data->init_level++;
+
+ /* Allocation for our ccbs */
+ if (bus_dmamem_alloc(scb_data->hscb_dmat, (void **)&scb_data->hscbs,
+ BUS_DMA_NOWAIT, &scb_data->hscb_dmamap) != 0) {
+ goto error_exit;
+ }
+
+ scb_data->init_level++;
+
+ /* And permanently map them */
+ bus_dmamap_load(scb_data->hscb_dmat, scb_data->hscb_dmamap,
+ scb_data->hscbs,
+ AHC_SCB_MAX * sizeof(struct hardware_scb),
+ ahcdmamapcb, &scb_data->hscb_busaddr, /*flags*/0);
+
+ scb_data->init_level++;
+
+ /* DMA tag for our sense buffers */
+ if (bus_dma_tag_create(ahc->parent_dmat, /*alignment*/0, /*boundary*/0,
+ /*lowaddr*/BUS_SPACE_MAXADDR,
+ /*highaddr*/BUS_SPACE_MAXADDR,
+ /*filter*/NULL, /*filterarg*/NULL,
+ AHC_SCB_MAX * sizeof(struct scsi_sense_data),
+ /*nsegments*/1,
+ /*maxsegsz*/BUS_SPACE_MAXSIZE_32BIT,
+ /*flags*/0, &scb_data->sense_dmat) != 0) {
+ goto error_exit;
+ }
+
+ scb_data->init_level++;
+
+ /* Allocate them */
+ if (bus_dmamem_alloc(scb_data->sense_dmat, (void **)&scb_data->sense,
+ BUS_DMA_NOWAIT, &scb_data->sense_dmamap) != 0) {
+ goto error_exit;
+ }
+
+ scb_data->init_level++;
+
+ /* And permanently map them */
+ bus_dmamap_load(scb_data->sense_dmat, scb_data->sense_dmamap,
+ scb_data->sense,
+ AHC_SCB_MAX * sizeof(struct scsi_sense_data),
+ ahcdmamapcb, &scb_data->sense_busaddr, /*flags*/0);
+
+ scb_data->init_level++;
+
+ /* DMA tag for our S/G structures. We allocate in page sized chunks */
+ if (bus_dma_tag_create(ahc->parent_dmat, /*alignment*/0, /*boundary*/0,
+ /*lowaddr*/BUS_SPACE_MAXADDR,
+ /*highaddr*/BUS_SPACE_MAXADDR,
+ /*filter*/NULL, /*filterarg*/NULL,
+ PAGE_SIZE, /*nsegments*/1,
+ /*maxsegsz*/BUS_SPACE_MAXSIZE_32BIT,
+ /*flags*/0, &scb_data->sg_dmat) != 0) {
+ goto error_exit;
+ }
+
+ scb_data->init_level++;
+
+ /* Perform initial CCB allocation */
+ bzero(scb_data->hscbs, AHC_SCB_MAX * sizeof(struct hardware_scb));
+ ahcallocscbs(ahc);
+
+ if (scb_data->numscbs == 0) {
+ printf("%s: ahc_init_scb_data - "
+ "Unable to allocate initial scbs\n",
+ ahc_name(ahc));
+ goto error_exit;
+ }
+
+ /*
+ * Note that we were successfull
+ */
+ return 0;
+
+error_exit:
+
+ return ENOMEM;
+}
+
+static void
+ahcfiniscbdata(struct ahc_softc *ahc)
+{
+ struct scb_data *scb_data;
+
+ scb_data = ahc->scb_data;
+
+ switch (scb_data->init_level) {
+ default:
+ case 7:
+ {
+ struct sg_map_node *sg_map;
+
+ while ((sg_map = SLIST_FIRST(&scb_data->sg_maps))!= NULL) {
+ SLIST_REMOVE_HEAD(&scb_data->sg_maps, links);
+ bus_dmamap_unload(scb_data->sg_dmat,
+ sg_map->sg_dmamap);
+ bus_dmamem_free(scb_data->sg_dmat, sg_map->sg_vaddr,
+ sg_map->sg_dmamap);
+ free(sg_map, M_DEVBUF);
+ }
+ bus_dma_tag_destroy(scb_data->sg_dmat);
+ }
+ case 6:
+ bus_dmamap_unload(scb_data->sense_dmat,
+ scb_data->sense_dmamap);
+ case 5:
+ bus_dmamem_free(scb_data->sense_dmat, scb_data->sense,
+ scb_data->sense_dmamap);
+ bus_dmamap_destroy(scb_data->sense_dmat,
+ scb_data->sense_dmamap);
+ case 4:
+ bus_dma_tag_destroy(scb_data->sense_dmat);
+ case 3:
+ bus_dmamap_unload(scb_data->hscb_dmat, scb_data->hscb_dmamap);
+ case 2:
+ bus_dmamem_free(scb_data->hscb_dmat, scb_data->hscbs,
+ scb_data->hscb_dmamap);
+ bus_dmamap_destroy(scb_data->hscb_dmat, scb_data->hscb_dmamap);
+ case 1:
+ bus_dma_tag_destroy(scb_data->hscb_dmat);
+ break;
+ }
+ if (scb_data->scbarray != NULL)
+ free(scb_data->scbarray, M_DEVBUF);
+}
+
+static void
+ahcdmamapcb(void *arg, bus_dma_segment_t *segs, int nseg, int error)
+{
+ bus_addr_t *baddr;
+
+ baddr = (bus_addr_t *)arg;
+ *baddr = segs->ds_addr;
+}
+
int
ahc_reset(struct ahc_softc *ahc)
{
@@ -822,18 +1113,27 @@ ahc_update_target_msg_request(struct ahc_softc *ahc,
if (ahc->targ_msg_req != targ_msg_req_orig) {
/* Update the message request bit for this target */
- if (!paused) {
- pause_sequencer(ahc);
- DELAY(1000);
- }
+ if ((ahc->features & AHC_HS_MAILBOX) != 0) {
+ if (paused) {
+ ahc_outb(ahc, TARGET_MSG_REQUEST,
+ ahc->targ_msg_req & 0xFF);
+ ahc_outb(ahc, TARGET_MSG_REQUEST + 1,
+ (ahc->targ_msg_req >> 8) & 0xFF);
+ } else {
+ ahc_outb(ahc, HS_MAILBOX,
+ 0x01 << HOST_MAILBOX_SHIFT);
+ }
+ } else {
+ if (!paused)
+ pause_sequencer(ahc);
- ahc_outb(ahc, TARGET_MSG_REQUEST, ahc->targ_msg_req & 0xFF);
- ahc_outb(ahc, TARGET_MSG_REQUEST + 1,
- (ahc->targ_msg_req >> 8) & 0xFF);
+ ahc_outb(ahc, TARGET_MSG_REQUEST,
+ ahc->targ_msg_req & 0xFF);
+ ahc_outb(ahc, TARGET_MSG_REQUEST + 1,
+ (ahc->targ_msg_req >> 8) & 0xFF);
- if (!paused) {
- unpause_sequencer(ahc, /*unpause always*/FALSE);
- DELAY(1000);
+ if (!paused)
+ unpause_sequencer(ahc, /*unpause always*/FALSE);
}
}
}
@@ -1083,11 +1383,13 @@ ahc_attach(struct ahc_softc *ahc)
struct cam_path *path;
struct cam_path *path2;
int count;
+ int s;
count = 0;
sim = NULL;
sim2 = NULL;
+ s = splcam();
/*
* Attach secondary channel first if the user has
* declared it the primary channel.
@@ -1103,7 +1405,7 @@ ahc_attach(struct ahc_softc *ahc)
/*
* Create the device queue for our SIM(s).
*/
- devq = cam_simq_alloc(ahc->scb_data->maxscbs);
+ devq = cam_simq_alloc(AHC_SCB_MAX);
if (devq == NULL)
goto fail;
@@ -1111,7 +1413,7 @@ ahc_attach(struct ahc_softc *ahc)
* Construct our first channel SIM entry
*/
sim = cam_sim_alloc(ahc_action, ahc_poll, "ahc", ahc, ahc->unit,
- 1, ahc->scb_data->maxscbs, devq);
+ 1, AHC_SCB_MAX, devq);
if (sim == NULL) {
cam_simq_free(devq);
goto fail;
@@ -1143,7 +1445,7 @@ ahc_attach(struct ahc_softc *ahc)
if (ahc->features & AHC_TWIN) {
sim2 = cam_sim_alloc(ahc_action, ahc_poll, "ahc",
ahc, ahc->unit, 1,
- ahc->scb_data->maxscbs, devq);
+ AHC_SCB_MAX, devq);
if (sim2 == NULL) {
printf("ahc_attach: Unable to attach second "
@@ -1179,6 +1481,7 @@ ahc_attach(struct ahc_softc *ahc)
xpt_action((union ccb *)&csa);
count++;
}
+
fail:
if ((ahc->flags & AHC_CHANNEL_B_PRIMARY) != 0) {
ahc->sim_b = sim;
@@ -1191,6 +1494,7 @@ fail:
ahc->sim_b = sim2;
ahc->path_b = path2;
}
+ splx(s);
return (count);
}
@@ -1299,8 +1603,9 @@ ahc_intr(void *arg)
scb_index = ahc->qoutfifo[ahc->qoutfifonext];
ahc->qoutfifo[ahc->qoutfifonext++] = SCB_LIST_NULL;
- scb = ahc->scb_data->scbarray[scb_index];
- if (!scb || !(scb->flags & SCB_ACTIVE)) {
+ scb = &ahc->scb_data->scbarray[scb_index];
+ if (scb_index >= ahc->scb_data->numscbs
+ || (scb->flags & SCB_ACTIVE) == 0) {
printf("%s: WARNING no command for scb %d "
"(cmdcmplt)\nQOUTPOS = %d\n",
ahc_name(ahc), scb_index,
@@ -1787,6 +2092,12 @@ ahc_handle_seqint(struct ahc_softc *ahc, u_int intstat)
ahc_outb(ahc, SCSISIGO, ahc_inb(ahc, LASTPHASE) | ATNO);
break;
}
+ case UPDATE_TMSG_REQ:
+ ahc_outb(ahc, TARGET_MSG_REQUEST, ahc->targ_msg_req & 0xFF);
+ ahc_outb(ahc, TARGET_MSG_REQUEST + 1,
+ (ahc->targ_msg_req >> 8) & 0xFF);
+ ahc_outb(ahc, HS_MAILBOX, 0);
+ break;
case SEND_REJECT:
{
u_int rejbyte = ahc_inb(ahc, ACCUM);
@@ -1844,7 +2155,7 @@ ahc_handle_seqint(struct ahc_softc *ahc, u_int intstat)
* the in kernel copy directly.
*/
scb_index = ahc_inb(ahc, SCB_TAG);
- scb = ahc->scb_data->scbarray[scb_index];
+ scb = &ahc->scb_data->scbarray[scb_index];
hscb = scb->hscb;
/*
@@ -1853,7 +2164,8 @@ ahc_handle_seqint(struct ahc_softc *ahc, u_int intstat)
* this if needed.
*/
ahc_outb(ahc, RETURN_1, 0);
- if (!(scb && (scb->flags & SCB_ACTIVE))) {
+ if (!(scb_index < ahc->scb_data->numscbs
+ && (scb->flags & SCB_ACTIVE) != 0)) {
printf("%s:%c:%d: ahc_intr - referenced scb "
"not valid during seqint 0x%x scb(%d)\n",
ahc_name(ahc), devinfo.channel,
@@ -1869,10 +2181,10 @@ ahc_handle_seqint(struct ahc_softc *ahc, u_int intstat)
* complete.
*/
scb->flags &= ~SCB_SENSE;
- ahc_set_ccb_status(scb->ccb, CAM_AUTOSENSE_FAIL);
+ ahcsetccbstatus(scb->ccb, CAM_AUTOSENSE_FAIL);
break;
}
- ahc_set_ccb_status(scb->ccb, CAM_SCSI_STATUS_ERROR);
+ ahcsetccbstatus(scb->ccb, CAM_SCSI_STATUS_ERROR);
/* Freeze the queue unit the client sees the error. */
ahc_freeze_devq(ahc, scb->ccb->ccb_h.path);
ahc_freeze_ccb(scb->ccb);
@@ -1894,12 +2206,13 @@ ahc_handle_seqint(struct ahc_softc *ahc, u_int intstat)
#endif
if ((csio->ccb_h.flags & CAM_DIS_AUTOSENSE) == 0) {
- struct ahc_dma_seg *sg = scb->ahc_dma;
- struct scsi_sense *sc =
- (struct scsi_sense *)(&hscb->cmdstore);
+ struct ahc_dma_seg *sg;
+ struct scsi_sense *sc;
struct ahc_initiator_tinfo *tinfo;
struct tmode_tstate *tstate;
+ sg = scb->sg_list;
+ sc = (struct scsi_sense *)(&hscb->cmdstore);
/*
* Save off the residual if there is one.
*/
@@ -1912,24 +2225,18 @@ ahc_handle_seqint(struct ahc_softc *ahc, u_int intstat)
printf("Sending Sense\n");
}
#endif
- /*
- * bzero from the sense data before having
- * the drive fill it. The SCSI spec mandates
- * that any untransfered data should be
- * assumed to be zero.
- */
- bzero(&csio->sense_data,
- sizeof(csio->sense_data));
+ sg->addr = ahc->scb_data->sense_busaddr
+ + (hscb->tag*sizeof(struct scsi_sense_data));
+ sg->len = MIN(sizeof(struct scsi_sense_data),
+ csio->sense_len);
+
sc->opcode = REQUEST_SENSE;
sc->byte2 = SCB_LUN(scb) << 5;
sc->unused[0] = 0;
sc->unused[1] = 0;
- sc->length = csio->sense_len;
+ sc->length = sg->len;
sc->control = 0;
- sg->addr = vtophys(&csio->sense_data);
- sg->len = csio->sense_len;
-
/*
* Would be nice to preserve DISCENB here,
* but due to the way we page SCBs, we can't.
@@ -1953,7 +2260,7 @@ ahc_handle_seqint(struct ahc_softc *ahc, u_int intstat)
/*paused*/TRUE);
hscb->status = 0;
hscb->SG_count = 1;
- hscb->SG_pointer = scb->ahc_dmaphys;
+ hscb->SG_pointer = scb->sg_list_phys;
hscb->data = sg->addr;
hscb->datalen = sg->len;
hscb->cmdpointer = hscb->cmdstore_busaddr;
@@ -2033,7 +2340,7 @@ ahc_handle_seqint(struct ahc_softc *ahc, u_int intstat)
u_int scb_index;
scb_index = ahc_inb(ahc, SCB_TAG);
- scb = ahc->scb_data->scbarray[scb_index];
+ scb = &ahc->scb_data->scbarray[scb_index];
if (bus_phase == P_MESGOUT)
ahc_setup_initiator_msgout(ahc,
@@ -2073,7 +2380,7 @@ ahc_handle_seqint(struct ahc_softc *ahc, u_int intstat)
u_int lastphase = ahc_inb(ahc, LASTPHASE);
int i;
- scb = ahc->scb_data->scbarray[scbindex];
+ scb = &ahc->scb_data->scbarray[scbindex];
xpt_print_path(scb->ccb->ccb_h.path);
printf("data overrun detected in %s phase."
" Tag == 0x%x.\n",
@@ -2087,8 +2394,8 @@ ahc_handle_seqint(struct ahc_softc *ahc, u_int intstat)
for (i = 0; i < scb->sg_count - 1; i++) {
printf("sg[%d] - Addr 0x%x : Length %d\n",
i,
- scb->ahc_dma[i].addr,
- scb->ahc_dma[i].len);
+ scb->sg_list[i].addr,
+ scb->sg_list[i].len);
}
}
/*
@@ -2096,7 +2403,7 @@ ahc_handle_seqint(struct ahc_softc *ahc, u_int intstat)
* target does a command complete.
*/
ahc_freeze_devq(ahc, scb->ccb->ccb_h.path);
- ahc_set_ccb_status(scb->ccb, CAM_DATA_RUN_ERR);
+ ahcsetccbstatus(scb->ccb, CAM_DATA_RUN_ERR);
ahc_freeze_ccb(scb->ccb);
break;
}
@@ -2180,7 +2487,7 @@ ahc_handle_scsiint(struct ahc_softc *ahc, u_int intstat)
scb_index = ahc_inb(ahc, SCB_TAG);
if (scb_index < ahc->scb_data->numscbs) {
- scb = ahc->scb_data->scbarray[scb_index];
+ scb = &ahc->scb_data->scbarray[scb_index];
if ((scb->flags & SCB_ACTIVE) == 0)
scb = NULL;
} else
@@ -2222,8 +2529,8 @@ ahc_handle_scsiint(struct ahc_softc *ahc, u_int intstat)
scb->hscb->tag, tag == SCB_LIST_NULL ?
"" : "Tag");
if ((scb->flags & SCB_RECOVERY_SCB) != 0) {
- ahc_set_ccb_status(scb->ccb,
- CAM_REQ_ABORTED);
+ ahcsetccbstatus(scb->ccb,
+ CAM_REQ_ABORTED);
ahc_done(ahc, scb);
}
printerror = 0;
@@ -2284,7 +2591,7 @@ ahc_handle_scsiint(struct ahc_softc *ahc, u_int intstat)
scb_index = ahc_inb(ahc, SCB_TAG);
if (scb_index < ahc->scb_data->numscbs) {
- scb = ahc->scb_data->scbarray[scb_index];
+ scb = &ahc->scb_data->scbarray[scb_index];
if ((scb->flags & SCB_ACTIVE) == 0)
scb = NULL;
} else
@@ -2532,7 +2839,7 @@ ahc_handle_msg_reject(struct ahc_softc *ahc, struct ahc_devinfo *devinfo)
int response = 0;
scb_index = ahc_inb(ahc, SCB_TAG);
- scb = ahc->scb_data->scbarray[scb_index];
+ scb = &ahc->scb_data->scbarray[scb_index];
/* Might be necessary */
last_msg = ahc_inb(ahc, LAST_MSG);
@@ -3182,7 +3489,7 @@ ahc_handle_ign_wide_residue(struct ahc_softc *ahc, struct ahc_devinfo *devinfo)
struct scb *scb;
scb_index = ahc_inb(ahc, SCB_TAG);
- scb = ahc->scb_data->scbarray[scb_index];
+ scb = &ahc->scb_data->scbarray[scb_index];
if ((ahc_inb(ahc, SEQ_FLAGS) & DPHASE) == 0
|| (scb->ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_IN) {
/*
@@ -3228,18 +3535,18 @@ ahc_handle_ign_wide_residue(struct ahc_softc *ahc, struct ahc_devinfo *devinfo)
sg_index = scb->sg_count - resid_sgcnt;
/*
- * scb->ahc_dma starts with the second S/G entry.
+ * scb->sg_list starts with the second S/G entry.
*/
if (sg_index-- != 0
- && (scb->ahc_dma[sg_index].len < data_cnt)) {
+ && (scb->sg_list[sg_index].len < data_cnt)) {
u_int sg_addr;
data_cnt = 1;
- data_addr = scb->ahc_dma[sg_index - 1].addr
- + scb->ahc_dma[sg_index - 1].len - 1;
+ data_addr = scb->sg_list[sg_index - 1].addr
+ + scb->sg_list[sg_index - 1].len - 1;
- sg_addr = scb->ahc_dmaphys
- + (sg_index * sizeof(*scb->ahc_dma));
+ sg_addr = scb->sg_list_phys
+ + (sg_index * sizeof(*scb->sg_list));
ahc_outb(ahc, SG_NEXT + 3, sg_addr >> 24);
ahc_outb(ahc, SG_NEXT + 2, sg_addr >> 16);
ahc_outb(ahc, SG_NEXT + 1, sg_addr >> 8);
@@ -3318,8 +3625,8 @@ ahc_done(struct ahc_softc *ahc, struct scb *scb)
op = BUS_DMASYNC_POSTREAD;
else
op = BUS_DMASYNC_POSTWRITE;
- bus_dmamap_sync(ahc->dmat, scb->dmamap, op);
- bus_dmamap_unload(ahc->dmat, scb->dmamap);
+ bus_dmamap_sync(ahc->buffer_dmat, scb->dmamap, op);
+ bus_dmamap_unload(ahc->buffer_dmat, scb->dmamap);
}
/*
@@ -3331,7 +3638,7 @@ ahc_done(struct ahc_softc *ahc, struct scb *scb)
if (ccb->ccb_h.func_code == XPT_CONT_TARGET_IO) {
ccb->ccb_h.status = CAM_REQ_CMP;
- ahc_free_scb(ahc, scb);
+ ahcfreescb(ahc, scb);
xpt_done(ccb);
return;
}
@@ -3368,7 +3675,7 @@ ahc_done(struct ahc_softc *ahc, struct scb *scb)
SCB_LUN(scb), scb->hscb->tag, /*status*/0,
SEARCH_REMOVE);
if (ahc_ccb_status(ccb) == CAM_BDR_SENT)
- ahc_set_ccb_status(ccb, CAM_CMD_TIMEOUT);
+ ahcsetccbstatus(ccb, CAM_CMD_TIMEOUT);
xpt_print_path(ccb->ccb_h.path);
printf("no longer in timeout, status = %x\n",
ccb->ccb_h.status);
@@ -3378,11 +3685,24 @@ ahc_done(struct ahc_softc *ahc, struct scb *scb)
if (ahc_ccb_status(ccb) == CAM_REQ_INPROG) {
ccb->ccb_h.status |= CAM_REQ_CMP;
} else if ((scb->flags & SCB_SENSE) != 0) {
- /* We performed autosense retrieval */
+ /*
+ * We performed autosense retrieval.
+ *
+ * bzero the sense data before having
+ * the drive fill it. The SCSI spec mandates
+ * that any untransfered data should be
+ * assumed to be zero. Complete the 'bounce'
+ * of sense information through buffers accessible
+ * via bus-space by copying it into the clients
+ * csio.
+ */
+ bzero(&ccb->csio.sense_data, sizeof(ccb->csio.sense_data));
+ bcopy(&ahc->scb_data->sense[scb->hscb->tag],
+ &ccb->csio.sense_data, scb->sg_list->len);
scb->ccb->ccb_h.status |= CAM_AUTOSNS_VALID;
}
ccb->ccb_h.status &= ~CAM_SIM_QUEUED;
- ahc_free_scb(ahc, scb);
+ ahcfreescb(ahc, scb);
xpt_done(ccb);
}
@@ -3412,14 +3732,16 @@ ahc_probe_scbs(struct ahc_softc *ahc) {
int
ahc_init(struct ahc_softc *ahc)
{
- int max_targ = 15;
- int i;
- int term;
- u_int scsi_conf;
- u_int scsiseq_template;
- u_int ultraenb;
- u_int discenable;
- u_int tagenable;
+ int max_targ = 15;
+ int i;
+ int term;
+ u_int scsi_conf;
+ u_int scsiseq_template;
+ u_int ultraenb;
+ u_int discenable;
+ u_int tagenable;
+ size_t driver_data_size;
+ u_int32_t physaddr;
#ifdef AHC_PRINT_SRAM
printf("Scratch Ram:");
@@ -3470,6 +3792,85 @@ ahc_init(struct ahc_softc *ahc)
ahc->flags &= ~AHC_INITIATORMODE;
}
+ /* DMA tag for mapping buffers into device visible space. */
+ if (bus_dma_tag_create(ahc->parent_dmat, /*alignment*/0, /*boundary*/0,
+ /*lowaddr*/BUS_SPACE_MAXADDR,
+ /*highaddr*/BUS_SPACE_MAXADDR,
+ /*filter*/NULL, /*filterarg*/NULL,
+ /*maxsize*/MAXBSIZE, /*nsegments*/AHC_NSEG,
+ /*maxsegsz*/AHC_MAXTRANSFER_SIZE,
+ /*flags*/BUS_DMA_ALLOCNOW,
+ &ahc->buffer_dmat) != 0) {
+ return (ENOMEM);
+ }
+
+ ahc->init_level++;
+
+ /*
+ * DMA tag for our command fifos and other data in system memory
+ * the card's sequencer must be able to access. For initiator
+ * roles, we need to allocate space for the qinfifo, qoutfifo,
+ * and untagged_scb arrays each of which are composed of 256
+ * 1 byte elements. When providing for the target mode role,
+ * we additionally must provide space for the incoming target
+ * command fifo.
+ */
+ driver_data_size = 3 * 256 * sizeof(u_int8_t);
+ if ((ahc->flags & AHC_TARGETMODE) != 0)
+ driver_data_size += AHC_TMODE_CMDS * sizeof(struct target_cmd);
+ if (bus_dma_tag_create(ahc->parent_dmat, /*alignment*/0, /*boundary*/0,
+ /*lowaddr*/BUS_SPACE_MAXADDR,
+ /*highaddr*/BUS_SPACE_MAXADDR,
+ /*filter*/NULL, /*filterarg*/NULL,
+ driver_data_size,
+ /*nsegments*/1,
+ /*maxsegsz*/BUS_SPACE_MAXSIZE_32BIT,
+ /*flags*/0, &ahc->shared_data_dmat) != 0) {
+ return (ENOMEM);
+ }
+
+ ahc->init_level++;
+
+ /* Allocation of driver data */
+ if (bus_dmamem_alloc(ahc->shared_data_dmat, (void **)&ahc->qoutfifo,
+ BUS_DMA_NOWAIT, &ahc->shared_data_dmamap) != 0) {
+ return (ENOMEM);
+ }
+
+ ahc->init_level++;
+
+ /* And permanently map it in */
+ bus_dmamap_load(ahc->shared_data_dmat, ahc->shared_data_dmamap,
+ ahc->qoutfifo, driver_data_size,
+ ahcdmamapcb, &ahc->shared_data_busaddr, /*flags*/0);
+
+ ahc->init_level++;
+
+ /* Allocate SCB data now that buffer_dmat is initialized) */
+ if (ahc->scb_data->maxhscbs == 0)
+ if (ahcinitscbdata(ahc) != 0)
+ return (ENOMEM);
+
+ ahc->qinfifo = &ahc->qoutfifo[256];
+ ahc->untagged_scbs = &ahc->qinfifo[256];
+ /* There are no untagged SCBs active yet. */
+ for (i = 0; i < 256; i++)
+ ahc->untagged_scbs[i] = SCB_LIST_NULL;
+
+ /* All of our queues are empty */
+ for (i = 0; i < 256; i++)
+ ahc->qoutfifo[i] = SCB_LIST_NULL;
+
+ if ((ahc->flags & AHC_TARGETMODE) != 0) {
+ ahc->targetcmds = (struct target_cmd *)&ahc->untagged_scbs[256];
+
+ /* All target command blocks start out invalid. */
+ for (i = 0; i < AHC_TMODE_CMDS; i++)
+ ahc->targetcmds[i].cmd_valid = 0;
+ ahc_outb(ahc, KERNEL_TQINPOS, ahc->tqinfifonext - 1);
+ ahc_outb(ahc, TQINPOS, 0);
+ }
+
/*
* Allocate a tstate to house information for our
* initiator presence on the bus as well as the user
@@ -3501,46 +3902,10 @@ ahc_init(struct ahc_softc *ahc)
ahc_outb(ahc, SEQ_FLAGS, 0);
- /* Determine the number of SCBs and initialize them */
-
- if (ahc->scb_data->maxhscbs == 0) {
- ahc->scb_data->maxhscbs = ahc_probe_scbs(ahc);
- /* SCB 0 heads the free list */
- ahc_outb(ahc, FREE_SCBH, 0);
- for (i = 0; i < ahc->scb_data->maxhscbs; i++) {
- ahc_outb(ahc, SCBPTR, i);
-
- /* Clear the control byte. */
- ahc_outb(ahc, SCB_CONTROL, 0);
-
- /* Set the next pointer */
- ahc_outb(ahc, SCB_NEXT, i+1);
-
- /* Make the tag number invalid */
- ahc_outb(ahc, SCB_TAG, SCB_LIST_NULL);
- }
-
- /* Make that the last SCB terminates the free list */
- ahc_outb(ahc, SCBPTR, i-1);
- ahc_outb(ahc, SCB_NEXT, SCB_LIST_NULL);
-
- /* Ensure we clear the 0 SCB's control byte. */
- ahc_outb(ahc, SCBPTR, 0);
- ahc_outb(ahc, SCB_CONTROL, 0);
-
- ahc->scb_data->maxhscbs = i;
- }
-
- if (ahc->scb_data->maxhscbs == 0)
- panic("%s: No SCB space found", ahc_name(ahc));
-
if (ahc->scb_data->maxhscbs < AHC_SCB_MAX) {
ahc->flags |= AHC_PAGESCBS;
- ahc->scb_data->maxscbs = AHC_SCB_MAX;
- printf("%d/%d SCBs\n", ahc->scb_data->maxhscbs,
- ahc->scb_data->maxscbs);
+ printf("%d/%d SCBs\n", ahc->scb_data->maxhscbs, AHC_SCB_MAX);
} else {
- ahc->scb_data->maxscbs = ahc->scb_data->maxhscbs;
ahc->flags &= ~AHC_PAGESCBS;
printf("%d SCBs\n", ahc->scb_data->maxhscbs);
}
@@ -3702,10 +4067,8 @@ ahc_init(struct ahc_softc *ahc)
(ultraenb & mask)
? AHC_SYNCRATE_ULTRA
: AHC_SYNCRATE_FAST);
- if ((scsirate & SOFS) != 0
- && tinfo->user.period != 0) {
+ if (tinfo->user.period != 0)
tinfo->user.offset = ~0;
- }
}
if ((scsirate & WIDEXFER) != 0
&& (ahc->features & AHC_WIDE) != 0)
@@ -3716,119 +4079,55 @@ ahc_init(struct ahc_softc *ahc)
tstate->tagenable = tagenable;
}
-#ifdef AHC_DEBUG
- if (ahc_debug & AHC_SHOWMISC)
- printf("NEEDSDTR == 0x%x\nNEEDWDTR == 0x%x\n"
- "DISCENABLE == 0x%x\nULTRAENB == 0x%x\n",
- ahc->needsdtr_orig, ahc->needwdtr_orig,
- discenable, ultraenb);
-#endif
/*
- * Allocate enough "hardware scbs" to handle
- * the maximum number of concurrent transactions
- * we can have active. We have to use contigmalloc
- * if this array crosses a page boundary since the
- * sequencer depends on this array being physically
- * contiguous.
+ * Tell the sequencer where it can find the our arrays in memory.
*/
- if (ahc->scb_data->hscbs == NULL) {
- size_t array_size;
-
- array_size = ahc->scb_data->maxscbs*sizeof(struct hardware_scb);
- if (array_size > PAGE_SIZE) {
- ahc->scb_data->hscbs = (struct hardware_scb *)
- contigmalloc(array_size, M_DEVBUF,
- M_NOWAIT, 0ul, 0xffffffff,
- PAGE_SIZE, 0x10000);
- } else {
- ahc->scb_data->hscbs = (struct hardware_scb *)
- malloc(array_size, M_DEVBUF, M_NOWAIT);
- }
-
- if (ahc->scb_data->hscbs == NULL) {
- printf("%s: unable to allocate hardware SCB array. "
- "Failing attach\n", ahc_name(ahc));
- return (-1);
- }
- /* At least the control byte of each hscb needs to be zeroed */
- bzero(ahc->scb_data->hscbs, array_size);
- }
-
- if ((ahc->flags & AHC_TARGETMODE) != 0) {
- size_t array_size;
-
- array_size = AHC_TMODE_CMDS * sizeof(struct target_cmd);
- ahc->targetcmds = contigmalloc(array_size, M_DEVBUF,
- M_NOWAIT, 0ul, 0xffffffff,
- PAGE_SIZE, 0x10000);
-
- if (ahc->targetcmds == NULL) {
- printf("%s: unable to allocate targetcmd array. "
- "Failing attach\n", ahc_name(ahc));
- return (-1);
- }
-
- /* All target command blocks start out invalid. */
- for (i = 0; i < AHC_TMODE_CMDS; i++)
- ahc->targetcmds[i].cmd_valid = 0;
- ahc_outb(ahc, KERNEL_TQINPOS, ahc->tqinfifonext - 1);
- ahc_outb(ahc, TQINPOS, 0);
- }
+ physaddr = ahc->scb_data->hscb_busaddr;
+ ahc_outb(ahc, HSCB_ADDR, physaddr & 0xFF);
+ ahc_outb(ahc, HSCB_ADDR + 1, (physaddr >> 8) & 0xFF);
+ ahc_outb(ahc, HSCB_ADDR + 2, (physaddr >> 16) & 0xFF);
+ ahc_outb(ahc, HSCB_ADDR + 3, (physaddr >> 24) & 0xFF);
+
+ physaddr = ahc->shared_data_busaddr;
+ ahc_outb(ahc, SCBID_ADDR, physaddr & 0xFF);
+ ahc_outb(ahc, SCBID_ADDR + 1, (physaddr >> 8) & 0xFF);
+ ahc_outb(ahc, SCBID_ADDR + 2, (physaddr >> 16) & 0xFF);
+ ahc_outb(ahc, SCBID_ADDR + 3, (physaddr >> 24) & 0xFF);
+
+ /* Target mode incomding command fifo */
+ physaddr += 3 * 256 * sizeof(u_int8_t);
+ ahc_outb(ahc, TMODE_CMDADDR, physaddr & 0xFF);
+ ahc_outb(ahc, TMODE_CMDADDR + 1, (physaddr >> 8) & 0xFF);
+ ahc_outb(ahc, TMODE_CMDADDR + 2, (physaddr >> 16) & 0xFF);
+ ahc_outb(ahc, TMODE_CMDADDR + 3, (physaddr >> 24) & 0xFF);
/*
- * Tell the sequencer where it can find the our arrays in memory.
+ * Initialize the group code to command length table.
+ * This overrides the values in TARG_SCSIRATE, so only
+ * setup the table after we have processed that information.
*/
- {
- u_int32_t physaddr;
-
- /* Tell the sequencer where it can find the hscb array. */
- physaddr = vtophys(ahc->scb_data->hscbs);
- ahc_outb(ahc, HSCB_ADDR, physaddr & 0xFF);
- ahc_outb(ahc, HSCB_ADDR + 1, (physaddr >> 8) & 0xFF);
- ahc_outb(ahc, HSCB_ADDR + 2, (physaddr >> 16) & 0xFF);
- ahc_outb(ahc, HSCB_ADDR + 3, (physaddr >> 24) & 0xFF);
- ahc->hscb_busaddr = physaddr;
-
- physaddr = vtophys(ahc->qoutfifo);
- ahc_outb(ahc, SCBID_ADDR, physaddr & 0xFF);
- ahc_outb(ahc, SCBID_ADDR + 1, (physaddr >> 8) & 0xFF);
- ahc_outb(ahc, SCBID_ADDR + 2, (physaddr >> 16) & 0xFF);
- ahc_outb(ahc, SCBID_ADDR + 3, (physaddr >> 24) & 0xFF);
-
- if ((ahc->flags & AHC_TARGETMODE) != 0) {
- physaddr = vtophys(ahc->targetcmds);
- ahc_outb(ahc, TMODE_CMDADDR, physaddr & 0xFF);
- ahc_outb(ahc, TMODE_CMDADDR + 1,
- (physaddr >> 8) & 0xFF);
- ahc_outb(ahc, TMODE_CMDADDR + 2,
- (physaddr >> 16) & 0xFF);
- ahc_outb(ahc, TMODE_CMDADDR + 3,
- (physaddr >> 24) & 0xFF);
-
- ahc_outb(ahc, CMDSIZE_TABLE, 5);
- ahc_outb(ahc, CMDSIZE_TABLE + 1, 9);
- ahc_outb(ahc, CMDSIZE_TABLE + 2, 9);
- ahc_outb(ahc, CMDSIZE_TABLE + 3, 0);
- ahc_outb(ahc, CMDSIZE_TABLE + 4, 15);
- ahc_outb(ahc, CMDSIZE_TABLE + 5, 11);
- ahc_outb(ahc, CMDSIZE_TABLE + 6, 0);
- ahc_outb(ahc, CMDSIZE_TABLE + 7, 0);
- }
+ ahc_outb(ahc, CMDSIZE_TABLE, 5);
+ ahc_outb(ahc, CMDSIZE_TABLE + 1, 9);
+ ahc_outb(ahc, CMDSIZE_TABLE + 2, 9);
+ ahc_outb(ahc, CMDSIZE_TABLE + 3, 0);
+ ahc_outb(ahc, CMDSIZE_TABLE + 4, 15);
+ ahc_outb(ahc, CMDSIZE_TABLE + 5, 11);
+ ahc_outb(ahc, CMDSIZE_TABLE + 6, 0);
+ ahc_outb(ahc, CMDSIZE_TABLE + 7, 0);
- /* There are no untagged SCBs active yet. */
- for (i = 0; i < sizeof(ahc->untagged_scbs); i++) {
- ahc->untagged_scbs[i] = SCB_LIST_NULL;
- }
- for (i = 0; i < sizeof(ahc->qoutfifo); i++) {
- ahc->qoutfifo[i] = SCB_LIST_NULL;
- }
- }
-
- /* Our Q FIFOs are empty. */
+ /* Tell the sequencer of our initial queue positions */
ahc_outb(ahc, KERNEL_QINPOS, 0);
ahc_outb(ahc, QINPOS, 0);
ahc_outb(ahc, QOUTPOS, 0);
+#ifdef AHC_DEBUG
+ if (ahc_debug & AHC_SHOWMISC)
+ printf("NEEDSDTR == 0x%x\nNEEDWDTR == 0x%x\n"
+ "DISCENABLE == 0x%x\nULTRAENB == 0x%x\n",
+ ahc->needsdtr_orig, ahc->needwdtr_orig,
+ discenable, ultraenb);
+#endif
+
/* Don't have any special messages to send to targets */
ahc_outb(ahc, TARGET_MSG_REQUEST, 0);
ahc_outb(ahc, TARGET_MSG_REQUEST + 1, 0);
@@ -4029,14 +4328,14 @@ ahc_action(struct cam_sim *sim, union ccb *ccb)
/*
* get an scb to use.
*/
- if ((scb = ahc_get_scb(ahc)) == NULL) {
+ if ((scb = ahcgetscb(ahc)) == NULL) {
int s;
s = splcam();
ahc->flags |= AHC_RESOURCE_SHORTAGE;
splx(s);
xpt_freeze_simq(ahc->sim, /*count*/1);
- ahc_set_ccb_status(ccb, CAM_REQUEUE_REQ);
+ ahcsetccbstatus(ccb, CAM_REQUEUE_REQ);
xpt_done(ccb);
return;
}
@@ -4444,13 +4743,13 @@ ahc_execute_scb(void *arg, bus_dma_segment_t *dm_segs, int nsegments,
end_seg = dm_segs + nsegments;
/* Copy the first SG into the data pointer area */
- scb->hscb->SG_pointer = scb->ahc_dmaphys;
+ scb->hscb->SG_pointer = scb->sg_list_phys;
scb->hscb->data = dm_segs->ds_addr;
scb->hscb->datalen = dm_segs->ds_len;
dm_segs++;
/* Copy the remaining segments into our SG list */
- sg = scb->ahc_dma;
+ sg = scb->sg_list;
while (dm_segs < end_seg) {
sg->addr = dm_segs->ds_addr;
sg->len = dm_segs->ds_len;
@@ -4463,7 +4762,7 @@ ahc_execute_scb(void *arg, bus_dma_segment_t *dm_segs, int nsegments,
else
op = BUS_DMASYNC_PREWRITE;
- bus_dmamap_sync(ahc->dmat, scb->dmamap, op);
+ bus_dmamap_sync(ahc->buffer_dmat, scb->dmamap, op);
if (ccb->ccb_h.func_code == XPT_CONT_TARGET_IO) {
scb->hscb->cmdpointer |= DPHASE_PENDING;
@@ -4486,8 +4785,8 @@ ahc_execute_scb(void *arg, bus_dma_segment_t *dm_segs, int nsegments,
*/
if (ahc_ccb_status(ccb) != CAM_REQ_INPROG) {
if (nsegments != 0)
- bus_dmamap_unload(ahc->dmat, scb->dmamap);
- ahc_free_scb(ahc, scb);
+ bus_dmamap_unload(ahc->buffer_dmat, scb->dmamap);
+ ahcfreescb(ahc, scb);
xpt_done(ccb);
splx(s);
return;
@@ -4560,12 +4859,16 @@ ahc_setup_data(struct ahc_softc *ahc, struct ccb_scsiio *csio,
hscb->cmdlen);
hscb->cmdpointer =
hscb->cmdstore_busaddr;
- } else
- hscb->cmdpointer =
- vtophys(csio->cdb_io.cdb_ptr);
+ } else {
+ ahcsetccbstatus(scb->ccb,
+ CAM_REQ_INVALID);
+ xpt_done(scb->ccb);
+ ahcfreescb(ahc, scb);
+ return;
+ }
else
hscb->cmdpointer =
- (u_int32_t)csio->cdb_io.cdb_ptr;
+ ((intptr_t)csio->cdb_io.cdb_ptr) & 0xffffffff;
} else {
/*
* CCB CDB Data Storage area is only 16 bytes
@@ -4586,7 +4889,7 @@ ahc_setup_data(struct ahc_softc *ahc, struct ccb_scsiio *csio,
int error;
s = splsoftvm();
- error = bus_dmamap_load(ahc->dmat,
+ error = bus_dmamap_load(ahc->buffer_dmat,
scb->dmamap,
csio->data_ptr,
csio->dxfer_len,
@@ -4653,124 +4956,67 @@ ahc_freeze_devq(struct ahc_softc *ahc, struct cam_path *path)
SEARCH_COMPLETE);
}
-/*
- * An scb (and hence an scb entry on the board) is put onto the
- * free list.
- */
static void
-ahc_free_scb(struct ahc_softc *ahc, struct scb *scb)
-{
- struct hardware_scb *hscb;
- int opri;
-
- hscb = scb->hscb;
-
- opri = splcam();
+ahcallocscbs(struct ahc_softc *ahc)
+{
+ struct scb_data *scb_data;
+ struct scb *next_scb;
+ struct sg_map_node *sg_map;
+ bus_addr_t physaddr;
+ struct ahc_dma_seg *segs;
+ int newcount;
+ int i;
- if ((ahc->flags & AHC_RESOURCE_SHORTAGE) != 0
- && (scb->ccb->ccb_h.status & CAM_RELEASE_SIMQ) == 0) {
- scb->ccb->ccb_h.status |= CAM_RELEASE_SIMQ;
- ahc->flags &= ~AHC_RESOURCE_SHORTAGE;
- }
+ scb_data = ahc->scb_data;
+ if (scb_data->numscbs >= AHC_SCB_MAX)
+ /* Can't allocate any more */
+ return;
- /* Clean up for the next user */
- scb->flags = SCB_FREE;
- hscb->control = 0;
- hscb->status = 0;
+ next_scb = &scb_data->scbarray[scb_data->numscbs];
- STAILQ_INSERT_HEAD(&ahc->scb_data->free_scbs, scb, links);
- splx(opri);
-}
+ sg_map = malloc(sizeof(*sg_map), M_DEVBUF, M_NOWAIT);
-/*
- * Get a free scb, either one already assigned to a hardware slot
- * on the adapter or one that will require an SCB to be paged out before
- * use. If there are none, see if we can allocate a new SCB. Otherwise
- * either return an error or sleep.
- */
-static struct scb *
-ahc_get_scb(struct ahc_softc *ahc)
-{
- struct scb *scbp;
- int opri;
+ if (sg_map == NULL)
+ return;
- opri = splcam();
- if ((scbp = STAILQ_FIRST(&ahc->scb_data->free_scbs))) {
- STAILQ_REMOVE_HEAD(&ahc->scb_data->free_scbs, links);
- } else if (ahc->scb_data->numscbs < ahc->scb_data->maxscbs) {
- scbp = ahc_alloc_scb(ahc);
- if (scbp == NULL)
- printf("%s: Can't malloc SCB\n", ahc_name(ahc));
+ /* Allocate S/G space for the next batch of SCBS */
+ if (bus_dmamem_alloc(scb_data->sg_dmat, (void **)&sg_map->sg_vaddr,
+ BUS_DMA_NOWAIT, &sg_map->sg_dmamap) != 0) {
+ free(sg_map, M_DEVBUF);
+ return;
}
- splx(opri);
+ SLIST_INSERT_HEAD(&scb_data->sg_maps, sg_map, links);
- return (scbp);
-}
+ bus_dmamap_load(scb_data->sg_dmat, sg_map->sg_dmamap, sg_map->sg_vaddr,
+ PAGE_SIZE, ahcdmamapcb, &sg_map->sg_physaddr,
+ /*flags*/0);
+ segs = sg_map->sg_vaddr;
+ physaddr = sg_map->sg_physaddr;
-static struct scb *
-ahc_alloc_scb(struct ahc_softc *ahc)
-{
- static struct ahc_dma_seg *next_sg_array = NULL;
- static int sg_arrays_free = 0;
- struct scb *newscb;
- int error;
-
- newscb = (struct scb *) malloc(sizeof(struct scb), M_DEVBUF, M_NOWAIT);
- if (newscb != NULL) {
- bzero(newscb, sizeof(struct scb));
- error = bus_dmamap_create(ahc->dmat, /*flags*/0,
- &newscb->dmamap);
+ newcount = (PAGE_SIZE / (AHC_NSEG * sizeof(struct ahc_dma_seg)));
+ for (i = 0; scb_data->numscbs < AHC_SCB_MAX && i < newcount; i++) {
+ int error;
+
+ next_scb->sg_list = segs;
+ next_scb->sg_list_phys = physaddr;
+ next_scb->flags = SCB_FREE;
+ error = bus_dmamap_create(ahc->buffer_dmat, /*flags*/0,
+ &next_scb->dmamap);
if (error != 0)
- printf("%s: Unable to allocate SCB dmamap - error %d\n",
- ahc_name(ahc), error);
-
- if (error == 0 && next_sg_array == NULL) {
- size_t alloc_size = sizeof(struct ahc_dma_seg)
- * AHC_NSEG;
- sg_arrays_free = PAGE_SIZE / alloc_size;
- alloc_size *= sg_arrays_free;
- if (alloc_size == 0)
- panic("%s: SG list doesn't fit in a page",
- ahc_name(ahc));
- next_sg_array = (struct ahc_dma_seg *)
- malloc(alloc_size, M_DEVBUF, M_NOWAIT);
- }
- if (error == 0 && next_sg_array != NULL) {
- struct hardware_scb *hscb;
-
- newscb->ahc_dma = next_sg_array;
- newscb->ahc_dmaphys = vtophys(next_sg_array);
- sg_arrays_free--;
- if (sg_arrays_free == 0)
- next_sg_array = NULL;
- else
- next_sg_array = &next_sg_array[AHC_NSEG];
- hscb = &ahc->scb_data->hscbs[ahc->scb_data->numscbs];
- newscb->hscb = hscb;
- hscb->control = 0;
- hscb->status = 0;
- hscb->tag = ahc->scb_data->numscbs;
- hscb->residual_data_count[2] = 0;
- hscb->residual_data_count[1] = 0;
- hscb->residual_data_count[0] = 0;
- hscb->residual_SG_count = 0;
- hscb->cmdstore_busaddr =
- ahc_hscb_busaddr(ahc, hscb->tag)
- + offsetof(struct hardware_scb, cmdstore);
- /*
- * Place in the scbarray
- * Never is removed.
- */
- ahc->scb_data->scbarray[hscb->tag] = newscb;
- ahc->scb_data->numscbs++;
- } else {
- free(newscb, M_DEVBUF);
- newscb = NULL;
- }
+ break;
+ next_scb->hscb = &scb_data->hscbs[scb_data->numscbs];
+ next_scb->hscb->tag = ahc->scb_data->numscbs;
+ next_scb->hscb->cmdstore_busaddr =
+ ahc_hscb_busaddr(ahc, next_scb->hscb->tag)
+ + offsetof(struct hardware_scb, cmdstore);
+ SLIST_INSERT_HEAD(&ahc->scb_data->free_scbs, next_scb, links);
+ segs += AHC_NSEG;
+ physaddr += (AHC_NSEG * sizeof(struct ahc_dma_seg));
+ next_scb++;
+ ahc->scb_data->numscbs++;
}
- return newscb;
}
static void
@@ -5092,7 +5338,7 @@ ahc_timeout(void *arg)
* Do a full bus reset.
*/
bus_reset:
- ahc_set_ccb_status(scb->ccb, CAM_CMD_TIMEOUT);
+ ahcsetccbstatus(scb->ccb, CAM_CMD_TIMEOUT);
found = ahc_reset_channel(ahc, channel, /*Initiate Reset*/TRUE);
printf("%s: Issued Channel %c Bus Reset. "
"%d SCBs aborted\n", ahc_name(ahc), channel, found);
@@ -5133,7 +5379,7 @@ bus_reset:
* and wait for it's timeout to expire before
* taking additional action.
*/
- active_scb = ahc->scb_data->scbarray[active_scb_index];
+ active_scb = &ahc->scb_data->scbarray[active_scb_index];
if (active_scb->hscb->tcl != scb->hscb->tcl
&& (scb->flags & SCB_OTHERTCL_TIMEOUT) == 0) {
struct ccb_hdr *ccbh;
@@ -5160,7 +5406,7 @@ bus_reset:
* and properly record the error condition.
*/
ahc_freeze_devq(ahc, scb->ccb->ccb_h.path);
- ahc_set_ccb_status(scb->ccb, CAM_CMD_TIMEOUT);
+ ahcsetccbstatus(scb->ccb, CAM_CMD_TIMEOUT);
ahc_freeze_ccb(scb->ccb);
ahc_done(ahc, scb);
@@ -5283,7 +5529,7 @@ ahc_search_qinfifo(struct ahc_softc *ahc, int target, char channel,
ahc->qinfifonext = qinpos;
while (qinpos != qintail) {
- scbp = ahc->scb_data->scbarray[ahc->qinfifo[qinpos]];
+ scbp = &ahc->scb_data->scbarray[ahc->qinfifo[qinpos]];
if (ahc_match_scb(scbp, target, channel, lun, tag)) {
/*
* We found an scb that needs to be removed.
@@ -5291,7 +5537,7 @@ ahc_search_qinfifo(struct ahc_softc *ahc, int target, char channel,
switch (action) {
case SEARCH_COMPLETE:
if (ahc_ccb_status(scbp->ccb) == CAM_REQ_INPROG)
- ahc_set_ccb_status(scbp->ccb, status);
+ ahcsetccbstatus(scbp->ccb, status);
ahc_freeze_ccb(scbp->ccb);
ahc_done(ahc, scbp);
break;
@@ -5441,7 +5687,7 @@ ahc_abort_scbs(struct ahc_softc *ahc, int target, char channel,
"SCB index == %d, yet numscbs == %d.",
scb_index, ahc->scb_data->numscbs);
}
- scbp = ahc->scb_data->scbarray[scb_index];
+ scbp = &ahc->scb_data->scbarray[scb_index];
if (ahc_match_scb(scbp, target, channel, lun, tag)) {
next = ahc_abort_wscb(ahc, next, prev);
@@ -5468,7 +5714,7 @@ ahc_abort_scbs(struct ahc_softc *ahc, int target, char channel,
ahc_outb(ahc, SCBPTR, i);
scbid = ahc_inb(ahc, SCB_TAG);
if (scbid < ahc->scb_data->numscbs) {
- scbp = ahc->scb_data->scbarray[scbid];
+ scbp = &ahc->scb_data->scbarray[scbid];
if (ahc_match_scb(scbp, target, channel, lun, tag)) {
ahc_add_curscb_to_free_list(ahc);
}
@@ -5491,7 +5737,7 @@ ahc_abort_scbs(struct ahc_softc *ahc, int target, char channel,
ccb_h = ccb_h->sim_links.le.le_next;
if (ahc_match_scb(scbp, target, channel, lun, tag)) {
if (ahc_ccb_status(scbp->ccb) == CAM_REQ_INPROG)
- ahc_set_ccb_status(scbp->ccb, status);
+ ahcsetccbstatus(scbp->ccb, status);
ahc_freeze_ccb(scbp->ccb);
ahc_done(ahc, scbp);
found++;
@@ -5529,7 +5775,7 @@ ahc_search_disc_list(struct ahc_softc *ahc, int target, char channel,
"SCB index == %d, yet numscbs == %d.",
scb_index, ahc->scb_data->numscbs);
}
- scbp = ahc->scb_data->scbarray[scb_index];
+ scbp = &ahc->scb_data->scbarray[scb_index];
if (ahc_match_scb(scbp, target, channel, lun, tag)) {
next = ahc_rem_scb_from_disc_list(ahc, prev,
next);
@@ -5816,7 +6062,7 @@ ahc_calc_residual(struct scb *scb)
sg = scb->sg_count - resid_sgs - 1/*first SG*/;
while (resid_sgs > 0) {
- resid += scb->ahc_dma[sg].len;
+ resid += scb->sg_list[sg].len;
sg++;
resid_sgs--;
}
@@ -5915,7 +6161,7 @@ ahc_update_pending_syncrates(struct ahc_softc *ahc)
u_int our_id, remote_id;
u_int control;
- pending_scb = ahc->scb_data->scbarray[scb_tag];
+ pending_scb = &ahc->scb_data->scbarray[scb_tag];
if (pending_scb->flags == SCB_FREE)
continue;
pending_hscb = pending_scb->hscb;
diff --git a/sys/dev/aic7xxx/aic7xxx.h b/sys/dev/aic7xxx/aic7xxx.h
index cf3037aaa07d..4cc4c8802bf1 100644
--- a/sys/dev/aic7xxx/aic7xxx.h
+++ b/sys/dev/aic7xxx/aic7xxx.h
@@ -3,7 +3,7 @@
* SCSI controllers. This is used to implement product specific
* probe and attach routines.
*
- * Copyright (c) 1994, 1995, 1996, 1997, 1998 Justin T. Gibbs.
+ * Copyright (c) 1994, 1995, 1996, 1997, 1998, 1999 Justin T. Gibbs.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -34,7 +34,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: aic7xxx.h,v 1.5 1999/01/14 06:14:15 gibbs Exp $
+ * $Id: aic7xxx.h,v 1.5.2.1 1999/03/07 00:40:47 gibbs Exp $
*/
#ifndef _AIC7XXX_H_
@@ -45,20 +45,29 @@
#include <pci/pcivar.h> /* for pcici_t */
+#ifndef MAX
+#define MAX(a,b) (((a) > (b)) ? (a) : (b))
+#endif
+
+#ifndef MIN
+#define MIN(a,b) (((a) < (b)) ? (a) : (b))
+#endif
+
+/*
+ * The maximum transfer per S/G segment.
+ */
#define AHC_MAXTRANSFER_SIZE 0x00ffffff /* limited by 24bit counter */
-#define AHC_NSEG 32 /* The number of dma segments supported.
- * AHC_NSEG can be maxed out at 256 entries,
- * but the kernel will never need to transfer
- * such a large (1MB) request. To reduce the
- * driver's memory consumption, we reduce the
- * max to 32. 16 would work if all transfers
- * are paged alined since the kernel will only
- * generate at most a 64k transfer, but to
- * handle non-page aligned transfers, you need
- * 17, so we round to the next power of two
- * to make allocating SG space easy and
- * efficient.
- */
+
+/*
+ * The number of dma segments supported. The current implementation limits
+ * us to 255 S/G entries (this may change to be unlimited at some point).
+ * To reduce the driver's memory consumption, we further limit the number
+ * supported to be sufficient to handle the largest mapping supported by
+ * the kernel, MAXPHYS. Assuming the transfer is as fragmented as possible
+ * and unaligned, this turns out to be the number of paged sized transfers
+ * in MAXPHYS plus an extra element to handle any unaligned residual.
+ */
+#define AHC_NSEG (MIN(btoc(MAXPHYS) + 1, 255))
#define AHC_SCB_MAX 255 /*
* Up to 255 SCBs on some types of aic7xxx
@@ -75,9 +84,7 @@
* wrap point of an 8bit counter.
*/
-#if defined(__FreeBSD__)
extern u_long ahc_unit;
-#endif
struct ahc_dma_seg {
u_int32_t addr;
@@ -112,16 +119,17 @@ typedef enum {
AHC_SG_PRELOAD = 0x0080, /* Can perform auto-SG preload */
AHC_SPIOCAP = 0x0100, /* Has a Serial Port I/O Cap Register */
AHC_MULTI_TID = 0x0200, /* Has bitmask of TIDs for select-in */
+ AHC_HS_MAILBOX = 0x0400, /* Has HS_MAILBOX register */
AHC_AIC7770_FE = AHC_FENONE,
AHC_AIC7850_FE = AHC_FENONE|AHC_SPIOCAP,
AHC_AIC7860_FE = AHC_ULTRA|AHC_SPIOCAP,
AHC_AIC7870_FE = AHC_FENONE,
AHC_AIC7880_FE = AHC_ULTRA,
AHC_AIC7890_FE = AHC_MORE_SRAM|AHC_CMD_CHAN|AHC_ULTRA2|AHC_QUEUE_REGS
- |AHC_SG_PRELOAD|AHC_MULTI_TID,
+ |AHC_SG_PRELOAD|AHC_MULTI_TID|AHC_HS_MAILBOX,
AHC_AIC7895_FE = AHC_MORE_SRAM|AHC_CMD_CHAN|AHC_ULTRA,
AHC_AIC7896_FE = AHC_MORE_SRAM|AHC_CMD_CHAN|AHC_ULTRA2|AHC_QUEUE_REGS
- |AHC_SG_PRELOAD|AHC_MULTI_TID,
+ |AHC_SG_PRELOAD|AHC_MULTI_TID|AHC_HS_MAILBOX,
} ahc_feature;
typedef enum {
@@ -138,7 +146,6 @@ typedef enum {
* SRAM, we use the default target
* settings.
*/
- AHC_INDIRECT_PAGING = 0x008,
AHC_SHARED_SRAM = 0x010,
AHC_LARGE_SEEPROM = 0x020,/* Uses C56_66 not C46 */
AHC_RESET_BUS_A = 0x040,
@@ -228,28 +235,13 @@ struct hardware_scb {
struct scb {
struct hardware_scb *hscb;
- STAILQ_ENTRY(scb) links; /* for chaining */
+ SLIST_ENTRY(scb) links; /* for chaining */
union ccb *ccb; /* the ccb for this cmd */
- scb_flag flags;
- bus_dmamap_t dmamap;
- struct ahc_dma_seg *ahc_dma;/* Pointer to SG segments */
- u_int32_t ahc_dmaphys;/* Phsical address of SG list */
- u_int sg_count;/* How full ahc_dma_seg is */
-};
-
-struct scb_data {
- struct hardware_scb *hscbs; /* Array of hardware SCBs */
- struct scb *scbarray[AHC_SCB_MAX]; /* Array of kernel SCBs */
- STAILQ_HEAD(, scb) free_scbs; /*
- * Pool of SCBs ready to be assigned
- * commands to execute.
- */
- u_int8_t numscbs;
- u_int8_t maxhscbs; /* Number of SCBs on the card */
- u_int8_t maxscbs; /*
- * Max SCBs we allocate total including
- * any that will force us to page SCBs
- */
+ scb_flag flags;
+ bus_dmamap_t dmamap;
+ struct ahc_dma_seg *sg_list;
+ bus_addr_t sg_list_phys;
+ u_int sg_count;/* How full ahc_dma_seg is */
};
/*
@@ -402,10 +394,45 @@ typedef enum {
MSG_TYPE_TARGET_MSGIN = 0x04
} ahc_msg_type;
+struct sg_map_node {
+ bus_dmamap_t sg_dmamap;
+ bus_addr_t sg_physaddr;
+ struct ahc_dma_seg* sg_vaddr;
+ SLIST_ENTRY(sg_map_node) links;
+};
+
+struct scb_data {
+ struct hardware_scb *hscbs; /* Array of hardware SCBs */
+ struct scb *scbarray; /* Array of kernel SCBs */
+ SLIST_HEAD(, scb) free_scbs; /*
+ * Pool of SCBs ready to be assigned
+ * commands to execute.
+ */
+ struct scsi_sense_data *sense; /* Per SCB sense data */
+
+ /*
+ * "Bus" addresses of our data structures.
+ */
+ bus_dma_tag_t hscb_dmat; /* dmat for our hardware SCB array */
+ bus_dmamap_t hscb_dmamap;
+ bus_addr_t hscb_busaddr;
+ bus_dma_tag_t sense_dmat;
+ bus_dmamap_t sense_dmamap;
+ bus_addr_t sense_busaddr;
+ bus_dma_tag_t sg_dmat; /* dmat for our sg segments */
+ SLIST_HEAD(, sg_map_node) sg_maps;
+ u_int8_t numscbs;
+ u_int8_t maxhscbs; /* Number of SCBs on the card */
+ u_int8_t init_level; /*
+ * How far we've initialized
+ * this structure.
+ */
+};
+
struct ahc_softc {
bus_space_tag_t tag;
bus_space_handle_t bsh;
- bus_dma_tag_t dmat;
+ bus_dma_tag_t buffer_dmat; /* dmat for buffer I/O */
struct scb_data *scb_data;
/*
@@ -447,14 +474,14 @@ struct ahc_softc {
/* Command Queues */
u_int8_t qoutfifonext;
u_int8_t qinfifonext;
- u_int8_t qoutfifo[256];
- u_int8_t qinfifo[256];
+ u_int8_t *qoutfifo;
+ u_int8_t *qinfifo;
/*
* 256 byte array storing the SCBID of outstanding
* untagged SCBs indexed by TCL.
*/
- u_int8_t untagged_scbs[256];
+ u_int8_t *untagged_scbs;
/*
* Hooks into the XPT.
@@ -501,13 +528,16 @@ struct ahc_softc {
u_int msgout_index; /* Current index in msgout */
u_int msgin_index; /* Current index in msgin */
+ bus_dma_tag_t parent_dmat;
+ bus_dma_tag_t shared_data_dmat;
+ bus_dmamap_t shared_data_dmamap;
+ bus_addr_t shared_data_busaddr;
+
/* Number of enabled target mode device on this card */
u_int enabled_luns;
- /*
- * "Bus" addresses of our data structures.
- */
- u_int32_t hscb_busaddr;
+ /* Initialization level of this data structure */
+ u_int init_level;
};
struct full_ahc_softc {
@@ -530,10 +560,11 @@ extern int ahc_debug; /* Initialized in i386/scsi/aic7xxx.c */
char *ahc_name(struct ahc_softc *ahc);
-struct ahc_softc *ahc_alloc(int unit, u_int32_t io_base,
- vm_offset_t maddr, ahc_chip chip,
- ahc_feature features, ahc_flag flags,
- struct scb_data *scb_data);
+struct ahc_softc*
+ ahc_alloc(int unit, u_int32_t io_base, vm_offset_t maddr,
+ bus_dma_tag_t parent_dmat, ahc_chip chip,
+ ahc_feature features, ahc_flag flags,
+ struct scb_data *scb_data);
int ahc_reset(struct ahc_softc *ahc);
void ahc_free(struct ahc_softc *);
int ahc_probe_scbs(struct ahc_softc *);
diff --git a/sys/dev/aic7xxx/aic7xxx.reg b/sys/dev/aic7xxx/aic7xxx.reg
index 1edd241456e1..1922b15a39d6 100644
--- a/sys/dev/aic7xxx/aic7xxx.reg
+++ b/sys/dev/aic7xxx/aic7xxx.reg
@@ -32,7 +32,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: aic7xxx.reg,v 1.12.2.1 1999/03/07 00:40:47 gibbs Exp $
+ * $Id: aic7xxx.reg,v 1.12.2.2 1999/03/08 22:44:36 gibbs Exp $
*/
/*
@@ -669,6 +669,16 @@ register DSPCISTATUS {
mask DFTHRSH_100 0xc0
}
+/* aic7890/91/96/97 only */
+register HS_MAILBOX {
+ address 0x086
+ mask HOST_MAILBOX 0xF0
+ mask SEQ_MAILBOX 0x0F
+}
+
+const HOST_MAILBOX_SHIFT 4
+const SEQ_MAILBOX_SHIFT 0
+
/*
* Host Control (p. 3-47) R/W
* Overall host control of the device.
@@ -727,6 +737,7 @@ register INTSTAT {
mask NO_IDENT 0x20|SEQINT /* no IDENTIFY after reconnect*/
mask NO_MATCH 0x30|SEQINT /* no cmd match for reconnect */
mask ABORT_REQUESTED 0x50|SEQINT /* Reconect of aborted SCB */
+ mask UPDATE_TMSG_REQ 0x60|SEQINT /* Update TMSG_REQ values */
mask BAD_STATUS 0x70|SEQINT /* Bad status from target */
mask RESIDUAL 0x80|SEQINT /* Residual byte count != 0 */
mask TRACE_POINT 0x90|SEQINT
diff --git a/sys/dev/aic7xxx/aic7xxx.seq b/sys/dev/aic7xxx/aic7xxx.seq
index e0753ea6050a..7dad1d293bb2 100644
--- a/sys/dev/aic7xxx/aic7xxx.seq
+++ b/sys/dev/aic7xxx/aic7xxx.seq
@@ -32,7 +32,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: aic7xxx.seq,v 1.84.2.2 1999/03/07 00:40:47 gibbs Exp $
+ * $Id: aic7xxx.seq,v 1.84.2.3 1999/03/23 07:41:27 gibbs Exp $
*/
#include <dev/aic7xxx/aic7xxx.reg>
@@ -1025,6 +1025,18 @@ p_mesgout:
mov FUNCTION1, SCB_TCL;
mov A, FUNCTION1;
mov SINDEX, TARGET_MSG_REQUEST[0];
+ if ((ahc->features & AHC_HS_MAILBOX) != 0) {
+ /*
+ * Work around a pausing bug in at least the aic7890.
+ * If the host needs to update the TARGET_MSG_REQUEST
+ * bit field, it will set the HS_MAILBOX to 1. In
+ * response, we pause with a specific interrupt code
+ * asking for the mask to be updated before we continue.
+ * Ugh.
+ */
+ test HS_MAILBOX, 0xF0 jz . + 2;
+ mvi INTSTAT, UPDATE_TMSG_REQ;
+ }
if ((ahc->features & AHC_TWIN) != 0) {
/* Second Channel uses high byte bits */
test SCB_TCL, SELBUSB jz . + 2;
diff --git a/sys/dev/aic7xxx/aicasm_symbol.c b/sys/dev/aic7xxx/aicasm_symbol.c
index f808e8900d31..0704baa0942e 100644
--- a/sys/dev/aic7xxx/aicasm_symbol.c
+++ b/sys/dev/aic7xxx/aicasm_symbol.c
@@ -25,7 +25,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: aicasm_symbol.c,v 1.4 1997/09/27 19:37:30 gibbs Exp $
+ * $Id: aicasm_symbol.c,v 1.5 1998/09/15 07:24:17 gibbs Exp $
*/
@@ -128,10 +128,10 @@ symtable_close()
DBT data;
while (symtable->seq(symtable, &key, &data, R_FIRST) == 0) {
- symbol_t *cursym;
+ symbol_t *stored_ptr;
- cursym = *(symbol_t **)data.data;
- symbol_delete(cursym);
+ memcpy(&stored_ptr, data.data, sizeof(stored_ptr));
+ symbol_delete(stored_ptr);
}
symtable->close(symtable);
}
@@ -145,9 +145,10 @@ symbol_t *
symtable_get(name)
char *name;
{
- DBT key;
- DBT data;
- int retval;
+ symbol_t *stored_ptr;
+ DBT key;
+ DBT data;
+ int retval;
key.data = (void *)name;
key.size = strlen(name);
@@ -176,7 +177,8 @@ symtable_get(name)
/* NOTREACHED */
}
}
- return (*(symbol_t **)data.data);
+ memcpy(&stored_ptr, data.data, sizeof(stored_ptr));
+ return (stored_ptr);
}
symbol_node_t *
@@ -327,7 +329,7 @@ symtable_dump(ofile)
while (symtable->seq(symtable, &key, &data, flag) == 0) {
symbol_t *cursym;
- cursym = *(symbol_t **)data.data;
+ memcpy(&cursym, data.data, sizeof(cursym));
switch(cursym->type) {
case REGISTER:
case SCBLOC:
diff --git a/sys/dev/pccard/if_xe.c b/sys/dev/pccard/if_xe.c
deleted file mode 100644
index 1836f89332d5..000000000000
--- a/sys/dev/pccard/if_xe.c
+++ /dev/null
@@ -1,2404 +0,0 @@
-/*-
- * Copyright (c) 1998, 1999 Scott Mitchell
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $Author_Id: if_xe.c,v 1.19 1999/04/15 22:15:53 scott Exp $
- * $Id: if_xe.c,v 1.19 1999/04/15 22:15:53 scott Exp $
- */
-
-/*
- * Portions of this software were derived from Werner Koch's xirc2ps driver
- * for Linux under the terms of the following license (from v1.30 of the
- * xirc2ps driver):
- *
- * Copyright (c) 1997 by Werner Koch (dd9jn)
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, and the entire permission notice in its entirety,
- * including the disclaimer of warranties.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote
- * products derived from this software without specific prior
- * written permission.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
- * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- * OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/*
- * FreeBSD device driver for Xircom CreditCard PCMCIA Ethernet adapters. The
- * following cards are currently known to work with the driver:
- * Xircom CreditCard 10/100 (CE3)
- * Xircom CreditCard Ethernet 10/100 + Modem 56 (CEM56)
- * Xircom RealPort Ethernet 10/100
- * Xircom RealPort Ethernet 10/100 + Modem 56 (REM56, REM56G)
- * Intel EtherExpress Pro/100 PC Card Mobile Adapter 16 (Pro/100 M16A)
- * Compaq Netelligent 10/100 PC Card (CPQ-10/100)
- *
- * Some other cards *should* work, but support for them is either broken or in
- * an unknown state at the moment. I'm always interested in hearing from
- * people who own any of these cards:
- * Xircom CreditCard 10Base-T (PS-CE2-10)
- * Xircom CreditCard Ethernet + ModemII (CEM2)
- * Xircom CEM28 and CEM33 Ethernet/Modem cards (may be variants of CEM2?)
- *
- * Thanks to all who assisted with the development and testing of the driver,
- * especially: Werner Koch, Duke Kamstra, Duncan Barclay, Jason George, Dru
- * Nelson, Mike Kephart, Bill Rainey and Douglas Rand. Apologies if I've left
- * out anyone who deserves a mention here.
- *
- * Special thanks to Ade Lovett for both hosting the mailing list and doing
- * the CEM56/REM56 support code; and the FreeBSD UK Users' Group for hosting
- * the web pages.
- *
- * Contact points:
- *
- * Driver web page: http://ukug.uk.freebsd.org/~scott/xe_drv/
- *
- * Mailing list: http://www.lovett.com/lists/freebsd-xircom/
- * or send "subscribe freebsd-xircom" to <majordomo@lovett.com>
- *
- * Author email: <scott@uk.freebsd.org>
- */
-
-
-#define XE_DEBUG 1
-
-#include "xe.h"
-#include "card.h"
-#include "apm.h"
-#include "bpfilter.h"
-
-#if NXE > 0
-
-#if NCARD > 0
-
-#include <sys/param.h>
-#include <sys/cdefs.h>
-#include <sys/conf.h>
-#include <sys/errno.h>
-#include <sys/kernel.h>
-#include <sys/malloc.h>
-#include <sys/mbuf.h>
-#include <sys/select.h>
-#include <sys/socket.h>
-#include <sys/sockio.h>
-#include <sys/systm.h>
-#include <sys/uio.h>
-
-#include <net/ethernet.h>
-#include <net/if.h>
-#include <net/if_arp.h>
-#include <net/if_dl.h>
-#include <net/if_media.h>
-#include <net/if_mib.h>
-#if NBPFILTER > 0
-#include <net/bpf.h>
-#endif /* NBPFILTER > 0 */
-
-#include <i386/isa/isa.h>
-#include <i386/isa/isa_device.h>
-#include <dev/pccard/if_xereg.h>
-#include <machine/clock.h>
-#if NAPM > 0
-#include <machine/apm_bios.h>
-#endif /* NAPM > 0 */
-
-#include <pccard/cardinfo.h>
-#include <pccard/cis.h>
-#include <pccard/driver.h>
-#include <pccard/slot.h>
-
-
-
-/*
- * One of these structures per allocated device
- */
-struct xe_softc {
- struct arpcom arpcom;
- struct ifmedia ifmedia;
- struct callout_handle chand;
- struct ifmib_iso_8802_3 mibdata;
- struct isa_device *dev;
- struct pccard_devinfo *crd;
- struct ifnet *ifp;
- struct ifmedia *ifm;
- char *card_type; /* Card model name */
- char *vendor; /* Card manufacturer */
- int unit; /* Unit number, from dev->id_unit */
- int srev; /* Silicon revision */
- int tx_queued; /* Packets currently waiting to transmit */
- int tx_ptr; /* Last value of PTR reg on card */
- int tx_collisions; /* Collisions since last successful send */
- int tx_timeouts; /* Count of transmit timeouts */
- int autoneg_status; /* Autonegotiation progress state */
- int media; /* Private media word */
- u_char modem; /* 1 = Multifunction card with modem */
- u_char ce3; /* 1 = CE3 class (100Mbit) adapter */
- u_char cem56; /* 1 = CEM56 class (CE3 + 56Kbps modem) adapter */
- u_char phy_ok; /* 1 = MII-compliant PHY found and initialised */
- u_char gone; /* 1 = Card bailed out */
-#if NAPM > 0
- struct apmhook suspend_hook;
- struct apmhook resume_hook;
-#endif /* NAPM > 0 */
-};
-
-static struct xe_softc *sca[MAXSLOT];
-static int iob[MAXSLOT]; /* XXX - very gross */
-
-
-/*
- * MII command structure
- */
-struct xe_mii_frame {
- u_int8_t mii_stdelim;
- u_int8_t mii_opcode;
- u_int8_t mii_phyaddr;
- u_int8_t mii_regaddr;
- u_int8_t mii_turnaround;
- u_int16_t mii_data;
-};
-
-/*
- * For accessing card registers
- */
-#define XE_INB(r) inb(scp->dev->id_iobase+(r))
-#define XE_INW(r) inw(scp->dev->id_iobase+(r))
-#define XE_OUTB(r, b) outb(scp->dev->id_iobase+(r), (b))
-#define XE_OUTW(r, w) outw(scp->dev->id_iobase+(r), (w))
-#define XE_SELECT_PAGE(p) XE_OUTB(XE_PSR, (p))
-
-/*
- * Horrid stuff for accessing CIS tuples
- */
-#define CARD_MAJOR 50
-#define CISTPL_BUFSIZE 512
-#define CISTPL_TYPE(tpl) tpl[0]
-#define CISTPL_LEN(tpl) tpl[2]
-#define CISTPL_DATA(tpl,pos) tpl[4 + ((pos)<<1)]
-
-/*
- * Media autonegotiation progress constants
- */
-#define XE_AUTONEG_NONE 0 /* No autonegotiation in progress */
-#define XE_AUTONEG_WAITING 1 /* Waiting for transmitter to go idle */
-#define XE_AUTONEG_STARTED 2 /* Waiting for autonegotiation to complete */
-#define XE_AUTONEG_100TX 3 /* Trying to force 100baseTX link */
-#define XE_AUTONEG_FAIL 4 /* Autonegotiation failed */
-
-
-/*
- * Prototypes start here
- */
-static int xe_probe (struct isa_device *dev);
-static int xe_card_init (struct pccard_devinfo *devi);
-static int xe_attach (struct isa_device *dev);
-static void xe_init (void *xscp);
-static void xe_start (struct ifnet *ifp);
-static int xe_ioctl (struct ifnet *ifp, u_long command, caddr_t data);
-static int xe_card_intr (struct pccard_devinfo *devi);
-static void xe_watchdog (struct ifnet *ifp);
-static int xe_media_change (struct ifnet *ifp);
-static void xe_media_status (struct ifnet *ifp, struct ifmediareq *mrp);
-static timeout_t xe_setmedia;
-static void xe_hard_reset (struct xe_softc *scp);
-static void xe_soft_reset (struct xe_softc *scp);
-static void xe_stop (struct xe_softc *scp);
-static void xe_enable_intr (struct xe_softc *scp);
-static void xe_disable_intr (struct xe_softc *scp);
-static void xe_setmulti (struct xe_softc *scp);
-static void xe_setaddrs (struct xe_softc *scp);
-static int xe_pio_write_packet (struct xe_softc *scp, struct mbuf *mbp);
-static void xe_card_unload (struct pccard_devinfo *devi);
-
-/*
- * MII functions
- */
-static void xe_mii_sync (struct xe_softc *scp);
-static int xe_mii_init (struct xe_softc *scp);
-static void xe_mii_send (struct xe_softc *scp, u_int32_t bits, int cnt);
-static int xe_mii_readreg (struct xe_softc *scp, struct xe_mii_frame *frame);
-static int xe_mii_writereg (struct xe_softc *scp, struct xe_mii_frame *frame);
-static u_int16_t xe_phy_readreg (struct xe_softc *scp, u_int16_t reg);
-static void xe_phy_writereg (struct xe_softc *scp, u_int16_t reg, u_int16_t data);
-
-/*
- * Debug functions
- */
-#ifdef XE_DEBUG
-#define XE_REG_DUMP(scp) xe_reg_dump((scp))
-#define XE_MII_DUMP(scp) xe_mii_dump((scp))
-static void xe_reg_dump (struct xe_softc *scp);
-static void xe_mii_dump (struct xe_softc *scp);
-#else
-#define XE_REG_DUMP(scp)
-#define XE_MII_DUMP(scp)
-#endif
-
-#if NAPM > 0
-/*
- * APM hook functions
- */
-static int xe_suspend (void *xunit);
-static int xe_resume (void *xunit);
-#endif /* NAPM > 0 */
-
-
-/*
- * PCMCIA driver hooks
- */
-#ifdef PCCARD_MODULE
-PCCARD_MODULE(xe, xe_card_init, xe_card_unload, xe_card_intr, 0, net_imask);
-#else
-static struct pccard_device xe_info = { /* For pre 3.1-STABLE code */
- "xe",
- xe_card_init,
- xe_card_unload,
- xe_card_intr,
- 0,
- &net_imask
-};
-DATA_SET(pccarddrv_set, xe_info);
-#endif /* PCCARD_MODULE */
-
-
-/*
- * ISA driver hooks. I'd like to do without these but the kernel config stuff
- * seems to require them.
- */
-struct isa_driver xedriver = {
- xe_probe,
- xe_attach,
- "xe"
-};
-
-
-
-/*
- * ISA probe routine.
- * All of the supported devices are PCMCIA cards. I have no idea if it's even
- * possible to successfully probe/attach these at boot time (pccardd normally
- * does a lot of setup work) so I don't even bother trying.
- */
-static int
-xe_probe (struct isa_device *dev) {
-#ifdef XE_DEBUG
- printf("xe%d: probe, iobase = %#x\n", dev->id_unit, dev->id_iobase);
-#endif
- bzero(sca, MAXSLOT * sizeof(sca[0]));
- iob[dev->id_unit] = dev->id_iobase;
- return 0;
-}
-
-
-/*
- * Two routines to read from/write to the attribute memory
- * the write portion is used only for fixing up the RealPort cards,
- * the reader portion was needed for debugging info, and duplicated some
- * code in xe_card_init(), so it appears here instead with suitable
- * modifications to xe_card_init()
- * -aDe Lovett
- */
-static int
-xe_memwrite(struct pccard_devinfo *devi, off_t offset, u_char byte)
-{
- struct iovec iov;
- struct uio uios;
-
- iov.iov_base = &byte;
- iov.iov_len = sizeof(byte);
-
- uios.uio_iov = &iov;
- uios.uio_iovcnt = 1;
- uios.uio_offset = offset;
- uios.uio_resid = sizeof(byte);
- uios.uio_segflg = UIO_SYSSPACE;
- uios.uio_rw = UIO_WRITE;
- uios.uio_procp = 0;
-
- return cdevsw[CARD_MAJOR]->d_write(makedev(CARD_MAJOR, devi->slt->slotnum), &uios, 0);
-}
-
-
-static int
-xe_memread(struct pccard_devinfo *devi, off_t offset, u_char *buf, int size)
-{
- struct iovec iov;
- struct uio uios;
-
- iov.iov_base = buf;
- iov.iov_len = size;
-
- uios.uio_iov = &iov;
- uios.uio_iovcnt = 1;
- uios.uio_offset = offset;
- uios.uio_resid = size;
- uios.uio_segflg = UIO_SYSSPACE;
- uios.uio_rw = UIO_READ;
- uios.uio_procp = 0;
-
- return cdevsw[CARD_MAJOR]->d_read(makedev(CARD_MAJOR, devi->slt->slotnum), &uios, 0);
-}
-
-
-/*
- * Hacking for RealPort cards
- */
-static int
-xe_cem56fix(struct xe_softc *scp)
-{
- struct pccard_devinfo *devi;
- struct slot *slt;
- struct slot_ctrl *ctrl;
- int ioport, fail;
-
- /* initialise a few variables */
- devi = scp->crd;
- slt = devi->slt;
- ctrl = slt->ctrl;
-
- /* allocate a new I/O slot for the ethernet */
- /* XXX: ctrl->mapio() always appears to return 0 (success), so
- * this may cause problems if another device is listening
- * on 0x300 already
- */
- slt->io[1].window = 1;
- slt->io[1].flags = IODF_WS|IODF_16BIT|IODF_ZEROWS|IODF_ACTIVE;
- slt->io[1].size = 0x10;
- if (iob[scp->unit] == -1) {
- for (ioport = 0x300; ioport < 0x400; ioport += 0x10) {
- slt->io[1].start = ioport;
- if ((fail = ctrl->mapio( slt, 1 )) == 0)
- break;
- }
- }
- else {
- ioport = iob[scp->unit];
- slt->io[1].start = ioport;
- fail = ctrl->mapio(slt, 1);
- }
-
- /* did we find one? */
- if (fail) {
- printf( "xe%d: xe_cem56fix: no free address space\n", scp->unit );
- return -1;
- }
-
-
- /* munge the id_iobase entry for use by the rest of the driver */
-#ifdef XE_DEBUG
- printf( "xe%d: using 0x%x for RealPort ethernet\n", scp->unit, ioport );
-#endif
- scp->dev->id_iobase = ioport;
- scp->dev->id_alive = 0x10;
-
- /* magic to set up the ethernet */
- xe_memwrite( devi, 0x800, 0x47 );
- xe_memwrite( devi, 0x80a, ioport & 0xff );
- xe_memwrite( devi, 0x80c, (ioport >> 8) & 0xff );
-
- xe_memwrite( devi, 0x820, 0x01 );
- xe_memwrite( devi, 0x822, 0x0c );
- xe_memwrite( devi, 0x824, 0x00 );
- xe_memwrite( devi, 0x826, 0x00 );
- xe_memwrite( devi, 0x828, 0x00 );
-
- /* success! */
- return 0;
-}
-
-
-/*
- * PCMCIA probe routine.
- * Probe and identify the device. Called by the slot manager when the card is
- * inserted or the machine wakes up from suspend mode. Assmes that the slot
- * structure has been initialised already.
- */
-static int
-xe_card_init(struct pccard_devinfo *devi)
-{
- struct xe_softc *scp;
- struct isa_device *dev;
- u_char buf[CISTPL_BUFSIZE];
- u_char ver_str[CISTPL_BUFSIZE>>1];
- off_t offs;
- int unit, success, rc, i;
-
- unit = devi->isahd.id_unit;
- scp = sca[unit];
- dev = &devi->isahd;
- success = 0;
-
-#ifdef XE_DEBUG
- printf("xe: Probing for unit %d\n", unit);
-#endif
-
- /* Check that unit number is OK */
- if (unit > MAXSLOT) {
- printf("xe: bad unit (%d)\n", unit);
- return (ENODEV);
- }
-
- /* Don't attach an active device */
- if (scp && !scp->gone) {
- printf("xe: unit already attached (%d)\n", unit);
- return (EBUSY);
- }
-
- /* Allocate per-instance storage */
- if (!scp) {
- if ((scp = malloc(sizeof(*scp), M_DEVBUF, M_NOWAIT)) == NULL) {
- printf("xe%d: failed to allocage driver storage\n", unit);
- return (ENOMEM);
- }
- bzero(scp, sizeof(*scp));
- }
-
- /* Re-attach an existing device */
- if (scp->gone) {
- scp->gone = 0;
- return 0;
- }
-
- /* Grep through CIS looking for relevant tuples */
- offs = 0;
- do {
- u_int16_t vendor;
- u_int8_t rev, media, prod;
-
- /*
- * Read tuples one at a time into buf. Sucks, but it only happens once.
- * XXX - If the stuff we need isn't in attribute memory, or (worse yet)
- * XXX - attribute memory isn't mapped, we're FUBAR. Maybe need to do an
- * XXX - ioctl on the card device and follow links?
- * XXX - Not really the driver's problem, PCCARD should handle all this!
- */
- if ((rc = xe_memread( devi, offs, buf, CISTPL_BUFSIZE )) == 0) {
-
- switch (CISTPL_TYPE(buf)) {
-
- case 0x15: /* Grab version string (needed to ID some weird CE2's) */
-#ifdef XE_DEBUG
- printf("xe%d: Got version string (0x15)\n", unit);
-#endif
- for (i = 0; i < CISTPL_LEN(buf); ver_str[i] = CISTPL_DATA(buf, i++));
- ver_str[i] = '\0';
- ver_str[(CISTPL_BUFSIZE>>1) - 1] = CISTPL_LEN(buf);
- success++;
- break;
-
- case 0x20: /* Figure out what type of card we have */
-#ifdef XE_DEBUG
- printf("xe%d: Got card ID (0x20)\n", unit);
-#endif
- vendor = CISTPL_DATA(buf, 0) + (CISTPL_DATA(buf, 1) << 8);
- rev = CISTPL_DATA(buf, 2);
- media = CISTPL_DATA(buf, 3);
- prod = CISTPL_DATA(buf, 4);
-
- switch (vendor) { /* Get vendor ID */
- case 0x0105:
- scp->vendor = "Xircom"; break;
- case 0x0138:
- case 0x0183:
- scp->vendor = "Compaq"; break;
- case 0x0089:
- scp->vendor = "Intel"; break;
- default:
- scp->vendor = "Unknown";
- }
-
- if (!((prod & 0x40) && (media & 0x01))) {
-#ifdef XE_DEBUG
- printf("xe%d: Not a PCMCIA Ethernet card!\n", unit);
-#endif
- rc = ENODEV; /* Not a PCMCIA Ethernet device */
- }
- else {
- if (media & 0x10) { /* Ethernet/modem cards */
-#ifdef XE_DEBUG
- printf("xe%d: Card is Ethernet/modem combo\n", unit);
-#endif
- scp->modem = 1;
- switch (prod & 0x0f) {
- case 1:
- scp->card_type = "CEM"; break;
- case 2:
- scp->card_type = "CEM2"; break;
- case 3:
- scp->card_type = "CEM3"; break;
- case 4:
- scp->card_type = "CEM33"; break;
- case 5:
- scp->ce3 = 1;
- scp->card_type = "CEM56M"; break;
- case 6:
- case 7: /* Some kind of RealPort card */
- scp->ce3 = 1;
- scp->cem56 = 1;
- scp->card_type = "CEM56"; break;
- default:
- rc = ENODEV;
- }
- }
- else { /* Ethernet-only cards */
-#ifdef XE_DEBUG
- printf("xe%d: Card is Ethernet only\n", unit);
-#endif
- switch (prod & 0x0f) {
- case 1:
- scp->card_type = "CE"; break;
- case 2:
- scp->card_type = "CE2"; break;
- case 3:
- scp->ce3 = 1;
- scp->card_type = "CE3"; break;
- default:
- rc = ENODEV;
- }
- }
- }
- success++;
- break;
-
- case 0x22: /* Get MAC address */
-#ifdef XE_DEBUG
- printf("xe%d: Got MAC address (0x22)\n", unit);
-#endif
- if ((CISTPL_LEN(buf) == 8) &&
- (CISTPL_DATA(buf, 0) == 0x04) &&
- (CISTPL_DATA(buf, 1) == ETHER_ADDR_LEN)) {
- for (i = 0; i < ETHER_ADDR_LEN; scp->arpcom.ac_enaddr[i] = CISTPL_DATA(buf, i+2), i++);
- }
- success++;
- break;
- default:
- }
- }
-
- /* Skip to next tuple */
- offs += ((CISTPL_LEN(buf) + 2) << 1);
-
- } while ((CISTPL_TYPE(buf) != 0xff) && (CISTPL_LEN(buf) != 0xff) && (rc == 0));
-
-
- /* Die now if something went wrong above */
- if ((rc != 0) || (success < 3)) {
- free(scp, M_DEVBUF);
- return rc;
- }
-
- /* Check for certain strange CE2's that look like CE's */
- if (strcmp(scp->card_type, "CE") == 0) {
- u_char *str = ver_str;
-#ifdef XE_DEBUG
- printf("xe%d: Checking for weird CE2 string\n", unit);
-#endif
- str += strlen(str) + 1; /* Skip forward to 3rd version string */
- str += strlen(str) + 1;
- str += strlen(str) + 1;
- for (i = 0; i < strlen(str) - 2; i++) {
- if (bcmp(&str[i], "CE2", 3) ==0) { /* Look for "CE2" string */
- scp->card_type = "CE2";
- }
- }
- }
-
- /* Reject unsupported cards */
- if (strcmp(scp->card_type, "CE") == 0 || strcmp(scp->card_type, "CEM") == 0) {
- printf("xe%d: Sorry, your %s card is not supported :(\n", unit, scp->card_type);
- free(scp, M_DEVBUF);
- return ENODEV;
- }
-
- /* Fill in some private data */
- sca[unit] = scp;
- scp->dev = &devi->isahd;
- scp->crd = devi;
- scp->ifp = &scp->arpcom.ac_if;
- scp->ifm = &scp->ifmedia;
- scp->unit = unit;
- scp->autoneg_status = 0;
-
- /* Hack RealPorts into submission */
- if (scp->cem56 && xe_cem56fix(scp) < 0) {
- printf( "xe%d: Unable to fix your RealPort\n", unit );
- sca[unit] = 0;
- free(scp, M_DEVBUF);
- return ENODEV;
- }
-
- /* Attempt to attach the device */
- if (!xe_attach(scp->dev)) {
- sca[unit] = 0;
- free(scp, M_DEVBUF);
- return ENXIO;
- }
-
-#if NAPM > 0
- /* Establish APM hooks once device attached */
- scp->suspend_hook.ah_name = "xe_suspend";
- scp->suspend_hook.ah_fun = xe_suspend;
- scp->suspend_hook.ah_arg = (void *)unit;
- scp->suspend_hook.ah_order = APM_MIN_ORDER;
- apm_hook_establish(APM_HOOK_SUSPEND, &scp->suspend_hook);
- scp->resume_hook.ah_name = "xe_resume";
- scp->resume_hook.ah_fun = xe_resume;
- scp->resume_hook.ah_arg = (void *)unit;
- scp->resume_hook.ah_order = APM_MIN_ORDER;
- apm_hook_establish(APM_HOOK_RESUME, &scp->resume_hook);
-#endif /* NAPM > 0 */
-
- /* Success */
- return 0;
-}
-
-
-/*
- * Attach a device (called when xe_card_init succeeds). Assume that the probe
- * routine has set up the softc structure correctly and that we can trust the
- * unit number.
- */
-static int
-xe_attach (struct isa_device *dev) {
- struct xe_softc *scp = sca[dev->id_unit];
- int i;
-
-#ifdef XE_DEBUG
- printf("xe%d: attach\n", scp->unit);
-#endif
-
- /* Initialise the ifnet structure */
- if (!scp->ifp->if_name) {
- scp->ifp->if_softc = scp;
- scp->ifp->if_name = "xe";
- scp->ifp->if_unit = scp->unit;
- scp->ifp->if_timer = 0;
- scp->ifp->if_flags = (IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST);
- scp->ifp->if_linkmib = &scp->mibdata;
- scp->ifp->if_linkmiblen = sizeof scp->mibdata;
- scp->ifp->if_output = ether_output;
- scp->ifp->if_start = xe_start;
- scp->ifp->if_ioctl = xe_ioctl;
- scp->ifp->if_watchdog = xe_watchdog;
- scp->ifp->if_init = xe_init;
- scp->ifp->if_snd.ifq_maxlen = IFQ_MAXLEN;
- }
-
- /* Initialise the ifmedia structure */
- ifmedia_init(scp->ifm, 0, xe_media_change, xe_media_status);
- callout_handle_init(&scp->chand);
-
- /*
- * Fill in supported media types. Some cards _do_ support full duplex
- * operation, but this driver doesn't, yet. Therefore we leave those modes
- * out of the list. We support some form of autoselection in all cases.
- */
- if (scp->ce3) {
- ifmedia_add(scp->ifm, IFM_ETHER|IFM_100_TX, 0, NULL);
- ifmedia_add(scp->ifm, IFM_ETHER|IFM_10_T, 0, NULL);
- }
- else {
- ifmedia_add(scp->ifm, IFM_ETHER|IFM_10_T, 0, NULL);
- ifmedia_add(scp->ifm, IFM_ETHER|IFM_10_2, 0, NULL);
- }
- ifmedia_add(scp->ifm, IFM_ETHER|IFM_AUTO, 0, NULL);
-
- /* Default is to autoselect best supported media type */
- ifmedia_set(scp->ifm, IFM_ETHER|IFM_AUTO);
-
- /* Print some useful information */
- printf("\nxe%d: %s %s%s%s\n",
- scp->unit,
- scp->vendor,
- scp->card_type,
- scp->ce3 ? ", 100Mbps capable" : "",
- scp->cem56 ? ", with modem" : "");
- printf("xe%d: Ethernet address %02x", scp->unit, scp->arpcom.ac_enaddr[0]);
- for (i = 1; i < ETHER_ADDR_LEN; i++) {
- printf(":%02x", scp->arpcom.ac_enaddr[i]);
- }
- printf("\n");
-
- /* Attach the interface */
- if_attach(scp->ifp);
- ether_ifattach(scp->ifp);
-
-#if NBPFILTER > 0
- /* If BPF is in the kernel, call the attach for it */
-#ifdef XE_DEBUG
- printf("xe%d: BPF listener attached\n", scp->unit);
-#endif
- bpfattach(scp->ifp, DLT_EN10MB, sizeof(struct ether_header));
-#endif
-
- /* Done */
- return 1;
-}
-
-
-/*
- * Initialize device. Completes the reset procedure on the card and starts
- * output. If there's an autonegotiation in progress we DON'T do anything;
- * the media selection code will call us again when it's done.
- */
-static void
-xe_init(void *xscp) {
- struct xe_softc *scp = xscp;
- int s;
-
-#ifdef XE_DEBUG
- printf("xe%d: init\n", scp->unit);
-#endif
-
- if (scp->gone) return;
-
- if (TAILQ_EMPTY(&scp->ifp->if_addrhead)) return;
-
- /* Reset transmitter flags */
- scp->tx_queued = 0;
- scp->tx_ptr = 0;
- scp->tx_collisions = 0;
- scp->ifp->if_timer = 0;
-
- s = splimp();
-
- XE_SELECT_PAGE(0x42);
- XE_OUTB(XE_SWC0, 0x20); /* Disable source insertion (WTF is that?) */
-
- /*
- * Set the 'local memory dividing line' -- splits the 32K card memory into
- * 8K for transmit buffers and 24K for receive. This is done automatically
- * on newer revision cards.
- */
- if (scp->srev != 1) {
- XE_SELECT_PAGE(2);
- XE_OUTW(XE_RBS, 0x2000);
- }
-
- /* Set up multicast addresses */
- xe_setmulti(scp);
-
- /* Fix the data offset register -- reset leaves it off-by-one */
- XE_SELECT_PAGE(0);
- XE_OUTW(XE_DOR, 0x2000);
-
- /*
- * Set MAC interrupt masks and clear status regs. The bit names are direct
- * from the Linux code; I have no idea what most of them do.
- */
- XE_SELECT_PAGE(0x40); /* Bit 7..0 */
- XE_OUTB(XE_RXM0, 0xff); /* ROK, RAB, rsv, RO, CRC, AE, PTL, MP */
- XE_OUTB(XE_TXM0, 0xff); /* TOK, TAB, SQE, LL, TU, JAB, EXC, CRS */
- XE_OUTB(XE_TXM1, 0xb0); /* rsv, rsv, PTD, EXT, rsv, rsv, rsv, rsv */
- XE_OUTB(XE_RXS0, 0x00); /* ROK, RAB, REN, RO, CRC, AE, PTL, MP */
- XE_OUTB(XE_TXS0, 0x00); /* TOK, TAB, SQE, LL, TU, JAB, EXC, CRS */
- XE_OUTB(XE_TXS1, 0x00); /* TEN, rsv, PTD, EXT, retry_counter:4 */
-
- /*
- * Check for an in-progress autonegotiation. If one is active, just set
- * IFF_RUNNING and return. The media selection code will call us again when
- * it's done.
- */
- if (scp->autoneg_status) {
- scp->ifp->if_flags |= IFF_RUNNING;
- }
- else {
- /* Enable receiver, put MAC online */
- XE_SELECT_PAGE(0x40);
- XE_OUTB(XE_OCR, XE_OCR_RX_ENABLE|XE_OCR_ONLINE);
-
- /* Set up IMR, enable interrupts */
- xe_enable_intr(scp);
-
- /* Attempt to start output */
- scp->ifp->if_flags |= IFF_RUNNING;
- scp->ifp->if_flags &= ~IFF_OACTIVE;
- xe_start(scp->ifp);
- }
-
- (void)splx(s);
-}
-
-
-/*
- * Start output on interface. We make two assumptions here:
- * 1) that the current priority is set to splimp _before_ this code
- * is called *and* is returned to the appropriate priority after
- * return
- * 2) that the IFF_OACTIVE flag is checked before this code is called
- * (i.e. that the output part of the interface is idle)
- */
-static void
-xe_start(struct ifnet *ifp) {
- struct xe_softc *scp = ifp->if_softc;
- struct mbuf *mbp;
-
- if (scp->gone) return;
-
- /*
- * Loop while there are packets to be sent, and space to send them.
- */
- while (1) {
- IF_DEQUEUE(&ifp->if_snd, mbp); /* Suck a packet off the send queue */
-
- if (mbp == NULL) {
- /*
- * We are using the !OACTIVE flag to indicate to the outside world that
- * we can accept an additional packet rather than that the transmitter
- * is _actually_ active. Indeed, the transmitter may be active, but if
- * we haven't filled all the buffers with data then we still want to
- * accept more.
- */
- ifp->if_flags &= ~IFF_OACTIVE;
- return;
- }
-
- if (xe_pio_write_packet(scp, mbp) != 0) {
- IF_PREPEND(&ifp->if_snd, mbp); /* Push the packet back onto the queue */
- ifp->if_flags |= IFF_OACTIVE;
- return;
- }
-
-#if NBPFILTER > 0
- /* Tap off here if there is a bpf listener */
- if (ifp->if_bpf) {
-#if XE_DEBUG > 1
- printf("xe%d: sending output packet to BPF\n", scp->unit);
-#endif
- bpf_mtap(ifp, mbp);
- }
-#endif /* NBPFILTER > 0 */
-
- ifp->if_timer = 5; /* In case we don't hear from the card again */
- scp->tx_queued++;
-
- m_freem(mbp);
- }
-}
-
-
-/*
- * Process an ioctl request. Adapted from the ed driver.
- */
-static int
-xe_ioctl (register struct ifnet *ifp, u_long command, caddr_t data) {
- struct xe_softc *scp;
- int s, error;
-
- scp = ifp->if_softc;
- error = 0;
-
- if (scp->gone) {
- return ENXIO;
- }
-
- s = splimp();
-
- switch (command) {
-
- case SIOCSIFADDR:
- case SIOCGIFADDR:
- case SIOCSIFMTU:
- error = ether_ioctl(ifp, command, data);
- break;
-
- case SIOCSIFFLAGS:
- /*
- * If the interface is marked up and stopped, then start it. If it is
- * marked down and running, then stop it.
- */
- if (ifp->if_flags & IFF_UP) {
- if (!(ifp->if_flags & IFF_RUNNING)) {
- xe_hard_reset(scp);
- xe_setmedia(scp);
- xe_init(scp);
- }
- }
- else {
- if (ifp->if_flags & IFF_RUNNING)
- xe_stop(scp);
- }
-
- case SIOCADDMULTI:
- case SIOCDELMULTI:
- /*
- * Multicast list has (maybe) changed; set the hardware filter
- * accordingly. This also serves to deal with promiscuous mode if we have
- * a BPF listener active.
- */
- xe_setmulti(scp);
- error = 0;
- break;
-
- case SIOCSIFMEDIA:
- case SIOCGIFMEDIA:
- /*
- * Someone wants to get/set media options.
- */
- error = ifmedia_ioctl(ifp, (struct ifreq *)data, &scp->ifmedia, command);
- break;
-
- default:
- error = EINVAL;
- }
-
- (void)splx(s);
-
- return error;
-}
-
-
-/*
- * Card interrupt handler: should return true if the interrupt was for us, in
- * case we are sharing our IRQ line with other devices (this will probably be
- * the case for multifunction cards).
- *
- * This function is probably more complicated than it needs to be, as it
- * attempts to deal with the case where multiple packets get sent between
- * interrupts. This is especially annoying when working out the collision
- * stats. Not sure whether this case ever really happens or not (maybe on a
- * slow/heavily loaded machine?) so it's probably best to leave this like it
- * is.
- *
- * Note that the crappy PIO used to get packets on and off the card means that
- * you will spend a lot of time in this routine -- I can get my P150 to spend
- * 90% of its time servicing interrupts if I really hammer the network. Could
- * fix this, but then you'd start dropping/losing packets. The moral of this
- * story? If you want good network performance _and_ some cycles left over to
- * get your work done, don't buy a Xircom card. Or convince them to tell me
- * how to do memory-mapped I/O :)
- */
-static int
-xe_card_intr(struct pccard_devinfo *devi) {
- struct xe_softc *scp;
- struct ifnet *ifp;
- int unit, result;
- u_int16_t rx_bytes, rxs, txs;
- u_int8_t psr, isr, esr, rsr;
-
- unit = devi->isahd.id_unit;
- scp = sca[unit];
- ifp = &scp->arpcom.ac_if;
- rx_bytes = 0; /* Bytes received on this interrupt */
- result = 0; /* Set true if the interrupt is for us */
-
- if (scp->gone)
- return 0;
-
- if (scp->ce3) {
- XE_OUTB(XE_CR, 0); /* Disable interrupts */
- }
-
- psr = XE_INB(XE_PSR); /* Stash the current register page */
-
- /*
- * Read ISR to see what caused this interrupt. Note that this clears the
- * ISR on CE2 type cards.
- */
- if ((isr = XE_INB(XE_ISR)) && isr != 0xff) {
-
- result = 1; /* This device did generate an int */
- esr = XE_INB(XE_ESR); /* Read the other status registers */
- XE_SELECT_PAGE(0x40);
- rxs = XE_INB(XE_RXS0);
- XE_OUTB(XE_RXS0, ~rxs & 0xff);
- txs = XE_INB(XE_TXS0);
- txs |= XE_INB(XE_TXS1) << 8;
- XE_OUTB(XE_TXS0, 0);
- XE_OUTB(XE_TXS1, 0);
- XE_SELECT_PAGE(0);
-
-#if XE_DEBUG > 3
- printf("xe%d: ISR=%#2.2x ESR=%#2.2x RXS=%#2.2x TXS=%#4.4x\n", unit, isr, esr, rxs, txs);
-#endif
-
- /*
- * Handle transmit interrupts
- */
- if (isr & XE_ISR_TX_PACKET) {
- u_int8_t new_ptr, sent;
-
- if ((new_ptr = XE_INB(XE_PTR)) < scp->tx_ptr) /* Update packet count */
- sent = (0xff - scp->tx_ptr) + new_ptr; /* PTR rolled over */
- else
- sent = new_ptr - scp->tx_ptr;
-
- if (sent > 0) { /* Packets sent since last interrupt */
- scp->tx_ptr = new_ptr;
- scp->tx_queued -= sent;
- ifp->if_opackets += sent;
- ifp->if_collisions += scp->tx_collisions;
-
- /*
- * Collision stats are a PITA. If multiples frames have been sent, we
- * distribute any outstanding collision count equally amongst them.
- * However, if we're missing interrupts we're quite likely to also
- * miss some collisions; thus the total count will be off anyway.
- * Likewise, if we miss a frame dropped due to excessive collisions
- * any outstanding collisions count will be held against the next
- * frame to be successfully sent. Hopefully it averages out in the
- * end!
- * XXX - This will screw up if tx_collisions/sent > 14. FIX IT!
- */
- switch (scp->tx_collisions) {
- case 0:
- break;
- case 1:
- scp->mibdata.dot3StatsSingleCollisionFrames++;
- scp->mibdata.dot3StatsCollFrequencies[0]++;
- break;
- default:
- if (sent == 1) {
- scp->mibdata.dot3StatsMultipleCollisionFrames++;
- scp->mibdata.dot3StatsCollFrequencies[scp->tx_collisions-1]++;
- }
- else { /* Distribute across multiple frames */
- scp->mibdata.dot3StatsMultipleCollisionFrames += sent;
- scp->mibdata.
- dot3StatsCollFrequencies[scp->tx_collisions/sent] += sent - scp->tx_collisions%sent;
- scp->mibdata.
- dot3StatsCollFrequencies[scp->tx_collisions/sent + 1] += scp->tx_collisions%sent;
- }
- }
- scp->tx_collisions = 0;
- }
- ifp->if_timer = 0;
- ifp->if_flags &= ~IFF_OACTIVE;
- }
- if (txs & 0x0002) { /* Excessive collisions (packet dropped) */
- ifp->if_collisions += 16;
- ifp->if_oerrors++;
- scp->tx_collisions = 0;
- scp->mibdata.dot3StatsExcessiveCollisions++;
- scp->mibdata.dot3StatsMultipleCollisionFrames++;
- scp->mibdata.dot3StatsCollFrequencies[15]++;
- XE_OUTB(XE_CR, XE_CR_RESTART_TX);
- }
- if (txs & 0x0040) /* Transmit aborted -- probably collisions */
- scp->tx_collisions++;
-
-
- /*
- * Handle receive interrupts
- */
- while ((esr = XE_INB(XE_ESR)) & XE_ESR_FULL_PKT_RX) {
-
- if ((rsr = XE_INB(XE_RSR)) & XE_RSR_RX_OK) {
- struct ether_header *ehp;
- struct mbuf *mbp;
- u_int16_t len;
-
- len = XE_INW(XE_RBC);
-
- if (len == 0)
- continue;
-
-#if 0
- /*
- * Limit the amount of time we spend in this loop, dropping packets if
- * necessary. The Linux code does this with considerably more
- * finesse, adjusting the threshold dynamically.
- */
- if ((rx_bytes += len) > 22000) {
- ifp->if_iqdrops++;
- scp->mibData.dot3StatsMissedFrames++;
- XE_OUTW(XE_DOR, 0x8000);
- continue;
- }
-#endif
-
- if (len & 0x01)
- len++;
-
- MGETHDR(mbp, M_DONTWAIT, MT_DATA); /* Allocate a header mbuf */
- if (mbp != NULL) {
- mbp->m_pkthdr.rcvif = ifp;
- mbp->m_pkthdr.len = mbp->m_len = len;
-
- /*
- * If the mbuf header isn't big enough for the packet, attach an
- * mbuf cluster to hold it. The +2 is to allow for the nasty little
- * alignment hack below.
- */
- if (len + 2 > MHLEN) {
- MCLGET(mbp, M_DONTWAIT);
- if ((mbp->m_flags & M_EXT) == 0) {
- m_freem(mbp);
- mbp = NULL;
- }
- }
- }
-
- if (mbp != NULL) {
- /*
- * The Ethernet header is 14 bytes long; thus the actual packet data
- * won't be 32-bit aligned when it's dumped into the mbuf. We
- * offset everything by 2 bytes to fix this. Apparently the
- * alignment is important for NFS, damn its eyes.
- */
- mbp->m_data += 2;
- ehp = mtod(mbp, struct ether_header *);
-
- /*
- * Now get the packet, including the Ethernet header and trailer (?)
- * We use programmed I/O, because we don't know how to do shared
- * memory with these cards. So yes, it's real slow, and heavy on
- * the interrupts (CPU on my P150 maxed out at ~950KBps incoming).
- */
- if (scp->srev == 0) { /* Workaround a bug in old cards */
- u_short rhs;
-
- XE_SELECT_PAGE(5);
- rhs = XE_INW(XE_RHS);
- XE_SELECT_PAGE(0);
-
- rhs += 3; /* Skip control info */
-
- if (rhs >= 0x8000)
- rhs = 0;
-
- if (rhs + len > 0x8000) {
- int i;
-
- /*
- * XXX - This i-- seems very wrong, but it's what the Linux guys
- * XXX - do. Need someone with an old CE2 to test this for me.
- * XXX - 99/3/28: Changed the first i-- to an i++, maybe that'll
- * XXX - fix it? It seems as though the previous version would
- * XXX - have caused an infinite loop (what, another one?).
- */
- for (i = 0; i < len; i++, rhs++) {
- ((char *)ehp)[i] = XE_INB(XE_EDP);
- if (rhs == 0x8000) {
- rhs = 0;
- i--;
- }
- }
- }
- else
- insw(scp->dev->id_iobase+XE_EDP, ehp, len >> 1);
- }
- else
- insw(scp->dev->id_iobase+XE_EDP, ehp, len >> 1);
-
-#if NBPFILTER > 0
- /*
- * Check if there's a BPF listener on this interface. If so, hand
- * off the raw packet to bpf.
- */
- if (ifp->if_bpf) {
-#if XE_DEBUG > 1
- printf("xe%d: passing input packet to BPF\n", scp->unit);
-#endif
- bpf_mtap(ifp, mbp);
-
- /*
- * Note that the interface cannot be in promiscuous mode if there
- * are no BPF listeners. And if we are in promiscuous mode, we
- * have to check if this packet is really ours.
- */
- if ((ifp->if_flags & IFF_PROMISC) &&
- bcmp(ehp->ether_dhost, scp->arpcom.ac_enaddr, sizeof(ehp->ether_dhost)) != 0 &&
- (rsr & XE_RSR_PHYS_PKT)) {
- m_freem(mbp);
- mbp = NULL;
- }
- }
-#endif /* NBPFILTER > 0 */
-
- if (mbp != NULL) {
- mbp->m_pkthdr.len = mbp->m_len = len - ETHER_HDR_LEN;
- mbp->m_data += ETHER_HDR_LEN; /* Strip off Ethernet header */
- ether_input(ifp, ehp, mbp); /* Send the packet on its way */
- ifp->if_ipackets++; /* Success! */
- }
- XE_OUTW(XE_DOR, 0x8000); /* skip_rx_packet command */
- }
- }
- else if (rsr & XE_RSR_LONG_PKT) { /* Packet length >1518 bytes */
- scp->mibdata.dot3StatsFrameTooLongs++;
- ifp->if_ierrors++;
- }
- else if (rsr & XE_RSR_CRC_ERR) { /* Bad checksum on packet */
- scp->mibdata.dot3StatsFCSErrors++;
- ifp->if_ierrors++;
- }
- else if (rsr & XE_RSR_ALIGN_ERR) { /* Packet alignment error */
- scp->mibdata.dot3StatsAlignmentErrors++;
- ifp->if_ierrors++;
- }
- }
- if (rxs & 0x10) { /* Receiver overrun */
- scp->mibdata.dot3StatsInternalMacReceiveErrors++;
- ifp->if_ierrors++;
- XE_OUTB(XE_CR, XE_CR_CLEAR_OVERRUN);
- }
- }
-
- XE_SELECT_PAGE(psr); /* Restore saved page */
- XE_OUTB(XE_CR, XE_CR_ENABLE_INTR); /* Re-enable interrupts */
-
- /* XXX - Could force an int here, instead of dropping packets? */
- /* XXX - XE_OUTB(XE_CR, XE_CR_ENABLE_INTR|XE_CE_FORCE_INTR); */
-
- return result;
-}
-
-
-/*
- * Device timeout/watchdog routine. Called automatically if we queue a packet
- * for transmission but don't get an interrupt within a specified timeout
- * (usually 5 seconds). When this happens we assume the worst and reset the
- * card.
- */
-static void
-xe_watchdog(struct ifnet *ifp) {
- struct xe_softc *scp = ifp->if_softc;
-
- if (scp->gone) return;
-
- printf("xe%d: watchdog timeout; resetting card\n", scp->unit);
- scp->tx_timeouts++;
- ifp->if_oerrors += scp->tx_queued;
- xe_stop(scp);
- xe_hard_reset(scp);
- xe_setmedia(scp);
- xe_init(scp);
-}
-
-
-/*
- * Change media selection.
- */
-static int
-xe_media_change(struct ifnet *ifp) {
- struct xe_softc *scp = ifp->if_softc;
-
-#ifdef XE_DEBUG
- printf("xe%d: media_change\n", ifp->if_unit);
-#endif
-
- if (IFM_TYPE(scp->ifm->ifm_media) != IFM_ETHER)
- return(EINVAL);
-
- /*
- * Some card/media combos aren't always possible -- filter those out here.
- */
- if ((IFM_SUBTYPE(scp->ifm->ifm_media) == IFM_AUTO ||
- IFM_SUBTYPE(scp->ifm->ifm_media) == IFM_100_TX) && !scp->phy_ok)
- return (EINVAL);
-
- xe_setmedia(scp);
-
- return 0;
-}
-
-
-/*
- * Return current media selection.
- */
-static void
-xe_media_status(struct ifnet *ifp, struct ifmediareq *mrp) {
-
-#ifdef XE_DEBUG
- printf("xe%d: media_status\n", ifp->if_unit);
-#endif
-
- mrp->ifm_active = ((struct xe_softc *)ifp->if_softc)->media;
-
- return;
-}
-
-
-/*
- * Select active media.
- */
-static void xe_setmedia(void *xscp) {
- struct xe_softc *scp = xscp;
- u_int16_t bmcr, bmsr, anar, lpar;
-
-#ifdef XE_DEBUG
- printf("xe%d: setmedia\n", scp->unit);
-#endif
-
- /* Cancel any pending timeout */
- untimeout(xe_setmedia, scp, scp->chand);
- xe_disable_intr(scp);
-
- /* Select media */
- scp->media = IFM_ETHER;
- switch (IFM_SUBTYPE(scp->ifm->ifm_media)) {
-
- case IFM_AUTO: /* Autoselect media */
- scp->media = IFM_ETHER|IFM_AUTO;
-
- /*
- * Autoselection is really awful. It goes something like this:
- *
- * Wait until the transmitter goes idle (2sec timeout).
- * Reset card
- * IF a 100Mbit PHY exists
- * Start NWAY autonegotiation (3.5sec timeout)
- * IF that succeeds
- * Select 100baseTX or 10baseT, whichever was detected
- * ELSE
- * Reset card
- * IF a 100Mbit PHY exists
- * Try to force a 100baseTX link (3sec timeout)
- * IF that succeeds
- * Select 100baseTX
- * ELSE
- * Disable the PHY
- * ENDIF
- * ENDIF
- * ENDIF
- * ENDIF
- * IF nothing selected so far
- * IF a 100Mbit PHY exists
- * Select 10baseT
- * ELSE
- * Select 10baseT or 10base2, whichever is connected
- * ENDIF
- * ENDIF
- */
- switch (scp->autoneg_status) {
-
- case XE_AUTONEG_NONE:
-#ifdef XE_DEBUG
- printf("xe%d: Waiting for idle transmitter\n", scp->unit);
-#endif
- scp->arpcom.ac_if.if_flags |= IFF_OACTIVE;
- scp->autoneg_status = XE_AUTONEG_WAITING;
- scp->chand = timeout(xe_setmedia, scp, hz * 2);
- return;
-
- case XE_AUTONEG_WAITING:
- xe_soft_reset(scp);
- if (scp->phy_ok) {
-#ifdef XE_DEBUG
- printf("xe%d: Starting autonegotiation\n", scp->unit);
-#endif
- bmcr = xe_phy_readreg(scp, PHY_BMCR);
- bmcr &= ~(PHY_BMCR_AUTONEGENBL);
- xe_phy_writereg(scp, PHY_BMCR, bmcr);
- anar = xe_phy_readreg(scp, PHY_ANAR);
- anar &= ~(PHY_ANAR_100BT4|PHY_ANAR_100BTXFULL|PHY_ANAR_10BTFULL);
- anar |= PHY_ANAR_100BTXHALF|PHY_ANAR_10BTHALF;
- xe_phy_writereg(scp, PHY_ANAR, anar);
- bmcr |= PHY_BMCR_AUTONEGENBL|PHY_BMCR_AUTONEGRSTR;
- xe_phy_writereg(scp, PHY_BMCR, bmcr);
- scp->autoneg_status = XE_AUTONEG_STARTED;
- scp->chand = timeout(xe_setmedia, scp, hz * 7/2);
- return;
- }
- else {
- scp->autoneg_status = XE_AUTONEG_FAIL;
- }
- break;
-
- case XE_AUTONEG_STARTED:
- bmsr = xe_phy_readreg(scp, PHY_BMSR);
- lpar = xe_phy_readreg(scp, PHY_LPAR);
- if (bmsr & (PHY_BMSR_AUTONEGCOMP|PHY_BMSR_LINKSTAT)) {
-#ifdef XE_DEBUG
- printf("xe%d: Autonegotiation complete!\n", scp->unit);
-#endif
- /*
- * XXX - Shouldn't have to do this, but (on my hub at least) the
- * XXX - transmitter won't work after a successful autoneg. So we see
- * XXX - what the negotiation result was and force that mode. I'm
- * XXX - sure there is an easy fix for this.
- */
- if (lpar & PHY_LPAR_100BTXHALF) {
- xe_phy_writereg(scp, PHY_BMCR, PHY_BMCR_SPEEDSEL);
- XE_MII_DUMP(scp);
- XE_SELECT_PAGE(2);
- XE_OUTB(XE_MSR, XE_INB(XE_MSR) | 0x08);
- scp->media = IFM_ETHER|IFM_100_TX;
- scp->autoneg_status = XE_AUTONEG_NONE;
- }
- else {
- /*
- * XXX - Bit of a hack going on in here.
- * XXX - This is derived from Ken Hughes patch to the Linux driver
- * XXX - to make it work with 10Mbit _autonegotiated_ links on CE3B
- * XXX - cards. What's a CE3B and how's it differ from a plain CE3?
- * XXX - these are the things we need to find out.
- */
- xe_phy_writereg(scp, PHY_BMCR, 0x0000);
- XE_SELECT_PAGE(2);
- /* BEGIN HACK */
- XE_OUTB(XE_MSR, XE_INB(XE_MSR) | 0x08);
- XE_SELECT_PAGE(0x42);
- XE_OUTB(XE_SWC1, 0x80);
- scp->media = IFM_ETHER|IFM_10_T;
- scp->autoneg_status = XE_AUTONEG_NONE;
- /* END HACK */
- /*XE_OUTB(XE_MSR, XE_INB(XE_MSR) & ~0x08);*/ /* Disable PHY? */
- /*scp->autoneg_status = XE_AUTONEG_FAIL;*/
- }
- }
- else {
-#ifdef XE_DEBUG
- printf("xe%d: Autonegotiation failed; trying 100baseTX\n", scp->unit);
-#endif
- XE_MII_DUMP(scp);
- xe_soft_reset(scp);
- if (scp->phy_ok) {
- xe_phy_writereg(scp, PHY_BMCR, PHY_BMCR_SPEEDSEL);
- scp->autoneg_status = XE_AUTONEG_100TX;
- scp->chand = timeout(xe_setmedia, scp, hz * 3);
- return;
- }
- else {
- scp->autoneg_status = XE_AUTONEG_FAIL;
- }
- }
- break;
-
- case XE_AUTONEG_100TX:
- (void)xe_phy_readreg(scp, PHY_BMSR);
- bmsr = xe_phy_readreg(scp, PHY_BMSR);
- if (bmsr & PHY_BMSR_LINKSTAT) {
-#ifdef XE_DEBUG
- printf("xe%d: Got 100baseTX link!\n", scp->unit);
-#endif
- XE_MII_DUMP(scp);
- XE_SELECT_PAGE(2);
- XE_OUTB(XE_MSR, XE_INB(XE_MSR) | 0x08);
- scp->media = IFM_ETHER|IFM_100_TX;
- scp->autoneg_status = XE_AUTONEG_NONE;
- }
- else {
-#ifdef XE_DEBUG
- printf("xe%d: Autonegotiation failed; disabling PHY\n", scp->unit);
-#endif
- XE_MII_DUMP(scp);
- xe_phy_writereg(scp, PHY_BMCR, 0x0000);
- XE_SELECT_PAGE(2);
- XE_OUTB(XE_MSR, XE_INB(XE_MSR) & ~0x08); /* Disable PHY? */
- scp->autoneg_status = XE_AUTONEG_FAIL;
- }
- break;
- }
-
- /*
- * If we got down here _and_ autoneg_status is XE_AUTONEG_FAIL, then
- * either autonegotiation failed, or never got started to begin with. In
- * either case, select a suitable 10Mbit media and hope it works. We
- * don't need to reset the card again, since it will have been done
- * already by the big switch above.
- */
- if (scp->autoneg_status == XE_AUTONEG_FAIL) {
-#ifdef XE_DEBUG
- printf("xe%d: Selecting 10baseX\n", scp->unit);
-#endif
- if (scp->ce3) {
- XE_SELECT_PAGE(0x42);
- XE_OUTB(XE_SWC1, 0x80);
- scp->media = IFM_ETHER|IFM_10_T;
- scp->autoneg_status = XE_AUTONEG_NONE;
- }
- else {
- XE_SELECT_PAGE(4);
- XE_OUTB(XE_GPR0, 4);
- DELAY(50000);
- XE_SELECT_PAGE(0x42);
- XE_OUTB(XE_SWC1, (XE_INB(XE_ESR) & XE_ESR_MEDIA_SELECT) ? 0x80 : 0xc0);
- scp->media = IFM_ETHER|((XE_INB(XE_ESR) & XE_ESR_MEDIA_SELECT) ? IFM_10_T : IFM_10_2);
- scp->autoneg_status = XE_AUTONEG_NONE;
- }
- }
- break;
-
-
- /*
- * If a specific media has been requested, we just reset the card and
- * select it (one small exception -- if 100baseTX is requested by there is
- * no PHY, we fall back to 10baseT operation).
- */
- case IFM_100_TX: /* Force 100baseTX */
- xe_soft_reset(scp);
- if (scp->phy_ok) {
-#ifdef XE_DEBUG
- printf("xe%d: Selecting 100baseTX\n", scp->unit);
-#endif
- XE_SELECT_PAGE(0x42);
- XE_OUTB(XE_SWC1, 0);
- xe_phy_writereg(scp, PHY_BMCR, PHY_BMCR_SPEEDSEL);
- XE_SELECT_PAGE(2);
- XE_OUTB(XE_MSR, XE_INB(XE_MSR) | 0x08);
- scp->media |= IFM_100_TX;
- break;
- }
- /* FALLTHROUGH */
-
- case IFM_10_T: /* Force 10baseT */
- xe_soft_reset(scp);
-#ifdef XE_DEBUG
- printf("xe%d: Selecting 10baseT\n", scp->unit);
-#endif
- if (scp->phy_ok) {
- xe_phy_writereg(scp, PHY_BMCR, 0x0000);
- XE_SELECT_PAGE(2);
- XE_OUTB(XE_MSR, XE_INB(XE_MSR) & ~0x08); /* Disable PHY */
- }
- XE_SELECT_PAGE(0x42);
- XE_OUTB(XE_SWC1, 0x80);
- scp->media |= IFM_10_T;
- break;
-
- case IFM_10_2:
- xe_soft_reset(scp);
-#ifdef XE_DEBUG
- printf("xe%d: Selecting 10base2\n", scp->unit);
-#endif
- XE_SELECT_PAGE(0x42);
- XE_OUTB(XE_SWC1, 0xc0);
- scp->media |= IFM_10_2;
- break;
- }
-
-
- /*
- * Finally, the LEDs are set to match whatever media was chosen and the
- * transmitter is unblocked.
- */
-#ifdef XE_DEBUG
- printf("xe%d: Setting LEDs\n", scp->unit);
-#endif
- XE_SELECT_PAGE(2);
- switch (IFM_SUBTYPE(scp->media)) {
- case IFM_100_TX:
- case IFM_10_T:
- XE_OUTB(XE_LED, 0x3b);
- if (scp->cem56)
- XE_OUTB(0x0b, 0x04); /* 100Mbit LED */
- break;
-
- case IFM_10_2:
- XE_OUTB(XE_LED, 0x3a);
- break;
- }
-
- /* Restart output? */
- scp->ifp->if_flags &= ~IFF_OACTIVE;
- xe_init(scp);
-}
-
-
-/*
- * Hard reset (power cycle) the card.
- */
-static void
-xe_hard_reset(struct xe_softc *scp) {
- int s;
-
-#ifdef XE_DEBUG
- printf("xe%d: hard_reset\n", scp->unit);
-#endif
-
- if (scp->gone) return;
-
- s = splimp();
-
- /*
- * Power cycle the card.
- */
- XE_SELECT_PAGE(4);
- XE_OUTB(XE_GPR1, 0); /* Power off */
- DELAY(40000);
-
- if (scp->ce3)
- XE_OUTB(XE_GPR1, 1); /* And back on again */
- else
- XE_OUTB(XE_GPR1, 5); /* Also set AIC bit, whatever that is */
- DELAY(40000);
- XE_SELECT_PAGE(0);
-
- (void)splx(s);
-}
-
-
-/*
- * Soft reset the card. Also makes sure that the ML6692 and 10Mbit controller
- * are powered up, sets the silicon revision number in softc, disables
- * interrupts and checks for the prescence of a 100Mbit PHY. This should
- * leave us in a position where we can access the PHY and do media
- * selection. The function imposes a 0.5s delay while the hardware powers up.
- */
-static void
-xe_soft_reset(struct xe_softc *scp) {
- int s;
-
-#ifdef XE_DEBUG
- printf("xe%d: soft_reset\n", scp->unit);
-#endif
-
- if (scp->gone) return;
-
- s = splimp();
-
- /*
- * Reset the card, (again).
- */
- XE_SELECT_PAGE(0);
- XE_OUTB(XE_CR, XE_CR_SOFT_RESET);
- DELAY(40000);
- XE_OUTB(XE_CR, 0);
- DELAY(40000);
-
- if (scp->ce3) {
- /*
- * set GP1 and GP2 as outputs (bits 2 & 3)
- * set GP1 low to power on the ML6692 (bit 0)
- * set GP2 high to power on the 10Mhz chip (bit 1)
- */
- XE_SELECT_PAGE(4);
- XE_OUTB(XE_GPR0, 0x0e);
- }
-
- /*
- * Wait for everything to wake up.
- */
- DELAY(500000);
-
- /*
- * Get silicon revision number.
- */
- XE_SELECT_PAGE(4);
- if (scp->ce3)
- scp->srev = (XE_INB(XE_BOV) & 0x70) >> 4;
- else
- scp->srev = (XE_INB(XE_BOV) & 0x30) >> 4;
-#ifdef XE_DEBUG
- printf("xe%d: silicon revision = %d\n", scp->unit, scp->srev);
-#endif
-
- /*
- * Shut off interrupts.
- */
- xe_disable_intr(scp);
-
- /*
- * Check for PHY.
- */
- if (scp->ce3) {
- scp->phy_ok = xe_mii_init(scp);
- }
-
- XE_SELECT_PAGE(0);
-
- (void)splx(s);
-}
-
-
-/*
- * Take interface offline. This is done by powering down the device, which I
- * assume means just shutting down the transceiver and Ethernet logic. This
- * requires a _hard_ reset to recover from, as we need to power up again.
- */
-static void
-xe_stop(struct xe_softc *scp) {
- int s;
-
-#ifdef XE_DEBUG
- printf("xe%d: stop\n", scp->unit);
-#endif
-
- if (scp->gone) return;
-
- s = splimp();
-
- /*
- * Shut off interrupts.
- */
- xe_disable_intr(scp);
-
- /*
- * Power down.
- */
- XE_SELECT_PAGE(4);
- XE_OUTB(XE_GPR1, 0);
- XE_SELECT_PAGE(0);
-
- /*
- * ~IFF_RUNNING == interface down.
- */
- scp->ifp->if_flags &= ~IFF_RUNNING;
- scp->ifp->if_flags &= ~IFF_OACTIVE;
- scp->ifp->if_timer = 0;
-
- (void)splx(s);
-}
-
-
-/*
- * Enable Ethernet interrupts from the card.
- */
-static void
-xe_enable_intr(struct xe_softc *scp) {
-#ifdef XE_DEBUG
- printf("xe%d: enable_intr\n", scp->unit);
-#endif
-
- XE_SELECT_PAGE(1);
- XE_OUTB(XE_IMR0, 0xff); /* Unmask everything */
- XE_OUTB(XE_IMR1, 0x01); /* Unmask TX underrun detection */
- DELAY(1);
-
- XE_SELECT_PAGE(0);
- XE_OUTB(XE_CR, XE_CR_ENABLE_INTR); /* Enable interrupts */
- if (scp->modem && !scp->cem56) { /* This bit is just magic */
- if (!(XE_INB(0x10) & 0x01)) {
- XE_OUTB(0x10, 0x11); /* Unmask master int enable bit */
- }
- }
-}
-
-
-/*
- * Disable all Ethernet interrupts from the card.
- */
-static void
-xe_disable_intr(struct xe_softc *scp) {
-#ifdef XE_DEBUG
- printf("xe%d: disable_intr\n", scp->unit);
-#endif
-
- XE_SELECT_PAGE(0);
- XE_OUTB(XE_CR, 0); /* Disable interrupts */
- if (scp->modem && !scp->cem56) { /* More magic (does this work?) */
- XE_OUTB(0x10, 0x10); /* Mask the master int enable bit */
- }
-
- XE_SELECT_PAGE(1);
- XE_OUTB(XE_IMR0, 0); /* Forbid all interrupts */
- XE_OUTB(XE_IMR1, 0);
- XE_SELECT_PAGE(0);
-}
-
-
-/*
- * Set up multicast filter and promiscuous mode
- */
-static void
-xe_setmulti(struct xe_softc *scp) {
- struct ifnet *ifp;
- struct ifmultiaddr *maddr;
- int count;
-
- ifp = &scp->arpcom.ac_if;
- maddr = ifp->if_multiaddrs.lh_first;
-
- /* Get length of multicast list */
- for (count = 0; maddr != NULL; maddr = maddr->ifma_link.le_next, count++);
-
- if ((ifp->if_flags & IFF_PROMISC) || (ifp->if_flags & IFF_ALLMULTI) || (count > 9)) {
- /*
- * Go into promiscuous mode if either of the PROMISC or ALLMULTI flags are
- * set, or if we have been asked to deal with more than 9 multicast
- * addresses. To do this: set MPE and PME in SWC1
- */
- XE_SELECT_PAGE(0x42);
- XE_OUTB(XE_SWC1, 0x06);
- }
- else if ((ifp->if_flags & IFF_MULTICAST) && (count > 0)) {
- /*
- * Program the filters for up to 9 addresses
- */
- XE_SELECT_PAGE(0x42);
- XE_OUTB(XE_SWC1, 0x01);
- XE_SELECT_PAGE(0x40);
- XE_OUTB(XE_OCR, XE_OCR_OFFLINE);
- /*xe_reg_dump(scp);*/
- xe_setaddrs(scp);
- /*xe_reg_dump(scp);*/
- XE_SELECT_PAGE(0x40);
- XE_OUTB(XE_OCR, XE_OCR_RX_ENABLE|XE_OCR_ONLINE);
- }
- else {
- /*
- * No multicast operation (default)
- */
- XE_SELECT_PAGE(0x42);
- XE_OUTB(XE_SWC1, 0);
- }
- XE_SELECT_PAGE(0);
-}
-
-
-/*
- * Set up all on-chip addresses (for multicast). AFAICS, there are 10
- * of these things; the first is our MAC address, the other 9 are mcast
- * addresses, padded with the MAC address if there aren't enough.
- * XXX - This doesn't work right, but I'm not sure why yet. We seem to be
- * XXX - doing much the same as the Linux code, which is weird enough that
- * XXX - it's probably right (despite my earlier comments to the contrary).
- * XXX - I wonder if this thing has a multicast hash filter like most other
- * XXX - Ethernet hardware seems to?
- */
-static void
-xe_setaddrs(struct xe_softc *scp) {
- struct ifmultiaddr *maddr;
- u_int8_t *addr;
- u_int8_t page, slot, byte, i;
-
- maddr = scp->arpcom.ac_if.if_multiaddrs.lh_first;
-
- XE_SELECT_PAGE(page = 0x50);
-
- for (slot = 0, byte = 8; slot < 10; slot++) {
-
- if (slot == 0)
- addr = (u_int8_t *)(&scp->arpcom.ac_enaddr);
- else {
- while (maddr != NULL && maddr->ifma_addr->sa_family != AF_LINK)
- maddr = maddr->ifma_link.le_next;
- if (maddr != NULL)
- addr = LLADDR((struct sockaddr_dl *)maddr->ifma_addr);
- else
- addr = (u_int8_t *)(&scp->arpcom.ac_enaddr);
- }
-
- for (i = 0; i < 6; i++, byte++) {
-#if XE_DEBUG > 1
- if (i)
- printf(":%x", addr[i]);
- else
- printf("xe%d: individual addresses %d: %x", scp->unit, slot, addr[0]);
-#endif
-
- if (byte > 15) {
- page++;
- byte = 8;
- XE_SELECT_PAGE(page);
- }
-
- if (scp->ce3)
- XE_OUTB(byte, addr[5 - i]);
- else
- XE_OUTB(byte, addr[i]);
- }
-#if XE_DEBUG > 1
- printf("\n");
-#endif
- }
-
- XE_SELECT_PAGE(0);
-}
-
-
-/*
- * Write an outgoing packet to the card using programmed I/O.
- */
-static int
-xe_pio_write_packet(struct xe_softc *scp, struct mbuf *mbp) {
- struct mbuf *mbp2;
- u_int16_t len, pad, free, ok;
- u_int8_t *data;
- u_int8_t savebyte[2], wantbyte;
-
- /* Get total packet length */
- for (len = 0, mbp2 = mbp; mbp2 != NULL; len += mbp2->m_len, mbp2 = mbp2->m_next);
-
- /* Packets < minimum length may need to be padded out */
- pad = 0;
- if (len < ETHER_MIN_LEN - ETHER_CRC_LEN) {
- pad = (ETHER_MIN_LEN - ETHER_CRC_LEN - len + 1) >> 1;
- len = ETHER_MIN_LEN - ETHER_CRC_LEN;
- }
-
- /* Check transmit buffer space */
- XE_SELECT_PAGE(0);
- XE_OUTW(XE_TRS, len+2);
- free = XE_INW(XE_TSO);
- ok = free & 0x8000;
- free &= 0x7fff;
- if (free <= len + 2)
- return 1;
-
- /* Send packet length to card */
- XE_OUTW(XE_EDP, len);
-
- /*
- * Write packet to card using PIO (code stolen from the ed driver)
- */
- wantbyte = 0;
- while (mbp != NULL) {
- len = mbp->m_len;
- if (len > 0) {
- data = mtod(mbp, caddr_t);
- if (wantbyte) { /* Finish the last word */
- savebyte[1] = *data;
- XE_OUTW(XE_EDP, *(u_short *)savebyte);
- data++;
- len--;
- wantbyte = 0;
- }
- if (len > 1) { /* Output contiguous words */
- outsw(scp->dev->id_iobase+XE_EDP, data, len >> 1);
- data += len & ~1;
- len &= 1;
- }
- if (len == 1) { /* Save last byte, if necessary */
- savebyte[0] = *data;
- wantbyte = 1;
- }
- }
- mbp = mbp->m_next;
- }
- if (wantbyte) /* Last byte for odd-length packets */
- XE_OUTW(XE_EDP, *(u_short *)savebyte);
-
- /*
- * For CE3 cards, just tell 'em to send -- apparently the card will pad out
- * short packets with random cruft. Otherwise, write nonsense words to fill
- * out the packet. I guess it is then sent automatically (?)
- */
- if (scp->ce3)
- XE_OUTB(XE_CR, XE_CR_TX_PACKET|XE_CR_ENABLE_INTR);
- else
- while (pad > 0) {
- XE_OUTW(XE_EDP, 0xdead);
- pad--;
- }
-
- return 0;
-}
-
-
-/*
- * The device entry is being removed, probably because someone ejected the
- * card. The interface should have been brought down manually before calling
- * this function; if not you may well lose packets. In any case, I shut down
- * the card and the interface, and hope for the best. The 'gone' flag is set,
- * so hopefully no-one else will try to access the missing card.
- */
-static void
-xe_card_unload(struct pccard_devinfo *devi) {
- struct xe_softc *scp;
- struct ifnet *ifp;
- int unit;
-
- unit = devi->isahd.id_unit;
- scp = sca[unit];
- ifp = &scp->arpcom.ac_if;
-
- if (scp->gone) {
- printf("xe%d: already unloaded\n", unit);
- return;
- }
-
- if_down(ifp);
- ifp->if_flags &= ~(IFF_RUNNING|IFF_OACTIVE);
- xe_stop(scp);
- scp->gone = 1;
-}
-
-
-
-/**************************************************************
- * *
- * M I I F U N C T I O N S *
- * *
- **************************************************************/
-
-/*
- * Alternative MII/PHY handling code adapted from the xl driver. It doesn't
- * seem to work any better than the xirc2_ps stuff, but it's cleaner code.
- */
-#define XE_MII_SET(x) XE_OUTB(XE_GPR2, (XE_INB(XE_GPR2) | 0x04) | (x))
-#define XE_MII_CLR(x) XE_OUTB(XE_GPR2, (XE_INB(XE_GPR2) | 0x04) & ~(x))
-
-
-/*
- * Sync the PHYs by setting data bit and strobing the clock 32 times.
- */
-static void
-xe_mii_sync(struct xe_softc *scp) {
- register int i;
-
- XE_SELECT_PAGE(2);
- XE_MII_SET(XE_MII_DIR|XE_MII_WRD);
-
- for (i = 0; i < 32; i++) {
- XE_MII_SET(XE_MII_CLK);
- DELAY(1);
- XE_MII_CLR(XE_MII_CLK);
- DELAY(1);
- }
-}
-
-
-/*
- * Look for a MII-compliant PHY. If we find one, reset it.
- */
-static int
-xe_mii_init(struct xe_softc *scp) {
- u_int16_t status;
-
- status = xe_phy_readreg(scp, PHY_BMSR);
- if ((status & 0xff00) != 0x7800) {
-#ifdef XE_DEBUG
- printf("xe%d: no PHY found, %0x\n", scp->unit, status);
-#endif
- return 0;
- }
- else {
-#ifdef XE_DEBUG
- printf("xe%d: PHY OK!\n", scp->unit);
-#endif
-
- /* Reset the PHY */
- xe_phy_writereg(scp, PHY_BMCR, PHY_BMCR_RESET);
- DELAY(500);
- while(xe_phy_readreg(scp, PHY_BMCR) & PHY_BMCR_RESET);
- XE_MII_DUMP(scp);
- return 1;
- }
-}
-
-
-/*
- * Clock a series of bits through the MII.
- */
-static void
-xe_mii_send(struct xe_softc *scp, u_int32_t bits, int cnt) {
- int i;
-
- XE_SELECT_PAGE(2);
- XE_MII_CLR(XE_MII_CLK);
-
- for (i = (0x1 << (cnt - 1)); i; i >>= 1) {
- if (bits & i) {
- XE_MII_SET(XE_MII_WRD);
- } else {
- XE_MII_CLR(XE_MII_WRD);
- }
- DELAY(1);
- XE_MII_CLR(XE_MII_CLK);
- DELAY(1);
- XE_MII_SET(XE_MII_CLK);
- }
-}
-
-
-/*
- * Read an PHY register through the MII.
- */
-static int
-xe_mii_readreg(struct xe_softc *scp, struct xe_mii_frame *frame) {
- int i, ack, s;
-
- s = splimp();
-
- /*
- * Set up frame for RX.
- */
- frame->mii_stdelim = XE_MII_STARTDELIM;
- frame->mii_opcode = XE_MII_READOP;
- frame->mii_turnaround = 0;
- frame->mii_data = 0;
-
- XE_SELECT_PAGE(2);
- XE_OUTB(XE_GPR2, 0);
-
- /*
- * Turn on data xmit.
- */
- XE_MII_SET(XE_MII_DIR);
-
- xe_mii_sync(scp);
-
- /*
- * Send command/address info.
- */
- xe_mii_send(scp, frame->mii_stdelim, 2);
- xe_mii_send(scp, frame->mii_opcode, 2);
- xe_mii_send(scp, frame->mii_phyaddr, 5);
- xe_mii_send(scp, frame->mii_regaddr, 5);
-
- /* Idle bit */
- XE_MII_CLR((XE_MII_CLK|XE_MII_WRD));
- DELAY(1);
- XE_MII_SET(XE_MII_CLK);
- DELAY(1);
-
- /* Turn off xmit. */
- XE_MII_CLR(XE_MII_DIR);
-
- /* Check for ack */
- XE_MII_CLR(XE_MII_CLK);
- DELAY(1);
- XE_MII_SET(XE_MII_CLK);
- DELAY(1);
- ack = XE_INB(XE_GPR2) & XE_MII_RDD;
-
- /*
- * Now try reading data bits. If the ack failed, we still
- * need to clock through 16 cycles to keep the PHY(s) in sync.
- */
- if (ack) {
- for(i = 0; i < 16; i++) {
- XE_MII_CLR(XE_MII_CLK);
- DELAY(1);
- XE_MII_SET(XE_MII_CLK);
- DELAY(1);
- }
- goto fail;
- }
-
- for (i = 0x8000; i; i >>= 1) {
- XE_MII_CLR(XE_MII_CLK);
- DELAY(1);
- if (!ack) {
- if (XE_INB(XE_GPR2) & XE_MII_RDD)
- frame->mii_data |= i;
- DELAY(1);
- }
- XE_MII_SET(XE_MII_CLK);
- DELAY(1);
- }
-
-fail:
-
- XE_MII_CLR(XE_MII_CLK);
- DELAY(1);
- XE_MII_SET(XE_MII_CLK);
- DELAY(1);
-
- splx(s);
-
- if (ack)
- return(1);
- return(0);
-}
-
-
-/*
- * Write to a PHY register through the MII.
- */
-static int
-xe_mii_writereg(struct xe_softc *scp, struct xe_mii_frame *frame) {
- int s;
-
- s = splimp();
-
- /*
- * Set up frame for TX.
- */
- frame->mii_stdelim = XE_MII_STARTDELIM;
- frame->mii_opcode = XE_MII_WRITEOP;
- frame->mii_turnaround = XE_MII_TURNAROUND;
-
- XE_SELECT_PAGE(2);
-
- /*
- * Turn on data output.
- */
- XE_MII_SET(XE_MII_DIR);
-
- xe_mii_sync(scp);
-
- xe_mii_send(scp, frame->mii_stdelim, 2);
- xe_mii_send(scp, frame->mii_opcode, 2);
- xe_mii_send(scp, frame->mii_phyaddr, 5);
- xe_mii_send(scp, frame->mii_regaddr, 5);
- xe_mii_send(scp, frame->mii_turnaround, 2);
- xe_mii_send(scp, frame->mii_data, 16);
-
- /* Idle bit. */
- XE_MII_SET(XE_MII_CLK);
- DELAY(1);
- XE_MII_CLR(XE_MII_CLK);
- DELAY(1);
-
- /*
- * Turn off xmit.
- */
- XE_MII_CLR(XE_MII_DIR);
-
- splx(s);
-
- return(0);
-}
-
-
-/*
- * Read a register from the PHY.
- */
-static u_int16_t
-xe_phy_readreg(struct xe_softc *scp, u_int16_t reg) {
- struct xe_mii_frame frame;
-
- bzero((char *)&frame, sizeof(frame));
-
- frame.mii_phyaddr = 0;
- frame.mii_regaddr = reg;
- xe_mii_readreg(scp, &frame);
-
- return(frame.mii_data);
-}
-
-
-/*
- * Write to a PHY register.
- */
-static void
-xe_phy_writereg(struct xe_softc *scp, u_int16_t reg, u_int16_t data) {
- struct xe_mii_frame frame;
-
- bzero((char *)&frame, sizeof(frame));
-
- frame.mii_phyaddr = 0;
- frame.mii_regaddr = reg;
- frame.mii_data = data;
- xe_mii_writereg(scp, &frame);
-
- return;
-}
-
-
-#ifdef XE_DEBUG
-/*
- * A bit of debugging code.
- */
-static void
-xe_mii_dump(struct xe_softc *scp) {
- int i, s;
-
- s = splimp();
-
- printf("xe%d: MII registers: ", scp->unit);
- for (i = 0; i < 2; i++) {
- printf(" %d:%04x", i, xe_phy_readreg(scp, i));
- }
- for (i = 4; i < 7; i++) {
- printf(" %d:%04x", i, xe_phy_readreg(scp, i));
- }
- printf("\n");
-
- (void)splx(s);
-}
-
-static void
-xe_reg_dump(struct xe_softc *scp) {
- int page, i, s;
-
- s = splimp();
-
- printf("xe%d: Common registers: ", scp->unit);
- for (i = 0; i < 8; i++) {
- printf(" %2.2x", XE_INB(i));
- }
- printf("\n");
-
- for (page = 0; page <= 8; page++) {
- printf("xe%d: Register page %2.2x: ", scp->unit, page);
- XE_SELECT_PAGE(page);
- for (i = 8; i < 16; i++) {
- printf(" %2.2x", XE_INB(i));
- }
- printf("\n");
- }
-
- for (page = 0x10; page < 0x5f; page++) {
- if ((page >= 0x11 && page <= 0x3f) ||
- (page == 0x41) ||
- (page >= 0x43 && page <= 0x4f) ||
- (page >= 0x59))
- continue;
- printf("xe%d: Register page %2.2x: ", scp->unit, page);
- XE_SELECT_PAGE(page);
- for (i = 8; i < 16; i++) {
- printf(" %2.2x", XE_INB(i));
- }
- printf("\n");
- }
-
- (void)splx(s);
-}
-#endif
-
-
-
-#if NAPM > 0
-/**************************************************************
- * *
- * A P M F U N C T I O N S *
- * *
- **************************************************************/
-
-/*
- * This is called when we go into suspend/standby mode
- */
-static int
-xe_suspend(void *xunit) {
-
-#ifdef XE_DEBUG
- struct xe_softc *scp = sca[(int)xunit];
-
- printf("xe%d: APM suspend\n", scp->unit);
-#endif
-
- return 0;
-}
-
-/*
- * This is called when we wake up again
- */
-static int
-xe_resume(void *xunit) {
-
-#ifdef XE_DEBUG
- struct xe_softc *scp = sca[(int)xunit];
-
- printf("xe%d: APM resume\n", scp->unit);
-#endif
-
- return 0;
-}
-
-#endif /* NAPM > 0 */
-
-#endif /* NCARD > 0 */
-
-#endif /* NXE > 0 */
diff --git a/sys/dev/pccard/if_xereg.h b/sys/dev/pccard/if_xereg.h
deleted file mode 100644
index 07cb0b1bbb59..000000000000
--- a/sys/dev/pccard/if_xereg.h
+++ /dev/null
@@ -1,296 +0,0 @@
-/*-
- * Copyright (c) 1998, 1999 Scott Mitchell
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $Id: if_xereg.h,v 1.3 1999/02/22 14:00:53 root Exp $
- */
-
-/*
- * Register definitions for Xircom CreditCard Ethernet adapters. See if_xe.c
- * for details of supported hardware. Adapted from Werner Koch's 'xirc2ps'
- * driver for Linux and the FreeBSD 'xl' driver (for the MII support).
- */
-
-#include "xe.h"
-#if NXE > 0
-
-
-/*
- * Common registers
- */
-#define XE_CR 0 /* Command register (write) */
-#define XE_ESR 0 /* Ethernet status register (read) */
-#define XE_PSR 1 /* Page select register */
-#define XE_EDP 4 /* Ethernet data port */
-#define XE_ISR 6 /* Interrupt status register */
-
-/*
- * Command register values
- */
-#define XE_CR_TX_PACKET 0x01
-#define XE_CR_SOFT_RESET 0x02
-#define XE_CR_ENABLE_INTR 0x04
-#define XE_CR_FORCE_INTR 0x08
-#define XE_CR_CLEAR_FIFO 0x10
-#define XE_CR_CLEAR_OVERRUN 0x20
-#define XE_CR_RESTART_TX 0x40
-
-/*
- * Status register values
- */
-#define XE_ESR_FULL_PKT_RX 0x01
-#define XE_ESR_PKT_REJECT 0x04
-#define XE_ESR_TX_PENDING 0x08
-#define XE_ESR_BAD_POLARITY 0x10
-#define XE_ESR_MEDIA_SELECT 0x20
-
-/*
- * Interrupt register values
- */
-#define XE_ISR_TX_OVERFLOW 0x01
-#define XE_ISR_TX_PACKET 0x02
-#define XE_ISR_MAC_INTR 0x04
-#define XE_ISR_TX_RES 0x08
-#define XE_ISR_RX_PACKET 0x20
-#define XE_ISR_RX_REJECT 0x40
-#define XE_ISR_FORCE_INTR 0x80
-
-
-/*
- * Page 0 registers
- */
-#define XE_TSO 8 /* Transmit space open */
-#define XE_TRS 10 /* Transmit reservation size */
-#define XE_DOR 12 /* Data offset register (write) */
-#define XE_RSR 12 /* Receive status register (read) */
-#define XE_PTR 13 /* Packets transmitted register (read) */
-#define XE_RBC 14 /* Received byte count (read) */
-
-/*
- * RSR values
- */
-#define XE_RSR_PHYS_PKT 0x01
-#define XE_RSR_BCAST_PKT 0x02
-#define XE_RSR_LONG_PKT 0x04
-#define XE_RSR_ALIGN_ERR 0x10
-#define XE_RSR_CRC_ERR 0x20
-#define XE_RSR_RX_OK 0x80
-
-
-/*
- * Page 1 registers
- */
-#define XE_IMR0 12 /* Interrupt mask register, part 1 */
-#define XE_IMR1 13 /* Interrupt mask register, part 2 */
-#define XE_ECR 14 /* Ethernet configuration register */
-
-/*
- * ECR values
- */
-#define XE_ECR_FULL_DUPLEX 0x04
-#define XE_ECR_LONG_TPCABLE 0x08
-#define XE_ECR_NO_POLCOL 0x10
-#define XE_ECR_NO_LINKPULSE 0x20
-#define XE_ECR_NO_AUTOTX 0x40
-
-
-/*
- * Page 2 registers
- */
-#define XE_RBS 8 /* Receive buffer start */
-#define XE_LED 10 /* LED configuration register */
-#define XE_MSR 12 /* Mohawk specfic register (Mohawk = CE3) */
-#define XE_GPR2 13 /* General purpose register 2 */
-
-
-/*
- * Page 4 registers
- */
-#define XE_GPR0 8 /* General purpose register 0 */
-#define XE_GPR1 9 /* General purpose register 1 */
-#define XE_BOV 10 /* Bonding version register */
-#define XE_LMA 12 /* Local memory address */
-#define XE_LMD 14 /* Local memory data */
-
-
-/*
- * Page 5 registers
- */
-#define XE_RHS 10 /* Receive host start address */
-
-
-/*
- * Page 0x40 registers
- */
-#define XE_OCR 8 /* The Other command register */
-#define XE_RXS0 9 /* Receive status 0 */
-#define XE_TXS0 11 /* Transmit status 0 */
-#define XE_TXS1 12 /* Transmit status 1 */
-#define XE_RXM0 13 /* Receive mask register 0 */
-#define XE_TXM0 14 /* Transmit mask register 0 */
-#define XE_TXM1 15 /* Transmit mask register 1 */
-
-/*
- * OCR values
- */
-#define XE_OCR_TX 0x01
-#define XE_OCR_RX_ENABLE 0x04
-#define XE_OCR_RX_DISABLE 0x08
-#define XE_OCR_ABORT 0x10
-#define XE_OCR_ONLINE 0x20
-#define XE_OCR_ACK_INTR 0x40
-#define XE_OCR_OFFLINE 0x80
-
-
-/*
- * Page 0x42 registers
- */
-#define XE_SWC0 8 /* Software configuration register 0 */
-#define XE_SWC1 9 /* Software configuration register 1 */
-#define XE_BOC 10 /* Back-off configuration */
-
-
-/*
- * Page 0x44 registers
- */
-#define XE_TDR0 8 /* Time domain reflectometry register 0 */
-#define XE_TDR1 9 /* Time domain reflectometry register 1 */
-#define XE_RXC0 10 /* Receive byte count low */
-#define XE_RXC1 11 /* Receive byte count high */
-
-
-/*
- * Page 0x45 registers
- */
-#define XE_REV 15 /* Revision (read) */
-
-
-/*
- * Page 0x50 registers
- */
-#define XE_IAR 8 /* Individual address register */
-
-
-/*
- * Pages 0x43, 0x46-0x4f and 0x51-0x5e apparently don't exist.
- * The remainder of 0x0-0x8 and 0x40-0x5f exist, but I have no
- * idea what's on most of them.
- */
-
-
-
-/*
- * Definitions for the Micro Linear ML6692 100Base-TX PHY, which handles the
- * 100Mbit functionality of CE3 type cards, including media autonegotiation.
- * It appears to be mostly compatible with the National Semiconductor
- * DP83840A, but with a much smaller register set. Please refer to the data
- * sheets for these devices for the definitive word on what all this stuff
- * means :)
- *
- * Note that the ML6692 has no 10Mbit capability -- that is handled by another
- * chip that we don't know anything about.
- *
- * Most of these definitions were adapted from the xl driver.
- */
-
-/*
- * Masks for the MII-related bits in GPR2. For some reason read and write
- * data are on separate bits.
- */
-#define XE_MII_CLK 0x01
-#define XE_MII_DIR 0x08
-#define XE_MII_WRD 0x02
-#define XE_MII_RDD 0x20
-
-/*
- * MII command (etc) bit strings.
- */
-#define XE_MII_STARTDELIM 0x01
-#define XE_MII_READOP 0x02
-#define XE_MII_WRITEOP 0x01
-#define XE_MII_TURNAROUND 0x02
-
-/*
- * PHY registers.
- */
-#define PHY_BMCR 0x00 /* Basic Mode Control Register */
-#define PHY_BMSR 0x01 /* Basic Mode Status Register */
-#define PHY_ANAR 0x04 /* Auto-Negotiation Advertisment Register */
-#define PHY_LPAR 0x05 /* Auto-Negotiation Link Partner Ability Register */
-#define PHY_ANER 0x06 /* Auto-Negotiation Expansion Register */
-
-#define PHY_BMCR_RESET 0x8000 /* Soft reset PHY. Self-clearing */
-#define PHY_BMCR_LOOPBK 0x4000 /* Enable loopback */
-#define PHY_BMCR_SPEEDSEL 0x2000 /* 1=100Mbps, 0=10Mbps */
-#define PHY_BMCR_AUTONEGENBL 0x1000 /* Auto-negotiation enabled */
-#define PHY_BMCR_ISOLATE 0x0400 /* Isolate ML6692 from MII */
-#define PHY_BMCR_AUTONEGRSTR 0x0200 /* Restart auto-negotiation. Self-clearing */
-#define PHY_BMCR_DUPLEX 0x0100 /* Full duplex operation */
-#define PHY_BMCR_COLLTEST 0x0080 /* Enable collision test */
-
-#define PHY_BMSR_100BT4 0x8000 /* 100Base-T4 capable */
-#define PHY_BMSR_100BTXFULL 0x4000 /* 100Base-TX full duplex capable */
-#define PHY_BMSR_100BTXHALF 0x2000 /* 100Base-TX half duplex capable */
-#define PHY_BMSR_10BTFULL 0x1000 /* 10Base-T full duplex capable */
-#define PHY_BMSR_10BTHALF 0x0800 /* 10Base-T half duplex capable */
-#define PHY_BMSR_AUTONEGCOMP 0x0020 /* Auto-negotiation complete */
-#define PHY_BMSR_CANAUTONEG 0x0008 /* Auto-negotiation supported */
-#define PHY_BMSR_LINKSTAT 0x0004 /* Link is up */
-#define PHY_BMSR_EXTENDED 0x0001 /* Extended register capabilities */
-
-#define PHY_ANAR_NEXTPAGE 0x8000 /* Additional link code word pages */
-#define PHY_ANAR_TLRFLT 0x2000 /* Remote wire fault detected */
-#define PHY_ANAR_100BT4 0x0200 /* 100Base-T4 capable */
-#define PHY_ANAR_100BTXFULL 0x0100 /* 100Base-TX full duplex capable */
-#define PHY_ANAR_100BTXHALF 0x0080 /* 100Base-TX half duplex capable */
-#define PHY_ANAR_10BTFULL 0x0040 /* 10Base-T full duplex capable */
-#define PHY_ANAR_10BTHALF 0x0020 /* 10Base-T half duplex capable */
-#define PHY_ANAR_PROTO4 0x0010 /* Protocol selection (00001 = 802.3) */
-#define PHY_ANAR_PROTO3 0x0008
-#define PHY_ANAR_PROTO2 0x0004
-#define PHY_ANAR_PROTO1 0x0002
-#define PHY_ANAR_PROTO0 0x0001
-
-#define PHY_LPAR_NEXTPAGE 0x8000 /* Additional link code word pages */
-#define PHY_LPAR_LPACK 0x4000 /* Link partner acknowledged receipt */
-#define PHY_LPAR_TLRFLT 0x2000 /* Remote wire fault detected */
-#define PHY_LPAR_100BT4 0x0200 /* 100Base-T4 capable */
-#define PHY_LPAR_100BTXFULL 0x0100 /* 100Base-TX full duplex capable */
-#define PHY_LPAR_100BTXHALF 0x0080 /* 100Base-TX half duplex capable */
-#define PHY_LPAR_10BTFULL 0x0040 /* 10Base-T full duplex capable */
-#define PHY_LPAR_10BTHALF 0x0020 /* 10Base-T half duplex capable */
-#define PHY_LPAR_PROTO4 0x0010 /* Protocol selection (00001 = 802.3) */
-#define PHY_LPAR_PROTO3 0x0008
-#define PHY_LPAR_PROTO2 0x0004
-#define PHY_LPAR_PROTO1 0x0002
-#define PHY_LPAR_PROTO0 0x0001
-
-#define PHY_ANER_MLFAULT 0x0010 /* More than one link is up! */
-#define PHY_ANER_LPNPABLE 0x0008 /* Link partner supports next page */
-#define PHY_ANER_NPABLE 0x0004 /* Local port supports next page */
-#define PHY_ANER_PAGERX 0x0002 /* Page received */
-#define PHY_ANER_LPAUTONEG 0x0001 /* Link partner can auto-negotiate */
-
-
-#endif /* NXE > 0 */
diff --git a/sys/i386/eisa/ahc_eisa.c b/sys/i386/eisa/ahc_eisa.c
index cdfd7b9704f6..419330d6386b 100644
--- a/sys/i386/eisa/ahc_eisa.c
+++ b/sys/i386/eisa/ahc_eisa.c
@@ -26,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: ahc_eisa.c,v 1.4 1998/12/15 08:24:45 gibbs Exp $
+ * $Id: ahc_eisa.c,v 1.4.2.1 1999/03/07 00:41:38 gibbs Exp $
*/
#include "eisa.h"
@@ -61,14 +61,14 @@
#define AHC_EISA_IOSIZE 0x100
#define INTDEF 0x5cul /* Interrupt Definition Register */
-static int aic7770probe(void);
-static int aic7770_attach(struct eisa_device *e_dev);
+static int aic7770_probe(void);
+static int aic7770_attach(struct eisa_device *e_dev);
static void aha2840_load_seeprom(struct ahc_softc *ahc);
static struct eisa_driver ahc_eisa_driver =
{
"ahc",
- aic7770probe,
+ aic7770_probe,
aic7770_attach,
/*shutdown*/NULL,
&ahc_unit
@@ -79,8 +79,7 @@ DATA_SET (eisadriver_set, ahc_eisa_driver);
static const char *aic7770_match(eisa_id_t type);
static const char*
-aic7770_match(type)
- eisa_id_t type;
+aic7770_match(eisa_id_t type)
{
switch (type) {
case EISA_DEVICE_ID_ADAPTEC_AIC7770:
@@ -100,20 +99,20 @@ aic7770_match(type)
}
static int
-aic7770probe(void)
+aic7770_probe()
{
u_int32_t iobase;
u_int32_t irq;
u_int8_t intdef;
u_int8_t hcntrl;
struct eisa_device *e_dev;
- int count;
+ int count;
e_dev = NULL;
count = 0;
while ((e_dev = eisa_match_dev(e_dev, aic7770_match))) {
iobase = (e_dev->ioconf.slot * EISA_SLOT_SIZE)
- + AHC_EISA_SLOT_OFFSET;
+ + AHC_EISA_SLOT_OFFSET;
/* Pause the card preseving the IRQ type */
hcntrl = inb(iobase + HCNTRL) & IRQMS;
@@ -124,7 +123,7 @@ aic7770probe(void)
intdef = inb(INTDEF + iobase);
irq = intdef & 0xf;
switch (irq) {
- case 9:
+ case 9:
case 10:
case 11:
case 12:
@@ -134,7 +133,7 @@ aic7770probe(void)
default:
printf("aic7770 at slot %d: illegal "
"irq setting %d\n", e_dev->ioconf.slot,
- intdef);
+ intdef);
irq = 0;
break;
}
@@ -151,7 +150,7 @@ static int
aic7770_attach(struct eisa_device *e_dev)
{
ahc_chip chip;
-
+ bus_dma_tag_t parent_dmat;
struct ahc_softc *ahc;
resvaddr_t *iospace;
int unit = e_dev->unit;
@@ -180,15 +179,8 @@ aic7770_attach(struct eisa_device *e_dev)
default:
printf("aic7770_attach: Unknown device type!\n");
return -1;
- break;
}
- if (!(ahc = ahc_alloc(unit, iospace->addr, NULL,
- chip, AHC_AIC7770_FE, AHC_FNONE, NULL)))
- return -1;
-
- ahc->channel = 'A';
- ahc->channel_b = 'B';
/* XXX Should be a child of the EISA bus dma tag */
error = bus_dma_tag_create(/*parent*/NULL, /*alignment*/0,
/*boundary*/0,
@@ -198,15 +190,20 @@ aic7770_attach(struct eisa_device *e_dev)
/*maxsize*/MAXBSIZE,
/*nsegments*/AHC_NSEG,
/*maxsegsz*/AHC_MAXTRANSFER_SIZE,
- /*flags*/BUS_DMA_ALLOCNOW, &ahc->dmat);
+ /*flags*/BUS_DMA_ALLOCNOW, &parent_dmat);
if (error != 0) {
- printf("%s: Could not allocate DMA tag - error %d\n",
- ahc_name(ahc), error);
- ahc_free(ahc);
+ printf("ahc_eisa_attach: Could not allocate DMA tag "
+ "- error %d\n", error);
return -1;
}
+ if (!(ahc = ahc_alloc(unit, iospace->addr, NULL, parent_dmat,
+ chip, AHC_AIC7770_FE, AHC_FNONE, NULL)))
+ return -1;
+
+ ahc->channel = 'A';
+ ahc->channel_b = 'B';
eisa_reg_start(e_dev);
if (eisa_reg_iospace(e_dev, iospace)) {
@@ -224,7 +221,7 @@ aic7770_attach(struct eisa_device *e_dev)
* IRQ sharing if it's set.
*/
if (eisa_reg_intr(e_dev, irq, ahc_intr, (void *)ahc, &cam_imask,
- /*shared ==*/ahc->pause & IRQMS)) {
+ /*shared ==*/ahc->pause & IRQMS)) {
ahc_free(ahc);
return -1;
}
@@ -473,5 +470,4 @@ aha2840_load_seeprom(struct ahc_softc *ahc)
ahc->flags |= AHC_TERM_ENB_A;
}
}
-
#endif /* NEISA > 0 */
diff --git a/sys/i386/include/if_wavelan_ieee.h b/sys/i386/include/if_wavelan_ieee.h
deleted file mode 100644
index f002933a9bdc..000000000000
--- a/sys/i386/include/if_wavelan_ieee.h
+++ /dev/null
@@ -1,281 +0,0 @@
-/*
- * Copyright (c) 1997, 1998, 1999
- * Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by Bill Paul.
- * 4. Neither the name of the author nor the names of any co-contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $Id: if_wavelan_ieee.h,v 1.4 1999/04/27 02:02:41 wpaul Exp $
- */
-
-#ifndef _IF_WAVELAN_IEEE_H
-#define _IF_WAVELAN_IEEE_H
-
-/*
- * This header defines a simple command interface to the FreeBSD
- * WaveLAN/IEEE driver (wi) driver, which is used to set certain
- * device-specific parameters which can't be easily managed through
- * ifconfig(8). No, sysctl(2) is not the answer. I said a _simple_
- * interface, didn't I.
- */
-
-#ifndef SIOCSWAVELAN
-#define SIOCSWAVELAN SIOCSIFGENERIC
-#endif
-
-#ifndef SIOCGWAVELAN
-#define SIOCGWAVELAN SIOCGIFGENERIC
-#endif
-
-/*
- * Technically I don't think there's a limit to a record
- * length. The largest record is the one that contains the CIS
- * data, which is 240 words long, so 256 should be a safe
- * value.
- */
-#define WI_MAX_DATALEN 512
-
-struct wi_req {
- u_int16_t wi_len;
- u_int16_t wi_type;
- u_int16_t wi_val[WI_MAX_DATALEN];
-};
-
-/*
- * Private LTV records (interpreted only by the driver). This is
- * a minor kludge to allow reading the interface statistics from
- * the driver.
- */
-#define WI_RID_IFACE_STATS 0x0100
-#define WI_RID_MGMT_XMIT 0x0200
-
-struct wi_80211_hdr {
- u_int16_t frame_ctl;
- u_int16_t dur_id;
- u_int8_t addr1[6];
- u_int8_t addr2[6];
- u_int8_t addr3[6];
- u_int16_t seq_ctl;
- u_int8_t addr4[6];
-};
-
-#define WI_FCTL_VERS 0x0002
-#define WI_FCTL_FTYPE 0x000C
-#define WI_FCTL_STYPE 0x00F0
-#define WI_FCTL_TODS 0x0100
-#define WI_FCTL_FROMDS 0x0200
-#define WI_FCTL_MOREFRAGS 0x0400
-#define WI_FCTL_RETRY 0x0800
-#define WI_FCTL_PM 0x1000
-#define WI_FCTL_MOREDATA 0x2000
-#define WI_FCTL_WEP 0x4000
-#define WI_FCTL_ORDER 0x8000
-
-#define WI_FTYPE_MGMT 0x0000
-#define WI_FTYPE_CTL 0x0004
-#define WI_FTYPE_DATA 0x0008
-
-#define WI_STYPE_MGMT_ASREQ 0x0000 /* association request */
-#define WI_STYPE_MGMT_ASRESP 0x0010 /* association response */
-#define WI_STYPE_MGMT_REASREQ 0x0020 /* reassociation request */
-#define WI_STYPE_MGMT_REASRESP 0x0030 /* reassociation response */
-#define WI_STYPE_MGMT_PROBEREQ 0x0040 /* probe request */
-#define WI_STYPE_MGMT_PROBERESP 0x0050 /* probe response */
-#define WI_STYPE_MGMT_BEACON 0x0080 /* beacon */
-#define WI_STYPE_MGMT_ATIM 0x0090 /* announcement traffic ind msg */
-#define WI_STYPE_MGMT_DISAS 0x00A0 /* disassociation */
-#define WI_STYPE_MGMT_AUTH 0x00B0 /* authentication */
-#define WI_STYPE_MGMT_DEAUTH 0x00C0 /* deauthentication */
-
-struct wi_mgmt_hdr {
- u_int16_t frame_ctl;
- u_int16_t duration;
- u_int8_t dst_addr[6];
- u_int8_t src_addr[6];
- u_int8_t bssid[6];
- u_int16_t seq_ctl;
-};
-
-#ifndef KERNEL
-struct wi_counters {
- u_int32_t wi_tx_unicast_frames;
- u_int32_t wi_tx_multicast_frames;
- u_int32_t wi_tx_fragments;
- u_int32_t wi_tx_unicast_octets;
- u_int32_t wi_tx_multicast_octets;
- u_int32_t wi_tx_deferred_xmits;
- u_int32_t wi_tx_single_retries;
- u_int32_t wi_tx_multi_retries;
- u_int32_t wi_tx_retry_limit;
- u_int32_t wi_tx_discards;
- u_int32_t wi_rx_unicast_frames;
- u_int32_t wi_rx_multicast_frames;
- u_int32_t wi_rx_fragments;
- u_int32_t wi_rx_unicast_octets;
- u_int32_t wi_rx_multicast_octets;
- u_int32_t wi_rx_fcs_errors;
- u_int32_t wi_rx_discards_nobuf;
- u_int32_t wi_tx_discards_wrong_sa;
- u_int32_t wi_rx_WEP_cant_decrypt;
- u_int32_t wi_rx_msg_in_msg_frags;
- u_int32_t wi_rx_msg_in_bad_msg_frags;
-};
-
-/*
- * These are all the LTV record types that we can read or write
- * from the WaveLAN. Not all of them are temendously useful, but I
- * list as many as I know about here for completeness.
- */
-
-#define WI_RID_DNLD_BUF 0xFD01
-#define WI_RID_MEMSZ 0xFD02
-#define WI_RID_DOMAINS 0xFD11
-#define WI_RID_CIS 0xFD13
-#define WI_RID_COMMQUAL 0xFD43
-#define WI_RID_SCALETHRESH 0xFD46
-#define WI_RID_PCF 0xFD87
-
-/*
- * Network parameters, static configuration entities.
- */
-#define WI_RID_PORTTYPE 0xFC00 /* Connection control characteristics */
-#define WI_RID_MAC_NODE 0xFC01 /* MAC address of this station */
-#define WI_RID_DESIRED_SSID 0xFC02 /* Service Set ID for connection */
-#define WI_RID_OWN_CHNL 0xFC03 /* Comm channel for BSS creation */
-#define WI_RID_OWN_SSID 0xFC04 /* IBSS creation ID */
-#define WI_RID_OWN_ATIM_WIN 0xFC05 /* ATIM window time for IBSS creation */
-#define WI_RID_SYSTEM_SCALE 0xFC06 /* scale that specifies AP density */
-#define WI_RID_MAX_DATALEN 0xFC07 /* Max len of MAC frame body data */
-#define WI_RID_MAC_WDS 0xFC08 /* MAC addr of corresponding WDS node */
-#define WI_RID_PM_ENABLED 0xFC09 /* ESS power management enable */
-#define WI_RID_PM_EPS 0xFC0A /* PM EPS/PS mode */
-#define WI_RID_MCAST_RX 0xFC0B /* ESS PM mcast reception */
-#define WI_RID_MAX_SLEEP 0xFC0C /* max sleep time for ESS PM */
-#define WI_RID_HOLDOVER 0xFC0D /* holdover time for ESS PM */
-#define WI_RID_NODENAME 0xFC0E /* ID name of this node for diag */
-#define WI_RID_DTIM_PERIOD 0xFC10 /* beacon interval between DTIMs */
-#define WI_RID_WDS_ADDR1 0xFC11 /* port 1 MAC of WDS link node */
-#define WI_RID_WDS_ADDR2 0xFC12 /* port 1 MAC of WDS link node */
-#define WI_RID_WDS_ADDR3 0xFC13 /* port 1 MAC of WDS link node */
-#define WI_RID_WDS_ADDR4 0xFC14 /* port 1 MAC of WDS link node */
-#define WI_RID_WDS_ADDR5 0xFC15 /* port 1 MAC of WDS link node */
-#define WI_RID_WDS_ADDR6 0xFC16 /* port 1 MAC of WDS link node */
-#define WI_RID_MCAST_PM_BUF 0xFC17 /* PM buffering of mcast */
-
-/*
- * Network parameters, dynamic configuration entities
- */
-#define WI_RID_MCAST_LIST 0xFC80 /* list of multicast addrs */
-#define WI_RID_CREATE_IBSS 0xFC81 /* create IBSS */
-#define WI_RID_FRAG_THRESH 0xFC82 /* frag len, unicast msg xmit */
-#define WI_RID_RTS_THRESH 0xFC83 /* frame len for RTS/CTS handshake */
-#define WI_RID_TX_RATE 0xFC84 /* data rate for message xmit */
-#define WI_RID_PROMISC 0xFC85 /* enable promisc mode */
-#define WI_RID_FRAG_THRESH0 0xFC90
-#define WI_RID_FRAG_THRESH1 0xFC91
-#define WI_RID_FRAG_THRESH2 0xFC92
-#define WI_RID_FRAG_THRESH3 0xFC93
-#define WI_RID_FRAG_THRESH4 0xFC94
-#define WI_RID_FRAG_THRESH5 0xFC95
-#define WI_RID_FRAG_THRESH6 0xFC96
-#define WI_RID_RTS_THRESH0 0xFC97
-#define WI_RID_RTS_THRESH1 0xFC98
-#define WI_RID_RTS_THRESH2 0xFC99
-#define WI_RID_RTS_THRESH3 0xFC9A
-#define WI_RID_RTS_THRESH4 0xFC9B
-#define WI_RID_RTS_THRESH5 0xFC9C
-#define WI_RID_RTS_THRESH6 0xFC9D
-#define WI_RID_TX_RATE0 0xFC9E
-#define WI_RID_TX_RATE1 0xFC9F
-#define WI_RID_TX_RATE2 0xFCA0
-#define WI_RID_TX_RATE3 0xFCA1
-#define WI_RID_TX_RATE4 0xFCA2
-#define WI_RID_TX_RATE5 0xFCA3
-#define WI_RID_TX_RATE6 0xFCA4
-#define WI_RID_TICK_TIME 0xFCE0
-
-/*
- * NIC information
- */
-#define WI_RID_FIRM_ID 0xFD02 /* Primary func firmware ID. */
-#define WI_RID_PRI_SUP_RANGE 0xFD03 /* primary supplier compatibility */
-#define WI_RID_CIF_ACT_RANGE 0xFD04 /* controller sup. compatibility */
-#define WI_RID_SERIALNO 0xFD0A /* card serial number */
-#define WI_RID_CARD_ID 0xFD0B /* card identification */
-#define WI_RID_MFI_SUP_RANGE 0xFD0C /* modem supplier compatibility */
-#define WI_RID_CFI_SUP_RANGE 0xFD0D /* controller sup. compatibility */
-#define WI_RID_CHANNEL_LIST 0xFD10 /* allowd comm. frequencies. */
-#define WI_RID_REG_DOMAINS 0xFD11 /* list of intendted regulatory doms */
-#define WI_RID_TEMP_TYPE 0xFD12 /* hw temp range code */
-#define WI_RID_CIS 0xFD13 /* PC card info struct */
-#define WI_RID_STA_IDENEITY 0xFD20 /* station funcs firmware ident */
-#define WI_RID_STA_SUP_RANGE 0xFD21 /* station supplier compat */
-#define WI_RID_MFI_ACT_RANGE 0xFD22
-#define WI_RID_CFI_ACT_RANGE 0xFD33
-
-/*
- * MAC information
- */
-#define WI_RID_PORT_STAT 0xFD40 /* actual MAC port con control stat */
-#define WI_RID_CURRENT_SSID 0xFD41 /* ID of actually connected SS */
-#define WI_RID_CURRENT_BSSID 0xFD42 /* ID of actually connected BSS */
-#define WI_RID_COMMS_QUALITY 0xFD43 /* quality of BSS connection */
-#define WI_RID_CUR_TX_RATE 0xFD44 /* current TX rate */
-#define WI_RID_OWN_BEACON_INT 0xFD45 /* beacon xmit time for BSS creation */
-#define WI_RID_CUR_SCALE_THRESH 0xFD46 /* actual system scane thresh setting */
-#define WI_RID_PROT_RESP_TIME 0xFD47 /* time to wait for resp to req msg */
-#define WI_RID_SHORT_RTR_LIM 0xFD48 /* max tx attempts for short frames */
-#define WI_RID_LONG_RTS_LIM 0xFD49 /* max tx attempts for long frames */
-#define WI_RID_MAX_TX_LIFE 0xFD4A /* max tx frame handling duration */
-#define WI_RID_MAX_RX_LIFE 0xFD4B /* max rx frame handling duration */
-#define WI_RID_CF_POLL 0xFD4C /* contention free pollable ind */
-#define WI_RID_AUTH_ALGS 0xFD4D /* auth algorithms available */
-#define WI_RID_AUTH_TYPE 0xFD4E /* availanle auth types */
-#define WI_RID_WEP_AVAIL 0xFD4F /* WEP privacy option available */
-#define WI_RID_CUR_TX_RATE1 0xFD80
-#define WI_RID_CUR_TX_RATE2 0xFD81
-#define WI_RID_CUR_TX_RATE3 0xFD82
-#define WI_RID_CUR_TX_RATE4 0xFD83
-#define WI_RID_CUR_TX_RATE5 0xFD84
-#define WI_RID_CUR_TX_RATE6 0xFD85
-#define WI_RID_OWN_MAC 0xFD86 /* unique local MAC addr */
-#define WI_RID_PCI_INFO 0xFD87 /* point coordination func cap */
-
-/*
- * Modem information
- */
-#define WI_RID_PHY_TYPE 0xFDC0 /* phys layer type indication */
-#define WI_RID_CURRENT_CHAN 0xFDC1 /* current frequency */
-#define WI_RID_PWR_STATE 0xFDC2 /* pwr consumption status */
-#define WI_RID_CCA_MODE 0xFDC3 /* clear chan assess mode indication */
-#define WI_RID_CCA_TIME 0xFDC4 /* clear chan assess time */
-#define WI_RID_MAC_PROC_DELAY 0xFDC5 /* MAC processing delay time */
-#define WI_RID_DATA_RATES 0xFDC6 /* supported data rates */
-#endif
-
-
-#endif
diff --git a/sys/i386/isa/if_wireg.h b/sys/i386/isa/if_wireg.h
deleted file mode 100644
index 8c9c6e6797c5..000000000000
--- a/sys/i386/isa/if_wireg.h
+++ /dev/null
@@ -1,599 +0,0 @@
-/*
- * Copyright (c) 1997, 1998, 1999
- * Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by Bill Paul.
- * 4. Neither the name of the author nor the names of any co-contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $Id: if_wireg.h,v 1.31 1999/05/07 03:14:21 wpaul Exp $
- */
-
-struct wi_counters {
- u_int32_t wi_tx_unicast_frames;
- u_int32_t wi_tx_multicast_frames;
- u_int32_t wi_tx_fragments;
- u_int32_t wi_tx_unicast_octets;
- u_int32_t wi_tx_multicast_octets;
- u_int32_t wi_tx_deferred_xmits;
- u_int32_t wi_tx_single_retries;
- u_int32_t wi_tx_multi_retries;
- u_int32_t wi_tx_retry_limit;
- u_int32_t wi_tx_discards;
- u_int32_t wi_rx_unicast_frames;
- u_int32_t wi_rx_multicast_frames;
- u_int32_t wi_rx_fragments;
- u_int32_t wi_rx_unicast_octets;
- u_int32_t wi_rx_multicast_octets;
- u_int32_t wi_rx_fcs_errors;
- u_int32_t wi_rx_discards_nobuf;
- u_int32_t wi_tx_discards_wrong_sa;
- u_int32_t wi_rx_WEP_cant_decrypt;
- u_int32_t wi_rx_msg_in_msg_frags;
- u_int32_t wi_rx_msg_in_bad_msg_frags;
-};
-
-struct wi_softc {
- struct arpcom arpcom;
- struct ifmedia ifmedia;
- int wi_unit;
- bus_space_handle_t wi_bhandle;
- bus_space_tag_t wi_btag;
- int wi_tx_data_id;
- int wi_tx_mgmt_id;
- int wi_gone;
- int wi_if_flags;
- u_int16_t wi_ptype;
- u_int16_t wi_portnum;
- u_int16_t wi_max_data_len;
- u_int16_t wi_rts_thresh;
- u_int16_t wi_ap_density;
- u_int16_t wi_tx_rate;
- u_int16_t wi_create_ibss;
- u_int16_t wi_channel;
- u_int16_t wi_pm_enabled;
- u_int16_t wi_max_sleep;
- char wi_node_name[32];
- char wi_net_name[32];
- char wi_ibss_name[32];
- u_int8_t wi_txbuf[1536];
- struct wi_counters wi_stats;
- struct callout_handle wi_stat_ch;
-};
-
-#define WI_TIMEOUT 65536
-
-#define WI_PORT0 0
-#define WI_PORT1 1
-#define WI_PORT2 2
-#define WI_PORT3 3
-#define WI_PORT4 4
-#define WI_PORT5 5
-
-/* Default port: 0 (only 0 exists on stations) */
-#define WI_DEFAULT_PORT (WI_PORT0 << 8)
-
-/* Default TX rate: 2Mbps, auto fallback */
-#define WI_DEFAULT_TX_RATE 3
-
-/* Default network name: ANY */
-#define WI_DEFAULT_NETNAME "ANY"
-
-#define WI_DEFAULT_AP_DENSITY 1
-
-#define WI_DEFAULT_RTS_THRESH 2347
-
-#define WI_DEFAULT_DATALEN 2304
-
-#define WI_DEFAULT_CREATE_IBSS 0
-
-#define WI_DEFAULT_PM_ENABLED 0
-
-#define WI_DEFAULT_MAX_SLEEP 100
-
-#define WI_DEFAULT_NODENAME "FreeBSD WaveLAN/IEEE node"
-
-#define WI_DEFAULT_IBSS "FreeBSD IBSS"
-
-#define WI_DEFAULT_CHAN 3
-
-/*
- * register space access macros
- */
-#define CSR_WRITE_4(sc, reg, val) \
- bus_space_write_4(sc->wi_btag, sc->wi_bhandle, reg, val)
-#define CSR_WRITE_2(sc, reg, val) \
- bus_space_write_2(sc->wi_btag, sc->wi_bhandle, reg, val)
-#define CSR_WRITE_1(sc, reg, val) \
- bus_space_write_1(sc->wi_btag, sc->wi_bhandle, reg, val)
-
-#define CSR_READ_4(sc, reg) \
- bus_space_read_4(sc->wi_btag, sc->wi_bhandle, reg)
-#define CSR_READ_2(sc, reg) \
- bus_space_read_2(sc->wi_btag, sc->wi_bhandle, reg)
-#define CSR_READ_1(sc, reg) \
- bus_space_read_1(sc->wi_btag, sc->wi_bhandle, reg)
-
-/*
- * The WaveLAN/IEEE cards contain an 802.11 MAC controller which Lucent
- * calls 'Hermes.' In typical fashion, getting documentation about this
- * controller is about as easy as squeezing blood from a stone. Here
- * is more or less what I know:
- *
- * - The Hermes controller is firmware driven, and the host interacts
- * with the Hermes via a firmware interface, which can change.
- *
- * - The Hermes is described in a document called: "Hermes Firmware
- * WaveLAN/IEEE Station Functions," document #010245, which of course
- * Lucent will not release without an NDA.
- *
- * - Lucent has created a library called HCF (Hardware Control Functions)
- * though which it wants developers to interact with the card. The HCF
- * is needlessly complex, ill conceived and badly documented. Actually,
- * the comments in the HCP code itself aren't bad, but the publically
- * available manual that comes with it is awful, probably due largely to
- * the fact that it has been emasculated in order to hide information
- * that Lucent wants to keep proprietary. The purpose of the HCF seems
- * to be to insulate the driver programmer from the Hermes itself so that
- * Lucent has an excuse not to release programming in for it.
- *
- * - Lucent only makes available documentation and code for 'HCF Light'
- * which is a stripped down version of HCF with certain features not
- * implemented, most notably support for 802.11 frames.
- *
- * - The HCF code which I have seen blows goats. Whoever decided to
- * use a 132 column format should be shot.
- *
- * Rather than actually use the Lucent HCF library, I have stripped all
- * the useful information from it and used it to create a driver in the
- * usual BSD form. Note: I don't want to hear anybody whining about the
- * fact that the Lucent code is GPLed and mine isn't. I did not actually
- * put any of Lucent's code in this driver: I only used it as a reference
- * to obtain information about the underlying hardware. The Hermes
- * programming interface is not GPLed, so bite me.
- */
-
-/*
- * Size of Hermes I/O space.
- */
-#define WI_IOSIZ 0x40
-
-/*
- * Hermes register definitions and what little I know about them.
- */
-
-/* Hermes command/status registers. */
-#define WI_COMMAND 0x00
-#define WI_PARAM0 0x02
-#define WI_PARAM1 0x04
-#define WI_PARAM2 0x06
-#define WI_STATUS 0x08
-#define WI_RESP0 0x0A
-#define WI_RESP1 0x0C
-#define WI_RESP2 0x0E
-
-/* Command register values. */
-#define WI_CMD_BUSY 0x8000 /* busy bit */
-#define WI_CMD_INI 0x0000 /* initialize */
-#define WI_CMD_ENABLE 0x0001 /* enable */
-#define WI_CMD_DISABLE 0x0002 /* disable */
-#define WI_CMD_DIAG 0x0003
-#define WI_CMD_ALLOC_MEM 0x000A /* allocate NIC memory */
-#define WI_CMD_TX 0x000B /* transmit */
-#define WI_CMD_NOTIFY 0x0010
-#define WI_CMD_INQUIRE 0x0011
-#define WI_CMD_ACCESS 0x0021
-#define WI_CMD_PROGRAM 0x0022
-
-#define WI_CMD_CODE_MASK 0x003F
-
-/*
- * Reclaim qualifier bit, applicable to the
- * TX and INQUIRE commands.
- */
-#define WI_RECLAIM 0x0100 /* reclaim NIC memory */
-
-/*
- * ACCESS command qualifier bits.
- */
-#define WI_ACCESS_READ 0x0000
-#define WI_ACCESS_WRITE 0x0100
-
-/*
- * PROGRAM command qualifier bits.
- */
-#define WI_PROGRAM_DISABLE 0x0000
-#define WI_PROGRAM_ENABLE_RAM 0x0100
-#define WI_PROGRAM_ENABLE_NVRAM 0x0200
-#define WI_PROGRAM_NVRAM 0x0300
-
-/* Status register values */
-#define WI_STAT_CMD_CODE 0x003F
-#define WI_STAT_DIAG_ERR 0x0100
-#define WI_STAT_INQ_ERR 0x0500
-#define WI_STAT_CMD_RESULT 0x7F00
-
-/* memory handle management registers */
-#define WI_INFO_FID 0x10
-#define WI_RX_FID 0x20
-#define WI_ALLOC_FID 0x22
-#define WI_TX_CMP_FID 0x24
-
-/*
- * Buffer Access Path (BAP) registers.
- * These are I/O channels. I believe you can use each one for
- * any desired purpose independently of the other. In general
- * though, we use BAP1 for reading and writing LTV records and
- * reading received data frames, and BAP0 for writing transmit
- * frames. This is a convention though, not a rule.
- */
-#define WI_SEL0 0x18
-#define WI_SEL1 0x1A
-#define WI_OFF0 0x1C
-#define WI_OFF1 0x1E
-#define WI_DATA0 0x36
-#define WI_DATA1 0x38
-#define WI_BAP0 WI_DATA0
-#define WI_BAP1 WI_DATA1
-
-#define WI_OFF_BUSY 0x8000
-#define WI_OFF_ERR 0x4000
-#define WI_OFF_DATAOFF 0x0FFF
-
-/* Event registers */
-#define WI_EVENT_STAT 0x30 /* Event status */
-#define WI_INT_EN 0x32 /* Interrupt enable/disable */
-#define WI_EVENT_ACK 0x34 /* Ack event */
-
-/* Events */
-#define WI_EV_TICK 0x8000 /* aux timer tick */
-#define WI_EV_RES 0x4000 /* controller h/w error (time out) */
-#define WI_EV_INFO_DROP 0x2000 /* no RAM to build unsolicited frame */
-#define WI_EV_NO_CARD 0x0800 /* card removed (hunh?) */
-#define WI_EV_DUIF_RX 0x0400 /* wavelan management packet received */
-#define WI_EV_INFO 0x0080 /* async info frame */
-#define WI_EV_CMD 0x0010 /* command completed */
-#define WI_EV_ALLOC 0x0008 /* async alloc/reclaim completed */
-#define WI_EV_TX_EXC 0x0004 /* async xmit completed with failure */
-#define WI_EV_TX 0x0002 /* async xmit completed succesfully */
-#define WI_EV_RX 0x0001 /* async rx completed */
-
-#define WI_INTRS \
- (WI_EV_RX|WI_EV_TX|WI_EV_TX_EXC|WI_EV_ALLOC|WI_EV_INFO|WI_EV_INFO_DROP)
-
-/* Host software registers */
-#define WI_SW0 0x28
-#define WI_SW1 0x2A
-#define WI_SW2 0x2C
-#define WI_SW3 0x2E
-
-#define WI_CNTL 0x14
-
-#define WI_CNTL_AUX_ENA 0xC000
-#define WI_CNTL_AUX_ENA_STAT 0xC000
-#define WI_CNTL_AUX_DIS_STAT 0x0000
-#define WI_CNTL_AUX_ENA_CNTL 0x8000
-#define WI_CNTL_AUX_DIS_CNTL 0x4000
-
-#define WI_AUX_PAGE 0x3A
-#define WI_AUX_OFFSET 0x3C
-#define WI_AUX_DATA 0x3E
-
-/*
- * One form of communication with the Hermes is with what Lucent calls
- * LTV records, where LTV stands for Length, Type and Value. The length
- * and type are 16 bits and are in native byte order. The value is in
- * multiples of 16 bits and is in little endian byte order.
- */
-struct wi_ltv_gen {
- u_int16_t wi_len;
- u_int16_t wi_type;
- u_int16_t wi_val;
-};
-
-struct wi_ltv_str {
- u_int16_t wi_len;
- u_int16_t wi_type;
- u_int16_t wi_str[17];
-};
-
-#define WI_SETVAL(recno, val) \
- do { \
- struct wi_ltv_gen g; \
- \
- g.wi_len = 2; \
- g.wi_type = recno; \
- g.wi_val = val; \
- wi_write_record(sc, &g); \
- } while (0)
-
-#define WI_SETSTR(recno, str) \
- do { \
- struct wi_ltv_str s; \
- int l; \
- \
- l = (strlen(str) + 1) & ~0x1; \
- bzero((char *)&s, sizeof(s)); \
- s.wi_len = (l / 2) + 2; \
- s.wi_type = recno; \
- s.wi_str[0] = strlen(str); \
- bcopy(str, (char *)&s.wi_str[1], strlen(str)); \
- wi_write_record(sc, (struct wi_ltv_gen *)&s); \
- } while (0)
-
-/*
- * Download buffer location and length (0xFD01).
- */
-#define WI_RID_DNLD_BUF 0xFD01
-struct wi_ltv_dnld_buf {
- u_int16_t wi_len;
- u_int16_t wi_type;
- u_int16_t wi_buf_pg; /* page addr of intermediate dl buf*/
- u_int16_t wi_buf_off; /* offset of idb */
- u_int16_t wi_buf_len; /* len of idb */
-};
-
-/*
- * Mem sizes (0xFD02).
- */
-#define WI_RID_MEMSZ 0xFD02
-struct wi_ltv_memsz {
- u_int16_t wi_len;
- u_int16_t wi_type;
- u_int16_t wi_mem_ram;
- u_int16_t wi_mem_nvram;
-};
-
-/*
- * List of intended regulatory domains (0xFD11).
- */
-#define WI_RID_DOMAINS 0xFD11
-struct wi_ltv_domains {
- u_int16_t wi_len;
- u_int16_t wi_type;
- u_int16_t wi_domains[6];
-};
-
-/*
- * CIS struct (0xFD13).
- */
-#define WI_RID_CIS 0xFD13
-struct wi_ltv_cis {
- u_int16_t wi_len;
- u_int16_t wi_type;
- u_int16_t wi_cis[240];
-};
-
-/*
- * Communications quality (0xFD43).
- */
-#define WI_RID_COMMQUAL 0xFD43
-struct wi_ltv_commqual {
- u_int16_t wi_len;
- u_int16_t wi_type;
- u_int16_t wi_coms_qual;
- u_int16_t wi_sig_lvl;
- u_int16_t wi_noise_lvl;
-};
-
-/*
- * Actual system scale thresholds (0xFD46).
- */
-#define WI_RID_SYSTEM_SCALE 0xFC06
-#define WI_RID_SCALETHRESH 0xFD46
-struct wi_ltv_scalethresh {
- u_int16_t wi_len;
- u_int16_t wi_type;
- u_int16_t wi_energy_detect;
- u_int16_t wi_carrier_detect;
- u_int16_t wi_defer;
- u_int16_t wi_cell_search;
- u_int16_t wi_out_of_range;
- u_int16_t wi_delta_snr;
-};
-
-/*
- * PCF info struct (0xFD87).
- */
-#define WI_RID_PCF 0xFD87
-struct wi_ltv_pcf {
- u_int16_t wi_len;
- u_int16_t wi_type;
- u_int16_t wi_energy_detect;
- u_int16_t wi_carrier_detect;
- u_int16_t wi_defer;
- u_int16_t wi_cell_search;
- u_int16_t wi_range;
-};
-
-/*
- * Connection control characteristics.
- * 1 == Basic Service Set (BSS)
- * 2 == Wireless Distribudion System (WDS)
- * 3 == Pseudo IBSS
- */
-#define WI_RID_PORTTYPE 0xFC00
-#define WI_PORTTYPE_BSS 0x1
-#define WI_PORTTYPE_WDS 0x2
-#define WI_PORTTYPE_ADHOC 0x3
-
-/*
- * Mac addresses.
- */
-#define WI_RID_MAC_NODE 0xFC01
-#define WI_RID_MAC_WDS 0xFC08
-struct wi_ltv_macaddr {
- u_int16_t wi_len;
- u_int16_t wi_type;
- u_int16_t wi_mac_addr[3];
-};
-
-/*
- * Station set identification (SSID).
- */
-#define WI_RID_DESIRED_SSID 0xFC02
-#define WI_RID_OWN_SSID 0xFC04
-struct wi_ltv_ssid {
- u_int16_t wi_len;
- u_int16_t wi_type;
- u_int16_t wi_id[17];
-};
-
-/*
- * Set communications channel (radio frequency).
- */
-#define WI_RID_OWN_CHNL 0xFC03
-
-/*
- * Frame data size.
- */
-#define WI_RID_MAX_DATALEN 0xFC07
-
-/*
- * ESS power management enable
- */
-#define WI_RID_PM_ENABLED 0xFC09
-
-/*
- * ESS max PM sleep internal
- */
-#define WI_RID_MAX_SLEEP 0xFC0C
-
-/*
- * Set our station name.
- */
-#define WI_RID_NODENAME 0xFC0E
-struct wi_ltv_nodename {
- u_int16_t wi_len;
- u_int16_t wi_type;
- u_int16_t wi_nodename[17];
-};
-
-/*
- * Multicast addresses to be put in filter. We're
- * allowed up to 16 addresses in the filter.
- */
-#define WI_RID_MCAST 0xFC80
-struct wi_ltv_mcast {
- u_int16_t wi_len;
- u_int16_t wi_type;
- struct ether_addr wi_mcast[16];
-};
-
-/*
- * Create IBSS.
- */
-#define WI_RID_CREATE_IBSS 0xFC81
-
-#define WI_RID_FRAG_THRESH 0xFC82
-#define WI_RID_RTS_THRESH 0xFC83
-
-/*
- * TX rate control
- * 0 == Fixed 1mbps
- * 1 == Fixed 2mbps
- * 2 == auto fallback
- */
-#define WI_RID_TX_RATE 0xFC84
-
-/*
- * promiscuous mode.
- */
-#define WI_RID_PROMISC 0xFC85
-
-/*
- * Auxiliary Timer tick interval
- */
-#define WI_RID_TICK_TIME 0xFCE0
-
-/*
- * Information frame types.
- */
-#define WI_INFO_NOTIFY 0xF000 /* Handover address */
-#define WI_INFO_COUNTERS 0xF100 /* Statistics counters */
-#define WI_INFO_SCAN_RESULTS 0xF101 /* Scan results */
-#define WI_INFO_LINK_STAT 0xF200 /* Link status */
-#define WI_INFO_ASSOC_STAT 0xF201 /* Association status */
-
-/*
- * Hermes transmit/receive frame structure
- */
-struct wi_frame {
- u_int16_t wi_status; /* 0x00 */
- u_int32_t wi_rsvd0; /* 0x02 */
- u_int16_t wi_q_info; /* 0x06 */
- u_int16_t wi_rsvd1; /* 0x08 */
- u_int16_t wi_tx_ctl; /* 0x0C */
- u_int16_t wi_frame_ctl; /* 0x0E */
- u_int16_t wi_id; /* 0x10 */
- u_int8_t wi_addr1[6]; /* 0x12 */
- u_int8_t wi_addr2[6]; /* 0x18 */
- u_int8_t wi_addr3[6]; /* 0x1E */
- u_int16_t wi_seq_ctl; /* 0x24 */
- u_int8_t wi_addr4[6]; /* 0x26 */
- u_int16_t wi_dat_len; /* 0x2C */
- u_int8_t wi_dst_addr[6]; /* 0x2E */
- u_int8_t wi_src_addr[6]; /* 0x34 */
- u_int16_t wi_len; /* 0x3A */
- u_int16_t wi_dat[3]; /* 0x3C */ /* SNAP header */
- u_int16_t wi_type; /* 0x42 */
-};
-
-#define WI_802_3_OFFSET 0x2E
-#define WI_802_11_OFFSET 0x44
-#define WI_802_11_OFFSET_RAW 0x3C
-
-#define WI_STAT_BADCRC 0x0001
-#define WI_STAT_UNDECRYPTABLE 0x0002
-#define WI_STAT_ERRSTAT 0x0003
-#define WI_STAT_MAC_PORT 0x0700
-#define WI_STAT_1042 0x2000 /* RFC1042 encoded */
-#define WI_STAT_TUNNEL 0x4000 /* Bridge-tunnel encoded */
-#define WI_STAT_WMP_MSG 0x6000 /* WaveLAN-II management protocol */
-#define WI_RXSTAT_MSG_TYPE 0xE000
-
-#define WI_ENC_TX_802_3 0x00
-#define WI_ENC_TX_802_11 0x11
-#define WI_ENC_TX_E_II 0x0E
-
-#define WI_ENC_TX_1042 0x00
-#define WI_ENC_TX_TUNNEL 0xF8
-
-#define WI_TXCNTL_MACPORT 0x00FF
-#define WI_TXCNTL_STRUCTTYPE 0xFF00
-
-/*
- * SNAP (sub-network access protocol) constants for transmission
- * of IP datagrams over IEEE 802 networks, taken from RFC1042.
- * We need these for the LLC/SNAP header fields in the TX/RX frame
- * structure.
- */
-#define WI_SNAP_K1 0xaa /* assigned global SAP for SNAP */
-#define WI_SNAP_K2 0x00
-#define WI_SNAP_CONTROL 0x03 /* unnumbered information format */
-#define WI_SNAP_WORD0 (WI_SNAP_K1 | (WI_SNAP_K1 << 8))
-#define WI_SNAP_WORD1 (WI_SNAP_K2 | (WI_SNAP_CONTROL << 8))
-#define WI_SNAPHDR_LEN 0x6
diff --git a/sys/modules/vinum/.gdbinit.crash b/sys/modules/vinum/.gdbinit.crash
deleted file mode 100644
index f3e643671cb8..000000000000
--- a/sys/modules/vinum/.gdbinit.crash
+++ /dev/null
@@ -1,4 +0,0 @@
-source .gdbinit.kernel
-source .gdbinit.vinum.paths
-source .gdbinit.vinum
-asf
diff --git a/sys/modules/vinum/.gdbinit.serial b/sys/modules/vinum/.gdbinit.serial
deleted file mode 100644
index d302f8aff479..000000000000
--- a/sys/modules/vinum/.gdbinit.serial
+++ /dev/null
@@ -1,5 +0,0 @@
-source .gdbinit.kernel
-source .gdbinit.vinum.paths
-source .gdbinit.vinum
-tr
-asf
diff --git a/sys/net/if_iso88025subr.c b/sys/net/if_iso88025subr.c
deleted file mode 100644
index 1999a3f0490f..000000000000
--- a/sys/net/if_iso88025subr.c
+++ /dev/null
@@ -1,410 +0,0 @@
-/*
- * Copyright (c) 1998, Larry Lile
- * All rights reserved.
- *
- * For latest sources and information on this driver, please
- * go to http://anarchy.stdio.com.
- *
- * Questions, comments or suggestions should be directed to
- * Larry Lile <lile@stdio.com>.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice unmodified, this list of conditions, and the following
- * disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $Id: if_iso88025subr.c,v 1.5 1999/01/09 22:45:58 lile Exp $
- *
- */
-
-/*
- *
- * General ISO 802.5 (Token Ring) support routines
- *
- */
-
-#include "opt_inet.h"
-
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/kernel.h>
-#include <sys/malloc.h>
-#include <sys/mbuf.h>
-#include <sys/socket.h>
-#include <sys/sockio.h>
-#include <sys/sysctl.h>
-
-#include <net/if.h>
-#include <net/netisr.h>
-#include <net/route.h>
-#include <net/if_llc.h>
-#include <net/if_dl.h>
-#include <net/if_types.h>
-
-#include <net/if_arp.h>
-
-#include <net/iso88025.h>
-
-#ifdef INET
-#include <netinet/in.h>
-#include <netinet/in_var.h>
-#include <netinet/if_ether.h>
-#endif
-
-#if NBPFILTER > 0
-#include <net/bpf.h>
-#include <net/bpfdesc.h>
-#endif
-
-#include <machine/clock.h>
-#include <machine/md_var.h>
-
-#include <i386/isa/isa_device.h>
-
-#include <vm/vm.h>
-#include <vm/vm_param.h>
-#include <vm/pmap.h>
-
-#include <sys/kernel.h>
-#include <net/iso88025.h>
-
-void
-iso88025_ifattach(ifp)
- register struct ifnet *ifp;
-{
- register struct ifaddr *ifa = NULL;
- register struct sockaddr_dl *sdl;
-
- ifp->if_type = IFT_ISO88025;
- ifp->if_addrlen = 6;
- ifp->if_hdrlen=18;
- if (ifp->if_baudrate == 0)
- ifp->if_baudrate = 16000000; /* 1, 4, or 16Mbit default? */
- if (ifp->if_mtu == 0)
- ifp->if_mtu = ISO88025_DEFAULT_MTU;
-
- ifa = ifnet_addrs[ifp->if_index - 1];
- if (ifa == 0) {
- printf("iso88025_ifattach: no lladdr!\n");
- return;
- }
- sdl = (struct sockaddr_dl *)ifa->ifa_addr;
- sdl->sdl_type = IFT_ISO88025;
- sdl->sdl_alen = ifp->if_addrlen;
- bcopy(((struct arpcom *)ifp)->ac_enaddr, LLADDR(sdl), ifp->if_addrlen);
-}
-
-int
-iso88025_ioctl(struct ifnet *ifp, int command, caddr_t data)
-{
- struct ifaddr *ifa = (struct ifaddr *) data;
- struct ifreq *ifr = (struct ifreq *) data;
- int error = 0;
-
- switch (command) {
- case SIOCSIFADDR:
- ifp->if_flags |= IFF_UP;
-
- switch (ifa->ifa_addr->sa_family) {
-#ifdef INET
- case AF_INET:
- ifp->if_init(ifp->if_softc); /* before arpwhohas */
- arp_ifinit((struct arpcom *)ifp, ifa);
- break;
-#endif
- default:
- ifp->if_init(ifp->if_softc);
- break;
- }
- break;
-
- case SIOCGIFADDR:
- {
- struct sockaddr *sa;
-
- sa = (struct sockaddr *) & ifr->ifr_data;
- bcopy(((struct arpcom *)ifp->if_softc)->ac_enaddr,
- (caddr_t) sa->sa_data, ISO88025_ADDR_LEN);
- }
- break;
-
- case SIOCSIFMTU:
- /*
- * Set the interface MTU.
- */
- if (ifr->ifr_mtu > ISO88025MTU) {
- error = EINVAL;
- } else {
- ifp->if_mtu = ifr->ifr_mtu;
- }
- break;
- }
- return (error);
-}
-
-/*
- * ISO88025 encapsulation
- */
-int
-iso88025_output(ifp, m0, dst, rt0)
- register struct ifnet *ifp;
- struct mbuf *m0;
- struct sockaddr *dst;
- struct rtentry *rt0;
-{
- register struct iso88025_header *th;
- struct iso88025_header gen_th;
- register struct iso88025_sockaddr_data *sd = (struct iso88025_sockaddr_data *)dst->sa_data;
- register struct llc *l;
- register struct sockaddr_dl *sdl = NULL;
- int s, error = 0, rif_len = 0;
- u_char edst[6];
- register struct mbuf *m = m0;
- register struct rtentry *rt;
- int len = m->m_pkthdr.len, loop_copy = 0;
- struct arpcom *ac = (struct arpcom *)ifp;
-
- if ((ifp->if_flags & (IFF_UP|IFF_RUNNING)) != (IFF_UP|IFF_RUNNING))
- senderr(ENETDOWN);
- rt = rt0;
- if (rt) {
- if ((rt->rt_flags & RTF_UP) == 0) {
- rt0 = rt = rtalloc1(dst, 1, 0UL);
- if (rt0)
- rt->rt_refcnt--;
- else
- senderr(EHOSTUNREACH);
- }
- if (rt->rt_flags & RTF_GATEWAY) {
- if (rt->rt_gwroute == 0)
- goto lookup;
- if (((rt = rt->rt_gwroute)->rt_flags & RTF_UP) == 0) {
- rtfree(rt); rt = rt0;
- lookup: rt->rt_gwroute = rtalloc1(rt->rt_gateway, 1,
- 0UL);
- if ((rt = rt->rt_gwroute) == 0)
- senderr(EHOSTUNREACH);
- }
- }
- if (rt->rt_flags & RTF_REJECT)
- if (rt->rt_rmx.rmx_expire == 0 ||
- time_second < rt->rt_rmx.rmx_expire)
- senderr(rt == rt0 ? EHOSTDOWN : EHOSTUNREACH);
- }
-
- /* Calculate routing info length based on arp table entry */
- if (rt && (sdl = (struct sockaddr_dl *)rt->rt_gateway))
- if (sdl->sdl_rcf != NULL)
- rif_len = (ntohs(sdl->sdl_rcf) & 0x1f00) >> 8;
-
- /* Generate a generic 802.5 header for the packet */
- gen_th.ac = 0x10;
- gen_th.fc = 0x40;
- memcpy(gen_th.iso88025_shost, ac->ac_enaddr, sizeof(ac->ac_enaddr));
- if (rif_len) {
- gen_th.iso88025_shost[0] |= 0x80;
- if (rif_len > 2) {
- gen_th.rcf = sdl->sdl_rcf;
- memcpy(gen_th.rseg, sdl->sdl_route, rif_len - 2);
- }
- }
-
-
- switch (dst->sa_family) {
-#ifdef INET
- case AF_INET:
- if (!arpresolve(ac, rt, m, dst, edst, rt0))
- return (0); /* if not yet resolved */
- /* Add LLC and SNAP headers */
- M_PREPEND(m, 8, M_DONTWAIT)
- if (m == 0)
- senderr(ENOBUFS);
- l = mtod(m, struct llc *);
- l->llc_un.type_snap.ether_type = htons(ETHERTYPE_IP);
- l->llc_dsap = 0xaa;
- l->llc_ssap = 0xaa;
- l->llc_un.type_snap.control = 0x3;
- l->llc_un.type_snap.org_code[0] = 0x0;
- l->llc_un.type_snap.org_code[1] = 0x0;
- l->llc_un.type_snap.org_code[2] = 0x0;
- memcpy(gen_th.iso88025_dhost, edst, sizeof(edst));
- break;
-#endif
-
- case AF_UNSPEC:
- /*
- * For AF_UNSPEC sockaddr.sa_data must contain all of the
- * mac information needed to send the packet. This allows
- * full mac, llc, and source routing function to be controlled.
- * llc and source routing information must already be in the
- * mbuf provided, ac/fc are set in sa_data. sockaddr.sa_data
- * should be a iso88025_sockaddr_data structure see iso88025.h
- */
- loop_copy = -1;
- sd = (struct iso88025_sockaddr_data *)dst->sa_data;
- gen_th.ac = sd->ac;
- gen_th.fc = sd->fc;
- memcpy(gen_th.iso88025_dhost, sd->ether_dhost, sizeof(sd->ether_dhost));
- memcpy(gen_th.iso88025_shost, sd->ether_shost, sizeof(sd->ether_shost));
- rif_len = 0;
- break;
-
- default:
- printf("%s%d: can't handle af%d\n", ifp->if_name, ifp->if_unit,
- dst->sa_family);
- senderr(EAFNOSUPPORT);
- }
-
- /*
- * Add local net header. If no space in first mbuf,
- * allocate another.
- */
-
- M_PREPEND(m, ISO88025_HDR_LEN + rif_len, M_DONTWAIT);
- if (m == 0)
- senderr(ENOBUFS);
-
- /* Copy as much of the generic header as is needed into the mbuf */
- th = mtod(m, struct iso88025_header *);
- memcpy(th, &gen_th, ISO88025_HDR_LEN + rif_len);
-
- /*
- * If a simplex interface, and the packet is being sent to our
- * Ethernet address or a broadcast address, loopback a copy.
- * XXX To make a simplex device behave exactly like a duplex
- * device, we should copy in the case of sending to our own
- * ethernet address (thus letting the original actually appear
- * on the wire). However, we don't do that here for security
- * reasons and compatibility with the original behavior.
- */
- if ((ifp->if_flags & IFF_SIMPLEX) &&
- (loop_copy != -1)) {
- if ((m->m_flags & M_BCAST) || (loop_copy > 0)) {
- struct mbuf *n = m_copy(m, 0, (int)M_COPYALL);
- /*printf("iso88025_output: if_simloop broadcast.\n");*/
- (void) if_simloop(ifp, n, dst, ISO88025_HDR_LEN);
- } else if (bcmp(th->iso88025_dhost,
- th->iso88025_shost, ETHER_ADDR_LEN) == 0) {
- /*printf("iso88025_output: if_simloop to ourselves.\n");*/
- (void) if_simloop(ifp, m, dst, ISO88025_HDR_LEN);
- return(0); /* XXX */
- }
- }
-
- s = splimp();
- /*
- * Queue message on interface, and start output if interface
- * not yet active.
- */
- if (IF_QFULL(&ifp->if_snd)) {
- printf("iso88025_output: packet dropped QFULL.\n");
- IF_DROP(&ifp->if_snd);
- splx(s);
- senderr(ENOBUFS);
- }
- IF_ENQUEUE(&ifp->if_snd, m);
- /*printf("iso88025_output: packet queued.\n");*/
- if ((ifp->if_flags & IFF_OACTIVE) == 0)
- (*ifp->if_start)(ifp);
- splx(s);
- ifp->if_obytes += len + ISO88025_HDR_LEN + 8;
- if (m->m_flags & M_MCAST)
- ifp->if_omcasts++;
- return (error);
-
-bad:
- if (m)
- m_freem(m);
- /*printf("iso88025_output: something went wrong, bailing to bad.\n");*/
- return (error);
-}
-
-/*
- * ISO 88025 de-encapsulation
- */
-void
-iso88025_input(ifp, th, m)
- struct ifnet *ifp;
- register struct iso88025_header *th;
- struct mbuf *m;
-{
- register struct ifqueue *inq;
- u_short ether_type;
- int s;
- register struct llc *l = mtod(m, struct llc *);
-
- /*printf("iso88025_input: entered.\n");*/
-
- /*m->m_pkthdr.len = m->m_len = m->m_len - 8;*/ /* Length of LLC header in our case */
- m->m_pkthdr.len -= 8;
- m->m_len -= 8;
- m->m_data += 8; /* Length of LLC header in our case */
-
- if ((ifp->if_flags & IFF_UP) == 0) {
- m_freem(m);
- return;
- }
- ifp->if_ibytes += m->m_pkthdr.len + sizeof (*th);
- if (th->iso88025_dhost[0] & 1) {
- if (bcmp((caddr_t)etherbroadcastaddr, (caddr_t)th->iso88025_dhost,
- sizeof(etherbroadcastaddr)) == 0)
- m->m_flags |= M_BCAST;
- else
- m->m_flags |= M_MCAST;
- }
- if (m->m_flags & (M_BCAST|M_MCAST))
- ifp->if_imcasts++;
-
- ether_type = ntohs(l->llc_un.type_snap.ether_type);
-
- /*printf("iso88025_input: source %6D dest %6D ethertype %x\n", th->iso88025_shost, ":", th->iso88025_dhost, ":", ether_type);*/
-
- switch (ether_type) {
-#ifdef INET
- case ETHERTYPE_IP:
- /*printf("iso88025_input: IP Packet\n");*/
- th->iso88025_shost[0] &= ~(0x80); /* Turn off source route bit XXX */
- if (ipflow_fastforward(m))
- return;
- schednetisr(NETISR_IP);
- inq = &ipintrq;
- break;
-
- case ETHERTYPE_ARP:
- /*printf("iso88025_input: ARP Packet\n");*/
- schednetisr(NETISR_ARP);
- inq = &arpintrq;
- break;
-#endif
- default:
- m_freem(m);
- return;
- }
-
- s = splimp();
- if (IF_QFULL(inq)) {
- IF_DROP(inq);
- m_freem(m);
- printf("iso88025_input: Packet dropped (Queue full).\n");
- } else
- IF_ENQUEUE(inq, m);
- /*printf("iso88025_input: Packet queued.\n");*/
- splx(s);
-}
diff --git a/sys/net/iso88025.h b/sys/net/iso88025.h
deleted file mode 100644
index 70ecdc0c016f..000000000000
--- a/sys/net/iso88025.h
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright (c) 1998, Larry Lile
- * All rights reserved.
- *
- * For latest sources and information on this driver, please
- * go to http://anarchy.stdio.com.
- *
- * Questions, comments or suggestions should be directed to
- * Larry Lile <lile@stdio.com>.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice unmodified, this list of conditions, and the following
- * disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $Id: iso88025.h,v 1.10 1999/01/09 19:01:58 lile Exp $
- *
- * Information gathered from tokenring@freebsd, /sys/net/ethernet.h and
- * the Mach token ring driver.
- */
-
-/*
- * Fundamental constants relating to iso 802.5
- */
-
-#ifndef _NET_ISO88025_H_
-#define _NET_ISO88025_H_
-
-/*
- * The number of bytes in an iso 802.5 (MAC) address.
- */
-#define ISO88025_ADDR_LEN 6
-
-/*
- */
-#define ISO88025_HDR_LEN (ISO88025_CF_LEN + ISO88025_ADDR_LEN*2)
-#define ISO88025_CF_LEN 2
-#define RCF_LEN 2
-#define RIF_LEN 16
-
-
-/*
- * The minimum packet length.
- */
-#define ISO88025_MIN_LEN 0 /* This offends my morality */
-
-/*
- * The maximum packet length.
- */
-#define ISO88025_MAX_LEN 17960
-
-/*
- * A macro to validate a length with
- */
-#define ISO88025_IS_VALID_LEN(foo) \
- ((foo) >= ISO88025_MIN_LEN && (foo) <= ISO88025_MAX_LEN)
-
-/*
- * ISO 802.5 physical header
- */
-struct iso88025_header {
- u_char ac; /* access control field */
- u_char fc; /* frame control field */
- u_char iso88025_dhost[ISO88025_ADDR_LEN]; /* destination address */
- u_char iso88025_shost[ISO88025_ADDR_LEN]; /* source address */
- u_short rcf; /* route control field */
- u_short rseg[RIF_LEN]; /* routing registers */
-};
-
-struct iso88025_sockaddr_data {
- u_char ether_dhost[ISO88025_ADDR_LEN];
- u_char ether_shost[ISO88025_ADDR_LEN];
- u_char ac;
- u_char fc;
-};
-
-/*
- * Structure of a 48-bit iso 802.5 address.
- * ( We could also add the 16 bit addresses as a union)
- */
-struct iso88025_addr {
- u_char octet[ISO88025_ADDR_LEN];
-};
-
-#define ISO88025MTU 18000
-#define ISO88025_DEFAULT_MTU 1500
-#define senderr(e) { error = (e); goto bad;}
-
-void iso88025_ifattach __P((struct ifnet *));
-int iso88025_ioctl __P((struct ifnet *, int , caddr_t ));
-int iso88025_output __P((struct ifnet *, struct mbuf *, struct sockaddr *, struct rtentry *));
-void iso88025_input __P((struct ifnet *, struct iso88025_header *, struct mbuf *));
-
-
-#endif
diff --git a/sys/pci/ahc_pci.c b/sys/pci/ahc_pci.c
index eb892a053703..aa7d168cc462 100644
--- a/sys/pci/ahc_pci.c
+++ b/sys/pci/ahc_pci.c
@@ -34,7 +34,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: ahc_pci.c,v 1.5.2.2 1999/03/07 00:42:43 gibbs Exp $
+ * $Id: ahc_pci.c,v 1.5.2.4 1999/05/16 00:07:45 gibbs Exp $
*/
#include <pci.h>
@@ -42,7 +42,6 @@
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/kernel.h>
-#include <sys/queue.h>
#include <pci/pcireg.h>
#include <pci/pcivar.h>
@@ -64,33 +63,369 @@
#include <aic7xxx_reg.h>
-#define PCI_BASEADR0 PCI_MAP_REG_START /* I/O Address */
-#define PCI_BASEADR1 PCI_MAP_REG_START + 4 /* Mem I/O Address */
-
-#define PCI_DEVICE_ID_ADAPTEC_398XU 0x83789004ul
-#define PCI_DEVICE_ID_ADAPTEC_3940U 0x82789004ul
-#define PCI_DEVICE_ID_ADAPTEC_3950U2 0x00509005ul
-#define PCI_DEVICE_ID_ADAPTEC_2944U 0x84789004ul
-#define PCI_DEVICE_ID_ADAPTEC_2940U 0x81789004ul
-#define PCI_DEVICE_ID_ADAPTEC_2940AU 0x61789004ul
-#define PCI_DEVICE_ID_ADAPTEC_2940U2 0x00109005ul
-#define PCI_DEVICE_ID_ADAPTEC_2930U2 0x00119005ul
-#define PCI_DEVICE_ID_ADAPTEC_398X 0x73789004ul
-#define PCI_DEVICE_ID_ADAPTEC_3940 0x72789004ul
-#define PCI_DEVICE_ID_ADAPTEC_2944 0x74789004ul
-#define PCI_DEVICE_ID_ADAPTEC_2940 0x71789004ul
-#define PCI_DEVICE_ID_ADAPTEC_AIC7890 0x001F9005ul
-#define PCI_DEVICE_ID_ADAPTEC_AIC7895C 0x78939004ul /* RAID Port */
-#define PCI_DEVICE_ID_ADAPTEC_AIC7895 0x78959004ul
-#define PCI_DEVICE_ID_ADAPTEC_AIC7896 0x005F9005ul
-#define PCI_DEVICE_ID_ADAPTEC_AIC7880 0x80789004ul
-#define PCI_DEVICE_ID_ADAPTEC_AIC7870 0x70789004ul
-#define PCI_DEVICE_ID_ADAPTEC_AIC7860 0x60789004ul
-#define PCI_DEVICE_ID_ADAPTEC_AIC7855 0x55789004ul
-#define PCI_DEVICE_ID_ADAPTEC_AIC7850 0x50789004ul
-#define PCI_DEVICE_ID_ADAPTEC_AIC7810 0x10789004ul
-#define PCI_DEVICE_ID_ADAPTEC_AIC7815 0x15789004ul
+#define AHC_PCI_IOADDR PCIR_MAPS /* I/O Address */
+#define AHC_PCI_MEMADDR (PCIR_MAPS + 4) /* Mem I/O Address */
+static __inline u_int64_t
+ahc_compose_id(u_int device, u_int vendor, u_int subdevice, u_int subvendor)
+{
+ u_int64_t id;
+
+ id = subvendor
+ | (subdevice << 16)
+ | ((u_int64_t)vendor << 32)
+ | ((u_int64_t)device << 48);
+
+ return (id);
+}
+
+#define ID_ALL_MASK 0xFFFFFFFFFFFFFFFFull
+#define ID_DEV_VENDOR_MASK 0xFFFFFFFF00000000ull
+#define ID_AIC7850 0x5078900400000000ull
+#define ID_AHA_2910_15_20_30C 0x5078900478509004ull
+#define ID_AIC7855 0x5578900400000000ull
+#define ID_AIC7860 0x6078900400000000ull
+#define ID_AIC7860C 0x6078900478609004ull
+#define ID_AHA_2940AU_0 0x6178900400000000ull
+#define ID_AHA_2940AU_1 0x6178900478619004ull
+#define ID_AHA_2930C_VAR 0x6038900438689004ull
+
+#define ID_AIC7870 0x7078900400000000ull
+#define ID_AHA_2940 0x7178900400000000ull
+#define ID_AHA_3940 0x7278900400000000ull
+#define ID_AHA_398X 0x7378900400000000ull
+#define ID_AHA_2944 0x7478900400000000ull
+#define ID_AHA_3944 0x7578900400000000ull
+
+#define ID_AIC7880 0x8078900400000000ull
+#define ID_AIC7880_B 0x8078900478809004ull
+#define ID_AHA_2940AU_CN 0x2178900478219004ull
+#define ID_AHA_2940U 0x8178900400000000ull
+#define ID_AHA_3940U 0x8278900400000000ull
+#define ID_AHA_2944U 0x8478900400000000ull
+#define ID_AHA_3944U 0x8578900400000000ull
+#define ID_AHA_398XU 0x8378900400000000ull
+#define ID_AHA_4944U 0x8678900400000000ull
+#define ID_AHA_2940UB 0x8178900478819004ull
+#define ID_AHA_2930U 0x8878900478889004ull
+#define ID_AHA_2940U_PRO 0x8778900478879004ull
+#define ID_AHA_2940U_CN 0x0078900478009004ull
+
+#define ID_AIC7895 0x7895900478959004ull
+#define ID_AIC7895_RAID_PORT 0x7893900478939004ull
+#define ID_AHA_2940U_DUAL 0x7895900478919004ull
+#define ID_AHA_3940AU 0x7895900478929004ull
+#define ID_AHA_3944AU 0x7895900478949004ull
+
+#define ID_AIC7890 0x001F9005000F9005ull
+#define ID_AHA_2930U2 0x0011900501819005ull
+#define ID_AHA_2940U2B 0x00109005A1009005ull
+#define ID_AHA_2940U2_OEM 0x0010900521809005ull
+#define ID_AHA_2940U2 0x00109005A1809005ull
+#define ID_AHA_2950U2B 0x00109005E1009005ull
+
+#define ID_AIC7896 0x005F9005FFFF9005ull
+#define ID_AHA_3950U2B_0 0x00509005FFFF9005ull
+#define ID_AHA_3950U2B_1 0x00509005F5009005ull
+#define ID_AHA_3950U2D_0 0x00519005FFFF9005ull
+#define ID_AHA_3950U2D_1 0x00519005B5009005ull
+
+#define ID_AIC7810 0x1078900400000000ull
+#define ID_AIC7815 0x1578900400000000ull
+
+typedef int (ahc_device_setup_t)(pcici_t, char *, ahc_chip *,
+ ahc_feature *, ahc_flag *);
+
+static ahc_device_setup_t ahc_aic7850_setup;
+static ahc_device_setup_t ahc_aic7860_setup;
+static ahc_device_setup_t ahc_aic7870_setup;
+static ahc_device_setup_t ahc_aha394X_setup;
+static ahc_device_setup_t ahc_aha398X_setup;
+static ahc_device_setup_t ahc_aic7880_setup;
+static ahc_device_setup_t ahc_aha394XU_setup;
+static ahc_device_setup_t ahc_aha398XU_setup;
+static ahc_device_setup_t ahc_aic7890_setup;
+static ahc_device_setup_t ahc_aic7895_setup;
+static ahc_device_setup_t ahc_aic7896_setup;
+static ahc_device_setup_t ahc_raid_setup;
+static ahc_device_setup_t ahc_aha394XX_setup;
+static ahc_device_setup_t ahc_aha398XX_setup;
+
+struct ahc_pci_identity {
+ u_int64_t full_id;
+ u_int64_t id_mask;
+ char *name;
+ ahc_device_setup_t *setup;
+};
+
+struct ahc_pci_identity ahc_pci_ident_table [] =
+{
+ /* aic7850 based controllers */
+ {
+ ID_AHA_2910_15_20_30C,
+ ID_ALL_MASK,
+ "Adaptec 2910/15/20/30C SCSI adapter",
+ ahc_aic7850_setup
+ },
+ /* aic7860 based controllers */
+ {
+ ID_AHA_2940AU_0 & ID_DEV_VENDOR_MASK,
+ ID_DEV_VENDOR_MASK,
+ "Adaptec 2940A Ultra SCSI adapter",
+ ahc_aic7860_setup
+ },
+ {
+ ID_AHA_2930C_VAR,
+ ID_ALL_MASK,
+ "Adaptec 2930C SCSI adapter (VAR)",
+ ahc_aic7860_setup
+ },
+ /* aic7870 based controllers */
+ {
+ ID_AHA_2940,
+ ID_ALL_MASK,
+ "Adaptec 2940 SCSI adapter",
+ ahc_aic7870_setup
+ },
+ {
+ ID_AHA_3940,
+ ID_ALL_MASK,
+ "Adaptec 3940 SCSI adapter",
+ ahc_aha394X_setup
+ },
+ {
+ ID_AHA_398X,
+ ID_ALL_MASK,
+ "Adaptec 398X SCSI RAID adapter",
+ ahc_aha398X_setup
+ },
+ {
+ ID_AHA_2944,
+ ID_ALL_MASK,
+ "Adaptec 2944 SCSI adapter",
+ ahc_aic7870_setup
+ },
+ {
+ ID_AHA_3944,
+ ID_ALL_MASK,
+ "Adaptec 3944 SCSI adapter",
+ ahc_aha394X_setup
+ },
+ /* aic7880 based controllers */
+ {
+ ID_AHA_2940AU_CN,
+ ID_ALL_MASK,
+ "Adaptec 2940A/CN Ultra SCSI adapter",
+ ahc_aic7880_setup
+ },
+ {
+ ID_AHA_2940U,
+ ID_ALL_MASK,
+ "Adaptec 2940 Ultra SCSI adapter",
+ ahc_aic7880_setup
+ },
+ {
+ ID_AHA_3940U,
+ ID_ALL_MASK,
+ "Adaptec 3940 Ultra SCSI adapter",
+ ahc_aha394XU_setup
+ },
+ {
+ ID_AHA_2944U,
+ ID_ALL_MASK,
+ "Adaptec 2944 Ultra SCSI adapter",
+ ahc_aic7880_setup
+ },
+ {
+ ID_AHA_3944U,
+ ID_ALL_MASK,
+ "Adaptec 3944 Ultra SCSI adapter",
+ ahc_aha394XU_setup
+ },
+ {
+ ID_AHA_398XU,
+ ID_ALL_MASK,
+ "Adaptec 398X Ultra SCSI RAID adapter",
+ ahc_aha398XU_setup
+ },
+ {
+ /* XXX Don't know the slot numbers so can't identify channels */
+ ID_AHA_4944U,
+ ID_ALL_MASK,
+ "Adaptec 4944 Ultra SCSI adapter",
+ ahc_aic7880_setup
+ },
+ {
+ ID_AHA_2940UB,
+ ID_ALL_MASK,
+ "Adaptec 2940B Ultra SCSI adapter",
+ ahc_aic7880_setup
+ },
+ {
+ ID_AHA_2930U,
+ ID_ALL_MASK,
+ "Adaptec 2930 Ultra SCSI adapter",
+ ahc_aic7880_setup
+ },
+ {
+ ID_AHA_2940U_PRO,
+ ID_ALL_MASK,
+ "Adaptec 2940 Pro Ultra SCSI adapter",
+ ahc_aic7880_setup
+ },
+ {
+ ID_AHA_2940U_CN,
+ ID_ALL_MASK,
+ "Adaptec 2940/CN Ultra SCSI adapter",
+ ahc_aic7880_setup
+ },
+ /* aic7890 based controllers */
+ {
+ ID_AHA_2930U2,
+ ID_ALL_MASK,
+ "Adaptec 2930 Ultra2 SCSI adapter",
+ ahc_aic7890_setup
+ },
+ {
+ ID_AHA_2940U2B,
+ ID_ALL_MASK,
+ "Adaptec 2940B Ultra2 SCSI adapter",
+ ahc_aic7890_setup
+ },
+ {
+ ID_AHA_2940U2_OEM,
+ ID_ALL_MASK,
+ "Adaptec 2940 Ultra2 SCSI adapter (OEM)",
+ ahc_aic7890_setup
+ },
+ {
+ ID_AHA_2940U2,
+ ID_ALL_MASK,
+ "Adaptec 2940 Ultra2 SCSI adapter",
+ ahc_aic7890_setup
+ },
+ {
+ ID_AHA_2950U2B,
+ ID_ALL_MASK,
+ "Adaptec 2950 Ultra2 SCSI adapter",
+ ahc_aic7890_setup
+ },
+ /* aic7895 based controllers */
+ {
+ ID_AHA_2940U_DUAL,
+ ID_ALL_MASK,
+ "Adaptec 2940/DUAL Ultra SCSI adapter",
+ ahc_aic7895_setup
+ },
+ {
+ ID_AHA_3940AU,
+ ID_ALL_MASK,
+ "Adaptec 3940A Ultra SCSI adapter",
+ ahc_aic7895_setup
+ },
+ {
+ ID_AHA_3944AU,
+ ID_ALL_MASK,
+ "Adaptec 3944A Ultra SCSI adapter",
+ ahc_aic7895_setup
+ },
+ /* aic7896/97 based controllers */
+ {
+ ID_AHA_3950U2B_0,
+ ID_ALL_MASK,
+ "Adaptec 3950B Ultra2 SCSI adapter",
+ ahc_aic7896_setup
+ },
+ {
+ ID_AHA_3950U2B_1,
+ ID_ALL_MASK,
+ "Adaptec 3950B Ultra2 SCSI adapter",
+ ahc_aic7896_setup
+ },
+ {
+ ID_AHA_3950U2D_0,
+ ID_ALL_MASK,
+ "Adaptec 3950D Ultra2 SCSI adapter",
+ ahc_aic7896_setup
+ },
+ {
+ ID_AHA_3950U2D_1,
+ ID_ALL_MASK,
+ "Adaptec 3950D Ultra2 SCSI adapter",
+ ahc_aic7896_setup
+ },
+ /* Generic chip probes for devices we don't know 'exactly' */
+ {
+ ID_AIC7850 & ID_DEV_VENDOR_MASK,
+ ID_DEV_VENDOR_MASK,
+ "Adaptec aic7850 SCSI adapter",
+ ahc_aic7850_setup
+ },
+ {
+ ID_AIC7855 & ID_DEV_VENDOR_MASK,
+ ID_DEV_VENDOR_MASK,
+ "Adaptec aic7855 SCSI adapter",
+ ahc_aic7850_setup
+ },
+ {
+ ID_AIC7860 & ID_DEV_VENDOR_MASK,
+ ID_DEV_VENDOR_MASK,
+ "Adaptec aic7860 SCSI adapter",
+ ahc_aic7860_setup
+ },
+ {
+ ID_AIC7870 & ID_DEV_VENDOR_MASK,
+ ID_DEV_VENDOR_MASK,
+ "Adaptec aic7870 SCSI adapter",
+ ahc_aic7870_setup
+ },
+ {
+ ID_AIC7880 & ID_DEV_VENDOR_MASK,
+ ID_DEV_VENDOR_MASK,
+ "Adaptec aic7880 Ultra SCSI adapter",
+ ahc_aic7880_setup
+ },
+ {
+ ID_AIC7890 & ID_DEV_VENDOR_MASK,
+ ID_DEV_VENDOR_MASK,
+ "Adaptec aic7890/91 Ultra2 SCSI adapter",
+ ahc_aic7890_setup
+ },
+ {
+ ID_AIC7895 & ID_DEV_VENDOR_MASK,
+ ID_DEV_VENDOR_MASK,
+ "Adaptec aic7895 Ultra SCSI adapter",
+ ahc_aic7895_setup
+ },
+ {
+ ID_AIC7895_RAID_PORT & ID_DEV_VENDOR_MASK,
+ ID_DEV_VENDOR_MASK,
+ "Adaptec aic7895 Ultra SCSI adapter (RAID PORT)",
+ ahc_aic7895_setup
+ },
+ {
+ ID_AIC7896 & ID_DEV_VENDOR_MASK,
+ ID_DEV_VENDOR_MASK,
+ "Adaptec aic7896/97 Ultra2 SCSI adapter",
+ ahc_aic7896_setup
+ },
+ {
+ ID_AIC7810 & ID_DEV_VENDOR_MASK,
+ ID_DEV_VENDOR_MASK,
+ "Adaptec aic7810 RAID memory controller",
+ ahc_raid_setup
+ },
+ {
+ ID_AIC7815 & ID_DEV_VENDOR_MASK,
+ ID_DEV_VENDOR_MASK,
+ "Adaptec aic7815 RAID memory controller",
+ ahc_raid_setup
+ }
+};
+
+static const int ahc_num_pci_devs =
+ sizeof(ahc_pci_ident_table) / sizeof(*ahc_pci_ident_table);
+
#define AHC_394X_SLOT_CHANNEL_A 4
#define AHC_394X_SLOT_CHANNEL_B 5
@@ -116,6 +451,7 @@
#define CACHESIZE 0x0000003ful /* only 5 bits */
#define LATTIME 0x0000ff00ul
+static struct ahc_pci_identity *ahc_find_pci_device(pcici_t tag);
static void check_extport(struct ahc_softc *ahc, u_int *sxfrctl1);
static void configure_termination(struct ahc_softc *ahc,
struct seeprom_config *sc,
@@ -149,246 +485,100 @@ static void ahc_pci_attach(pcici_t config_id, int unit);
/* Exported for use in the ahc_intr routine */
void ahc_pci_intr(struct ahc_softc *ahc);
-static struct pci_device ahc_pci_driver = {
+static struct pci_device ahc_pci_driver = {
"ahc",
- ahc_pci_probe,
- ahc_pci_attach,
- &ahc_unit,
+ ahc_pci_probe,
+ ahc_pci_attach,
+ &ahc_unit,
NULL
-};
+};
DATA_SET (pcidevice_set, ahc_pci_driver);
-static const char*
-ahc_pci_probe (pcici_t tag, pcidi_t type)
+static struct ahc_pci_identity *
+ahc_find_pci_device(pcici_t tag)
{
- switch (type) {
- case PCI_DEVICE_ID_ADAPTEC_398XU:
- return ("Adaptec 398X Ultra SCSI RAID adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_3940U:
- return ("Adaptec 3940 Ultra SCSI host adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_398X:
- return ("Adaptec 398X SCSI RAID adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_3940:
- return ("Adaptec 3940 SCSI adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_3950U2:
- return ("Adaptec 3950 Ultra2 SCSI adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_2930U2:
- return ("Adaptec 2930 Ultra2 SCSI adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_2944U:
- return ("Adaptec 2944 Ultra SCSI adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_2940U:
- return ("Adaptec 2940 Ultra SCSI adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_2940U2:
- return ("Adaptec 2940 Ultra2 SCSI adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_2944:
- return ("Adaptec 2944 SCSI adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_2940:
- return ("Adaptec 2940 SCSI adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_2940AU:
- return ("Adaptec 2940A Ultra SCSI adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_AIC7895:
- return ("Adaptec aic7895 Ultra SCSI adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_AIC7895C:
- return ("Adaptec aic7895 `Raid Port' Ultra SCSI adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_AIC7890:
- return ("Adaptec aic7890/91 Ultra2 SCSI adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_AIC7896:
- return ("Adaptec aic7896/97 Ultra2 SCSI adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_AIC7880:
- return ("Adaptec aic7880 Ultra SCSI adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_AIC7870:
- return ("Adaptec aic7870 SCSI adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_AIC7860:
- return ("Adaptec aic7860 SCSI adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_AIC7855:
- return ("Adaptec aic7855 SCSI adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_AIC7850:
- return ("Adaptec aic7850 SCSI adapter");
- break;
- case PCI_DEVICE_ID_ADAPTEC_AIC7810:
- return ("Adaptec aic7810 RAID memory controller");
- break;
- case PCI_DEVICE_ID_ADAPTEC_AIC7815:
- return ("Adaptec aic7815 RAID memory controller");
- break;
- default:
- break;
+ u_int64_t full_id;
+ struct ahc_pci_identity *entry;
+ u_int deviceid;
+ u_int vendorid;
+ u_int subdeviceid;
+ u_int subvendorid;
+ u_int i;
+
+ deviceid = pci_cfgread(tag, PCIR_DEVICE, /*bytes*/2);
+ vendorid = pci_cfgread(tag, PCIR_VENDOR, /*bytes*/2);
+ subdeviceid = pci_cfgread(tag, PCIR_SUBDEV_0, /*bytes*/2);
+ subvendorid = pci_cfgread(tag, PCIR_SUBVEND_0, /*bytes*/2);
+ full_id = ahc_compose_id(deviceid,
+ vendorid,
+ subdeviceid,
+ subvendorid);
+
+ for (i = 0; i < ahc_num_pci_devs; i++) {
+ entry = &ahc_pci_ident_table[i];
+ if (entry->full_id == (full_id & entry->id_mask))
+ return (entry);
}
- return (0);
+ return (NULL);
+}
+
+static const char*
+ahc_pci_probe(pcici_t tag, pcidi_t type)
+{
+ struct ahc_pci_identity *entry;
+ entry = ahc_find_pci_device(tag);
+ if (entry != NULL)
+ return (entry->name);
+ return (NULL);
}
static void
ahc_pci_attach(pcici_t config_id, int unit)
{
- pci_port_t io_port;
- struct ahc_softc *ahc;
- u_int32_t id;
- u_int32_t command;
- struct scb_data *shared_scb_data;
- int opri;
- ahc_chip ahc_t = AHC_NONE;
- ahc_feature ahc_fe = AHC_FENONE;
- ahc_flag ahc_f = AHC_FNONE;
- vm_offset_t vaddr;
- vm_offset_t paddr;
- u_int our_id = 0;
- u_int sxfrctl1;
- u_int scsiseq;
- int error;
- char channel;
-
- if (config_id->func == 1)
- channel = 'B';
- else
- channel = 'A';
+ pci_port_t io_port;
+ bus_dma_tag_t parent_dmat;
+ struct ahc_softc *ahc;
+ struct ahc_pci_identity *entry;
+ vm_offset_t vaddr;
+#ifdef AHC_ALLOW_MEMIO
+ vm_offset_t paddr;
+#endif
+ u_int command;
+ struct scb_data *shared_scb_data;
+ ahc_chip ahc_t = AHC_NONE;
+ ahc_feature ahc_fe = AHC_FENONE;
+ ahc_flag ahc_f = AHC_FNONE;
+ u_int our_id = 0;
+ u_int sxfrctl1;
+ u_int scsiseq;
+ int error;
+ int opri;
+ char channel;
+
shared_scb_data = NULL;
+ command = pci_cfgread(config_id, PCIR_COMMAND, /*bytes*/1);
+ entry = ahc_find_pci_device(config_id);
+ if (entry == NULL)
+ return;
+
+ error = entry->setup(config_id, &channel, &ahc_t, &ahc_fe, &ahc_f);
+ if (error != 0)
+ return;
+
vaddr = NULL;
- paddr = NULL;
- io_port = 0;
- command = pci_conf_read(config_id, PCI_COMMAND_STATUS_REG);
#ifdef AHC_ALLOW_MEMIO
if ((command & PCI_COMMAND_MEM_ENABLE) == 0
- || (pci_map_mem(config_id, PCI_BASEADR1, &vaddr, &paddr)) == 0)
+ || (pci_map_mem(config_id, AHC_PCI_MEMADDR, &vaddr, &paddr)) == 0)
#endif
if ((command & PCI_COMMAND_IO_ENABLE) == 0
- || (pci_map_port(config_id, PCI_BASEADR0, &io_port)) == 0)
+ || (pci_map_port(config_id, AHC_PCI_IOADDR, &io_port)) == 0)
return;
- switch ((id = pci_conf_read(config_id, PCI_ID_REG))) {
- case PCI_DEVICE_ID_ADAPTEC_398XU:
- case PCI_DEVICE_ID_ADAPTEC_398X:
- if (id == PCI_DEVICE_ID_ADAPTEC_398XU) {
- ahc_t = AHC_AIC7880;
- ahc_fe = AHC_AIC7880_FE;
- } else {
- ahc_t = AHC_AIC7870;
- ahc_fe = AHC_AIC7870_FE;
- }
-
- switch (config_id->slot) {
- case AHC_398X_SLOT_CHANNEL_A:
- break;
- case AHC_398X_SLOT_CHANNEL_B:
- channel = 'B';
- break;
- case AHC_398X_SLOT_CHANNEL_C:
- channel = 'C';
- break;
- default:
- printf("adapter at unexpected slot %d\n"
- "unable to map to a channel\n",
- config_id->slot);
- }
- ahc_f |= AHC_LARGE_SEEPROM;
- break;
- case PCI_DEVICE_ID_ADAPTEC_3940U:
- case PCI_DEVICE_ID_ADAPTEC_3940:
- if (id == PCI_DEVICE_ID_ADAPTEC_3940U) {
- ahc_t = AHC_AIC7880;
- ahc_fe = AHC_AIC7880_FE;
- } else {
- ahc_t = AHC_AIC7870;
- ahc_fe = AHC_AIC7870_FE;
- }
-
- switch (config_id->slot) {
- case AHC_394X_SLOT_CHANNEL_A:
- break;
- case AHC_394X_SLOT_CHANNEL_B:
- channel = 'B';
- break;
- default:
- printf("adapter at unexpected slot %d\n"
- "unable to map to a channel\n",
- config_id->slot);
- }
- break;
- case PCI_DEVICE_ID_ADAPTEC_AIC7890:
- case PCI_DEVICE_ID_ADAPTEC_2940U2:
- case PCI_DEVICE_ID_ADAPTEC_2930U2:
- {
- ahc_t = AHC_AIC7890;
- ahc_fe = AHC_AIC7890_FE;
- break;
- }
- case PCI_DEVICE_ID_ADAPTEC_AIC7896:
- case PCI_DEVICE_ID_ADAPTEC_3950U2:
- {
- ahc_t = AHC_AIC7896;
- ahc_fe = AHC_AIC7896_FE;
- break;
- }
- case PCI_DEVICE_ID_ADAPTEC_2944U:
- case PCI_DEVICE_ID_ADAPTEC_2940U:
- case PCI_DEVICE_ID_ADAPTEC_AIC7880:
- ahc_t = AHC_AIC7880;
- ahc_fe = AHC_AIC7880_FE;
- break;
- case PCI_DEVICE_ID_ADAPTEC_2944:
- case PCI_DEVICE_ID_ADAPTEC_2940:
- case PCI_DEVICE_ID_ADAPTEC_AIC7870:
- ahc_t = AHC_AIC7870;
- ahc_fe = AHC_AIC7870_FE;
- break;
- case PCI_DEVICE_ID_ADAPTEC_2940AU:
- case PCI_DEVICE_ID_ADAPTEC_AIC7860:
- ahc_fe = AHC_AIC7860_FE;
- ahc_t = AHC_AIC7860;
- break;
- case PCI_DEVICE_ID_ADAPTEC_AIC7895:
- case PCI_DEVICE_ID_ADAPTEC_AIC7895C:
- {
- u_int32_t devconfig;
-
- ahc_t = AHC_AIC7895;
- ahc_fe = AHC_AIC7895_FE;
- devconfig = pci_conf_read(config_id, DEVCONFIG);
- devconfig &= ~SCBSIZE32;
- pci_conf_write(config_id, DEVCONFIG, devconfig);
- break;
- }
- case PCI_DEVICE_ID_ADAPTEC_AIC7855:
- case PCI_DEVICE_ID_ADAPTEC_AIC7850:
- ahc_t = AHC_AIC7850;
- ahc_fe = AHC_AIC7850_FE;
- break;
- case PCI_DEVICE_ID_ADAPTEC_AIC7810:
- case PCI_DEVICE_ID_ADAPTEC_AIC7815:
- printf("RAID functionality unsupported\n");
- return;
- default:
- break;
- }
-
- /* On all PCI adapters, we allow SCB paging */
- ahc_f |= AHC_PAGESCBS;
- if ((ahc = ahc_alloc(unit, io_port, vaddr, ahc_t|AHC_PCI, ahc_fe, ahc_f,
- shared_scb_data)) == NULL)
- return; /* XXX PCI code should take return status */
-
- ahc->channel = channel;
+ /* Ensure busmastering is enabled */
+ command |= PCIM_CMD_BUSMASTEREN;
+ pci_cfgwrite(config_id, PCIR_COMMAND, command, /*bytes*/1);
/* Allocate a dmatag for our SCB DMA maps */
/* XXX Should be a child of the PCI bus dma tag */
@@ -399,15 +589,22 @@ ahc_pci_attach(pcici_t config_id, int unit)
/*filter*/NULL, /*filterarg*/NULL,
/*maxsize*/MAXBSIZE, /*nsegments*/AHC_NSEG,
/*maxsegsz*/AHC_MAXTRANSFER_SIZE,
- /*flags*/BUS_DMA_ALLOCNOW, &ahc->dmat);
+ /*flags*/BUS_DMA_ALLOCNOW, &parent_dmat);
if (error != 0) {
- printf("%s: Could not allocate DMA tag - error %d\n",
- ahc_name(ahc), error);
- ahc_free(ahc);
+ printf("ahc_pci_attach: Could not allocate DMA tag "
+ "- error %d\n", error);
return;
}
+ /* On all PCI adapters, we allow SCB paging */
+ ahc_f |= AHC_PAGESCBS;
+ if ((ahc = ahc_alloc(unit, io_port, vaddr, parent_dmat,
+ ahc_t|AHC_PCI, ahc_fe, ahc_f,
+ shared_scb_data)) == NULL)
+ return;
+
+ ahc->channel = channel;
/* Store our PCI bus information for use in our PCI error handler */
ahc->pci_config_id = config_id;
@@ -439,7 +636,8 @@ ahc_pci_attach(pcici_t config_id, int unit)
if ((dscommand0 & RAMPS) != 0) {
u_int32_t devconfig;
- devconfig = pci_conf_read(config_id, DEVCONFIG);
+ devconfig = pci_cfgread(config_id, DEVCONFIG,
+ /*bytes*/4);
if ((devconfig & MPORTMODE) != 0) {
/* Single user mode */
@@ -448,7 +646,8 @@ ahc_pci_attach(pcici_t config_id, int unit)
* parity checking
*/
devconfig |= EXTSCBPEN;
- pci_conf_write(config_id, DEVCONFIG, devconfig);
+ pci_cfgwrite(config_id, DEVCONFIG,
+ devconfig, /*bytes*/4);
/*
* Set the bank select apropriately.
@@ -474,7 +673,9 @@ ahc_pci_attach(pcici_t config_id, int unit)
}
} else if ((ahc->chip & AHC_CHIPID_MASK) >= AHC_AIC7870) {
- u_int32_t devconfig = pci_conf_read(config_id, DEVCONFIG);
+ u_int32_t devconfig;
+
+ devconfig = pci_cfgread(config_id, DEVCONFIG, /*bytes*/4);
if ((devconfig & RAMPSM) != 0
&& (devconfig & MPORTMODE) != 0) {
@@ -496,12 +697,14 @@ ahc_pci_attach(pcici_t config_id, int unit)
/* Select external SRAM */
devconfig &= ~SCBRAMSEL;
- pci_conf_write(config_id, DEVCONFIG, devconfig);
+ pci_cfgwrite(config_id, DEVCONFIG,
+ devconfig, /*bytes*/4);
if (ahc_probe_scbs(ahc) == 0) {
/* External ram isn't really there */
devconfig |= SCBRAMSEL;
- pci_conf_write(config_id, DEVCONFIG, devconfig);
+ pci_cfgwrite(config_id, DEVCONFIG,
+ devconfig, /*bytes*/4);
} else if (bootverbose)
printf("%s: External SRAM bank%d\n",
ahc_name(ahc),
@@ -513,6 +716,7 @@ ahc_pci_attach(pcici_t config_id, int unit)
ahc_free(ahc);
return;
}
+
/*
* Protect ourself from spurrious interrupts during
* intialization.
@@ -637,7 +841,7 @@ ahc_pci_attach(pcici_t config_id, int unit)
if (ahc_init(ahc)) {
ahc_free(ahc);
splx(opri);
- return; /* XXX PCI code should take return status */
+ return;
}
/* XXX Crude hack - fix sometime */
@@ -1103,7 +1307,7 @@ acquire_seeprom(struct ahc_softc *ahc, struct seeprom_descriptor *sd)
if ((ahc->features & AHC_SPIOCAP) != 0
&& (ahc_inb(ahc, SPIOCAP) & SEEPROM) == 0)
- return (0);
+ return (0);
/*
* Request access of the memory port. When access is
@@ -1230,4 +1434,177 @@ ahc_pci_intr(struct ahc_softc *ahc)
}
}
+static int
+ahc_aic7850_setup(pcici_t dev, char *channel, ahc_chip *chip,
+ ahc_feature *features, ahc_flag *flags)
+{
+ *channel = 'A';
+ *chip = AHC_AIC7850;
+ *features = AHC_AIC7850_FE;
+ return (0);
+}
+
+static int
+ahc_aic7860_setup(pcici_t dev, char *channel, ahc_chip *chip,
+ ahc_feature *features, ahc_flag *flags)
+{
+ *channel = 'A';
+ *chip = AHC_AIC7860;
+ *features = AHC_AIC7860_FE;
+ return (0);
+}
+
+static int
+ahc_aic7870_setup(pcici_t dev, char *channel, ahc_chip *chip,
+ ahc_feature *features, ahc_flag *flags)
+{
+ *channel = 'A';
+ *chip = AHC_AIC7870;
+ *features = AHC_AIC7870_FE;
+ return (0);
+}
+
+static int
+ahc_aha394X_setup(pcici_t dev, char *channel, ahc_chip *chip,
+ ahc_feature *features, ahc_flag *flags)
+{
+ int error;
+
+ error = ahc_aic7870_setup(dev, channel, chip, features, flags);
+ if (error == 0)
+ error = ahc_aha394XX_setup(dev, channel, chip, features, flags);
+ return (error);
+}
+
+static int
+ahc_aha398X_setup(pcici_t dev, char *channel, ahc_chip *chip,
+ ahc_feature *features, ahc_flag *flags)
+{
+ int error;
+
+ error = ahc_aic7870_setup(dev, channel, chip, features, flags);
+ if (error == 0)
+ error = ahc_aha398XX_setup(dev, channel, chip, features, flags);
+ return (error);
+}
+
+static int
+ahc_aic7880_setup(pcici_t dev, char *channel, ahc_chip *chip,
+ ahc_feature *features, ahc_flag *flags)
+{
+ *channel = 'A';
+ *chip = AHC_AIC7880;
+ *features = AHC_AIC7880_FE;
+ return (0);
+}
+
+static int
+ahc_aha394XU_setup(pcici_t dev, char *channel, ahc_chip *chip,
+ ahc_feature *features, ahc_flag *flags)
+{
+ int error;
+
+ error = ahc_aic7880_setup(dev, channel, chip, features, flags);
+ if (error == 0)
+ error = ahc_aha394XX_setup(dev, channel, chip, features, flags);
+ return (error);
+}
+
+static int
+ahc_aha398XU_setup(pcici_t dev, char *channel, ahc_chip *chip,
+ ahc_feature *features, ahc_flag *flags)
+{
+ int error;
+
+ error = ahc_aic7880_setup(dev, channel, chip, features, flags);
+ if (error == 0)
+ error = ahc_aha398XX_setup(dev, channel, chip, features, flags);
+ return (error);
+}
+
+static int
+ahc_aic7890_setup(pcici_t dev, char *channel, ahc_chip *chip,
+ ahc_feature *features, ahc_flag *flags)
+{
+ *channel = 'A';
+ *chip = AHC_AIC7890;
+ *features = AHC_AIC7890_FE;
+ return (0);
+}
+
+static int
+ahc_aic7895_setup(pcici_t dev, char *channel, ahc_chip *chip,
+ ahc_feature *features, ahc_flag *flags)
+{
+ u_int32_t devconfig;
+
+ *channel = dev->func == 1 ? 'B' : 'A';
+ *chip = AHC_AIC7895;
+ *features = AHC_AIC7895_FE;
+ devconfig = pci_cfgread(dev, DEVCONFIG, /*bytes*/4);
+ devconfig &= ~SCBSIZE32;
+ pci_cfgwrite(dev, DEVCONFIG, devconfig, /*bytes*/4);
+ return (0);
+}
+
+static int
+ahc_aic7896_setup(pcici_t dev, char *channel, ahc_chip *chip,
+ ahc_feature *features, ahc_flag *flags)
+{
+ *channel = dev->func == 1 ? 'B' : 'A';
+ *chip = AHC_AIC7896;
+ *features = AHC_AIC7896_FE;
+ return (0);
+}
+
+static int
+ahc_raid_setup(pcici_t dev, char *channel, ahc_chip *chip,
+ ahc_feature *features, ahc_flag *flags)
+{
+ printf("RAID functionality unsupported\n");
+ return (ENXIO);
+}
+
+static int
+ahc_aha394XX_setup(pcici_t dev, char *channel, ahc_chip *chip,
+ ahc_feature *features, ahc_flag *flags)
+{
+ switch (dev->slot) {
+ case AHC_394X_SLOT_CHANNEL_A:
+ *channel = 'A';
+ break;
+ case AHC_394X_SLOT_CHANNEL_B:
+ *channel = 'B';
+ break;
+ default:
+ printf("adapter at unexpected slot %d\n"
+ "unable to map to a channel\n",
+ dev->slot);
+ }
+ return (0);
+}
+
+static int
+ahc_aha398XX_setup(pcici_t dev, char *channel, ahc_chip *chip,
+ ahc_feature *features, ahc_flag *flags)
+{
+ switch (dev->slot) {
+ case AHC_398X_SLOT_CHANNEL_A:
+ *channel = 'A';
+ break;
+ case AHC_398X_SLOT_CHANNEL_B:
+ *channel = 'B';
+ break;
+ case AHC_398X_SLOT_CHANNEL_C:
+ *channel = 'C';
+ break;
+ default:
+ printf("adapter at unexpected slot %d\n"
+ "unable to map to a channel\n",
+ dev->slot);
+ }
+ *flags |= AHC_LARGE_SEEPROM;
+ return (0);
+}
+
#endif /* NPCI > 0 */
diff --git a/sys/pci/bt848_i2c.c b/sys/pci/bt848_i2c.c
index 47cc1d25f091..176d069a837f 100644
--- a/sys/pci/bt848_i2c.c
+++ b/sys/pci/bt848_i2c.c
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: bt848_i2c.c,v 1.2.2.1 1999/05/15 12:25:33 roger Exp $
+ * $Id: bt848_i2c.c,v 1.1 1998/10/31 11:26:38 nsouch Exp $
*
*/
@@ -33,12 +33,6 @@
* From brooktree848.c <fsmp@freefall.org>
*/
-#include "pci.h"
-#include "bktr.h"
-#include "smbus.h"
-
-#if (NBKTR > 0 && NPCI > 0 && NSMBUS > 0)
-
#include <sys/param.h>
#include <sys/kernel.h>
#include <sys/systm.h>
@@ -67,7 +61,10 @@
#include "iicbb_if.h"
#include "smbus_if.h"
+#include "pci.h"
+#include "bktr.h"
+#if (NBKTR > 0 && NPCI > 0)
#define I2C_DELAY 40
diff --git a/sys/ufs/ffs/README b/sys/ufs/ffs/README
deleted file mode 100644
index 8a7433b61e9e..000000000000
--- a/sys/ufs/ffs/README
+++ /dev/null
@@ -1,320 +0,0 @@
-Introduction
-
-This package constitutes the alpha distribution of the soft update
-code updates for the fast filesystem.
-
-For More information on what Soft Updates is, see:
-http://www.ece.cmu.edu/~ganger/papers/CSE-TR-254-95/
-
-Status
-
-My `filesystem torture tests' (described below) run for days without
-a hitch (no panic's, hangs, filesystem corruption, or memory leaks).
-However, I have had several panic's reported to me by folks that
-are field testing the code which I have not yet been able to
-reproduce or fix. Although these panic's are rare and do not cause
-filesystem corruption, the code should only be put into production
-on systems where the system administrator is aware that it is being
-run, and knows how to turn it off if problems arise. Thus, you may
-hand out this code to others, but please ensure that this status
-message is included with any distributions. Please also include
-the file ffs_softdep.stub.c in any distributions so that folks that
-cannot abide by the need to redistribute source will not be left
-with a kernel that will not link. It will resolve all the calls
-into the soft update code and simply ignores the request to enable
-them. Thus you will be able to ensure that your other hooks have
-not broken anything and that your kernel is softdep-ready for those
-that wish to use them. Please report problems back to me with
-kernel backtraces of panics if possible. This is massively complex
-code, and people only have to have their filesystems hosed once or
-twice to avoid future changes like the plague. I want to find and
-fix as many bugs as soon as possible so as to get the code rock
-solid before it gets widely released. Please report any bugs that
-you uncover to mckusick@mckusick.com.
-
-Performance
-
-Running the Andrew Benchmarks yields the following raw data:
-
- Phase Normal Softdep What it does
- 1 3s <1s Creating directories
- 2 8s 4s Copying files
- 3 6s 6s Recursive directory stats
- 4 8s 9s Scanning each file
- 5 25s 25s Compilation
-
- Normal: 19.9u 29.2s 0:52.8 135+630io
- Softdep: 20.3u 28.5s 0:47.8 103+363io
-
-Another interesting datapoint are my `filesystem torture tests'.
-They consist of 1000 runs of the andrew benchmarks, 1000 copy and
-removes of /etc with randomly selected pauses of 0-60 seconds
-between each copy and remove, and 500 find from / with randomly
-selected pauses of 100 seconds between each run). The run of the
-torture test compares as follows:
-
-With soft updates: writes: 6 sync, 1,113,686 async; run time 19hr, 50min
-Normal filesystem: writes: 1,459,147 sync, 487,031 async; run time 27hr, 15min
-
-The upshot is 42% less I/O and 28% shorter running time.
-
-Another interesting test point is a full MAKEDEV. Because it runs
-as a shell script, it becomes mostly limited by the execution speed
-of the machine on which it runs. Here are the numbers:
-
-With soft updates:
-
- labrat# time ./MAKEDEV std
- 2.2u 32.6s 0:34.82 100.0% 0+0k 11+36io 0pf+0w
-
- labrat# ls | wc
- 522 522 3317
-
-Without soft updates:
-
- labrat# time ./MAKEDEV std
- 2.0u 40.5s 0:42.53 100.0% 0+0k 11+1221io 0pf+0w
-
- labrat# ls | wc
- 522 522 3317
-
-Of course, some of the system time is being pushed
-to the syncer process, but that is a different story.
-
-To show a benchmark designed to highlight the soft update code
-consider a tar of zero-sized files and an rm -rf of a directory tree
-that has at least 50 files or so at each level. Running a test with
-a directory tree containing 28 directories holding 202 empty files
-produces the following numbers:
-
-With soft updates:
-tar: 0.0u 0.5s 0:00.65 76.9% 0+0k 0+44io 0pf+0w (0 sync, 33 async writes)
-rm: 0.0u 0.2s 0:00.20 100.0% 0+0k 0+37io 0pf+0w (0 sync, 72 async writes)
-
-Normal filesystem:
-tar: 0.0u 1.1s 0:07.27 16.5% 0+0k 60+586io 0pf+0w (523 sync, 0 async writes)
-rm: 0.0u 0.5s 0:01.84 29.3% 0+0k 0+318io 0pf+0w (258 sync, 65 async writes)
-
-The large reduction in writes is because inodes are clustered, so
-most of a block gets allocated, then the whole block is written
-out once rather than having the same block written once for each
-inode allocated from it. Similarly each directory block is written
-once rather than once for each new directory entry. Effectively
-what the update code is doing is allocating a bunch of inodes
-and directory entries without writing anything, then ensuring that
-the block containing the inodes is written first followed by the
-directory block that references them. If there were data in the
-files it would further ensure that the data blocks were written
-before their inodes claimed them.
-
-Copyright Restrictions
-
-Please familiarize yourself with the copyright restrictions
-contained at the top of either the sys/ufs/ffs/softdep.h or
-sys/ufs/ffs/ffs_softdep.c file. The key provision is similar
-to the one used by the DB 2.0 package and goes as follows:
-
- Redistributions in any form must be accompanied by information
- on how to obtain complete source code for any accompanying
- software that uses the this software. This source code must
- either be included in the distribution or be available for
- no more than the cost of distribution plus a nominal fee,
- and must be freely redistributable under reasonable
- conditions. For an executable file, complete source code
- means the source code for all modules it contains. It does
- not mean source code for modules or files that typically
- accompany the operating system on which the executable file
- runs, e.g., standard library modules or system header files.
-
-The idea is to allow those of you freely redistributing your source
-to use it while retaining for myself the right to peddle it for
-money to the commercial UNIX vendors. Note that I have included a
-stub file ffs_softdep.c.stub that is freely redistributable so that
-you can put in all the necessary hooks to run the full soft updates
-code, but still allow vendors that want to maintain proprietary
-source to have a working system. I do plan to release the code with
-a `Berkeley style' copyright once I have peddled it around to the
-commercial vendors. If you have concerns about this copyright,
-feel free to contact me with them and we can try to resolve any
-difficulties.
-
-Soft Dependency Operation
-
-The soft update implementation does NOT require ANY changes
-to the on-disk format of your filesystems. Furthermore it is
-not used by default for any filesystems. It must be enabled on
-a filesystem by filesystem basis by running tunefs to set a
-bit in the superblock indicating that the filesystem should be
-managed using soft updates. If you wish to stop using
-soft updates due to performance or reliability reasons,
-you can simply run tunefs on it again to turn off the bit and
-revert to normal operation. The additional dynamic memory load
-placed on the kernel malloc arena is approximately equal to
-the amount of memory used by vnodes plus inodes (for a system
-with 1000 vnodes, the additional peak memory load is about 300K).
-
-Kernel Changes
-
-There are two new changes to the kernel functionality that are not
-contained in in the soft update files. The first is a `trickle
-sync' facility running in the kernel as process 3. This trickle
-sync process replaces the traditional `update' program (which should
-be commented out of the /etc/rc startup script). When a vnode is
-first written it is placed 30 seconds down on the trickle sync
-queue. If it still exists and has dirty data when it reaches the
-top of the queue, it is sync'ed. This approach evens out the load
-on the underlying I/O system and avoids writing short-lived files.
-The papers on trickle-sync tend to favor aging based on buffers
-rather than files. However, I sync on file age rather than buffer
-age because the data structures are much smaller as there are
-typically far fewer files than buffers. Although this can make the
-I/O spikey when a big file times out, it is still much better than
-the wholesale sync's that were happening before. It also adapts
-much better to the soft update code where I want to control
-aging to improve performance (inodes age in 10 seconds, directories
-in 15 seconds, files in 30 seconds). This ensures that most
-dependencies are gone (e.g., inodes are written when directory
-entries want to go to disk) reducing the amount of rollback that
-is needed.
-
-The other main kernel change is to split the vnode freelist into
-two separate lists. One for vnodes that are still being used to
-identify buffers and the other for those vnodes no longer identifying
-any buffers. The latter list is used by getnewvnode in preference
-to the former.
-
-Packaging of Kernel Changes
-
-The sys subdirectory contains the changes and additions to the
-kernel. My goal in writing this code was to minimize the changes
-that need to be made to the kernel. Thus, most of the new code
-is contained in the two new files softdep.h and ffs_softdep.c.
-The rest of the kernel changes are simply inserting hooks to
-call into these two new files. Although there has been some
-structural reorganization of the filesystem code to accommodate
-gathering the information required by the soft update code,
-the actual ordering of filesystem operations when soft updates
-are disabled is unchanged.
-
-The kernel changes are packaged as a set of diffs. As I am
-doing my development in BSD/OS, the diffs are relative to the
-BSD/OS versions of the files. Because BSD/OS recently had
-4.4BSD-Lite2 merged into it, the Lite2 files are a good starting
-point for figuring out the changes. There are 40 files that
-require change plus the two new files. Most of these files have
-only a few lines of changes in them. However, four files have
-fairly extensive changes: kern/vfs_subr.c, ufs/ufs/ufs_lookup.c,
-ufs/ufs/ufs_vnops.c, and ufs/ffs/ffs_alloc.c. For these four
-files, I have provided the original Lite2 version, the Lite2
-version with the diffs merged in, and the diffs between the
-BSD/OS and merged version. Even so, I expect that there will
-be some difficulty in doing the merge; I am certainly willing
-to assist in helping get the code merged into your system.
-
-Packaging of Utility Changes
-
-The utilities subdirectory contains the changes and additions
-to the utilities. There are diffs to three utilities enclosed:
-
- tunefs - add a flag to enable and disable soft updates
-
- mount - print out whether soft updates are enabled and
- also statistics on number of sync and async writes
-
- fsck - tighter checks on acceptable errors and a slightly
- different policy for what to put in lost+found on
- filesystems using soft updates
-
-In addition you should recompile vmstat so as to get reports
-on the 13 new memory types used by the soft update code.
-It is not necessary to use the new version of fsck, however it
-would aid in my debugging if you do. Also, because of the time
-lag between deleting a directory entry and the inode it
-references, you will find a lot more files showing up in your
-lost+found if you do not use the new version. Note that the
-new version checks for the soft update flag in the superblock
-and only uses the new algorithms if it is set. So, it will run
-unchanged on the filesystems that are not using soft updates.
-
-Operation
-
-Once you have booted a kernel that incorporates the soft update
-code and installed the updated utilities, do the following:
-
-1) Comment out the update program in /etc/rc.
-
-2) Run `tunefs -n enable' on one or more test filesystems.
-
-3) Mount these filesystems and then type `mount' to ensure that
- they have been enabled for soft updates.
-
-4) Copy the test directory to a softdep filesystem, chdir into
- it and run `./doit'. You may want to check out each of the
- three subtests individually first: doit1 - andrew benchmarks,
- doit2 - copy and removal of /etc, doit3 - find from /.
-
-====
-Additional notes from Feb 13
-
-hen removing huge directories of files, it is possible to get
-the incore state arbitrarily far ahead of the disk. Maintaining
-all the associated depedency information can exhaust the kernel
-malloc arena. To avoid this senario, I have put some limits on
-the soft update code so that it will not be allowed to rampage
-through all of the kernel memory. I enclose below the relevant
-patches to vnode.h and vfs_subr.c (which allow the soft update
-code to speed up the filesystem syncer process). I have also
-included the diffs for ffs_softdep.c. I hope to make a pass over
-ffs_softdep.c to isolate the differences with my standard version
-so that these diffs are less painful to incorporate.
-
-Since I know you like to play with tuning, I have put the relevant
-knobs on sysctl debug variables. The tuning knobs can be viewed
-with `sysctl debug' and set with `sysctl -w debug.<name>=value'.
-The knobs are as follows:
-
- debug.max_softdeps - limit on any given resource
- debug.tickdelay - ticks to delay before allocating
- debug.max_limit_hit - number of times tickdelay imposed
- debug.rush_requests - number of rush requests to filesystem syncer
-
-The max_softdeps limit is derived from vnodesdesired which in
-turn is sized based on the amount of memory on the machine.
-When the limit is hit, a process requesting a resource first
-tries to speed up the filesystem syncer process. Such a
-request is recorded as a rush_request. After syncdelay / 2
-unserviced rush requests (typically 15) are in the filesystem
-syncers queue (i.e., it is more than 15 seconds behind in its
-work), the process requesting the memory is put to sleep for
-tickdelay seconds. Such a delay is recorded in max_limit_hit.
-Following this delay it is granted its memory without further
-delay. I have tried the following experiments in which I
-delete an MH directory containing 16,703 files:
-
-Run # 1 2 3
-
-max_softdeps 4496 4496 4496
-tickdelay 100 == 1 sec 20 == 0.2 sec 2 == 0.02 sec
-max_limit_hit 16 == 16 sec 27 == 5.4 sec 203 == 4.1 sec
-rush_requests 147 102 93
-run time 57 sec 46 sec 45 sec
-I/O's 781 859 936
-
-When run with no limits, it completes in 40 seconds. So, the
-time spent in delay is directly added to the bottom line.
-Shortening the tick delay does cut down the total running time,
-but at the expense of generating more total I/O operations
-due to the rush orders being sent to the filesystem syncer.
-Although the number of rush orders decreases with a shorter
-tick delay, there are more requests in each order, hence the
-increase in I/O count. Also, although the I/O count does rise
-with a shorter delay, it is still at least an order of magnitude
-less than without soft updates. Anyway, you may want to play
-around with these value to see what works best and to see if
-you can get an insight into how best to tune them. If you get
-out of memory panic's, then you have max_softdeps set too high.
-The max_limit_hit and rush_requests show be reset to zero
-before each run. The minimum legal value for tickdelay is 2
-(if you set it below that, the code will use 2).
-
-
diff --git a/sys/ufs/ffs/softdep.h b/sys/ufs/ffs/softdep.h
deleted file mode 100644
index 5d5ce5ec5cda..000000000000
--- a/sys/ufs/ffs/softdep.h
+++ /dev/null
@@ -1,548 +0,0 @@
-/*
- * Copyright 1998 Marshall Kirk McKusick. All Rights Reserved.
- *
- * The soft updates code is derived from the appendix of a University
- * of Michigan technical report (Gregory R. Ganger and Yale N. Patt,
- * "Soft Updates: A Solution to the Metadata Update Problem in File
- * Systems", CSE-TR-254-95, August 1995).
- *
- * The following are the copyrights and redistribution conditions that
- * apply to this copy of the soft update software. For a license
- * to use, redistribute or sell the soft update software under
- * conditions other than those described here, please contact the
- * author at one of the following addresses:
- *
- * Marshall Kirk McKusick mckusick@mckusick.com
- * 1614 Oxford Street +1-510-843-9542
- * Berkeley, CA 94709-1608
- * USA
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. None of the names of McKusick, Ganger, Patt, or the University of
- * Michigan may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- * 4. Redistributions in any form must be accompanied by information on
- * how to obtain complete source code for any accompanying software
- * that uses this software. This source code must either be included
- * in the distribution or be available for no more than the cost of
- * distribution plus a nominal fee, and must be freely redistributable
- * under reasonable conditions. For an executable file, complete
- * source code means the source code for all modules it contains.
- * It does not mean source code for modules or files that typically
- * accompany the operating system on which the executable file runs,
- * e.g., standard library modules or system header files.
- *
- * THIS SOFTWARE IS PROVIDED BY MARSHALL KIRK MCKUSICK ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL MARSHALL KIRK MCKUSICK BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)softdep.h 9.6 (McKusick) 2/25/99
- * $Id: softdep.h,v 1.5 1999/03/02 00:19:47 mckusick Exp $
- */
-
-#include <sys/queue.h>
-
-/*
- * Allocation dependencies are handled with undo/redo on the in-memory
- * copy of the data. A particular data dependency is eliminated when
- * it is ALLCOMPLETE: that is ATTACHED, DEPCOMPLETE, and COMPLETE.
- *
- * ATTACHED means that the data is not currently being written to
- * disk. UNDONE means that the data has been rolled back to a safe
- * state for writing to the disk. When the I/O completes, the data is
- * restored to its current form and the state reverts to ATTACHED.
- * The data must be locked throughout the rollback, I/O, and roll
- * forward so that the rolled back information is never visible to
- * user processes. The COMPLETE flag indicates that the item has been
- * written. For example, a dependency that requires that an inode be
- * written will be marked COMPLETE after the inode has been written
- * to disk. The DEPCOMPLETE flag indicates the completion of any other
- * dependencies such as the writing of a cylinder group map has been
- * completed. A dependency structure may be freed only when both it
- * and its dependencies have completed and any rollbacks that are in
- * progress have finished as indicated by the set of ALLCOMPLETE flags
- * all being set. The two MKDIR flags indicate additional dependencies
- * that must be done when creating a new directory. MKDIR_BODY is
- * cleared when the directory data block containing the "." and ".."
- * entries has been written. MKDIR_PARENT is cleared when the parent
- * inode with the increased link count for ".." has been written. When
- * both MKDIR flags have been cleared, the DEPCOMPLETE flag is set to
- * indicate that the directory dependencies have been completed. The
- * writing of the directory inode itself sets the COMPLETE flag which
- * then allows the directory entry for the new directory to be written
- * to disk. The RMDIR flag marks a dirrem structure as representing
- * the removal of a directory rather than a file. When the removal
- * dependencies are completed, additional work needs to be done
- * (truncation of the "." and ".." entries, an additional decrement
- * of the associated inode, and a decrement of the parent inode). The
- * DIRCHG flag marks a diradd structure as representing the changing
- * of an existing entry rather than the addition of a new one. When
- * the update is complete the dirrem associated with the inode for
- * the old name must be added to the worklist to do the necessary
- * reference count decrement. The GOINGAWAY flag indicates that the
- * data structure is frozen from further change until its dependencies
- * have been completed and its resources freed after which it will be
- * discarded. The IOSTARTED flag prevents multiple calls to the I/O
- * start routine from doing multiple rollbacks. The ONWORKLIST flag
- * shows whether the structure is currently linked onto a worklist.
- */
-#define ATTACHED 0x0001
-#define UNDONE 0x0002
-#define COMPLETE 0x0004
-#define DEPCOMPLETE 0x0008
-#define MKDIR_PARENT 0x0010
-#define MKDIR_BODY 0x0020
-#define RMDIR 0x0040
-#define DIRCHG 0x0080
-#define GOINGAWAY 0x0100
-#define IOSTARTED 0x0200
-#define ONWORKLIST 0x8000
-
-#define ALLCOMPLETE (ATTACHED | COMPLETE | DEPCOMPLETE)
-
-/*
- * The workitem queue.
- *
- * It is sometimes useful and/or necessary to clean up certain dependencies
- * in the background rather than during execution of an application process
- * or interrupt service routine. To realize this, we append dependency
- * structures corresponding to such tasks to a "workitem" queue. In a soft
- * updates implementation, most pending workitems should not wait for more
- * than a couple of seconds, so the filesystem syncer process awakens once
- * per second to process the items on the queue.
- */
-
-/* LIST_HEAD(workhead, worklist); -- declared in buf.h */
-
-/*
- * Each request can be linked onto a work queue through its worklist structure.
- * To avoid the need for a pointer to the structure itself, this structure
- * MUST be declared FIRST in each type in which it appears! If more than one
- * worklist is needed in the structure, then a wk_data field must be added
- * and the macros below changed to use it.
- */
-struct worklist {
- LIST_ENTRY(worklist) wk_list; /* list of work requests */
- unsigned short wk_type; /* type of request */
- unsigned short wk_state; /* state flags */
-};
-#define WK_DATA(wk) ((void *)(wk))
-#define WK_PAGEDEP(wk) ((struct pagedep *)(wk))
-#define WK_INODEDEP(wk) ((struct inodedep *)(wk))
-#define WK_NEWBLK(wk) ((struct newblk *)(wk))
-#define WK_BMSAFEMAP(wk) ((struct bmsafemap *)(wk))
-#define WK_ALLOCDIRECT(wk) ((struct allocdirect *)(wk))
-#define WK_INDIRDEP(wk) ((struct indirdep *)(wk))
-#define WK_ALLOCINDIR(wk) ((struct allocindir *)(wk))
-#define WK_FREEFRAG(wk) ((struct freefrag *)(wk))
-#define WK_FREEBLKS(wk) ((struct freeblks *)(wk))
-#define WK_FREEFILE(wk) ((struct freefile *)(wk))
-#define WK_DIRADD(wk) ((struct diradd *)(wk))
-#define WK_MKDIR(wk) ((struct mkdir *)(wk))
-#define WK_DIRREM(wk) ((struct dirrem *)(wk))
-
-/*
- * Various types of lists
- */
-LIST_HEAD(dirremhd, dirrem);
-LIST_HEAD(diraddhd, diradd);
-LIST_HEAD(newblkhd, newblk);
-LIST_HEAD(inodedephd, inodedep);
-LIST_HEAD(allocindirhd, allocindir);
-LIST_HEAD(allocdirecthd, allocdirect);
-TAILQ_HEAD(allocdirectlst, allocdirect);
-
-/*
- * The "pagedep" structure tracks the various dependencies related to
- * a particular directory page. If a directory page has any dependencies,
- * it will have a pagedep linked to its associated buffer. The
- * pd_dirremhd list holds the list of dirrem requests which decrement
- * inode reference counts. These requests are processed after the
- * directory page with the corresponding zero'ed entries has been
- * written. The pd_diraddhd list maintains the list of diradd requests
- * which cannot be committed until their corresponding inode has been
- * written to disk. Because a directory may have many new entries
- * being created, several lists are maintained hashed on bits of the
- * offset of the entry into the directory page to keep the lists from
- * getting too long. Once a new directory entry has been cleared to
- * be written, it is moved to the pd_pendinghd list. After the new
- * entry has been written to disk it is removed from the pd_pendinghd
- * list, any removed operations are done, and the dependency structure
- * is freed.
- */
-#define DAHASHSZ 6
-#define DIRADDHASH(offset) (((offset) >> 2) % DAHASHSZ)
-struct pagedep {
- struct worklist pd_list; /* page buffer */
-# define pd_state pd_list.wk_state /* check for multiple I/O starts */
- LIST_ENTRY(pagedep) pd_hash; /* hashed lookup */
- struct mount *pd_mnt; /* associated mount point */
- ino_t pd_ino; /* associated file */
- ufs_lbn_t pd_lbn; /* block within file */
- struct dirremhd pd_dirremhd; /* dirrem's waiting for page */
- struct diraddhd pd_diraddhd[DAHASHSZ]; /* diradd dir entry updates */
- struct diraddhd pd_pendinghd; /* directory entries awaiting write */
-};
-
-/*
- * The "inodedep" structure tracks the set of dependencies associated
- * with an inode. One task that it must manage is delayed operations
- * (i.e., work requests that must be held until the inodedep's associated
- * inode has been written to disk). Getting an inode from its incore
- * state to the disk requires two steps to be taken by the filesystem
- * in this order: first the inode must be copied to its disk buffer by
- * the VOP_UPDATE operation; second the inode's buffer must be written
- * to disk. To ensure that both operations have happened in the required
- * order, the inodedep maintains two lists. Delayed operations are
- * placed on the id_inowait list. When the VOP_UPDATE is done, all
- * operations on the id_inowait list are moved to the id_bufwait list.
- * When the buffer is written, the items on the id_bufwait list can be
- * safely moved to the work queue to be processed. A second task of the
- * inodedep structure is to track the status of block allocation within
- * the inode. Each block that is allocated is represented by an
- * "allocdirect" structure (see below). It is linked onto the id_newinoupdt
- * list until both its contents and its allocation in the cylinder
- * group map have been written to disk. Once these dependencies have been
- * satisfied, it is removed from the id_newinoupdt list and any followup
- * actions such as releasing the previous block or fragment are placed
- * on the id_inowait list. When an inode is updated (a VOP_UPDATE is
- * done), the "inodedep" structure is linked onto the buffer through
- * its worklist. Thus, it will be notified when the buffer is about
- * to be written and when it is done. At the update time, all the
- * elements on the id_newinoupdt list are moved to the id_inoupdt list
- * since those changes are now relevant to the copy of the inode in the
- * buffer. Also at update time, the tasks on the id_inowait list are
- * moved to the id_bufwait list so that they will be executed when
- * the updated inode has been written to disk. When the buffer containing
- * the inode is written to disk, any updates listed on the id_inoupdt
- * list are rolled back as they are not yet safe. Following the write,
- * the changes are once again rolled forward and any actions on the
- * id_bufwait list are processed (since those actions are now safe).
- * The entries on the id_inoupdt and id_newinoupdt lists must be kept
- * sorted by logical block number to speed the calculation of the size
- * of the rolled back inode (see explanation in initiate_write_inodeblock).
- * When a directory entry is created, it is represented by a diradd.
- * The diradd is added to the id_inowait list as it cannot be safely
- * written to disk until the inode that it represents is on disk. After
- * the inode is written, the id_bufwait list is processed and the diradd
- * entries are moved to the id_pendinghd list where they remain until
- * the directory block containing the name has been written to disk.
- * The purpose of keeping the entries on the id_pendinghd list is so that
- * the softdep_fsync function can find and push the inode's directory
- * name(s) as part of the fsync operation for that file.
- */
-struct inodedep {
- struct worklist id_list; /* buffer holding inode block */
-# define id_state id_list.wk_state /* inode dependency state */
- LIST_ENTRY(inodedep) id_hash; /* hashed lookup */
- struct fs *id_fs; /* associated filesystem */
- ino_t id_ino; /* dependent inode */
- nlink_t id_nlinkdelta; /* saved effective link count */
- struct dinode *id_savedino; /* saved dinode contents */
- LIST_ENTRY(inodedep) id_deps; /* bmsafemap's list of inodedep's */
- struct buf *id_buf; /* related bmsafemap (if pending) */
- off_t id_savedsize; /* file size saved during rollback */
- struct workhead id_pendinghd; /* entries awaiting directory write */
- struct workhead id_bufwait; /* operations after inode written */
- struct workhead id_inowait; /* operations waiting inode update */
- struct allocdirectlst id_inoupdt; /* updates before inode written */
- struct allocdirectlst id_newinoupdt; /* updates when inode written */
-};
-
-/*
- * A "newblk" structure is attached to a bmsafemap structure when a block
- * or fragment is allocated from a cylinder group. Its state is set to
- * DEPCOMPLETE when its cylinder group map is written. It is consumed by
- * an associated allocdirect or allocindir allocation which will attach
- * themselves to the bmsafemap structure if the newblk's DEPCOMPLETE flag
- * is not set (i.e., its cylinder group map has not been written).
- */
-struct newblk {
- LIST_ENTRY(newblk) nb_hash; /* hashed lookup */
- struct fs *nb_fs; /* associated filesystem */
- ufs_daddr_t nb_newblkno; /* allocated block number */
- int nb_state; /* state of bitmap dependency */
- LIST_ENTRY(newblk) nb_deps; /* bmsafemap's list of newblk's */
- struct bmsafemap *nb_bmsafemap; /* associated bmsafemap */
-};
-
-/*
- * A "bmsafemap" structure maintains a list of dependency structures
- * that depend on the update of a particular cylinder group map.
- * It has lists for newblks, allocdirects, allocindirs, and inodedeps.
- * It is attached to the buffer of a cylinder group block when any of
- * these things are allocated from the cylinder group. It is freed
- * after the cylinder group map is written and the state of its
- * dependencies are updated with DEPCOMPLETE to indicate that it has
- * been processed.
- */
-struct bmsafemap {
- struct worklist sm_list; /* cylgrp buffer */
- struct buf *sm_buf; /* associated buffer */
- struct allocdirecthd sm_allocdirecthd; /* allocdirect deps */
- struct allocindirhd sm_allocindirhd; /* allocindir deps */
- struct inodedephd sm_inodedephd; /* inodedep deps */
- struct newblkhd sm_newblkhd; /* newblk deps */
-};
-
-/*
- * An "allocdirect" structure is attached to an "inodedep" when a new block
- * or fragment is allocated and pointed to by the inode described by
- * "inodedep". The worklist is linked to the buffer that holds the block.
- * When the block is first allocated, it is linked to the bmsafemap
- * structure associated with the buffer holding the cylinder group map
- * from which it was allocated. When the cylinder group map is written
- * to disk, ad_state has the DEPCOMPLETE flag set. When the block itself
- * is written, the COMPLETE flag is set. Once both the cylinder group map
- * and the data itself have been written, it is safe to write the inode
- * that claims the block. If there was a previous fragment that had been
- * allocated before the file was increased in size, the old fragment may
- * be freed once the inode claiming the new block is written to disk.
- * This ad_fragfree request is attached to the id_inowait list of the
- * associated inodedep (pointed to by ad_inodedep) for processing after
- * the inode is written.
- */
-struct allocdirect {
- struct worklist ad_list; /* buffer holding block */
-# define ad_state ad_list.wk_state /* block pointer state */
- TAILQ_ENTRY(allocdirect) ad_next; /* inodedep's list of allocdirect's */
- ufs_lbn_t ad_lbn; /* block within file */
- ufs_daddr_t ad_newblkno; /* new value of block pointer */
- ufs_daddr_t ad_oldblkno; /* old value of block pointer */
- long ad_newsize; /* size of new block */
- long ad_oldsize; /* size of old block */
- LIST_ENTRY(allocdirect) ad_deps; /* bmsafemap's list of allocdirect's */
- struct buf *ad_buf; /* cylgrp buffer (if pending) */
- struct inodedep *ad_inodedep; /* associated inodedep */
- struct freefrag *ad_freefrag; /* fragment to be freed (if any) */
-};
-
-/*
- * A single "indirdep" structure manages all allocation dependencies for
- * pointers in an indirect block. The up-to-date state of the indirect
- * block is stored in ir_savedata. The set of pointers that may be safely
- * written to the disk is stored in ir_safecopy. The state field is used
- * only to track whether the buffer is currently being written (in which
- * case it is not safe to update ir_safecopy). Ir_deplisthd contains the
- * list of allocindir structures, one for each block that needs to be
- * written to disk. Once the block and its bitmap allocation have been
- * written the safecopy can be updated to reflect the allocation and the
- * allocindir structure freed. If ir_state indicates that an I/O on the
- * indirect block is in progress when ir_safecopy is to be updated, the
- * update is deferred by placing the allocindir on the ir_donehd list.
- * When the I/O on the indirect block completes, the entries on the
- * ir_donehd list are processed by updating their corresponding ir_safecopy
- * pointers and then freeing the allocindir structure.
- */
-struct indirdep {
- struct worklist ir_list; /* buffer holding indirect block */
-# define ir_state ir_list.wk_state /* indirect block pointer state */
- caddr_t ir_saveddata; /* buffer cache contents */
- struct buf *ir_savebp; /* buffer holding safe copy */
- struct allocindirhd ir_donehd; /* done waiting to update safecopy */
- struct allocindirhd ir_deplisthd; /* allocindir deps for this block */
-};
-
-/*
- * An "allocindir" structure is attached to an "indirdep" when a new block
- * is allocated and pointed to by the indirect block described by the
- * "indirdep". The worklist is linked to the buffer that holds the new block.
- * When the block is first allocated, it is linked to the bmsafemap
- * structure associated with the buffer holding the cylinder group map
- * from which it was allocated. When the cylinder group map is written
- * to disk, ai_state has the DEPCOMPLETE flag set. When the block itself
- * is written, the COMPLETE flag is set. Once both the cylinder group map
- * and the data itself have been written, it is safe to write the entry in
- * the indirect block that claims the block; the "allocindir" dependency
- * can then be freed as it is no longer applicable.
- */
-struct allocindir {
- struct worklist ai_list; /* buffer holding indirect block */
-# define ai_state ai_list.wk_state /* indirect block pointer state */
- LIST_ENTRY(allocindir) ai_next; /* indirdep's list of allocindir's */
- int ai_offset; /* pointer offset in indirect block */
- ufs_daddr_t ai_newblkno; /* new block pointer value */
- ufs_daddr_t ai_oldblkno; /* old block pointer value */
- struct freefrag *ai_freefrag; /* block to be freed when complete */
- struct indirdep *ai_indirdep; /* address of associated indirdep */
- LIST_ENTRY(allocindir) ai_deps; /* bmsafemap's list of allocindir's */
- struct buf *ai_buf; /* cylgrp buffer (if pending) */
-};
-
-/*
- * A "freefrag" structure is attached to an "inodedep" when a previously
- * allocated fragment is replaced with a larger fragment, rather than extended.
- * The "freefrag" structure is constructed and attached when the replacement
- * block is first allocated. It is processed after the inode claiming the
- * bigger block that replaces it has been written to disk. Note that the
- * ff_state field is is used to store the uid, so may lose data. However,
- * the uid is used only in printing an error message, so is not critical.
- * Keeping it in a short keeps the data structure down to 32 bytes.
- */
-struct freefrag {
- struct worklist ff_list; /* id_inowait or delayed worklist */
-# define ff_state ff_list.wk_state /* owning user; should be uid_t */
- struct vnode *ff_devvp; /* filesystem device vnode */
- struct fs *ff_fs; /* addr of superblock */
- ufs_daddr_t ff_blkno; /* fragment physical block number */
- long ff_fragsize; /* size of fragment being deleted */
- ino_t ff_inum; /* owning inode number */
-};
-
-/*
- * A "freeblks" structure is attached to an "inodedep" when the
- * corresponding file's length is reduced to zero. It records all
- * the information needed to free the blocks of a file after its
- * zero'ed inode has been written to disk.
- */
-struct freeblks {
- struct worklist fb_list; /* id_inowait or delayed worklist */
- ino_t fb_previousinum; /* inode of previous owner of blocks */
- struct vnode *fb_devvp; /* filesystem device vnode */
- struct fs *fb_fs; /* addr of superblock */
- off_t fb_oldsize; /* previous file size */
- off_t fb_newsize; /* new file size */
- int fb_chkcnt; /* used to check cnt of blks released */
- uid_t fb_uid; /* uid of previous owner of blocks */
- ufs_daddr_t fb_dblks[NDADDR]; /* direct blk ptrs to deallocate */
- ufs_daddr_t fb_iblks[NIADDR]; /* indirect blk ptrs to deallocate */
-};
-
-/*
- * A "freefile" structure is attached to an inode when its
- * link count is reduced to zero. It marks the inode as free in
- * the cylinder group map after the zero'ed inode has been written
- * to disk and any associated blocks and fragments have been freed.
- */
-struct freefile {
- struct worklist fx_list; /* id_inowait or delayed worklist */
- mode_t fx_mode; /* mode of inode */
- ino_t fx_oldinum; /* inum of the unlinked file */
- struct vnode *fx_devvp; /* filesystem device vnode */
- struct fs *fx_fs; /* addr of superblock */
-};
-
-/*
- * A "diradd" structure is linked to an "inodedep" id_inowait list when a
- * new directory entry is allocated that references the inode described
- * by "inodedep". When the inode itself is written (either the initial
- * allocation for new inodes or with the increased link count for
- * existing inodes), the COMPLETE flag is set in da_state. If the entry
- * is for a newly allocated inode, the "inodedep" structure is associated
- * with a bmsafemap which prevents the inode from being written to disk
- * until the cylinder group has been updated. Thus the da_state COMPLETE
- * flag cannot be set until the inode bitmap dependency has been removed.
- * When creating a new file, it is safe to write the directory entry that
- * claims the inode once the referenced inode has been written. Since
- * writing the inode clears the bitmap dependencies, the DEPCOMPLETE flag
- * in the diradd can be set unconditionally when creating a file. When
- * creating a directory, there are two additional dependencies described by
- * mkdir structures (see their description below). When these dependencies
- * are resolved the DEPCOMPLETE flag is set in the diradd structure.
- * If there are multiple links created to the same inode, there will be
- * a separate diradd structure created for each link. The diradd is
- * linked onto the pg_diraddhd list of the pagedep for the directory
- * page that contains the entry. When a directory page is written,
- * the pg_diraddhd list is traversed to rollback any entries that are
- * not yet ready to be written to disk. If a directory entry is being
- * changed (by rename) rather than added, the DIRCHG flag is set and
- * the da_previous entry points to the entry that will be "removed"
- * once the new entry has been committed. During rollback, entries
- * with da_previous are replaced with the previous inode number rather
- * than zero.
- *
- * The overlaying of da_pagedep and da_previous is done to keep the
- * structure down to 32 bytes in size on a 32-bit machine. If a
- * da_previous entry is present, the pointer to its pagedep is available
- * in the associated dirrem entry. If the DIRCHG flag is set, the
- * da_previous entry is valid; if not set the da_pagedep entry is valid.
- * The DIRCHG flag never changes; it is set when the structure is created
- * if appropriate and is never cleared.
- */
-struct diradd {
- struct worklist da_list; /* id_inowait or id_pendinghd list */
-# define da_state da_list.wk_state /* state of the new directory entry */
- LIST_ENTRY(diradd) da_pdlist; /* pagedep holding directory block */
- doff_t da_offset; /* offset of new dir entry in dir blk */
- ino_t da_newinum; /* inode number for the new dir entry */
- union {
- struct dirrem *dau_previous; /* entry being replaced in dir change */
- struct pagedep *dau_pagedep; /* pagedep dependency for addition */
- } da_un;
-};
-#define da_previous da_un.dau_previous
-#define da_pagedep da_un.dau_pagedep
-
-/*
- * Two "mkdir" structures are needed to track the additional dependencies
- * associated with creating a new directory entry. Normally a directory
- * addition can be committed as soon as the newly referenced inode has been
- * written to disk with its increased link count. When a directory is
- * created there are two additional dependencies: writing the directory
- * data block containing the "." and ".." entries (MKDIR_BODY) and writing
- * the parent inode with the increased link count for ".." (MKDIR_PARENT).
- * These additional dependencies are tracked by two mkdir structures that
- * reference the associated "diradd" structure. When they have completed,
- * they set the DEPCOMPLETE flag on the diradd so that it knows that its
- * extra dependencies have been completed. The md_state field is used only
- * to identify which type of dependency the mkdir structure is tracking.
- * It is not used in the mainline code for any purpose other than consistency
- * checking. All the mkdir structures in the system are linked together on
- * a list. This list is needed so that a diradd can find its associated
- * mkdir structures and deallocate them if it is prematurely freed (as for
- * example if a mkdir is immediately followed by a rmdir of the same directory).
- * Here, the free of the diradd must traverse the list to find the associated
- * mkdir structures that reference it. The deletion would be faster if the
- * diradd structure were simply augmented to have two pointers that referenced
- * the associated mkdir's. However, this would increase the size of the diradd
- * structure from 32 to 64-bits to speed a very infrequent operation.
- */
-struct mkdir {
- struct worklist md_list; /* id_inowait or buffer holding dir */
-# define md_state md_list.wk_state /* type: MKDIR_PARENT or MKDIR_BODY */
- struct diradd *md_diradd; /* associated diradd */
- struct buf *md_buf; /* MKDIR_BODY: buffer holding dir */
- LIST_ENTRY(mkdir) md_mkdirs; /* list of all mkdirs */
-};
-LIST_HEAD(mkdirlist, mkdir) mkdirlisthd;
-
-/*
- * A "dirrem" structure describes an operation to decrement the link
- * count on an inode. The dirrem structure is attached to the pg_dirremhd
- * list of the pagedep for the directory page that contains the entry.
- * It is processed after the directory page with the deleted entry has
- * been written to disk.
- *
- * The overlaying of dm_pagedep and dm_dirinum is done to keep the
- * structure down to 32 bytes in size on a 32-bit machine. It works
- * because they are never used concurrently.
- */
-struct dirrem {
- struct worklist dm_list; /* delayed worklist */
-# define dm_state dm_list.wk_state /* state of the old directory entry */
- LIST_ENTRY(dirrem) dm_next; /* pagedep's list of dirrem's */
- struct mount *dm_mnt; /* associated mount point */
- ino_t dm_oldinum; /* inum of the removed dir entry */
- union {
- struct pagedep *dmu_pagedep; /* pagedep dependency for remove */
- ino_t dmu_dirinum; /* parent inode number (for rmdir) */
- } dm_un;
-};
-#define dm_pagedep dm_un.dmu_pagedep
-#define dm_dirinum dm_un.dmu_dirinum
diff --git a/usr.sbin/memcontrol/Makefile b/usr.sbin/memcontrol/Makefile
deleted file mode 100644
index 3d8ffd7cbb66..000000000000
--- a/usr.sbin/memcontrol/Makefile
+++ /dev/null
@@ -1,4 +0,0 @@
-PROG= memcontrol
-NOMAN= yes
-
-.include <bsd.prog.mk>
diff --git a/usr.sbin/ppp/acf.h b/usr.sbin/ppp/acf.h
deleted file mode 100644
index ed2d2fe93aa3..000000000000
--- a/usr.sbin/ppp/acf.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*-
- * Copyright (c) 1999 Brian Somers <brian@Awfulhak.org>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $Id:$
- */
-
-struct lcp;
-
-extern int acf_WrapperOctets(struct lcp *, u_short);
-
-extern struct layer acflayer;
diff --git a/usr.sbin/ppp/proto.h b/usr.sbin/ppp/proto.h
deleted file mode 100644
index d98241127284..000000000000
--- a/usr.sbin/ppp/proto.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Written by Toshiharu OHNO (tony-o@iij.ad.jp)
- *
- * Copyright (C) 1993, Internet Initiative Japan, Inc. All rights reserverd.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by the Internet Initiative Japan. The name of the
- * IIJ may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Id:$
- */
-
-/*
- * Definition of protocol numbers
- */
-#define PROTO_IP 0x0021 /* IP */
-#define PROTO_VJUNCOMP 0x002f /* VJ Uncompressed */
-#define PROTO_VJCOMP 0x002d /* VJ Compressed */
-#define PROTO_MP 0x003d /* Multilink fragment */
-#define PROTO_ICOMPD 0x00fb /* Individual link compressed */
-#define PROTO_COMPD 0x00fd /* Compressed datagram */
-
-#define PROTO_COMPRESSIBLE(p) (((p) & 0xffe1) == 0x21)
-
-#define PROTO_IPCP 0x8021
-#define PROTO_ICCP 0x80fb
-#define PROTO_CCP 0x80fd
-
-#define PROTO_LCP 0xc021
-#define PROTO_PAP 0xc023
-#define PROTO_CBCP 0xc029
-#define PROTO_LQR 0xc025
-#define PROTO_CHAP 0xc223
-
-struct lcp;
-
-extern int proto_WrapperOctets(struct lcp *, u_short);
-struct mbuf *proto_Prepend(struct mbuf *, u_short, unsigned, int);
-
-extern struct layer protolayer;
diff --git a/usr.sbin/ppp/sync.h b/usr.sbin/ppp/sync.h
deleted file mode 100644
index 334555d5c152..000000000000
--- a/usr.sbin/ppp/sync.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*-
- * Copyright (c) 1999 Brian Somers <brian@Awfulhak.org>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $Id:$
- */
-
-extern struct layer synclayer;
diff --git a/usr.sbin/wicontrol/Makefile b/usr.sbin/wicontrol/Makefile
deleted file mode 100644
index 971f12cdfef6..000000000000
--- a/usr.sbin/wicontrol/Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
-# $Id: Makefile,v 1.2 1997/05/23 04:04:15 msmith Exp $
-PROG= wicontrol
-SRCS= wicontrol.c
-
-CFLAGS+= -Wall
-
-MAN8= wicontrol.8
-
-.include <bsd.prog.mk>