diff --git a/examples/effects/fog/Makefile b/examples/effects/fog/Makefile index 133ddc5..6006f41 100644 --- a/examples/effects/fog/Makefile +++ b/examples/effects/fog/Makefile @@ -24,7 +24,7 @@ BUILD := build SOURCES := source INCLUDES := include DATA := data -GRAPHICS := +GRAPHICS := graphics AUDIO := ICON := diff --git a/examples/effects/fog/Makefile.blocksds b/examples/effects/fog/Makefile.blocksds index 626cf71..151bded 100644 --- a/examples/effects/fog/Makefile.blocksds +++ b/examples/effects/fog/Makefile.blocksds @@ -1,3 +1,4 @@ BINDIRS := data +GFXDIRS := graphics include ../../Makefile.example.blocksds diff --git a/examples/effects/fog/assets.sh b/examples/effects/fog/assets.sh index 81a941a..5871f29 100644 --- a/examples/effects/fog/assets.sh +++ b/examples/effects/fog/assets.sh @@ -4,18 +4,11 @@ NITRO_ENGINE=$DEVKITPRO/nitro-engine ASSETS=$NITRO_ENGINE/examples/assets TOOLS=$NITRO_ENGINE/tools OBJ2DL=$TOOLS/obj2dl/obj2dl.py -IMG2DS=$TOOLS/img2ds/img2ds.py +rm -rf data mkdir -p data python3 $OBJ2DL \ --input $ASSETS/sphere.obj \ --output data/sphere.bin \ --texture 256 256 - -python3 $IMG2DS \ - --input $ASSETS/teapot.png \ - --name texture \ - --output data \ - --format A1RGB5 - diff --git a/examples/effects/fog/graphics/texture.grit b/examples/effects/fog/graphics/texture.grit new file mode 100644 index 0000000..42e61f7 --- /dev/null +++ b/examples/effects/fog/graphics/texture.grit @@ -0,0 +1,2 @@ +# 16-bit palette, no transparency +-gx -gb -gB16 -gT! diff --git a/examples/effects/fog/graphics/texture.png b/examples/effects/fog/graphics/texture.png new file mode 100644 index 0000000..eafd9fa Binary files /dev/null and b/examples/effects/fog/graphics/texture.png differ diff --git a/examples/effects/fog/source/main.c b/examples/effects/fog/source/main.c index cea0c42..f2edda4 100644 --- a/examples/effects/fog/source/main.c +++ b/examples/effects/fog/source/main.c @@ -6,7 +6,7 @@ #include -#include "texture_tex_bin.h" +#include "texture.h" #include "sphere_bin.h" NE_Camera *Camera; @@ -60,7 +60,7 @@ int main(void) // Load texture NE_MaterialTexLoad(Material, NE_RGB5, 256, 256, NE_TEXGEN_TEXCOORD, - (u8 *)texture_tex_bin); + textureBitmap); // Assign the same material to every model object. NE_ModelSetMaterial(Model, Material); diff --git a/examples/effects/shading_alpha_outlining/Makefile b/examples/effects/shading_alpha_outlining/Makefile index 133ddc5..6006f41 100644 --- a/examples/effects/shading_alpha_outlining/Makefile +++ b/examples/effects/shading_alpha_outlining/Makefile @@ -24,7 +24,7 @@ BUILD := build SOURCES := source INCLUDES := include DATA := data -GRAPHICS := +GRAPHICS := graphics AUDIO := ICON := diff --git a/examples/effects/shading_alpha_outlining/Makefile.blocksds b/examples/effects/shading_alpha_outlining/Makefile.blocksds index 626cf71..151bded 100644 --- a/examples/effects/shading_alpha_outlining/Makefile.blocksds +++ b/examples/effects/shading_alpha_outlining/Makefile.blocksds @@ -1,3 +1,4 @@ BINDIRS := data +GFXDIRS := graphics include ../../Makefile.example.blocksds diff --git a/examples/effects/shading_alpha_outlining/assets.sh b/examples/effects/shading_alpha_outlining/assets.sh index d373a51..1a39bd8 100644 --- a/examples/effects/shading_alpha_outlining/assets.sh +++ b/examples/effects/shading_alpha_outlining/assets.sh @@ -4,8 +4,8 @@ NITRO_ENGINE=$DEVKITPRO/nitro-engine ASSETS=$NITRO_ENGINE/examples/assets TOOLS=$NITRO_ENGINE/tools OBJ2DL=$TOOLS/obj2dl/obj2dl.py -IMG2DS=$TOOLS/img2ds/img2ds.py +rm -rf data mkdir -p data python3 $OBJ2DL \ @@ -13,9 +13,3 @@ python3 $OBJ2DL \ --output data/teapot.bin \ --texture 256 256 \ --scale 0.1 - -python3 $IMG2DS \ - --input $ASSETS/teapot.png \ - --name teapot \ - --output data \ - --format A1RGB5 diff --git a/examples/effects/shading_alpha_outlining/graphics/teapot.grit b/examples/effects/shading_alpha_outlining/graphics/teapot.grit new file mode 100644 index 0000000..42e61f7 --- /dev/null +++ b/examples/effects/shading_alpha_outlining/graphics/teapot.grit @@ -0,0 +1,2 @@ +# 16-bit palette, no transparency +-gx -gb -gB16 -gT! diff --git a/examples/effects/shading_alpha_outlining/graphics/teapot.png b/examples/effects/shading_alpha_outlining/graphics/teapot.png new file mode 100644 index 0000000..eafd9fa Binary files /dev/null and b/examples/effects/shading_alpha_outlining/graphics/teapot.png differ diff --git a/examples/effects/shading_alpha_outlining/source/main.c b/examples/effects/shading_alpha_outlining/source/main.c index ca1c49d..78f9166 100644 --- a/examples/effects/shading_alpha_outlining/source/main.c +++ b/examples/effects/shading_alpha_outlining/source/main.c @@ -7,7 +7,7 @@ #include #include "teapot_bin.h" -#include "teapot_tex_bin.h" +#include "teapot.h" NE_Camera *Camera; NE_Model *Model; @@ -58,7 +58,7 @@ int main(void) // Load teapot from RAM and assign it to a material NE_MaterialTexLoad(Material, NE_RGB5, 256, 256, NE_TEXGEN_TEXCOORD | NE_TEXTURE_WRAP_S | NE_TEXTURE_WRAP_T, - (u8 *)teapot_tex_bin); + teapotBitmap); // Assign material to the model NE_ModelSetMaterial(Model, Material); diff --git a/examples/effects/specular_material/Makefile b/examples/effects/specular_material/Makefile index 133ddc5..6006f41 100644 --- a/examples/effects/specular_material/Makefile +++ b/examples/effects/specular_material/Makefile @@ -24,7 +24,7 @@ BUILD := build SOURCES := source INCLUDES := include DATA := data -GRAPHICS := +GRAPHICS := graphics AUDIO := ICON := diff --git a/examples/effects/specular_material/Makefile.blocksds b/examples/effects/specular_material/Makefile.blocksds index 626cf71..151bded 100644 --- a/examples/effects/specular_material/Makefile.blocksds +++ b/examples/effects/specular_material/Makefile.blocksds @@ -1,3 +1,4 @@ BINDIRS := data +GFXDIRS := graphics include ../../Makefile.example.blocksds diff --git a/examples/effects/specular_material/assets.sh b/examples/effects/specular_material/assets.sh index d373a51..1a39bd8 100644 --- a/examples/effects/specular_material/assets.sh +++ b/examples/effects/specular_material/assets.sh @@ -4,8 +4,8 @@ NITRO_ENGINE=$DEVKITPRO/nitro-engine ASSETS=$NITRO_ENGINE/examples/assets TOOLS=$NITRO_ENGINE/tools OBJ2DL=$TOOLS/obj2dl/obj2dl.py -IMG2DS=$TOOLS/img2ds/img2ds.py +rm -rf data mkdir -p data python3 $OBJ2DL \ @@ -13,9 +13,3 @@ python3 $OBJ2DL \ --output data/teapot.bin \ --texture 256 256 \ --scale 0.1 - -python3 $IMG2DS \ - --input $ASSETS/teapot.png \ - --name teapot \ - --output data \ - --format A1RGB5 diff --git a/examples/effects/specular_material/data/teapot_tex.bin b/examples/effects/specular_material/data/teapot_tex.bin deleted file mode 100644 index 7c633ea..0000000 --- a/examples/effects/specular_material/data/teapot_tex.bin +++ /dev/null @@ -1 +0,0 @@ -9{)1R1R{{{ڭs{Z9ZZZ9ޔҔ9s9Z{1ι޽Z­ֽ9Jڽ{ιs9{Z{{޵99RRʵ9{{Z99Z9sΔ{{9{{sR1Ƶ{ZkZ9kRsR1{{{ι֜Z9Z{9Rss9{9ڵZڭJ199ιR{{k9ιZ{Z{ZڔZ9sΔ{{ZZZ{{{Z{s1s9Z1))RʽZRRZ{Z1R{{9199{1”999{ޔ{޵ZZsΌkµ9{{ڔ99RҜZҌ{{ZZ{sZZڔZsRʔZڔҔ{{9s1s9{Z9R9JZ{9Z{{{s9{{ι1ZZ9ZZιιs9ZZZZ9ZҵZュιsΔRʔZ99kι9Z{ZRʌs9{ZZ{{sR{Z޵{9ڔҔҔZsR{{9ZZ­µZ{Z99999{{ιRZZι)k{{{{Z9޵Rι1sss1Rޜ99Z1ƔZ{{{{{{ҭҜZ9{91JιZ{{Z9999{Ҕ9{Z޵Rュ{1ZZ)kオ9ZRJZ{{Z{{9s1{Z{9ڵ֔{1R9{9Z9sΔҔRlZ{Z99999Zι1ZsJk9{s1ιJ)))JJJJJ))Jι֜9Z9s1ƵZ{{{{9sι޽99{R)ޜ{{ZZZ9{{{9ssޜ{{{{1J)ι1ιҜڭ)ڜ9)9{{Rʵ{{9{9{9ss9{1Ƶ֜99s{{sΌZ19kks{{ιιιιιιιιιュkkιJ)9Zs1ƵZ{{{{Z19{9ZZJι{Z9{ss{1J)ュR999{{Rʌ)ޭ){{ڜ{99{޵Z1Ƶ{ZsR{sRRs{{ι)11ޜތJsst999999ZZ{{{Z9999ιJιڜZ9s1s9Z{{{ZRZZ9ڭk9{Z{{{){{91)1Z)){ZֵZ{{Z9Z{ޔZ9R1ޜ9sΔ{9ss{{9RkksZ9Rޜ㌱J)9sι{9RιsεZ{9Z11s{9ιҜ{޵sΌ19{ZZZ9skJ{{99kҜJ)ιڜs{{{{{ޔҵZsZ9sε{Z999Z{Z{{kZオ֜9kkRZ{1ιsι1Z9{ZssΔ{9sέֽRRι1{Z9Z{{ZsΌJkڜ{ZZ9{Z9ڌ199sέ)Z{{R{sε99Rڜ{Rs9{ZZ{Z{{ޔιڽ{֭s{{91kޜ{1ι1ι1ޜZZZ{{9{{9Rʌ֜sRRι1ƵZZ9{9{9sΌk1Ƶsι{9{{㭵RZ{{9ZZ)J11sRޔҵZR9Z9RʵZ{{{ZZ9ZZŒڽڌ1Z{{9Rʌιޜ19Z1ιs{Z9{{9ZZ)RZZ1ι1ƔRRʔҵZ{9ZZ{9ҌJRZZRʭs9Z{{{㭵JҜ{Z9ZιRs1s{1ƵZ{ޔҵZZRʭZ{{ZRʔ999{{Z9ZZRʌҜ{{{ڌZZs1Ɣ9kRι޽91オZ{ޜ{9Z{{9Z9Ҍ)µ9{91ƭ1ƵֵRʔ{Z{{Z֭JRʜ֌sZ{{Z{kk֜999{9ss9ZsέZZ1Ƶ9ҵ9ιޜZ{ZssΔҵZZsΌ{ZsJ{Zs1ƔҔJkιk޽ιsZޜ{999ZZZ{{Z9{{99ڔsk)1ڔ{ZZZs{{ZkJsΜ{sJks9{Z{ZJι{{{9{ڌιZR1sZ9sڭ1Z{ZZ99{Z99ιJι1RRR11Rss)R991µRRRʌ)JҜιҜZ{ZZZ999Z99{{ZRZJ)s9{9{{Z9{9ss9{{{s)kZ֌)ιޜZZZޜ19{{{99{{9֭{1ƭRR”{ޭ1ZZZ{{Z9Z{{Z{ZkJkιR9sΌJιRʔҵڔιュZ֭))ιZιs{ZZ9Z{9޵ι眔ҜZsJι{Z{{ZZ991Ɣ{{ZRkRsέ{{{99sR{{99{Z9ZZ{{sιs{{kJJJҜ999ZZZZZ{{{ZZZ{{Z{ڵֵֵ{91ι1Ɣҵ9RʌkkJڽ{9ZZR1kJs9sk県֜{9ZZ{{1Ƶ֜{{ZR)k{9Z9Z{sRZZ9Z{Z9{{{ZstZZ9sέ)1ZZRʭιRʵ9{{{Z{{1Rޜ{{{{{{1ƔZsRs{1J){sιR9{ZZ9ZZs111RʔҔJ県{{99ZZ9Rs9{RZZ{Z{sJ1Z9Z{Z9Z{Z1sZ{{ZZ{{ڭ{{ιs9ZZZ{{{k)Z{ZZ1Ɣ9ZkJ191ιZ{ZZ9999ZZRk眭{{ZZ{9{Z9{1ƵZZ)ks99Z9ZZRιs޵999{ZsΔ9{{sZ91)kJJ1Rʔ9ZZ֭)ιZ9Z{{9R1ƔZ99㌱)1ޜι{Z9ZޔRʔZZR)֜{{{9{Z99sRޜ{{{{kJŒ)ι1sޜZ9Z1R91Ɣ{{s{{Z99ZZZ{{1Rʵ{9)オֵJJ1sڔҭ)kRsέ)ιRʔҵ{{sιιRZZ9筵)RRι{オ{Z9ZssεZ9Js{{9ZZ9sεZ{Z999{{s)ޔιJJRZ{1{RZ1Ƶ{ZZZ99Z91kR{ތ֜RlJkι)sZ9JRޔҔޜ{9ι)Jڽ{޽9筵kt9オ{{Z9Z9ޜkι{ZZZ9{ڵZ{ZZ99Z{ڭkZ91lҜR19ZR޽µ{{{ZZ{{{{R1R1ュ1{ZR)9{Z9޵sRJ9Zk{9sڜ{JJ1{޽㌱9ZιR{オ{Z{ZJZ{{9Z99Z{ڵZιZ9ޔR޽{1Zt{ZR{{ZZ{{{9Ҕ91ιRڔҭ19{ZZ{9R1s{9ŒZ֔ޜ㭵)ι9{޽ڌ9RιµZ{オ{{{{9ZJ{{9{Z9{Z{{{{{11ƵZ1J1Z{91sZZRʌ9R919{{{{{s{R1RJsεֵ9{ZZ{{{{9sέRڵ9Z{Z޽kZ9sιRZ޽Z{{ZιksZ{{{9{Z9{{ZڔR­ι1J)Z{{ޔҵ99֭ڽsΔ9Rt{{{{Zڵ99sι)J”9{{ュRʵ9{{RZڽRk1{ZRR{ιsZZZ{{{ҌZ{{{Z9Z9{{ZڵޔJZ{{{Z9{{Z)sZZֵZs1Z{{Z9ZZ1ƌsZ99{{ZJs9{{{{{9Rڽ1ksΜZRR99{ޜ999ZRʌ{{{Z9ZZ{9RsZ{Zι))RZZ999Z{ZZ1Jオֵ֔ҵ{1s{{{9Z99{Z9Z9Rt{{9Z{{9ι)RZJJ1Ɣ1ιֽ{{JҜ9Rڽ{R99Z{ޜι{{{Z{99Z{{{sRʵZ{1)Jιs99Z{9ڵֵsιRʔ{RRʔ9{{{Z9Z9Z99{ZZ1RZ9Z{{{{{Z99{ڌJZιιJ)1{Z㭵JڽιҜ{RZ{9ιR9Z9{Z9{{Z{{{{sR{)s9Z{{Z9991ƭιR{Z޵޵sΔ9Z99{9Z99{{{9RʔZ99Z{{99Z{ZRkk{ZڵֵRJksJkιҜZ1Z99ZZޜ91オ{{Z{9ZZ{{RRʔ{ޭ1ƔZ{1ιι1ڵZ{9RsZ{9ҵZ99{{{9֔9{{99ZZZ9sΌ޽99Z91))Z)k9Zsιڽ91ZZڜ999Z{Rs9{J)s{{޵1ƭ1{Zsέs{9ҵZ{9{{{9999{{ZZ{{Z99֭{㌱Z)J{19ιR{Zޜ99ZֵZ{Rs{{9RkRʵ{Z9{9sΌ9{s)Z{ڔ{{99Z{{Z{{9999Zιk9Z{sJsJJ{{Z9ڜ㭵Rʜ99{R{ZZ{{{ҔZ9RR{{{99Z{{9ZZ1ZZι)Z9{Z{{ZZ{ZZ9kֽZ9{ι)k)޽{sR1ιt{㭵RʜZZ19{{{Zss{{Z9ޔlsss1ƭ)JsΜ{99{9{{R{)kֽ{9{9Z{{9{{1ƌҜZ9Z{91)k)s9RιιR{㭵sΜ9ZZsιι{{RR99Rl))kk)JιRs1ƌJR{9{R1s{{ι{{1)9Z9Z99Z{9޵֔sεZZsέsZ9{{{㌱9筵kι1sεZڭsΜZ9Rk99RڽJ)Jkkιιιs1ƌ19{9ZRk))))9Z9{{JR{kJRʜZ9Z99Z{9޵sRRʔ{9sR{{{9Z{JRJ)1sΔ999ZZ{ZsιֽZιkҜ{{RZ{RJ)ιRʔڵ99{9sR{Z{{J)ι))ҜZ9Z{ZRJJ1{)k֜Z9ZZZ{{{{{{Zss9Z{{9s1Ƶ99{{9ZZ1)Z9)))))Jιs9ZZsι1Z{sJZ{1オ{9ι)ι{{{ZZ{ssε{Zڵ)JZι)ιZ99{{ҭ)9{{kJRZZ{ڵZ{Z{{{{{sRsΔҵֵsR1µ999{{{J)9Zڌ)kkJJJJJJJ)JJkιι1ޜ9{kι{Z9㌱)sΜ{{ZsZ{{9ޔҌJ9֌)R{{99ZZҭ֜Z{Z1J{9Z9{{{ZR11ιιs{Z{{kk99)s޵s11RRR1ュkι1s{ڵ9ZZZ99ZZkι{9ssΔk)ҽZ{ZZ99ڵ99lֽ{1)kڜ{Z9Z{ιsZ{Z{1kιڜ{99{{{ڵ֔sR1Rʔҵֵ{{Z{Z֌)91JιZ{{{{{{{ZRʵ9RZ{{{Z9999Z{ZsJZ9ュ))ڽ{{{Z999ZZZ9Z{ޜsιҜޭι99Z{)JRZZ{{{1k1Z9ZZZZ{9ZZ9{֔ҵZ{9sJ)J{Z9sΌ1Ɣ99{Z{R{{9RʌksΜ{Œ)k{Z{Z9Z{{Z{9k)ιZs眭޽{Z{ޭڜ{{{޵9{Z9{{Z{{{{Z9{{9s11Ƶ9Z{{JJι­{{sΔsΔ999{9Z99999ڔZ{k19{{1ƭR{Z9Z9{9ZZsι֜{))sZZ19Z{RkRZZ{9ssεZ{Z9999Z99ڵֵ99ڔRʵZ{ZZ{{J)Z9{R{99{9Z9{Z9ZZ999Z9sιµZ{{9ֵ99Z{9{Zι1{J19㌱9Z9ιZZ{{s111RʵZZ{{Zڵ֔ҵ9{Zڵ֔Z{ZZ{9֔Z{Z{{1J޽{Zss{9ZZ9ZZZ{9ZZ{{{9Z999ss9{{99ZZ9{޽9ZkZ))s{{ZZsΔҔZZZ9­kιsZZ޵R1R9Z9{{Z{sRޜ{999ιk){{{sε֜9ZZ9Z{99ZZZ9Ҕ9{9Rs{{9Z9Z{1ιk9ZR޽99Z޵9ޔޜ{{֔Rl”ڵ֔ssΔZ{ZZZZ{1ιR{Z9Rk))ιZ9{{R{9{Z9Zs{ZZ99{sޜZRʔ9Z{99Z9{sι֜R)1޵ֵ9ιZZ9Z{{{9Z{ڵ9ZZ99{{Z1ιι1sZ{Z{{{9Zkkµ9Z99ZZ9Z{9R9Z9{9{ZRsZZ99Ҕ9ZssRRRRʔ{{{{99Z919{֌s9Z9ڵֵڵ)ι9Z{Z9999ҵZ9{{9ZsR1RʔZ{{Z9{{֔sι))Rュ)ڜ9Z{sΔZ{9Z{9Z99Zֵ9{s9R11RsRsZ{{ZZ{{{Zڜ9Z{ZZRιR޵k)Z{Z99ι199Z{{{ZZ{{ޔ{9{9Z{Z99Z99Zҵsέ)J)){{9{{s9{99{{9{{99{Z9{ZsZ9ڔ{ZZ{{{{9Zҵڵ{1ιk)){{{{R{9Z{9{{ڵ{{{{9Z{9{{{ZZZ{{99sΔڵsJ))kR9Z9ZҔ9Z99ZZ9Z{{99Z{{ڵZ{{{޵Z9Z91”9))ιsε9{{sޜ9{9ֵZ{Z9ZZ9Z{ZZ{ZZRRʔ99ҌRssεZZ9ҵ{޵Z{99999{{9999{{{{{{Z֔99ZZJRsι{{ҭ9Z9Z{Z{֔Z{9{ޔ޵֔sΔҵڵ9Z{{{{{{{{{{99Rι1ޜ91ƌsZ{ZZZZޜڔZ{99Z{99{Z9{Zs9{{{{{{{{{91޽Z9{1)9ZRs9{9ZZ{ֵ{99{ZZZsRRRsZ9ڵ9Z9{Zskι޽91{ZZZ9{Zֵ{{99{ZZZ9Z9sR{{991Ɣ{{9)JRRZ9{Z9{Z{ֵ{Z99{{{{9{9޵Zޔ{{9ڵ{{s)k9R9ZZ9Z{{ҵ{Z99ZZ{9ZZ1ι1Ƶ{{{{9RR9{99ι)1R1999Z{ڔ9{{{{{{{Z֔{{޵9Z{{{)ュ{{{ZZ{{{ҵ{{99Z9{{9ZZ9Z{ss{{{R19Z9ιιR9Z{ڔZ{{s{{{Z޽9ֵZ{ZZ9RkJs9Z{{Z{{{{ֵZZ99{9{Z9999Z999ޔҵZ{{{Z19Z9ZRZ{Z{ZR{9{{sޜ{{9޽9ڵ9{ZZڔ)ιڵֵZ{Z{Z{{ZZ9Z9Z{9{Z9{{9{ZZ9s9{{{{{{9sέs{9Z999ZR{99{Zs{{ڜ9ڵ9{Z{9Zs{Z{{{{Z{Z{{{9{{99{{{{{9Z{9Z9Z99s޽{{Zޔιιڽ9Z9ZZ9{1オ9Z{ZZ{{9s9{Zޔҵ9Z{{9sssε{{ޜ{Z{9kZ9{9Z{{{999{{ZZ99Z9Z{99{9{{99{9sε֜{ڔs1ュιsZ9ZZ9Z{tZ{Z9Z{9sZ{sε9{9s11{ޜ{{Z{9{ޔ{Z{9{{{{9ZZ99Z{{ڔҵZ99{{Z{s9{{Z9޵sュkι1Z99{{{{{{9{{sZZ{ss{{9ڔҵZ{{{{9Rι޽{{99ZڭR{ZZRڽ{Zֵ{{{޵9Z{{1Ƶ{{99Z{Z999ZRʔZZ9ڵsR1ιι1ƔҵZ{999999Z{9Z99R{Z{{{s{Z{1ksΜ{{{{99{{11RJs{ZZ{Rs{{{Z{{Z{s{ZZڽZ9999{{9Z{RsΔҔsRʔsRʔZ{{{99{1ιڽ{{{Z֔9Z9Z{ZҭRZ{Z99999J)R9ZZ{R1{Z{Z{{R9R1{{Z9{{s1Rʵ9Z99ZZ{Z{RιR9{ZZZޔڜ{ZZ{Z{R9{{{{{{ZRʌk1RR11Z1ޜ{Z{{{9sڜZڔҔZZ9{9ZZZZ9{99Zޔιs99ֵ9{Z9Z1ƵZ{{)ι9{{{Z1ޜ{{9{{{Z{{Z9ZZ{{{{Zssε9{9Z{{޵1ƌsZ{{{9{99{9Zιs9ڭJ֜޽sZ{9{ZsιR9{9ZZ9{{Z{{ZZZ11s{{9޵֔Ҕҵs1ιJk{99{ssΔҵ9Z{9{{sJ)ι{9Rsڵ֌JڜZιR9tҜ1µ9Z9{֔sR11RʔZ{{{ZZZ9Z{11Ɣ{9sRュJJ)J{{{Ҕڔss99{{{{ڭJJ)RRRʔ9Z{9JkJ)1Ɣҵ֔ss1ƭ{{sZ{RʵZ{Z9{9999ڵssε9{{ZZ911Ƶ9{{{{ҭJkιR޽{9Z9ڵ{Zڵ֔ҔsRRs9{{{{ZR)sΔ)J11))JJJJ))ޜ{Z9ιsZ{sZ999{{ZZ{Z{9Z9ڵZ{Z9Z11Ƶޜ{9Z9ιs99{ޜ{{{{9Z{ZZޭJs{{֭J)Jkk)RssssRsεZ{{{Z99sオ{{99Z{99999{Z9Z9ZZZZZs”{ZstZ{{ZZڔ{{ZZZs)ι{9RʵֵRιιRޔlZ{Z9999Z{9R޽Z9ZZ99Z9{{{{Z999999{Z9ZZZ{9Z1s{991ƭι{{{{Z{֔9{{{{ZҌJ11sڔҵ9ZZ{1s{{{{s{{{{{{{{Z{{99Z99{{99Z{{{{Z99ZZ91µZZ91ƭιZ{{{9{{֔Z{9Z9sέJιsڵ֔Ҕ{{ޔޜZZޔ޽{sڽ{{{{9Z{Z9Z999޵ֵֵ֔{{99Z9{9ZZt{{ZRZ{99Z{֔9{{޵91ƭtZ{ڔZ9Z9Z91ιڜ{ZZ{99{ZZZ9Z9Zޔ{{޵s1µ֜Z9{ZZ1R9{ޜ1Ɣsε֜{{Zڔ9{{ޔR9{{ZZ9Ҕ9ZZ9{Z֭{Z{{ZZZZZ{{999ڵ9{޵Z{Zڔҵs޽Z9sε{9991ƵZ{{{{{{Z9{{{{9޵֔sΔ9{{99{ZZ{1Ɣڵ{{Z{Z9ڵ)ksZZ{Z9{{ZZZ9ޜZڔҵڵ֔{ZιRZZ9{sZ{9{ZZsZ޵9{99{{Z9ZZ99Z{{{{sZ{{9Z{99{{ι1ƔZZڔҵZ{ZskZ{{ZZ9Z99Z{9{ڵ{9RڜZ9sε{Z{{9Z9ֵ9ڔ{{Z9{{{{{ZRZ{ZZZ911ƔRsZ{Z9Z{Z1ι9{{Z{{9{{99Z{{9Z{{{19Z9{{Rޜ9{ޜ99{ڔڔs9{{9֔Z޵9{ュs9ޔsΔҔҔҔҵ9999޵Z9ssZ{{Z9Z{{{{{Z{9Z9Z{Z9Z{sιҜZZZ991Z{{9ZZ9Z9s1sZsΔZZZ9)1sΔ9{991sε9Z{J{{ڵ֔ZZ9ZZZ{ZZZZZ{ZŒs9Z99Z{sR{{ޔ9ZZZ{919ZڵZ{9ZZst9{{ڽ{RsεֵֵZZZ9{ZZZZZ{9{99{sιֽZ9{֭ι9{999Z{Z9{Z9{{Z9{999R9J911Ƶ9ZZZ9{{99ZZZ{{ZZZZ9”{Z9{sι{ZZ9Z91ޜ{9Z{{9{ιZZ9sιιڽ{R)J{Z9{9Z{Z99{ZZ{ZZ{99޵ZZs9Z9ZR9{{9Z{9{{”9{Z9{{9Z{ֵRʌZZZRʌJ)k㭵))ι{{99{Z9Z{99Z{ZZZZ{99{ֵ{{9Z9ZZ9R{{޽99Z9{ss99Zs1RʵZZZ{JJJJ)))Z999999Z9J)J)1Ɯι)J))RRs99{{99999{{ZZ{Z9Z޽Z9{ZZZ9オ֜Z9Z9Z{9ڵ{{Rιι1sεֵZ9sΌ))JJJJ{Z9{{Z999{JJRkk޽1ι1s1k))RʔZ9ZZZZ99Z9ڵֵZ9Z9{Z{9{Z9{ڽZ99{Z999{{{{޵1ιι֜sk)JssΔ{ZZ{99)ksZ{sJ)ޜ{sιR9{ڭJ{Z99ZZ99Z9Z{9ڔҵ{Zֵ99{Z9{{9ZZڜZޜ9Z9{9{9{{Zsk)ιZZιZZZ{99)ks{9ι))Z֭RZ{9Z99{{ޔsεZޔZ{ZZZ9sεZ9{9{{޵9Z9{999ZJJڽ㭵Z{Z9)ks{{J)JιZιs{1Z9Z9Z{999{sΔZ{ZZ{ڵ{999{{Z9޵{9Z99Z9Z{޵ZZ9Z)9{k9{Z)ks{{{ZsΌ))kオ9{{sιֽZ1Z9{9Z{ڵֵֵZZsΔ9{Z{9{9Z999Z{{ZZ9{99{Zֵ{{9{kk19ZZJ1Z9{Zk{{{sιkJRʵ999ZZ1tҜ9Z9Z999޵ֵڔsε9ZZ{Z99{Zޜ{ZZ999{99Z{9{{Z9ޜ9ZRιRʔJ9{{ZZュ{{{Z9ҭJιRʔҵZ19{Z9{ZޜZsZ{ZZ{{Z9Z{{{{9{9ZZ9ZZZ{9{{ZZZZ{9ZZ991ιι19Ҍι99ZZZZRʌ1ZZlRʵ99ZιR{{”{9{{{91k1ZZZZZZ{{{9{{{Z9Z9{9Z{9{Z99Z99Z{9ZZ9{{999֭9Z9ZZZ9sέ޽{{Rιs{9ڭҜZ11RZ9{{{Ҍ֜{Z{{{{{{Z{{ZZZZ{{9{9{9ZZZZ{{Z{{9Z{9Z{9Rʌ1Z{{{Z{9{9Rʭڜ{Z1”9{{ιֽ{99{ιJRZ{{Z{{{{{{Z{{{{Z99{9Z{9{{{{{{9Z{99{1ƭ{{{{9Z9Rʭޜ{{R”Z9ZZ1ZZ9ZZ{JZ{{ZZZ{{{9ZZZZ9{{9{{{ޜ{{Z99999Z{ZZ{Rޜ{ZZZZsέޜ{{1オ{991Z{sZ99{Z9{sJιڜZ{Z{Rʔ9{ZZ9Z9Z{{{{{{{ZZ99{{{{ZR{Z{99ҭޜ{{{Z9{ιsΜι{99Z9ޭkҜZ{Z{11ƵZ9Z9Z{99{ޜ{Z9ι֜{{1ƵڔҔ{{sιڽt99{s)9{{{Z{Z{Z{オ{ZޜZss{ZZ{ZZ{ֵ{{Z{RZ{{ZRssRRʔ9ZZRtZZڵZιkҜZZ{Z{Z{9119Z9Zsڜ{{9{ֵZ{{s{{{{{{{{{{{{ڔRRʵڵ1ƭs{Z19{Rs{1ι1ޜ{ZZ{{{{{ZZtҜZs{{9Z{9{{ZZZ{{R1ޜ{{{Z{{9sZRkڽ9ڜ1RZR1Ɣ{{Z{{{{ZZ{{ZZ{s{Z{{{{{99{9{{ZZ9Z{{Z”{{{{{ZZR{s{9R1{R1{{1RZ{ZZ{{{{Z{Z{{1Z9Z{ιZ{{{9{{9{{9Z{{{{sιs{{{ZZZRJkֽ9s1sZ1Ɣ{{1ޜZZ{{{Z{Z999999Z{199{{ZZ{9Rk{9Z{9ZZ{99Z{{{9オ{{{Z9ZR99ι91ιιRZ{Z֔{Rޜ{Z{Z{ZZ9Z{{Z{{sオZZ{Z9999ZkR{ZZZ9999Z999Z{Z{{{{Z{{11{{{ZZZ{s9)JιュιRʵZ9Z99Z{J){{Z{Z{ZZ9{1R{{9Z99{ZZ{֌֜{9Z{9{{99Z99Z{{{{9{11{{{{{{ZZZ{9Ҕ{9)k1Z9{9{{֭Jι1Ɣ{{ZZZ{Z{9{ss9ֵ9{Z{ZRJιZ{ZZ{{ڵ9Z{ZZZ{{{9{R1Ɣ9{ZZZZRڜ9111Ɣ9ZZ{sZZ9JZZ99Z{{ZZZ{{ZZ9Z޵R1Ɣ9{ZsRޜ{Z{9J{ZZ{9ZZZ{s{{{9{ss{{{{RR{Z99R{޵lڜZ999Z{Z{{9ZZޔ1”{91R9{ZZZŒ{Z9Z{{{99{{Zڔ޽19{{{9{911{{1Z{ZZ99{RڜZ1ι{{{{9Z{9ڔ11ƵZs{Z9{ιZ{{{{Z9{9ڔs{{{{Z9{R”Z{9{ss9ZsZZ{9Z911Ɣ9オ֜ZZZ1ι{{{{Z”9{ZZ{Z9{RtZ{{ZRιڽ9s{1{{99{ZZZڔRιJJι9Zs{Z{Rιڽ{{{9{sι֜1{99ZZZ99Z{ι{Z9Z{{{֭ҜZZ֔R9ZZ9Z{ZZ{9ュk1sRsε9ZZZ9{Rι޽{{{{{9ڵ9ڭZιޜ{9޵9ZZZ{Z1ƌ1ڔҵ9ZZZ{{RZ{ޜ99sΔ{{{Z޵ZZ9{99Z99Z{Z9ZsRs1s9ZZ999Z99{9ڔҵZZZ{ڭsRʌ9޵֔ҵ9{lι1s9{{9ڽZ{9sޜ{{ڔ{Z9{{9ZZ999{{{9Z{sΔ9{ιR{{{9{{{ZZZZZ9Ҍ))ιsΔҵֵ9{R1s{{9999Z{{ZZ{9R9{s{{ZZZ{{Rʔޜ99{{ڔ9{{Z9Z{Z999ZZ9{ڵ{{ZZ{ڽ{9{{{Zڵ֔Œ1sε9{Z9{{{{{ZZZZ99ZZ9޽ZRRʔڵss{{{ZZ{{R1sεZ{{9޵9sε9{99Z{Z9Z{Z99{{{Z9{{Z{Z{Z91sZ{{{Z99֔9Z9{{ZZZZZZ{{ZZZZ{{ZRڜڜ91J)1ޜ{9Z{{Z9ssε99޵RュRssZZ99Z{9ZZ9999Z9999ZZ99Zҵ{{9{{Z9{{99{ZZ{9{{{{{Z9{9ZZ{k)Js{99{{ZZsRsε{{s11ι1Ɣ9{Z99Z{Z9Z{{ZZ{9Z޵9{{9{99{{9ZZ9{9ssZ9{99{9ι)オJҽ9Z{{99Z{{{ZZ{{9{9ޔZ{Z999Z{9{9ڜ{{{Z9Z{ZZ{11Ɣҵ֔R1Z9Z9ZZ9Z{޵֭)kޜJҽ{{Z{{{{{99ZZ{{{99{ڵZ{99{99{Z11sZZR99Z{9ZZ9{{ތ))ZRJֽ{9{{99ޜZZ9Z{ڔ9{{{9Z{{Z”9{sZZ9ZZ9Z)kkZ{)Z9{{޵Z9ZZZ99Z9RZ{{{9ZZ99RR{9sµ{{9{{9{Z9{ڌsι)Z9{{{ֵ{{Z9{ޜZ9Z{Z9RZZ99{Z9Z{{ޜ1ڜ9Z{9{9Z9{{ι1Rk9Z99sε֜{9Z{99999Z{­R9{9ҔZ9ZZZ999ZZ9{Z19Z9ZZ9{޽9Rιk)1{9Z{Zιks9Z9{9ZZ9{Z9Z֌{{ZsZ9999999{99{{{R99ZZ9Z{9{ZRk)ֽ{9sιkJJJJks9{9Z99{9{{Z{{9ιJZڔҵ9{{ޔҔ9{{99{Z9{9ZtZ9{Z9Z9{Z1Jk{kkJJkJJJZZ999ZZ99999Z{{J֜{Zsε9{9sΔ{99{9Z{9{9Rµ֜{9{{9Z9ZkιZZ9ڭ))J1kJڽ{999{9Z99{{Z99Z{1ƌR9{9sΔ9ssZ{9ZZ9{{11޽{9{9Z{ZZkZ{֌)J9{{{9JkֽZ9ZZ9Z9{Z9{Z9Z{ss9Z9ڔҵ9sΔ{Z{Z9{9Zs{{9{{999RJ1{{{kkRZkJιZZ99{{ZZ{{9{Z9{ZZZ9{9sΔ9ZZsZ{{9Z99ZR޽{9Zޔ޽Z{)sΜ9sk{ތJk1ڔs11Rʔ9{{999999{ZZZ9Z9Z99s{{99ڵ{sڜZޔsޜZ9{Z{ιs{ZZ{9ҔZZZι)ڽ{R1ιJ{Z1ƌ1sssssΔsε{99{{Z99ZZ{9ZZ99ZZZ{9ZZޔRsΔҔҵ{Zs9Z޵Z9ڔ9Zڔ1{{9{Z9{֌ZZZ99ZZZZZZ9Z{{{{ZZZ{s9Zތk֭JJ)Z{ュ1Z{{{99ZZ9{Z999Z{Z9Z{1sZZZZ{{{9Rュι1RRRsεZ{sڜ99Z9Z{9Z99199{{9Z{ι)sεֵֵֵֵֵ99ZZ{ZZ{{Z9ZsڜZRkιZ֌kR{ZRʭs{{{{ZZ{9ZZ99{{99Z9ι”9999999Z9ڔsι”ZZssΔ޵sΔ9{99{ZZZ9Z{{99{{1Ƶ{9ڵ1ƌ)J19{{ZZ{{{99ZҔ{Z޵ιJsΜޭsZZ99ι{{ZZ{{Z99Z{Z9Z99ZZ999{{1Rʔss9{{{ZZ99ڔRʔ9{Z{9ޔssRRʔZZ{9{Z{{9ZZ{1s99k)kR9ZZ99ZZ{{9s99ιs{{99ҭ”ڵZZ{{{99Z{9ZZ999Z{Rʵ99Z{Z{Z9{9{{9{ZZZ99{ڔZҌ)R{{{{{9Z{9Zs޽{ZZZk֜Z9ZュιιR9ZZ99999{Rʔ{{֔Ҕ{9{{ZZZ99Z{{9ZZ9{9{{9{{޽{ZュR{{{9޵9Z{{99{9sε{{Z9999Rʔ{眭ޜ{{Zڔss1ƌkRZ{ZZZ1Ɣ{Z޵sRʔZ{{{{Z9{{Z9Z{Z{{Z99{ZZ{9{9Z޽ZZ{tZ99{ZZ{Zsε999Z{{ڜιι9Z{ZZRks9{ZZ{µ֜{{{Zڵ{{{ZZZ{{Z9Z{{{{Z{{9ڵޜ{9{ZZ9{޽9{{{{sιιZ99{{999ޔRsssssΔ9{ZZιιZZ{91k{Z1Rޜ9R1{99{޵9Z{{ZZ{{{ZZZ{ZRڜZ9ZZ{9{޽9{ZsιkJ{{{{9ڵ9{999{{ڔιksZ9{991ƌڜZskιڜZ”Z{{ZZ{ڵ99ZZZ{{Rʵ{9ZZZZ9޽99RRʵ9{ZRkk”Z{{{{{{{޵ޜ{Z99Z{{9ZZ9{Z9{{sΔҵsksZ9Z{{Rʭ޽{ksΔRʌ)ڜZs9{{Z{ޔZZ99Z{{{Rs{9{Z9{9Z޽ҔsέJιRʔҵڵlµ999Z{9֔ҵ{{{{99Z{ZZ9ZZZ{sΔZ9Rʌιޜ9{{{9Rʭ19ތ)ι{{֌)ι{{1s9{9{ssZZ{{ZZ{9s1ƵZ{ZZ{ZZZ9ڜ9kJ1ƔRι1{Z{֔Z{{{{{{{{Z9ZZ{ZZZ9{{99Zֵ9{Œs{9Z{{Z99Z{{ŒsZZ1ڜZι)֜1s9{9{s1ƵZ{99Z{{Z99{ZڵֵssεZZ99{Z{1ιskRʵR1ڜ{Z{{{{{{Ҕ{{Z999Z{ZZ{99{{ZskZ{9999ZZZι{ZsJJR{Z)ι޽RR{9Z{91ƵZ99{9sュkJ999Z{9Z1ιkkιR9ι޵{ZޔsRʔ9{{֔{{{ZZZ9ZZ9{ZZ{{1kZ{ZZ{{Z{֭ιڜZsk)9ιJ9R1ڜ{{99Rs9{Z99ZRʭJ)kιιk{{{skJsZZ))J9ڔҔ99{{{{{Zޔ1111s9Z999Z99999RʌιZZ99ڜ{ҭZsk)Zlι11ƵZZZ{91{{Z9Z{{1RsειZ{{{{ι”9{{{{Jι)Jtҵ9{Z{ZZ{{{{Z{{Z9)k1{9999{9Z{99{9RʌιZ{ڜ91ƌ{9sk){ZsRʵ99޵֔{{Rs{{{Z{Z9{Z1ks9999{1Ɣ99Rk1k)ιsZ{{9Z{9{{9{{9sRŒ9Z{9Z9Z9sέιZZsޜ֭ιZ9J){Z9Rιk”9{sZZڵ99Z{{Z99{{kJsZ{{{Z9Z{ҔZZJJsZ9RʌRZZZ{{99{ZZ{{ZZ1JJι1RZ{9Z{Zι1Z{sΔ9J1sJJ1{{Z91ƌ1Rι19{Z{R11Rʔ9{ι)ֽ{9Z9sε֜ι)Jιs99s”9{{{Z9Z99Z9ZsιJJڵs1R{{ZZZ{{9sRʵZ{{{Rs{Z1k)Jιs9{{ZsιオZZRιιRʵZZ{ڵڵֵֵ֔Rιι19Z{9)ֽ{9Zs޽)JZ9ҵ9ZZ{{1”9Z9ZsJ9ޔιs9ZZ{{RRsε9{{{9Rs{9ュιR{9s1Ƶ{9ιιRssΔ9Z{{Zs1ƔZι{Z9{s9)){{޵{{{{{{­Jkޜ9{{{9sJ{{Rʌι{{9ڵsΔ9{Rʔ{99{{{9Z{Z{9ڵsR11Ɣ9{9Zsڜ{{ҭ19{9Z{sZ{1)){Z{9Rk1ƭ)ޜZ9ZR91ιڜ{ZZZڔ{{ssε9{{{{Z9Z{Z9Z9޵֔9{{99{ޔ9ZZ99{9Z91sZk9{{ZJ1ι){Z{{ιRʔҵsιRZ{{{{Z޵9{sΔZ{Z{{{9޵֔ZZZ{Rޜ{skkJR{Z9ZZZtZιk޽ZZ{ZRJZ{֌JR9{{Z9kJ{1ι{{{{{9ڵ{sΔ{{Z99{{{{ޔsR1RZ{{­1޵sksΜZ9Z{Z9Z1{J)R{{9ZZk9{RJk1ޜ{ڔҔk)Zオ9{Z{{RʔZZҔ9{9{{ڔҔڔ11ƔZ{{sΌ)JιιkRʜ{99Z{9Z{ιR{1J)99{Z9㌱J޽){9޵))Rʜ{ιオ{{ZZt{Zsڜ99Z9sε9{s11Ɣڵ֔ҔҔҵֵֵ֔J)JJιtZ9RJ1{Z{Zsڽ{ιJZ{9Z99ޭڜJ)ks9Z9{ZJڽZRʌ1ZZZ{9s{Z9޵ֵ9{{{{ڔsR1Ɣ9Zs1ι)kιRʔιsZތZ{Z9{Rιµ{{s1R{{{Z{Z{”99Rʌ)Js{{9Z)k޽ڌ{{{Z9{ZR9{Z9991kオ99sι))kιιιιtZ{Z{k99ZR1RRRRRRʔZڔҵޔҔ9{{Z{֔ҵ֔ޜZ9Zҭ)k֜991{9ks9ZZ9{{9{{Rڜ{{9{ZRZZιιs999999{J)t9Z9ڵ9ZZ{ڔZ{ڔZ9{{Z9{Ҍڜ{9{޵{sέι1sεZ9{9sZ{9Z{{R{{{{{91޽ڌJR9ޔ99sεZڔ9{{ZZZZ9ZZZZֵ{{9{sJι{99{{{ޔsRsZ{Z{{9Z{{{99{ZRJι޽{Z{{{R))Js{ZRRsޜ9ҔZs9Z{9{{{{{ZZZ9Z1)s99{Z{Z{9Z{Z9{ι19޵֔ҵֵ{{{Zk19{{{{{{{{R9{9Rk))RZ{ιޜ{֔{ҔZZ9{{{Z9{9991J)1ZޜZ{9ZZ9Zޔ9{{kιkJJ)JsZ{{9ZZҌ99Z{{s9{{{{{֭)J{91s9ڜZҔ{ޜ9{ZZ9ZZRJ)R9Z{Zڜ9{ޔҵ99s9Z))))JJJ){ZZ9Z99skJZ{{{{s{{{{{{ιJJk1RZ{ڔ9ZҔZ{޽{{{{{{9{sk)))JJJµZZ{91RsZZڔҔsι)JJkk1Ɣ1JZZZ{{{9ZZι{ޔ{{{{ιュ)s99{9Z{ZZZڵZZZҔ9{{s{ZュkkJJ)){ZZZZsRZ{1ƌkιRʵ9{9ks9{{{ZZ{ZZ{{Z{֌)ҜZ޵Z{{{9sΔιksZ{{ZZ{99{{ssZ{9Rs99ڔRk)s{{{Z9ZZZsRRʵ1s֌{9Z{{Z99ZZ991)ι{ZZ{{Z99{Z{{{ZRsΔRιsZ{9{{ڔ{Z9ssュ1{ZR9Z{sέ)){{9{Zss{Rʵ{9ޜ{{{{999{{sΌ)s9{{ZZZ99999{Z9Z{{9R1sRs9{RʵZ{֔ҵ99ZZZZ{{1ιι1Z{ڜ{9{{)Z{Zڜ99{Rʔ1RZ11Z{{{{ZZZZ{{{Z9Rʌι{{ZZ9Z9RιsڵZ{99{{1sZ9ιkkkιιι1Ɣޔι)))kt9ZZ{{1ι{Z9Z1޽ZZZڜ9Z9sιk1{Rʔ9{Z{{{{{{9֭J{{ZZ{Z{{ZRʌ9Z{{ZZ{{9sR9Zs­kJJJJJkkkkkkkJ)Jオ9Z{ZZssZ{99JRZ{99{ޜ{{Zlkksε9{s{{{{9Z{ZZ{Z֔޵R1ιJ)ιڜ{{{{{{{ZRkZ{{{{{{Z֔{sRʵ޵֔ҵޔι)))R9Z{Z91R{99{9筵Z{9Z{ޜ99ޜ9999Z99{ZsΔ{{ZZ{{{Z{s{­”9{Z9{9JZ9Z{Z9Z91s{Z{ޭk1ƔRι”9Z{Z99sRޜZ99Z{ZZZ9ޜZ9Z{99{RڽZZ{{{{{R9Z9֔99{9k֜{޵9{{{Z9Z{sΔ9ތZZs999֔ޜZ9Z{㌱JR{{{9Z9Z{999sΔZ99ZZ{{Z9Z{sRZ{Z{{999Z1Jֽޔ{{{{{Z9sޜ))sν{RZ{Z{9{){Z999{9޵s1s{Z9{{ZZ9{{sR{{{9Z{99{RJҜR1Z{{{{Z޵ֵZ{{JҜ{RRZZ{ZZZ)R{{Z֭ιڜZ9999ZZҔ9{{ZZZ9Z{sΔ{{{{99{{Z9Z{{s)R91ι1Z{{Z9{sιsZRs9{ZZkڽZ9{Jι9Z9Z{{Z{{91Ɣ{{Z9ZZZZ9ڔҵڵ֔ޜ{{޵Z{ZZ{{Z99Z{{{ktR19{{{{{ZZRsΔ11R1ƔZ{9ι{Z9999{{99Z{R)1{Z9{{{Z1ιs9{99{{{Z޵ֵ9{{{Zڔ9Z9ZZZ999999999Z{ZŒsZZZ{{{{{{1ƔڔRڜ֔9{9{R9ZZ9Z9筵kֽ{9Z{9sュڜZ9{{{{{9sZZ9ڵֵ9Z{{{ιkι1RsΔ9{{{µڵ9Z{ZZ9ι)1Z{99999Z9{J9Z{­s999{Z1ƵZ{Z{ҵ999999Z{Z{Rkss1sZ{{9ڔҔҔҵֵstZZZ{Z9{{9{kJsΜ9{99{ZZ{9kZ99sR9{ZsΔ{{{{{R{{Z9{֌1ZZs”9{{{sュιιιιι”ZZ{{9{kksZ{9ZZ9Z{ZZ9ιJs{{9{{{{Rʔڵ{sR9{{{{91ƭZ{1޽{9Zι9ZR1Z{{{{{{{{9Rsڵֵ{Z{9Z{ιµZޜ{ZZ99ZZ9k9Z9Z{9{sΔZڵZZι19{{ZRʌ{ZR19Z9Z9sڜ{Z{sΔ9Zޜ{{{9Z9ҔҵR1ƔZ{ZZ9ZZ9ZZ1JRʵ{ZZsRޔ9ZsέιsZ{{{{sΌ1ZZ119Z9{ZRιڽZڽ{99ZRʔ99{{sRsε9ޔZsΔҵ{ZZ{{{{{Z991ƭ”Z{9{{ZRRڜRʌ9{{{{{ڭι{s޽{Z{ι{{ڽ{Z9{{sZޜZ9{9sεֵssε9{{ֵZ9޵֔9{9Z{9{Z9sε99Z{Z9ZZ11{ZskZ{{{{{{{k{{{1Ɣ9{{{{{11{ڜ{{99{{1ڜ{{ュRʵ{ZZZޜ{ZڔҵZ1sε޵9{99Z999Z{Rʌ1Z{1k19{{{{9sZ{{ֵ9Z{{{Z{{{{{{{{ZRι1Z{{ZZޔ1lZ{9{9{{֔ҵ{ڵ֔Ҕҵ9{9{Zk99Ҍ9sZZZZ99{{{{{{1Ƶ{Z{Zιޜ{{{Zڔs11s9{99ޔ9{11Rʵ{{޵{{Z9{Zޭk֜{{91)J{Z{Z9Z{{Z{{Z9{{ZsΔZ9{Z){{{{ZZ9ZZZ99{ZZZZZ{Z{{ֵ{Z޵R1ƽZ999{9{99{sJι{ιڜ{sJk1ƔҔRR1s{Z9Z{{Z{{s9ZZ{ڌJZ{9999{99999{{Zڵ9޽{{{ZZ{Z99ZZ99JsZ{ZJ1Z{{kkRʵڵ֔RR9{{9Z{{99{Rڜ{9{)ιZ99Z{{Z9Z{99{ڔ9޵ֵ޵ֵZ{{{9Z{9{ZZ9{RJιZ{Z眭ޜ{{ZssRs9{{{9s޽{{{ZZ99ZZssZ{Z9{{{{{Z)9Z{9ZZ99{ZҵZ{9ڵ֔ҔҔҵ{{Z99Z999{Jk{{ZsJs{{{{Z9{Z99{ιֽ{{Z{99{R޽{Z9{{Z{{{Z)ksZ{{9Z{9{ڔޜ{Z9Z{{޵sεZZ999ZZ{Z{9RkڜZ֌ιZ{ZZ{{{{{9{{Z{ιֽ{Z{Z99{s{{99ZZ99Z{{{9RJJR{Z9{9ڵֵֵsε{Zڵ99ZZ{{s1{Z99{ZZZڵֵֵ9{{)”{Zs)ZZ9{{9ZZ9Z{{{ڽ{9ZZ9{9{Z9{9){{{{9Z{sssssε99{9ڵڵRsޜZ9Z{{ZZ{{1ƔZ9{{Z9{{9Z{k)JιRʔ1ƌJZ{{91k)9ZZZ{99ZZZ11{{Z999Z{ZZZ{{Z999{99{{)ޜ{Z999Z9{{sΔ999{ZZ{Rιιsεs1R{{{{99{{Z9{9RsZZ9{{֌1ιk)JRޜ{{{sΌ)9{99Z{{ڔ­{{ZZ{{999ZZZ{{ZZ99{{99Z{{{{Z99Z{RJkޜ{99ZZ{Z9{{9999Z{{sR{{9Z{{ZZZZ1JZRs9Z{{{{9Ҕ99Z9㭵){{RRZ{{Z9{{sΌ)ZZZZ޵ֵ޵1kkֽZ9{ZZ{99{{Z{Z999Z9Z{{J)999Z{ZZ9޵9{99{{Z9޵1s{{ڵ֔ҵ9RJZ{ڔҵ999Z{9{ڔRʔڔڜ9ڵZ{{9Zs)Z{ZZZ9{{9skJ1{ZޔsZZ޵ֵ99ҌRʜ9{Z{{9{{{{99ZZ99ZZZ{{{{ι)sZ{Z{Z޵֔sZ{9{{1ƌJRZ{{{ZsΔҵZZkZZZ{9{ιkk”ҔRZ{9s1ƔҵZ9筵)ZZ{Z9{ZRι9{{ޔsε99Z{{99Z1Ɯ{9{ZZ{{ZZ9Z{{{{{{֭)9Z{9R99­Rʵ{{9Z{ZZ9sΌ1Z9{99ZZ댱ιJ)ιRι֜91ιιk1{)kڽ{{Z99{{{{99ZZkks9ZZޔҵ{{ZZZ{91Z9ֵ9{Z9{{{Z{{ιJオZ9RιR9sZ{99Z{{{Zュ֜{ZZ91ks1k{{9Rʭ))kι1ޜZ)Z{ZZ{{ZZZ{{ֵ{ιk1Z{{Z޵֔Z{R)޽{99{{{999Zkޜιޜµ֜{ZZ{9Rʭ1999{Z{9­ҵkR1ƭJ)Jsڵ֔ҵ޵RsJkҽZ9{{{9ڔҵ9ޔRʵ9Z{9ڔҔZ{ZZZ9֭ZZ{9Z{{{ZZZZ­1{9ιsZµֽZ9Z{{ι޽ZZ{ιRޔιkJ)JιRZ{1{s)9{{Z99ڔssε9Z{9֔ҵZ{{ZZZ9ڔssε9ι9{{9Z{99{Z{{ZZ{1ιs9{{{{{ZR޽オ֜{Z99{{{{ZιkR999{{91オ޵1R9{{{{sιt99){{{{{9Z{9Ҕ9{{{Z999999޵1ιks޵R{Z{{Z9Z{9{{{ZZZZ9Z{99{{sR1R9{{{{Zι{ι{{{{{sΌJs{{Z{Z{1Ɣ9{{{{{Z9Z9ιss)kֽZ9Z{s{{ZZZ{{{RsΔsι)ι֜{Z9{Z9Z{{99Z9ZZZֵZ{{{{Zιޜ9ιZ{1ƌkι9{9Z{Z9ڵ{{{{1ιュ)9ZZ{Ҕ{9{{֭)))kֽ{{{99{{99{99{{ֵ9{91kssέ19{9ιsZ{9Z{9ZZ{9Z{{{RιҜ{{Z޵{{ҔZ{{ZsΌ))sΜZ9{ZZZZ{Z{9{Z{{9{֭))ιι֜911Ɣ{{Z9Z{Z9{ZZ9{{{{ڔ1޽{{Z9ڔZ{sZ9{9sJR{{޵9ZZ9{9Z9ޜZZ{Z9ZZZZ99{{9ޔJJ1{9ڔҵZZ9{{9Z{{Zs9{{{{޵119{{ڔҔ{1ڜ9ڵ9{{{JksZ{9ҵ9{Z9{{9ZZڵZ99{{Z9ZZ9999ZZRʌιR{ZZZ{Z{ZZZZZZZ99Z{{9RRZ{{9Z{{ZR{{{ssε9{1s{9֔9{ZZRsZZ9Z{{99Zޜ{ZZ{Z9{{{{ιs9Z99ZZ99ZZ{ZZ999{{Z9Z{s1{{Z9Z{ZZZ{Z”Ҝ{R”Z{Z11ZZޔҔ{s)sΜRR999{Z9Z{Zs9{9޵֔ҵZ{9{{1sZ{99Z999ޔ{Z99Z1ڜ{9Z{99{{R޽ι{ZR9R1Ɣ{1{ュҜZ9{Z9ZRʵZ9Rs{Z{9Z{9{Z9Z{{Z9ZZ֔Z{99{RʔZ9ֵ{{Z9sޜ{9lZZޔҵsιs99Zkι޽ZZ{9sµ9JJJ1{Z{ZZ{99{{{{{{{sڜ{ZZ{{Zڵ9ZҔ{Zs{{{99Z޵{{ZJs9{{ュkkR9Z9ιZJ19Z{Z1ιRsι)kιιkksZZ{Z9{9ZsΔZ{֔ssΔ9{Rʵss9{{{Z99Z{{{{{{{{sJ9{9sέJ))kιs{{9ι9ڭkR9{99sιRʭZZ9Z9{9{RZ9RR{s1sΔsεZZڵֵZ{Z{{{9ZZZZ{{ι1Z9k))ZZZڜZR)kޜZ{{k)sZ{Zҭι99999{Z9ZҔZ{{Z1Ɯ{ュRZZ99ZZڵ9999Z{Z1{ZJ)ιޜZZ{ZR)19Z))ιޜZ{ޜ9s1ƵZ9Z{9999޵Rʵ{{9Z{9ZJR9Z{Z{Z9Z{9sޜZs{{{Z֔sJ)ڜZ9{{s)ι{{{{9sJJ1Z{{ڭ1{{֔ҵZ{Z{Z9sΔ1sZ{{Z9ZZZZks9ZZ{Z{ss9ZҔ999猱J1{9Z{{9R)Jt9Z{{9)ιڵֵ{J޽{{999Z{Z{{ZRRڜ{Rڜ{{99ュ9ZZ{ZZ9RڜZֵZ{ޜ))ι9Z9{Z9{{{{{{Z)ιڵZ{R)ҔҔ{{s1{{{Z{Z{9{{RRZ99Z{{{RZ{{{{{9Zޔ11ƵZ{{{ZsΔZ{9{9Z)JҜ9Z9Z{{{{9{9Z9)1ƔZ{1k{9{{{9{{ڽ{9ֵ9ZZZZZZ{Zsڽ{Z9{Z{ֵڵֵZ{{{91s9{{{{{99Z{{9ιkֽZ9{9Z{19Z{{ҌJµ9{9ι9{9Z{{99{µ֜{Zs99Z9999Z{RZ{9{ZZ99ڵZ{{ZZ9޵sι111RʵZ{9ڵZ9{{Z{Z))1{{9Z{Rι{{1kJ19Z{JZ{{{{{{{{{{{ZZ{オ֜sZZRڜ{Z{{ZZZZ9޵{{{ڵֵ֔ҔssssJ))sZ{Z޵{Z{ZZ{)ޜZ9Z{{Z9ޔҔ{skֽZssRʌJ19ZZZ{ZR1Z{{{{ZZ{µֽRR{RZ{Z9{Z{{99{Z9sRRssΔҵ9Z9ڵRʌs{9޵9{{{Z)JRZ{Z999999ޔsZsΜZRR99sJ{{ZZ{911Z{{{9{{ڽsΔZ{Zsオ֜{{Z{{Z{ZZRʵ9ZZ{{ZsΌڜ{9{{ڔ9J)Z{{9sεs1Z{1”{J{ZZ{ZRRZ{Z9޵9ڽޔZ99Z19{{99{Zs99­Z9Z9{9k)1ZZss9{Zι)tҔR1sZڌ9{9{Z{{RR{Z1RZ{{Z9Z{オ{Z{Z9{{sオ{{{{99ι֜{Rι{ZޔsΔ{{99猱JRZ{ssεֵ1ƭJ1RʔZ91ι1ƔZZ9{{1ҽڭ9{Z9ڵֵZ{{Zs޽9Z19{{Z{9֭ڽ{Rڜ{Zsιt{9{Z9k)JZ9999999ZZZ9ޔŒ)kµ9{ҔҵsΔֵZ{{9kk1ZZZ{99{ޭRZ{Zޔ1ιι֜9991ƭ{{{Z{99Z9ҭڽs{Zڵ1ƌι99{ޔR1ιJ)k֜ZZZ1)9Z޵Z{{޵{眭J1{{Z9{{ZZ֭Ҝιڜ9Z{ιι޽{{99{{޵9­ڽ{s1Z{{Z{{kֽ9{J)))JJJ1ZZ99ZZZZ9RJRʜ{{{{{{{޵{޵9{ιZs)1{{9{{{ιڽ{sJkュ99{ZsΌs{{ZR199{޵9{ZJڜZsΔZ{{{{ZskҜ{sΔڔҭ)1sRιι֜{91JRʜ{{{{ZZZ9Z޵{ڌZ9Js{9Z{ZRkR)s9ιZ{{{{{9Rιs9{{ޔkJt9sڜ{{{{{sJҜZRιk)ιZZڔs191kZ{ZZ{{{99{Z޵֔Z{J1{kk{{޵Z{19Z{1kڽ91t99Z{{9ιZ{RʌJιs9{ڔ{{ZZZ{RJֽ{9Œޜ1ιR9{֭kڽ{ZZZ{{ZZ{ZڔҔZ{Zs)1ƜkJ{{ֵ{1{ZsRʵ9{Zҭ)sΔZ{{{{{{Z9Z{ޭZZ{1kkRZ999Œڽ{{Z޵֔9ҭ1Ƶ99Z{Z1{{ZZ{{ZZ{9Z{{ZZZZ9s1{))R9{Zҵ{ι9{{k)ιڽҵ9{99{ZιR{Z{sJJs{ZZZ9Z99{{޽{{{{ZZ9ZRʌ))kRʵ9ڌιZ{{{9ޜZZZZ9Z{9ZJZ{Z1ƌ)sεZsε{JµZ{Z99ZZskڽZ֔9Z{s{{ތ)1Z{{99{9ZsR޽{{{{{ZZZ1ュkJ)ιڜJ)19{{{9ޜZ99s1RZ{Z9ڵsJ9{Z1ιJJ{{1Ɣ99{{{ZڭZ99Z{ZҭڽZR{{{ιR9{9)999{9ZZZ{ޔҵ{{Z{{{Z{9ڵs1ι)ιZ1)Z9ZZZZ9ss9{{9ڵs)11ιιι{sιkk1Ƶ9{l1ƔsRRRsεֵֵ֔sιk֜{999999{{ι޽ss{{Z99ZZ99Rʌ1{{1J99{{{9{ZZZZ{ڔ9{{Z99{{{{{ι)ҜιιJ)ksεڵs­kkRs1ι))JsZ{ڔkJιsJJ1Ɣҵ֔RιkJJ))JRZ{{ZZZZ99{ޭ޽Rs{{9{{{Zι9{{{{)Jֽ{99Z99{ZZZ{9ڔZ{9Z{{{{{{Z{Z1)R{k)k)J1ssRιkkι11ιkJιιιιιιιkkRZZ{ZRʭιュJJJ)k1Z{{Z޵sR111ZZڵֵ9{ZZ{99ڭ)ιZsµZ{ZڔҔҵZZޔ{{֭Z޵)JR{Z9ڵֵ9{9{{ڵ֔ҵֵڵ9{{{Z{{{9RkR{{sk)オsι1Z{{Zޔ1R991t99Z99sΔ9{9s­ιR{91sRRRsssΔ9Z{{9Zڭ)JsZ{ڔsΔҵ֔Ҕ{sιҜJ))1ZZRsZ{9{Z99999999Z{{{Z99999sέR{ZR{Z֔ZZZZ1ZZ{{{ZZ{{)R޵Rs9Z9{ڌ))ι9Zsڜ{99ޔҔҵ{91)kkJ޽9R{Z9{99ZZ{{ZZZ99ZZZ{{{1Zތ)19Z99{{9{9Rιs9{{{{{{{ι)))ιsRZ99sk))J99ι1{9Z9Z{{119ιsRιRZ9R{{9{{Z{{{{{Z9Z{9R19{R)kssΔ9ZZZZڭڜ{{9Z{{{9k1ιJ)JιRsι”Z{9{{sΌ))kιιιZ{{{ZZ99{{9R{9sµ֜{{{{sΜZZ{{{{{Z{99{9R199)R9ZZ{{99Z9Jι{Z{{ޭJ֜9sέJJµs”9{9ZҌ)))JsZ{ZZZ99{{ޔޜ{Rs9ZsµֽZ9{{Z99{{{ZZ{9{{1sZksε֭ZZ{{ZZ{{ڌ1Z{Z{9999ZkZRʭ{RRZZ9{k)ιR{{{{{99{Z{ZZsڵs{9{{Z{{ZZ{{Z99{ZZ{Z9sεZZ1JJιZZZ99)J{{{{{s1111s9Z{ZsΜ91ڽ91ƵZιιZ99{{{{Z9{{{Z99Z{{{{9{޵9ZZ{{9{{999Z9޵ZZ9ι))sιkRʵڔJJ1ZZ9ssR1ュkJJJJJkιιJ)J֭ҜZRsޜιRZ9ڔ9{޵9{ޜ{ޜZ9{Z9{9ZRʔ9ZZ9999ZZ9Z{{{s))kιJ))))JJJJJJJJ)))JJJޜ{{Z9ZZ{{91ƭkkkkJ))))1ZޭRʜޜ{Rオ{{Z{{ZsΔ{Z99{9Z{1sZ{{Z{{9Z{99Z{ZZ{Ҍ))))))J)))JktҔιJι{9ڔҔ9{Z9{9ssεڔ­)Jֽ㭵Rʜ9R{{{{Z{{Rµ֜99{9999Z991R9Z9991ιk))))JRι)))))))Js{Jڜ{”9ZZ9ZZ{Z{ZZZι㭵RʜZZ9s1Z{Z9ZιR{ \ No newline at end of file diff --git a/examples/effects/specular_material/graphics/teapot.grit b/examples/effects/specular_material/graphics/teapot.grit new file mode 100644 index 0000000..42e61f7 --- /dev/null +++ b/examples/effects/specular_material/graphics/teapot.grit @@ -0,0 +1,2 @@ +# 16-bit palette, no transparency +-gx -gb -gB16 -gT! diff --git a/examples/effects/specular_material/graphics/teapot.png b/examples/effects/specular_material/graphics/teapot.png new file mode 100644 index 0000000..eafd9fa Binary files /dev/null and b/examples/effects/specular_material/graphics/teapot.png differ diff --git a/examples/effects/specular_material/source/main.c b/examples/effects/specular_material/source/main.c index c3fdbf6..7fc8fdf 100644 --- a/examples/effects/specular_material/source/main.c +++ b/examples/effects/specular_material/source/main.c @@ -6,9 +6,9 @@ #include -// Files autogenerated from bin files inside of the folder data +// Files autogenerated from bin files inside of the data and graphics folders. #include "teapot_bin.h" -#include "teapot_tex_bin.h" +#include "teapot.h" NE_Camera *Camera; NE_Model *ModelSpecular, *ModelDiffuse; @@ -70,7 +70,7 @@ int main(void) // outside of [0.0, 1.0], so it is needed to enable wrapping. NE_MaterialTexLoad(MaterialSpecular, NE_A1RGB5, 256, 256, NE_TEXGEN_TEXCOORD | NE_TEXTURE_WRAP_S | NE_TEXTURE_WRAP_T, - (u8 *)teapot_tex_bin); + teapotBitmap); NE_MaterialClone(MaterialSpecular, MaterialDiffuse); NE_ModelSetMaterial(ModelSpecular, MaterialSpecular); diff --git a/examples/loading/animated_model/Makefile b/examples/loading/animated_model/Makefile index 133ddc5..6006f41 100644 --- a/examples/loading/animated_model/Makefile +++ b/examples/loading/animated_model/Makefile @@ -24,7 +24,7 @@ BUILD := build SOURCES := source INCLUDES := include DATA := data -GRAPHICS := +GRAPHICS := graphics AUDIO := ICON := diff --git a/examples/loading/animated_model/Makefile.blocksds b/examples/loading/animated_model/Makefile.blocksds index 626cf71..151bded 100644 --- a/examples/loading/animated_model/Makefile.blocksds +++ b/examples/loading/animated_model/Makefile.blocksds @@ -1,3 +1,4 @@ BINDIRS := data +GFXDIRS := graphics include ../../Makefile.example.blocksds diff --git a/examples/loading/animated_model/assets.sh b/examples/loading/animated_model/assets.sh index 81e5c2a..282550f 100644 --- a/examples/loading/animated_model/assets.sh +++ b/examples/loading/animated_model/assets.sh @@ -4,8 +4,8 @@ NITRO_ENGINE=$DEVKITPRO/nitro-engine ASSETS=$NITRO_ENGINE/examples/assets TOOLS=$NITRO_ENGINE/tools MD5_TO_DSMA=$TOOLS/md5_to_dsma/md5_to_dsma.py -IMG2DS=$TOOLS/img2ds/img2ds.py +rm -rf data mkdir -p data python3 $MD5_TO_DSMA \ @@ -17,9 +17,3 @@ python3 $MD5_TO_DSMA \ --skip-frames 1 \ --bin \ --blender-fix - -python3 $IMG2DS \ - --input $ASSETS/teapot.png \ - --name texture \ - --output data \ - --format A1RGB5 diff --git a/examples/loading/animated_model/data/texture_tex.bin b/examples/loading/animated_model/data/texture_tex.bin deleted file mode 100644 index 7c633ea..0000000 --- a/examples/loading/animated_model/data/texture_tex.bin +++ /dev/null @@ -1 +0,0 @@ -9{)1R1R{{{ڭs{Z9ZZZ9ޔҔ9s9Z{1ι޽Z­ֽ9Jڽ{ιs9{Z{{޵99RRʵ9{{Z99Z9sΔ{{9{{sR1Ƶ{ZkZ9kRsR1{{{ι֜Z9Z{9Rss9{9ڵZڭJ199ιR{{k9ιZ{Z{ZڔZ9sΔ{{ZZZ{{{Z{s1s9Z1))RʽZRRZ{Z1R{{9199{1”999{ޔ{޵ZZsΌkµ9{{ڔ99RҜZҌ{{ZZ{sZZڔZsRʔZڔҔ{{9s1s9{Z9R9JZ{9Z{{{s9{{ι1ZZ9ZZιιs9ZZZZ9ZҵZュιsΔRʔZ99kι9Z{ZRʌs9{ZZ{{sR{Z޵{9ڔҔҔZsR{{9ZZ­µZ{Z99999{{ιRZZι)k{{{{Z9޵Rι1sss1Rޜ99Z1ƔZ{{{{{{ҭҜZ9{91JιZ{{Z9999{Ҕ9{Z޵Rュ{1ZZ)kオ9ZRJZ{{Z{{9s1{Z{9ڵ֔{1R9{9Z9sΔҔRlZ{Z99999Zι1ZsJk9{s1ιJ)))JJJJJ))Jι֜9Z9s1ƵZ{{{{9sι޽99{R)ޜ{{ZZZ9{{{9ssޜ{{{{1J)ι1ιҜڭ)ڜ9)9{{Rʵ{{9{9{9ss9{1Ƶ֜99s{{sΌZ19kks{{ιιιιιιιιιュkkιJ)9Zs1ƵZ{{{{Z19{9ZZJι{Z9{ss{1J)ュR999{{Rʌ)ޭ){{ڜ{99{޵Z1Ƶ{ZsR{sRRs{{ι)11ޜތJsst999999ZZ{{{Z9999ιJιڜZ9s1s9Z{{{ZRZZ9ڭk9{Z{{{){{91)1Z)){ZֵZ{{Z9Z{ޔZ9R1ޜ9sΔ{9ss{{9RkksZ9Rޜ㌱J)9sι{9RιsεZ{9Z11s{9ιҜ{޵sΌ19{ZZZ9skJ{{99kҜJ)ιڜs{{{{{ޔҵZsZ9sε{Z999Z{Z{{kZオ֜9kkRZ{1ιsι1Z9{ZssΔ{9sέֽRRι1{Z9Z{{ZsΌJkڜ{ZZ9{Z9ڌ199sέ)Z{{R{sε99Rڜ{Rs9{ZZ{Z{{ޔιڽ{֭s{{91kޜ{1ι1ι1ޜZZZ{{9{{9Rʌ֜sRRι1ƵZZ9{9{9sΌk1Ƶsι{9{{㭵RZ{{9ZZ)J11sRޔҵZR9Z9RʵZ{{{ZZ9ZZŒڽڌ1Z{{9Rʌιޜ19Z1ιs{Z9{{9ZZ)RZZ1ι1ƔRRʔҵZ{9ZZ{9ҌJRZZRʭs9Z{{{㭵JҜ{Z9ZιRs1s{1ƵZ{ޔҵZZRʭZ{{ZRʔ999{{Z9ZZRʌҜ{{{ڌZZs1Ɣ9kRι޽91オZ{ޜ{9Z{{9Z9Ҍ)µ9{91ƭ1ƵֵRʔ{Z{{Z֭JRʜ֌sZ{{Z{kk֜999{9ss9ZsέZZ1Ƶ9ҵ9ιޜZ{ZssΔҵZZsΌ{ZsJ{Zs1ƔҔJkιk޽ιsZޜ{999ZZZ{{Z9{{99ڔsk)1ڔ{ZZZs{{ZkJsΜ{sJks9{Z{ZJι{{{9{ڌιZR1sZ9sڭ1Z{ZZ99{Z99ιJι1RRR11Rss)R991µRRRʌ)JҜιҜZ{ZZZ999Z99{{ZRZJ)s9{9{{Z9{9ss9{{{s)kZ֌)ιޜZZZޜ19{{{99{{9֭{1ƭRR”{ޭ1ZZZ{{Z9Z{{Z{ZkJkιR9sΌJιRʔҵڔιュZ֭))ιZιs{ZZ9Z{9޵ι眔ҜZsJι{Z{{ZZ991Ɣ{{ZRkRsέ{{{99sR{{99{Z9ZZ{{sιs{{kJJJҜ999ZZZZZ{{{ZZZ{{Z{ڵֵֵ{91ι1Ɣҵ9RʌkkJڽ{9ZZR1kJs9sk県֜{9ZZ{{1Ƶ֜{{ZR)k{9Z9Z{sRZZ9Z{Z9{{{ZstZZ9sέ)1ZZRʭιRʵ9{{{Z{{1Rޜ{{{{{{1ƔZsRs{1J){sιR9{ZZ9ZZs111RʔҔJ県{{99ZZ9Rs9{RZZ{Z{sJ1Z9Z{Z9Z{Z1sZ{{ZZ{{ڭ{{ιs9ZZZ{{{k)Z{ZZ1Ɣ9ZkJ191ιZ{ZZ9999ZZRk眭{{ZZ{9{Z9{1ƵZZ)ks99Z9ZZRιs޵999{ZsΔ9{{sZ91)kJJ1Rʔ9ZZ֭)ιZ9Z{{9R1ƔZ99㌱)1ޜι{Z9ZޔRʔZZR)֜{{{9{Z99sRޜ{{{{kJŒ)ι1sޜZ9Z1R91Ɣ{{s{{Z99ZZZ{{1Rʵ{9)オֵJJ1sڔҭ)kRsέ)ιRʔҵ{{sιιRZZ9筵)RRι{オ{Z9ZssεZ9Js{{9ZZ9sεZ{Z999{{s)ޔιJJRZ{1{RZ1Ƶ{ZZZ99Z91kR{ތ֜RlJkι)sZ9JRޔҔޜ{9ι)Jڽ{޽9筵kt9オ{{Z9Z9ޜkι{ZZZ9{ڵZ{ZZ99Z{ڭkZ91lҜR19ZR޽µ{{{ZZ{{{{R1R1ュ1{ZR)9{Z9޵sRJ9Zk{9sڜ{JJ1{޽㌱9ZιR{オ{Z{ZJZ{{9Z99Z{ڵZιZ9ޔR޽{1Zt{ZR{{ZZ{{{9Ҕ91ιRڔҭ19{ZZ{9R1s{9ŒZ֔ޜ㭵)ι9{޽ڌ9RιµZ{オ{{{{9ZJ{{9{Z9{Z{{{{{11ƵZ1J1Z{91sZZRʌ9R919{{{{{s{R1RJsεֵ9{ZZ{{{{9sέRڵ9Z{Z޽kZ9sιRZ޽Z{{ZιksZ{{{9{Z9{{ZڔR­ι1J)Z{{ޔҵ99֭ڽsΔ9Rt{{{{Zڵ99sι)J”9{{ュRʵ9{{RZڽRk1{ZRR{ιsZZZ{{{ҌZ{{{Z9Z9{{ZڵޔJZ{{{Z9{{Z)sZZֵZs1Z{{Z9ZZ1ƌsZ99{{ZJs9{{{{{9Rڽ1ksΜZRR99{ޜ999ZRʌ{{{Z9ZZ{9RsZ{Zι))RZZ999Z{ZZ1Jオֵ֔ҵ{1s{{{9Z99{Z9Z9Rt{{9Z{{9ι)RZJJ1Ɣ1ιֽ{{JҜ9Rڽ{R99Z{ޜι{{{Z{99Z{{{sRʵZ{1)Jιs99Z{9ڵֵsιRʔ{RRʔ9{{{Z9Z9Z99{ZZ1RZ9Z{{{{{Z99{ڌJZιιJ)1{Z㭵JڽιҜ{RZ{9ιR9Z9{Z9{{Z{{{{sR{)s9Z{{Z9991ƭιR{Z޵޵sΔ9Z99{9Z99{{{9RʔZ99Z{{99Z{ZRkk{ZڵֵRJksJkιҜZ1Z99ZZޜ91オ{{Z{9ZZ{{RRʔ{ޭ1ƔZ{1ιι1ڵZ{9RsZ{9ҵZ99{{{9֔9{{99ZZZ9sΌ޽99Z91))Z)k9Zsιڽ91ZZڜ999Z{Rs9{J)s{{޵1ƭ1{Zsέs{9ҵZ{9{{{9999{{ZZ{{Z99֭{㌱Z)J{19ιR{Zޜ99ZֵZ{Rs{{9RkRʵ{Z9{9sΌ9{s)Z{ڔ{{99Z{{Z{{9999Zιk9Z{sJsJJ{{Z9ڜ㭵Rʜ99{R{ZZ{{{ҔZ9RR{{{99Z{{9ZZ1ZZι)Z9{Z{{ZZ{ZZ9kֽZ9{ι)k)޽{sR1ιt{㭵RʜZZ19{{{Zss{{Z9ޔlsss1ƭ)JsΜ{99{9{{R{)kֽ{9{9Z{{9{{1ƌҜZ9Z{91)k)s9RιιR{㭵sΜ9ZZsιι{{RR99Rl))kk)JιRs1ƌJR{9{R1s{{ι{{1)9Z9Z99Z{9޵֔sεZZsέsZ9{{{㌱9筵kι1sεZڭsΜZ9Rk99RڽJ)Jkkιιιs1ƌ19{9ZRk))))9Z9{{JR{kJRʜZ9Z99Z{9޵sRRʔ{9sR{{{9Z{JRJ)1sΔ999ZZ{ZsιֽZιkҜ{{RZ{RJ)ιRʔڵ99{9sR{Z{{J)ι))ҜZ9Z{ZRJJ1{)k֜Z9ZZZ{{{{{{Zss9Z{{9s1Ƶ99{{9ZZ1)Z9)))))Jιs9ZZsι1Z{sJZ{1オ{9ι)ι{{{ZZ{ssε{Zڵ)JZι)ιZ99{{ҭ)9{{kJRZZ{ڵZ{Z{{{{{sRsΔҵֵsR1µ999{{{J)9Zڌ)kkJJJJJJJ)JJkιι1ޜ9{kι{Z9㌱)sΜ{{ZsZ{{9ޔҌJ9֌)R{{99ZZҭ֜Z{Z1J{9Z9{{{ZR11ιιs{Z{{kk99)s޵s11RRR1ュkι1s{ڵ9ZZZ99ZZkι{9ssΔk)ҽZ{ZZ99ڵ99lֽ{1)kڜ{Z9Z{ιsZ{Z{1kιڜ{99{{{ڵ֔sR1Rʔҵֵ{{Z{Z֌)91JιZ{{{{{{{ZRʵ9RZ{{{Z9999Z{ZsJZ9ュ))ڽ{{{Z999ZZZ9Z{ޜsιҜޭι99Z{)JRZZ{{{1k1Z9ZZZZ{9ZZ9{֔ҵZ{9sJ)J{Z9sΌ1Ɣ99{Z{R{{9RʌksΜ{Œ)k{Z{Z9Z{{Z{9k)ιZs眭޽{Z{ޭڜ{{{޵9{Z9{{Z{{{{Z9{{9s11Ƶ9Z{{JJι­{{sΔsΔ999{9Z99999ڔZ{k19{{1ƭR{Z9Z9{9ZZsι֜{))sZZ19Z{RkRZZ{9ssεZ{Z9999Z99ڵֵ99ڔRʵZ{ZZ{{J)Z9{R{99{9Z9{Z9ZZ999Z9sιµZ{{9ֵ99Z{9{Zι1{J19㌱9Z9ιZZ{{s111RʵZZ{{Zڵ֔ҵ9{Zڵ֔Z{ZZ{9֔Z{Z{{1J޽{Zss{9ZZ9ZZZ{9ZZ{{{9Z999ss9{{99ZZ9{޽9ZkZ))s{{ZZsΔҔZZZ9­kιsZZ޵R1R9Z9{{Z{sRޜ{999ιk){{{sε֜9ZZ9Z{99ZZZ9Ҕ9{9Rs{{9Z9Z{1ιk9ZR޽99Z޵9ޔޜ{{֔Rl”ڵ֔ssΔZ{ZZZZ{1ιR{Z9Rk))ιZ9{{R{9{Z9Zs{ZZ99{sޜZRʔ9Z{99Z9{sι֜R)1޵ֵ9ιZZ9Z{{{9Z{ڵ9ZZ99{{Z1ιι1sZ{Z{{{9Zkkµ9Z99ZZ9Z{9R9Z9{9{ZRsZZ99Ҕ9ZssRRRRʔ{{{{99Z919{֌s9Z9ڵֵڵ)ι9Z{Z9999ҵZ9{{9ZsR1RʔZ{{Z9{{֔sι))Rュ)ڜ9Z{sΔZ{9Z{9Z99Zֵ9{s9R11RsRsZ{{ZZ{{{Zڜ9Z{ZZRιR޵k)Z{Z99ι199Z{{{ZZ{{ޔ{9{9Z{Z99Z99Zҵsέ)J)){{9{{s9{99{{9{{99{Z9{ZsZ9ڔ{ZZ{{{{9Zҵڵ{1ιk)){{{{R{9Z{9{{ڵ{{{{9Z{9{{{ZZZ{{99sΔڵsJ))kR9Z9ZҔ9Z99ZZ9Z{{99Z{{ڵZ{{{޵Z9Z91”9))ιsε9{{sޜ9{9ֵZ{Z9ZZ9Z{ZZ{ZZRRʔ99ҌRssεZZ9ҵ{޵Z{99999{{9999{{{{{{Z֔99ZZJRsι{{ҭ9Z9Z{Z{֔Z{9{ޔ޵֔sΔҵڵ9Z{{{{{{{{{{99Rι1ޜ91ƌsZ{ZZZZޜڔZ{99Z{99{Z9{Zs9{{{{{{{{{91޽Z9{1)9ZRs9{9ZZ{ֵ{99{ZZZsRRRsZ9ڵ9Z9{Zskι޽91{ZZZ9{Zֵ{{99{ZZZ9Z9sR{{991Ɣ{{9)JRRZ9{Z9{Z{ֵ{Z99{{{{9{9޵Zޔ{{9ڵ{{s)k9R9ZZ9Z{{ҵ{Z99ZZ{9ZZ1ι1Ƶ{{{{9RR9{99ι)1R1999Z{ڔ9{{{{{{{Z֔{{޵9Z{{{)ュ{{{ZZ{{{ҵ{{99Z9{{9ZZ9Z{ss{{{R19Z9ιιR9Z{ڔZ{{s{{{Z޽9ֵZ{ZZ9RkJs9Z{{Z{{{{ֵZZ99{9{Z9999Z999ޔҵZ{{{Z19Z9ZRZ{Z{ZR{9{{sޜ{{9޽9ڵ9{ZZڔ)ιڵֵZ{Z{Z{{ZZ9Z9Z{9{Z9{{9{ZZ9s9{{{{{{9sέs{9Z999ZR{99{Zs{{ڜ9ڵ9{Z{9Zs{Z{{{{Z{Z{{{9{{99{{{{{9Z{9Z9Z99s޽{{Zޔιιڽ9Z9ZZ9{1オ9Z{ZZ{{9s9{Zޔҵ9Z{{9sssε{{ޜ{Z{9kZ9{9Z{{{999{{ZZ99Z9Z{99{9{{99{9sε֜{ڔs1ュιsZ9ZZ9Z{tZ{Z9Z{9sZ{sε9{9s11{ޜ{{Z{9{ޔ{Z{9{{{{9ZZ99Z{{ڔҵZ99{{Z{s9{{Z9޵sュkι1Z99{{{{{{9{{sZZ{ss{{9ڔҵZ{{{{9Rι޽{{99ZڭR{ZZRڽ{Zֵ{{{޵9Z{{1Ƶ{{99Z{Z999ZRʔZZ9ڵsR1ιι1ƔҵZ{999999Z{9Z99R{Z{{{s{Z{1ksΜ{{{{99{{11RJs{ZZ{Rs{{{Z{{Z{s{ZZڽZ9999{{9Z{RsΔҔsRʔsRʔZ{{{99{1ιڽ{{{Z֔9Z9Z{ZҭRZ{Z99999J)R9ZZ{R1{Z{Z{{R9R1{{Z9{{s1Rʵ9Z99ZZ{Z{RιR9{ZZZޔڜ{ZZ{Z{R9{{{{{{ZRʌk1RR11Z1ޜ{Z{{{9sڜZڔҔZZ9{9ZZZZ9{99Zޔιs99ֵ9{Z9Z1ƵZ{{)ι9{{{Z1ޜ{{9{{{Z{{Z9ZZ{{{{Zssε9{9Z{{޵1ƌsZ{{{9{99{9Zιs9ڭJ֜޽sZ{9{ZsιR9{9ZZ9{{Z{{ZZZ11s{{9޵֔Ҕҵs1ιJk{99{ssΔҵ9Z{9{{sJ)ι{9Rsڵ֌JڜZιR9tҜ1µ9Z9{֔sR11RʔZ{{{ZZZ9Z{11Ɣ{9sRュJJ)J{{{Ҕڔss99{{{{ڭJJ)RRRʔ9Z{9JkJ)1Ɣҵ֔ss1ƭ{{sZ{RʵZ{Z9{9999ڵssε9{{ZZ911Ƶ9{{{{ҭJkιR޽{9Z9ڵ{Zڵ֔ҔsRRs9{{{{ZR)sΔ)J11))JJJJ))ޜ{Z9ιsZ{sZ999{{ZZ{Z{9Z9ڵZ{Z9Z11Ƶޜ{9Z9ιs99{ޜ{{{{9Z{ZZޭJs{{֭J)Jkk)RssssRsεZ{{{Z99sオ{{99Z{99999{Z9Z9ZZZZZs”{ZstZ{{ZZڔ{{ZZZs)ι{9RʵֵRιιRޔlZ{Z9999Z{9R޽Z9ZZ99Z9{{{{Z999999{Z9ZZZ{9Z1s{991ƭι{{{{Z{֔9{{{{ZҌJ11sڔҵ9ZZ{1s{{{{s{{{{{{{{Z{{99Z99{{99Z{{{{Z99ZZ91µZZ91ƭιZ{{{9{{֔Z{9Z9sέJιsڵ֔Ҕ{{ޔޜZZޔ޽{sڽ{{{{9Z{Z9Z999޵ֵֵ֔{{99Z9{9ZZt{{ZRZ{99Z{֔9{{޵91ƭtZ{ڔZ9Z9Z91ιڜ{ZZ{99{ZZZ9Z9Zޔ{{޵s1µ֜Z9{ZZ1R9{ޜ1Ɣsε֜{{Zڔ9{{ޔR9{{ZZ9Ҕ9ZZ9{Z֭{Z{{ZZZZZ{{999ڵ9{޵Z{Zڔҵs޽Z9sε{9991ƵZ{{{{{{Z9{{{{9޵֔sΔ9{{99{ZZ{1Ɣڵ{{Z{Z9ڵ)ksZZ{Z9{{ZZZ9ޜZڔҵڵ֔{ZιRZZ9{sZ{9{ZZsZ޵9{99{{Z9ZZ99Z{{{{sZ{{9Z{99{{ι1ƔZZڔҵZ{ZskZ{{ZZ9Z99Z{9{ڵ{9RڜZ9sε{Z{{9Z9ֵ9ڔ{{Z9{{{{{ZRZ{ZZZ911ƔRsZ{Z9Z{Z1ι9{{Z{{9{{99Z{{9Z{{{19Z9{{Rޜ9{ޜ99{ڔڔs9{{9֔Z޵9{ュs9ޔsΔҔҔҔҵ9999޵Z9ssZ{{Z9Z{{{{{Z{9Z9Z{Z9Z{sιҜZZZ991Z{{9ZZ9Z9s1sZsΔZZZ9)1sΔ9{991sε9Z{J{{ڵ֔ZZ9ZZZ{ZZZZZ{ZŒs9Z99Z{sR{{ޔ9ZZZ{919ZڵZ{9ZZst9{{ڽ{RsεֵֵZZZ9{ZZZZZ{9{99{sιֽZ9{֭ι9{999Z{Z9{Z9{{Z9{999R9J911Ƶ9ZZZ9{{99ZZZ{{ZZZZ9”{Z9{sι{ZZ9Z91ޜ{9Z{{9{ιZZ9sιιڽ{R)J{Z9{9Z{Z99{ZZ{ZZ{99޵ZZs9Z9ZR9{{9Z{9{{”9{Z9{{9Z{ֵRʌZZZRʌJ)k㭵))ι{{99{Z9Z{99Z{ZZZZ{99{ֵ{{9Z9ZZ9R{{޽99Z9{ss99Zs1RʵZZZ{JJJJ)))Z999999Z9J)J)1Ɯι)J))RRs99{{99999{{ZZ{Z9Z޽Z9{ZZZ9オ֜Z9Z9Z{9ڵ{{Rιι1sεֵZ9sΌ))JJJJ{Z9{{Z999{JJRkk޽1ι1s1k))RʔZ9ZZZZ99Z9ڵֵZ9Z9{Z{9{Z9{ڽZ99{Z999{{{{޵1ιι֜sk)JssΔ{ZZ{99)ksZ{sJ)ޜ{sιR9{ڭJ{Z99ZZ99Z9Z{9ڔҵ{Zֵ99{Z9{{9ZZڜZޜ9Z9{9{9{{Zsk)ιZZιZZZ{99)ks{9ι))Z֭RZ{9Z99{{ޔsεZޔZ{ZZZ9sεZ9{9{{޵9Z9{999ZJJڽ㭵Z{Z9)ks{{J)JιZιs{1Z9Z9Z{999{sΔZ{ZZ{ڵ{999{{Z9޵{9Z99Z9Z{޵ZZ9Z)9{k9{Z)ks{{{ZsΌ))kオ9{{sιֽZ1Z9{9Z{ڵֵֵZZsΔ9{Z{9{9Z999Z{{ZZ9{99{Zֵ{{9{kk19ZZJ1Z9{Zk{{{sιkJRʵ999ZZ1tҜ9Z9Z999޵ֵڔsε9ZZ{Z99{Zޜ{ZZ999{99Z{9{{Z9ޜ9ZRιRʔJ9{{ZZュ{{{Z9ҭJιRʔҵZ19{Z9{ZޜZsZ{ZZ{{Z9Z{{{{9{9ZZ9ZZZ{9{{ZZZZ{9ZZ991ιι19Ҍι99ZZZZRʌ1ZZlRʵ99ZιR{{”{9{{{91k1ZZZZZZ{{{9{{{Z9Z9{9Z{9{Z99Z99Z{9ZZ9{{999֭9Z9ZZZ9sέ޽{{Rιs{9ڭҜZ11RZ9{{{Ҍ֜{Z{{{{{{Z{{ZZZZ{{9{9{9ZZZZ{{Z{{9Z{9Z{9Rʌ1Z{{{Z{9{9Rʭڜ{Z1”9{{ιֽ{99{ιJRZ{{Z{{{{{{Z{{{{Z99{9Z{9{{{{{{9Z{99{1ƭ{{{{9Z9Rʭޜ{{R”Z9ZZ1ZZ9ZZ{JZ{{ZZZ{{{9ZZZZ9{{9{{{ޜ{{Z99999Z{ZZ{Rޜ{ZZZZsέޜ{{1オ{991Z{sZ99{Z9{sJιڜZ{Z{Rʔ9{ZZ9Z9Z{{{{{{{ZZ99{{{{ZR{Z{99ҭޜ{{{Z9{ιsΜι{99Z9ޭkҜZ{Z{11ƵZ9Z9Z{99{ޜ{Z9ι֜{{1ƵڔҔ{{sιڽt99{s)9{{{Z{Z{Z{オ{ZޜZss{ZZ{ZZ{ֵ{{Z{RZ{{ZRssRRʔ9ZZRtZZڵZιkҜZZ{Z{Z{9119Z9Zsڜ{{9{ֵZ{{s{{{{{{{{{{{{ڔRRʵڵ1ƭs{Z19{Rs{1ι1ޜ{ZZ{{{{{ZZtҜZs{{9Z{9{{ZZZ{{R1ޜ{{{Z{{9sZRkڽ9ڜ1RZR1Ɣ{{Z{{{{ZZ{{ZZ{s{Z{{{{{99{9{{ZZ9Z{{Z”{{{{{ZZR{s{9R1{R1{{1RZ{ZZ{{{{Z{Z{{1Z9Z{ιZ{{{9{{9{{9Z{{{{sιs{{{ZZZRJkֽ9s1sZ1Ɣ{{1ޜZZ{{{Z{Z999999Z{199{{ZZ{9Rk{9Z{9ZZ{99Z{{{9オ{{{Z9ZR99ι91ιιRZ{Z֔{Rޜ{Z{Z{ZZ9Z{{Z{{sオZZ{Z9999ZkR{ZZZ9999Z999Z{Z{{{{Z{{11{{{ZZZ{s9)JιュιRʵZ9Z99Z{J){{Z{Z{ZZ9{1R{{9Z99{ZZ{֌֜{9Z{9{{99Z99Z{{{{9{11{{{{{{ZZZ{9Ҕ{9)k1Z9{9{{֭Jι1Ɣ{{ZZZ{Z{9{ss9ֵ9{Z{ZRJιZ{ZZ{{ڵ9Z{ZZZ{{{9{R1Ɣ9{ZZZZRڜ9111Ɣ9ZZ{sZZ9JZZ99Z{{ZZZ{{ZZ9Z޵R1Ɣ9{ZsRޜ{Z{9J{ZZ{9ZZZ{s{{{9{ss{{{{RR{Z99R{޵lڜZ999Z{Z{{9ZZޔ1”{91R9{ZZZŒ{Z9Z{{{99{{Zڔ޽19{{{9{911{{1Z{ZZ99{RڜZ1ι{{{{9Z{9ڔ11ƵZs{Z9{ιZ{{{{Z9{9ڔs{{{{Z9{R”Z{9{ss9ZsZZ{9Z911Ɣ9オ֜ZZZ1ι{{{{Z”9{ZZ{Z9{RtZ{{ZRιڽ9s{1{{99{ZZZڔRιJJι9Zs{Z{Rιڽ{{{9{sι֜1{99ZZZ99Z{ι{Z9Z{{{֭ҜZZ֔R9ZZ9Z{ZZ{9ュk1sRsε9ZZZ9{Rι޽{{{{{9ڵ9ڭZιޜ{9޵9ZZZ{Z1ƌ1ڔҵ9ZZZ{{RZ{ޜ99sΔ{{{Z޵ZZ9{99Z99Z{Z9ZsRs1s9ZZ999Z99{9ڔҵZZZ{ڭsRʌ9޵֔ҵ9{lι1s9{{9ڽZ{9sޜ{{ڔ{Z9{{9ZZ999{{{9Z{sΔ9{ιR{{{9{{{ZZZZZ9Ҍ))ιsΔҵֵ9{R1s{{9999Z{{ZZ{9R9{s{{ZZZ{{Rʔޜ99{{ڔ9{{Z9Z{Z999ZZ9{ڵ{{ZZ{ڽ{9{{{Zڵ֔Œ1sε9{Z9{{{{{ZZZZ99ZZ9޽ZRRʔڵss{{{ZZ{{R1sεZ{{9޵9sε9{99Z{Z9Z{Z99{{{Z9{{Z{Z{Z91sZ{{{Z99֔9Z9{{ZZZZZZ{{ZZZZ{{ZRڜڜ91J)1ޜ{9Z{{Z9ssε99޵RュRssZZ99Z{9ZZ9999Z9999ZZ99Zҵ{{9{{Z9{{99{ZZ{9{{{{{Z9{9ZZ{k)Js{99{{ZZsRsε{{s11ι1Ɣ9{Z99Z{Z9Z{{ZZ{9Z޵9{{9{99{{9ZZ9{9ssZ9{99{9ι)オJҽ9Z{{99Z{{{ZZ{{9{9ޔZ{Z999Z{9{9ڜ{{{Z9Z{ZZ{11Ɣҵ֔R1Z9Z9ZZ9Z{޵֭)kޜJҽ{{Z{{{{{99ZZ{{{99{ڵZ{99{99{Z11sZZR99Z{9ZZ9{{ތ))ZRJֽ{9{{99ޜZZ9Z{ڔ9{{{9Z{{Z”9{sZZ9ZZ9Z)kkZ{)Z9{{޵Z9ZZZ99Z9RZ{{{9ZZ99RR{9sµ{{9{{9{Z9{ڌsι)Z9{{{ֵ{{Z9{ޜZ9Z{Z9RZZ99{Z9Z{{ޜ1ڜ9Z{9{9Z9{{ι1Rk9Z99sε֜{9Z{99999Z{­R9{9ҔZ9ZZZ999ZZ9{Z19Z9ZZ9{޽9Rιk)1{9Z{Zιks9Z9{9ZZ9{Z9Z֌{{ZsZ9999999{99{{{R99ZZ9Z{9{ZRk)ֽ{9sιkJJJJks9{9Z99{9{{Z{{9ιJZڔҵ9{{ޔҔ9{{99{Z9{9ZtZ9{Z9Z9{Z1Jk{kkJJkJJJZZ999ZZ99999Z{{J֜{Zsε9{9sΔ{99{9Z{9{9Rµ֜{9{{9Z9ZkιZZ9ڭ))J1kJڽ{999{9Z99{{Z99Z{1ƌR9{9sΔ9ssZ{9ZZ9{{11޽{9{9Z{ZZkZ{֌)J9{{{9JkֽZ9ZZ9Z9{Z9{Z9Z{ss9Z9ڔҵ9sΔ{Z{Z9{9Zs{{9{{999RJ1{{{kkRZkJιZZ99{{ZZ{{9{Z9{ZZZ9{9sΔ9ZZsZ{{9Z99ZR޽{9Zޔ޽Z{)sΜ9sk{ތJk1ڔs11Rʔ9{{999999{ZZZ9Z9Z99s{{99ڵ{sڜZޔsޜZ9{Z{ιs{ZZ{9ҔZZZι)ڽ{R1ιJ{Z1ƌ1sssssΔsε{99{{Z99ZZ{9ZZ99ZZZ{9ZZޔRsΔҔҵ{Zs9Z޵Z9ڔ9Zڔ1{{9{Z9{֌ZZZ99ZZZZZZ9Z{{{{ZZZ{s9Zތk֭JJ)Z{ュ1Z{{{99ZZ9{Z999Z{Z9Z{1sZZZZ{{{9Rュι1RRRsεZ{sڜ99Z9Z{9Z99199{{9Z{ι)sεֵֵֵֵֵ99ZZ{ZZ{{Z9ZsڜZRkιZ֌kR{ZRʭs{{{{ZZ{9ZZ99{{99Z9ι”9999999Z9ڔsι”ZZssΔ޵sΔ9{99{ZZZ9Z{{99{{1Ƶ{9ڵ1ƌ)J19{{ZZ{{{99ZҔ{Z޵ιJsΜޭsZZ99ι{{ZZ{{Z99Z{Z9Z99ZZ999{{1Rʔss9{{{ZZ99ڔRʔ9{Z{9ޔssRRʔZZ{9{Z{{9ZZ{1s99k)kR9ZZ99ZZ{{9s99ιs{{99ҭ”ڵZZ{{{99Z{9ZZ999Z{Rʵ99Z{Z{Z9{9{{9{ZZZ99{ڔZҌ)R{{{{{9Z{9Zs޽{ZZZk֜Z9ZュιιR9ZZ99999{Rʔ{{֔Ҕ{9{{ZZZ99Z{{9ZZ9{9{{9{{޽{ZュR{{{9޵9Z{{99{9sε{{Z9999Rʔ{眭ޜ{{Zڔss1ƌkRZ{ZZZ1Ɣ{Z޵sRʔZ{{{{Z9{{Z9Z{Z{{Z99{ZZ{9{9Z޽ZZ{tZ99{ZZ{Zsε999Z{{ڜιι9Z{ZZRks9{ZZ{µ֜{{{Zڵ{{{ZZZ{{Z9Z{{{{Z{{9ڵޜ{9{ZZ9{޽9{{{{sιιZ99{{999ޔRsssssΔ9{ZZιιZZ{91k{Z1Rޜ9R1{99{޵9Z{{ZZ{{{ZZZ{ZRڜZ9ZZ{9{޽9{ZsιkJ{{{{9ڵ9{999{{ڔιksZ9{991ƌڜZskιڜZ”Z{{ZZ{ڵ99ZZZ{{Rʵ{9ZZZZ9޽99RRʵ9{ZRkk”Z{{{{{{{޵ޜ{Z99Z{{9ZZ9{Z9{{sΔҵsksZ9Z{{Rʭ޽{ksΔRʌ)ڜZs9{{Z{ޔZZ99Z{{{Rs{9{Z9{9Z޽ҔsέJιRʔҵڵlµ999Z{9֔ҵ{{{{99Z{ZZ9ZZZ{sΔZ9Rʌιޜ9{{{9Rʭ19ތ)ι{{֌)ι{{1s9{9{ssZZ{{ZZ{9s1ƵZ{ZZ{ZZZ9ڜ9kJ1ƔRι1{Z{֔Z{{{{{{{{Z9ZZ{ZZZ9{{99Zֵ9{Œs{9Z{{Z99Z{{ŒsZZ1ڜZι)֜1s9{9{s1ƵZ{99Z{{Z99{ZڵֵssεZZ99{Z{1ιskRʵR1ڜ{Z{{{{{{Ҕ{{Z999Z{ZZ{99{{ZskZ{9999ZZZι{ZsJJR{Z)ι޽RR{9Z{91ƵZ99{9sュkJ999Z{9Z1ιkkιR9ι޵{ZޔsRʔ9{{֔{{{ZZZ9ZZ9{ZZ{{1kZ{ZZ{{Z{֭ιڜZsk)9ιJ9R1ڜ{{99Rs9{Z99ZRʭJ)kιιk{{{skJsZZ))J9ڔҔ99{{{{{Zޔ1111s9Z999Z99999RʌιZZ99ڜ{ҭZsk)Zlι11ƵZZZ{91{{Z9Z{{1RsειZ{{{{ι”9{{{{Jι)Jtҵ9{Z{ZZ{{{{Z{{Z9)k1{9999{9Z{99{9RʌιZ{ڜ91ƌ{9sk){ZsRʵ99޵֔{{Rs{{{Z{Z9{Z1ks9999{1Ɣ99Rk1k)ιsZ{{9Z{9{{9{{9sRŒ9Z{9Z9Z9sέιZZsޜ֭ιZ9J){Z9Rιk”9{sZZڵ99Z{{Z99{{kJsZ{{{Z9Z{ҔZZJJsZ9RʌRZZZ{{99{ZZ{{ZZ1JJι1RZ{9Z{Zι1Z{sΔ9J1sJJ1{{Z91ƌ1Rι19{Z{R11Rʔ9{ι)ֽ{9Z9sε֜ι)Jιs99s”9{{{Z9Z99Z9ZsιJJڵs1R{{ZZZ{{9sRʵZ{{{Rs{Z1k)Jιs9{{ZsιオZZRιιRʵZZ{ڵڵֵֵ֔Rιι19Z{9)ֽ{9Zs޽)JZ9ҵ9ZZ{{1”9Z9ZsJ9ޔιs9ZZ{{RRsε9{{{9Rs{9ュιR{9s1Ƶ{9ιιRssΔ9Z{{Zs1ƔZι{Z9{s9)){{޵{{{{{{­Jkޜ9{{{9sJ{{Rʌι{{9ڵsΔ9{Rʔ{99{{{9Z{Z{9ڵsR11Ɣ9{9Zsڜ{{ҭ19{9Z{sZ{1)){Z{9Rk1ƭ)ޜZ9ZR91ιڜ{ZZZڔ{{ssε9{{{{Z9Z{Z9Z9޵֔9{{99{ޔ9ZZ99{9Z91sZk9{{ZJ1ι){Z{{ιRʔҵsιRZ{{{{Z޵9{sΔZ{Z{{{9޵֔ZZZ{Rޜ{skkJR{Z9ZZZtZιk޽ZZ{ZRJZ{֌JR9{{Z9kJ{1ι{{{{{9ڵ{sΔ{{Z99{{{{ޔsR1RZ{{­1޵sksΜZ9Z{Z9Z1{J)R{{9ZZk9{RJk1ޜ{ڔҔk)Zオ9{Z{{RʔZZҔ9{9{{ڔҔڔ11ƔZ{{sΌ)JιιkRʜ{99Z{9Z{ιR{1J)99{Z9㌱J޽){9޵))Rʜ{ιオ{{ZZt{Zsڜ99Z9sε9{s11Ɣڵ֔ҔҔҵֵֵ֔J)JJιtZ9RJ1{Z{Zsڽ{ιJZ{9Z99ޭڜJ)ks9Z9{ZJڽZRʌ1ZZZ{9s{Z9޵ֵ9{{{{ڔsR1Ɣ9Zs1ι)kιRʔιsZތZ{Z9{Rιµ{{s1R{{{Z{Z{”99Rʌ)Js{{9Z)k޽ڌ{{{Z9{ZR9{Z9991kオ99sι))kιιιιtZ{Z{k99ZR1RRRRRRʔZڔҵޔҔ9{{Z{֔ҵ֔ޜZ9Zҭ)k֜991{9ks9ZZ9{{9{{Rڜ{{9{ZRZZιιs999999{J)t9Z9ڵ9ZZ{ڔZ{ڔZ9{{Z9{Ҍڜ{9{޵{sέι1sεZ9{9sZ{9Z{{R{{{{{91޽ڌJR9ޔ99sεZڔ9{{ZZZZ9ZZZZֵ{{9{sJι{99{{{ޔsRsZ{Z{{9Z{{{99{ZRJι޽{Z{{{R))Js{ZRRsޜ9ҔZs9Z{9{{{{{ZZZ9Z1)s99{Z{Z{9Z{Z9{ι19޵֔ҵֵ{{{Zk19{{{{{{{{R9{9Rk))RZ{ιޜ{֔{ҔZZ9{{{Z9{9991J)1ZޜZ{9ZZ9Zޔ9{{kιkJJ)JsZ{{9ZZҌ99Z{{s9{{{{{֭)J{91s9ڜZҔ{ޜ9{ZZ9ZZRJ)R9Z{Zڜ9{ޔҵ99s9Z))))JJJ){ZZ9Z99skJZ{{{{s{{{{{{ιJJk1RZ{ڔ9ZҔZ{޽{{{{{{9{sk)))JJJµZZ{91RsZZڔҔsι)JJkk1Ɣ1JZZZ{{{9ZZι{ޔ{{{{ιュ)s99{9Z{ZZZڵZZZҔ9{{s{ZュkkJJ)){ZZZZsRZ{1ƌkιRʵ9{9ks9{{{ZZ{ZZ{{Z{֌)ҜZ޵Z{{{9sΔιksZ{{ZZ{99{{ssZ{9Rs99ڔRk)s{{{Z9ZZZsRRʵ1s֌{9Z{{Z99ZZ991)ι{ZZ{{Z99{Z{{{ZRsΔRιsZ{9{{ڔ{Z9ssュ1{ZR9Z{sέ)){{9{Zss{Rʵ{9ޜ{{{{999{{sΌ)s9{{ZZZ99999{Z9Z{{9R1sRs9{RʵZ{֔ҵ99ZZZZ{{1ιι1Z{ڜ{9{{)Z{Zڜ99{Rʔ1RZ11Z{{{{ZZZZ{{{Z9Rʌι{{ZZ9Z9RιsڵZ{99{{1sZ9ιkkkιιι1Ɣޔι)))kt9ZZ{{1ι{Z9Z1޽ZZZڜ9Z9sιk1{Rʔ9{Z{{{{{{9֭J{{ZZ{Z{{ZRʌ9Z{{ZZ{{9sR9Zs­kJJJJJkkkkkkkJ)Jオ9Z{ZZssZ{99JRZ{99{ޜ{{Zlkksε9{s{{{{9Z{ZZ{Z֔޵R1ιJ)ιڜ{{{{{{{ZRkZ{{{{{{Z֔{sRʵ޵֔ҵޔι)))R9Z{Z91R{99{9筵Z{9Z{ޜ99ޜ9999Z99{ZsΔ{{ZZ{{{Z{s{­”9{Z9{9JZ9Z{Z9Z91s{Z{ޭk1ƔRι”9Z{Z99sRޜZ99Z{ZZZ9ޜZ9Z{99{RڽZZ{{{{{R9Z9֔99{9k֜{޵9{{{Z9Z{sΔ9ތZZs999֔ޜZ9Z{㌱JR{{{9Z9Z{999sΔZ99ZZ{{Z9Z{sRZ{Z{{999Z1Jֽޔ{{{{{Z9sޜ))sν{RZ{Z{9{){Z999{9޵s1s{Z9{{ZZ9{{sR{{{9Z{99{RJҜR1Z{{{{Z޵ֵZ{{JҜ{RRZZ{ZZZ)R{{Z֭ιڜZ9999ZZҔ9{{ZZZ9Z{sΔ{{{{99{{Z9Z{{s)R91ι1Z{{Z9{sιsZRs9{ZZkڽZ9{Jι9Z9Z{{Z{{91Ɣ{{Z9ZZZZ9ڔҵڵ֔ޜ{{޵Z{ZZ{{Z99Z{{{ktR19{{{{{ZZRsΔ11R1ƔZ{9ι{Z9999{{99Z{R)1{Z9{{{Z1ιs9{99{{{Z޵ֵ9{{{Zڔ9Z9ZZZ999999999Z{ZŒsZZZ{{{{{{1ƔڔRڜ֔9{9{R9ZZ9Z9筵kֽ{9Z{9sュڜZ9{{{{{9sZZ9ڵֵ9Z{{{ιkι1RsΔ9{{{µڵ9Z{ZZ9ι)1Z{99999Z9{J9Z{­s999{Z1ƵZ{Z{ҵ999999Z{Z{Rkss1sZ{{9ڔҔҔҵֵstZZZ{Z9{{9{kJsΜ9{99{ZZ{9kZ99sR9{ZsΔ{{{{{R{{Z9{֌1ZZs”9{{{sュιιιιι”ZZ{{9{kksZ{9ZZ9Z{ZZ9ιJs{{9{{{{Rʔڵ{sR9{{{{91ƭZ{1޽{9Zι9ZR1Z{{{{{{{{9Rsڵֵ{Z{9Z{ιµZޜ{ZZ99ZZ9k9Z9Z{9{sΔZڵZZι19{{ZRʌ{ZR19Z9Z9sڜ{Z{sΔ9Zޜ{{{9Z9ҔҵR1ƔZ{ZZ9ZZ9ZZ1JRʵ{ZZsRޔ9ZsέιsZ{{{{sΌ1ZZ119Z9{ZRιڽZڽ{99ZRʔ99{{sRsε9ޔZsΔҵ{ZZ{{{{{Z991ƭ”Z{9{{ZRRڜRʌ9{{{{{ڭι{s޽{Z{ι{{ڽ{Z9{{sZޜZ9{9sεֵssε9{{ֵZ9޵֔9{9Z{9{Z9sε99Z{Z9ZZ11{ZskZ{{{{{{{k{{{1Ɣ9{{{{{11{ڜ{{99{{1ڜ{{ュRʵ{ZZZޜ{ZڔҵZ1sε޵9{99Z999Z{Rʌ1Z{1k19{{{{9sZ{{ֵ9Z{{{Z{{{{{{{{ZRι1Z{{ZZޔ1lZ{9{9{{֔ҵ{ڵ֔Ҕҵ9{9{Zk99Ҍ9sZZZZ99{{{{{{1Ƶ{Z{Zιޜ{{{Zڔs11s9{99ޔ9{11Rʵ{{޵{{Z9{Zޭk֜{{91)J{Z{Z9Z{{Z{{Z9{{ZsΔZ9{Z){{{{ZZ9ZZZ99{ZZZZZ{Z{{ֵ{Z޵R1ƽZ999{9{99{sJι{ιڜ{sJk1ƔҔRR1s{Z9Z{{Z{{s9ZZ{ڌJZ{9999{99999{{Zڵ9޽{{{ZZ{Z99ZZ99JsZ{ZJ1Z{{kkRʵڵ֔RR9{{9Z{{99{Rڜ{9{)ιZ99Z{{Z9Z{99{ڔ9޵ֵ޵ֵZ{{{9Z{9{ZZ9{RJιZ{Z眭ޜ{{ZssRs9{{{9s޽{{{ZZ99ZZssZ{Z9{{{{{Z)9Z{9ZZ99{ZҵZ{9ڵ֔ҔҔҵ{{Z99Z999{Jk{{ZsJs{{{{Z9{Z99{ιֽ{{Z{99{R޽{Z9{{Z{{{Z)ksZ{{9Z{9{ڔޜ{Z9Z{{޵sεZZ999ZZ{Z{9RkڜZ֌ιZ{ZZ{{{{{9{{Z{ιֽ{Z{Z99{s{{99ZZ99Z{{{9RJJR{Z9{9ڵֵֵsε{Zڵ99ZZ{{s1{Z99{ZZZڵֵֵ9{{)”{Zs)ZZ9{{9ZZ9Z{{{ڽ{9ZZ9{9{Z9{9){{{{9Z{sssssε99{9ڵڵRsޜZ9Z{{ZZ{{1ƔZ9{{Z9{{9Z{k)JιRʔ1ƌJZ{{91k)9ZZZ{99ZZZ11{{Z999Z{ZZZ{{Z999{99{{)ޜ{Z999Z9{{sΔ999{ZZ{Rιιsεs1R{{{{99{{Z9{9RsZZ9{{֌1ιk)JRޜ{{{sΌ)9{99Z{{ڔ­{{ZZ{{999ZZZ{{ZZ99{{99Z{{{{Z99Z{RJkޜ{99ZZ{Z9{{9999Z{{sR{{9Z{{ZZZZ1JZRs9Z{{{{9Ҕ99Z9㭵){{RRZ{{Z9{{sΌ)ZZZZ޵ֵ޵1kkֽZ9{ZZ{99{{Z{Z999Z9Z{{J)999Z{ZZ9޵9{99{{Z9޵1s{{ڵ֔ҵ9RJZ{ڔҵ999Z{9{ڔRʔڔڜ9ڵZ{{9Zs)Z{ZZZ9{{9skJ1{ZޔsZZ޵ֵ99ҌRʜ9{Z{{9{{{{99ZZ99ZZZ{{{{ι)sZ{Z{Z޵֔sZ{9{{1ƌJRZ{{{ZsΔҵZZkZZZ{9{ιkk”ҔRZ{9s1ƔҵZ9筵)ZZ{Z9{ZRι9{{ޔsε99Z{{99Z1Ɯ{9{ZZ{{ZZ9Z{{{{{{֭)9Z{9R99­Rʵ{{9Z{ZZ9sΌ1Z9{99ZZ댱ιJ)ιRι֜91ιιk1{)kڽ{{Z99{{{{99ZZkks9ZZޔҵ{{ZZZ{91Z9ֵ9{Z9{{{Z{{ιJオZ9RιR9sZ{99Z{{{Zュ֜{ZZ91ks1k{{9Rʭ))kι1ޜZ)Z{ZZ{{ZZZ{{ֵ{ιk1Z{{Z޵֔Z{R)޽{99{{{999Zkޜιޜµ֜{ZZ{9Rʭ1999{Z{9­ҵkR1ƭJ)Jsڵ֔ҵ޵RsJkҽZ9{{{9ڔҵ9ޔRʵ9Z{9ڔҔZ{ZZZ9֭ZZ{9Z{{{ZZZZ­1{9ιsZµֽZ9Z{{ι޽ZZ{ιRޔιkJ)JιRZ{1{s)9{{Z99ڔssε9Z{9֔ҵZ{{ZZZ9ڔssε9ι9{{9Z{99{Z{{ZZ{1ιs9{{{{{ZR޽オ֜{Z99{{{{ZιkR999{{91オ޵1R9{{{{sιt99){{{{{9Z{9Ҕ9{{{Z999999޵1ιks޵R{Z{{Z9Z{9{{{ZZZZ9Z{99{{sR1R9{{{{Zι{ι{{{{{sΌJs{{Z{Z{1Ɣ9{{{{{Z9Z9ιss)kֽZ9Z{s{{ZZZ{{{RsΔsι)ι֜{Z9{Z9Z{{99Z9ZZZֵZ{{{{Zιޜ9ιZ{1ƌkι9{9Z{Z9ڵ{{{{1ιュ)9ZZ{Ҕ{9{{֭)))kֽ{{{99{{99{99{{ֵ9{91kssέ19{9ιsZ{9Z{9ZZ{9Z{{{RιҜ{{Z޵{{ҔZ{{ZsΌ))sΜZ9{ZZZZ{Z{9{Z{{9{֭))ιι֜911Ɣ{{Z9Z{Z9{ZZ9{{{{ڔ1޽{{Z9ڔZ{sZ9{9sJR{{޵9ZZ9{9Z9ޜZZ{Z9ZZZZ99{{9ޔJJ1{9ڔҵZZ9{{9Z{{Zs9{{{{޵119{{ڔҔ{1ڜ9ڵ9{{{JksZ{9ҵ9{Z9{{9ZZڵZ99{{Z9ZZ9999ZZRʌιR{ZZZ{Z{ZZZZZZZ99Z{{9RRZ{{9Z{{ZR{{{ssε9{1s{9֔9{ZZRsZZ9Z{{99Zޜ{ZZ{Z9{{{{ιs9Z99ZZ99ZZ{ZZ999{{Z9Z{s1{{Z9Z{ZZZ{Z”Ҝ{R”Z{Z11ZZޔҔ{s)sΜRR999{Z9Z{Zs9{9޵֔ҵZ{9{{1sZ{99Z999ޔ{Z99Z1ڜ{9Z{99{{R޽ι{ZR9R1Ɣ{1{ュҜZ9{Z9ZRʵZ9Rs{Z{9Z{9{Z9Z{{Z9ZZ֔Z{99{RʔZ9ֵ{{Z9sޜ{9lZZޔҵsιs99Zkι޽ZZ{9sµ9JJJ1{Z{ZZ{99{{{{{{{sڜ{ZZ{{Zڵ9ZҔ{Zs{{{99Z޵{{ZJs9{{ュkkR9Z9ιZJ19Z{Z1ιRsι)kιιkksZZ{Z9{9ZsΔZ{֔ssΔ9{Rʵss9{{{Z99Z{{{{{{{{sJ9{9sέJ))kιs{{9ι9ڭkR9{99sιRʭZZ9Z9{9{RZ9RR{s1sΔsεZZڵֵZ{Z{{{9ZZZZ{{ι1Z9k))ZZZڜZR)kޜZ{{k)sZ{Zҭι99999{Z9ZҔZ{{Z1Ɯ{ュRZZ99ZZڵ9999Z{Z1{ZJ)ιޜZZ{ZR)19Z))ιޜZ{ޜ9s1ƵZ9Z{9999޵Rʵ{{9Z{9ZJR9Z{Z{Z9Z{9sޜZs{{{Z֔sJ)ڜZ9{{s)ι{{{{9sJJ1Z{{ڭ1{{֔ҵZ{Z{Z9sΔ1sZ{{Z9ZZZZks9ZZ{Z{ss9ZҔ999猱J1{9Z{{9R)Jt9Z{{9)ιڵֵ{J޽{{999Z{Z{{ZRRڜ{Rڜ{{99ュ9ZZ{ZZ9RڜZֵZ{ޜ))ι9Z9{Z9{{{{{{Z)ιڵZ{R)ҔҔ{{s1{{{Z{Z{9{{RRZ99Z{{{RZ{{{{{9Zޔ11ƵZ{{{ZsΔZ{9{9Z)JҜ9Z9Z{{{{9{9Z9)1ƔZ{1k{9{{{9{{ڽ{9ֵ9ZZZZZZ{Zsڽ{Z9{Z{ֵڵֵZ{{{91s9{{{{{99Z{{9ιkֽZ9{9Z{19Z{{ҌJµ9{9ι9{9Z{{99{µ֜{Zs99Z9999Z{RZ{9{ZZ99ڵZ{{ZZ9޵sι111RʵZ{9ڵZ9{{Z{Z))1{{9Z{Rι{{1kJ19Z{JZ{{{{{{{{{{{ZZ{オ֜sZZRڜ{Z{{ZZZZ9޵{{{ڵֵ֔ҔssssJ))sZ{Z޵{Z{ZZ{)ޜZ9Z{{Z9ޔҔ{skֽZssRʌJ19ZZZ{ZR1Z{{{{ZZ{µֽRR{RZ{Z9{Z{{99{Z9sRRssΔҵ9Z9ڵRʌs{9޵9{{{Z)JRZ{Z999999ޔsZsΜZRR99sJ{{ZZ{911Z{{{9{{ڽsΔZ{Zsオ֜{{Z{{Z{ZZRʵ9ZZ{{ZsΌڜ{9{{ڔ9J)Z{{9sεs1Z{1”{J{ZZ{ZRRZ{Z9޵9ڽޔZ99Z19{{99{Zs99­Z9Z9{9k)1ZZss9{Zι)tҔR1sZڌ9{9{Z{{RR{Z1RZ{{Z9Z{オ{Z{Z9{{sオ{{{{99ι֜{Rι{ZޔsΔ{{99猱JRZ{ssεֵ1ƭJ1RʔZ91ι1ƔZZ9{{1ҽڭ9{Z9ڵֵZ{{Zs޽9Z19{{Z{9֭ڽ{Rڜ{Zsιt{9{Z9k)JZ9999999ZZZ9ޔŒ)kµ9{ҔҵsΔֵZ{{9kk1ZZZ{99{ޭRZ{Zޔ1ιι֜9991ƭ{{{Z{99Z9ҭڽs{Zڵ1ƌι99{ޔR1ιJ)k֜ZZZ1)9Z޵Z{{޵{眭J1{{Z9{{ZZ֭Ҝιڜ9Z{ιι޽{{99{{޵9­ڽ{s1Z{{Z{{kֽ9{J)))JJJ1ZZ99ZZZZ9RJRʜ{{{{{{{޵{޵9{ιZs)1{{9{{{ιڽ{sJkュ99{ZsΌs{{ZR199{޵9{ZJڜZsΔZ{{{{ZskҜ{sΔڔҭ)1sRιι֜{91JRʜ{{{{ZZZ9Z޵{ڌZ9Js{9Z{ZRkR)s9ιZ{{{{{9Rιs9{{ޔkJt9sڜ{{{{{sJҜZRιk)ιZZڔs191kZ{ZZ{{{99{Z޵֔Z{J1{kk{{޵Z{19Z{1kڽ91t99Z{{9ιZ{RʌJιs9{ڔ{{ZZZ{RJֽ{9Œޜ1ιR9{֭kڽ{ZZZ{{ZZ{ZڔҔZ{Zs)1ƜkJ{{ֵ{1{ZsRʵ9{Zҭ)sΔZ{{{{{{Z9Z{ޭZZ{1kkRZ999Œڽ{{Z޵֔9ҭ1Ƶ99Z{Z1{{ZZ{{ZZ{9Z{{ZZZZ9s1{))R9{Zҵ{ι9{{k)ιڽҵ9{99{ZιR{Z{sJJs{ZZZ9Z99{{޽{{{{ZZ9ZRʌ))kRʵ9ڌιZ{{{9ޜZZZZ9Z{9ZJZ{Z1ƌ)sεZsε{JµZ{Z99ZZskڽZ֔9Z{s{{ތ)1Z{{99{9ZsR޽{{{{{ZZZ1ュkJ)ιڜJ)19{{{9ޜZ99s1RZ{Z9ڵsJ9{Z1ιJJ{{1Ɣ99{{{ZڭZ99Z{ZҭڽZR{{{ιR9{9)999{9ZZZ{ޔҵ{{Z{{{Z{9ڵs1ι)ιZ1)Z9ZZZZ9ss9{{9ڵs)11ιιι{sιkk1Ƶ9{l1ƔsRRRsεֵֵ֔sιk֜{999999{{ι޽ss{{Z99ZZ99Rʌ1{{1J99{{{9{ZZZZ{ڔ9{{Z99{{{{{ι)ҜιιJ)ksεڵs­kkRs1ι))JsZ{ڔkJιsJJ1Ɣҵ֔RιkJJ))JRZ{{ZZZZ99{ޭ޽Rs{{9{{{Zι9{{{{)Jֽ{99Z99{ZZZ{9ڔZ{9Z{{{{{{Z{Z1)R{k)k)J1ssRιkkι11ιkJιιιιιιιkkRZZ{ZRʭιュJJJ)k1Z{{Z޵sR111ZZڵֵ9{ZZ{99ڭ)ιZsµZ{ZڔҔҵZZޔ{{֭Z޵)JR{Z9ڵֵ9{9{{ڵ֔ҵֵڵ9{{{Z{{{9RkR{{sk)オsι1Z{{Zޔ1R991t99Z99sΔ9{9s­ιR{91sRRRsssΔ9Z{{9Zڭ)JsZ{ڔsΔҵ֔Ҕ{sιҜJ))1ZZRsZ{9{Z99999999Z{{{Z99999sέR{ZR{Z֔ZZZZ1ZZ{{{ZZ{{)R޵Rs9Z9{ڌ))ι9Zsڜ{99ޔҔҵ{91)kkJ޽9R{Z9{99ZZ{{ZZZ99ZZZ{{{1Zތ)19Z99{{9{9Rιs9{{{{{{{ι)))ιsRZ99sk))J99ι1{9Z9Z{{119ιsRιRZ9R{{9{{Z{{{{{Z9Z{9R19{R)kssΔ9ZZZZڭڜ{{9Z{{{9k1ιJ)JιRsι”Z{9{{sΌ))kιιιZ{{{ZZ99{{9R{9sµ֜{{{{sΜZZ{{{{{Z{99{9R199)R9ZZ{{99Z9Jι{Z{{ޭJ֜9sέJJµs”9{9ZҌ)))JsZ{ZZZ99{{ޔޜ{Rs9ZsµֽZ9{{Z99{{{ZZ{9{{1sZksε֭ZZ{{ZZ{{ڌ1Z{Z{9999ZkZRʭ{RRZZ9{k)ιR{{{{{99{Z{ZZsڵs{9{{Z{{ZZ{{Z99{ZZ{Z9sεZZ1JJιZZZ99)J{{{{{s1111s9Z{ZsΜ91ڽ91ƵZιιZ99{{{{Z9{{{Z99Z{{{{9{޵9ZZ{{9{{999Z9޵ZZ9ι))sιkRʵڔJJ1ZZ9ssR1ュkJJJJJkιιJ)J֭ҜZRsޜιRZ9ڔ9{޵9{ޜ{ޜZ9{Z9{9ZRʔ9ZZ9999ZZ9Z{{{s))kιJ))))JJJJJJJJ)))JJJޜ{{Z9ZZ{{91ƭkkkkJ))))1ZޭRʜޜ{Rオ{{Z{{ZsΔ{Z99{9Z{1sZ{{Z{{9Z{99Z{ZZ{Ҍ))))))J)))JktҔιJι{9ڔҔ9{Z9{9ssεڔ­)Jֽ㭵Rʜ9R{{{{Z{{Rµ֜99{9999Z991R9Z9991ιk))))JRι)))))))Js{Jڜ{”9ZZ9ZZ{Z{ZZZι㭵RʜZZ9s1Z{Z9ZιR{ \ No newline at end of file diff --git a/examples/loading/animated_model/graphics/texture.grit b/examples/loading/animated_model/graphics/texture.grit new file mode 100644 index 0000000..207c056 --- /dev/null +++ b/examples/loading/animated_model/graphics/texture.grit @@ -0,0 +1,2 @@ +# 16 bit texture bitmap, force alpha bit to 1 +-gx -gb -gB16 -gT! diff --git a/examples/loading/animated_model/graphics/texture.png b/examples/loading/animated_model/graphics/texture.png new file mode 100644 index 0000000..eafd9fa Binary files /dev/null and b/examples/loading/animated_model/graphics/texture.png differ diff --git a/examples/loading/animated_model/source/main.c b/examples/loading/animated_model/source/main.c index 4270be8..73705d4 100644 --- a/examples/loading/animated_model/source/main.c +++ b/examples/loading/animated_model/source/main.c @@ -8,7 +8,7 @@ #include "robot_dsm_bin.h" #include "robot_wave_dsa_bin.h" -#include "texture_tex_bin.h" +#include "texture.h" NE_Camera *Camera; NE_Model *Model; @@ -49,7 +49,7 @@ int main(void) Texture = NE_MaterialCreate(); NE_MaterialTexLoad(Texture, NE_A1RGB5, 256, 256, NE_TEXGEN_TEXCOORD, - (void *)texture_tex_bin); + textureBitmap); NE_ModelSetMaterial(Model, Texture); diff --git a/examples/loading/filesystem_animated_model/assets.sh b/examples/loading/filesystem_animated_model/assets.sh index dc0cdd2..44c73d3 100644 --- a/examples/loading/filesystem_animated_model/assets.sh +++ b/examples/loading/filesystem_animated_model/assets.sh @@ -4,8 +4,9 @@ NITRO_ENGINE=$DEVKITPRO/nitro-engine ASSETS=$NITRO_ENGINE/examples/assets TOOLS=$NITRO_ENGINE/tools MD5_TO_DSMA=$TOOLS/md5_to_dsma/md5_to_dsma.py -IMG2DS=$TOOLS/img2ds/img2ds.py +GRIT=grit +rm -rf nitrofiles mkdir -p nitrofiles python3 $MD5_TO_DSMA \ @@ -17,8 +18,7 @@ python3 $MD5_TO_DSMA \ --skip-frames 1 \ --blender-fix -python3 $IMG2DS \ - --input $ASSETS/teapot.png \ - --name texture \ - --output nitrofiles \ - --format A1RGB5 +$GRIT \ + graphics/texture.png \ + -ftb -fh! -W1 \ + -onitrofiles/texture diff --git a/examples/loading/filesystem_animated_model/graphics/texture.grit b/examples/loading/filesystem_animated_model/graphics/texture.grit new file mode 100644 index 0000000..207c056 --- /dev/null +++ b/examples/loading/filesystem_animated_model/graphics/texture.grit @@ -0,0 +1,2 @@ +# 16 bit texture bitmap, force alpha bit to 1 +-gx -gb -gB16 -gT! diff --git a/examples/loading/filesystem_animated_model/graphics/texture.png b/examples/loading/filesystem_animated_model/graphics/texture.png new file mode 100644 index 0000000..eafd9fa Binary files /dev/null and b/examples/loading/filesystem_animated_model/graphics/texture.png differ diff --git a/examples/loading/filesystem_animated_model/nitrofiles/texture.h b/examples/loading/filesystem_animated_model/nitrofiles/texture.h new file mode 100644 index 0000000..324c244 --- /dev/null +++ b/examples/loading/filesystem_animated_model/nitrofiles/texture.h @@ -0,0 +1,25 @@ + +//{{BLOCK(texture) + +//====================================================================== +// +// texture, 256x256@16, +// Alphabit on. +// + bitmap not compressed +// Total size: 131072 = 131072 +// +// Time-stamp: 2024-01-27, 18:07:12 +// Exported by Cearn's GBA Image Transmogrifier, v0.9.2 +// ( http://www.coranac.com/projects/#grit ) +// +//====================================================================== + +#ifndef GRIT_TEXTURE_H +#define GRIT_TEXTURE_H + +#define textureBitmapLen 131072 +extern const unsigned int textureBitmap[32768]; + +#endif // GRIT_TEXTURE_H + +//}}BLOCK(texture) diff --git a/examples/effects/fog/data/texture_tex.bin b/examples/loading/filesystem_animated_model/nitrofiles/texture.img.bin similarity index 100% rename from examples/effects/fog/data/texture_tex.bin rename to examples/loading/filesystem_animated_model/nitrofiles/texture.img.bin diff --git a/examples/loading/filesystem_animated_model/nitrofiles/texture_tex.bin b/examples/loading/filesystem_animated_model/nitrofiles/texture_tex.bin deleted file mode 100644 index 7c633ea..0000000 --- a/examples/loading/filesystem_animated_model/nitrofiles/texture_tex.bin +++ /dev/null @@ -1 +0,0 @@ -9{)1R1R{{{ڭs{Z9ZZZ9ޔҔ9s9Z{1ι޽Z­ֽ9Jڽ{ιs9{Z{{޵99RRʵ9{{Z99Z9sΔ{{9{{sR1Ƶ{ZkZ9kRsR1{{{ι֜Z9Z{9Rss9{9ڵZڭJ199ιR{{k9ιZ{Z{ZڔZ9sΔ{{ZZZ{{{Z{s1s9Z1))RʽZRRZ{Z1R{{9199{1”999{ޔ{޵ZZsΌkµ9{{ڔ99RҜZҌ{{ZZ{sZZڔZsRʔZڔҔ{{9s1s9{Z9R9JZ{9Z{{{s9{{ι1ZZ9ZZιιs9ZZZZ9ZҵZュιsΔRʔZ99kι9Z{ZRʌs9{ZZ{{sR{Z޵{9ڔҔҔZsR{{9ZZ­µZ{Z99999{{ιRZZι)k{{{{Z9޵Rι1sss1Rޜ99Z1ƔZ{{{{{{ҭҜZ9{91JιZ{{Z9999{Ҕ9{Z޵Rュ{1ZZ)kオ9ZRJZ{{Z{{9s1{Z{9ڵ֔{1R9{9Z9sΔҔRlZ{Z99999Zι1ZsJk9{s1ιJ)))JJJJJ))Jι֜9Z9s1ƵZ{{{{9sι޽99{R)ޜ{{ZZZ9{{{9ssޜ{{{{1J)ι1ιҜڭ)ڜ9)9{{Rʵ{{9{9{9ss9{1Ƶ֜99s{{sΌZ19kks{{ιιιιιιιιιュkkιJ)9Zs1ƵZ{{{{Z19{9ZZJι{Z9{ss{1J)ュR999{{Rʌ)ޭ){{ڜ{99{޵Z1Ƶ{ZsR{sRRs{{ι)11ޜތJsst999999ZZ{{{Z9999ιJιڜZ9s1s9Z{{{ZRZZ9ڭk9{Z{{{){{91)1Z)){ZֵZ{{Z9Z{ޔZ9R1ޜ9sΔ{9ss{{9RkksZ9Rޜ㌱J)9sι{9RιsεZ{9Z11s{9ιҜ{޵sΌ19{ZZZ9skJ{{99kҜJ)ιڜs{{{{{ޔҵZsZ9sε{Z999Z{Z{{kZオ֜9kkRZ{1ιsι1Z9{ZssΔ{9sέֽRRι1{Z9Z{{ZsΌJkڜ{ZZ9{Z9ڌ199sέ)Z{{R{sε99Rڜ{Rs9{ZZ{Z{{ޔιڽ{֭s{{91kޜ{1ι1ι1ޜZZZ{{9{{9Rʌ֜sRRι1ƵZZ9{9{9sΌk1Ƶsι{9{{㭵RZ{{9ZZ)J11sRޔҵZR9Z9RʵZ{{{ZZ9ZZŒڽڌ1Z{{9Rʌιޜ19Z1ιs{Z9{{9ZZ)RZZ1ι1ƔRRʔҵZ{9ZZ{9ҌJRZZRʭs9Z{{{㭵JҜ{Z9ZιRs1s{1ƵZ{ޔҵZZRʭZ{{ZRʔ999{{Z9ZZRʌҜ{{{ڌZZs1Ɣ9kRι޽91オZ{ޜ{9Z{{9Z9Ҍ)µ9{91ƭ1ƵֵRʔ{Z{{Z֭JRʜ֌sZ{{Z{kk֜999{9ss9ZsέZZ1Ƶ9ҵ9ιޜZ{ZssΔҵZZsΌ{ZsJ{Zs1ƔҔJkιk޽ιsZޜ{999ZZZ{{Z9{{99ڔsk)1ڔ{ZZZs{{ZkJsΜ{sJks9{Z{ZJι{{{9{ڌιZR1sZ9sڭ1Z{ZZ99{Z99ιJι1RRR11Rss)R991µRRRʌ)JҜιҜZ{ZZZ999Z99{{ZRZJ)s9{9{{Z9{9ss9{{{s)kZ֌)ιޜZZZޜ19{{{99{{9֭{1ƭRR”{ޭ1ZZZ{{Z9Z{{Z{ZkJkιR9sΌJιRʔҵڔιュZ֭))ιZιs{ZZ9Z{9޵ι眔ҜZsJι{Z{{ZZ991Ɣ{{ZRkRsέ{{{99sR{{99{Z9ZZ{{sιs{{kJJJҜ999ZZZZZ{{{ZZZ{{Z{ڵֵֵ{91ι1Ɣҵ9RʌkkJڽ{9ZZR1kJs9sk県֜{9ZZ{{1Ƶ֜{{ZR)k{9Z9Z{sRZZ9Z{Z9{{{ZstZZ9sέ)1ZZRʭιRʵ9{{{Z{{1Rޜ{{{{{{1ƔZsRs{1J){sιR9{ZZ9ZZs111RʔҔJ県{{99ZZ9Rs9{RZZ{Z{sJ1Z9Z{Z9Z{Z1sZ{{ZZ{{ڭ{{ιs9ZZZ{{{k)Z{ZZ1Ɣ9ZkJ191ιZ{ZZ9999ZZRk眭{{ZZ{9{Z9{1ƵZZ)ks99Z9ZZRιs޵999{ZsΔ9{{sZ91)kJJ1Rʔ9ZZ֭)ιZ9Z{{9R1ƔZ99㌱)1ޜι{Z9ZޔRʔZZR)֜{{{9{Z99sRޜ{{{{kJŒ)ι1sޜZ9Z1R91Ɣ{{s{{Z99ZZZ{{1Rʵ{9)オֵJJ1sڔҭ)kRsέ)ιRʔҵ{{sιιRZZ9筵)RRι{オ{Z9ZssεZ9Js{{9ZZ9sεZ{Z999{{s)ޔιJJRZ{1{RZ1Ƶ{ZZZ99Z91kR{ތ֜RlJkι)sZ9JRޔҔޜ{9ι)Jڽ{޽9筵kt9オ{{Z9Z9ޜkι{ZZZ9{ڵZ{ZZ99Z{ڭkZ91lҜR19ZR޽µ{{{ZZ{{{{R1R1ュ1{ZR)9{Z9޵sRJ9Zk{9sڜ{JJ1{޽㌱9ZιR{オ{Z{ZJZ{{9Z99Z{ڵZιZ9ޔR޽{1Zt{ZR{{ZZ{{{9Ҕ91ιRڔҭ19{ZZ{9R1s{9ŒZ֔ޜ㭵)ι9{޽ڌ9RιµZ{オ{{{{9ZJ{{9{Z9{Z{{{{{11ƵZ1J1Z{91sZZRʌ9R919{{{{{s{R1RJsεֵ9{ZZ{{{{9sέRڵ9Z{Z޽kZ9sιRZ޽Z{{ZιksZ{{{9{Z9{{ZڔR­ι1J)Z{{ޔҵ99֭ڽsΔ9Rt{{{{Zڵ99sι)J”9{{ュRʵ9{{RZڽRk1{ZRR{ιsZZZ{{{ҌZ{{{Z9Z9{{ZڵޔJZ{{{Z9{{Z)sZZֵZs1Z{{Z9ZZ1ƌsZ99{{ZJs9{{{{{9Rڽ1ksΜZRR99{ޜ999ZRʌ{{{Z9ZZ{9RsZ{Zι))RZZ999Z{ZZ1Jオֵ֔ҵ{1s{{{9Z99{Z9Z9Rt{{9Z{{9ι)RZJJ1Ɣ1ιֽ{{JҜ9Rڽ{R99Z{ޜι{{{Z{99Z{{{sRʵZ{1)Jιs99Z{9ڵֵsιRʔ{RRʔ9{{{Z9Z9Z99{ZZ1RZ9Z{{{{{Z99{ڌJZιιJ)1{Z㭵JڽιҜ{RZ{9ιR9Z9{Z9{{Z{{{{sR{)s9Z{{Z9991ƭιR{Z޵޵sΔ9Z99{9Z99{{{9RʔZ99Z{{99Z{ZRkk{ZڵֵRJksJkιҜZ1Z99ZZޜ91オ{{Z{9ZZ{{RRʔ{ޭ1ƔZ{1ιι1ڵZ{9RsZ{9ҵZ99{{{9֔9{{99ZZZ9sΌ޽99Z91))Z)k9Zsιڽ91ZZڜ999Z{Rs9{J)s{{޵1ƭ1{Zsέs{9ҵZ{9{{{9999{{ZZ{{Z99֭{㌱Z)J{19ιR{Zޜ99ZֵZ{Rs{{9RkRʵ{Z9{9sΌ9{s)Z{ڔ{{99Z{{Z{{9999Zιk9Z{sJsJJ{{Z9ڜ㭵Rʜ99{R{ZZ{{{ҔZ9RR{{{99Z{{9ZZ1ZZι)Z9{Z{{ZZ{ZZ9kֽZ9{ι)k)޽{sR1ιt{㭵RʜZZ19{{{Zss{{Z9ޔlsss1ƭ)JsΜ{99{9{{R{)kֽ{9{9Z{{9{{1ƌҜZ9Z{91)k)s9RιιR{㭵sΜ9ZZsιι{{RR99Rl))kk)JιRs1ƌJR{9{R1s{{ι{{1)9Z9Z99Z{9޵֔sεZZsέsZ9{{{㌱9筵kι1sεZڭsΜZ9Rk99RڽJ)Jkkιιιs1ƌ19{9ZRk))))9Z9{{JR{kJRʜZ9Z99Z{9޵sRRʔ{9sR{{{9Z{JRJ)1sΔ999ZZ{ZsιֽZιkҜ{{RZ{RJ)ιRʔڵ99{9sR{Z{{J)ι))ҜZ9Z{ZRJJ1{)k֜Z9ZZZ{{{{{{Zss9Z{{9s1Ƶ99{{9ZZ1)Z9)))))Jιs9ZZsι1Z{sJZ{1オ{9ι)ι{{{ZZ{ssε{Zڵ)JZι)ιZ99{{ҭ)9{{kJRZZ{ڵZ{Z{{{{{sRsΔҵֵsR1µ999{{{J)9Zڌ)kkJJJJJJJ)JJkιι1ޜ9{kι{Z9㌱)sΜ{{ZsZ{{9ޔҌJ9֌)R{{99ZZҭ֜Z{Z1J{9Z9{{{ZR11ιιs{Z{{kk99)s޵s11RRR1ュkι1s{ڵ9ZZZ99ZZkι{9ssΔk)ҽZ{ZZ99ڵ99lֽ{1)kڜ{Z9Z{ιsZ{Z{1kιڜ{99{{{ڵ֔sR1Rʔҵֵ{{Z{Z֌)91JιZ{{{{{{{ZRʵ9RZ{{{Z9999Z{ZsJZ9ュ))ڽ{{{Z999ZZZ9Z{ޜsιҜޭι99Z{)JRZZ{{{1k1Z9ZZZZ{9ZZ9{֔ҵZ{9sJ)J{Z9sΌ1Ɣ99{Z{R{{9RʌksΜ{Œ)k{Z{Z9Z{{Z{9k)ιZs眭޽{Z{ޭڜ{{{޵9{Z9{{Z{{{{Z9{{9s11Ƶ9Z{{JJι­{{sΔsΔ999{9Z99999ڔZ{k19{{1ƭR{Z9Z9{9ZZsι֜{))sZZ19Z{RkRZZ{9ssεZ{Z9999Z99ڵֵ99ڔRʵZ{ZZ{{J)Z9{R{99{9Z9{Z9ZZ999Z9sιµZ{{9ֵ99Z{9{Zι1{J19㌱9Z9ιZZ{{s111RʵZZ{{Zڵ֔ҵ9{Zڵ֔Z{ZZ{9֔Z{Z{{1J޽{Zss{9ZZ9ZZZ{9ZZ{{{9Z999ss9{{99ZZ9{޽9ZkZ))s{{ZZsΔҔZZZ9­kιsZZ޵R1R9Z9{{Z{sRޜ{999ιk){{{sε֜9ZZ9Z{99ZZZ9Ҕ9{9Rs{{9Z9Z{1ιk9ZR޽99Z޵9ޔޜ{{֔Rl”ڵ֔ssΔZ{ZZZZ{1ιR{Z9Rk))ιZ9{{R{9{Z9Zs{ZZ99{sޜZRʔ9Z{99Z9{sι֜R)1޵ֵ9ιZZ9Z{{{9Z{ڵ9ZZ99{{Z1ιι1sZ{Z{{{9Zkkµ9Z99ZZ9Z{9R9Z9{9{ZRsZZ99Ҕ9ZssRRRRʔ{{{{99Z919{֌s9Z9ڵֵڵ)ι9Z{Z9999ҵZ9{{9ZsR1RʔZ{{Z9{{֔sι))Rュ)ڜ9Z{sΔZ{9Z{9Z99Zֵ9{s9R11RsRsZ{{ZZ{{{Zڜ9Z{ZZRιR޵k)Z{Z99ι199Z{{{ZZ{{ޔ{9{9Z{Z99Z99Zҵsέ)J)){{9{{s9{99{{9{{99{Z9{ZsZ9ڔ{ZZ{{{{9Zҵڵ{1ιk)){{{{R{9Z{9{{ڵ{{{{9Z{9{{{ZZZ{{99sΔڵsJ))kR9Z9ZҔ9Z99ZZ9Z{{99Z{{ڵZ{{{޵Z9Z91”9))ιsε9{{sޜ9{9ֵZ{Z9ZZ9Z{ZZ{ZZRRʔ99ҌRssεZZ9ҵ{޵Z{99999{{9999{{{{{{Z֔99ZZJRsι{{ҭ9Z9Z{Z{֔Z{9{ޔ޵֔sΔҵڵ9Z{{{{{{{{{{99Rι1ޜ91ƌsZ{ZZZZޜڔZ{99Z{99{Z9{Zs9{{{{{{{{{91޽Z9{1)9ZRs9{9ZZ{ֵ{99{ZZZsRRRsZ9ڵ9Z9{Zskι޽91{ZZZ9{Zֵ{{99{ZZZ9Z9sR{{991Ɣ{{9)JRRZ9{Z9{Z{ֵ{Z99{{{{9{9޵Zޔ{{9ڵ{{s)k9R9ZZ9Z{{ҵ{Z99ZZ{9ZZ1ι1Ƶ{{{{9RR9{99ι)1R1999Z{ڔ9{{{{{{{Z֔{{޵9Z{{{)ュ{{{ZZ{{{ҵ{{99Z9{{9ZZ9Z{ss{{{R19Z9ιιR9Z{ڔZ{{s{{{Z޽9ֵZ{ZZ9RkJs9Z{{Z{{{{ֵZZ99{9{Z9999Z999ޔҵZ{{{Z19Z9ZRZ{Z{ZR{9{{sޜ{{9޽9ڵ9{ZZڔ)ιڵֵZ{Z{Z{{ZZ9Z9Z{9{Z9{{9{ZZ9s9{{{{{{9sέs{9Z999ZR{99{Zs{{ڜ9ڵ9{Z{9Zs{Z{{{{Z{Z{{{9{{99{{{{{9Z{9Z9Z99s޽{{Zޔιιڽ9Z9ZZ9{1オ9Z{ZZ{{9s9{Zޔҵ9Z{{9sssε{{ޜ{Z{9kZ9{9Z{{{999{{ZZ99Z9Z{99{9{{99{9sε֜{ڔs1ュιsZ9ZZ9Z{tZ{Z9Z{9sZ{sε9{9s11{ޜ{{Z{9{ޔ{Z{9{{{{9ZZ99Z{{ڔҵZ99{{Z{s9{{Z9޵sュkι1Z99{{{{{{9{{sZZ{ss{{9ڔҵZ{{{{9Rι޽{{99ZڭR{ZZRڽ{Zֵ{{{޵9Z{{1Ƶ{{99Z{Z999ZRʔZZ9ڵsR1ιι1ƔҵZ{999999Z{9Z99R{Z{{{s{Z{1ksΜ{{{{99{{11RJs{ZZ{Rs{{{Z{{Z{s{ZZڽZ9999{{9Z{RsΔҔsRʔsRʔZ{{{99{1ιڽ{{{Z֔9Z9Z{ZҭRZ{Z99999J)R9ZZ{R1{Z{Z{{R9R1{{Z9{{s1Rʵ9Z99ZZ{Z{RιR9{ZZZޔڜ{ZZ{Z{R9{{{{{{ZRʌk1RR11Z1ޜ{Z{{{9sڜZڔҔZZ9{9ZZZZ9{99Zޔιs99ֵ9{Z9Z1ƵZ{{)ι9{{{Z1ޜ{{9{{{Z{{Z9ZZ{{{{Zssε9{9Z{{޵1ƌsZ{{{9{99{9Zιs9ڭJ֜޽sZ{9{ZsιR9{9ZZ9{{Z{{ZZZ11s{{9޵֔Ҕҵs1ιJk{99{ssΔҵ9Z{9{{sJ)ι{9Rsڵ֌JڜZιR9tҜ1µ9Z9{֔sR11RʔZ{{{ZZZ9Z{11Ɣ{9sRュJJ)J{{{Ҕڔss99{{{{ڭJJ)RRRʔ9Z{9JkJ)1Ɣҵ֔ss1ƭ{{sZ{RʵZ{Z9{9999ڵssε9{{ZZ911Ƶ9{{{{ҭJkιR޽{9Z9ڵ{Zڵ֔ҔsRRs9{{{{ZR)sΔ)J11))JJJJ))ޜ{Z9ιsZ{sZ999{{ZZ{Z{9Z9ڵZ{Z9Z11Ƶޜ{9Z9ιs99{ޜ{{{{9Z{ZZޭJs{{֭J)Jkk)RssssRsεZ{{{Z99sオ{{99Z{99999{Z9Z9ZZZZZs”{ZstZ{{ZZڔ{{ZZZs)ι{9RʵֵRιιRޔlZ{Z9999Z{9R޽Z9ZZ99Z9{{{{Z999999{Z9ZZZ{9Z1s{991ƭι{{{{Z{֔9{{{{ZҌJ11sڔҵ9ZZ{1s{{{{s{{{{{{{{Z{{99Z99{{99Z{{{{Z99ZZ91µZZ91ƭιZ{{{9{{֔Z{9Z9sέJιsڵ֔Ҕ{{ޔޜZZޔ޽{sڽ{{{{9Z{Z9Z999޵ֵֵ֔{{99Z9{9ZZt{{ZRZ{99Z{֔9{{޵91ƭtZ{ڔZ9Z9Z91ιڜ{ZZ{99{ZZZ9Z9Zޔ{{޵s1µ֜Z9{ZZ1R9{ޜ1Ɣsε֜{{Zڔ9{{ޔR9{{ZZ9Ҕ9ZZ9{Z֭{Z{{ZZZZZ{{999ڵ9{޵Z{Zڔҵs޽Z9sε{9991ƵZ{{{{{{Z9{{{{9޵֔sΔ9{{99{ZZ{1Ɣڵ{{Z{Z9ڵ)ksZZ{Z9{{ZZZ9ޜZڔҵڵ֔{ZιRZZ9{sZ{9{ZZsZ޵9{99{{Z9ZZ99Z{{{{sZ{{9Z{99{{ι1ƔZZڔҵZ{ZskZ{{ZZ9Z99Z{9{ڵ{9RڜZ9sε{Z{{9Z9ֵ9ڔ{{Z9{{{{{ZRZ{ZZZ911ƔRsZ{Z9Z{Z1ι9{{Z{{9{{99Z{{9Z{{{19Z9{{Rޜ9{ޜ99{ڔڔs9{{9֔Z޵9{ュs9ޔsΔҔҔҔҵ9999޵Z9ssZ{{Z9Z{{{{{Z{9Z9Z{Z9Z{sιҜZZZ991Z{{9ZZ9Z9s1sZsΔZZZ9)1sΔ9{991sε9Z{J{{ڵ֔ZZ9ZZZ{ZZZZZ{ZŒs9Z99Z{sR{{ޔ9ZZZ{919ZڵZ{9ZZst9{{ڽ{RsεֵֵZZZ9{ZZZZZ{9{99{sιֽZ9{֭ι9{999Z{Z9{Z9{{Z9{999R9J911Ƶ9ZZZ9{{99ZZZ{{ZZZZ9”{Z9{sι{ZZ9Z91ޜ{9Z{{9{ιZZ9sιιڽ{R)J{Z9{9Z{Z99{ZZ{ZZ{99޵ZZs9Z9ZR9{{9Z{9{{”9{Z9{{9Z{ֵRʌZZZRʌJ)k㭵))ι{{99{Z9Z{99Z{ZZZZ{99{ֵ{{9Z9ZZ9R{{޽99Z9{ss99Zs1RʵZZZ{JJJJ)))Z999999Z9J)J)1Ɯι)J))RRs99{{99999{{ZZ{Z9Z޽Z9{ZZZ9オ֜Z9Z9Z{9ڵ{{Rιι1sεֵZ9sΌ))JJJJ{Z9{{Z999{JJRkk޽1ι1s1k))RʔZ9ZZZZ99Z9ڵֵZ9Z9{Z{9{Z9{ڽZ99{Z999{{{{޵1ιι֜sk)JssΔ{ZZ{99)ksZ{sJ)ޜ{sιR9{ڭJ{Z99ZZ99Z9Z{9ڔҵ{Zֵ99{Z9{{9ZZڜZޜ9Z9{9{9{{Zsk)ιZZιZZZ{99)ks{9ι))Z֭RZ{9Z99{{ޔsεZޔZ{ZZZ9sεZ9{9{{޵9Z9{999ZJJڽ㭵Z{Z9)ks{{J)JιZιs{1Z9Z9Z{999{sΔZ{ZZ{ڵ{999{{Z9޵{9Z99Z9Z{޵ZZ9Z)9{k9{Z)ks{{{ZsΌ))kオ9{{sιֽZ1Z9{9Z{ڵֵֵZZsΔ9{Z{9{9Z999Z{{ZZ9{99{Zֵ{{9{kk19ZZJ1Z9{Zk{{{sιkJRʵ999ZZ1tҜ9Z9Z999޵ֵڔsε9ZZ{Z99{Zޜ{ZZ999{99Z{9{{Z9ޜ9ZRιRʔJ9{{ZZュ{{{Z9ҭJιRʔҵZ19{Z9{ZޜZsZ{ZZ{{Z9Z{{{{9{9ZZ9ZZZ{9{{ZZZZ{9ZZ991ιι19Ҍι99ZZZZRʌ1ZZlRʵ99ZιR{{”{9{{{91k1ZZZZZZ{{{9{{{Z9Z9{9Z{9{Z99Z99Z{9ZZ9{{999֭9Z9ZZZ9sέ޽{{Rιs{9ڭҜZ11RZ9{{{Ҍ֜{Z{{{{{{Z{{ZZZZ{{9{9{9ZZZZ{{Z{{9Z{9Z{9Rʌ1Z{{{Z{9{9Rʭڜ{Z1”9{{ιֽ{99{ιJRZ{{Z{{{{{{Z{{{{Z99{9Z{9{{{{{{9Z{99{1ƭ{{{{9Z9Rʭޜ{{R”Z9ZZ1ZZ9ZZ{JZ{{ZZZ{{{9ZZZZ9{{9{{{ޜ{{Z99999Z{ZZ{Rޜ{ZZZZsέޜ{{1オ{991Z{sZ99{Z9{sJιڜZ{Z{Rʔ9{ZZ9Z9Z{{{{{{{ZZ99{{{{ZR{Z{99ҭޜ{{{Z9{ιsΜι{99Z9ޭkҜZ{Z{11ƵZ9Z9Z{99{ޜ{Z9ι֜{{1ƵڔҔ{{sιڽt99{s)9{{{Z{Z{Z{オ{ZޜZss{ZZ{ZZ{ֵ{{Z{RZ{{ZRssRRʔ9ZZRtZZڵZιkҜZZ{Z{Z{9119Z9Zsڜ{{9{ֵZ{{s{{{{{{{{{{{{ڔRRʵڵ1ƭs{Z19{Rs{1ι1ޜ{ZZ{{{{{ZZtҜZs{{9Z{9{{ZZZ{{R1ޜ{{{Z{{9sZRkڽ9ڜ1RZR1Ɣ{{Z{{{{ZZ{{ZZ{s{Z{{{{{99{9{{ZZ9Z{{Z”{{{{{ZZR{s{9R1{R1{{1RZ{ZZ{{{{Z{Z{{1Z9Z{ιZ{{{9{{9{{9Z{{{{sιs{{{ZZZRJkֽ9s1sZ1Ɣ{{1ޜZZ{{{Z{Z999999Z{199{{ZZ{9Rk{9Z{9ZZ{99Z{{{9オ{{{Z9ZR99ι91ιιRZ{Z֔{Rޜ{Z{Z{ZZ9Z{{Z{{sオZZ{Z9999ZkR{ZZZ9999Z999Z{Z{{{{Z{{11{{{ZZZ{s9)JιュιRʵZ9Z99Z{J){{Z{Z{ZZ9{1R{{9Z99{ZZ{֌֜{9Z{9{{99Z99Z{{{{9{11{{{{{{ZZZ{9Ҕ{9)k1Z9{9{{֭Jι1Ɣ{{ZZZ{Z{9{ss9ֵ9{Z{ZRJιZ{ZZ{{ڵ9Z{ZZZ{{{9{R1Ɣ9{ZZZZRڜ9111Ɣ9ZZ{sZZ9JZZ99Z{{ZZZ{{ZZ9Z޵R1Ɣ9{ZsRޜ{Z{9J{ZZ{9ZZZ{s{{{9{ss{{{{RR{Z99R{޵lڜZ999Z{Z{{9ZZޔ1”{91R9{ZZZŒ{Z9Z{{{99{{Zڔ޽19{{{9{911{{1Z{ZZ99{RڜZ1ι{{{{9Z{9ڔ11ƵZs{Z9{ιZ{{{{Z9{9ڔs{{{{Z9{R”Z{9{ss9ZsZZ{9Z911Ɣ9オ֜ZZZ1ι{{{{Z”9{ZZ{Z9{RtZ{{ZRιڽ9s{1{{99{ZZZڔRιJJι9Zs{Z{Rιڽ{{{9{sι֜1{99ZZZ99Z{ι{Z9Z{{{֭ҜZZ֔R9ZZ9Z{ZZ{9ュk1sRsε9ZZZ9{Rι޽{{{{{9ڵ9ڭZιޜ{9޵9ZZZ{Z1ƌ1ڔҵ9ZZZ{{RZ{ޜ99sΔ{{{Z޵ZZ9{99Z99Z{Z9ZsRs1s9ZZ999Z99{9ڔҵZZZ{ڭsRʌ9޵֔ҵ9{lι1s9{{9ڽZ{9sޜ{{ڔ{Z9{{9ZZ999{{{9Z{sΔ9{ιR{{{9{{{ZZZZZ9Ҍ))ιsΔҵֵ9{R1s{{9999Z{{ZZ{9R9{s{{ZZZ{{Rʔޜ99{{ڔ9{{Z9Z{Z999ZZ9{ڵ{{ZZ{ڽ{9{{{Zڵ֔Œ1sε9{Z9{{{{{ZZZZ99ZZ9޽ZRRʔڵss{{{ZZ{{R1sεZ{{9޵9sε9{99Z{Z9Z{Z99{{{Z9{{Z{Z{Z91sZ{{{Z99֔9Z9{{ZZZZZZ{{ZZZZ{{ZRڜڜ91J)1ޜ{9Z{{Z9ssε99޵RュRssZZ99Z{9ZZ9999Z9999ZZ99Zҵ{{9{{Z9{{99{ZZ{9{{{{{Z9{9ZZ{k)Js{99{{ZZsRsε{{s11ι1Ɣ9{Z99Z{Z9Z{{ZZ{9Z޵9{{9{99{{9ZZ9{9ssZ9{99{9ι)オJҽ9Z{{99Z{{{ZZ{{9{9ޔZ{Z999Z{9{9ڜ{{{Z9Z{ZZ{11Ɣҵ֔R1Z9Z9ZZ9Z{޵֭)kޜJҽ{{Z{{{{{99ZZ{{{99{ڵZ{99{99{Z11sZZR99Z{9ZZ9{{ތ))ZRJֽ{9{{99ޜZZ9Z{ڔ9{{{9Z{{Z”9{sZZ9ZZ9Z)kkZ{)Z9{{޵Z9ZZZ99Z9RZ{{{9ZZ99RR{9sµ{{9{{9{Z9{ڌsι)Z9{{{ֵ{{Z9{ޜZ9Z{Z9RZZ99{Z9Z{{ޜ1ڜ9Z{9{9Z9{{ι1Rk9Z99sε֜{9Z{99999Z{­R9{9ҔZ9ZZZ999ZZ9{Z19Z9ZZ9{޽9Rιk)1{9Z{Zιks9Z9{9ZZ9{Z9Z֌{{ZsZ9999999{99{{{R99ZZ9Z{9{ZRk)ֽ{9sιkJJJJks9{9Z99{9{{Z{{9ιJZڔҵ9{{ޔҔ9{{99{Z9{9ZtZ9{Z9Z9{Z1Jk{kkJJkJJJZZ999ZZ99999Z{{J֜{Zsε9{9sΔ{99{9Z{9{9Rµ֜{9{{9Z9ZkιZZ9ڭ))J1kJڽ{999{9Z99{{Z99Z{1ƌR9{9sΔ9ssZ{9ZZ9{{11޽{9{9Z{ZZkZ{֌)J9{{{9JkֽZ9ZZ9Z9{Z9{Z9Z{ss9Z9ڔҵ9sΔ{Z{Z9{9Zs{{9{{999RJ1{{{kkRZkJιZZ99{{ZZ{{9{Z9{ZZZ9{9sΔ9ZZsZ{{9Z99ZR޽{9Zޔ޽Z{)sΜ9sk{ތJk1ڔs11Rʔ9{{999999{ZZZ9Z9Z99s{{99ڵ{sڜZޔsޜZ9{Z{ιs{ZZ{9ҔZZZι)ڽ{R1ιJ{Z1ƌ1sssssΔsε{99{{Z99ZZ{9ZZ99ZZZ{9ZZޔRsΔҔҵ{Zs9Z޵Z9ڔ9Zڔ1{{9{Z9{֌ZZZ99ZZZZZZ9Z{{{{ZZZ{s9Zތk֭JJ)Z{ュ1Z{{{99ZZ9{Z999Z{Z9Z{1sZZZZ{{{9Rュι1RRRsεZ{sڜ99Z9Z{9Z99199{{9Z{ι)sεֵֵֵֵֵ99ZZ{ZZ{{Z9ZsڜZRkιZ֌kR{ZRʭs{{{{ZZ{9ZZ99{{99Z9ι”9999999Z9ڔsι”ZZssΔ޵sΔ9{99{ZZZ9Z{{99{{1Ƶ{9ڵ1ƌ)J19{{ZZ{{{99ZҔ{Z޵ιJsΜޭsZZ99ι{{ZZ{{Z99Z{Z9Z99ZZ999{{1Rʔss9{{{ZZ99ڔRʔ9{Z{9ޔssRRʔZZ{9{Z{{9ZZ{1s99k)kR9ZZ99ZZ{{9s99ιs{{99ҭ”ڵZZ{{{99Z{9ZZ999Z{Rʵ99Z{Z{Z9{9{{9{ZZZ99{ڔZҌ)R{{{{{9Z{9Zs޽{ZZZk֜Z9ZュιιR9ZZ99999{Rʔ{{֔Ҕ{9{{ZZZ99Z{{9ZZ9{9{{9{{޽{ZュR{{{9޵9Z{{99{9sε{{Z9999Rʔ{眭ޜ{{Zڔss1ƌkRZ{ZZZ1Ɣ{Z޵sRʔZ{{{{Z9{{Z9Z{Z{{Z99{ZZ{9{9Z޽ZZ{tZ99{ZZ{Zsε999Z{{ڜιι9Z{ZZRks9{ZZ{µ֜{{{Zڵ{{{ZZZ{{Z9Z{{{{Z{{9ڵޜ{9{ZZ9{޽9{{{{sιιZ99{{999ޔRsssssΔ9{ZZιιZZ{91k{Z1Rޜ9R1{99{޵9Z{{ZZ{{{ZZZ{ZRڜZ9ZZ{9{޽9{ZsιkJ{{{{9ڵ9{999{{ڔιksZ9{991ƌڜZskιڜZ”Z{{ZZ{ڵ99ZZZ{{Rʵ{9ZZZZ9޽99RRʵ9{ZRkk”Z{{{{{{{޵ޜ{Z99Z{{9ZZ9{Z9{{sΔҵsksZ9Z{{Rʭ޽{ksΔRʌ)ڜZs9{{Z{ޔZZ99Z{{{Rs{9{Z9{9Z޽ҔsέJιRʔҵڵlµ999Z{9֔ҵ{{{{99Z{ZZ9ZZZ{sΔZ9Rʌιޜ9{{{9Rʭ19ތ)ι{{֌)ι{{1s9{9{ssZZ{{ZZ{9s1ƵZ{ZZ{ZZZ9ڜ9kJ1ƔRι1{Z{֔Z{{{{{{{{Z9ZZ{ZZZ9{{99Zֵ9{Œs{9Z{{Z99Z{{ŒsZZ1ڜZι)֜1s9{9{s1ƵZ{99Z{{Z99{ZڵֵssεZZ99{Z{1ιskRʵR1ڜ{Z{{{{{{Ҕ{{Z999Z{ZZ{99{{ZskZ{9999ZZZι{ZsJJR{Z)ι޽RR{9Z{91ƵZ99{9sュkJ999Z{9Z1ιkkιR9ι޵{ZޔsRʔ9{{֔{{{ZZZ9ZZ9{ZZ{{1kZ{ZZ{{Z{֭ιڜZsk)9ιJ9R1ڜ{{99Rs9{Z99ZRʭJ)kιιk{{{skJsZZ))J9ڔҔ99{{{{{Zޔ1111s9Z999Z99999RʌιZZ99ڜ{ҭZsk)Zlι11ƵZZZ{91{{Z9Z{{1RsειZ{{{{ι”9{{{{Jι)Jtҵ9{Z{ZZ{{{{Z{{Z9)k1{9999{9Z{99{9RʌιZ{ڜ91ƌ{9sk){ZsRʵ99޵֔{{Rs{{{Z{Z9{Z1ks9999{1Ɣ99Rk1k)ιsZ{{9Z{9{{9{{9sRŒ9Z{9Z9Z9sέιZZsޜ֭ιZ9J){Z9Rιk”9{sZZڵ99Z{{Z99{{kJsZ{{{Z9Z{ҔZZJJsZ9RʌRZZZ{{99{ZZ{{ZZ1JJι1RZ{9Z{Zι1Z{sΔ9J1sJJ1{{Z91ƌ1Rι19{Z{R11Rʔ9{ι)ֽ{9Z9sε֜ι)Jιs99s”9{{{Z9Z99Z9ZsιJJڵs1R{{ZZZ{{9sRʵZ{{{Rs{Z1k)Jιs9{{ZsιオZZRιιRʵZZ{ڵڵֵֵ֔Rιι19Z{9)ֽ{9Zs޽)JZ9ҵ9ZZ{{1”9Z9ZsJ9ޔιs9ZZ{{RRsε9{{{9Rs{9ュιR{9s1Ƶ{9ιιRssΔ9Z{{Zs1ƔZι{Z9{s9)){{޵{{{{{{­Jkޜ9{{{9sJ{{Rʌι{{9ڵsΔ9{Rʔ{99{{{9Z{Z{9ڵsR11Ɣ9{9Zsڜ{{ҭ19{9Z{sZ{1)){Z{9Rk1ƭ)ޜZ9ZR91ιڜ{ZZZڔ{{ssε9{{{{Z9Z{Z9Z9޵֔9{{99{ޔ9ZZ99{9Z91sZk9{{ZJ1ι){Z{{ιRʔҵsιRZ{{{{Z޵9{sΔZ{Z{{{9޵֔ZZZ{Rޜ{skkJR{Z9ZZZtZιk޽ZZ{ZRJZ{֌JR9{{Z9kJ{1ι{{{{{9ڵ{sΔ{{Z99{{{{ޔsR1RZ{{­1޵sksΜZ9Z{Z9Z1{J)R{{9ZZk9{RJk1ޜ{ڔҔk)Zオ9{Z{{RʔZZҔ9{9{{ڔҔڔ11ƔZ{{sΌ)JιιkRʜ{99Z{9Z{ιR{1J)99{Z9㌱J޽){9޵))Rʜ{ιオ{{ZZt{Zsڜ99Z9sε9{s11Ɣڵ֔ҔҔҵֵֵ֔J)JJιtZ9RJ1{Z{Zsڽ{ιJZ{9Z99ޭڜJ)ks9Z9{ZJڽZRʌ1ZZZ{9s{Z9޵ֵ9{{{{ڔsR1Ɣ9Zs1ι)kιRʔιsZތZ{Z9{Rιµ{{s1R{{{Z{Z{”99Rʌ)Js{{9Z)k޽ڌ{{{Z9{ZR9{Z9991kオ99sι))kιιιιtZ{Z{k99ZR1RRRRRRʔZڔҵޔҔ9{{Z{֔ҵ֔ޜZ9Zҭ)k֜991{9ks9ZZ9{{9{{Rڜ{{9{ZRZZιιs999999{J)t9Z9ڵ9ZZ{ڔZ{ڔZ9{{Z9{Ҍڜ{9{޵{sέι1sεZ9{9sZ{9Z{{R{{{{{91޽ڌJR9ޔ99sεZڔ9{{ZZZZ9ZZZZֵ{{9{sJι{99{{{ޔsRsZ{Z{{9Z{{{99{ZRJι޽{Z{{{R))Js{ZRRsޜ9ҔZs9Z{9{{{{{ZZZ9Z1)s99{Z{Z{9Z{Z9{ι19޵֔ҵֵ{{{Zk19{{{{{{{{R9{9Rk))RZ{ιޜ{֔{ҔZZ9{{{Z9{9991J)1ZޜZ{9ZZ9Zޔ9{{kιkJJ)JsZ{{9ZZҌ99Z{{s9{{{{{֭)J{91s9ڜZҔ{ޜ9{ZZ9ZZRJ)R9Z{Zڜ9{ޔҵ99s9Z))))JJJ){ZZ9Z99skJZ{{{{s{{{{{{ιJJk1RZ{ڔ9ZҔZ{޽{{{{{{9{sk)))JJJµZZ{91RsZZڔҔsι)JJkk1Ɣ1JZZZ{{{9ZZι{ޔ{{{{ιュ)s99{9Z{ZZZڵZZZҔ9{{s{ZュkkJJ)){ZZZZsRZ{1ƌkιRʵ9{9ks9{{{ZZ{ZZ{{Z{֌)ҜZ޵Z{{{9sΔιksZ{{ZZ{99{{ssZ{9Rs99ڔRk)s{{{Z9ZZZsRRʵ1s֌{9Z{{Z99ZZ991)ι{ZZ{{Z99{Z{{{ZRsΔRιsZ{9{{ڔ{Z9ssュ1{ZR9Z{sέ)){{9{Zss{Rʵ{9ޜ{{{{999{{sΌ)s9{{ZZZ99999{Z9Z{{9R1sRs9{RʵZ{֔ҵ99ZZZZ{{1ιι1Z{ڜ{9{{)Z{Zڜ99{Rʔ1RZ11Z{{{{ZZZZ{{{Z9Rʌι{{ZZ9Z9RιsڵZ{99{{1sZ9ιkkkιιι1Ɣޔι)))kt9ZZ{{1ι{Z9Z1޽ZZZڜ9Z9sιk1{Rʔ9{Z{{{{{{9֭J{{ZZ{Z{{ZRʌ9Z{{ZZ{{9sR9Zs­kJJJJJkkkkkkkJ)Jオ9Z{ZZssZ{99JRZ{99{ޜ{{Zlkksε9{s{{{{9Z{ZZ{Z֔޵R1ιJ)ιڜ{{{{{{{ZRkZ{{{{{{Z֔{sRʵ޵֔ҵޔι)))R9Z{Z91R{99{9筵Z{9Z{ޜ99ޜ9999Z99{ZsΔ{{ZZ{{{Z{s{­”9{Z9{9JZ9Z{Z9Z91s{Z{ޭk1ƔRι”9Z{Z99sRޜZ99Z{ZZZ9ޜZ9Z{99{RڽZZ{{{{{R9Z9֔99{9k֜{޵9{{{Z9Z{sΔ9ތZZs999֔ޜZ9Z{㌱JR{{{9Z9Z{999sΔZ99ZZ{{Z9Z{sRZ{Z{{999Z1Jֽޔ{{{{{Z9sޜ))sν{RZ{Z{9{){Z999{9޵s1s{Z9{{ZZ9{{sR{{{9Z{99{RJҜR1Z{{{{Z޵ֵZ{{JҜ{RRZZ{ZZZ)R{{Z֭ιڜZ9999ZZҔ9{{ZZZ9Z{sΔ{{{{99{{Z9Z{{s)R91ι1Z{{Z9{sιsZRs9{ZZkڽZ9{Jι9Z9Z{{Z{{91Ɣ{{Z9ZZZZ9ڔҵڵ֔ޜ{{޵Z{ZZ{{Z99Z{{{ktR19{{{{{ZZRsΔ11R1ƔZ{9ι{Z9999{{99Z{R)1{Z9{{{Z1ιs9{99{{{Z޵ֵ9{{{Zڔ9Z9ZZZ999999999Z{ZŒsZZZ{{{{{{1ƔڔRڜ֔9{9{R9ZZ9Z9筵kֽ{9Z{9sュڜZ9{{{{{9sZZ9ڵֵ9Z{{{ιkι1RsΔ9{{{µڵ9Z{ZZ9ι)1Z{99999Z9{J9Z{­s999{Z1ƵZ{Z{ҵ999999Z{Z{Rkss1sZ{{9ڔҔҔҵֵstZZZ{Z9{{9{kJsΜ9{99{ZZ{9kZ99sR9{ZsΔ{{{{{R{{Z9{֌1ZZs”9{{{sュιιιιι”ZZ{{9{kksZ{9ZZ9Z{ZZ9ιJs{{9{{{{Rʔڵ{sR9{{{{91ƭZ{1޽{9Zι9ZR1Z{{{{{{{{9Rsڵֵ{Z{9Z{ιµZޜ{ZZ99ZZ9k9Z9Z{9{sΔZڵZZι19{{ZRʌ{ZR19Z9Z9sڜ{Z{sΔ9Zޜ{{{9Z9ҔҵR1ƔZ{ZZ9ZZ9ZZ1JRʵ{ZZsRޔ9ZsέιsZ{{{{sΌ1ZZ119Z9{ZRιڽZڽ{99ZRʔ99{{sRsε9ޔZsΔҵ{ZZ{{{{{Z991ƭ”Z{9{{ZRRڜRʌ9{{{{{ڭι{s޽{Z{ι{{ڽ{Z9{{sZޜZ9{9sεֵssε9{{ֵZ9޵֔9{9Z{9{Z9sε99Z{Z9ZZ11{ZskZ{{{{{{{k{{{1Ɣ9{{{{{11{ڜ{{99{{1ڜ{{ュRʵ{ZZZޜ{ZڔҵZ1sε޵9{99Z999Z{Rʌ1Z{1k19{{{{9sZ{{ֵ9Z{{{Z{{{{{{{{ZRι1Z{{ZZޔ1lZ{9{9{{֔ҵ{ڵ֔Ҕҵ9{9{Zk99Ҍ9sZZZZ99{{{{{{1Ƶ{Z{Zιޜ{{{Zڔs11s9{99ޔ9{11Rʵ{{޵{{Z9{Zޭk֜{{91)J{Z{Z9Z{{Z{{Z9{{ZsΔZ9{Z){{{{ZZ9ZZZ99{ZZZZZ{Z{{ֵ{Z޵R1ƽZ999{9{99{sJι{ιڜ{sJk1ƔҔRR1s{Z9Z{{Z{{s9ZZ{ڌJZ{9999{99999{{Zڵ9޽{{{ZZ{Z99ZZ99JsZ{ZJ1Z{{kkRʵڵ֔RR9{{9Z{{99{Rڜ{9{)ιZ99Z{{Z9Z{99{ڔ9޵ֵ޵ֵZ{{{9Z{9{ZZ9{RJιZ{Z眭ޜ{{ZssRs9{{{9s޽{{{ZZ99ZZssZ{Z9{{{{{Z)9Z{9ZZ99{ZҵZ{9ڵ֔ҔҔҵ{{Z99Z999{Jk{{ZsJs{{{{Z9{Z99{ιֽ{{Z{99{R޽{Z9{{Z{{{Z)ksZ{{9Z{9{ڔޜ{Z9Z{{޵sεZZ999ZZ{Z{9RkڜZ֌ιZ{ZZ{{{{{9{{Z{ιֽ{Z{Z99{s{{99ZZ99Z{{{9RJJR{Z9{9ڵֵֵsε{Zڵ99ZZ{{s1{Z99{ZZZڵֵֵ9{{)”{Zs)ZZ9{{9ZZ9Z{{{ڽ{9ZZ9{9{Z9{9){{{{9Z{sssssε99{9ڵڵRsޜZ9Z{{ZZ{{1ƔZ9{{Z9{{9Z{k)JιRʔ1ƌJZ{{91k)9ZZZ{99ZZZ11{{Z999Z{ZZZ{{Z999{99{{)ޜ{Z999Z9{{sΔ999{ZZ{Rιιsεs1R{{{{99{{Z9{9RsZZ9{{֌1ιk)JRޜ{{{sΌ)9{99Z{{ڔ­{{ZZ{{999ZZZ{{ZZ99{{99Z{{{{Z99Z{RJkޜ{99ZZ{Z9{{9999Z{{sR{{9Z{{ZZZZ1JZRs9Z{{{{9Ҕ99Z9㭵){{RRZ{{Z9{{sΌ)ZZZZ޵ֵ޵1kkֽZ9{ZZ{99{{Z{Z999Z9Z{{J)999Z{ZZ9޵9{99{{Z9޵1s{{ڵ֔ҵ9RJZ{ڔҵ999Z{9{ڔRʔڔڜ9ڵZ{{9Zs)Z{ZZZ9{{9skJ1{ZޔsZZ޵ֵ99ҌRʜ9{Z{{9{{{{99ZZ99ZZZ{{{{ι)sZ{Z{Z޵֔sZ{9{{1ƌJRZ{{{ZsΔҵZZkZZZ{9{ιkk”ҔRZ{9s1ƔҵZ9筵)ZZ{Z9{ZRι9{{ޔsε99Z{{99Z1Ɯ{9{ZZ{{ZZ9Z{{{{{{֭)9Z{9R99­Rʵ{{9Z{ZZ9sΌ1Z9{99ZZ댱ιJ)ιRι֜91ιιk1{)kڽ{{Z99{{{{99ZZkks9ZZޔҵ{{ZZZ{91Z9ֵ9{Z9{{{Z{{ιJオZ9RιR9sZ{99Z{{{Zュ֜{ZZ91ks1k{{9Rʭ))kι1ޜZ)Z{ZZ{{ZZZ{{ֵ{ιk1Z{{Z޵֔Z{R)޽{99{{{999Zkޜιޜµ֜{ZZ{9Rʭ1999{Z{9­ҵkR1ƭJ)Jsڵ֔ҵ޵RsJkҽZ9{{{9ڔҵ9ޔRʵ9Z{9ڔҔZ{ZZZ9֭ZZ{9Z{{{ZZZZ­1{9ιsZµֽZ9Z{{ι޽ZZ{ιRޔιkJ)JιRZ{1{s)9{{Z99ڔssε9Z{9֔ҵZ{{ZZZ9ڔssε9ι9{{9Z{99{Z{{ZZ{1ιs9{{{{{ZR޽オ֜{Z99{{{{ZιkR999{{91オ޵1R9{{{{sιt99){{{{{9Z{9Ҕ9{{{Z999999޵1ιks޵R{Z{{Z9Z{9{{{ZZZZ9Z{99{{sR1R9{{{{Zι{ι{{{{{sΌJs{{Z{Z{1Ɣ9{{{{{Z9Z9ιss)kֽZ9Z{s{{ZZZ{{{RsΔsι)ι֜{Z9{Z9Z{{99Z9ZZZֵZ{{{{Zιޜ9ιZ{1ƌkι9{9Z{Z9ڵ{{{{1ιュ)9ZZ{Ҕ{9{{֭)))kֽ{{{99{{99{99{{ֵ9{91kssέ19{9ιsZ{9Z{9ZZ{9Z{{{RιҜ{{Z޵{{ҔZ{{ZsΌ))sΜZ9{ZZZZ{Z{9{Z{{9{֭))ιι֜911Ɣ{{Z9Z{Z9{ZZ9{{{{ڔ1޽{{Z9ڔZ{sZ9{9sJR{{޵9ZZ9{9Z9ޜZZ{Z9ZZZZ99{{9ޔJJ1{9ڔҵZZ9{{9Z{{Zs9{{{{޵119{{ڔҔ{1ڜ9ڵ9{{{JksZ{9ҵ9{Z9{{9ZZڵZ99{{Z9ZZ9999ZZRʌιR{ZZZ{Z{ZZZZZZZ99Z{{9RRZ{{9Z{{ZR{{{ssε9{1s{9֔9{ZZRsZZ9Z{{99Zޜ{ZZ{Z9{{{{ιs9Z99ZZ99ZZ{ZZ999{{Z9Z{s1{{Z9Z{ZZZ{Z”Ҝ{R”Z{Z11ZZޔҔ{s)sΜRR999{Z9Z{Zs9{9޵֔ҵZ{9{{1sZ{99Z999ޔ{Z99Z1ڜ{9Z{99{{R޽ι{ZR9R1Ɣ{1{ュҜZ9{Z9ZRʵZ9Rs{Z{9Z{9{Z9Z{{Z9ZZ֔Z{99{RʔZ9ֵ{{Z9sޜ{9lZZޔҵsιs99Zkι޽ZZ{9sµ9JJJ1{Z{ZZ{99{{{{{{{sڜ{ZZ{{Zڵ9ZҔ{Zs{{{99Z޵{{ZJs9{{ュkkR9Z9ιZJ19Z{Z1ιRsι)kιιkksZZ{Z9{9ZsΔZ{֔ssΔ9{Rʵss9{{{Z99Z{{{{{{{{sJ9{9sέJ))kιs{{9ι9ڭkR9{99sιRʭZZ9Z9{9{RZ9RR{s1sΔsεZZڵֵZ{Z{{{9ZZZZ{{ι1Z9k))ZZZڜZR)kޜZ{{k)sZ{Zҭι99999{Z9ZҔZ{{Z1Ɯ{ュRZZ99ZZڵ9999Z{Z1{ZJ)ιޜZZ{ZR)19Z))ιޜZ{ޜ9s1ƵZ9Z{9999޵Rʵ{{9Z{9ZJR9Z{Z{Z9Z{9sޜZs{{{Z֔sJ)ڜZ9{{s)ι{{{{9sJJ1Z{{ڭ1{{֔ҵZ{Z{Z9sΔ1sZ{{Z9ZZZZks9ZZ{Z{ss9ZҔ999猱J1{9Z{{9R)Jt9Z{{9)ιڵֵ{J޽{{999Z{Z{{ZRRڜ{Rڜ{{99ュ9ZZ{ZZ9RڜZֵZ{ޜ))ι9Z9{Z9{{{{{{Z)ιڵZ{R)ҔҔ{{s1{{{Z{Z{9{{RRZ99Z{{{RZ{{{{{9Zޔ11ƵZ{{{ZsΔZ{9{9Z)JҜ9Z9Z{{{{9{9Z9)1ƔZ{1k{9{{{9{{ڽ{9ֵ9ZZZZZZ{Zsڽ{Z9{Z{ֵڵֵZ{{{91s9{{{{{99Z{{9ιkֽZ9{9Z{19Z{{ҌJµ9{9ι9{9Z{{99{µ֜{Zs99Z9999Z{RZ{9{ZZ99ڵZ{{ZZ9޵sι111RʵZ{9ڵZ9{{Z{Z))1{{9Z{Rι{{1kJ19Z{JZ{{{{{{{{{{{ZZ{オ֜sZZRڜ{Z{{ZZZZ9޵{{{ڵֵ֔ҔssssJ))sZ{Z޵{Z{ZZ{)ޜZ9Z{{Z9ޔҔ{skֽZssRʌJ19ZZZ{ZR1Z{{{{ZZ{µֽRR{RZ{Z9{Z{{99{Z9sRRssΔҵ9Z9ڵRʌs{9޵9{{{Z)JRZ{Z999999ޔsZsΜZRR99sJ{{ZZ{911Z{{{9{{ڽsΔZ{Zsオ֜{{Z{{Z{ZZRʵ9ZZ{{ZsΌڜ{9{{ڔ9J)Z{{9sεs1Z{1”{J{ZZ{ZRRZ{Z9޵9ڽޔZ99Z19{{99{Zs99­Z9Z9{9k)1ZZss9{Zι)tҔR1sZڌ9{9{Z{{RR{Z1RZ{{Z9Z{オ{Z{Z9{{sオ{{{{99ι֜{Rι{ZޔsΔ{{99猱JRZ{ssεֵ1ƭJ1RʔZ91ι1ƔZZ9{{1ҽڭ9{Z9ڵֵZ{{Zs޽9Z19{{Z{9֭ڽ{Rڜ{Zsιt{9{Z9k)JZ9999999ZZZ9ޔŒ)kµ9{ҔҵsΔֵZ{{9kk1ZZZ{99{ޭRZ{Zޔ1ιι֜9991ƭ{{{Z{99Z9ҭڽs{Zڵ1ƌι99{ޔR1ιJ)k֜ZZZ1)9Z޵Z{{޵{眭J1{{Z9{{ZZ֭Ҝιڜ9Z{ιι޽{{99{{޵9­ڽ{s1Z{{Z{{kֽ9{J)))JJJ1ZZ99ZZZZ9RJRʜ{{{{{{{޵{޵9{ιZs)1{{9{{{ιڽ{sJkュ99{ZsΌs{{ZR199{޵9{ZJڜZsΔZ{{{{ZskҜ{sΔڔҭ)1sRιι֜{91JRʜ{{{{ZZZ9Z޵{ڌZ9Js{9Z{ZRkR)s9ιZ{{{{{9Rιs9{{ޔkJt9sڜ{{{{{sJҜZRιk)ιZZڔs191kZ{ZZ{{{99{Z޵֔Z{J1{kk{{޵Z{19Z{1kڽ91t99Z{{9ιZ{RʌJιs9{ڔ{{ZZZ{RJֽ{9Œޜ1ιR9{֭kڽ{ZZZ{{ZZ{ZڔҔZ{Zs)1ƜkJ{{ֵ{1{ZsRʵ9{Zҭ)sΔZ{{{{{{Z9Z{ޭZZ{1kkRZ999Œڽ{{Z޵֔9ҭ1Ƶ99Z{Z1{{ZZ{{ZZ{9Z{{ZZZZ9s1{))R9{Zҵ{ι9{{k)ιڽҵ9{99{ZιR{Z{sJJs{ZZZ9Z99{{޽{{{{ZZ9ZRʌ))kRʵ9ڌιZ{{{9ޜZZZZ9Z{9ZJZ{Z1ƌ)sεZsε{JµZ{Z99ZZskڽZ֔9Z{s{{ތ)1Z{{99{9ZsR޽{{{{{ZZZ1ュkJ)ιڜJ)19{{{9ޜZ99s1RZ{Z9ڵsJ9{Z1ιJJ{{1Ɣ99{{{ZڭZ99Z{ZҭڽZR{{{ιR9{9)999{9ZZZ{ޔҵ{{Z{{{Z{9ڵs1ι)ιZ1)Z9ZZZZ9ss9{{9ڵs)11ιιι{sιkk1Ƶ9{l1ƔsRRRsεֵֵ֔sιk֜{999999{{ι޽ss{{Z99ZZ99Rʌ1{{1J99{{{9{ZZZZ{ڔ9{{Z99{{{{{ι)ҜιιJ)ksεڵs­kkRs1ι))JsZ{ڔkJιsJJ1Ɣҵ֔RιkJJ))JRZ{{ZZZZ99{ޭ޽Rs{{9{{{Zι9{{{{)Jֽ{99Z99{ZZZ{9ڔZ{9Z{{{{{{Z{Z1)R{k)k)J1ssRιkkι11ιkJιιιιιιιkkRZZ{ZRʭιュJJJ)k1Z{{Z޵sR111ZZڵֵ9{ZZ{99ڭ)ιZsµZ{ZڔҔҵZZޔ{{֭Z޵)JR{Z9ڵֵ9{9{{ڵ֔ҵֵڵ9{{{Z{{{9RkR{{sk)オsι1Z{{Zޔ1R991t99Z99sΔ9{9s­ιR{91sRRRsssΔ9Z{{9Zڭ)JsZ{ڔsΔҵ֔Ҕ{sιҜJ))1ZZRsZ{9{Z99999999Z{{{Z99999sέR{ZR{Z֔ZZZZ1ZZ{{{ZZ{{)R޵Rs9Z9{ڌ))ι9Zsڜ{99ޔҔҵ{91)kkJ޽9R{Z9{99ZZ{{ZZZ99ZZZ{{{1Zތ)19Z99{{9{9Rιs9{{{{{{{ι)))ιsRZ99sk))J99ι1{9Z9Z{{119ιsRιRZ9R{{9{{Z{{{{{Z9Z{9R19{R)kssΔ9ZZZZڭڜ{{9Z{{{9k1ιJ)JιRsι”Z{9{{sΌ))kιιιZ{{{ZZ99{{9R{9sµ֜{{{{sΜZZ{{{{{Z{99{9R199)R9ZZ{{99Z9Jι{Z{{ޭJ֜9sέJJµs”9{9ZҌ)))JsZ{ZZZ99{{ޔޜ{Rs9ZsµֽZ9{{Z99{{{ZZ{9{{1sZksε֭ZZ{{ZZ{{ڌ1Z{Z{9999ZkZRʭ{RRZZ9{k)ιR{{{{{99{Z{ZZsڵs{9{{Z{{ZZ{{Z99{ZZ{Z9sεZZ1JJιZZZ99)J{{{{{s1111s9Z{ZsΜ91ڽ91ƵZιιZ99{{{{Z9{{{Z99Z{{{{9{޵9ZZ{{9{{999Z9޵ZZ9ι))sιkRʵڔJJ1ZZ9ssR1ュkJJJJJkιιJ)J֭ҜZRsޜιRZ9ڔ9{޵9{ޜ{ޜZ9{Z9{9ZRʔ9ZZ9999ZZ9Z{{{s))kιJ))))JJJJJJJJ)))JJJޜ{{Z9ZZ{{91ƭkkkkJ))))1ZޭRʜޜ{Rオ{{Z{{ZsΔ{Z99{9Z{1sZ{{Z{{9Z{99Z{ZZ{Ҍ))))))J)))JktҔιJι{9ڔҔ9{Z9{9ssεڔ­)Jֽ㭵Rʜ9R{{{{Z{{Rµ֜99{9999Z991R9Z9991ιk))))JRι)))))))Js{Jڜ{”9ZZ9ZZ{Z{ZZZι㭵RʜZZ9s1Z{Z9ZιR{ \ No newline at end of file diff --git a/examples/loading/filesystem_animated_model/source/main.c b/examples/loading/filesystem_animated_model/source/main.c index a5911f0..02ef593 100644 --- a/examples/loading/filesystem_animated_model/source/main.c +++ b/examples/loading/filesystem_animated_model/source/main.c @@ -81,7 +81,7 @@ int main(void) } if (NE_MaterialTexLoadFAT(Material, NE_A1RGB5, 256, 256, NE_TEXGEN_TEXCOORD, - "texture_tex.bin") == 0) + "texture.img.bin") == 0) { printf("Couldn't load texture..."); WaitLoop(); diff --git a/examples/loading/filesystem_multiple_textures/assets.sh b/examples/loading/filesystem_multiple_textures/assets.sh index 53d61ab..3fb0eb5 100644 --- a/examples/loading/filesystem_multiple_textures/assets.sh +++ b/examples/loading/filesystem_multiple_textures/assets.sh @@ -3,9 +3,10 @@ NITRO_ENGINE=$DEVKITPRO/nitro-engine ASSETS=$NITRO_ENGINE/examples/assets TOOLS=$NITRO_ENGINE/tools -IMG2DS=$TOOLS/img2ds/img2ds.py OBJ2DL=$TOOLS/obj2dl/obj2dl.py +GRIT=grit +rm -rf nitrofiles mkdir -p nitrofiles python3 $OBJ2DL \ @@ -13,14 +14,12 @@ python3 $OBJ2DL \ --output nitrofiles/cube.bin \ --texture 64 64 -python3 $IMG2DS \ - --input $ASSETS/spiral_blue_pal32.png \ - --name spiral_blue_pal32 \ - --output nitrofiles \ - --format A3PAL32 +$GRIT \ + graphics/spiral_blue_pal32.png \ + -ftb -fh! -W1 \ + -onitrofiles/spiral_blue_pal32 -python3 $IMG2DS \ - --input $ASSETS/spiral_red_pal32.png \ - --name spiral_red_pal32 \ - --output nitrofiles \ - --format A3PAL32 +$GRIT \ + graphics/spiral_red_pal32.png \ + -ftb -fh! -W1 \ + -onitrofiles/spiral_red_pal32 diff --git a/examples/loading/filesystem_multiple_textures/graphics/spiral_blue_pal32.grit b/examples/loading/filesystem_multiple_textures/graphics/spiral_blue_pal32.grit new file mode 100644 index 0000000..f453710 --- /dev/null +++ b/examples/loading/filesystem_multiple_textures/graphics/spiral_blue_pal32.grit @@ -0,0 +1,2 @@ +# 3 bits of alpha, 5 bits of color index +-gx -gb -gBa3i5 -gT! diff --git a/examples/assets/spiral_blue_pal32.png b/examples/loading/filesystem_multiple_textures/graphics/spiral_blue_pal32.png similarity index 100% rename from examples/assets/spiral_blue_pal32.png rename to examples/loading/filesystem_multiple_textures/graphics/spiral_blue_pal32.png diff --git a/examples/loading/filesystem_multiple_textures/graphics/spiral_red_pal32.grit b/examples/loading/filesystem_multiple_textures/graphics/spiral_red_pal32.grit new file mode 100644 index 0000000..f453710 --- /dev/null +++ b/examples/loading/filesystem_multiple_textures/graphics/spiral_red_pal32.grit @@ -0,0 +1,2 @@ +# 3 bits of alpha, 5 bits of color index +-gx -gb -gBa3i5 -gT! diff --git a/examples/assets/spiral_red_pal32.png b/examples/loading/filesystem_multiple_textures/graphics/spiral_red_pal32.png similarity index 100% rename from examples/assets/spiral_red_pal32.png rename to examples/loading/filesystem_multiple_textures/graphics/spiral_red_pal32.png diff --git a/examples/loading/filesystem_multiple_textures/nitrofiles/cube.bin b/examples/loading/filesystem_multiple_textures/nitrofiles/cube.bin index bf69c38..13b767a 100644 Binary files a/examples/loading/filesystem_multiple_textures/nitrofiles/cube.bin and b/examples/loading/filesystem_multiple_textures/nitrofiles/cube.bin differ diff --git a/examples/loading/filesystem_multiple_textures/nitrofiles/spiral_blue_pal32.img.bin b/examples/loading/filesystem_multiple_textures/nitrofiles/spiral_blue_pal32.img.bin new file mode 100644 index 0000000..791c9db Binary files /dev/null and b/examples/loading/filesystem_multiple_textures/nitrofiles/spiral_blue_pal32.img.bin differ diff --git a/examples/loading/filesystem_multiple_textures/nitrofiles/spiral_blue_pal32.pal.bin b/examples/loading/filesystem_multiple_textures/nitrofiles/spiral_blue_pal32.pal.bin new file mode 100644 index 0000000..d960ddf Binary files /dev/null and b/examples/loading/filesystem_multiple_textures/nitrofiles/spiral_blue_pal32.pal.bin differ diff --git a/examples/loading/filesystem_multiple_textures/nitrofiles/spiral_blue_pal32_pal.bin b/examples/loading/filesystem_multiple_textures/nitrofiles/spiral_blue_pal32_pal.bin deleted file mode 100644 index 8774d3d..0000000 Binary files a/examples/loading/filesystem_multiple_textures/nitrofiles/spiral_blue_pal32_pal.bin and /dev/null differ diff --git a/examples/loading/filesystem_multiple_textures/nitrofiles/spiral_blue_pal32_tex.bin b/examples/loading/filesystem_multiple_textures/nitrofiles/spiral_blue_pal32_tex.bin deleted file mode 100644 index f018320..0000000 Binary files a/examples/loading/filesystem_multiple_textures/nitrofiles/spiral_blue_pal32_tex.bin and /dev/null differ diff --git a/examples/loading/filesystem_multiple_textures/nitrofiles/spiral_red_pal32.img.bin b/examples/loading/filesystem_multiple_textures/nitrofiles/spiral_red_pal32.img.bin new file mode 100644 index 0000000..4899144 Binary files /dev/null and b/examples/loading/filesystem_multiple_textures/nitrofiles/spiral_red_pal32.img.bin differ diff --git a/examples/loading/filesystem_multiple_textures/nitrofiles/spiral_red_pal32.pal.bin b/examples/loading/filesystem_multiple_textures/nitrofiles/spiral_red_pal32.pal.bin new file mode 100644 index 0000000..2cf7a2f Binary files /dev/null and b/examples/loading/filesystem_multiple_textures/nitrofiles/spiral_red_pal32.pal.bin differ diff --git a/examples/loading/filesystem_multiple_textures/nitrofiles/spiral_red_pal32_pal.bin b/examples/loading/filesystem_multiple_textures/nitrofiles/spiral_red_pal32_pal.bin deleted file mode 100644 index 69076c8..0000000 --- a/examples/loading/filesystem_multiple_textures/nitrofiles/spiral_red_pal32_pal.bin +++ /dev/null @@ -1 +0,0 @@ -,$08<<@@4(8DH@D<@D4 \ No newline at end of file diff --git a/examples/loading/filesystem_multiple_textures/nitrofiles/spiral_red_pal32_tex.bin b/examples/loading/filesystem_multiple_textures/nitrofiles/spiral_red_pal32_tex.bin deleted file mode 100644 index bd37d93..0000000 Binary files a/examples/loading/filesystem_multiple_textures/nitrofiles/spiral_red_pal32_tex.bin and /dev/null differ diff --git a/examples/loading/filesystem_multiple_textures/source/main.c b/examples/loading/filesystem_multiple_textures/source/main.c index 12d50c2..dca2a53 100644 --- a/examples/loading/filesystem_multiple_textures/source/main.c +++ b/examples/loading/filesystem_multiple_textures/source/main.c @@ -65,12 +65,12 @@ int main(void) NE_ModelLoadStaticMeshFAT(Model, "cube.bin"); NE_MaterialTexLoadFAT(MaterialBlue, NE_A3PAL32, 64, 64, NE_TEXGEN_TEXCOORD, - "spiral_blue_pal32_tex.bin"); + "spiral_blue_pal32.img.bin"); NE_MaterialTexLoadFAT(MaterialRed, NE_A3PAL32, 64, 64, NE_TEXGEN_TEXCOORD, - "spiral_red_pal32_tex.bin"); + "spiral_red_pal32.img.bin"); - NE_PaletteLoadFAT(PaletteBlue, "spiral_blue_pal32_pal.bin", NE_A3PAL32); - NE_PaletteLoadFAT(PaletteRed, "spiral_red_pal32_pal.bin", NE_A3PAL32); + NE_PaletteLoadFAT(PaletteBlue, "spiral_blue_pal32.pal.bin", NE_A3PAL32); + NE_PaletteLoadFAT(PaletteRed, "spiral_red_pal32.pal.bin", NE_A3PAL32); NE_MaterialSetPalette(MaterialBlue, PaletteBlue); NE_MaterialSetPalette(MaterialRed, PaletteRed); diff --git a/examples/loading/filesystem_simple_model/assets.sh b/examples/loading/filesystem_simple_model/assets.sh index 386699b..95bd0c0 100644 --- a/examples/loading/filesystem_simple_model/assets.sh +++ b/examples/loading/filesystem_simple_model/assets.sh @@ -4,8 +4,9 @@ NITRO_ENGINE=$DEVKITPRO/nitro-engine ASSETS=$NITRO_ENGINE/examples/assets TOOLS=$NITRO_ENGINE/tools OBJ2DL=$TOOLS/obj2dl/obj2dl.py -IMG2DS=$TOOLS/img2ds/img2ds.py +GRIT=grit +rm -rf nitrofiles mkdir -p nitrofiles python3 $OBJ2DL \ @@ -13,8 +14,7 @@ python3 $OBJ2DL \ --output nitrofiles/robot.bin \ --texture 256 256 -python3 $IMG2DS \ - --input $ASSETS/teapot.png \ - --name texture \ - --output nitrofiles \ - --format A1RGB5 +$GRIT \ + graphics/texture.png \ + -ftb -fh! -W1 \ + -onitrofiles/texture diff --git a/examples/loading/filesystem_simple_model/data/robot.bin b/examples/loading/filesystem_simple_model/data/robot.bin deleted file mode 100644 index 011d716..0000000 Binary files a/examples/loading/filesystem_simple_model/data/robot.bin and /dev/null differ diff --git a/examples/loading/filesystem_simple_model/data/texture_tex.bin b/examples/loading/filesystem_simple_model/data/texture_tex.bin deleted file mode 100644 index 7c633ea..0000000 --- a/examples/loading/filesystem_simple_model/data/texture_tex.bin +++ /dev/null @@ -1 +0,0 @@ -9{)1R1R{{{ڭs{Z9ZZZ9ޔҔ9s9Z{1ι޽Z­ֽ9Jڽ{ιs9{Z{{޵99RRʵ9{{Z99Z9sΔ{{9{{sR1Ƶ{ZkZ9kRsR1{{{ι֜Z9Z{9Rss9{9ڵZڭJ199ιR{{k9ιZ{Z{ZڔZ9sΔ{{ZZZ{{{Z{s1s9Z1))RʽZRRZ{Z1R{{9199{1”999{ޔ{޵ZZsΌkµ9{{ڔ99RҜZҌ{{ZZ{sZZڔZsRʔZڔҔ{{9s1s9{Z9R9JZ{9Z{{{s9{{ι1ZZ9ZZιιs9ZZZZ9ZҵZュιsΔRʔZ99kι9Z{ZRʌs9{ZZ{{sR{Z޵{9ڔҔҔZsR{{9ZZ­µZ{Z99999{{ιRZZι)k{{{{Z9޵Rι1sss1Rޜ99Z1ƔZ{{{{{{ҭҜZ9{91JιZ{{Z9999{Ҕ9{Z޵Rュ{1ZZ)kオ9ZRJZ{{Z{{9s1{Z{9ڵ֔{1R9{9Z9sΔҔRlZ{Z99999Zι1ZsJk9{s1ιJ)))JJJJJ))Jι֜9Z9s1ƵZ{{{{9sι޽99{R)ޜ{{ZZZ9{{{9ssޜ{{{{1J)ι1ιҜڭ)ڜ9)9{{Rʵ{{9{9{9ss9{1Ƶ֜99s{{sΌZ19kks{{ιιιιιιιιιュkkιJ)9Zs1ƵZ{{{{Z19{9ZZJι{Z9{ss{1J)ュR999{{Rʌ)ޭ){{ڜ{99{޵Z1Ƶ{ZsR{sRRs{{ι)11ޜތJsst999999ZZ{{{Z9999ιJιڜZ9s1s9Z{{{ZRZZ9ڭk9{Z{{{){{91)1Z)){ZֵZ{{Z9Z{ޔZ9R1ޜ9sΔ{9ss{{9RkksZ9Rޜ㌱J)9sι{9RιsεZ{9Z11s{9ιҜ{޵sΌ19{ZZZ9skJ{{99kҜJ)ιڜs{{{{{ޔҵZsZ9sε{Z999Z{Z{{kZオ֜9kkRZ{1ιsι1Z9{ZssΔ{9sέֽRRι1{Z9Z{{ZsΌJkڜ{ZZ9{Z9ڌ199sέ)Z{{R{sε99Rڜ{Rs9{ZZ{Z{{ޔιڽ{֭s{{91kޜ{1ι1ι1ޜZZZ{{9{{9Rʌ֜sRRι1ƵZZ9{9{9sΌk1Ƶsι{9{{㭵RZ{{9ZZ)J11sRޔҵZR9Z9RʵZ{{{ZZ9ZZŒڽڌ1Z{{9Rʌιޜ19Z1ιs{Z9{{9ZZ)RZZ1ι1ƔRRʔҵZ{9ZZ{9ҌJRZZRʭs9Z{{{㭵JҜ{Z9ZιRs1s{1ƵZ{ޔҵZZRʭZ{{ZRʔ999{{Z9ZZRʌҜ{{{ڌZZs1Ɣ9kRι޽91オZ{ޜ{9Z{{9Z9Ҍ)µ9{91ƭ1ƵֵRʔ{Z{{Z֭JRʜ֌sZ{{Z{kk֜999{9ss9ZsέZZ1Ƶ9ҵ9ιޜZ{ZssΔҵZZsΌ{ZsJ{Zs1ƔҔJkιk޽ιsZޜ{999ZZZ{{Z9{{99ڔsk)1ڔ{ZZZs{{ZkJsΜ{sJks9{Z{ZJι{{{9{ڌιZR1sZ9sڭ1Z{ZZ99{Z99ιJι1RRR11Rss)R991µRRRʌ)JҜιҜZ{ZZZ999Z99{{ZRZJ)s9{9{{Z9{9ss9{{{s)kZ֌)ιޜZZZޜ19{{{99{{9֭{1ƭRR”{ޭ1ZZZ{{Z9Z{{Z{ZkJkιR9sΌJιRʔҵڔιュZ֭))ιZιs{ZZ9Z{9޵ι眔ҜZsJι{Z{{ZZ991Ɣ{{ZRkRsέ{{{99sR{{99{Z9ZZ{{sιs{{kJJJҜ999ZZZZZ{{{ZZZ{{Z{ڵֵֵ{91ι1Ɣҵ9RʌkkJڽ{9ZZR1kJs9sk県֜{9ZZ{{1Ƶ֜{{ZR)k{9Z9Z{sRZZ9Z{Z9{{{ZstZZ9sέ)1ZZRʭιRʵ9{{{Z{{1Rޜ{{{{{{1ƔZsRs{1J){sιR9{ZZ9ZZs111RʔҔJ県{{99ZZ9Rs9{RZZ{Z{sJ1Z9Z{Z9Z{Z1sZ{{ZZ{{ڭ{{ιs9ZZZ{{{k)Z{ZZ1Ɣ9ZkJ191ιZ{ZZ9999ZZRk眭{{ZZ{9{Z9{1ƵZZ)ks99Z9ZZRιs޵999{ZsΔ9{{sZ91)kJJ1Rʔ9ZZ֭)ιZ9Z{{9R1ƔZ99㌱)1ޜι{Z9ZޔRʔZZR)֜{{{9{Z99sRޜ{{{{kJŒ)ι1sޜZ9Z1R91Ɣ{{s{{Z99ZZZ{{1Rʵ{9)オֵJJ1sڔҭ)kRsέ)ιRʔҵ{{sιιRZZ9筵)RRι{オ{Z9ZssεZ9Js{{9ZZ9sεZ{Z999{{s)ޔιJJRZ{1{RZ1Ƶ{ZZZ99Z91kR{ތ֜RlJkι)sZ9JRޔҔޜ{9ι)Jڽ{޽9筵kt9オ{{Z9Z9ޜkι{ZZZ9{ڵZ{ZZ99Z{ڭkZ91lҜR19ZR޽µ{{{ZZ{{{{R1R1ュ1{ZR)9{Z9޵sRJ9Zk{9sڜ{JJ1{޽㌱9ZιR{オ{Z{ZJZ{{9Z99Z{ڵZιZ9ޔR޽{1Zt{ZR{{ZZ{{{9Ҕ91ιRڔҭ19{ZZ{9R1s{9ŒZ֔ޜ㭵)ι9{޽ڌ9RιµZ{オ{{{{9ZJ{{9{Z9{Z{{{{{11ƵZ1J1Z{91sZZRʌ9R919{{{{{s{R1RJsεֵ9{ZZ{{{{9sέRڵ9Z{Z޽kZ9sιRZ޽Z{{ZιksZ{{{9{Z9{{ZڔR­ι1J)Z{{ޔҵ99֭ڽsΔ9Rt{{{{Zڵ99sι)J”9{{ュRʵ9{{RZڽRk1{ZRR{ιsZZZ{{{ҌZ{{{Z9Z9{{ZڵޔJZ{{{Z9{{Z)sZZֵZs1Z{{Z9ZZ1ƌsZ99{{ZJs9{{{{{9Rڽ1ksΜZRR99{ޜ999ZRʌ{{{Z9ZZ{9RsZ{Zι))RZZ999Z{ZZ1Jオֵ֔ҵ{1s{{{9Z99{Z9Z9Rt{{9Z{{9ι)RZJJ1Ɣ1ιֽ{{JҜ9Rڽ{R99Z{ޜι{{{Z{99Z{{{sRʵZ{1)Jιs99Z{9ڵֵsιRʔ{RRʔ9{{{Z9Z9Z99{ZZ1RZ9Z{{{{{Z99{ڌJZιιJ)1{Z㭵JڽιҜ{RZ{9ιR9Z9{Z9{{Z{{{{sR{)s9Z{{Z9991ƭιR{Z޵޵sΔ9Z99{9Z99{{{9RʔZ99Z{{99Z{ZRkk{ZڵֵRJksJkιҜZ1Z99ZZޜ91オ{{Z{9ZZ{{RRʔ{ޭ1ƔZ{1ιι1ڵZ{9RsZ{9ҵZ99{{{9֔9{{99ZZZ9sΌ޽99Z91))Z)k9Zsιڽ91ZZڜ999Z{Rs9{J)s{{޵1ƭ1{Zsέs{9ҵZ{9{{{9999{{ZZ{{Z99֭{㌱Z)J{19ιR{Zޜ99ZֵZ{Rs{{9RkRʵ{Z9{9sΌ9{s)Z{ڔ{{99Z{{Z{{9999Zιk9Z{sJsJJ{{Z9ڜ㭵Rʜ99{R{ZZ{{{ҔZ9RR{{{99Z{{9ZZ1ZZι)Z9{Z{{ZZ{ZZ9kֽZ9{ι)k)޽{sR1ιt{㭵RʜZZ19{{{Zss{{Z9ޔlsss1ƭ)JsΜ{99{9{{R{)kֽ{9{9Z{{9{{1ƌҜZ9Z{91)k)s9RιιR{㭵sΜ9ZZsιι{{RR99Rl))kk)JιRs1ƌJR{9{R1s{{ι{{1)9Z9Z99Z{9޵֔sεZZsέsZ9{{{㌱9筵kι1sεZڭsΜZ9Rk99RڽJ)Jkkιιιs1ƌ19{9ZRk))))9Z9{{JR{kJRʜZ9Z99Z{9޵sRRʔ{9sR{{{9Z{JRJ)1sΔ999ZZ{ZsιֽZιkҜ{{RZ{RJ)ιRʔڵ99{9sR{Z{{J)ι))ҜZ9Z{ZRJJ1{)k֜Z9ZZZ{{{{{{Zss9Z{{9s1Ƶ99{{9ZZ1)Z9)))))Jιs9ZZsι1Z{sJZ{1オ{9ι)ι{{{ZZ{ssε{Zڵ)JZι)ιZ99{{ҭ)9{{kJRZZ{ڵZ{Z{{{{{sRsΔҵֵsR1µ999{{{J)9Zڌ)kkJJJJJJJ)JJkιι1ޜ9{kι{Z9㌱)sΜ{{ZsZ{{9ޔҌJ9֌)R{{99ZZҭ֜Z{Z1J{9Z9{{{ZR11ιιs{Z{{kk99)s޵s11RRR1ュkι1s{ڵ9ZZZ99ZZkι{9ssΔk)ҽZ{ZZ99ڵ99lֽ{1)kڜ{Z9Z{ιsZ{Z{1kιڜ{99{{{ڵ֔sR1Rʔҵֵ{{Z{Z֌)91JιZ{{{{{{{ZRʵ9RZ{{{Z9999Z{ZsJZ9ュ))ڽ{{{Z999ZZZ9Z{ޜsιҜޭι99Z{)JRZZ{{{1k1Z9ZZZZ{9ZZ9{֔ҵZ{9sJ)J{Z9sΌ1Ɣ99{Z{R{{9RʌksΜ{Œ)k{Z{Z9Z{{Z{9k)ιZs眭޽{Z{ޭڜ{{{޵9{Z9{{Z{{{{Z9{{9s11Ƶ9Z{{JJι­{{sΔsΔ999{9Z99999ڔZ{k19{{1ƭR{Z9Z9{9ZZsι֜{))sZZ19Z{RkRZZ{9ssεZ{Z9999Z99ڵֵ99ڔRʵZ{ZZ{{J)Z9{R{99{9Z9{Z9ZZ999Z9sιµZ{{9ֵ99Z{9{Zι1{J19㌱9Z9ιZZ{{s111RʵZZ{{Zڵ֔ҵ9{Zڵ֔Z{ZZ{9֔Z{Z{{1J޽{Zss{9ZZ9ZZZ{9ZZ{{{9Z999ss9{{99ZZ9{޽9ZkZ))s{{ZZsΔҔZZZ9­kιsZZ޵R1R9Z9{{Z{sRޜ{999ιk){{{sε֜9ZZ9Z{99ZZZ9Ҕ9{9Rs{{9Z9Z{1ιk9ZR޽99Z޵9ޔޜ{{֔Rl”ڵ֔ssΔZ{ZZZZ{1ιR{Z9Rk))ιZ9{{R{9{Z9Zs{ZZ99{sޜZRʔ9Z{99Z9{sι֜R)1޵ֵ9ιZZ9Z{{{9Z{ڵ9ZZ99{{Z1ιι1sZ{Z{{{9Zkkµ9Z99ZZ9Z{9R9Z9{9{ZRsZZ99Ҕ9ZssRRRRʔ{{{{99Z919{֌s9Z9ڵֵڵ)ι9Z{Z9999ҵZ9{{9ZsR1RʔZ{{Z9{{֔sι))Rュ)ڜ9Z{sΔZ{9Z{9Z99Zֵ9{s9R11RsRsZ{{ZZ{{{Zڜ9Z{ZZRιR޵k)Z{Z99ι199Z{{{ZZ{{ޔ{9{9Z{Z99Z99Zҵsέ)J)){{9{{s9{99{{9{{99{Z9{ZsZ9ڔ{ZZ{{{{9Zҵڵ{1ιk)){{{{R{9Z{9{{ڵ{{{{9Z{9{{{ZZZ{{99sΔڵsJ))kR9Z9ZҔ9Z99ZZ9Z{{99Z{{ڵZ{{{޵Z9Z91”9))ιsε9{{sޜ9{9ֵZ{Z9ZZ9Z{ZZ{ZZRRʔ99ҌRssεZZ9ҵ{޵Z{99999{{9999{{{{{{Z֔99ZZJRsι{{ҭ9Z9Z{Z{֔Z{9{ޔ޵֔sΔҵڵ9Z{{{{{{{{{{99Rι1ޜ91ƌsZ{ZZZZޜڔZ{99Z{99{Z9{Zs9{{{{{{{{{91޽Z9{1)9ZRs9{9ZZ{ֵ{99{ZZZsRRRsZ9ڵ9Z9{Zskι޽91{ZZZ9{Zֵ{{99{ZZZ9Z9sR{{991Ɣ{{9)JRRZ9{Z9{Z{ֵ{Z99{{{{9{9޵Zޔ{{9ڵ{{s)k9R9ZZ9Z{{ҵ{Z99ZZ{9ZZ1ι1Ƶ{{{{9RR9{99ι)1R1999Z{ڔ9{{{{{{{Z֔{{޵9Z{{{)ュ{{{ZZ{{{ҵ{{99Z9{{9ZZ9Z{ss{{{R19Z9ιιR9Z{ڔZ{{s{{{Z޽9ֵZ{ZZ9RkJs9Z{{Z{{{{ֵZZ99{9{Z9999Z999ޔҵZ{{{Z19Z9ZRZ{Z{ZR{9{{sޜ{{9޽9ڵ9{ZZڔ)ιڵֵZ{Z{Z{{ZZ9Z9Z{9{Z9{{9{ZZ9s9{{{{{{9sέs{9Z999ZR{99{Zs{{ڜ9ڵ9{Z{9Zs{Z{{{{Z{Z{{{9{{99{{{{{9Z{9Z9Z99s޽{{Zޔιιڽ9Z9ZZ9{1オ9Z{ZZ{{9s9{Zޔҵ9Z{{9sssε{{ޜ{Z{9kZ9{9Z{{{999{{ZZ99Z9Z{99{9{{99{9sε֜{ڔs1ュιsZ9ZZ9Z{tZ{Z9Z{9sZ{sε9{9s11{ޜ{{Z{9{ޔ{Z{9{{{{9ZZ99Z{{ڔҵZ99{{Z{s9{{Z9޵sュkι1Z99{{{{{{9{{sZZ{ss{{9ڔҵZ{{{{9Rι޽{{99ZڭR{ZZRڽ{Zֵ{{{޵9Z{{1Ƶ{{99Z{Z999ZRʔZZ9ڵsR1ιι1ƔҵZ{999999Z{9Z99R{Z{{{s{Z{1ksΜ{{{{99{{11RJs{ZZ{Rs{{{Z{{Z{s{ZZڽZ9999{{9Z{RsΔҔsRʔsRʔZ{{{99{1ιڽ{{{Z֔9Z9Z{ZҭRZ{Z99999J)R9ZZ{R1{Z{Z{{R9R1{{Z9{{s1Rʵ9Z99ZZ{Z{RιR9{ZZZޔڜ{ZZ{Z{R9{{{{{{ZRʌk1RR11Z1ޜ{Z{{{9sڜZڔҔZZ9{9ZZZZ9{99Zޔιs99ֵ9{Z9Z1ƵZ{{)ι9{{{Z1ޜ{{9{{{Z{{Z9ZZ{{{{Zssε9{9Z{{޵1ƌsZ{{{9{99{9Zιs9ڭJ֜޽sZ{9{ZsιR9{9ZZ9{{Z{{ZZZ11s{{9޵֔Ҕҵs1ιJk{99{ssΔҵ9Z{9{{sJ)ι{9Rsڵ֌JڜZιR9tҜ1µ9Z9{֔sR11RʔZ{{{ZZZ9Z{11Ɣ{9sRュJJ)J{{{Ҕڔss99{{{{ڭJJ)RRRʔ9Z{9JkJ)1Ɣҵ֔ss1ƭ{{sZ{RʵZ{Z9{9999ڵssε9{{ZZ911Ƶ9{{{{ҭJkιR޽{9Z9ڵ{Zڵ֔ҔsRRs9{{{{ZR)sΔ)J11))JJJJ))ޜ{Z9ιsZ{sZ999{{ZZ{Z{9Z9ڵZ{Z9Z11Ƶޜ{9Z9ιs99{ޜ{{{{9Z{ZZޭJs{{֭J)Jkk)RssssRsεZ{{{Z99sオ{{99Z{99999{Z9Z9ZZZZZs”{ZstZ{{ZZڔ{{ZZZs)ι{9RʵֵRιιRޔlZ{Z9999Z{9R޽Z9ZZ99Z9{{{{Z999999{Z9ZZZ{9Z1s{991ƭι{{{{Z{֔9{{{{ZҌJ11sڔҵ9ZZ{1s{{{{s{{{{{{{{Z{{99Z99{{99Z{{{{Z99ZZ91µZZ91ƭιZ{{{9{{֔Z{9Z9sέJιsڵ֔Ҕ{{ޔޜZZޔ޽{sڽ{{{{9Z{Z9Z999޵ֵֵ֔{{99Z9{9ZZt{{ZRZ{99Z{֔9{{޵91ƭtZ{ڔZ9Z9Z91ιڜ{ZZ{99{ZZZ9Z9Zޔ{{޵s1µ֜Z9{ZZ1R9{ޜ1Ɣsε֜{{Zڔ9{{ޔR9{{ZZ9Ҕ9ZZ9{Z֭{Z{{ZZZZZ{{999ڵ9{޵Z{Zڔҵs޽Z9sε{9991ƵZ{{{{{{Z9{{{{9޵֔sΔ9{{99{ZZ{1Ɣڵ{{Z{Z9ڵ)ksZZ{Z9{{ZZZ9ޜZڔҵڵ֔{ZιRZZ9{sZ{9{ZZsZ޵9{99{{Z9ZZ99Z{{{{sZ{{9Z{99{{ι1ƔZZڔҵZ{ZskZ{{ZZ9Z99Z{9{ڵ{9RڜZ9sε{Z{{9Z9ֵ9ڔ{{Z9{{{{{ZRZ{ZZZ911ƔRsZ{Z9Z{Z1ι9{{Z{{9{{99Z{{9Z{{{19Z9{{Rޜ9{ޜ99{ڔڔs9{{9֔Z޵9{ュs9ޔsΔҔҔҔҵ9999޵Z9ssZ{{Z9Z{{{{{Z{9Z9Z{Z9Z{sιҜZZZ991Z{{9ZZ9Z9s1sZsΔZZZ9)1sΔ9{991sε9Z{J{{ڵ֔ZZ9ZZZ{ZZZZZ{ZŒs9Z99Z{sR{{ޔ9ZZZ{919ZڵZ{9ZZst9{{ڽ{RsεֵֵZZZ9{ZZZZZ{9{99{sιֽZ9{֭ι9{999Z{Z9{Z9{{Z9{999R9J911Ƶ9ZZZ9{{99ZZZ{{ZZZZ9”{Z9{sι{ZZ9Z91ޜ{9Z{{9{ιZZ9sιιڽ{R)J{Z9{9Z{Z99{ZZ{ZZ{99޵ZZs9Z9ZR9{{9Z{9{{”9{Z9{{9Z{ֵRʌZZZRʌJ)k㭵))ι{{99{Z9Z{99Z{ZZZZ{99{ֵ{{9Z9ZZ9R{{޽99Z9{ss99Zs1RʵZZZ{JJJJ)))Z999999Z9J)J)1Ɯι)J))RRs99{{99999{{ZZ{Z9Z޽Z9{ZZZ9オ֜Z9Z9Z{9ڵ{{Rιι1sεֵZ9sΌ))JJJJ{Z9{{Z999{JJRkk޽1ι1s1k))RʔZ9ZZZZ99Z9ڵֵZ9Z9{Z{9{Z9{ڽZ99{Z999{{{{޵1ιι֜sk)JssΔ{ZZ{99)ksZ{sJ)ޜ{sιR9{ڭJ{Z99ZZ99Z9Z{9ڔҵ{Zֵ99{Z9{{9ZZڜZޜ9Z9{9{9{{Zsk)ιZZιZZZ{99)ks{9ι))Z֭RZ{9Z99{{ޔsεZޔZ{ZZZ9sεZ9{9{{޵9Z9{999ZJJڽ㭵Z{Z9)ks{{J)JιZιs{1Z9Z9Z{999{sΔZ{ZZ{ڵ{999{{Z9޵{9Z99Z9Z{޵ZZ9Z)9{k9{Z)ks{{{ZsΌ))kオ9{{sιֽZ1Z9{9Z{ڵֵֵZZsΔ9{Z{9{9Z999Z{{ZZ9{99{Zֵ{{9{kk19ZZJ1Z9{Zk{{{sιkJRʵ999ZZ1tҜ9Z9Z999޵ֵڔsε9ZZ{Z99{Zޜ{ZZ999{99Z{9{{Z9ޜ9ZRιRʔJ9{{ZZュ{{{Z9ҭJιRʔҵZ19{Z9{ZޜZsZ{ZZ{{Z9Z{{{{9{9ZZ9ZZZ{9{{ZZZZ{9ZZ991ιι19Ҍι99ZZZZRʌ1ZZlRʵ99ZιR{{”{9{{{91k1ZZZZZZ{{{9{{{Z9Z9{9Z{9{Z99Z99Z{9ZZ9{{999֭9Z9ZZZ9sέ޽{{Rιs{9ڭҜZ11RZ9{{{Ҍ֜{Z{{{{{{Z{{ZZZZ{{9{9{9ZZZZ{{Z{{9Z{9Z{9Rʌ1Z{{{Z{9{9Rʭڜ{Z1”9{{ιֽ{99{ιJRZ{{Z{{{{{{Z{{{{Z99{9Z{9{{{{{{9Z{99{1ƭ{{{{9Z9Rʭޜ{{R”Z9ZZ1ZZ9ZZ{JZ{{ZZZ{{{9ZZZZ9{{9{{{ޜ{{Z99999Z{ZZ{Rޜ{ZZZZsέޜ{{1オ{991Z{sZ99{Z9{sJιڜZ{Z{Rʔ9{ZZ9Z9Z{{{{{{{ZZ99{{{{ZR{Z{99ҭޜ{{{Z9{ιsΜι{99Z9ޭkҜZ{Z{11ƵZ9Z9Z{99{ޜ{Z9ι֜{{1ƵڔҔ{{sιڽt99{s)9{{{Z{Z{Z{オ{ZޜZss{ZZ{ZZ{ֵ{{Z{RZ{{ZRssRRʔ9ZZRtZZڵZιkҜZZ{Z{Z{9119Z9Zsڜ{{9{ֵZ{{s{{{{{{{{{{{{ڔRRʵڵ1ƭs{Z19{Rs{1ι1ޜ{ZZ{{{{{ZZtҜZs{{9Z{9{{ZZZ{{R1ޜ{{{Z{{9sZRkڽ9ڜ1RZR1Ɣ{{Z{{{{ZZ{{ZZ{s{Z{{{{{99{9{{ZZ9Z{{Z”{{{{{ZZR{s{9R1{R1{{1RZ{ZZ{{{{Z{Z{{1Z9Z{ιZ{{{9{{9{{9Z{{{{sιs{{{ZZZRJkֽ9s1sZ1Ɣ{{1ޜZZ{{{Z{Z999999Z{199{{ZZ{9Rk{9Z{9ZZ{99Z{{{9オ{{{Z9ZR99ι91ιιRZ{Z֔{Rޜ{Z{Z{ZZ9Z{{Z{{sオZZ{Z9999ZkR{ZZZ9999Z999Z{Z{{{{Z{{11{{{ZZZ{s9)JιュιRʵZ9Z99Z{J){{Z{Z{ZZ9{1R{{9Z99{ZZ{֌֜{9Z{9{{99Z99Z{{{{9{11{{{{{{ZZZ{9Ҕ{9)k1Z9{9{{֭Jι1Ɣ{{ZZZ{Z{9{ss9ֵ9{Z{ZRJιZ{ZZ{{ڵ9Z{ZZZ{{{9{R1Ɣ9{ZZZZRڜ9111Ɣ9ZZ{sZZ9JZZ99Z{{ZZZ{{ZZ9Z޵R1Ɣ9{ZsRޜ{Z{9J{ZZ{9ZZZ{s{{{9{ss{{{{RR{Z99R{޵lڜZ999Z{Z{{9ZZޔ1”{91R9{ZZZŒ{Z9Z{{{99{{Zڔ޽19{{{9{911{{1Z{ZZ99{RڜZ1ι{{{{9Z{9ڔ11ƵZs{Z9{ιZ{{{{Z9{9ڔs{{{{Z9{R”Z{9{ss9ZsZZ{9Z911Ɣ9オ֜ZZZ1ι{{{{Z”9{ZZ{Z9{RtZ{{ZRιڽ9s{1{{99{ZZZڔRιJJι9Zs{Z{Rιڽ{{{9{sι֜1{99ZZZ99Z{ι{Z9Z{{{֭ҜZZ֔R9ZZ9Z{ZZ{9ュk1sRsε9ZZZ9{Rι޽{{{{{9ڵ9ڭZιޜ{9޵9ZZZ{Z1ƌ1ڔҵ9ZZZ{{RZ{ޜ99sΔ{{{Z޵ZZ9{99Z99Z{Z9ZsRs1s9ZZ999Z99{9ڔҵZZZ{ڭsRʌ9޵֔ҵ9{lι1s9{{9ڽZ{9sޜ{{ڔ{Z9{{9ZZ999{{{9Z{sΔ9{ιR{{{9{{{ZZZZZ9Ҍ))ιsΔҵֵ9{R1s{{9999Z{{ZZ{9R9{s{{ZZZ{{Rʔޜ99{{ڔ9{{Z9Z{Z999ZZ9{ڵ{{ZZ{ڽ{9{{{Zڵ֔Œ1sε9{Z9{{{{{ZZZZ99ZZ9޽ZRRʔڵss{{{ZZ{{R1sεZ{{9޵9sε9{99Z{Z9Z{Z99{{{Z9{{Z{Z{Z91sZ{{{Z99֔9Z9{{ZZZZZZ{{ZZZZ{{ZRڜڜ91J)1ޜ{9Z{{Z9ssε99޵RュRssZZ99Z{9ZZ9999Z9999ZZ99Zҵ{{9{{Z9{{99{ZZ{9{{{{{Z9{9ZZ{k)Js{99{{ZZsRsε{{s11ι1Ɣ9{Z99Z{Z9Z{{ZZ{9Z޵9{{9{99{{9ZZ9{9ssZ9{99{9ι)オJҽ9Z{{99Z{{{ZZ{{9{9ޔZ{Z999Z{9{9ڜ{{{Z9Z{ZZ{11Ɣҵ֔R1Z9Z9ZZ9Z{޵֭)kޜJҽ{{Z{{{{{99ZZ{{{99{ڵZ{99{99{Z11sZZR99Z{9ZZ9{{ތ))ZRJֽ{9{{99ޜZZ9Z{ڔ9{{{9Z{{Z”9{sZZ9ZZ9Z)kkZ{)Z9{{޵Z9ZZZ99Z9RZ{{{9ZZ99RR{9sµ{{9{{9{Z9{ڌsι)Z9{{{ֵ{{Z9{ޜZ9Z{Z9RZZ99{Z9Z{{ޜ1ڜ9Z{9{9Z9{{ι1Rk9Z99sε֜{9Z{99999Z{­R9{9ҔZ9ZZZ999ZZ9{Z19Z9ZZ9{޽9Rιk)1{9Z{Zιks9Z9{9ZZ9{Z9Z֌{{ZsZ9999999{99{{{R99ZZ9Z{9{ZRk)ֽ{9sιkJJJJks9{9Z99{9{{Z{{9ιJZڔҵ9{{ޔҔ9{{99{Z9{9ZtZ9{Z9Z9{Z1Jk{kkJJkJJJZZ999ZZ99999Z{{J֜{Zsε9{9sΔ{99{9Z{9{9Rµ֜{9{{9Z9ZkιZZ9ڭ))J1kJڽ{999{9Z99{{Z99Z{1ƌR9{9sΔ9ssZ{9ZZ9{{11޽{9{9Z{ZZkZ{֌)J9{{{9JkֽZ9ZZ9Z9{Z9{Z9Z{ss9Z9ڔҵ9sΔ{Z{Z9{9Zs{{9{{999RJ1{{{kkRZkJιZZ99{{ZZ{{9{Z9{ZZZ9{9sΔ9ZZsZ{{9Z99ZR޽{9Zޔ޽Z{)sΜ9sk{ތJk1ڔs11Rʔ9{{999999{ZZZ9Z9Z99s{{99ڵ{sڜZޔsޜZ9{Z{ιs{ZZ{9ҔZZZι)ڽ{R1ιJ{Z1ƌ1sssssΔsε{99{{Z99ZZ{9ZZ99ZZZ{9ZZޔRsΔҔҵ{Zs9Z޵Z9ڔ9Zڔ1{{9{Z9{֌ZZZ99ZZZZZZ9Z{{{{ZZZ{s9Zތk֭JJ)Z{ュ1Z{{{99ZZ9{Z999Z{Z9Z{1sZZZZ{{{9Rュι1RRRsεZ{sڜ99Z9Z{9Z99199{{9Z{ι)sεֵֵֵֵֵ99ZZ{ZZ{{Z9ZsڜZRkιZ֌kR{ZRʭs{{{{ZZ{9ZZ99{{99Z9ι”9999999Z9ڔsι”ZZssΔ޵sΔ9{99{ZZZ9Z{{99{{1Ƶ{9ڵ1ƌ)J19{{ZZ{{{99ZҔ{Z޵ιJsΜޭsZZ99ι{{ZZ{{Z99Z{Z9Z99ZZ999{{1Rʔss9{{{ZZ99ڔRʔ9{Z{9ޔssRRʔZZ{9{Z{{9ZZ{1s99k)kR9ZZ99ZZ{{9s99ιs{{99ҭ”ڵZZ{{{99Z{9ZZ999Z{Rʵ99Z{Z{Z9{9{{9{ZZZ99{ڔZҌ)R{{{{{9Z{9Zs޽{ZZZk֜Z9ZュιιR9ZZ99999{Rʔ{{֔Ҕ{9{{ZZZ99Z{{9ZZ9{9{{9{{޽{ZュR{{{9޵9Z{{99{9sε{{Z9999Rʔ{眭ޜ{{Zڔss1ƌkRZ{ZZZ1Ɣ{Z޵sRʔZ{{{{Z9{{Z9Z{Z{{Z99{ZZ{9{9Z޽ZZ{tZ99{ZZ{Zsε999Z{{ڜιι9Z{ZZRks9{ZZ{µ֜{{{Zڵ{{{ZZZ{{Z9Z{{{{Z{{9ڵޜ{9{ZZ9{޽9{{{{sιιZ99{{999ޔRsssssΔ9{ZZιιZZ{91k{Z1Rޜ9R1{99{޵9Z{{ZZ{{{ZZZ{ZRڜZ9ZZ{9{޽9{ZsιkJ{{{{9ڵ9{999{{ڔιksZ9{991ƌڜZskιڜZ”Z{{ZZ{ڵ99ZZZ{{Rʵ{9ZZZZ9޽99RRʵ9{ZRkk”Z{{{{{{{޵ޜ{Z99Z{{9ZZ9{Z9{{sΔҵsksZ9Z{{Rʭ޽{ksΔRʌ)ڜZs9{{Z{ޔZZ99Z{{{Rs{9{Z9{9Z޽ҔsέJιRʔҵڵlµ999Z{9֔ҵ{{{{99Z{ZZ9ZZZ{sΔZ9Rʌιޜ9{{{9Rʭ19ތ)ι{{֌)ι{{1s9{9{ssZZ{{ZZ{9s1ƵZ{ZZ{ZZZ9ڜ9kJ1ƔRι1{Z{֔Z{{{{{{{{Z9ZZ{ZZZ9{{99Zֵ9{Œs{9Z{{Z99Z{{ŒsZZ1ڜZι)֜1s9{9{s1ƵZ{99Z{{Z99{ZڵֵssεZZ99{Z{1ιskRʵR1ڜ{Z{{{{{{Ҕ{{Z999Z{ZZ{99{{ZskZ{9999ZZZι{ZsJJR{Z)ι޽RR{9Z{91ƵZ99{9sュkJ999Z{9Z1ιkkιR9ι޵{ZޔsRʔ9{{֔{{{ZZZ9ZZ9{ZZ{{1kZ{ZZ{{Z{֭ιڜZsk)9ιJ9R1ڜ{{99Rs9{Z99ZRʭJ)kιιk{{{skJsZZ))J9ڔҔ99{{{{{Zޔ1111s9Z999Z99999RʌιZZ99ڜ{ҭZsk)Zlι11ƵZZZ{91{{Z9Z{{1RsειZ{{{{ι”9{{{{Jι)Jtҵ9{Z{ZZ{{{{Z{{Z9)k1{9999{9Z{99{9RʌιZ{ڜ91ƌ{9sk){ZsRʵ99޵֔{{Rs{{{Z{Z9{Z1ks9999{1Ɣ99Rk1k)ιsZ{{9Z{9{{9{{9sRŒ9Z{9Z9Z9sέιZZsޜ֭ιZ9J){Z9Rιk”9{sZZڵ99Z{{Z99{{kJsZ{{{Z9Z{ҔZZJJsZ9RʌRZZZ{{99{ZZ{{ZZ1JJι1RZ{9Z{Zι1Z{sΔ9J1sJJ1{{Z91ƌ1Rι19{Z{R11Rʔ9{ι)ֽ{9Z9sε֜ι)Jιs99s”9{{{Z9Z99Z9ZsιJJڵs1R{{ZZZ{{9sRʵZ{{{Rs{Z1k)Jιs9{{ZsιオZZRιιRʵZZ{ڵڵֵֵ֔Rιι19Z{9)ֽ{9Zs޽)JZ9ҵ9ZZ{{1”9Z9ZsJ9ޔιs9ZZ{{RRsε9{{{9Rs{9ュιR{9s1Ƶ{9ιιRssΔ9Z{{Zs1ƔZι{Z9{s9)){{޵{{{{{{­Jkޜ9{{{9sJ{{Rʌι{{9ڵsΔ9{Rʔ{99{{{9Z{Z{9ڵsR11Ɣ9{9Zsڜ{{ҭ19{9Z{sZ{1)){Z{9Rk1ƭ)ޜZ9ZR91ιڜ{ZZZڔ{{ssε9{{{{Z9Z{Z9Z9޵֔9{{99{ޔ9ZZ99{9Z91sZk9{{ZJ1ι){Z{{ιRʔҵsιRZ{{{{Z޵9{sΔZ{Z{{{9޵֔ZZZ{Rޜ{skkJR{Z9ZZZtZιk޽ZZ{ZRJZ{֌JR9{{Z9kJ{1ι{{{{{9ڵ{sΔ{{Z99{{{{ޔsR1RZ{{­1޵sksΜZ9Z{Z9Z1{J)R{{9ZZk9{RJk1ޜ{ڔҔk)Zオ9{Z{{RʔZZҔ9{9{{ڔҔڔ11ƔZ{{sΌ)JιιkRʜ{99Z{9Z{ιR{1J)99{Z9㌱J޽){9޵))Rʜ{ιオ{{ZZt{Zsڜ99Z9sε9{s11Ɣڵ֔ҔҔҵֵֵ֔J)JJιtZ9RJ1{Z{Zsڽ{ιJZ{9Z99ޭڜJ)ks9Z9{ZJڽZRʌ1ZZZ{9s{Z9޵ֵ9{{{{ڔsR1Ɣ9Zs1ι)kιRʔιsZތZ{Z9{Rιµ{{s1R{{{Z{Z{”99Rʌ)Js{{9Z)k޽ڌ{{{Z9{ZR9{Z9991kオ99sι))kιιιιtZ{Z{k99ZR1RRRRRRʔZڔҵޔҔ9{{Z{֔ҵ֔ޜZ9Zҭ)k֜991{9ks9ZZ9{{9{{Rڜ{{9{ZRZZιιs999999{J)t9Z9ڵ9ZZ{ڔZ{ڔZ9{{Z9{Ҍڜ{9{޵{sέι1sεZ9{9sZ{9Z{{R{{{{{91޽ڌJR9ޔ99sεZڔ9{{ZZZZ9ZZZZֵ{{9{sJι{99{{{ޔsRsZ{Z{{9Z{{{99{ZRJι޽{Z{{{R))Js{ZRRsޜ9ҔZs9Z{9{{{{{ZZZ9Z1)s99{Z{Z{9Z{Z9{ι19޵֔ҵֵ{{{Zk19{{{{{{{{R9{9Rk))RZ{ιޜ{֔{ҔZZ9{{{Z9{9991J)1ZޜZ{9ZZ9Zޔ9{{kιkJJ)JsZ{{9ZZҌ99Z{{s9{{{{{֭)J{91s9ڜZҔ{ޜ9{ZZ9ZZRJ)R9Z{Zڜ9{ޔҵ99s9Z))))JJJ){ZZ9Z99skJZ{{{{s{{{{{{ιJJk1RZ{ڔ9ZҔZ{޽{{{{{{9{sk)))JJJµZZ{91RsZZڔҔsι)JJkk1Ɣ1JZZZ{{{9ZZι{ޔ{{{{ιュ)s99{9Z{ZZZڵZZZҔ9{{s{ZュkkJJ)){ZZZZsRZ{1ƌkιRʵ9{9ks9{{{ZZ{ZZ{{Z{֌)ҜZ޵Z{{{9sΔιksZ{{ZZ{99{{ssZ{9Rs99ڔRk)s{{{Z9ZZZsRRʵ1s֌{9Z{{Z99ZZ991)ι{ZZ{{Z99{Z{{{ZRsΔRιsZ{9{{ڔ{Z9ssュ1{ZR9Z{sέ)){{9{Zss{Rʵ{9ޜ{{{{999{{sΌ)s9{{ZZZ99999{Z9Z{{9R1sRs9{RʵZ{֔ҵ99ZZZZ{{1ιι1Z{ڜ{9{{)Z{Zڜ99{Rʔ1RZ11Z{{{{ZZZZ{{{Z9Rʌι{{ZZ9Z9RιsڵZ{99{{1sZ9ιkkkιιι1Ɣޔι)))kt9ZZ{{1ι{Z9Z1޽ZZZڜ9Z9sιk1{Rʔ9{Z{{{{{{9֭J{{ZZ{Z{{ZRʌ9Z{{ZZ{{9sR9Zs­kJJJJJkkkkkkkJ)Jオ9Z{ZZssZ{99JRZ{99{ޜ{{Zlkksε9{s{{{{9Z{ZZ{Z֔޵R1ιJ)ιڜ{{{{{{{ZRkZ{{{{{{Z֔{sRʵ޵֔ҵޔι)))R9Z{Z91R{99{9筵Z{9Z{ޜ99ޜ9999Z99{ZsΔ{{ZZ{{{Z{s{­”9{Z9{9JZ9Z{Z9Z91s{Z{ޭk1ƔRι”9Z{Z99sRޜZ99Z{ZZZ9ޜZ9Z{99{RڽZZ{{{{{R9Z9֔99{9k֜{޵9{{{Z9Z{sΔ9ތZZs999֔ޜZ9Z{㌱JR{{{9Z9Z{999sΔZ99ZZ{{Z9Z{sRZ{Z{{999Z1Jֽޔ{{{{{Z9sޜ))sν{RZ{Z{9{){Z999{9޵s1s{Z9{{ZZ9{{sR{{{9Z{99{RJҜR1Z{{{{Z޵ֵZ{{JҜ{RRZZ{ZZZ)R{{Z֭ιڜZ9999ZZҔ9{{ZZZ9Z{sΔ{{{{99{{Z9Z{{s)R91ι1Z{{Z9{sιsZRs9{ZZkڽZ9{Jι9Z9Z{{Z{{91Ɣ{{Z9ZZZZ9ڔҵڵ֔ޜ{{޵Z{ZZ{{Z99Z{{{ktR19{{{{{ZZRsΔ11R1ƔZ{9ι{Z9999{{99Z{R)1{Z9{{{Z1ιs9{99{{{Z޵ֵ9{{{Zڔ9Z9ZZZ999999999Z{ZŒsZZZ{{{{{{1ƔڔRڜ֔9{9{R9ZZ9Z9筵kֽ{9Z{9sュڜZ9{{{{{9sZZ9ڵֵ9Z{{{ιkι1RsΔ9{{{µڵ9Z{ZZ9ι)1Z{99999Z9{J9Z{­s999{Z1ƵZ{Z{ҵ999999Z{Z{Rkss1sZ{{9ڔҔҔҵֵstZZZ{Z9{{9{kJsΜ9{99{ZZ{9kZ99sR9{ZsΔ{{{{{R{{Z9{֌1ZZs”9{{{sュιιιιι”ZZ{{9{kksZ{9ZZ9Z{ZZ9ιJs{{9{{{{Rʔڵ{sR9{{{{91ƭZ{1޽{9Zι9ZR1Z{{{{{{{{9Rsڵֵ{Z{9Z{ιµZޜ{ZZ99ZZ9k9Z9Z{9{sΔZڵZZι19{{ZRʌ{ZR19Z9Z9sڜ{Z{sΔ9Zޜ{{{9Z9ҔҵR1ƔZ{ZZ9ZZ9ZZ1JRʵ{ZZsRޔ9ZsέιsZ{{{{sΌ1ZZ119Z9{ZRιڽZڽ{99ZRʔ99{{sRsε9ޔZsΔҵ{ZZ{{{{{Z991ƭ”Z{9{{ZRRڜRʌ9{{{{{ڭι{s޽{Z{ι{{ڽ{Z9{{sZޜZ9{9sεֵssε9{{ֵZ9޵֔9{9Z{9{Z9sε99Z{Z9ZZ11{ZskZ{{{{{{{k{{{1Ɣ9{{{{{11{ڜ{{99{{1ڜ{{ュRʵ{ZZZޜ{ZڔҵZ1sε޵9{99Z999Z{Rʌ1Z{1k19{{{{9sZ{{ֵ9Z{{{Z{{{{{{{{ZRι1Z{{ZZޔ1lZ{9{9{{֔ҵ{ڵ֔Ҕҵ9{9{Zk99Ҍ9sZZZZ99{{{{{{1Ƶ{Z{Zιޜ{{{Zڔs11s9{99ޔ9{11Rʵ{{޵{{Z9{Zޭk֜{{91)J{Z{Z9Z{{Z{{Z9{{ZsΔZ9{Z){{{{ZZ9ZZZ99{ZZZZZ{Z{{ֵ{Z޵R1ƽZ999{9{99{sJι{ιڜ{sJk1ƔҔRR1s{Z9Z{{Z{{s9ZZ{ڌJZ{9999{99999{{Zڵ9޽{{{ZZ{Z99ZZ99JsZ{ZJ1Z{{kkRʵڵ֔RR9{{9Z{{99{Rڜ{9{)ιZ99Z{{Z9Z{99{ڔ9޵ֵ޵ֵZ{{{9Z{9{ZZ9{RJιZ{Z眭ޜ{{ZssRs9{{{9s޽{{{ZZ99ZZssZ{Z9{{{{{Z)9Z{9ZZ99{ZҵZ{9ڵ֔ҔҔҵ{{Z99Z999{Jk{{ZsJs{{{{Z9{Z99{ιֽ{{Z{99{R޽{Z9{{Z{{{Z)ksZ{{9Z{9{ڔޜ{Z9Z{{޵sεZZ999ZZ{Z{9RkڜZ֌ιZ{ZZ{{{{{9{{Z{ιֽ{Z{Z99{s{{99ZZ99Z{{{9RJJR{Z9{9ڵֵֵsε{Zڵ99ZZ{{s1{Z99{ZZZڵֵֵ9{{)”{Zs)ZZ9{{9ZZ9Z{{{ڽ{9ZZ9{9{Z9{9){{{{9Z{sssssε99{9ڵڵRsޜZ9Z{{ZZ{{1ƔZ9{{Z9{{9Z{k)JιRʔ1ƌJZ{{91k)9ZZZ{99ZZZ11{{Z999Z{ZZZ{{Z999{99{{)ޜ{Z999Z9{{sΔ999{ZZ{Rιιsεs1R{{{{99{{Z9{9RsZZ9{{֌1ιk)JRޜ{{{sΌ)9{99Z{{ڔ­{{ZZ{{999ZZZ{{ZZ99{{99Z{{{{Z99Z{RJkޜ{99ZZ{Z9{{9999Z{{sR{{9Z{{ZZZZ1JZRs9Z{{{{9Ҕ99Z9㭵){{RRZ{{Z9{{sΌ)ZZZZ޵ֵ޵1kkֽZ9{ZZ{99{{Z{Z999Z9Z{{J)999Z{ZZ9޵9{99{{Z9޵1s{{ڵ֔ҵ9RJZ{ڔҵ999Z{9{ڔRʔڔڜ9ڵZ{{9Zs)Z{ZZZ9{{9skJ1{ZޔsZZ޵ֵ99ҌRʜ9{Z{{9{{{{99ZZ99ZZZ{{{{ι)sZ{Z{Z޵֔sZ{9{{1ƌJRZ{{{ZsΔҵZZkZZZ{9{ιkk”ҔRZ{9s1ƔҵZ9筵)ZZ{Z9{ZRι9{{ޔsε99Z{{99Z1Ɯ{9{ZZ{{ZZ9Z{{{{{{֭)9Z{9R99­Rʵ{{9Z{ZZ9sΌ1Z9{99ZZ댱ιJ)ιRι֜91ιιk1{)kڽ{{Z99{{{{99ZZkks9ZZޔҵ{{ZZZ{91Z9ֵ9{Z9{{{Z{{ιJオZ9RιR9sZ{99Z{{{Zュ֜{ZZ91ks1k{{9Rʭ))kι1ޜZ)Z{ZZ{{ZZZ{{ֵ{ιk1Z{{Z޵֔Z{R)޽{99{{{999Zkޜιޜµ֜{ZZ{9Rʭ1999{Z{9­ҵkR1ƭJ)Jsڵ֔ҵ޵RsJkҽZ9{{{9ڔҵ9ޔRʵ9Z{9ڔҔZ{ZZZ9֭ZZ{9Z{{{ZZZZ­1{9ιsZµֽZ9Z{{ι޽ZZ{ιRޔιkJ)JιRZ{1{s)9{{Z99ڔssε9Z{9֔ҵZ{{ZZZ9ڔssε9ι9{{9Z{99{Z{{ZZ{1ιs9{{{{{ZR޽オ֜{Z99{{{{ZιkR999{{91オ޵1R9{{{{sιt99){{{{{9Z{9Ҕ9{{{Z999999޵1ιks޵R{Z{{Z9Z{9{{{ZZZZ9Z{99{{sR1R9{{{{Zι{ι{{{{{sΌJs{{Z{Z{1Ɣ9{{{{{Z9Z9ιss)kֽZ9Z{s{{ZZZ{{{RsΔsι)ι֜{Z9{Z9Z{{99Z9ZZZֵZ{{{{Zιޜ9ιZ{1ƌkι9{9Z{Z9ڵ{{{{1ιュ)9ZZ{Ҕ{9{{֭)))kֽ{{{99{{99{99{{ֵ9{91kssέ19{9ιsZ{9Z{9ZZ{9Z{{{RιҜ{{Z޵{{ҔZ{{ZsΌ))sΜZ9{ZZZZ{Z{9{Z{{9{֭))ιι֜911Ɣ{{Z9Z{Z9{ZZ9{{{{ڔ1޽{{Z9ڔZ{sZ9{9sJR{{޵9ZZ9{9Z9ޜZZ{Z9ZZZZ99{{9ޔJJ1{9ڔҵZZ9{{9Z{{Zs9{{{{޵119{{ڔҔ{1ڜ9ڵ9{{{JksZ{9ҵ9{Z9{{9ZZڵZ99{{Z9ZZ9999ZZRʌιR{ZZZ{Z{ZZZZZZZ99Z{{9RRZ{{9Z{{ZR{{{ssε9{1s{9֔9{ZZRsZZ9Z{{99Zޜ{ZZ{Z9{{{{ιs9Z99ZZ99ZZ{ZZ999{{Z9Z{s1{{Z9Z{ZZZ{Z”Ҝ{R”Z{Z11ZZޔҔ{s)sΜRR999{Z9Z{Zs9{9޵֔ҵZ{9{{1sZ{99Z999ޔ{Z99Z1ڜ{9Z{99{{R޽ι{ZR9R1Ɣ{1{ュҜZ9{Z9ZRʵZ9Rs{Z{9Z{9{Z9Z{{Z9ZZ֔Z{99{RʔZ9ֵ{{Z9sޜ{9lZZޔҵsιs99Zkι޽ZZ{9sµ9JJJ1{Z{ZZ{99{{{{{{{sڜ{ZZ{{Zڵ9ZҔ{Zs{{{99Z޵{{ZJs9{{ュkkR9Z9ιZJ19Z{Z1ιRsι)kιιkksZZ{Z9{9ZsΔZ{֔ssΔ9{Rʵss9{{{Z99Z{{{{{{{{sJ9{9sέJ))kιs{{9ι9ڭkR9{99sιRʭZZ9Z9{9{RZ9RR{s1sΔsεZZڵֵZ{Z{{{9ZZZZ{{ι1Z9k))ZZZڜZR)kޜZ{{k)sZ{Zҭι99999{Z9ZҔZ{{Z1Ɯ{ュRZZ99ZZڵ9999Z{Z1{ZJ)ιޜZZ{ZR)19Z))ιޜZ{ޜ9s1ƵZ9Z{9999޵Rʵ{{9Z{9ZJR9Z{Z{Z9Z{9sޜZs{{{Z֔sJ)ڜZ9{{s)ι{{{{9sJJ1Z{{ڭ1{{֔ҵZ{Z{Z9sΔ1sZ{{Z9ZZZZks9ZZ{Z{ss9ZҔ999猱J1{9Z{{9R)Jt9Z{{9)ιڵֵ{J޽{{999Z{Z{{ZRRڜ{Rڜ{{99ュ9ZZ{ZZ9RڜZֵZ{ޜ))ι9Z9{Z9{{{{{{Z)ιڵZ{R)ҔҔ{{s1{{{Z{Z{9{{RRZ99Z{{{RZ{{{{{9Zޔ11ƵZ{{{ZsΔZ{9{9Z)JҜ9Z9Z{{{{9{9Z9)1ƔZ{1k{9{{{9{{ڽ{9ֵ9ZZZZZZ{Zsڽ{Z9{Z{ֵڵֵZ{{{91s9{{{{{99Z{{9ιkֽZ9{9Z{19Z{{ҌJµ9{9ι9{9Z{{99{µ֜{Zs99Z9999Z{RZ{9{ZZ99ڵZ{{ZZ9޵sι111RʵZ{9ڵZ9{{Z{Z))1{{9Z{Rι{{1kJ19Z{JZ{{{{{{{{{{{ZZ{オ֜sZZRڜ{Z{{ZZZZ9޵{{{ڵֵ֔ҔssssJ))sZ{Z޵{Z{ZZ{)ޜZ9Z{{Z9ޔҔ{skֽZssRʌJ19ZZZ{ZR1Z{{{{ZZ{µֽRR{RZ{Z9{Z{{99{Z9sRRssΔҵ9Z9ڵRʌs{9޵9{{{Z)JRZ{Z999999ޔsZsΜZRR99sJ{{ZZ{911Z{{{9{{ڽsΔZ{Zsオ֜{{Z{{Z{ZZRʵ9ZZ{{ZsΌڜ{9{{ڔ9J)Z{{9sεs1Z{1”{J{ZZ{ZRRZ{Z9޵9ڽޔZ99Z19{{99{Zs99­Z9Z9{9k)1ZZss9{Zι)tҔR1sZڌ9{9{Z{{RR{Z1RZ{{Z9Z{オ{Z{Z9{{sオ{{{{99ι֜{Rι{ZޔsΔ{{99猱JRZ{ssεֵ1ƭJ1RʔZ91ι1ƔZZ9{{1ҽڭ9{Z9ڵֵZ{{Zs޽9Z19{{Z{9֭ڽ{Rڜ{Zsιt{9{Z9k)JZ9999999ZZZ9ޔŒ)kµ9{ҔҵsΔֵZ{{9kk1ZZZ{99{ޭRZ{Zޔ1ιι֜9991ƭ{{{Z{99Z9ҭڽs{Zڵ1ƌι99{ޔR1ιJ)k֜ZZZ1)9Z޵Z{{޵{眭J1{{Z9{{ZZ֭Ҝιڜ9Z{ιι޽{{99{{޵9­ڽ{s1Z{{Z{{kֽ9{J)))JJJ1ZZ99ZZZZ9RJRʜ{{{{{{{޵{޵9{ιZs)1{{9{{{ιڽ{sJkュ99{ZsΌs{{ZR199{޵9{ZJڜZsΔZ{{{{ZskҜ{sΔڔҭ)1sRιι֜{91JRʜ{{{{ZZZ9Z޵{ڌZ9Js{9Z{ZRkR)s9ιZ{{{{{9Rιs9{{ޔkJt9sڜ{{{{{sJҜZRιk)ιZZڔs191kZ{ZZ{{{99{Z޵֔Z{J1{kk{{޵Z{19Z{1kڽ91t99Z{{9ιZ{RʌJιs9{ڔ{{ZZZ{RJֽ{9Œޜ1ιR9{֭kڽ{ZZZ{{ZZ{ZڔҔZ{Zs)1ƜkJ{{ֵ{1{ZsRʵ9{Zҭ)sΔZ{{{{{{Z9Z{ޭZZ{1kkRZ999Œڽ{{Z޵֔9ҭ1Ƶ99Z{Z1{{ZZ{{ZZ{9Z{{ZZZZ9s1{))R9{Zҵ{ι9{{k)ιڽҵ9{99{ZιR{Z{sJJs{ZZZ9Z99{{޽{{{{ZZ9ZRʌ))kRʵ9ڌιZ{{{9ޜZZZZ9Z{9ZJZ{Z1ƌ)sεZsε{JµZ{Z99ZZskڽZ֔9Z{s{{ތ)1Z{{99{9ZsR޽{{{{{ZZZ1ュkJ)ιڜJ)19{{{9ޜZ99s1RZ{Z9ڵsJ9{Z1ιJJ{{1Ɣ99{{{ZڭZ99Z{ZҭڽZR{{{ιR9{9)999{9ZZZ{ޔҵ{{Z{{{Z{9ڵs1ι)ιZ1)Z9ZZZZ9ss9{{9ڵs)11ιιι{sιkk1Ƶ9{l1ƔsRRRsεֵֵ֔sιk֜{999999{{ι޽ss{{Z99ZZ99Rʌ1{{1J99{{{9{ZZZZ{ڔ9{{Z99{{{{{ι)ҜιιJ)ksεڵs­kkRs1ι))JsZ{ڔkJιsJJ1Ɣҵ֔RιkJJ))JRZ{{ZZZZ99{ޭ޽Rs{{9{{{Zι9{{{{)Jֽ{99Z99{ZZZ{9ڔZ{9Z{{{{{{Z{Z1)R{k)k)J1ssRιkkι11ιkJιιιιιιιkkRZZ{ZRʭιュJJJ)k1Z{{Z޵sR111ZZڵֵ9{ZZ{99ڭ)ιZsµZ{ZڔҔҵZZޔ{{֭Z޵)JR{Z9ڵֵ9{9{{ڵ֔ҵֵڵ9{{{Z{{{9RkR{{sk)オsι1Z{{Zޔ1R991t99Z99sΔ9{9s­ιR{91sRRRsssΔ9Z{{9Zڭ)JsZ{ڔsΔҵ֔Ҕ{sιҜJ))1ZZRsZ{9{Z99999999Z{{{Z99999sέR{ZR{Z֔ZZZZ1ZZ{{{ZZ{{)R޵Rs9Z9{ڌ))ι9Zsڜ{99ޔҔҵ{91)kkJ޽9R{Z9{99ZZ{{ZZZ99ZZZ{{{1Zތ)19Z99{{9{9Rιs9{{{{{{{ι)))ιsRZ99sk))J99ι1{9Z9Z{{119ιsRιRZ9R{{9{{Z{{{{{Z9Z{9R19{R)kssΔ9ZZZZڭڜ{{9Z{{{9k1ιJ)JιRsι”Z{9{{sΌ))kιιιZ{{{ZZ99{{9R{9sµ֜{{{{sΜZZ{{{{{Z{99{9R199)R9ZZ{{99Z9Jι{Z{{ޭJ֜9sέJJµs”9{9ZҌ)))JsZ{ZZZ99{{ޔޜ{Rs9ZsµֽZ9{{Z99{{{ZZ{9{{1sZksε֭ZZ{{ZZ{{ڌ1Z{Z{9999ZkZRʭ{RRZZ9{k)ιR{{{{{99{Z{ZZsڵs{9{{Z{{ZZ{{Z99{ZZ{Z9sεZZ1JJιZZZ99)J{{{{{s1111s9Z{ZsΜ91ڽ91ƵZιιZ99{{{{Z9{{{Z99Z{{{{9{޵9ZZ{{9{{999Z9޵ZZ9ι))sιkRʵڔJJ1ZZ9ssR1ュkJJJJJkιιJ)J֭ҜZRsޜιRZ9ڔ9{޵9{ޜ{ޜZ9{Z9{9ZRʔ9ZZ9999ZZ9Z{{{s))kιJ))))JJJJJJJJ)))JJJޜ{{Z9ZZ{{91ƭkkkkJ))))1ZޭRʜޜ{Rオ{{Z{{ZsΔ{Z99{9Z{1sZ{{Z{{9Z{99Z{ZZ{Ҍ))))))J)))JktҔιJι{9ڔҔ9{Z9{9ssεڔ­)Jֽ㭵Rʜ9R{{{{Z{{Rµ֜99{9999Z991R9Z9991ιk))))JRι)))))))Js{Jڜ{”9ZZ9ZZ{Z{ZZZι㭵RʜZZ9s1Z{Z9ZιR{ \ No newline at end of file diff --git a/examples/loading/filesystem_simple_model/graphics/texture.grit b/examples/loading/filesystem_simple_model/graphics/texture.grit new file mode 100644 index 0000000..207c056 --- /dev/null +++ b/examples/loading/filesystem_simple_model/graphics/texture.grit @@ -0,0 +1,2 @@ +# 16 bit texture bitmap, force alpha bit to 1 +-gx -gb -gB16 -gT! diff --git a/examples/loading/filesystem_simple_model/graphics/texture.png b/examples/loading/filesystem_simple_model/graphics/texture.png new file mode 100644 index 0000000..eafd9fa Binary files /dev/null and b/examples/loading/filesystem_simple_model/graphics/texture.png differ diff --git a/examples/loading/filesystem_simple_model/nitrofiles/texture.h b/examples/loading/filesystem_simple_model/nitrofiles/texture.h new file mode 100644 index 0000000..274b729 --- /dev/null +++ b/examples/loading/filesystem_simple_model/nitrofiles/texture.h @@ -0,0 +1,25 @@ + +//{{BLOCK(texture) + +//====================================================================== +// +// texture, 256x256@16, +// Alphabit on. +// + bitmap not compressed +// Total size: 131072 = 131072 +// +// Time-stamp: 2024-01-27, 18:13:28 +// Exported by Cearn's GBA Image Transmogrifier, v0.9.2 +// ( http://www.coranac.com/projects/#grit ) +// +//====================================================================== + +#ifndef GRIT_TEXTURE_H +#define GRIT_TEXTURE_H + +#define textureBitmapLen 131072 +extern const unsigned int textureBitmap[32768]; + +#endif // GRIT_TEXTURE_H + +//}}BLOCK(texture) diff --git a/examples/effects/shading_alpha_outlining/data/teapot_tex.bin b/examples/loading/filesystem_simple_model/nitrofiles/texture.img.bin similarity index 100% rename from examples/effects/shading_alpha_outlining/data/teapot_tex.bin rename to examples/loading/filesystem_simple_model/nitrofiles/texture.img.bin diff --git a/examples/loading/filesystem_simple_model/nitrofiles/texture_tex.bin b/examples/loading/filesystem_simple_model/nitrofiles/texture_tex.bin deleted file mode 100644 index 7c633ea..0000000 --- a/examples/loading/filesystem_simple_model/nitrofiles/texture_tex.bin +++ /dev/null @@ -1 +0,0 @@ -9{)1R1R{{{ڭs{Z9ZZZ9ޔҔ9s9Z{1ι޽Z­ֽ9Jڽ{ιs9{Z{{޵99RRʵ9{{Z99Z9sΔ{{9{{sR1Ƶ{ZkZ9kRsR1{{{ι֜Z9Z{9Rss9{9ڵZڭJ199ιR{{k9ιZ{Z{ZڔZ9sΔ{{ZZZ{{{Z{s1s9Z1))RʽZRRZ{Z1R{{9199{1”999{ޔ{޵ZZsΌkµ9{{ڔ99RҜZҌ{{ZZ{sZZڔZsRʔZڔҔ{{9s1s9{Z9R9JZ{9Z{{{s9{{ι1ZZ9ZZιιs9ZZZZ9ZҵZュιsΔRʔZ99kι9Z{ZRʌs9{ZZ{{sR{Z޵{9ڔҔҔZsR{{9ZZ­µZ{Z99999{{ιRZZι)k{{{{Z9޵Rι1sss1Rޜ99Z1ƔZ{{{{{{ҭҜZ9{91JιZ{{Z9999{Ҕ9{Z޵Rュ{1ZZ)kオ9ZRJZ{{Z{{9s1{Z{9ڵ֔{1R9{9Z9sΔҔRlZ{Z99999Zι1ZsJk9{s1ιJ)))JJJJJ))Jι֜9Z9s1ƵZ{{{{9sι޽99{R)ޜ{{ZZZ9{{{9ssޜ{{{{1J)ι1ιҜڭ)ڜ9)9{{Rʵ{{9{9{9ss9{1Ƶ֜99s{{sΌZ19kks{{ιιιιιιιιιュkkιJ)9Zs1ƵZ{{{{Z19{9ZZJι{Z9{ss{1J)ュR999{{Rʌ)ޭ){{ڜ{99{޵Z1Ƶ{ZsR{sRRs{{ι)11ޜތJsst999999ZZ{{{Z9999ιJιڜZ9s1s9Z{{{ZRZZ9ڭk9{Z{{{){{91)1Z)){ZֵZ{{Z9Z{ޔZ9R1ޜ9sΔ{9ss{{9RkksZ9Rޜ㌱J)9sι{9RιsεZ{9Z11s{9ιҜ{޵sΌ19{ZZZ9skJ{{99kҜJ)ιڜs{{{{{ޔҵZsZ9sε{Z999Z{Z{{kZオ֜9kkRZ{1ιsι1Z9{ZssΔ{9sέֽRRι1{Z9Z{{ZsΌJkڜ{ZZ9{Z9ڌ199sέ)Z{{R{sε99Rڜ{Rs9{ZZ{Z{{ޔιڽ{֭s{{91kޜ{1ι1ι1ޜZZZ{{9{{9Rʌ֜sRRι1ƵZZ9{9{9sΌk1Ƶsι{9{{㭵RZ{{9ZZ)J11sRޔҵZR9Z9RʵZ{{{ZZ9ZZŒڽڌ1Z{{9Rʌιޜ19Z1ιs{Z9{{9ZZ)RZZ1ι1ƔRRʔҵZ{9ZZ{9ҌJRZZRʭs9Z{{{㭵JҜ{Z9ZιRs1s{1ƵZ{ޔҵZZRʭZ{{ZRʔ999{{Z9ZZRʌҜ{{{ڌZZs1Ɣ9kRι޽91オZ{ޜ{9Z{{9Z9Ҍ)µ9{91ƭ1ƵֵRʔ{Z{{Z֭JRʜ֌sZ{{Z{kk֜999{9ss9ZsέZZ1Ƶ9ҵ9ιޜZ{ZssΔҵZZsΌ{ZsJ{Zs1ƔҔJkιk޽ιsZޜ{999ZZZ{{Z9{{99ڔsk)1ڔ{ZZZs{{ZkJsΜ{sJks9{Z{ZJι{{{9{ڌιZR1sZ9sڭ1Z{ZZ99{Z99ιJι1RRR11Rss)R991µRRRʌ)JҜιҜZ{ZZZ999Z99{{ZRZJ)s9{9{{Z9{9ss9{{{s)kZ֌)ιޜZZZޜ19{{{99{{9֭{1ƭRR”{ޭ1ZZZ{{Z9Z{{Z{ZkJkιR9sΌJιRʔҵڔιュZ֭))ιZιs{ZZ9Z{9޵ι眔ҜZsJι{Z{{ZZ991Ɣ{{ZRkRsέ{{{99sR{{99{Z9ZZ{{sιs{{kJJJҜ999ZZZZZ{{{ZZZ{{Z{ڵֵֵ{91ι1Ɣҵ9RʌkkJڽ{9ZZR1kJs9sk県֜{9ZZ{{1Ƶ֜{{ZR)k{9Z9Z{sRZZ9Z{Z9{{{ZstZZ9sέ)1ZZRʭιRʵ9{{{Z{{1Rޜ{{{{{{1ƔZsRs{1J){sιR9{ZZ9ZZs111RʔҔJ県{{99ZZ9Rs9{RZZ{Z{sJ1Z9Z{Z9Z{Z1sZ{{ZZ{{ڭ{{ιs9ZZZ{{{k)Z{ZZ1Ɣ9ZkJ191ιZ{ZZ9999ZZRk眭{{ZZ{9{Z9{1ƵZZ)ks99Z9ZZRιs޵999{ZsΔ9{{sZ91)kJJ1Rʔ9ZZ֭)ιZ9Z{{9R1ƔZ99㌱)1ޜι{Z9ZޔRʔZZR)֜{{{9{Z99sRޜ{{{{kJŒ)ι1sޜZ9Z1R91Ɣ{{s{{Z99ZZZ{{1Rʵ{9)オֵJJ1sڔҭ)kRsέ)ιRʔҵ{{sιιRZZ9筵)RRι{オ{Z9ZssεZ9Js{{9ZZ9sεZ{Z999{{s)ޔιJJRZ{1{RZ1Ƶ{ZZZ99Z91kR{ތ֜RlJkι)sZ9JRޔҔޜ{9ι)Jڽ{޽9筵kt9オ{{Z9Z9ޜkι{ZZZ9{ڵZ{ZZ99Z{ڭkZ91lҜR19ZR޽µ{{{ZZ{{{{R1R1ュ1{ZR)9{Z9޵sRJ9Zk{9sڜ{JJ1{޽㌱9ZιR{オ{Z{ZJZ{{9Z99Z{ڵZιZ9ޔR޽{1Zt{ZR{{ZZ{{{9Ҕ91ιRڔҭ19{ZZ{9R1s{9ŒZ֔ޜ㭵)ι9{޽ڌ9RιµZ{オ{{{{9ZJ{{9{Z9{Z{{{{{11ƵZ1J1Z{91sZZRʌ9R919{{{{{s{R1RJsεֵ9{ZZ{{{{9sέRڵ9Z{Z޽kZ9sιRZ޽Z{{ZιksZ{{{9{Z9{{ZڔR­ι1J)Z{{ޔҵ99֭ڽsΔ9Rt{{{{Zڵ99sι)J”9{{ュRʵ9{{RZڽRk1{ZRR{ιsZZZ{{{ҌZ{{{Z9Z9{{ZڵޔJZ{{{Z9{{Z)sZZֵZs1Z{{Z9ZZ1ƌsZ99{{ZJs9{{{{{9Rڽ1ksΜZRR99{ޜ999ZRʌ{{{Z9ZZ{9RsZ{Zι))RZZ999Z{ZZ1Jオֵ֔ҵ{1s{{{9Z99{Z9Z9Rt{{9Z{{9ι)RZJJ1Ɣ1ιֽ{{JҜ9Rڽ{R99Z{ޜι{{{Z{99Z{{{sRʵZ{1)Jιs99Z{9ڵֵsιRʔ{RRʔ9{{{Z9Z9Z99{ZZ1RZ9Z{{{{{Z99{ڌJZιιJ)1{Z㭵JڽιҜ{RZ{9ιR9Z9{Z9{{Z{{{{sR{)s9Z{{Z9991ƭιR{Z޵޵sΔ9Z99{9Z99{{{9RʔZ99Z{{99Z{ZRkk{ZڵֵRJksJkιҜZ1Z99ZZޜ91オ{{Z{9ZZ{{RRʔ{ޭ1ƔZ{1ιι1ڵZ{9RsZ{9ҵZ99{{{9֔9{{99ZZZ9sΌ޽99Z91))Z)k9Zsιڽ91ZZڜ999Z{Rs9{J)s{{޵1ƭ1{Zsέs{9ҵZ{9{{{9999{{ZZ{{Z99֭{㌱Z)J{19ιR{Zޜ99ZֵZ{Rs{{9RkRʵ{Z9{9sΌ9{s)Z{ڔ{{99Z{{Z{{9999Zιk9Z{sJsJJ{{Z9ڜ㭵Rʜ99{R{ZZ{{{ҔZ9RR{{{99Z{{9ZZ1ZZι)Z9{Z{{ZZ{ZZ9kֽZ9{ι)k)޽{sR1ιt{㭵RʜZZ19{{{Zss{{Z9ޔlsss1ƭ)JsΜ{99{9{{R{)kֽ{9{9Z{{9{{1ƌҜZ9Z{91)k)s9RιιR{㭵sΜ9ZZsιι{{RR99Rl))kk)JιRs1ƌJR{9{R1s{{ι{{1)9Z9Z99Z{9޵֔sεZZsέsZ9{{{㌱9筵kι1sεZڭsΜZ9Rk99RڽJ)Jkkιιιs1ƌ19{9ZRk))))9Z9{{JR{kJRʜZ9Z99Z{9޵sRRʔ{9sR{{{9Z{JRJ)1sΔ999ZZ{ZsιֽZιkҜ{{RZ{RJ)ιRʔڵ99{9sR{Z{{J)ι))ҜZ9Z{ZRJJ1{)k֜Z9ZZZ{{{{{{Zss9Z{{9s1Ƶ99{{9ZZ1)Z9)))))Jιs9ZZsι1Z{sJZ{1オ{9ι)ι{{{ZZ{ssε{Zڵ)JZι)ιZ99{{ҭ)9{{kJRZZ{ڵZ{Z{{{{{sRsΔҵֵsR1µ999{{{J)9Zڌ)kkJJJJJJJ)JJkιι1ޜ9{kι{Z9㌱)sΜ{{ZsZ{{9ޔҌJ9֌)R{{99ZZҭ֜Z{Z1J{9Z9{{{ZR11ιιs{Z{{kk99)s޵s11RRR1ュkι1s{ڵ9ZZZ99ZZkι{9ssΔk)ҽZ{ZZ99ڵ99lֽ{1)kڜ{Z9Z{ιsZ{Z{1kιڜ{99{{{ڵ֔sR1Rʔҵֵ{{Z{Z֌)91JιZ{{{{{{{ZRʵ9RZ{{{Z9999Z{ZsJZ9ュ))ڽ{{{Z999ZZZ9Z{ޜsιҜޭι99Z{)JRZZ{{{1k1Z9ZZZZ{9ZZ9{֔ҵZ{9sJ)J{Z9sΌ1Ɣ99{Z{R{{9RʌksΜ{Œ)k{Z{Z9Z{{Z{9k)ιZs眭޽{Z{ޭڜ{{{޵9{Z9{{Z{{{{Z9{{9s11Ƶ9Z{{JJι­{{sΔsΔ999{9Z99999ڔZ{k19{{1ƭR{Z9Z9{9ZZsι֜{))sZZ19Z{RkRZZ{9ssεZ{Z9999Z99ڵֵ99ڔRʵZ{ZZ{{J)Z9{R{99{9Z9{Z9ZZ999Z9sιµZ{{9ֵ99Z{9{Zι1{J19㌱9Z9ιZZ{{s111RʵZZ{{Zڵ֔ҵ9{Zڵ֔Z{ZZ{9֔Z{Z{{1J޽{Zss{9ZZ9ZZZ{9ZZ{{{9Z999ss9{{99ZZ9{޽9ZkZ))s{{ZZsΔҔZZZ9­kιsZZ޵R1R9Z9{{Z{sRޜ{999ιk){{{sε֜9ZZ9Z{99ZZZ9Ҕ9{9Rs{{9Z9Z{1ιk9ZR޽99Z޵9ޔޜ{{֔Rl”ڵ֔ssΔZ{ZZZZ{1ιR{Z9Rk))ιZ9{{R{9{Z9Zs{ZZ99{sޜZRʔ9Z{99Z9{sι֜R)1޵ֵ9ιZZ9Z{{{9Z{ڵ9ZZ99{{Z1ιι1sZ{Z{{{9Zkkµ9Z99ZZ9Z{9R9Z9{9{ZRsZZ99Ҕ9ZssRRRRʔ{{{{99Z919{֌s9Z9ڵֵڵ)ι9Z{Z9999ҵZ9{{9ZsR1RʔZ{{Z9{{֔sι))Rュ)ڜ9Z{sΔZ{9Z{9Z99Zֵ9{s9R11RsRsZ{{ZZ{{{Zڜ9Z{ZZRιR޵k)Z{Z99ι199Z{{{ZZ{{ޔ{9{9Z{Z99Z99Zҵsέ)J)){{9{{s9{99{{9{{99{Z9{ZsZ9ڔ{ZZ{{{{9Zҵڵ{1ιk)){{{{R{9Z{9{{ڵ{{{{9Z{9{{{ZZZ{{99sΔڵsJ))kR9Z9ZҔ9Z99ZZ9Z{{99Z{{ڵZ{{{޵Z9Z91”9))ιsε9{{sޜ9{9ֵZ{Z9ZZ9Z{ZZ{ZZRRʔ99ҌRssεZZ9ҵ{޵Z{99999{{9999{{{{{{Z֔99ZZJRsι{{ҭ9Z9Z{Z{֔Z{9{ޔ޵֔sΔҵڵ9Z{{{{{{{{{{99Rι1ޜ91ƌsZ{ZZZZޜڔZ{99Z{99{Z9{Zs9{{{{{{{{{91޽Z9{1)9ZRs9{9ZZ{ֵ{99{ZZZsRRRsZ9ڵ9Z9{Zskι޽91{ZZZ9{Zֵ{{99{ZZZ9Z9sR{{991Ɣ{{9)JRRZ9{Z9{Z{ֵ{Z99{{{{9{9޵Zޔ{{9ڵ{{s)k9R9ZZ9Z{{ҵ{Z99ZZ{9ZZ1ι1Ƶ{{{{9RR9{99ι)1R1999Z{ڔ9{{{{{{{Z֔{{޵9Z{{{)ュ{{{ZZ{{{ҵ{{99Z9{{9ZZ9Z{ss{{{R19Z9ιιR9Z{ڔZ{{s{{{Z޽9ֵZ{ZZ9RkJs9Z{{Z{{{{ֵZZ99{9{Z9999Z999ޔҵZ{{{Z19Z9ZRZ{Z{ZR{9{{sޜ{{9޽9ڵ9{ZZڔ)ιڵֵZ{Z{Z{{ZZ9Z9Z{9{Z9{{9{ZZ9s9{{{{{{9sέs{9Z999ZR{99{Zs{{ڜ9ڵ9{Z{9Zs{Z{{{{Z{Z{{{9{{99{{{{{9Z{9Z9Z99s޽{{Zޔιιڽ9Z9ZZ9{1オ9Z{ZZ{{9s9{Zޔҵ9Z{{9sssε{{ޜ{Z{9kZ9{9Z{{{999{{ZZ99Z9Z{99{9{{99{9sε֜{ڔs1ュιsZ9ZZ9Z{tZ{Z9Z{9sZ{sε9{9s11{ޜ{{Z{9{ޔ{Z{9{{{{9ZZ99Z{{ڔҵZ99{{Z{s9{{Z9޵sュkι1Z99{{{{{{9{{sZZ{ss{{9ڔҵZ{{{{9Rι޽{{99ZڭR{ZZRڽ{Zֵ{{{޵9Z{{1Ƶ{{99Z{Z999ZRʔZZ9ڵsR1ιι1ƔҵZ{999999Z{9Z99R{Z{{{s{Z{1ksΜ{{{{99{{11RJs{ZZ{Rs{{{Z{{Z{s{ZZڽZ9999{{9Z{RsΔҔsRʔsRʔZ{{{99{1ιڽ{{{Z֔9Z9Z{ZҭRZ{Z99999J)R9ZZ{R1{Z{Z{{R9R1{{Z9{{s1Rʵ9Z99ZZ{Z{RιR9{ZZZޔڜ{ZZ{Z{R9{{{{{{ZRʌk1RR11Z1ޜ{Z{{{9sڜZڔҔZZ9{9ZZZZ9{99Zޔιs99ֵ9{Z9Z1ƵZ{{)ι9{{{Z1ޜ{{9{{{Z{{Z9ZZ{{{{Zssε9{9Z{{޵1ƌsZ{{{9{99{9Zιs9ڭJ֜޽sZ{9{ZsιR9{9ZZ9{{Z{{ZZZ11s{{9޵֔Ҕҵs1ιJk{99{ssΔҵ9Z{9{{sJ)ι{9Rsڵ֌JڜZιR9tҜ1µ9Z9{֔sR11RʔZ{{{ZZZ9Z{11Ɣ{9sRュJJ)J{{{Ҕڔss99{{{{ڭJJ)RRRʔ9Z{9JkJ)1Ɣҵ֔ss1ƭ{{sZ{RʵZ{Z9{9999ڵssε9{{ZZ911Ƶ9{{{{ҭJkιR޽{9Z9ڵ{Zڵ֔ҔsRRs9{{{{ZR)sΔ)J11))JJJJ))ޜ{Z9ιsZ{sZ999{{ZZ{Z{9Z9ڵZ{Z9Z11Ƶޜ{9Z9ιs99{ޜ{{{{9Z{ZZޭJs{{֭J)Jkk)RssssRsεZ{{{Z99sオ{{99Z{99999{Z9Z9ZZZZZs”{ZstZ{{ZZڔ{{ZZZs)ι{9RʵֵRιιRޔlZ{Z9999Z{9R޽Z9ZZ99Z9{{{{Z999999{Z9ZZZ{9Z1s{991ƭι{{{{Z{֔9{{{{ZҌJ11sڔҵ9ZZ{1s{{{{s{{{{{{{{Z{{99Z99{{99Z{{{{Z99ZZ91µZZ91ƭιZ{{{9{{֔Z{9Z9sέJιsڵ֔Ҕ{{ޔޜZZޔ޽{sڽ{{{{9Z{Z9Z999޵ֵֵ֔{{99Z9{9ZZt{{ZRZ{99Z{֔9{{޵91ƭtZ{ڔZ9Z9Z91ιڜ{ZZ{99{ZZZ9Z9Zޔ{{޵s1µ֜Z9{ZZ1R9{ޜ1Ɣsε֜{{Zڔ9{{ޔR9{{ZZ9Ҕ9ZZ9{Z֭{Z{{ZZZZZ{{999ڵ9{޵Z{Zڔҵs޽Z9sε{9991ƵZ{{{{{{Z9{{{{9޵֔sΔ9{{99{ZZ{1Ɣڵ{{Z{Z9ڵ)ksZZ{Z9{{ZZZ9ޜZڔҵڵ֔{ZιRZZ9{sZ{9{ZZsZ޵9{99{{Z9ZZ99Z{{{{sZ{{9Z{99{{ι1ƔZZڔҵZ{ZskZ{{ZZ9Z99Z{9{ڵ{9RڜZ9sε{Z{{9Z9ֵ9ڔ{{Z9{{{{{ZRZ{ZZZ911ƔRsZ{Z9Z{Z1ι9{{Z{{9{{99Z{{9Z{{{19Z9{{Rޜ9{ޜ99{ڔڔs9{{9֔Z޵9{ュs9ޔsΔҔҔҔҵ9999޵Z9ssZ{{Z9Z{{{{{Z{9Z9Z{Z9Z{sιҜZZZ991Z{{9ZZ9Z9s1sZsΔZZZ9)1sΔ9{991sε9Z{J{{ڵ֔ZZ9ZZZ{ZZZZZ{ZŒs9Z99Z{sR{{ޔ9ZZZ{919ZڵZ{9ZZst9{{ڽ{RsεֵֵZZZ9{ZZZZZ{9{99{sιֽZ9{֭ι9{999Z{Z9{Z9{{Z9{999R9J911Ƶ9ZZZ9{{99ZZZ{{ZZZZ9”{Z9{sι{ZZ9Z91ޜ{9Z{{9{ιZZ9sιιڽ{R)J{Z9{9Z{Z99{ZZ{ZZ{99޵ZZs9Z9ZR9{{9Z{9{{”9{Z9{{9Z{ֵRʌZZZRʌJ)k㭵))ι{{99{Z9Z{99Z{ZZZZ{99{ֵ{{9Z9ZZ9R{{޽99Z9{ss99Zs1RʵZZZ{JJJJ)))Z999999Z9J)J)1Ɯι)J))RRs99{{99999{{ZZ{Z9Z޽Z9{ZZZ9オ֜Z9Z9Z{9ڵ{{Rιι1sεֵZ9sΌ))JJJJ{Z9{{Z999{JJRkk޽1ι1s1k))RʔZ9ZZZZ99Z9ڵֵZ9Z9{Z{9{Z9{ڽZ99{Z999{{{{޵1ιι֜sk)JssΔ{ZZ{99)ksZ{sJ)ޜ{sιR9{ڭJ{Z99ZZ99Z9Z{9ڔҵ{Zֵ99{Z9{{9ZZڜZޜ9Z9{9{9{{Zsk)ιZZιZZZ{99)ks{9ι))Z֭RZ{9Z99{{ޔsεZޔZ{ZZZ9sεZ9{9{{޵9Z9{999ZJJڽ㭵Z{Z9)ks{{J)JιZιs{1Z9Z9Z{999{sΔZ{ZZ{ڵ{999{{Z9޵{9Z99Z9Z{޵ZZ9Z)9{k9{Z)ks{{{ZsΌ))kオ9{{sιֽZ1Z9{9Z{ڵֵֵZZsΔ9{Z{9{9Z999Z{{ZZ9{99{Zֵ{{9{kk19ZZJ1Z9{Zk{{{sιkJRʵ999ZZ1tҜ9Z9Z999޵ֵڔsε9ZZ{Z99{Zޜ{ZZ999{99Z{9{{Z9ޜ9ZRιRʔJ9{{ZZュ{{{Z9ҭJιRʔҵZ19{Z9{ZޜZsZ{ZZ{{Z9Z{{{{9{9ZZ9ZZZ{9{{ZZZZ{9ZZ991ιι19Ҍι99ZZZZRʌ1ZZlRʵ99ZιR{{”{9{{{91k1ZZZZZZ{{{9{{{Z9Z9{9Z{9{Z99Z99Z{9ZZ9{{999֭9Z9ZZZ9sέ޽{{Rιs{9ڭҜZ11RZ9{{{Ҍ֜{Z{{{{{{Z{{ZZZZ{{9{9{9ZZZZ{{Z{{9Z{9Z{9Rʌ1Z{{{Z{9{9Rʭڜ{Z1”9{{ιֽ{99{ιJRZ{{Z{{{{{{Z{{{{Z99{9Z{9{{{{{{9Z{99{1ƭ{{{{9Z9Rʭޜ{{R”Z9ZZ1ZZ9ZZ{JZ{{ZZZ{{{9ZZZZ9{{9{{{ޜ{{Z99999Z{ZZ{Rޜ{ZZZZsέޜ{{1オ{991Z{sZ99{Z9{sJιڜZ{Z{Rʔ9{ZZ9Z9Z{{{{{{{ZZ99{{{{ZR{Z{99ҭޜ{{{Z9{ιsΜι{99Z9ޭkҜZ{Z{11ƵZ9Z9Z{99{ޜ{Z9ι֜{{1ƵڔҔ{{sιڽt99{s)9{{{Z{Z{Z{オ{ZޜZss{ZZ{ZZ{ֵ{{Z{RZ{{ZRssRRʔ9ZZRtZZڵZιkҜZZ{Z{Z{9119Z9Zsڜ{{9{ֵZ{{s{{{{{{{{{{{{ڔRRʵڵ1ƭs{Z19{Rs{1ι1ޜ{ZZ{{{{{ZZtҜZs{{9Z{9{{ZZZ{{R1ޜ{{{Z{{9sZRkڽ9ڜ1RZR1Ɣ{{Z{{{{ZZ{{ZZ{s{Z{{{{{99{9{{ZZ9Z{{Z”{{{{{ZZR{s{9R1{R1{{1RZ{ZZ{{{{Z{Z{{1Z9Z{ιZ{{{9{{9{{9Z{{{{sιs{{{ZZZRJkֽ9s1sZ1Ɣ{{1ޜZZ{{{Z{Z999999Z{199{{ZZ{9Rk{9Z{9ZZ{99Z{{{9オ{{{Z9ZR99ι91ιιRZ{Z֔{Rޜ{Z{Z{ZZ9Z{{Z{{sオZZ{Z9999ZkR{ZZZ9999Z999Z{Z{{{{Z{{11{{{ZZZ{s9)JιュιRʵZ9Z99Z{J){{Z{Z{ZZ9{1R{{9Z99{ZZ{֌֜{9Z{9{{99Z99Z{{{{9{11{{{{{{ZZZ{9Ҕ{9)k1Z9{9{{֭Jι1Ɣ{{ZZZ{Z{9{ss9ֵ9{Z{ZRJιZ{ZZ{{ڵ9Z{ZZZ{{{9{R1Ɣ9{ZZZZRڜ9111Ɣ9ZZ{sZZ9JZZ99Z{{ZZZ{{ZZ9Z޵R1Ɣ9{ZsRޜ{Z{9J{ZZ{9ZZZ{s{{{9{ss{{{{RR{Z99R{޵lڜZ999Z{Z{{9ZZޔ1”{91R9{ZZZŒ{Z9Z{{{99{{Zڔ޽19{{{9{911{{1Z{ZZ99{RڜZ1ι{{{{9Z{9ڔ11ƵZs{Z9{ιZ{{{{Z9{9ڔs{{{{Z9{R”Z{9{ss9ZsZZ{9Z911Ɣ9オ֜ZZZ1ι{{{{Z”9{ZZ{Z9{RtZ{{ZRιڽ9s{1{{99{ZZZڔRιJJι9Zs{Z{Rιڽ{{{9{sι֜1{99ZZZ99Z{ι{Z9Z{{{֭ҜZZ֔R9ZZ9Z{ZZ{9ュk1sRsε9ZZZ9{Rι޽{{{{{9ڵ9ڭZιޜ{9޵9ZZZ{Z1ƌ1ڔҵ9ZZZ{{RZ{ޜ99sΔ{{{Z޵ZZ9{99Z99Z{Z9ZsRs1s9ZZ999Z99{9ڔҵZZZ{ڭsRʌ9޵֔ҵ9{lι1s9{{9ڽZ{9sޜ{{ڔ{Z9{{9ZZ999{{{9Z{sΔ9{ιR{{{9{{{ZZZZZ9Ҍ))ιsΔҵֵ9{R1s{{9999Z{{ZZ{9R9{s{{ZZZ{{Rʔޜ99{{ڔ9{{Z9Z{Z999ZZ9{ڵ{{ZZ{ڽ{9{{{Zڵ֔Œ1sε9{Z9{{{{{ZZZZ99ZZ9޽ZRRʔڵss{{{ZZ{{R1sεZ{{9޵9sε9{99Z{Z9Z{Z99{{{Z9{{Z{Z{Z91sZ{{{Z99֔9Z9{{ZZZZZZ{{ZZZZ{{ZRڜڜ91J)1ޜ{9Z{{Z9ssε99޵RュRssZZ99Z{9ZZ9999Z9999ZZ99Zҵ{{9{{Z9{{99{ZZ{9{{{{{Z9{9ZZ{k)Js{99{{ZZsRsε{{s11ι1Ɣ9{Z99Z{Z9Z{{ZZ{9Z޵9{{9{99{{9ZZ9{9ssZ9{99{9ι)オJҽ9Z{{99Z{{{ZZ{{9{9ޔZ{Z999Z{9{9ڜ{{{Z9Z{ZZ{11Ɣҵ֔R1Z9Z9ZZ9Z{޵֭)kޜJҽ{{Z{{{{{99ZZ{{{99{ڵZ{99{99{Z11sZZR99Z{9ZZ9{{ތ))ZRJֽ{9{{99ޜZZ9Z{ڔ9{{{9Z{{Z”9{sZZ9ZZ9Z)kkZ{)Z9{{޵Z9ZZZ99Z9RZ{{{9ZZ99RR{9sµ{{9{{9{Z9{ڌsι)Z9{{{ֵ{{Z9{ޜZ9Z{Z9RZZ99{Z9Z{{ޜ1ڜ9Z{9{9Z9{{ι1Rk9Z99sε֜{9Z{99999Z{­R9{9ҔZ9ZZZ999ZZ9{Z19Z9ZZ9{޽9Rιk)1{9Z{Zιks9Z9{9ZZ9{Z9Z֌{{ZsZ9999999{99{{{R99ZZ9Z{9{ZRk)ֽ{9sιkJJJJks9{9Z99{9{{Z{{9ιJZڔҵ9{{ޔҔ9{{99{Z9{9ZtZ9{Z9Z9{Z1Jk{kkJJkJJJZZ999ZZ99999Z{{J֜{Zsε9{9sΔ{99{9Z{9{9Rµ֜{9{{9Z9ZkιZZ9ڭ))J1kJڽ{999{9Z99{{Z99Z{1ƌR9{9sΔ9ssZ{9ZZ9{{11޽{9{9Z{ZZkZ{֌)J9{{{9JkֽZ9ZZ9Z9{Z9{Z9Z{ss9Z9ڔҵ9sΔ{Z{Z9{9Zs{{9{{999RJ1{{{kkRZkJιZZ99{{ZZ{{9{Z9{ZZZ9{9sΔ9ZZsZ{{9Z99ZR޽{9Zޔ޽Z{)sΜ9sk{ތJk1ڔs11Rʔ9{{999999{ZZZ9Z9Z99s{{99ڵ{sڜZޔsޜZ9{Z{ιs{ZZ{9ҔZZZι)ڽ{R1ιJ{Z1ƌ1sssssΔsε{99{{Z99ZZ{9ZZ99ZZZ{9ZZޔRsΔҔҵ{Zs9Z޵Z9ڔ9Zڔ1{{9{Z9{֌ZZZ99ZZZZZZ9Z{{{{ZZZ{s9Zތk֭JJ)Z{ュ1Z{{{99ZZ9{Z999Z{Z9Z{1sZZZZ{{{9Rュι1RRRsεZ{sڜ99Z9Z{9Z99199{{9Z{ι)sεֵֵֵֵֵ99ZZ{ZZ{{Z9ZsڜZRkιZ֌kR{ZRʭs{{{{ZZ{9ZZ99{{99Z9ι”9999999Z9ڔsι”ZZssΔ޵sΔ9{99{ZZZ9Z{{99{{1Ƶ{9ڵ1ƌ)J19{{ZZ{{{99ZҔ{Z޵ιJsΜޭsZZ99ι{{ZZ{{Z99Z{Z9Z99ZZ999{{1Rʔss9{{{ZZ99ڔRʔ9{Z{9ޔssRRʔZZ{9{Z{{9ZZ{1s99k)kR9ZZ99ZZ{{9s99ιs{{99ҭ”ڵZZ{{{99Z{9ZZ999Z{Rʵ99Z{Z{Z9{9{{9{ZZZ99{ڔZҌ)R{{{{{9Z{9Zs޽{ZZZk֜Z9ZュιιR9ZZ99999{Rʔ{{֔Ҕ{9{{ZZZ99Z{{9ZZ9{9{{9{{޽{ZュR{{{9޵9Z{{99{9sε{{Z9999Rʔ{眭ޜ{{Zڔss1ƌkRZ{ZZZ1Ɣ{Z޵sRʔZ{{{{Z9{{Z9Z{Z{{Z99{ZZ{9{9Z޽ZZ{tZ99{ZZ{Zsε999Z{{ڜιι9Z{ZZRks9{ZZ{µ֜{{{Zڵ{{{ZZZ{{Z9Z{{{{Z{{9ڵޜ{9{ZZ9{޽9{{{{sιιZ99{{999ޔRsssssΔ9{ZZιιZZ{91k{Z1Rޜ9R1{99{޵9Z{{ZZ{{{ZZZ{ZRڜZ9ZZ{9{޽9{ZsιkJ{{{{9ڵ9{999{{ڔιksZ9{991ƌڜZskιڜZ”Z{{ZZ{ڵ99ZZZ{{Rʵ{9ZZZZ9޽99RRʵ9{ZRkk”Z{{{{{{{޵ޜ{Z99Z{{9ZZ9{Z9{{sΔҵsksZ9Z{{Rʭ޽{ksΔRʌ)ڜZs9{{Z{ޔZZ99Z{{{Rs{9{Z9{9Z޽ҔsέJιRʔҵڵlµ999Z{9֔ҵ{{{{99Z{ZZ9ZZZ{sΔZ9Rʌιޜ9{{{9Rʭ19ތ)ι{{֌)ι{{1s9{9{ssZZ{{ZZ{9s1ƵZ{ZZ{ZZZ9ڜ9kJ1ƔRι1{Z{֔Z{{{{{{{{Z9ZZ{ZZZ9{{99Zֵ9{Œs{9Z{{Z99Z{{ŒsZZ1ڜZι)֜1s9{9{s1ƵZ{99Z{{Z99{ZڵֵssεZZ99{Z{1ιskRʵR1ڜ{Z{{{{{{Ҕ{{Z999Z{ZZ{99{{ZskZ{9999ZZZι{ZsJJR{Z)ι޽RR{9Z{91ƵZ99{9sュkJ999Z{9Z1ιkkιR9ι޵{ZޔsRʔ9{{֔{{{ZZZ9ZZ9{ZZ{{1kZ{ZZ{{Z{֭ιڜZsk)9ιJ9R1ڜ{{99Rs9{Z99ZRʭJ)kιιk{{{skJsZZ))J9ڔҔ99{{{{{Zޔ1111s9Z999Z99999RʌιZZ99ڜ{ҭZsk)Zlι11ƵZZZ{91{{Z9Z{{1RsειZ{{{{ι”9{{{{Jι)Jtҵ9{Z{ZZ{{{{Z{{Z9)k1{9999{9Z{99{9RʌιZ{ڜ91ƌ{9sk){ZsRʵ99޵֔{{Rs{{{Z{Z9{Z1ks9999{1Ɣ99Rk1k)ιsZ{{9Z{9{{9{{9sRŒ9Z{9Z9Z9sέιZZsޜ֭ιZ9J){Z9Rιk”9{sZZڵ99Z{{Z99{{kJsZ{{{Z9Z{ҔZZJJsZ9RʌRZZZ{{99{ZZ{{ZZ1JJι1RZ{9Z{Zι1Z{sΔ9J1sJJ1{{Z91ƌ1Rι19{Z{R11Rʔ9{ι)ֽ{9Z9sε֜ι)Jιs99s”9{{{Z9Z99Z9ZsιJJڵs1R{{ZZZ{{9sRʵZ{{{Rs{Z1k)Jιs9{{ZsιオZZRιιRʵZZ{ڵڵֵֵ֔Rιι19Z{9)ֽ{9Zs޽)JZ9ҵ9ZZ{{1”9Z9ZsJ9ޔιs9ZZ{{RRsε9{{{9Rs{9ュιR{9s1Ƶ{9ιιRssΔ9Z{{Zs1ƔZι{Z9{s9)){{޵{{{{{{­Jkޜ9{{{9sJ{{Rʌι{{9ڵsΔ9{Rʔ{99{{{9Z{Z{9ڵsR11Ɣ9{9Zsڜ{{ҭ19{9Z{sZ{1)){Z{9Rk1ƭ)ޜZ9ZR91ιڜ{ZZZڔ{{ssε9{{{{Z9Z{Z9Z9޵֔9{{99{ޔ9ZZ99{9Z91sZk9{{ZJ1ι){Z{{ιRʔҵsιRZ{{{{Z޵9{sΔZ{Z{{{9޵֔ZZZ{Rޜ{skkJR{Z9ZZZtZιk޽ZZ{ZRJZ{֌JR9{{Z9kJ{1ι{{{{{9ڵ{sΔ{{Z99{{{{ޔsR1RZ{{­1޵sksΜZ9Z{Z9Z1{J)R{{9ZZk9{RJk1ޜ{ڔҔk)Zオ9{Z{{RʔZZҔ9{9{{ڔҔڔ11ƔZ{{sΌ)JιιkRʜ{99Z{9Z{ιR{1J)99{Z9㌱J޽){9޵))Rʜ{ιオ{{ZZt{Zsڜ99Z9sε9{s11Ɣڵ֔ҔҔҵֵֵ֔J)JJιtZ9RJ1{Z{Zsڽ{ιJZ{9Z99ޭڜJ)ks9Z9{ZJڽZRʌ1ZZZ{9s{Z9޵ֵ9{{{{ڔsR1Ɣ9Zs1ι)kιRʔιsZތZ{Z9{Rιµ{{s1R{{{Z{Z{”99Rʌ)Js{{9Z)k޽ڌ{{{Z9{ZR9{Z9991kオ99sι))kιιιιtZ{Z{k99ZR1RRRRRRʔZڔҵޔҔ9{{Z{֔ҵ֔ޜZ9Zҭ)k֜991{9ks9ZZ9{{9{{Rڜ{{9{ZRZZιιs999999{J)t9Z9ڵ9ZZ{ڔZ{ڔZ9{{Z9{Ҍڜ{9{޵{sέι1sεZ9{9sZ{9Z{{R{{{{{91޽ڌJR9ޔ99sεZڔ9{{ZZZZ9ZZZZֵ{{9{sJι{99{{{ޔsRsZ{Z{{9Z{{{99{ZRJι޽{Z{{{R))Js{ZRRsޜ9ҔZs9Z{9{{{{{ZZZ9Z1)s99{Z{Z{9Z{Z9{ι19޵֔ҵֵ{{{Zk19{{{{{{{{R9{9Rk))RZ{ιޜ{֔{ҔZZ9{{{Z9{9991J)1ZޜZ{9ZZ9Zޔ9{{kιkJJ)JsZ{{9ZZҌ99Z{{s9{{{{{֭)J{91s9ڜZҔ{ޜ9{ZZ9ZZRJ)R9Z{Zڜ9{ޔҵ99s9Z))))JJJ){ZZ9Z99skJZ{{{{s{{{{{{ιJJk1RZ{ڔ9ZҔZ{޽{{{{{{9{sk)))JJJµZZ{91RsZZڔҔsι)JJkk1Ɣ1JZZZ{{{9ZZι{ޔ{{{{ιュ)s99{9Z{ZZZڵZZZҔ9{{s{ZュkkJJ)){ZZZZsRZ{1ƌkιRʵ9{9ks9{{{ZZ{ZZ{{Z{֌)ҜZ޵Z{{{9sΔιksZ{{ZZ{99{{ssZ{9Rs99ڔRk)s{{{Z9ZZZsRRʵ1s֌{9Z{{Z99ZZ991)ι{ZZ{{Z99{Z{{{ZRsΔRιsZ{9{{ڔ{Z9ssュ1{ZR9Z{sέ)){{9{Zss{Rʵ{9ޜ{{{{999{{sΌ)s9{{ZZZ99999{Z9Z{{9R1sRs9{RʵZ{֔ҵ99ZZZZ{{1ιι1Z{ڜ{9{{)Z{Zڜ99{Rʔ1RZ11Z{{{{ZZZZ{{{Z9Rʌι{{ZZ9Z9RιsڵZ{99{{1sZ9ιkkkιιι1Ɣޔι)))kt9ZZ{{1ι{Z9Z1޽ZZZڜ9Z9sιk1{Rʔ9{Z{{{{{{9֭J{{ZZ{Z{{ZRʌ9Z{{ZZ{{9sR9Zs­kJJJJJkkkkkkkJ)Jオ9Z{ZZssZ{99JRZ{99{ޜ{{Zlkksε9{s{{{{9Z{ZZ{Z֔޵R1ιJ)ιڜ{{{{{{{ZRkZ{{{{{{Z֔{sRʵ޵֔ҵޔι)))R9Z{Z91R{99{9筵Z{9Z{ޜ99ޜ9999Z99{ZsΔ{{ZZ{{{Z{s{­”9{Z9{9JZ9Z{Z9Z91s{Z{ޭk1ƔRι”9Z{Z99sRޜZ99Z{ZZZ9ޜZ9Z{99{RڽZZ{{{{{R9Z9֔99{9k֜{޵9{{{Z9Z{sΔ9ތZZs999֔ޜZ9Z{㌱JR{{{9Z9Z{999sΔZ99ZZ{{Z9Z{sRZ{Z{{999Z1Jֽޔ{{{{{Z9sޜ))sν{RZ{Z{9{){Z999{9޵s1s{Z9{{ZZ9{{sR{{{9Z{99{RJҜR1Z{{{{Z޵ֵZ{{JҜ{RRZZ{ZZZ)R{{Z֭ιڜZ9999ZZҔ9{{ZZZ9Z{sΔ{{{{99{{Z9Z{{s)R91ι1Z{{Z9{sιsZRs9{ZZkڽZ9{Jι9Z9Z{{Z{{91Ɣ{{Z9ZZZZ9ڔҵڵ֔ޜ{{޵Z{ZZ{{Z99Z{{{ktR19{{{{{ZZRsΔ11R1ƔZ{9ι{Z9999{{99Z{R)1{Z9{{{Z1ιs9{99{{{Z޵ֵ9{{{Zڔ9Z9ZZZ999999999Z{ZŒsZZZ{{{{{{1ƔڔRڜ֔9{9{R9ZZ9Z9筵kֽ{9Z{9sュڜZ9{{{{{9sZZ9ڵֵ9Z{{{ιkι1RsΔ9{{{µڵ9Z{ZZ9ι)1Z{99999Z9{J9Z{­s999{Z1ƵZ{Z{ҵ999999Z{Z{Rkss1sZ{{9ڔҔҔҵֵstZZZ{Z9{{9{kJsΜ9{99{ZZ{9kZ99sR9{ZsΔ{{{{{R{{Z9{֌1ZZs”9{{{sュιιιιι”ZZ{{9{kksZ{9ZZ9Z{ZZ9ιJs{{9{{{{Rʔڵ{sR9{{{{91ƭZ{1޽{9Zι9ZR1Z{{{{{{{{9Rsڵֵ{Z{9Z{ιµZޜ{ZZ99ZZ9k9Z9Z{9{sΔZڵZZι19{{ZRʌ{ZR19Z9Z9sڜ{Z{sΔ9Zޜ{{{9Z9ҔҵR1ƔZ{ZZ9ZZ9ZZ1JRʵ{ZZsRޔ9ZsέιsZ{{{{sΌ1ZZ119Z9{ZRιڽZڽ{99ZRʔ99{{sRsε9ޔZsΔҵ{ZZ{{{{{Z991ƭ”Z{9{{ZRRڜRʌ9{{{{{ڭι{s޽{Z{ι{{ڽ{Z9{{sZޜZ9{9sεֵssε9{{ֵZ9޵֔9{9Z{9{Z9sε99Z{Z9ZZ11{ZskZ{{{{{{{k{{{1Ɣ9{{{{{11{ڜ{{99{{1ڜ{{ュRʵ{ZZZޜ{ZڔҵZ1sε޵9{99Z999Z{Rʌ1Z{1k19{{{{9sZ{{ֵ9Z{{{Z{{{{{{{{ZRι1Z{{ZZޔ1lZ{9{9{{֔ҵ{ڵ֔Ҕҵ9{9{Zk99Ҍ9sZZZZ99{{{{{{1Ƶ{Z{Zιޜ{{{Zڔs11s9{99ޔ9{11Rʵ{{޵{{Z9{Zޭk֜{{91)J{Z{Z9Z{{Z{{Z9{{ZsΔZ9{Z){{{{ZZ9ZZZ99{ZZZZZ{Z{{ֵ{Z޵R1ƽZ999{9{99{sJι{ιڜ{sJk1ƔҔRR1s{Z9Z{{Z{{s9ZZ{ڌJZ{9999{99999{{Zڵ9޽{{{ZZ{Z99ZZ99JsZ{ZJ1Z{{kkRʵڵ֔RR9{{9Z{{99{Rڜ{9{)ιZ99Z{{Z9Z{99{ڔ9޵ֵ޵ֵZ{{{9Z{9{ZZ9{RJιZ{Z眭ޜ{{ZssRs9{{{9s޽{{{ZZ99ZZssZ{Z9{{{{{Z)9Z{9ZZ99{ZҵZ{9ڵ֔ҔҔҵ{{Z99Z999{Jk{{ZsJs{{{{Z9{Z99{ιֽ{{Z{99{R޽{Z9{{Z{{{Z)ksZ{{9Z{9{ڔޜ{Z9Z{{޵sεZZ999ZZ{Z{9RkڜZ֌ιZ{ZZ{{{{{9{{Z{ιֽ{Z{Z99{s{{99ZZ99Z{{{9RJJR{Z9{9ڵֵֵsε{Zڵ99ZZ{{s1{Z99{ZZZڵֵֵ9{{)”{Zs)ZZ9{{9ZZ9Z{{{ڽ{9ZZ9{9{Z9{9){{{{9Z{sssssε99{9ڵڵRsޜZ9Z{{ZZ{{1ƔZ9{{Z9{{9Z{k)JιRʔ1ƌJZ{{91k)9ZZZ{99ZZZ11{{Z999Z{ZZZ{{Z999{99{{)ޜ{Z999Z9{{sΔ999{ZZ{Rιιsεs1R{{{{99{{Z9{9RsZZ9{{֌1ιk)JRޜ{{{sΌ)9{99Z{{ڔ­{{ZZ{{999ZZZ{{ZZ99{{99Z{{{{Z99Z{RJkޜ{99ZZ{Z9{{9999Z{{sR{{9Z{{ZZZZ1JZRs9Z{{{{9Ҕ99Z9㭵){{RRZ{{Z9{{sΌ)ZZZZ޵ֵ޵1kkֽZ9{ZZ{99{{Z{Z999Z9Z{{J)999Z{ZZ9޵9{99{{Z9޵1s{{ڵ֔ҵ9RJZ{ڔҵ999Z{9{ڔRʔڔڜ9ڵZ{{9Zs)Z{ZZZ9{{9skJ1{ZޔsZZ޵ֵ99ҌRʜ9{Z{{9{{{{99ZZ99ZZZ{{{{ι)sZ{Z{Z޵֔sZ{9{{1ƌJRZ{{{ZsΔҵZZkZZZ{9{ιkk”ҔRZ{9s1ƔҵZ9筵)ZZ{Z9{ZRι9{{ޔsε99Z{{99Z1Ɯ{9{ZZ{{ZZ9Z{{{{{{֭)9Z{9R99­Rʵ{{9Z{ZZ9sΌ1Z9{99ZZ댱ιJ)ιRι֜91ιιk1{)kڽ{{Z99{{{{99ZZkks9ZZޔҵ{{ZZZ{91Z9ֵ9{Z9{{{Z{{ιJオZ9RιR9sZ{99Z{{{Zュ֜{ZZ91ks1k{{9Rʭ))kι1ޜZ)Z{ZZ{{ZZZ{{ֵ{ιk1Z{{Z޵֔Z{R)޽{99{{{999Zkޜιޜµ֜{ZZ{9Rʭ1999{Z{9­ҵkR1ƭJ)Jsڵ֔ҵ޵RsJkҽZ9{{{9ڔҵ9ޔRʵ9Z{9ڔҔZ{ZZZ9֭ZZ{9Z{{{ZZZZ­1{9ιsZµֽZ9Z{{ι޽ZZ{ιRޔιkJ)JιRZ{1{s)9{{Z99ڔssε9Z{9֔ҵZ{{ZZZ9ڔssε9ι9{{9Z{99{Z{{ZZ{1ιs9{{{{{ZR޽オ֜{Z99{{{{ZιkR999{{91オ޵1R9{{{{sιt99){{{{{9Z{9Ҕ9{{{Z999999޵1ιks޵R{Z{{Z9Z{9{{{ZZZZ9Z{99{{sR1R9{{{{Zι{ι{{{{{sΌJs{{Z{Z{1Ɣ9{{{{{Z9Z9ιss)kֽZ9Z{s{{ZZZ{{{RsΔsι)ι֜{Z9{Z9Z{{99Z9ZZZֵZ{{{{Zιޜ9ιZ{1ƌkι9{9Z{Z9ڵ{{{{1ιュ)9ZZ{Ҕ{9{{֭)))kֽ{{{99{{99{99{{ֵ9{91kssέ19{9ιsZ{9Z{9ZZ{9Z{{{RιҜ{{Z޵{{ҔZ{{ZsΌ))sΜZ9{ZZZZ{Z{9{Z{{9{֭))ιι֜911Ɣ{{Z9Z{Z9{ZZ9{{{{ڔ1޽{{Z9ڔZ{sZ9{9sJR{{޵9ZZ9{9Z9ޜZZ{Z9ZZZZ99{{9ޔJJ1{9ڔҵZZ9{{9Z{{Zs9{{{{޵119{{ڔҔ{1ڜ9ڵ9{{{JksZ{9ҵ9{Z9{{9ZZڵZ99{{Z9ZZ9999ZZRʌιR{ZZZ{Z{ZZZZZZZ99Z{{9RRZ{{9Z{{ZR{{{ssε9{1s{9֔9{ZZRsZZ9Z{{99Zޜ{ZZ{Z9{{{{ιs9Z99ZZ99ZZ{ZZ999{{Z9Z{s1{{Z9Z{ZZZ{Z”Ҝ{R”Z{Z11ZZޔҔ{s)sΜRR999{Z9Z{Zs9{9޵֔ҵZ{9{{1sZ{99Z999ޔ{Z99Z1ڜ{9Z{99{{R޽ι{ZR9R1Ɣ{1{ュҜZ9{Z9ZRʵZ9Rs{Z{9Z{9{Z9Z{{Z9ZZ֔Z{99{RʔZ9ֵ{{Z9sޜ{9lZZޔҵsιs99Zkι޽ZZ{9sµ9JJJ1{Z{ZZ{99{{{{{{{sڜ{ZZ{{Zڵ9ZҔ{Zs{{{99Z޵{{ZJs9{{ュkkR9Z9ιZJ19Z{Z1ιRsι)kιιkksZZ{Z9{9ZsΔZ{֔ssΔ9{Rʵss9{{{Z99Z{{{{{{{{sJ9{9sέJ))kιs{{9ι9ڭkR9{99sιRʭZZ9Z9{9{RZ9RR{s1sΔsεZZڵֵZ{Z{{{9ZZZZ{{ι1Z9k))ZZZڜZR)kޜZ{{k)sZ{Zҭι99999{Z9ZҔZ{{Z1Ɯ{ュRZZ99ZZڵ9999Z{Z1{ZJ)ιޜZZ{ZR)19Z))ιޜZ{ޜ9s1ƵZ9Z{9999޵Rʵ{{9Z{9ZJR9Z{Z{Z9Z{9sޜZs{{{Z֔sJ)ڜZ9{{s)ι{{{{9sJJ1Z{{ڭ1{{֔ҵZ{Z{Z9sΔ1sZ{{Z9ZZZZks9ZZ{Z{ss9ZҔ999猱J1{9Z{{9R)Jt9Z{{9)ιڵֵ{J޽{{999Z{Z{{ZRRڜ{Rڜ{{99ュ9ZZ{ZZ9RڜZֵZ{ޜ))ι9Z9{Z9{{{{{{Z)ιڵZ{R)ҔҔ{{s1{{{Z{Z{9{{RRZ99Z{{{RZ{{{{{9Zޔ11ƵZ{{{ZsΔZ{9{9Z)JҜ9Z9Z{{{{9{9Z9)1ƔZ{1k{9{{{9{{ڽ{9ֵ9ZZZZZZ{Zsڽ{Z9{Z{ֵڵֵZ{{{91s9{{{{{99Z{{9ιkֽZ9{9Z{19Z{{ҌJµ9{9ι9{9Z{{99{µ֜{Zs99Z9999Z{RZ{9{ZZ99ڵZ{{ZZ9޵sι111RʵZ{9ڵZ9{{Z{Z))1{{9Z{Rι{{1kJ19Z{JZ{{{{{{{{{{{ZZ{オ֜sZZRڜ{Z{{ZZZZ9޵{{{ڵֵ֔ҔssssJ))sZ{Z޵{Z{ZZ{)ޜZ9Z{{Z9ޔҔ{skֽZssRʌJ19ZZZ{ZR1Z{{{{ZZ{µֽRR{RZ{Z9{Z{{99{Z9sRRssΔҵ9Z9ڵRʌs{9޵9{{{Z)JRZ{Z999999ޔsZsΜZRR99sJ{{ZZ{911Z{{{9{{ڽsΔZ{Zsオ֜{{Z{{Z{ZZRʵ9ZZ{{ZsΌڜ{9{{ڔ9J)Z{{9sεs1Z{1”{J{ZZ{ZRRZ{Z9޵9ڽޔZ99Z19{{99{Zs99­Z9Z9{9k)1ZZss9{Zι)tҔR1sZڌ9{9{Z{{RR{Z1RZ{{Z9Z{オ{Z{Z9{{sオ{{{{99ι֜{Rι{ZޔsΔ{{99猱JRZ{ssεֵ1ƭJ1RʔZ91ι1ƔZZ9{{1ҽڭ9{Z9ڵֵZ{{Zs޽9Z19{{Z{9֭ڽ{Rڜ{Zsιt{9{Z9k)JZ9999999ZZZ9ޔŒ)kµ9{ҔҵsΔֵZ{{9kk1ZZZ{99{ޭRZ{Zޔ1ιι֜9991ƭ{{{Z{99Z9ҭڽs{Zڵ1ƌι99{ޔR1ιJ)k֜ZZZ1)9Z޵Z{{޵{眭J1{{Z9{{ZZ֭Ҝιڜ9Z{ιι޽{{99{{޵9­ڽ{s1Z{{Z{{kֽ9{J)))JJJ1ZZ99ZZZZ9RJRʜ{{{{{{{޵{޵9{ιZs)1{{9{{{ιڽ{sJkュ99{ZsΌs{{ZR199{޵9{ZJڜZsΔZ{{{{ZskҜ{sΔڔҭ)1sRιι֜{91JRʜ{{{{ZZZ9Z޵{ڌZ9Js{9Z{ZRkR)s9ιZ{{{{{9Rιs9{{ޔkJt9sڜ{{{{{sJҜZRιk)ιZZڔs191kZ{ZZ{{{99{Z޵֔Z{J1{kk{{޵Z{19Z{1kڽ91t99Z{{9ιZ{RʌJιs9{ڔ{{ZZZ{RJֽ{9Œޜ1ιR9{֭kڽ{ZZZ{{ZZ{ZڔҔZ{Zs)1ƜkJ{{ֵ{1{ZsRʵ9{Zҭ)sΔZ{{{{{{Z9Z{ޭZZ{1kkRZ999Œڽ{{Z޵֔9ҭ1Ƶ99Z{Z1{{ZZ{{ZZ{9Z{{ZZZZ9s1{))R9{Zҵ{ι9{{k)ιڽҵ9{99{ZιR{Z{sJJs{ZZZ9Z99{{޽{{{{ZZ9ZRʌ))kRʵ9ڌιZ{{{9ޜZZZZ9Z{9ZJZ{Z1ƌ)sεZsε{JµZ{Z99ZZskڽZ֔9Z{s{{ތ)1Z{{99{9ZsR޽{{{{{ZZZ1ュkJ)ιڜJ)19{{{9ޜZ99s1RZ{Z9ڵsJ9{Z1ιJJ{{1Ɣ99{{{ZڭZ99Z{ZҭڽZR{{{ιR9{9)999{9ZZZ{ޔҵ{{Z{{{Z{9ڵs1ι)ιZ1)Z9ZZZZ9ss9{{9ڵs)11ιιι{sιkk1Ƶ9{l1ƔsRRRsεֵֵ֔sιk֜{999999{{ι޽ss{{Z99ZZ99Rʌ1{{1J99{{{9{ZZZZ{ڔ9{{Z99{{{{{ι)ҜιιJ)ksεڵs­kkRs1ι))JsZ{ڔkJιsJJ1Ɣҵ֔RιkJJ))JRZ{{ZZZZ99{ޭ޽Rs{{9{{{Zι9{{{{)Jֽ{99Z99{ZZZ{9ڔZ{9Z{{{{{{Z{Z1)R{k)k)J1ssRιkkι11ιkJιιιιιιιkkRZZ{ZRʭιュJJJ)k1Z{{Z޵sR111ZZڵֵ9{ZZ{99ڭ)ιZsµZ{ZڔҔҵZZޔ{{֭Z޵)JR{Z9ڵֵ9{9{{ڵ֔ҵֵڵ9{{{Z{{{9RkR{{sk)オsι1Z{{Zޔ1R991t99Z99sΔ9{9s­ιR{91sRRRsssΔ9Z{{9Zڭ)JsZ{ڔsΔҵ֔Ҕ{sιҜJ))1ZZRsZ{9{Z99999999Z{{{Z99999sέR{ZR{Z֔ZZZZ1ZZ{{{ZZ{{)R޵Rs9Z9{ڌ))ι9Zsڜ{99ޔҔҵ{91)kkJ޽9R{Z9{99ZZ{{ZZZ99ZZZ{{{1Zތ)19Z99{{9{9Rιs9{{{{{{{ι)))ιsRZ99sk))J99ι1{9Z9Z{{119ιsRιRZ9R{{9{{Z{{{{{Z9Z{9R19{R)kssΔ9ZZZZڭڜ{{9Z{{{9k1ιJ)JιRsι”Z{9{{sΌ))kιιιZ{{{ZZ99{{9R{9sµ֜{{{{sΜZZ{{{{{Z{99{9R199)R9ZZ{{99Z9Jι{Z{{ޭJ֜9sέJJµs”9{9ZҌ)))JsZ{ZZZ99{{ޔޜ{Rs9ZsµֽZ9{{Z99{{{ZZ{9{{1sZksε֭ZZ{{ZZ{{ڌ1Z{Z{9999ZkZRʭ{RRZZ9{k)ιR{{{{{99{Z{ZZsڵs{9{{Z{{ZZ{{Z99{ZZ{Z9sεZZ1JJιZZZ99)J{{{{{s1111s9Z{ZsΜ91ڽ91ƵZιιZ99{{{{Z9{{{Z99Z{{{{9{޵9ZZ{{9{{999Z9޵ZZ9ι))sιkRʵڔJJ1ZZ9ssR1ュkJJJJJkιιJ)J֭ҜZRsޜιRZ9ڔ9{޵9{ޜ{ޜZ9{Z9{9ZRʔ9ZZ9999ZZ9Z{{{s))kιJ))))JJJJJJJJ)))JJJޜ{{Z9ZZ{{91ƭkkkkJ))))1ZޭRʜޜ{Rオ{{Z{{ZsΔ{Z99{9Z{1sZ{{Z{{9Z{99Z{ZZ{Ҍ))))))J)))JktҔιJι{9ڔҔ9{Z9{9ssεڔ­)Jֽ㭵Rʜ9R{{{{Z{{Rµ֜99{9999Z991R9Z9991ιk))))JRι)))))))Js{Jڜ{”9ZZ9ZZ{Z{ZZZι㭵RʜZZ9s1Z{Z9ZιR{ \ No newline at end of file diff --git a/examples/loading/filesystem_simple_model/source/main.c b/examples/loading/filesystem_simple_model/source/main.c index 6ced73e..e798128 100644 --- a/examples/loading/filesystem_simple_model/source/main.c +++ b/examples/loading/filesystem_simple_model/source/main.c @@ -62,7 +62,7 @@ int main(void) NE_ModelLoadStaticMeshFAT(Model, "robot.bin"); // Load a RGB texture from RAM and assign it to "Material". NE_MaterialTexLoadFAT(Material, NE_RGB5, 256, 256, NE_TEXGEN_TEXCOORD, - "texture_tex.bin"); + "texture.img.bin"); // Assign texture to model... NE_ModelSetMaterial(Model, Material); diff --git a/examples/loading/incomplete_texture/Makefile b/examples/loading/incomplete_texture/Makefile index 133ddc5..6a54f39 100644 --- a/examples/loading/incomplete_texture/Makefile +++ b/examples/loading/incomplete_texture/Makefile @@ -23,8 +23,8 @@ TARGET := $(shell basename $(CURDIR)) BUILD := build SOURCES := source INCLUDES := include -DATA := data -GRAPHICS := +DATA := +GRAPHICS := graphics AUDIO := ICON := diff --git a/examples/loading/incomplete_texture/Makefile.blocksds b/examples/loading/incomplete_texture/Makefile.blocksds index 626cf71..efe837e 100644 --- a/examples/loading/incomplete_texture/Makefile.blocksds +++ b/examples/loading/incomplete_texture/Makefile.blocksds @@ -1,3 +1,3 @@ -BINDIRS := data +GFXDIRS := graphics include ../../Makefile.example.blocksds diff --git a/examples/loading/incomplete_texture/assets.sh b/examples/loading/incomplete_texture/assets.sh deleted file mode 100644 index 30dfe09..0000000 --- a/examples/loading/incomplete_texture/assets.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh - -NITRO_ENGINE=$DEVKITPRO/nitro-engine -TOOLS=$NITRO_ENGINE/tools -IMG2DS=$TOOLS/img2ds/img2ds.py - -mkdir -p data - -python3 $IMG2DS \ - --input assets/a3pal32.png \ - --name a3pal32 \ - --output data \ - --format A3PAL32 - -python3 $IMG2DS \ - --input assets/pal4.png \ - --name pal4 \ - --output data \ - --format PAL4 diff --git a/examples/loading/incomplete_texture/data/a3pal32_pal.bin b/examples/loading/incomplete_texture/data/a3pal32_pal.bin deleted file mode 100644 index 9e4950a..0000000 Binary files a/examples/loading/incomplete_texture/data/a3pal32_pal.bin and /dev/null differ diff --git a/examples/loading/incomplete_texture/data/a3pal32_tex.bin b/examples/loading/incomplete_texture/data/a3pal32_tex.bin deleted file mode 100644 index 514a309..0000000 Binary files a/examples/loading/incomplete_texture/data/a3pal32_tex.bin and /dev/null differ diff --git a/examples/loading/incomplete_texture/data/pal4_pal.bin b/examples/loading/incomplete_texture/data/pal4_pal.bin deleted file mode 100644 index bd21f70..0000000 --- a/examples/loading/incomplete_texture/data/pal4_pal.bin +++ /dev/null @@ -1 +0,0 @@ -Aj\ \ No newline at end of file diff --git a/examples/loading/incomplete_texture/data/pal4_tex.bin b/examples/loading/incomplete_texture/data/pal4_tex.bin deleted file mode 100644 index 735dce0..0000000 Binary files a/examples/loading/incomplete_texture/data/pal4_tex.bin and /dev/null differ diff --git a/examples/loading/incomplete_texture/graphics/a3pal32.grit b/examples/loading/incomplete_texture/graphics/a3pal32.grit new file mode 100644 index 0000000..f453710 --- /dev/null +++ b/examples/loading/incomplete_texture/graphics/a3pal32.grit @@ -0,0 +1,2 @@ +# 3 bits of alpha, 5 bits of color index +-gx -gb -gBa3i5 -gT! diff --git a/examples/loading/incomplete_texture/assets/a3pal32.png b/examples/loading/incomplete_texture/graphics/a3pal32.png similarity index 100% rename from examples/loading/incomplete_texture/assets/a3pal32.png rename to examples/loading/incomplete_texture/graphics/a3pal32.png diff --git a/examples/loading/incomplete_texture/graphics/pal4.grit b/examples/loading/incomplete_texture/graphics/pal4.grit new file mode 100644 index 0000000..b046378 --- /dev/null +++ b/examples/loading/incomplete_texture/graphics/pal4.grit @@ -0,0 +1,2 @@ +# 4 color palette +-gx -gb -gB2 -gTFF00FF diff --git a/examples/loading/incomplete_texture/assets/pal4.png b/examples/loading/incomplete_texture/graphics/pal4.png similarity index 100% rename from examples/loading/incomplete_texture/assets/pal4.png rename to examples/loading/incomplete_texture/graphics/pal4.png diff --git a/examples/loading/incomplete_texture/source/main.c b/examples/loading/incomplete_texture/source/main.c index 42e683a..1c34fb3 100644 --- a/examples/loading/incomplete_texture/source/main.c +++ b/examples/loading/incomplete_texture/source/main.c @@ -6,10 +6,8 @@ #include -#include "a3pal32_pal_bin.h" -#include "a3pal32_tex_bin.h" -#include "pal4_pal_bin.h" -#include "pal4_tex_bin.h" +#include "a3pal32.h" +#include "pal4.h" NE_Material *Material, *Material2; NE_Palette *Palette, *Palette2; @@ -59,8 +57,8 @@ int main(void) NE_MaterialTexLoad(Material, NE_A3PAL32, // Texture type 64, 200, // Width, height (in pixels) - NE_TEXGEN_TEXCOORD, (u8 *)a3pal32_tex_bin); - NE_PaletteLoad(Palette, (u16 *)a3pal32_pal_bin, 32, NE_A3PAL32); + NE_TEXGEN_TEXCOORD, a3pal32Bitmap); + NE_PaletteLoad(Palette, a3pal32Pal, 32, NE_A3PAL32); NE_MaterialSetPalette(Material, Palette); // Allocate objects for another material @@ -68,8 +66,8 @@ int main(void) Palette2 = NE_PaletteCreate(); NE_MaterialTexLoad(Material2, NE_PAL4, 64, 100, NE_TEXGEN_TEXCOORD, - (u8 *)pal4_tex_bin); - NE_PaletteLoad(Palette2, (u16 *)pal4_pal_bin, 4, NE_PAL4); + pal4Bitmap); + NE_PaletteLoad(Palette2, pal4Pal, 4, NE_PAL4); NE_MaterialSetPalette(Material2, Palette2); while (1) diff --git a/examples/loading/model_with_vertex_color/Makefile b/examples/loading/model_with_vertex_color/Makefile index 133ddc5..6006f41 100644 --- a/examples/loading/model_with_vertex_color/Makefile +++ b/examples/loading/model_with_vertex_color/Makefile @@ -24,7 +24,7 @@ BUILD := build SOURCES := source INCLUDES := include DATA := data -GRAPHICS := +GRAPHICS := graphics AUDIO := ICON := diff --git a/examples/loading/model_with_vertex_color/Makefile.blocksds b/examples/loading/model_with_vertex_color/Makefile.blocksds index 626cf71..151bded 100644 --- a/examples/loading/model_with_vertex_color/Makefile.blocksds +++ b/examples/loading/model_with_vertex_color/Makefile.blocksds @@ -1,3 +1,4 @@ BINDIRS := data +GFXDIRS := graphics include ../../Makefile.example.blocksds diff --git a/examples/loading/model_with_vertex_color/assets.sh b/examples/loading/model_with_vertex_color/assets.sh index 241a0a9..bcd09a6 100644 --- a/examples/loading/model_with_vertex_color/assets.sh +++ b/examples/loading/model_with_vertex_color/assets.sh @@ -4,8 +4,8 @@ NITRO_ENGINE=$DEVKITPRO/nitro-engine ASSETS=$NITRO_ENGINE/examples/assets TOOLS=$NITRO_ENGINE/tools OBJ2DL=$TOOLS/obj2dl/obj2dl.py -IMG2DS=$TOOLS/img2ds/img2ds.py +rm -rf data mkdir -p data python3 $OBJ2DL \ @@ -13,9 +13,3 @@ python3 $OBJ2DL \ --output data/sphere_vertex_colors.bin \ --texture 256 256 \ --use-vertex-color - -python3 $IMG2DS \ - --input $ASSETS/teapot.png \ - --name texture \ - --output data \ - --format A1RGB5 diff --git a/examples/loading/model_with_vertex_color/data/texture_tex.bin b/examples/loading/model_with_vertex_color/data/texture_tex.bin deleted file mode 100644 index 7c633ea..0000000 --- a/examples/loading/model_with_vertex_color/data/texture_tex.bin +++ /dev/null @@ -1 +0,0 @@ -9{)1R1R{{{ڭs{Z9ZZZ9ޔҔ9s9Z{1ι޽Z­ֽ9Jڽ{ιs9{Z{{޵99RRʵ9{{Z99Z9sΔ{{9{{sR1Ƶ{ZkZ9kRsR1{{{ι֜Z9Z{9Rss9{9ڵZڭJ199ιR{{k9ιZ{Z{ZڔZ9sΔ{{ZZZ{{{Z{s1s9Z1))RʽZRRZ{Z1R{{9199{1”999{ޔ{޵ZZsΌkµ9{{ڔ99RҜZҌ{{ZZ{sZZڔZsRʔZڔҔ{{9s1s9{Z9R9JZ{9Z{{{s9{{ι1ZZ9ZZιιs9ZZZZ9ZҵZュιsΔRʔZ99kι9Z{ZRʌs9{ZZ{{sR{Z޵{9ڔҔҔZsR{{9ZZ­µZ{Z99999{{ιRZZι)k{{{{Z9޵Rι1sss1Rޜ99Z1ƔZ{{{{{{ҭҜZ9{91JιZ{{Z9999{Ҕ9{Z޵Rュ{1ZZ)kオ9ZRJZ{{Z{{9s1{Z{9ڵ֔{1R9{9Z9sΔҔRlZ{Z99999Zι1ZsJk9{s1ιJ)))JJJJJ))Jι֜9Z9s1ƵZ{{{{9sι޽99{R)ޜ{{ZZZ9{{{9ssޜ{{{{1J)ι1ιҜڭ)ڜ9)9{{Rʵ{{9{9{9ss9{1Ƶ֜99s{{sΌZ19kks{{ιιιιιιιιιュkkιJ)9Zs1ƵZ{{{{Z19{9ZZJι{Z9{ss{1J)ュR999{{Rʌ)ޭ){{ڜ{99{޵Z1Ƶ{ZsR{sRRs{{ι)11ޜތJsst999999ZZ{{{Z9999ιJιڜZ9s1s9Z{{{ZRZZ9ڭk9{Z{{{){{91)1Z)){ZֵZ{{Z9Z{ޔZ9R1ޜ9sΔ{9ss{{9RkksZ9Rޜ㌱J)9sι{9RιsεZ{9Z11s{9ιҜ{޵sΌ19{ZZZ9skJ{{99kҜJ)ιڜs{{{{{ޔҵZsZ9sε{Z999Z{Z{{kZオ֜9kkRZ{1ιsι1Z9{ZssΔ{9sέֽRRι1{Z9Z{{ZsΌJkڜ{ZZ9{Z9ڌ199sέ)Z{{R{sε99Rڜ{Rs9{ZZ{Z{{ޔιڽ{֭s{{91kޜ{1ι1ι1ޜZZZ{{9{{9Rʌ֜sRRι1ƵZZ9{9{9sΌk1Ƶsι{9{{㭵RZ{{9ZZ)J11sRޔҵZR9Z9RʵZ{{{ZZ9ZZŒڽڌ1Z{{9Rʌιޜ19Z1ιs{Z9{{9ZZ)RZZ1ι1ƔRRʔҵZ{9ZZ{9ҌJRZZRʭs9Z{{{㭵JҜ{Z9ZιRs1s{1ƵZ{ޔҵZZRʭZ{{ZRʔ999{{Z9ZZRʌҜ{{{ڌZZs1Ɣ9kRι޽91オZ{ޜ{9Z{{9Z9Ҍ)µ9{91ƭ1ƵֵRʔ{Z{{Z֭JRʜ֌sZ{{Z{kk֜999{9ss9ZsέZZ1Ƶ9ҵ9ιޜZ{ZssΔҵZZsΌ{ZsJ{Zs1ƔҔJkιk޽ιsZޜ{999ZZZ{{Z9{{99ڔsk)1ڔ{ZZZs{{ZkJsΜ{sJks9{Z{ZJι{{{9{ڌιZR1sZ9sڭ1Z{ZZ99{Z99ιJι1RRR11Rss)R991µRRRʌ)JҜιҜZ{ZZZ999Z99{{ZRZJ)s9{9{{Z9{9ss9{{{s)kZ֌)ιޜZZZޜ19{{{99{{9֭{1ƭRR”{ޭ1ZZZ{{Z9Z{{Z{ZkJkιR9sΌJιRʔҵڔιュZ֭))ιZιs{ZZ9Z{9޵ι眔ҜZsJι{Z{{ZZ991Ɣ{{ZRkRsέ{{{99sR{{99{Z9ZZ{{sιs{{kJJJҜ999ZZZZZ{{{ZZZ{{Z{ڵֵֵ{91ι1Ɣҵ9RʌkkJڽ{9ZZR1kJs9sk県֜{9ZZ{{1Ƶ֜{{ZR)k{9Z9Z{sRZZ9Z{Z9{{{ZstZZ9sέ)1ZZRʭιRʵ9{{{Z{{1Rޜ{{{{{{1ƔZsRs{1J){sιR9{ZZ9ZZs111RʔҔJ県{{99ZZ9Rs9{RZZ{Z{sJ1Z9Z{Z9Z{Z1sZ{{ZZ{{ڭ{{ιs9ZZZ{{{k)Z{ZZ1Ɣ9ZkJ191ιZ{ZZ9999ZZRk眭{{ZZ{9{Z9{1ƵZZ)ks99Z9ZZRιs޵999{ZsΔ9{{sZ91)kJJ1Rʔ9ZZ֭)ιZ9Z{{9R1ƔZ99㌱)1ޜι{Z9ZޔRʔZZR)֜{{{9{Z99sRޜ{{{{kJŒ)ι1sޜZ9Z1R91Ɣ{{s{{Z99ZZZ{{1Rʵ{9)オֵJJ1sڔҭ)kRsέ)ιRʔҵ{{sιιRZZ9筵)RRι{オ{Z9ZssεZ9Js{{9ZZ9sεZ{Z999{{s)ޔιJJRZ{1{RZ1Ƶ{ZZZ99Z91kR{ތ֜RlJkι)sZ9JRޔҔޜ{9ι)Jڽ{޽9筵kt9オ{{Z9Z9ޜkι{ZZZ9{ڵZ{ZZ99Z{ڭkZ91lҜR19ZR޽µ{{{ZZ{{{{R1R1ュ1{ZR)9{Z9޵sRJ9Zk{9sڜ{JJ1{޽㌱9ZιR{オ{Z{ZJZ{{9Z99Z{ڵZιZ9ޔR޽{1Zt{ZR{{ZZ{{{9Ҕ91ιRڔҭ19{ZZ{9R1s{9ŒZ֔ޜ㭵)ι9{޽ڌ9RιµZ{オ{{{{9ZJ{{9{Z9{Z{{{{{11ƵZ1J1Z{91sZZRʌ9R919{{{{{s{R1RJsεֵ9{ZZ{{{{9sέRڵ9Z{Z޽kZ9sιRZ޽Z{{ZιksZ{{{9{Z9{{ZڔR­ι1J)Z{{ޔҵ99֭ڽsΔ9Rt{{{{Zڵ99sι)J”9{{ュRʵ9{{RZڽRk1{ZRR{ιsZZZ{{{ҌZ{{{Z9Z9{{ZڵޔJZ{{{Z9{{Z)sZZֵZs1Z{{Z9ZZ1ƌsZ99{{ZJs9{{{{{9Rڽ1ksΜZRR99{ޜ999ZRʌ{{{Z9ZZ{9RsZ{Zι))RZZ999Z{ZZ1Jオֵ֔ҵ{1s{{{9Z99{Z9Z9Rt{{9Z{{9ι)RZJJ1Ɣ1ιֽ{{JҜ9Rڽ{R99Z{ޜι{{{Z{99Z{{{sRʵZ{1)Jιs99Z{9ڵֵsιRʔ{RRʔ9{{{Z9Z9Z99{ZZ1RZ9Z{{{{{Z99{ڌJZιιJ)1{Z㭵JڽιҜ{RZ{9ιR9Z9{Z9{{Z{{{{sR{)s9Z{{Z9991ƭιR{Z޵޵sΔ9Z99{9Z99{{{9RʔZ99Z{{99Z{ZRkk{ZڵֵRJksJkιҜZ1Z99ZZޜ91オ{{Z{9ZZ{{RRʔ{ޭ1ƔZ{1ιι1ڵZ{9RsZ{9ҵZ99{{{9֔9{{99ZZZ9sΌ޽99Z91))Z)k9Zsιڽ91ZZڜ999Z{Rs9{J)s{{޵1ƭ1{Zsέs{9ҵZ{9{{{9999{{ZZ{{Z99֭{㌱Z)J{19ιR{Zޜ99ZֵZ{Rs{{9RkRʵ{Z9{9sΌ9{s)Z{ڔ{{99Z{{Z{{9999Zιk9Z{sJsJJ{{Z9ڜ㭵Rʜ99{R{ZZ{{{ҔZ9RR{{{99Z{{9ZZ1ZZι)Z9{Z{{ZZ{ZZ9kֽZ9{ι)k)޽{sR1ιt{㭵RʜZZ19{{{Zss{{Z9ޔlsss1ƭ)JsΜ{99{9{{R{)kֽ{9{9Z{{9{{1ƌҜZ9Z{91)k)s9RιιR{㭵sΜ9ZZsιι{{RR99Rl))kk)JιRs1ƌJR{9{R1s{{ι{{1)9Z9Z99Z{9޵֔sεZZsέsZ9{{{㌱9筵kι1sεZڭsΜZ9Rk99RڽJ)Jkkιιιs1ƌ19{9ZRk))))9Z9{{JR{kJRʜZ9Z99Z{9޵sRRʔ{9sR{{{9Z{JRJ)1sΔ999ZZ{ZsιֽZιkҜ{{RZ{RJ)ιRʔڵ99{9sR{Z{{J)ι))ҜZ9Z{ZRJJ1{)k֜Z9ZZZ{{{{{{Zss9Z{{9s1Ƶ99{{9ZZ1)Z9)))))Jιs9ZZsι1Z{sJZ{1オ{9ι)ι{{{ZZ{ssε{Zڵ)JZι)ιZ99{{ҭ)9{{kJRZZ{ڵZ{Z{{{{{sRsΔҵֵsR1µ999{{{J)9Zڌ)kkJJJJJJJ)JJkιι1ޜ9{kι{Z9㌱)sΜ{{ZsZ{{9ޔҌJ9֌)R{{99ZZҭ֜Z{Z1J{9Z9{{{ZR11ιιs{Z{{kk99)s޵s11RRR1ュkι1s{ڵ9ZZZ99ZZkι{9ssΔk)ҽZ{ZZ99ڵ99lֽ{1)kڜ{Z9Z{ιsZ{Z{1kιڜ{99{{{ڵ֔sR1Rʔҵֵ{{Z{Z֌)91JιZ{{{{{{{ZRʵ9RZ{{{Z9999Z{ZsJZ9ュ))ڽ{{{Z999ZZZ9Z{ޜsιҜޭι99Z{)JRZZ{{{1k1Z9ZZZZ{9ZZ9{֔ҵZ{9sJ)J{Z9sΌ1Ɣ99{Z{R{{9RʌksΜ{Œ)k{Z{Z9Z{{Z{9k)ιZs眭޽{Z{ޭڜ{{{޵9{Z9{{Z{{{{Z9{{9s11Ƶ9Z{{JJι­{{sΔsΔ999{9Z99999ڔZ{k19{{1ƭR{Z9Z9{9ZZsι֜{))sZZ19Z{RkRZZ{9ssεZ{Z9999Z99ڵֵ99ڔRʵZ{ZZ{{J)Z9{R{99{9Z9{Z9ZZ999Z9sιµZ{{9ֵ99Z{9{Zι1{J19㌱9Z9ιZZ{{s111RʵZZ{{Zڵ֔ҵ9{Zڵ֔Z{ZZ{9֔Z{Z{{1J޽{Zss{9ZZ9ZZZ{9ZZ{{{9Z999ss9{{99ZZ9{޽9ZkZ))s{{ZZsΔҔZZZ9­kιsZZ޵R1R9Z9{{Z{sRޜ{999ιk){{{sε֜9ZZ9Z{99ZZZ9Ҕ9{9Rs{{9Z9Z{1ιk9ZR޽99Z޵9ޔޜ{{֔Rl”ڵ֔ssΔZ{ZZZZ{1ιR{Z9Rk))ιZ9{{R{9{Z9Zs{ZZ99{sޜZRʔ9Z{99Z9{sι֜R)1޵ֵ9ιZZ9Z{{{9Z{ڵ9ZZ99{{Z1ιι1sZ{Z{{{9Zkkµ9Z99ZZ9Z{9R9Z9{9{ZRsZZ99Ҕ9ZssRRRRʔ{{{{99Z919{֌s9Z9ڵֵڵ)ι9Z{Z9999ҵZ9{{9ZsR1RʔZ{{Z9{{֔sι))Rュ)ڜ9Z{sΔZ{9Z{9Z99Zֵ9{s9R11RsRsZ{{ZZ{{{Zڜ9Z{ZZRιR޵k)Z{Z99ι199Z{{{ZZ{{ޔ{9{9Z{Z99Z99Zҵsέ)J)){{9{{s9{99{{9{{99{Z9{ZsZ9ڔ{ZZ{{{{9Zҵڵ{1ιk)){{{{R{9Z{9{{ڵ{{{{9Z{9{{{ZZZ{{99sΔڵsJ))kR9Z9ZҔ9Z99ZZ9Z{{99Z{{ڵZ{{{޵Z9Z91”9))ιsε9{{sޜ9{9ֵZ{Z9ZZ9Z{ZZ{ZZRRʔ99ҌRssεZZ9ҵ{޵Z{99999{{9999{{{{{{Z֔99ZZJRsι{{ҭ9Z9Z{Z{֔Z{9{ޔ޵֔sΔҵڵ9Z{{{{{{{{{{99Rι1ޜ91ƌsZ{ZZZZޜڔZ{99Z{99{Z9{Zs9{{{{{{{{{91޽Z9{1)9ZRs9{9ZZ{ֵ{99{ZZZsRRRsZ9ڵ9Z9{Zskι޽91{ZZZ9{Zֵ{{99{ZZZ9Z9sR{{991Ɣ{{9)JRRZ9{Z9{Z{ֵ{Z99{{{{9{9޵Zޔ{{9ڵ{{s)k9R9ZZ9Z{{ҵ{Z99ZZ{9ZZ1ι1Ƶ{{{{9RR9{99ι)1R1999Z{ڔ9{{{{{{{Z֔{{޵9Z{{{)ュ{{{ZZ{{{ҵ{{99Z9{{9ZZ9Z{ss{{{R19Z9ιιR9Z{ڔZ{{s{{{Z޽9ֵZ{ZZ9RkJs9Z{{Z{{{{ֵZZ99{9{Z9999Z999ޔҵZ{{{Z19Z9ZRZ{Z{ZR{9{{sޜ{{9޽9ڵ9{ZZڔ)ιڵֵZ{Z{Z{{ZZ9Z9Z{9{Z9{{9{ZZ9s9{{{{{{9sέs{9Z999ZR{99{Zs{{ڜ9ڵ9{Z{9Zs{Z{{{{Z{Z{{{9{{99{{{{{9Z{9Z9Z99s޽{{Zޔιιڽ9Z9ZZ9{1オ9Z{ZZ{{9s9{Zޔҵ9Z{{9sssε{{ޜ{Z{9kZ9{9Z{{{999{{ZZ99Z9Z{99{9{{99{9sε֜{ڔs1ュιsZ9ZZ9Z{tZ{Z9Z{9sZ{sε9{9s11{ޜ{{Z{9{ޔ{Z{9{{{{9ZZ99Z{{ڔҵZ99{{Z{s9{{Z9޵sュkι1Z99{{{{{{9{{sZZ{ss{{9ڔҵZ{{{{9Rι޽{{99ZڭR{ZZRڽ{Zֵ{{{޵9Z{{1Ƶ{{99Z{Z999ZRʔZZ9ڵsR1ιι1ƔҵZ{999999Z{9Z99R{Z{{{s{Z{1ksΜ{{{{99{{11RJs{ZZ{Rs{{{Z{{Z{s{ZZڽZ9999{{9Z{RsΔҔsRʔsRʔZ{{{99{1ιڽ{{{Z֔9Z9Z{ZҭRZ{Z99999J)R9ZZ{R1{Z{Z{{R9R1{{Z9{{s1Rʵ9Z99ZZ{Z{RιR9{ZZZޔڜ{ZZ{Z{R9{{{{{{ZRʌk1RR11Z1ޜ{Z{{{9sڜZڔҔZZ9{9ZZZZ9{99Zޔιs99ֵ9{Z9Z1ƵZ{{)ι9{{{Z1ޜ{{9{{{Z{{Z9ZZ{{{{Zssε9{9Z{{޵1ƌsZ{{{9{99{9Zιs9ڭJ֜޽sZ{9{ZsιR9{9ZZ9{{Z{{ZZZ11s{{9޵֔Ҕҵs1ιJk{99{ssΔҵ9Z{9{{sJ)ι{9Rsڵ֌JڜZιR9tҜ1µ9Z9{֔sR11RʔZ{{{ZZZ9Z{11Ɣ{9sRュJJ)J{{{Ҕڔss99{{{{ڭJJ)RRRʔ9Z{9JkJ)1Ɣҵ֔ss1ƭ{{sZ{RʵZ{Z9{9999ڵssε9{{ZZ911Ƶ9{{{{ҭJkιR޽{9Z9ڵ{Zڵ֔ҔsRRs9{{{{ZR)sΔ)J11))JJJJ))ޜ{Z9ιsZ{sZ999{{ZZ{Z{9Z9ڵZ{Z9Z11Ƶޜ{9Z9ιs99{ޜ{{{{9Z{ZZޭJs{{֭J)Jkk)RssssRsεZ{{{Z99sオ{{99Z{99999{Z9Z9ZZZZZs”{ZstZ{{ZZڔ{{ZZZs)ι{9RʵֵRιιRޔlZ{Z9999Z{9R޽Z9ZZ99Z9{{{{Z999999{Z9ZZZ{9Z1s{991ƭι{{{{Z{֔9{{{{ZҌJ11sڔҵ9ZZ{1s{{{{s{{{{{{{{Z{{99Z99{{99Z{{{{Z99ZZ91µZZ91ƭιZ{{{9{{֔Z{9Z9sέJιsڵ֔Ҕ{{ޔޜZZޔ޽{sڽ{{{{9Z{Z9Z999޵ֵֵ֔{{99Z9{9ZZt{{ZRZ{99Z{֔9{{޵91ƭtZ{ڔZ9Z9Z91ιڜ{ZZ{99{ZZZ9Z9Zޔ{{޵s1µ֜Z9{ZZ1R9{ޜ1Ɣsε֜{{Zڔ9{{ޔR9{{ZZ9Ҕ9ZZ9{Z֭{Z{{ZZZZZ{{999ڵ9{޵Z{Zڔҵs޽Z9sε{9991ƵZ{{{{{{Z9{{{{9޵֔sΔ9{{99{ZZ{1Ɣڵ{{Z{Z9ڵ)ksZZ{Z9{{ZZZ9ޜZڔҵڵ֔{ZιRZZ9{sZ{9{ZZsZ޵9{99{{Z9ZZ99Z{{{{sZ{{9Z{99{{ι1ƔZZڔҵZ{ZskZ{{ZZ9Z99Z{9{ڵ{9RڜZ9sε{Z{{9Z9ֵ9ڔ{{Z9{{{{{ZRZ{ZZZ911ƔRsZ{Z9Z{Z1ι9{{Z{{9{{99Z{{9Z{{{19Z9{{Rޜ9{ޜ99{ڔڔs9{{9֔Z޵9{ュs9ޔsΔҔҔҔҵ9999޵Z9ssZ{{Z9Z{{{{{Z{9Z9Z{Z9Z{sιҜZZZ991Z{{9ZZ9Z9s1sZsΔZZZ9)1sΔ9{991sε9Z{J{{ڵ֔ZZ9ZZZ{ZZZZZ{ZŒs9Z99Z{sR{{ޔ9ZZZ{919ZڵZ{9ZZst9{{ڽ{RsεֵֵZZZ9{ZZZZZ{9{99{sιֽZ9{֭ι9{999Z{Z9{Z9{{Z9{999R9J911Ƶ9ZZZ9{{99ZZZ{{ZZZZ9”{Z9{sι{ZZ9Z91ޜ{9Z{{9{ιZZ9sιιڽ{R)J{Z9{9Z{Z99{ZZ{ZZ{99޵ZZs9Z9ZR9{{9Z{9{{”9{Z9{{9Z{ֵRʌZZZRʌJ)k㭵))ι{{99{Z9Z{99Z{ZZZZ{99{ֵ{{9Z9ZZ9R{{޽99Z9{ss99Zs1RʵZZZ{JJJJ)))Z999999Z9J)J)1Ɯι)J))RRs99{{99999{{ZZ{Z9Z޽Z9{ZZZ9オ֜Z9Z9Z{9ڵ{{Rιι1sεֵZ9sΌ))JJJJ{Z9{{Z999{JJRkk޽1ι1s1k))RʔZ9ZZZZ99Z9ڵֵZ9Z9{Z{9{Z9{ڽZ99{Z999{{{{޵1ιι֜sk)JssΔ{ZZ{99)ksZ{sJ)ޜ{sιR9{ڭJ{Z99ZZ99Z9Z{9ڔҵ{Zֵ99{Z9{{9ZZڜZޜ9Z9{9{9{{Zsk)ιZZιZZZ{99)ks{9ι))Z֭RZ{9Z99{{ޔsεZޔZ{ZZZ9sεZ9{9{{޵9Z9{999ZJJڽ㭵Z{Z9)ks{{J)JιZιs{1Z9Z9Z{999{sΔZ{ZZ{ڵ{999{{Z9޵{9Z99Z9Z{޵ZZ9Z)9{k9{Z)ks{{{ZsΌ))kオ9{{sιֽZ1Z9{9Z{ڵֵֵZZsΔ9{Z{9{9Z999Z{{ZZ9{99{Zֵ{{9{kk19ZZJ1Z9{Zk{{{sιkJRʵ999ZZ1tҜ9Z9Z999޵ֵڔsε9ZZ{Z99{Zޜ{ZZ999{99Z{9{{Z9ޜ9ZRιRʔJ9{{ZZュ{{{Z9ҭJιRʔҵZ19{Z9{ZޜZsZ{ZZ{{Z9Z{{{{9{9ZZ9ZZZ{9{{ZZZZ{9ZZ991ιι19Ҍι99ZZZZRʌ1ZZlRʵ99ZιR{{”{9{{{91k1ZZZZZZ{{{9{{{Z9Z9{9Z{9{Z99Z99Z{9ZZ9{{999֭9Z9ZZZ9sέ޽{{Rιs{9ڭҜZ11RZ9{{{Ҍ֜{Z{{{{{{Z{{ZZZZ{{9{9{9ZZZZ{{Z{{9Z{9Z{9Rʌ1Z{{{Z{9{9Rʭڜ{Z1”9{{ιֽ{99{ιJRZ{{Z{{{{{{Z{{{{Z99{9Z{9{{{{{{9Z{99{1ƭ{{{{9Z9Rʭޜ{{R”Z9ZZ1ZZ9ZZ{JZ{{ZZZ{{{9ZZZZ9{{9{{{ޜ{{Z99999Z{ZZ{Rޜ{ZZZZsέޜ{{1オ{991Z{sZ99{Z9{sJιڜZ{Z{Rʔ9{ZZ9Z9Z{{{{{{{ZZ99{{{{ZR{Z{99ҭޜ{{{Z9{ιsΜι{99Z9ޭkҜZ{Z{11ƵZ9Z9Z{99{ޜ{Z9ι֜{{1ƵڔҔ{{sιڽt99{s)9{{{Z{Z{Z{オ{ZޜZss{ZZ{ZZ{ֵ{{Z{RZ{{ZRssRRʔ9ZZRtZZڵZιkҜZZ{Z{Z{9119Z9Zsڜ{{9{ֵZ{{s{{{{{{{{{{{{ڔRRʵڵ1ƭs{Z19{Rs{1ι1ޜ{ZZ{{{{{ZZtҜZs{{9Z{9{{ZZZ{{R1ޜ{{{Z{{9sZRkڽ9ڜ1RZR1Ɣ{{Z{{{{ZZ{{ZZ{s{Z{{{{{99{9{{ZZ9Z{{Z”{{{{{ZZR{s{9R1{R1{{1RZ{ZZ{{{{Z{Z{{1Z9Z{ιZ{{{9{{9{{9Z{{{{sιs{{{ZZZRJkֽ9s1sZ1Ɣ{{1ޜZZ{{{Z{Z999999Z{199{{ZZ{9Rk{9Z{9ZZ{99Z{{{9オ{{{Z9ZR99ι91ιιRZ{Z֔{Rޜ{Z{Z{ZZ9Z{{Z{{sオZZ{Z9999ZkR{ZZZ9999Z999Z{Z{{{{Z{{11{{{ZZZ{s9)JιュιRʵZ9Z99Z{J){{Z{Z{ZZ9{1R{{9Z99{ZZ{֌֜{9Z{9{{99Z99Z{{{{9{11{{{{{{ZZZ{9Ҕ{9)k1Z9{9{{֭Jι1Ɣ{{ZZZ{Z{9{ss9ֵ9{Z{ZRJιZ{ZZ{{ڵ9Z{ZZZ{{{9{R1Ɣ9{ZZZZRڜ9111Ɣ9ZZ{sZZ9JZZ99Z{{ZZZ{{ZZ9Z޵R1Ɣ9{ZsRޜ{Z{9J{ZZ{9ZZZ{s{{{9{ss{{{{RR{Z99R{޵lڜZ999Z{Z{{9ZZޔ1”{91R9{ZZZŒ{Z9Z{{{99{{Zڔ޽19{{{9{911{{1Z{ZZ99{RڜZ1ι{{{{9Z{9ڔ11ƵZs{Z9{ιZ{{{{Z9{9ڔs{{{{Z9{R”Z{9{ss9ZsZZ{9Z911Ɣ9オ֜ZZZ1ι{{{{Z”9{ZZ{Z9{RtZ{{ZRιڽ9s{1{{99{ZZZڔRιJJι9Zs{Z{Rιڽ{{{9{sι֜1{99ZZZ99Z{ι{Z9Z{{{֭ҜZZ֔R9ZZ9Z{ZZ{9ュk1sRsε9ZZZ9{Rι޽{{{{{9ڵ9ڭZιޜ{9޵9ZZZ{Z1ƌ1ڔҵ9ZZZ{{RZ{ޜ99sΔ{{{Z޵ZZ9{99Z99Z{Z9ZsRs1s9ZZ999Z99{9ڔҵZZZ{ڭsRʌ9޵֔ҵ9{lι1s9{{9ڽZ{9sޜ{{ڔ{Z9{{9ZZ999{{{9Z{sΔ9{ιR{{{9{{{ZZZZZ9Ҍ))ιsΔҵֵ9{R1s{{9999Z{{ZZ{9R9{s{{ZZZ{{Rʔޜ99{{ڔ9{{Z9Z{Z999ZZ9{ڵ{{ZZ{ڽ{9{{{Zڵ֔Œ1sε9{Z9{{{{{ZZZZ99ZZ9޽ZRRʔڵss{{{ZZ{{R1sεZ{{9޵9sε9{99Z{Z9Z{Z99{{{Z9{{Z{Z{Z91sZ{{{Z99֔9Z9{{ZZZZZZ{{ZZZZ{{ZRڜڜ91J)1ޜ{9Z{{Z9ssε99޵RュRssZZ99Z{9ZZ9999Z9999ZZ99Zҵ{{9{{Z9{{99{ZZ{9{{{{{Z9{9ZZ{k)Js{99{{ZZsRsε{{s11ι1Ɣ9{Z99Z{Z9Z{{ZZ{9Z޵9{{9{99{{9ZZ9{9ssZ9{99{9ι)オJҽ9Z{{99Z{{{ZZ{{9{9ޔZ{Z999Z{9{9ڜ{{{Z9Z{ZZ{11Ɣҵ֔R1Z9Z9ZZ9Z{޵֭)kޜJҽ{{Z{{{{{99ZZ{{{99{ڵZ{99{99{Z11sZZR99Z{9ZZ9{{ތ))ZRJֽ{9{{99ޜZZ9Z{ڔ9{{{9Z{{Z”9{sZZ9ZZ9Z)kkZ{)Z9{{޵Z9ZZZ99Z9RZ{{{9ZZ99RR{9sµ{{9{{9{Z9{ڌsι)Z9{{{ֵ{{Z9{ޜZ9Z{Z9RZZ99{Z9Z{{ޜ1ڜ9Z{9{9Z9{{ι1Rk9Z99sε֜{9Z{99999Z{­R9{9ҔZ9ZZZ999ZZ9{Z19Z9ZZ9{޽9Rιk)1{9Z{Zιks9Z9{9ZZ9{Z9Z֌{{ZsZ9999999{99{{{R99ZZ9Z{9{ZRk)ֽ{9sιkJJJJks9{9Z99{9{{Z{{9ιJZڔҵ9{{ޔҔ9{{99{Z9{9ZtZ9{Z9Z9{Z1Jk{kkJJkJJJZZ999ZZ99999Z{{J֜{Zsε9{9sΔ{99{9Z{9{9Rµ֜{9{{9Z9ZkιZZ9ڭ))J1kJڽ{999{9Z99{{Z99Z{1ƌR9{9sΔ9ssZ{9ZZ9{{11޽{9{9Z{ZZkZ{֌)J9{{{9JkֽZ9ZZ9Z9{Z9{Z9Z{ss9Z9ڔҵ9sΔ{Z{Z9{9Zs{{9{{999RJ1{{{kkRZkJιZZ99{{ZZ{{9{Z9{ZZZ9{9sΔ9ZZsZ{{9Z99ZR޽{9Zޔ޽Z{)sΜ9sk{ތJk1ڔs11Rʔ9{{999999{ZZZ9Z9Z99s{{99ڵ{sڜZޔsޜZ9{Z{ιs{ZZ{9ҔZZZι)ڽ{R1ιJ{Z1ƌ1sssssΔsε{99{{Z99ZZ{9ZZ99ZZZ{9ZZޔRsΔҔҵ{Zs9Z޵Z9ڔ9Zڔ1{{9{Z9{֌ZZZ99ZZZZZZ9Z{{{{ZZZ{s9Zތk֭JJ)Z{ュ1Z{{{99ZZ9{Z999Z{Z9Z{1sZZZZ{{{9Rュι1RRRsεZ{sڜ99Z9Z{9Z99199{{9Z{ι)sεֵֵֵֵֵ99ZZ{ZZ{{Z9ZsڜZRkιZ֌kR{ZRʭs{{{{ZZ{9ZZ99{{99Z9ι”9999999Z9ڔsι”ZZssΔ޵sΔ9{99{ZZZ9Z{{99{{1Ƶ{9ڵ1ƌ)J19{{ZZ{{{99ZҔ{Z޵ιJsΜޭsZZ99ι{{ZZ{{Z99Z{Z9Z99ZZ999{{1Rʔss9{{{ZZ99ڔRʔ9{Z{9ޔssRRʔZZ{9{Z{{9ZZ{1s99k)kR9ZZ99ZZ{{9s99ιs{{99ҭ”ڵZZ{{{99Z{9ZZ999Z{Rʵ99Z{Z{Z9{9{{9{ZZZ99{ڔZҌ)R{{{{{9Z{9Zs޽{ZZZk֜Z9ZュιιR9ZZ99999{Rʔ{{֔Ҕ{9{{ZZZ99Z{{9ZZ9{9{{9{{޽{ZュR{{{9޵9Z{{99{9sε{{Z9999Rʔ{眭ޜ{{Zڔss1ƌkRZ{ZZZ1Ɣ{Z޵sRʔZ{{{{Z9{{Z9Z{Z{{Z99{ZZ{9{9Z޽ZZ{tZ99{ZZ{Zsε999Z{{ڜιι9Z{ZZRks9{ZZ{µ֜{{{Zڵ{{{ZZZ{{Z9Z{{{{Z{{9ڵޜ{9{ZZ9{޽9{{{{sιιZ99{{999ޔRsssssΔ9{ZZιιZZ{91k{Z1Rޜ9R1{99{޵9Z{{ZZ{{{ZZZ{ZRڜZ9ZZ{9{޽9{ZsιkJ{{{{9ڵ9{999{{ڔιksZ9{991ƌڜZskιڜZ”Z{{ZZ{ڵ99ZZZ{{Rʵ{9ZZZZ9޽99RRʵ9{ZRkk”Z{{{{{{{޵ޜ{Z99Z{{9ZZ9{Z9{{sΔҵsksZ9Z{{Rʭ޽{ksΔRʌ)ڜZs9{{Z{ޔZZ99Z{{{Rs{9{Z9{9Z޽ҔsέJιRʔҵڵlµ999Z{9֔ҵ{{{{99Z{ZZ9ZZZ{sΔZ9Rʌιޜ9{{{9Rʭ19ތ)ι{{֌)ι{{1s9{9{ssZZ{{ZZ{9s1ƵZ{ZZ{ZZZ9ڜ9kJ1ƔRι1{Z{֔Z{{{{{{{{Z9ZZ{ZZZ9{{99Zֵ9{Œs{9Z{{Z99Z{{ŒsZZ1ڜZι)֜1s9{9{s1ƵZ{99Z{{Z99{ZڵֵssεZZ99{Z{1ιskRʵR1ڜ{Z{{{{{{Ҕ{{Z999Z{ZZ{99{{ZskZ{9999ZZZι{ZsJJR{Z)ι޽RR{9Z{91ƵZ99{9sュkJ999Z{9Z1ιkkιR9ι޵{ZޔsRʔ9{{֔{{{ZZZ9ZZ9{ZZ{{1kZ{ZZ{{Z{֭ιڜZsk)9ιJ9R1ڜ{{99Rs9{Z99ZRʭJ)kιιk{{{skJsZZ))J9ڔҔ99{{{{{Zޔ1111s9Z999Z99999RʌιZZ99ڜ{ҭZsk)Zlι11ƵZZZ{91{{Z9Z{{1RsειZ{{{{ι”9{{{{Jι)Jtҵ9{Z{ZZ{{{{Z{{Z9)k1{9999{9Z{99{9RʌιZ{ڜ91ƌ{9sk){ZsRʵ99޵֔{{Rs{{{Z{Z9{Z1ks9999{1Ɣ99Rk1k)ιsZ{{9Z{9{{9{{9sRŒ9Z{9Z9Z9sέιZZsޜ֭ιZ9J){Z9Rιk”9{sZZڵ99Z{{Z99{{kJsZ{{{Z9Z{ҔZZJJsZ9RʌRZZZ{{99{ZZ{{ZZ1JJι1RZ{9Z{Zι1Z{sΔ9J1sJJ1{{Z91ƌ1Rι19{Z{R11Rʔ9{ι)ֽ{9Z9sε֜ι)Jιs99s”9{{{Z9Z99Z9ZsιJJڵs1R{{ZZZ{{9sRʵZ{{{Rs{Z1k)Jιs9{{ZsιオZZRιιRʵZZ{ڵڵֵֵ֔Rιι19Z{9)ֽ{9Zs޽)JZ9ҵ9ZZ{{1”9Z9ZsJ9ޔιs9ZZ{{RRsε9{{{9Rs{9ュιR{9s1Ƶ{9ιιRssΔ9Z{{Zs1ƔZι{Z9{s9)){{޵{{{{{{­Jkޜ9{{{9sJ{{Rʌι{{9ڵsΔ9{Rʔ{99{{{9Z{Z{9ڵsR11Ɣ9{9Zsڜ{{ҭ19{9Z{sZ{1)){Z{9Rk1ƭ)ޜZ9ZR91ιڜ{ZZZڔ{{ssε9{{{{Z9Z{Z9Z9޵֔9{{99{ޔ9ZZ99{9Z91sZk9{{ZJ1ι){Z{{ιRʔҵsιRZ{{{{Z޵9{sΔZ{Z{{{9޵֔ZZZ{Rޜ{skkJR{Z9ZZZtZιk޽ZZ{ZRJZ{֌JR9{{Z9kJ{1ι{{{{{9ڵ{sΔ{{Z99{{{{ޔsR1RZ{{­1޵sksΜZ9Z{Z9Z1{J)R{{9ZZk9{RJk1ޜ{ڔҔk)Zオ9{Z{{RʔZZҔ9{9{{ڔҔڔ11ƔZ{{sΌ)JιιkRʜ{99Z{9Z{ιR{1J)99{Z9㌱J޽){9޵))Rʜ{ιオ{{ZZt{Zsڜ99Z9sε9{s11Ɣڵ֔ҔҔҵֵֵ֔J)JJιtZ9RJ1{Z{Zsڽ{ιJZ{9Z99ޭڜJ)ks9Z9{ZJڽZRʌ1ZZZ{9s{Z9޵ֵ9{{{{ڔsR1Ɣ9Zs1ι)kιRʔιsZތZ{Z9{Rιµ{{s1R{{{Z{Z{”99Rʌ)Js{{9Z)k޽ڌ{{{Z9{ZR9{Z9991kオ99sι))kιιιιtZ{Z{k99ZR1RRRRRRʔZڔҵޔҔ9{{Z{֔ҵ֔ޜZ9Zҭ)k֜991{9ks9ZZ9{{9{{Rڜ{{9{ZRZZιιs999999{J)t9Z9ڵ9ZZ{ڔZ{ڔZ9{{Z9{Ҍڜ{9{޵{sέι1sεZ9{9sZ{9Z{{R{{{{{91޽ڌJR9ޔ99sεZڔ9{{ZZZZ9ZZZZֵ{{9{sJι{99{{{ޔsRsZ{Z{{9Z{{{99{ZRJι޽{Z{{{R))Js{ZRRsޜ9ҔZs9Z{9{{{{{ZZZ9Z1)s99{Z{Z{9Z{Z9{ι19޵֔ҵֵ{{{Zk19{{{{{{{{R9{9Rk))RZ{ιޜ{֔{ҔZZ9{{{Z9{9991J)1ZޜZ{9ZZ9Zޔ9{{kιkJJ)JsZ{{9ZZҌ99Z{{s9{{{{{֭)J{91s9ڜZҔ{ޜ9{ZZ9ZZRJ)R9Z{Zڜ9{ޔҵ99s9Z))))JJJ){ZZ9Z99skJZ{{{{s{{{{{{ιJJk1RZ{ڔ9ZҔZ{޽{{{{{{9{sk)))JJJµZZ{91RsZZڔҔsι)JJkk1Ɣ1JZZZ{{{9ZZι{ޔ{{{{ιュ)s99{9Z{ZZZڵZZZҔ9{{s{ZュkkJJ)){ZZZZsRZ{1ƌkιRʵ9{9ks9{{{ZZ{ZZ{{Z{֌)ҜZ޵Z{{{9sΔιksZ{{ZZ{99{{ssZ{9Rs99ڔRk)s{{{Z9ZZZsRRʵ1s֌{9Z{{Z99ZZ991)ι{ZZ{{Z99{Z{{{ZRsΔRιsZ{9{{ڔ{Z9ssュ1{ZR9Z{sέ)){{9{Zss{Rʵ{9ޜ{{{{999{{sΌ)s9{{ZZZ99999{Z9Z{{9R1sRs9{RʵZ{֔ҵ99ZZZZ{{1ιι1Z{ڜ{9{{)Z{Zڜ99{Rʔ1RZ11Z{{{{ZZZZ{{{Z9Rʌι{{ZZ9Z9RιsڵZ{99{{1sZ9ιkkkιιι1Ɣޔι)))kt9ZZ{{1ι{Z9Z1޽ZZZڜ9Z9sιk1{Rʔ9{Z{{{{{{9֭J{{ZZ{Z{{ZRʌ9Z{{ZZ{{9sR9Zs­kJJJJJkkkkkkkJ)Jオ9Z{ZZssZ{99JRZ{99{ޜ{{Zlkksε9{s{{{{9Z{ZZ{Z֔޵R1ιJ)ιڜ{{{{{{{ZRkZ{{{{{{Z֔{sRʵ޵֔ҵޔι)))R9Z{Z91R{99{9筵Z{9Z{ޜ99ޜ9999Z99{ZsΔ{{ZZ{{{Z{s{­”9{Z9{9JZ9Z{Z9Z91s{Z{ޭk1ƔRι”9Z{Z99sRޜZ99Z{ZZZ9ޜZ9Z{99{RڽZZ{{{{{R9Z9֔99{9k֜{޵9{{{Z9Z{sΔ9ތZZs999֔ޜZ9Z{㌱JR{{{9Z9Z{999sΔZ99ZZ{{Z9Z{sRZ{Z{{999Z1Jֽޔ{{{{{Z9sޜ))sν{RZ{Z{9{){Z999{9޵s1s{Z9{{ZZ9{{sR{{{9Z{99{RJҜR1Z{{{{Z޵ֵZ{{JҜ{RRZZ{ZZZ)R{{Z֭ιڜZ9999ZZҔ9{{ZZZ9Z{sΔ{{{{99{{Z9Z{{s)R91ι1Z{{Z9{sιsZRs9{ZZkڽZ9{Jι9Z9Z{{Z{{91Ɣ{{Z9ZZZZ9ڔҵڵ֔ޜ{{޵Z{ZZ{{Z99Z{{{ktR19{{{{{ZZRsΔ11R1ƔZ{9ι{Z9999{{99Z{R)1{Z9{{{Z1ιs9{99{{{Z޵ֵ9{{{Zڔ9Z9ZZZ999999999Z{ZŒsZZZ{{{{{{1ƔڔRڜ֔9{9{R9ZZ9Z9筵kֽ{9Z{9sュڜZ9{{{{{9sZZ9ڵֵ9Z{{{ιkι1RsΔ9{{{µڵ9Z{ZZ9ι)1Z{99999Z9{J9Z{­s999{Z1ƵZ{Z{ҵ999999Z{Z{Rkss1sZ{{9ڔҔҔҵֵstZZZ{Z9{{9{kJsΜ9{99{ZZ{9kZ99sR9{ZsΔ{{{{{R{{Z9{֌1ZZs”9{{{sュιιιιι”ZZ{{9{kksZ{9ZZ9Z{ZZ9ιJs{{9{{{{Rʔڵ{sR9{{{{91ƭZ{1޽{9Zι9ZR1Z{{{{{{{{9Rsڵֵ{Z{9Z{ιµZޜ{ZZ99ZZ9k9Z9Z{9{sΔZڵZZι19{{ZRʌ{ZR19Z9Z9sڜ{Z{sΔ9Zޜ{{{9Z9ҔҵR1ƔZ{ZZ9ZZ9ZZ1JRʵ{ZZsRޔ9ZsέιsZ{{{{sΌ1ZZ119Z9{ZRιڽZڽ{99ZRʔ99{{sRsε9ޔZsΔҵ{ZZ{{{{{Z991ƭ”Z{9{{ZRRڜRʌ9{{{{{ڭι{s޽{Z{ι{{ڽ{Z9{{sZޜZ9{9sεֵssε9{{ֵZ9޵֔9{9Z{9{Z9sε99Z{Z9ZZ11{ZskZ{{{{{{{k{{{1Ɣ9{{{{{11{ڜ{{99{{1ڜ{{ュRʵ{ZZZޜ{ZڔҵZ1sε޵9{99Z999Z{Rʌ1Z{1k19{{{{9sZ{{ֵ9Z{{{Z{{{{{{{{ZRι1Z{{ZZޔ1lZ{9{9{{֔ҵ{ڵ֔Ҕҵ9{9{Zk99Ҍ9sZZZZ99{{{{{{1Ƶ{Z{Zιޜ{{{Zڔs11s9{99ޔ9{11Rʵ{{޵{{Z9{Zޭk֜{{91)J{Z{Z9Z{{Z{{Z9{{ZsΔZ9{Z){{{{ZZ9ZZZ99{ZZZZZ{Z{{ֵ{Z޵R1ƽZ999{9{99{sJι{ιڜ{sJk1ƔҔRR1s{Z9Z{{Z{{s9ZZ{ڌJZ{9999{99999{{Zڵ9޽{{{ZZ{Z99ZZ99JsZ{ZJ1Z{{kkRʵڵ֔RR9{{9Z{{99{Rڜ{9{)ιZ99Z{{Z9Z{99{ڔ9޵ֵ޵ֵZ{{{9Z{9{ZZ9{RJιZ{Z眭ޜ{{ZssRs9{{{9s޽{{{ZZ99ZZssZ{Z9{{{{{Z)9Z{9ZZ99{ZҵZ{9ڵ֔ҔҔҵ{{Z99Z999{Jk{{ZsJs{{{{Z9{Z99{ιֽ{{Z{99{R޽{Z9{{Z{{{Z)ksZ{{9Z{9{ڔޜ{Z9Z{{޵sεZZ999ZZ{Z{9RkڜZ֌ιZ{ZZ{{{{{9{{Z{ιֽ{Z{Z99{s{{99ZZ99Z{{{9RJJR{Z9{9ڵֵֵsε{Zڵ99ZZ{{s1{Z99{ZZZڵֵֵ9{{)”{Zs)ZZ9{{9ZZ9Z{{{ڽ{9ZZ9{9{Z9{9){{{{9Z{sssssε99{9ڵڵRsޜZ9Z{{ZZ{{1ƔZ9{{Z9{{9Z{k)JιRʔ1ƌJZ{{91k)9ZZZ{99ZZZ11{{Z999Z{ZZZ{{Z999{99{{)ޜ{Z999Z9{{sΔ999{ZZ{Rιιsεs1R{{{{99{{Z9{9RsZZ9{{֌1ιk)JRޜ{{{sΌ)9{99Z{{ڔ­{{ZZ{{999ZZZ{{ZZ99{{99Z{{{{Z99Z{RJkޜ{99ZZ{Z9{{9999Z{{sR{{9Z{{ZZZZ1JZRs9Z{{{{9Ҕ99Z9㭵){{RRZ{{Z9{{sΌ)ZZZZ޵ֵ޵1kkֽZ9{ZZ{99{{Z{Z999Z9Z{{J)999Z{ZZ9޵9{99{{Z9޵1s{{ڵ֔ҵ9RJZ{ڔҵ999Z{9{ڔRʔڔڜ9ڵZ{{9Zs)Z{ZZZ9{{9skJ1{ZޔsZZ޵ֵ99ҌRʜ9{Z{{9{{{{99ZZ99ZZZ{{{{ι)sZ{Z{Z޵֔sZ{9{{1ƌJRZ{{{ZsΔҵZZkZZZ{9{ιkk”ҔRZ{9s1ƔҵZ9筵)ZZ{Z9{ZRι9{{ޔsε99Z{{99Z1Ɯ{9{ZZ{{ZZ9Z{{{{{{֭)9Z{9R99­Rʵ{{9Z{ZZ9sΌ1Z9{99ZZ댱ιJ)ιRι֜91ιιk1{)kڽ{{Z99{{{{99ZZkks9ZZޔҵ{{ZZZ{91Z9ֵ9{Z9{{{Z{{ιJオZ9RιR9sZ{99Z{{{Zュ֜{ZZ91ks1k{{9Rʭ))kι1ޜZ)Z{ZZ{{ZZZ{{ֵ{ιk1Z{{Z޵֔Z{R)޽{99{{{999Zkޜιޜµ֜{ZZ{9Rʭ1999{Z{9­ҵkR1ƭJ)Jsڵ֔ҵ޵RsJkҽZ9{{{9ڔҵ9ޔRʵ9Z{9ڔҔZ{ZZZ9֭ZZ{9Z{{{ZZZZ­1{9ιsZµֽZ9Z{{ι޽ZZ{ιRޔιkJ)JιRZ{1{s)9{{Z99ڔssε9Z{9֔ҵZ{{ZZZ9ڔssε9ι9{{9Z{99{Z{{ZZ{1ιs9{{{{{ZR޽オ֜{Z99{{{{ZιkR999{{91オ޵1R9{{{{sιt99){{{{{9Z{9Ҕ9{{{Z999999޵1ιks޵R{Z{{Z9Z{9{{{ZZZZ9Z{99{{sR1R9{{{{Zι{ι{{{{{sΌJs{{Z{Z{1Ɣ9{{{{{Z9Z9ιss)kֽZ9Z{s{{ZZZ{{{RsΔsι)ι֜{Z9{Z9Z{{99Z9ZZZֵZ{{{{Zιޜ9ιZ{1ƌkι9{9Z{Z9ڵ{{{{1ιュ)9ZZ{Ҕ{9{{֭)))kֽ{{{99{{99{99{{ֵ9{91kssέ19{9ιsZ{9Z{9ZZ{9Z{{{RιҜ{{Z޵{{ҔZ{{ZsΌ))sΜZ9{ZZZZ{Z{9{Z{{9{֭))ιι֜911Ɣ{{Z9Z{Z9{ZZ9{{{{ڔ1޽{{Z9ڔZ{sZ9{9sJR{{޵9ZZ9{9Z9ޜZZ{Z9ZZZZ99{{9ޔJJ1{9ڔҵZZ9{{9Z{{Zs9{{{{޵119{{ڔҔ{1ڜ9ڵ9{{{JksZ{9ҵ9{Z9{{9ZZڵZ99{{Z9ZZ9999ZZRʌιR{ZZZ{Z{ZZZZZZZ99Z{{9RRZ{{9Z{{ZR{{{ssε9{1s{9֔9{ZZRsZZ9Z{{99Zޜ{ZZ{Z9{{{{ιs9Z99ZZ99ZZ{ZZ999{{Z9Z{s1{{Z9Z{ZZZ{Z”Ҝ{R”Z{Z11ZZޔҔ{s)sΜRR999{Z9Z{Zs9{9޵֔ҵZ{9{{1sZ{99Z999ޔ{Z99Z1ڜ{9Z{99{{R޽ι{ZR9R1Ɣ{1{ュҜZ9{Z9ZRʵZ9Rs{Z{9Z{9{Z9Z{{Z9ZZ֔Z{99{RʔZ9ֵ{{Z9sޜ{9lZZޔҵsιs99Zkι޽ZZ{9sµ9JJJ1{Z{ZZ{99{{{{{{{sڜ{ZZ{{Zڵ9ZҔ{Zs{{{99Z޵{{ZJs9{{ュkkR9Z9ιZJ19Z{Z1ιRsι)kιιkksZZ{Z9{9ZsΔZ{֔ssΔ9{Rʵss9{{{Z99Z{{{{{{{{sJ9{9sέJ))kιs{{9ι9ڭkR9{99sιRʭZZ9Z9{9{RZ9RR{s1sΔsεZZڵֵZ{Z{{{9ZZZZ{{ι1Z9k))ZZZڜZR)kޜZ{{k)sZ{Zҭι99999{Z9ZҔZ{{Z1Ɯ{ュRZZ99ZZڵ9999Z{Z1{ZJ)ιޜZZ{ZR)19Z))ιޜZ{ޜ9s1ƵZ9Z{9999޵Rʵ{{9Z{9ZJR9Z{Z{Z9Z{9sޜZs{{{Z֔sJ)ڜZ9{{s)ι{{{{9sJJ1Z{{ڭ1{{֔ҵZ{Z{Z9sΔ1sZ{{Z9ZZZZks9ZZ{Z{ss9ZҔ999猱J1{9Z{{9R)Jt9Z{{9)ιڵֵ{J޽{{999Z{Z{{ZRRڜ{Rڜ{{99ュ9ZZ{ZZ9RڜZֵZ{ޜ))ι9Z9{Z9{{{{{{Z)ιڵZ{R)ҔҔ{{s1{{{Z{Z{9{{RRZ99Z{{{RZ{{{{{9Zޔ11ƵZ{{{ZsΔZ{9{9Z)JҜ9Z9Z{{{{9{9Z9)1ƔZ{1k{9{{{9{{ڽ{9ֵ9ZZZZZZ{Zsڽ{Z9{Z{ֵڵֵZ{{{91s9{{{{{99Z{{9ιkֽZ9{9Z{19Z{{ҌJµ9{9ι9{9Z{{99{µ֜{Zs99Z9999Z{RZ{9{ZZ99ڵZ{{ZZ9޵sι111RʵZ{9ڵZ9{{Z{Z))1{{9Z{Rι{{1kJ19Z{JZ{{{{{{{{{{{ZZ{オ֜sZZRڜ{Z{{ZZZZ9޵{{{ڵֵ֔ҔssssJ))sZ{Z޵{Z{ZZ{)ޜZ9Z{{Z9ޔҔ{skֽZssRʌJ19ZZZ{ZR1Z{{{{ZZ{µֽRR{RZ{Z9{Z{{99{Z9sRRssΔҵ9Z9ڵRʌs{9޵9{{{Z)JRZ{Z999999ޔsZsΜZRR99sJ{{ZZ{911Z{{{9{{ڽsΔZ{Zsオ֜{{Z{{Z{ZZRʵ9ZZ{{ZsΌڜ{9{{ڔ9J)Z{{9sεs1Z{1”{J{ZZ{ZRRZ{Z9޵9ڽޔZ99Z19{{99{Zs99­Z9Z9{9k)1ZZss9{Zι)tҔR1sZڌ9{9{Z{{RR{Z1RZ{{Z9Z{オ{Z{Z9{{sオ{{{{99ι֜{Rι{ZޔsΔ{{99猱JRZ{ssεֵ1ƭJ1RʔZ91ι1ƔZZ9{{1ҽڭ9{Z9ڵֵZ{{Zs޽9Z19{{Z{9֭ڽ{Rڜ{Zsιt{9{Z9k)JZ9999999ZZZ9ޔŒ)kµ9{ҔҵsΔֵZ{{9kk1ZZZ{99{ޭRZ{Zޔ1ιι֜9991ƭ{{{Z{99Z9ҭڽs{Zڵ1ƌι99{ޔR1ιJ)k֜ZZZ1)9Z޵Z{{޵{眭J1{{Z9{{ZZ֭Ҝιڜ9Z{ιι޽{{99{{޵9­ڽ{s1Z{{Z{{kֽ9{J)))JJJ1ZZ99ZZZZ9RJRʜ{{{{{{{޵{޵9{ιZs)1{{9{{{ιڽ{sJkュ99{ZsΌs{{ZR199{޵9{ZJڜZsΔZ{{{{ZskҜ{sΔڔҭ)1sRιι֜{91JRʜ{{{{ZZZ9Z޵{ڌZ9Js{9Z{ZRkR)s9ιZ{{{{{9Rιs9{{ޔkJt9sڜ{{{{{sJҜZRιk)ιZZڔs191kZ{ZZ{{{99{Z޵֔Z{J1{kk{{޵Z{19Z{1kڽ91t99Z{{9ιZ{RʌJιs9{ڔ{{ZZZ{RJֽ{9Œޜ1ιR9{֭kڽ{ZZZ{{ZZ{ZڔҔZ{Zs)1ƜkJ{{ֵ{1{ZsRʵ9{Zҭ)sΔZ{{{{{{Z9Z{ޭZZ{1kkRZ999Œڽ{{Z޵֔9ҭ1Ƶ99Z{Z1{{ZZ{{ZZ{9Z{{ZZZZ9s1{))R9{Zҵ{ι9{{k)ιڽҵ9{99{ZιR{Z{sJJs{ZZZ9Z99{{޽{{{{ZZ9ZRʌ))kRʵ9ڌιZ{{{9ޜZZZZ9Z{9ZJZ{Z1ƌ)sεZsε{JµZ{Z99ZZskڽZ֔9Z{s{{ތ)1Z{{99{9ZsR޽{{{{{ZZZ1ュkJ)ιڜJ)19{{{9ޜZ99s1RZ{Z9ڵsJ9{Z1ιJJ{{1Ɣ99{{{ZڭZ99Z{ZҭڽZR{{{ιR9{9)999{9ZZZ{ޔҵ{{Z{{{Z{9ڵs1ι)ιZ1)Z9ZZZZ9ss9{{9ڵs)11ιιι{sιkk1Ƶ9{l1ƔsRRRsεֵֵ֔sιk֜{999999{{ι޽ss{{Z99ZZ99Rʌ1{{1J99{{{9{ZZZZ{ڔ9{{Z99{{{{{ι)ҜιιJ)ksεڵs­kkRs1ι))JsZ{ڔkJιsJJ1Ɣҵ֔RιkJJ))JRZ{{ZZZZ99{ޭ޽Rs{{9{{{Zι9{{{{)Jֽ{99Z99{ZZZ{9ڔZ{9Z{{{{{{Z{Z1)R{k)k)J1ssRιkkι11ιkJιιιιιιιkkRZZ{ZRʭιュJJJ)k1Z{{Z޵sR111ZZڵֵ9{ZZ{99ڭ)ιZsµZ{ZڔҔҵZZޔ{{֭Z޵)JR{Z9ڵֵ9{9{{ڵ֔ҵֵڵ9{{{Z{{{9RkR{{sk)オsι1Z{{Zޔ1R991t99Z99sΔ9{9s­ιR{91sRRRsssΔ9Z{{9Zڭ)JsZ{ڔsΔҵ֔Ҕ{sιҜJ))1ZZRsZ{9{Z99999999Z{{{Z99999sέR{ZR{Z֔ZZZZ1ZZ{{{ZZ{{)R޵Rs9Z9{ڌ))ι9Zsڜ{99ޔҔҵ{91)kkJ޽9R{Z9{99ZZ{{ZZZ99ZZZ{{{1Zތ)19Z99{{9{9Rιs9{{{{{{{ι)))ιsRZ99sk))J99ι1{9Z9Z{{119ιsRιRZ9R{{9{{Z{{{{{Z9Z{9R19{R)kssΔ9ZZZZڭڜ{{9Z{{{9k1ιJ)JιRsι”Z{9{{sΌ))kιιιZ{{{ZZ99{{9R{9sµ֜{{{{sΜZZ{{{{{Z{99{9R199)R9ZZ{{99Z9Jι{Z{{ޭJ֜9sέJJµs”9{9ZҌ)))JsZ{ZZZ99{{ޔޜ{Rs9ZsµֽZ9{{Z99{{{ZZ{9{{1sZksε֭ZZ{{ZZ{{ڌ1Z{Z{9999ZkZRʭ{RRZZ9{k)ιR{{{{{99{Z{ZZsڵs{9{{Z{{ZZ{{Z99{ZZ{Z9sεZZ1JJιZZZ99)J{{{{{s1111s9Z{ZsΜ91ڽ91ƵZιιZ99{{{{Z9{{{Z99Z{{{{9{޵9ZZ{{9{{999Z9޵ZZ9ι))sιkRʵڔJJ1ZZ9ssR1ュkJJJJJkιιJ)J֭ҜZRsޜιRZ9ڔ9{޵9{ޜ{ޜZ9{Z9{9ZRʔ9ZZ9999ZZ9Z{{{s))kιJ))))JJJJJJJJ)))JJJޜ{{Z9ZZ{{91ƭkkkkJ))))1ZޭRʜޜ{Rオ{{Z{{ZsΔ{Z99{9Z{1sZ{{Z{{9Z{99Z{ZZ{Ҍ))))))J)))JktҔιJι{9ڔҔ9{Z9{9ssεڔ­)Jֽ㭵Rʜ9R{{{{Z{{Rµ֜99{9999Z991R9Z9991ιk))))JRι)))))))Js{Jڜ{”9ZZ9ZZ{Z{ZZZι㭵RʜZZ9s1Z{Z9ZιR{ \ No newline at end of file diff --git a/examples/loading/model_with_vertex_color/graphics/texture.grit b/examples/loading/model_with_vertex_color/graphics/texture.grit new file mode 100644 index 0000000..207c056 --- /dev/null +++ b/examples/loading/model_with_vertex_color/graphics/texture.grit @@ -0,0 +1,2 @@ +# 16 bit texture bitmap, force alpha bit to 1 +-gx -gb -gB16 -gT! diff --git a/examples/loading/model_with_vertex_color/graphics/texture.png b/examples/loading/model_with_vertex_color/graphics/texture.png new file mode 100644 index 0000000..eafd9fa Binary files /dev/null and b/examples/loading/model_with_vertex_color/graphics/texture.png differ diff --git a/examples/loading/model_with_vertex_color/source/main.c b/examples/loading/model_with_vertex_color/source/main.c index 161353f..d6b5a1f 100644 --- a/examples/loading/model_with_vertex_color/source/main.c +++ b/examples/loading/model_with_vertex_color/source/main.c @@ -7,7 +7,7 @@ #include #include "sphere_vertex_colors_bin.h" -#include "texture_tex_bin.h" +#include "texture.h" NE_Camera *Camera; NE_Model *Model; @@ -48,7 +48,7 @@ int main(void) NE_ModelLoadStaticMesh(Model, (u32 *)sphere_vertex_colors_bin); // Load a RGB texture from RAM and assign it to "Material". NE_MaterialTexLoad(Material, NE_RGB5, 256, 256, NE_TEXGEN_TEXCOORD, - (u8 *)texture_tex_bin); + textureBitmap); // Assign texture to model... NE_ModelSetMaterial(Model, Material); diff --git a/examples/loading/paletted_texture/Makefile b/examples/loading/paletted_texture/Makefile index 133ddc5..6a54f39 100644 --- a/examples/loading/paletted_texture/Makefile +++ b/examples/loading/paletted_texture/Makefile @@ -23,8 +23,8 @@ TARGET := $(shell basename $(CURDIR)) BUILD := build SOURCES := source INCLUDES := include -DATA := data -GRAPHICS := +DATA := +GRAPHICS := graphics AUDIO := ICON := diff --git a/examples/loading/paletted_texture/Makefile.blocksds b/examples/loading/paletted_texture/Makefile.blocksds index 626cf71..efe837e 100644 --- a/examples/loading/paletted_texture/Makefile.blocksds +++ b/examples/loading/paletted_texture/Makefile.blocksds @@ -1,3 +1,3 @@ -BINDIRS := data +GFXDIRS := graphics include ../../Makefile.example.blocksds diff --git a/examples/loading/paletted_texture/assets.sh b/examples/loading/paletted_texture/assets.sh deleted file mode 100644 index 446d92c..0000000 --- a/examples/loading/paletted_texture/assets.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -NITRO_ENGINE=$DEVKITPRO/nitro-engine -ASSETS=$NITRO_ENGINE/examples/assets -TOOLS=$NITRO_ENGINE/tools -IMG2DS=$TOOLS/img2ds/img2ds.py - -mkdir -p data - -python3 $IMG2DS \ - --input $ASSETS/a3pal32.png \ - --name a3pal32 \ - --output data \ - --format A3PAL32 - -python3 $IMG2DS \ - --input $ASSETS/a5pal8.png \ - --name a5pal8 \ - --output data \ - --format A5PAL8 diff --git a/examples/loading/paletted_texture/data/a3pal32_pal.bin b/examples/loading/paletted_texture/data/a3pal32_pal.bin deleted file mode 100644 index 70e4990..0000000 Binary files a/examples/loading/paletted_texture/data/a3pal32_pal.bin and /dev/null differ diff --git a/examples/loading/paletted_texture/data/a3pal32_tex.bin b/examples/loading/paletted_texture/data/a3pal32_tex.bin deleted file mode 100644 index a3bf959..0000000 Binary files a/examples/loading/paletted_texture/data/a3pal32_tex.bin and /dev/null differ diff --git a/examples/loading/paletted_texture/data/a5pal8_pal.bin b/examples/loading/paletted_texture/data/a5pal8_pal.bin deleted file mode 100644 index 26cf088..0000000 --- a/examples/loading/paletted_texture/data/a5pal8_pal.bin +++ /dev/null @@ -1 +0,0 @@ -! I -#include "a5pal8_tex_bin.h" -#include "a5pal8_pal_bin.h" - -#include "a3pal32_tex_bin.h" -#include "a3pal32_pal_bin.h" +#include "a5pal8.h" +#include "a3pal32.h" NE_Material *Material1, *Material2; NE_Palette *Palette1, *Palette2; @@ -51,14 +48,14 @@ int main(void) // Load part of the texture ignoring some of its height. You can't do // this with width because of how textures are laid out in VRAM. NE_MaterialTexLoad(Material1, NE_A3PAL32, 256, 192, NE_TEXGEN_TEXCOORD, - (u8 *)a3pal32_tex_bin); + a3pal32Bitmap); // Load complete texture NE_MaterialTexLoad(Material2, NE_A5PAL8, 256, 256, NE_TEXGEN_TEXCOORD, - (u8 *)a5pal8_tex_bin); + a5pal8Bitmap); - NE_PaletteLoad(Palette1, (u16 *)a3pal32_pal_bin, 32, NE_A3PAL32); - NE_PaletteLoad(Palette2, (u16 *)a5pal8_pal_bin, 32, NE_A5PAL8); + NE_PaletteLoad(Palette1, a3pal32Pal, 32, NE_A3PAL32); + NE_PaletteLoad(Palette2, a5pal8Pal, 32, NE_A5PAL8); NE_MaterialSetPalette(Material1, Palette1); NE_MaterialSetPalette(Material2, Palette2); diff --git a/examples/loading/simple_model/Makefile b/examples/loading/simple_model/Makefile index 133ddc5..6006f41 100644 --- a/examples/loading/simple_model/Makefile +++ b/examples/loading/simple_model/Makefile @@ -24,7 +24,7 @@ BUILD := build SOURCES := source INCLUDES := include DATA := data -GRAPHICS := +GRAPHICS := graphics AUDIO := ICON := diff --git a/examples/loading/simple_model/Makefile.blocksds b/examples/loading/simple_model/Makefile.blocksds index 626cf71..151bded 100644 --- a/examples/loading/simple_model/Makefile.blocksds +++ b/examples/loading/simple_model/Makefile.blocksds @@ -1,3 +1,4 @@ BINDIRS := data +GFXDIRS := graphics include ../../Makefile.example.blocksds diff --git a/examples/loading/simple_model/assets.sh b/examples/loading/simple_model/assets.sh index b06d2f1..122771f 100644 --- a/examples/loading/simple_model/assets.sh +++ b/examples/loading/simple_model/assets.sh @@ -4,17 +4,11 @@ NITRO_ENGINE=$DEVKITPRO/nitro-engine ASSETS=$NITRO_ENGINE/examples/assets TOOLS=$NITRO_ENGINE/tools OBJ2DL=$TOOLS/obj2dl/obj2dl.py -IMG2DS=$TOOLS/img2ds/img2ds.py +rm -rf data mkdir -p data python3 $OBJ2DL \ --input $ASSETS/robot/robot.obj \ --output data/robot.bin \ --texture 256 256 - -python3 $IMG2DS \ - --input $ASSETS/teapot.png \ - --name texture \ - --output data \ - --format A1RGB5 diff --git a/examples/loading/simple_model/data/texture_tex.bin b/examples/loading/simple_model/data/texture_tex.bin deleted file mode 100644 index 7c633ea..0000000 --- a/examples/loading/simple_model/data/texture_tex.bin +++ /dev/null @@ -1 +0,0 @@ -9{)1R1R{{{ڭs{Z9ZZZ9ޔҔ9s9Z{1ι޽Z­ֽ9Jڽ{ιs9{Z{{޵99RRʵ9{{Z99Z9sΔ{{9{{sR1Ƶ{ZkZ9kRsR1{{{ι֜Z9Z{9Rss9{9ڵZڭJ199ιR{{k9ιZ{Z{ZڔZ9sΔ{{ZZZ{{{Z{s1s9Z1))RʽZRRZ{Z1R{{9199{1”999{ޔ{޵ZZsΌkµ9{{ڔ99RҜZҌ{{ZZ{sZZڔZsRʔZڔҔ{{9s1s9{Z9R9JZ{9Z{{{s9{{ι1ZZ9ZZιιs9ZZZZ9ZҵZュιsΔRʔZ99kι9Z{ZRʌs9{ZZ{{sR{Z޵{9ڔҔҔZsR{{9ZZ­µZ{Z99999{{ιRZZι)k{{{{Z9޵Rι1sss1Rޜ99Z1ƔZ{{{{{{ҭҜZ9{91JιZ{{Z9999{Ҕ9{Z޵Rュ{1ZZ)kオ9ZRJZ{{Z{{9s1{Z{9ڵ֔{1R9{9Z9sΔҔRlZ{Z99999Zι1ZsJk9{s1ιJ)))JJJJJ))Jι֜9Z9s1ƵZ{{{{9sι޽99{R)ޜ{{ZZZ9{{{9ssޜ{{{{1J)ι1ιҜڭ)ڜ9)9{{Rʵ{{9{9{9ss9{1Ƶ֜99s{{sΌZ19kks{{ιιιιιιιιιュkkιJ)9Zs1ƵZ{{{{Z19{9ZZJι{Z9{ss{1J)ュR999{{Rʌ)ޭ){{ڜ{99{޵Z1Ƶ{ZsR{sRRs{{ι)11ޜތJsst999999ZZ{{{Z9999ιJιڜZ9s1s9Z{{{ZRZZ9ڭk9{Z{{{){{91)1Z)){ZֵZ{{Z9Z{ޔZ9R1ޜ9sΔ{9ss{{9RkksZ9Rޜ㌱J)9sι{9RιsεZ{9Z11s{9ιҜ{޵sΌ19{ZZZ9skJ{{99kҜJ)ιڜs{{{{{ޔҵZsZ9sε{Z999Z{Z{{kZオ֜9kkRZ{1ιsι1Z9{ZssΔ{9sέֽRRι1{Z9Z{{ZsΌJkڜ{ZZ9{Z9ڌ199sέ)Z{{R{sε99Rڜ{Rs9{ZZ{Z{{ޔιڽ{֭s{{91kޜ{1ι1ι1ޜZZZ{{9{{9Rʌ֜sRRι1ƵZZ9{9{9sΌk1Ƶsι{9{{㭵RZ{{9ZZ)J11sRޔҵZR9Z9RʵZ{{{ZZ9ZZŒڽڌ1Z{{9Rʌιޜ19Z1ιs{Z9{{9ZZ)RZZ1ι1ƔRRʔҵZ{9ZZ{9ҌJRZZRʭs9Z{{{㭵JҜ{Z9ZιRs1s{1ƵZ{ޔҵZZRʭZ{{ZRʔ999{{Z9ZZRʌҜ{{{ڌZZs1Ɣ9kRι޽91オZ{ޜ{9Z{{9Z9Ҍ)µ9{91ƭ1ƵֵRʔ{Z{{Z֭JRʜ֌sZ{{Z{kk֜999{9ss9ZsέZZ1Ƶ9ҵ9ιޜZ{ZssΔҵZZsΌ{ZsJ{Zs1ƔҔJkιk޽ιsZޜ{999ZZZ{{Z9{{99ڔsk)1ڔ{ZZZs{{ZkJsΜ{sJks9{Z{ZJι{{{9{ڌιZR1sZ9sڭ1Z{ZZ99{Z99ιJι1RRR11Rss)R991µRRRʌ)JҜιҜZ{ZZZ999Z99{{ZRZJ)s9{9{{Z9{9ss9{{{s)kZ֌)ιޜZZZޜ19{{{99{{9֭{1ƭRR”{ޭ1ZZZ{{Z9Z{{Z{ZkJkιR9sΌJιRʔҵڔιュZ֭))ιZιs{ZZ9Z{9޵ι眔ҜZsJι{Z{{ZZ991Ɣ{{ZRkRsέ{{{99sR{{99{Z9ZZ{{sιs{{kJJJҜ999ZZZZZ{{{ZZZ{{Z{ڵֵֵ{91ι1Ɣҵ9RʌkkJڽ{9ZZR1kJs9sk県֜{9ZZ{{1Ƶ֜{{ZR)k{9Z9Z{sRZZ9Z{Z9{{{ZstZZ9sέ)1ZZRʭιRʵ9{{{Z{{1Rޜ{{{{{{1ƔZsRs{1J){sιR9{ZZ9ZZs111RʔҔJ県{{99ZZ9Rs9{RZZ{Z{sJ1Z9Z{Z9Z{Z1sZ{{ZZ{{ڭ{{ιs9ZZZ{{{k)Z{ZZ1Ɣ9ZkJ191ιZ{ZZ9999ZZRk眭{{ZZ{9{Z9{1ƵZZ)ks99Z9ZZRιs޵999{ZsΔ9{{sZ91)kJJ1Rʔ9ZZ֭)ιZ9Z{{9R1ƔZ99㌱)1ޜι{Z9ZޔRʔZZR)֜{{{9{Z99sRޜ{{{{kJŒ)ι1sޜZ9Z1R91Ɣ{{s{{Z99ZZZ{{1Rʵ{9)オֵJJ1sڔҭ)kRsέ)ιRʔҵ{{sιιRZZ9筵)RRι{オ{Z9ZssεZ9Js{{9ZZ9sεZ{Z999{{s)ޔιJJRZ{1{RZ1Ƶ{ZZZ99Z91kR{ތ֜RlJkι)sZ9JRޔҔޜ{9ι)Jڽ{޽9筵kt9オ{{Z9Z9ޜkι{ZZZ9{ڵZ{ZZ99Z{ڭkZ91lҜR19ZR޽µ{{{ZZ{{{{R1R1ュ1{ZR)9{Z9޵sRJ9Zk{9sڜ{JJ1{޽㌱9ZιR{オ{Z{ZJZ{{9Z99Z{ڵZιZ9ޔR޽{1Zt{ZR{{ZZ{{{9Ҕ91ιRڔҭ19{ZZ{9R1s{9ŒZ֔ޜ㭵)ι9{޽ڌ9RιµZ{オ{{{{9ZJ{{9{Z9{Z{{{{{11ƵZ1J1Z{91sZZRʌ9R919{{{{{s{R1RJsεֵ9{ZZ{{{{9sέRڵ9Z{Z޽kZ9sιRZ޽Z{{ZιksZ{{{9{Z9{{ZڔR­ι1J)Z{{ޔҵ99֭ڽsΔ9Rt{{{{Zڵ99sι)J”9{{ュRʵ9{{RZڽRk1{ZRR{ιsZZZ{{{ҌZ{{{Z9Z9{{ZڵޔJZ{{{Z9{{Z)sZZֵZs1Z{{Z9ZZ1ƌsZ99{{ZJs9{{{{{9Rڽ1ksΜZRR99{ޜ999ZRʌ{{{Z9ZZ{9RsZ{Zι))RZZ999Z{ZZ1Jオֵ֔ҵ{1s{{{9Z99{Z9Z9Rt{{9Z{{9ι)RZJJ1Ɣ1ιֽ{{JҜ9Rڽ{R99Z{ޜι{{{Z{99Z{{{sRʵZ{1)Jιs99Z{9ڵֵsιRʔ{RRʔ9{{{Z9Z9Z99{ZZ1RZ9Z{{{{{Z99{ڌJZιιJ)1{Z㭵JڽιҜ{RZ{9ιR9Z9{Z9{{Z{{{{sR{)s9Z{{Z9991ƭιR{Z޵޵sΔ9Z99{9Z99{{{9RʔZ99Z{{99Z{ZRkk{ZڵֵRJksJkιҜZ1Z99ZZޜ91オ{{Z{9ZZ{{RRʔ{ޭ1ƔZ{1ιι1ڵZ{9RsZ{9ҵZ99{{{9֔9{{99ZZZ9sΌ޽99Z91))Z)k9Zsιڽ91ZZڜ999Z{Rs9{J)s{{޵1ƭ1{Zsέs{9ҵZ{9{{{9999{{ZZ{{Z99֭{㌱Z)J{19ιR{Zޜ99ZֵZ{Rs{{9RkRʵ{Z9{9sΌ9{s)Z{ڔ{{99Z{{Z{{9999Zιk9Z{sJsJJ{{Z9ڜ㭵Rʜ99{R{ZZ{{{ҔZ9RR{{{99Z{{9ZZ1ZZι)Z9{Z{{ZZ{ZZ9kֽZ9{ι)k)޽{sR1ιt{㭵RʜZZ19{{{Zss{{Z9ޔlsss1ƭ)JsΜ{99{9{{R{)kֽ{9{9Z{{9{{1ƌҜZ9Z{91)k)s9RιιR{㭵sΜ9ZZsιι{{RR99Rl))kk)JιRs1ƌJR{9{R1s{{ι{{1)9Z9Z99Z{9޵֔sεZZsέsZ9{{{㌱9筵kι1sεZڭsΜZ9Rk99RڽJ)Jkkιιιs1ƌ19{9ZRk))))9Z9{{JR{kJRʜZ9Z99Z{9޵sRRʔ{9sR{{{9Z{JRJ)1sΔ999ZZ{ZsιֽZιkҜ{{RZ{RJ)ιRʔڵ99{9sR{Z{{J)ι))ҜZ9Z{ZRJJ1{)k֜Z9ZZZ{{{{{{Zss9Z{{9s1Ƶ99{{9ZZ1)Z9)))))Jιs9ZZsι1Z{sJZ{1オ{9ι)ι{{{ZZ{ssε{Zڵ)JZι)ιZ99{{ҭ)9{{kJRZZ{ڵZ{Z{{{{{sRsΔҵֵsR1µ999{{{J)9Zڌ)kkJJJJJJJ)JJkιι1ޜ9{kι{Z9㌱)sΜ{{ZsZ{{9ޔҌJ9֌)R{{99ZZҭ֜Z{Z1J{9Z9{{{ZR11ιιs{Z{{kk99)s޵s11RRR1ュkι1s{ڵ9ZZZ99ZZkι{9ssΔk)ҽZ{ZZ99ڵ99lֽ{1)kڜ{Z9Z{ιsZ{Z{1kιڜ{99{{{ڵ֔sR1Rʔҵֵ{{Z{Z֌)91JιZ{{{{{{{ZRʵ9RZ{{{Z9999Z{ZsJZ9ュ))ڽ{{{Z999ZZZ9Z{ޜsιҜޭι99Z{)JRZZ{{{1k1Z9ZZZZ{9ZZ9{֔ҵZ{9sJ)J{Z9sΌ1Ɣ99{Z{R{{9RʌksΜ{Œ)k{Z{Z9Z{{Z{9k)ιZs眭޽{Z{ޭڜ{{{޵9{Z9{{Z{{{{Z9{{9s11Ƶ9Z{{JJι­{{sΔsΔ999{9Z99999ڔZ{k19{{1ƭR{Z9Z9{9ZZsι֜{))sZZ19Z{RkRZZ{9ssεZ{Z9999Z99ڵֵ99ڔRʵZ{ZZ{{J)Z9{R{99{9Z9{Z9ZZ999Z9sιµZ{{9ֵ99Z{9{Zι1{J19㌱9Z9ιZZ{{s111RʵZZ{{Zڵ֔ҵ9{Zڵ֔Z{ZZ{9֔Z{Z{{1J޽{Zss{9ZZ9ZZZ{9ZZ{{{9Z999ss9{{99ZZ9{޽9ZkZ))s{{ZZsΔҔZZZ9­kιsZZ޵R1R9Z9{{Z{sRޜ{999ιk){{{sε֜9ZZ9Z{99ZZZ9Ҕ9{9Rs{{9Z9Z{1ιk9ZR޽99Z޵9ޔޜ{{֔Rl”ڵ֔ssΔZ{ZZZZ{1ιR{Z9Rk))ιZ9{{R{9{Z9Zs{ZZ99{sޜZRʔ9Z{99Z9{sι֜R)1޵ֵ9ιZZ9Z{{{9Z{ڵ9ZZ99{{Z1ιι1sZ{Z{{{9Zkkµ9Z99ZZ9Z{9R9Z9{9{ZRsZZ99Ҕ9ZssRRRRʔ{{{{99Z919{֌s9Z9ڵֵڵ)ι9Z{Z9999ҵZ9{{9ZsR1RʔZ{{Z9{{֔sι))Rュ)ڜ9Z{sΔZ{9Z{9Z99Zֵ9{s9R11RsRsZ{{ZZ{{{Zڜ9Z{ZZRιR޵k)Z{Z99ι199Z{{{ZZ{{ޔ{9{9Z{Z99Z99Zҵsέ)J)){{9{{s9{99{{9{{99{Z9{ZsZ9ڔ{ZZ{{{{9Zҵڵ{1ιk)){{{{R{9Z{9{{ڵ{{{{9Z{9{{{ZZZ{{99sΔڵsJ))kR9Z9ZҔ9Z99ZZ9Z{{99Z{{ڵZ{{{޵Z9Z91”9))ιsε9{{sޜ9{9ֵZ{Z9ZZ9Z{ZZ{ZZRRʔ99ҌRssεZZ9ҵ{޵Z{99999{{9999{{{{{{Z֔99ZZJRsι{{ҭ9Z9Z{Z{֔Z{9{ޔ޵֔sΔҵڵ9Z{{{{{{{{{{99Rι1ޜ91ƌsZ{ZZZZޜڔZ{99Z{99{Z9{Zs9{{{{{{{{{91޽Z9{1)9ZRs9{9ZZ{ֵ{99{ZZZsRRRsZ9ڵ9Z9{Zskι޽91{ZZZ9{Zֵ{{99{ZZZ9Z9sR{{991Ɣ{{9)JRRZ9{Z9{Z{ֵ{Z99{{{{9{9޵Zޔ{{9ڵ{{s)k9R9ZZ9Z{{ҵ{Z99ZZ{9ZZ1ι1Ƶ{{{{9RR9{99ι)1R1999Z{ڔ9{{{{{{{Z֔{{޵9Z{{{)ュ{{{ZZ{{{ҵ{{99Z9{{9ZZ9Z{ss{{{R19Z9ιιR9Z{ڔZ{{s{{{Z޽9ֵZ{ZZ9RkJs9Z{{Z{{{{ֵZZ99{9{Z9999Z999ޔҵZ{{{Z19Z9ZRZ{Z{ZR{9{{sޜ{{9޽9ڵ9{ZZڔ)ιڵֵZ{Z{Z{{ZZ9Z9Z{9{Z9{{9{ZZ9s9{{{{{{9sέs{9Z999ZR{99{Zs{{ڜ9ڵ9{Z{9Zs{Z{{{{Z{Z{{{9{{99{{{{{9Z{9Z9Z99s޽{{Zޔιιڽ9Z9ZZ9{1オ9Z{ZZ{{9s9{Zޔҵ9Z{{9sssε{{ޜ{Z{9kZ9{9Z{{{999{{ZZ99Z9Z{99{9{{99{9sε֜{ڔs1ュιsZ9ZZ9Z{tZ{Z9Z{9sZ{sε9{9s11{ޜ{{Z{9{ޔ{Z{9{{{{9ZZ99Z{{ڔҵZ99{{Z{s9{{Z9޵sュkι1Z99{{{{{{9{{sZZ{ss{{9ڔҵZ{{{{9Rι޽{{99ZڭR{ZZRڽ{Zֵ{{{޵9Z{{1Ƶ{{99Z{Z999ZRʔZZ9ڵsR1ιι1ƔҵZ{999999Z{9Z99R{Z{{{s{Z{1ksΜ{{{{99{{11RJs{ZZ{Rs{{{Z{{Z{s{ZZڽZ9999{{9Z{RsΔҔsRʔsRʔZ{{{99{1ιڽ{{{Z֔9Z9Z{ZҭRZ{Z99999J)R9ZZ{R1{Z{Z{{R9R1{{Z9{{s1Rʵ9Z99ZZ{Z{RιR9{ZZZޔڜ{ZZ{Z{R9{{{{{{ZRʌk1RR11Z1ޜ{Z{{{9sڜZڔҔZZ9{9ZZZZ9{99Zޔιs99ֵ9{Z9Z1ƵZ{{)ι9{{{Z1ޜ{{9{{{Z{{Z9ZZ{{{{Zssε9{9Z{{޵1ƌsZ{{{9{99{9Zιs9ڭJ֜޽sZ{9{ZsιR9{9ZZ9{{Z{{ZZZ11s{{9޵֔Ҕҵs1ιJk{99{ssΔҵ9Z{9{{sJ)ι{9Rsڵ֌JڜZιR9tҜ1µ9Z9{֔sR11RʔZ{{{ZZZ9Z{11Ɣ{9sRュJJ)J{{{Ҕڔss99{{{{ڭJJ)RRRʔ9Z{9JkJ)1Ɣҵ֔ss1ƭ{{sZ{RʵZ{Z9{9999ڵssε9{{ZZ911Ƶ9{{{{ҭJkιR޽{9Z9ڵ{Zڵ֔ҔsRRs9{{{{ZR)sΔ)J11))JJJJ))ޜ{Z9ιsZ{sZ999{{ZZ{Z{9Z9ڵZ{Z9Z11Ƶޜ{9Z9ιs99{ޜ{{{{9Z{ZZޭJs{{֭J)Jkk)RssssRsεZ{{{Z99sオ{{99Z{99999{Z9Z9ZZZZZs”{ZstZ{{ZZڔ{{ZZZs)ι{9RʵֵRιιRޔlZ{Z9999Z{9R޽Z9ZZ99Z9{{{{Z999999{Z9ZZZ{9Z1s{991ƭι{{{{Z{֔9{{{{ZҌJ11sڔҵ9ZZ{1s{{{{s{{{{{{{{Z{{99Z99{{99Z{{{{Z99ZZ91µZZ91ƭιZ{{{9{{֔Z{9Z9sέJιsڵ֔Ҕ{{ޔޜZZޔ޽{sڽ{{{{9Z{Z9Z999޵ֵֵ֔{{99Z9{9ZZt{{ZRZ{99Z{֔9{{޵91ƭtZ{ڔZ9Z9Z91ιڜ{ZZ{99{ZZZ9Z9Zޔ{{޵s1µ֜Z9{ZZ1R9{ޜ1Ɣsε֜{{Zڔ9{{ޔR9{{ZZ9Ҕ9ZZ9{Z֭{Z{{ZZZZZ{{999ڵ9{޵Z{Zڔҵs޽Z9sε{9991ƵZ{{{{{{Z9{{{{9޵֔sΔ9{{99{ZZ{1Ɣڵ{{Z{Z9ڵ)ksZZ{Z9{{ZZZ9ޜZڔҵڵ֔{ZιRZZ9{sZ{9{ZZsZ޵9{99{{Z9ZZ99Z{{{{sZ{{9Z{99{{ι1ƔZZڔҵZ{ZskZ{{ZZ9Z99Z{9{ڵ{9RڜZ9sε{Z{{9Z9ֵ9ڔ{{Z9{{{{{ZRZ{ZZZ911ƔRsZ{Z9Z{Z1ι9{{Z{{9{{99Z{{9Z{{{19Z9{{Rޜ9{ޜ99{ڔڔs9{{9֔Z޵9{ュs9ޔsΔҔҔҔҵ9999޵Z9ssZ{{Z9Z{{{{{Z{9Z9Z{Z9Z{sιҜZZZ991Z{{9ZZ9Z9s1sZsΔZZZ9)1sΔ9{991sε9Z{J{{ڵ֔ZZ9ZZZ{ZZZZZ{ZŒs9Z99Z{sR{{ޔ9ZZZ{919ZڵZ{9ZZst9{{ڽ{RsεֵֵZZZ9{ZZZZZ{9{99{sιֽZ9{֭ι9{999Z{Z9{Z9{{Z9{999R9J911Ƶ9ZZZ9{{99ZZZ{{ZZZZ9”{Z9{sι{ZZ9Z91ޜ{9Z{{9{ιZZ9sιιڽ{R)J{Z9{9Z{Z99{ZZ{ZZ{99޵ZZs9Z9ZR9{{9Z{9{{”9{Z9{{9Z{ֵRʌZZZRʌJ)k㭵))ι{{99{Z9Z{99Z{ZZZZ{99{ֵ{{9Z9ZZ9R{{޽99Z9{ss99Zs1RʵZZZ{JJJJ)))Z999999Z9J)J)1Ɯι)J))RRs99{{99999{{ZZ{Z9Z޽Z9{ZZZ9オ֜Z9Z9Z{9ڵ{{Rιι1sεֵZ9sΌ))JJJJ{Z9{{Z999{JJRkk޽1ι1s1k))RʔZ9ZZZZ99Z9ڵֵZ9Z9{Z{9{Z9{ڽZ99{Z999{{{{޵1ιι֜sk)JssΔ{ZZ{99)ksZ{sJ)ޜ{sιR9{ڭJ{Z99ZZ99Z9Z{9ڔҵ{Zֵ99{Z9{{9ZZڜZޜ9Z9{9{9{{Zsk)ιZZιZZZ{99)ks{9ι))Z֭RZ{9Z99{{ޔsεZޔZ{ZZZ9sεZ9{9{{޵9Z9{999ZJJڽ㭵Z{Z9)ks{{J)JιZιs{1Z9Z9Z{999{sΔZ{ZZ{ڵ{999{{Z9޵{9Z99Z9Z{޵ZZ9Z)9{k9{Z)ks{{{ZsΌ))kオ9{{sιֽZ1Z9{9Z{ڵֵֵZZsΔ9{Z{9{9Z999Z{{ZZ9{99{Zֵ{{9{kk19ZZJ1Z9{Zk{{{sιkJRʵ999ZZ1tҜ9Z9Z999޵ֵڔsε9ZZ{Z99{Zޜ{ZZ999{99Z{9{{Z9ޜ9ZRιRʔJ9{{ZZュ{{{Z9ҭJιRʔҵZ19{Z9{ZޜZsZ{ZZ{{Z9Z{{{{9{9ZZ9ZZZ{9{{ZZZZ{9ZZ991ιι19Ҍι99ZZZZRʌ1ZZlRʵ99ZιR{{”{9{{{91k1ZZZZZZ{{{9{{{Z9Z9{9Z{9{Z99Z99Z{9ZZ9{{999֭9Z9ZZZ9sέ޽{{Rιs{9ڭҜZ11RZ9{{{Ҍ֜{Z{{{{{{Z{{ZZZZ{{9{9{9ZZZZ{{Z{{9Z{9Z{9Rʌ1Z{{{Z{9{9Rʭڜ{Z1”9{{ιֽ{99{ιJRZ{{Z{{{{{{Z{{{{Z99{9Z{9{{{{{{9Z{99{1ƭ{{{{9Z9Rʭޜ{{R”Z9ZZ1ZZ9ZZ{JZ{{ZZZ{{{9ZZZZ9{{9{{{ޜ{{Z99999Z{ZZ{Rޜ{ZZZZsέޜ{{1オ{991Z{sZ99{Z9{sJιڜZ{Z{Rʔ9{ZZ9Z9Z{{{{{{{ZZ99{{{{ZR{Z{99ҭޜ{{{Z9{ιsΜι{99Z9ޭkҜZ{Z{11ƵZ9Z9Z{99{ޜ{Z9ι֜{{1ƵڔҔ{{sιڽt99{s)9{{{Z{Z{Z{オ{ZޜZss{ZZ{ZZ{ֵ{{Z{RZ{{ZRssRRʔ9ZZRtZZڵZιkҜZZ{Z{Z{9119Z9Zsڜ{{9{ֵZ{{s{{{{{{{{{{{{ڔRRʵڵ1ƭs{Z19{Rs{1ι1ޜ{ZZ{{{{{ZZtҜZs{{9Z{9{{ZZZ{{R1ޜ{{{Z{{9sZRkڽ9ڜ1RZR1Ɣ{{Z{{{{ZZ{{ZZ{s{Z{{{{{99{9{{ZZ9Z{{Z”{{{{{ZZR{s{9R1{R1{{1RZ{ZZ{{{{Z{Z{{1Z9Z{ιZ{{{9{{9{{9Z{{{{sιs{{{ZZZRJkֽ9s1sZ1Ɣ{{1ޜZZ{{{Z{Z999999Z{199{{ZZ{9Rk{9Z{9ZZ{99Z{{{9オ{{{Z9ZR99ι91ιιRZ{Z֔{Rޜ{Z{Z{ZZ9Z{{Z{{sオZZ{Z9999ZkR{ZZZ9999Z999Z{Z{{{{Z{{11{{{ZZZ{s9)JιュιRʵZ9Z99Z{J){{Z{Z{ZZ9{1R{{9Z99{ZZ{֌֜{9Z{9{{99Z99Z{{{{9{11{{{{{{ZZZ{9Ҕ{9)k1Z9{9{{֭Jι1Ɣ{{ZZZ{Z{9{ss9ֵ9{Z{ZRJιZ{ZZ{{ڵ9Z{ZZZ{{{9{R1Ɣ9{ZZZZRڜ9111Ɣ9ZZ{sZZ9JZZ99Z{{ZZZ{{ZZ9Z޵R1Ɣ9{ZsRޜ{Z{9J{ZZ{9ZZZ{s{{{9{ss{{{{RR{Z99R{޵lڜZ999Z{Z{{9ZZޔ1”{91R9{ZZZŒ{Z9Z{{{99{{Zڔ޽19{{{9{911{{1Z{ZZ99{RڜZ1ι{{{{9Z{9ڔ11ƵZs{Z9{ιZ{{{{Z9{9ڔs{{{{Z9{R”Z{9{ss9ZsZZ{9Z911Ɣ9オ֜ZZZ1ι{{{{Z”9{ZZ{Z9{RtZ{{ZRιڽ9s{1{{99{ZZZڔRιJJι9Zs{Z{Rιڽ{{{9{sι֜1{99ZZZ99Z{ι{Z9Z{{{֭ҜZZ֔R9ZZ9Z{ZZ{9ュk1sRsε9ZZZ9{Rι޽{{{{{9ڵ9ڭZιޜ{9޵9ZZZ{Z1ƌ1ڔҵ9ZZZ{{RZ{ޜ99sΔ{{{Z޵ZZ9{99Z99Z{Z9ZsRs1s9ZZ999Z99{9ڔҵZZZ{ڭsRʌ9޵֔ҵ9{lι1s9{{9ڽZ{9sޜ{{ڔ{Z9{{9ZZ999{{{9Z{sΔ9{ιR{{{9{{{ZZZZZ9Ҍ))ιsΔҵֵ9{R1s{{9999Z{{ZZ{9R9{s{{ZZZ{{Rʔޜ99{{ڔ9{{Z9Z{Z999ZZ9{ڵ{{ZZ{ڽ{9{{{Zڵ֔Œ1sε9{Z9{{{{{ZZZZ99ZZ9޽ZRRʔڵss{{{ZZ{{R1sεZ{{9޵9sε9{99Z{Z9Z{Z99{{{Z9{{Z{Z{Z91sZ{{{Z99֔9Z9{{ZZZZZZ{{ZZZZ{{ZRڜڜ91J)1ޜ{9Z{{Z9ssε99޵RュRssZZ99Z{9ZZ9999Z9999ZZ99Zҵ{{9{{Z9{{99{ZZ{9{{{{{Z9{9ZZ{k)Js{99{{ZZsRsε{{s11ι1Ɣ9{Z99Z{Z9Z{{ZZ{9Z޵9{{9{99{{9ZZ9{9ssZ9{99{9ι)オJҽ9Z{{99Z{{{ZZ{{9{9ޔZ{Z999Z{9{9ڜ{{{Z9Z{ZZ{11Ɣҵ֔R1Z9Z9ZZ9Z{޵֭)kޜJҽ{{Z{{{{{99ZZ{{{99{ڵZ{99{99{Z11sZZR99Z{9ZZ9{{ތ))ZRJֽ{9{{99ޜZZ9Z{ڔ9{{{9Z{{Z”9{sZZ9ZZ9Z)kkZ{)Z9{{޵Z9ZZZ99Z9RZ{{{9ZZ99RR{9sµ{{9{{9{Z9{ڌsι)Z9{{{ֵ{{Z9{ޜZ9Z{Z9RZZ99{Z9Z{{ޜ1ڜ9Z{9{9Z9{{ι1Rk9Z99sε֜{9Z{99999Z{­R9{9ҔZ9ZZZ999ZZ9{Z19Z9ZZ9{޽9Rιk)1{9Z{Zιks9Z9{9ZZ9{Z9Z֌{{ZsZ9999999{99{{{R99ZZ9Z{9{ZRk)ֽ{9sιkJJJJks9{9Z99{9{{Z{{9ιJZڔҵ9{{ޔҔ9{{99{Z9{9ZtZ9{Z9Z9{Z1Jk{kkJJkJJJZZ999ZZ99999Z{{J֜{Zsε9{9sΔ{99{9Z{9{9Rµ֜{9{{9Z9ZkιZZ9ڭ))J1kJڽ{999{9Z99{{Z99Z{1ƌR9{9sΔ9ssZ{9ZZ9{{11޽{9{9Z{ZZkZ{֌)J9{{{9JkֽZ9ZZ9Z9{Z9{Z9Z{ss9Z9ڔҵ9sΔ{Z{Z9{9Zs{{9{{999RJ1{{{kkRZkJιZZ99{{ZZ{{9{Z9{ZZZ9{9sΔ9ZZsZ{{9Z99ZR޽{9Zޔ޽Z{)sΜ9sk{ތJk1ڔs11Rʔ9{{999999{ZZZ9Z9Z99s{{99ڵ{sڜZޔsޜZ9{Z{ιs{ZZ{9ҔZZZι)ڽ{R1ιJ{Z1ƌ1sssssΔsε{99{{Z99ZZ{9ZZ99ZZZ{9ZZޔRsΔҔҵ{Zs9Z޵Z9ڔ9Zڔ1{{9{Z9{֌ZZZ99ZZZZZZ9Z{{{{ZZZ{s9Zތk֭JJ)Z{ュ1Z{{{99ZZ9{Z999Z{Z9Z{1sZZZZ{{{9Rュι1RRRsεZ{sڜ99Z9Z{9Z99199{{9Z{ι)sεֵֵֵֵֵ99ZZ{ZZ{{Z9ZsڜZRkιZ֌kR{ZRʭs{{{{ZZ{9ZZ99{{99Z9ι”9999999Z9ڔsι”ZZssΔ޵sΔ9{99{ZZZ9Z{{99{{1Ƶ{9ڵ1ƌ)J19{{ZZ{{{99ZҔ{Z޵ιJsΜޭsZZ99ι{{ZZ{{Z99Z{Z9Z99ZZ999{{1Rʔss9{{{ZZ99ڔRʔ9{Z{9ޔssRRʔZZ{9{Z{{9ZZ{1s99k)kR9ZZ99ZZ{{9s99ιs{{99ҭ”ڵZZ{{{99Z{9ZZ999Z{Rʵ99Z{Z{Z9{9{{9{ZZZ99{ڔZҌ)R{{{{{9Z{9Zs޽{ZZZk֜Z9ZュιιR9ZZ99999{Rʔ{{֔Ҕ{9{{ZZZ99Z{{9ZZ9{9{{9{{޽{ZュR{{{9޵9Z{{99{9sε{{Z9999Rʔ{眭ޜ{{Zڔss1ƌkRZ{ZZZ1Ɣ{Z޵sRʔZ{{{{Z9{{Z9Z{Z{{Z99{ZZ{9{9Z޽ZZ{tZ99{ZZ{Zsε999Z{{ڜιι9Z{ZZRks9{ZZ{µ֜{{{Zڵ{{{ZZZ{{Z9Z{{{{Z{{9ڵޜ{9{ZZ9{޽9{{{{sιιZ99{{999ޔRsssssΔ9{ZZιιZZ{91k{Z1Rޜ9R1{99{޵9Z{{ZZ{{{ZZZ{ZRڜZ9ZZ{9{޽9{ZsιkJ{{{{9ڵ9{999{{ڔιksZ9{991ƌڜZskιڜZ”Z{{ZZ{ڵ99ZZZ{{Rʵ{9ZZZZ9޽99RRʵ9{ZRkk”Z{{{{{{{޵ޜ{Z99Z{{9ZZ9{Z9{{sΔҵsksZ9Z{{Rʭ޽{ksΔRʌ)ڜZs9{{Z{ޔZZ99Z{{{Rs{9{Z9{9Z޽ҔsέJιRʔҵڵlµ999Z{9֔ҵ{{{{99Z{ZZ9ZZZ{sΔZ9Rʌιޜ9{{{9Rʭ19ތ)ι{{֌)ι{{1s9{9{ssZZ{{ZZ{9s1ƵZ{ZZ{ZZZ9ڜ9kJ1ƔRι1{Z{֔Z{{{{{{{{Z9ZZ{ZZZ9{{99Zֵ9{Œs{9Z{{Z99Z{{ŒsZZ1ڜZι)֜1s9{9{s1ƵZ{99Z{{Z99{ZڵֵssεZZ99{Z{1ιskRʵR1ڜ{Z{{{{{{Ҕ{{Z999Z{ZZ{99{{ZskZ{9999ZZZι{ZsJJR{Z)ι޽RR{9Z{91ƵZ99{9sュkJ999Z{9Z1ιkkιR9ι޵{ZޔsRʔ9{{֔{{{ZZZ9ZZ9{ZZ{{1kZ{ZZ{{Z{֭ιڜZsk)9ιJ9R1ڜ{{99Rs9{Z99ZRʭJ)kιιk{{{skJsZZ))J9ڔҔ99{{{{{Zޔ1111s9Z999Z99999RʌιZZ99ڜ{ҭZsk)Zlι11ƵZZZ{91{{Z9Z{{1RsειZ{{{{ι”9{{{{Jι)Jtҵ9{Z{ZZ{{{{Z{{Z9)k1{9999{9Z{99{9RʌιZ{ڜ91ƌ{9sk){ZsRʵ99޵֔{{Rs{{{Z{Z9{Z1ks9999{1Ɣ99Rk1k)ιsZ{{9Z{9{{9{{9sRŒ9Z{9Z9Z9sέιZZsޜ֭ιZ9J){Z9Rιk”9{sZZڵ99Z{{Z99{{kJsZ{{{Z9Z{ҔZZJJsZ9RʌRZZZ{{99{ZZ{{ZZ1JJι1RZ{9Z{Zι1Z{sΔ9J1sJJ1{{Z91ƌ1Rι19{Z{R11Rʔ9{ι)ֽ{9Z9sε֜ι)Jιs99s”9{{{Z9Z99Z9ZsιJJڵs1R{{ZZZ{{9sRʵZ{{{Rs{Z1k)Jιs9{{ZsιオZZRιιRʵZZ{ڵڵֵֵ֔Rιι19Z{9)ֽ{9Zs޽)JZ9ҵ9ZZ{{1”9Z9ZsJ9ޔιs9ZZ{{RRsε9{{{9Rs{9ュιR{9s1Ƶ{9ιιRssΔ9Z{{Zs1ƔZι{Z9{s9)){{޵{{{{{{­Jkޜ9{{{9sJ{{Rʌι{{9ڵsΔ9{Rʔ{99{{{9Z{Z{9ڵsR11Ɣ9{9Zsڜ{{ҭ19{9Z{sZ{1)){Z{9Rk1ƭ)ޜZ9ZR91ιڜ{ZZZڔ{{ssε9{{{{Z9Z{Z9Z9޵֔9{{99{ޔ9ZZ99{9Z91sZk9{{ZJ1ι){Z{{ιRʔҵsιRZ{{{{Z޵9{sΔZ{Z{{{9޵֔ZZZ{Rޜ{skkJR{Z9ZZZtZιk޽ZZ{ZRJZ{֌JR9{{Z9kJ{1ι{{{{{9ڵ{sΔ{{Z99{{{{ޔsR1RZ{{­1޵sksΜZ9Z{Z9Z1{J)R{{9ZZk9{RJk1ޜ{ڔҔk)Zオ9{Z{{RʔZZҔ9{9{{ڔҔڔ11ƔZ{{sΌ)JιιkRʜ{99Z{9Z{ιR{1J)99{Z9㌱J޽){9޵))Rʜ{ιオ{{ZZt{Zsڜ99Z9sε9{s11Ɣڵ֔ҔҔҵֵֵ֔J)JJιtZ9RJ1{Z{Zsڽ{ιJZ{9Z99ޭڜJ)ks9Z9{ZJڽZRʌ1ZZZ{9s{Z9޵ֵ9{{{{ڔsR1Ɣ9Zs1ι)kιRʔιsZތZ{Z9{Rιµ{{s1R{{{Z{Z{”99Rʌ)Js{{9Z)k޽ڌ{{{Z9{ZR9{Z9991kオ99sι))kιιιιtZ{Z{k99ZR1RRRRRRʔZڔҵޔҔ9{{Z{֔ҵ֔ޜZ9Zҭ)k֜991{9ks9ZZ9{{9{{Rڜ{{9{ZRZZιιs999999{J)t9Z9ڵ9ZZ{ڔZ{ڔZ9{{Z9{Ҍڜ{9{޵{sέι1sεZ9{9sZ{9Z{{R{{{{{91޽ڌJR9ޔ99sεZڔ9{{ZZZZ9ZZZZֵ{{9{sJι{99{{{ޔsRsZ{Z{{9Z{{{99{ZRJι޽{Z{{{R))Js{ZRRsޜ9ҔZs9Z{9{{{{{ZZZ9Z1)s99{Z{Z{9Z{Z9{ι19޵֔ҵֵ{{{Zk19{{{{{{{{R9{9Rk))RZ{ιޜ{֔{ҔZZ9{{{Z9{9991J)1ZޜZ{9ZZ9Zޔ9{{kιkJJ)JsZ{{9ZZҌ99Z{{s9{{{{{֭)J{91s9ڜZҔ{ޜ9{ZZ9ZZRJ)R9Z{Zڜ9{ޔҵ99s9Z))))JJJ){ZZ9Z99skJZ{{{{s{{{{{{ιJJk1RZ{ڔ9ZҔZ{޽{{{{{{9{sk)))JJJµZZ{91RsZZڔҔsι)JJkk1Ɣ1JZZZ{{{9ZZι{ޔ{{{{ιュ)s99{9Z{ZZZڵZZZҔ9{{s{ZュkkJJ)){ZZZZsRZ{1ƌkιRʵ9{9ks9{{{ZZ{ZZ{{Z{֌)ҜZ޵Z{{{9sΔιksZ{{ZZ{99{{ssZ{9Rs99ڔRk)s{{{Z9ZZZsRRʵ1s֌{9Z{{Z99ZZ991)ι{ZZ{{Z99{Z{{{ZRsΔRιsZ{9{{ڔ{Z9ssュ1{ZR9Z{sέ)){{9{Zss{Rʵ{9ޜ{{{{999{{sΌ)s9{{ZZZ99999{Z9Z{{9R1sRs9{RʵZ{֔ҵ99ZZZZ{{1ιι1Z{ڜ{9{{)Z{Zڜ99{Rʔ1RZ11Z{{{{ZZZZ{{{Z9Rʌι{{ZZ9Z9RιsڵZ{99{{1sZ9ιkkkιιι1Ɣޔι)))kt9ZZ{{1ι{Z9Z1޽ZZZڜ9Z9sιk1{Rʔ9{Z{{{{{{9֭J{{ZZ{Z{{ZRʌ9Z{{ZZ{{9sR9Zs­kJJJJJkkkkkkkJ)Jオ9Z{ZZssZ{99JRZ{99{ޜ{{Zlkksε9{s{{{{9Z{ZZ{Z֔޵R1ιJ)ιڜ{{{{{{{ZRkZ{{{{{{Z֔{sRʵ޵֔ҵޔι)))R9Z{Z91R{99{9筵Z{9Z{ޜ99ޜ9999Z99{ZsΔ{{ZZ{{{Z{s{­”9{Z9{9JZ9Z{Z9Z91s{Z{ޭk1ƔRι”9Z{Z99sRޜZ99Z{ZZZ9ޜZ9Z{99{RڽZZ{{{{{R9Z9֔99{9k֜{޵9{{{Z9Z{sΔ9ތZZs999֔ޜZ9Z{㌱JR{{{9Z9Z{999sΔZ99ZZ{{Z9Z{sRZ{Z{{999Z1Jֽޔ{{{{{Z9sޜ))sν{RZ{Z{9{){Z999{9޵s1s{Z9{{ZZ9{{sR{{{9Z{99{RJҜR1Z{{{{Z޵ֵZ{{JҜ{RRZZ{ZZZ)R{{Z֭ιڜZ9999ZZҔ9{{ZZZ9Z{sΔ{{{{99{{Z9Z{{s)R91ι1Z{{Z9{sιsZRs9{ZZkڽZ9{Jι9Z9Z{{Z{{91Ɣ{{Z9ZZZZ9ڔҵڵ֔ޜ{{޵Z{ZZ{{Z99Z{{{ktR19{{{{{ZZRsΔ11R1ƔZ{9ι{Z9999{{99Z{R)1{Z9{{{Z1ιs9{99{{{Z޵ֵ9{{{Zڔ9Z9ZZZ999999999Z{ZŒsZZZ{{{{{{1ƔڔRڜ֔9{9{R9ZZ9Z9筵kֽ{9Z{9sュڜZ9{{{{{9sZZ9ڵֵ9Z{{{ιkι1RsΔ9{{{µڵ9Z{ZZ9ι)1Z{99999Z9{J9Z{­s999{Z1ƵZ{Z{ҵ999999Z{Z{Rkss1sZ{{9ڔҔҔҵֵstZZZ{Z9{{9{kJsΜ9{99{ZZ{9kZ99sR9{ZsΔ{{{{{R{{Z9{֌1ZZs”9{{{sュιιιιι”ZZ{{9{kksZ{9ZZ9Z{ZZ9ιJs{{9{{{{Rʔڵ{sR9{{{{91ƭZ{1޽{9Zι9ZR1Z{{{{{{{{9Rsڵֵ{Z{9Z{ιµZޜ{ZZ99ZZ9k9Z9Z{9{sΔZڵZZι19{{ZRʌ{ZR19Z9Z9sڜ{Z{sΔ9Zޜ{{{9Z9ҔҵR1ƔZ{ZZ9ZZ9ZZ1JRʵ{ZZsRޔ9ZsέιsZ{{{{sΌ1ZZ119Z9{ZRιڽZڽ{99ZRʔ99{{sRsε9ޔZsΔҵ{ZZ{{{{{Z991ƭ”Z{9{{ZRRڜRʌ9{{{{{ڭι{s޽{Z{ι{{ڽ{Z9{{sZޜZ9{9sεֵssε9{{ֵZ9޵֔9{9Z{9{Z9sε99Z{Z9ZZ11{ZskZ{{{{{{{k{{{1Ɣ9{{{{{11{ڜ{{99{{1ڜ{{ュRʵ{ZZZޜ{ZڔҵZ1sε޵9{99Z999Z{Rʌ1Z{1k19{{{{9sZ{{ֵ9Z{{{Z{{{{{{{{ZRι1Z{{ZZޔ1lZ{9{9{{֔ҵ{ڵ֔Ҕҵ9{9{Zk99Ҍ9sZZZZ99{{{{{{1Ƶ{Z{Zιޜ{{{Zڔs11s9{99ޔ9{11Rʵ{{޵{{Z9{Zޭk֜{{91)J{Z{Z9Z{{Z{{Z9{{ZsΔZ9{Z){{{{ZZ9ZZZ99{ZZZZZ{Z{{ֵ{Z޵R1ƽZ999{9{99{sJι{ιڜ{sJk1ƔҔRR1s{Z9Z{{Z{{s9ZZ{ڌJZ{9999{99999{{Zڵ9޽{{{ZZ{Z99ZZ99JsZ{ZJ1Z{{kkRʵڵ֔RR9{{9Z{{99{Rڜ{9{)ιZ99Z{{Z9Z{99{ڔ9޵ֵ޵ֵZ{{{9Z{9{ZZ9{RJιZ{Z眭ޜ{{ZssRs9{{{9s޽{{{ZZ99ZZssZ{Z9{{{{{Z)9Z{9ZZ99{ZҵZ{9ڵ֔ҔҔҵ{{Z99Z999{Jk{{ZsJs{{{{Z9{Z99{ιֽ{{Z{99{R޽{Z9{{Z{{{Z)ksZ{{9Z{9{ڔޜ{Z9Z{{޵sεZZ999ZZ{Z{9RkڜZ֌ιZ{ZZ{{{{{9{{Z{ιֽ{Z{Z99{s{{99ZZ99Z{{{9RJJR{Z9{9ڵֵֵsε{Zڵ99ZZ{{s1{Z99{ZZZڵֵֵ9{{)”{Zs)ZZ9{{9ZZ9Z{{{ڽ{9ZZ9{9{Z9{9){{{{9Z{sssssε99{9ڵڵRsޜZ9Z{{ZZ{{1ƔZ9{{Z9{{9Z{k)JιRʔ1ƌJZ{{91k)9ZZZ{99ZZZ11{{Z999Z{ZZZ{{Z999{99{{)ޜ{Z999Z9{{sΔ999{ZZ{Rιιsεs1R{{{{99{{Z9{9RsZZ9{{֌1ιk)JRޜ{{{sΌ)9{99Z{{ڔ­{{ZZ{{999ZZZ{{ZZ99{{99Z{{{{Z99Z{RJkޜ{99ZZ{Z9{{9999Z{{sR{{9Z{{ZZZZ1JZRs9Z{{{{9Ҕ99Z9㭵){{RRZ{{Z9{{sΌ)ZZZZ޵ֵ޵1kkֽZ9{ZZ{99{{Z{Z999Z9Z{{J)999Z{ZZ9޵9{99{{Z9޵1s{{ڵ֔ҵ9RJZ{ڔҵ999Z{9{ڔRʔڔڜ9ڵZ{{9Zs)Z{ZZZ9{{9skJ1{ZޔsZZ޵ֵ99ҌRʜ9{Z{{9{{{{99ZZ99ZZZ{{{{ι)sZ{Z{Z޵֔sZ{9{{1ƌJRZ{{{ZsΔҵZZkZZZ{9{ιkk”ҔRZ{9s1ƔҵZ9筵)ZZ{Z9{ZRι9{{ޔsε99Z{{99Z1Ɯ{9{ZZ{{ZZ9Z{{{{{{֭)9Z{9R99­Rʵ{{9Z{ZZ9sΌ1Z9{99ZZ댱ιJ)ιRι֜91ιιk1{)kڽ{{Z99{{{{99ZZkks9ZZޔҵ{{ZZZ{91Z9ֵ9{Z9{{{Z{{ιJオZ9RιR9sZ{99Z{{{Zュ֜{ZZ91ks1k{{9Rʭ))kι1ޜZ)Z{ZZ{{ZZZ{{ֵ{ιk1Z{{Z޵֔Z{R)޽{99{{{999Zkޜιޜµ֜{ZZ{9Rʭ1999{Z{9­ҵkR1ƭJ)Jsڵ֔ҵ޵RsJkҽZ9{{{9ڔҵ9ޔRʵ9Z{9ڔҔZ{ZZZ9֭ZZ{9Z{{{ZZZZ­1{9ιsZµֽZ9Z{{ι޽ZZ{ιRޔιkJ)JιRZ{1{s)9{{Z99ڔssε9Z{9֔ҵZ{{ZZZ9ڔssε9ι9{{9Z{99{Z{{ZZ{1ιs9{{{{{ZR޽オ֜{Z99{{{{ZιkR999{{91オ޵1R9{{{{sιt99){{{{{9Z{9Ҕ9{{{Z999999޵1ιks޵R{Z{{Z9Z{9{{{ZZZZ9Z{99{{sR1R9{{{{Zι{ι{{{{{sΌJs{{Z{Z{1Ɣ9{{{{{Z9Z9ιss)kֽZ9Z{s{{ZZZ{{{RsΔsι)ι֜{Z9{Z9Z{{99Z9ZZZֵZ{{{{Zιޜ9ιZ{1ƌkι9{9Z{Z9ڵ{{{{1ιュ)9ZZ{Ҕ{9{{֭)))kֽ{{{99{{99{99{{ֵ9{91kssέ19{9ιsZ{9Z{9ZZ{9Z{{{RιҜ{{Z޵{{ҔZ{{ZsΌ))sΜZ9{ZZZZ{Z{9{Z{{9{֭))ιι֜911Ɣ{{Z9Z{Z9{ZZ9{{{{ڔ1޽{{Z9ڔZ{sZ9{9sJR{{޵9ZZ9{9Z9ޜZZ{Z9ZZZZ99{{9ޔJJ1{9ڔҵZZ9{{9Z{{Zs9{{{{޵119{{ڔҔ{1ڜ9ڵ9{{{JksZ{9ҵ9{Z9{{9ZZڵZ99{{Z9ZZ9999ZZRʌιR{ZZZ{Z{ZZZZZZZ99Z{{9RRZ{{9Z{{ZR{{{ssε9{1s{9֔9{ZZRsZZ9Z{{99Zޜ{ZZ{Z9{{{{ιs9Z99ZZ99ZZ{ZZ999{{Z9Z{s1{{Z9Z{ZZZ{Z”Ҝ{R”Z{Z11ZZޔҔ{s)sΜRR999{Z9Z{Zs9{9޵֔ҵZ{9{{1sZ{99Z999ޔ{Z99Z1ڜ{9Z{99{{R޽ι{ZR9R1Ɣ{1{ュҜZ9{Z9ZRʵZ9Rs{Z{9Z{9{Z9Z{{Z9ZZ֔Z{99{RʔZ9ֵ{{Z9sޜ{9lZZޔҵsιs99Zkι޽ZZ{9sµ9JJJ1{Z{ZZ{99{{{{{{{sڜ{ZZ{{Zڵ9ZҔ{Zs{{{99Z޵{{ZJs9{{ュkkR9Z9ιZJ19Z{Z1ιRsι)kιιkksZZ{Z9{9ZsΔZ{֔ssΔ9{Rʵss9{{{Z99Z{{{{{{{{sJ9{9sέJ))kιs{{9ι9ڭkR9{99sιRʭZZ9Z9{9{RZ9RR{s1sΔsεZZڵֵZ{Z{{{9ZZZZ{{ι1Z9k))ZZZڜZR)kޜZ{{k)sZ{Zҭι99999{Z9ZҔZ{{Z1Ɯ{ュRZZ99ZZڵ9999Z{Z1{ZJ)ιޜZZ{ZR)19Z))ιޜZ{ޜ9s1ƵZ9Z{9999޵Rʵ{{9Z{9ZJR9Z{Z{Z9Z{9sޜZs{{{Z֔sJ)ڜZ9{{s)ι{{{{9sJJ1Z{{ڭ1{{֔ҵZ{Z{Z9sΔ1sZ{{Z9ZZZZks9ZZ{Z{ss9ZҔ999猱J1{9Z{{9R)Jt9Z{{9)ιڵֵ{J޽{{999Z{Z{{ZRRڜ{Rڜ{{99ュ9ZZ{ZZ9RڜZֵZ{ޜ))ι9Z9{Z9{{{{{{Z)ιڵZ{R)ҔҔ{{s1{{{Z{Z{9{{RRZ99Z{{{RZ{{{{{9Zޔ11ƵZ{{{ZsΔZ{9{9Z)JҜ9Z9Z{{{{9{9Z9)1ƔZ{1k{9{{{9{{ڽ{9ֵ9ZZZZZZ{Zsڽ{Z9{Z{ֵڵֵZ{{{91s9{{{{{99Z{{9ιkֽZ9{9Z{19Z{{ҌJµ9{9ι9{9Z{{99{µ֜{Zs99Z9999Z{RZ{9{ZZ99ڵZ{{ZZ9޵sι111RʵZ{9ڵZ9{{Z{Z))1{{9Z{Rι{{1kJ19Z{JZ{{{{{{{{{{{ZZ{オ֜sZZRڜ{Z{{ZZZZ9޵{{{ڵֵ֔ҔssssJ))sZ{Z޵{Z{ZZ{)ޜZ9Z{{Z9ޔҔ{skֽZssRʌJ19ZZZ{ZR1Z{{{{ZZ{µֽRR{RZ{Z9{Z{{99{Z9sRRssΔҵ9Z9ڵRʌs{9޵9{{{Z)JRZ{Z999999ޔsZsΜZRR99sJ{{ZZ{911Z{{{9{{ڽsΔZ{Zsオ֜{{Z{{Z{ZZRʵ9ZZ{{ZsΌڜ{9{{ڔ9J)Z{{9sεs1Z{1”{J{ZZ{ZRRZ{Z9޵9ڽޔZ99Z19{{99{Zs99­Z9Z9{9k)1ZZss9{Zι)tҔR1sZڌ9{9{Z{{RR{Z1RZ{{Z9Z{オ{Z{Z9{{sオ{{{{99ι֜{Rι{ZޔsΔ{{99猱JRZ{ssεֵ1ƭJ1RʔZ91ι1ƔZZ9{{1ҽڭ9{Z9ڵֵZ{{Zs޽9Z19{{Z{9֭ڽ{Rڜ{Zsιt{9{Z9k)JZ9999999ZZZ9ޔŒ)kµ9{ҔҵsΔֵZ{{9kk1ZZZ{99{ޭRZ{Zޔ1ιι֜9991ƭ{{{Z{99Z9ҭڽs{Zڵ1ƌι99{ޔR1ιJ)k֜ZZZ1)9Z޵Z{{޵{眭J1{{Z9{{ZZ֭Ҝιڜ9Z{ιι޽{{99{{޵9­ڽ{s1Z{{Z{{kֽ9{J)))JJJ1ZZ99ZZZZ9RJRʜ{{{{{{{޵{޵9{ιZs)1{{9{{{ιڽ{sJkュ99{ZsΌs{{ZR199{޵9{ZJڜZsΔZ{{{{ZskҜ{sΔڔҭ)1sRιι֜{91JRʜ{{{{ZZZ9Z޵{ڌZ9Js{9Z{ZRkR)s9ιZ{{{{{9Rιs9{{ޔkJt9sڜ{{{{{sJҜZRιk)ιZZڔs191kZ{ZZ{{{99{Z޵֔Z{J1{kk{{޵Z{19Z{1kڽ91t99Z{{9ιZ{RʌJιs9{ڔ{{ZZZ{RJֽ{9Œޜ1ιR9{֭kڽ{ZZZ{{ZZ{ZڔҔZ{Zs)1ƜkJ{{ֵ{1{ZsRʵ9{Zҭ)sΔZ{{{{{{Z9Z{ޭZZ{1kkRZ999Œڽ{{Z޵֔9ҭ1Ƶ99Z{Z1{{ZZ{{ZZ{9Z{{ZZZZ9s1{))R9{Zҵ{ι9{{k)ιڽҵ9{99{ZιR{Z{sJJs{ZZZ9Z99{{޽{{{{ZZ9ZRʌ))kRʵ9ڌιZ{{{9ޜZZZZ9Z{9ZJZ{Z1ƌ)sεZsε{JµZ{Z99ZZskڽZ֔9Z{s{{ތ)1Z{{99{9ZsR޽{{{{{ZZZ1ュkJ)ιڜJ)19{{{9ޜZ99s1RZ{Z9ڵsJ9{Z1ιJJ{{1Ɣ99{{{ZڭZ99Z{ZҭڽZR{{{ιR9{9)999{9ZZZ{ޔҵ{{Z{{{Z{9ڵs1ι)ιZ1)Z9ZZZZ9ss9{{9ڵs)11ιιι{sιkk1Ƶ9{l1ƔsRRRsεֵֵ֔sιk֜{999999{{ι޽ss{{Z99ZZ99Rʌ1{{1J99{{{9{ZZZZ{ڔ9{{Z99{{{{{ι)ҜιιJ)ksεڵs­kkRs1ι))JsZ{ڔkJιsJJ1Ɣҵ֔RιkJJ))JRZ{{ZZZZ99{ޭ޽Rs{{9{{{Zι9{{{{)Jֽ{99Z99{ZZZ{9ڔZ{9Z{{{{{{Z{Z1)R{k)k)J1ssRιkkι11ιkJιιιιιιιkkRZZ{ZRʭιュJJJ)k1Z{{Z޵sR111ZZڵֵ9{ZZ{99ڭ)ιZsµZ{ZڔҔҵZZޔ{{֭Z޵)JR{Z9ڵֵ9{9{{ڵ֔ҵֵڵ9{{{Z{{{9RkR{{sk)オsι1Z{{Zޔ1R991t99Z99sΔ9{9s­ιR{91sRRRsssΔ9Z{{9Zڭ)JsZ{ڔsΔҵ֔Ҕ{sιҜJ))1ZZRsZ{9{Z99999999Z{{{Z99999sέR{ZR{Z֔ZZZZ1ZZ{{{ZZ{{)R޵Rs9Z9{ڌ))ι9Zsڜ{99ޔҔҵ{91)kkJ޽9R{Z9{99ZZ{{ZZZ99ZZZ{{{1Zތ)19Z99{{9{9Rιs9{{{{{{{ι)))ιsRZ99sk))J99ι1{9Z9Z{{119ιsRιRZ9R{{9{{Z{{{{{Z9Z{9R19{R)kssΔ9ZZZZڭڜ{{9Z{{{9k1ιJ)JιRsι”Z{9{{sΌ))kιιιZ{{{ZZ99{{9R{9sµ֜{{{{sΜZZ{{{{{Z{99{9R199)R9ZZ{{99Z9Jι{Z{{ޭJ֜9sέJJµs”9{9ZҌ)))JsZ{ZZZ99{{ޔޜ{Rs9ZsµֽZ9{{Z99{{{ZZ{9{{1sZksε֭ZZ{{ZZ{{ڌ1Z{Z{9999ZkZRʭ{RRZZ9{k)ιR{{{{{99{Z{ZZsڵs{9{{Z{{ZZ{{Z99{ZZ{Z9sεZZ1JJιZZZ99)J{{{{{s1111s9Z{ZsΜ91ڽ91ƵZιιZ99{{{{Z9{{{Z99Z{{{{9{޵9ZZ{{9{{999Z9޵ZZ9ι))sιkRʵڔJJ1ZZ9ssR1ュkJJJJJkιιJ)J֭ҜZRsޜιRZ9ڔ9{޵9{ޜ{ޜZ9{Z9{9ZRʔ9ZZ9999ZZ9Z{{{s))kιJ))))JJJJJJJJ)))JJJޜ{{Z9ZZ{{91ƭkkkkJ))))1ZޭRʜޜ{Rオ{{Z{{ZsΔ{Z99{9Z{1sZ{{Z{{9Z{99Z{ZZ{Ҍ))))))J)))JktҔιJι{9ڔҔ9{Z9{9ssεڔ­)Jֽ㭵Rʜ9R{{{{Z{{Rµ֜99{9999Z991R9Z9991ιk))))JRι)))))))Js{Jڜ{”9ZZ9ZZ{Z{ZZZι㭵RʜZZ9s1Z{Z9ZιR{ \ No newline at end of file diff --git a/examples/loading/simple_model/graphics/texture.grit b/examples/loading/simple_model/graphics/texture.grit new file mode 100644 index 0000000..42e61f7 --- /dev/null +++ b/examples/loading/simple_model/graphics/texture.grit @@ -0,0 +1,2 @@ +# 16-bit palette, no transparency +-gx -gb -gB16 -gT! diff --git a/examples/loading/simple_model/graphics/texture.png b/examples/loading/simple_model/graphics/texture.png new file mode 100644 index 0000000..eafd9fa Binary files /dev/null and b/examples/loading/simple_model/graphics/texture.png differ diff --git a/examples/loading/simple_model/source/main.c b/examples/loading/simple_model/source/main.c index 985d4a4..5d8dfd9 100644 --- a/examples/loading/simple_model/source/main.c +++ b/examples/loading/simple_model/source/main.c @@ -17,7 +17,7 @@ // NE_ModelLoadStaticMesh(Model, (u32 *)binfilename_bin); // #include "robot_bin.h" -#include "texture_tex_bin.h" +#include "texture.h" NE_Camera *Camera; NE_Model *Model; @@ -58,7 +58,7 @@ int main(void) NE_ModelLoadStaticMesh(Model, (u32 *)robot_bin); // Load a RGB texture from RAM and assign it to "Material". NE_MaterialTexLoad(Material, NE_RGB5, 256, 256, NE_TEXGEN_TEXCOORD, - (u8 *)texture_tex_bin); + textureBitmap); // Assign texture to model... NE_ModelSetMaterial(Model, Material); diff --git a/examples/other/blended_animations/Makefile b/examples/other/blended_animations/Makefile index 133ddc5..6006f41 100644 --- a/examples/other/blended_animations/Makefile +++ b/examples/other/blended_animations/Makefile @@ -24,7 +24,7 @@ BUILD := build SOURCES := source INCLUDES := include DATA := data -GRAPHICS := +GRAPHICS := graphics AUDIO := ICON := diff --git a/examples/other/blended_animations/Makefile.blocksds b/examples/other/blended_animations/Makefile.blocksds index 626cf71..151bded 100644 --- a/examples/other/blended_animations/Makefile.blocksds +++ b/examples/other/blended_animations/Makefile.blocksds @@ -1,3 +1,4 @@ BINDIRS := data +GFXDIRS := graphics include ../../Makefile.example.blocksds diff --git a/examples/other/blended_animations/assets.sh b/examples/other/blended_animations/assets.sh index ff49c67..d3cad90 100644 --- a/examples/other/blended_animations/assets.sh +++ b/examples/other/blended_animations/assets.sh @@ -5,8 +5,8 @@ ASSETS=$NITRO_ENGINE/examples/assets TOOLS=$NITRO_ENGINE/tools OBJ2DL=$TOOLS/obj2dl/obj2dl.py MD5_TO_DSMA=$TOOLS/md5_to_dsma/md5_to_dsma.py -IMG2DS=$TOOLS/img2ds/img2ds.py +rm -rf data mkdir -p data python3 $MD5_TO_DSMA \ @@ -18,9 +18,3 @@ python3 $MD5_TO_DSMA \ --skip-frames 1 \ --bin \ --blender-fix - -python3 $IMG2DS \ - --input $ASSETS/teapot.png \ - --name texture \ - --output data \ - --format A1RGB5 diff --git a/examples/other/blended_animations/data/texture_tex.bin b/examples/other/blended_animations/data/texture_tex.bin deleted file mode 100644 index 7c633ea..0000000 --- a/examples/other/blended_animations/data/texture_tex.bin +++ /dev/null @@ -1 +0,0 @@ -9{)1R1R{{{ڭs{Z9ZZZ9ޔҔ9s9Z{1ι޽Z­ֽ9Jڽ{ιs9{Z{{޵99RRʵ9{{Z99Z9sΔ{{9{{sR1Ƶ{ZkZ9kRsR1{{{ι֜Z9Z{9Rss9{9ڵZڭJ199ιR{{k9ιZ{Z{ZڔZ9sΔ{{ZZZ{{{Z{s1s9Z1))RʽZRRZ{Z1R{{9199{1”999{ޔ{޵ZZsΌkµ9{{ڔ99RҜZҌ{{ZZ{sZZڔZsRʔZڔҔ{{9s1s9{Z9R9JZ{9Z{{{s9{{ι1ZZ9ZZιιs9ZZZZ9ZҵZュιsΔRʔZ99kι9Z{ZRʌs9{ZZ{{sR{Z޵{9ڔҔҔZsR{{9ZZ­µZ{Z99999{{ιRZZι)k{{{{Z9޵Rι1sss1Rޜ99Z1ƔZ{{{{{{ҭҜZ9{91JιZ{{Z9999{Ҕ9{Z޵Rュ{1ZZ)kオ9ZRJZ{{Z{{9s1{Z{9ڵ֔{1R9{9Z9sΔҔRlZ{Z99999Zι1ZsJk9{s1ιJ)))JJJJJ))Jι֜9Z9s1ƵZ{{{{9sι޽99{R)ޜ{{ZZZ9{{{9ssޜ{{{{1J)ι1ιҜڭ)ڜ9)9{{Rʵ{{9{9{9ss9{1Ƶ֜99s{{sΌZ19kks{{ιιιιιιιιιュkkιJ)9Zs1ƵZ{{{{Z19{9ZZJι{Z9{ss{1J)ュR999{{Rʌ)ޭ){{ڜ{99{޵Z1Ƶ{ZsR{sRRs{{ι)11ޜތJsst999999ZZ{{{Z9999ιJιڜZ9s1s9Z{{{ZRZZ9ڭk9{Z{{{){{91)1Z)){ZֵZ{{Z9Z{ޔZ9R1ޜ9sΔ{9ss{{9RkksZ9Rޜ㌱J)9sι{9RιsεZ{9Z11s{9ιҜ{޵sΌ19{ZZZ9skJ{{99kҜJ)ιڜs{{{{{ޔҵZsZ9sε{Z999Z{Z{{kZオ֜9kkRZ{1ιsι1Z9{ZssΔ{9sέֽRRι1{Z9Z{{ZsΌJkڜ{ZZ9{Z9ڌ199sέ)Z{{R{sε99Rڜ{Rs9{ZZ{Z{{ޔιڽ{֭s{{91kޜ{1ι1ι1ޜZZZ{{9{{9Rʌ֜sRRι1ƵZZ9{9{9sΌk1Ƶsι{9{{㭵RZ{{9ZZ)J11sRޔҵZR9Z9RʵZ{{{ZZ9ZZŒڽڌ1Z{{9Rʌιޜ19Z1ιs{Z9{{9ZZ)RZZ1ι1ƔRRʔҵZ{9ZZ{9ҌJRZZRʭs9Z{{{㭵JҜ{Z9ZιRs1s{1ƵZ{ޔҵZZRʭZ{{ZRʔ999{{Z9ZZRʌҜ{{{ڌZZs1Ɣ9kRι޽91オZ{ޜ{9Z{{9Z9Ҍ)µ9{91ƭ1ƵֵRʔ{Z{{Z֭JRʜ֌sZ{{Z{kk֜999{9ss9ZsέZZ1Ƶ9ҵ9ιޜZ{ZssΔҵZZsΌ{ZsJ{Zs1ƔҔJkιk޽ιsZޜ{999ZZZ{{Z9{{99ڔsk)1ڔ{ZZZs{{ZkJsΜ{sJks9{Z{ZJι{{{9{ڌιZR1sZ9sڭ1Z{ZZ99{Z99ιJι1RRR11Rss)R991µRRRʌ)JҜιҜZ{ZZZ999Z99{{ZRZJ)s9{9{{Z9{9ss9{{{s)kZ֌)ιޜZZZޜ19{{{99{{9֭{1ƭRR”{ޭ1ZZZ{{Z9Z{{Z{ZkJkιR9sΌJιRʔҵڔιュZ֭))ιZιs{ZZ9Z{9޵ι眔ҜZsJι{Z{{ZZ991Ɣ{{ZRkRsέ{{{99sR{{99{Z9ZZ{{sιs{{kJJJҜ999ZZZZZ{{{ZZZ{{Z{ڵֵֵ{91ι1Ɣҵ9RʌkkJڽ{9ZZR1kJs9sk県֜{9ZZ{{1Ƶ֜{{ZR)k{9Z9Z{sRZZ9Z{Z9{{{ZstZZ9sέ)1ZZRʭιRʵ9{{{Z{{1Rޜ{{{{{{1ƔZsRs{1J){sιR9{ZZ9ZZs111RʔҔJ県{{99ZZ9Rs9{RZZ{Z{sJ1Z9Z{Z9Z{Z1sZ{{ZZ{{ڭ{{ιs9ZZZ{{{k)Z{ZZ1Ɣ9ZkJ191ιZ{ZZ9999ZZRk眭{{ZZ{9{Z9{1ƵZZ)ks99Z9ZZRιs޵999{ZsΔ9{{sZ91)kJJ1Rʔ9ZZ֭)ιZ9Z{{9R1ƔZ99㌱)1ޜι{Z9ZޔRʔZZR)֜{{{9{Z99sRޜ{{{{kJŒ)ι1sޜZ9Z1R91Ɣ{{s{{Z99ZZZ{{1Rʵ{9)オֵJJ1sڔҭ)kRsέ)ιRʔҵ{{sιιRZZ9筵)RRι{オ{Z9ZssεZ9Js{{9ZZ9sεZ{Z999{{s)ޔιJJRZ{1{RZ1Ƶ{ZZZ99Z91kR{ތ֜RlJkι)sZ9JRޔҔޜ{9ι)Jڽ{޽9筵kt9オ{{Z9Z9ޜkι{ZZZ9{ڵZ{ZZ99Z{ڭkZ91lҜR19ZR޽µ{{{ZZ{{{{R1R1ュ1{ZR)9{Z9޵sRJ9Zk{9sڜ{JJ1{޽㌱9ZιR{オ{Z{ZJZ{{9Z99Z{ڵZιZ9ޔR޽{1Zt{ZR{{ZZ{{{9Ҕ91ιRڔҭ19{ZZ{9R1s{9ŒZ֔ޜ㭵)ι9{޽ڌ9RιµZ{オ{{{{9ZJ{{9{Z9{Z{{{{{11ƵZ1J1Z{91sZZRʌ9R919{{{{{s{R1RJsεֵ9{ZZ{{{{9sέRڵ9Z{Z޽kZ9sιRZ޽Z{{ZιksZ{{{9{Z9{{ZڔR­ι1J)Z{{ޔҵ99֭ڽsΔ9Rt{{{{Zڵ99sι)J”9{{ュRʵ9{{RZڽRk1{ZRR{ιsZZZ{{{ҌZ{{{Z9Z9{{ZڵޔJZ{{{Z9{{Z)sZZֵZs1Z{{Z9ZZ1ƌsZ99{{ZJs9{{{{{9Rڽ1ksΜZRR99{ޜ999ZRʌ{{{Z9ZZ{9RsZ{Zι))RZZ999Z{ZZ1Jオֵ֔ҵ{1s{{{9Z99{Z9Z9Rt{{9Z{{9ι)RZJJ1Ɣ1ιֽ{{JҜ9Rڽ{R99Z{ޜι{{{Z{99Z{{{sRʵZ{1)Jιs99Z{9ڵֵsιRʔ{RRʔ9{{{Z9Z9Z99{ZZ1RZ9Z{{{{{Z99{ڌJZιιJ)1{Z㭵JڽιҜ{RZ{9ιR9Z9{Z9{{Z{{{{sR{)s9Z{{Z9991ƭιR{Z޵޵sΔ9Z99{9Z99{{{9RʔZ99Z{{99Z{ZRkk{ZڵֵRJksJkιҜZ1Z99ZZޜ91オ{{Z{9ZZ{{RRʔ{ޭ1ƔZ{1ιι1ڵZ{9RsZ{9ҵZ99{{{9֔9{{99ZZZ9sΌ޽99Z91))Z)k9Zsιڽ91ZZڜ999Z{Rs9{J)s{{޵1ƭ1{Zsέs{9ҵZ{9{{{9999{{ZZ{{Z99֭{㌱Z)J{19ιR{Zޜ99ZֵZ{Rs{{9RkRʵ{Z9{9sΌ9{s)Z{ڔ{{99Z{{Z{{9999Zιk9Z{sJsJJ{{Z9ڜ㭵Rʜ99{R{ZZ{{{ҔZ9RR{{{99Z{{9ZZ1ZZι)Z9{Z{{ZZ{ZZ9kֽZ9{ι)k)޽{sR1ιt{㭵RʜZZ19{{{Zss{{Z9ޔlsss1ƭ)JsΜ{99{9{{R{)kֽ{9{9Z{{9{{1ƌҜZ9Z{91)k)s9RιιR{㭵sΜ9ZZsιι{{RR99Rl))kk)JιRs1ƌJR{9{R1s{{ι{{1)9Z9Z99Z{9޵֔sεZZsέsZ9{{{㌱9筵kι1sεZڭsΜZ9Rk99RڽJ)Jkkιιιs1ƌ19{9ZRk))))9Z9{{JR{kJRʜZ9Z99Z{9޵sRRʔ{9sR{{{9Z{JRJ)1sΔ999ZZ{ZsιֽZιkҜ{{RZ{RJ)ιRʔڵ99{9sR{Z{{J)ι))ҜZ9Z{ZRJJ1{)k֜Z9ZZZ{{{{{{Zss9Z{{9s1Ƶ99{{9ZZ1)Z9)))))Jιs9ZZsι1Z{sJZ{1オ{9ι)ι{{{ZZ{ssε{Zڵ)JZι)ιZ99{{ҭ)9{{kJRZZ{ڵZ{Z{{{{{sRsΔҵֵsR1µ999{{{J)9Zڌ)kkJJJJJJJ)JJkιι1ޜ9{kι{Z9㌱)sΜ{{ZsZ{{9ޔҌJ9֌)R{{99ZZҭ֜Z{Z1J{9Z9{{{ZR11ιιs{Z{{kk99)s޵s11RRR1ュkι1s{ڵ9ZZZ99ZZkι{9ssΔk)ҽZ{ZZ99ڵ99lֽ{1)kڜ{Z9Z{ιsZ{Z{1kιڜ{99{{{ڵ֔sR1Rʔҵֵ{{Z{Z֌)91JιZ{{{{{{{ZRʵ9RZ{{{Z9999Z{ZsJZ9ュ))ڽ{{{Z999ZZZ9Z{ޜsιҜޭι99Z{)JRZZ{{{1k1Z9ZZZZ{9ZZ9{֔ҵZ{9sJ)J{Z9sΌ1Ɣ99{Z{R{{9RʌksΜ{Œ)k{Z{Z9Z{{Z{9k)ιZs眭޽{Z{ޭڜ{{{޵9{Z9{{Z{{{{Z9{{9s11Ƶ9Z{{JJι­{{sΔsΔ999{9Z99999ڔZ{k19{{1ƭR{Z9Z9{9ZZsι֜{))sZZ19Z{RkRZZ{9ssεZ{Z9999Z99ڵֵ99ڔRʵZ{ZZ{{J)Z9{R{99{9Z9{Z9ZZ999Z9sιµZ{{9ֵ99Z{9{Zι1{J19㌱9Z9ιZZ{{s111RʵZZ{{Zڵ֔ҵ9{Zڵ֔Z{ZZ{9֔Z{Z{{1J޽{Zss{9ZZ9ZZZ{9ZZ{{{9Z999ss9{{99ZZ9{޽9ZkZ))s{{ZZsΔҔZZZ9­kιsZZ޵R1R9Z9{{Z{sRޜ{999ιk){{{sε֜9ZZ9Z{99ZZZ9Ҕ9{9Rs{{9Z9Z{1ιk9ZR޽99Z޵9ޔޜ{{֔Rl”ڵ֔ssΔZ{ZZZZ{1ιR{Z9Rk))ιZ9{{R{9{Z9Zs{ZZ99{sޜZRʔ9Z{99Z9{sι֜R)1޵ֵ9ιZZ9Z{{{9Z{ڵ9ZZ99{{Z1ιι1sZ{Z{{{9Zkkµ9Z99ZZ9Z{9R9Z9{9{ZRsZZ99Ҕ9ZssRRRRʔ{{{{99Z919{֌s9Z9ڵֵڵ)ι9Z{Z9999ҵZ9{{9ZsR1RʔZ{{Z9{{֔sι))Rュ)ڜ9Z{sΔZ{9Z{9Z99Zֵ9{s9R11RsRsZ{{ZZ{{{Zڜ9Z{ZZRιR޵k)Z{Z99ι199Z{{{ZZ{{ޔ{9{9Z{Z99Z99Zҵsέ)J)){{9{{s9{99{{9{{99{Z9{ZsZ9ڔ{ZZ{{{{9Zҵڵ{1ιk)){{{{R{9Z{9{{ڵ{{{{9Z{9{{{ZZZ{{99sΔڵsJ))kR9Z9ZҔ9Z99ZZ9Z{{99Z{{ڵZ{{{޵Z9Z91”9))ιsε9{{sޜ9{9ֵZ{Z9ZZ9Z{ZZ{ZZRRʔ99ҌRssεZZ9ҵ{޵Z{99999{{9999{{{{{{Z֔99ZZJRsι{{ҭ9Z9Z{Z{֔Z{9{ޔ޵֔sΔҵڵ9Z{{{{{{{{{{99Rι1ޜ91ƌsZ{ZZZZޜڔZ{99Z{99{Z9{Zs9{{{{{{{{{91޽Z9{1)9ZRs9{9ZZ{ֵ{99{ZZZsRRRsZ9ڵ9Z9{Zskι޽91{ZZZ9{Zֵ{{99{ZZZ9Z9sR{{991Ɣ{{9)JRRZ9{Z9{Z{ֵ{Z99{{{{9{9޵Zޔ{{9ڵ{{s)k9R9ZZ9Z{{ҵ{Z99ZZ{9ZZ1ι1Ƶ{{{{9RR9{99ι)1R1999Z{ڔ9{{{{{{{Z֔{{޵9Z{{{)ュ{{{ZZ{{{ҵ{{99Z9{{9ZZ9Z{ss{{{R19Z9ιιR9Z{ڔZ{{s{{{Z޽9ֵZ{ZZ9RkJs9Z{{Z{{{{ֵZZ99{9{Z9999Z999ޔҵZ{{{Z19Z9ZRZ{Z{ZR{9{{sޜ{{9޽9ڵ9{ZZڔ)ιڵֵZ{Z{Z{{ZZ9Z9Z{9{Z9{{9{ZZ9s9{{{{{{9sέs{9Z999ZR{99{Zs{{ڜ9ڵ9{Z{9Zs{Z{{{{Z{Z{{{9{{99{{{{{9Z{9Z9Z99s޽{{Zޔιιڽ9Z9ZZ9{1オ9Z{ZZ{{9s9{Zޔҵ9Z{{9sssε{{ޜ{Z{9kZ9{9Z{{{999{{ZZ99Z9Z{99{9{{99{9sε֜{ڔs1ュιsZ9ZZ9Z{tZ{Z9Z{9sZ{sε9{9s11{ޜ{{Z{9{ޔ{Z{9{{{{9ZZ99Z{{ڔҵZ99{{Z{s9{{Z9޵sュkι1Z99{{{{{{9{{sZZ{ss{{9ڔҵZ{{{{9Rι޽{{99ZڭR{ZZRڽ{Zֵ{{{޵9Z{{1Ƶ{{99Z{Z999ZRʔZZ9ڵsR1ιι1ƔҵZ{999999Z{9Z99R{Z{{{s{Z{1ksΜ{{{{99{{11RJs{ZZ{Rs{{{Z{{Z{s{ZZڽZ9999{{9Z{RsΔҔsRʔsRʔZ{{{99{1ιڽ{{{Z֔9Z9Z{ZҭRZ{Z99999J)R9ZZ{R1{Z{Z{{R9R1{{Z9{{s1Rʵ9Z99ZZ{Z{RιR9{ZZZޔڜ{ZZ{Z{R9{{{{{{ZRʌk1RR11Z1ޜ{Z{{{9sڜZڔҔZZ9{9ZZZZ9{99Zޔιs99ֵ9{Z9Z1ƵZ{{)ι9{{{Z1ޜ{{9{{{Z{{Z9ZZ{{{{Zssε9{9Z{{޵1ƌsZ{{{9{99{9Zιs9ڭJ֜޽sZ{9{ZsιR9{9ZZ9{{Z{{ZZZ11s{{9޵֔Ҕҵs1ιJk{99{ssΔҵ9Z{9{{sJ)ι{9Rsڵ֌JڜZιR9tҜ1µ9Z9{֔sR11RʔZ{{{ZZZ9Z{11Ɣ{9sRュJJ)J{{{Ҕڔss99{{{{ڭJJ)RRRʔ9Z{9JkJ)1Ɣҵ֔ss1ƭ{{sZ{RʵZ{Z9{9999ڵssε9{{ZZ911Ƶ9{{{{ҭJkιR޽{9Z9ڵ{Zڵ֔ҔsRRs9{{{{ZR)sΔ)J11))JJJJ))ޜ{Z9ιsZ{sZ999{{ZZ{Z{9Z9ڵZ{Z9Z11Ƶޜ{9Z9ιs99{ޜ{{{{9Z{ZZޭJs{{֭J)Jkk)RssssRsεZ{{{Z99sオ{{99Z{99999{Z9Z9ZZZZZs”{ZstZ{{ZZڔ{{ZZZs)ι{9RʵֵRιιRޔlZ{Z9999Z{9R޽Z9ZZ99Z9{{{{Z999999{Z9ZZZ{9Z1s{991ƭι{{{{Z{֔9{{{{ZҌJ11sڔҵ9ZZ{1s{{{{s{{{{{{{{Z{{99Z99{{99Z{{{{Z99ZZ91µZZ91ƭιZ{{{9{{֔Z{9Z9sέJιsڵ֔Ҕ{{ޔޜZZޔ޽{sڽ{{{{9Z{Z9Z999޵ֵֵ֔{{99Z9{9ZZt{{ZRZ{99Z{֔9{{޵91ƭtZ{ڔZ9Z9Z91ιڜ{ZZ{99{ZZZ9Z9Zޔ{{޵s1µ֜Z9{ZZ1R9{ޜ1Ɣsε֜{{Zڔ9{{ޔR9{{ZZ9Ҕ9ZZ9{Z֭{Z{{ZZZZZ{{999ڵ9{޵Z{Zڔҵs޽Z9sε{9991ƵZ{{{{{{Z9{{{{9޵֔sΔ9{{99{ZZ{1Ɣڵ{{Z{Z9ڵ)ksZZ{Z9{{ZZZ9ޜZڔҵڵ֔{ZιRZZ9{sZ{9{ZZsZ޵9{99{{Z9ZZ99Z{{{{sZ{{9Z{99{{ι1ƔZZڔҵZ{ZskZ{{ZZ9Z99Z{9{ڵ{9RڜZ9sε{Z{{9Z9ֵ9ڔ{{Z9{{{{{ZRZ{ZZZ911ƔRsZ{Z9Z{Z1ι9{{Z{{9{{99Z{{9Z{{{19Z9{{Rޜ9{ޜ99{ڔڔs9{{9֔Z޵9{ュs9ޔsΔҔҔҔҵ9999޵Z9ssZ{{Z9Z{{{{{Z{9Z9Z{Z9Z{sιҜZZZ991Z{{9ZZ9Z9s1sZsΔZZZ9)1sΔ9{991sε9Z{J{{ڵ֔ZZ9ZZZ{ZZZZZ{ZŒs9Z99Z{sR{{ޔ9ZZZ{919ZڵZ{9ZZst9{{ڽ{RsεֵֵZZZ9{ZZZZZ{9{99{sιֽZ9{֭ι9{999Z{Z9{Z9{{Z9{999R9J911Ƶ9ZZZ9{{99ZZZ{{ZZZZ9”{Z9{sι{ZZ9Z91ޜ{9Z{{9{ιZZ9sιιڽ{R)J{Z9{9Z{Z99{ZZ{ZZ{99޵ZZs9Z9ZR9{{9Z{9{{”9{Z9{{9Z{ֵRʌZZZRʌJ)k㭵))ι{{99{Z9Z{99Z{ZZZZ{99{ֵ{{9Z9ZZ9R{{޽99Z9{ss99Zs1RʵZZZ{JJJJ)))Z999999Z9J)J)1Ɯι)J))RRs99{{99999{{ZZ{Z9Z޽Z9{ZZZ9オ֜Z9Z9Z{9ڵ{{Rιι1sεֵZ9sΌ))JJJJ{Z9{{Z999{JJRkk޽1ι1s1k))RʔZ9ZZZZ99Z9ڵֵZ9Z9{Z{9{Z9{ڽZ99{Z999{{{{޵1ιι֜sk)JssΔ{ZZ{99)ksZ{sJ)ޜ{sιR9{ڭJ{Z99ZZ99Z9Z{9ڔҵ{Zֵ99{Z9{{9ZZڜZޜ9Z9{9{9{{Zsk)ιZZιZZZ{99)ks{9ι))Z֭RZ{9Z99{{ޔsεZޔZ{ZZZ9sεZ9{9{{޵9Z9{999ZJJڽ㭵Z{Z9)ks{{J)JιZιs{1Z9Z9Z{999{sΔZ{ZZ{ڵ{999{{Z9޵{9Z99Z9Z{޵ZZ9Z)9{k9{Z)ks{{{ZsΌ))kオ9{{sιֽZ1Z9{9Z{ڵֵֵZZsΔ9{Z{9{9Z999Z{{ZZ9{99{Zֵ{{9{kk19ZZJ1Z9{Zk{{{sιkJRʵ999ZZ1tҜ9Z9Z999޵ֵڔsε9ZZ{Z99{Zޜ{ZZ999{99Z{9{{Z9ޜ9ZRιRʔJ9{{ZZュ{{{Z9ҭJιRʔҵZ19{Z9{ZޜZsZ{ZZ{{Z9Z{{{{9{9ZZ9ZZZ{9{{ZZZZ{9ZZ991ιι19Ҍι99ZZZZRʌ1ZZlRʵ99ZιR{{”{9{{{91k1ZZZZZZ{{{9{{{Z9Z9{9Z{9{Z99Z99Z{9ZZ9{{999֭9Z9ZZZ9sέ޽{{Rιs{9ڭҜZ11RZ9{{{Ҍ֜{Z{{{{{{Z{{ZZZZ{{9{9{9ZZZZ{{Z{{9Z{9Z{9Rʌ1Z{{{Z{9{9Rʭڜ{Z1”9{{ιֽ{99{ιJRZ{{Z{{{{{{Z{{{{Z99{9Z{9{{{{{{9Z{99{1ƭ{{{{9Z9Rʭޜ{{R”Z9ZZ1ZZ9ZZ{JZ{{ZZZ{{{9ZZZZ9{{9{{{ޜ{{Z99999Z{ZZ{Rޜ{ZZZZsέޜ{{1オ{991Z{sZ99{Z9{sJιڜZ{Z{Rʔ9{ZZ9Z9Z{{{{{{{ZZ99{{{{ZR{Z{99ҭޜ{{{Z9{ιsΜι{99Z9ޭkҜZ{Z{11ƵZ9Z9Z{99{ޜ{Z9ι֜{{1ƵڔҔ{{sιڽt99{s)9{{{Z{Z{Z{オ{ZޜZss{ZZ{ZZ{ֵ{{Z{RZ{{ZRssRRʔ9ZZRtZZڵZιkҜZZ{Z{Z{9119Z9Zsڜ{{9{ֵZ{{s{{{{{{{{{{{{ڔRRʵڵ1ƭs{Z19{Rs{1ι1ޜ{ZZ{{{{{ZZtҜZs{{9Z{9{{ZZZ{{R1ޜ{{{Z{{9sZRkڽ9ڜ1RZR1Ɣ{{Z{{{{ZZ{{ZZ{s{Z{{{{{99{9{{ZZ9Z{{Z”{{{{{ZZR{s{9R1{R1{{1RZ{ZZ{{{{Z{Z{{1Z9Z{ιZ{{{9{{9{{9Z{{{{sιs{{{ZZZRJkֽ9s1sZ1Ɣ{{1ޜZZ{{{Z{Z999999Z{199{{ZZ{9Rk{9Z{9ZZ{99Z{{{9オ{{{Z9ZR99ι91ιιRZ{Z֔{Rޜ{Z{Z{ZZ9Z{{Z{{sオZZ{Z9999ZkR{ZZZ9999Z999Z{Z{{{{Z{{11{{{ZZZ{s9)JιュιRʵZ9Z99Z{J){{Z{Z{ZZ9{1R{{9Z99{ZZ{֌֜{9Z{9{{99Z99Z{{{{9{11{{{{{{ZZZ{9Ҕ{9)k1Z9{9{{֭Jι1Ɣ{{ZZZ{Z{9{ss9ֵ9{Z{ZRJιZ{ZZ{{ڵ9Z{ZZZ{{{9{R1Ɣ9{ZZZZRڜ9111Ɣ9ZZ{sZZ9JZZ99Z{{ZZZ{{ZZ9Z޵R1Ɣ9{ZsRޜ{Z{9J{ZZ{9ZZZ{s{{{9{ss{{{{RR{Z99R{޵lڜZ999Z{Z{{9ZZޔ1”{91R9{ZZZŒ{Z9Z{{{99{{Zڔ޽19{{{9{911{{1Z{ZZ99{RڜZ1ι{{{{9Z{9ڔ11ƵZs{Z9{ιZ{{{{Z9{9ڔs{{{{Z9{R”Z{9{ss9ZsZZ{9Z911Ɣ9オ֜ZZZ1ι{{{{Z”9{ZZ{Z9{RtZ{{ZRιڽ9s{1{{99{ZZZڔRιJJι9Zs{Z{Rιڽ{{{9{sι֜1{99ZZZ99Z{ι{Z9Z{{{֭ҜZZ֔R9ZZ9Z{ZZ{9ュk1sRsε9ZZZ9{Rι޽{{{{{9ڵ9ڭZιޜ{9޵9ZZZ{Z1ƌ1ڔҵ9ZZZ{{RZ{ޜ99sΔ{{{Z޵ZZ9{99Z99Z{Z9ZsRs1s9ZZ999Z99{9ڔҵZZZ{ڭsRʌ9޵֔ҵ9{lι1s9{{9ڽZ{9sޜ{{ڔ{Z9{{9ZZ999{{{9Z{sΔ9{ιR{{{9{{{ZZZZZ9Ҍ))ιsΔҵֵ9{R1s{{9999Z{{ZZ{9R9{s{{ZZZ{{Rʔޜ99{{ڔ9{{Z9Z{Z999ZZ9{ڵ{{ZZ{ڽ{9{{{Zڵ֔Œ1sε9{Z9{{{{{ZZZZ99ZZ9޽ZRRʔڵss{{{ZZ{{R1sεZ{{9޵9sε9{99Z{Z9Z{Z99{{{Z9{{Z{Z{Z91sZ{{{Z99֔9Z9{{ZZZZZZ{{ZZZZ{{ZRڜڜ91J)1ޜ{9Z{{Z9ssε99޵RュRssZZ99Z{9ZZ9999Z9999ZZ99Zҵ{{9{{Z9{{99{ZZ{9{{{{{Z9{9ZZ{k)Js{99{{ZZsRsε{{s11ι1Ɣ9{Z99Z{Z9Z{{ZZ{9Z޵9{{9{99{{9ZZ9{9ssZ9{99{9ι)オJҽ9Z{{99Z{{{ZZ{{9{9ޔZ{Z999Z{9{9ڜ{{{Z9Z{ZZ{11Ɣҵ֔R1Z9Z9ZZ9Z{޵֭)kޜJҽ{{Z{{{{{99ZZ{{{99{ڵZ{99{99{Z11sZZR99Z{9ZZ9{{ތ))ZRJֽ{9{{99ޜZZ9Z{ڔ9{{{9Z{{Z”9{sZZ9ZZ9Z)kkZ{)Z9{{޵Z9ZZZ99Z9RZ{{{9ZZ99RR{9sµ{{9{{9{Z9{ڌsι)Z9{{{ֵ{{Z9{ޜZ9Z{Z9RZZ99{Z9Z{{ޜ1ڜ9Z{9{9Z9{{ι1Rk9Z99sε֜{9Z{99999Z{­R9{9ҔZ9ZZZ999ZZ9{Z19Z9ZZ9{޽9Rιk)1{9Z{Zιks9Z9{9ZZ9{Z9Z֌{{ZsZ9999999{99{{{R99ZZ9Z{9{ZRk)ֽ{9sιkJJJJks9{9Z99{9{{Z{{9ιJZڔҵ9{{ޔҔ9{{99{Z9{9ZtZ9{Z9Z9{Z1Jk{kkJJkJJJZZ999ZZ99999Z{{J֜{Zsε9{9sΔ{99{9Z{9{9Rµ֜{9{{9Z9ZkιZZ9ڭ))J1kJڽ{999{9Z99{{Z99Z{1ƌR9{9sΔ9ssZ{9ZZ9{{11޽{9{9Z{ZZkZ{֌)J9{{{9JkֽZ9ZZ9Z9{Z9{Z9Z{ss9Z9ڔҵ9sΔ{Z{Z9{9Zs{{9{{999RJ1{{{kkRZkJιZZ99{{ZZ{{9{Z9{ZZZ9{9sΔ9ZZsZ{{9Z99ZR޽{9Zޔ޽Z{)sΜ9sk{ތJk1ڔs11Rʔ9{{999999{ZZZ9Z9Z99s{{99ڵ{sڜZޔsޜZ9{Z{ιs{ZZ{9ҔZZZι)ڽ{R1ιJ{Z1ƌ1sssssΔsε{99{{Z99ZZ{9ZZ99ZZZ{9ZZޔRsΔҔҵ{Zs9Z޵Z9ڔ9Zڔ1{{9{Z9{֌ZZZ99ZZZZZZ9Z{{{{ZZZ{s9Zތk֭JJ)Z{ュ1Z{{{99ZZ9{Z999Z{Z9Z{1sZZZZ{{{9Rュι1RRRsεZ{sڜ99Z9Z{9Z99199{{9Z{ι)sεֵֵֵֵֵ99ZZ{ZZ{{Z9ZsڜZRkιZ֌kR{ZRʭs{{{{ZZ{9ZZ99{{99Z9ι”9999999Z9ڔsι”ZZssΔ޵sΔ9{99{ZZZ9Z{{99{{1Ƶ{9ڵ1ƌ)J19{{ZZ{{{99ZҔ{Z޵ιJsΜޭsZZ99ι{{ZZ{{Z99Z{Z9Z99ZZ999{{1Rʔss9{{{ZZ99ڔRʔ9{Z{9ޔssRRʔZZ{9{Z{{9ZZ{1s99k)kR9ZZ99ZZ{{9s99ιs{{99ҭ”ڵZZ{{{99Z{9ZZ999Z{Rʵ99Z{Z{Z9{9{{9{ZZZ99{ڔZҌ)R{{{{{9Z{9Zs޽{ZZZk֜Z9ZュιιR9ZZ99999{Rʔ{{֔Ҕ{9{{ZZZ99Z{{9ZZ9{9{{9{{޽{ZュR{{{9޵9Z{{99{9sε{{Z9999Rʔ{眭ޜ{{Zڔss1ƌkRZ{ZZZ1Ɣ{Z޵sRʔZ{{{{Z9{{Z9Z{Z{{Z99{ZZ{9{9Z޽ZZ{tZ99{ZZ{Zsε999Z{{ڜιι9Z{ZZRks9{ZZ{µ֜{{{Zڵ{{{ZZZ{{Z9Z{{{{Z{{9ڵޜ{9{ZZ9{޽9{{{{sιιZ99{{999ޔRsssssΔ9{ZZιιZZ{91k{Z1Rޜ9R1{99{޵9Z{{ZZ{{{ZZZ{ZRڜZ9ZZ{9{޽9{ZsιkJ{{{{9ڵ9{999{{ڔιksZ9{991ƌڜZskιڜZ”Z{{ZZ{ڵ99ZZZ{{Rʵ{9ZZZZ9޽99RRʵ9{ZRkk”Z{{{{{{{޵ޜ{Z99Z{{9ZZ9{Z9{{sΔҵsksZ9Z{{Rʭ޽{ksΔRʌ)ڜZs9{{Z{ޔZZ99Z{{{Rs{9{Z9{9Z޽ҔsέJιRʔҵڵlµ999Z{9֔ҵ{{{{99Z{ZZ9ZZZ{sΔZ9Rʌιޜ9{{{9Rʭ19ތ)ι{{֌)ι{{1s9{9{ssZZ{{ZZ{9s1ƵZ{ZZ{ZZZ9ڜ9kJ1ƔRι1{Z{֔Z{{{{{{{{Z9ZZ{ZZZ9{{99Zֵ9{Œs{9Z{{Z99Z{{ŒsZZ1ڜZι)֜1s9{9{s1ƵZ{99Z{{Z99{ZڵֵssεZZ99{Z{1ιskRʵR1ڜ{Z{{{{{{Ҕ{{Z999Z{ZZ{99{{ZskZ{9999ZZZι{ZsJJR{Z)ι޽RR{9Z{91ƵZ99{9sュkJ999Z{9Z1ιkkιR9ι޵{ZޔsRʔ9{{֔{{{ZZZ9ZZ9{ZZ{{1kZ{ZZ{{Z{֭ιڜZsk)9ιJ9R1ڜ{{99Rs9{Z99ZRʭJ)kιιk{{{skJsZZ))J9ڔҔ99{{{{{Zޔ1111s9Z999Z99999RʌιZZ99ڜ{ҭZsk)Zlι11ƵZZZ{91{{Z9Z{{1RsειZ{{{{ι”9{{{{Jι)Jtҵ9{Z{ZZ{{{{Z{{Z9)k1{9999{9Z{99{9RʌιZ{ڜ91ƌ{9sk){ZsRʵ99޵֔{{Rs{{{Z{Z9{Z1ks9999{1Ɣ99Rk1k)ιsZ{{9Z{9{{9{{9sRŒ9Z{9Z9Z9sέιZZsޜ֭ιZ9J){Z9Rιk”9{sZZڵ99Z{{Z99{{kJsZ{{{Z9Z{ҔZZJJsZ9RʌRZZZ{{99{ZZ{{ZZ1JJι1RZ{9Z{Zι1Z{sΔ9J1sJJ1{{Z91ƌ1Rι19{Z{R11Rʔ9{ι)ֽ{9Z9sε֜ι)Jιs99s”9{{{Z9Z99Z9ZsιJJڵs1R{{ZZZ{{9sRʵZ{{{Rs{Z1k)Jιs9{{ZsιオZZRιιRʵZZ{ڵڵֵֵ֔Rιι19Z{9)ֽ{9Zs޽)JZ9ҵ9ZZ{{1”9Z9ZsJ9ޔιs9ZZ{{RRsε9{{{9Rs{9ュιR{9s1Ƶ{9ιιRssΔ9Z{{Zs1ƔZι{Z9{s9)){{޵{{{{{{­Jkޜ9{{{9sJ{{Rʌι{{9ڵsΔ9{Rʔ{99{{{9Z{Z{9ڵsR11Ɣ9{9Zsڜ{{ҭ19{9Z{sZ{1)){Z{9Rk1ƭ)ޜZ9ZR91ιڜ{ZZZڔ{{ssε9{{{{Z9Z{Z9Z9޵֔9{{99{ޔ9ZZ99{9Z91sZk9{{ZJ1ι){Z{{ιRʔҵsιRZ{{{{Z޵9{sΔZ{Z{{{9޵֔ZZZ{Rޜ{skkJR{Z9ZZZtZιk޽ZZ{ZRJZ{֌JR9{{Z9kJ{1ι{{{{{9ڵ{sΔ{{Z99{{{{ޔsR1RZ{{­1޵sksΜZ9Z{Z9Z1{J)R{{9ZZk9{RJk1ޜ{ڔҔk)Zオ9{Z{{RʔZZҔ9{9{{ڔҔڔ11ƔZ{{sΌ)JιιkRʜ{99Z{9Z{ιR{1J)99{Z9㌱J޽){9޵))Rʜ{ιオ{{ZZt{Zsڜ99Z9sε9{s11Ɣڵ֔ҔҔҵֵֵ֔J)JJιtZ9RJ1{Z{Zsڽ{ιJZ{9Z99ޭڜJ)ks9Z9{ZJڽZRʌ1ZZZ{9s{Z9޵ֵ9{{{{ڔsR1Ɣ9Zs1ι)kιRʔιsZތZ{Z9{Rιµ{{s1R{{{Z{Z{”99Rʌ)Js{{9Z)k޽ڌ{{{Z9{ZR9{Z9991kオ99sι))kιιιιtZ{Z{k99ZR1RRRRRRʔZڔҵޔҔ9{{Z{֔ҵ֔ޜZ9Zҭ)k֜991{9ks9ZZ9{{9{{Rڜ{{9{ZRZZιιs999999{J)t9Z9ڵ9ZZ{ڔZ{ڔZ9{{Z9{Ҍڜ{9{޵{sέι1sεZ9{9sZ{9Z{{R{{{{{91޽ڌJR9ޔ99sεZڔ9{{ZZZZ9ZZZZֵ{{9{sJι{99{{{ޔsRsZ{Z{{9Z{{{99{ZRJι޽{Z{{{R))Js{ZRRsޜ9ҔZs9Z{9{{{{{ZZZ9Z1)s99{Z{Z{9Z{Z9{ι19޵֔ҵֵ{{{Zk19{{{{{{{{R9{9Rk))RZ{ιޜ{֔{ҔZZ9{{{Z9{9991J)1ZޜZ{9ZZ9Zޔ9{{kιkJJ)JsZ{{9ZZҌ99Z{{s9{{{{{֭)J{91s9ڜZҔ{ޜ9{ZZ9ZZRJ)R9Z{Zڜ9{ޔҵ99s9Z))))JJJ){ZZ9Z99skJZ{{{{s{{{{{{ιJJk1RZ{ڔ9ZҔZ{޽{{{{{{9{sk)))JJJµZZ{91RsZZڔҔsι)JJkk1Ɣ1JZZZ{{{9ZZι{ޔ{{{{ιュ)s99{9Z{ZZZڵZZZҔ9{{s{ZュkkJJ)){ZZZZsRZ{1ƌkιRʵ9{9ks9{{{ZZ{ZZ{{Z{֌)ҜZ޵Z{{{9sΔιksZ{{ZZ{99{{ssZ{9Rs99ڔRk)s{{{Z9ZZZsRRʵ1s֌{9Z{{Z99ZZ991)ι{ZZ{{Z99{Z{{{ZRsΔRιsZ{9{{ڔ{Z9ssュ1{ZR9Z{sέ)){{9{Zss{Rʵ{9ޜ{{{{999{{sΌ)s9{{ZZZ99999{Z9Z{{9R1sRs9{RʵZ{֔ҵ99ZZZZ{{1ιι1Z{ڜ{9{{)Z{Zڜ99{Rʔ1RZ11Z{{{{ZZZZ{{{Z9Rʌι{{ZZ9Z9RιsڵZ{99{{1sZ9ιkkkιιι1Ɣޔι)))kt9ZZ{{1ι{Z9Z1޽ZZZڜ9Z9sιk1{Rʔ9{Z{{{{{{9֭J{{ZZ{Z{{ZRʌ9Z{{ZZ{{9sR9Zs­kJJJJJkkkkkkkJ)Jオ9Z{ZZssZ{99JRZ{99{ޜ{{Zlkksε9{s{{{{9Z{ZZ{Z֔޵R1ιJ)ιڜ{{{{{{{ZRkZ{{{{{{Z֔{sRʵ޵֔ҵޔι)))R9Z{Z91R{99{9筵Z{9Z{ޜ99ޜ9999Z99{ZsΔ{{ZZ{{{Z{s{­”9{Z9{9JZ9Z{Z9Z91s{Z{ޭk1ƔRι”9Z{Z99sRޜZ99Z{ZZZ9ޜZ9Z{99{RڽZZ{{{{{R9Z9֔99{9k֜{޵9{{{Z9Z{sΔ9ތZZs999֔ޜZ9Z{㌱JR{{{9Z9Z{999sΔZ99ZZ{{Z9Z{sRZ{Z{{999Z1Jֽޔ{{{{{Z9sޜ))sν{RZ{Z{9{){Z999{9޵s1s{Z9{{ZZ9{{sR{{{9Z{99{RJҜR1Z{{{{Z޵ֵZ{{JҜ{RRZZ{ZZZ)R{{Z֭ιڜZ9999ZZҔ9{{ZZZ9Z{sΔ{{{{99{{Z9Z{{s)R91ι1Z{{Z9{sιsZRs9{ZZkڽZ9{Jι9Z9Z{{Z{{91Ɣ{{Z9ZZZZ9ڔҵڵ֔ޜ{{޵Z{ZZ{{Z99Z{{{ktR19{{{{{ZZRsΔ11R1ƔZ{9ι{Z9999{{99Z{R)1{Z9{{{Z1ιs9{99{{{Z޵ֵ9{{{Zڔ9Z9ZZZ999999999Z{ZŒsZZZ{{{{{{1ƔڔRڜ֔9{9{R9ZZ9Z9筵kֽ{9Z{9sュڜZ9{{{{{9sZZ9ڵֵ9Z{{{ιkι1RsΔ9{{{µڵ9Z{ZZ9ι)1Z{99999Z9{J9Z{­s999{Z1ƵZ{Z{ҵ999999Z{Z{Rkss1sZ{{9ڔҔҔҵֵstZZZ{Z9{{9{kJsΜ9{99{ZZ{9kZ99sR9{ZsΔ{{{{{R{{Z9{֌1ZZs”9{{{sュιιιιι”ZZ{{9{kksZ{9ZZ9Z{ZZ9ιJs{{9{{{{Rʔڵ{sR9{{{{91ƭZ{1޽{9Zι9ZR1Z{{{{{{{{9Rsڵֵ{Z{9Z{ιµZޜ{ZZ99ZZ9k9Z9Z{9{sΔZڵZZι19{{ZRʌ{ZR19Z9Z9sڜ{Z{sΔ9Zޜ{{{9Z9ҔҵR1ƔZ{ZZ9ZZ9ZZ1JRʵ{ZZsRޔ9ZsέιsZ{{{{sΌ1ZZ119Z9{ZRιڽZڽ{99ZRʔ99{{sRsε9ޔZsΔҵ{ZZ{{{{{Z991ƭ”Z{9{{ZRRڜRʌ9{{{{{ڭι{s޽{Z{ι{{ڽ{Z9{{sZޜZ9{9sεֵssε9{{ֵZ9޵֔9{9Z{9{Z9sε99Z{Z9ZZ11{ZskZ{{{{{{{k{{{1Ɣ9{{{{{11{ڜ{{99{{1ڜ{{ュRʵ{ZZZޜ{ZڔҵZ1sε޵9{99Z999Z{Rʌ1Z{1k19{{{{9sZ{{ֵ9Z{{{Z{{{{{{{{ZRι1Z{{ZZޔ1lZ{9{9{{֔ҵ{ڵ֔Ҕҵ9{9{Zk99Ҍ9sZZZZ99{{{{{{1Ƶ{Z{Zιޜ{{{Zڔs11s9{99ޔ9{11Rʵ{{޵{{Z9{Zޭk֜{{91)J{Z{Z9Z{{Z{{Z9{{ZsΔZ9{Z){{{{ZZ9ZZZ99{ZZZZZ{Z{{ֵ{Z޵R1ƽZ999{9{99{sJι{ιڜ{sJk1ƔҔRR1s{Z9Z{{Z{{s9ZZ{ڌJZ{9999{99999{{Zڵ9޽{{{ZZ{Z99ZZ99JsZ{ZJ1Z{{kkRʵڵ֔RR9{{9Z{{99{Rڜ{9{)ιZ99Z{{Z9Z{99{ڔ9޵ֵ޵ֵZ{{{9Z{9{ZZ9{RJιZ{Z眭ޜ{{ZssRs9{{{9s޽{{{ZZ99ZZssZ{Z9{{{{{Z)9Z{9ZZ99{ZҵZ{9ڵ֔ҔҔҵ{{Z99Z999{Jk{{ZsJs{{{{Z9{Z99{ιֽ{{Z{99{R޽{Z9{{Z{{{Z)ksZ{{9Z{9{ڔޜ{Z9Z{{޵sεZZ999ZZ{Z{9RkڜZ֌ιZ{ZZ{{{{{9{{Z{ιֽ{Z{Z99{s{{99ZZ99Z{{{9RJJR{Z9{9ڵֵֵsε{Zڵ99ZZ{{s1{Z99{ZZZڵֵֵ9{{)”{Zs)ZZ9{{9ZZ9Z{{{ڽ{9ZZ9{9{Z9{9){{{{9Z{sssssε99{9ڵڵRsޜZ9Z{{ZZ{{1ƔZ9{{Z9{{9Z{k)JιRʔ1ƌJZ{{91k)9ZZZ{99ZZZ11{{Z999Z{ZZZ{{Z999{99{{)ޜ{Z999Z9{{sΔ999{ZZ{Rιιsεs1R{{{{99{{Z9{9RsZZ9{{֌1ιk)JRޜ{{{sΌ)9{99Z{{ڔ­{{ZZ{{999ZZZ{{ZZ99{{99Z{{{{Z99Z{RJkޜ{99ZZ{Z9{{9999Z{{sR{{9Z{{ZZZZ1JZRs9Z{{{{9Ҕ99Z9㭵){{RRZ{{Z9{{sΌ)ZZZZ޵ֵ޵1kkֽZ9{ZZ{99{{Z{Z999Z9Z{{J)999Z{ZZ9޵9{99{{Z9޵1s{{ڵ֔ҵ9RJZ{ڔҵ999Z{9{ڔRʔڔڜ9ڵZ{{9Zs)Z{ZZZ9{{9skJ1{ZޔsZZ޵ֵ99ҌRʜ9{Z{{9{{{{99ZZ99ZZZ{{{{ι)sZ{Z{Z޵֔sZ{9{{1ƌJRZ{{{ZsΔҵZZkZZZ{9{ιkk”ҔRZ{9s1ƔҵZ9筵)ZZ{Z9{ZRι9{{ޔsε99Z{{99Z1Ɯ{9{ZZ{{ZZ9Z{{{{{{֭)9Z{9R99­Rʵ{{9Z{ZZ9sΌ1Z9{99ZZ댱ιJ)ιRι֜91ιιk1{)kڽ{{Z99{{{{99ZZkks9ZZޔҵ{{ZZZ{91Z9ֵ9{Z9{{{Z{{ιJオZ9RιR9sZ{99Z{{{Zュ֜{ZZ91ks1k{{9Rʭ))kι1ޜZ)Z{ZZ{{ZZZ{{ֵ{ιk1Z{{Z޵֔Z{R)޽{99{{{999Zkޜιޜµ֜{ZZ{9Rʭ1999{Z{9­ҵkR1ƭJ)Jsڵ֔ҵ޵RsJkҽZ9{{{9ڔҵ9ޔRʵ9Z{9ڔҔZ{ZZZ9֭ZZ{9Z{{{ZZZZ­1{9ιsZµֽZ9Z{{ι޽ZZ{ιRޔιkJ)JιRZ{1{s)9{{Z99ڔssε9Z{9֔ҵZ{{ZZZ9ڔssε9ι9{{9Z{99{Z{{ZZ{1ιs9{{{{{ZR޽オ֜{Z99{{{{ZιkR999{{91オ޵1R9{{{{sιt99){{{{{9Z{9Ҕ9{{{Z999999޵1ιks޵R{Z{{Z9Z{9{{{ZZZZ9Z{99{{sR1R9{{{{Zι{ι{{{{{sΌJs{{Z{Z{1Ɣ9{{{{{Z9Z9ιss)kֽZ9Z{s{{ZZZ{{{RsΔsι)ι֜{Z9{Z9Z{{99Z9ZZZֵZ{{{{Zιޜ9ιZ{1ƌkι9{9Z{Z9ڵ{{{{1ιュ)9ZZ{Ҕ{9{{֭)))kֽ{{{99{{99{99{{ֵ9{91kssέ19{9ιsZ{9Z{9ZZ{9Z{{{RιҜ{{Z޵{{ҔZ{{ZsΌ))sΜZ9{ZZZZ{Z{9{Z{{9{֭))ιι֜911Ɣ{{Z9Z{Z9{ZZ9{{{{ڔ1޽{{Z9ڔZ{sZ9{9sJR{{޵9ZZ9{9Z9ޜZZ{Z9ZZZZ99{{9ޔJJ1{9ڔҵZZ9{{9Z{{Zs9{{{{޵119{{ڔҔ{1ڜ9ڵ9{{{JksZ{9ҵ9{Z9{{9ZZڵZ99{{Z9ZZ9999ZZRʌιR{ZZZ{Z{ZZZZZZZ99Z{{9RRZ{{9Z{{ZR{{{ssε9{1s{9֔9{ZZRsZZ9Z{{99Zޜ{ZZ{Z9{{{{ιs9Z99ZZ99ZZ{ZZ999{{Z9Z{s1{{Z9Z{ZZZ{Z”Ҝ{R”Z{Z11ZZޔҔ{s)sΜRR999{Z9Z{Zs9{9޵֔ҵZ{9{{1sZ{99Z999ޔ{Z99Z1ڜ{9Z{99{{R޽ι{ZR9R1Ɣ{1{ュҜZ9{Z9ZRʵZ9Rs{Z{9Z{9{Z9Z{{Z9ZZ֔Z{99{RʔZ9ֵ{{Z9sޜ{9lZZޔҵsιs99Zkι޽ZZ{9sµ9JJJ1{Z{ZZ{99{{{{{{{sڜ{ZZ{{Zڵ9ZҔ{Zs{{{99Z޵{{ZJs9{{ュkkR9Z9ιZJ19Z{Z1ιRsι)kιιkksZZ{Z9{9ZsΔZ{֔ssΔ9{Rʵss9{{{Z99Z{{{{{{{{sJ9{9sέJ))kιs{{9ι9ڭkR9{99sιRʭZZ9Z9{9{RZ9RR{s1sΔsεZZڵֵZ{Z{{{9ZZZZ{{ι1Z9k))ZZZڜZR)kޜZ{{k)sZ{Zҭι99999{Z9ZҔZ{{Z1Ɯ{ュRZZ99ZZڵ9999Z{Z1{ZJ)ιޜZZ{ZR)19Z))ιޜZ{ޜ9s1ƵZ9Z{9999޵Rʵ{{9Z{9ZJR9Z{Z{Z9Z{9sޜZs{{{Z֔sJ)ڜZ9{{s)ι{{{{9sJJ1Z{{ڭ1{{֔ҵZ{Z{Z9sΔ1sZ{{Z9ZZZZks9ZZ{Z{ss9ZҔ999猱J1{9Z{{9R)Jt9Z{{9)ιڵֵ{J޽{{999Z{Z{{ZRRڜ{Rڜ{{99ュ9ZZ{ZZ9RڜZֵZ{ޜ))ι9Z9{Z9{{{{{{Z)ιڵZ{R)ҔҔ{{s1{{{Z{Z{9{{RRZ99Z{{{RZ{{{{{9Zޔ11ƵZ{{{ZsΔZ{9{9Z)JҜ9Z9Z{{{{9{9Z9)1ƔZ{1k{9{{{9{{ڽ{9ֵ9ZZZZZZ{Zsڽ{Z9{Z{ֵڵֵZ{{{91s9{{{{{99Z{{9ιkֽZ9{9Z{19Z{{ҌJµ9{9ι9{9Z{{99{µ֜{Zs99Z9999Z{RZ{9{ZZ99ڵZ{{ZZ9޵sι111RʵZ{9ڵZ9{{Z{Z))1{{9Z{Rι{{1kJ19Z{JZ{{{{{{{{{{{ZZ{オ֜sZZRڜ{Z{{ZZZZ9޵{{{ڵֵ֔ҔssssJ))sZ{Z޵{Z{ZZ{)ޜZ9Z{{Z9ޔҔ{skֽZssRʌJ19ZZZ{ZR1Z{{{{ZZ{µֽRR{RZ{Z9{Z{{99{Z9sRRssΔҵ9Z9ڵRʌs{9޵9{{{Z)JRZ{Z999999ޔsZsΜZRR99sJ{{ZZ{911Z{{{9{{ڽsΔZ{Zsオ֜{{Z{{Z{ZZRʵ9ZZ{{ZsΌڜ{9{{ڔ9J)Z{{9sεs1Z{1”{J{ZZ{ZRRZ{Z9޵9ڽޔZ99Z19{{99{Zs99­Z9Z9{9k)1ZZss9{Zι)tҔR1sZڌ9{9{Z{{RR{Z1RZ{{Z9Z{オ{Z{Z9{{sオ{{{{99ι֜{Rι{ZޔsΔ{{99猱JRZ{ssεֵ1ƭJ1RʔZ91ι1ƔZZ9{{1ҽڭ9{Z9ڵֵZ{{Zs޽9Z19{{Z{9֭ڽ{Rڜ{Zsιt{9{Z9k)JZ9999999ZZZ9ޔŒ)kµ9{ҔҵsΔֵZ{{9kk1ZZZ{99{ޭRZ{Zޔ1ιι֜9991ƭ{{{Z{99Z9ҭڽs{Zڵ1ƌι99{ޔR1ιJ)k֜ZZZ1)9Z޵Z{{޵{眭J1{{Z9{{ZZ֭Ҝιڜ9Z{ιι޽{{99{{޵9­ڽ{s1Z{{Z{{kֽ9{J)))JJJ1ZZ99ZZZZ9RJRʜ{{{{{{{޵{޵9{ιZs)1{{9{{{ιڽ{sJkュ99{ZsΌs{{ZR199{޵9{ZJڜZsΔZ{{{{ZskҜ{sΔڔҭ)1sRιι֜{91JRʜ{{{{ZZZ9Z޵{ڌZ9Js{9Z{ZRkR)s9ιZ{{{{{9Rιs9{{ޔkJt9sڜ{{{{{sJҜZRιk)ιZZڔs191kZ{ZZ{{{99{Z޵֔Z{J1{kk{{޵Z{19Z{1kڽ91t99Z{{9ιZ{RʌJιs9{ڔ{{ZZZ{RJֽ{9Œޜ1ιR9{֭kڽ{ZZZ{{ZZ{ZڔҔZ{Zs)1ƜkJ{{ֵ{1{ZsRʵ9{Zҭ)sΔZ{{{{{{Z9Z{ޭZZ{1kkRZ999Œڽ{{Z޵֔9ҭ1Ƶ99Z{Z1{{ZZ{{ZZ{9Z{{ZZZZ9s1{))R9{Zҵ{ι9{{k)ιڽҵ9{99{ZιR{Z{sJJs{ZZZ9Z99{{޽{{{{ZZ9ZRʌ))kRʵ9ڌιZ{{{9ޜZZZZ9Z{9ZJZ{Z1ƌ)sεZsε{JµZ{Z99ZZskڽZ֔9Z{s{{ތ)1Z{{99{9ZsR޽{{{{{ZZZ1ュkJ)ιڜJ)19{{{9ޜZ99s1RZ{Z9ڵsJ9{Z1ιJJ{{1Ɣ99{{{ZڭZ99Z{ZҭڽZR{{{ιR9{9)999{9ZZZ{ޔҵ{{Z{{{Z{9ڵs1ι)ιZ1)Z9ZZZZ9ss9{{9ڵs)11ιιι{sιkk1Ƶ9{l1ƔsRRRsεֵֵ֔sιk֜{999999{{ι޽ss{{Z99ZZ99Rʌ1{{1J99{{{9{ZZZZ{ڔ9{{Z99{{{{{ι)ҜιιJ)ksεڵs­kkRs1ι))JsZ{ڔkJιsJJ1Ɣҵ֔RιkJJ))JRZ{{ZZZZ99{ޭ޽Rs{{9{{{Zι9{{{{)Jֽ{99Z99{ZZZ{9ڔZ{9Z{{{{{{Z{Z1)R{k)k)J1ssRιkkι11ιkJιιιιιιιkkRZZ{ZRʭιュJJJ)k1Z{{Z޵sR111ZZڵֵ9{ZZ{99ڭ)ιZsµZ{ZڔҔҵZZޔ{{֭Z޵)JR{Z9ڵֵ9{9{{ڵ֔ҵֵڵ9{{{Z{{{9RkR{{sk)オsι1Z{{Zޔ1R991t99Z99sΔ9{9s­ιR{91sRRRsssΔ9Z{{9Zڭ)JsZ{ڔsΔҵ֔Ҕ{sιҜJ))1ZZRsZ{9{Z99999999Z{{{Z99999sέR{ZR{Z֔ZZZZ1ZZ{{{ZZ{{)R޵Rs9Z9{ڌ))ι9Zsڜ{99ޔҔҵ{91)kkJ޽9R{Z9{99ZZ{{ZZZ99ZZZ{{{1Zތ)19Z99{{9{9Rιs9{{{{{{{ι)))ιsRZ99sk))J99ι1{9Z9Z{{119ιsRιRZ9R{{9{{Z{{{{{Z9Z{9R19{R)kssΔ9ZZZZڭڜ{{9Z{{{9k1ιJ)JιRsι”Z{9{{sΌ))kιιιZ{{{ZZ99{{9R{9sµ֜{{{{sΜZZ{{{{{Z{99{9R199)R9ZZ{{99Z9Jι{Z{{ޭJ֜9sέJJµs”9{9ZҌ)))JsZ{ZZZ99{{ޔޜ{Rs9ZsµֽZ9{{Z99{{{ZZ{9{{1sZksε֭ZZ{{ZZ{{ڌ1Z{Z{9999ZkZRʭ{RRZZ9{k)ιR{{{{{99{Z{ZZsڵs{9{{Z{{ZZ{{Z99{ZZ{Z9sεZZ1JJιZZZ99)J{{{{{s1111s9Z{ZsΜ91ڽ91ƵZιιZ99{{{{Z9{{{Z99Z{{{{9{޵9ZZ{{9{{999Z9޵ZZ9ι))sιkRʵڔJJ1ZZ9ssR1ュkJJJJJkιιJ)J֭ҜZRsޜιRZ9ڔ9{޵9{ޜ{ޜZ9{Z9{9ZRʔ9ZZ9999ZZ9Z{{{s))kιJ))))JJJJJJJJ)))JJJޜ{{Z9ZZ{{91ƭkkkkJ))))1ZޭRʜޜ{Rオ{{Z{{ZsΔ{Z99{9Z{1sZ{{Z{{9Z{99Z{ZZ{Ҍ))))))J)))JktҔιJι{9ڔҔ9{Z9{9ssεڔ­)Jֽ㭵Rʜ9R{{{{Z{{Rµ֜99{9999Z991R9Z9991ιk))))JRι)))))))Js{Jڜ{”9ZZ9ZZ{Z{ZZZι㭵RʜZZ9s1Z{Z9ZιR{ \ No newline at end of file diff --git a/examples/other/blended_animations/graphics/texture.grit b/examples/other/blended_animations/graphics/texture.grit new file mode 100644 index 0000000..42e61f7 --- /dev/null +++ b/examples/other/blended_animations/graphics/texture.grit @@ -0,0 +1,2 @@ +# 16-bit palette, no transparency +-gx -gb -gB16 -gT! diff --git a/examples/other/blended_animations/graphics/texture.png b/examples/other/blended_animations/graphics/texture.png new file mode 100644 index 0000000..eafd9fa Binary files /dev/null and b/examples/other/blended_animations/graphics/texture.png differ diff --git a/examples/other/blended_animations/source/main.c b/examples/other/blended_animations/source/main.c index 7b48e66..930f512 100644 --- a/examples/other/blended_animations/source/main.c +++ b/examples/other/blended_animations/source/main.c @@ -9,7 +9,7 @@ #include "robot_dsm_bin.h" #include "robot_walk_dsa_bin.h" #include "robot_wave_dsa_bin.h" -#include "texture_tex_bin.h" +#include "texture.h" NE_Camera *Camera; NE_Model *Model; @@ -54,7 +54,7 @@ int main(void) Texture = NE_MaterialCreate(); NE_MaterialTexLoad(Texture, NE_A1RGB5, 256, 256, NE_TEXGEN_TEXCOORD, - (void *)texture_tex_bin); + textureBitmap); NE_ModelSetMaterial(Model, Texture); diff --git a/examples/other/clear_bmp/Makefile b/examples/other/clear_bmp/Makefile index 133ddc5..6006f41 100644 --- a/examples/other/clear_bmp/Makefile +++ b/examples/other/clear_bmp/Makefile @@ -24,7 +24,7 @@ BUILD := build SOURCES := source INCLUDES := include DATA := data -GRAPHICS := +GRAPHICS := graphics AUDIO := ICON := diff --git a/examples/other/clear_bmp/Makefile.blocksds b/examples/other/clear_bmp/Makefile.blocksds index 626cf71..151bded 100644 --- a/examples/other/clear_bmp/Makefile.blocksds +++ b/examples/other/clear_bmp/Makefile.blocksds @@ -1,3 +1,4 @@ BINDIRS := data +GFXDIRS := graphics include ../../Makefile.example.blocksds diff --git a/examples/other/clear_bmp/assets.sh b/examples/other/clear_bmp/assets.sh index 315e2df..b88da54 100644 --- a/examples/other/clear_bmp/assets.sh +++ b/examples/other/clear_bmp/assets.sh @@ -6,6 +6,7 @@ TOOLS=$NITRO_ENGINE/tools OBJ2DL=$TOOLS/obj2dl/obj2dl.py IMG2DS=$TOOLS/img2ds/img2ds.py +rm -rf data mkdir -p data python3 $OBJ2DL \ @@ -13,12 +14,6 @@ python3 $OBJ2DL \ --output data/cube.bin \ --texture 32 32 \ -python3 $IMG2DS \ - --input assets/background.png \ - --name background \ - --output data \ - --format A1RGB5 - python3 $IMG2DS \ --input assets/depth.png \ --name depth \ diff --git a/examples/other/clear_bmp/data/background_tex.bin b/examples/other/clear_bmp/data/background_tex.bin deleted file mode 100644 index 2c51abc..0000000 --- a/examples/other/clear_bmp/data/background_tex.bin +++ /dev/null @@ -1,435 +0,0 @@ -$%$#"dccbbԣԃd؄ؤԥԤ؆fԅԆܦ('G)gGIi݈i݉լݫ٪ ++,N/OppPOq0rRSR2QSSQS3332s4443U544uTsTt654vt5220R1Q0ͺ̲˲ʪʦʮɪƮǦǦǢȢghffggfhHhGIghihGFffGHFGF%DG&'ǍƑƍfg$Dd܃bcdc؃؅eԦإ؅Ԅԅԥ؆ԧئ'''iihihg݈٪ݪ - , , -.OOopprrRRRRTSSrrs443SST6V444UVvtt55vV22210/κͲ̶̶˦ʪɪȮȮƪǪhigehhgGG'ghhhhGhfgheef'hG''&F''ǍƉfff%E$DC܄cbcBBdԄ؆ئeԅԦeԇ&(HgghHh݉h݉jk٬ݬ٫ , popqq2Rs3s4Ss3RR34TU4534u4UUTtuUu55V630Ϻ캮̶˲ʮ̪ˮɪɮihffǮgghheeFG'hg'hHghhHhgihffF&E'&''ǑljʼnƁfDE$$#Dcd܄dCcԃЃХئئ؆fܦԨ'I(ihgH'HHIي݊klլي٫ ,./pQRSTSQ2RT33RST43U5U465T4uTTSTTsvut57V5ѺѺκ;ζ̲̮ɮhGgFFFgHhg)('&'&'gE&E'GghgfEE&&'F'''ǑƍŅef####bdDdCbDcԤ؅fԥاܦ''HhhhGhHIHJJklًՋm٬٬ݭ٭٫٪ ..PpPqr3S431sttr4RTS543TTuttTTS355vtu6ƱƲưʯαư ­κ̶̶ˮjhgH&'&FggfggggghGG&&'F'FGF(G'hFGfifgF&FE瑧ƉʼnFe$cBc$$%dedإܥԦЅ'G'gHhGhGiGHIikݫ٫݌٭ٌٌݍٍ٭٭ݬ٫ݫ٪ PpQqQQSS3RRUUsRs34333S44S4TSTUUTT54TUβƯ°о̺̾Ͳͮlki(((GF&GggGG&'i''HH&H(('HIhgfFfGfgihFGE&%F&G'ƍƍdeD$$CD$$D؅EEإ܅إئ&'H'FHHG(gHGهGhiikkًlk݌ծَ٬խٌիի//P1QRQrqsqsrUSSRT4223344465T6T4sSst޴u5ҲֳβΰҰ±ưƯƏư°Ͼ ̶붬ʮlj*(gGHFFGFFhH'GE&hH('F'('H(gfgggehh&eE$$&(%DžǍef#D%$$#%$%&fEe؆ԅ؆ԧ'&''HG'Fg'F݆hi݊jklݭٮծՍխլլ0P1rRqSsTss33422R365U665UtSstttss޳޳rSttuwuuαҰư±ư°¯ Ͷ̶˲̶˶ʮllljJHH'GF'G'&E&'G(G''GfgggfgFg'G&F''lj煦e%%E$$GeІЅf܆ԅЧЧ)((IH(ghf݈iGiikKkٌيݍ݌݌ٍююѬլլݭݮ.010Q1SRsSutSsTT34222223U455VV554tsRSssrrTuuڕuwޕޕޓҴҴֲΑʏƱ¯Ѿ̾̾Ͷ̶̲̺lkKKKII'HG'(G'(F&h(('Gȝ (g&gfGGeGGHFF&F&&&'ljDžǍǍeffFE%$%&'GԇЇЇ؆ІІХԧ - -*H((G݈݇݇IHIKIjjjJlmՍѯծѭ٬ݬݮݮ/22Q2SssSTutRtT3U453233T46446V6UttrttrTSssSSt޴֔֕vvږvޓړڴֵ֓ҴδʲʰʯƯʯƎƐʰƮƭ¬̺̺llmlk,kjHH)( ''(FGEFfF&(ǝǡ('(''FfgGGF&%&G&%慦ǍʼneefFE$Cd$$E&gGЇЇԆ؇Ԧԇ̧Ї̩ - - Hhiiه݈h݈i݉hiJ*kJkLLMnmծլ٬Ѯ02S3rTSTStT56U533343U456U45V5TSStst2r23Tu5tڵޔUutTڕޔޕڒrֳ֓ړҲғαΰαΐΏΑƐʰʰƐ̾ͶͺnmkkKk++*Ji(h&(('I((h'F''G''&&eeGfF'E'F'ƕřDžȅƅljǍƉeef%Ede%&'GFFgԧЇԇԨЧЧԨ - - - -)Ijىi݈Hii݉HIiJK+KKMMNnծծѐѯݮٮSssststuuUV545UT44TSS25VV65554tTsrStS44tuޕޕtuuTUޓsrڒֲ֓֓ڳִҴ֓ҴҳΑβααʰʑƱʰʰʯ®ƭ̾ζβmlkKK +*IhHgG(((()('FG''&((&E&&%FF&FGEe'H&%&&ƙ牧DžDžedfe$$D&&Ff̆gԉІh̨Ј + + i)ijjjՊ݉HjIJj*K ,N-LnՎծٮݏկѮٮծݮݯ332RtRStSst45U54466T6554T53S46U6V5UTtޔSSSR45suڔtU֕֕r֒tޓsrړr֒ڲғҴҴֳҳֲʐҲʱƱʏΐʮƮƮmmnmLM+l+j - ())I (&*)G(ƕǙŝ'%%F%''%ƙř执ǍƍƍffCee$&&EFԆԇ̈ЉЇȇȇȪ̩Ԩ+JK)IiIJii݉وىوij݌LM--m.MlnяѐѯяՏѮկ23T3TS4RRs4324465657V66Ttt4445554SRsS4ST4uttTtҔڲڳrғsҲrґұ֑֒ғҲβαsҳҲΒʲƓʓʑƐƯƯξ­onnmMmN-K-,JK+L* -*) )  '&&')*I &&ƕƙ敦ǕƝ''%&畨ƕdljddECC&EE'G&ḣhh̉h̩Ȫ̊ - -)Jjًيk٩ihiJkIlM .-MNNՎэooѮՏհͯѯѯ ݯݰ2132RT33rS24UUVVUU6V7U5TV5T345TT33S35ڕsT֓ڕڔ֓ڱֲڑҒΓҒҐRr֒ΓRΔTrβrƲttrʱ®®ʭƏnnnnLM.M + M +-M+J ) -*(((I -)'ǍƑ癧ƕőƙƥ&%șǕƑeƍÅǍeeedD#E%FFfFGhihĈiȈ̩̩ЩЫЫ +*+*KъՋթj݊݉j*J+KlMO....nNmяՏяͱяհѰ22SS3434SSUVuuV7VvU544VT544345UU34TRS3TUusts֒ҲҲֲұqrRqqR3SsttsrtStʒʱƱưƏnMmŽoNn---- , M-+J+ - - (()I 'ǑǕȕƙƙŭ#ƕǑȑƅƅdeDDEEEegHhfį̈g̩̩ĨЫ , *+IjkkKjhJJlL*JlMnnMLMюoٮՍլяo͏яٱٱݲ332RT321R3UTT5tV5UTVUT44454T532Ss4Ts5UTSғ֓sΑ֒S֔qqQ2S4STTstTS3ʒ±¯ƮƯnnŽŒNMMM-M-+ - L,+LK+ ) (GH 呧ƝƙǙǙǕƁffE$DEffȇgiԈgiȉįggĉ̫ *KIjjjKIiiKK,kjk,mnюlnюՍՍ٬ѭѬ͎͍ͯѯխՍѯѮ2333TuU5TUU4UuU4T4S34U54UT454rrr34TҔҒrΑSRs2STR23s‘ƐpƑƯƎʎƮomlLllMML- ,L* *I*  '(()Ǚŕőŕřǡ%%ĥƙƙŕőʼnĉƉƁeeffEecFFĕȈgȈiiЈjЈ̨̩Ȉĩ * )JjՊ)+iIJkKLjK*MLnՍլѬՏѭm٭٭խnэяͯͯѮՍՍ0442S335U4S4T4tU4333443444634RSSTTSrqST2R32RSR33qqPq‘ʐʐʯƎnnLjlLl+ +*( -+I ('(ƕǙƑƑőƕőƙơ$šĥĥęę啣ĕ剥DžDžƅŅdfdeEfGggȉȪЩЉЩШ̉Ш̉̈ȉĨĩī + IiIjkJjJkي٫ՊыLLLlՌլѭ͎ծٍَխ٭ՍэͯͮѮѭլ33SS2RS44UU465V53322643454TtT223333R3R1343RRQƑƒʑƑƯƎnMlkKkjLL-. +   ȡɝ&șŕőƍƑƕƕřĝƝơơššĕęƅƅƅĉÅąŅĉÉ䍥ecCDdEhhĉȊȪ̪ԊȪijȉk̪īĪ * -JJKJkJkJjijՋjjkK͌ѪѭэՎխэьѬٌٌnюэծѬݱ0TSR2333VU55V4U35332T33223R1QpʲưưmKjjKK,,-,+ - -ȡȥȥȝɝșȕǕǕƙĕŕǍƑƙơŝťġř㝤ęřřʼnʼn䅤āčĉƅʼnąCDgȇGHIȉȉ̪̪ȩĉjKkȋī * JJKkkjiIՋLjjщkkыիի٭ٍ٭ѫѬѫٌٍٍլѭͮѬ RR45566564U533ݶݷ331010¯®­LLkJJJ**+L+ʡ -ȡȡǝƙǕ畦řƑƍƕdƑđŕƙġơťĥĝęÙōŕŁƅƉŅƍčfEHfhghȈĪ̪̉ȩĩkȋJȋĪȬ , -,+jJkkٌJJՋIՊjjъ͊ɊѬkmՍͭьыլլխڰݯ13333TUV4VT3ݗٷ0PPpŽlL-LK)) -)K* ʥʡ˥ˡʝǝǥɝƙǕőęřƙeőŕfĕfŝơġƥơġÙ䝤™ĝęőōƉƉʼnőƉ捥ƑőfE'GHgȩȉĈĉĩkl -+ +lljJIKIJJjJj͉͊ͩͨͨժՋlՌՍՎэխլլьխѭѮձٰٯٰR2215TUVutU3Sٵٖٖٶ33433ٴѲѳͲŲŰ10QQoNmMM+ -++ *)롫ʡɡĕfŕęŝešƥƥšġ¡Ý™őƍʼnƑ敥eFghghĪjjiJLǰ , **KLJ+JKIJkJjIɩիͫllѭխ͌ѬխѮѭѮѯ1344TtT4ٳٵݕٖٖշٴ4ѓѳѳѳɳűųͳŲŰœ//np/-/L+* -+* -˥ʡʝʡȝfhgƙŕfFefdĝcǝťơŝ塢¡㝢Ý㕤ōƉŕ䑦eeeefhĪȨȩhj+LkЊ̪ -, +*JK+L+L*Պъkkigш͉Ѭ͋ժլь͌ыѭ͍ͮͮͭ͌ͭͮͮկݱݱݱ243ٗٷٲѲѴѓ͓͓ͳͱɱɳɲɱŲőőɱɱ.O/O. , - - - ˡɝɡhfHggĕedDFdcccdddeġĝš䡣ÝݕčąʼnōƉƅđőĕĕefgihhĉĉȋkmȌ̊ + K**m+kJkj͊͊щɉ͇ɨɫɫͫѬͪъыͫkьͬɭѮɌͬэ͎ݰٯٱղٲݰqݰ233ݴݵݷwյݴٲ͔uѳѴ͔є͒ɱͲͱͲͳ͓ɒqrŒűɒɱ..O./-, ɥʭ驈ʡȡheedefFdE$$E%eDcDecdeeŝÙ㙤ÙčʼnĉʼnƍŅōőčƑ䑤hȉiijĉĪȊċȋl̫+JKkLKkKkKًъhhшɨͫ͋ͬѪы͊ѫѬ͌ѫͬͭɭɭѲѲճճْْqُٰհկ11ݶٗݖٕݕٓݵմѕєu͕ɔɳʹѓͲͱɒqђѲͳɔɒqrɳűŲŒűɱɲ00 -ɭɩgdeeeEDde%EeDF&FFfCECdddšåĥĝęōƉƍō啤cĈĩiĪċĊȫkkkkȪȪ -KLK,KJkJjъI͉͈͉ͩѪѬժkѪɪͬūͫ͌ɬɯɰհѐՒђٓٱհկٱղ24ٖٖٷvٴՓٴݳՔѴՔuՔut͔s͔͑ɑqqqђɳŔŒssɓœѽɰű0ͱ ̵ -ȭ饈ʥiddeDeeEd%dEDDC&&$F$fEdDeǙĥš㙥ÙđÕčĉƑƑőĕđcdĩĩīȋȊj̋kȫȪ̫ + -jKjkjki͈щ͊ɩhɉͪѪъͫͪɫɋɊɊllɌmŮɮͰͰͮͯѰ͐rՒrѲݳݓݶݕݕՔՓՕѓѴٵٓٓٳճմsStTuuUTѓQqr͓͒͒rŒrTSœー.̵ ɩɩiecBEE$C$%%%%##$DdF$%%FdcŝġġÙÕĕđōčđÑceȼ˼ʼȪȪ̪Ȍ̌̌Ȍ - ,, -KJIkIIhɊjɉɩɊ͊ͫɪɪɊūɋɉijj͋ŋŬŭɮŰɯŰɰ͏ѐ͑ђͱ͑ѰݲݴݴݔݕtuմմٔյյՕմմsՔՔTtSt4tsr2rRqɑ͓SRrsѹнн0  ɩȥɩɭhfedcCcC%##C#$CD$$$CD%&$$ddřŕƝęÝÙÙՑÑÍčččÍÕđčĪ̬̭ ,+,L,++K**IIIJjɉɩũŋͫɋ͊ŪŪɊɊŋkŋJJkɍŬŮŮɏůűűɰɏɐͯͱɱ͒ͱѱݴݴٕٔٔٴյյՓՔՔՔՔtut344SSRPqprRSssѹйѹͽ - ɭȭȭgeDde$#DcE$$CCc##D%DcĕŕŝĝƝġá䝢㕢ÑđÍÍÍđč㕤ŕőőőčÉÉʸʼ꼪ȩЫ ,, K+,* -*IJ+)K*Hh͈ũŊŋŌlkjūjjJkɋkɬɭɍŮůŮűͯɏůɑͱٳղٲճղݔݲݔݓuٕtՖٳєsTٓtRTR3S332rQQQS3TRtŒųqйϵйϹ ͵ ̹ʭʩ筧IHFEE%cDD$D%$%b$DED$%$dőřšŝáŝ㝣‘Õ፣ÕѕÑÑĉÉÉc̸˸ʼīĪȊȪȫȬЬ ,, - M-+*IKKkJ*I͈͉iklŬllŌŌjŊijiɫɭŮɑɰŰɰŐűŰɯͰűŏŰŰɲٲճղٲݲْձՒٲݓٕՖѴrss͓RR3TsR3R221QqrSRSrqqεε͹ͱ ʱ˵˭H('GfD$E%$D&E$dDEE%%EŕŕƕřęÝĝŝšřÕÕÍđōĉčđÕÉca츋ʰ Ċȩ ,-, +J -*(+KJJ(h͉͊ɉ͊͋ŊɪLlŌjŊūɋɌlŬɎɍɮŮɐɏpɰűpɰűŰɐɰݲѲհѳݰݲݴݴٔٵѳѳՔ͓ՓՓѓSS31rrSQRQPPQR4RQœQQppαϱ̱ͱ˵̵ʱɩȩiiHI(HheDFGE&GE&%DDEF%%%$%DedőŕřÝŝacĉ兣Ñĕđđcda`̸˴ -ʸĩ - Ml+* -))*iJIhj͊ɫɫ͋͋kljkkjͫɪ͌ŋɍŎɎoɰűűŰpŒűɑŏɏٰկհݳٴճղѲѱѱѱёݒٱݳݳݳݵѴյѓմՔՓR231QQ1Q1Q1QPrSS2RqrqQͭαͱ̭̱̱̭ʩhhfGHHFfegfF%FFEfF&F'&$$DDDCedřƙƝ•aÉđÑÑa˼˸̴˰ʰ - -+,,-,LM-.KkKJ*k)J -JJjiŪūͫjɋŊJKkjJŌɌŪlkɍLmɎOpŰőŐRqŲҽponɎŏɯɮͮѰճՓђ͑ёѰհͱёٰݒݰْݓݳٴմѕՔtsєՔts332QQ1S100PqP1Q1RrQpqpppnέέͱ̱̱˱G(H'HHhGgFEF%F'&FE%$C"##C##$ŕƙƙƙÙĝÙaaccč͑dAB̼ʸʰʰ˴뼩ī -+K ,,LM -MŋŋJKJi)) -IkKjKjLkljLlJjKlkŋKLKmnɍɎoőpqҽqPNnmmoŏŎɏѳՓճђѓђՐqՐqՒrՐqّٱٳݴݳՔUutstsRrS12RSRQR21Qrq͑Qo11pPPpponͭͱkIggF&&GG()hGfgF&%%FF%%$C$$$$D#DCęĕŕƕƕĕÝÝ¡bÑ͍ÑdeddcbB˼˸ˬʰʸ - ,*+++LlM-+llKj)ii* - *jKJkJkkŋlkʼnjkll--LLmŌmNŐqr򹱹qQ.OMŎonŏɏɏͮͮѯѲղђѲѲQPqQՐ͑rrpqّٱݓݓٳtsTrsRrrRSR1QQQRRPP1oPpoOppPoQPONnoNlͩͩnllkkJ(HHHGfGGG(&GgfeEG&%ED%$$DDDdĕǕřęᙢb•ccbbCBC˸˰˴ - ) -++**+LMM,,LllkjJIH()J**K,KllKkŋŊiŋɫɌNNlMLMNnmnpqőppnnmōŎOoɎɎɯɰɰͲɲѲճղՓѓrQQPOqp͒rrճٱݑݓRݒْՓSsrQ1S4Sq1QQR21R1O.NnnPopOopnnNoomNlmkKllKKIJ(HG(G&'(GGfefE'%&D#$$$Edccřęġġ¡ÙcdcdddcccC#"˰˴ʴ -+KKLl.LllkjJKI*** + -*+L++mlikmM,NlLNO/npooϹpONnlŌmnnnɎɯɮɏɯɑͲͱͱђͲrѐqq0qђ͐͒qёrձݑْْrSrRRrPr233QRsQ10-On-OoNOOPOomNNOmlkklmlMMllJkKJJII)h&GF'(F%G%FEFF&$%$E%dccbđŝębbaccdBbC$˸˸ʼ ) *jk-. MKjjI)IK, - K-KL,MMlmnNMM.noPOopεoOoŭmonŎͯɯ͏ɎɰͰͰёђrQqɑ͐NOOqђёpѰpՑُpqpPrr1P1Q0P2RQ20-NonMNonmNN.nMNmMkllMMMklkLKKI)(I(HH''HH('%&E%EFE%%&dCCdcdedDeeabBBdCCb!#"ɼʼʼɼ*)(*JJ)JLMlMlkKKKk***,L, L-lL+MllLmmLMomnOpoνεεooonLmMmM͎͎ͮɏŎͰp͐q͑ɑPOQPoя͐qpoѐѐՑݏQ/Qpr010/0м0100.l,m.nmn.NN-.-,mML---MmlLkllj*  (H''''%%%%D%FFfcdEedd`cbAbbbaAbAddDdbbcabC#!˼ɼȸȸ H)I)Ikk-M-mmllk++ K--L-MlLKllmM-NllmnopooϽιMnLlmnŌlɌɌn͏oppooPPOQooo͐ͯpQQppqQq0OPOPQ0Ѽ00/N. MlmmnnN./.M-+lL,-.M-LlLLlmlJ*)(G((Ǡ&(('$&E&$eEdDecdDdacbbbbb"A#Ccc""!AAA@A!""ʹʸɸȼ)(IIJIkklkll+,KkNMM-nMmMmmMMMMnonlNNPpPnϽnmmmlnnnnNŎɌɎmɍNO͎onŏPqPoPo͎͐op1Opppp/oo0O00Ѹм// M-LlmM./N//MMMM,LMLlk+-MLml,*I)* '(G''ǤǜŘ%%$&EfFEeddfeddCdcbabBCbbA"a"!ba"AA!""!B!"˸ - *iijklmmllkl,M---ONmmMOO/OnO/OOOPOpmmNLmooNŌōɍnMɎɎŎOOpŐoNNooqoOpOOnnoONN//мN/N--L,NNL-. MNmLL LMlLL-Ll,LK)) - )(((H'Ȝ%&$$E&%hFE%DeeeCDdbCbbaac@b``b@ BBB" A@"@@ n˴ʴɸ - *)hJjklεkLmMN/oOnmnonNmMpONoOoONnNopnnmmmlŌmŭnnnmnɍMNŎŌmNŎoo͏ŎoɎQNnNNmnmMMN/.ии.//.O.MLN. ,NMM ,M,l,KL Lk+ LKJK ))(ǠǠƘ'%&%F&&&IGfFDeFgfFgefe$DbcbacbbaAAa@!"@!! #ʸ *IIjimlmLN0OPopnnnOO0OqPoonNnooNnlmlmmŏŎnnlMnɎɎmnɏŐŎ͏on-NMMNlM,.--мϸϸθ.M-MN---nN-M,+ -KLK,,L,,,,JK+)*) &ȤǠƜ&%fGGHGgfFffEgffeedc`aaa``@! !@ !A!˼ɸ˰ IJiJjijjkkllmlln.n/NoonnNNMNnoPnN.ONMoooononnLlLlmlmMnmɎnL-lmmoɎnNŏ͎N/N,nLmK-k-./ μмϼϴи- -.N.L / M - *K - + -+ - -( ȤɨȠǠǜƔƘƔǔ&&G(h''GEfFfgHGFEEeDc$D`aba@aa @! "! A"" n찭˸ʴ )+K+KJIHiiIkmMMmM,M,MmnmonNnnMnoPpnlmmmllmlMmMmKL,LmMnoNNOooMLMMM,KKK , .θ-NN.  , +, , * )ɤȠȤȜȜȠȜȘǔnjƌǔŐ&HG'&GGFggFEEededdCDedd@`ab@aaaA`` !! !BA!ΰ̰ʹ˸ ***KKkIjJhIijlmmL----LNmNnmNlnNOnNmMmLMmmlNMmMMmmLMNNllllkL-MNnnnN. L,-LlLKK - ϼϸ -  ˰Ͱ̰ ˬʬ+(*ɜȠɠǘǜǔƌȐȐǘƔƔƐ''&(%f&eEeEcEedEEdDCBBBbCBBbB`a@ !BA"ᔏʹͬͰ̴̴̸ *JJJIjiJ** -I*klMkLlmmM-,.-nmllolMmmLmnomlLMlM, NnNmlMnonlllkkMML-M-N.-,- -Lk-LL, ͼĭ ̼ʹ˸ʴ봬̴̰Ͱʨ - -)꠪ʜȜȠǘƘȐȐ蔨ȐƐȐ'&FGf&DdddEfFccCbbbbaa`A!B!BBA```@@A#"!""#δ̴ʹά̴̰ JJ)**JJJI IJ+LMLMm.,,N,-lMḽomlmmLmNnllKLL,KKK NMlL,mMNLklk,M,Nn- - -,KlLL +ͼ ͸͸θ̼͸ͼ̼μ̸θ ̨̬̬ʨʤʠ* -ɠʔʜɜ昇ƐȐʌȐȔȐǔ琧ǐE%EeeDdddD%&d"BaBB!A"AA"Ab""B`A`aAA!#"""Cʹʹͬΰδˬ ˬ -JIJ+ -+KJ* )) -,-.m--MNL -+klllΥoϩmllnJLjJ+L-+K,,KKLM-LMKkjLkL-NM ,Klk+ θθϸ̸ͼθͼĎčĬ̼  ̼θ ̰ ˰˰̤ˤ̤ -)))ɔɔȘǔƐɐɐȔɐȔ萨ɐȔɔ&%EEed%%DeDCcabbABab!A"ABCcaaa@ ABCB!#"ΰͰάάˬII +++))* -I -++ -M LNL++,Kklmlͥϩ̵klK*++,L+* -L+L,M lKL,JMK  - MlmLK-,- ͸ʹʹ͸ͼͼ̸̼̼ ,̼δΰ ˰˰̨̤ͬ͠ - -˘̐˘ɔɘȐɔɐʌʔȐɐʐɐȔȌɐnjnjȔȌƐG$ecDCd$%E#baAaBbbBB!"bAB#CbA!@ BBD""ͰϨ +, *) * +L+ - -+L+JK,+L̥Υ̥˵mlLKK++K+ -*KK,KK - *LlK++ ,-,-/.NMML,- ,+ μ͸̴̴ʹμͼͼ̼ʹ̴ ͬΨΤͨˠ -˜˔ʔǐɔȐʔɌɔɐȔȐȌǐǔ&eD##$$#"CBcAA@a AB""BAbBCC" @@ BbCC#ΰΰШϬΨͨ ++ - )* ***L M-,,+K+L+*+,LL̡ͩΥ̥̩mlkkJJ,+ + + - -KJJ ,* -, +*- , ,- , ʹδĬͼ̸̰˼ ϸθθ ʹ̴̬ ̬̤ -˘˘̐ɐɐȔɐȌʈːʔɌɌȔɌLjŌƐƌŐ$EC#A"! @@Bb#ABC""!" !!C"δϰϬΨΨ̬*, ̨ ) ,,KK,--MM,LK*J*Kmllˡ̡̭ͥ˩ʥ̭̭˥˩˭lkjjjK,++ *J)** - -,   ,˼ lθθ̼˴̸̸̸˴̼ ̸̸˰̰ͬ ̤ͨ - ˜˜ˠ˔ːʔɄʐɐɌ鐩LjȈƈŌŔƔƐƐƈ$ED#D%#" "#$CC"##C"A!"#"ʹδϴ𬮬Ϩ -* + - -* K,llKK+klL -*JkLLlˡ̩˥˩̩˩̩ʡlljKL ++ - - J+) -* , + ̼̼,-˼̸ͼʴ˸̴̸̴̸˸̼Ͱ̴̴̴̴̨̰̬쬭 ˠʜʘˠ˜ˠ˜˘ʌɌȄʌɌ錨ȈȈ萩njŌŐŐ#"C!"@ !!##""!!""#άΰͰ̤ͨ + - J+-LKkLJLlk++Kkll̡̡˝˝̡ˡ̥˥˥ˡ˥˝ʥɥj̡̥kKjKL,,K, - - -+ -* - - +, 뼬ĭ̸ ʹμ̸ϼͼʼ˸˴̸ͼͼ ̰̰ʬ˰ˬ̴˰ͬΨ̠ͨˤ˜ˠʐɐɌɌɈɌɐ ɐɐɈ舨ȌȐLjƌĐĔ"B"Ô"C"#""""œᐡͰϰάΠ̜ + -ʜ - -J,KlkjLkkL,k*Kl̡̝˝ʡ̡̡ˡ띫롫˥lmmlkLJklM+*+,* Jl,* )̼ Č˸̴˼̼ʹ̸ͼͼĭʰ˴̸̸̴ ˸˴ʬ˰̰̬ˬ̨̬ͨʠʠʤʘkɌʐ茩ɌȈ -ꐫʈɈɌɈɈɈČÐŔÔ""Ø!""!œØ Ψ̤̠ͨ ̜ ,L,+KkllK+KjLl˙˙띪ʝ̝읫ʝmm,LKMmLKK,+JI - -)KKLL, - ˼ʸɸ˼˼ͼ˼̸ͼ̸μͼ̰˸ ͸˸˴˴ʴʴ鰪갪̨̤꠫ˠ˘ʌȌȐȈʀɄʌꈨƌƈňŐĐĐ˜”ÔØØ”Ô” ͠ ̠͜윬̜͜ +KK, LkllLikjjkk˙ʙʙʙ˝̡̝̝͝͝mlN kKLlkJll*K - -) )K+* ̸˸ɼ뼬̼˼˴˼ͼ̼mʸʴ̸̰봫 -ʰ̠̔Ȍ舨茩ʄ눪ʈʌꌈLjŌČŌŌД˜””Œ˜Ø˜ܘᔣ㘢Ψ ˜̜Μ̘˜̜ ,+K+K++KKljjșɕ̙̙͙뙫NM--,,KkjKlkJ*)**  -K+* - -+ - - ˼ʼ -뼬˴˸ʴ̴θČll̴̰̰ͬ ʴ˰mklˠʐɌȐȈɄɈʈʈƈƌƄƈÐØĔcÜØ.  ͨ͜Μ͘͜ϠΜΔ˔Δ -,+,* KM,Jkjjkikkiʕ̑˕ʕlMlL-,,LlLjkjK*J) - - M -, ˼̸ -˼˼̸˸̸̼ʹ̼˴lͰllll˴̴ˬ˰ ʰɬiljʔ舧ȈʈȈɈȈʈŌŌ判Œ”̘ԐÔÔÔĔœŒ””ϠΠΠϠϤ KKJ+ ,K+llljjKlɕəʕʕ͑˙앮nnlmNL+LL+JkJ+K -+++ - - -. - ̴̸̼긪˼뼬ͼ̸̴̸ʹlkl˴ʨ˴ʬʰˬʰlllkɔ˔ʔ猨ɌʌɌɄgƈĈÈĈČÔÐ̘ؐᐢ””Ĕ˜⌢”ͨΨ͠ϤΠϤϘ͔ .M- + * --LkkKlʕ̕ʙˍˍ͕̑̕˙mnMml+k*JiKj, +K L ,-++ ,- + ˸˸ ʴ긪븫nmδͰlmlʬʰ̨˰̬ʴnLi˔˘ȘȌȌihhfefƈƌƌnjňČÈŒĐᔠ”ÔÌ ͤΠͤͤΤΨϨϨϤ𤱤ҠМϘΜ.NO , , Kjkklj̑ΑmmnnllL+jjI)+LL+,,-,,M+ M M,-- ˸ ɸnm̸̸nmn̰m˨ʬkkǐ茩ffńƈnjnjƌĄÌČДÈ ͠ΨϬРРϘϜ .m ,L, LJLmlmklo-nnLKkljK*+kKLMM+ +, ,M,- -ʴ˴ʴnmlͰ̬˨̬̤jkKʠiɘƌnjȌ錊jihhggĀňńƌnjňĄń$Ќ┠ܔÐĐŒ.ϨϨΨФМД.MmML- ,,+JkKkkMKkmllmllmMmnlklmlllLkLkmML,,,M, -M,L-, -*++˴˰ ̬̬mδͰ̬ˬˬjˠkjkȜǐɐɌhhihfƈČˆČ̌Œ˜”ÐĐ̌ŒጠϨΤΨ͠ΤϨϤѨФМPn.NN .. - +KKmLlmkmkklmLkmnmoNMMlmmmMLKLK- L KKM-L- +, ++ - +, -̨ͬlʹͬ˨ˬˤˠ̨̤̜ʜjKJJIJjjkJjjinjȐȌɌʌghńĄǐŐĐňጢÈÔ㘢ؔÔĔŒŒČŒ␡0ΨΨФѤј0OO/.//N.., LLMnlmlmlklklLlmmNmmnmlllmM-NM,K-llL.. ,+ +* -+, , +,ͬll̨ͬͬͨ˨̨ˤ̤ͤˠ˜ʘʜKKijJJkJjiJȐȐʔɐDŽńČŌÌŒŒÐÐԔĔØÔ”ÌΤͤ͠ΤϠ01OO/PNN- MM--lmNMmMlkkkkklmnNnnlnΝmMLmlmllmklK,K-LNN.- ,, , - ̬ΨϤϰͬlmm̨ʨͤ͠ˤϤʤ̜jkkKki)JkJjIhɌȌ猩ȐƀŀńƌŌƐĐČĈˆ ÐĔÌ␣ᐡ ФШШ͜ΜͤΤ2000000O00NN-./M.,,-MlLMmLLlklMnnnmnmϙmMMllkllLLllK,mM,..-. . -..ΰΰάm̨̤ͬ˨̠̠̠kKLkKJjiiKJ)GhgȐǐgĀƈƌŐ䔥ŌÈČ ˜”ĔĔА̌”ϠѤΜΤϜ1222PQQO/MO-nLL,.MmnlllmmLlLkllmlnMOOOnlmkkklKm+LMM,N. . .,-,.ΨϬnmLm̨ͨ˨ˤlLlMjKkKjijii())HHhgGggȐgfƄƌƈLjnjǐƌŒČŒ„”ĐŒÐŒŒÈѤРѨ͠Π012Ҝ12Q00//./NmLMM./NMLmnMMNlllmnoopmKLlkkMLL--/O/-...  ,, άάnMmmͬͨ˨lmmlmmklm͠lmkmLLLjII('(I)(ggffFfghgLjnjLjggfffnjƈňƌĈȌ!ˆÈÌŒÌ񠱨𠮤͠͠Ϥ11Ѡ11002Q/NOPNOo----nLLLllm,l-llnnpmLkLLK -N0 .-/.ϬάlNmͬΨͬLLMklLmmMkmLMlKL*(H(FhH)FGgeGfǐnjfĀńňńƄƈƌĈÈÄጡÐÈ⌢ÌАbÌԐ"ШѤРΜΜ00Q23Ҥ102QRR0/oOpp/ONmNonlllkLMMNNmMoopomllkmlmL+-./. //ϠϨάΰklkΨ̨ͤkmMmlKlmlMmKKK+J++ 'G'HH((FfggEǐƌhƈƄŀĀŀnj猥挧ńňȄÌÈÌАÌÈ ϨѠѨРϜ01232QQPOpppOp.OonnmLlmlLlMmoooPmmlnlmL,---/- /ϰ/Ϥ񨱨ѬͬnnϬ̤ͨͨˬͨmNNmlLlmllmlk+KLJ*F(''H'%%Fgfegg倦ŀńČŌnjLj儦ňńÄĈÄČÐÌ⌣⌁ˆ ѤРИМϜ1R1422SRR1010qqqpppollMlmlmmnoNpooOPPpoMMmmmnnmn-LM,LMM-.ѬӨҠҠѬ񨰬ΰάͨͬΨΨΨmmmmnlkLL+J(H'&%F'&'GGhgfefefȀƀƀƀƀDŽƀňƈŌƈㄤĈ䄣„ሢȌ”!М򜱘20R3121120Q1/QQrRqOpPnnnllMmklklnonPPOnpOomnnMnmmMLMmNl+M./ѠФΨϬάnOmnNNolllmmmlk,*I)'&%GGefggfdeȈǀƀŀ儤Ĉ匦Ƅ戦ĈÈ℣ÌČÈÈ∃BР񜱠ϠИSRQ0P3211P1000RSqQQQppPOml-lllmnnmmnN/onnP0oMonommlmLmnmM,,,N.P//ϠѤМ𠰠ϨϨmϤϤoNMMnmlllmnNMLlKlKK )&HHGG&FGfffńńƀĀƈ焦ŀĄ„„ÈÌÌĄˆ„ˆÌˆ!ММ񠱜М22RrPqR33М21P2RrSSR1Qq/ONMm-nllmmnnomm/NoOpponommnomNNOMlM,..M.NP/--0РϜϜФѤΤШnMnШϠonmoMMllmN.mmkLKJ)(%'G&'GfGffgGGeŌŌńňĄƈňDŽŀĈŌČÌÌ̌⌠ŒŒÌÌÌѤ1PPrqqR223212sr23111P//OOONlLLmmmnonpnnmnNNOPpPM-On.-mmmM- -ON......//ϜМϠΤРϨϨopOnonРФРooNNnmnmmΔmmI((&%&&(''HFFgGgFggHńĄƀńƀĀń℣˜ÔˆÈˆ!Ѡ0rsrq33320331QOONNmm-MMNNnpnNoPOOnoonnm.NOoNlmN./N-N/MN.- ΠϜМРМϤМQpМќѤѠnoO/nnmlmmNLlJii )&)'&FGHgfEgĈÄ愦ńƀĄŀƄƀaӒҠҜ2QRS12RT3212211//Nn..mmmMmmoMmnNO.N.oNnonMOoNOnmmlnNNON/.NM.ΘΜΜМѠϜѠnNn/ONMmmllMmkkJjI'((H''FffgGĈƄƀŀĈńƄƀńĀȄaጢÔb"Ѥ2102rRssrQss3RR2232R1ќ322ROO.NponmmmMmnonnmo/NnpOnONONOOmNnooNnn----/Π͜ѤРqpРѠѠИpOOO/mNnnllmmk*(''%%eeFGfňňǀƄĄ䀥ňĄĈ䌣b „210RssqrrrR2R3SsR222QQ/0pnnNnopmnm-L.oPpo0P0NnNpOmnonnN.ϜϠΤРРqpqqҠМҠҘҜqpOnnnomLMLLKkkKJ*H(''FEfFgfffŀƄƄĀŀŀƀňĈÈÄÄ Ô33S2RSrsrsrQ433QRsSS3211R2qQPPppPpNopqmNN-/nooQQpn0/NoONNooNPN..-ΘϠ𜯜ΠѠМqppϜϠјќРsqpoOOolKLLkkkKk+)*GF'((''&'gfhegfeDŽǀń䄣ĄŀŀÀĄÄa" Œᐢc„5TTTSSrS2rrrqQ13312qRS23SQQPRqR2P0pPqOqqpqnonOnnPPOoPPpOPpp.OoOOoPOOO/ϘМѠєqqϜҘ𠰜rrpppPolLmJJIIGII'&'gGGhgffFƀŀƀƄƀŀĄ〤ŀĀÄńÈ㈤``Œ56V5tSs3TrrrrTssS2RS112S223S2RR1rpRQpqqoPNnpPOqQpqQpopNN/nNnNo/ON//ϔДРҔҔpМrQopmnMlIj)IiHiHF&fHGhgffeĈńƀÄÄ値„ÈÄ`”Œbcˆ€€6666TtuuUsTtttst33TSsRp12223S32122RsqqrRqpoopPpqqqrRpqPN///PNnOpPPoO00Дє񜱜ИќҜrpΌnnkkkjjII(IHIGH(&FHGhggGgGGfgeŀĀÀÀÄÄĄ`cb€€Ä„„"56V55UTusSstSst3rrQRPTR21332sRsqQQPqpoqpQoOopPpOQQq10/.///Po0ДД񘲜ҐqrrqpΌlnKkk+JHHGhh((h''E&&ghhh'hgfffgŀŀÀ€„aŒaca„€„€654665tTtTtStTS1QSrR3212SRQSSrqssqqpqqrqQQpppoP0OPonqqpQR11/NoPqPO///NДјќrqӘsόЈmllmlLK++(HghhHgH''HGffGghghhhHgefƀŀÀĄˆˆaŒb"!5557UUUSTUTStR321R4S1S322123StSrsssRpqRqrrrqqqoo/pnOoqpqqr0P1P/.PPOQNOppN./ј񜱜rrrQϔonmmLmNMM, )*I)hhhFgFGHG''GGHGhHGiGgfńńĀaa`␢#$#76VVV5UTU5T3tRrSsS3S3T33R2RR21RRS3StUtrQRrrrqQoppqppppqrqrqOO0Q0/0PqqPOOOpo.0/01ќќјєјҔҐQRrqnϐόmnMMMm,,JJ)I(I)gGfgGH(GG'FgGfGghGhgDŽƄňňńƄńĀÄĄbba$B#$76UW5U4SSTTttUsSs42SsR2222223R3tstSsqSRRSRpr00pqpPOQPPrqrppQ.0Q/P11OoONOPO/01R2ѐҘєӔєssTRrqqmoΐoMnmL,lL+*JI(H((gGfG''&'g&gGGiFŌŌƄdńaጡሠ!Œ„À!""!68666T4TttuuuuuSsT3422SRs323StsStTSStsSssspQ0P0ppPqPPpqqPqqpPQqq/pPO2RQPO/OP/./22Ҍѐ󐳘ҐSrSrpOn͐nonNMl+---++JJigGHGGF%&((HG''FFh)HGǐŌÈÈcaa! ⌡„"C X778674UtvUuuTvvtTuT43S322rtsTTuustsTrrRTrr0ppPQpQrrrQpqqqpoQPp0P010Q0O0ONO/OP2ҌѐӐpqrrSqrTtrqqqpooN-Klk+KL KJ))jiIHGh&E'(H(G)GHhghghefefŌÄbcb!ÈÄ#"B! 999X877VU5TutUUVv5UTvvuTU3121223TtstuussSTtqPPqQprrrrSsrsrPpQppQqqQQ0QRO//0OPPQ1󌲌qrrpRRstRqpopqnmnMlmmJJjKkJKI(IgG'&&'G(G'(HGH(hgFEfffÐBbbCdcaˆ#"”È„ˆ##"#! 8977XXUV4TVtvVUu5U3TUvUu3433213rTututuuttuuuStsQQqrRssrRRpQPPPQpP21SP10100OPӌԈtSPpQRrpQpRRQQStsRPpPopmoonn-mLmjKkKiJHJGgf'GF''GGF(H''GFH&GFFefddeĈĐa#caŒ!#⌢ሢ€B!" @!9YW6W77xWUVuvVU4T44TuuSst3421323T5UTutuUT5uUTtsr2QqqsqrsrrRq2PPqrqr2Q3Q1QP/11ӈurR3RsrQQ1QS3TTsrqRqppQnnNpommNNllmLkIhIhG(G((&'('H(G&&FFgghhgdeČДaCCbaÔŒ!! !㈣„"!!W868VWWWUvTtu5STTtssTSSTҘҐѐ2T3TuTu5vU5UVUutUTrR2Prr0rsRRQp2qrRQS23sS2122031ӐӈutSS3q3RssQppRQ1R54321qopppQPnmmMnLlKjhihhGIH''''HGF&&FFFgGGge㐣dccc”ÐØ”ÔŒ!„#$#!767xwVvUuUtu54STuTutsRSҘҔҔ134UuUt5546U5U44SRqRqqpQQrrsRS2SqRsrRSt4TSS33ҌӈҌsttTrR31RrqPRR22311opPOnMMLmlJkiiIghgF''''&G&'FG'ghŐŐĔÔ␢ccdd˜┢ÔĔ !”ŒÐÌÈ#%$#!@ @778Wxw6vuT4T4Tvs5vU333򔲔ӌҐӐ2234RS3US64U4U45TUU42sRr2Q3rrrTSt22SRrR33T2UuT4T2311UtT4R12RS2QR13430QPPOppo0OOn.-mMKLLJkkjiiijIghgG(&&FfFEGhd”bdcdԐА"”ŒŒ""$%$""B!@@79YYyXW5ut665Uv44TUSS2ӘҔҐ333uTuV4TuuVttsSsT4sRTrsSuuT3RR3T4334T6U432҈󐱌V55UR2122343211RRQqPP..NMlmLlKkIijJihhgh(gF''&&'ffffŔØØ Ŕ┣Œ"AA!BB$#D"!!@ !788XZXyY66VU55vT544322ԘӐ3USut6U5tvu5TS4SsstttusTtSS434442433TUSS2҄ӌ􌲐󐲈҈sT655TS23233341Q2R1RqQpqO0.MMn-lMk,KjjhiihiiHg&'&'HFeDFØbcĘĘĘbadĘĐŐŔĐŘÐÔ#ABÔC!"%E$Bb @aA@8XyyzxXVVU6UVW54ՌӐ43TtUUUUvVuuuTUUuttttsutuUTT55445TSS4ԌԄ҈Ӑ҈ԐuvUVU5TtUT34543S221QRQQpOoOOOnNmMkkJK)ijiH(('(HgfddCdcCdbÔĘbbcĘĘŔĐĔԔ”"##ÌCCDCEDbaAa`a97ZYZ9:yx567VWWԌՌ334SU5T5VtvuT4ssutrttrsU54554435635tU33҄ӄӌ5Ԑ҈ԌՌutuu4T444U35UT2233RPrPpNPP.OomlKJjIiiiikI(('F&F%eDddEbĘ ÔŐĔŔĐŔÜŘÔÔÐØÌ%ÌÌDCCCdCA" `Aٜ:[9YZYy76687XX85U4Ԑӌ433444TtUTsutss3T4545UV6ԄԈ5ԌӄӌsTuU55TU43444TS312qqP0P//.OmmmmkjjHhighghijiH&'''''&gGf&EdcĐdcœØŐƐĔ㔣ĘĘ%$#$$#DdCcAa@@`aZZZ9988Y97W845Ԕ󌴈ӄ23245VvtvsutsSttstSST56655քUӄՄԄՈ􄵈ӌutsuUV65UTT42212311PPp//Non-nNmkjIgGHgHJihhFHGH'FG%EdCcbdbdØĔĔĐĔĐÜŜ嘤ÐÐÐÔĔĔ%%##D%D"bb@abZ[::9988877664ԔԔԐԐҌ҈344UUuu4UuttTՁtttR325ԄՀV6W6uTVV6VUuUS342300P0OPoONNOjiGHhHhhhgh)((DdcdbbcddàÔĘƜƘŘĔÔÔ$%DD%%DD#Bbabb:;[[[:::;99755֔ԔԘҌӈӈ44TuuUVUUtsssttssS23T4Ո6ԄՈ5575􈴄քՄԄՄuuvTuv6vUuvtT3R3232ONO/N/O/M-LkJjig'hhIhihHhHGG)''DEdDdCcBcccDcddc˜Ő䐤ĘĘĜĔĘŔ%%D%CCdccBab99;;:Z;ZZY:;77֘՘՘ӐԐӌ4SSuUuVUTTtrrtstsrstSS5344րրՄ֌ՄՄT6tӈԈutuVtuvVvuUu55SS3110./O.N-NMLMlIHIhHHhhIIHhhHhhgfh'HhHH'FDEdcDCDcDddcC ØØØŔŔ䘤ĔŔØÜ$$#$##cbb::Z[Z;Y::ZZ:87V֘՘֔ԜԐՌՐӌ42R4vu44RRstttTqrsrs4TUրԌՄUՄtutvVUtvvvvUtT4R3Q21P  /-l,KL+KkKI(JjIH)hHiijiHHhG''%&ECeDEddc$EfDdddbĘĘ㘤ĔĐŔĜĜØ$E%&'$##CdBbbaa:::ZYZ:99;;Z:8W7֔ט֐ԘԘՌ42234uvtTtssttstssrT4TԄ6ՄՄTUvUUUUuuT4244R2200///.LllKLMMK++)**)J*iHIhjJhHHggfe%CDdD$DEE%&feddccbc˜˜œ䔣ĔؘØF&FG&%"B#Dd;[9Z8ה֐׌א՜Ռ54443UVvusuuTsttsSrRRTt64ՄԀӄ4ՀՀ􄶄vՌvuSsuutVuu3R21R12110.. KMk,LLlL, - - - -*HJHiJJHi)GHf&&$E%$Dc#D$D$ddddABccccbbABbĔ˜ĘÔÔ䐥%$$$&E&DE""C#bb;:<[;:ېڔٌٌאՈ45vuTs5U5T3S2TsSSS4TT4455ՀՈԈӌԄՀրvvuuttTttuvuTS3331 ,-KLjKKL,KJK - -(HH(JiIiHiGG))'(Fe%&$$%DCBDcCdcdcbbdCC#BABbbĔØØĔØdĘÜĜ#$DD$%FEFEcDC""BDbab<;;;;ܐېٔ۔ڌڐڐאؐאהՌԌ5UvUvtuWuU3S3SUtrtttsT4քՄԈֈӌӈՀրՀuuTUttsuus532220// .- ,J+,+KJJk - - -*(HJi(HiI(II'&&EEE&$&F#bD$"$BBdBcCCC#B#B#bbbA䔣␣ĘŐĔĜŜE#D%$DE$E%$D#BDDbbc<ܘܔیېڔٔٔ،טהԌ65uUuvvvvVUU4444TUTUtuT5ՈԈԈՈՈԄԈԀ׀׀vutuUuUtTSRRSttTUS30.. -M +, *K+* - - ()G(iii)HH&&%F&%&%%$#D#ccCeCccc#B""BABĐŐŘĔĔ䐤ĔĘ$%%BDCdd$$ED$EDcbcbba;;::;ܔڐٌٔؐؐxؔ֐66TVUT65VvUUU2rSSS5334ՄՄՈՄՈԈ􀵀ՀքրuvtuutTuUT4SsstsSttt4332L, +***) - - -* - ) -' -))HIHIH&F&F&$%$"#CCcDebbdC"!BBCbbbCbŒÔČĔŔŐĘÜĘ$#$#D$$C$##CbBbB<ܔې۔۔ڐڔِwؔ׌׈7754uTt5755664St3T433քԈքՄՄրuttvVvvU3STtsTsstT2111 -LL-+ *)) +I*  - *IG(gG'(GF#$#$##c#$%$##CCddcAA`ÐŘŔŐÔĔĔ#%$EEce%%$%CdaABcB`<;;<:;ژېڔڜڔٔڐِٔٔژYאא׌6tTtU57676554R3s3RT32ԄՀՀԀuuvT6VTw4SST4tSrtss53120 --L * - - * -() **I(H(F'F'F$#%#B#$ddD$%D$cCdC"aÔÐŘČØÐĘØ$Ee##Dd#$%$dbbbAaB9ۜ:ڔڔٔ٘xv֐Ր֌׌Ոu45UV7WW766TRsstsS4S2Ӏӄ656ՄրՀԀԀՄuTtuuVTuU444Tsssrtt554110// .MM, - - - - - - '(( HhH)HFG'&%$$"$CCbd$F$#DdcbcŐŌĐŐĔĔĐEDEFDdccEE%ddbba۠ۜۜٔ٘yx׈׈ՈՀU6VVUVW8V56VSSTSUSsSS5TӀՀӀԀvutuTU5UU4T3TsrSs32stS1P//. .. -)( -* - '('*( (Gh)HGG&$%$$BC#$%E%D##bCbccBcČŔĔÌÌEedFEddDE%%EecÉcڠؘٜٜؐؐ،UU66VUW8655UTUtSTtV5ST545T3րӈԀvuUu5UTTStSTrRsT3STTTTU41QO//0OO/-.,-   - ()(( -  HHHGG#$###$#CcBbCCCcÔŐÔĔĈ#CcededdEEfÁܠڠٜٜ؜٘ڜٜڔِڔ676766W776665T4Tu5tu564u4544TӀԀՀԄՀրԈwuU54uT2T4trR4S3SU4t352R1PPO/O-- -++ -   ( ) - -Ig('(#"$DcbCCDdD$ČŔ%$#"$CddFfeÉąāĉݘڠڠ:{ڔ۔ڔٌ9W7X77WV77U76655UUvvU656V46T44ԄԄԄՈutsrTRRststTTST3TtT4QPOPOPN... - -  - - - '(''&&"##$$%FeCcb"DDDeĐĐ$DddD%efŅąŁÁÅÅŅʼnܜܜݘܠ۠٠ؠ٠ؘ٘؜yڐٌٔ،77W6XV7VTT5V6U467545ԈԀӈ׀ՈtStSrSsrtSuTSSS34TT4T34120/O//- , * - &I -''G'%####%E%cDc$""#CddÐ匤Č#CcDFeffdeFefdeąÅÅĉܜܘۘڜ٠ٜלؘ؜ؘy98WW7W877TUV65553ԀրsT3StSStuUtTS32Rt34431QQ1/0/-- - - - )((' GF%$%F%$$#$$##CE%DC#$Cdee䐥ƌČĐÐ$$$DEfDEFfEGGeeą䁥cۘܜۜژؘٜٜ֜٠yٌٌ867798UV555423ԀԄ֌քԀՀssTT3trRttu4ssrtrrsrT32QQR1/ - + -( -((')' '&$E%E%&$$"$$DCDE&%%%%edfČŐ$$E&FFD%eeF%G'feŅ恦dݘݘܘؠ٠ؘؘטט٘ؠٜטڌڌِ87VWW8؄566UT46׌ք32SԄՄՈՈՄԄրtSTT4RssssTrRrrRstsRRS301P00- ,  - -() - - -)(FE$D%#$#D#$##&$DFE&%$FEd$%$%$F&%ff&&'FFGGgƅ健db۠ؠؠלהؘלٜؔ۔ې8887655555Հ6TU4SRԀԈՈՈ󈳀Ts3SsR3RsrssQr111POpP.   -*) ( ( HHF%D%%%%&#C#"#"$&EDD$%$$eEĔŔĔ$&$&%G'''F%F(fŁfeDecCۜܜؘۜۘט֔֔טלؠלטלؘ٘ڔو77664UU53R2ԈԌրՄԄԈՈԈ҄󈲄TsSSr2QrtsQQRS22QOQQP0-, - -) - '' -   '(GFe%FF%$$#$E%EdcbCC%#CfƔƔ%$&%%ffee&%''gggGcDcdCBڠڠڜۘ٘֜ؠט؜ِڔڔی8676Ո53҄ԄԈԈ􄳄ՈԄ5քԄՄՈԄф󀓄sTtttusRQRR1qqP2ROp010- - -, )( ( ()('(G)GFFfeFD$#%%%#&$#$cCB$b$$$dffĘØ%eEF$DFf(efgc##%$A٤٠ؠٜڔ֘՜؜֠ט٘ۘܔڔۘۘ۔87֌֐ֈ22ӈԄ6ՈՈӄӀ҄rrstrRSRsQQQqQ0P/P/PO0N.- - , -* (' (((('(hGH(&&FEddD#C$%'&$DCcd$DdDdD%DŘŘƜƐ%%$%DdEfggGggefdEED$#٠ٜ٠٘ננ؜֜٘ۜܔ٘ڐٔڐ9ٌ֌֌Ռ4Ռ҈ӈш҄҄򄳌҄54VՈӄ҄ҀsrQ1spPPQp1QN00///  -+J*)J  ( )''HHh''gfFFfeddc#$&'&&%D$#dCDcDc$$%DDƘ%$$#DEcCDFfEffefFecdc$#ٜژלנؤנ؜ؘננؘ٘٠ٜژِڐՈֈ֌ֈ1ҌҌ҈ӄ334555҄rQQrsrqqpPpp0/o//.N  + + -+ ))I) -* - 'HH((hI(hffeEddD%'&EFE#DeDcdcDdEeEǘŘ%&&$#DdDEfEffFFefeDCD$#٤٘֘wלנؠלؠؠؠؤٌؔٔ֌֌ՌՌ211҄񄱈񌲌р32R46543󀰈rqpqqrҐqQppp//onpNM + - - -,* )() * -(** )HI(i(h)FEefEe%%&&&%F'E%dDdcEEeEeǘǔƘ&%eFddDcEEDDegEōbd"D#!ٜٜڜژٜלwxvנؤ٠ِِؔؔ788ِא֌ֈ֌4TЌѐф҈҄Ҍ2QRSTV5U5ӈҌшqєҔqqqqQPpnO.- -* - - - K+ -J( IiI)**Ji)(HIh)IHhggFgGFeEcEDEeE%FEE&FeeeggȔȘȔ''%ffeddefeffB$D#ڠژ٠ڜؠלvxל؜ؤ٠ؤ787؈քՈԈӄӈӐьҌшӌҌ222R543S҈фӌҔqoOPOPnO/  , -+ +L K*I -HIJiiI**JkhigHiHhhHfgfFFgd&&%CEF$%C&%&EFFegfdh萧 'FF'&GE%EfecDeeFededDcC"D٠٤٠٤ؠ֤נננ٤٠ל٠9ِؐ֌׌ׄՈӌԈӌ҄ӄфѐЌӌӌӐ11333S4Ԍ҈҈ӄӌӌopOPom- - + )K) -+*KkikKjhȈgHhgFFGGffg&EDEeF%D%$$FfE%F&gFfŤǔȔHHH(&F&FggFfeDEffddcBAB$ڤب٠٠נטv٠ؤٜؤڔڐٔֈ֌֌Ԉӈӌ҈ԈӈҌҐ򔳐Ґ1223SфӄшьҌфЈҌӌonp/O.N-., +J) KI K,kjɈgHHhF'%%$d%$$DEDC%EE%&E'FgGeǘȔǔɘȔ)(H(GGFgFGGffcdb"cB"#٤٬רبללנؘؤؠפלנ9،֌֌׈ֈՈ֌ՌӌӐӐӄҐҔҌҌӔӐѐҌ21012344ьҐѐOmN../.LLKK -+ ***)II+LKKˌʈʌɈɌʌIHHHigGF&FEdcEddCdeF&%&'GGHGȘȔȘɔI(HGGffgfEeÉÍccCDddDDפؠנ֤֜tפ֠֜ؐ׈ֈֈԈь񐒐ЌЌҔҐѐҌѐ3312S23ЌҐqpqpN-.ONN LLkkKKIJ**JIJ* j*LkˌʌɐȌɘ蔨H)gHgH&fGf%$eEdEefF$'G'FG'GgƘȔǘȘ ( (h'''gghGGffdÑccCBcC%$֨֨נלל֘u՘ըؤטِ٘ؔׄՄՄՄքӌѐА񔱐ҐҐP1322232ӌҌppNNNOoN--,MlkKJJJJhIkK -+jkJJlɐɌɘȜiGGhHI'HF&FEFGGF%FEF&GeFh'Ơǔɐ蔩ɔȔ - *I )IG')'&(&FGfeddccddC#$֤֨֬רנt֤֤ը؜פٔٔ؜؜טؐט׌ֈՄՌԐӐҐҘҐѐєЌoєҔДѐѐ23213RӌҐӌѐnopNOOoNNMnL-M+M,+*J+i)k+ K*+iKɘɜȜȜfgGIh(h&%GF&F&&GG''FGG&egGƜ朦ȔʜɘȘǔ * (IFF(G(&'&GFfggfƕeEdDd$E#$ԨԨըըՠ՜՘֤רר֨פؤِؐٔ؜א،ؔ֐ֈՈֈѐјҘєДҘѐҘ223R322Ҍ󌴔sqoooMmmnmmMLMlKK++LjJK,+)IHIiiiȘǠƠiIgF&%&GG'('&FFGeeȜǜƘǔ -ʔʘ **)HGfGI))HH''(&ghfEeeDe%$Ԭՠՠנ֠ררפנ֜֠ؔڔؘٔא،ؔ֔׌ԈՌєѐѐєӘєѐϔМДҐєД򐱔ќ1032223󔲌ӐpppooNnpnmmLlLlJJkJIkk****)HIj̐ɐighǘƠfgjhhgGHGGG(&G%G&GgɘȐǐ)HJ G'()*)H('&GGGgigefFEdd$EE$t֨Ԝ֠Ԝ֠נרפؤטאהאהֈՈӌӈєАѐҔєєѐИ1Q43ььҐpqnnmnnmMmMN,lkijJkkiJ)iɔ˔ʐʐʔɔɠǜiHjjhgH)IH((('G&%F&gƜȘǐȔ()( ) -*('&'FG'Ihhgfe%%%G&%挓tuդ֠t՜ՠ֠ՠ֤֨פ٨פؔٔ٘ؔ֔Ր֌ՐѐєДҔИИјМИєД/11ьѐpopnomΐnnLm̌lkJkJJ*JijɘʐʘɘȜȠȜȠIHhJH))(H'H''(&&GHgǜƠǜȘǔ%(((( )HG&hGIhɑge''G&'''դ֠֠՜֜פդببפؠؘٜٜ٘֔֘אՐ֌֌єҘДјИќ񔰘МДϜ/0ҐҌѐϔqQϐΐoonokkIJjkK*KjȘɜɘȘȠȘȔɘ ȤȠɠiiiI*JjHH(FG'(hhǜȘǘȔ''((H'( )IHI() (IGGhgf(G'&H'&qrtvuՠv֠ל֠֨ب٨ؤؘ֠נטؘ٘ٔטהטՔՔА񔰘ќϜМДΘΜΘИϜ/01Ӑ󘲐ҘДoQnnnmomkkLkjLJJjʘɜɘȜ霨ɘɤȜ蜨ijK -+J()()HHgGgihȘǔǔȐɐ Ɍ&H(HIhFG ))H()i(())H)ggihgHh('(''&&'RQS4TUuVvԤ֤נל֠֬ըؤפؘٜ֘؜לؘההט֐Ք֐ԐАИИИИϜΘΜϘМ//011213ӔҔqpqnonMmnnlmlmmkkʘʘɘɠǠȘ蔨ʜʤ - -ɠɠʤʠkKlk - +jh)JI(GGH)I(hȘǔF&((gFG(('G()*)IIHigh))hHIijHGgHI(GG'&&Sr34RTTtt֤֠ՠפؠؤڜؠ؜הؘؘ֘֐ؘԔԔԘӐјϔќqРќРϜϜϠΠ͘113ҔАnДnmMNmmonnnlnlkjlɜʠǘɘʠȤǤꜩkkjK -)jj*Jj)I()*J*h阩ȔȐHiHGIihg(I( -*)*IH('hh)(GhJJh'( (('FG'RSrRrstt֠֠Ԩը֤נ֨ըפؤؤٜٜטؘؔטטԔԔԔҔМppqrМϠϨΤϠϨΤΠ/PO/QP13򔱔qΐϔΌАmmNnNnpnn̔onkj̘͔ʤʤʘɠɠɤɠȠɠʨʬl,+IJKkKJkJJ - )JIiȔ&()IhhiiiI( *)IiIHIIIH()HijkjiKJI - (&H(''1R32Ss3RT֨Ԥ֤ננ֤ؠؤ٤֘؜٘ט֔ԜМќqpΤϠ .0OP1013А͐moΔΜnmlk̔ ɠɠʠɜɨɠˤɠɠʤ -KK+j*KjkK*J ** )jjɘ)II(H)ihhi'h))**i)hHhHjHhii**JIjI)h) -('''&&r1QRss322sԨը֤֠רפפנפٜה֜՘rҠјqqpϤ勞Р /00PPN.OQPҔ͜͜mΌnOΘϘnmm̜˜ʠˠɠʠʤʠʤʤʤʤʠʤʠˬͨͨmkIjKK+kjI)) - jjkjjɜȔɔɐ)))H))ihihii) -*JIihiIhi(IHiI(IH( (&RqqpqSQRsTu֬ըبר٤8դؘ՜stssѠppqoqϨϨϤΤМ.0/O0P1АьАєnΔm͈͐nϐϔ͔mϔИϔϘlnl̤˨ ˠɤʠʨ̤˨꠫ʤˤ ̬kLKjjKlj - J)iKjkjȘɐ() -())))JigIIjI*I(JHjikjJjKII(iI)II'&GOpqrrtU֬ר֤֬ؤ٤ؠب8טטל՜rsstҤѤѤopoШШϨϤϠOP/ѐДАϔ͐͘Ϙϐ̤̠̠̤ ʠ ˨ˤ̨ͬ쨬ͰllMkllk,K+*KJJ+Jjkjɘ )(H(HJIijiIjJihgIIKkJlll*IJ(HIIG'GpOoOpPPSs԰լը֨פפרפ8W8ל֜֜ԘrtsҤРpϨѨѤШФФРPoO00ДИИѐєΔΐΔΔΘ̠͘͘͘똫ͨˤ+ - - -ʤ̤˨̨ ̨̬ͨˬͬlkjLKl+k+JI*iJʘɔ (H)(IIJJkijhHhhjhJ)*KKkKK*+ -*))(*)&(GOQ1POOPP1Rլ֤դר٨ר֬פ7776بؤؤל֜՜Ԝ՘ԜtҤѠѠҠҠѤѤpѬѨΨϤФ1QP1P//1јϘМΐΜ ϔϔΔ͔͘ˠ̜̤ͤ͘,,+ - -ʨ ̤ ͨk+llLKKjKkliʔ (HHIJjJIJJjIHHhJIJJILkjjjI+*)H))((GHpOOopoP1RqqӤӨ֬֬ר66פר٠ؠ֠դ՜ӠӤtu򤲨ӨӠҤrϨѰѤРϨ2120101єјМќϘ͘͜ϜΜ͜Δ̜͘뜌̘ʠ˜ + )* -͜ˤˤˤ 묭kllKJKJjjJjkigiȔ H(((I*KjIIjGGij)JI)JJkjJi)J+JIH((''Ɯ('PopQRqqpҤԤը9֬׬بդ֤ՠԤԠҤѬӨӤѠѨШШШѠМSsqQQQҘќ񘰘ΜΘΜϜ 혭o̠̜͜ ˘̜ˠˤˠˤˤ˜ +* - -)ʤˠ - - -ͤijkklkKjkji(())IK++JJ)(hihIH))JIK*)*I -*K**)'&&&GOopqpqq5՜7רլը6֤֜ՠttԠҤӠѤҨ򨳤ӤԤҤ񬱬ШѠѤϤМќ3sQ122ДӘМϘΜϠ̜̜͘͜˜ 렩 +++ - -ʤʨˤ˨ -* - ̠ ˠ ˤjkJihjjȔ*I ** - IhgHJI) IJJki)' * -K - ''F&nPPOQը֬լ6U6դ՜ԠtҤӠӨӬҨӤӨԤӨѬЬ񠰠Ѡќ2srrrSҘѠϠϠϠϜϤϜ̘̘͘Θ̘  - -+ ,,+ -* - +, ˠ ˠjIikjǜȘȜ - - -+ IhijJ* -I+jKJ))'H)* '&%%onOѨӨ3355ը֨55565ԠԠԠդԠӤԬԨԤҤԤԤҨҨѨѨРѠS4RTtTӜҠ0МϜΤϤФ̘̜͘윌̘̘̠ -, -, -*l+ + ++ - - -ʠ -+*+ , ̨ˤkjIjj˜Șɜɜʠ* ) -JijjkJKJHiIhHHI(ȘȜ&FDDfnoМӠ4T34TU66555դפ֤tդԠ՜ӨԬӤӤѤҨѨѤҤҠќѠѠ33ST54S44ҤӤӜ110ΜР̜̘̘̘̜͠˜ - * -,+KLkkjlK+, -ˤ - +LLM,K ++ ̤ͨjjJjkɠʜɜʘ * -JIijkijijIIHhgI((Ƙ'F%%EdEpomРќҤST7֤֨5VV6Uՠդ֨՜ԤӤԤttӤӠҤԠѨӤӨҤҠҜ񜲠Ҥ1S3s4T3ҠӠ1/Ϩ͜ΠϤϠΜ̜̘ , ,KL,,jLjJ+,+, ,+* ) - -, ,,MM K,L ̤ˤ̨ʠJjjjJi˜ɘɘɘʠȜʘ -( IhiiIJJJiIighH'()('(&'E%fEEpФѨҨ225׬֬55654ըՠנըԠԤӤԤԤԨӨդutӠӠҤӠӤѠ򠱜Ӝ2RR311000/ϤϠΜ ˜ + +LL ,LLjK+ + -* -ʠ ,-+KL-MLkL++ ˤˤʤjKKi˜ʜʜʜʜɘ -))HHhhGhgI(HI(H(ǜ''&EG&&opoѤҤҬ225դ5655ӬԨլԨԨӤԨԨsSs򨳤ӠӤ՜ӤӠҠҠ󠲜4ԤҨҨ1210/./- - ϤΠϠ ̠ -+K+Kl- ,L + K -K+ +* - ɤ - MLKlMN-ml+ ˠʜʤˠjlljiɘʔʘʔɐʜɘ꘨ɔȔ'GGGhHGG')Gg&')(&&G%F&Ϝ3655Ԩ֨Ԩըդ֤ըӤtTssӤԨԬՠՠѠҜӠӜӜӜӤԠ򨲤Ѥ1QPP.. ̠͠Τ - .,,LLlk-,,, +LKIIJ+ ʤ - ,+L-MM...-MK +ˠʘklkɐɐȐʘ˔ˌʐ˘˔ȔȘǘǘ''&F'G'&'GG''G( &%('HF&'F&ͤͨѤР555V56Ӥը֤֤ӨҤssӤӜҠӘӜ՘3ӤӠӤҬѨ21/PN-,-   /M- --MlL +, - ,-JKI*J - - + KKK+L-. ,*, , - ˠ˜lkj鐩ʔʐ됩ɐȘ阈ǔ(F&&G&F''((%&'( ('G&FEEEРϜФѠѤ454U65ԨԨըר֤ԤӰӬԬӤԠӜԠ4ӜӘҜҤӨӨ0OpOPn- - .ϜΜ.O...,NnnL+L+,+ - -*)JJ ( -))+JKkl,LL,,*K **, ˜ʜ̜iiijɌʐɐɐȘƘ(GFGH&&&&(((G'(&%DEϤΨΤϤѤ35U44UT44󨵬լլ֨tsrtӤԠ՜՜Ԝ՜՘՘43ќ210/OPoOOn/ N-/ϜN...oomLnm -M- //, ,JI* J(H**JjkJK-kL-,II -+ -ꜪjjȔʌʌʐːʌɌʐȘ('(gF'F&''FH (GFE$DC&pΤͨάϤФϤФ3434TTհ֨uttsSstttԤԠԠ՜ל֜331S2RPPNOpOOO..MMM../ - ../NO/NooML--,MN../ - +J*)hjJIJjjjjlmM-LJJJ*ʐʐɘiȔɌɈʐːːɘɘȘǜGGGFG&'&'%&&(''&(H(H'&FfED%ŨΨΠϨФФϠ3R224հְԬӰuuutttutvԬ֤֨ըՠԨըԤӨӨӠӠ՜֜פנ՜՘ՠ4241R1/N/ppPN/O.MN. /N0MNMnNMM---,nN-MML*J)(ijJJJjkjkiklLLL,lK K - ꘫiȔ鐨ʐːˌʐǘ'&%E&e&EGF'F&'G&%G%eE%蠯̨ͨϨФѤѤΠϠ24335ӰլԨsUusututԬԬդդդըԤӬԨ֜Ԙ34333R0/OOpO/.mNpP.//./0ONnmnLMMN./MlKMkkiJ)hgihJIikK+jLllLllL,-, -*ʘˠihiɐɔʐː̌ʌȔȘ%FEED%&GFEF&fFH(&G%%'&FeE$&ϤͤΤͨnϨϨШѨѤϠР34ҨӬӨ򬳨ssttssttԠԤԠԤդԨ֠ԠդԤՠՠ֘ԜѤ1//0PO..OP/0/P/ON0N0N.oOoonmnN./okKLLLjHHhiJJiI*LJllmMLL-KLL+ ɘɘɠȜ ʔꐪˌȌǔ'&&%F%EDFE&$eF%&%G&'F%FEF$E%&'Ϡͨ͠ΤΠЬϤϤ222333ӰҬҬҨsTsstsҤՠԤ֬ՠԠԤԜ֘Ԙ՘ԜӠӤ3221QPQRQ0OOONono/0O//NnOpOnMmNnNnmjlKljHhhijiKkKKLMMm,lkLM Ƞ霪ɜʜȠ ( ʔʐ&&&%%EDee$%&&F%%%FGGEG&%&&̤͠ϨϬаϨ郞Ϩ1򬳬򨔬ӰrRԨըդstts֤֠ըլ֤֨դ՜ՠԠӠӠԜԨӬ11QrrqPQ0PoOnoOPOPPNnO0nnMmmoNkLLlkhiJKijjJkkmknNlm,M -ʘʜɠɜǜɤǤ ʔʐ&'&%%DDeeFe%&F$FD&FE&&F&ED&MnΠͤͨΨͨάϨΤѰд1ӰҬҬsӤrrԤԤՠՠUtttըդ5ՠ֠ԤӠԤդՠդդRrSsppPOnnOOnopnPnoONNnnnmljHKkjJjkkkKKLknNnmNMNMM ɠʠȤ眩ɤ -쐬ʌɌɐ%$%&&DDdfeeeEffee$$%$efggF&lLmΨϰάΨͤϰѰҨrҤӠԤӤդvvUuvtդԨԠ6645դפըՠӜը֨դ34332RRѩpnnmOMmoopnNnoOnOoLkJJjHKKkJKkJKKmmoNn.nM-. ʜ˜ʤɤɠ ǤȠ*ɔ ȐȌ&&&&$$e%GFEedeDeefeffE$EDeFFFGE%$%LLllmnnlmKͬͨͨѰ񴱰ҰҤӠԜ֤נuר֤֨֨56766ը֤רդդ֤ըըդդ664554534S4SrϭmnnmpoooopopokKjjjij*KJ+JKkLknoMMmMN. ˜ˠɠʤȨ - -ʔʔƔ%&%F%%EeDEffDdDfFfedfdddFffG'FEKlKkMNllάЬѰЬаѴqӠӨҤѤҠԤ֤vvՠ57֤֨Ԥ֤լ֤֨554U35U53T3RsЭmmnpoХpoonpppmjijJi*IJJKmmLnL,L- ʠɠȠʤ (Ș ǔǐ&%EE%%DddedD#dce&gg$$䤌llMMˤ̨̬ЬаѴѴӰӬҨҬѬ񠲠Ӥ֨v֠פרը֤ը֤֬ըլV53STuTVV5SR3qrϭЩѩѥoOonpnnokjiJiJjiJijjlMMlL-,L,- , ̘˜ʜ ɤ) -ɜʜ'&&&&FDECcddƑCD%$ede%%F'FeE%lkJklk˨̠ͤͤΤΠϬѬаа𸱸Ӱ򬲨ѨҨ𨲨񤳤uvuvԨר5רդԤլ֨tSt3UUUUWSSSSsSpqpͱpХoooppQPokkjjjijkkkmMMmml,, ,L, ,,, - - -* -ɘǘ&G&''&$eecddEddCCCe%$eFe%DDE$$$jllk̨̤ͤΨаѴѴаԴӬҰѤѤЬѬҨӨu׬֬vvרՠ֠רլլԬդը֬׬ԬTStUU5UUutRRropQpέp𩐥rPoolkjlklmMlL, ,-LK-L,L+JK*+**)H) ȠǜƘ&FFgEEdddffffecCDeeffEDCDd$##ikjjk̨ˬΨѰѴѴиδѴҬҬѨҨҨӤuvvu׬׬ԨԤ֨רؤ6׬׬֨T4tSuTuvuTrOoϱpoϩϡСOp̝ͥ͝LikJlmlLL, +K++ -+ KLJK -(Ƞ'$&&G&F&&$edCCdeedCddd$Ef#CdE%$##Bkjji˨ͨΨϴѰqϰидаѴӴѨҨԠu֬רذרԤ׬جؤ55656֬4455444UUTTtЭѱѭoϱϱϭ񥱥p̝mljJkk+LL ,,K+ +,,+jJ* ((&&''%&%FF'&EEDEDddDccčbdcCc&EcCec$$D#D$Hjh̬ͤnͨϬoиѸҴҰҬҬҬҬҤӨsפ׬׬װդװ׬٬٤ب85666֬4UUT33535TvtSӱұҭЭбеϵЭ𩱱ЩҥЩϩХ˝뙭ɝ͝Jlkl**,+,-.-,,++ + +K)(((('eFHGF%&F%%%EeEEEddƉdcDDCC%C%c$diʤ̬ͨΨnΨppимиӸѴѬ񨲬ӨӨt֨֬׬׬ج׬٤بب87887676T4TT4T45UuutҵҭҭѭѩϱбебЭ񩱭oΡ͡˝̡̙̕͡͝mkLKlLK+ -M- - ,L+ ,,LK, - - - I(&efEF'FF&%eDDDDEdedōdBCDDC#$CDdCihi˨˨̨ΨpϸдѴиѴдмѴи񴱰pդ֤դְ֬Ԩ׬ְװ768673s55TSuTtsrҭб𭑥ѩεбЭЭѩѩҥХЩopϡΥ͡˕̙˙ʝ뙬͙͝jj+KLJ ,, +L,+LL** )))( HG'FFG&F%&EDCcdEdEdcdcBc"c%DC$E%%C$b)hȨɨˬ̨̬̰̬ϨnnoѸϴиѸѴӨӨӤըդըդըդԤר9956755534TUU4UUuԱұѵ񱱱ѭбoϱЩХЩ葉noϩ͡ ͝˙ʕ왬̝JLmL , + ,kkL,KJ -+))I''G(EEff'EFDccC#E$DbccdccbcC"E&EdCD# IGɬˬ̰̬άάmnMnp񴰴имдииѴqqӬҨӨԨըӤդ֬Ԩը֨98557V554UTTuҭҵб͵αϭϱϩЩΡϥ͡nNMmϡ͝ΝΝ͡͝ʕ˙kKlL-+ ̘KKKkLJJIJ*H(G&F%E$%F&CdBCC%%$#DCcCCDdccB#cCcD#CA#$$&ED$DEC)'(ik̨ˬͬάmnNNpд𸱸ϸиϼҸqrRѨѨѬԨԨԤҤӨԬԨԨ֨հ776פ565443uҹбεбббϥΡͥomm̡̝̙읬̝˝̙kjjkjKlllKL -- ,+ +KkjJJI -)H(&FF&FF&&DD%$%DDDC$$#DeD##bcbdcC###CcC#"&%$$DE)H)ijjʨʬ̨ͨnNOmopQϬѬҨҨҤӨԤԨ֤դդӤդ85675T45U444TTuTձsҹѹеϱͱЭбЭmlm̙̝띫jkklllkm,+ ++, +KjiKii(IHIHgF%E%GFE%$$DeD#$%%%DBBcc$D$B#BCCBB%$&#DD'(*jkkjʬ̬llmNϸϴѴϰѴqШѨѤѤҨҤѤӨըԤԨ7776VU55653ssSTuѹҹѵϱ͵ϱom ̙̕͝͡jhikLKjllL,, +,JjJJjJJiHHGhgGEGFEE&&Ee&%FEF%%CB!#$DCCBCBCBD$$E#D&&DCD(I*KJIjKjKJɰˬMnnϴθаШϬѤѠҤӨըԤԤ66U654565մո2sTsҹϵεmnl희 ̡͙̙͝kʝkkJJjKJk,K+ ,lJJIJiG(hFgE%efd&%$eE%D%%$$$#"C"B"B$#BDC#D$D$CDD$%&E$C$+KJKKJIJ+Kʰ˴ʴʬllʹ͸̴ʹͰmoѬддЬѠ32Ӥ3656U76VVV55SSTSsԽӹӵsιͽmmLllm̝͡ -̡̡̝͝jɝjijjKkj + , ,jjihGggGfFfFFff%$&&eDF'FF$$!"BB#$EdEeEDC$#%D%%E$)J**)jJIJJi˴ʬɰʬ˰kδ͸ͰʹϴϰΤ𨱤2Ө36T66V7U66U342QR󵲱oϽι̹αϭL+kkk̝͝͡ 읬ihhhI*ii*Jk,, - ++ ,J*iiIhIgHH%%'G&$%dfEE%$%Ġ˜"@##$eF$C#$#F%)( *+J)IIiiʰ˰갩mm̸μδδδϸ͸δδΰϨϤШѤ2ӠҤҨҤ1235ְ554UtuV6UTrRԹұνͽ̹mlKlͩ͝졫ʡ ̙ -̙˙˙ʡhghHGHHIJIJKKJ*KL,+JJjIHhiJHIHH'&G%%GfFEœ!!!!%CDec$#$$$')()HI(hihʬɬɰɰˬmnnʹ̸츬ϴ͸-Ѩ2Ҡ03ո5TTU6U46445SSsrrpppӱѵo̵ιͽεmlͭΥΥΡ̝읪ʝ ̝ʙ˝ȡȡgihhHGIH)IJLJ)J+KKJI*J(GIJ)H(''GFG%&%E&E$f&$àäÜ!%#$Cc$$%C#DIh)Ijiihɰɰʬl̸̼θδʹ̰͸̸ 勞ϨШ1Ѩ20134հְ64VVVTTTSsRQ󵱹om͵ν̹ͽιϽϹͥͥ롫륫̝ʝʝ˥ʡɡɥhihiIJJj+ijHIJjIJIIHhIIJih''('&F$$DE&FGä#$$D$CCBCdC$$C"##'H()(IIHȰ˴˴̸̸ʹ̴̰ ΤРϤФ121201124555334UUuWU5U333TQroőбҹѹnϹ͹ιεεϵιͱmϭΩ̡˥̥ʡ띪˥ȝɡiigIhiJIJJKi*hIjjJ)i()i)hH'(&('&&$#$C%Fä⨡Ô"$##C#C"DC##Ĝ (GFGhjhʰʬʴ̴̰θͰ , .ϤΨϤ01R11101122R4S45T3R2sSu556444TSrqqqѵѱйϽιͽιϵ͹εϹεϩЩΥ̥ͩͩɡˡǡȡȡiJHjJ*)I)Ih)((II(G&''&&G&$D#$##&ŤĨ¤¨””œDB#""##) F'GG(fgHJhɸɰɬɰɰ˰ʴ˸̸̸˴ʹʹ ̰̰ .Ϩάά/1P1Q1P00/013STS2s1rsSVUU4T5ST4SRQqQrq񱰱ϵе﹯αν͹εϱαϭϩΥ̥ɡǡǡȡhhiIIII))JjIHJ)()('&'&%'''&&&EEE#%Ĝ夤àè㨢䜜####C$"#B$$# -)HhhfFgfggh˴˴͸̸ . ..OP1POPP1100133RQ1rssSRrSstutuuU5USSR1qrSrQеεεmιϹбЭαέΩȥɡȝȡȝǝǝǝƙ杨ɝihi(HhHhKJkj*))'&&''F&&F$$EÜĠè䤤¤ #B#B####$$#”')HHHhghɰȰʬɰʰ묌̸˴촬ʸ -, * - ̴ ̴,-̬O/o0pqO/O/O001P2Rq0qqSqrrstS4uvUusQsRqppQѵйб͵mnͽmѵϱЭͩˡʡɡșɡhǡǡȡ睨ɝigijIiikkIjJI -)&&&&E&&%$$àÜ 㠢bœ ""!B!"؜'()iJIjȰʬ鬫̴ʴ쬬ʴ +L, + ̸ʹM. ̤ά.0POPpPoo/OOoPPqpQrssQRrQrstRSSrqRQpRrrѽѹ﹭nomnν͵ϱйͩΩέ̡̥ͩͥʥɝiɡɡʝɥɝJkjJkKlKiJJK*)&FED%&Ĝ䠤äàc`Üàà!""œܘœ(H())iGihɴɴȬ˰ʸʴ˰ ˰ʹͰ ̨̬-/PNpOqoOoo-OpoQpprQrqPQPrRsQqpйейolnnͽνl̹ͱnέ̡̥lɡʙȥȡ襩ȥȡʝgJkjikJiKJk)H(GG&&%ĜŠĜĠ    ÜœÜ؜()I*HhhhȬȴȴʨʬȴȴʸɼʰ - -ɴ -̰ -. /PoOPOnmnoOOpRRQqppPPPppqqԹҹppRѽѽѹѽн𽰹nmn̵ιεαΩ̥ͩ˥̥ɥɝȡȝʝʥʩɥʩʥhhihʝʙlkkkkJiI&&F''H'G&ĠĤĤŤaàᜡ  ¤à àÔ' *(ijhȨɰɴȰȴɰɴǰ˸ -ɴ밬ʹ ͬ - ///pnMMNnnRqoqqrqrqнҽѽ𹰵ѱnnmιͽέͭ̥ȝȝɩɥȥȩʩhiIJjkIjKkjJII'E'H&&'%ÜŜĤàä⠂ ˜Ę)JIiihȤȨȰȴȰʰȴɰ - -Ȱɸ˸ ά  NnOpNnnNnoqoOorѽϵйѹҽҹҹнѵϵ͵͹̽ͽͽmnͱ̱̩lȩȩɥiijIJijkKkIjkLkiii'E%%&'㜢èàcb㤢¤¨¨àà'H(HHhiɨɨǨǴǰiȸʴʰʼʸɸ鸫̴-. .-/ooNnnnMειoopopqҽѹﵱѹҹѹ𹰹m͵ι콭ͽLmnͥǩjiJJkIIiJJ,JkjiGG'%&'g'FĜäbbb¨ä ¤ĨĘ&G)I*ij˨ ǬǰiȴɴȬɰɰɴȸɼ˸̸̼͸ʹά- -.M.OOPopnoNnMϵιpqѹҽҵѵѹѵеϵе̹̽ͽmmllhhJKKjjjIjkLKjk*I'F&FGGhGGFèĨ㤄c¨ääàĤŤĤab`ÜF&gGhɤ ƤȤ谨ɴȰȴʴɰȴȼ踨 ʹ K M .ooNOooONnnmεoѱЭҭqѽнϽѽйѱҹййне͵͹ͽ̹͹mlˡIjiHgghjIijJJIkjkjhi)JJJkKIIg'(ǨHGF((FŠc¬b¤¤㤣c#cBaa`aab''&GɤȨɬˬ ɤȤȨɰȸȸɴȴȴȴȴȰɰȰǰ踧˴ʴʴ ,-L-,,-LnoMnmoMlббϵЭЭѩ1ѵѹнұҹ0εεееϱϵει ιαι̱˥̡̥kkjjhiHh)HiiiijiIKJKKKII()IJKlk()HŨŨǤ(F&'''&ƠİcäcdCCBBB`@`@@@aaF'GHgHȨȬ ȨȤ褨洨Ȱ踨ȰȬȴ) ʬȴ˰ J +* -+K-MMnooͭﱰϱ𱑭ѩҵеѵйѵй1йбϹеεϵ ̹ϵεlk̡ͥlkijgHG')hGhHHJ*iijIjjJ)JI* -)kl)JJI'Ǥƨ('(&ĨĨ㰄d¨ĨĠ¤ĤİBbccCab`aaA@@aA%FEGGfgȬɬ -ȤǨȴǴǸȸǼǸ) ʬʰʰ - )JjJK*+KllnmͩͩέϩЩέϱЭѭѭϱϵϵййѹұ0еϱб -- ͱαḵjIhIhH'H((H)I)IiijKJK*)Ji**K+**(ǤǤƨ()(('Ĩ嬥ĤŤŤĤĤ¨㬣cCbbCBAA@ @@bAaF&hfeghǬɬȤɤȤȨȬȬȴǸɸƸƴ) -ɬɴʰʴ)K*++JlMknlͩͩͩΩϱϱЩϭѭѭѽϹн/να/N M-̱εα̱ͱ̱̱lJiIiI(((H'IIHJhhHj)jKJ*+I*Jk+I ''Ǭ -'&GŨŬìäĤ¤CbbbbdbA@@A```aa&FffȬȤȤǤ - ɰȼɸǬ( ʴ - -,ML,LMkllέΩΩϭ𩱩ѱЭеѵйѵ/././N-nM- , ͵̵˱˭˥lKJkII)HiiJJJjk)IJjj*I)*)ikK -G) Ȭ*)'ǠƠŤCdĬŨàabbC`@@aA@`@A@Ba'GEfgƨȬȤ)ɰɴ)Ȱǰ'() +,KLMLKklmmΩЭϭЭббеϹе00. /OnNMONL , . Ϲι̹͵˭kmkLljljJjjJ*K* IHHiI+)I*IHihi*IJ*JIhh))H)HH' - ))ȨƠƤŤŤdDebcbBBB`@@@ab@a@AA@'GGfȬ)('' Ǹȸ (((HI)(*))+ +,-MllKϭΩϩϩЩ0ϹϹнϽ//0/0 /OooNNMNO- - ͵- 챬lmkkJkkkJKJ+ )J)*JI*JJ*I(IJiIIIIhH(((IiIhH)I( - - ɤɨǨ椧ƤǨƨƨdddCdFfdcbbaa @ aAa@ @AgfeGfeŤe'( ) &ǰ'((H((J() - *MKkjll̩ͭ αΩϭΩα0ν0.. .NO.MMN,NM+ ̵ , 뭫klljjJK+* ()JKI)jJ*I(i)**)J HGH(II(*i)I' ( ȨƠ礦ƤƨƠƤedc#CCcCcC"A`@`"!BAA`afƨegǬ'('((' Ǵ' ')HG'* **+*KjkΩͩΩ̱  ./н//0/ ON..,lKK+++ -- ͱ̭lkljlKkKK*++)'IjijiIHHGI(J+ - (Ii)G( )IhH'' (ǨȤƨŤŤƨǤƤƤdedCddcddcC"AbbB``bBbC#CcBfgFhŰŨǨF''(HG&())* +)*iͩm ͵εﵰ-/PO.ON.. N MMMLlK -K+ ʹ ̱llKkkjjjkK+K+)'(HIjH('II(j - -) HG)I ()H'&'G)''ƤǤ夅ĠƨƨcDcCedCbBAaA`abCBB#c"eeEeFghŬƬƬ(Ǹȸ&DFE%'G&&G'(G&GG() *JiIjαͭ ̱͵0͵͹ιPPP00ε͵/. ..LLlLmlLKlK - ̵˱̭έKkllkjkjjk+ - - (HHIII())H'H) -)())IHiI)IJIGGgF(H'(((ƨǨŤdǤƤcDdeEdd¨bBBba`aBCCcC#"dDcdFggGgż%#%DDF&(FHh'G) K*+*Jillḽ˭ -̱˭ ̹͵/0//  α ./ - ,kKkmM+J**+, 쭭lklmlKlk+L,, -*)ii)H (((I + -'hHiIIHGGGHGH(G'ƨǨ娤cecddcdddcbBaABccb@BCc#DC#DD$CEGgfGeƴƬǨ&'G$D#%E$EFHhh(()(JKL+KJj˱̭ͭ˱˩˭˵˵˵ .00ιϽ -M. ϵ͵ϱϵ-- KjLKlM+ -LL+ ˭knNLLk,,,,* +*)i)('Ƞ*+J)(('HHhhIgghGhh''G&嬣cdDEcBCcBaBbcCA@ABC"$#CC$D$CDFFfggEe'''&&D#$$%$G'H('(G('(JjI)JIikKlm̱ͭ˩ɩ˩˩ɩʭʩʱ -ʵ /0//0 .,,. ̽ α - *)j+JlKj*K -+ ˱ ˱̭kMͭNMmL+M--- - J+jKiHG )))*KK))IIHG'GG(FG'F&$䬥dddEddEdCCDCbbcAbBbbB$#C$#%E$%EfGGG%Ee&%DC###B#$%$%%&'&&'G('(HI)jKJIJJ* L,ll˩˭ʩʭʭ -ʵ̱˵-.0/0// M-M-   **jJJJjk+*+J* - ̵̱˱˱αlmnmNmM,L.M-M- L,LKjjJJHG(* )I*JHhH()IHG'&'H&&%%ŰŰŰðddcfefedecCD#CC##bAcCcDEE$$EE$e%GH&GfgǨ'&&F%$##C#CFFE%F'FEE'F(J*I+I*JJKLKkkɩʭɩȩɱɵɱ --/ - klL- ̽ ˹ ., - +*JKJI)+L+++ ʹ͵̭˵nnLMlmnnmNmmLMMmLMK*++*+kji(''( -* -I(G((()GFGG&%%尦ceedFDfddEdedbC$D#"CBCbcCCCBd#$"EDDE%FGHffƬ'$&&#$##$DD#D$%&GFF'()(*IIJIJkjiȥǥɭʵʱɱʱ - +,M ͹ ,,-Ljj+, ˵ ,- ,+K)IJ***L*J - ʵ˹̵˱̵nNlmlmNLLlLLlllLkJ+I*IjIgG&(' - -)H(  )'G&&GE%欤dDedddeEedDcCD$CbBcdBbbbCB!CCC$#dFeGFhFggggƴǬ%#$D#b#eEdddE%%&$%G )'iihiiihiȩȭȭɭ(ɱɱʵ *,ML ν͹͹ LM++kJ - ,,M -J*KJ+L*jKJ* ̱̽˹mmlML,m-mmLLmLjk*) *iJHGF%(F'  -))( '('HF&Ƭ欦ĬDdEFeDCdDEeddBC$cdddcbbAAC"$D%%fGFfgFHǰŴǴư$%CCDDCefde$%$%&'&&''DZȭǭ' ʵʱKKL++++ ,- *+jI**̵ +*++,L+) - *LKKKLJJ* -̵̵̹onlmnL-LmmKjJj** *iHhH'&' - - ('HƤŰŬddEDFFedDcCbceäC#ddbBBbDDDCD$%FfgfGgFŸİŴư%$CB"EEDeefEdE$&F(HHhȩǭȩȭɵ - -** )K++ , *jI) - K + LK **(I -*+ ,jIj )˵͵˵ͱ˵쵌lkllM,,lljiJijjJI)Ii(G&  )(GìŴưŬefF$edDdDdcDDCedcdccbCbC$cceedefgfeDFeeİ%%$ED#%%eeFEeDDE()(FG(GgƱȱɭȭȱɩƱɵ)* - JJ) ,- , -IiI) + * -JK*JI(*J*I)+IJKK+ -˱̵ͱ͵lMKlmiJi)IJH)(H&&  Ȩ(GFìĬŬǬƤGEdDDdeDD$DdcdeDDcDDCbcdccbcCDccDDeEed%&$ED"C$DeEfDdedeGH'f'G&hDZƩȭɱɱ)* -() ) - , +JIjI)** - - -*) JI*H(jHIHI*iJ+* - - 쵫쵭̭kmmmkkKJh(HH''('''(&'èŤǰŬFde%#CDdDCDccDd#DDEcedebbdCCDcEdŴĸ$%%EEEED$DCceDE$dedFfGhG(&'&G'GFfhhgǵǵ&''ǭ )() - -LJJ+K*J **)) - - -JIIJiihHJ+*˹ʵ ͱllmjjJjihghhG&'&&&' 'ƤŨŨư簦fgDddCccDdDdDCCcddeDDEeĜddDbeecŸøEEd$C$$$%eEEFFDDDEg(''GH'%fhfgfGDZŭŭ ȱǭ( - , +, ,*J)I -*+Kk++ -++iHihiIHiIjk** -鹩˵̱̱ͭ˭lk̭˩˩iIjkhgg&''%%%%%(''氦gCDD$dccdEfcdceDd%dE$dEedccDcĴôø$C"#$EC#ceeFFFdDdfeGF&GG(HGG&FE%GGH(GƱƭƱŵDZƩƱDZDZ) ---++L+JJiij+JIJk+** -IjigHIJkklkK** - ˹ͩnKK̭˩̩˩ʥgf(G(&&F&FEF&&'''('ƬĨǨȰǰŬfggeeFEdDDfeecDdDeEE%DD%$DdeŤcDbCBC#CD%EFgDEcDCEfGGG(H'(hEEFFeFgHghhGiűƭƱȭƱǭȭ (-,ML+LJKKJhJ -JJKL*J *)Hi() *KkLjJ꽫lnmljkʩ˭˥ʩhhFF(G''&&E'(F''( ƴȰȬǬefedCDddeFDfcEdEEE%%FeƨccìŰŴ#"C"BDD%fFEeDddceFGGgG((fgff&GFF'I(iIhGƭƭƱűŭƭűƱDZǵɱɵɵ()+L+LL +*JjJIJKIJIJ*J+ -*))H* -)) -JKlkJ+͹mnnkj̥˥̥ˡgiggf&F('G(&F'&GH(hF'F'&%ưŬ娦gffeEDEeeeeF&&'GŬŨŨdĬìƴðøĸ$###"ddd%DdFfedCEffgg'FF gffgH&G'(I'HhgHFǭƱƭƭŵǩDZǭƵȵɱ鵨ɱ ) - +K+JjKKKk,K+*IJ) - )H -) -*kKkkK*ͽmmmnέͱͱk̩ʥɥiIhGhfgFFHH(GGG%GI'iH((F&ŬưǬƨŨŤŤǤcCDDddddeeF&&eƤbôðĬììưİ"$%$D"$eDed$CeCdDee%FF&'&(HGFgGH('fggFggŹƭ籧ƱȵɱɱDZǵƵ,, ,kK*Jkk,+KJ)*J)) - - -H** +KKl** ̹νɱ̡HiHGhf&Fgh('fefe%%G() (''''&I)'&ŨƨƨƤǤŤŤĤC$CcdefEE%$FFffżcðİìdưĴĴô$$$BC##fedCfD%ef&F%H&GHhfgGGGgGGf'Hgűűǵƭ浧ŵȵƱǵ - - + + *jl++KLI* )J - - -IJ+*jk*L+ ͽlʱijʡʩIj)GHH((G(gigfeefE('I()H(((G)I(&%ƬƠǨƤ椆Ġ夤ĠŤbcgefe&G%%%$$dfeżļİðcĴİİĸ#"CCDEddDEEEEE&%&'&hggh(GGH(H'GfgfeDZűŹƵǹȹȭȭ * -** +L,L+++ - -I()JJ -+I*J*JlmL+ m̭̭kiJIH'()((HHggHGfggHG)IIhI)HH)HH(((ƤŨŤĤŠŠdĘƜeggF&&'FFeEEfgüŸôİeôðĴĬ´#C#$#DDeCfeed%ED$%&%&EfEfGgGgi'(('hFFGgƭŵƱƱȭȱɱ - -**JKL+,*+ *H)+I)* - *+ - K+LLL,˽L͵kkkiiiHi(HH)GHfGgfgFg(HIh))H)H((ȨȨǠŠƠ堥ŠdeƜ眆fE&&'F&EfFefgeebİð䰥ƬCBD#"CbbdcFFddccdC$%DEF&efeDEggggI -)HGFeeƭƭŭ浥ƭŭǵ浧ƱDZȱȱ) -ʱ* J**++**I))JH(( + ++J+KK +-̽lkkKiʡʥiiJiGHIigggggfgihGI()H GH((礦ŤƠŤǠfǠffFG(('gfddĸbŬĨì䴥D#e#D""CcCdeDFEDedCD%eE&&EeFDfgfgF'F(GFeeeƭŭŭƵ浧hǵǵɵ - - )k -*))J(**J )+ -K -K* - ̹̽͵mjkjijIiiiHI(gGghhgHi*(***'&( -蠨ǤƨŨǠǜedŜffŘ栦fGEg '&&HghgGEeFìð䬤ĨìðĬì%CdEDDCC#BBddeFEE$cdCC$dDDeefeDDeffF''%edŵƱǭƱƭ豨ȵ -+I*H())J* *** -+LK-- ̹̽ ͽνmLkjjiihiHhihGggfggggggi*IJ -+ - '' '') -ƤƠǜƠ朧fĠǠƠgGH(HH'HhhgfefE&c°ðĨè%DdeDe$$bCDcceEEd%DeEDDbCc%feeDeF&eecdcƭǩƭɵɱɭfhffǵǭ ɱʱȭ' -)*I()) -))) * **+KK ͽͽ˹˽̵kIihjjhjihiJghggggEfGgh)JK - - - ɨɬ - ǤǜƜƠƠŘgdĜŜeFf'(G(GghFFFfeE'F´°°ðŬŬĬBDdCeECcDDcddD$ECDcc$%edeDBCDDDcdFEfDeȩǭȱȭǭǭhgɱȱ(( ) * ( * - -* + ,Kj**L -, ,, ʽ̹͹˵ʱkIijhiihHjhhgFGgG)I+ - ( -ʬʬɨˤʤʤȜ眧ƠƠgfĘgfE'gg'(fFHHfeDE&b¸⬤ĬĨ䰤ĬC#CecCddDd##CdCDBDC#Cddedbcdededeeeddfccdddcdȭhhȱȱɵ    ** -+***klJ , ̽ʽ̹뵊jiijihjiIHhhhggGgg((*+ ++*)** -˨ʬɠ ɤɠ頨ȜǠƜŠdǠgefgg'Fh((GHG%%%&°ìd#EEDcdDd%&FEDCdcBBCBcDdeEdeDdCdddfeecdeddddccCdEeɵɵ ()ǵȽ -  - - - *+++*JKKKJiJ+L, ̽˽쵬kjiiJiHhiihHggfFhg(H - - +*K ˤʠʠ̤ -ɜǜȜǜƜǠƠƠƜƠfefFghhHgH(ihG'&'% \ No newline at end of file diff --git a/examples/other/clear_bmp/data/cube.bin b/examples/other/clear_bmp/data/cube.bin index b7c5b78..8f95ebe 100644 Binary files a/examples/other/clear_bmp/data/cube.bin and b/examples/other/clear_bmp/data/cube.bin differ diff --git a/examples/other/clear_bmp/graphics/background.grit b/examples/other/clear_bmp/graphics/background.grit new file mode 100644 index 0000000..42e61f7 --- /dev/null +++ b/examples/other/clear_bmp/graphics/background.grit @@ -0,0 +1,2 @@ +# 16-bit palette, no transparency +-gx -gb -gB16 -gT! diff --git a/examples/other/clear_bmp/assets/background.png b/examples/other/clear_bmp/graphics/background.png similarity index 100% rename from examples/other/clear_bmp/assets/background.png rename to examples/other/clear_bmp/graphics/background.png diff --git a/examples/other/clear_bmp/source/main.c b/examples/other/clear_bmp/source/main.c index dce52ab..c50a344 100644 --- a/examples/other/clear_bmp/source/main.c +++ b/examples/other/clear_bmp/source/main.c @@ -17,7 +17,7 @@ #include -#include "background_tex_bin.h" +#include "background.h" #include "depth_tex_bin.h" #include "cube_bin.h" @@ -51,7 +51,7 @@ int main(void) // Copy data into VRAM vramSetBankC(VRAM_C_LCD); - dmaCopy(background_tex_bin, VRAM_C, background_tex_bin_size); + dmaCopy(backgroundBitmap, VRAM_C, backgroundBitmapLen * 2); vramSetBankD(VRAM_D_LCD); dmaCopy(depth_tex_bin, VRAM_D, depth_tex_bin_size); diff --git a/examples/other/fps_counter/Makefile b/examples/other/fps_counter/Makefile index 133ddc5..6006f41 100644 --- a/examples/other/fps_counter/Makefile +++ b/examples/other/fps_counter/Makefile @@ -24,7 +24,7 @@ BUILD := build SOURCES := source INCLUDES := include DATA := data -GRAPHICS := +GRAPHICS := graphics AUDIO := ICON := diff --git a/examples/other/fps_counter/Makefile.blocksds b/examples/other/fps_counter/Makefile.blocksds index 626cf71..151bded 100644 --- a/examples/other/fps_counter/Makefile.blocksds +++ b/examples/other/fps_counter/Makefile.blocksds @@ -1,3 +1,4 @@ BINDIRS := data +GFXDIRS := graphics include ../../Makefile.example.blocksds diff --git a/examples/other/fps_counter/assets.sh b/examples/other/fps_counter/assets.sh index d373a51..1a39bd8 100644 --- a/examples/other/fps_counter/assets.sh +++ b/examples/other/fps_counter/assets.sh @@ -4,8 +4,8 @@ NITRO_ENGINE=$DEVKITPRO/nitro-engine ASSETS=$NITRO_ENGINE/examples/assets TOOLS=$NITRO_ENGINE/tools OBJ2DL=$TOOLS/obj2dl/obj2dl.py -IMG2DS=$TOOLS/img2ds/img2ds.py +rm -rf data mkdir -p data python3 $OBJ2DL \ @@ -13,9 +13,3 @@ python3 $OBJ2DL \ --output data/teapot.bin \ --texture 256 256 \ --scale 0.1 - -python3 $IMG2DS \ - --input $ASSETS/teapot.png \ - --name teapot \ - --output data \ - --format A1RGB5 diff --git a/examples/other/fps_counter/data/teapot_tex.bin b/examples/other/fps_counter/data/teapot_tex.bin deleted file mode 100644 index 7c633ea..0000000 --- a/examples/other/fps_counter/data/teapot_tex.bin +++ /dev/null @@ -1 +0,0 @@ -9{)1R1R{{{ڭs{Z9ZZZ9ޔҔ9s9Z{1ι޽Z­ֽ9Jڽ{ιs9{Z{{޵99RRʵ9{{Z99Z9sΔ{{9{{sR1Ƶ{ZkZ9kRsR1{{{ι֜Z9Z{9Rss9{9ڵZڭJ199ιR{{k9ιZ{Z{ZڔZ9sΔ{{ZZZ{{{Z{s1s9Z1))RʽZRRZ{Z1R{{9199{1”999{ޔ{޵ZZsΌkµ9{{ڔ99RҜZҌ{{ZZ{sZZڔZsRʔZڔҔ{{9s1s9{Z9R9JZ{9Z{{{s9{{ι1ZZ9ZZιιs9ZZZZ9ZҵZュιsΔRʔZ99kι9Z{ZRʌs9{ZZ{{sR{Z޵{9ڔҔҔZsR{{9ZZ­µZ{Z99999{{ιRZZι)k{{{{Z9޵Rι1sss1Rޜ99Z1ƔZ{{{{{{ҭҜZ9{91JιZ{{Z9999{Ҕ9{Z޵Rュ{1ZZ)kオ9ZRJZ{{Z{{9s1{Z{9ڵ֔{1R9{9Z9sΔҔRlZ{Z99999Zι1ZsJk9{s1ιJ)))JJJJJ))Jι֜9Z9s1ƵZ{{{{9sι޽99{R)ޜ{{ZZZ9{{{9ssޜ{{{{1J)ι1ιҜڭ)ڜ9)9{{Rʵ{{9{9{9ss9{1Ƶ֜99s{{sΌZ19kks{{ιιιιιιιιιュkkιJ)9Zs1ƵZ{{{{Z19{9ZZJι{Z9{ss{1J)ュR999{{Rʌ)ޭ){{ڜ{99{޵Z1Ƶ{ZsR{sRRs{{ι)11ޜތJsst999999ZZ{{{Z9999ιJιڜZ9s1s9Z{{{ZRZZ9ڭk9{Z{{{){{91)1Z)){ZֵZ{{Z9Z{ޔZ9R1ޜ9sΔ{9ss{{9RkksZ9Rޜ㌱J)9sι{9RιsεZ{9Z11s{9ιҜ{޵sΌ19{ZZZ9skJ{{99kҜJ)ιڜs{{{{{ޔҵZsZ9sε{Z999Z{Z{{kZオ֜9kkRZ{1ιsι1Z9{ZssΔ{9sέֽRRι1{Z9Z{{ZsΌJkڜ{ZZ9{Z9ڌ199sέ)Z{{R{sε99Rڜ{Rs9{ZZ{Z{{ޔιڽ{֭s{{91kޜ{1ι1ι1ޜZZZ{{9{{9Rʌ֜sRRι1ƵZZ9{9{9sΌk1Ƶsι{9{{㭵RZ{{9ZZ)J11sRޔҵZR9Z9RʵZ{{{ZZ9ZZŒڽڌ1Z{{9Rʌιޜ19Z1ιs{Z9{{9ZZ)RZZ1ι1ƔRRʔҵZ{9ZZ{9ҌJRZZRʭs9Z{{{㭵JҜ{Z9ZιRs1s{1ƵZ{ޔҵZZRʭZ{{ZRʔ999{{Z9ZZRʌҜ{{{ڌZZs1Ɣ9kRι޽91オZ{ޜ{9Z{{9Z9Ҍ)µ9{91ƭ1ƵֵRʔ{Z{{Z֭JRʜ֌sZ{{Z{kk֜999{9ss9ZsέZZ1Ƶ9ҵ9ιޜZ{ZssΔҵZZsΌ{ZsJ{Zs1ƔҔJkιk޽ιsZޜ{999ZZZ{{Z9{{99ڔsk)1ڔ{ZZZs{{ZkJsΜ{sJks9{Z{ZJι{{{9{ڌιZR1sZ9sڭ1Z{ZZ99{Z99ιJι1RRR11Rss)R991µRRRʌ)JҜιҜZ{ZZZ999Z99{{ZRZJ)s9{9{{Z9{9ss9{{{s)kZ֌)ιޜZZZޜ19{{{99{{9֭{1ƭRR”{ޭ1ZZZ{{Z9Z{{Z{ZkJkιR9sΌJιRʔҵڔιュZ֭))ιZιs{ZZ9Z{9޵ι眔ҜZsJι{Z{{ZZ991Ɣ{{ZRkRsέ{{{99sR{{99{Z9ZZ{{sιs{{kJJJҜ999ZZZZZ{{{ZZZ{{Z{ڵֵֵ{91ι1Ɣҵ9RʌkkJڽ{9ZZR1kJs9sk県֜{9ZZ{{1Ƶ֜{{ZR)k{9Z9Z{sRZZ9Z{Z9{{{ZstZZ9sέ)1ZZRʭιRʵ9{{{Z{{1Rޜ{{{{{{1ƔZsRs{1J){sιR9{ZZ9ZZs111RʔҔJ県{{99ZZ9Rs9{RZZ{Z{sJ1Z9Z{Z9Z{Z1sZ{{ZZ{{ڭ{{ιs9ZZZ{{{k)Z{ZZ1Ɣ9ZkJ191ιZ{ZZ9999ZZRk眭{{ZZ{9{Z9{1ƵZZ)ks99Z9ZZRιs޵999{ZsΔ9{{sZ91)kJJ1Rʔ9ZZ֭)ιZ9Z{{9R1ƔZ99㌱)1ޜι{Z9ZޔRʔZZR)֜{{{9{Z99sRޜ{{{{kJŒ)ι1sޜZ9Z1R91Ɣ{{s{{Z99ZZZ{{1Rʵ{9)オֵJJ1sڔҭ)kRsέ)ιRʔҵ{{sιιRZZ9筵)RRι{オ{Z9ZssεZ9Js{{9ZZ9sεZ{Z999{{s)ޔιJJRZ{1{RZ1Ƶ{ZZZ99Z91kR{ތ֜RlJkι)sZ9JRޔҔޜ{9ι)Jڽ{޽9筵kt9オ{{Z9Z9ޜkι{ZZZ9{ڵZ{ZZ99Z{ڭkZ91lҜR19ZR޽µ{{{ZZ{{{{R1R1ュ1{ZR)9{Z9޵sRJ9Zk{9sڜ{JJ1{޽㌱9ZιR{オ{Z{ZJZ{{9Z99Z{ڵZιZ9ޔR޽{1Zt{ZR{{ZZ{{{9Ҕ91ιRڔҭ19{ZZ{9R1s{9ŒZ֔ޜ㭵)ι9{޽ڌ9RιµZ{オ{{{{9ZJ{{9{Z9{Z{{{{{11ƵZ1J1Z{91sZZRʌ9R919{{{{{s{R1RJsεֵ9{ZZ{{{{9sέRڵ9Z{Z޽kZ9sιRZ޽Z{{ZιksZ{{{9{Z9{{ZڔR­ι1J)Z{{ޔҵ99֭ڽsΔ9Rt{{{{Zڵ99sι)J”9{{ュRʵ9{{RZڽRk1{ZRR{ιsZZZ{{{ҌZ{{{Z9Z9{{ZڵޔJZ{{{Z9{{Z)sZZֵZs1Z{{Z9ZZ1ƌsZ99{{ZJs9{{{{{9Rڽ1ksΜZRR99{ޜ999ZRʌ{{{Z9ZZ{9RsZ{Zι))RZZ999Z{ZZ1Jオֵ֔ҵ{1s{{{9Z99{Z9Z9Rt{{9Z{{9ι)RZJJ1Ɣ1ιֽ{{JҜ9Rڽ{R99Z{ޜι{{{Z{99Z{{{sRʵZ{1)Jιs99Z{9ڵֵsιRʔ{RRʔ9{{{Z9Z9Z99{ZZ1RZ9Z{{{{{Z99{ڌJZιιJ)1{Z㭵JڽιҜ{RZ{9ιR9Z9{Z9{{Z{{{{sR{)s9Z{{Z9991ƭιR{Z޵޵sΔ9Z99{9Z99{{{9RʔZ99Z{{99Z{ZRkk{ZڵֵRJksJkιҜZ1Z99ZZޜ91オ{{Z{9ZZ{{RRʔ{ޭ1ƔZ{1ιι1ڵZ{9RsZ{9ҵZ99{{{9֔9{{99ZZZ9sΌ޽99Z91))Z)k9Zsιڽ91ZZڜ999Z{Rs9{J)s{{޵1ƭ1{Zsέs{9ҵZ{9{{{9999{{ZZ{{Z99֭{㌱Z)J{19ιR{Zޜ99ZֵZ{Rs{{9RkRʵ{Z9{9sΌ9{s)Z{ڔ{{99Z{{Z{{9999Zιk9Z{sJsJJ{{Z9ڜ㭵Rʜ99{R{ZZ{{{ҔZ9RR{{{99Z{{9ZZ1ZZι)Z9{Z{{ZZ{ZZ9kֽZ9{ι)k)޽{sR1ιt{㭵RʜZZ19{{{Zss{{Z9ޔlsss1ƭ)JsΜ{99{9{{R{)kֽ{9{9Z{{9{{1ƌҜZ9Z{91)k)s9RιιR{㭵sΜ9ZZsιι{{RR99Rl))kk)JιRs1ƌJR{9{R1s{{ι{{1)9Z9Z99Z{9޵֔sεZZsέsZ9{{{㌱9筵kι1sεZڭsΜZ9Rk99RڽJ)Jkkιιιs1ƌ19{9ZRk))))9Z9{{JR{kJRʜZ9Z99Z{9޵sRRʔ{9sR{{{9Z{JRJ)1sΔ999ZZ{ZsιֽZιkҜ{{RZ{RJ)ιRʔڵ99{9sR{Z{{J)ι))ҜZ9Z{ZRJJ1{)k֜Z9ZZZ{{{{{{Zss9Z{{9s1Ƶ99{{9ZZ1)Z9)))))Jιs9ZZsι1Z{sJZ{1オ{9ι)ι{{{ZZ{ssε{Zڵ)JZι)ιZ99{{ҭ)9{{kJRZZ{ڵZ{Z{{{{{sRsΔҵֵsR1µ999{{{J)9Zڌ)kkJJJJJJJ)JJkιι1ޜ9{kι{Z9㌱)sΜ{{ZsZ{{9ޔҌJ9֌)R{{99ZZҭ֜Z{Z1J{9Z9{{{ZR11ιιs{Z{{kk99)s޵s11RRR1ュkι1s{ڵ9ZZZ99ZZkι{9ssΔk)ҽZ{ZZ99ڵ99lֽ{1)kڜ{Z9Z{ιsZ{Z{1kιڜ{99{{{ڵ֔sR1Rʔҵֵ{{Z{Z֌)91JιZ{{{{{{{ZRʵ9RZ{{{Z9999Z{ZsJZ9ュ))ڽ{{{Z999ZZZ9Z{ޜsιҜޭι99Z{)JRZZ{{{1k1Z9ZZZZ{9ZZ9{֔ҵZ{9sJ)J{Z9sΌ1Ɣ99{Z{R{{9RʌksΜ{Œ)k{Z{Z9Z{{Z{9k)ιZs眭޽{Z{ޭڜ{{{޵9{Z9{{Z{{{{Z9{{9s11Ƶ9Z{{JJι­{{sΔsΔ999{9Z99999ڔZ{k19{{1ƭR{Z9Z9{9ZZsι֜{))sZZ19Z{RkRZZ{9ssεZ{Z9999Z99ڵֵ99ڔRʵZ{ZZ{{J)Z9{R{99{9Z9{Z9ZZ999Z9sιµZ{{9ֵ99Z{9{Zι1{J19㌱9Z9ιZZ{{s111RʵZZ{{Zڵ֔ҵ9{Zڵ֔Z{ZZ{9֔Z{Z{{1J޽{Zss{9ZZ9ZZZ{9ZZ{{{9Z999ss9{{99ZZ9{޽9ZkZ))s{{ZZsΔҔZZZ9­kιsZZ޵R1R9Z9{{Z{sRޜ{999ιk){{{sε֜9ZZ9Z{99ZZZ9Ҕ9{9Rs{{9Z9Z{1ιk9ZR޽99Z޵9ޔޜ{{֔Rl”ڵ֔ssΔZ{ZZZZ{1ιR{Z9Rk))ιZ9{{R{9{Z9Zs{ZZ99{sޜZRʔ9Z{99Z9{sι֜R)1޵ֵ9ιZZ9Z{{{9Z{ڵ9ZZ99{{Z1ιι1sZ{Z{{{9Zkkµ9Z99ZZ9Z{9R9Z9{9{ZRsZZ99Ҕ9ZssRRRRʔ{{{{99Z919{֌s9Z9ڵֵڵ)ι9Z{Z9999ҵZ9{{9ZsR1RʔZ{{Z9{{֔sι))Rュ)ڜ9Z{sΔZ{9Z{9Z99Zֵ9{s9R11RsRsZ{{ZZ{{{Zڜ9Z{ZZRιR޵k)Z{Z99ι199Z{{{ZZ{{ޔ{9{9Z{Z99Z99Zҵsέ)J)){{9{{s9{99{{9{{99{Z9{ZsZ9ڔ{ZZ{{{{9Zҵڵ{1ιk)){{{{R{9Z{9{{ڵ{{{{9Z{9{{{ZZZ{{99sΔڵsJ))kR9Z9ZҔ9Z99ZZ9Z{{99Z{{ڵZ{{{޵Z9Z91”9))ιsε9{{sޜ9{9ֵZ{Z9ZZ9Z{ZZ{ZZRRʔ99ҌRssεZZ9ҵ{޵Z{99999{{9999{{{{{{Z֔99ZZJRsι{{ҭ9Z9Z{Z{֔Z{9{ޔ޵֔sΔҵڵ9Z{{{{{{{{{{99Rι1ޜ91ƌsZ{ZZZZޜڔZ{99Z{99{Z9{Zs9{{{{{{{{{91޽Z9{1)9ZRs9{9ZZ{ֵ{99{ZZZsRRRsZ9ڵ9Z9{Zskι޽91{ZZZ9{Zֵ{{99{ZZZ9Z9sR{{991Ɣ{{9)JRRZ9{Z9{Z{ֵ{Z99{{{{9{9޵Zޔ{{9ڵ{{s)k9R9ZZ9Z{{ҵ{Z99ZZ{9ZZ1ι1Ƶ{{{{9RR9{99ι)1R1999Z{ڔ9{{{{{{{Z֔{{޵9Z{{{)ュ{{{ZZ{{{ҵ{{99Z9{{9ZZ9Z{ss{{{R19Z9ιιR9Z{ڔZ{{s{{{Z޽9ֵZ{ZZ9RkJs9Z{{Z{{{{ֵZZ99{9{Z9999Z999ޔҵZ{{{Z19Z9ZRZ{Z{ZR{9{{sޜ{{9޽9ڵ9{ZZڔ)ιڵֵZ{Z{Z{{ZZ9Z9Z{9{Z9{{9{ZZ9s9{{{{{{9sέs{9Z999ZR{99{Zs{{ڜ9ڵ9{Z{9Zs{Z{{{{Z{Z{{{9{{99{{{{{9Z{9Z9Z99s޽{{Zޔιιڽ9Z9ZZ9{1オ9Z{ZZ{{9s9{Zޔҵ9Z{{9sssε{{ޜ{Z{9kZ9{9Z{{{999{{ZZ99Z9Z{99{9{{99{9sε֜{ڔs1ュιsZ9ZZ9Z{tZ{Z9Z{9sZ{sε9{9s11{ޜ{{Z{9{ޔ{Z{9{{{{9ZZ99Z{{ڔҵZ99{{Z{s9{{Z9޵sュkι1Z99{{{{{{9{{sZZ{ss{{9ڔҵZ{{{{9Rι޽{{99ZڭR{ZZRڽ{Zֵ{{{޵9Z{{1Ƶ{{99Z{Z999ZRʔZZ9ڵsR1ιι1ƔҵZ{999999Z{9Z99R{Z{{{s{Z{1ksΜ{{{{99{{11RJs{ZZ{Rs{{{Z{{Z{s{ZZڽZ9999{{9Z{RsΔҔsRʔsRʔZ{{{99{1ιڽ{{{Z֔9Z9Z{ZҭRZ{Z99999J)R9ZZ{R1{Z{Z{{R9R1{{Z9{{s1Rʵ9Z99ZZ{Z{RιR9{ZZZޔڜ{ZZ{Z{R9{{{{{{ZRʌk1RR11Z1ޜ{Z{{{9sڜZڔҔZZ9{9ZZZZ9{99Zޔιs99ֵ9{Z9Z1ƵZ{{)ι9{{{Z1ޜ{{9{{{Z{{Z9ZZ{{{{Zssε9{9Z{{޵1ƌsZ{{{9{99{9Zιs9ڭJ֜޽sZ{9{ZsιR9{9ZZ9{{Z{{ZZZ11s{{9޵֔Ҕҵs1ιJk{99{ssΔҵ9Z{9{{sJ)ι{9Rsڵ֌JڜZιR9tҜ1µ9Z9{֔sR11RʔZ{{{ZZZ9Z{11Ɣ{9sRュJJ)J{{{Ҕڔss99{{{{ڭJJ)RRRʔ9Z{9JkJ)1Ɣҵ֔ss1ƭ{{sZ{RʵZ{Z9{9999ڵssε9{{ZZ911Ƶ9{{{{ҭJkιR޽{9Z9ڵ{Zڵ֔ҔsRRs9{{{{ZR)sΔ)J11))JJJJ))ޜ{Z9ιsZ{sZ999{{ZZ{Z{9Z9ڵZ{Z9Z11Ƶޜ{9Z9ιs99{ޜ{{{{9Z{ZZޭJs{{֭J)Jkk)RssssRsεZ{{{Z99sオ{{99Z{99999{Z9Z9ZZZZZs”{ZstZ{{ZZڔ{{ZZZs)ι{9RʵֵRιιRޔlZ{Z9999Z{9R޽Z9ZZ99Z9{{{{Z999999{Z9ZZZ{9Z1s{991ƭι{{{{Z{֔9{{{{ZҌJ11sڔҵ9ZZ{1s{{{{s{{{{{{{{Z{{99Z99{{99Z{{{{Z99ZZ91µZZ91ƭιZ{{{9{{֔Z{9Z9sέJιsڵ֔Ҕ{{ޔޜZZޔ޽{sڽ{{{{9Z{Z9Z999޵ֵֵ֔{{99Z9{9ZZt{{ZRZ{99Z{֔9{{޵91ƭtZ{ڔZ9Z9Z91ιڜ{ZZ{99{ZZZ9Z9Zޔ{{޵s1µ֜Z9{ZZ1R9{ޜ1Ɣsε֜{{Zڔ9{{ޔR9{{ZZ9Ҕ9ZZ9{Z֭{Z{{ZZZZZ{{999ڵ9{޵Z{Zڔҵs޽Z9sε{9991ƵZ{{{{{{Z9{{{{9޵֔sΔ9{{99{ZZ{1Ɣڵ{{Z{Z9ڵ)ksZZ{Z9{{ZZZ9ޜZڔҵڵ֔{ZιRZZ9{sZ{9{ZZsZ޵9{99{{Z9ZZ99Z{{{{sZ{{9Z{99{{ι1ƔZZڔҵZ{ZskZ{{ZZ9Z99Z{9{ڵ{9RڜZ9sε{Z{{9Z9ֵ9ڔ{{Z9{{{{{ZRZ{ZZZ911ƔRsZ{Z9Z{Z1ι9{{Z{{9{{99Z{{9Z{{{19Z9{{Rޜ9{ޜ99{ڔڔs9{{9֔Z޵9{ュs9ޔsΔҔҔҔҵ9999޵Z9ssZ{{Z9Z{{{{{Z{9Z9Z{Z9Z{sιҜZZZ991Z{{9ZZ9Z9s1sZsΔZZZ9)1sΔ9{991sε9Z{J{{ڵ֔ZZ9ZZZ{ZZZZZ{ZŒs9Z99Z{sR{{ޔ9ZZZ{919ZڵZ{9ZZst9{{ڽ{RsεֵֵZZZ9{ZZZZZ{9{99{sιֽZ9{֭ι9{999Z{Z9{Z9{{Z9{999R9J911Ƶ9ZZZ9{{99ZZZ{{ZZZZ9”{Z9{sι{ZZ9Z91ޜ{9Z{{9{ιZZ9sιιڽ{R)J{Z9{9Z{Z99{ZZ{ZZ{99޵ZZs9Z9ZR9{{9Z{9{{”9{Z9{{9Z{ֵRʌZZZRʌJ)k㭵))ι{{99{Z9Z{99Z{ZZZZ{99{ֵ{{9Z9ZZ9R{{޽99Z9{ss99Zs1RʵZZZ{JJJJ)))Z999999Z9J)J)1Ɯι)J))RRs99{{99999{{ZZ{Z9Z޽Z9{ZZZ9オ֜Z9Z9Z{9ڵ{{Rιι1sεֵZ9sΌ))JJJJ{Z9{{Z999{JJRkk޽1ι1s1k))RʔZ9ZZZZ99Z9ڵֵZ9Z9{Z{9{Z9{ڽZ99{Z999{{{{޵1ιι֜sk)JssΔ{ZZ{99)ksZ{sJ)ޜ{sιR9{ڭJ{Z99ZZ99Z9Z{9ڔҵ{Zֵ99{Z9{{9ZZڜZޜ9Z9{9{9{{Zsk)ιZZιZZZ{99)ks{9ι))Z֭RZ{9Z99{{ޔsεZޔZ{ZZZ9sεZ9{9{{޵9Z9{999ZJJڽ㭵Z{Z9)ks{{J)JιZιs{1Z9Z9Z{999{sΔZ{ZZ{ڵ{999{{Z9޵{9Z99Z9Z{޵ZZ9Z)9{k9{Z)ks{{{ZsΌ))kオ9{{sιֽZ1Z9{9Z{ڵֵֵZZsΔ9{Z{9{9Z999Z{{ZZ9{99{Zֵ{{9{kk19ZZJ1Z9{Zk{{{sιkJRʵ999ZZ1tҜ9Z9Z999޵ֵڔsε9ZZ{Z99{Zޜ{ZZ999{99Z{9{{Z9ޜ9ZRιRʔJ9{{ZZュ{{{Z9ҭJιRʔҵZ19{Z9{ZޜZsZ{ZZ{{Z9Z{{{{9{9ZZ9ZZZ{9{{ZZZZ{9ZZ991ιι19Ҍι99ZZZZRʌ1ZZlRʵ99ZιR{{”{9{{{91k1ZZZZZZ{{{9{{{Z9Z9{9Z{9{Z99Z99Z{9ZZ9{{999֭9Z9ZZZ9sέ޽{{Rιs{9ڭҜZ11RZ9{{{Ҍ֜{Z{{{{{{Z{{ZZZZ{{9{9{9ZZZZ{{Z{{9Z{9Z{9Rʌ1Z{{{Z{9{9Rʭڜ{Z1”9{{ιֽ{99{ιJRZ{{Z{{{{{{Z{{{{Z99{9Z{9{{{{{{9Z{99{1ƭ{{{{9Z9Rʭޜ{{R”Z9ZZ1ZZ9ZZ{JZ{{ZZZ{{{9ZZZZ9{{9{{{ޜ{{Z99999Z{ZZ{Rޜ{ZZZZsέޜ{{1オ{991Z{sZ99{Z9{sJιڜZ{Z{Rʔ9{ZZ9Z9Z{{{{{{{ZZ99{{{{ZR{Z{99ҭޜ{{{Z9{ιsΜι{99Z9ޭkҜZ{Z{11ƵZ9Z9Z{99{ޜ{Z9ι֜{{1ƵڔҔ{{sιڽt99{s)9{{{Z{Z{Z{オ{ZޜZss{ZZ{ZZ{ֵ{{Z{RZ{{ZRssRRʔ9ZZRtZZڵZιkҜZZ{Z{Z{9119Z9Zsڜ{{9{ֵZ{{s{{{{{{{{{{{{ڔRRʵڵ1ƭs{Z19{Rs{1ι1ޜ{ZZ{{{{{ZZtҜZs{{9Z{9{{ZZZ{{R1ޜ{{{Z{{9sZRkڽ9ڜ1RZR1Ɣ{{Z{{{{ZZ{{ZZ{s{Z{{{{{99{9{{ZZ9Z{{Z”{{{{{ZZR{s{9R1{R1{{1RZ{ZZ{{{{Z{Z{{1Z9Z{ιZ{{{9{{9{{9Z{{{{sιs{{{ZZZRJkֽ9s1sZ1Ɣ{{1ޜZZ{{{Z{Z999999Z{199{{ZZ{9Rk{9Z{9ZZ{99Z{{{9オ{{{Z9ZR99ι91ιιRZ{Z֔{Rޜ{Z{Z{ZZ9Z{{Z{{sオZZ{Z9999ZkR{ZZZ9999Z999Z{Z{{{{Z{{11{{{ZZZ{s9)JιュιRʵZ9Z99Z{J){{Z{Z{ZZ9{1R{{9Z99{ZZ{֌֜{9Z{9{{99Z99Z{{{{9{11{{{{{{ZZZ{9Ҕ{9)k1Z9{9{{֭Jι1Ɣ{{ZZZ{Z{9{ss9ֵ9{Z{ZRJιZ{ZZ{{ڵ9Z{ZZZ{{{9{R1Ɣ9{ZZZZRڜ9111Ɣ9ZZ{sZZ9JZZ99Z{{ZZZ{{ZZ9Z޵R1Ɣ9{ZsRޜ{Z{9J{ZZ{9ZZZ{s{{{9{ss{{{{RR{Z99R{޵lڜZ999Z{Z{{9ZZޔ1”{91R9{ZZZŒ{Z9Z{{{99{{Zڔ޽19{{{9{911{{1Z{ZZ99{RڜZ1ι{{{{9Z{9ڔ11ƵZs{Z9{ιZ{{{{Z9{9ڔs{{{{Z9{R”Z{9{ss9ZsZZ{9Z911Ɣ9オ֜ZZZ1ι{{{{Z”9{ZZ{Z9{RtZ{{ZRιڽ9s{1{{99{ZZZڔRιJJι9Zs{Z{Rιڽ{{{9{sι֜1{99ZZZ99Z{ι{Z9Z{{{֭ҜZZ֔R9ZZ9Z{ZZ{9ュk1sRsε9ZZZ9{Rι޽{{{{{9ڵ9ڭZιޜ{9޵9ZZZ{Z1ƌ1ڔҵ9ZZZ{{RZ{ޜ99sΔ{{{Z޵ZZ9{99Z99Z{Z9ZsRs1s9ZZ999Z99{9ڔҵZZZ{ڭsRʌ9޵֔ҵ9{lι1s9{{9ڽZ{9sޜ{{ڔ{Z9{{9ZZ999{{{9Z{sΔ9{ιR{{{9{{{ZZZZZ9Ҍ))ιsΔҵֵ9{R1s{{9999Z{{ZZ{9R9{s{{ZZZ{{Rʔޜ99{{ڔ9{{Z9Z{Z999ZZ9{ڵ{{ZZ{ڽ{9{{{Zڵ֔Œ1sε9{Z9{{{{{ZZZZ99ZZ9޽ZRRʔڵss{{{ZZ{{R1sεZ{{9޵9sε9{99Z{Z9Z{Z99{{{Z9{{Z{Z{Z91sZ{{{Z99֔9Z9{{ZZZZZZ{{ZZZZ{{ZRڜڜ91J)1ޜ{9Z{{Z9ssε99޵RュRssZZ99Z{9ZZ9999Z9999ZZ99Zҵ{{9{{Z9{{99{ZZ{9{{{{{Z9{9ZZ{k)Js{99{{ZZsRsε{{s11ι1Ɣ9{Z99Z{Z9Z{{ZZ{9Z޵9{{9{99{{9ZZ9{9ssZ9{99{9ι)オJҽ9Z{{99Z{{{ZZ{{9{9ޔZ{Z999Z{9{9ڜ{{{Z9Z{ZZ{11Ɣҵ֔R1Z9Z9ZZ9Z{޵֭)kޜJҽ{{Z{{{{{99ZZ{{{99{ڵZ{99{99{Z11sZZR99Z{9ZZ9{{ތ))ZRJֽ{9{{99ޜZZ9Z{ڔ9{{{9Z{{Z”9{sZZ9ZZ9Z)kkZ{)Z9{{޵Z9ZZZ99Z9RZ{{{9ZZ99RR{9sµ{{9{{9{Z9{ڌsι)Z9{{{ֵ{{Z9{ޜZ9Z{Z9RZZ99{Z9Z{{ޜ1ڜ9Z{9{9Z9{{ι1Rk9Z99sε֜{9Z{99999Z{­R9{9ҔZ9ZZZ999ZZ9{Z19Z9ZZ9{޽9Rιk)1{9Z{Zιks9Z9{9ZZ9{Z9Z֌{{ZsZ9999999{99{{{R99ZZ9Z{9{ZRk)ֽ{9sιkJJJJks9{9Z99{9{{Z{{9ιJZڔҵ9{{ޔҔ9{{99{Z9{9ZtZ9{Z9Z9{Z1Jk{kkJJkJJJZZ999ZZ99999Z{{J֜{Zsε9{9sΔ{99{9Z{9{9Rµ֜{9{{9Z9ZkιZZ9ڭ))J1kJڽ{999{9Z99{{Z99Z{1ƌR9{9sΔ9ssZ{9ZZ9{{11޽{9{9Z{ZZkZ{֌)J9{{{9JkֽZ9ZZ9Z9{Z9{Z9Z{ss9Z9ڔҵ9sΔ{Z{Z9{9Zs{{9{{999RJ1{{{kkRZkJιZZ99{{ZZ{{9{Z9{ZZZ9{9sΔ9ZZsZ{{9Z99ZR޽{9Zޔ޽Z{)sΜ9sk{ތJk1ڔs11Rʔ9{{999999{ZZZ9Z9Z99s{{99ڵ{sڜZޔsޜZ9{Z{ιs{ZZ{9ҔZZZι)ڽ{R1ιJ{Z1ƌ1sssssΔsε{99{{Z99ZZ{9ZZ99ZZZ{9ZZޔRsΔҔҵ{Zs9Z޵Z9ڔ9Zڔ1{{9{Z9{֌ZZZ99ZZZZZZ9Z{{{{ZZZ{s9Zތk֭JJ)Z{ュ1Z{{{99ZZ9{Z999Z{Z9Z{1sZZZZ{{{9Rュι1RRRsεZ{sڜ99Z9Z{9Z99199{{9Z{ι)sεֵֵֵֵֵ99ZZ{ZZ{{Z9ZsڜZRkιZ֌kR{ZRʭs{{{{ZZ{9ZZ99{{99Z9ι”9999999Z9ڔsι”ZZssΔ޵sΔ9{99{ZZZ9Z{{99{{1Ƶ{9ڵ1ƌ)J19{{ZZ{{{99ZҔ{Z޵ιJsΜޭsZZ99ι{{ZZ{{Z99Z{Z9Z99ZZ999{{1Rʔss9{{{ZZ99ڔRʔ9{Z{9ޔssRRʔZZ{9{Z{{9ZZ{1s99k)kR9ZZ99ZZ{{9s99ιs{{99ҭ”ڵZZ{{{99Z{9ZZ999Z{Rʵ99Z{Z{Z9{9{{9{ZZZ99{ڔZҌ)R{{{{{9Z{9Zs޽{ZZZk֜Z9ZュιιR9ZZ99999{Rʔ{{֔Ҕ{9{{ZZZ99Z{{9ZZ9{9{{9{{޽{ZュR{{{9޵9Z{{99{9sε{{Z9999Rʔ{眭ޜ{{Zڔss1ƌkRZ{ZZZ1Ɣ{Z޵sRʔZ{{{{Z9{{Z9Z{Z{{Z99{ZZ{9{9Z޽ZZ{tZ99{ZZ{Zsε999Z{{ڜιι9Z{ZZRks9{ZZ{µ֜{{{Zڵ{{{ZZZ{{Z9Z{{{{Z{{9ڵޜ{9{ZZ9{޽9{{{{sιιZ99{{999ޔRsssssΔ9{ZZιιZZ{91k{Z1Rޜ9R1{99{޵9Z{{ZZ{{{ZZZ{ZRڜZ9ZZ{9{޽9{ZsιkJ{{{{9ڵ9{999{{ڔιksZ9{991ƌڜZskιڜZ”Z{{ZZ{ڵ99ZZZ{{Rʵ{9ZZZZ9޽99RRʵ9{ZRkk”Z{{{{{{{޵ޜ{Z99Z{{9ZZ9{Z9{{sΔҵsksZ9Z{{Rʭ޽{ksΔRʌ)ڜZs9{{Z{ޔZZ99Z{{{Rs{9{Z9{9Z޽ҔsέJιRʔҵڵlµ999Z{9֔ҵ{{{{99Z{ZZ9ZZZ{sΔZ9Rʌιޜ9{{{9Rʭ19ތ)ι{{֌)ι{{1s9{9{ssZZ{{ZZ{9s1ƵZ{ZZ{ZZZ9ڜ9kJ1ƔRι1{Z{֔Z{{{{{{{{Z9ZZ{ZZZ9{{99Zֵ9{Œs{9Z{{Z99Z{{ŒsZZ1ڜZι)֜1s9{9{s1ƵZ{99Z{{Z99{ZڵֵssεZZ99{Z{1ιskRʵR1ڜ{Z{{{{{{Ҕ{{Z999Z{ZZ{99{{ZskZ{9999ZZZι{ZsJJR{Z)ι޽RR{9Z{91ƵZ99{9sュkJ999Z{9Z1ιkkιR9ι޵{ZޔsRʔ9{{֔{{{ZZZ9ZZ9{ZZ{{1kZ{ZZ{{Z{֭ιڜZsk)9ιJ9R1ڜ{{99Rs9{Z99ZRʭJ)kιιk{{{skJsZZ))J9ڔҔ99{{{{{Zޔ1111s9Z999Z99999RʌιZZ99ڜ{ҭZsk)Zlι11ƵZZZ{91{{Z9Z{{1RsειZ{{{{ι”9{{{{Jι)Jtҵ9{Z{ZZ{{{{Z{{Z9)k1{9999{9Z{99{9RʌιZ{ڜ91ƌ{9sk){ZsRʵ99޵֔{{Rs{{{Z{Z9{Z1ks9999{1Ɣ99Rk1k)ιsZ{{9Z{9{{9{{9sRŒ9Z{9Z9Z9sέιZZsޜ֭ιZ9J){Z9Rιk”9{sZZڵ99Z{{Z99{{kJsZ{{{Z9Z{ҔZZJJsZ9RʌRZZZ{{99{ZZ{{ZZ1JJι1RZ{9Z{Zι1Z{sΔ9J1sJJ1{{Z91ƌ1Rι19{Z{R11Rʔ9{ι)ֽ{9Z9sε֜ι)Jιs99s”9{{{Z9Z99Z9ZsιJJڵs1R{{ZZZ{{9sRʵZ{{{Rs{Z1k)Jιs9{{ZsιオZZRιιRʵZZ{ڵڵֵֵ֔Rιι19Z{9)ֽ{9Zs޽)JZ9ҵ9ZZ{{1”9Z9ZsJ9ޔιs9ZZ{{RRsε9{{{9Rs{9ュιR{9s1Ƶ{9ιιRssΔ9Z{{Zs1ƔZι{Z9{s9)){{޵{{{{{{­Jkޜ9{{{9sJ{{Rʌι{{9ڵsΔ9{Rʔ{99{{{9Z{Z{9ڵsR11Ɣ9{9Zsڜ{{ҭ19{9Z{sZ{1)){Z{9Rk1ƭ)ޜZ9ZR91ιڜ{ZZZڔ{{ssε9{{{{Z9Z{Z9Z9޵֔9{{99{ޔ9ZZ99{9Z91sZk9{{ZJ1ι){Z{{ιRʔҵsιRZ{{{{Z޵9{sΔZ{Z{{{9޵֔ZZZ{Rޜ{skkJR{Z9ZZZtZιk޽ZZ{ZRJZ{֌JR9{{Z9kJ{1ι{{{{{9ڵ{sΔ{{Z99{{{{ޔsR1RZ{{­1޵sksΜZ9Z{Z9Z1{J)R{{9ZZk9{RJk1ޜ{ڔҔk)Zオ9{Z{{RʔZZҔ9{9{{ڔҔڔ11ƔZ{{sΌ)JιιkRʜ{99Z{9Z{ιR{1J)99{Z9㌱J޽){9޵))Rʜ{ιオ{{ZZt{Zsڜ99Z9sε9{s11Ɣڵ֔ҔҔҵֵֵ֔J)JJιtZ9RJ1{Z{Zsڽ{ιJZ{9Z99ޭڜJ)ks9Z9{ZJڽZRʌ1ZZZ{9s{Z9޵ֵ9{{{{ڔsR1Ɣ9Zs1ι)kιRʔιsZތZ{Z9{Rιµ{{s1R{{{Z{Z{”99Rʌ)Js{{9Z)k޽ڌ{{{Z9{ZR9{Z9991kオ99sι))kιιιιtZ{Z{k99ZR1RRRRRRʔZڔҵޔҔ9{{Z{֔ҵ֔ޜZ9Zҭ)k֜991{9ks9ZZ9{{9{{Rڜ{{9{ZRZZιιs999999{J)t9Z9ڵ9ZZ{ڔZ{ڔZ9{{Z9{Ҍڜ{9{޵{sέι1sεZ9{9sZ{9Z{{R{{{{{91޽ڌJR9ޔ99sεZڔ9{{ZZZZ9ZZZZֵ{{9{sJι{99{{{ޔsRsZ{Z{{9Z{{{99{ZRJι޽{Z{{{R))Js{ZRRsޜ9ҔZs9Z{9{{{{{ZZZ9Z1)s99{Z{Z{9Z{Z9{ι19޵֔ҵֵ{{{Zk19{{{{{{{{R9{9Rk))RZ{ιޜ{֔{ҔZZ9{{{Z9{9991J)1ZޜZ{9ZZ9Zޔ9{{kιkJJ)JsZ{{9ZZҌ99Z{{s9{{{{{֭)J{91s9ڜZҔ{ޜ9{ZZ9ZZRJ)R9Z{Zڜ9{ޔҵ99s9Z))))JJJ){ZZ9Z99skJZ{{{{s{{{{{{ιJJk1RZ{ڔ9ZҔZ{޽{{{{{{9{sk)))JJJµZZ{91RsZZڔҔsι)JJkk1Ɣ1JZZZ{{{9ZZι{ޔ{{{{ιュ)s99{9Z{ZZZڵZZZҔ9{{s{ZュkkJJ)){ZZZZsRZ{1ƌkιRʵ9{9ks9{{{ZZ{ZZ{{Z{֌)ҜZ޵Z{{{9sΔιksZ{{ZZ{99{{ssZ{9Rs99ڔRk)s{{{Z9ZZZsRRʵ1s֌{9Z{{Z99ZZ991)ι{ZZ{{Z99{Z{{{ZRsΔRιsZ{9{{ڔ{Z9ssュ1{ZR9Z{sέ)){{9{Zss{Rʵ{9ޜ{{{{999{{sΌ)s9{{ZZZ99999{Z9Z{{9R1sRs9{RʵZ{֔ҵ99ZZZZ{{1ιι1Z{ڜ{9{{)Z{Zڜ99{Rʔ1RZ11Z{{{{ZZZZ{{{Z9Rʌι{{ZZ9Z9RιsڵZ{99{{1sZ9ιkkkιιι1Ɣޔι)))kt9ZZ{{1ι{Z9Z1޽ZZZڜ9Z9sιk1{Rʔ9{Z{{{{{{9֭J{{ZZ{Z{{ZRʌ9Z{{ZZ{{9sR9Zs­kJJJJJkkkkkkkJ)Jオ9Z{ZZssZ{99JRZ{99{ޜ{{Zlkksε9{s{{{{9Z{ZZ{Z֔޵R1ιJ)ιڜ{{{{{{{ZRkZ{{{{{{Z֔{sRʵ޵֔ҵޔι)))R9Z{Z91R{99{9筵Z{9Z{ޜ99ޜ9999Z99{ZsΔ{{ZZ{{{Z{s{­”9{Z9{9JZ9Z{Z9Z91s{Z{ޭk1ƔRι”9Z{Z99sRޜZ99Z{ZZZ9ޜZ9Z{99{RڽZZ{{{{{R9Z9֔99{9k֜{޵9{{{Z9Z{sΔ9ތZZs999֔ޜZ9Z{㌱JR{{{9Z9Z{999sΔZ99ZZ{{Z9Z{sRZ{Z{{999Z1Jֽޔ{{{{{Z9sޜ))sν{RZ{Z{9{){Z999{9޵s1s{Z9{{ZZ9{{sR{{{9Z{99{RJҜR1Z{{{{Z޵ֵZ{{JҜ{RRZZ{ZZZ)R{{Z֭ιڜZ9999ZZҔ9{{ZZZ9Z{sΔ{{{{99{{Z9Z{{s)R91ι1Z{{Z9{sιsZRs9{ZZkڽZ9{Jι9Z9Z{{Z{{91Ɣ{{Z9ZZZZ9ڔҵڵ֔ޜ{{޵Z{ZZ{{Z99Z{{{ktR19{{{{{ZZRsΔ11R1ƔZ{9ι{Z9999{{99Z{R)1{Z9{{{Z1ιs9{99{{{Z޵ֵ9{{{Zڔ9Z9ZZZ999999999Z{ZŒsZZZ{{{{{{1ƔڔRڜ֔9{9{R9ZZ9Z9筵kֽ{9Z{9sュڜZ9{{{{{9sZZ9ڵֵ9Z{{{ιkι1RsΔ9{{{µڵ9Z{ZZ9ι)1Z{99999Z9{J9Z{­s999{Z1ƵZ{Z{ҵ999999Z{Z{Rkss1sZ{{9ڔҔҔҵֵstZZZ{Z9{{9{kJsΜ9{99{ZZ{9kZ99sR9{ZsΔ{{{{{R{{Z9{֌1ZZs”9{{{sュιιιιι”ZZ{{9{kksZ{9ZZ9Z{ZZ9ιJs{{9{{{{Rʔڵ{sR9{{{{91ƭZ{1޽{9Zι9ZR1Z{{{{{{{{9Rsڵֵ{Z{9Z{ιµZޜ{ZZ99ZZ9k9Z9Z{9{sΔZڵZZι19{{ZRʌ{ZR19Z9Z9sڜ{Z{sΔ9Zޜ{{{9Z9ҔҵR1ƔZ{ZZ9ZZ9ZZ1JRʵ{ZZsRޔ9ZsέιsZ{{{{sΌ1ZZ119Z9{ZRιڽZڽ{99ZRʔ99{{sRsε9ޔZsΔҵ{ZZ{{{{{Z991ƭ”Z{9{{ZRRڜRʌ9{{{{{ڭι{s޽{Z{ι{{ڽ{Z9{{sZޜZ9{9sεֵssε9{{ֵZ9޵֔9{9Z{9{Z9sε99Z{Z9ZZ11{ZskZ{{{{{{{k{{{1Ɣ9{{{{{11{ڜ{{99{{1ڜ{{ュRʵ{ZZZޜ{ZڔҵZ1sε޵9{99Z999Z{Rʌ1Z{1k19{{{{9sZ{{ֵ9Z{{{Z{{{{{{{{ZRι1Z{{ZZޔ1lZ{9{9{{֔ҵ{ڵ֔Ҕҵ9{9{Zk99Ҍ9sZZZZ99{{{{{{1Ƶ{Z{Zιޜ{{{Zڔs11s9{99ޔ9{11Rʵ{{޵{{Z9{Zޭk֜{{91)J{Z{Z9Z{{Z{{Z9{{ZsΔZ9{Z){{{{ZZ9ZZZ99{ZZZZZ{Z{{ֵ{Z޵R1ƽZ999{9{99{sJι{ιڜ{sJk1ƔҔRR1s{Z9Z{{Z{{s9ZZ{ڌJZ{9999{99999{{Zڵ9޽{{{ZZ{Z99ZZ99JsZ{ZJ1Z{{kkRʵڵ֔RR9{{9Z{{99{Rڜ{9{)ιZ99Z{{Z9Z{99{ڔ9޵ֵ޵ֵZ{{{9Z{9{ZZ9{RJιZ{Z眭ޜ{{ZssRs9{{{9s޽{{{ZZ99ZZssZ{Z9{{{{{Z)9Z{9ZZ99{ZҵZ{9ڵ֔ҔҔҵ{{Z99Z999{Jk{{ZsJs{{{{Z9{Z99{ιֽ{{Z{99{R޽{Z9{{Z{{{Z)ksZ{{9Z{9{ڔޜ{Z9Z{{޵sεZZ999ZZ{Z{9RkڜZ֌ιZ{ZZ{{{{{9{{Z{ιֽ{Z{Z99{s{{99ZZ99Z{{{9RJJR{Z9{9ڵֵֵsε{Zڵ99ZZ{{s1{Z99{ZZZڵֵֵ9{{)”{Zs)ZZ9{{9ZZ9Z{{{ڽ{9ZZ9{9{Z9{9){{{{9Z{sssssε99{9ڵڵRsޜZ9Z{{ZZ{{1ƔZ9{{Z9{{9Z{k)JιRʔ1ƌJZ{{91k)9ZZZ{99ZZZ11{{Z999Z{ZZZ{{Z999{99{{)ޜ{Z999Z9{{sΔ999{ZZ{Rιιsεs1R{{{{99{{Z9{9RsZZ9{{֌1ιk)JRޜ{{{sΌ)9{99Z{{ڔ­{{ZZ{{999ZZZ{{ZZ99{{99Z{{{{Z99Z{RJkޜ{99ZZ{Z9{{9999Z{{sR{{9Z{{ZZZZ1JZRs9Z{{{{9Ҕ99Z9㭵){{RRZ{{Z9{{sΌ)ZZZZ޵ֵ޵1kkֽZ9{ZZ{99{{Z{Z999Z9Z{{J)999Z{ZZ9޵9{99{{Z9޵1s{{ڵ֔ҵ9RJZ{ڔҵ999Z{9{ڔRʔڔڜ9ڵZ{{9Zs)Z{ZZZ9{{9skJ1{ZޔsZZ޵ֵ99ҌRʜ9{Z{{9{{{{99ZZ99ZZZ{{{{ι)sZ{Z{Z޵֔sZ{9{{1ƌJRZ{{{ZsΔҵZZkZZZ{9{ιkk”ҔRZ{9s1ƔҵZ9筵)ZZ{Z9{ZRι9{{ޔsε99Z{{99Z1Ɯ{9{ZZ{{ZZ9Z{{{{{{֭)9Z{9R99­Rʵ{{9Z{ZZ9sΌ1Z9{99ZZ댱ιJ)ιRι֜91ιιk1{)kڽ{{Z99{{{{99ZZkks9ZZޔҵ{{ZZZ{91Z9ֵ9{Z9{{{Z{{ιJオZ9RιR9sZ{99Z{{{Zュ֜{ZZ91ks1k{{9Rʭ))kι1ޜZ)Z{ZZ{{ZZZ{{ֵ{ιk1Z{{Z޵֔Z{R)޽{99{{{999Zkޜιޜµ֜{ZZ{9Rʭ1999{Z{9­ҵkR1ƭJ)Jsڵ֔ҵ޵RsJkҽZ9{{{9ڔҵ9ޔRʵ9Z{9ڔҔZ{ZZZ9֭ZZ{9Z{{{ZZZZ­1{9ιsZµֽZ9Z{{ι޽ZZ{ιRޔιkJ)JιRZ{1{s)9{{Z99ڔssε9Z{9֔ҵZ{{ZZZ9ڔssε9ι9{{9Z{99{Z{{ZZ{1ιs9{{{{{ZR޽オ֜{Z99{{{{ZιkR999{{91オ޵1R9{{{{sιt99){{{{{9Z{9Ҕ9{{{Z999999޵1ιks޵R{Z{{Z9Z{9{{{ZZZZ9Z{99{{sR1R9{{{{Zι{ι{{{{{sΌJs{{Z{Z{1Ɣ9{{{{{Z9Z9ιss)kֽZ9Z{s{{ZZZ{{{RsΔsι)ι֜{Z9{Z9Z{{99Z9ZZZֵZ{{{{Zιޜ9ιZ{1ƌkι9{9Z{Z9ڵ{{{{1ιュ)9ZZ{Ҕ{9{{֭)))kֽ{{{99{{99{99{{ֵ9{91kssέ19{9ιsZ{9Z{9ZZ{9Z{{{RιҜ{{Z޵{{ҔZ{{ZsΌ))sΜZ9{ZZZZ{Z{9{Z{{9{֭))ιι֜911Ɣ{{Z9Z{Z9{ZZ9{{{{ڔ1޽{{Z9ڔZ{sZ9{9sJR{{޵9ZZ9{9Z9ޜZZ{Z9ZZZZ99{{9ޔJJ1{9ڔҵZZ9{{9Z{{Zs9{{{{޵119{{ڔҔ{1ڜ9ڵ9{{{JksZ{9ҵ9{Z9{{9ZZڵZ99{{Z9ZZ9999ZZRʌιR{ZZZ{Z{ZZZZZZZ99Z{{9RRZ{{9Z{{ZR{{{ssε9{1s{9֔9{ZZRsZZ9Z{{99Zޜ{ZZ{Z9{{{{ιs9Z99ZZ99ZZ{ZZ999{{Z9Z{s1{{Z9Z{ZZZ{Z”Ҝ{R”Z{Z11ZZޔҔ{s)sΜRR999{Z9Z{Zs9{9޵֔ҵZ{9{{1sZ{99Z999ޔ{Z99Z1ڜ{9Z{99{{R޽ι{ZR9R1Ɣ{1{ュҜZ9{Z9ZRʵZ9Rs{Z{9Z{9{Z9Z{{Z9ZZ֔Z{99{RʔZ9ֵ{{Z9sޜ{9lZZޔҵsιs99Zkι޽ZZ{9sµ9JJJ1{Z{ZZ{99{{{{{{{sڜ{ZZ{{Zڵ9ZҔ{Zs{{{99Z޵{{ZJs9{{ュkkR9Z9ιZJ19Z{Z1ιRsι)kιιkksZZ{Z9{9ZsΔZ{֔ssΔ9{Rʵss9{{{Z99Z{{{{{{{{sJ9{9sέJ))kιs{{9ι9ڭkR9{99sιRʭZZ9Z9{9{RZ9RR{s1sΔsεZZڵֵZ{Z{{{9ZZZZ{{ι1Z9k))ZZZڜZR)kޜZ{{k)sZ{Zҭι99999{Z9ZҔZ{{Z1Ɯ{ュRZZ99ZZڵ9999Z{Z1{ZJ)ιޜZZ{ZR)19Z))ιޜZ{ޜ9s1ƵZ9Z{9999޵Rʵ{{9Z{9ZJR9Z{Z{Z9Z{9sޜZs{{{Z֔sJ)ڜZ9{{s)ι{{{{9sJJ1Z{{ڭ1{{֔ҵZ{Z{Z9sΔ1sZ{{Z9ZZZZks9ZZ{Z{ss9ZҔ999猱J1{9Z{{9R)Jt9Z{{9)ιڵֵ{J޽{{999Z{Z{{ZRRڜ{Rڜ{{99ュ9ZZ{ZZ9RڜZֵZ{ޜ))ι9Z9{Z9{{{{{{Z)ιڵZ{R)ҔҔ{{s1{{{Z{Z{9{{RRZ99Z{{{RZ{{{{{9Zޔ11ƵZ{{{ZsΔZ{9{9Z)JҜ9Z9Z{{{{9{9Z9)1ƔZ{1k{9{{{9{{ڽ{9ֵ9ZZZZZZ{Zsڽ{Z9{Z{ֵڵֵZ{{{91s9{{{{{99Z{{9ιkֽZ9{9Z{19Z{{ҌJµ9{9ι9{9Z{{99{µ֜{Zs99Z9999Z{RZ{9{ZZ99ڵZ{{ZZ9޵sι111RʵZ{9ڵZ9{{Z{Z))1{{9Z{Rι{{1kJ19Z{JZ{{{{{{{{{{{ZZ{オ֜sZZRڜ{Z{{ZZZZ9޵{{{ڵֵ֔ҔssssJ))sZ{Z޵{Z{ZZ{)ޜZ9Z{{Z9ޔҔ{skֽZssRʌJ19ZZZ{ZR1Z{{{{ZZ{µֽRR{RZ{Z9{Z{{99{Z9sRRssΔҵ9Z9ڵRʌs{9޵9{{{Z)JRZ{Z999999ޔsZsΜZRR99sJ{{ZZ{911Z{{{9{{ڽsΔZ{Zsオ֜{{Z{{Z{ZZRʵ9ZZ{{ZsΌڜ{9{{ڔ9J)Z{{9sεs1Z{1”{J{ZZ{ZRRZ{Z9޵9ڽޔZ99Z19{{99{Zs99­Z9Z9{9k)1ZZss9{Zι)tҔR1sZڌ9{9{Z{{RR{Z1RZ{{Z9Z{オ{Z{Z9{{sオ{{{{99ι֜{Rι{ZޔsΔ{{99猱JRZ{ssεֵ1ƭJ1RʔZ91ι1ƔZZ9{{1ҽڭ9{Z9ڵֵZ{{Zs޽9Z19{{Z{9֭ڽ{Rڜ{Zsιt{9{Z9k)JZ9999999ZZZ9ޔŒ)kµ9{ҔҵsΔֵZ{{9kk1ZZZ{99{ޭRZ{Zޔ1ιι֜9991ƭ{{{Z{99Z9ҭڽs{Zڵ1ƌι99{ޔR1ιJ)k֜ZZZ1)9Z޵Z{{޵{眭J1{{Z9{{ZZ֭Ҝιڜ9Z{ιι޽{{99{{޵9­ڽ{s1Z{{Z{{kֽ9{J)))JJJ1ZZ99ZZZZ9RJRʜ{{{{{{{޵{޵9{ιZs)1{{9{{{ιڽ{sJkュ99{ZsΌs{{ZR199{޵9{ZJڜZsΔZ{{{{ZskҜ{sΔڔҭ)1sRιι֜{91JRʜ{{{{ZZZ9Z޵{ڌZ9Js{9Z{ZRkR)s9ιZ{{{{{9Rιs9{{ޔkJt9sڜ{{{{{sJҜZRιk)ιZZڔs191kZ{ZZ{{{99{Z޵֔Z{J1{kk{{޵Z{19Z{1kڽ91t99Z{{9ιZ{RʌJιs9{ڔ{{ZZZ{RJֽ{9Œޜ1ιR9{֭kڽ{ZZZ{{ZZ{ZڔҔZ{Zs)1ƜkJ{{ֵ{1{ZsRʵ9{Zҭ)sΔZ{{{{{{Z9Z{ޭZZ{1kkRZ999Œڽ{{Z޵֔9ҭ1Ƶ99Z{Z1{{ZZ{{ZZ{9Z{{ZZZZ9s1{))R9{Zҵ{ι9{{k)ιڽҵ9{99{ZιR{Z{sJJs{ZZZ9Z99{{޽{{{{ZZ9ZRʌ))kRʵ9ڌιZ{{{9ޜZZZZ9Z{9ZJZ{Z1ƌ)sεZsε{JµZ{Z99ZZskڽZ֔9Z{s{{ތ)1Z{{99{9ZsR޽{{{{{ZZZ1ュkJ)ιڜJ)19{{{9ޜZ99s1RZ{Z9ڵsJ9{Z1ιJJ{{1Ɣ99{{{ZڭZ99Z{ZҭڽZR{{{ιR9{9)999{9ZZZ{ޔҵ{{Z{{{Z{9ڵs1ι)ιZ1)Z9ZZZZ9ss9{{9ڵs)11ιιι{sιkk1Ƶ9{l1ƔsRRRsεֵֵ֔sιk֜{999999{{ι޽ss{{Z99ZZ99Rʌ1{{1J99{{{9{ZZZZ{ڔ9{{Z99{{{{{ι)ҜιιJ)ksεڵs­kkRs1ι))JsZ{ڔkJιsJJ1Ɣҵ֔RιkJJ))JRZ{{ZZZZ99{ޭ޽Rs{{9{{{Zι9{{{{)Jֽ{99Z99{ZZZ{9ڔZ{9Z{{{{{{Z{Z1)R{k)k)J1ssRιkkι11ιkJιιιιιιιkkRZZ{ZRʭιュJJJ)k1Z{{Z޵sR111ZZڵֵ9{ZZ{99ڭ)ιZsµZ{ZڔҔҵZZޔ{{֭Z޵)JR{Z9ڵֵ9{9{{ڵ֔ҵֵڵ9{{{Z{{{9RkR{{sk)オsι1Z{{Zޔ1R991t99Z99sΔ9{9s­ιR{91sRRRsssΔ9Z{{9Zڭ)JsZ{ڔsΔҵ֔Ҕ{sιҜJ))1ZZRsZ{9{Z99999999Z{{{Z99999sέR{ZR{Z֔ZZZZ1ZZ{{{ZZ{{)R޵Rs9Z9{ڌ))ι9Zsڜ{99ޔҔҵ{91)kkJ޽9R{Z9{99ZZ{{ZZZ99ZZZ{{{1Zތ)19Z99{{9{9Rιs9{{{{{{{ι)))ιsRZ99sk))J99ι1{9Z9Z{{119ιsRιRZ9R{{9{{Z{{{{{Z9Z{9R19{R)kssΔ9ZZZZڭڜ{{9Z{{{9k1ιJ)JιRsι”Z{9{{sΌ))kιιιZ{{{ZZ99{{9R{9sµ֜{{{{sΜZZ{{{{{Z{99{9R199)R9ZZ{{99Z9Jι{Z{{ޭJ֜9sέJJµs”9{9ZҌ)))JsZ{ZZZ99{{ޔޜ{Rs9ZsµֽZ9{{Z99{{{ZZ{9{{1sZksε֭ZZ{{ZZ{{ڌ1Z{Z{9999ZkZRʭ{RRZZ9{k)ιR{{{{{99{Z{ZZsڵs{9{{Z{{ZZ{{Z99{ZZ{Z9sεZZ1JJιZZZ99)J{{{{{s1111s9Z{ZsΜ91ڽ91ƵZιιZ99{{{{Z9{{{Z99Z{{{{9{޵9ZZ{{9{{999Z9޵ZZ9ι))sιkRʵڔJJ1ZZ9ssR1ュkJJJJJkιιJ)J֭ҜZRsޜιRZ9ڔ9{޵9{ޜ{ޜZ9{Z9{9ZRʔ9ZZ9999ZZ9Z{{{s))kιJ))))JJJJJJJJ)))JJJޜ{{Z9ZZ{{91ƭkkkkJ))))1ZޭRʜޜ{Rオ{{Z{{ZsΔ{Z99{9Z{1sZ{{Z{{9Z{99Z{ZZ{Ҍ))))))J)))JktҔιJι{9ڔҔ9{Z9{9ssεڔ­)Jֽ㭵Rʜ9R{{{{Z{{Rµ֜99{9999Z991R9Z9991ιk))))JRι)))))))Js{Jڜ{”9ZZ9ZZ{Z{ZZZι㭵RʜZZ9s1Z{Z9ZιR{ \ No newline at end of file diff --git a/examples/other/fps_counter/graphics/teapot.grit b/examples/other/fps_counter/graphics/teapot.grit new file mode 100644 index 0000000..42e61f7 --- /dev/null +++ b/examples/other/fps_counter/graphics/teapot.grit @@ -0,0 +1,2 @@ +# 16-bit palette, no transparency +-gx -gb -gB16 -gT! diff --git a/examples/other/fps_counter/graphics/teapot.png b/examples/other/fps_counter/graphics/teapot.png new file mode 100644 index 0000000..eafd9fa Binary files /dev/null and b/examples/other/fps_counter/graphics/teapot.png differ diff --git a/examples/other/fps_counter/source/main.c b/examples/other/fps_counter/source/main.c index aab07f1..f499b95 100644 --- a/examples/other/fps_counter/source/main.c +++ b/examples/other/fps_counter/source/main.c @@ -9,7 +9,7 @@ #include #include "teapot_bin.h" -#include "teapot_tex_bin.h" +#include "teapot.h" // Note: There are better ways to do this, for example, using the VBL interrupt // to check if the second has changed. @@ -54,7 +54,7 @@ int main(void) // Load a RGB texture from RAM and assign it to "Material". NE_MaterialTexLoad(Material, NE_RGB5, 256, 256, NE_TEXGEN_TEXCOORD | NE_TEXTURE_WRAP_S | NE_TEXTURE_WRAP_T, - (u8 *)teapot_tex_bin); + teapotBitmap); // Assign texture to model... NE_ModelSetMaterial(Model, Material); diff --git a/examples/other/free_camera/Makefile b/examples/other/free_camera/Makefile index 133ddc5..6006f41 100644 --- a/examples/other/free_camera/Makefile +++ b/examples/other/free_camera/Makefile @@ -24,7 +24,7 @@ BUILD := build SOURCES := source INCLUDES := include DATA := data -GRAPHICS := +GRAPHICS := graphics AUDIO := ICON := diff --git a/examples/other/free_camera/Makefile.blocksds b/examples/other/free_camera/Makefile.blocksds index 626cf71..151bded 100644 --- a/examples/other/free_camera/Makefile.blocksds +++ b/examples/other/free_camera/Makefile.blocksds @@ -1,3 +1,4 @@ BINDIRS := data +GFXDIRS := graphics include ../../Makefile.example.blocksds diff --git a/examples/other/free_camera/assets.sh b/examples/other/free_camera/assets.sh index b06d2f1..122771f 100644 --- a/examples/other/free_camera/assets.sh +++ b/examples/other/free_camera/assets.sh @@ -4,17 +4,11 @@ NITRO_ENGINE=$DEVKITPRO/nitro-engine ASSETS=$NITRO_ENGINE/examples/assets TOOLS=$NITRO_ENGINE/tools OBJ2DL=$TOOLS/obj2dl/obj2dl.py -IMG2DS=$TOOLS/img2ds/img2ds.py +rm -rf data mkdir -p data python3 $OBJ2DL \ --input $ASSETS/robot/robot.obj \ --output data/robot.bin \ --texture 256 256 - -python3 $IMG2DS \ - --input $ASSETS/teapot.png \ - --name texture \ - --output data \ - --format A1RGB5 diff --git a/examples/other/free_camera/data/texture_tex.bin b/examples/other/free_camera/data/texture_tex.bin deleted file mode 100644 index 7c633ea..0000000 --- a/examples/other/free_camera/data/texture_tex.bin +++ /dev/null @@ -1 +0,0 @@ -9{)1R1R{{{ڭs{Z9ZZZ9ޔҔ9s9Z{1ι޽Z­ֽ9Jڽ{ιs9{Z{{޵99RRʵ9{{Z99Z9sΔ{{9{{sR1Ƶ{ZkZ9kRsR1{{{ι֜Z9Z{9Rss9{9ڵZڭJ199ιR{{k9ιZ{Z{ZڔZ9sΔ{{ZZZ{{{Z{s1s9Z1))RʽZRRZ{Z1R{{9199{1”999{ޔ{޵ZZsΌkµ9{{ڔ99RҜZҌ{{ZZ{sZZڔZsRʔZڔҔ{{9s1s9{Z9R9JZ{9Z{{{s9{{ι1ZZ9ZZιιs9ZZZZ9ZҵZュιsΔRʔZ99kι9Z{ZRʌs9{ZZ{{sR{Z޵{9ڔҔҔZsR{{9ZZ­µZ{Z99999{{ιRZZι)k{{{{Z9޵Rι1sss1Rޜ99Z1ƔZ{{{{{{ҭҜZ9{91JιZ{{Z9999{Ҕ9{Z޵Rュ{1ZZ)kオ9ZRJZ{{Z{{9s1{Z{9ڵ֔{1R9{9Z9sΔҔRlZ{Z99999Zι1ZsJk9{s1ιJ)))JJJJJ))Jι֜9Z9s1ƵZ{{{{9sι޽99{R)ޜ{{ZZZ9{{{9ssޜ{{{{1J)ι1ιҜڭ)ڜ9)9{{Rʵ{{9{9{9ss9{1Ƶ֜99s{{sΌZ19kks{{ιιιιιιιιιュkkιJ)9Zs1ƵZ{{{{Z19{9ZZJι{Z9{ss{1J)ュR999{{Rʌ)ޭ){{ڜ{99{޵Z1Ƶ{ZsR{sRRs{{ι)11ޜތJsst999999ZZ{{{Z9999ιJιڜZ9s1s9Z{{{ZRZZ9ڭk9{Z{{{){{91)1Z)){ZֵZ{{Z9Z{ޔZ9R1ޜ9sΔ{9ss{{9RkksZ9Rޜ㌱J)9sι{9RιsεZ{9Z11s{9ιҜ{޵sΌ19{ZZZ9skJ{{99kҜJ)ιڜs{{{{{ޔҵZsZ9sε{Z999Z{Z{{kZオ֜9kkRZ{1ιsι1Z9{ZssΔ{9sέֽRRι1{Z9Z{{ZsΌJkڜ{ZZ9{Z9ڌ199sέ)Z{{R{sε99Rڜ{Rs9{ZZ{Z{{ޔιڽ{֭s{{91kޜ{1ι1ι1ޜZZZ{{9{{9Rʌ֜sRRι1ƵZZ9{9{9sΌk1Ƶsι{9{{㭵RZ{{9ZZ)J11sRޔҵZR9Z9RʵZ{{{ZZ9ZZŒڽڌ1Z{{9Rʌιޜ19Z1ιs{Z9{{9ZZ)RZZ1ι1ƔRRʔҵZ{9ZZ{9ҌJRZZRʭs9Z{{{㭵JҜ{Z9ZιRs1s{1ƵZ{ޔҵZZRʭZ{{ZRʔ999{{Z9ZZRʌҜ{{{ڌZZs1Ɣ9kRι޽91オZ{ޜ{9Z{{9Z9Ҍ)µ9{91ƭ1ƵֵRʔ{Z{{Z֭JRʜ֌sZ{{Z{kk֜999{9ss9ZsέZZ1Ƶ9ҵ9ιޜZ{ZssΔҵZZsΌ{ZsJ{Zs1ƔҔJkιk޽ιsZޜ{999ZZZ{{Z9{{99ڔsk)1ڔ{ZZZs{{ZkJsΜ{sJks9{Z{ZJι{{{9{ڌιZR1sZ9sڭ1Z{ZZ99{Z99ιJι1RRR11Rss)R991µRRRʌ)JҜιҜZ{ZZZ999Z99{{ZRZJ)s9{9{{Z9{9ss9{{{s)kZ֌)ιޜZZZޜ19{{{99{{9֭{1ƭRR”{ޭ1ZZZ{{Z9Z{{Z{ZkJkιR9sΌJιRʔҵڔιュZ֭))ιZιs{ZZ9Z{9޵ι眔ҜZsJι{Z{{ZZ991Ɣ{{ZRkRsέ{{{99sR{{99{Z9ZZ{{sιs{{kJJJҜ999ZZZZZ{{{ZZZ{{Z{ڵֵֵ{91ι1Ɣҵ9RʌkkJڽ{9ZZR1kJs9sk県֜{9ZZ{{1Ƶ֜{{ZR)k{9Z9Z{sRZZ9Z{Z9{{{ZstZZ9sέ)1ZZRʭιRʵ9{{{Z{{1Rޜ{{{{{{1ƔZsRs{1J){sιR9{ZZ9ZZs111RʔҔJ県{{99ZZ9Rs9{RZZ{Z{sJ1Z9Z{Z9Z{Z1sZ{{ZZ{{ڭ{{ιs9ZZZ{{{k)Z{ZZ1Ɣ9ZkJ191ιZ{ZZ9999ZZRk眭{{ZZ{9{Z9{1ƵZZ)ks99Z9ZZRιs޵999{ZsΔ9{{sZ91)kJJ1Rʔ9ZZ֭)ιZ9Z{{9R1ƔZ99㌱)1ޜι{Z9ZޔRʔZZR)֜{{{9{Z99sRޜ{{{{kJŒ)ι1sޜZ9Z1R91Ɣ{{s{{Z99ZZZ{{1Rʵ{9)オֵJJ1sڔҭ)kRsέ)ιRʔҵ{{sιιRZZ9筵)RRι{オ{Z9ZssεZ9Js{{9ZZ9sεZ{Z999{{s)ޔιJJRZ{1{RZ1Ƶ{ZZZ99Z91kR{ތ֜RlJkι)sZ9JRޔҔޜ{9ι)Jڽ{޽9筵kt9オ{{Z9Z9ޜkι{ZZZ9{ڵZ{ZZ99Z{ڭkZ91lҜR19ZR޽µ{{{ZZ{{{{R1R1ュ1{ZR)9{Z9޵sRJ9Zk{9sڜ{JJ1{޽㌱9ZιR{オ{Z{ZJZ{{9Z99Z{ڵZιZ9ޔR޽{1Zt{ZR{{ZZ{{{9Ҕ91ιRڔҭ19{ZZ{9R1s{9ŒZ֔ޜ㭵)ι9{޽ڌ9RιµZ{オ{{{{9ZJ{{9{Z9{Z{{{{{11ƵZ1J1Z{91sZZRʌ9R919{{{{{s{R1RJsεֵ9{ZZ{{{{9sέRڵ9Z{Z޽kZ9sιRZ޽Z{{ZιksZ{{{9{Z9{{ZڔR­ι1J)Z{{ޔҵ99֭ڽsΔ9Rt{{{{Zڵ99sι)J”9{{ュRʵ9{{RZڽRk1{ZRR{ιsZZZ{{{ҌZ{{{Z9Z9{{ZڵޔJZ{{{Z9{{Z)sZZֵZs1Z{{Z9ZZ1ƌsZ99{{ZJs9{{{{{9Rڽ1ksΜZRR99{ޜ999ZRʌ{{{Z9ZZ{9RsZ{Zι))RZZ999Z{ZZ1Jオֵ֔ҵ{1s{{{9Z99{Z9Z9Rt{{9Z{{9ι)RZJJ1Ɣ1ιֽ{{JҜ9Rڽ{R99Z{ޜι{{{Z{99Z{{{sRʵZ{1)Jιs99Z{9ڵֵsιRʔ{RRʔ9{{{Z9Z9Z99{ZZ1RZ9Z{{{{{Z99{ڌJZιιJ)1{Z㭵JڽιҜ{RZ{9ιR9Z9{Z9{{Z{{{{sR{)s9Z{{Z9991ƭιR{Z޵޵sΔ9Z99{9Z99{{{9RʔZ99Z{{99Z{ZRkk{ZڵֵRJksJkιҜZ1Z99ZZޜ91オ{{Z{9ZZ{{RRʔ{ޭ1ƔZ{1ιι1ڵZ{9RsZ{9ҵZ99{{{9֔9{{99ZZZ9sΌ޽99Z91))Z)k9Zsιڽ91ZZڜ999Z{Rs9{J)s{{޵1ƭ1{Zsέs{9ҵZ{9{{{9999{{ZZ{{Z99֭{㌱Z)J{19ιR{Zޜ99ZֵZ{Rs{{9RkRʵ{Z9{9sΌ9{s)Z{ڔ{{99Z{{Z{{9999Zιk9Z{sJsJJ{{Z9ڜ㭵Rʜ99{R{ZZ{{{ҔZ9RR{{{99Z{{9ZZ1ZZι)Z9{Z{{ZZ{ZZ9kֽZ9{ι)k)޽{sR1ιt{㭵RʜZZ19{{{Zss{{Z9ޔlsss1ƭ)JsΜ{99{9{{R{)kֽ{9{9Z{{9{{1ƌҜZ9Z{91)k)s9RιιR{㭵sΜ9ZZsιι{{RR99Rl))kk)JιRs1ƌJR{9{R1s{{ι{{1)9Z9Z99Z{9޵֔sεZZsέsZ9{{{㌱9筵kι1sεZڭsΜZ9Rk99RڽJ)Jkkιιιs1ƌ19{9ZRk))))9Z9{{JR{kJRʜZ9Z99Z{9޵sRRʔ{9sR{{{9Z{JRJ)1sΔ999ZZ{ZsιֽZιkҜ{{RZ{RJ)ιRʔڵ99{9sR{Z{{J)ι))ҜZ9Z{ZRJJ1{)k֜Z9ZZZ{{{{{{Zss9Z{{9s1Ƶ99{{9ZZ1)Z9)))))Jιs9ZZsι1Z{sJZ{1オ{9ι)ι{{{ZZ{ssε{Zڵ)JZι)ιZ99{{ҭ)9{{kJRZZ{ڵZ{Z{{{{{sRsΔҵֵsR1µ999{{{J)9Zڌ)kkJJJJJJJ)JJkιι1ޜ9{kι{Z9㌱)sΜ{{ZsZ{{9ޔҌJ9֌)R{{99ZZҭ֜Z{Z1J{9Z9{{{ZR11ιιs{Z{{kk99)s޵s11RRR1ュkι1s{ڵ9ZZZ99ZZkι{9ssΔk)ҽZ{ZZ99ڵ99lֽ{1)kڜ{Z9Z{ιsZ{Z{1kιڜ{99{{{ڵ֔sR1Rʔҵֵ{{Z{Z֌)91JιZ{{{{{{{ZRʵ9RZ{{{Z9999Z{ZsJZ9ュ))ڽ{{{Z999ZZZ9Z{ޜsιҜޭι99Z{)JRZZ{{{1k1Z9ZZZZ{9ZZ9{֔ҵZ{9sJ)J{Z9sΌ1Ɣ99{Z{R{{9RʌksΜ{Œ)k{Z{Z9Z{{Z{9k)ιZs眭޽{Z{ޭڜ{{{޵9{Z9{{Z{{{{Z9{{9s11Ƶ9Z{{JJι­{{sΔsΔ999{9Z99999ڔZ{k19{{1ƭR{Z9Z9{9ZZsι֜{))sZZ19Z{RkRZZ{9ssεZ{Z9999Z99ڵֵ99ڔRʵZ{ZZ{{J)Z9{R{99{9Z9{Z9ZZ999Z9sιµZ{{9ֵ99Z{9{Zι1{J19㌱9Z9ιZZ{{s111RʵZZ{{Zڵ֔ҵ9{Zڵ֔Z{ZZ{9֔Z{Z{{1J޽{Zss{9ZZ9ZZZ{9ZZ{{{9Z999ss9{{99ZZ9{޽9ZkZ))s{{ZZsΔҔZZZ9­kιsZZ޵R1R9Z9{{Z{sRޜ{999ιk){{{sε֜9ZZ9Z{99ZZZ9Ҕ9{9Rs{{9Z9Z{1ιk9ZR޽99Z޵9ޔޜ{{֔Rl”ڵ֔ssΔZ{ZZZZ{1ιR{Z9Rk))ιZ9{{R{9{Z9Zs{ZZ99{sޜZRʔ9Z{99Z9{sι֜R)1޵ֵ9ιZZ9Z{{{9Z{ڵ9ZZ99{{Z1ιι1sZ{Z{{{9Zkkµ9Z99ZZ9Z{9R9Z9{9{ZRsZZ99Ҕ9ZssRRRRʔ{{{{99Z919{֌s9Z9ڵֵڵ)ι9Z{Z9999ҵZ9{{9ZsR1RʔZ{{Z9{{֔sι))Rュ)ڜ9Z{sΔZ{9Z{9Z99Zֵ9{s9R11RsRsZ{{ZZ{{{Zڜ9Z{ZZRιR޵k)Z{Z99ι199Z{{{ZZ{{ޔ{9{9Z{Z99Z99Zҵsέ)J)){{9{{s9{99{{9{{99{Z9{ZsZ9ڔ{ZZ{{{{9Zҵڵ{1ιk)){{{{R{9Z{9{{ڵ{{{{9Z{9{{{ZZZ{{99sΔڵsJ))kR9Z9ZҔ9Z99ZZ9Z{{99Z{{ڵZ{{{޵Z9Z91”9))ιsε9{{sޜ9{9ֵZ{Z9ZZ9Z{ZZ{ZZRRʔ99ҌRssεZZ9ҵ{޵Z{99999{{9999{{{{{{Z֔99ZZJRsι{{ҭ9Z9Z{Z{֔Z{9{ޔ޵֔sΔҵڵ9Z{{{{{{{{{{99Rι1ޜ91ƌsZ{ZZZZޜڔZ{99Z{99{Z9{Zs9{{{{{{{{{91޽Z9{1)9ZRs9{9ZZ{ֵ{99{ZZZsRRRsZ9ڵ9Z9{Zskι޽91{ZZZ9{Zֵ{{99{ZZZ9Z9sR{{991Ɣ{{9)JRRZ9{Z9{Z{ֵ{Z99{{{{9{9޵Zޔ{{9ڵ{{s)k9R9ZZ9Z{{ҵ{Z99ZZ{9ZZ1ι1Ƶ{{{{9RR9{99ι)1R1999Z{ڔ9{{{{{{{Z֔{{޵9Z{{{)ュ{{{ZZ{{{ҵ{{99Z9{{9ZZ9Z{ss{{{R19Z9ιιR9Z{ڔZ{{s{{{Z޽9ֵZ{ZZ9RkJs9Z{{Z{{{{ֵZZ99{9{Z9999Z999ޔҵZ{{{Z19Z9ZRZ{Z{ZR{9{{sޜ{{9޽9ڵ9{ZZڔ)ιڵֵZ{Z{Z{{ZZ9Z9Z{9{Z9{{9{ZZ9s9{{{{{{9sέs{9Z999ZR{99{Zs{{ڜ9ڵ9{Z{9Zs{Z{{{{Z{Z{{{9{{99{{{{{9Z{9Z9Z99s޽{{Zޔιιڽ9Z9ZZ9{1オ9Z{ZZ{{9s9{Zޔҵ9Z{{9sssε{{ޜ{Z{9kZ9{9Z{{{999{{ZZ99Z9Z{99{9{{99{9sε֜{ڔs1ュιsZ9ZZ9Z{tZ{Z9Z{9sZ{sε9{9s11{ޜ{{Z{9{ޔ{Z{9{{{{9ZZ99Z{{ڔҵZ99{{Z{s9{{Z9޵sュkι1Z99{{{{{{9{{sZZ{ss{{9ڔҵZ{{{{9Rι޽{{99ZڭR{ZZRڽ{Zֵ{{{޵9Z{{1Ƶ{{99Z{Z999ZRʔZZ9ڵsR1ιι1ƔҵZ{999999Z{9Z99R{Z{{{s{Z{1ksΜ{{{{99{{11RJs{ZZ{Rs{{{Z{{Z{s{ZZڽZ9999{{9Z{RsΔҔsRʔsRʔZ{{{99{1ιڽ{{{Z֔9Z9Z{ZҭRZ{Z99999J)R9ZZ{R1{Z{Z{{R9R1{{Z9{{s1Rʵ9Z99ZZ{Z{RιR9{ZZZޔڜ{ZZ{Z{R9{{{{{{ZRʌk1RR11Z1ޜ{Z{{{9sڜZڔҔZZ9{9ZZZZ9{99Zޔιs99ֵ9{Z9Z1ƵZ{{)ι9{{{Z1ޜ{{9{{{Z{{Z9ZZ{{{{Zssε9{9Z{{޵1ƌsZ{{{9{99{9Zιs9ڭJ֜޽sZ{9{ZsιR9{9ZZ9{{Z{{ZZZ11s{{9޵֔Ҕҵs1ιJk{99{ssΔҵ9Z{9{{sJ)ι{9Rsڵ֌JڜZιR9tҜ1µ9Z9{֔sR11RʔZ{{{ZZZ9Z{11Ɣ{9sRュJJ)J{{{Ҕڔss99{{{{ڭJJ)RRRʔ9Z{9JkJ)1Ɣҵ֔ss1ƭ{{sZ{RʵZ{Z9{9999ڵssε9{{ZZ911Ƶ9{{{{ҭJkιR޽{9Z9ڵ{Zڵ֔ҔsRRs9{{{{ZR)sΔ)J11))JJJJ))ޜ{Z9ιsZ{sZ999{{ZZ{Z{9Z9ڵZ{Z9Z11Ƶޜ{9Z9ιs99{ޜ{{{{9Z{ZZޭJs{{֭J)Jkk)RssssRsεZ{{{Z99sオ{{99Z{99999{Z9Z9ZZZZZs”{ZstZ{{ZZڔ{{ZZZs)ι{9RʵֵRιιRޔlZ{Z9999Z{9R޽Z9ZZ99Z9{{{{Z999999{Z9ZZZ{9Z1s{991ƭι{{{{Z{֔9{{{{ZҌJ11sڔҵ9ZZ{1s{{{{s{{{{{{{{Z{{99Z99{{99Z{{{{Z99ZZ91µZZ91ƭιZ{{{9{{֔Z{9Z9sέJιsڵ֔Ҕ{{ޔޜZZޔ޽{sڽ{{{{9Z{Z9Z999޵ֵֵ֔{{99Z9{9ZZt{{ZRZ{99Z{֔9{{޵91ƭtZ{ڔZ9Z9Z91ιڜ{ZZ{99{ZZZ9Z9Zޔ{{޵s1µ֜Z9{ZZ1R9{ޜ1Ɣsε֜{{Zڔ9{{ޔR9{{ZZ9Ҕ9ZZ9{Z֭{Z{{ZZZZZ{{999ڵ9{޵Z{Zڔҵs޽Z9sε{9991ƵZ{{{{{{Z9{{{{9޵֔sΔ9{{99{ZZ{1Ɣڵ{{Z{Z9ڵ)ksZZ{Z9{{ZZZ9ޜZڔҵڵ֔{ZιRZZ9{sZ{9{ZZsZ޵9{99{{Z9ZZ99Z{{{{sZ{{9Z{99{{ι1ƔZZڔҵZ{ZskZ{{ZZ9Z99Z{9{ڵ{9RڜZ9sε{Z{{9Z9ֵ9ڔ{{Z9{{{{{ZRZ{ZZZ911ƔRsZ{Z9Z{Z1ι9{{Z{{9{{99Z{{9Z{{{19Z9{{Rޜ9{ޜ99{ڔڔs9{{9֔Z޵9{ュs9ޔsΔҔҔҔҵ9999޵Z9ssZ{{Z9Z{{{{{Z{9Z9Z{Z9Z{sιҜZZZ991Z{{9ZZ9Z9s1sZsΔZZZ9)1sΔ9{991sε9Z{J{{ڵ֔ZZ9ZZZ{ZZZZZ{ZŒs9Z99Z{sR{{ޔ9ZZZ{919ZڵZ{9ZZst9{{ڽ{RsεֵֵZZZ9{ZZZZZ{9{99{sιֽZ9{֭ι9{999Z{Z9{Z9{{Z9{999R9J911Ƶ9ZZZ9{{99ZZZ{{ZZZZ9”{Z9{sι{ZZ9Z91ޜ{9Z{{9{ιZZ9sιιڽ{R)J{Z9{9Z{Z99{ZZ{ZZ{99޵ZZs9Z9ZR9{{9Z{9{{”9{Z9{{9Z{ֵRʌZZZRʌJ)k㭵))ι{{99{Z9Z{99Z{ZZZZ{99{ֵ{{9Z9ZZ9R{{޽99Z9{ss99Zs1RʵZZZ{JJJJ)))Z999999Z9J)J)1Ɯι)J))RRs99{{99999{{ZZ{Z9Z޽Z9{ZZZ9オ֜Z9Z9Z{9ڵ{{Rιι1sεֵZ9sΌ))JJJJ{Z9{{Z999{JJRkk޽1ι1s1k))RʔZ9ZZZZ99Z9ڵֵZ9Z9{Z{9{Z9{ڽZ99{Z999{{{{޵1ιι֜sk)JssΔ{ZZ{99)ksZ{sJ)ޜ{sιR9{ڭJ{Z99ZZ99Z9Z{9ڔҵ{Zֵ99{Z9{{9ZZڜZޜ9Z9{9{9{{Zsk)ιZZιZZZ{99)ks{9ι))Z֭RZ{9Z99{{ޔsεZޔZ{ZZZ9sεZ9{9{{޵9Z9{999ZJJڽ㭵Z{Z9)ks{{J)JιZιs{1Z9Z9Z{999{sΔZ{ZZ{ڵ{999{{Z9޵{9Z99Z9Z{޵ZZ9Z)9{k9{Z)ks{{{ZsΌ))kオ9{{sιֽZ1Z9{9Z{ڵֵֵZZsΔ9{Z{9{9Z999Z{{ZZ9{99{Zֵ{{9{kk19ZZJ1Z9{Zk{{{sιkJRʵ999ZZ1tҜ9Z9Z999޵ֵڔsε9ZZ{Z99{Zޜ{ZZ999{99Z{9{{Z9ޜ9ZRιRʔJ9{{ZZュ{{{Z9ҭJιRʔҵZ19{Z9{ZޜZsZ{ZZ{{Z9Z{{{{9{9ZZ9ZZZ{9{{ZZZZ{9ZZ991ιι19Ҍι99ZZZZRʌ1ZZlRʵ99ZιR{{”{9{{{91k1ZZZZZZ{{{9{{{Z9Z9{9Z{9{Z99Z99Z{9ZZ9{{999֭9Z9ZZZ9sέ޽{{Rιs{9ڭҜZ11RZ9{{{Ҍ֜{Z{{{{{{Z{{ZZZZ{{9{9{9ZZZZ{{Z{{9Z{9Z{9Rʌ1Z{{{Z{9{9Rʭڜ{Z1”9{{ιֽ{99{ιJRZ{{Z{{{{{{Z{{{{Z99{9Z{9{{{{{{9Z{99{1ƭ{{{{9Z9Rʭޜ{{R”Z9ZZ1ZZ9ZZ{JZ{{ZZZ{{{9ZZZZ9{{9{{{ޜ{{Z99999Z{ZZ{Rޜ{ZZZZsέޜ{{1オ{991Z{sZ99{Z9{sJιڜZ{Z{Rʔ9{ZZ9Z9Z{{{{{{{ZZ99{{{{ZR{Z{99ҭޜ{{{Z9{ιsΜι{99Z9ޭkҜZ{Z{11ƵZ9Z9Z{99{ޜ{Z9ι֜{{1ƵڔҔ{{sιڽt99{s)9{{{Z{Z{Z{オ{ZޜZss{ZZ{ZZ{ֵ{{Z{RZ{{ZRssRRʔ9ZZRtZZڵZιkҜZZ{Z{Z{9119Z9Zsڜ{{9{ֵZ{{s{{{{{{{{{{{{ڔRRʵڵ1ƭs{Z19{Rs{1ι1ޜ{ZZ{{{{{ZZtҜZs{{9Z{9{{ZZZ{{R1ޜ{{{Z{{9sZRkڽ9ڜ1RZR1Ɣ{{Z{{{{ZZ{{ZZ{s{Z{{{{{99{9{{ZZ9Z{{Z”{{{{{ZZR{s{9R1{R1{{1RZ{ZZ{{{{Z{Z{{1Z9Z{ιZ{{{9{{9{{9Z{{{{sιs{{{ZZZRJkֽ9s1sZ1Ɣ{{1ޜZZ{{{Z{Z999999Z{199{{ZZ{9Rk{9Z{9ZZ{99Z{{{9オ{{{Z9ZR99ι91ιιRZ{Z֔{Rޜ{Z{Z{ZZ9Z{{Z{{sオZZ{Z9999ZkR{ZZZ9999Z999Z{Z{{{{Z{{11{{{ZZZ{s9)JιュιRʵZ9Z99Z{J){{Z{Z{ZZ9{1R{{9Z99{ZZ{֌֜{9Z{9{{99Z99Z{{{{9{11{{{{{{ZZZ{9Ҕ{9)k1Z9{9{{֭Jι1Ɣ{{ZZZ{Z{9{ss9ֵ9{Z{ZRJιZ{ZZ{{ڵ9Z{ZZZ{{{9{R1Ɣ9{ZZZZRڜ9111Ɣ9ZZ{sZZ9JZZ99Z{{ZZZ{{ZZ9Z޵R1Ɣ9{ZsRޜ{Z{9J{ZZ{9ZZZ{s{{{9{ss{{{{RR{Z99R{޵lڜZ999Z{Z{{9ZZޔ1”{91R9{ZZZŒ{Z9Z{{{99{{Zڔ޽19{{{9{911{{1Z{ZZ99{RڜZ1ι{{{{9Z{9ڔ11ƵZs{Z9{ιZ{{{{Z9{9ڔs{{{{Z9{R”Z{9{ss9ZsZZ{9Z911Ɣ9オ֜ZZZ1ι{{{{Z”9{ZZ{Z9{RtZ{{ZRιڽ9s{1{{99{ZZZڔRιJJι9Zs{Z{Rιڽ{{{9{sι֜1{99ZZZ99Z{ι{Z9Z{{{֭ҜZZ֔R9ZZ9Z{ZZ{9ュk1sRsε9ZZZ9{Rι޽{{{{{9ڵ9ڭZιޜ{9޵9ZZZ{Z1ƌ1ڔҵ9ZZZ{{RZ{ޜ99sΔ{{{Z޵ZZ9{99Z99Z{Z9ZsRs1s9ZZ999Z99{9ڔҵZZZ{ڭsRʌ9޵֔ҵ9{lι1s9{{9ڽZ{9sޜ{{ڔ{Z9{{9ZZ999{{{9Z{sΔ9{ιR{{{9{{{ZZZZZ9Ҍ))ιsΔҵֵ9{R1s{{9999Z{{ZZ{9R9{s{{ZZZ{{Rʔޜ99{{ڔ9{{Z9Z{Z999ZZ9{ڵ{{ZZ{ڽ{9{{{Zڵ֔Œ1sε9{Z9{{{{{ZZZZ99ZZ9޽ZRRʔڵss{{{ZZ{{R1sεZ{{9޵9sε9{99Z{Z9Z{Z99{{{Z9{{Z{Z{Z91sZ{{{Z99֔9Z9{{ZZZZZZ{{ZZZZ{{ZRڜڜ91J)1ޜ{9Z{{Z9ssε99޵RュRssZZ99Z{9ZZ9999Z9999ZZ99Zҵ{{9{{Z9{{99{ZZ{9{{{{{Z9{9ZZ{k)Js{99{{ZZsRsε{{s11ι1Ɣ9{Z99Z{Z9Z{{ZZ{9Z޵9{{9{99{{9ZZ9{9ssZ9{99{9ι)オJҽ9Z{{99Z{{{ZZ{{9{9ޔZ{Z999Z{9{9ڜ{{{Z9Z{ZZ{11Ɣҵ֔R1Z9Z9ZZ9Z{޵֭)kޜJҽ{{Z{{{{{99ZZ{{{99{ڵZ{99{99{Z11sZZR99Z{9ZZ9{{ތ))ZRJֽ{9{{99ޜZZ9Z{ڔ9{{{9Z{{Z”9{sZZ9ZZ9Z)kkZ{)Z9{{޵Z9ZZZ99Z9RZ{{{9ZZ99RR{9sµ{{9{{9{Z9{ڌsι)Z9{{{ֵ{{Z9{ޜZ9Z{Z9RZZ99{Z9Z{{ޜ1ڜ9Z{9{9Z9{{ι1Rk9Z99sε֜{9Z{99999Z{­R9{9ҔZ9ZZZ999ZZ9{Z19Z9ZZ9{޽9Rιk)1{9Z{Zιks9Z9{9ZZ9{Z9Z֌{{ZsZ9999999{99{{{R99ZZ9Z{9{ZRk)ֽ{9sιkJJJJks9{9Z99{9{{Z{{9ιJZڔҵ9{{ޔҔ9{{99{Z9{9ZtZ9{Z9Z9{Z1Jk{kkJJkJJJZZ999ZZ99999Z{{J֜{Zsε9{9sΔ{99{9Z{9{9Rµ֜{9{{9Z9ZkιZZ9ڭ))J1kJڽ{999{9Z99{{Z99Z{1ƌR9{9sΔ9ssZ{9ZZ9{{11޽{9{9Z{ZZkZ{֌)J9{{{9JkֽZ9ZZ9Z9{Z9{Z9Z{ss9Z9ڔҵ9sΔ{Z{Z9{9Zs{{9{{999RJ1{{{kkRZkJιZZ99{{ZZ{{9{Z9{ZZZ9{9sΔ9ZZsZ{{9Z99ZR޽{9Zޔ޽Z{)sΜ9sk{ތJk1ڔs11Rʔ9{{999999{ZZZ9Z9Z99s{{99ڵ{sڜZޔsޜZ9{Z{ιs{ZZ{9ҔZZZι)ڽ{R1ιJ{Z1ƌ1sssssΔsε{99{{Z99ZZ{9ZZ99ZZZ{9ZZޔRsΔҔҵ{Zs9Z޵Z9ڔ9Zڔ1{{9{Z9{֌ZZZ99ZZZZZZ9Z{{{{ZZZ{s9Zތk֭JJ)Z{ュ1Z{{{99ZZ9{Z999Z{Z9Z{1sZZZZ{{{9Rュι1RRRsεZ{sڜ99Z9Z{9Z99199{{9Z{ι)sεֵֵֵֵֵ99ZZ{ZZ{{Z9ZsڜZRkιZ֌kR{ZRʭs{{{{ZZ{9ZZ99{{99Z9ι”9999999Z9ڔsι”ZZssΔ޵sΔ9{99{ZZZ9Z{{99{{1Ƶ{9ڵ1ƌ)J19{{ZZ{{{99ZҔ{Z޵ιJsΜޭsZZ99ι{{ZZ{{Z99Z{Z9Z99ZZ999{{1Rʔss9{{{ZZ99ڔRʔ9{Z{9ޔssRRʔZZ{9{Z{{9ZZ{1s99k)kR9ZZ99ZZ{{9s99ιs{{99ҭ”ڵZZ{{{99Z{9ZZ999Z{Rʵ99Z{Z{Z9{9{{9{ZZZ99{ڔZҌ)R{{{{{9Z{9Zs޽{ZZZk֜Z9ZュιιR9ZZ99999{Rʔ{{֔Ҕ{9{{ZZZ99Z{{9ZZ9{9{{9{{޽{ZュR{{{9޵9Z{{99{9sε{{Z9999Rʔ{眭ޜ{{Zڔss1ƌkRZ{ZZZ1Ɣ{Z޵sRʔZ{{{{Z9{{Z9Z{Z{{Z99{ZZ{9{9Z޽ZZ{tZ99{ZZ{Zsε999Z{{ڜιι9Z{ZZRks9{ZZ{µ֜{{{Zڵ{{{ZZZ{{Z9Z{{{{Z{{9ڵޜ{9{ZZ9{޽9{{{{sιιZ99{{999ޔRsssssΔ9{ZZιιZZ{91k{Z1Rޜ9R1{99{޵9Z{{ZZ{{{ZZZ{ZRڜZ9ZZ{9{޽9{ZsιkJ{{{{9ڵ9{999{{ڔιksZ9{991ƌڜZskιڜZ”Z{{ZZ{ڵ99ZZZ{{Rʵ{9ZZZZ9޽99RRʵ9{ZRkk”Z{{{{{{{޵ޜ{Z99Z{{9ZZ9{Z9{{sΔҵsksZ9Z{{Rʭ޽{ksΔRʌ)ڜZs9{{Z{ޔZZ99Z{{{Rs{9{Z9{9Z޽ҔsέJιRʔҵڵlµ999Z{9֔ҵ{{{{99Z{ZZ9ZZZ{sΔZ9Rʌιޜ9{{{9Rʭ19ތ)ι{{֌)ι{{1s9{9{ssZZ{{ZZ{9s1ƵZ{ZZ{ZZZ9ڜ9kJ1ƔRι1{Z{֔Z{{{{{{{{Z9ZZ{ZZZ9{{99Zֵ9{Œs{9Z{{Z99Z{{ŒsZZ1ڜZι)֜1s9{9{s1ƵZ{99Z{{Z99{ZڵֵssεZZ99{Z{1ιskRʵR1ڜ{Z{{{{{{Ҕ{{Z999Z{ZZ{99{{ZskZ{9999ZZZι{ZsJJR{Z)ι޽RR{9Z{91ƵZ99{9sュkJ999Z{9Z1ιkkιR9ι޵{ZޔsRʔ9{{֔{{{ZZZ9ZZ9{ZZ{{1kZ{ZZ{{Z{֭ιڜZsk)9ιJ9R1ڜ{{99Rs9{Z99ZRʭJ)kιιk{{{skJsZZ))J9ڔҔ99{{{{{Zޔ1111s9Z999Z99999RʌιZZ99ڜ{ҭZsk)Zlι11ƵZZZ{91{{Z9Z{{1RsειZ{{{{ι”9{{{{Jι)Jtҵ9{Z{ZZ{{{{Z{{Z9)k1{9999{9Z{99{9RʌιZ{ڜ91ƌ{9sk){ZsRʵ99޵֔{{Rs{{{Z{Z9{Z1ks9999{1Ɣ99Rk1k)ιsZ{{9Z{9{{9{{9sRŒ9Z{9Z9Z9sέιZZsޜ֭ιZ9J){Z9Rιk”9{sZZڵ99Z{{Z99{{kJsZ{{{Z9Z{ҔZZJJsZ9RʌRZZZ{{99{ZZ{{ZZ1JJι1RZ{9Z{Zι1Z{sΔ9J1sJJ1{{Z91ƌ1Rι19{Z{R11Rʔ9{ι)ֽ{9Z9sε֜ι)Jιs99s”9{{{Z9Z99Z9ZsιJJڵs1R{{ZZZ{{9sRʵZ{{{Rs{Z1k)Jιs9{{ZsιオZZRιιRʵZZ{ڵڵֵֵ֔Rιι19Z{9)ֽ{9Zs޽)JZ9ҵ9ZZ{{1”9Z9ZsJ9ޔιs9ZZ{{RRsε9{{{9Rs{9ュιR{9s1Ƶ{9ιιRssΔ9Z{{Zs1ƔZι{Z9{s9)){{޵{{{{{{­Jkޜ9{{{9sJ{{Rʌι{{9ڵsΔ9{Rʔ{99{{{9Z{Z{9ڵsR11Ɣ9{9Zsڜ{{ҭ19{9Z{sZ{1)){Z{9Rk1ƭ)ޜZ9ZR91ιڜ{ZZZڔ{{ssε9{{{{Z9Z{Z9Z9޵֔9{{99{ޔ9ZZ99{9Z91sZk9{{ZJ1ι){Z{{ιRʔҵsιRZ{{{{Z޵9{sΔZ{Z{{{9޵֔ZZZ{Rޜ{skkJR{Z9ZZZtZιk޽ZZ{ZRJZ{֌JR9{{Z9kJ{1ι{{{{{9ڵ{sΔ{{Z99{{{{ޔsR1RZ{{­1޵sksΜZ9Z{Z9Z1{J)R{{9ZZk9{RJk1ޜ{ڔҔk)Zオ9{Z{{RʔZZҔ9{9{{ڔҔڔ11ƔZ{{sΌ)JιιkRʜ{99Z{9Z{ιR{1J)99{Z9㌱J޽){9޵))Rʜ{ιオ{{ZZt{Zsڜ99Z9sε9{s11Ɣڵ֔ҔҔҵֵֵ֔J)JJιtZ9RJ1{Z{Zsڽ{ιJZ{9Z99ޭڜJ)ks9Z9{ZJڽZRʌ1ZZZ{9s{Z9޵ֵ9{{{{ڔsR1Ɣ9Zs1ι)kιRʔιsZތZ{Z9{Rιµ{{s1R{{{Z{Z{”99Rʌ)Js{{9Z)k޽ڌ{{{Z9{ZR9{Z9991kオ99sι))kιιιιtZ{Z{k99ZR1RRRRRRʔZڔҵޔҔ9{{Z{֔ҵ֔ޜZ9Zҭ)k֜991{9ks9ZZ9{{9{{Rڜ{{9{ZRZZιιs999999{J)t9Z9ڵ9ZZ{ڔZ{ڔZ9{{Z9{Ҍڜ{9{޵{sέι1sεZ9{9sZ{9Z{{R{{{{{91޽ڌJR9ޔ99sεZڔ9{{ZZZZ9ZZZZֵ{{9{sJι{99{{{ޔsRsZ{Z{{9Z{{{99{ZRJι޽{Z{{{R))Js{ZRRsޜ9ҔZs9Z{9{{{{{ZZZ9Z1)s99{Z{Z{9Z{Z9{ι19޵֔ҵֵ{{{Zk19{{{{{{{{R9{9Rk))RZ{ιޜ{֔{ҔZZ9{{{Z9{9991J)1ZޜZ{9ZZ9Zޔ9{{kιkJJ)JsZ{{9ZZҌ99Z{{s9{{{{{֭)J{91s9ڜZҔ{ޜ9{ZZ9ZZRJ)R9Z{Zڜ9{ޔҵ99s9Z))))JJJ){ZZ9Z99skJZ{{{{s{{{{{{ιJJk1RZ{ڔ9ZҔZ{޽{{{{{{9{sk)))JJJµZZ{91RsZZڔҔsι)JJkk1Ɣ1JZZZ{{{9ZZι{ޔ{{{{ιュ)s99{9Z{ZZZڵZZZҔ9{{s{ZュkkJJ)){ZZZZsRZ{1ƌkιRʵ9{9ks9{{{ZZ{ZZ{{Z{֌)ҜZ޵Z{{{9sΔιksZ{{ZZ{99{{ssZ{9Rs99ڔRk)s{{{Z9ZZZsRRʵ1s֌{9Z{{Z99ZZ991)ι{ZZ{{Z99{Z{{{ZRsΔRιsZ{9{{ڔ{Z9ssュ1{ZR9Z{sέ)){{9{Zss{Rʵ{9ޜ{{{{999{{sΌ)s9{{ZZZ99999{Z9Z{{9R1sRs9{RʵZ{֔ҵ99ZZZZ{{1ιι1Z{ڜ{9{{)Z{Zڜ99{Rʔ1RZ11Z{{{{ZZZZ{{{Z9Rʌι{{ZZ9Z9RιsڵZ{99{{1sZ9ιkkkιιι1Ɣޔι)))kt9ZZ{{1ι{Z9Z1޽ZZZڜ9Z9sιk1{Rʔ9{Z{{{{{{9֭J{{ZZ{Z{{ZRʌ9Z{{ZZ{{9sR9Zs­kJJJJJkkkkkkkJ)Jオ9Z{ZZssZ{99JRZ{99{ޜ{{Zlkksε9{s{{{{9Z{ZZ{Z֔޵R1ιJ)ιڜ{{{{{{{ZRkZ{{{{{{Z֔{sRʵ޵֔ҵޔι)))R9Z{Z91R{99{9筵Z{9Z{ޜ99ޜ9999Z99{ZsΔ{{ZZ{{{Z{s{­”9{Z9{9JZ9Z{Z9Z91s{Z{ޭk1ƔRι”9Z{Z99sRޜZ99Z{ZZZ9ޜZ9Z{99{RڽZZ{{{{{R9Z9֔99{9k֜{޵9{{{Z9Z{sΔ9ތZZs999֔ޜZ9Z{㌱JR{{{9Z9Z{999sΔZ99ZZ{{Z9Z{sRZ{Z{{999Z1Jֽޔ{{{{{Z9sޜ))sν{RZ{Z{9{){Z999{9޵s1s{Z9{{ZZ9{{sR{{{9Z{99{RJҜR1Z{{{{Z޵ֵZ{{JҜ{RRZZ{ZZZ)R{{Z֭ιڜZ9999ZZҔ9{{ZZZ9Z{sΔ{{{{99{{Z9Z{{s)R91ι1Z{{Z9{sιsZRs9{ZZkڽZ9{Jι9Z9Z{{Z{{91Ɣ{{Z9ZZZZ9ڔҵڵ֔ޜ{{޵Z{ZZ{{Z99Z{{{ktR19{{{{{ZZRsΔ11R1ƔZ{9ι{Z9999{{99Z{R)1{Z9{{{Z1ιs9{99{{{Z޵ֵ9{{{Zڔ9Z9ZZZ999999999Z{ZŒsZZZ{{{{{{1ƔڔRڜ֔9{9{R9ZZ9Z9筵kֽ{9Z{9sュڜZ9{{{{{9sZZ9ڵֵ9Z{{{ιkι1RsΔ9{{{µڵ9Z{ZZ9ι)1Z{99999Z9{J9Z{­s999{Z1ƵZ{Z{ҵ999999Z{Z{Rkss1sZ{{9ڔҔҔҵֵstZZZ{Z9{{9{kJsΜ9{99{ZZ{9kZ99sR9{ZsΔ{{{{{R{{Z9{֌1ZZs”9{{{sュιιιιι”ZZ{{9{kksZ{9ZZ9Z{ZZ9ιJs{{9{{{{Rʔڵ{sR9{{{{91ƭZ{1޽{9Zι9ZR1Z{{{{{{{{9Rsڵֵ{Z{9Z{ιµZޜ{ZZ99ZZ9k9Z9Z{9{sΔZڵZZι19{{ZRʌ{ZR19Z9Z9sڜ{Z{sΔ9Zޜ{{{9Z9ҔҵR1ƔZ{ZZ9ZZ9ZZ1JRʵ{ZZsRޔ9ZsέιsZ{{{{sΌ1ZZ119Z9{ZRιڽZڽ{99ZRʔ99{{sRsε9ޔZsΔҵ{ZZ{{{{{Z991ƭ”Z{9{{ZRRڜRʌ9{{{{{ڭι{s޽{Z{ι{{ڽ{Z9{{sZޜZ9{9sεֵssε9{{ֵZ9޵֔9{9Z{9{Z9sε99Z{Z9ZZ11{ZskZ{{{{{{{k{{{1Ɣ9{{{{{11{ڜ{{99{{1ڜ{{ュRʵ{ZZZޜ{ZڔҵZ1sε޵9{99Z999Z{Rʌ1Z{1k19{{{{9sZ{{ֵ9Z{{{Z{{{{{{{{ZRι1Z{{ZZޔ1lZ{9{9{{֔ҵ{ڵ֔Ҕҵ9{9{Zk99Ҍ9sZZZZ99{{{{{{1Ƶ{Z{Zιޜ{{{Zڔs11s9{99ޔ9{11Rʵ{{޵{{Z9{Zޭk֜{{91)J{Z{Z9Z{{Z{{Z9{{ZsΔZ9{Z){{{{ZZ9ZZZ99{ZZZZZ{Z{{ֵ{Z޵R1ƽZ999{9{99{sJι{ιڜ{sJk1ƔҔRR1s{Z9Z{{Z{{s9ZZ{ڌJZ{9999{99999{{Zڵ9޽{{{ZZ{Z99ZZ99JsZ{ZJ1Z{{kkRʵڵ֔RR9{{9Z{{99{Rڜ{9{)ιZ99Z{{Z9Z{99{ڔ9޵ֵ޵ֵZ{{{9Z{9{ZZ9{RJιZ{Z眭ޜ{{ZssRs9{{{9s޽{{{ZZ99ZZssZ{Z9{{{{{Z)9Z{9ZZ99{ZҵZ{9ڵ֔ҔҔҵ{{Z99Z999{Jk{{ZsJs{{{{Z9{Z99{ιֽ{{Z{99{R޽{Z9{{Z{{{Z)ksZ{{9Z{9{ڔޜ{Z9Z{{޵sεZZ999ZZ{Z{9RkڜZ֌ιZ{ZZ{{{{{9{{Z{ιֽ{Z{Z99{s{{99ZZ99Z{{{9RJJR{Z9{9ڵֵֵsε{Zڵ99ZZ{{s1{Z99{ZZZڵֵֵ9{{)”{Zs)ZZ9{{9ZZ9Z{{{ڽ{9ZZ9{9{Z9{9){{{{9Z{sssssε99{9ڵڵRsޜZ9Z{{ZZ{{1ƔZ9{{Z9{{9Z{k)JιRʔ1ƌJZ{{91k)9ZZZ{99ZZZ11{{Z999Z{ZZZ{{Z999{99{{)ޜ{Z999Z9{{sΔ999{ZZ{Rιιsεs1R{{{{99{{Z9{9RsZZ9{{֌1ιk)JRޜ{{{sΌ)9{99Z{{ڔ­{{ZZ{{999ZZZ{{ZZ99{{99Z{{{{Z99Z{RJkޜ{99ZZ{Z9{{9999Z{{sR{{9Z{{ZZZZ1JZRs9Z{{{{9Ҕ99Z9㭵){{RRZ{{Z9{{sΌ)ZZZZ޵ֵ޵1kkֽZ9{ZZ{99{{Z{Z999Z9Z{{J)999Z{ZZ9޵9{99{{Z9޵1s{{ڵ֔ҵ9RJZ{ڔҵ999Z{9{ڔRʔڔڜ9ڵZ{{9Zs)Z{ZZZ9{{9skJ1{ZޔsZZ޵ֵ99ҌRʜ9{Z{{9{{{{99ZZ99ZZZ{{{{ι)sZ{Z{Z޵֔sZ{9{{1ƌJRZ{{{ZsΔҵZZkZZZ{9{ιkk”ҔRZ{9s1ƔҵZ9筵)ZZ{Z9{ZRι9{{ޔsε99Z{{99Z1Ɯ{9{ZZ{{ZZ9Z{{{{{{֭)9Z{9R99­Rʵ{{9Z{ZZ9sΌ1Z9{99ZZ댱ιJ)ιRι֜91ιιk1{)kڽ{{Z99{{{{99ZZkks9ZZޔҵ{{ZZZ{91Z9ֵ9{Z9{{{Z{{ιJオZ9RιR9sZ{99Z{{{Zュ֜{ZZ91ks1k{{9Rʭ))kι1ޜZ)Z{ZZ{{ZZZ{{ֵ{ιk1Z{{Z޵֔Z{R)޽{99{{{999Zkޜιޜµ֜{ZZ{9Rʭ1999{Z{9­ҵkR1ƭJ)Jsڵ֔ҵ޵RsJkҽZ9{{{9ڔҵ9ޔRʵ9Z{9ڔҔZ{ZZZ9֭ZZ{9Z{{{ZZZZ­1{9ιsZµֽZ9Z{{ι޽ZZ{ιRޔιkJ)JιRZ{1{s)9{{Z99ڔssε9Z{9֔ҵZ{{ZZZ9ڔssε9ι9{{9Z{99{Z{{ZZ{1ιs9{{{{{ZR޽オ֜{Z99{{{{ZιkR999{{91オ޵1R9{{{{sιt99){{{{{9Z{9Ҕ9{{{Z999999޵1ιks޵R{Z{{Z9Z{9{{{ZZZZ9Z{99{{sR1R9{{{{Zι{ι{{{{{sΌJs{{Z{Z{1Ɣ9{{{{{Z9Z9ιss)kֽZ9Z{s{{ZZZ{{{RsΔsι)ι֜{Z9{Z9Z{{99Z9ZZZֵZ{{{{Zιޜ9ιZ{1ƌkι9{9Z{Z9ڵ{{{{1ιュ)9ZZ{Ҕ{9{{֭)))kֽ{{{99{{99{99{{ֵ9{91kssέ19{9ιsZ{9Z{9ZZ{9Z{{{RιҜ{{Z޵{{ҔZ{{ZsΌ))sΜZ9{ZZZZ{Z{9{Z{{9{֭))ιι֜911Ɣ{{Z9Z{Z9{ZZ9{{{{ڔ1޽{{Z9ڔZ{sZ9{9sJR{{޵9ZZ9{9Z9ޜZZ{Z9ZZZZ99{{9ޔJJ1{9ڔҵZZ9{{9Z{{Zs9{{{{޵119{{ڔҔ{1ڜ9ڵ9{{{JksZ{9ҵ9{Z9{{9ZZڵZ99{{Z9ZZ9999ZZRʌιR{ZZZ{Z{ZZZZZZZ99Z{{9RRZ{{9Z{{ZR{{{ssε9{1s{9֔9{ZZRsZZ9Z{{99Zޜ{ZZ{Z9{{{{ιs9Z99ZZ99ZZ{ZZ999{{Z9Z{s1{{Z9Z{ZZZ{Z”Ҝ{R”Z{Z11ZZޔҔ{s)sΜRR999{Z9Z{Zs9{9޵֔ҵZ{9{{1sZ{99Z999ޔ{Z99Z1ڜ{9Z{99{{R޽ι{ZR9R1Ɣ{1{ュҜZ9{Z9ZRʵZ9Rs{Z{9Z{9{Z9Z{{Z9ZZ֔Z{99{RʔZ9ֵ{{Z9sޜ{9lZZޔҵsιs99Zkι޽ZZ{9sµ9JJJ1{Z{ZZ{99{{{{{{{sڜ{ZZ{{Zڵ9ZҔ{Zs{{{99Z޵{{ZJs9{{ュkkR9Z9ιZJ19Z{Z1ιRsι)kιιkksZZ{Z9{9ZsΔZ{֔ssΔ9{Rʵss9{{{Z99Z{{{{{{{{sJ9{9sέJ))kιs{{9ι9ڭkR9{99sιRʭZZ9Z9{9{RZ9RR{s1sΔsεZZڵֵZ{Z{{{9ZZZZ{{ι1Z9k))ZZZڜZR)kޜZ{{k)sZ{Zҭι99999{Z9ZҔZ{{Z1Ɯ{ュRZZ99ZZڵ9999Z{Z1{ZJ)ιޜZZ{ZR)19Z))ιޜZ{ޜ9s1ƵZ9Z{9999޵Rʵ{{9Z{9ZJR9Z{Z{Z9Z{9sޜZs{{{Z֔sJ)ڜZ9{{s)ι{{{{9sJJ1Z{{ڭ1{{֔ҵZ{Z{Z9sΔ1sZ{{Z9ZZZZks9ZZ{Z{ss9ZҔ999猱J1{9Z{{9R)Jt9Z{{9)ιڵֵ{J޽{{999Z{Z{{ZRRڜ{Rڜ{{99ュ9ZZ{ZZ9RڜZֵZ{ޜ))ι9Z9{Z9{{{{{{Z)ιڵZ{R)ҔҔ{{s1{{{Z{Z{9{{RRZ99Z{{{RZ{{{{{9Zޔ11ƵZ{{{ZsΔZ{9{9Z)JҜ9Z9Z{{{{9{9Z9)1ƔZ{1k{9{{{9{{ڽ{9ֵ9ZZZZZZ{Zsڽ{Z9{Z{ֵڵֵZ{{{91s9{{{{{99Z{{9ιkֽZ9{9Z{19Z{{ҌJµ9{9ι9{9Z{{99{µ֜{Zs99Z9999Z{RZ{9{ZZ99ڵZ{{ZZ9޵sι111RʵZ{9ڵZ9{{Z{Z))1{{9Z{Rι{{1kJ19Z{JZ{{{{{{{{{{{ZZ{オ֜sZZRڜ{Z{{ZZZZ9޵{{{ڵֵ֔ҔssssJ))sZ{Z޵{Z{ZZ{)ޜZ9Z{{Z9ޔҔ{skֽZssRʌJ19ZZZ{ZR1Z{{{{ZZ{µֽRR{RZ{Z9{Z{{99{Z9sRRssΔҵ9Z9ڵRʌs{9޵9{{{Z)JRZ{Z999999ޔsZsΜZRR99sJ{{ZZ{911Z{{{9{{ڽsΔZ{Zsオ֜{{Z{{Z{ZZRʵ9ZZ{{ZsΌڜ{9{{ڔ9J)Z{{9sεs1Z{1”{J{ZZ{ZRRZ{Z9޵9ڽޔZ99Z19{{99{Zs99­Z9Z9{9k)1ZZss9{Zι)tҔR1sZڌ9{9{Z{{RR{Z1RZ{{Z9Z{オ{Z{Z9{{sオ{{{{99ι֜{Rι{ZޔsΔ{{99猱JRZ{ssεֵ1ƭJ1RʔZ91ι1ƔZZ9{{1ҽڭ9{Z9ڵֵZ{{Zs޽9Z19{{Z{9֭ڽ{Rڜ{Zsιt{9{Z9k)JZ9999999ZZZ9ޔŒ)kµ9{ҔҵsΔֵZ{{9kk1ZZZ{99{ޭRZ{Zޔ1ιι֜9991ƭ{{{Z{99Z9ҭڽs{Zڵ1ƌι99{ޔR1ιJ)k֜ZZZ1)9Z޵Z{{޵{眭J1{{Z9{{ZZ֭Ҝιڜ9Z{ιι޽{{99{{޵9­ڽ{s1Z{{Z{{kֽ9{J)))JJJ1ZZ99ZZZZ9RJRʜ{{{{{{{޵{޵9{ιZs)1{{9{{{ιڽ{sJkュ99{ZsΌs{{ZR199{޵9{ZJڜZsΔZ{{{{ZskҜ{sΔڔҭ)1sRιι֜{91JRʜ{{{{ZZZ9Z޵{ڌZ9Js{9Z{ZRkR)s9ιZ{{{{{9Rιs9{{ޔkJt9sڜ{{{{{sJҜZRιk)ιZZڔs191kZ{ZZ{{{99{Z޵֔Z{J1{kk{{޵Z{19Z{1kڽ91t99Z{{9ιZ{RʌJιs9{ڔ{{ZZZ{RJֽ{9Œޜ1ιR9{֭kڽ{ZZZ{{ZZ{ZڔҔZ{Zs)1ƜkJ{{ֵ{1{ZsRʵ9{Zҭ)sΔZ{{{{{{Z9Z{ޭZZ{1kkRZ999Œڽ{{Z޵֔9ҭ1Ƶ99Z{Z1{{ZZ{{ZZ{9Z{{ZZZZ9s1{))R9{Zҵ{ι9{{k)ιڽҵ9{99{ZιR{Z{sJJs{ZZZ9Z99{{޽{{{{ZZ9ZRʌ))kRʵ9ڌιZ{{{9ޜZZZZ9Z{9ZJZ{Z1ƌ)sεZsε{JµZ{Z99ZZskڽZ֔9Z{s{{ތ)1Z{{99{9ZsR޽{{{{{ZZZ1ュkJ)ιڜJ)19{{{9ޜZ99s1RZ{Z9ڵsJ9{Z1ιJJ{{1Ɣ99{{{ZڭZ99Z{ZҭڽZR{{{ιR9{9)999{9ZZZ{ޔҵ{{Z{{{Z{9ڵs1ι)ιZ1)Z9ZZZZ9ss9{{9ڵs)11ιιι{sιkk1Ƶ9{l1ƔsRRRsεֵֵ֔sιk֜{999999{{ι޽ss{{Z99ZZ99Rʌ1{{1J99{{{9{ZZZZ{ڔ9{{Z99{{{{{ι)ҜιιJ)ksεڵs­kkRs1ι))JsZ{ڔkJιsJJ1Ɣҵ֔RιkJJ))JRZ{{ZZZZ99{ޭ޽Rs{{9{{{Zι9{{{{)Jֽ{99Z99{ZZZ{9ڔZ{9Z{{{{{{Z{Z1)R{k)k)J1ssRιkkι11ιkJιιιιιιιkkRZZ{ZRʭιュJJJ)k1Z{{Z޵sR111ZZڵֵ9{ZZ{99ڭ)ιZsµZ{ZڔҔҵZZޔ{{֭Z޵)JR{Z9ڵֵ9{9{{ڵ֔ҵֵڵ9{{{Z{{{9RkR{{sk)オsι1Z{{Zޔ1R991t99Z99sΔ9{9s­ιR{91sRRRsssΔ9Z{{9Zڭ)JsZ{ڔsΔҵ֔Ҕ{sιҜJ))1ZZRsZ{9{Z99999999Z{{{Z99999sέR{ZR{Z֔ZZZZ1ZZ{{{ZZ{{)R޵Rs9Z9{ڌ))ι9Zsڜ{99ޔҔҵ{91)kkJ޽9R{Z9{99ZZ{{ZZZ99ZZZ{{{1Zތ)19Z99{{9{9Rιs9{{{{{{{ι)))ιsRZ99sk))J99ι1{9Z9Z{{119ιsRιRZ9R{{9{{Z{{{{{Z9Z{9R19{R)kssΔ9ZZZZڭڜ{{9Z{{{9k1ιJ)JιRsι”Z{9{{sΌ))kιιιZ{{{ZZ99{{9R{9sµ֜{{{{sΜZZ{{{{{Z{99{9R199)R9ZZ{{99Z9Jι{Z{{ޭJ֜9sέJJµs”9{9ZҌ)))JsZ{ZZZ99{{ޔޜ{Rs9ZsµֽZ9{{Z99{{{ZZ{9{{1sZksε֭ZZ{{ZZ{{ڌ1Z{Z{9999ZkZRʭ{RRZZ9{k)ιR{{{{{99{Z{ZZsڵs{9{{Z{{ZZ{{Z99{ZZ{Z9sεZZ1JJιZZZ99)J{{{{{s1111s9Z{ZsΜ91ڽ91ƵZιιZ99{{{{Z9{{{Z99Z{{{{9{޵9ZZ{{9{{999Z9޵ZZ9ι))sιkRʵڔJJ1ZZ9ssR1ュkJJJJJkιιJ)J֭ҜZRsޜιRZ9ڔ9{޵9{ޜ{ޜZ9{Z9{9ZRʔ9ZZ9999ZZ9Z{{{s))kιJ))))JJJJJJJJ)))JJJޜ{{Z9ZZ{{91ƭkkkkJ))))1ZޭRʜޜ{Rオ{{Z{{ZsΔ{Z99{9Z{1sZ{{Z{{9Z{99Z{ZZ{Ҍ))))))J)))JktҔιJι{9ڔҔ9{Z9{9ssεڔ­)Jֽ㭵Rʜ9R{{{{Z{{Rµ֜99{9999Z991R9Z9991ιk))))JRι)))))))Js{Jڜ{”9ZZ9ZZ{Z{ZZZι㭵RʜZZ9s1Z{Z9ZιR{ \ No newline at end of file diff --git a/examples/other/free_camera/graphics/texture.grit b/examples/other/free_camera/graphics/texture.grit new file mode 100644 index 0000000..42e61f7 --- /dev/null +++ b/examples/other/free_camera/graphics/texture.grit @@ -0,0 +1,2 @@ +# 16-bit palette, no transparency +-gx -gb -gB16 -gT! diff --git a/examples/other/free_camera/graphics/texture.png b/examples/other/free_camera/graphics/texture.png new file mode 100644 index 0000000..eafd9fa Binary files /dev/null and b/examples/other/free_camera/graphics/texture.png differ diff --git a/examples/other/free_camera/source/main.c b/examples/other/free_camera/source/main.c index 88ed18d..69d93a5 100644 --- a/examples/other/free_camera/source/main.c +++ b/examples/other/free_camera/source/main.c @@ -7,7 +7,7 @@ #include #include "robot_bin.h" -#include "texture_tex_bin.h" +#include "texture.h" NE_Camera *Camera; NE_Model *Model; @@ -47,7 +47,7 @@ int main(void) NE_ModelLoadStaticMesh(Model, (u32 *)robot_bin); // Load a RGB texture from RAM and assign it to "Material". NE_MaterialTexLoad(Material, NE_RGB5, 256, 256, NE_TEXGEN_TEXCOORD, - (u8 *)texture_tex_bin); + textureBitmap); // Assign texture to model... NE_ModelSetMaterial(Model, Material); diff --git a/examples/other/polygon_textured/Makefile b/examples/other/polygon_textured/Makefile index 133ddc5..6006f41 100644 --- a/examples/other/polygon_textured/Makefile +++ b/examples/other/polygon_textured/Makefile @@ -24,7 +24,7 @@ BUILD := build SOURCES := source INCLUDES := include DATA := data -GRAPHICS := +GRAPHICS := graphics AUDIO := ICON := diff --git a/examples/other/polygon_textured/Makefile.blocksds b/examples/other/polygon_textured/Makefile.blocksds index 626cf71..e4da1bb 100644 --- a/examples/other/polygon_textured/Makefile.blocksds +++ b/examples/other/polygon_textured/Makefile.blocksds @@ -1,3 +1,3 @@ -BINDIRS := data +GFXDIRS := graphics include ../../Makefile.example.blocksds diff --git a/examples/other/polygon_textured/assets.sh b/examples/other/polygon_textured/assets.sh deleted file mode 100644 index 02bdffb..0000000 --- a/examples/other/polygon_textured/assets.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -NITRO_ENGINE=$DEVKITPRO/nitro-engine -TOOLS=$NITRO_ENGINE/tools -IMG2DS=$TOOLS/img2ds/img2ds.py - -mkdir -p data - -python3 $IMG2DS \ - --input assets/texture.png \ - --name texture \ - --output data \ - --format A1RGB5 diff --git a/examples/other/polygon_textured/data/texture_tex.bin b/examples/other/polygon_textured/data/texture_tex.bin deleted file mode 100644 index f47c1fc..0000000 --- a/examples/other/polygon_textured/data/texture_tex.bin +++ /dev/null @@ -1 +0,0 @@ -Z{{{Rk)9sιι1ƔڌZ9{{{{{9sΔҥ½޵֔{9ι)Ƙ){ιJ99{{Z)Ƙιk9ޜ֭J9{{9Z9Ƙs|{ZҔҔRks1Rs9Ƙ{RRRʜs{9ڵҥιsRs{1ƥZ1J{Z{11Ɣ㥔֔ҔιZZ1ιR9Z{J޽J1Z9JRʌs1{9Z{{œZ{Z{9{9{{ZZœZ9ޔk)1Z{Zҥk眭ƘZR޵ֵڵֵ1Ɣs1ƭ{Z޽99Z{J19眥ƘkҵsεڵֵޔsΔ1RʵZ{R{Z{s9ZޜZ޵sRsεֵڵֵ֔ڔ޵ڵsΔҔҵ{Zk1ƔZZZޜ{{sΥι֔{޵ֵ֔Ҕҵ֔ҵֵڵֵֵޔҵs1Ƶ9{9ޭZ・JƘ))1ڔsRڵ9޵޵ֵֵֵֵֵڵsΔҔ1ƵZ{ZkRʔ1RssRRʔҔҵ99ڵֵֵڵڵ9sεֵ֔ҵ֜)Rsµֵ1ssΔҔޔsεsssssZ{9ޔҔRƘZJRR1R1sRRs99ڵֵ֔sεss99ZֵڔҵֵֵޔڌJ9{Z{{{¥1s・ㄐRιι1RޔҔsΔsΔڵ99Z{ڔҵֵֵֵ֔ޔR99{sΥ眭ι11sεsεsRʔsR1ι1RRʔڔ{޵ڵֵ9Z9{{֥k{J1ƥƘ県ュιsι11Ƶ֔sε֔ҵ֔R1Rʵ֔Ҕڵ֔ҔҔ9Z{ڵֵs99ڥ{RZs)s9・s11ュι1RʔRRsΔҵsRʔҔsΔR1ksΔҔҔsΔҔڵs1Ƶ1ƥ޽{ޥ9Rsޔ{k{֔{sε֔Rʵ֔ҔR111s1Ƶ֔Rڵι­ι11Ҕµ֔ҵ9Jk9ֵ޵ޜZ9祔ι9Z޽Zֵֵڵ֔ҵ1ƌ)”ҵ֔ҵ޵ڵsRsΔ1Rʔs1Ƶ֔sεs9Z91ι{ZJ1ڔ99ZZZZJ)ιι{Z{9ZZ9Rޔҵڵڔҵ{sRʵ9)9ҭ99Z޵sオZ9{{Z{{Z9ڔҵֵ֔ҔҔڵڵֵֵ{)ƘJk{Z99{ZZ99{ֵֵsΔιsZ{9{ZZڵڵڔҔҔҵֵ{)ιRƘ)ƘZ99Z{{1ڔJ)ZZ9{{Z֔RsεֵsZ{RʵZڔsR)眥޵{{1RιJ޵ZRs޵”ڔ1ƔҌス9Z9{{){{・Z1{Z9Zڔ9ιk眥RʜZs½ZkkιJ)ޔ9{{9޵)sƘ㭵1ҔޜR{Zs99{kƘ)JZ{9ZZι9{凜k”{{{9)Jk9{9ιJιZZƘJ{9RʭJRZ{Z1ƌ)s9ZZZZZZRZ{Z{Z9ZZ1Js{{ιsνιZ1Z99{Z9Z9Z9RsZ{Z륔JZJ{Z{{{9޵Z֥Ƙ19眥{{Z9ڽ19{㥔{{Ҕ{{{{9ޜ9󥔥{kƘƘ{{޽{{9ڵֵ{ZJJZZ륔ιR{{{Z{Z{RƘ{凜ZZZ{{{R޵ֵ֥1ƥ{ֵs){{Zޜ{ZZ{9{Z9ZZZޜ޵9Z9{99Z{sε{9Z1ƌ{9Z999sR{Rk{{RιRʜ{ιJRʌ{{{{ZZ9Z1RιsΥ{ڜ{{1ƭƘ1Ɣ{{֌1ƥƘ)RR1֭ޔsRssRʵֽ{99{ZιsΔ1R޵RRR1ƭkιJιRڔsειs99Z9Rιsε֔sRڵss1ޔJkRRR”ZZ{ZZ{9{Z{ֵ99s1ιR{Z{{Z99999Z9{{{{{99Rʭ{{{9Z9{Z{Z{9ZZ9{{Z{{ZZ9Z99stҔ{{ZZ{{ZZ{ZR1ƔҔsRʔ1ƭ)1ƭ)J))1{{ZZ9{Z{Z9ssΔҵZޭ1sε֔sŒ)1)))kιƘ)kƘƘƘ19{{{Z9{99tRʭƘƘƘJ)1ƭ)kҜZ{ιιιkιlk)ڵֵZZZZ{{9Z9sι1sε{{{{ڵιs{Z9{ZޭオsR”99ڵ֔ҵ9Z9Z{{Z999999s)ƘιZ9ZZ{{{ZZZ9ι1ƌ1֜9{{{9999{{{9{{ZRオ9sk)sZ{{{ZZƘƘ{{ZZ9999Z9sεZ9ƘJRR9Z{{9ڵ֔9ڵ֔{ޔҵιRʵZ{ZڵֵֵsZ{9R1ڵsZ9ZR1Rʽ{9ZsέRʔs)JƘk91ƌƘι)ƘRιJs㭵ƘZZR{­ҵRZ{Z륔{󥔥{)ιZZڵޔsƘƘ眥Ƙ9ZZ{ڵ֔޵ֵڵ֔k眥ƘRʔ9{{Zڽ)・k1ZRZ{9ҔҔ)J”1µ֔ҵ9Rs1JJZZڜZ9ֵιRʌkJ){9Z9ҭ޽޵99֜9)kιRʭιZZ9ιJι111ssڔ1RʌsΔZ1sΌk{Rʥڥ1眥){ZZ¥1Ɣs9ιs”ҽޔZ{kJ)1Ɯks1ƥZZs1Ƙs9Z{ڵ9ޔsΔs{{ιι{sΥ眵眥{ҭ{9{{¥JƘƘ¥1{޵ֵֽZ1)ksΔιZsk9RZµZZZZ֥{{ZZZZRʔڭƘι){{ZZ9ޔҥŒk{{{ι{޵ZҥƘ)Ƙ{{ZֵJ)kRsR9{R{{Z{{9RʔҔҵsι9{{ιksΜZڵֵֵsΔJιZ9ss91{Z{R1ڜ{9ZZRιk99ZRZ{{9RʔJ9{ڔ{{Z{Z{9Z9Z{ڵ{9{ZιRʵ99Z9ZZ{9{sε9{9{{Z{{{Z{{ZZs9Z{Z{{ZsΥJ))眥RZ{{{{Z{{{JkRsュJ9ڵڜZ9Z9J{{R))Z{ޜkƘƘRZ1{{ZZ{{{{ZZZ{Ƙ{Zҵ9RR999ڵR11k{1ƭιJJ{9s1RR1Ɯ9Z9sιオZZ99Z9{99{999{Z9Z999sڔRʭι99ZZ{Z9Z999{{{9ڵֵڔҵZRsΔҜRʔsRRŒZ9ZZ{99ZZ{{Z{999֔1sΔ{9Z9޵֔sε֔眥kRʵJ1ƔR1ƘJslkι{9s{Z9Z9R1ƔsέkR99s{ZҥsΔRRsεֵsΥkιZZ{RZs眥999ZZZZ9Z{{ZҔJ)Ƙオڔι1kƘR1Ƶ9{9sεR1)JR޵9{sュ)眥9{{Z{{{ZZ{9{{{{Z{ZRʥ1ƔZ9{{1Ƙ)RsΔڵs・{{1ι9ڜZZZZZ9999{{9{{{{ڵsΔR{RιRڔss11sRʔZ1ι9ޜZZ{9{9Z{Z{99ssZ{޽Z9ޭιƘ1Ƶ91ޜ99”sεޔҔޔss{眥{{9{ޔssΔҵ޵9ֵZ{9ޔҔRʵֵRsΔR޵֔9ι9{{9JƘZڵ99ڵ֔Rkk9ƘJҔҵ9ZtҵιƘ{֥ƘRʭ{Z{s”)Ƙ99ڵ9{Zk99{9sRڵ9ZZҥZ{{{ڜ9sι19Zֵ9ZJZ{ZssZZ{{{Z{{{{9{ڄRʽZ{{9Z9{{{Z󥔵{)Z){sZZ1{ƘƘƘ{{Z{)ι{{ﭵ)ֽ9{ZZ{sνZҔ眥ZZ99ιJZڔ{1ƽ{9{ZRʵZڵ֔9筵9{sRsRZs{Z{Z99s9Z \ No newline at end of file diff --git a/examples/other/polygon_textured/graphics/texture.grit b/examples/other/polygon_textured/graphics/texture.grit new file mode 100644 index 0000000..42e61f7 --- /dev/null +++ b/examples/other/polygon_textured/graphics/texture.grit @@ -0,0 +1,2 @@ +# 16-bit palette, no transparency +-gx -gb -gB16 -gT! diff --git a/examples/other/polygon_textured/assets/texture.png b/examples/other/polygon_textured/graphics/texture.png similarity index 100% rename from examples/other/polygon_textured/assets/texture.png rename to examples/other/polygon_textured/graphics/texture.png diff --git a/examples/other/polygon_textured/source/main.c b/examples/other/polygon_textured/source/main.c index 05557a4..004b235 100644 --- a/examples/other/polygon_textured/source/main.c +++ b/examples/other/polygon_textured/source/main.c @@ -6,7 +6,7 @@ #include -#include "texture_tex_bin.h" +#include "texture.h" NE_Camera *Camera; NE_Material *Material; @@ -59,7 +59,7 @@ int main(void) 0, 1, 0); NE_MaterialTexLoad(Material, NE_A1RGB5, 128, 128, NE_TEXGEN_TEXCOORD, - (u8 *)texture_tex_bin); + textureBitmap); while (1) { diff --git a/examples/other/stylus_texture_drawing_rgb256/Makefile b/examples/other/stylus_texture_drawing_rgb256/Makefile index 133ddc5..6006f41 100644 --- a/examples/other/stylus_texture_drawing_rgb256/Makefile +++ b/examples/other/stylus_texture_drawing_rgb256/Makefile @@ -24,7 +24,7 @@ BUILD := build SOURCES := source INCLUDES := include DATA := data -GRAPHICS := +GRAPHICS := graphics AUDIO := ICON := diff --git a/examples/other/stylus_texture_drawing_rgb256/Makefile.blocksds b/examples/other/stylus_texture_drawing_rgb256/Makefile.blocksds index 626cf71..e4da1bb 100644 --- a/examples/other/stylus_texture_drawing_rgb256/Makefile.blocksds +++ b/examples/other/stylus_texture_drawing_rgb256/Makefile.blocksds @@ -1,3 +1,3 @@ -BINDIRS := data +GFXDIRS := graphics include ../../Makefile.example.blocksds diff --git a/examples/other/stylus_texture_drawing_rgb256/assets.sh b/examples/other/stylus_texture_drawing_rgb256/assets.sh deleted file mode 100644 index 78953c8..0000000 --- a/examples/other/stylus_texture_drawing_rgb256/assets.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh - -NITRO_ENGINE=$DEVKITPRO/nitro-engine -ASSETS=$NITRO_ENGINE/examples/assets -TOOLS=$NITRO_ENGINE/tools -IMG2DS=$TOOLS/img2ds/img2ds.py - -mkdir -p data - -python3 $IMG2DS \ - --input $ASSETS/teapot.png \ - --name pal256 \ - --output data \ - --format PAL256 diff --git a/examples/other/stylus_texture_drawing_rgb256/data/pal256_pal.bin b/examples/other/stylus_texture_drawing_rgb256/data/pal256_pal.bin deleted file mode 100644 index 921f3ec..0000000 --- a/examples/other/stylus_texture_drawing_rgb256/data/pal256_pal.bin +++ /dev/null @@ -1 +0,0 @@ -w9g^{o{c=)%11FRJBsZ5sNZkR!9VJ)k- \ No newline at end of file diff --git a/examples/other/stylus_texture_drawing_rgb256/data/pal256_tex.bin b/examples/other/stylus_texture_drawing_rgb256/data/pal256_tex.bin deleted file mode 100644 index 8763923..0000000 Binary files a/examples/other/stylus_texture_drawing_rgb256/data/pal256_tex.bin and /dev/null differ diff --git a/examples/other/stylus_texture_drawing_rgb256/graphics/pal256.grit b/examples/other/stylus_texture_drawing_rgb256/graphics/pal256.grit new file mode 100644 index 0000000..3496e8a --- /dev/null +++ b/examples/other/stylus_texture_drawing_rgb256/graphics/pal256.grit @@ -0,0 +1,2 @@ +# 256 color palette +-gx -gb -gB8 -gTFF00FF diff --git a/examples/other/stylus_texture_drawing_rgb256/graphics/pal256.png b/examples/other/stylus_texture_drawing_rgb256/graphics/pal256.png new file mode 100644 index 0000000..eafd9fa Binary files /dev/null and b/examples/other/stylus_texture_drawing_rgb256/graphics/pal256.png differ diff --git a/examples/other/stylus_texture_drawing_rgb256/source/main.c b/examples/other/stylus_texture_drawing_rgb256/source/main.c index 8f3ece4..e0ec791 100644 --- a/examples/other/stylus_texture_drawing_rgb256/source/main.c +++ b/examples/other/stylus_texture_drawing_rgb256/source/main.c @@ -6,8 +6,7 @@ #include -#include "pal256_tex_bin.h" -#include "pal256_pal_bin.h" +#include "pal256.h" NE_Material *Material; NE_Palette *Palette; @@ -37,8 +36,8 @@ int main(void) // Load texture NE_MaterialTexLoad(Material, NE_PAL256, 256, 256, NE_TEXGEN_TEXCOORD, - (void *)pal256_tex_bin); - NE_PaletteLoad(Palette, (void *)pal256_pal_bin, 32, NE_PAL256); + pal256Bitmap); + NE_PaletteLoad(Palette, pal256Pal, 32, NE_PAL256); NE_MaterialSetPalette(Material, Palette); // Modify color 254 of the palette so that we can use it to draw with a diff --git a/examples/other/stylus_texture_drawing_rgba/Makefile b/examples/other/stylus_texture_drawing_rgba/Makefile index 133ddc5..6006f41 100644 --- a/examples/other/stylus_texture_drawing_rgba/Makefile +++ b/examples/other/stylus_texture_drawing_rgba/Makefile @@ -24,7 +24,7 @@ BUILD := build SOURCES := source INCLUDES := include DATA := data -GRAPHICS := +GRAPHICS := graphics AUDIO := ICON := diff --git a/examples/other/stylus_texture_drawing_rgba/Makefile.blocksds b/examples/other/stylus_texture_drawing_rgba/Makefile.blocksds index 626cf71..e4da1bb 100644 --- a/examples/other/stylus_texture_drawing_rgba/Makefile.blocksds +++ b/examples/other/stylus_texture_drawing_rgba/Makefile.blocksds @@ -1,3 +1,3 @@ -BINDIRS := data +GFXDIRS := graphics include ../../Makefile.example.blocksds diff --git a/examples/other/stylus_texture_drawing_rgba/assets.sh b/examples/other/stylus_texture_drawing_rgba/assets.sh deleted file mode 100644 index f7267d4..0000000 --- a/examples/other/stylus_texture_drawing_rgba/assets.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh - -NITRO_ENGINE=$DEVKITPRO/nitro-engine -ASSETS=$NITRO_ENGINE/examples/assets -TOOLS=$NITRO_ENGINE/tools -IMG2DS=$TOOLS/img2ds/img2ds.py - -mkdir -p data - -python3 $IMG2DS \ - --input $ASSETS/teapot.png \ - --name a1rgb5 \ - --output data \ - --format A1RGB5 diff --git a/examples/other/stylus_texture_drawing_rgba/data/a1rgb5_tex.bin b/examples/other/stylus_texture_drawing_rgba/data/a1rgb5_tex.bin deleted file mode 100644 index 7c633ea..0000000 --- a/examples/other/stylus_texture_drawing_rgba/data/a1rgb5_tex.bin +++ /dev/null @@ -1 +0,0 @@ -9{)1R1R{{{ڭs{Z9ZZZ9ޔҔ9s9Z{1ι޽Z­ֽ9Jڽ{ιs9{Z{{޵99RRʵ9{{Z99Z9sΔ{{9{{sR1Ƶ{ZkZ9kRsR1{{{ι֜Z9Z{9Rss9{9ڵZڭJ199ιR{{k9ιZ{Z{ZڔZ9sΔ{{ZZZ{{{Z{s1s9Z1))RʽZRRZ{Z1R{{9199{1”999{ޔ{޵ZZsΌkµ9{{ڔ99RҜZҌ{{ZZ{sZZڔZsRʔZڔҔ{{9s1s9{Z9R9JZ{9Z{{{s9{{ι1ZZ9ZZιιs9ZZZZ9ZҵZュιsΔRʔZ99kι9Z{ZRʌs9{ZZ{{sR{Z޵{9ڔҔҔZsR{{9ZZ­µZ{Z99999{{ιRZZι)k{{{{Z9޵Rι1sss1Rޜ99Z1ƔZ{{{{{{ҭҜZ9{91JιZ{{Z9999{Ҕ9{Z޵Rュ{1ZZ)kオ9ZRJZ{{Z{{9s1{Z{9ڵ֔{1R9{9Z9sΔҔRlZ{Z99999Zι1ZsJk9{s1ιJ)))JJJJJ))Jι֜9Z9s1ƵZ{{{{9sι޽99{R)ޜ{{ZZZ9{{{9ssޜ{{{{1J)ι1ιҜڭ)ڜ9)9{{Rʵ{{9{9{9ss9{1Ƶ֜99s{{sΌZ19kks{{ιιιιιιιιιュkkιJ)9Zs1ƵZ{{{{Z19{9ZZJι{Z9{ss{1J)ュR999{{Rʌ)ޭ){{ڜ{99{޵Z1Ƶ{ZsR{sRRs{{ι)11ޜތJsst999999ZZ{{{Z9999ιJιڜZ9s1s9Z{{{ZRZZ9ڭk9{Z{{{){{91)1Z)){ZֵZ{{Z9Z{ޔZ9R1ޜ9sΔ{9ss{{9RkksZ9Rޜ㌱J)9sι{9RιsεZ{9Z11s{9ιҜ{޵sΌ19{ZZZ9skJ{{99kҜJ)ιڜs{{{{{ޔҵZsZ9sε{Z999Z{Z{{kZオ֜9kkRZ{1ιsι1Z9{ZssΔ{9sέֽRRι1{Z9Z{{ZsΌJkڜ{ZZ9{Z9ڌ199sέ)Z{{R{sε99Rڜ{Rs9{ZZ{Z{{ޔιڽ{֭s{{91kޜ{1ι1ι1ޜZZZ{{9{{9Rʌ֜sRRι1ƵZZ9{9{9sΌk1Ƶsι{9{{㭵RZ{{9ZZ)J11sRޔҵZR9Z9RʵZ{{{ZZ9ZZŒڽڌ1Z{{9Rʌιޜ19Z1ιs{Z9{{9ZZ)RZZ1ι1ƔRRʔҵZ{9ZZ{9ҌJRZZRʭs9Z{{{㭵JҜ{Z9ZιRs1s{1ƵZ{ޔҵZZRʭZ{{ZRʔ999{{Z9ZZRʌҜ{{{ڌZZs1Ɣ9kRι޽91オZ{ޜ{9Z{{9Z9Ҍ)µ9{91ƭ1ƵֵRʔ{Z{{Z֭JRʜ֌sZ{{Z{kk֜999{9ss9ZsέZZ1Ƶ9ҵ9ιޜZ{ZssΔҵZZsΌ{ZsJ{Zs1ƔҔJkιk޽ιsZޜ{999ZZZ{{Z9{{99ڔsk)1ڔ{ZZZs{{ZkJsΜ{sJks9{Z{ZJι{{{9{ڌιZR1sZ9sڭ1Z{ZZ99{Z99ιJι1RRR11Rss)R991µRRRʌ)JҜιҜZ{ZZZ999Z99{{ZRZJ)s9{9{{Z9{9ss9{{{s)kZ֌)ιޜZZZޜ19{{{99{{9֭{1ƭRR”{ޭ1ZZZ{{Z9Z{{Z{ZkJkιR9sΌJιRʔҵڔιュZ֭))ιZιs{ZZ9Z{9޵ι眔ҜZsJι{Z{{ZZ991Ɣ{{ZRkRsέ{{{99sR{{99{Z9ZZ{{sιs{{kJJJҜ999ZZZZZ{{{ZZZ{{Z{ڵֵֵ{91ι1Ɣҵ9RʌkkJڽ{9ZZR1kJs9sk県֜{9ZZ{{1Ƶ֜{{ZR)k{9Z9Z{sRZZ9Z{Z9{{{ZstZZ9sέ)1ZZRʭιRʵ9{{{Z{{1Rޜ{{{{{{1ƔZsRs{1J){sιR9{ZZ9ZZs111RʔҔJ県{{99ZZ9Rs9{RZZ{Z{sJ1Z9Z{Z9Z{Z1sZ{{ZZ{{ڭ{{ιs9ZZZ{{{k)Z{ZZ1Ɣ9ZkJ191ιZ{ZZ9999ZZRk眭{{ZZ{9{Z9{1ƵZZ)ks99Z9ZZRιs޵999{ZsΔ9{{sZ91)kJJ1Rʔ9ZZ֭)ιZ9Z{{9R1ƔZ99㌱)1ޜι{Z9ZޔRʔZZR)֜{{{9{Z99sRޜ{{{{kJŒ)ι1sޜZ9Z1R91Ɣ{{s{{Z99ZZZ{{1Rʵ{9)オֵJJ1sڔҭ)kRsέ)ιRʔҵ{{sιιRZZ9筵)RRι{オ{Z9ZssεZ9Js{{9ZZ9sεZ{Z999{{s)ޔιJJRZ{1{RZ1Ƶ{ZZZ99Z91kR{ތ֜RlJkι)sZ9JRޔҔޜ{9ι)Jڽ{޽9筵kt9オ{{Z9Z9ޜkι{ZZZ9{ڵZ{ZZ99Z{ڭkZ91lҜR19ZR޽µ{{{ZZ{{{{R1R1ュ1{ZR)9{Z9޵sRJ9Zk{9sڜ{JJ1{޽㌱9ZιR{オ{Z{ZJZ{{9Z99Z{ڵZιZ9ޔR޽{1Zt{ZR{{ZZ{{{9Ҕ91ιRڔҭ19{ZZ{9R1s{9ŒZ֔ޜ㭵)ι9{޽ڌ9RιµZ{オ{{{{9ZJ{{9{Z9{Z{{{{{11ƵZ1J1Z{91sZZRʌ9R919{{{{{s{R1RJsεֵ9{ZZ{{{{9sέRڵ9Z{Z޽kZ9sιRZ޽Z{{ZιksZ{{{9{Z9{{ZڔR­ι1J)Z{{ޔҵ99֭ڽsΔ9Rt{{{{Zڵ99sι)J”9{{ュRʵ9{{RZڽRk1{ZRR{ιsZZZ{{{ҌZ{{{Z9Z9{{ZڵޔJZ{{{Z9{{Z)sZZֵZs1Z{{Z9ZZ1ƌsZ99{{ZJs9{{{{{9Rڽ1ksΜZRR99{ޜ999ZRʌ{{{Z9ZZ{9RsZ{Zι))RZZ999Z{ZZ1Jオֵ֔ҵ{1s{{{9Z99{Z9Z9Rt{{9Z{{9ι)RZJJ1Ɣ1ιֽ{{JҜ9Rڽ{R99Z{ޜι{{{Z{99Z{{{sRʵZ{1)Jιs99Z{9ڵֵsιRʔ{RRʔ9{{{Z9Z9Z99{ZZ1RZ9Z{{{{{Z99{ڌJZιιJ)1{Z㭵JڽιҜ{RZ{9ιR9Z9{Z9{{Z{{{{sR{)s9Z{{Z9991ƭιR{Z޵޵sΔ9Z99{9Z99{{{9RʔZ99Z{{99Z{ZRkk{ZڵֵRJksJkιҜZ1Z99ZZޜ91オ{{Z{9ZZ{{RRʔ{ޭ1ƔZ{1ιι1ڵZ{9RsZ{9ҵZ99{{{9֔9{{99ZZZ9sΌ޽99Z91))Z)k9Zsιڽ91ZZڜ999Z{Rs9{J)s{{޵1ƭ1{Zsέs{9ҵZ{9{{{9999{{ZZ{{Z99֭{㌱Z)J{19ιR{Zޜ99ZֵZ{Rs{{9RkRʵ{Z9{9sΌ9{s)Z{ڔ{{99Z{{Z{{9999Zιk9Z{sJsJJ{{Z9ڜ㭵Rʜ99{R{ZZ{{{ҔZ9RR{{{99Z{{9ZZ1ZZι)Z9{Z{{ZZ{ZZ9kֽZ9{ι)k)޽{sR1ιt{㭵RʜZZ19{{{Zss{{Z9ޔlsss1ƭ)JsΜ{99{9{{R{)kֽ{9{9Z{{9{{1ƌҜZ9Z{91)k)s9RιιR{㭵sΜ9ZZsιι{{RR99Rl))kk)JιRs1ƌJR{9{R1s{{ι{{1)9Z9Z99Z{9޵֔sεZZsέsZ9{{{㌱9筵kι1sεZڭsΜZ9Rk99RڽJ)Jkkιιιs1ƌ19{9ZRk))))9Z9{{JR{kJRʜZ9Z99Z{9޵sRRʔ{9sR{{{9Z{JRJ)1sΔ999ZZ{ZsιֽZιkҜ{{RZ{RJ)ιRʔڵ99{9sR{Z{{J)ι))ҜZ9Z{ZRJJ1{)k֜Z9ZZZ{{{{{{Zss9Z{{9s1Ƶ99{{9ZZ1)Z9)))))Jιs9ZZsι1Z{sJZ{1オ{9ι)ι{{{ZZ{ssε{Zڵ)JZι)ιZ99{{ҭ)9{{kJRZZ{ڵZ{Z{{{{{sRsΔҵֵsR1µ999{{{J)9Zڌ)kkJJJJJJJ)JJkιι1ޜ9{kι{Z9㌱)sΜ{{ZsZ{{9ޔҌJ9֌)R{{99ZZҭ֜Z{Z1J{9Z9{{{ZR11ιιs{Z{{kk99)s޵s11RRR1ュkι1s{ڵ9ZZZ99ZZkι{9ssΔk)ҽZ{ZZ99ڵ99lֽ{1)kڜ{Z9Z{ιsZ{Z{1kιڜ{99{{{ڵ֔sR1Rʔҵֵ{{Z{Z֌)91JιZ{{{{{{{ZRʵ9RZ{{{Z9999Z{ZsJZ9ュ))ڽ{{{Z999ZZZ9Z{ޜsιҜޭι99Z{)JRZZ{{{1k1Z9ZZZZ{9ZZ9{֔ҵZ{9sJ)J{Z9sΌ1Ɣ99{Z{R{{9RʌksΜ{Œ)k{Z{Z9Z{{Z{9k)ιZs眭޽{Z{ޭڜ{{{޵9{Z9{{Z{{{{Z9{{9s11Ƶ9Z{{JJι­{{sΔsΔ999{9Z99999ڔZ{k19{{1ƭR{Z9Z9{9ZZsι֜{))sZZ19Z{RkRZZ{9ssεZ{Z9999Z99ڵֵ99ڔRʵZ{ZZ{{J)Z9{R{99{9Z9{Z9ZZ999Z9sιµZ{{9ֵ99Z{9{Zι1{J19㌱9Z9ιZZ{{s111RʵZZ{{Zڵ֔ҵ9{Zڵ֔Z{ZZ{9֔Z{Z{{1J޽{Zss{9ZZ9ZZZ{9ZZ{{{9Z999ss9{{99ZZ9{޽9ZkZ))s{{ZZsΔҔZZZ9­kιsZZ޵R1R9Z9{{Z{sRޜ{999ιk){{{sε֜9ZZ9Z{99ZZZ9Ҕ9{9Rs{{9Z9Z{1ιk9ZR޽99Z޵9ޔޜ{{֔Rl”ڵ֔ssΔZ{ZZZZ{1ιR{Z9Rk))ιZ9{{R{9{Z9Zs{ZZ99{sޜZRʔ9Z{99Z9{sι֜R)1޵ֵ9ιZZ9Z{{{9Z{ڵ9ZZ99{{Z1ιι1sZ{Z{{{9Zkkµ9Z99ZZ9Z{9R9Z9{9{ZRsZZ99Ҕ9ZssRRRRʔ{{{{99Z919{֌s9Z9ڵֵڵ)ι9Z{Z9999ҵZ9{{9ZsR1RʔZ{{Z9{{֔sι))Rュ)ڜ9Z{sΔZ{9Z{9Z99Zֵ9{s9R11RsRsZ{{ZZ{{{Zڜ9Z{ZZRιR޵k)Z{Z99ι199Z{{{ZZ{{ޔ{9{9Z{Z99Z99Zҵsέ)J)){{9{{s9{99{{9{{99{Z9{ZsZ9ڔ{ZZ{{{{9Zҵڵ{1ιk)){{{{R{9Z{9{{ڵ{{{{9Z{9{{{ZZZ{{99sΔڵsJ))kR9Z9ZҔ9Z99ZZ9Z{{99Z{{ڵZ{{{޵Z9Z91”9))ιsε9{{sޜ9{9ֵZ{Z9ZZ9Z{ZZ{ZZRRʔ99ҌRssεZZ9ҵ{޵Z{99999{{9999{{{{{{Z֔99ZZJRsι{{ҭ9Z9Z{Z{֔Z{9{ޔ޵֔sΔҵڵ9Z{{{{{{{{{{99Rι1ޜ91ƌsZ{ZZZZޜڔZ{99Z{99{Z9{Zs9{{{{{{{{{91޽Z9{1)9ZRs9{9ZZ{ֵ{99{ZZZsRRRsZ9ڵ9Z9{Zskι޽91{ZZZ9{Zֵ{{99{ZZZ9Z9sR{{991Ɣ{{9)JRRZ9{Z9{Z{ֵ{Z99{{{{9{9޵Zޔ{{9ڵ{{s)k9R9ZZ9Z{{ҵ{Z99ZZ{9ZZ1ι1Ƶ{{{{9RR9{99ι)1R1999Z{ڔ9{{{{{{{Z֔{{޵9Z{{{)ュ{{{ZZ{{{ҵ{{99Z9{{9ZZ9Z{ss{{{R19Z9ιιR9Z{ڔZ{{s{{{Z޽9ֵZ{ZZ9RkJs9Z{{Z{{{{ֵZZ99{9{Z9999Z999ޔҵZ{{{Z19Z9ZRZ{Z{ZR{9{{sޜ{{9޽9ڵ9{ZZڔ)ιڵֵZ{Z{Z{{ZZ9Z9Z{9{Z9{{9{ZZ9s9{{{{{{9sέs{9Z999ZR{99{Zs{{ڜ9ڵ9{Z{9Zs{Z{{{{Z{Z{{{9{{99{{{{{9Z{9Z9Z99s޽{{Zޔιιڽ9Z9ZZ9{1オ9Z{ZZ{{9s9{Zޔҵ9Z{{9sssε{{ޜ{Z{9kZ9{9Z{{{999{{ZZ99Z9Z{99{9{{99{9sε֜{ڔs1ュιsZ9ZZ9Z{tZ{Z9Z{9sZ{sε9{9s11{ޜ{{Z{9{ޔ{Z{9{{{{9ZZ99Z{{ڔҵZ99{{Z{s9{{Z9޵sュkι1Z99{{{{{{9{{sZZ{ss{{9ڔҵZ{{{{9Rι޽{{99ZڭR{ZZRڽ{Zֵ{{{޵9Z{{1Ƶ{{99Z{Z999ZRʔZZ9ڵsR1ιι1ƔҵZ{999999Z{9Z99R{Z{{{s{Z{1ksΜ{{{{99{{11RJs{ZZ{Rs{{{Z{{Z{s{ZZڽZ9999{{9Z{RsΔҔsRʔsRʔZ{{{99{1ιڽ{{{Z֔9Z9Z{ZҭRZ{Z99999J)R9ZZ{R1{Z{Z{{R9R1{{Z9{{s1Rʵ9Z99ZZ{Z{RιR9{ZZZޔڜ{ZZ{Z{R9{{{{{{ZRʌk1RR11Z1ޜ{Z{{{9sڜZڔҔZZ9{9ZZZZ9{99Zޔιs99ֵ9{Z9Z1ƵZ{{)ι9{{{Z1ޜ{{9{{{Z{{Z9ZZ{{{{Zssε9{9Z{{޵1ƌsZ{{{9{99{9Zιs9ڭJ֜޽sZ{9{ZsιR9{9ZZ9{{Z{{ZZZ11s{{9޵֔Ҕҵs1ιJk{99{ssΔҵ9Z{9{{sJ)ι{9Rsڵ֌JڜZιR9tҜ1µ9Z9{֔sR11RʔZ{{{ZZZ9Z{11Ɣ{9sRュJJ)J{{{Ҕڔss99{{{{ڭJJ)RRRʔ9Z{9JkJ)1Ɣҵ֔ss1ƭ{{sZ{RʵZ{Z9{9999ڵssε9{{ZZ911Ƶ9{{{{ҭJkιR޽{9Z9ڵ{Zڵ֔ҔsRRs9{{{{ZR)sΔ)J11))JJJJ))ޜ{Z9ιsZ{sZ999{{ZZ{Z{9Z9ڵZ{Z9Z11Ƶޜ{9Z9ιs99{ޜ{{{{9Z{ZZޭJs{{֭J)Jkk)RssssRsεZ{{{Z99sオ{{99Z{99999{Z9Z9ZZZZZs”{ZstZ{{ZZڔ{{ZZZs)ι{9RʵֵRιιRޔlZ{Z9999Z{9R޽Z9ZZ99Z9{{{{Z999999{Z9ZZZ{9Z1s{991ƭι{{{{Z{֔9{{{{ZҌJ11sڔҵ9ZZ{1s{{{{s{{{{{{{{Z{{99Z99{{99Z{{{{Z99ZZ91µZZ91ƭιZ{{{9{{֔Z{9Z9sέJιsڵ֔Ҕ{{ޔޜZZޔ޽{sڽ{{{{9Z{Z9Z999޵ֵֵ֔{{99Z9{9ZZt{{ZRZ{99Z{֔9{{޵91ƭtZ{ڔZ9Z9Z91ιڜ{ZZ{99{ZZZ9Z9Zޔ{{޵s1µ֜Z9{ZZ1R9{ޜ1Ɣsε֜{{Zڔ9{{ޔR9{{ZZ9Ҕ9ZZ9{Z֭{Z{{ZZZZZ{{999ڵ9{޵Z{Zڔҵs޽Z9sε{9991ƵZ{{{{{{Z9{{{{9޵֔sΔ9{{99{ZZ{1Ɣڵ{{Z{Z9ڵ)ksZZ{Z9{{ZZZ9ޜZڔҵڵ֔{ZιRZZ9{sZ{9{ZZsZ޵9{99{{Z9ZZ99Z{{{{sZ{{9Z{99{{ι1ƔZZڔҵZ{ZskZ{{ZZ9Z99Z{9{ڵ{9RڜZ9sε{Z{{9Z9ֵ9ڔ{{Z9{{{{{ZRZ{ZZZ911ƔRsZ{Z9Z{Z1ι9{{Z{{9{{99Z{{9Z{{{19Z9{{Rޜ9{ޜ99{ڔڔs9{{9֔Z޵9{ュs9ޔsΔҔҔҔҵ9999޵Z9ssZ{{Z9Z{{{{{Z{9Z9Z{Z9Z{sιҜZZZ991Z{{9ZZ9Z9s1sZsΔZZZ9)1sΔ9{991sε9Z{J{{ڵ֔ZZ9ZZZ{ZZZZZ{ZŒs9Z99Z{sR{{ޔ9ZZZ{919ZڵZ{9ZZst9{{ڽ{RsεֵֵZZZ9{ZZZZZ{9{99{sιֽZ9{֭ι9{999Z{Z9{Z9{{Z9{999R9J911Ƶ9ZZZ9{{99ZZZ{{ZZZZ9”{Z9{sι{ZZ9Z91ޜ{9Z{{9{ιZZ9sιιڽ{R)J{Z9{9Z{Z99{ZZ{ZZ{99޵ZZs9Z9ZR9{{9Z{9{{”9{Z9{{9Z{ֵRʌZZZRʌJ)k㭵))ι{{99{Z9Z{99Z{ZZZZ{99{ֵ{{9Z9ZZ9R{{޽99Z9{ss99Zs1RʵZZZ{JJJJ)))Z999999Z9J)J)1Ɯι)J))RRs99{{99999{{ZZ{Z9Z޽Z9{ZZZ9オ֜Z9Z9Z{9ڵ{{Rιι1sεֵZ9sΌ))JJJJ{Z9{{Z999{JJRkk޽1ι1s1k))RʔZ9ZZZZ99Z9ڵֵZ9Z9{Z{9{Z9{ڽZ99{Z999{{{{޵1ιι֜sk)JssΔ{ZZ{99)ksZ{sJ)ޜ{sιR9{ڭJ{Z99ZZ99Z9Z{9ڔҵ{Zֵ99{Z9{{9ZZڜZޜ9Z9{9{9{{Zsk)ιZZιZZZ{99)ks{9ι))Z֭RZ{9Z99{{ޔsεZޔZ{ZZZ9sεZ9{9{{޵9Z9{999ZJJڽ㭵Z{Z9)ks{{J)JιZιs{1Z9Z9Z{999{sΔZ{ZZ{ڵ{999{{Z9޵{9Z99Z9Z{޵ZZ9Z)9{k9{Z)ks{{{ZsΌ))kオ9{{sιֽZ1Z9{9Z{ڵֵֵZZsΔ9{Z{9{9Z999Z{{ZZ9{99{Zֵ{{9{kk19ZZJ1Z9{Zk{{{sιkJRʵ999ZZ1tҜ9Z9Z999޵ֵڔsε9ZZ{Z99{Zޜ{ZZ999{99Z{9{{Z9ޜ9ZRιRʔJ9{{ZZュ{{{Z9ҭJιRʔҵZ19{Z9{ZޜZsZ{ZZ{{Z9Z{{{{9{9ZZ9ZZZ{9{{ZZZZ{9ZZ991ιι19Ҍι99ZZZZRʌ1ZZlRʵ99ZιR{{”{9{{{91k1ZZZZZZ{{{9{{{Z9Z9{9Z{9{Z99Z99Z{9ZZ9{{999֭9Z9ZZZ9sέ޽{{Rιs{9ڭҜZ11RZ9{{{Ҍ֜{Z{{{{{{Z{{ZZZZ{{9{9{9ZZZZ{{Z{{9Z{9Z{9Rʌ1Z{{{Z{9{9Rʭڜ{Z1”9{{ιֽ{99{ιJRZ{{Z{{{{{{Z{{{{Z99{9Z{9{{{{{{9Z{99{1ƭ{{{{9Z9Rʭޜ{{R”Z9ZZ1ZZ9ZZ{JZ{{ZZZ{{{9ZZZZ9{{9{{{ޜ{{Z99999Z{ZZ{Rޜ{ZZZZsέޜ{{1オ{991Z{sZ99{Z9{sJιڜZ{Z{Rʔ9{ZZ9Z9Z{{{{{{{ZZ99{{{{ZR{Z{99ҭޜ{{{Z9{ιsΜι{99Z9ޭkҜZ{Z{11ƵZ9Z9Z{99{ޜ{Z9ι֜{{1ƵڔҔ{{sιڽt99{s)9{{{Z{Z{Z{オ{ZޜZss{ZZ{ZZ{ֵ{{Z{RZ{{ZRssRRʔ9ZZRtZZڵZιkҜZZ{Z{Z{9119Z9Zsڜ{{9{ֵZ{{s{{{{{{{{{{{{ڔRRʵڵ1ƭs{Z19{Rs{1ι1ޜ{ZZ{{{{{ZZtҜZs{{9Z{9{{ZZZ{{R1ޜ{{{Z{{9sZRkڽ9ڜ1RZR1Ɣ{{Z{{{{ZZ{{ZZ{s{Z{{{{{99{9{{ZZ9Z{{Z”{{{{{ZZR{s{9R1{R1{{1RZ{ZZ{{{{Z{Z{{1Z9Z{ιZ{{{9{{9{{9Z{{{{sιs{{{ZZZRJkֽ9s1sZ1Ɣ{{1ޜZZ{{{Z{Z999999Z{199{{ZZ{9Rk{9Z{9ZZ{99Z{{{9オ{{{Z9ZR99ι91ιιRZ{Z֔{Rޜ{Z{Z{ZZ9Z{{Z{{sオZZ{Z9999ZkR{ZZZ9999Z999Z{Z{{{{Z{{11{{{ZZZ{s9)JιュιRʵZ9Z99Z{J){{Z{Z{ZZ9{1R{{9Z99{ZZ{֌֜{9Z{9{{99Z99Z{{{{9{11{{{{{{ZZZ{9Ҕ{9)k1Z9{9{{֭Jι1Ɣ{{ZZZ{Z{9{ss9ֵ9{Z{ZRJιZ{ZZ{{ڵ9Z{ZZZ{{{9{R1Ɣ9{ZZZZRڜ9111Ɣ9ZZ{sZZ9JZZ99Z{{ZZZ{{ZZ9Z޵R1Ɣ9{ZsRޜ{Z{9J{ZZ{9ZZZ{s{{{9{ss{{{{RR{Z99R{޵lڜZ999Z{Z{{9ZZޔ1”{91R9{ZZZŒ{Z9Z{{{99{{Zڔ޽19{{{9{911{{1Z{ZZ99{RڜZ1ι{{{{9Z{9ڔ11ƵZs{Z9{ιZ{{{{Z9{9ڔs{{{{Z9{R”Z{9{ss9ZsZZ{9Z911Ɣ9オ֜ZZZ1ι{{{{Z”9{ZZ{Z9{RtZ{{ZRιڽ9s{1{{99{ZZZڔRιJJι9Zs{Z{Rιڽ{{{9{sι֜1{99ZZZ99Z{ι{Z9Z{{{֭ҜZZ֔R9ZZ9Z{ZZ{9ュk1sRsε9ZZZ9{Rι޽{{{{{9ڵ9ڭZιޜ{9޵9ZZZ{Z1ƌ1ڔҵ9ZZZ{{RZ{ޜ99sΔ{{{Z޵ZZ9{99Z99Z{Z9ZsRs1s9ZZ999Z99{9ڔҵZZZ{ڭsRʌ9޵֔ҵ9{lι1s9{{9ڽZ{9sޜ{{ڔ{Z9{{9ZZ999{{{9Z{sΔ9{ιR{{{9{{{ZZZZZ9Ҍ))ιsΔҵֵ9{R1s{{9999Z{{ZZ{9R9{s{{ZZZ{{Rʔޜ99{{ڔ9{{Z9Z{Z999ZZ9{ڵ{{ZZ{ڽ{9{{{Zڵ֔Œ1sε9{Z9{{{{{ZZZZ99ZZ9޽ZRRʔڵss{{{ZZ{{R1sεZ{{9޵9sε9{99Z{Z9Z{Z99{{{Z9{{Z{Z{Z91sZ{{{Z99֔9Z9{{ZZZZZZ{{ZZZZ{{ZRڜڜ91J)1ޜ{9Z{{Z9ssε99޵RュRssZZ99Z{9ZZ9999Z9999ZZ99Zҵ{{9{{Z9{{99{ZZ{9{{{{{Z9{9ZZ{k)Js{99{{ZZsRsε{{s11ι1Ɣ9{Z99Z{Z9Z{{ZZ{9Z޵9{{9{99{{9ZZ9{9ssZ9{99{9ι)オJҽ9Z{{99Z{{{ZZ{{9{9ޔZ{Z999Z{9{9ڜ{{{Z9Z{ZZ{11Ɣҵ֔R1Z9Z9ZZ9Z{޵֭)kޜJҽ{{Z{{{{{99ZZ{{{99{ڵZ{99{99{Z11sZZR99Z{9ZZ9{{ތ))ZRJֽ{9{{99ޜZZ9Z{ڔ9{{{9Z{{Z”9{sZZ9ZZ9Z)kkZ{)Z9{{޵Z9ZZZ99Z9RZ{{{9ZZ99RR{9sµ{{9{{9{Z9{ڌsι)Z9{{{ֵ{{Z9{ޜZ9Z{Z9RZZ99{Z9Z{{ޜ1ڜ9Z{9{9Z9{{ι1Rk9Z99sε֜{9Z{99999Z{­R9{9ҔZ9ZZZ999ZZ9{Z19Z9ZZ9{޽9Rιk)1{9Z{Zιks9Z9{9ZZ9{Z9Z֌{{ZsZ9999999{99{{{R99ZZ9Z{9{ZRk)ֽ{9sιkJJJJks9{9Z99{9{{Z{{9ιJZڔҵ9{{ޔҔ9{{99{Z9{9ZtZ9{Z9Z9{Z1Jk{kkJJkJJJZZ999ZZ99999Z{{J֜{Zsε9{9sΔ{99{9Z{9{9Rµ֜{9{{9Z9ZkιZZ9ڭ))J1kJڽ{999{9Z99{{Z99Z{1ƌR9{9sΔ9ssZ{9ZZ9{{11޽{9{9Z{ZZkZ{֌)J9{{{9JkֽZ9ZZ9Z9{Z9{Z9Z{ss9Z9ڔҵ9sΔ{Z{Z9{9Zs{{9{{999RJ1{{{kkRZkJιZZ99{{ZZ{{9{Z9{ZZZ9{9sΔ9ZZsZ{{9Z99ZR޽{9Zޔ޽Z{)sΜ9sk{ތJk1ڔs11Rʔ9{{999999{ZZZ9Z9Z99s{{99ڵ{sڜZޔsޜZ9{Z{ιs{ZZ{9ҔZZZι)ڽ{R1ιJ{Z1ƌ1sssssΔsε{99{{Z99ZZ{9ZZ99ZZZ{9ZZޔRsΔҔҵ{Zs9Z޵Z9ڔ9Zڔ1{{9{Z9{֌ZZZ99ZZZZZZ9Z{{{{ZZZ{s9Zތk֭JJ)Z{ュ1Z{{{99ZZ9{Z999Z{Z9Z{1sZZZZ{{{9Rュι1RRRsεZ{sڜ99Z9Z{9Z99199{{9Z{ι)sεֵֵֵֵֵ99ZZ{ZZ{{Z9ZsڜZRkιZ֌kR{ZRʭs{{{{ZZ{9ZZ99{{99Z9ι”9999999Z9ڔsι”ZZssΔ޵sΔ9{99{ZZZ9Z{{99{{1Ƶ{9ڵ1ƌ)J19{{ZZ{{{99ZҔ{Z޵ιJsΜޭsZZ99ι{{ZZ{{Z99Z{Z9Z99ZZ999{{1Rʔss9{{{ZZ99ڔRʔ9{Z{9ޔssRRʔZZ{9{Z{{9ZZ{1s99k)kR9ZZ99ZZ{{9s99ιs{{99ҭ”ڵZZ{{{99Z{9ZZ999Z{Rʵ99Z{Z{Z9{9{{9{ZZZ99{ڔZҌ)R{{{{{9Z{9Zs޽{ZZZk֜Z9ZュιιR9ZZ99999{Rʔ{{֔Ҕ{9{{ZZZ99Z{{9ZZ9{9{{9{{޽{ZュR{{{9޵9Z{{99{9sε{{Z9999Rʔ{眭ޜ{{Zڔss1ƌkRZ{ZZZ1Ɣ{Z޵sRʔZ{{{{Z9{{Z9Z{Z{{Z99{ZZ{9{9Z޽ZZ{tZ99{ZZ{Zsε999Z{{ڜιι9Z{ZZRks9{ZZ{µ֜{{{Zڵ{{{ZZZ{{Z9Z{{{{Z{{9ڵޜ{9{ZZ9{޽9{{{{sιιZ99{{999ޔRsssssΔ9{ZZιιZZ{91k{Z1Rޜ9R1{99{޵9Z{{ZZ{{{ZZZ{ZRڜZ9ZZ{9{޽9{ZsιkJ{{{{9ڵ9{999{{ڔιksZ9{991ƌڜZskιڜZ”Z{{ZZ{ڵ99ZZZ{{Rʵ{9ZZZZ9޽99RRʵ9{ZRkk”Z{{{{{{{޵ޜ{Z99Z{{9ZZ9{Z9{{sΔҵsksZ9Z{{Rʭ޽{ksΔRʌ)ڜZs9{{Z{ޔZZ99Z{{{Rs{9{Z9{9Z޽ҔsέJιRʔҵڵlµ999Z{9֔ҵ{{{{99Z{ZZ9ZZZ{sΔZ9Rʌιޜ9{{{9Rʭ19ތ)ι{{֌)ι{{1s9{9{ssZZ{{ZZ{9s1ƵZ{ZZ{ZZZ9ڜ9kJ1ƔRι1{Z{֔Z{{{{{{{{Z9ZZ{ZZZ9{{99Zֵ9{Œs{9Z{{Z99Z{{ŒsZZ1ڜZι)֜1s9{9{s1ƵZ{99Z{{Z99{ZڵֵssεZZ99{Z{1ιskRʵR1ڜ{Z{{{{{{Ҕ{{Z999Z{ZZ{99{{ZskZ{9999ZZZι{ZsJJR{Z)ι޽RR{9Z{91ƵZ99{9sュkJ999Z{9Z1ιkkιR9ι޵{ZޔsRʔ9{{֔{{{ZZZ9ZZ9{ZZ{{1kZ{ZZ{{Z{֭ιڜZsk)9ιJ9R1ڜ{{99Rs9{Z99ZRʭJ)kιιk{{{skJsZZ))J9ڔҔ99{{{{{Zޔ1111s9Z999Z99999RʌιZZ99ڜ{ҭZsk)Zlι11ƵZZZ{91{{Z9Z{{1RsειZ{{{{ι”9{{{{Jι)Jtҵ9{Z{ZZ{{{{Z{{Z9)k1{9999{9Z{99{9RʌιZ{ڜ91ƌ{9sk){ZsRʵ99޵֔{{Rs{{{Z{Z9{Z1ks9999{1Ɣ99Rk1k)ιsZ{{9Z{9{{9{{9sRŒ9Z{9Z9Z9sέιZZsޜ֭ιZ9J){Z9Rιk”9{sZZڵ99Z{{Z99{{kJsZ{{{Z9Z{ҔZZJJsZ9RʌRZZZ{{99{ZZ{{ZZ1JJι1RZ{9Z{Zι1Z{sΔ9J1sJJ1{{Z91ƌ1Rι19{Z{R11Rʔ9{ι)ֽ{9Z9sε֜ι)Jιs99s”9{{{Z9Z99Z9ZsιJJڵs1R{{ZZZ{{9sRʵZ{{{Rs{Z1k)Jιs9{{ZsιオZZRιιRʵZZ{ڵڵֵֵ֔Rιι19Z{9)ֽ{9Zs޽)JZ9ҵ9ZZ{{1”9Z9ZsJ9ޔιs9ZZ{{RRsε9{{{9Rs{9ュιR{9s1Ƶ{9ιιRssΔ9Z{{Zs1ƔZι{Z9{s9)){{޵{{{{{{­Jkޜ9{{{9sJ{{Rʌι{{9ڵsΔ9{Rʔ{99{{{9Z{Z{9ڵsR11Ɣ9{9Zsڜ{{ҭ19{9Z{sZ{1)){Z{9Rk1ƭ)ޜZ9ZR91ιڜ{ZZZڔ{{ssε9{{{{Z9Z{Z9Z9޵֔9{{99{ޔ9ZZ99{9Z91sZk9{{ZJ1ι){Z{{ιRʔҵsιRZ{{{{Z޵9{sΔZ{Z{{{9޵֔ZZZ{Rޜ{skkJR{Z9ZZZtZιk޽ZZ{ZRJZ{֌JR9{{Z9kJ{1ι{{{{{9ڵ{sΔ{{Z99{{{{ޔsR1RZ{{­1޵sksΜZ9Z{Z9Z1{J)R{{9ZZk9{RJk1ޜ{ڔҔk)Zオ9{Z{{RʔZZҔ9{9{{ڔҔڔ11ƔZ{{sΌ)JιιkRʜ{99Z{9Z{ιR{1J)99{Z9㌱J޽){9޵))Rʜ{ιオ{{ZZt{Zsڜ99Z9sε9{s11Ɣڵ֔ҔҔҵֵֵ֔J)JJιtZ9RJ1{Z{Zsڽ{ιJZ{9Z99ޭڜJ)ks9Z9{ZJڽZRʌ1ZZZ{9s{Z9޵ֵ9{{{{ڔsR1Ɣ9Zs1ι)kιRʔιsZތZ{Z9{Rιµ{{s1R{{{Z{Z{”99Rʌ)Js{{9Z)k޽ڌ{{{Z9{ZR9{Z9991kオ99sι))kιιιιtZ{Z{k99ZR1RRRRRRʔZڔҵޔҔ9{{Z{֔ҵ֔ޜZ9Zҭ)k֜991{9ks9ZZ9{{9{{Rڜ{{9{ZRZZιιs999999{J)t9Z9ڵ9ZZ{ڔZ{ڔZ9{{Z9{Ҍڜ{9{޵{sέι1sεZ9{9sZ{9Z{{R{{{{{91޽ڌJR9ޔ99sεZڔ9{{ZZZZ9ZZZZֵ{{9{sJι{99{{{ޔsRsZ{Z{{9Z{{{99{ZRJι޽{Z{{{R))Js{ZRRsޜ9ҔZs9Z{9{{{{{ZZZ9Z1)s99{Z{Z{9Z{Z9{ι19޵֔ҵֵ{{{Zk19{{{{{{{{R9{9Rk))RZ{ιޜ{֔{ҔZZ9{{{Z9{9991J)1ZޜZ{9ZZ9Zޔ9{{kιkJJ)JsZ{{9ZZҌ99Z{{s9{{{{{֭)J{91s9ڜZҔ{ޜ9{ZZ9ZZRJ)R9Z{Zڜ9{ޔҵ99s9Z))))JJJ){ZZ9Z99skJZ{{{{s{{{{{{ιJJk1RZ{ڔ9ZҔZ{޽{{{{{{9{sk)))JJJµZZ{91RsZZڔҔsι)JJkk1Ɣ1JZZZ{{{9ZZι{ޔ{{{{ιュ)s99{9Z{ZZZڵZZZҔ9{{s{ZュkkJJ)){ZZZZsRZ{1ƌkιRʵ9{9ks9{{{ZZ{ZZ{{Z{֌)ҜZ޵Z{{{9sΔιksZ{{ZZ{99{{ssZ{9Rs99ڔRk)s{{{Z9ZZZsRRʵ1s֌{9Z{{Z99ZZ991)ι{ZZ{{Z99{Z{{{ZRsΔRιsZ{9{{ڔ{Z9ssュ1{ZR9Z{sέ)){{9{Zss{Rʵ{9ޜ{{{{999{{sΌ)s9{{ZZZ99999{Z9Z{{9R1sRs9{RʵZ{֔ҵ99ZZZZ{{1ιι1Z{ڜ{9{{)Z{Zڜ99{Rʔ1RZ11Z{{{{ZZZZ{{{Z9Rʌι{{ZZ9Z9RιsڵZ{99{{1sZ9ιkkkιιι1Ɣޔι)))kt9ZZ{{1ι{Z9Z1޽ZZZڜ9Z9sιk1{Rʔ9{Z{{{{{{9֭J{{ZZ{Z{{ZRʌ9Z{{ZZ{{9sR9Zs­kJJJJJkkkkkkkJ)Jオ9Z{ZZssZ{99JRZ{99{ޜ{{Zlkksε9{s{{{{9Z{ZZ{Z֔޵R1ιJ)ιڜ{{{{{{{ZRkZ{{{{{{Z֔{sRʵ޵֔ҵޔι)))R9Z{Z91R{99{9筵Z{9Z{ޜ99ޜ9999Z99{ZsΔ{{ZZ{{{Z{s{­”9{Z9{9JZ9Z{Z9Z91s{Z{ޭk1ƔRι”9Z{Z99sRޜZ99Z{ZZZ9ޜZ9Z{99{RڽZZ{{{{{R9Z9֔99{9k֜{޵9{{{Z9Z{sΔ9ތZZs999֔ޜZ9Z{㌱JR{{{9Z9Z{999sΔZ99ZZ{{Z9Z{sRZ{Z{{999Z1Jֽޔ{{{{{Z9sޜ))sν{RZ{Z{9{){Z999{9޵s1s{Z9{{ZZ9{{sR{{{9Z{99{RJҜR1Z{{{{Z޵ֵZ{{JҜ{RRZZ{ZZZ)R{{Z֭ιڜZ9999ZZҔ9{{ZZZ9Z{sΔ{{{{99{{Z9Z{{s)R91ι1Z{{Z9{sιsZRs9{ZZkڽZ9{Jι9Z9Z{{Z{{91Ɣ{{Z9ZZZZ9ڔҵڵ֔ޜ{{޵Z{ZZ{{Z99Z{{{ktR19{{{{{ZZRsΔ11R1ƔZ{9ι{Z9999{{99Z{R)1{Z9{{{Z1ιs9{99{{{Z޵ֵ9{{{Zڔ9Z9ZZZ999999999Z{ZŒsZZZ{{{{{{1ƔڔRڜ֔9{9{R9ZZ9Z9筵kֽ{9Z{9sュڜZ9{{{{{9sZZ9ڵֵ9Z{{{ιkι1RsΔ9{{{µڵ9Z{ZZ9ι)1Z{99999Z9{J9Z{­s999{Z1ƵZ{Z{ҵ999999Z{Z{Rkss1sZ{{9ڔҔҔҵֵstZZZ{Z9{{9{kJsΜ9{99{ZZ{9kZ99sR9{ZsΔ{{{{{R{{Z9{֌1ZZs”9{{{sュιιιιι”ZZ{{9{kksZ{9ZZ9Z{ZZ9ιJs{{9{{{{Rʔڵ{sR9{{{{91ƭZ{1޽{9Zι9ZR1Z{{{{{{{{9Rsڵֵ{Z{9Z{ιµZޜ{ZZ99ZZ9k9Z9Z{9{sΔZڵZZι19{{ZRʌ{ZR19Z9Z9sڜ{Z{sΔ9Zޜ{{{9Z9ҔҵR1ƔZ{ZZ9ZZ9ZZ1JRʵ{ZZsRޔ9ZsέιsZ{{{{sΌ1ZZ119Z9{ZRιڽZڽ{99ZRʔ99{{sRsε9ޔZsΔҵ{ZZ{{{{{Z991ƭ”Z{9{{ZRRڜRʌ9{{{{{ڭι{s޽{Z{ι{{ڽ{Z9{{sZޜZ9{9sεֵssε9{{ֵZ9޵֔9{9Z{9{Z9sε99Z{Z9ZZ11{ZskZ{{{{{{{k{{{1Ɣ9{{{{{11{ڜ{{99{{1ڜ{{ュRʵ{ZZZޜ{ZڔҵZ1sε޵9{99Z999Z{Rʌ1Z{1k19{{{{9sZ{{ֵ9Z{{{Z{{{{{{{{ZRι1Z{{ZZޔ1lZ{9{9{{֔ҵ{ڵ֔Ҕҵ9{9{Zk99Ҍ9sZZZZ99{{{{{{1Ƶ{Z{Zιޜ{{{Zڔs11s9{99ޔ9{11Rʵ{{޵{{Z9{Zޭk֜{{91)J{Z{Z9Z{{Z{{Z9{{ZsΔZ9{Z){{{{ZZ9ZZZ99{ZZZZZ{Z{{ֵ{Z޵R1ƽZ999{9{99{sJι{ιڜ{sJk1ƔҔRR1s{Z9Z{{Z{{s9ZZ{ڌJZ{9999{99999{{Zڵ9޽{{{ZZ{Z99ZZ99JsZ{ZJ1Z{{kkRʵڵ֔RR9{{9Z{{99{Rڜ{9{)ιZ99Z{{Z9Z{99{ڔ9޵ֵ޵ֵZ{{{9Z{9{ZZ9{RJιZ{Z眭ޜ{{ZssRs9{{{9s޽{{{ZZ99ZZssZ{Z9{{{{{Z)9Z{9ZZ99{ZҵZ{9ڵ֔ҔҔҵ{{Z99Z999{Jk{{ZsJs{{{{Z9{Z99{ιֽ{{Z{99{R޽{Z9{{Z{{{Z)ksZ{{9Z{9{ڔޜ{Z9Z{{޵sεZZ999ZZ{Z{9RkڜZ֌ιZ{ZZ{{{{{9{{Z{ιֽ{Z{Z99{s{{99ZZ99Z{{{9RJJR{Z9{9ڵֵֵsε{Zڵ99ZZ{{s1{Z99{ZZZڵֵֵ9{{)”{Zs)ZZ9{{9ZZ9Z{{{ڽ{9ZZ9{9{Z9{9){{{{9Z{sssssε99{9ڵڵRsޜZ9Z{{ZZ{{1ƔZ9{{Z9{{9Z{k)JιRʔ1ƌJZ{{91k)9ZZZ{99ZZZ11{{Z999Z{ZZZ{{Z999{99{{)ޜ{Z999Z9{{sΔ999{ZZ{Rιιsεs1R{{{{99{{Z9{9RsZZ9{{֌1ιk)JRޜ{{{sΌ)9{99Z{{ڔ­{{ZZ{{999ZZZ{{ZZ99{{99Z{{{{Z99Z{RJkޜ{99ZZ{Z9{{9999Z{{sR{{9Z{{ZZZZ1JZRs9Z{{{{9Ҕ99Z9㭵){{RRZ{{Z9{{sΌ)ZZZZ޵ֵ޵1kkֽZ9{ZZ{99{{Z{Z999Z9Z{{J)999Z{ZZ9޵9{99{{Z9޵1s{{ڵ֔ҵ9RJZ{ڔҵ999Z{9{ڔRʔڔڜ9ڵZ{{9Zs)Z{ZZZ9{{9skJ1{ZޔsZZ޵ֵ99ҌRʜ9{Z{{9{{{{99ZZ99ZZZ{{{{ι)sZ{Z{Z޵֔sZ{9{{1ƌJRZ{{{ZsΔҵZZkZZZ{9{ιkk”ҔRZ{9s1ƔҵZ9筵)ZZ{Z9{ZRι9{{ޔsε99Z{{99Z1Ɯ{9{ZZ{{ZZ9Z{{{{{{֭)9Z{9R99­Rʵ{{9Z{ZZ9sΌ1Z9{99ZZ댱ιJ)ιRι֜91ιιk1{)kڽ{{Z99{{{{99ZZkks9ZZޔҵ{{ZZZ{91Z9ֵ9{Z9{{{Z{{ιJオZ9RιR9sZ{99Z{{{Zュ֜{ZZ91ks1k{{9Rʭ))kι1ޜZ)Z{ZZ{{ZZZ{{ֵ{ιk1Z{{Z޵֔Z{R)޽{99{{{999Zkޜιޜµ֜{ZZ{9Rʭ1999{Z{9­ҵkR1ƭJ)Jsڵ֔ҵ޵RsJkҽZ9{{{9ڔҵ9ޔRʵ9Z{9ڔҔZ{ZZZ9֭ZZ{9Z{{{ZZZZ­1{9ιsZµֽZ9Z{{ι޽ZZ{ιRޔιkJ)JιRZ{1{s)9{{Z99ڔssε9Z{9֔ҵZ{{ZZZ9ڔssε9ι9{{9Z{99{Z{{ZZ{1ιs9{{{{{ZR޽オ֜{Z99{{{{ZιkR999{{91オ޵1R9{{{{sιt99){{{{{9Z{9Ҕ9{{{Z999999޵1ιks޵R{Z{{Z9Z{9{{{ZZZZ9Z{99{{sR1R9{{{{Zι{ι{{{{{sΌJs{{Z{Z{1Ɣ9{{{{{Z9Z9ιss)kֽZ9Z{s{{ZZZ{{{RsΔsι)ι֜{Z9{Z9Z{{99Z9ZZZֵZ{{{{Zιޜ9ιZ{1ƌkι9{9Z{Z9ڵ{{{{1ιュ)9ZZ{Ҕ{9{{֭)))kֽ{{{99{{99{99{{ֵ9{91kssέ19{9ιsZ{9Z{9ZZ{9Z{{{RιҜ{{Z޵{{ҔZ{{ZsΌ))sΜZ9{ZZZZ{Z{9{Z{{9{֭))ιι֜911Ɣ{{Z9Z{Z9{ZZ9{{{{ڔ1޽{{Z9ڔZ{sZ9{9sJR{{޵9ZZ9{9Z9ޜZZ{Z9ZZZZ99{{9ޔJJ1{9ڔҵZZ9{{9Z{{Zs9{{{{޵119{{ڔҔ{1ڜ9ڵ9{{{JksZ{9ҵ9{Z9{{9ZZڵZ99{{Z9ZZ9999ZZRʌιR{ZZZ{Z{ZZZZZZZ99Z{{9RRZ{{9Z{{ZR{{{ssε9{1s{9֔9{ZZRsZZ9Z{{99Zޜ{ZZ{Z9{{{{ιs9Z99ZZ99ZZ{ZZ999{{Z9Z{s1{{Z9Z{ZZZ{Z”Ҝ{R”Z{Z11ZZޔҔ{s)sΜRR999{Z9Z{Zs9{9޵֔ҵZ{9{{1sZ{99Z999ޔ{Z99Z1ڜ{9Z{99{{R޽ι{ZR9R1Ɣ{1{ュҜZ9{Z9ZRʵZ9Rs{Z{9Z{9{Z9Z{{Z9ZZ֔Z{99{RʔZ9ֵ{{Z9sޜ{9lZZޔҵsιs99Zkι޽ZZ{9sµ9JJJ1{Z{ZZ{99{{{{{{{sڜ{ZZ{{Zڵ9ZҔ{Zs{{{99Z޵{{ZJs9{{ュkkR9Z9ιZJ19Z{Z1ιRsι)kιιkksZZ{Z9{9ZsΔZ{֔ssΔ9{Rʵss9{{{Z99Z{{{{{{{{sJ9{9sέJ))kιs{{9ι9ڭkR9{99sιRʭZZ9Z9{9{RZ9RR{s1sΔsεZZڵֵZ{Z{{{9ZZZZ{{ι1Z9k))ZZZڜZR)kޜZ{{k)sZ{Zҭι99999{Z9ZҔZ{{Z1Ɯ{ュRZZ99ZZڵ9999Z{Z1{ZJ)ιޜZZ{ZR)19Z))ιޜZ{ޜ9s1ƵZ9Z{9999޵Rʵ{{9Z{9ZJR9Z{Z{Z9Z{9sޜZs{{{Z֔sJ)ڜZ9{{s)ι{{{{9sJJ1Z{{ڭ1{{֔ҵZ{Z{Z9sΔ1sZ{{Z9ZZZZks9ZZ{Z{ss9ZҔ999猱J1{9Z{{9R)Jt9Z{{9)ιڵֵ{J޽{{999Z{Z{{ZRRڜ{Rڜ{{99ュ9ZZ{ZZ9RڜZֵZ{ޜ))ι9Z9{Z9{{{{{{Z)ιڵZ{R)ҔҔ{{s1{{{Z{Z{9{{RRZ99Z{{{RZ{{{{{9Zޔ11ƵZ{{{ZsΔZ{9{9Z)JҜ9Z9Z{{{{9{9Z9)1ƔZ{1k{9{{{9{{ڽ{9ֵ9ZZZZZZ{Zsڽ{Z9{Z{ֵڵֵZ{{{91s9{{{{{99Z{{9ιkֽZ9{9Z{19Z{{ҌJµ9{9ι9{9Z{{99{µ֜{Zs99Z9999Z{RZ{9{ZZ99ڵZ{{ZZ9޵sι111RʵZ{9ڵZ9{{Z{Z))1{{9Z{Rι{{1kJ19Z{JZ{{{{{{{{{{{ZZ{オ֜sZZRڜ{Z{{ZZZZ9޵{{{ڵֵ֔ҔssssJ))sZ{Z޵{Z{ZZ{)ޜZ9Z{{Z9ޔҔ{skֽZssRʌJ19ZZZ{ZR1Z{{{{ZZ{µֽRR{RZ{Z9{Z{{99{Z9sRRssΔҵ9Z9ڵRʌs{9޵9{{{Z)JRZ{Z999999ޔsZsΜZRR99sJ{{ZZ{911Z{{{9{{ڽsΔZ{Zsオ֜{{Z{{Z{ZZRʵ9ZZ{{ZsΌڜ{9{{ڔ9J)Z{{9sεs1Z{1”{J{ZZ{ZRRZ{Z9޵9ڽޔZ99Z19{{99{Zs99­Z9Z9{9k)1ZZss9{Zι)tҔR1sZڌ9{9{Z{{RR{Z1RZ{{Z9Z{オ{Z{Z9{{sオ{{{{99ι֜{Rι{ZޔsΔ{{99猱JRZ{ssεֵ1ƭJ1RʔZ91ι1ƔZZ9{{1ҽڭ9{Z9ڵֵZ{{Zs޽9Z19{{Z{9֭ڽ{Rڜ{Zsιt{9{Z9k)JZ9999999ZZZ9ޔŒ)kµ9{ҔҵsΔֵZ{{9kk1ZZZ{99{ޭRZ{Zޔ1ιι֜9991ƭ{{{Z{99Z9ҭڽs{Zڵ1ƌι99{ޔR1ιJ)k֜ZZZ1)9Z޵Z{{޵{眭J1{{Z9{{ZZ֭Ҝιڜ9Z{ιι޽{{99{{޵9­ڽ{s1Z{{Z{{kֽ9{J)))JJJ1ZZ99ZZZZ9RJRʜ{{{{{{{޵{޵9{ιZs)1{{9{{{ιڽ{sJkュ99{ZsΌs{{ZR199{޵9{ZJڜZsΔZ{{{{ZskҜ{sΔڔҭ)1sRιι֜{91JRʜ{{{{ZZZ9Z޵{ڌZ9Js{9Z{ZRkR)s9ιZ{{{{{9Rιs9{{ޔkJt9sڜ{{{{{sJҜZRιk)ιZZڔs191kZ{ZZ{{{99{Z޵֔Z{J1{kk{{޵Z{19Z{1kڽ91t99Z{{9ιZ{RʌJιs9{ڔ{{ZZZ{RJֽ{9Œޜ1ιR9{֭kڽ{ZZZ{{ZZ{ZڔҔZ{Zs)1ƜkJ{{ֵ{1{ZsRʵ9{Zҭ)sΔZ{{{{{{Z9Z{ޭZZ{1kkRZ999Œڽ{{Z޵֔9ҭ1Ƶ99Z{Z1{{ZZ{{ZZ{9Z{{ZZZZ9s1{))R9{Zҵ{ι9{{k)ιڽҵ9{99{ZιR{Z{sJJs{ZZZ9Z99{{޽{{{{ZZ9ZRʌ))kRʵ9ڌιZ{{{9ޜZZZZ9Z{9ZJZ{Z1ƌ)sεZsε{JµZ{Z99ZZskڽZ֔9Z{s{{ތ)1Z{{99{9ZsR޽{{{{{ZZZ1ュkJ)ιڜJ)19{{{9ޜZ99s1RZ{Z9ڵsJ9{Z1ιJJ{{1Ɣ99{{{ZڭZ99Z{ZҭڽZR{{{ιR9{9)999{9ZZZ{ޔҵ{{Z{{{Z{9ڵs1ι)ιZ1)Z9ZZZZ9ss9{{9ڵs)11ιιι{sιkk1Ƶ9{l1ƔsRRRsεֵֵ֔sιk֜{999999{{ι޽ss{{Z99ZZ99Rʌ1{{1J99{{{9{ZZZZ{ڔ9{{Z99{{{{{ι)ҜιιJ)ksεڵs­kkRs1ι))JsZ{ڔkJιsJJ1Ɣҵ֔RιkJJ))JRZ{{ZZZZ99{ޭ޽Rs{{9{{{Zι9{{{{)Jֽ{99Z99{ZZZ{9ڔZ{9Z{{{{{{Z{Z1)R{k)k)J1ssRιkkι11ιkJιιιιιιιkkRZZ{ZRʭιュJJJ)k1Z{{Z޵sR111ZZڵֵ9{ZZ{99ڭ)ιZsµZ{ZڔҔҵZZޔ{{֭Z޵)JR{Z9ڵֵ9{9{{ڵ֔ҵֵڵ9{{{Z{{{9RkR{{sk)オsι1Z{{Zޔ1R991t99Z99sΔ9{9s­ιR{91sRRRsssΔ9Z{{9Zڭ)JsZ{ڔsΔҵ֔Ҕ{sιҜJ))1ZZRsZ{9{Z99999999Z{{{Z99999sέR{ZR{Z֔ZZZZ1ZZ{{{ZZ{{)R޵Rs9Z9{ڌ))ι9Zsڜ{99ޔҔҵ{91)kkJ޽9R{Z9{99ZZ{{ZZZ99ZZZ{{{1Zތ)19Z99{{9{9Rιs9{{{{{{{ι)))ιsRZ99sk))J99ι1{9Z9Z{{119ιsRιRZ9R{{9{{Z{{{{{Z9Z{9R19{R)kssΔ9ZZZZڭڜ{{9Z{{{9k1ιJ)JιRsι”Z{9{{sΌ))kιιιZ{{{ZZ99{{9R{9sµ֜{{{{sΜZZ{{{{{Z{99{9R199)R9ZZ{{99Z9Jι{Z{{ޭJ֜9sέJJµs”9{9ZҌ)))JsZ{ZZZ99{{ޔޜ{Rs9ZsµֽZ9{{Z99{{{ZZ{9{{1sZksε֭ZZ{{ZZ{{ڌ1Z{Z{9999ZkZRʭ{RRZZ9{k)ιR{{{{{99{Z{ZZsڵs{9{{Z{{ZZ{{Z99{ZZ{Z9sεZZ1JJιZZZ99)J{{{{{s1111s9Z{ZsΜ91ڽ91ƵZιιZ99{{{{Z9{{{Z99Z{{{{9{޵9ZZ{{9{{999Z9޵ZZ9ι))sιkRʵڔJJ1ZZ9ssR1ュkJJJJJkιιJ)J֭ҜZRsޜιRZ9ڔ9{޵9{ޜ{ޜZ9{Z9{9ZRʔ9ZZ9999ZZ9Z{{{s))kιJ))))JJJJJJJJ)))JJJޜ{{Z9ZZ{{91ƭkkkkJ))))1ZޭRʜޜ{Rオ{{Z{{ZsΔ{Z99{9Z{1sZ{{Z{{9Z{99Z{ZZ{Ҍ))))))J)))JktҔιJι{9ڔҔ9{Z9{9ssεڔ­)Jֽ㭵Rʜ9R{{{{Z{{Rµ֜99{9999Z991R9Z9991ιk))))JRι)))))))Js{Jڜ{”9ZZ9ZZ{Z{ZZZι㭵RʜZZ9s1Z{Z9ZιR{ \ No newline at end of file diff --git a/examples/other/stylus_texture_drawing_rgba/graphics/a1rgb5.grit b/examples/other/stylus_texture_drawing_rgba/graphics/a1rgb5.grit new file mode 100644 index 0000000..42e61f7 --- /dev/null +++ b/examples/other/stylus_texture_drawing_rgba/graphics/a1rgb5.grit @@ -0,0 +1,2 @@ +# 16-bit palette, no transparency +-gx -gb -gB16 -gT! diff --git a/examples/other/stylus_texture_drawing_rgba/graphics/a1rgb5.png b/examples/other/stylus_texture_drawing_rgba/graphics/a1rgb5.png new file mode 100644 index 0000000..eafd9fa Binary files /dev/null and b/examples/other/stylus_texture_drawing_rgba/graphics/a1rgb5.png differ diff --git a/examples/other/stylus_texture_drawing_rgba/source/main.c b/examples/other/stylus_texture_drawing_rgba/source/main.c index 65412b5..c5e37a4 100644 --- a/examples/other/stylus_texture_drawing_rgba/source/main.c +++ b/examples/other/stylus_texture_drawing_rgba/source/main.c @@ -6,7 +6,7 @@ #include -#include "a1rgb5_tex_bin.h" +#include "a1rgb5.h" NE_Material *Material; @@ -26,8 +26,8 @@ int main(void) NE_MainScreenSetOnBottom(); Material = NE_MaterialCreate(); - NE_MaterialTexLoad(Material, NE_RGB5, 256, 256, NE_TEXGEN_TEXCOORD, - (u8 *)a1rgb5_tex_bin); + NE_MaterialTexLoad(Material, NE_A1RGB5, 256, 256, NE_TEXGEN_TEXCOORD, + a1rgb5Bitmap); // Wait a bit... scanKeys(); diff --git a/examples/other/swap_3d_dual_screen/Makefile b/examples/other/swap_3d_dual_screen/Makefile index 133ddc5..6a54f39 100644 --- a/examples/other/swap_3d_dual_screen/Makefile +++ b/examples/other/swap_3d_dual_screen/Makefile @@ -23,8 +23,8 @@ TARGET := $(shell basename $(CURDIR)) BUILD := build SOURCES := source INCLUDES := include -DATA := data -GRAPHICS := +DATA := +GRAPHICS := graphics AUDIO := ICON := diff --git a/examples/other/swap_3d_dual_screen/Makefile.blocksds b/examples/other/swap_3d_dual_screen/Makefile.blocksds index 626cf71..efe837e 100644 --- a/examples/other/swap_3d_dual_screen/Makefile.blocksds +++ b/examples/other/swap_3d_dual_screen/Makefile.blocksds @@ -1,3 +1,3 @@ -BINDIRS := data +GFXDIRS := graphics include ../../Makefile.example.blocksds diff --git a/examples/other/swap_3d_dual_screen/assets.sh b/examples/other/swap_3d_dual_screen/assets.sh deleted file mode 100644 index 446d92c..0000000 --- a/examples/other/swap_3d_dual_screen/assets.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -NITRO_ENGINE=$DEVKITPRO/nitro-engine -ASSETS=$NITRO_ENGINE/examples/assets -TOOLS=$NITRO_ENGINE/tools -IMG2DS=$TOOLS/img2ds/img2ds.py - -mkdir -p data - -python3 $IMG2DS \ - --input $ASSETS/a3pal32.png \ - --name a3pal32 \ - --output data \ - --format A3PAL32 - -python3 $IMG2DS \ - --input $ASSETS/a5pal8.png \ - --name a5pal8 \ - --output data \ - --format A5PAL8 diff --git a/examples/other/swap_3d_dual_screen/data/a3pal32_pal.bin b/examples/other/swap_3d_dual_screen/data/a3pal32_pal.bin deleted file mode 100644 index 70e4990..0000000 Binary files a/examples/other/swap_3d_dual_screen/data/a3pal32_pal.bin and /dev/null differ diff --git a/examples/other/swap_3d_dual_screen/data/a3pal32_tex.bin b/examples/other/swap_3d_dual_screen/data/a3pal32_tex.bin deleted file mode 100644 index a3bf959..0000000 Binary files a/examples/other/swap_3d_dual_screen/data/a3pal32_tex.bin and /dev/null differ diff --git a/examples/other/swap_3d_dual_screen/data/a5pal8_pal.bin b/examples/other/swap_3d_dual_screen/data/a5pal8_pal.bin deleted file mode 100644 index 26cf088..0000000 --- a/examples/other/swap_3d_dual_screen/data/a5pal8_pal.bin +++ /dev/null @@ -1 +0,0 @@ -! I -#include "a5pal8_tex_bin.h" -#include "a5pal8_pal_bin.h" - -#include "a3pal32_tex_bin.h" -#include "a3pal32_pal_bin.h" +#include "a3pal32.h" +#include "a5pal8.h" NE_Material *Material1, *Material2; NE_Palette *Palette1, *Palette2; @@ -52,14 +49,14 @@ int main(void) // Load part of the texture ignoring some of its height. You can't do // this with width because of how textures are laid out in VRAM. NE_MaterialTexLoad(Material1, NE_A3PAL32, 256, 192, NE_TEXGEN_TEXCOORD, - (u8 *)a3pal32_tex_bin); + a3pal32Bitmap); // Load complete texture NE_MaterialTexLoad(Material2, NE_A5PAL8, 256, 256, NE_TEXGEN_TEXCOORD, - (u8 *)a5pal8_tex_bin); + a5pal8Bitmap); - NE_PaletteLoad(Palette1, (u16 *)a3pal32_pal_bin, 32, NE_A3PAL32); - NE_PaletteLoad(Palette2, (u16 *)a5pal8_pal_bin, 32, NE_A5PAL8); + NE_PaletteLoad(Palette1, a3pal32Pal, 32, NE_A3PAL32); + NE_PaletteLoad(Palette2, a5pal8Pal, 32, NE_A5PAL8); NE_MaterialSetPalette(Material1, Palette1); NE_MaterialSetPalette(Material2, Palette2); diff --git a/examples/other/swap_3d_single_screen/Makefile b/examples/other/swap_3d_single_screen/Makefile index 133ddc5..6a54f39 100644 --- a/examples/other/swap_3d_single_screen/Makefile +++ b/examples/other/swap_3d_single_screen/Makefile @@ -23,8 +23,8 @@ TARGET := $(shell basename $(CURDIR)) BUILD := build SOURCES := source INCLUDES := include -DATA := data -GRAPHICS := +DATA := +GRAPHICS := graphics AUDIO := ICON := diff --git a/examples/other/swap_3d_single_screen/Makefile.blocksds b/examples/other/swap_3d_single_screen/Makefile.blocksds index 626cf71..efe837e 100644 --- a/examples/other/swap_3d_single_screen/Makefile.blocksds +++ b/examples/other/swap_3d_single_screen/Makefile.blocksds @@ -1,3 +1,3 @@ -BINDIRS := data +GFXDIRS := graphics include ../../Makefile.example.blocksds diff --git a/examples/other/swap_3d_single_screen/assets.sh b/examples/other/swap_3d_single_screen/assets.sh deleted file mode 100644 index 774ba1a..0000000 --- a/examples/other/swap_3d_single_screen/assets.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh - -NITRO_ENGINE=$DEVKITPRO/nitro-engine -ASSETS=$NITRO_ENGINE/examples/assets -TOOLS=$NITRO_ENGINE/tools -IMG2DS=$TOOLS/img2ds/img2ds.py - -mkdir -p data - -python3 $IMG2DS \ - --input $ASSETS/a5pal8.png \ - --name a5pal8 \ - --output data \ - --format A5PAL8 diff --git a/examples/other/swap_3d_single_screen/data/a5pal8_pal.bin b/examples/other/swap_3d_single_screen/data/a5pal8_pal.bin deleted file mode 100644 index 26cf088..0000000 --- a/examples/other/swap_3d_single_screen/data/a5pal8_pal.bin +++ /dev/null @@ -1 +0,0 @@ -! I -#include "a5pal8_tex_bin.h" -#include "a5pal8_pal_bin.h" +#include "a5pal8.h" +#include "a5pal8.h" NE_Material *Material; NE_Palette *Palette; @@ -40,9 +40,9 @@ int main(void) Palette = NE_PaletteCreate(); NE_MaterialTexLoad(Material, NE_A5PAL8, 256, 256, NE_TEXGEN_TEXCOORD, - (u8 *)a5pal8_tex_bin); + a5pal8Bitmap); - NE_PaletteLoad(Palette, (u16 *)a5pal8_pal_bin, 32, NE_A5PAL8); + NE_PaletteLoad(Palette, a5pal8Pal, 32, NE_A5PAL8); NE_MaterialSetPalette(Material, Palette);