From 15e0f2d07c80c04624a9f4c980f7a4028510f8ac Mon Sep 17 00:00:00 2001 From: Takahiro Kubo Date: Tue, 25 Nov 2025 08:33:29 +0000 Subject: [PATCH 1/2] Update Amazon Q Developer CLI references to Kiro CLI - Renamed .amazonq directory to .kiro - Updated all documentation references from Amazon Q Developer CLI to Kiro CLI - Updated agent configuration paths - Added Kiro branding assets --- .../agents}/developer.json | 0 README.md | 6 ++- docs/images/top/kiro.svg | 11 ++++ docs/organizer/assets/day0/kiro.png | Bin 0 -> 51555 bytes docs/organizer/generative_ai_setup.md | 51 +++++++++--------- .../agents}/default-agent.json | 0 .../agents}/mock-builder.json | 0 yourwork/README.md | 27 +++++----- yourwork/prompt/prompt.md | 1 + 9 files changed, 57 insertions(+), 39 deletions(-) rename {.amazonq/cli-agents => .kiro/agents}/developer.json (100%) create mode 100644 docs/images/top/kiro.svg create mode 100644 docs/organizer/assets/day0/kiro.png rename yourwork/{.amazonq/cli-agents => .kiro/agents}/default-agent.json (100%) rename yourwork/{.amazonq/cli-agents => .kiro/agents}/mock-builder.json (100%) diff --git a/.amazonq/cli-agents/developer.json b/.kiro/agents/developer.json similarity index 100% rename from .amazonq/cli-agents/developer.json rename to .kiro/agents/developer.json diff --git a/README.md b/README.md index a2f45b9..762fa83 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ ML Enablement Workshop は、生成 AI を含めた AI/ML 技術をプロダク ワークショップを始める際は、参加者に対しワークショップの意義と役割を伝える [Day0](https://github.com/aws-samples/aws-ml-enablement-workshop/blob/main/docs/organizer/day0.md) から始めます。Day0 実施後、実践編・改善編の 2 部構成プログラムに進みます。 * [**Day0**](./docs/organizer/day0.md) で、開始条件の確認と開始前の準備事項を確認します -* [**実践編**](./docs/organizer/day1.md) で Amazon のプロダクト開発プロセスを実践し新規プロダクト / 機能のプレスリリースを複数作成します。同時に、それらを生成 AI に与え仮説検証を行うためのモックを構築します +* [**実践編**](./docs/organizer/day1.md) で Amazon のプロダクト開発プロセスを実践し、**生成 AI と共に**新規プロダクト / 機能のプレスリリースを複数作成します。同時に、それらから仮説検証を行うためのモックを構築します (参考 : [当日の流れ](https://github.com/aws-samples/aws-ml-enablement-workshop/tree/main/yourwork)) * [**改善編**](./docs/organizer/day2.md) でモックを通じて得られた知見を統合し、参加者自信で Amazon のプロセスを実践しプレスリリースを更新します。その後、今後 3~6 カ月でリリースするための最初のステップを計画します | Title |Day0: 目的と役割の確認|実践編: Amazon 流を実践|改善編: 仮説検証の自走を開始| @@ -28,6 +28,10 @@ ML Enablement Workshop のメリットは次の通りです。 * 🤖 **生成 AI を企画からモック構築の全工程に適用する経験を通じプロダクト開発プロセスを洗練できる** * 🛠 **モックを使ったフィードバック取得を実践することで、机上の空論に留まらない企画を作成できる** +| Point | Message| +|:------|:------| +| | 生成 AI として仕様駆動を実践する [Kiro CLI](https://kiro.dev/docs/cli/) を使用しており、ワークショップ実施後に仕様を基にした設計・実装へとスムーズに移行できます。| + ### 成果物例 企画の一例として、「英語会議を開催するための英会話能力向上」をテーマにワークショップのガイドに従い生成 AI で Working Backwards を進めた例を示します。この例はすべて生成 AI で作成し人の手は入っていません。生成 AI により、人間の時間を細部の確認やよりインパクトの大きい問いの作成などに割り当てられることを示すための例です。 diff --git a/docs/images/top/kiro.svg b/docs/images/top/kiro.svg new file mode 100644 index 0000000..5fe3cf6 --- /dev/null +++ b/docs/images/top/kiro.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/organizer/assets/day0/kiro.png b/docs/organizer/assets/day0/kiro.png new file mode 100644 index 0000000000000000000000000000000000000000..97dd9c73442913d4d5fb1b0088b3aac75ae8e66f GIT binary patch literal 51555 zcmc$`by!sE`!9?rA}t{u0!m1OFf=M44H8O+APikY4K*O$(hVXd-Q9vTjC3>P&>ch1 z8TS6}{rg_;`{(*Fv1xkW6!zE8-;D!#%bB2E?MxB-W8R37Z;lME&XN@pkLGoBy>OWMexj!$k)@P-VAqwuZ zF;U2vZ=l!Yd>+!}|HyVx@dXckMi-UCd~>q7fgUXbM&3XDGR(Zt%n+T14+W*C(_jSW z>#5=LgOGkI89Ra-jeTuva3fD~{1@vR8l^XSossqRJ6$~n%&c-9TiI`X3;vm^tU#}c zRZz>Vdi|Pmj{ZJ(%8XQM>b$Y~%~)}JKzS;--a#zT|AGq6bnGJ*4NAJYisK^-`Om|$ z_{ZN*=u?|rM9(z5GoZHwRVNt@+2thPL-r&FYsDlZ^pJ<+>MABCsQ{&0KXH8UJCFMg zR=+Hj!B=_=-ZC@G$FaO$24b%s#yxBRNkoI|P(6RiP6gNzo!H?*Zg0uRIQ3R6zvMLB z57|q+^%gD(KAv9rCLzHeV*Fuo0KP3Eu=SqMg<0t6pbcryM^8(8=rGR}HOIr^;Gw9& zav<3v?0m?+)i-vT`AO>)YUf;ExbDx3rXwvx72MUzlxbeYA$S1yyovVsVv-pZ)3vCs zh0V=!U@8jI@0sMxY>=mYe#Y&E+k7|=s&8yWe@b#nl|?p8OaYESO*17m6g9D&Xc1T2 zv^4A`gI{=d2fznUaBx-={V<1=?m3*nLhy>NvZ96&;w{s?ew987CK{X&M5HQtCsvyR z@Xz6nZ)PjM(1+CGwrZ#R+=R#~)*rP;u6n!AN4{Mkp>ufFf4#K5E$^g=n_6cLpAIq6 zYoW|4*Fg2W-#e5FXmIEMYQh{@0Uj{>VPb6W?EFzh{eCspF+GzBY5=4hfE}ZpRXf@f zN*VPkg7r|1ErZk4Hol)xMf7E?ac?YOPcQFyiG|zC|Cy8Huc{noG!Mv3=R^@9oatW9 zTz9u8o}AxRVxmD~GDw^pdH>!k_I?|a0UW91Fm-ITu)!y(;unK#Fm@j(vJ<6 zj20@B2nb*+(vf21MU@l14E5!~HT--pbYFssG#Q^@U*Q$ETA`Z3y$b`eJqeF%N8l^f z^H*w?libJYw4Gb7K*vr!JGD816j6a%xH0$*FRmhJy+6RP$E8?{H_9+-cm3Clda-Ux zoaINhhaXliEsG6mzg?Ye=dj13m|-@Q^ovZrTe}2{5>O1?HpKx?&f)k>8G6LiO_i*n zo}?Bjj|GFw)PB^rmZv`R&f`WyF*UX5ULp5&j$Omn4k+)J?}%_*@0ae-3xTh^4)qoe z&)47U)z4$z&vtig(iMKzGIX_e*MFF&vOXX-Fc|?m@i?^bUaSfF6@Wd`yoHQr)8w>l zosR43l8W4ib<}3ME^ojd`T$#6F2EG?Ct-Z%7f{b?`}c^`4{ z?O{-4xhw1ewxH08cHs*cr+!Bvztz}o=R$vE$d@)VXQa!IcqxX%qxAdE2|5Q%#!%y836Ei>{%+O5EXczd!S!d07# zXk}H%?czy~O2*1YdXo_7ycitq;V2PFuN^NRPcC#S+1#&{S0noDf+{ooGEUt$LG`06 zV`uw#HxmH{4#`?s8&a9INWbWDQ39vYRU(M|WafppUL6sg9hazA;kR$!WTW==w-9Dr z*g|Aq4ucpkZGT(t?(PZ_yCt=>?dGqtAwNUU=^UH}Reo=5FV;Qf7FqOH4?^UF^;<2^ znqIY$akZTip$&ZU1eP{3Mo_-aF^izQ5VdMxv|X}mtJp|1oNn|=ZMfgtHSTm_r^idz zbl%*W_jc(^SjR!Dk}Fbk=(p>abHGWGz-k+Og}pD*v)6huykNZGBb(BUuAlgilQ!U? zaI64Tzidc6p&&Eoid+5zcp*uVtsqb4j~goROWi2OHou3f-Qhnv!kmXbvaS#lU3?h? z7UTD3L`KZ#BN%271Bq&R)i2qVTu!GQ3~p7RuT8b1m%rWk`**$m%-UYD%KX5dOO@J3 zNy6ryY4Xq5&^}~efp%}#(SjnWR|B@8+Wi@2fh7@mI{@3qOTT`Hk=Q%_m{1t%jb&Ep zZ+v+zNXFh<&tpPyy5BTj`Vj{R1g52@7w8v}`oTP+Dl)_KjC|4IziA~f`bU0BOL}Jd zNTQ65Or~xpEiUz8#?fZ5Y0Qr~(5a1V5h--pthD!i{2cSaln1UgB;VuSqBuhMZ`8+W%TJn-&_?z#{J9f?)c)d5G4t;$#mQ+MUQ zb(na|zq^MD7Rs?&uJMh|r(kbJmAXAe(+DsLJYQ5bHG}sq><{0-hwegY7j9Yiv_nx= zU9I6gjpeuv+8ZG{JA<>GuI3rTqkSK5ZShFlhw5mVz=7kwLjtV^C-I_0jxSenM`&yP zHrm#!c^qit1=@`3ZEd>}y{)&H1$UnOXei;wY7eA?pf9cRtcFB{nVb(og`C|8G9zex ziw3d*kjXyvf&xT~D1>~G?sXE1VaEflUbya%Cp3*0BUxc|ev5R!?))$dbaHtmALH|K zCA_?B);&58#!^fdO;3&$->CX*H@fR>fR)!%M_7_Fo>SbQCndEeZvSdIBp*na!K;b( zA$gyXiF>P4^N@d{UeiXZis_8S?iI8WXnDLXLdR!uv!O^M;VZ`&I9lWo@>(h5l@7KF zAn~>7y~!X@82OR#^e6~VA|}c0T1bePnE28=-Skx9$T(`T#Wu!cfK%s~hOx)9`yk)% z^45uauGS7{^GDj2l-0uEk-6eB!Q|oYokT(TiOMTZYWY?+E3DMYU-R6*Gef|Fi6RnM z09#k9pT!hHrw^O^-5g)8V2ije5S z7l^QJ9y{PTvE+^aY@}1B%u#EnGZ5x%1zK4v+ns63G<@iXCd(T*nt62w;MBj0P2tkW zuLjCtKXWuYXnlB7iF|4*pSY6zF5stn)nl2c^d(0vLA18Vk5#uW8=Vd&68A)0mXVgg z^SkB{vYkogs@tHFDhMLZP_TG|ame!0Z?ag9_|>PM?X9=hmtS_tl`$R@5fe))D&pp& zKco=aCO)SVm0g#QH=pl4R#5pgbJf}%44_(ZTV{qUQ9$dpVU^6Mk89822?$MX1jF9Lo<4cG8auYGeo+Ogm9YOh& zjI0MnNLcOB@XQdx?-!QHc?6$3c<=|sZ+VYAn*BTO3AZ~T;aaN!lwnA|Jp(+tDbFYv z1M+VAMXAl6dI6uBbSoJR&C(^^4vC`O818*-noCEV4sdhtAwO}UR^wJ+0~Dv_%LvI- z*=Vb3du&qgU3n&PCl#?#q?-RpiGiV%$ny#p6Q72OhbOu_Vq3jI4P&wtW?o|!9CDe6 zCvn$Bb&EM#s84nbugQg_x=NJ!+{}@`65wzJzgLe0LeD2HDOR=s2^jUTom! zc~ymElX2OLUp%)W^BkHrDta#vNm8H{^~w2_davgYa8;JDY{Tv7vXTTm+pS^YF!1|F zMJpLwf~^hgjE7L|ZYIcF$Qoo4he44s-@)`A?FY-Rx#v?)5pU{01NYBH`q7$5a&` zo)X>1KKlK5HbVF-hCA$yK_w9vjdK4OGXQ?+`YZukuqe54sl3T(1Vfr!zs$RNXV8S$ z)^sTc8k;5r>gyL&puU4aO`TzkSTr=hQDYN!^@>pUZBzZ>=I|wH%8;_$F=j_BoHb48eK{X)YRz20}@kN+Mx-VRm$T z!q@X+8}vpfl;rDASr7NfySU}Dw*I0r$RO|`<%)R?7m7oObS1G@iGeVJlJ$H;u5Sl3 zDa}b8Fj>mBp1}edR;z~@TuMOr_!cV!lkeFX*HJs4ZT#8l_j`>^K*{*#*(4gLUUP6z z6BSMySX6Q>d|pv;>0=wd^$jz?#Eyht6E+#~g4`pUrEN)S{*0W6cx6awUv6PGft3$( z)5qHaM;$g>i`RJKv?ml;SRre}=~PW??0=FDKz-|RPV1*Ryfq2ZF9ioVz&yNK~C)n#4rvz2v&3<>tyT37DmJ$)BD zScNl}=I+3V*SyxE?FqGXF&B2G#lZJ{=*fYKiQ7geeRI{W<_Zo;)*~M%Tll6yY`(JB z(04=-_hx5J8U_RMj>f0|H+IKZtA-idShwfk&-FIroohIzM-eZ`GV7nE0{S^<)xVl8fO3pf z9X#Km)8SM7&Vd5U&x6LZ5GZ$N7}YrJOTzkO6_8 ztO$LyI<^S}-=#p4CsCP;ozijCKinFF7m5%;9C;W6m4GJpqPg2`-G>#DTWeMirw@%c z+)1zvhR9OOjIK{XPIjvJ!?dOZk=2&k#61#qycQj*r4KI}k8oAf2$a#N9oXWcE|w<3 zb<6!=$ktzHJGq9#TouN}Cu5+^a)x8fdGcPg1gN6$Hd?|JR!lC;mx$ZSncjdv>B?3lX`004P zDw@t=t6Qn{hhSMxq8Z9c-%ua4=cXnM+i2RtKPz~8GcB;Zi@F%S0TetUvzvc$4wEHX zJy0o(PBKrX5)e3_62&lqbS!a`E#+&L zzRgmEw%6TvoB3)ipJ5u2!HEwfC|eJ$z?Oj$2{P%y-*LY&oyYEsKao-Q z8(D!a@1?b)yzSAzT%Xh+w#(9>BM!4{0A_ zp5_!UII|c;lHnv#0pTnIt>yFe77H^F`dzfxh^c|%eNN}wo422au9Ds!M47JAeaKN} zo+Yg_h(g)s-t3}pAbQeUJN$L8jCGXT)jWgL2gS;$Wzv?Zx26%u$;sX1LsQ|~BxMM2 zSk4Rc`6cN_7i&qUaehw2sEv)T8_!4)uh@)S{U2OntUY9LOQ^4ID5z9WH`wY$F|qQT zWxSo)`z1Ya8lLe|A*JZ2Ru=UL4-f98J^9F|4r8HAR9FgYXbt}(!L+WI`!R~=^Yw&@ zygIjux0q;260W2u$VKeaa(({ra4#metEXqIQku^l;kIC@lsxd7+v_O`2j_hn+HU@E zD`ZWZ)g_$WvD&>k^<`r3n*W6SjB&uy0nR5^mfA<9st_^v4)quQ)OCwIAW}O^-!qv!`BTY*Xjr@f_<6S3L-2|QY#u?Q(BDTEdzmcsa`|U35<(H zwONopYh&vw(?Bnz{?|=ImD)ZQpWV48%Fk_dgeK%7b-mD%&dva7D9->COTw&-aXj=D z1Fae10_k^iC!%vrpWc);F1=N9k`hEp`4f7r^CAtJ-dQ`nII5Ux0H54pYa9u0pd*gX3LSs^Zde~6wQL4VNXav-OE$1N5Q<;_OAvV8*WUSOe#rwRtp30SXf zPZZtH3b8YJGSdZpAo%P;w|{6eb2t-*;!M*^?wYEq>>alB@~SF6P1B-n=tonNc1Lfq z%ESp6$J+HX7!jo>dL7X=lS5ga_Yp==6m{nHhE&h# zY2C2%f!02r8v6p_$_4^@ZJv=QXfMN-WJxrOkqaSLiEh*mC%jC)!SgFlmN?Izd{0x0sb=0ttVAKQwA%YHO>g!q zdY)(y#Q#tSDt>c@fEhV&fEB!E+xJ!fgxmP+|Xy{Q+fO$AtA-wws)s2S{3g6Xz8tZB>qy()}`g^4U1Z0Rp=t^CuWjtI(#!E3#nZ_L9$c83xTRl--8@@o4 z)cso<&O2S@#pngw>{C}+$n>ZP3_wa>bCxY{??)6h0r*qE0ENGYAQeVZ)o zESxQz+g*sJ%3N1@?z4sY2GcIZ*&|amQwea#be=!L2LTz)7<+r4ma^T)XVGNkD+f7} zQBmG|xO-{|(5c-?B1%Aa+8Gfs?XraeuA@cjUKYw5oPXA>cVh+Ee(^FGp#s=)Lym|* zN0KKpvMfapCqJ9S265#n=H$q9*A15HRWR^LWIk$-F=e|rfeyf#2$T-Dsyv&VC|q1z z!l`bt?lEm|79F?kX%DMSo=S52k}C|pp1?tV-tm-sv4^oIQoDo|)Sx%tpLdPLZn&@A zn#`Y$j)7fnJb|#jIAT7(smx3TaKv^k7X6UcvzV=?kDweknH`*oJ9{;Riemh(v$O$? zv7el=_Vl%Tq{^I*e;&}o?CaO8nRj3-T1Tv`CmNs|&4eBdenbp57`DAg zk%@b^$`fPjfX_RxJ`<2Tkkkvd@tR)@mI1rL6>wp{hlPR44yD>+OIc$ zJhGV<*Y{_L6u3$Ky^h+_%2>O)ie_#8P!8g@b+oC=>y>8%O1O07RMcUl9jpL*zR&^4 z``kx0eGrdK$hsHh@3Pzjje#_H^453M^HC5eQ6q;uYSQ3}gIa$cuLQ~(>M zBLR>T90kumais8_#}ewbQoqk8O~~+dWfM8hI!zO;jzWcOj<)>erq_oC+Fc)ii;MHO ztD%JF%`h}Yb}lYvJ5Oy|~DIy)}MIjbu z<&0m*GlM$Zi8iVkXIwP!$t=&|p0}F^*x~eo$Ner}1a-h_lxP!BrOs1NpYh#Cymu~f z3e+kXm?5|E7JPT9xvRb0+!(!?Fkg#U@odwuJT$!)_XvKgDbVJjs&d*@{L&cE?)r1x zr-FCjyE0X;6n+aSY1pw|Solh8#j5u4f_xrCJVWB$yX4bL+!JH%1RA?{?;n_d8aViU zi>t^JkT-@Di9Ms@014mQrV@5vi(~(+4Xx{8659B-w4udh<)XFAYvc!``z%#dAS%?F zqr|3A8~t%Wvjo1%lbIY=_2PchthMRhL^DW_#@&K1d682;oKq@yW72z$obGPIkxnFB zlLaQF^3ic|UENBl6ylb+QxQ#ru%cbj$5jW3T)B!{)!DV)w|fBLR^w#aW!o>5NlYFU zwl<6Vb3wB;qfF}n+xexb_UG^3L5ba$8BpoBwWx0=f>Fc8>cQcmzfj?3pJ%Yq#?B&Eb@chLT{q&^zY`Vh^*dh25owh=-dsBT zcFOzn4XCItxb|$9AH=EkjcjMa`8)Jw8-!Wf@0GGq>{$xp}& zUfp0(TTj=cT5PUrV7VCHSYx%KKN;qK@#yPUznNAO=6eynDI2#SuI#)O4E(~8!f(3y z&6kAb1Da1;ncnBYdMxY3%Axtw$OToSlwzHU{^rpFF=xxRZ(Dkp6j)*qUpqKtU?rC= zI9$Gksu7jruw`N*@?`SZxA&HS`C}F=hn=|zBgaskB%`ukf9GIabB*2tDFK#)5+lg+ zvke-!sKMCH5L@!UKyN`7%XbwqOAkaGv4P5wMS#We}@UWtPC^f-DjTr6mzlT z56`_5svv3WT?KDIHTN<|ye!ujl;OYXHXpfM`fyBUX7!xuOV0OL;^E zHmyI&DO}^|OS^QyX9@Rd(%>9P-z~;{)cC)C{pvkfdb9dIqCg{y2m?nrR-|rG7&Xy` z7F60wz5F|0{40$g4%yvnuJ+H_*%c*^{>qi}ey6{T3R$~Uyl?FXz&TKBi%whlcNO>f zQeqT3t2CM79KLf%fc!u%!-rD;&ScirgHM={QpnC3iQ)Sj0&-FE#=uaQMf-0;{kRLP zcAUk$E=bF)^5ri*{OcA5N5JbBhWCsAi@LtI-*3&|^#8r_jg6I+wNH=b@1aniF~kKy z_xR;M^!9&p^})ga_Z#$@YHDgR4cvSYDYg7$3(*`Br2_vJ1fVdu+IZ*dR2pHYI0*7~ zN{{{DRYm!-Be>(kX+&INGQF>o(J|5vPppFcI@M9ZirNcqWoq2cEKg}snxXiAA5m%T z5#+uNN>(r9&9nEu^PHGrX&RoiL&7IO;G~&+@;%!?^_{VuHLDX`T}r{E1gJOi?wTu% ztn39ZFE%r?i~%@TOhwGOEXx8Nvai!OMHO|j5x>(lx87Ot0c*Q@M>+NQaxmhcF9a-^ z)XMeXm5b?l>c^qK5~Y95L8ZCJP1c*JLRC&LQhC^e_=(;%AmY69`#xti8?GQcSLUqw z^sthT!vi9EHm=@$Eboz)Mja9!ZhW*7j}R3_9t@3Vdzc%rP9bcV14m zS0umJR5dBqQZjSIl^@wQD3!WNEVmSVC-7^Q0XC2p&7geY%%eNr65~qM(4SdL&Be|NYE^JH|*pEcAB@yQ{mUDcH28tbjPSvY$#cv^d z^i@TK=~DA+en$5QzRQqX6h{8ijB@6mD&94aJLTL3B={;ZPM}NMVB@~owd4PomN|}S z{E#EE#Ce>SuEUP`>m{I#>{-7s5#&r5tM<}<(9WbFvbEQane*w^hp(ZFzd3g9?fPE? zek4ZdyEU<~!ottxOS*t_V#B{veu`ao9u>Gx>#2)33B_K{O+8m^q#XDz(UC9r*4yS= zZ#mZw@@rSl&^5mSRXLJ^xXkv902ZT~yyE_hKc{p8QB-}$Pwk7RlYPakKD>U3#XsNN zn^G~R1!1Mn?X8_g9^L&Roi3&6?2RC_NRb#TW}YAzGQBmN%pI;K7Z0bzWZ%oQI2X@s z-R;kW=^Bu6sK@kHK@Ja;vcb{F)!1kb7Hs>^VvNi;U71G-uXKCzDr0z< z0f6toub*d493JmUa`QOs>B9?&O;{&p;^S*}m39VFl9C{o`%M!lP=cp9^~-5*wr_r| z_D+mDD5@2!i?$X6zIj|kPX9T-#!oL67QQuTO z6`Y$Y{xVbm`7VXm$j{!VZfgpLA4qz(eGy~+(cYpA-1dNXwm3>#19It-X5Gh^Yd9ku z!t|i0T!|y;!t&dsU!Z)~U5~P-L$Hl{w9jn)$!SY$ZNzh^J-mTA>$X#fF z%KdZEUZ#<2P=2Bb6X0-j-QC@{aYL#@5yl#Aq#7*74_`ceRvGn@_&x9Ob=Vv7o`=W> zdJe8PeqJ5~4y=nrlt?gZc)q+wPH3uw(Xat3C+k=E5_`p<0o}H{+%3P7AC8<~@3z1RH*E@uxn5ED|HLyCo@mA|_H$=z(fmrP-OXcUWIg z(=WAu1=nBf&etL&UvPdX0hC%g;=LgOpPj4kn-F{+<(w>rvFp=DRDx5r3xgm{`(olz z*f%mZmT_;k<~5+fByt@Yb;roe?Xmr)@nh{N`z>h94FBN^bpMK-xdW~8B@xoy#wXo) zKWTHCx4dKIN7omIH8{{AbjXkflc2-lwLO0(f<3Z-r_z-}1v1T39jkRctIx#N0MVDL z)7Ek}^%n(|rWWx<2dPE&WtmiJmHvJZFqZREJ4WmzF|V^!(AmHyoVk6-jYt;XBW%oU zki-mQ0QN{VE&&{vUp#uqr!d zUKA55Qs8W=6065G@XSDA}fHy4Hq_xirt37su1Bz?bikU{0K_FA2)bXa4#7M=$Oj zvYW2b7T+5RJ3l`jJfHtj$X6(ZOrX<*O|0Hkb>zphwF&qngYL|B=>UUxqw8a(XrQo{ zf4n!P9nT2pVQYeJ%NDJzVN~L#u3DB30WkanliNxZr*@g~4I3kEqA5=gG&6xdK*~00 zWXka2l*1%Dci?*2ZNN9#fl-wS3+2^c0`|8AwH&&?&#RE=m*#&8#i7%`+BRG&zRcJT zcO}<(07F|vzadhYDoig?N3vJObcOLwAke0&nw)(0A-G-B>C9J=0lMjhx*`}3rjK^}Mtct=wqp|z(z z>jn7^ie>p`@>EpE&jx!qf}Uo+@ua1)Rw4v@>Y>-V2w318bij6)Pex|LrYARl5AKVj zb;%$*&n^_t_5Z;>YlK5dTmRjl^EZj^Q5Tj2Y5l2R`=)cy;~8UO8H{VlxzKR0@7 zfY7WLpsasHELc`Kj*XsP^}ps89Jm(t@8z8TQxp5&xaR+7*HNwhMx-r^PgM?%$KAaI zFd2sM{t*|cN|{nrnG$M)*3ht2)3kUZmiZDZ`2=6p%y$z`9Zzijxso{DoIxWH*$JSH zESFAa1(>V!?_g){nt9M6UfcXnKYr+AX)KNe2Y{Wyc@R9bT9{oBTFe9=Eq($#i3=%i zdbFfGK!0noYi#>4O{aejDe?tuaLJ$Ne5Ryc@;}&}mISX4>hMEr1UXqgzW5ts%9wLH zpQBYKUkmV=HH?(QbmYgx4XsIO-IE!9n0Zy4^z|LD=IS;e{Zik{fdl?7AaX2uLh|#! zP<@^bTM?83Qb?|3JF1kPs_yxU(#2ow@kfjtcbfAIXm1&7!{)8p^vP*{)?;Uthp&io%oV8$R37 zb{!q18lR}cDA5`J@l|0KOT`3$m*-TM+l9XLyPYm!v~x%ec(C?0mgXs0|Da0^#pm$e z{0S#-8r^~8`ED#tponZRBQL|KR@6l08*3@SXe_jIK_L-iJCj8Tnf}_tY#A}G-7y@U z)ps)uUs&0c?=VR6-p$oIl`IE%>5+WqN#K|jsb5+%s!>$r7D+4C(D`(a$!zs}+kYCuSuH8DIoh*xBZ~6A* z4164ylbi6_<~Ep~$@9<7!X<{&h@|Xz!@t;S+ZKCN9u_p0+)yjCvkJXsUA|JMUT-ctU)+j!FTK$u62y>5q zwE78Jd?4teXVEQb;4illC0J_}_dBh$K099HPI0O&84B2j4wiIurTBHe{xN-H>-YL| zK}#4;sd51aez>&>)|*u|4?i;|&VD^du9c)~_teu)H6O|BOQ({TXc*5O@w^P=nb|P} z0TQT6JriVkIO?j?zlb-wCk!RP-MJiIx71@KzcX|?gEcADn!kXz5t&19(AEn`6Z0Rh zhG_d)exupNu>`P+-*6Ss?O1;=J4wU@ucFl}NdhQva{Z}F#}|jDd$=|Znye&YsCjn~ zJ2RNc7l_aKX{ZpPY{7?&eO#~eaUmgsOh4at$^MT;sh;3ah8*7LeAlZBHLd=W@7lyO zX~+HP8DT08>&M{x%VlgHtLbWq+wBMi_0CZyVj+*^X4B+>jfRUI+ggYkTdG~k%YTl3 zf)w;I>Ym8%*jgSKSGvd$vy_AJrTL9zLY7_`zrXfb>wL4QbMWm6BhyHY#=tA9j5%@mX+9b$oPgp~?M9G1p`;{#I zZP-9a0oPvoLc!q=yGe9|e^d&*#=<=mVy$N`?fqfthqQD`}T?HsRtMnd( zzj4eBqmouj6;Bz)0R7s|buDmmpUdlP-FuO6r9DLV?dkBawqJo^1@5|ziV?`)`QJkn zOpSV}pd6I-6=pw4Ek2Y%Z}91v!>$MswxDsQFgjhDo;^oGNA`Q|;`|q0FB%$hDIDpX zhArK^^QbLE&z=J76m#tMs%0o@A;R9zJgQJx=Xdu-U-#6zih4ajtD>{1#4v@5c0m@6 zCH%Uoz%-&~Z+WUSXcRJNak2?rwOD=kpa|`vtB-H8rfywhF-nzHRtBZxcHkUh@xJ3nda$xNS28QlA%5y;~@l z7SU#+znoMDF4sQByKzwUne74)?l$=Dq$ZWr*csMZEjONhl(v+b8_xcupTV)Rax0` z!UD*lgH=>CR}|bZbh~hB42;WM)xi6l(1})l+n*W}# zy{pP%il9P&K?cTmLahf*@+$Hoh+_?|)yOd#fA0#ytVeWW(z4;E4WYKB^}@h7CUhQE z|KD9-Bh;DpR)TS(UXYf%I(D#Tn;~=uDR1Nvz^WtO8kwSivx?QF_W_m$Zlcxc|GcLY zy_?gn;h6WRy<5*b+9lLSM^WUCMqghs;vW>U7V_5(f1OY0Q?Dja(aQI)&mA885^D7n zj|E`lzXl!awwI|>%}*6P`1hfatovR?8ZJK;Oleg);5w%dKKo~Pk8?(qGG724PfTW~ z1vF&2aBCd0Y%^zW8rA>Z0a@j2RJ77T)nB?>Cj;oNeqSZ>7lB9r>lGtH9&_2&e>Cs^ zXv}b)dFsi0YwRuk5gZ#lFO_M!vm&H;Y5B5gf9kfY^OOFFO77@;+OHqUdWB zM!u7W^?0nnV0E^x-~PVu#n;i`Ekv^i*ZqHGdCJ2);nsC2qjE(s~Kh#aMIanK-#XIKtrIjs6DryL|=o7*GJG zcPbO{d2$$?geGJ|mi)EnE%BlUf}?SY#mJUEiWLZZk1BnmU8lYuHDfavRgs%}j)tnG z;gR(Ane>BY4fDNuYnakD9v&!urTDjv{mWe8S0Ojjr97Gy+omX0TSB=ecBXPWt;$Bq zwPsxa44qFziMrN%odQK+!SpM;a*-J=?@#eSrou$4A+01`Bd}lf(dMP$%vammk+ebz zQcl8ijVioits?Q{DyI|VqaqlDntZa~`9xf&OoHo4y6y&tf1iz= zV1Y;;KQG1T8FA?zdrU9+Wp`X)WLotsSCxlbW?7H@WnJtegHXAR6O)*kiWdr~vF@j# z1o5gvT9Y4m{5YDwum-y8g&av4;xXF8a#gk^DRvn^kXJ&keM&@W}f_6ux)XM}dELvJ7s>?Eu_I*e`41uU%;Wqb~bz z{^Ku*Hbf5Zc7MzCx-^=6N=f>93O$7E2{}&;MgEF|OZEEuasK00!8nYAPcONidVRq^ z@T`m;z{luS!6oFeJ@s}0No)gD(1ghBUOTG6u(oI6XW4uWNmIh^3x*0##>qCx^tC;zo)-Rf z{-q;qP@8oWh-qUVCFM@naM585n&&)$!9^b$r(U#L>;6J{E`k!kfwKG`eRgz`T@!Bd z0PF5CnOb|{sE1PejKYTc-JU1-6DPkxr$u!X$C6V0S3inyKQDYQob8(DV3XI>RXpH%0EuXoglpn7DD0 z6%QI=PUf-4eE<}DG_m*aA~LKUf`%g8%j?&eiz%0^iuWiV_<3+chtx_%A-br&YbVs~cvV4$60DozC@_zSRH{ud;lt)i(PHWrypLB;thC|Kz=+_PCPqJ`A%dqA`lz;BQ0oq&?B12=YokHqgphfSy7n6}yq|wMyjvmhBfJ1wj`0 z>X$XGud5e&>TSJGsVkBq+VmC1<~SIZ+6L=S(Z>=vjJCd(Y4ca`g8^LhOGMw?VrDXJ za(bx@tM=#0w6FH2nl+EutJtQf>Cw0epWi;2dPv^gs{7EdH`8jM@r)*t-vmE)3znfF5 zz0kDfXGUJ>W4dC)zTm4jxAfLJZ81tH$-WiXD3z^J(XN}UR8eTt@2{T3Pn)TR3V!n8 z{&|G8^T~T?)Q;?U5o8Y+Z02=kEh6htqHTyRkwL?+;(7ixuv2ZSZht|yQ;kT4 z*KSbWIK`{K@TFmuQ=b~##ldU`s6OLPGjEvOou^&4g#VhlHb!YjbCD<^2DNGGt}%$0 zCNwZk(}`=YZ&QVRBX&$rmuACq2U=@)p+4AYmu48(tZzCS7o`qnJ4V(PLm>x71FV`l zb*BMs50h>t496+zzJ0`LHQV~3vh~ds2YF4O4py)Ov9tb=9|4A}Hy7)ivzDCff9VG# zK;`o?y*fus98NC}&_8ip$KfYJ7?v#cyI;^v_2+sX>RHZ_lny1=I_9o>86NWQbn`Pp z4oO|o>nuTQF93}yCKHtyiZ;3ov7m&HWYcH2a(afDW8EA5oXah>pGP+Q;zhm{Z3(ymdl%+Pe%$h=bHfPv zRw1bd+55S$?HqeT65rwUmHpk5Yvg&Js{YAM5Qh0e<*SiYh_NO^JAbV$!4KK&#yB`- zlgs0`CCF@T$Aj4${>|xnv_!;B%rZ|-zFvA`9OvenyBmCqUmds$`}6BnFS+a)M|nwR zI*umqK*JcZQ4=hZ`BEp!Hq`^DsS=c#Y3Uz;;YsSfR44{l>{oNN)L7hxG z$t=s)#VhitrLI8}FNFpuHA6{!`KS_e?gV2N#VL93ko>`hD!v{I?gf$;IHZc#Cene% zPc9k#SYHkPzuB%zt2=L11MEsv&<13S*(M6`THeV$PuVmNz5_GawTS(3V~3yewZ=JA z4FV~Kv`Gn+N~wC8=dvBnSp%BDRCUiJovJU1%^&$@kv;jHAnaU3)MCXYBh)wIx2REO z7`46bC+JSZ5J}BY?J2gM!&mZVk<2hpyET1x7PwVWe*&=6XMRHlFxR{%j+-%mN_Np9$Rnj88KFq=E#{4p~f?Yg*STSdWN9rNC z1m@>?*+<}?(bl<#bdG;=B0O5&3MnOU5m%^h;d_!f z$-#mrCDZff6hAM=lN6KpK=HvVk7oe8wf(4+D%9Iu)bR6muUVH3GA(28c2mIk zrSAy*eL~h9+vDqzoPpHl2_)XlqPAx$bk=5AJ7IeCurs7t^NO19G2*-FbzO2LUpj4L zo#_oS<)e7n5sYAmsCJVv&}Mks#SUTjpI-y$y^a1nNG~L50M&G>A(iUsLMs&{3%tRD z)!;r<274MOXII<5O*_iDe!bIJrY-zDeR;9&Bl!lFD8Z+z<?QOFjUFr~^du%4I-2gl)BX2v0@{zy%r9_RdxEyi z_>U?^mf((LS$3pf-1mQJ@i>Toj*u{2AX2!5G|dZZnkJAG%OgUNrVA-$6zYs=;7oS- z&jzK>3IrWglLsAV=06^|)``q}FMkyzR&pwCU`Sr~;#@GT+~PYUorqX!bi8d`gEb`T ze-@dh(2Gw@)pj2xW!*);q&#|?vfgU;PWZ%aaj&AQ=e=J(v#Bj&2I>Qf&`dgS%PrRB z4&R1wm~GyS7d(&AHxP@M`5ci{JIXr_+0qzzjY-jTD>M+(obmeFo^ofB-E@D4bN9-c z@`3C0GT%ps(E7Jsu&Kdkb@6SJA~y(qJMUXh?$z@g;(6faIr9B~yq|djR7f@{xXR+- zj>f@L9Jc>}j?1n+VH*l2ZgJpY{D#t(aNa`j%{^^Tk z<_O9LqN`497mDSfh^hf?ho^;8-00JuTz?K5tgQ8FF*3@&iY(oEemve!g|0Ae;q|C| zY_z2brN&*VQhKXlx7hpSlZ}N|+pAsej^?WFBmITGI;t|&oJpJnG^QwyTD_$yShz`} zw{LcvsgQo~l zlwX{Gvt*aX6DhLN>!6%J-c6kD3A_}otxt4nsA7F#tNJxCLM&wQ#<1H4cjY+uxq!Fx z2B?tKLNu;GUw`Im#>kAiVGP2xzXW^ox0e=u{RZVE64!cBiZxw~H!COiCsns^OlvUybB=p~^umRbor|X6UT88fNVDxI%ZS!VK9YW}T0+pd69qTh6Jb315ocsYJp<2dW{_aOfOrdk zW-yR3sZm?ViH)Ha}6sbaXo5U)-QCb^B0y5=;rd^MQ)&2*r?_m} z^_0*Ai~U%bi4t&82;2Ytnw@{TlxdJF`m9PkK@G3FCF2UWQaS0BM+#>ms^PMy9Iq!})-ng%RFzD{8UE6B!wbq<#*5Wx1 zsUC@U8&6}*gr!Q2zND8J{K=9LwX?*0!;%y4=tt{MoRyZiN31m{Tw5dku8~wXW=NcM zwfeK{U-`0zo7xu`=M~9s@HkJhAC{JZXGc_zcT}Evp-xjhix7Ny>vVXQM&X^os`3!I zZ7$rCcbeRQ9SXsjG=p&!E7^Ebm>%F9N*6H^R ziz(lo12>ocVp2a;4Dd?mJS#wC#pxcUh{LG>ap^a^2Jh~`j{J$@(IEGIrW(}kt}aJf ztoFPk3(ScnE!BrkOFycCFWzYJ@?(T+1_t)PbnKo!h>&{FeI4^Re=nprPK@st`R=!6 ziL|TxNLKxQ{C^Cl{#Rh}&uvKmuid9N;nSxi0|rcSDJdWcgZf)mR%j?lMni)D2-Jd& z{?{Rv*yv9fSOD_ze;*s6-&&Ov(geIi zkB?h^o;mc)f}lY5=G}1rgrm^U(?*wy?yXJS!ujNV8&IIzJY z?uyF(EoTQH+jewzY5KYfrGMz;^qjr63Jt9pKq=pWfG2fq5y)}ZjR@%1(9R--BI-(h0L zOp@RzLm`lkR!iSzw?gP48yw&zZ@BM?$dU&zo4HG)@;>UQ227cm9GiBAbSj3ns)#=k z*$tfMQWWaha8bEp$5x55M8bSWv{$9iIT;gSzYdycq`?G+D}Fgrw%<&Dt?nDvt(eC^ z|J}IYPupVBq)`i~ak{=xS`o7?>0UWS1sG1Obp}-6PUt!&lT);y4;;IssLb7^>~Sb+)$pyb z4QNL}xY`u1$A8hJUx@g~Jo1?OcDK^&F3xe(%- z0_^jfBC0{NNGK(uw(=p*W2Vo4D%Gnm%_p^aUzsnx{y9!N!2Z_4t^#+s{V-oQ-+7$j z3R0U>A1*)b_-a7k$H8CD+*Tv}Nt(uS$vBqx0|VR7YS!I$)vMLdI~Qh6#m5w95-5_E z8sDdfE4YSj8!*hS#ItCqSb3i*0t!t&m74h9m9XB$;NK)5M@VrZCD$ z_;T^4zcktmE}-Sj;TkL%;;Y?=oC4g+HN58xTjrSDquCGSxw4@1)yxHQjMUudH7=;h zBo{!+rest^fF&;-w7FQ$IQhwo)qCS4knHIhD_Ad5qx~fQh0325E&~&Irc*`iEC$@B z;EIebTg{Blilcjcibc~23B_7W7k(h{YFU^paM7fR`}b6m@iG|FzYyEFj(e)fqE%nN znxf&jM&3iV77~d>#RB(UN|RPZ5L5T#U?8q-7kiG78Tn^MQ8Zi(_|JZCy!iW*j31HT zC41*jD}PqDUj5e}1qJnDL2?-ykW1nmqoD%unmcBHgd009mI;Gw;Z5(s)3Z|v+&L6m z3p}}G8Od*BRh3h=qap)~hZr?uh2I4Rq|cYgE-NCelx{kcP$zTn2=`_xAA%PHvNuXC zRWGKIQlQdOMIv{zp22KaeKKdohk3zPLdj04zNk|$E?82nCE{CB2yH_P_TwuL(3Du3 z#u~iVMteZ zB_4~ZBQfnm{s&+4v$gcx!;+Nv<+%=*S! z5~WXM<55{8=Avn78U^X3sd zinjO=9^a{xFY9Z2uhp`2(0~NSEy&mOpRFS~TJMO@9Jd53TQ8p1|!V zjq8)-a1kK2fGt@5pVFfXlL8S#Z;plR%R>xe_R94)7?gT}Z4eH*@6Wo9hQ>_&A3B4N zAfOjY7RmLm{qv-b1+}lXSSi%wU@pg$jI{Q~c!4XnL|fLi7&s&OaeMyf+L)e%H%yM( zb1!>j1*FGCg{@vH=RD^u)ev_Ds8i(jc(MP1S^rK+?cbc5M(360ArVuIybG_03;sILJCKQGz{E6Ph)+ z>$$z<<^E9McX_<19QfNli4MsWTUX4%2mOsawIveH&hWDgo9Jc z50XtVLwcCiKzPx=z>qxoBu!6rWXWOgOxB)J+O(y3be z+fr}^QdS0TO`DD0bWX>is_&u<>37L1Iu62SS>eTT=4f)5bmL%YvP_w46_Xr}4DKC; z15ozPZjgP8Wxipv7m}rXM*Y#X{37+-!U(eQbkHF0=Q+9oQfJm|8TPpdwf^B1oAwf@ zj{w|l%Bc&kai&qfIDIF+#T(w6^=Muce#(E695YK?R7c%DoN1ug>Na)woO0|2QBVp~ zcU8WV5{h}1V7VegTC5|q3%yws?$F5ct(%ZS>|TxC?U?^<_ixgHY_?{hDkl6=LjRN1 zK@F$gh4vRcVfm7ZLaj-bQW>}@HGSz4A!Pg898;Ej;wn-_pea&@urHeU5gf{!Q_~84 zmQJwhT2zRDZb*j5^Vp_@{1AE?ltHz&=76VO9p2;+J7msTM)t#PvHK$8rTU!3 zx=Y=8(AexqJomu)YJK(mm=-Z!51MIO?M%qTR=(7Hl$0k*x8ttz0H|rRZk^6CH982x zTy3OyYxYwk|0yK7@nB<}WlnX9o)py&MzN2h#OknBJP27^Iva#O@Zye=!sEDPE?x#m zb6>9EC!*jfKaS1e-taE|$#5hT*?mqUSMmJ()@?N3_GM$L^EWMVS>9d8_7*WJGZlKF z4dt89vL&Z^S`@O4@D|eEklz#5S*K?%r*lnkKz2Fr$%_UPcF0g96p%E-#g@|7KvyaR zjx-V>aH#_&r5Z7iBqh`LuZ&mWFV?g5^i*=bmXaprMDFfs;$@$|^Z>1baOCmX) zTT%SVJ9OKSQ)9aPNsrzL114b5BIMM2N=3PMi)e#y5A>>jj8hI!J|tZGUfd4f+UsV=LeXS$&>&90Pix{dbauzZAyR4`#@M(xLN z@ET@vlxJ}sq@NiXA##R&FqPTLXfjo7;q6izq@;${LG^zP6e7=AKPhfC9(nV!fJMig zz@RD?kiHxE@ZUWm~;0djsM8}Jl%9~cX=Wn*J6bw@j5}at_5ThVbG%iud83V z!+4tr%Fn1NqSBas*SS1xULk{#m32mi&V@rdvVK^)P`*flp7!H=O^yTCnrCVg$qIdY zdt(H|BPWfG)UJVL_9j59*z!)j@p3I{?Z?fo8k?lQ=J!4U638l~eW!a^a#@bo#gOLp z?m@_9g>Oqsy*Fm^$)2Wj3%(U_em^sm=2PXJ-5yp;rqhEKMZfF!`h_b~8s2FwhQqE{ z&^6S)Q4fL-S7OV-NV|=*8$IgAT&6Fbg|XO7tUTRd(dXaftM{VlPL)>T1T*Y;Kkchc z#-4_#_dh4Yte(2MTb-bY0x2eT*UL?&7ilr{$ z+a3l7oA;IIT;3sfwoujIwYrpypQS9MuLgfP%xeH)I;AunxvTnZ6)Q&$YqvHp!$qad z^kYl!`%q(fwot|0Md)|&EUI80%8VH1h19u(!CD?XQ|C?*nVJqRq++7^3a#02^V9nf zSQuc8S)H_TxgE~4gkFk0OY>O{>5y|r5)&M;H-)@t#6V&7nBy35#pO!N{5AH76cp_b4m$FCkeE4zhT$t+2B?wX6P$*T|L3JGRVoyl{qjX#3i_!(T-EZ^}# zd6+KrB7Vfyrd2Mp0;LiPKn*v$2p{Mj+-PcaBRm7o98DekwmA=fOyvwlK7o{2=0_3I z&$C0VsZ?>Kr_R=2Ggk$Z?Pm-hJ5w@oqNt&G@>tHes(-z$qQET6G8YhN)YLfsz8@a! z80Xob3eWYyiOTE}Zt4I9o@#)}eNU1&TGR{RF|}pM5Yl~?;d}+X-()sk=ZCiDHu2T4 z5Ik{Ov3rf+gZNT?lDTG2I45YxbhaP+W9#IRK-JTBjsudXGY@wPdgWPp+E2#0eV&#% zWZJg(5#;(!{!GmKc1q)=){wBWod?Z@X0e!@OG|j?@zdt#w?jnHisbi{5Ku7T9`x1; z&|;&-pvC;@;Cw>PHe;@NPWqMbJ`CJN+N{nh1nd?NuHzCw_HY`1zeR;Hwu@8{KkzjnL?6 z@!j`ru%Gk6hQ9KHLJT~RU1?C-f5cQCPL}rI=QS>yT^znJRHoKNv!)4qbn@YNyPVtd zPBR2HL}jFmsOk7bD7a!`-#egkVpbb4%q=ZnqHlt~0${y!6P-0${z1|Wd z%8=uqZRpq;YjuutrU!7XG)B#%^LD(fs83eb46Ln^ zDH8WOkdcl|RgXSRcAu{{Wn>57LlI<7E^|FpzJXfV4>>2Ar;vSP!_$4k8-^`IL#sZ8 zIJP54PKp`~>^w$JY`Awc(mv~w%IcIaISDdHqjB4Q7)ZRDzOV1C7O^ZgJBs4-(R7Bn zZ!}Te`sIZrJ~%KPk;QI}cf9|c55Jmy(2 z`3q0%%w^x3b0n$^H$xOi+lTY`1$%hEG?dJbe(f=z!5GYaBdLmwLgc9}={=89ZK8qv zDhYQy;#z3v1V+iQ9j#CwfoJ4WlT{+(C}Q*Gn0-p4O6$m!a$)cMtF#utEI*T*J8kJl z{YXHg18IG-CmS#^SuMVI2lc`FNZaR*@)cN0TmjQ#*IPJhfnlz>D zMlT6WWY0x3UDJayood{n&vw`%)k)Vz=vlEXc9W!Sp3qhSRMGZya`^yfncnS3iyAA1 zk?0JW7d+Nb={=>oi*v|D>J353l{IKaiwqbgT@or87B^w#1Jh-C+HTm=fstAzZG-9D znU1G5w!EN%Ve>Ob|8(sUs%OsJRW)gG>YyL?8|GZlF#`?q1ro+?s04#PzIU!58DnsU zeV$OQTB~l51K!|5H9lPrt2In`1dW0K7%I9&&Rv7E7BWY2m91GH zoOfa1MX#83GRj-bw^*G<#lPTrE?>e3Cf|Bby3Dq)^7nDh^!u21)J(vt@DElryZYl+ z5PZQR#9vZ3p(C9Y0&HgN5=~L2UV2Maz_0vn_2k`p%9>^~zkW%bZiW$WVL>#CjvEf2XDUG=>2c@^s;*~-fR-+DxM@OE;HrZ?*dk0Z(?suuB<2;APvzcYAXM(^s$@ipcr~)9dq-ufOs&&bRGOO6z~wb0=l{i|$uZC5n1j4CK2VsES%V4hLcDd6~JUrz+v0q;zd4AM+wgP4&py zL#3b~4NbXW;ba`qgcr5R)~p?2C82}7 z7)(3HK9%w)E_*X|7?%v(YUa)ik%zx##;tpnh$RiPyMKk2jztDGW?AizYpTQv8Y;jdB3JC zI&I7Lam(d`{pR$JF^_(WdY>0f%xL`bO*&OfPxAlP)qLC|{&OJUe>%;Tmm;9@!Fzq@ zVaWwdfXq25^-Rr>~CZ9|AGw_>5r~N z3_yZ}FPfg8*Q4moEC>lxCgB^&uej_^?scWWrG3fPJ0gDYB;oGFLYdMg-3fAm|i-%q|C-|P845oEg>py}s!*TZ6Z_Tu(+>pkOL zzEU#=qJQypQgYn>1483+a$6crT+-o@xs}b4*S?sqTjjHIhHylx{aAcLv1r4w?Q$fm zjoy3P;-A}f0rSGe$V6kCe{w|u@lqFS}pyB@E&83zlVj^h-N3yRrL`lXIvA`aNN8$N>;wy0z zccYJ3-_+n6MS=)Z?%0{yr>g@k{=SoXJi|$A$27DU9_(Xl@ zLmgL>SJfOi`i@$zjySa_j7~6FzLaa}=pd+7UWrzN*WW2VXi5u0=vpyEmy2O7Md?3zJsQIuHr=!E3{v5lOK=vf-NcnV1 z;VJ!DPeV59xz?Uo4;(*cK3j-17$o~EK2EMk!ivA9;a&3~1P91Avzkc5HOtqYOIFC( zG@bH>vP_u*h?aXbrk00WL6r|F@iG`Bl_{(HYLVq)aq0wmAr1J_Ej1cvPw97qqK#d5 zAB>^W@e}e?651@Hp!HCgZv$E43-0hd@5d8wUiLHT6qc91gsY6x32Iphsw~8BVr`VO z?dK6w&eivWX}ry8oItnzJoH z0|woRwc8qtND&6)vHR>@UKC5-C<&Z*^UIXsl{sz1oo6lpG*aEdU}tG0L_HVigNRLk z5KXvx62xCel-4shkMe=p{t;^+z~6!8C*uN8hLSsWe@d_sR3}=M8N$1&FH4AhhHXX2 z7Vlg0-wMijOEd)tMf`;Lm2twsBTtT7p=Xkk!`+A3{|_$l6y z!^SX__28bjQ@2V-(i8RKY(5&PLcKjHFga8Im(AQ4CO73-4IeGv@Wy%Lg|CmJ=mZr>)L3O&NmmqSd{~}nq zoM{a4;iJM9+4=nlKASFIYE2$P+)G{csmf&#$@u~q{T5X_>=CWaZKtXI@4zw0yreGC zZ~Y;4_*>R$Vn!B6V#-X2&AM9GNl3&K2qnEq9~{R64Eet9crKh2&b-eTdiQ5f1f8tO zi=5Q)8s5%KofFtteY)WBH01JHL#hL<#*}5?#?_+5^M(!192T#IRLw<~o#i5jEOh&D zCay8-A!C>&?FtK%YXSkr4A;-6fvq}zgDSZb>nMCkBUD}e?4TbRdgdVl+P zQn}gX@TpLWa#oT%D_jvOyx?`cCJxEVd@^78e`d zJZ8_)w@p}1zxeoyl)v`n+SaQuru<_#`(so7AaKLOC_j#ezd~TUT@k;_b?IJg{>g4P?A37%0j1S zimzxU7^l(jO8c)&CFbYKE5J9!KcKw^2^8PZ2mrS=VaPMYrrXAF@(kVKVf zuJ2r}lJG9!`nKd_fU943e~LM!Qsw$Wb6>c>eKnh!_-P!VogGxAipM!&B%`x+qhS#x z7!jJ1s{~iu2HX)1vKOMe>pZl@i8^xecrjQ_jg*os$enRh?SADTs z@aXnRA9lV;n$SJJV0d}Vkh0Lq!nPbG=QoTCNf@n`5M*LiXEUf$%UOa>X>_6(O=O^KKo=zW}Bb2H+>Z19I;25s1*0%=?< zmB`S&3+BB1tem-AJPb~$c1W;{3nqP(81BH$t|x|tnk;R!ll3^Q6_)gZ$1(M;_@1Vd zl0?2`$OAq@fRv>f2;yPtoj8BBmZG4Y8gGP6 zV{lyUW>?t}rM$j7BX5{mR8}|ncCDLTimNQ^hk`eJnSh#n`1qdK7Zq%*l0%`H;}lGq z{ZO&cHB9Q=jxU)k1bKj_HE`@4n@pzHbIfmRPT5Ug(`E*(#n_S9#)>=kuk5SAWj;5w z@iOH&%o~~@i6|0rTxa>NmjxEiK$XUgLVe3DfK{|FeHAi?X-_XirmeS7?B(9yF+si`LM0<0g7G)W_T?IJfkDPG(@3p@6U0c#| z!|i9jt)$(NA_m^NmE8ZExD!t`eSasGuUc6E;(~OFpkaCWy=l5jMw^cs&4T>M2ZA5Y zcql2Iq5&AmP!}@JOt*X_QN1DWd%su$*k6n-;Pr4V%_A2a#%`)q*h6fEgT&Co`DBKp zOt-{;fs3vY|EmqJT@x!lITansL$Ci?fAxMgYqI$2m*Ov^A)0bwb9)->xgF7JE z{bLh8KOcQ;5U^**Rd8$P{ed!jg@BOsVFQHK;SWtfm>lw-G7A3_viSez!+&vVRVV-9 z@SObkue~_0To9ny5d`!|Z?RtUO<4Bcw4zo65s&DhVBlC4T8t7v`N8?elRNningaQy6MLM0kkS~jp>&kKXaT2)I(qfNF49;L6zgX35|3-(e*n?^4k$;iLOx7PcJ?0?7WE5 zX#o<{7`0RO$3xEO7f?>DgS+)Z4a!t*O`I8lrtK>m9J!96z*~|2qLSyfw>=beX}s}M zzx+7Jm81n6t&>-#a)LSQ_W^rwK}0%0Bmi#rV|rII%o;nWX+yHfSM$5>qVlisPsTG{ z#Jl_neJmcobsKuHpE=1Zo7ae_0jhYsKIVQ6^9JC+T*CF8RD6;! z=(Mk3@9?kWjtYOA%>%D#k^?vy5C^s1N6Yu1w2}bw4OT|DywO}1OG{#&?qW=w1GdOm zOlN}L`$tEVm7!&;a#SYgBs7pnOt9=2`zd5X;3{Snz*N<=dPLPS=G`52$7)%(wYx^g z=-S2@Sl~j!Nlm8RI0%ucI7l29Z{7S}4M;qbv@+icd1n5B&ISJZ{jVQd5DE z&;dq*zpNu`K&5*EdS>W^el>9ou+G>RWnv_xcP6s1i}$YOvajj<(0zJ~&q_B!o%OwM z-LDi&3s4z{nY=b5csrB8k3sJ^H_KFozWMPhSO-r3{*P@9lP*R`-vwh>J{;ehaFRTj zM>=2AvH`gow~t<(Hf;1Ru$Qgs<0_2TJr^;H)bmCP82l~^#0BUrpWNgynA2@7Qo24v z6h6e001~q9`MBk?BB&Dh7o@Z0Th_Ax?vS-a-r+xRCf)oAQ5ky&#2r7fwF~?_m#^6Q?+w z%YwXqTB~Q04jJcYd^W&#mu2LIYJXU(04WHQ!z=30UWOtjWY|ONJd`F{qr8i&XWoA` z0kL5G{J=fXjM})eLQQGu`-x&*6$fQf%!+Dz0?iNQq4zAeDn@-d!vUsSt#N-_OYX$b13HLA zBtPA)8wy5heah#cq{%aLp6C|@rsrKweoj)~5-^?c5`-_VP*3V>qt*uxe3ick754x79X_8#{z|KAw446ReyVXnk#fFXXwt zVSvD>uTSbL$6<{C>yf|h5jzB}e#JM(va#V}LtVm<;#dKlUXRmYPDZ7K5NbyLVL{)srhh|B~5f8e#~Tuz}-OXEWd>xkjpTbRCoUR zEfsOeaaYBwT>7%s;Fpc(nv@1OyI1w)4rkRK52*9(11x!45jysYP=a2w667n3N0w?J z(8{hd+>szy8SBzbdS&!GqO=Eqg((JyL3O^XK^oAOEd?+h2JK9l2gL5`QF5;gBLqhg z;Z8vymd)8CtI}+sME9{<;RU=+EUqU2#b;sPv!Xz+>>5OSHuPEG&B9EF2o2)=z&wgQ z$E_JS87SE_4@4}P!rf`Ib1WZx7w`0ZY>)y++a?SYyYMiP75{ltTuPgT zSsH^bdYrJF${jYi?)&IClJV6l#q<2T^s`{?We9b9;1kW0XA}&7%4GPx6&40$IuT&4>BxUSrX)YB6ov<+SvAdu+Xj=9Dz zkEmL&EOiFKse=g}oy8FZtP6eO47FvR<_!{JqI;l2x%Wur!T@ixczg#%rayMEC@NFX zOx`m7#8Tf_INA2fS0pvwr#X$^QED|UmP4CW*=Hf}KMQsUec3BeN@k1Rt>?`AQb*`ZJCt;LjR73BnLRx;( z@gk5wYcuK3x^bine;C3U63`g+OI<8L%>i3%R ze(p?Hk-LeLc9T1+Wtm!XWQ@By-@po~uEyOz%BdCgj(WB=QwDjLmF~yF?z_r*BeU6* zdsbyu<1~Tu8&eMOYnC!d;L3cHpD%9~LXWbZ@;DOYUf#Bl<=xO6B04(4vbl@Zk7-020z?Ix~mNhqR zPt;Me--6K$6eF1*4*cQeJRP9M@jg=H@(f!N_2%K~QG4)T;b;c|Vu6E_VL77CwG_QA+s#@>d! zu`E+6*02O?$+-SDKrB# zjy3*dX@D+{1SE!1J`8oCDg$~_G37pdG7M4qP2w19ArT?uQyLj`3}I#OZS0&n`Cr@b z|3f=G!EGxi^t6e5Mm5|9o2MR>3uSBD2`+CqxY2(^HOfYAeyd*e(qA0%-5!@HDwN2! zF15i@!Q1;wk?$MX^vMi{77m>$4)l_zdN380Ryz~}lGD=wCy|JkM+`uVZPqfw1hvBW>~qsTtH>N z*4jLd@8B_`OOtC(uL&?P7T95PPc|ycJF=1xOS)Jj#D5#uhr+l80>pi}6xvL6N7PtE z5n10J2%@AV)5D~Mg^9fJVlz8<(f_<5xQKV+7mbhdKN-HR3Qxv65wWj~&rASLU@u{% z`E0C5v08HYCjYQG?z7aO&SCc8oQ|WCs(u zZO8PHeZD3}cBKX+fP>{xe;4gK!AlFMww$9vvmCLfynHNQH8K7vNI`#m{+vnr-g%&? z`7_@=-Bl6?LvJ>|Zo2@*X}(EK29Uq)xc!AJ|+9#C~A!J1(9UDqU~%%aS}e=~MS z`g#K0Qc{CHKT&V9qL>1b+rfVmLjmdKyh9Nf)A5gvF<==Y2BDQ3t|*ii+G)_8)T8q) z3k-w22;Y{|6=z(|A1uV5dS%)#ZFvsEZZ(!nzp(}uOqn#9psAgSmuS~qx7t5uK=+<$ z_};EbwM*u;*nK_OKL6;&^@?Ay*43v73lAs$(AoLY%=hMYX7hsfgqiwZe9|}isEN&X z+H}m?e9KzW{BW>Rn;54=w(EBARM8_^Lcfe<;LmV&q&xpc@#P#Yx+iqCfPC4RltQZ# z|5qdB#f*^Cl$H3}E-kVDIJu$6Ga+ZWG3oPRBuR}dlS;vKpoiV_q<$()S*szQsz&^@ zu(5r|Kj&{qL3Zdp+x>FvjQ&+MQa$;R2t3KOb_=#;)(22_bX-kGtzHHFAf?X zimd~OFwou*V&830c{tvCKrF7~X*&K9-p^G^Tt9h(l{fo;qM9A3j%8l zG2Lay1M@61o<(W|<)0rOou)K@BG1td0rk0q%1y=pa#eVWuGy6b4u7U+P00J&^N^4) zV!{EQH6Hz#On0$=+B(dxJ@Ghz9{f8o|04Q^|Es~ISg`-fkfMA3=Q#mxuY&n6dT#lD z)0x7;o!|bzCz{r~Sq{EGZ3HHnI#(n&3wZkLM>m8RybTJFA&HGDkMVqtRa zz*PyX&IY8zF`RBQ9=oXnPSu@y?{L$bMb&PgbpsP<+{ zZC{Rw7-t;gocgSKMSM{om@m=ZfRu(6OTKQ>vJ{Xf<^Uc6-1WJ#pf!Ih4fsXO&++gu z@iC#(>%80D)%vd;?^}i-Q=iyh2k)z@(#`7)nJ2ZTO+kOC^4EXDvwC}7}?X@YHWGsaAJ)w z(|@}YQS&*y#?0>KoQl?vLi%2HG_H4uXgH+EJ(>4aBOtwKC*%F?M*7P!`8#lKJA&}} zo~%q@)31k=zjh8~g?qc(u`@AVcgXrVxpNvJ^1xWHTLIQlJO$~_qS+O#89iLI4 znW2WYz!e|wIwA*}k1Rwsv9GMvqqwGk>{kPpt|+wP8=-~x;zHOURy}GtdBJ=EF1&Q9 zT{$1MT`f*y_JcXJXWysxYwmT9+|%)Vw$;UPXQX!2PSuwN*{w&*j6c7*J0+}HCbXtE z1w@=-Q4gNpe7bIMLwRt-Mt0wQqhT*V2KBLz;CYR@yNi0H#}Cao5)u>@m+=xoyXSR7=X#o-o=)k9;z(UEhSA(ah&p-Lv0hUVTzHX;ZN#A!of=eJ&2|OpD_soU zYUMX`;#@DM-{Ld5c(-Zg9PH$}u!>!`M7HYb(yuQ_=I)&QVD2iAT{5&ZjZfm>d2bn< z!Q*RJ3qmFF+&gDeP*fgT@=rH-4}mm=^J6@k*7iORDaA#JK`7A5r`(kt?Cu{g2^Sli zt+;<6Ns(Lslp3o%q!MUAU1@Ui3^3etdAw{I`;-2pq=a6;Y+ZxoqW3s{-loJf^6R*YXMHCE0gEpQIo zEP&c(Dm@xkxABd$OC4duE-@om2t3y#vbCE`ae{Q?@5ItpaX6OV?-CnxS*hwaTH`xcuOo>qbLn^TrAF2^k<9P5&yVEdp%fyESsLCSr0#J<)E09L z-%mc*x3frF-R4J{YAgsp*oRN3s%dCPOT4ZDo4Sfe%Ixqf8M-g|b3D40}OJ{ez4&JTjU{%g6V{>{M2QiaZMLB9jB+`;Ot6ZIk52W6j zqn1zhA|EvTx{z9bwNUvd^XKyWV6g2oDf=NW%j*G*)w?CmNtGoFobGbY$m->0Zja>G ztdZ4V(}{9{NJ{-{X``lDZ??j;+oUVVYlr7MJoDWC<1YHw>RS4DmqVGX+Q*q+?(6j< zy1WrD4nCo+Lik9%#a0L`uh(yny^eVLd+)NS41QUb+8&v6p8YgerPH_5kc(^IJuQf* zVDC8?e`M|uO>aDMbL!kI?~>5H-rds@M@&1(QcHkg#*E;8zBDrRrW^O?r4sH`jt90A zj_cjfUVm4^zTwv*^VL)$_Qa9ul8?n+F8Y?auEdy0B^+Z-VB-_u6U)LaM#UW z;*gRW2eU|RM%W}+e?fUKE@{+RrydGzHkGjM?c&u*uNd+a&uPD7K*o&Y$@(FwGfWx8 z@uH?9qa_J9X9uGM{##$2J1xo=Q%@8!#-nKaUD7aF78Qk#J)_(L`@wVJxqi_I3Aok< zeX--8j$a&h#$BkSsd(H;5%?A{1?ocTop8#_{DN8z_1uSj%6hKIO7Eb%yyrwaw4Fzf zr_VP~plXV~p1plfkz%^*iOpVmpa)^3LPv0s=pWiwZ7@H|y#kTi-)uUdL*WeflDzG# z-r)V%meF$fZMC$4dLT0RLM^O6WoXl`lye%5FM%ra^*1hKm#cc{V|jq1ECOk>ooA_e za6}xi-g^R>{&cS6I8$3^eG^pKXoT&~u@s1*a|y>m=#v|pgV{i`6GIR7YEf=GsY?1p zaYv9XP?K?>?0$J`N4k=Gd~F7mqHGYO2oCZccePu`!ZVvvjCXul^&!p~!a7lXNn+@Q z#$IZf1-`tDMTbTnXzp2{FJ>|$G6cTc@9Ah$99U2#DJ9uXEQ#u~0rNX!i$e*=UAv%l zjVuoJmKo|NHJTtKkAh{zK_Zv}wE=yjXa>U>;^cCmHaFP7hQxk1oo%U#V7TcO&_$lb z!ydzhMOx1@AO^)SuSds34j{SWhh5$~>~E1AC<%@br1lHNssWHXU6_xH^}XlGx2DV&=RX z-=#~Vk^E_hEq}Qe>f-#lGT%ab#q0H;FJV##KY1M6^Hwq7)o&aL*HrU%=dWp89GQ}5 z$NQulk{}M+^h7~%wYI5_$nz3Io^Pl;13wto*P|TX^96_Q z2k}ERE?>ggDzoz23pLT`E)COd{k69W-43EiA>D7R(q2A2Sc8tMTg^6>BJu3kNtsIg zAxzBT{ZZoZ?W-F%7SSnpHxQb)13h3P-ox`2&+azID(vF8p|CqSkPZ`W<$CB00(l982M7qe#+%Kly zl8vMX7uIT7BSBzz&wy7F3IVIzqQqw7&kdzB5=y);sAOZ^XyX_cn46#Y%wgU4!=b9? zt=%E8L~_+&V4<@((Z7s*Vn{xoCU7Oq489;ZQcBJ932T4 z?%a{kVk(886|XmTC8-PGzf*YI0mkYqCL#1pUjgzI@kB;nb}n=?;l$ml;{|%#cBczE zy7en`PDk~^eDkN>(j+;~Hj`1KtTZ>vwI;6ah+X4D0tN2GnzK94P7(a!pZt(}aCS#S zKA&<|C?zDo>fMzPo`DGX^QvPryS2VTFA?u_9g?eebj{RA%6cd*2-jw5C~u?=pvOX3 z96yXBEh9qjsP3~3-8qL16B1Q(=(!$`Kq%#fp zQ`2@vdf-1;mws4hh2RgheXA#o-xE@>LPLgM(u3G5iknzx zACE>wN4O7QG1vA>4=x%KcwG{z?Gn|%R3<+25xr={<;K`HO=qvMUL`^A$q8T_zjwZv zcp|+14527fdiW?g`pmjOO~Me?X8x>o9YT0*V#db!6k|;f210c0e-388kbTh5YoY{# z!NS7)(g;Gu(4X2%MAY-$CmX$=kt>` zEjjK?4(jiJ_N>q*OHbV>Z@)2M%s|413L;=M=M~mRCjjQE{wK_ZjNa>E_o5&WTP*WA*afM3|7E11+F!Q zuUP#ZD7V6xT0>iAlOOxc$>CZWls9xsIk#@ry=j#TM*Tp7&HK~9YXnL8^KjoQZ^t*O z{Zn#sji}wSR6WoWjHLQg5)uRbH1rzcIXo#7rc*4aoAOG^GNYb|G_W|F2@^lQ7~H`< zpZ=_FI4#(ZLq!~Amil@45T(Ly#+KYSnv z?EU&{g9c$^VyDyv1v$C=e(~b>;VUNSbIwj4#Q7f*Pp^2>-gd+ybS|Y?E*cjxRcgzU z7>y|@Kus~SU79))Ax`Nx`_Y$q`p||U4$M}$p$*Uq8U=6fa@RF@z9O}onh}$qKI_UD zzS@rScAX$tZFunSz9@q!Ex(sBC-3aJ%c5zvqN@=VJd0Mg#tACF^YsPyhSWGVZe$X( zbV<3eG1a^0MS&tJGPCiRYc_*CyaUVm3_vJZT5v8A2Ls0V;$)(@LRQK8w-;NigN`a$ zBF&nZEHFm3x@;IaErk~=aZI8ocn=vSurlYC6Hd6p7tO9nXB#VGiptUEl( z-Ji-h=0(#p)hBmC5`KFJ2*l}jz0Om()KJQso9gkZ0xyG+gK8(gseaSTJS2i5q( zbZbZ!(R$A9@m-{=PNC`(BS>iJb7^w^^ULZv;#l4bBVE#%h_h@rgCO_g(Z? z2QqXhAkCM6?*#Z^ODI#1h|YC8&-x`z-ujSZcLZ9^Ub!x7#HKfbR;6PdCoaeG_p%ak zbuBNp4ersj+i4JCX|?S7O?{>LYV(uG)Wc+AyStgL>Ox%{dT-TH+ZMf24y$@&f5+n4 zz9xTfRS19J|Elh-;-Y%Lws8~%m6A{zBm_~UJ7!c6kW@fGxTHK zJUr%k9L(4JGuBYr9;2NTc>ryV#1Cup&Ocb;GMA61I~(MO$;`n5)6F$khcpq-j+L*b zCV~qF-Q8}sNVkTis7AF~A|86U%+WLw;_KJ%IG{m}cAAYe{IFGg{X$itd*{PG@{_Y+ zmQFD>gOY{^F(p}JLc&j%8y%m+MiBQ*U#7J7NK)E@%ER`YyO#u47&1dpx45erco1=` zuV2H_zeO!CA;FWYU8|UGPIjWwJ-lYQ>l3_Y&IjOn2!z^AfrQ+N;P2iy_GQ&e*WpSUzicO-BqDQ=%^c-^X)hUOC*H zbgK|SyC$ihkmmz8!|D`$e2SYv%q7N@7h*o0dZfX1ZIg1h=$llnJ)Q1Llkj4n_iG6G z1CA#T3GMd;G65g9<*YhZm;9uhS{9Nob5KC`J?ZV`5Ud zUuKY)zm5IJg1K;A!iy9o|Lyotu78lsHO(ws0E85bfAMep6}SceTa>bI6K3u#m|V@X zQbl?@cEG%Ub78sbY-;4(3*vM}W%=Xs55qWZ6{*M3X~OLIwgZBj&HXcB+4ksy=UnOV zclP4?`uR|5_f!ayxx$EW$elm>xJQOW4sO71bTCG4SlsNDDM}Ed&n|-ba`S{4ei|^X zWKa4K`R*^=EVyYoi=0VpQ4plmw6gNpebHofAoFLiY41nc08C7?8kGQH!*Dk4tgv8g zmE47{i#Au)rMl7LhSq)aPP|C~T9DF)1sJ;}ZUK}9 z5!k9!HlPc{B{y@|<&ijLgEo?*pgc9m%Mz1{&UzVJgjREeXO|v--Zkh{%*4?GUc;g@ z-C?QeYdiS^nW-earaxss%L#A0Gth#Yp4wj0+@H!$vl`16Sf9;&kx0sIV#99k6)}bG zyBa7K=rXr7rX8%m(SJk)c#4d9KAM#rINcR_r#&s{qQqv5V62Fc%QbBe;;a7bmVhXC zrOIO4{?O)p#RU(>5u336D!RcpZE~Ni-|>vqj;oI&R$*wf%W*``tgT|#vL=?Al@8h~ z4*;Qk7=Pt%QS8+qQm$9q?~L)nOXEH4Fx`%lPfC0h_+b$>e_GwWzO38CCci~PQs7qh zrO>yu8y@Rqi*CQ=>c9=hfyuKp=2=4ZqK}=A>N3_IKwZn^$@BFJ}U?N={Z$OcYOdmQ|z-N!z#vrh~9rD!n?*bK`|DY_HNX^TCV=th`qg49jG1f0My(6q;2#P_u~0}X`N#~=_l@Iuy7rc%fnjA zyy=<1{?!W7q#1RynWhMT2GsEqS1Q}@{dOfC89B%+ZTF?8hcsr!2NMvU`x7Q(0Q6|} zSy%OMSnlsQqdUC{|G0Qew?I6fpdh?30j)6C!MW0~bS7xZOmN&Z@;I||w|QARpqI91 z{G)$wN|UIwk`p49^MXy-E+x)0YJe7Nqz_Tm9VCZ(SzzVxn3A|Ng;uL0g}D2LORq-? zWOgG<`7B5mvFpj$C6I8ur>0%IuvFKlf{z&$ucJRJ!6-=pduHdtz8}h!Y&+#l)4w0m zrshPrh-dz+^*!Tdyj*?c%^#4qy>pk5@Q(J-X7y3VY@Kfg>Yf4yD6{j=JIB=) zvu)Nqq;Gs&95DV#!X1rpr^W!pS>DY##;lX4c>kZK7i6f<`dMz=4%e!^4IR4e@FHWs zHd1@j-gQ=)rtd-R>_$Tb?nhdE|EK35;(J6~j@-`j3P@ z1dD#AWTS+#NFr7fz$hXn`~%50XL>TX%+wwJUGqoBU@Pm*%QIW6>vg>ax00A-L&EJ_ z(!yUhbBUBV&-G+-`~pgF0HmIuIY~r7#Bl3^UL_e+n2%H~TS$uFm(a$qkMjzWF#ALI z`Qt(pi31(OnNNpsC4{k~xU31kOyU}Ktg)7JGe_FU(ZpKP!9C3JzD!2YZ-;A^GvhyZ zGNg&6DJX1;S`j7+YGMi-5S-4|EO7UO31d7Dv>VMx> z7b`R97WCRmqjO!^8YUCyf~JYaz6{NX5InM;5Ot5#CZN`n{_v`u#%^?#ll0W<&F0md zU`>#)a}qeV#3Hjh20O87i<-^zT1WQF>T-D+4LzE6Lry7vb~`-lHS4S%$KF$H%sT=S zH&-^cC6Tk&h)a$m>8Xh|Om$ZyaECT!@5mcJm~3M`^EHC3#NlZn?Gv7@9oUn%wsJ9<%+$yGhsCwKQLgxaBnrpJ3VoWAo3_$E(##(Evvkx(pyRa1CpOab{D&2_p z0sm=ik@iY?q2eD$yv-yPzDAD}U@H}0=^2 zMVG~k-FVWz_EKkFy0`Sz1l;YiH!pt|LVAKBU)s_x@Mcfh`lt+jEM-?x8lM^(e~k7> zv)=Q`fXE;Afk6+3F&wFLVFq(`rHTDd`M7s`#Vl+fBriak)6%d4lk^DmX^0HV1BhXn z4sCw?^Mso^Mp#xIDUo|mx4&3x5W`wLRn}wzi0bCONC1t(lFl@#@BKFh*8A=G{Sk^X#$t!osjdvQ)Hp;0AzZ}NTUR&SMDSp+Jkb=K>c{irZF{OgaaH*i+(R- za%Yn*MVk_sVrYmjKge5{y&~RmkcJhq-mIqI?AF|r6zK34ptJ1V@R<*e@_0m#a9-Ac z2fa`E57#1MEMuL@%~B)2KkRjhs0An_m(_q(Lu_k*kG;)6WJ@d4-2lv59{+o2;c9Gr zWAW1b?cZej*Ch{wYhk+wcwG&S%y_kVbB)B^uUDlG6K3r@@$~LpO(ANQRz8p`*+`tV zEpLsj*L=H$Rq2o4+tI~qJ!;Ut;UDHzf7^s`gBf~KChG{}t4eYdL_C?Q-%>ob+G;~h zHjM|Ah`d41{&TvaeVMvIKpNV zE~>^?LTi9|<3Xp?Je{2H8eeYi<+G{8zGUP03KNaE2`|CglCGH@k-uRga4jM&y^tKu zb)@3kzla3X5++h7_s3DO{HWcqd)nN^^yuv%@gk#< zU6SD7rRZzhUR-kBlB=Wl$a@rv*$>%aXKfW$o;L0=q@PIRWuspsKHtVx@n%{2i+!kg z+0OCm+S6u*l19t{&(lTbL}*G}R;w!=CfS`&O>V7GtMkzBp!9-0j~;87XGA~EBYAtI zKl?W1^hJx{M9j5@1;cYKns)P++V7J&P`^cw27-n-am4kLR@EVfXdE)9Aas;VLwH2b zq^kS$(~?ZfhnH2sxcF)gA4tZCvdGB(BzyS);cho1 z!M^PwY}w0J~XljMpbf4t}uqCzV{z2=ar{;BkMNA#&RjQ0Ao zb{%)pg)?5O+VN+meQN_#(~qR4)6RkLiE8e3cSs^FQhr9tKYX{p<9wk*LNGx96t_7x zlxq|bu@kAT1-GJ{$tw{W2!r|?AuplA1U^Kj}W{ z*nNECdEReXEy2syHLz~Pu)9m~kAe$QyDua*^d23ExGXG9JI@;09|U9DPL~{LJ?@|D zX|NWM10BJA_G;q9sgMIFB+W=*h?MMZe`UuDefIOnLG(AXb~j8NI!^qZWQbm3WCLmx zAL3@GwPg>NTx38S`IPmN`ZXS$tOnI@i7ed{IHR?S$}8pn#=}+I;eCZ)m58OY<0L|!EyS}wN%dh2=RhIUvy2;@x+;$iU|jY z#j_v#J70x!OAo|gU$@(?AI49~95&DP>7iGzx>1An!_{TQ3imDmtuIWrZu?y(MFbc8 zGs3tB?iPP7z!o53S)Yg|xoMuZ<5!U4u@&JdaDQCLhwTvUB(>pdD=IW3=h5Q7>ES zkd2Y53{<>6wZK6BT>l z6>yXXrkDY!vI(1+EqQ;y_n75fh4If~K|7OaQ@sUdrK%#-Iw9E`vpxfk&)3UL=C~#n zs0rT4B476HJ5@Y0d;BS$;CZzUG&2P!Px&A5)0#|SnD_I5En92i_?yBYnqiNQ){-+l z6=hWf-Eo)9PigP#T>Mc3D`L^7)t?})?0gDv9*s4U`UUw(&{7>K_?P>sYR`e;vm7yZ zjk?`trV7h5YCYtYsH>i~4$+M>s{Qh)Z*Nmc>zD?p)kX`J#IzfZUnws>JvK!LK|g(j zq%oc)Z~JL4UFRT4yVR`qd;IeN!B`Oel&14w`J;grfB3Z%Mk zKh0(QMGvGPzR_gi$7It62`ES%so2#}gNv*mfIl#88tQ0dmSP<8;*}1@=67E~BCKg8qKYO{d zD$2I!{Cm%XN@aG-^-dY7mMJ@LY8%qIt3^SpdKsu$CRSYpBYytWP9 z>vt<6OwG)g%ZF71cj@I=M-FH!2teD%DH)FE^Vgvvufv#!--sT`-W8SK+`B`sqyH$u zvo}TQUn;Js3aVQTSQ&h!;opY7fDnY8_J3%`+!)a^5)uDw6b$IuEJUKwh~uY#bj={` zwVk|7-AnJJmaDs9^g$yT6Yl=W>r(pThc9$5pJ)9`Hv} z^}u4=k0Q*sImBe{Z#b|j~f1kHutAD#=LyqG%woDshwRImCxmC)Y; z|MvAg^!AqF+O%Hm9Y0bJ-N>un55L{d^9cQcpMPDvC(Foq=_Ne>iCmvo2q&j*vXPEuTh-y|nD zeO|Z7p9$!vQMNcrI9Nxq4Q z7*--$bl1u6$#dL5Y=wt7umw`S|E!Q92=F`-S5KGh8f@zTrf?xtKF7n-Maoa&QQFT= zK}(_OF{@|!o-AL^{;cQ;0DI${8aU@1?j z%ZKF0*`LERQaP+1x}z@e1I+ikr<-H0a|fMaP9xg=IgX&fgm*i5e~D)z>6)2WcVW&z zJ;Jl6-JTD|z-4+hh>L&qe4U+c_KuvwaIOthE$ZKQFlCj5BNhN0?k7pSZMs+(WzG%2 z=I2hEm6+}`V$~6hNr=xkyGw5ZmO$0I08G6C%Hf;DgeniQpg`gYrwRv`9@REE!0`j8 zuL>`9oZY#(>t#wvHwQn#{x0Sd8fE8?FE75T1<1-KdCk_%R$1oca=E$emzQ|LEw5t zOTc~Rm7gj9;!Wa6i;ixbeUC1N$DY@h++p>Dg(r1}!+mt_6ViyIOPQ<3W+fpJzljiK zQ0pU$6b54Qi%9Ypr^Rd;zbEiFBl=BUiXsOdq>EB)rh}HBu!ft-ydb-;EFy(6_WO?l z7sUSe9`WEfC_6B>_1Z+?b6-_vEO-p(T|g0^P-NYCaiAdBhVI7?5eJ#;^UmI5UE3W~ z@akBlYVv2^2{J{lqSOLzcP+9jUl#HSToQ8YzPum7j9JC1rbtcI_)=D+PGN|_OC?yQ z-sQ=+|2!Cb;G`8y|025#_jdqFbI730?VBMNbLxudkBlLHbRO%M-kfum*w_O3oc^Bo1{&^{w^fuy>#P$+CKYR;Sfpqy_pKY4|5gh+Fg6hB8bG&v&_ZHcT`v%uZ%Z(!Q68w1H&)Ce+Q0)t2siN-YY&xwqMj06nmC{eMRiW$(vz zOV@e^Aa;>3i1t)3os%E+lQM^cp3Na+|L{|dKHZP_xz3m`K6|$|!t7}%Prtv~ ztpI00Skq$Ly&uIlJxkwcMu}@x1q!))rQ8Q4<;O)s4CucUB=7kxiwLtM#rPxg-*#wo zdxZw{*;Z*7X*>l4*i+lzTRQW{7NqC%H5Db8h}98${t|JpsRfN%^X3`WrbT^W-19c z`_2z2xgoUgE?Zaf)TO(^0L3=w!DbInd9WBLVBT~!whOTuwcit;csJ)bui=866iC+{&Fe1`i+$|u_U&>88HAmQjpnI{%htK}5-n*GpC*8i%mFb5!ry-(>|QX(D2sCtQb>ogJ5*ldS_xkyPCO!s zEoqWoht3bLy@___pE>_xbCAA|VaUd2e8CJl6@a?%vk+PZ zACSo)C(OT8Z-1@^gNY?S;D5+?+f!5=yu`0CoV{stp1z(b;cJ5unkCR1BFkwRH{6 z>V9WTji7ivSVGCZXXiHvU2WNShQz)&iE32$|$~xgW$$ zb*4O>?-JUM;&Z4DR?6ox1{4L+ar}cv_OlZQJpO?7Kkcjv$jHh9%F*;d2i3xuo-T6BI5 z%~DHfqXi6*wCx2>8++hFj){Fca>>6U>j_RALMK=Q&`t~Krd05U1)#aRZB9}Rlzj&t zRo!?M;C0Kr!bRtvn1(Pn{z`7)iv|SIb0PjkPhacBRs<_h~(4&3%By+TN1pUWy{ zI|pj&qWTqZef}hkR>|;9UiG`Q>SL5G6xITlLj;8;SD2W1-B1hsyrZ0>wJF`jl>9jn zv?O_mv!C)qM~i}}N$^mD=305Yn*4khehZXUQlk*@vmY^p6y7&XJFQV6`v6g}qjCJ~ z**83q+_lmH=;T-Fn12^DhY~`tDJsz224vj}Jg`QVp}>~hmxkzn^z_|l{P#R-nvc%O z+M~{W%Qh2QURQ&l7jGGItm}_vod;+awL#6R7r)D=6XwA~flysZ-3cUiF(1{|RfGlyF-VVAxiz20!!f{#m=Zv(#KW;06p?XP;M!Q{ybR7@gfJu*_6Bw2uo_tle@m|a zO(d=Qc@)D&7cVa!@0TlrzqgS+{%8{SIZ_2N+SMm`6O=?afNQQEC869R{>bS{qbBBl z{28-jEG05N()RQj(Qo_SI)*Sp)gPZ+FiZW6$PW-eVzxSTz2k91+K>R&ghT^N~XPH)71|YUamCCPoGtudJHg`X< zs8oMey|ScE{%&pf7*3_ol`Bkwu7>n)>Z{QIF4RtbM94SULv7b)>l z<4?qFL8c(o%*T{4pb*OT0LKp`2M`H!Mf6oKA%6|uH~pz5W@h`)QS#l6FH++@+ov15 zypFy{G8E#!rY!85(Q=B#ROAIxBz6IF}&Nm2#2I z>{tCHNxEFBR{uqwyTl&J8RZt-V2_VNS>R7Mm)!NG@a|n=u6=rUWe3tk z{c41W+k>G%32A=pib2hQB)zSwRFg+FmWCJkD!-v3#OPe!-=oZp;r;K4eQfc|J+02} z;8STCb7(6dF^O%RzTh`I1(sVgKf4>i;1Lej<;JC^nhNmM<8K8r&?uHgGP*7-4IyKXI;IoigR-u~5qDh|&R`DZW92=VR>XDu0~!c(^{E1qO}V*bEh>Ag1Y zX^@eeS2&6=c+uoc=+|$@A|Mc(+08_>>u*|4n<)8fLnq-&jwL0FOW*sARj{$R!cvh0 z#V!QIl<453=v=OfC6L2$COPU7%&%60J^jJV_7x|%KKX<#JPnat6SMS6Z>)fhyT&?w z%2~7`_sixR6RJ<*%k5Wh&n*<*v*n#N$?qIU_qMb_7hv_&^XvIDQh3C@{ben$stNMI zC_?!~3Td6YnK2)zA0<~`R+yZ9s(GH2;>R5{t=>-qcRpJH$FEWg1%1C=lfWm6{gpdb zW)3^@2Gh6Cmw4)@(e z7h{QOG9bPz@Zi_D0GC>#_qQF&IkfDMT?Id!fQAEVq%C@ZE5^7 zaj*Jb_1FhWg**hV(pBC3@o|=fqD2blTD4@@BI?YiOYR2f=s|Yy_Ah6i$a5XN<0bF6 z4#FAMzFMVfALSnkq~+`*Z;q?`e6N5mvFe}D zX~~L4JTgGOrn@pTdgnA^Mky8^Qq?q2)n-{)n5-vocRDsTWm3|a%vH6EoWYak+M=mU z!q|Jq89vKF5AD z{DA%jQ{oD}IPtYPX8$)?W?^PeB}=x_P@4Ar8S}itgr1lPx$KPmr=%m5r@$`MInfk& zoVGrCXB2U*k#Jf0$bB}BGnV_zn-}q# zuBy4uV{;y*&Q}-HD~ppuomz>0mtxU!CsY6OKG!n_>jZhEE-kMxg;%PD`X+B>9*vn8yOu1<1Sr&Du|5$z0K!XCFfpo#TC&F5KT~5;sbXbw7af5^|0Rq zdWGmwGA2)qhkMB^nksTW;EH1AZv+vu7FmK-E0)emb*{|e8eLIKWgFf9u;cvRv!_)_ zr_`KuSqno7dj&l=jcmB?nlJpIQC(5Wvr2(2l`sokk z##oLu9UQKo2#uimz@OkO>H>t5#N?q{7T=P9z>hW{l>5?2ViJ(uUsVUxrqMj^Obl?S z9LkvglW3F6P2x=M%LrIc46sMb4|Gxb#+e_9tew(f*yunJmvECA8kC;0f){zTM*H)+ zEYtHrx%Gmr$B3PSp8(D=IC$M*2mY`t%1K-ro78Lw`p|d%W}C7Det2YYxNin+dSfiuXa5vqX|bD$fVLeGmW`d@tB?O(%W;<}IO5TD%dyuBR^I zlJ{c?$)m`Wtb}wU;OzDJ@XY%pl*MH-R;gPabrN9s+dBE(Wv%*G)ZOBu&pc{gi(`M9 zZjd3*%9(k1Xdaxr2Q&k?mHb8%2WCMs#yuEUc1$JRc#_fy@Di|K*fsTNHlwyt$>kAl zQ(DsEuy3@5gw81K=0NPYE5_H}1|~ui-9FtvcMu7#6N3cR&|~_YmFN!?cSoexAwl9= zpy2PltK_bq`F?oey^pN3!|8893gIv@6S=!m*z*U3P7viJey$0y5{_z&ASNl$k)D7= z>L>x$O9?LRSMd4KXV?neofQ( z_}uQnw*`DEW{nM!dc^c`8tL?y5Gr%3fhRr_gm~d*C=iRF!EHW%Hs0FMlZGV=G;xeB zzaN@=gny8iZVD9fXx01H=&DHNXI*+|E%M?#TiVA8vOFBE9(!#IT`}mez(f?L;!VW5 z_57PM>qm)Z$URx3n}&mt<9)tI5^vY4l%%S_PryzOd0UdD$Fj%`tsh)mJ5^9WR!~84 z#i6+z>XWl0DTeggGnzTi`B}ct`r(jqj$EdM*ZYMAs`FV|8Vwgz2{1n=7Q6Ss0IR|o zE-#`{@G}&E$zNOr|3wMK0j?;;EawpRo@f30=<%5r&+c?5QgYY1C{1=OU-S5EIQ#gG zD4x61=;3iY-GM{p-7q6)&erfcqpUO&lThM##`?JOpK>#EQx)TTL)(7i*9dC-mU7>z zQ^B?GQ$D)4dJ36!}wW(w{?qK>8BySSgR(p7~N zb|uu_dCZx*QhM3&B6;3b_h8jVwmz*~^uXr41m5dmPDrk>dyh%+WM8=QUe4<^e4dC8 zhRBy1SCcW^kAJF*s~p+Hp>JN>qZUJYapymF=$1p3+Lpzv%WjTLrA;;z=gew4V>F2C z_ncoyS4;|4<>Zr^QC#yz-;HW`km9^3CsZ}=+r(TRWpsaC9Hq;YNL{{tePD4CiO^@M z%e{VqVn{@a38W5g7TK4VMK+mwDCn@qRv5BI5HOO)Ctz+TOpe>=v~FH9__ zY)Y(;^|-w`lGU_z`Pn1yFZs-t2K<$-hZrBk8nzk}?sWKCve(K!b8$+NznMNRGZPau zlsjM&ELB%&)uUfAMzxTXPray8~i~6~)5NF5mSDPvJ1bW{^6< zzgg4*vv$EE`?;aK;S9;|dGi-)c-yNhUM`BislMOrk}CTf8o7xUdFdLjwbJ1pN!}Bw zBAJVoG-GJBQRKc{Qok_|KGOig^vcouNRZ_ti*w%oouUiLzAvc4WZzH?TcWqp>Rif& z={9L!_8n*MYPDO_wSVd_H>z^E>qSD#R^v##=>CYjrjA9u9P4-V2MmCB3eK{iyZ>Z4 zVl^$C?QHh<$=9M&mxhR(l^-Pa*fFtBX}3a>bZ(N87}_qiYZ}Jh;JjH&V97q8_*j}R zNG4!)mRO>=D7!n=G&h=TjsW1_d|rZB7&U% zCC_`<}zPJBGN?I^_-h%;LTdfsG(&;*a{kfN#sFS!eWX^ zCjT4nwGsZU7i;ZRjw}jR-@bEB7z||PM2V(Hc?U?F z9w$0d1gm@mW?uJb7~hO1S`FE(Zr=Pm6TrKTT5`DbUv6vN$0_1th1Snq7G9aE9hq0) z5%0z-v_YHGb}Af8eKUg}*ySYawBD;c$XW^*9^ty-XQct!?_?La5rNZ@GTJ?LPIe&8 zu!#Z|i~|%=`KATqa`)NH-9);QuAe12x^7taPup441pc@giYD!18?XG-5#OPHl_#hR zlL0cvBqx3>tV$dY!fH2sLHJg!f|Ji?nFk-qVpU+hJSc*5EcmAfBkVW18SB)H8^zw1 ze+GD^xA1}VrlC^ppGCz_?;`D7XC#W(i#VETvh~(@{VEqy zspCiXum4Vc(~(^ESqDDtoQ3(elzNSWL!64RzdjOufa%0-%ab=bH5TL%?QTwtt921a z^j)8)b)i*@;oMZJK&{4)+wNlG!@1fg&`#)HMMz6&!nh7LHT1`SY~&Jlx)^~&e%;Fv zs!GeFZ{g!+fxdXru7~%Ocnt8$@PPOob#dB1&I3*+aVb<#3>`^qww>S^>ABKr=fI6P zQbe6cUf6a;9u#s<>Lsi{0YCg=)nUPKHuS0OZ5nPn$AYGbAwGBiYDwk9(RuirGQq&l zTW>goLmN@mUheYK&}AQxW8EU^ZJN~we*cckGqdkeb$o{3Ge(+gkH4C?z&NVY3?oU= zt?$DD9Pb>p(ZY=q7Ep_YEM@Ios8Zsa>#`v>BSE`qU)P=vaQdsw3SKXA7gmRItr)E0 zc9&jAyw~MPAM&NDK&d8QEkdiy7L4$`5mmav0Un!g4UlTk#RHC~!1(-eDNO|c;4~%; z57`ehYD2Vww&XX3C{KEwV3aflSF78`lm^)9=x}~JG_!*)MSL03$zB&W;x%#oa{nPL zSue(st?|1xwHTU2xG&-69VzDG6!rusZo8?rW%e0?j`M(}0@*BPcdJMjbv3Qq+~TzE z0FB;j^CI&eXO(-Cw!z0WXzsDy~ z`AyY1Vy=%`Z-66bEg+{cgI&v!ZOsGK0Tbk=pxJIgHi11vpNjBQ7kJ(Y#Wy zEVR$WCWE-i<_7j>iTzmHu0ZceA0Lq4UcjWws%jqKhLV4@wm86-T1gE}F%bBL8aj96 z+M4Bz|AZvILPc6W zylDt@rS!+3I8oAs_26s5GbLxZ7wL;4+|^PkUdaiw-}bT+1aw-${k6bTow zdwlWXEVn^u{s6EWGO9R>va}cuYgMg3aRI6xOBG(nV0=oCwWDL7e@YaBu*B(pE zfI6g`bo%1LFcoJ3hOf`IEwAwo+0xEsEWEvr^_es{q0l)X8mu%j(Cr3GlBBbcpj zLMATWx>-BCzca?3SV7LQS8N4v;r1_hbY})7%ilL!yu-|)U7fE?3o611O1%^cIr|=E z|9euo$E00SXcmOlBGWD Gz5fr;=g%kr literal 0 HcmV?d00001 diff --git a/docs/organizer/generative_ai_setup.md b/docs/organizer/generative_ai_setup.md index 7da02df..047da36 100644 --- a/docs/organizer/generative_ai_setup.md +++ b/docs/organizer/generative_ai_setup.md @@ -1,6 +1,6 @@ # ML Enablement Workshop 生成 AI 環境事前準備 -ML Enablement Workshop で開発者 / データサイエンティスト担当の方は、**チーム全員が生成 AI を扱えるように**下記の環境セットアップをワークショップ開始前に完了してください。環境セットアップは、[Amazon Q Developer CLI](https://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/command-line.html) を想定しています。 +ML Enablement Workshop で開発者 / データサイエンティスト担当の方は、**チーム全員が生成 AI を扱えるように**下記の環境セットアップをワークショップ開始前に完了してください。環境セットアップは、[Kiro CLI](https://kiro.dev/docs/cli/installation/) を想定しています。 なお、Mock の生成以外は [GenU : Generative AI Use Cases](https://aws-samples.github.io/generative-ai-use-cases/en/) で行うこともできます。GenU を使用する場合は、[ワークショップ用のユースケース](/docs/organizer/assets/day0/ML_Enablement_Workshop_GenU.json) をダウンロードし、[ユースケースビルダーにインポート](https://aws-samples.github.io/sample-one-click-generative-ai-solutions/solutions/generative-ai-use-cases-ready-to-use/) してください。 @@ -10,31 +10,29 @@ ML Enablement Workshop で開発者 / データサイエンティスト担当の - Administrator 権限を保有する IAM ユーザーを人数分発行し、認証情報(アクセスキー、シークレットキー)を準備する - ※最小権限の法則上好ましくないため、あくまで一時的な対応としてください。すでに参加者に IAM ユーザーをはじめとした AWS にアクセス可能なプロファイル等が払い出されている場合この手順は不要ですが、モックの作成が可能なことを事前に確認ください -### Amazon Q Developer Pro のライセンス準備 -- Amazon Q Developer Pro のライセンスを人数分準備する +### サブスクリプションの用意 +- Kiro、もしくは Amazon Q Developer のサブスクリプションを人数分用意します + +※ Free/Individual のサブスクリプションで進めて頂くことができます。ただ、この場合データの取り扱いについて十分確認・検討の上でご判断ください。 + +* [Kiro 導入ガイド:始める前に知っておくべきすべてのこと](https://aws.amazon.com/jp/blogs/news/kiroweeeeeeek-in-japan-day-1-implementation-guide/) ## 端末でのセットアップ -### 1. Amazon Q Developer CLI のインストール +### 1. Kiro CLI のインストール -Amazon Q Developer CLIは、コマンドラインでAI支援によるコード生成、チャット、コマンド自動補完を提供するツールです。 +Kiro CLIは、コマンドラインでAI支援によるコード生成、チャット、コマンド自動補完を提供するツールです。 -- Windows 以外: [公式ドキュメント](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line-installing.html) -- Windows の場合: [Qiita記事](https://qiita.com/nagisa_53/items/ab5ef9a8d799ea964e1e) +- Windows 以外: [AWS Blog](https://aws.amazon.com/jp/blogs/news/introducing-kiro-cli/) +- Windows の場合: WSL を設定し、Ubuntu としてセットアップします。Amazon Q Developer の設定をご参照ください : [Qiita記事](https://qiita.com/nagisa_53/items/ab5ef9a8d799ea964e1e) ### 2. AWS CLI のインストールと設定 [AWS CLI インストール方法](https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-install.html) ```bash -# AWS CLI の設定(IAMユーザーの認証情報を入力) -aws configure - -# 以下の項目を順番に入力: -# AWS Access Key ID [None]: [IAMユーザーのアクセスキーID] -# AWS Secret Access Key [None]: [IAMユーザーのシークレットアクセスキー] -# Default region name [None]: ap-northeast-1 -# Default output format [None]: json +# AWS CLI の設定(ブラウザで認証) +aws login # 設定確認 aws sts get-caller-identity @@ -56,22 +54,27 @@ npm --version https://git-scm.com/downloads -### 5. Amazon Q Developer CLI へのログイン +### 5. Kiro CLI へのログイン + +AWS コンソールから、Amazon Q Developer / Kiro を検索しサービスページにアクセス。Start URL とリージョンを確認。 + +**Amazon Q Developer:** +![Amazon Q Developer](/docs/organizer/assets/day0/amazon-q-developer.png) -AWS コンソールから、Amazon Q Developer を検索しサービスページにアクセス。Start URL とリージョンを確認。 -![Amazon Q](/docs/organizer/assets/day0/amazon-q-developer.png) +**Kiro:** +![Kiro](/docs/organizer/assets/day0/kiro.png) ```bash -# Q Developer Pro にログイン -q login +# Kiro にログイン +kiro-cli login -# Select login method => Use with Pro license +# Select login method => Use with IDC Account (Free の場合 Builder ID) # Enter Start URL => AWS コンソールで確認した値 # Enter Region => AWS コンソールで確認した Region -# 表示される URL にアクセスし、Amazon Q Developer の利用を許可 +# 表示される URL にアクセスし、認証・Kiro のアクセスを許可 # 認証後、確認 -q chat +kiro-cli ``` ### (Optional) 画像生成用 @@ -93,7 +96,7 @@ git clone https://github.com/aws-samples/aws-ml-enablement-workshop.git cd aws-ml-enablement-workshop/yourwork # 3. Q Developer CLI のカスタムエージェントを起動 -q chat --agent mock-builder +kiro-cli --agent mock-builder # 4. 「アプリを作りたい」など適当な指示を入力 # 5. アプリケーションの詳細を入力 diff --git a/yourwork/.amazonq/cli-agents/default-agent.json b/yourwork/.kiro/agents/default-agent.json similarity index 100% rename from yourwork/.amazonq/cli-agents/default-agent.json rename to yourwork/.kiro/agents/default-agent.json diff --git a/yourwork/.amazonq/cli-agents/mock-builder.json b/yourwork/.kiro/agents/mock-builder.json similarity index 100% rename from yourwork/.amazonq/cli-agents/mock-builder.json rename to yourwork/.kiro/agents/mock-builder.json diff --git a/yourwork/README.md b/yourwork/README.md index 237f389..295a7d8 100644 --- a/yourwork/README.md +++ b/yourwork/README.md @@ -37,11 +37,10 @@ cd aws-ml-enablement-workshop/yourwork pwd ``` -移っていることを確認ののち、Amazon Q Developer 等のツールを起動します。 +移っていることを確認ののち、Kiro CLI 等のツールを起動します。 ``` -q -# q chat でも構いません +kiro-cli ``` 以下、プロンプトについては "**🤖[Prompt]**" と明示しているので、そちらをコピー、編集して生成 AI のツールに入力してワークを進めてください。 @@ -50,7 +49,7 @@ q ### 実践編 : ユーザー行動の推定・確認 -ワークでは次のプロンプトを使用してください。Amazon Q Developer CLI などの生成 AI ツールに次のプロンプトを与えます。 +ワークでは次のプロンプトを使用してください。Kiro CLI などの生成 AI ツールに次のプロンプトを与えます。 > [!IMPORTANT] > 事前に、今回検討する顧客についてまとめたスライドが `customer.png` として `discovery` ディレクトリに保存されているか確認ください。 @@ -190,11 +189,11 @@ Invent を始める前に、事前準備したソリューションを評価し ``` yourwork -├── .amazonq/ # カスタムエージェント等、Q Developer CLI 用設定ファイルディレクトリ -├── prompt/ # プロンプトファイルディレクトリ -│ └── prompt.md # アプリケーション仕様記述ファイル -├── template/ # アプリケーションテンプレート -└── product/ # 生成されるアプリケーション(Q Developer CLI により作成されます) +├── .kiro/ # カスタムエージェント等、Kiro CLI 用設定ファイルディレクトリ +├── prompt/ # プロンプトファイルディレクトリ +│ └── prompt.md # アプリケーション仕様記述ファイル +├── template/ # アプリケーションテンプレート +└── product/ # 生成されるアプリケーション(Kiro CLI により作成されます) ``` ### モックの構築 @@ -206,7 +205,7 @@ yourwork #### 1. ディレクトリの移動 -`yourwork` で作業しているか確認します。いなければ、以下のコマンドを実行し、`yourwork` ディレクトリに移動します。 +**`yourwork` で作業しているか確認します。いなければ、以下のコマンドを実行し、`yourwork` ディレクトリに移動します。** ``` pwd @@ -250,12 +249,12 @@ Dashboard URL: https://dxxxxxxxxxx.cloudfront.net これらの情報は `4. カスタムエージェントの実行` で利用します。 -#### 3. Amazon Q Developer CLI の起動 +#### 3. Kiro CLI の起動 -以下のコマンドで Amazon Q Developer CLI のモデル構築用エージェントを起動します。 +以下のコマンドで Kiro CLI のモデル構築用エージェントを起動します。 ``` -q chat --agent mock-builder +kiro-cli --agent mock-builder ``` #### 4. カスタムエージェントの実行 @@ -271,7 +270,7 @@ q chat --agent mock-builder #### 4. ホスティングしたアプリケーションの削除 -AWS にデプロイしたアプリケーションを削除したい場合は、Q Developer CLI に、`/product/ ディレクトリを参照し、デプロイしたアプリケーションを削除したい` と伝えてください。 +AWS にデプロイしたアプリケーションを削除したい場合は、Kiro CLI に、`/product/ ディレクトリを参照し、デプロイしたアプリケーションを削除したい` と伝えてください。 各種リソースの削除が行われます。 ## Test/Iterate diff --git a/yourwork/prompt/prompt.md b/yourwork/prompt/prompt.md index eac8ed7..566db41 100644 --- a/yourwork/prompt/prompt.md +++ b/yourwork/prompt/prompt.md @@ -36,6 +36,7 @@ - `/template/DEPLOYMENT_GUIDE.md` の技術選定ガイドラインに従う - `/product/` ディレクトリを作成し、`/template/app/` の構成を参考にする - `template/TRACKER_INTEGRATION_GUIDE.md` に従ってトラッカーを完全に統合する +- **Tailwind CSS v4の設定**: `/template/app/src/styles/globals.css` を参考に、必ず `@theme` ディレクティブでカスタムカラーを定義し、`@layer base` 内にベーススタイルを記述すること From 642be8a8d4660fd4c23d12797ba046b82f441163 Mon Sep 17 00:00:00 2001 From: Takahiro Kubo Date: Tue, 25 Nov 2025 17:43:11 +0900 Subject: [PATCH 2/2] Update README.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 762fa83..dbcfa22 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ ML Enablement Workshop は、生成 AI を含めた AI/ML 技術をプロダク * [**Day0**](./docs/organizer/day0.md) で、開始条件の確認と開始前の準備事項を確認します * [**実践編**](./docs/organizer/day1.md) で Amazon のプロダクト開発プロセスを実践し、**生成 AI と共に**新規プロダクト / 機能のプレスリリースを複数作成します。同時に、それらから仮説検証を行うためのモックを構築します (参考 : [当日の流れ](https://github.com/aws-samples/aws-ml-enablement-workshop/tree/main/yourwork)) -* [**改善編**](./docs/organizer/day2.md) でモックを通じて得られた知見を統合し、参加者自信で Amazon のプロセスを実践しプレスリリースを更新します。その後、今後 3~6 カ月でリリースするための最初のステップを計画します +* [**改善編**](./docs/organizer/day2.md) でモックを通じて得られた知見を統合し、参加者自身で Amazon のプロセスを実践しプレスリリースを更新します。その後、今後 3~6 カ月でリリースするための最初のステップを計画します | Title |Day0: 目的と役割の確認|実践編: Amazon 流を実践|改善編: 仮説検証の自走を開始| |:--------|:---------|:------|:------|