From 7bee4f70712e22997198422733a74a7f927dc242 Mon Sep 17 00:00:00 2001 From: thecoadingmonk Date: Tue, 27 Oct 2020 08:55:29 +0530 Subject: [PATCH 1/7] docs: custom theme object for example app --- example/src/designSystem/darkTheme.tsx | 18 ++++ example/src/designSystem/lightTheme.tsx | 118 ++++++++++++++++++++++++ example/src/designSystem/theme.tsx | 9 +- 3 files changed, 140 insertions(+), 5 deletions(-) create mode 100644 example/src/designSystem/darkTheme.tsx create mode 100644 example/src/designSystem/lightTheme.tsx diff --git a/example/src/designSystem/darkTheme.tsx b/example/src/designSystem/darkTheme.tsx new file mode 100644 index 0000000..2b3aceb --- /dev/null +++ b/example/src/designSystem/darkTheme.tsx @@ -0,0 +1,18 @@ +import lightTheme from './lightTheme'; + +const darkTheme = { + ...lightTheme, + colors: { + lowPriority: '#B8EBB0', + mediumPriority: '#F0CA81', + highPriority: '#DE1D3E', + noteText: '#221C1D', + priorityText: '#221C1D', + categoryText: '#1F1B24', + timeStampText: '#666666', + backgroundColor: '#F9F9F9', + noteCardBackground: '#1F1B24', + }, +}; + +export default darkTheme; diff --git a/example/src/designSystem/lightTheme.tsx b/example/src/designSystem/lightTheme.tsx new file mode 100644 index 0000000..3422929 --- /dev/null +++ b/example/src/designSystem/lightTheme.tsx @@ -0,0 +1,118 @@ +import { Platform, TextStyle } from 'react-native'; + +const defaultFont = + Platform.OS === 'ios' + ? 'Arial' + : Platform.OS === 'android' + ? 'normal' + : 'Arial'; + +const fontSizes = { + note: 12, + pill: 10, + timeStamp: 11, +}; + +const lineHeights = { + note: 1.5, +}; + +const fonts = { + primary: defaultFont, +}; + +const fontWeights: { + normal: TextStyle['fontWeight']; + medium: TextStyle['fontWeight']; +} = { + medium: '500', + normal: 'normal', +}; + +const letterSpacings = {}; + +const spacing = { + 'none': 0, + '2xs': 2, + 'xs': 4, + 'sm': 6, + 'md': 8, + 'lg': 12, + 'xl': 16, + '2xl': 24, + '3xl': 32, + '4xl': 40, + '5xl': 48, + '6xl': 56, + '7xl': 64, +}; + +const zIndices = { + hide: -1, + base: 0, + docked: 10, + dropdown: 1000, + sticky: 1100, + banner: 1200, + overlay: 1300, + modal: 1400, + popover: 1500, + skipLink: 1600, + toast: 1700, + tooltip: 1800, +}; + +const iconSizes = {}; + +const borderRadius = { + noteCard: 4, + categoryPill: 4, + priorityPill: 20, + circle: 10000, +}; + +const colors = { + lowPriority: '#B8EBB0', + mediumPriority: '#F0CA81', + highPriority: '#DE1D3E', + noteText: '#221C1D', + priorityText: '#221C1D', + categoryText: '#ffffff', + timeStampText: '#666666', + backgroundColor: '#F9F9F9', + noteCardBackground: '#ffffff', +}; + +const shadows: { + 'xs': 2; + 'sm': 4; + 'md': 6; + 'lg': 8; + 'xl': 12; + '2xl': 16; + '3xl': 24; +} = { + 'xs': 2, + 'sm': 4, + 'md': 6, + 'lg': 8, + 'xl': 12, + '2xl': 16, + '3xl': 24, +}; + +const lightTheme = { + colors, + fonts, + fontSizes, + fontWeights, + lineHeights, + letterSpacings, + spacing, + zIndices, + iconSizes, + borderRadius, + shadows, +}; + +export default lightTheme; diff --git a/example/src/designSystem/theme.tsx b/example/src/designSystem/theme.tsx index f1a06e4..1cbb867 100644 --- a/example/src/designSystem/theme.tsx +++ b/example/src/designSystem/theme.tsx @@ -1,7 +1,6 @@ -import createThemeComponents, { - defaultDarkTheme, - defaultTheme, -} from 'react-native-typed-ui'; +import createThemeComponents from 'react-native-typed-ui'; +import darkTheme from './darkTheme'; +import lightTheme from './lightTheme'; export const { Box, @@ -15,6 +14,6 @@ export const { useThemeToggle, useChangeDarkTheme, useChangeLightTheme, -} = createThemeComponents(defaultTheme, defaultDarkTheme); +} = createThemeComponents(lightTheme, darkTheme); export type themeType = ReturnType; From 679d7a88571f99bdd103b27dc2cfe1325abc8fa3 Mon Sep 17 00:00:00 2001 From: thecoadingmonk Date: Sun, 15 Nov 2020 16:07:11 +0530 Subject: [PATCH 2/7] docs: created the example app --- example/package.json | 1 + example/src/App.tsx | 67 ++++++++++++------ example/src/assets/fonts/Poppins-Medium.ttf | Bin 0 -> 156480 bytes example/src/assets/fonts/Poppins-Regular.ttf | Bin 0 -> 158192 bytes example/src/components/Card.tsx | 17 ----- example/src/components/Category/Category.tsx | 26 +++++++ example/src/components/NoteCard/NoteCard.tsx | 52 ++++++++++++++ .../src/components/NoteHeader/NoteHeader.tsx | 21 ++++++ example/src/components/Priority/Priority.tsx | 48 +++++++++++++ .../src/components/ProfilePic/ProfilePic.tsx | 34 +++++++++ example/src/components/Search.tsx | 19 ----- .../src/components/TimeStamp/TimeStamp.tsx | 16 +++++ example/src/designSystem/darkTheme.tsx | 19 +++-- example/src/designSystem/lightTheme.tsx | 28 ++++---- example/src/designSystem/theme.tsx | 4 +- example/src/stories/Row.stories.js | 2 +- .../src/stories/components/PhoneExample.tsx | 2 +- example/yarn.lock | 5 ++ 18 files changed, 282 insertions(+), 79 deletions(-) create mode 100644 example/src/assets/fonts/Poppins-Medium.ttf create mode 100644 example/src/assets/fonts/Poppins-Regular.ttf delete mode 100644 example/src/components/Card.tsx create mode 100644 example/src/components/Category/Category.tsx create mode 100644 example/src/components/NoteCard/NoteCard.tsx create mode 100644 example/src/components/NoteHeader/NoteHeader.tsx create mode 100644 example/src/components/Priority/Priority.tsx create mode 100644 example/src/components/ProfilePic/ProfilePic.tsx delete mode 100644 example/src/components/Search.tsx create mode 100644 example/src/components/TimeStamp/TimeStamp.tsx diff --git a/example/package.json b/example/package.json index 729de84..16e3330 100644 --- a/example/package.json +++ b/example/package.json @@ -19,6 +19,7 @@ "expo": "^38.0.0", "expo-font": "~8.2.1", "expo-splash-screen": "^0.3.1", + "expo-status-bar": "^1.0.2", "react": "16.11.0", "react-dom": "16.11.0", "react-native": "0.62.2", diff --git a/example/src/App.tsx b/example/src/App.tsx index 3fee44b..7302d4c 100644 --- a/example/src/App.tsx +++ b/example/src/App.tsx @@ -1,10 +1,19 @@ import React from 'react'; import { SafeAreaView, ScrollView, StyleSheet } from 'react-native'; -import Card from './components/Card'; -import Search from './components/Search'; +import NoteHeader from './components/NoteHeader/NoteHeader'; import { Column, ThemeProvider, useTheme } from './designSystem/theme'; +import { useFonts } from 'expo-font'; +import { StatusBar } from 'expo-status-bar'; +import NoteCard from './components/NoteCard/NoteCard'; export default function App() { + const [loaded] = useFonts({ + poppinsMedium: require('./assets/fonts/Poppins-Medium.ttf'), + poppinsRegular: require('./assets/fonts/Poppins-Regular.ttf'), + }); + + if (!loaded) return null; + return ( @@ -16,27 +25,43 @@ function Home() { const theme = useTheme(); return ( - - - - - - - - - - - + + {/* TODO: spacing property for the column doesn't work if we use inside scroll view */} + + + + + + + - - + + ); } diff --git a/example/src/assets/fonts/Poppins-Medium.ttf b/example/src/assets/fonts/Poppins-Medium.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e90e87ed69a7ebb8d965ec248fb86286423f103f GIT binary patch literal 156480 zcmcG%2Yg(`)jquUZnG?_*;+|fU#+B7TS?n{QD5~gt$OdaWLt8R3&miH9cmzSl0bk! zfR`FtLTrbY03pCX)Pzt%LVXS4g@CnpzcX{o-Yt?%lJCdQXm>5|J#*&FDbGA}MnDJz zf+)e+0->O#rn0I!A|Yb4fXsUvK6TZ!G`F8xeB&7bnV%{UZ2Cn_duMs~;hGBsr0rRO zAa_@Ddx_@FmOcLx5Z-C{{o%2#Bir;5)_8aie^0(VwPo+*-OtO;hQE7TK)i38o){TV zz9V}|KzxcmGfcw=8#=@%;rA=yefIR$r9J0=^v?qL`$q(V*o(I;jEy{UtI8uFJ}?Oc z>)cyM_G}aVjL3!eN$~rb^CMd)R%ZVEselyRAP|Ue+qST{WO;J>dI2ec@5{PMAco%( z5MPl`!004`2*CzHj6e`4kCPMfM4?eh#7Q?PrNmd%2I5xg7k55;=bgl5cOJd-PVxzF zC3&%rde!HnNP@yI1cabkAP{zup9w$~LZ*mQ#3>VG@e)N=ZmwP%pP{_0_c>T8i@+tFZg+cF#Br{v{^Nn_UacS9ze%Ri- zU^AyCy+D58@h%ZMA}zCfRySbNlsU9%31V}nHNV7cEH-zQjJBFvV@OFf(F4LD$wcRY zWHxw%1p7CIlZ(z#rTurCm-4v<{t8s}j214enWw=V1Z;8K%i@qBs=*$E` z5|P_`h5ckfcFPa1ctEw5P{bvjeZqf^w&rUV+@6P57p|sf0i^qfKuC6gUUEP>WF*K| z0*#8bC`Kd12bL0ht$w_!dciT?Y_(KZR%o)#c4~&)vW@tvHG+(usdkPU%~KWT2Din~ z-0#qLdOUq#8t7TVC3u#Reil0eNz@+Lr;HZ=B(N7*sRC|waslAO4W~728$v* zO3|{6jQ0+US_qxdq%U>YhYew+@*NkYgH#5zuCyAxUK_{EjK(NKssQa9^%4bGwO*>w z6S=&Vm57x>HvYV+Po_25)hX%Oimrt^SAq7rk$;^>?BCF0Y3QG^&DZX+c~?XR^61M| zI_hS9L8)q8$GYxTS6B3wcZzLF3drV}v`g>3S@;lnbmzuh zeWoIPVF}WYAgaKMrC`M1m?2ijjV==d z%j8iH?Kn3?G~uXgtx!hOp#%gf}< zee=T4o%_4uV#+&|?IZAA=o@!K@FskE_+J%#<7RGN^je++!o?br&i5SL zPjq!RXq|?H=UIdRWdZKE>x<>M)p^p1r5o8GBdEb`E#TuimQ`f#U z(=T5qR~ucLdn9@_rIl#zR%#_Lnc9@5#g}OWK-rv53siD=4fg$S+VCN@FAuv0XzwRXRr$8C7m5 z?~0TZsY6 z3GM?48$rS_QTqFfiWG;E#RGX8qDvAjjk)O=Ifgu9O~F%B6xrztd6hE5`>j;u5KA?> zER}?m7GxEugb{IT3?pH4Qldk>IRQpeLjKivBY4wDs6IG{__W$#)u{>_d-}@BzcyCL zx`>SFMKo?D`L6Fq@LUOa%_S=QZijwF{j{~esn>3|1o#zEa@JYb6lbkxJq3J|Zvg&R z1<&0CKiT!lJ)d4kbIZ?vbivB%Fk{AA}keHgdaoQ z3bh2Xbf*5&TDH#2Zs~K_?ap4|b+a?ADu+V_KJOU(qpk4!S!lJxs?Q>{@RI~zC=h-D zKCDz=M^fTajmd!hIWd?j_$nqRr^`7y>l7GRGXlFHa}(OF_CcLt(3YJVlVGZ?HkUY zIA&CPf`r*TX@yTMPs?i58#iVwHSInsuc)OyBW|jW&&k*JnA9~g>YSnGjyj^%VYljP zs`c1~J}b`^+Uqaedu3Vk7LRwaNRi?(S_ibb@<;Ygjf>i=I``G9HFf1CD@r%9W@R8N zct$pY(#eg^s71m++7l<&3uVjGw{-V(4-k_IWxkv`#yD%r*FHVcAzPoJ)ammGG34WT zuE@9G8)bq#_)Zi)0#a{1gdi!573xaX*J)sW$hY>+X3SNL?sMxkww>fZ-=|)*l&SP( zu11HZy%c2!FQ^Se9$RxHxxS{n(&KR&jGac6&RE!_!B6#_Bp-pN<_l2l30E`nDp%}s zapfvNR>VXE@{#u+P}y|(s_tFerWP(Br-{09v!mLmte>B5oTc`X=P9x`Z_du%41<3- zGcPx*t*2>V#-nv;^EIlf*1GCB5A~KJd9y;XIa$HzmRtduGWmMI-X4cx+O@*iLBVoz zWqBrT#BLojDRXWkw&pk*TW!_d-aiQA(b%6*|2GBP*Q2p>RomQ zp4cb6;N2%^tN=ayYofqe(NU6o>31r#I!C2tFbZmvsKzJ(JHA?w24Xmk6ZiY zCk1v?fF_}l)-KPCZrDBS8Zk@8BFi+c>S~v^Z2efou91P=(PQ3og(G<2@jY8g+O$et zr_<4?&uyNV>L4=cI#-ZQ{sf)~ep-Ox5LlW}h#>1l)5t?&i1^vTx`x5=^5vH1gVpYH zyJM)`(?0F-9K%*rKt2ZF9FHm;o)yuF3CJ!Zb7?JN ze?Xi!a-ilwW8?mseZ$oA`5IWG?eLuZP-MxkHfAw$u+smnwjw8~1LWMHdjM4myA&~^gfJUaSr;=p!}2pJ zA8q|O%?YQ&to@onSEWatD=!u{3VW-Y2hU&ZKHAc7US}3HOg?n~1o6)FsJT~DZd7Ut zvLe^T#k%VH>iXs?4t993Ghv)e$I<=e}{9Q~xbVOBrk@jMCRgfaj$@Ru?rzJn$Gn28sZg{`D)KELx)Z9ll6UF)Yr7dL^gRQK=Vd~bri}d?@ zowdKi-mp#>)lpeL(Cdy$NX${|lzL02wn(j2_n3)!HlH!VXp;n}#KE)3q%+J~#?Dc| zPXvt1Gxw-;eJ0DW(LClLoZcS_o2dw=ORX()>G0Ivq^mV|7O8t}&fb!%J>It+>Qbju zt+q2U`EGb#G(-yed32cY2V-z1~QGu4@xFmN}XRDyUZokwSU?_P0Hrx9i$ltSHw4fu4ntB|tre@{Ir+ zrrj^Z8Ie?sbeXG=Alo(ONMz)*dnYyzIx81k&iP8mV5*lQQi};9N!g&kv$(0Gs)+KU zIPYD$w?J##T2r&drY(5H^KIVi`K5)8C2!T`<-e{pzQbGmNar-sdJtMb5Ak4ADESBx1S|^Hj#kWjwq<$d_OSua z?Dn26>N;WD`?udtebZiQgXe1S#Iuh*;qjd4VxC0jcRu_i6fHQHp@)PK284n-JSQG! zvN*BxEzhLS)}D1l7}eE5eI`tN|Ix=syY*c-r+cJg9#6}|k)n?A;x-+Q z6yK1=@C=A`o7j8-5(k{ALH3NFLZe|1YSb$I#7zI#%=9hPWn}gIwp~Qc0b{vco3Lqc zVfV<3H?(^^?MnwiRInAZ@Tc&tW@INUey`Lgg4p!B$H)hxAi7+pBWnP<`gnPxX})P) za%v?kdq1q2ysl~91h{Gq;HoiIW>}t&kw^E(FLk@OxyXL9quSZrQ@?Q|;Hj?a4*0;e z&0RZfY_w?H>vsX5O6wJ6un9P)2ye%zlEHRN`+V||<;mneXXTU$;Ce@YG8Ic)RF#!g zr77#`EXStvP?6TQrMhCqswsNX<9)iQGKa{mDr~E$Y6IJC_x(%Q2DV#(yni@7vwC67 zm-dnp1zjlo%4pV@Cg+D{mM&|Xv1l|Fa$2MtDI3{&>2|Vid6qDYT58Jl(J>qBXPOvnL+GvD5;iQU}qM}meJ6(EmYV!E@$nl6W zo!wpI(3Gzqms&<#wR0xDI=jGAw?r+GdoOyBcq1z(IXgl;Qm4>0T5a_jMQKy9WunYJ zl)BMYU@xEYcpdC-@1FO)6Ux21d(jE z);VppPC09)QiX{fW^boxy?1{@gWcZPWFyH&o4uhPUXw@n#P8~;m@?PeY_(vRl{4mQ zyS`%GB4jc02D_uF$!V{Drm4w+ejVJmpwjn@u#Ws3vNQ`?naFj?qe*7nBg~RE2gq^# z^)i}2sWwiOkjNGH!n)-N>UF(QX)e)NJ;O28+U8MJwa(G3AF$}Vby?}hsMZF1PM*D3 z<)HoQ!saYpPNAi&gnIX;l)`~JZLK;vrn}PEuF7jP6qcnBc^^8-L_NxB{$gl5WjCN$9>;Q1vgJh?`i9c6kTp>$p>>bH|FG|M{J9Zl%ULLv;m_~!eTqN-f{_P2 zC;q%%a2x)-6?^F{frI{>I1an_bbfFx$diLBH8wv`&_0%(PR_F;UCF{iG_zr#8R322 z-vvT5(-o(KWI!T7WKgwM$nL0OWW#Sw^ehI!Gjf?+mcUk8AUrXSz!qKgrks4!m}_*e zdCZxfma){#;4;DyD&>z=Rc1?7m4)~PMp}xqQ`_~90rmW#b3iR|G%%oyXK!t#*<6YK zV5@qGj0D*L2?QS%27Hl|k^2I$7X=gs!N3cOZj)py);jIW12R~qP-Ky2l=sP=W&svM zo2sXLU+a!TH1;w>9%aFmq9(O_XXRjzA9fL-d8gjMSW6blxWFC`5P$T&hv$8e#6De+ z3S)t3-N-InV<6z6B^SLr$s>egXY<54e7vIMbGv_!mFEQ3(s*L*38EHgN2?kGu!I3#wFxaUqwT9@{{H19L8j`Da&wHOQym zW>^<3;UNtulJUGXlQ-e9;QAlZW!O!YF@Yi!(I9W~))80lj=ui7@Nfni;}cUIJwZSQ zwj5s+#xSyQMUE`zV?hG;B%3e-kp=OJwy2K;sf?u|#DMiw2Z-PK-ou}N8sMo85dZZ3 zA0Ejs$Ts->4G2HxRui}!2=7d-O}5S9N}HU0nJKhGifrV;NHPm+1inWIYlTCRxGFn| zv^?oAuz!p8zP{#aYj`+R)`R5LkX-@VLC`@0r^tcUin0WpiqJ*1p1ivG!uE@<4_{CB z?<7W>cR8;(H*6_A&`ht*SIKLz#$ctOwMp*r{TbK4edGj4gLay^Rf!hI+O@AYh6sw(f1Sd&c_-;TBt8*D5uyR^48S^N}g?2CUC`RN)h_UN%B;CYLGL0Gg{8aoHxM zdN+6*+EJN%!PiX9ONiN07pd1>+sdNsG>qnr5;dBVH5?XQio8)XNiL2SsEwhy_u80-h zM`iGe*n`t$^i&rq*11?wucDqB8c9rut&VAS!Dm&1s`(J+M_i(SbGe~n7~ z&s%SCB`SFfb%Lu;PjoRwF;u72-jdkiVi>0ILgm3o!$U zNNH8dc-zcDWo43Zlsd4ntKK$fm|dlsM4sh4YlCsdO|DWx!b8E9x=6@sL558T#YIxY zVsmBltOS_|pbwlZV{=X-yUdI2jf)QFQhmpwiJI=N)Zp5&!h@bj?Vhc$&DB8VSh2-k z(Oy)YqlCH<@)cAylIw8QD9GW}0DPdZ(*0#AZ+-6avkX0A(udBq0(PFM&}iva#}LGs5%7gpVYsyguNUV<}TL&M6yH zs8LTeK`n;rGGZB3WT-O3lN!s_WA$|U%b_C66X@_d zI+I#VCeP&+V?^}ob=cpj`!8S%F`{ej60Gr3e+7o(@@Db`wsPz{72t1D#FMU z-W(#5c!~NbvMuG+xmbv*mn=aGo;`l`g=&Z_0qmILDu}DTaQ>bpXk$L- zsxO=&W(m5P&)Mqh3+DSLn9re_0;_~wTi;#6V~9V%vO>TVWSzOGsY+#PYOZiB7hb|2 z0ZH$xi}dijunWNdZOoA2cGEOgWo6*9 zNMK6u7W|r2!uJ6_Oz+gwc|k0bM7|H-HjMs z(d8x-@VZMEi}jLm6=LZzjl$mQ%w zOiwo!jOoOeydg@ExACUG$JejF4 zbJLK{Qk9qG)?GQ`4+stgZKUuc>i1sErU=u}S?4KjrSg%cVuQB0dpu^xK>3tu ztU|AMI$insCcCq^)Hw=t_`dCSbJBXN$3Yw) z(XmTv>Kyth50O*QyG1)-*OZm%OR9Ptg&HfS%TKi1I%0$pvDz^@19sUcc$m0>Sb=;# z3G~2?3Z#|r3v*ZhK&`s5aHtMgwyGkdsgPLdtF7rPs4H>zxlDzHCSzfd3G7F39sG|Z z|Ay>`fP9W1r^&y0Q{V%57W%sn@!tVc4*jj1{tcpm`6c{|LP5Rn8&MYdOT3p-0a8h% zn-oHXSz*U5M!^oW40Dq}+c~mEe-Xv31?1&fbdXecdLB7)PxX$IEel5K=)p3VtLz{^ zg?g2}-e4Sc4DXWc5*k#cMunl+R;SmERrGHc?G$Q@i*>|Lx5ZKK5XsbsmgMzLJ7}6?Zlf)%aQhNJtd~e8Def?Vs2qtyN>!TQARyUW-gJ*(QOsY3a8Pv zI5D+t;-aX6lD6pj_I6mYANi66Ny0*;acP`3F0tf8QQWEj1qpm-!{3|@{Ge#a)s>(= zsnV!4CK?l^i9_y^D*3>Wd}ugxc$h4$U%6R0Qj0$r${ZdNfHi1*-;h0ID)v`2##sX# z&>_Jb__0HROVO;LLC`*o_KEasw)8>%jPED@Td(=w&wnoAN!qk23H{m2zWAJdLDaFY zs9E+Eah!ccm9VdfXV_QNB>ReJWncX-`(i))f_Nt}anmOFlg0cjW`344KWmtut<29R z=4VUL-#eN2TIQ#m`H5!HM!qb#7S3$IEDC9Tvj;bR+u7I79K;}B?&(>;=PY_*rTP9r zbQ4$NC>~4aK%21I=tW{oB5sIDtj!%gLXHzXE@eJWTt123I66~qivdqB^W6++QyUq|wJF(*eI z)3+4U%rR0-qCDQWh%w$&*r|3R>Ddi7B@$I{#A_4z7!dW$`D2?l#%+9Y+quN|ppd1@ z{vx^H@a{8Yk@-Hw2sBh(w8T;ccu=;k$i&h|_K` z2Qte>G1|#;`8X&DQ3fQ^LOT}l{=v`D!2QW%*KF)}CcJVUS!=YV=&xCun^QL6b!xho<{ih?K0S@4M z6YqVXIsq*qp@Pt}1{umh8~xuUV&uNL0hWih$vaH*(BAY3h`FBVfu+U4u@S^Y8@ZO| zqFpJx4?I`_J`07u9}Hf9dd!x9BaN*62=CiFe&Z}5{omYGIBCy$FC{Mb5tx^THXjFm zN0em|`K~poX=vp42vK#5a7R|MRk2*O1BlsayO*b)*+OV9U%zM6HD(r#Nh`HHhFb5= zxGTLK!b_1DhhHZujGir}ZJJzti`CqONNRlzL?oR4glFG?@m&Rqz--Y-FA@b_C14?8 zh-w3^hqvyQ?A~&?btsgr)_-X8RTo}(_2#p>d5ksRbr>&BqERzk0R~zja^xYbwb8a8 zpk;TYV>~=_t>>(y8;=~hA@S_quF%O!qVGtqOkpmV5!fz@*W@e96JK9Q?2&aC zY6fNq+d^&GP@4B^@)KmN|NN(z=*!o3HPkKGw941OMg?x)Bbf1qm|%2tl_rWIvLX=X z3`uWs3L*9NInV9BC_GNj@!oP$h`&m1kzBDiEMU*$z8xo#7QuJ>R}D^1P@H4HA&wBq zvESCOCywp7-m{hAzg^C!zdaZg@yrd9ontHk4#wT!`!#03A*L`+DuSaZogtr&1sAmu z1=N_+GU1+2jQjA%eeJ943-GyczWar}F#1%EFOGaEZ({(t3{;88`H7jZckj^O7Kye$ zsdT+&h7&jC-6GuK{gB-#fa$+yg%~-at2K0%grUV@`#nh_UYwtwi4#IlIkH_krGQ)u zG2qez`7CD1B?0nS;J16QE*|y>Dh|(+i;g_D?aIpe(=p}liI05d zQtMpR>RdUPX%F5J15}aA6S=Sq_6K}9jQt1DFSWHvqVB-7c45K@Sn>+eDx2p?d;*+CWMs`hA5Q)?e)dhK_K$^pP zxgWFUlEC_u%(}qV$EL1KunJ|)4XrE@bN7t*cF%3^>87p~w*BRvd#HbQl>lq67_;Z@ z^%DL2%Ez{iwRR2N>+#&%p(`rXx!|eDLQar~K}Sa~W-anu&?+ptn2iMW_1RDFIwu^H z?zx1RcO^fTTy=oAae>)%cz3k}^WL&hMFGg=4}}MP4`Df8#hGm);*GGr(C=|*{~CsJ zwjt%g9Y;rYuEsfgG-30@7mCiBScP?#wt1g-y#-?$`Da;;U}k^J2AI-Dh+3YjoCEBFG5pMY5>WTv}``Ey4Vnn{t02 z@k#SJQ8yQix^$gtNLZ}BrQ1kSOngK=M#{^J3T%YEps)h{^ox zN-WlrsCDZ-Qwu$BbJR4Pl`Z4_2v~JIZW^9wZfUK_PRmGJ$A@PwNmzX>VZLoJHdjD5c?!5tM^|t0FdrXW-Oud<% z4JVJXlF6gT0ZR=&uJ$;f_blw7F8B>>?-`mI*g+^FZQP+H*rN)-AL=>3fKcXt3xVK| zjXBMB=4b@9ksTJIVxyC7XADccjRuvKj80-9kIUi{T=ZKNq1ecqjIe0M)qI)4p%&iX za0XufCz3jC_5sA+&&o>NWUi?*S60tTH~s}>CwGY&SpGh>#7TLqKod&jmqu>6e*C@X#Kdl0MhQNK6wkzAtPCEW&Vb9S{k>3W4ibF5zilIy|e3m{EvPA=D3M6-HqQ zXm|aLogc;A4-E!8yN)N4+sVD4ONA|+i|@#Iy~plI;nW= zdV)_o#GJ2l8P?&oIEy(z{N8s2&&10N>kwf*P$q1|ahrh$A&qAN7f2&m;$d;oLpzRa z2*W*e%w``y8iswypk9{H@v>Mkm$C++f&qxwDip*J5NuT*VmJT{=Pqw@Ttt++$ilM` z2{h4|k@%h;>8hmWi7Tl0(0(}ePy`R>^8TH;X_k7P_MTVb6KBO7yIl*^t<$4jGEhBO zmy~8HUh&x~Ko|M3Pw>D!g!p>8K~zh4h|BY^_g92z?gc#Fd&s-Msu7QZV@<8aSVTgQ zcX{o^l{@3^ye&M$RZh6yMp}5Huc0Rh-SQqL2Io)G%#J4*{^HGy4Swu<3ftzR41e** z%;*2`9cOH|9VE>X{Dk@Zx4t9z^Q##C;!l~+zxCaONA@;(9sEAxFT&0~WXH^kg>ux7 zq!2P8dEEn;#YkL(Q4|lc<2w*O070SBiL-Z6U!xTQlh}#%g;n zr!P&Sehx@Ve7nItI8(l-8R_HI>2B&?21Idh19k{PQ2qxq8!?wqiV7FJ*iHwY!0NkN ztD-(V_a)Kl497kqdqVN4NT$WWXD>FrsPW<(|eGZ7)!*jlkmWkL!~m0Fz@nXi0g%Ta0c zX_%3wVfl%RiSXn|@GI3Ye~2BK0a+8UJ^br1JVwFw>w*J)$jM&%TnIif#Gn%%;%w?G z;)Tv|*hD7{Oi;Usg%K2IQSNp>$CZRc_H=AX^l;*yx8LSq31CeAmcb+jiEF60$)opn z_%R8}OJfqy0`Bk#^%l0C6XXGybzsK93JQTFz@hUAln1n>l=tithprCgQ07l%za_bm z_|YLA9KqvJE-`q-z4ZDOZtxwzqkWFyFedu_dg$Df2=zvLw7IByB^};75gRr)`^jyW zNn>b2fJ2bVHx3dJSMxy#OACiT5LpAyOFwT4!X669tTI37fU>ibnAI4I*ewKNHA;p4 zbt*u^L~sKpHfE&#Ysa&ZnA=EQ?5;H+ej{QxDk_tGf)kkFcvd%JIO2@xDe@vbizqq* zhJfY`Zxw`PI0`q(q`-0{)>FzLh=Kgcn~7f>A%W@G8VW9W&4haCS9DYyWB85_((?&? z$1T_k(lx#i^r}H;gwSdRyW+M?L(igN4h^3PZoqQWv?bw}r@j{6ziO3FQy{&sG6&L5 za?D4R+epKd_?QEE5ql!7f#W~o3Sam~&>*TmDv;d&Rs|AJHZf)WZ1{3s_>uSjRxjt- zvgAz5c)XVU^+^q0&Hr|V!mmlgoPk=STA^Z?8Zhj6s8z}qst8qrbmfj_;#01Ip;5}! zYM5MJ-5#!<`4wA_u2R=L!WEz>4)HT;gbah_ax8h?{xQm_10K9eetpva@bG!|5$@@@ zVi!U#ieoR{rNY*C+UOf#Zm3E}k=V&A&V^sG=Mn;o^Mli_27EwajhY;E0wLj5kje#^ zSD#>-w<AV!JFB*lZoK$CcTS?)>pt0z)bAm8FW${!H2{GTQ*gj z%A7&nn4M`HPFh*d#&p@sx17i? zrSwIL)b79rUOk-QWpS;%z-vHf?OD)JF0i?)c-ld04wC;>nxjE-02ao_NJIfkZx*+u z>f2phczu0M&_WZR`@Z+)1W!3(%yBlf*lN00-eyON1_({7#{2c{No{uOrNDk^FXb0^ z)Y%+W(8uZlZY((81s?-vBq8&+32Nyvuxx_0rGz<<2F^)Z~TLy=i^)$iw00v z=sx4$*{2T!BDMjY!G^V0L>tM)yN`74kr*%>;s5bFJdtFTF~kdsuX}FWlRIi+ysyH@ zbgju=A3LVNHc-(Cj=Ioc9V^YBhM^VZQGfQ2iH-qfFeW9O)8woSHnQ>Vg>sGIh!SC& z7Yr?jJ%$-zWs)-7|7c*Ej4Ue(8HuE4<)OTPB{Z6e^Dx-qO=Cxbtc-4wwBX5Chm7Ls z#PfffS3FO*PU6iCW|oNhVH~KFbsYAv$Y&x~qW9;U5;*nAHn>K|jZySMWIFVpj69Ik z<8q7|OyjP+wD?3vW2045o;h)_Ys}LYpWU!jUUwt$rS~Nf$mbJ46ONe**einug3VQ~ zmV$~LA919)p|-8vFy-EA_S}v-Dx<99V)4x&73zb4_{`YD1xNq_pswg^u4Ra>U^fBg zBH>4bn|Ym~M4~di(;B?2fBC+5HogJ+IK|hWefi4mthQyGw})=>S2Jf_Gh~geogobo zk116Kot3v9IG2vc37}0YjMD^XWV-}od|#!+ql01vD;(*YUBqEm3CbWCua1YEgYYu0 z^-O?`Nn4kvp%2aSQE}3EeJkAV<yac9-Sw$ahhI0cpsmc zU%h(G>7~z6q8LqQLGXVxLbmh=Gs)&Vd1(~e4rjvxdo-J{8A2yG$NNG?YY8;WIrXiq zR%d9A&0VS?uHic8ocaS_3v>$|RSskDaqBm=wS`RcSE(7$Vdu%*B9|jiNj=8vvm@~< zho0%L0ckJ`>d>h$z?C?&Udwx;xy4JEYrTd}=+ph#q%tO{VKoU_5r4gRCUIwH+x|)- zqM|s&p$dPOA~$!J9z{*s`pv^8@5%m6vCzOReiJne8H_()CO_!)?t<=ZWy|eF`VjXT z!SCUA++~3FZW02eESLC)j4RPk#K_m`1Z8Nq+#d(Iq3iYPH8Qu;M8eP6UT{qs)C(@O z91t&EaN|RBE{FFq2!!h96iUd>uD@H{{h8U&ElwOJ5%WB$%bkEosLZBb^$&}Vgy}G< zA{+{fm$2sAWHxsIX;OC z{gId&{8656P!<0Fw|;n;6~6`-eYA?+x~HR}9EG8J`{Rlw=S!rw#~Ho7&*|;wOy1=k z;u5gcG&%0cFAk&0xP4(XX@%MySJ_i+xedM<=b&hBH5d9QI|TKD4#6<(+c*Gc^<)Iq z*nG5tj?+?cz}nA7q;=GRkq;}1?_#?#hI8O2ytQ>n@-ZuF)7S(4j*Nn47ZuR0apmWn zlIqx|jozPdT4I_vR)=xxzf$JptDvJJI6vw$)X_2Tbt`9M!*q8?>UmBvfIon8l%N;X zU)l_3oH>ur!I5iZX-F}sFDqRE$pVw}90uhAp0Py9bYzSWSL#D;#JTckPeN%$mlrvG z@~qo$U&&y{FBEf)F~CF8jT_}DmZ}hAIBqwloH(9eGJAshJ2&7HO#2LG4F!%9`4}AA z{+lD^PyT;l)GHtICjH+XKJ_WgZEo8}~kB@a3I!jl!u(OTfqat1T?xs9r=nOlx8{E#? zrwY`weUC(l8b$)k4V00AEuRNts}b~K9PP||VXl?a$VBM=A%CV01(`Nr<%@4zqjM$^ z4#SY#KEW)^EI)>K)1I>g(AKlS18bTBb=Xmz4U6HhROt^+9jxChpLDg&Z?@Z49s)%OUu0H*_e7=N;2DAi7P+1`Yv>3?LF6uRfrpw@GF<_(=)^yuOc(yZWLBGT zcbqUrA$&bOhi$3qePM8;scpupjgO}q0}8c(W~-B7EF*%~bM<(0Wwl%Hk_44%BGmOo z+yz}AH0vaur2Z<5IyK2Q ziV^s`qbuXM&U8MQQI(6|qTUM>#+q{Xkwv|+sxB&t*Q)poyuP_I+j4 zH>>O5x9*O|$tO?U&*@<9(V_m)ZU~D^Ff7~Mvi4|UfV}bcH}}n~BU^@1ziA;FrRXWf z7NA7|AD00P@=OK_&1l)&7t!lDSSkpw55Ib{}7U#>b@XjPjEd;WdN)EKqI zj+i`w7%l$R&JPx8ptW;?Y^_m44_lp8Q}}D%z^P?kWS~*!ZzMSo4^W;{g?bp_Y>%x5 zd5n=Y{2iRk<3c}R{E+qphJHy-U|Z!dj!t6t-qA{}gHT`5zez+q109!FB$vt+aquTCng zLoMl-pf7}GdO&0JdSQwRH=}{;-n3 zsYN90@!nrb#OCa%zWlpO1C|uKi&LsRoec%9t(;um-VWZKKPf#5IzjtZO@M5VGg@IW zw*N#OKw1Tb_}!xcI>E3U*-(Dw z8d)Fv8Z4^62Lq2-FW*Fb3VK0V_JZJC)S2i^Zyr!$m>BgCs!WkY*68CqIr6R763*5G>4x9@U#6%!BKp%(rQYPRp7@t18w z%#K!6vVGg;*YFx8+dy++bM@&K=NIhSL|X4PXFxRviZ9OX90;i9XvPRauCw3{wl=|_ zV3xK?oW0Ox4pK4w3N8eoTj~HB&m)Imbuy_+CjT$M=X0zPW?|z}$NyRa5Vx!bNF#7@ z+wh?TeFwi)xMcsSY^IHP%a*u7@9$A#aq^GwQJ%KPsDXRk&IaO09rX~j5;sFjaq>^> z1#ghwJttQJZ=|<9-``N&yU2DLZ>)&lvzxi+jlKCzne`a+$zHbYILYUY_*TSQK~LGh zxp0T^X5q91Wel6a(dt4RCG4^M8W3;A4hy!!v>OKJP5Mgeuk3&@Dy+ieP(ok)AESQc z#5#y&D88+T{{iEZgB|d8)fvBx=Rep8c*A369gh!h*7yeqtBp>H(2m^b}iiB^HXND#38g<<8m^W_-O08#!HJb75>@vFtdl} zcyL}@l95Th$qpQE);Kh9%MZ4A@mDa?Ovu*lz@O=0XOs3FVTa1vJ2QcP!v?k^I12v= zc`&8;t9>)K5BJ-;6H*$B1ID`H)DMwe?;LecCTdzby?EflCvLypdks6qAP8#bf)xK`NJ1Kaq0tRS=US@nhL!yqInn2Kh-=) z4s`;3!22Q3!ht=oC9g1KTYD5Y`abwP z9b$1UTf@^8+nU2?3>=oR-vqLeIvARLkb4vNK^@a?cMYecwrT=&u(+b4O~B|$N$s~m z5wr3Uc5lbH@`ZYerv@lv44U-J5Iqde=PC+Ip>|>P(9SDca#=;t{aRIGG-AIdVi-;Q zOZ*-nIE8Q?s0onH5CkWjV+#as1b*j+;saXke%FxATO7g$2E*xHh}PHgJ)Q8nw5(C) zN}QF4vA1j5vdPvqW7BSm_dbs_Lv*lf!+&Ltr&aFvdklC3d-3E4-bLE`)s~?vbtH^( zILFRd1{!x35eIsZGTsn*2bK6F=qVpgt-JmEI?#{`CkOsJal+|^&QL>rK3DAd9R(lS z7oXfaOVw+b>vVdiBTWHeK(fyJ^H%RNQUVSkr}#M6(Le&W5J(FsNIk$qGGLh6pL z-x+S(hT$H0;BX3x4YW`uqN)QNlmN zIXqyE0r$^I4&g0_=A}&et`_=i=V=GpX73p$(V@0G$$NsXt8Pm}lvH8lv36^+{q~u2&~+ZC zRYSY8X*5b`ohU;{;I{-5uk-Vz=qobk_y#S`T;saTU=!xuo=NYQqCRwp!PdxMe@Z^z z3rUHK$gqMUn}ojHp~OioE{^zdG4FcM?)H^qeCZ{hy#MHEpLnbt5O1&C>C|Y; z%J3zzkVam4mbT8^siIq)St=dDgYmR<46W;#fei8uhg$7$s!JX8F0klI7*#$XzgGUJ zXpLhd3Okh0CSjs0S^5TZndV!3(M5MrwvekeAqenq)(jRo_@Yh5M%Kfc(bN5c_(6$2 zm5Z~puo7cG72z9sFyizAF-C>lZEwea?YLWB`5Yx!;aGOQPD2$f|mH`gw1fJXzWh{ z26sQJh6v=p>lB>={uE181XVjvA|*5^La`7} zJAzwqWZ*Y$35;_hTCCQcnP2ZE+NAhM_S(X^Y~K(yib5Qo0z16~-o+{~V_XH!u$(D& z$$1di69Z02*fl8=9bOH147^BnJ72@%^UwHF)exoAK16f~`#fmG=bwE}-c@7`3Z~QRokfs$SR9jw7Z1zyRDB=mhFM(aicykdIQgw$s&SQ%EWIQP+t zHwNyvp@wni^M!=vv+9+m!7}0-PVtHsAx2a>c;GTdHZJ}JBrg8mnY?ty? zL1BKgb9}Su+L1+k`=IE{_gDU4Da$J@bGc0wO)^o`u6DvneHuz=HfiRDJpQiT?3IPC z=BWC1>UTjLW)VUF(;$MII1V!k$grju?2p&E8Xz$wE8^?%3oZnR@iy>9|G=)v*`JU; zRWZ5~3ojO|T-Lft8aGqh<^7$dOk+WVAYTY~ud<<3Rm2nD`?}GU;3z-Aj)HiJyK$M; z{DUBW3TVEZZ?|D(=Q|Bvy@=2(KN;;o?8E98vJ{K;Ob;f}^DBQI72~v*N?@;sBrgfP ztr^^rnb()e`+84xQZ)7;e#!mLjahMLgY4P(hI!84a`u86k}xq0&?eN18q`mpR|MsY z&c??N%chc?XASLzR^{XuIgZ9wTXpwJz33XRt|>Os`JSV(39fR(=MByJg}~-b(6rq9 za-*ZMpw?oA%a~B+y;&Rs@)QFm#Perh228FQ*e)Fmfo@=h&V0!O4T3?0*x+q2itMgN zxKDETZE0}#+PKx4bQwZ5WMZSy`SR#GoecZFOzJRY9*Dm#hT%KQbUnT(Pv2TId4LtL$y(b(kWg}a<3%TfvM9UB>6{wkL?dRlO5&q} z?u@51&Pk9jg+6EGkM4dAB6I--Cjm%D1Kw!Al<(yEYdQe`7fK*iMuZ7 znuaqSD~*h#z*uSi?OJDBXceGn$3$|-i&!XIj;9wN)D7TTidt6hB(dQJ|2@5Cn+G}| zobpPv-W~p}YdCcg(pi;0*j}vUU+HUv)&|gWCfiRyqVZIO`Er;ulhGq`15WLE!gHfQ z0}$WDz^Om+i?0#&N8RDwmt5)Lj;J&{*j(xEqYBu$M;8Vts=P8anE zC$DhbsX6g3Ea~-0%?5ns`45SBqq9oysA?Tp+%fpGTadW7+{oO)DxCmn(C!_Uhp}}9 zrz!4*f4(`DVFZSDIT9(XY_xYLoq+wix!PSv)~TkEP&`d;)1w3b8@f8aJ1jl$-eV&@ z_?Rye^*NRPvI7N3xV${{|8vhqBA!kE-(H1^-uA(Dy|Z|YV!M?lg48x(lk%hvFweE* zhJ=%b?eKX(&~`496-g7>Vq?R#LBi8!V5E<-etVy^By8cK%E5LK#yaqsRZn0Ef+~>v z#8<#b5aW{`$?BaR!&xuRob_@cG;UyqpcP-SJatFt9o0YNEQCl`kIt@m#CN{?1itR1 z2+hFPp?6lVKvvT`y}lhC0S6%=8_gCy12W@|g^Ud|7ZwLtj^EH3?IL2G(8A{xCf(}SW>@`= zn3Y!1JI`$kqzaa6`TEmMdpyUm6uy(95s<>p?sR}D(n~$)PLr_H&6h|Rj>cC%f56E!v49V-UW<6-uH;3yh$Hn-94+c@FzJV{qA0(^!V-^a@MXvU&f zu@f}@0C2p2dFEaQU{1exwIE)i)*(RI<-&k6aV>`?mjo)s`zHh+J2U_vGx+hx zcuut7^>{086^Z;FE)0PDF$*9^UB$^p=;R&^ocTNTwwPQCK`toZiQ_b?J)=^%e~~t12uJyyfMq{z&Iv_u=B2SOwd^Gj51$#W=3b z;;!M)TvJF48i=j0t0b0SvPS?iM3ivIxL-Flzv13OKHb-odjR zfKHxvj)NhycLJjrEh-bbPJJZ$X06c0tcGym3TMan;k8i;`vM4~46O53k6n1v0Qr3m zfY2h=ZOE#@gtT7-PvUQc+ms-Yq@nl-p*!M~yK)jkk} zSV0Wl4q7jUGg{^Bo)c@W%F~ZYfSocIf8{~gm3TWY5?iJsRvpwu-u1I}T~s48utHK1 z4#nzphaVO7lgbl#U_><^$AVEQU{pmgQ-S+vrymg?3un`c07y%$z!BTCoPOEWD4{*`BvjoNz-~rj&D|q2EO9J;|q8ty-f(2m? z81)iMFw)h$7LS8?lu^z)n3SPDe2e+H7^yH4l}v zX_dN8r=t_y$7ULJR^+y~BhU+aY%w?Y0rE8slIk%lj63s*S2DfR8ctj!EiNlzrJNoB zyBY&vS3f|GY}h>ISQ`qX=i>qxC5xUj zIrmyKlBng?UdZW-FTf>N>txL2s>2wiJy`UqN@&>xvw#^bZSD|(4{?PU%B=q-o`F5V zdVG4EEm^?F(^b`)m-I0=X=Br;_Xd~)>u9*&XZ6UOT>CQ8{68)&p)TOAHTTZtoG${yH0OAy0d^0;t;v?cfl$OqMv%z4k+}pJ0N~_*zJ_1tAlW)Fzq_w-dp#lET(lnL<_c6K0Suvv7 zKH==yoYHTjCGq~O((b547icpzi40^?q1>8|@Sp}gM#fM<&2n*&epm%D`7|VNK+S{t z1Y}3N0kLd(O22z@7ojwoT^j1@j@jNCw`bh7v$1ixioP{btfF3M^WG}(jc#kLC2J~? zU0ye|Z%1mHqA<0)y{50Hrf!GRwOEHQQuN+F*+o=st*$dVL{12tph4<8@=lOeiSi@f zJO<&&Xcp1#2tw{Th*t?Qbdma5-q6R&ludAx;j;bmLC8vMdtLRJ^TrtWldHXYHp6T6N zm}q|iiseO;2G1{#U<{L;zC5YlGXaxrFgr`0&C03T*Vwqf2HjdIHc&6Nd8>&5W|F;M z4-VGX4Hh=y^7E%dyXQAWq$vv0GP-r{ZBFN6J-*7)d+$US;aI4ug~_(M;|ARBzCL$J zLjl$>LEZ<_r$JtfcIvT)xhdzCOsIOLV6og@0CDl)qH83vMc+NADbkyF4O35(&;6>S zwxPSLzOK`vvQ{-!7z(Ta^Y?DpIxu8`na?el@3nL#rt~@cw`}P3c)modrn=hxe3Z*> zs>lHdA9)t)A#xO?11w@AUea`BN0~m@uODwBfq`=)@qsAwr$#Fvs<@p zn;W0IP&iK3R~n7guF<*toI)*nXE3>)BXgsTKMLp0eV<+Qv01DB7JbXMqI7U zTJoxr9|Os^Ki4@o)>F}1keiiHRtsAz8@l$+w;pu6U8Pnmxv>T$A8DMR4w2*Mvyz`5 zE$VJ@cj;A%0!6xXeN3#`)l%Nnr=O{9m`sYRE(ww!`O=dj)M3X2h%?V`G4{;*ElzY^ z;(*OQz=dfwj0Y1vvUgg)3p|*@WZOmkk19M?Fx?2(p^9FjUTpP#d)LdYb)*~nu^$iY zS=hKfBc~x0GpMVc^U(Ia^%5{|8z>$5vRBA?7y<4(j^-dC5&4W@yIxh<5Et~UeIJu+ z)FZPwJ&Eq(mPuo&+Cpo(wz6Y8()2QU_@;Zcj@&|bOSy*lq%38#gb-FVT63uGbJ8zQ1&7wzEm|A4@niV@7U(#^dEKx!!mKvT8d}|e7-lN% zo{7}?=|Ok5Di3Z-tPys&o4e25(zD3_sHUmsoShx#*Snprn#w&52CAR@<135A7oN7p zUSu)ZX%Xwv35&C(ys^Khy|G8H$|}rGiMMl>yWd&_uCiRYnXU=Q{TQFn<7YgZgJ-HsJT~DZiGg}S&{4FVqJB8b$xRc z2Rrcnw%&V(T8Y}pOKf)1(ZJXf!q71)y4Eal7RIjUfa&l@O9+-|YARdu71@O_HSN`P z9k~imV!Z}h^O@B4YM6^sYLtBVSM&LWE!`DbYZ*N!hGIE4C(UIA6$w=9HQD*a?FLJy zEN!linFVUbZr3^*G)p)O$rk+zWLKg+cuw}|0b*@vZu#^uo;!L9#-#sJx ze{fQH1-E1kgc(tKL4A&H^CdO{#CVKuz>1@}pg{CDkR%QIOQGEce-*;SMZOSnu2(D* z)3Ln>?;SZ%bAXA4Kc)rou3S%FCj2ud6xI)tN4Lftnyg=BBcNX%S{j0me*m5hi=eUV1ra}X>M!)%D(N4P)6y+}k#+f>&dh2mD+ArZsfV$(0?5p8 z9AhyQCWYl`h$l$^&qv(DqaZHRGHqXBg!wugC^FgJJq(=-S^H-tV4@(@FW@E(_Qj7T&SO-tZQ-pX?3i+-B>Az2TLgiI1G&-f&J!6LbhZ zuy@}+bI8Up-E~Te`lF(oM(B=?oHgWzb{fN-+!@9K@|nEh&}~OxSb#GHw`5|&Y=Tw_ z8v$T9!L7$Ogc+f9>ECHXRva|mP zYK+FjFf+@)5i;D+VRCN>xg9e2R#onn$lxJ+D18fay(%dtnK@3wb6f=sjuAGeX4V!C zZ>$G^NnK-Xp;u<`79KjU$>fbN&uMrS2DTdG5A_braaj48R1a;(GW!0VwqwOgrYZ9N z{h0G`2K~p-Y(FD<4|?s;XR*=Qm$+~ZcKjn@dTP-7N5IEJ?#Kws7p-HAj%ZPbEpF_h z_m(H9*8_X&)HT(#(Jj9nTdVrE$YiE`M{~UQFXR;&`TA}h^xL6Yxjs9X?7tAyRwvUv z-QI|oaqEI_(uh9Tqc8ENGDNJ|Va+4JK`N*9Nzu?M~RVSl7cx*Witn! z!@=1qgh2EkNwIwnvKw}m=V#wc_`EL&6KGJlvz2c0Z|h0*z^*dsdkfC-q0C6hW+V)| zCBPuC4*+gLAT@zTG~v`IWJut_p>^2ivAPa?-N4TBvMY)9^DNNi+AewqP6|Q0dWMhy zjqxtrS>DoIhc6r0VfNsL^uR;t8<)_%=y8Q05TU&R)PbI<_Zi<5;EUK{(@T*?u>wQ? zG#mOi%y*44qJc`t%`{16Wmt6fDm#6AO@-a*!!shf74UP|p~Q$cqq^Xw6kJvEeFZ|| zFefNZbnEg=;!?++E7$FA>+5JvQ7--9sskT*W;BH=y=X`j@BNNkOjkfHc6d(#0d3NU zOmLH&cL}2T>LC{~$Yd*`yFshy z_A@5?ME)wAW>F-^*2Lel7u`+MPL0+fQ#vm`lm8!U?*ZRdbv=&zJ-sKzabjn9#Cu!b zmaJ`AmgFVNds`myUa_6+?1W87NEivD%$8Eh`W7gokU%MfFiRMWRf;!$mUo zxZ#V~ck;aePZ4CR_(>lE2^WRSEB73zg>5fpNJ$G@(w5G_j^@~m-Phi6DLvEGHa9E3 zep&r%MGi-GL))I6J9a=H8!)MV;~LMc(SQfCQwd#3ZI2%#APyyM(|`gKjfaj8Z&}gh zG3I)?BBt;oG6x91SQsw8dt5?67oO^aZxg&k^r@+06^bz3Xz9iObUW{E)ggO@|rd5b;0^^ z@F1Yk9X`;@uf@Yzy$1a(+MEO9efEq=u|tzs#o0aNUfCYN(uBJlg4%(ex#od!OXU&M z$*vAEgnM90?#%=24q%;IZVq&-6UNoDLFQeC6=SNw~`wK>WmgDz=&D zaZQP9I%dMdm((tI6!WfMQOQM>lCgifsvNP&Xivb(Bwd* zr%c$OB)sv(p`wu3Tx4LS{A&Ej_aB3Sl^b1CFfL(KD)ZA!r8WS+xBfQySR^RHD%3yb0-nUhcK4{CK&=% z1L;X5HG?V1Oa0fq9NPsN((0aKZv9AD=z`unfaY1_a^Rq-AB9~lyu^7R05oVz3vcVB zqd1?(ibK_e3Qxby1DJRtmu)zIgxVF=q9yy4n+|2@bnXh~%(>I2X>pk4{RP^-)~{Hq zdxf&7vmSOXSCy`E+MrnPz>{G#jn~J35I`~kXPwYQfMrSqY*$Fk7?1x*8udUVFos}K z0J`$lPJ1}?F+)8X?G*vDzBaJ1&}@;pUbbyD#scx-=QNZQ!^4M_N92|*Kv(~GgO}Yw z;N%TrlsfY^IxM2mA+CM7CxN8he047>SkSnNM06%bv z? z3;EaQ+>NTg#*dZ-u7QFE^$5k%=;f;<#ZUy(y8zP?(0)>HBk(B7EMJi;xepc)lnOb) z7L?zGU+11<3T|cz3{TBJsCuufjeCgRd3w-AvqP4%!Hx;+pk{k?qNs8w_P+{d|_L>_m z4S+$z#@Vq<(k%t+0C1N+kHJHLfd$u0N+*!;rppp21f4SiP79iFT)iniV^{6bfJne~ zjID*aA~rNvWQtOWgTb(e1p~osCcXLOWdU(%t+kFA&_rYJwgsdQ7xHN2S$pNUAh;w) z@e=_lLTVJBz&Zsv2)GDI)mmAiuJ0X+v}d=qH+E3n=~>ySmddMkRB~GS=_~J{-Yhfg ztfe~lyVU*h>C9x)NOx`I%J?+3R=IoqXw~QpRBAs94;b>!|G`jrRnS0e54!omf>}N! zeQ!)ss->a%?%Pz+j{%^(reT)=kjVoO(qebYP!+ohS%aS3A0KTLo*t?3L)H`uqSol`pPiGy~VI#!dNU)-k4 zE5^MNA1pjamjfnHW3~>%AZaewX@u}8Tq~|u#Fn9Oy&qMXboGrIZJEL9=o*h|GB-_? zX*9NNz3L6zE%fjWH&Fk`%1h6$FUZO-uCQ>QUz?iKUaNPkkcC!g>ME!%m+MY^w>&MY zmqp2#s4QPFh0&s7@l;SUMul1J0?AB>h}C=Rd7=iVU=P*FX!CfIVH(y?>2M1HXd3Rf z>}5bb)Vt63^>`#OdJI^$3KhekB}Iyo|A;}B1}7-k;?7>?u@1<@owhq`z1kiS*xUen zo7fr4J%91cL2T%VYssuVMK?d!SZ%AfnYpu%r)0t=HVn6?LzesKm%qf?GKM|~IAlUy zG~}oJxEViceq^6W;&o7ks6e}aX}v*-FN9jr>eLq3_4Y-#Xw5yv`oaPodgp!gjaS`M zSFOrVem!(pzxH?0P7`|d8aurD7f-;ppl+j~GkQaN$Q)?P29=NdzuFWLCJmVG^Ha*C2%H2 z-nLsY(;OJmZz?gQxF-;|YcS=Yf$cW>-!9p3D!7;|l%?rGw#mu>y{i3e5264lex4>-3o*PzPEhBmMH2}-3I zp5EBh+1}gL+}#GG{aJ3FGWU_rg4~Qk6BG&13*W#WsPlM(#}_0}2rnI9HU>ta04a-v zyi_>Q@9v*4{m>1z((Q(2L(GM8(!3<;vX`Q=sVnW_$*wlyZYvy|t&zos%wsY+9prcZbX zNP{#uy8`aA9M3fH@&p11crZ8u4}=SBUkO9CtRt~WyIRMuK$F9U8+|6jwON~o!kGPi zFxD0sSkO)ckx3gr(H0w62DPzNoSRm+(R)IiMqO3m8WD^vs~V=+$`DraHvucODbssL ztYqp4(d!@afJ`1k4blhj>m1h-;ZE03RF9`$_F; zZ;^%Sx&w2nKDcRph3^PIKXfi=WS>7y!6x*9UIQ8PImkWKxzi0dwODkPgz8WbLVT&b zg&~G;yh|^nxlJZ5co{~-z3?oJC4&ZJZ0s<#qdJT{IqRvz;KIc@LBX5#HMv+Kk#Tuy z-;xZ;_ER)7_v;m@fOR?CW(V}cZ6Q4BKQlMLT>jw5gBb;G2Rua-n+UKiMM{npsRt%G zC-&MYpDh>xsjV$KP!|ZP)ED0}GRb`zL9iP@ zB9oavg69u2f1bmgP#bqCGrm!a*G)HM+UlCj&aU}Y%sca!*gOLeq5o;rRp5-#Hi$D2 z+p6?N>u?qod}XskQx|7omQ!~xDT__sQ1ZWiH@wSnw`1i7GqAPA);$d zt=XL-vhUW2O=ud>)JXL}xV91^6og%ynzUm8PaW zjJsPLe1+~KgSiRtMf>C>mZ&5HDM|Yw2f)ko^W2DRg|q@R;eRBL@S2*Li22KzhoBPl zFFfqtwV)2YMznK`hY_9yaoByz%5}a>Bq%fF!AmcI{xEPE z=FJkoTVkC#PIO~&Nig0M(s7372?kVz0^I}OYKLikIz*_L`vXpx9 zfuwV=REngkNPfsaty1)|hpu$)WsqW-+akY7OtH-UP-JSKT+4{1xDIo+8C*cWw9EZK z<}zqFxA1v_`vE7h{~h8fIto|OC<1T=yj?#s-@kACzelLOQSJJo#>g)UwS7i&Kh`7W z)PWNFK+=2)^ZfiR5@P@R-z?ReqscGO)EYX9R4#K_p9*Fbpxc^AIo+&3hWvZzm?cEzU23g;R>}Eo+vH|d@1|0QD{{?D#N(l!}`=U zIEKrjGK?eiUy{XrT6!RB({6;t)aJjE{(cYh*%?R zKZc?c615Hx>z&gH$dkM!3i@6?TTG_^BK*bpHNqbUumgmD=Y42_YHAu_E7~No>qNCp zOz;aQMsV|0N{)LZQQ}K)4ZTf54s!Xp2InZcd`}QRaMXA{N+1g22tItgBvk?jk~Jb} zux|Q0gL;TmsJq)clEWJcevjDWUU_Sz1+S>s`nx6Q?ysIIo1bP5!!!{0*McT`!#f_P z&zGnnH4c*g+e-^AyufS*NO8B5H>3&;A9M-^tDp81U|qSAI`F6%>Kjo zK%@fIP(h?(%MziN^aP(9c$WL8a06l9@fhSQF@JIM%+w3sDU=GYDCP>SFTci%?;JU)%YX|i)v&9)Mq#a>@#>?;0n zenh|;q{!>KlD>AzSQA!UC0dz|^6V9|)$Ns8sjk4Y{5_#r95aN+@e{xoZ8@9um#4w- z=A$+q6%oWA4({Jes3HG}m#^ZTW;yYt-E)YKw$ni2mIJ{L%w^ICuHzoc{;-2US2)zgiAk(jZOAuS2*Hb_p6{ znYRl(gY*zgea7n%mQN~;I&k%naja3V7vl{3NEYA)F$4G;E0{ zf0O)_M?%WV=T5M#^Kta%0)%`8gT>2tit=8@A-y%Wl3&cR;gm-p(Jk4z8Tn|Fh5Hcwzlj+Gu3OIYtKi+g z7cLA*UFs0tTcOXDL>8KKrNwzoLeu@e!1_op2jKkEF4t+O4$s$GjUHBqtOgADL(>_up+><16>ROx<#m91sWNdX zV=EG{S{6#iW1lG!gW+_`{ACJl@RD)Qfi;27pgnw!`)Z}9?o&B{OO+j)(5AuLC+T+QVcq*!wixLX0WZ{qyc=cY}blD7PN=3#E zdop}Mu#~^{+P06c?1|u1sxRl?p?oWZc$lt$?I>CCo}Hq5hXN7pM?I$0mtXekQxQG+N3>YFVr{wbwPFR( zu@oqYc}OB_0#I&=*Wg>L9)M;FD9wRB(7jhH_`-agAP&Mlij?^W_{#NJ+@J%M!*lVH zC-Yps?$T{b@z0M?347Nj)UVUf3nlCiiZ2LNM%~Ob0sc7agkz8~SWcyj&CXESrU|FP zh({?_gSY>OOkVgB%l4#^F8Y79NpT5rquawqL+x5ijiao%eC4R3WXR^6HtN*1jI=DE zJ*qN)cK$Fkar6nUPDmT!XzIJCbmswR!7y6IMne0|$2)L{AGwX*}Zw4s( z#1T1s2F?J`#ECtZLggQ%@+A-no~;2oiZmL=ASO4r9t$n5+Prg;X*%Z~tE|i~TTLY% z8$N+cLCF;EEz_wO1o-IObSDfRBmUw4!l$O7crw8ITfC1H4 zkPdoOeuwt7!<*TEoZT>5*Mgenr;e>Eb^=`T5O*b{F6Vz+QK>esqT&vA)BQoZ#3n~G z5TJj-DNAsWGdH0fACt_nrC z2zVz`5Lb*6Mk3yPj8!KtnMFh|ER3CS5pVPduB_tIuoJ^_p5i{^E>L^gFoA# ziVw%Drs0!O#jXu`5P&Kf+W_9YQipk!lv3bQeauV9&llL6zf4L1Np^b>r{3NJKvn^e z?B(;Z)d))J9}AStR$39frPHX<8hEZJAXEEDUnjQcnePDHQM^r0XeLaP6(Pj$4@oWL zf0U$hGRD?**0Q3`+}5~0{4--#r`U~U7w~ZcpKw!z1F7f(Z)_h zOsl)fx-w#K7wVnbVYgF16n#)6;=rhGsn!sB8VXv6!Jr0$Zjv@h0ZhKYXgn@es zY-0ed&LICMn2F^5%29m|n&Smw5)2c11qcXuq~1>#Uo6Nmp85D1x9BJm0D&LNt@}3J zU))z_>n*G{*{z#4G-$@AC*@sp`U><`nT+`tqnpg7Jt|!REVzjv%AwxUuhVqu!^-Nq z%D7i4CS7^u_CEk$Hk-eI*Gla>lUuCsH-)1K`}dGZ_5@<;1<=@N=S^M6y=bC6Yk>+r zB9X2IjB-JzfJE|SOGTvA0k9$pp2sYMXnHKlVi-!)^i3C4S6VBpd9>Jjp(-i`BSv@a zs*P};jcGF*+G8bpA7=4}J3BU3aK91Ia-BIv@cKA^5)doO;~_@#`?9661!Ls8q&>hpC#MhGH=cs!FS9=j&^2DH_O(+22{n!bR@Y0p?WKR;K z%2;U^n94BMNtjAD|8Z2aN#C`>+#gtTLO6k5Q|;)h^jw1nv7hCrG-{1Ro04b`>H$F0 z+i)ie#sohJC?rI7QQ&I`iP5Da{U_>Ib{E#KJu~59mLhwlz&F>-hhWI5Cv(1zYBEso zc;M)s4#TiF1XI4y`A=C(%WT5SI(dE$<0;z(&HrCTHyK7$39V{04PdD; z0F1LqioAHIkHSEJ7jlZ~Q_~utR2A-Q;Tw56M4k)a#wu|Yqo6`OYA}GTK!_kMiL02< zP%z{Pp}z-)Hee~TvFsWnnv_p%9oRHm?GYKW_mVQmH2i(j?lXgtHW-z!S-*~}jA}G; zr^(gohf5rGUASV!(AEQ!8?E)dmE0c$*)1K4|9Y(r4a}FnmR-o5CyX0{>dF5p&xG5| z1O0C2C!ht<@+dwKRFXiT4|FVlaYXTl2=)PVKFTw_jR4q*St;J0Wv&^cLf_cJ$)a0J zDhAin*eIBLJ1Z+OAuB5Zt6lHvaHBJjbUXsq!kO$srv(`c+*|P5nVAU*$`GQnn0dgI z?}HQV1~B@0+kwo>h=#GuBshc;c>y*9&BJt*$&Dkb)Gf~XS(|mXzIE12Q?ThqN1=RG z^ZjLrXcviTDrMx`TOTi#_ zeJnP>5KSN8yNYzdHnDi&3azd1rT`&`4fUc6Pfh&x^ z?tFnsomrrv6MMFjYhC4Bo%5cqR*ClLh@0Sy=w`Da)lF=Ce$rEGSkj-6I#o^Jt=pWEzO$xm{t3ncrG^~k z3$mxL7*C9oVvCxK z>;*hCy{MPmYU)BkVWgBLFe1d+#iDwk@e6H>;k7etky`oN)C_?d%qP6{uXQD+PB{pxx9mtt z>?nqv%zt4P=Hqxqryk;?!S46HGzF<=%FZa{8NOVfn0&LSD7bfoU~nU^GI0Ks*#USU zpI8eSROnps*p&WQ@ZAWaT=9G(A|ZaW1Mk7JO{FBy)DT>1r;}4QSz!$x2%4+KHF(?_ z0V}4ksi+dEJ+4)X)+4zZovO${-mtz%rIl{QqxrY|UTt>HyGp&5$Bf+2$H3icT)Tod zq~j|hp$A{oKwe_wN*M*$gl#V<>kzRM6`drv!+gAd(=8)?`u5n=(Q<-c&z?A4Ye#lY z___@DZu;7|bg1o^U+@)9^cFtnjYot~J0WqOota%g&}+75Lv4eCrcrr^gNpZ2@*0w_ zCwApy%pBmS0Xgfy(}eK*MZ-D7(4HJeHUy<0;OK*)!QidTr8v&*ADEw|rXCyXE^diS zovb2wcJGeYb#&(BMuxlF=xgFL`dyFBe++1@V`(qrWqW6lS)W^^#)v-Rrh2FK!#mQF z^NR_tjn?cAy;*@Ut)OB6)8zCuD?A2`QJtHu5@*3N_X3wD3wmV{9tCUCr!CrFuQ2z* z7Tqal_2$&%?TrMdwjGJ(5cgt!_R;C#K6ao>->Gt2{H_jkI8>yl3-wllLZxwq(}6dk zZe?50CRAV31W8#FwoH)Sg{E6A)9dkNP^{On-U0NY{5g~9u{RjEG_HtCs03wEYH^jA z%(nWnHe)a=jeTrY7LIXEe1)SOI)0slt@<2l#z4=u@8M$;g72;Ea z{seK)f?;~?f#kwP zX;IQ(Dh{hDce-52>BY0{e7S*0r4e4?T6iZkX zm4TT&l<3(CLRKn&JPxeywl{xnraO!#wQ*wWK-;FZ)w6_mhYrLzTc*s#k?Y)*^!Jm} zhj(4KgRb2-JwNArW0Li6?RC`zsoolgLuZqFZF>_C6g()5)7Q*ra6fsx-oW=GiChba zd2y=X^x+CQjXzs5pGg|tnua4%`b!8(8~4RV!puCHWl)3L{5QUch~8^i@v61GQytEf z41!I2g;4lW>HGF%NQbl4a4$xPH=wFUFU!QM*bTV}yd6Tul%b$Q6l@g$8ROmBDNzb+ zH8xXvj4;YK>>5h>>TWRtpp}XxIdxi`Ki7(E$8Gb*DyX}(RD^Du376E z6s!4KhM|_PKw5wOIIr+9Rt&0XRD-@lyarhDHaf5Fhyxb@9pu9k z(Pz&+{WKW^S}#GwQ<~_DL7-|xm;zG0@EFDb#Y*)pX0Wrr>wDgqG;|b|>hlWK=t=;Sx`hy`th65V z^I%hJPxp3pUPNSEc=M27Z6zycWg7U*#Qq3wqz_k^O7vQ^@YLl|QYl|dX8A6Q0|nU+ z^#GvmDBd3jA}}xUdM;W~S!cnDuEcDus|<}ykT-5IDUSLxU_}IgXAQRK2bCe{p2UIC7WnQ>32vUL+k&b0yUK9fl zyRVJ^E}FZ$y}OgUjrqel_nZH&+;qadSyIy^c86E#`8zlOPJaL4=d7Kj$8J(=6TB%vDIq=`V8;JqtXk zAVJO&3*}*eIS$uX2y>uGM#%S?DUB{YRY>cyl1KV5P6l<)MBFRF$h_>PzyEzYfh2(3 zmr22c_K%TH@uInp&*Hp~iob1u2|7OzObL)r_G~;Cdp~@xc`>MP>qp1LGT|bv9|NsH zK|^tHaK?TPuq8r%Rt2#Dm^~&+c2pha_clD!O&RQXLG)3y0&wR&2#E;zH zOPR8R3+;Z9wu7@(QAknT%Y}_aI9$vV zgT(~MDGOtwMW2jQ0@CGRCvmR`_AB?e1Zj_V=7o5%fp}_X&o=k)p4teCo#(u#B=)S} zSfjkgtN1>Xfz!|yH8CQBnp<$aUoiYZQSpKCG)2IO0o-VK*qLoNRBo|JaAl--nzI34 zswv=&J{%eL%5~=HDlgQ?o&G5YU+UxDcS8cxa9<0Gc#OB1vPH%u zp$_h26!{QzYAw%}nFGsj^OeeMiWOEWqi}+Mk=tl)Xr=|Z?lN_FPxMT!v=9^KBKM)iR1jXzBU zcLfR%+($&pFTRjK^i#m5L$!ftk%y8j$WN>Tn4bcc$U@PB?aaPgq0TMc$gy10+=TR6*o=+FKn#>6&(e8>g; zRe>|tVvI>B5)i`OVgeV7IgpF*rHvc?mKqC2MHc zwK%-Qy#kdJ>JoaAiGPt&aa(v~D927o^~4rl+I{W{ogSRtM%@X*kp2tzOl6g-#HL%F zkQ8n$_`H+95+uRDW*gx~l(;%l@CyV(T2deBYjBgY557K9f(F|tMwoDO$(`b*u;cCr zTDZxtsF$Bne>N}pFgOs?dCX8@(X3Le?48;>bO?^+3@M7?cMr5+z|rf ziBW!?bVQg)>|%L65rS;uUplHgmK&!PW4lf&m`5mv_c|%e!Qy z!*Qw8)d!B?D&)`EwddRo&-Az1dcqX@ARxwlCTURN2M=hA3U&NCQ)s1wpmF=Cv$Vb6 z`#9_(Y-7AO;KHU|l+-MgqYCRVyI*By34NvuIn+iu`i@fQ1^V*RP8RbJfne zAD5LJeS!+kd2DQcZ@Jkli%qnYqdpu$9r^VDYZuOjkb);9!XT3D(>vf@&?k+ci2*cT z%aH#gf8szHlGtKmnRzM5_)$y0o~A7Zlq4!CAxR>ri!%(BA+@uvvo7Bmo7iK7iKKH! zFbvW(pFbW=xzt-O&~ z2rE$h22Efc$JGa-pP40AGXCEQvAq4UEB0aT^V%PK0km0h;(~X|E{9S}ESW{JcwXKC zw6nsDzG2BrBMv$mxr6lEa`*=4N zAB@ab&2N-%cAu$^%*=s7^J+&FcPZJ~S!OY79o0H)p`~WYEOkfrwW~^lFb=dJlv`({ z8$44_?Sl=TZLqnhGdVfd{v;PwwCJgU+s+wx~4) z#U-XdZ)0tHO+#mVSZYe`dJUTB-FvTF1}(CF$&N#97ZF1+O`g#8ad%4hws z6OQso%LP@^e1IN1`ybMPuyGSZ8+0Y+fB<*a7<#p&1L6Gd^sp-gk$K^dMlU(`bs+6f*w;u0wRsV6A`+G`D%GynOo(mL@+4FR@Wl_L#K& zz+4iP%Zi)hvi8II(D2!ciB)l}L9lCe zI8_^3ipS^N%-=76nDQG!tG6};M6RS>o1BCu(tDSr;{?&Aq_3JvK)D zd2-m)Q(SIP7U!mgtysIpR@+0>;Z=MS>PPElIFYRGH2kP`!f)Gxf&QA3rfS$X-sw0lz$MUFgbnRnDH;fNI=m zsD_=tMA|+K{+LgWYq=r}s@VCkqG#u|XOAuWFzm72)efd96{^p-K>dcld9t?CY3YvI z@Tw+vL&W@)?2^P3*lUXxV-56~2F1O$<@;MR^Mj$HgUO;$b;OSpB`a=m1*qamz^o4@ zxk;^8lKEIJlLf~w$Y52)l{g6Ax+f+5V9Vj#{||`6Y}KuFL}&X`^wS@meg=wII#pQ1 z!X7P)-EsXz%O!-kT1zyr(S0xcos9%8^^)>J<{fP4WeFAUGGEybCF!=|60;!~qdE&4 z;xe{Zm(9Jz=0hINEAOTqbClEuxnN~RegP`;#j<4K1$I5a4^dK&mO}9JvqUdI;7g>3 zfB_jR+O?Tl77}?<9LRjpox{t(0`n%D2Uy^mY8>~w5U#`nq=o)$9h--9b6wMGR_n6^ zYuGg{)y8ah99!YDO}M`;D?gxMD`|+o7I$kypEQP6z73$|>)o(>64=w>8@HFmL>LRn zbhNvIbZfOwL?ko?#mkWEj+Gw~CZq*#rygi)34&?DbuJg_ti~18>=095TS}}LTj^Pww`DVL}F4YIYslBG4A&!*Q&JD4L#Io84g%lDJ29OIhO;iSP(n=b# zGK;*5YTqYmByyMR`ydsac(RgL?ntNBF4NC|mji!Q0X8c_)@NWE`##DfK{>!|U&vVKkbB?@YPsw9C>*)HPvQ1Tp?a;3 z$b2y|c0tIYw7qwvo&A&#uP=^NSLfWPavIIS`dShr<)iG2;e)dGLO7AXCA1yEL8@m1&>%;NV)WA8!7EUm$Y983!iRiiTTrXx!cj+3CQuRW3aBW7QfU8cUN$WR zF8KDT74=JT!O}D_*9YJaq5(UBLS^22An<_UWlAAY(E6k`*iIpr!CHa@Ho#~utdC0? zEQQ?0+zxh&WZoF!cT!tL>&k-&pse&fmEYJg9NS&^5?4v*z~;KGf`t;qfAfl0Lcs_L z9iqVnLAeBe1tZNTrQl!I;rJldw-5zo-wx#8)oqz<82|Q8MIEdYDcWf??QCnF@ScwbWK4@2;a_#!@;}Q9A7iPAp|+eld4Zes!j@DzCM&3dZch z?L)rgw{ZIo;r1mJxxBM0%x_rQUlN1*C^oKPf9u^}YSIMu|JJlR%KFxY!;rRk_A@l3 z4PCtVY_*bmf-ky8kqVeqVmEi>mmVo}@ntFRh z!TMVD?EE_B{Y7KkspZjey$u1pMTj6JCgG?z*0DG`kwND9lbp4{yCh(VBJr3_;ZM+{ zsO}ij7=)=&dz9b_!}rW@_*{#wJ0WSv27FnzqqcT35#lM(A@vRO_xVQ~?qME;RL2PFsdt~POr_`*jTQts zuR~P@#iayTXK83{Rin!__)G*<>w?_JYk5^ld1P3T9RZGC2-M=50A4h&ZP^;spZ-!c zNpcB-tYBJ$Db4zs#N<8;!K-RCDWOL%^q08VmU$D}h^!`9Et1Bz=(7t6u7;wVJV7-= zO+-~@7RUjNCE+GCmn{vl!F<*<$gK!QwKozeNCTqIWs?78nn>ToP*UQMogh#?l9V)r zQrPqRmbZMa){tAj#v!$n5)uqFRi)YUb+gR7%CVxWX(; z4foCuXMYaS)^4+UAkb2!ma1hXge{DZl6K* z?YStDashXrAt0&|QUgfXixK8UE|<=m9;mJBA1mMA+fBx>1ZArXHJ|7RF}h__w<{6t}S6}$7`F9N#kF9#-%caC(ou20{6?H!k% z;2Ph&-XZ#J4kPF>E4mtoY*N%<9heU(&x4!oADD1j;CG zxomA3D&mk-P~dmXp2C>G_OJ`VW4TVcAlOCkdlCF(ua!5LwlvBUpodk`+5}DR7^OFmoawZrDe$VzZIloLFYZ%Jl|(ar6yhVtw-D`qECg9L5MU zxDR(nxL>An$17HHU%=hGF6z#yZY>51&Dj3rR&D0HKz_ng@*4q$e5gFH5Mrh}WU!L# z7BELD(Up*~fcu_`v(ySmoWuAo45a+V{S&%99I zan!g*ZMz!Au3c~G0GQ=Jn(ssKrXB94FKKn(6S6S8t;I<@D(43X2FNtOZQ#I;gv9i` z1cXetqjraNQ?~{o^Zeu|mU3=lypyWhTwQA@W32U;@|b~Vv2X{bF6wcEo+l}F6*1|` zbe?$-raF+=o>E3X8gFblym^m&&&=V9?(n53-FJEHO-GL09MxYQfZT}Q+<8XWZh&LE z61Xr^3%&xl2G}nR034W@`0esO59-R%(UN9ZDCnbVw)DRh4z(e z{&>h$=zf)o?=Oqsz5=%RS!s2>!z5f2d3jUGr<;mg_4`#`27kb@^w*uurV$X~qHzm#I4ONZh5L~UKUnY)Bs^@vzHL3$6q3s7ZY zAHNdkw6Upr0C$e*06z*sO(wz{jSjRH5f^Y8I@{XABPukRk%vt@l~VtQ_3a+kJdo0Uh8JA=_v zjCE3FTdSPF*5;ah1lOxK*3=Mm@f|GOhVLK_dg!w8{v@Kp5qtY`_YxN|(t6G2{rhK* zRcu_dyxZuxXv3Yyj@_|-WBH<2LL?0H0o+M+NGxbHm{U#+aK5I?!{aOnlk~NqlR(hG z^j*T@AMD@s=;UB&XKcL7hz3o6Gxs}6L1mxO!Qxx)T3aahZIuI&5{kCI=-W}0msNln zg(Ii;v-Q+xH}} z%C9?b6=9_x;cIZ`{_Fu7TX47xHz4p-f>;4;^+3;Ls5U3mL{yZB3q(qx z^jsum3{Dd7HN|bTAW9a^e~)5>LD^iH2Pz6$H@ox5t-kdZZrl70|M6Hyf61WF_r6V` zZ`1oW1A&0MHBIetas5j`fg3fcg6w=fzR>`XfG^bxkQ9LQK{f0kfr42J!o*VviJ)b` zpGLA{K{C)g^>G_Zfokl|xn7{!BpDCNwFp!Twv4MQmuP{v-op9ilL8&Fq+(73^hkat z!|T-u?}9i+Qo)3LYt;4wH%VTFr0It_jkA)@(FkJ$y47E~3-rC6?!U=W?z_)@i)FQ( z`?|_O9rsN|)>!foRk@$2&YpcXFFE{Ocq9{i7L|03UIwtm<1S~tCzr}c=J*x{Ul@a| z(J=5YMFO?_G8{f74M4S{5r%qzU4Gl#xS^}l{VBcIXGzA~o0ioygE2WK!33TUZV9Tj z5@enz^x1(%0lRFhx5QA6ggYc1Op+KdFOx`#anHfTgf<E5z*}^Zj9u!*QKw^; z=O{5HBi6+T@E57O1QHWA*xUoRZU8@}#W$}G)*TL{d+OL0yKwO-!F^|-h&-;>Awzh* z(g_(-_gHZceqa?7rfQ?zIu_$93&aJApPoM@a)IoBw8_0j^aQ7)n@rU8;`4LcJ?w$A z&CmmGZ9o&`q4^>pV{m5##yI52%7wQI6N$Mal6NYX@C)fjLmA0DunWC6Jqyoukq5zx zKcLPsItkdb2PUE%#p~Ck>}=e7jGOd%73}--M^h@C+*4{=UcEjuTjMeoL;t`f1C8yq zR15AOsL~@7?zL1U?jNYXNYcZ0w%yt1;+`_s&h+(}xS!^y$GZ&XjT&Xz)B6SonSN>G z0Ldw%_((R`1H6^VhZz@R22@6;(C9Qm_9K;@g$U!8{=sSK-YfjV+2iNjNvhvW!F*pm z6^?+WZm!?Bb4Nex|Bm4W*WH7s{*!Ds^9Vpzj53cBj}OaFgUGz%S;Qsr{vmSiy?=`c8-C#y4i{wxe)kwQUN_x43$Ra?mb<3LO!A925t+){)RxRr!=s9QuiiZCLzIt7`0(R%=1`cFbK z2uwgPGmCp#A~N|plthTN8u9!tPn1}>2s0slfg%W!GIwCCR8j{oPNQHGq4a&WW6uqt z+-9Fkp+8GXH+A9~_rX5XfYH6HfXaSVlUJx?2bf44JAO}7bNP-V5=n?3EUIuHpQ-P` z74EL~F5{70qoHVh^!iwBb_joOXs$*jRHBSY?~Mrk3qZ&_T^>vnk#l+BO$<> zZO#_4#9ydvZ|O2Z>A#^UA}(Q#HoN&$C^X!nMpAsUe`l@$9@dJzq{!aWcr1iPr7k3- zgwAFpb)zH&?jt73Ps=fPKsoz|mvxkJ39660%GzO^)M~l^TYE01Vhk9P+!eq!@iL)uT_miRRFNcT%SH> z*a-9!fIJgm7q@rIA=I`QpHUFd1m+R9j4(gJaf#;fD6Y|mZ!vi^NvHhA92hwi;50$uP6%INGCcp@fGBue&U0jm>*P8 zt8@*WTs{44;NtN#v+aspSPFzxXt3` zrU-q&aE=5Wh3_WRF(1ZKXwKiLqSm9ur?vD3pO}ujAV4H%ybbR=^+VEk!6_reb4V;e z4j7}oP2N>~i@ft7>q}WVR%AXaONr&5WKIcIBDd3r!kJPMEyIyS1q1L4id3@lhHVfBxJ>nrO#8q2F|_t>lZwiO zK`yGlBW|L4t}|4S!N7ZmF1yP2xpQaQYn@2mws(TMMczX`{USiDL(%Vb$nZp#DH#)> z6abc^ta5Zr6sbTYb!lR?R%$dK-h`6#^na;M8vDs34OvBHCS#c{SKDK1yVPkiWEXbS zd<8o!{;;2WOB<6M7ndB9M!lDurjCrb^WsY`aSX=ZXL8gSAA~KO_8}czQ+v3hZZ>_b zCD&x#1SN+*Wu8yY%1VBo!Q62(D+7p&fWrK|TuJ?tn9uZD#0!srug?N&hx`@56S;BT zMvsg)dg`{VdDjM8cr|v(7T%0pnDN2QvhnBKr=G~gb(U|h+T9u00&1?RFDZ0~7R$GD}5q@3?W))_ZNENv{MB z`!Q#gJ;42`=CRL}YMsioaeJ+Wtu)cc=l^t7@0O00ky*-I<+h&kQ6pX3aI~v#cg8wP z4q~wR^W!bl*N-Qs6-7tX)s>d9YP1LvV9%w03$XV|UIr|4!mq+>IE%EqpqNZ!K@7*2 zO$)wiv?fZ9OL%=B5Ih=n#mIqm*{bUDRSI@xdUk4jQmQ#6F)>A%zEZAORbFk^Db*`! zd2-C!&hpJ$O2%#7#~Mw>?4phu&ixPiv&&#>BzjFzYr1My*osSQDFc<8o}68f6&jjZ zs7%htg&)+y%$}U&=(Ny0-L8%HQ9~77dsS!cY=-#C1bJ{X;9P=wdqsJG1p-MU5WGa3 zVqyXdg>~3VM|Fk}T=|z;U!ZN?Aby2C5pdPu?V&`nC$OC&`JVk8t9sj5DrD=O zQ_)P+l+!wCHcwa`6A7~T35R(oq0}owz2V224ogb~Qw^$k)OR1kUG?ZHE z>!9KZXL#~+i;d3GQm1L6qH>d|+G45JsaMoi<1G@yE28RAegDh#ma@i1tEH~aVr^_J zvmo*3{sjK0f{k9W@c*O}QzwjXM|?@dIaRfP)BZ!-?znx&*uyWr`XCMu(8pb&EhD4N zso8t4IlgZVx_uMzRAd7E_Rz-3oa+4W%;GZr;0XR%LL^kAnPrxc=VfQ0u5KR{1rbbY;VHPG zk7egVBH**gsfu*6(l5%{ROe`*H&SWIsjxSyp=qSME;CP~b^wgY z0G;PVhzyF0zr-0DKxhqS55yWk9t1uvUq;`^G0pKL3Ycm$Om$GY{9@frCm%<y(5)=IMWhCP6<5QnNTYkD)WAP~6n_4Hr3U|mxaKgM-iI3EV>*y$ z2%+&Oy$YZ7|A-pG2RE&9nuAkAgkitR?4br%M1K&HD|;V!BMGP>57~F|`49^KbQXRZ z50W0ea>5!g2)B?<2hK>M5jW)4QayBLYDP}fh`P+IEy%Mq*5*@{4%zRUtZP#9Re4Hf zLq$|4wccvCK$w@tr=E~~2sz#?bgu9+eU9bTD1JDWcA1k>=N0HT@E=juP?O6v*V6oT z%0BFJDs@Ixb^-pRb!LmDeY+rU78W=q{b5KEgL2BrAX!y%w2;0K~D zhG2@m15~peYzsy;T+w5(l#~?a8%s(Ha?4B9s={(-otCMz%YNTog^*534lhhwS+OEH zqrQ4=Wprzw5o9rqKk)?qM5q>&;vV!fBZ)bI=}^|j(_x+5@AK`>+G2TQwMda}2T-Iq zJtIs4MpSdRsa_-ulII)YMY`aI*CWc%fTj2l3F3?(%|Te@clX*4q6e?Cm^B4?)DERG z0qx3^{XS`8J9%q$<&mBDWZ|DC08uG?{@rkXI)3jS4)XaJ!by}%V5Rkv&+%oatPIa* z@k~YVcn)|f4Lo#-Y>xEBhkTHiNSPLxD_ZiQJcCt;QibO*Wv=AIF`r$-QyftfO}FWW z+f70hXaT6{VJJp&tJ;>{hD(61mzqmWUMxjD0n|+ZDl>6u7eUh@lBoG>M+lo=t9|t0<*910}ivict;=$Zj`A)Y>WdOt~mg2SH{af}7 z{idn0!G(fq7zPxeMiv{o+0Nk-6YJ@JgT56oOLx-qN zSG~rn%ZUn$TU9rlnpCXQsWNh~i!VT|j%G^-4cfXoQ)wM_*TvaI{gdikWdT)Bchu)r z#w7Hapuh<5z5<($hdskss(q|Qe9fz-c23e zIdMsiN>ww`coDaWzWm5(>Req$c4JO%zPhGjW=ngc$*z#CsL)nd47gkmpsqsh1z98H z>+(>=0)zc62{i(D5@Pwxw-XW{Er!0#U@Oi^&(^lhI&9qU?%n&#>Kf7nrZu1YaDOUy zgeJ{js-j#&uDT$sHN3Oi+8uHDyO*y1UarvgW$sb!qyFY{*HW+2Lf2QGJ&tgD8jU70 z^4y1+FD6}}k9dEuu3L027j>9-T%;&><>YFza+1@Ftv$_knfYs)95b7(JDj7pv=Zm| z8~0cAFE?>-@Xqn}US)D>T9|EBxviv{&dHwbs~9)d(Dhe$OPxvdGC{t70hTNP9s-sM zewH|)E-JP%T0^rpbWYgE4ZWAj4uE{$Pj{W{lYL=5*ts^s-l1$CB*MzI7lb7~QI;Y5 z2TZ~BoCvrp!~;QI(|LDwk6%B%`6xM$dG;>ZKdcA4)(o2uYzP$d*wc(@vZ6oBM!-oZ^PRjnd=t)2Q-NX-0UVkfp(l5`- z{(0i?+VHV~cK)OzR|+S+Ci@rE^a6gEV9@g6joqhzp5Pw7`}_Pszk6HuuMud6N{KnM2~D#e5Mmh$J;$i5NJMUp(wxj&&`74XF8ub%n+M*iGcYUN*L-&9{V zxH`<)2aYHY?;sq@pL-GbTmrno&iwOa*|*h~55c+pMcJ+5 zxoCharo&HU=f!go17vt#7@`BiQ0hx2w{UYGz5CB$axk-xO66qd9hZ-+qC#s2R5`-Q zLwm)OKZ9t70CC`xQ<*%f?DC22+!z1&>)aTB@&PKJ3X{#%Trs?w3auMZ=d|%a55v(I zW_h}7UOXAm0$^q&Oa?HgGObkI;Z3vLNAq8D-%jvv>LLgi#>nPtt{hplvTmR_*K=|i ze{#3X?R|2p|H=EPuA`HCxwpA*+}uB=_@ghS%Bggj+j)32EVOP&lP4a%kHlQTJ-trG ziDzSaq^9^meHS%yeBuE2D))Ep8}8g@{_xAGMyg20)gB%TqgK=pY4h57l8ksxe?_*i zAJ*l2P6wq%DDGxLmOT9n>d?u_ z%eY6lUvVFDZ|vkxKT3^K4ko1T$oNW1-Y}{w5KrGPoUYI=eL5RW9l3e(O73p%MWFl( zyZO_PQ(LKaCZryp-Z-KcPaoYUo<0T9FE2jyr#ow*ZoGBkD0dTgihGTFaxZ`SwbXuU zh@t9_P9WIF3d8<_ z-Z*9~^qg+v>8^N}ku7=paq6M(O)86otm4QoRpiJL_fvFQy;s_bCZ+dC&{_+ zyJ>VYl_E=o-&MfxD$sh>YIdK&&2eQ5Ma z_-FJX>DjW;wiL+vX33q&%NQAu=E2>cw9 ze(R72pp2qZ)B|>V|LlHQeojTZdA8r~npW(W<)&A(mvGms3-UCtgD-NUt5n|75<1!n zNd94MdVP7@=Fpaw6$5R_>d<%Bq}P>Gs|&+_&T8|y5mR<{LHO$-Y)J0Hzv(aOmqNmT zwi`$X>pJ9=@QKGvSb@nzMPg4RJw);!^yr5$JutVUqM`$R(Zk&KZPaz#gf%JE8nVz) zQQpx}UeV#QTCMbswl=4;z1?}8yM{hx>~iH5baCDM&$`e*=$6v~l5go(AXWqshE!7O zhVGd-66mAF*eN(pF>ob{m<)pwo7?ngXYp=l?T)h6mc$K3t`c)w4zq*GN=?m4R-SSk z=!t!RyR7Ea?)uWsVzqY2Riv~1RzygSG zLXKj-!CZql25}4gmxBw{)URasB3_J!i(6*^8<~!ZTo)6S{_&>mTXyf9otfC(N2T5S zAXPXVHpRVr=XbcjPKCj5#=~!JBflA=)34KMX(ccKxGA)vXkun|=k6`rHw`}>HbupK z=T0hnDr}hh^@I0vf9gl@SgA?sC-eu97YLzZ6fp{AOu9j#G$;)*aM{$6f}=+ZcSQBA z-=R8kq;OZ{#%TJ!W{sw`=fsJ=4vo6C=j2H^V?1Pv9;GMYu0tR@nXW^zXHArb9{u^$ z&*6WR>CHC>-+U8&8oRJ7RIkfC?u5qc<%em0OEnt5Sp%} z{|aY;6qNE|1~E=h5*%lQN_Sm%-7fS+-4bQ9T5VC0cB|DMNvEGZ`_LmVz4S=SHiu(d zOZ$%M>K*Oyxdi~Jn|=@YJ!Cy99$Z`S)=ql+q+3aEhyPj}vXYLa{}}RCo z@C`fzs5pbJXx)Lqt+ghL*-mefT|Tz?fOD*|fPy~P+uNpROG+#2tULDY9j&=?Q&si= zN_GKN=ILnqQ+V$L5A>iE;%o+3yy3}R=pgkae5md6@#=AHd7-&nKUF((jNQW2S}o<> zeR1(E9VnkK-%4LLS=^~Fb44)g25QZHx~-GCiV9t|xu4P+RVEXXdGLPdG5W2Ll_9GE zBORq#3jz)9d%a9kNHt%*apN}jv(Iknq(0*EMsB%hhoh!iT@f)uouc==l8{xi#ZtSoe5Sj| z(CMgYQ0G!V1jxu|{2eF_!OIX#XG~^99XVvSvUF>p|2zg#gUELWmmThcI$fe|YNX>v zOUlPghMD?_T}2c~-g^&HTV|Rba#mHfG}pp>?hDN97bfeN^lDJpJUY!y_HjSLyG_Z0D?DAK3D_sP9a z`+$BvUtj;%>)*ceBscdYIXO8wIY~}(qhNT$VTZtY1o%i&EJV_zZQoQC(}a{;8w(NL z4kd)8Bv=;*#@9yAp72DYSM9JdO=dM42d2e>T&atL>K}J>39iYgd-Su7vsV?=7p}>O z8JLw57oCINEqgQfgZx{L7BZt>whHm~kO=1y?}nJ(Y!&+HQgl&>C&^8FV8!VKj1$_*}r_#3zM_KisYgDS)O;)g ztuXr5KTG-WOv(oNxVQevF7vN3D|G^1a(JS_TxAig@HkOhaU=P|#!j16tE)0`s2mj? z5)v~eq&l(OpeB4>Us*je=k=hp;HZe8s9`}ZVQoT+<7?2tVk4i2wVV_x$-tW0fg8yZ z7<`1rp<2(?7JaM?90FVnomw5BwyZ7=9hDpyVb*_GU{-N#LrSrec~yY0?CToRck$EB z8*5*Bx;&*@>4b5shCFs-N#;QJV1KW8Ctp84ui(WIxz7*v@o@Jo%gvmd6B(dCXW6|^ zpNzVone*zunLKNrQ>I(qiz61^nBTH%z#w1$=->ih+&}`FIpXIfz7CY{h}OYXxE6sH zPHsZ5Tl$j$lm49h=j6Nz4bMEo*R`ZxXNmgF)CX|iE*}V8tGhhsty0?5$)N|jr4(T< z8p)lcX5s`R7j`#0bo4;|HD;bNGAJ%YuYWo$Ha6_(LkY3j~y6W(RaSv`{ReNC}-PNl#Uw_8WPi#mDLm*5;|gR>57r4J=J6>YSIyVFKz9J zO=Au59)axjw@ORj8h`%$)H!pePME;IC|p`w`&vH#qGk2m$y1)t(;y}9(%1zWVsx{h z<$g4hoKG$jE4n8C_CZ zGU$mxsQXBwhlV?EMv1_kVa#)Y3&byPZqTo9XkaO*X&Szq2Bh>y7#2)rZI#VPfvQ^o zdNa^&Ns~BxqyK$}5VRhqp06j}m6)Li`)^(z~O z4n>suR=6S9S*;bO1C*_Wg>Y*)lykUY+JAnP_4-Ng%-|3{&56*GALgMY(K-%J5*5}X zkk4z-zXME)8@O4^pXdqqxG8wYrS(sK9WB(2<^wtmOYI|psgqO@+PRdut)#{nzH->G zmBUr$RDaD%S5jM0i>xfIik%4dj3FkSNH@_DccNRM7QMio;BqnsARX7z6e5NC6(0~# zS2UyHcJBDl&*Em!n87|77OB6)zX%-`F(ERfK}toJ);aul;Aufp(ZsD?`e?n?3i1nW zL_$hMm{(8r38^$7oS*hq%PMrHHmqmN?b3#H#jAcFvu7s8wjr)z9R;kr(&`|-Kx@Dm z1EhsKZiw;PiG8}PSfZVi_nvtg1%@7G817h5w zf(8~xhmT7)!vP4Nh;Sb#Z|kl-U9#h&hWJ+xb`1&ev-hy>YT=rb5IhWv^$fNF3h#^> z$t^3b1oHqvyU@}MJ9aXkA{!{wRyCO9es z*p2#kSs}q9e|8_R=s`G0D8K9KV7VS6M+i&MZ(%#Ds!G^jRV9F2jG4{|%ycxW(h@rx zQC+=XtR8m1tXx+?xvgp)#N*VtfCe zwYBu7BhOYY3tK7au&8?ZBwtZ5t`fvR-@nUCxxdnr#!qcjGCpwh@KnTQ;H1>}%6^TF z{YJ#4G!JCk{O~oIOh3OYFZ{BaSt)_8xh==?+=9{`%?~Z`_R0?rFY@s&1ouG-psZO~ zchJg`{a@uPH?nW)0nuYL8ioWPuZ~G;PD+}T8dud1QY*(V%Nw5zr=qg_SW95??EL&k z(*oRb@rlb{=H+{N7lh+pK%XMX=~S-)s265A4~(@^({3MV2Tsiy@u=0bZV3U&`T5CJ z_S3BA4$ql7kk!miE+6dSTUAmrqPU{~vTN~O2`K*5L#*8QF^ra?)ajtdBQbu3u$^UY<;CT0{v<-M2Y6d@O@Fcwpv4=5fH2JT4EFPc zDP-LP&B|)3Y#ZaI6x1*7IH5~nCDjb^3NFYU>J|*1 z%Ab{T-k7b_k&eDeOd|^h6bLnlWmJKrHBIc;TUFr`(&OSX8XEeQ1atq8+6?_h7L=Zo zldi{iB3qnXsYY1NSM~@FX#yExyy9ksd`4=jbXWtgH|Wl3Eyp;~qV zI&CTMqwNvcmcyW|NH?c`M)|Zj4@#@(+n+C@7NK#{33Y+~Kr&7C3Wzip{VTg08g{(F zEc7>T!p>Bm_lpJ%{pEs@{&Jy(?&*^Gi0{EY7$+a5$%Dj!4hj+pw^5OjL>irJiv}c& zwza8^eu!FaRC9}UbPWp*h&14wh_e1G{a1{NFyvc|F8Lt+DJP=8EBfnTT!Q<5MR7gOmtz$-RG&6}kLPO2~F*!%;7cpIASVoBy&tNAkn_ zB@S$8;LNW%sX%{LVSJv?R|ZsvcgzUd7Qc5pa3U7mwx^2diJnS2=PwyEXS9x9Bq5s_2|;w zAuiZ2-4o@*ewG#SkJ>Z~Lf92X_v*r&<^Fz7$wRX8;^Q0VLE`M|-?uz<5F1c7e?HAN zl3V}aG3apMGH9~~@j{9TseHjbcuYgz;sNm*A9J^sWATn|U^SMc-$PxU1ro2KU-4k% zf>G4PA`lu!AhUmM$`4N*m^zYuEjzS?5q^L%=p+DAbrQdKCyyUL`MsvbiIeIZs08*R zEGFFa14;dX;-luzt|INjI!Wl-*^}xgt(CvbN`H0ZM%Im4Z`>%;=v#Os(vbGRNQr?; z5~=^7x&GM9SC@0Q`$t%3Zl@oLRR~6!BU=Ml(n&B^2)3Y006)5?pYzvWY(`mG85>t7 zb+{R=Nop|XQv^qNk7|v5Mq`M^~N}99;3WTm|wi2o? zERY-p*7Cw?D@#`NzcEbyw+I#i6KCZHH(`rtuU)Res%H4wSgVb&PJwwbwqCY2{d(HC z>GHef$Jlz>_O|cY#|^ug34?m}?AF!6u0ZoinhkE9f<2s2Z8RZr6Q^TrHN%?3m)N_Z z9h<=NE>n1@VLUmemn%#Ot#5-v%V{Qt8!53MplzKPZ<)~O2DWE2<2u)Ns4I#eKWWnV z_@cTFwVmTaQVI%EhI+XrSC|(UcYLp;l(< zBv6joRIALOmunj6PdMnOV`?%N zP#!qjX2UnBXWN{q)n&6A&GY2A*1pAqJYzHY8o4h~jMMTsE=y>0#;8=Pk| zF*?fIJ1Pnyg=2m&mia<+=tMJJV;v?ya;>^S=HujKV*|HH^Z8iync`H3Uha!={Ia%| z0QI1KMN#Fju9(vrP14&QL)G&!)J33@1cEH=mp29veq-dwrGp1A9a;K#TH52KL-0GV zG;TzAL{)TVoyF)b{_eqXarnkX$I%vJv-wx0D@Ki4Sz5Ys)TkAuzL`&#l|7Z6{Zv`m z)0w&9qmyvRWl(~>V-}7wINB#?QLX!9V)zDj1ACIr@egw!iKx0)VcFj&%hxN;qNJop zoTq=b&(J6j&&Wtmk0_oz$k)!=U%$fFs-Is$P;hiqP*7B45OViXCbKWt5v=QAGyuC} zwK!1z&L29ouA(AO{!ac-`=gP-McI!dD4)P`WKz}{u`~;r9V|xgqX_vW05P#QP`i7q{re#Yfp$~#%mP_zxt z+QBO@jlG?kkkiMzk5%7ZJ^dr>gY2Bc95MA_N>9`)7U63l$S(z zG;`{c9pf7B;@H>LIX^Bgn-A96T3Pk8vvzT`>DSlVvtuEDCfwG)pPgF=-qFL(GdvO! z#2RB{MDJcW)j*{h&*#m8Loc5^$v2KGn2I-~=_W!$Fw&FUNF{93lM);HmPSN*Opq!$ zX)(oq{{8jmg^zx>)RTfJe-y&Ku=dfFRu7RJ|LXYVz`d#ytGhN&nmm#9<-=N5us)5Y zrA@R`8pKSMZ`n(77e&Xq5SIFT@XgS_R58#tzEi;R+tk$1x#Mi{7nB&0YX zaBxUS(E#Qc>ERI`=0SZn&&NAIBsky4CocrOH6$n^G7$L&pvP`9^jHfw+L&>Xzt5FJ zuNuettDc*o%j)Ew!=n;Ub5I6*5(ux(dE8z&M-siMj(GpPdFycTrWETIGYX^s*fbaBAk7bRg z|A~LqvIfhd7XA|}>u7zR@0OhGgPRy2yQMbtulV`z_4W9_IJ`<VHkd}I_q(Gbt?!MdP5|L+a) zVz+Whc@8{^S&1mdI$$^IRV4T19t|BKWe%1M*CC|;{4?vKpRI4nn$Bjj-TK)-@bZI$ zPn6KkSBd@!Hb*~$dKk@8X)g*w%%EqgqkNm3a#AgIIO~wj#XJm=+H48yxRJ8z4@?L%jI5;Veg7$2G%>+E=k>W8g=K%+CLNz>KexrbtOEg zJI)B6sHo<1PpOshkYCDmng1p&f89UDBYzp+`Wx`E5R|`!7u#E}6MX9(#P=4IznafI zSZGpfU>?TTNI3~fWYBdWEYV>NJ8!ay0@*vOOG{UezmS!6Val92Qzook+qMJ8Txys{ z%d!QNr_A3|vsa@EpC^b{z9y{2US*TSTJF=x+H6&8!#ey^yfA$ro@yiEL9L&S;3JGKtiv9l5OBpXONn5fcW66sP5PnGw zzeF;u4|Wk~uZHf=_9E&TB(!?Vx3;{4^?JpMk;FE&barE;{DuVcMV`LcT#6p=6Hz+C z(+`{#UGEcK+Oo=*<;NCa_lEuCqkliD2qB*3H!T_aP0o(7WBn0Yfl!P-HHl5|!`{=d zc>S~f*w7)G%3TdfyB!)Q9Fui^C?1?(98a{9@SxpSM({)p3mZr?nA@;Obl9h{{WUQrG&J@) zNT`Ig{>~p0CUn}hT{g=JygGYmQ#fcAuTC}8*|WMD8Zv!)+UVc`o>rD#F&Rl?hm}q+ zYvTSsg>FH4X)Z4IcCn!;(GC2WNdvNdf)br9t-AE=XK6DiI=!@_*lR$%gIkZju>+if zoa{VoJbV)3TTb!-&{ggqU}wRRA40ta1SU=xP)XDW}1Mt{d9naT?qZzgJmp z6pwGMY5Ct%zG#mZVTO3f$DgQtDpzNXH7-xAeZ*5sIM{J;m0>y$1z1kX)Y(V?7OoAp zKiW*+R8makNSdkWtabV{(|{D0(3GyzZDtOQs&yFdSRF;{)l)MjrJ?eo0QAPMMW~9{KqmfwXo#JGnSJ+t&kk@7u=b=Eh&dzDT%XFGdg+}r?X>|C58ym&NnUx(p+Jtdkhm0xN*bFdiacJ$8 zB-`<*){dXG(b*^-?PwG)+fl-!9bapQ$4t_ZtNGkhUY7ByBnF>|X~>`RgF51phhl{( z#i~-6@>XHR_UjZYWiaKe<#6u`@{xR2%rC>Hf~?-ODYw?Ty{%l`pdHgnr&Xw>nQEib z-n6_peRf{XjMUU=83QsMZ3Cy}IJ!4k_IhMceU=|BDyMsUrFpZv8)_D%t4qta{oY%IsnDoa^G zlQf>^vnWkJYSHs^T9Ex|P>jkeD)b*49;lbuVwO+q&X$-tV{M0N!d=RCRkTaVZeft@ zLX+&4iCD9*NO8}}Ou!QU@HCGceORAcUJ+QpXK8(Yb`QgPK0BDzfED~8ul%egtmg-N z>p$>gCXQIjkMYsp>yL$fqP1KPmi!7fkaFi+N$ZE=K~tl6$*&R~G<~lfUh=D&&pqWG z8Q+msWo7<1WLuhoro?aRPD0xrpp@g<9;TdTJ-m}}tSVmJNr)f*_dU$tBGsLQ=s^7< zaZP`=*=Q>Pb(ARHD75PAVAs9_fry=3@43kf99xL9|lgA8&)- zsf}4G{O@h>JC#pl9UWVJ_*)pW=-zZiXE-Sr>ZaOMX-mePIDgdH)hi??!&kGf8qgm{ zG+&(1Fu!YBx8TqO|3{^*l}-2l7M3=wNt#?yfA!(D;2cLP^ZScETg3<;rTT6xC1&y7kufi{CgWmxytR0?4LKS|8vPi;{6j>^D zP>giIXNR&AnuHwL1l>c`QbH%p3@m4fHHDN&TDE+T( zqm{OKZ@eMR7JE()2(zrz*BFK<5DxV*=)7EjuQUlvH~921d?)4MwgfsDX5~e?2E!a0 zS@{c*+QztwTV7scr2a>vM&#KoYt_ARG@zebQ$j&O%TD9Q(_}7Y5Y!jeNoq0N;ArRz zNwP1{IK%~$YZRa@ps6RQ&^wipM$ps~!HJ$^>g9GV{Zd8cwtrMa{rAetXX zyg)ppkJew#NSdqgyI7PFJkeZ*--Wd$$$$DgT(vLsMH4*0_o08cFeDWLodmZ`7`!9lR3fFT98QKUfAMhR^< zz_^qA%|ODk-alwm%D=OcSm65z^-`CAV=MtJ3YrNUAm^5HCM))~{z%kS<4JeXbgsQW zqAgnY06J3kE)|-!Zj;b5o_d!C&9)KrEkO5`Ev-WDY`q|%WjseqYtTC{0I>D@{jabO^Svn9=1GAPSuy$ntS@l$I9BK| z^uu}-i>Y`f9pR2<1!~!5eMyF(7EqHk0nN*owAqBlcdhpie!whrQjp&x0pZ{(H80g7 z1bG?RgoyUM+RQ^vcBvl_Y-A(S@@_Dg1NmsZ_H8*o{StU%lv9SuUZrZ_$Iz=zYwW(f+J;Sr zl&B&b(3TK9gRzr+0-lHD!tQGiOisX?n3`C!PxLFZvKogDEiPuxHbpkD4!&wvYxZq5LH588jDD*VafgP@#7!Sm8sw3Jo1vn~UvKmdZJo3ct7wexIUmhZmjO;P+v^Yz`U& zUeJ1&swEkgZH?C=Fi1d80O8~!m_bwGS5(`3uSasqmJS=XbZE{DFH#y>)*4$fvnK~1 zFBu;hshTrKgx8knKW&VSZOq7Mh=IX8jZRn>VbCF*uzD0h^k~x}Xw~RJJha^~^{Ybd z^JNz~wwmb}tPOPqab>VJoLf1t&dH^DAZF1SvvQIeU7YGuV0qY5Z8U?%k<`KQ(FLYh z5E(cKc8F17q0#DmIw~Y2DrsuYZsU3Mg``2b1GUzUl01z0o0M1T8YuPL;gW|hBAyG= z3D6y+#5GuILo0P~dcauQaB#-Shyi)j6Uz*C+Xq#v?T@-(*floY9z=HAEt54Ns`V7j z-U@p?4_I6o$zy}@mAT~Vb_=YQzYIdFt$xJKYW;R#eo6dB^_wNRS*_oW!PKLr<+z-q ze5X<4T{(x47F}{>0doyWr3K(NSeom9m6qnw+UeWBts`M|(8w&IO>NW;q|hEcnV)le zzacS3>q^6#|FH%^hm<|EEzps;Xd0FKyDW-{cHimw!O?U)ZU!OBH!W zXbu`J{RPAl^UYIsn{`rsPBfo6|%DL z15W&Vjc9uS_vZFs@kS_HZeSPJx9@^B!4@AD`N+!_^ce}8IakamXqCly57o$aPJV)xR~_XW=7s$HElvSS0NhFHbno#m`^yX2%D%51rQjhPI4 zMs&x%lRe_q;aF7xvL5f~PS+h2Mwqv<)9YT%p46Q#PW0bh5%n zo~*#0C7miVv;5oq4c!t7fx)D)rmjTJ3)Kl*L}`5koxQ+0g_N4v7EGNUN_{oLyXTxS zY`x(y29=czTcj*#qr^9Dim+kQ(Ow3W7b^`5?x8B&MrM=^j7bC*Xj<`rhfFGA0;x?> z(Q5K6hjOptn*^=XStMJMTl6vZ@7s0D5 zZ`+jxM({Kjm+;7Ok%Y%O61y))3d~BR417_>dn10094T%h9wWtA;&T<6a#5joDF@o2 zp=CMZW-G#Sm$v_)!jqg<;ddxAjNl1NHTNC)G(N;&*Xu`&^44U(XV?#v7Z!&)sG}#D zn&4xIH2Sh@FBRs$R5kpCd>ywoZ7fL|ZavrK?TN)rX8KYwaVY<4$nw#nR}9HsGRoP0 zSYuS^$cZh>Miv#0!rW;`s~d}j|LUVaQ+B@_Sy&Fx&pTqcrU&>U2ici^YeSsaYduS_}I? zS%i4f9;}I$*l{81n6fkQImVeg+KDE_V;cK!1{InI8_SV@bG|8BN|k?e%Bj>a5dn5S z`a7Dvvx?on7)dnb+UG0(%KSN0oznaZE9mmJ=??I71NGF?SUth37!qh`Fj~ZuN3+-f zOzK7%4rtxKq|WG&+7`7_t*OCl79=!`B{9|=G?he3Ya`q0F%q`d|l(_?7AzzO7MMadO z!TJoVeOiu%EEMYwkTi;13c$zUNxQ~sBnussoSYl)>gVU0z?Wxc#acS!ueVyxScSeM z+v&j-1%vftyVWDwz>JqESI{R^yGeDqA%raKWM`+%Ih1xK-rp}i-p@Zi&Tzvde>o~@ zKtNPffVHiyRquZN)N)&WlrzxHEfgj2;ei2P(LG=^6htL@8cBcml>Qcye#3Bc?%_83 zI_wFPI8e_NYpa1yJ)?XqYZ__YRjDU;g9 zm3DZ<4>5wDWPs=QkUz;VnZK0qYX0{axCHT}aqp5VV(SPW?Anz`eAHe*TF6nt2k}oB zjYEXLIu0GAoqo#y!5t&uj~ye#tK%GLIT9ZE%xQ<0yM;H9KNowOiI%u;gx9fGKylC# z7NB)4SJ^8S73v!?u>Fk~*wRybV}qXb19}qDP#Z0oUX#ndr$x86K1OdaNR;6X|3bbo zX?d?m=x@-kxrQ*VVRj>yPP7OLo+i&Lo?8dxG91c;NBM}+z9bK+6z9;41gBu z%@MHu{#~?S?SS@LZD7eeK#7)LG?3B&xk5!YzFo)_HwuuPP~SKkgKg0%1L+rJ? zh+LgK+Abc7RWBY|fQyG5?A9AD9%A`L33M}2LeX(V(<^2vA$WaWUP?-Seu}(}D6*i? z)62_4KSYa6(fk4r#F8tJAy5a_%gSA83#r*It5(a>URkyQ-rrZ>tCo_QjU*XI()&P= zCJ;Lz;4iXVaWK}SU3 zL8NhAIqpJuZ~Vm1ork7#o<7w1^NDqIS3-Gg+W3BluM2VgaKG_smBB$H#?GwGw(Z{C zHoJD_xDi3YNzvJsR#ukTF-a)DQ|mAMDBp~|G~9)Y=5Y(gm?K@FB`wI2Bl#K3kAAqd zVEmFLFTXr-)vBdS9ekc>V(*ASSw*ZOIhn!q`(0OQie9$V?`nMd63pxBq9CQff;0Lx|$zlL@`I_NYZ%ckX zKBh_kb4FS8I66^ZmZ87Z6caaW#c*5=z&bzSg(7N>A>CJta_~^=f#@QFXguU;aV1xIw{(BHoj3j zIgZtu<-S~7^Umu3O%c zsu^2GO>JJ99#b2ini@AYhU$iP;H$voCi0Xy32`PI1bdR%wA3@3Rc!S^^nzuB2lI-S zW$YADp2pAbkmBL-^E-^6hcSMxD`{EI%gK@4a&O&%ONZ8x++q$UmL^y<3=VY*c3|uD z2bih;Puy`)uh+9@dBrb-?+$+KKflhUG7R@vQGXFpD^x3F@;IT40jZd`of(xn&l3)lqxLbmYBEnDDevyLkSd&1E zG6dRD?&iqdkskxq1V7C(;d3PyzX$kw6+gP|&;llUdvMF)BeVH>y$!qEvTN>K(Ad7U z8LKo6q{W4_?@PQnBP4pFpU+dF@mAxASA&t;=UDwAtp@pgK6@?_qm*RCZ6YFm}V{Qr^-;CCS^F#v0wt)L}ON+pSF7Bo?{2dFlZ7)#wpu>12fygSoS3_n^aq zzH_tnHpGd+th@3#TdbJrP#=WJBEA+D@m@#=To`6JswF%Ego!roA(6*A&pr(scw=nX zTXW~OY z(dvXTu}!nG0$;fFVKHk?aHqLiiczQ@>RCrm4=-`v)0`n`M zG!I*=p1tj1d}--!tG6o}IAB0h(tv;@bZ6SJ;|`FVkfQkNq*}IiY7J6Hy|R(%3X&pX zBI4wgjdjxpjhM>f^?jICUTsiNbXH>Xw8rv*^M_Byg^iGtxUbOz`9W7ToStc49K#la zG@LPGUo<>Ev39;mgDyEHHZ3)F)TjCr?8DF4SIr~F&Y+tZ)8pgP25l%W-ax$}1U6A_ z$Wx9V53GG+O)^l>vS%C70@>V}h}a1!X$`TSUY}0?+RiOFGczeECnt#=i5!!ZTpt@Z zAvwG;hB5uG9rd#Y;d(=ID8;k2h1){+H7dmnSN|9~Uq~QXei#a3V;W*Tyg!|>)y^qp z49ZJ=E-NW1iyS{4Hz6guG3GuqHIEvToH8L!|255p;E3MPNtI`zVNFy_@x)=}Y6?n? zfD?GaU5?s+BTl?=e39&N_5<(7XYgYpT}%@jbbWR6bxU;1b?@u8=q{UdG4V4gGHEt> z*W|uwrRikT*G)H@UN;kF-ONUsZ8E#q!M;OnhgUmXG4EkM*!(&3E#`MRdUYJraY@Hb zos>@gohEhqu+x#www;G|Ue@_=7qcz_U1oRL(50oTXV;3ZZ*|po%j-6;+w&yRZk zjG02B#Z-%R7Qgj!?v>YTSg&Qh4qJA!46z((*s`}(V(;0#U+n#5 z?~7IzR`ymQRxwt|R@qiXR>Q1DTGd%KTg|YVXWhv<&^q3_(0ZNq4eLK`tZaU=`Mr;2 zAJ;x}`<(9ErEgZ>Wql9Xy4x1pzG-{DpH;s>{TB5*Vb{?v*lvd1$966KBl}nP|FHiZ z`$+p{`w#3l*#G7b=P<$H1BX8xiyXgk@^c#J^uDv1^I+$9oqu%c;nL3~$K?%|y{^4o z^Igkb$GA>%ebn^>*CTGd-5lLUxvg^B;V#@$+@Eyc=Ki|}_lWVB>ap76l*cvC6wkN4 zI(wyf&GS0oUE$N+XSuKNt?@nR7wR|1?|1(h{uc){4!9XGIAC|6Z{Xsf-a(E*-vs9d ze-n}#@_A@N=x1T6VOzt)!*@r-Mr@AskK7zp7&OpHg&=2(YVpV$>~HgPU-FU75j z?-%b8|7QHh2_Xs12|E%yB&H=koA_(eq@>n?*#p-n_edU{d?h6)<&l&4w=tn>9XpxKFHdVZIWG){cVmz&a|8@x!rQpau?|Hsia^Y}3 zeCY6%RUN8ws$Q=8YXrV;QQf6_TJ`Ob#Us~^au_vY)O(|QjLsYVQBBX95jE>-zNzh6 zTTuJP81pd;$J`$~V(k8L8RO2?1=OvnyFY&D_&4jj)tA-ppAa%(Q$u>g(uUs~M>d{n zn%wmJ#KjYDG*>jg*ZkL{k&_Njj-R}9O8Jz}r+QDFHTBfAxM`cGS580sNaiE+AK5>n z(~MCwKAdr5X6nr6XC9jsHfzqT-LqY02hV!JH?%KH2o-si)$ediUwhPd7b%@0roh ztX*ibuzcY=3-3NV^x4zTB|rD}^Zw7ju*h@K>_vwcr!HQ-q{oulB|p62_QLcRK6|m# zi_gF0|I!yPcYb-)%Z)D|cqR0eWv^PiTKDRS*G9hf-RmB&&wBm0H%7j3XleM;SC-i< zTeIA9`8zARub8*u+{%cR@2@gnHD=XsZ?ZRsy;=L_&ehJVpIH6NTSadjdpq>)#J4|r z$LpPO?;Ky_vS$98L+@t1`^LLx-y8VeWAE*J-{bvB?_d1D?}J$%Z2vI+!>u2ce01<* z`;RAlyk)KT+R1Bgep2ws@lSm}ee%I2m!EvO@yqRBnST}k)r()<`P%#ISzjOdx^=6|*7U98w=UYcZtJOSrrZ3t z4cRtt+uCiXzUlN$*f-VREc#~aH@|#q|835I@_g$CoqQ6`4-M;O;w>xc* z+dgdjtnEv-uiXCb_OG`e*xs_E^Nx@mO*^ZA|M@4UOK&o2L6NxLTRdT!SnyEg1PwCnt?*4>u7lXutbUcUSLJstPh?up)$ zx2Jy3f<4Rje70x%o+EoM@A-4D>0XPyX?thxeP{3KeLeR1?rYlj;=WJ!9pCrMK70~* zfARi#`#0^sbHMyS+JR9A794o(z=i{d4qQ8+{~_^*oF5kdum%4o4t6>ie{kl()d$xf z>U}8k&~t~rI&|#Nl|#1=M;uN$Tz`1};ZF|VI{eoWyCY#o;*ShFGVaLBN7f!W`J?rZ zbw95B@xvcC{v4ci#_)Eu|>z09((uL7ss|8yLvqEc7l1bpKdz6?o6jMR%aZ~_?`(rGw@9AnT9i~&U|!c^O^H!&CXh!?SD4vY{}WCv(KD; z|Lo4Q7tXevGe2i}F6`Xsb4}-FoqOusi|1CJ`|#YxbKB3Goi9H>=6v({HRt!8KXLxj z`8((J7xFKxzOeSf<_qU9T3vLyIOt;8#hQx~FV4RB^u?DizIpNEi<>Wgf3fva*rlXP zxtE4s8hxqh(yU8QUV8D;%1a+!+HmRC;!2>;13$U5~wsu+e@^6j0HTBlKTQA-E_|^$5Xy5(W;pd2-vwp7l zdG^oCfByLA>p$PUEpB(a-S@WJ?ZDe}Za;JTmD`to>H169FJpdrgY*nV$4rMbJC&Dr zi~0?F3}i2$99{L!R`O5u4%yvuxn+a-4SY`wI}=j#K!E*+-on?ZPQ)t7x{*pUPij3Q zT~zB8QPz4zXA1uU+&s92tylO{s?&`HJRCiXcs0y?TCZphW$7_rrfahGAHjVCm!&yB z_-@R%wG6O>5Pk;Xuf=iX^FH#{!)=3G21n%v!ezr1!wo>(e7F^Gz>hzMxGMM?;F~I` zd^o~;l}yne{u0C;ga0vnZzWkcA$%FGH=dt_kNic1lF#3OAA;v}_$S~3lq4#r4WAZ- zQGQ!_lqd4wKf*0XeSd{}6=CGZfH&dGsjN^qTeyetPTM7R?C6l$nuLbN8 z_%FaW16}cD4z?a)D(g9fXTi5q^4T2t9pE&4c^@T-_rbFfKC*n|g*lxo(O3Ch3FFDM ze$g6+=W%?t62*ooK0ICt;CYHae_Zk9GnI5c2M#9$_zWeQPgAmVF2L=IlEu80S9lNQ z72PzP1*@aG(p#^>&BCcLST?jqG1L|LS{l>rAKUO1(8th*tAMki4M7LK5$~uCDNJpc z2;b0#AK{%*8@9Dyh~gsKZ!%ytdgyurmiS0(HyyQs5pDj@wlcy?w$*CT{$I8g;YIDl z@TJy=+evf-9?S6#{6g&`&}OEaHTP)i6_Y%Kz2SooOg+)>k`R8p^@>?I{FR9N4gM)O z#G9JI&s3c$@{|sJ!ekM`-Qmm;-U@#leB^D0er(za;TR>!%uGqr-GO^wNiyw%cjMvw z;g-TpY`tO*zA>e|3pIBD{!f~F8a_F~joePn9R;8zo0gni%$pD}Rsd>j4- z_|xI;AiM_tJ-AO)XHo-NLF4mTR^uI7+V_dDEIC?iL8rUE{dOD+X<$U@%e zPbO30902-ia!qr zyiCvr{1rIl#|vA3(V_oy)PdUALUk_ig+qN0b#25_XrOKzEm#xCWzaq zz9$%d3C{~!Pw0S$4m8)HFPK( zKDbi2J#gpY=BRLHwg_jyf&X-e5a)|=^P=iZ7Q=rF?p?eCznJuc|Dxv5M@-SSy0wUR zM))WA5%8D7_eT5;_-IevD)^Aaz2uhDLlpKc?3 z3pmiq1oSlhJ$~tUkc8V6Q1J{Zbf*R_C5{aGNgginW3ENs;|?*CtjicMR}ti z$$rs_GT=-S5w`+yweV3_oef+E#9vUI+0*brW9oB~zTh#_$q283ABcDp_$To^7Ga_- z=tR!sH~1KjiMD0}VUiIG;V*|DjK1vz2=2KkhnMs$%!YkvA(DxY@!5*6jqfFL)UVZ>5!hy!gFuM2lg(uc$duMl#U`?>BxRX{>kuv1pYc@21~+Tp-vgX zJrrlDzk~L`H-XOs&7GAf!d1c~C>|^fc~~mGYzJ0 z4dM8I_%a{BKkS2sXEnD6KDk?(`yD=`Wb8=p5KL|=LqSWQd`{-+u-^rf>T2mVno&Tjz{ge8L z?4Q&ghJH$Yh5DGx%-DP8X$6Iv>dE0>~*i=762_1HkJ#_J*x6Upxd^ z3;8PJ5hwdQ`UGqh`;lYGs>9qdm=6Oz|BYLX^2@*r!;vOW38C};w1%PUqhFznFhA0A z`OiZ08x&*wr*l+vq7-WuuCZ-gwrm!bpJ6y+6V7BZ(@t}cL_!OU1+7^4lq z*G5xuZ(}u^!4|UTSqtwAi>*z3JO7@a6knMO^G@bnup86M+}+&YJkUJce4u%nd6s#u z`7rZp^YP~O<_&g_*=@G_)$ULGF800b``FvrJKDS2``bs@C)vMk{~mTQHal22I6AmG z_&Rb&Q^#(OJsm9_`#9P;dO4;#RybC>>~z`v7stLW{Sj^s$}-lG*)ew(!opc58-_37 z5pMUnwZ!c^;C2+aF>@31&gR|BEzB*=Jz+-%x#8zFJS!UpVSerr9?8+jhj#aA=Zc{0A0l)&R~ z54SJ(X4}|1Y%FkQXz)99*7tW=o8MdRcDoA;io38FpufA}zu(5M&D}n~FUM+M-wT&7 zoImsE`JLytpa1Usx97K>Uw{7N^KYNNcs^cH&Ig=3d2Zji-RHhNd*|%WXD^?ts)WNTZ4emVoto~}R{;Nkh{JX!Y zum+ljox`56BIyQx%)$4^2SU%7uHYk=uy?bD{OALV0Y~g9_QyC)E&m8Czq%;4=$TJK zUOgjj$)YSEv%t+dvcg&cr-tbk^%Yu}ql_(DSYVHMw-(kJ!I(hinQHN-xP`U57Ve<9 zVr@vx(_9(K^0aU#C4zmRg}X3EtRbl|U6l~gQ44ohx{5e0+ylBowidQfJ`h9HFnA(P z*Fg(2#ZH&1g|UOH8>xkb;;nmDNmRz8J*L36r$!ltTV0z#lK{nEI(wx6G1Z94l~DD7 zsZ$!|a|2>(@vcgyh{s-S6JW<9AA0XDb814)ji8Jl{zoA#K}^I~+yJy@2Sv#8mm+ybsF$ZMw>_e1IEUw=zS2d@W+1; z@Ch?|da!h#2TDtmSk|DdI^<9QZ0jX;k{_r+wxm)eaI}YYdnIrq3c4#v@SA1YO5jZR z)+iphZOk5DDjbg->yRH&nrN(2l1gz`G6CBpV?F*xRe~j25JpWJJ`d8|-bg85;jfTbJ8 zjtu--nP*~r3r47yIp$^&ItP>9MhI_n9Rdni}RH4V=#VY$+Y3-spccV3lq@F#FfMcBS0IX6}17iY`x?F z>gxnU+(x0>gS`5OKiHArla>r8Xqb+fFjHtC9hf;r%}%T{>%zL? zGZ5Wb57v`euwKlP^=4Mgn%S^E&{J$#Kj;JfnLTrW9Cl*P%!Ro!H)seR%#(THW9&Z6 zm-#V&=raMhT_lJFLw5*eVbC8USR{*L(JY3=vN#rxPoO8VBsP#GvlM7PX)K*(K*z|! z*UNKQF6>wGSUxLYg{+7bv%&c4_z-AELs=QLkaFCaUCD;CDmDW8(nvN6dPxn=O^m_V zKaSPmE8q2O0&8H6xZ!IeYi5(!WHtp~=bpx{Ip``y4l}uVd@k2DTA5Id5iL*q7`p_BGoI zZRH#GE&GmbXFG6qWhdLkcC$TfFWblVvjgl0c90!nhuIPKBRk5DvE%Fn`-z=or`TzB zhMi^S*m-t=U1XQoWp;&KW!Knsc7xqyx7g3@Hv0u%2>zA*hyBKWXLs2j>`!)&{l)IH z7N%#dT;Ys!F1QZ1!=~Jfci`r{BkzQhe_ddi+l_bUJ$O&p5%$7)``+9N`koE%1C7)c z7DaZvKh9S=z{1XnJ98KA3a!^2mRp{0B0?N@ZE?I9?HXbIKH78 z$)k8QG__dhYw^(95^;mnKxl9&Je8+Gm&@RpI3JwNbD-M|f`*sR3wR+f;>ED|EWyR+ zrFYZ17&?ukqJ$s%$A=#+UOId?jq^-{h-tFWuYx9o)J5E`N`|&p+TF@{jn( zd@cWkf671OpYt#HI=-H7;2WXOZ{}P0m;5XKHQ&m&@o)IIu(IFIcR-WgiMx+?^F4eo z-^cg!1N;YmkRRfQ`4ODnJ<5;qmbZU zN6|@i7F|SF(M@z0Jw#7oA$kd%*c4X6TG)s_qOY(O{e+$9FYIx8z)?5}XW=4Tg`02} z9>P<232)&ed~ssVUkreKexL{v!6HP2iZBr_B1EK!644??#ELi(FA_weND>1@vPcoB zA`Mn*86s0;iENQ0a>XE#C-OysC=^9F{X1Bch#|0lA1cbkFi|clM5P!ms>BFUEk=q_ zVzj6cwPK7IE5?aBF<#V*38FzXiY74;*Dg#Flf@J<6;^Q5#Uo;dm?>t7*(5N(MTt5hIVxgr?u3X z$s?GFtW%aNGchNbrOd_+&$pBf;zjY2cv-w6Ud0+mi=r2=i#L>3rii6tnOM%4SRq!5 zRpL#tTD&FR7Vn5P;$7tr%B$j@_)FXuEkZ9^ zbqcPx;X0wy=}eThxRLI2+&BD<@+ofd`4)4=t;*xdyEyx?1vj;B(wXYabR951drH?) z*GYLv*BR>#FDpOmy6CzpZ{miK*Oa%Eh00>wCAc1|7+>qU>ALHB=z8ibbiH(zy52e~ zTrO;*>jP_1TU|e$ovy#mUgw~5)H&&#by$(px#`?>9y(8*m(E+4U6`546Z6D~=6D@k zJOXJ5q@^KHh(ICzH0PPnPaXv`DVUjw*8}kwPjERDC^Sb*Rb}0XhDwCu+d?^N2&u-! zQxW6RD40ftj4PyIq5N&mGesC>P*iiKe8|ispn)=}gwK(|!j2THW=lb>1i)s*10W-n zibOwF_{p_ zNS#axQ{->Dj7mzHOmIL^KIW~}I|WaP2qaQ;Is)l3x&)zu z0%VPPBbbzgAhJX-I~#xn^qNv6(Mt+YY%U&h=^+7u1PWxqmB0}T5myx9MLy+{pN}VU z^pHs{N)?1h^+Qy~WE6GX`cph@HFCN?%#HdJ;2(vqWw*VK)e2(~J!X{>A* zRY@Stm7^LeM^|>B$cD;sl^{s=#4$~kC}2o+!+7MCQ&)}Of=T1?s$g_Obv0fkkDu5; zUQIK-%deS?clp)L)phU(){Gk6gqPVhb=ANpXIxJdGkkbMb#qN+Q_c9g#+p%eCL@4P zWv3D2Ck`K5EyE@a6YHz1I|0F($~qbDIThtksu|HVx^8@3?RezY(5)>>eeOJBd{a~P zh^m@~sOWJe$5u9uMz!e!BJo9D^5VOb`iW zWFS2rKoUF@Q5^2VX846i7-@Qsxbkf#z+Vl0#$PX z1OciK>U$6bQA7^_gB*AuYTyCHz%PozFKUNhPy(-s5afXXh*N*nC?W#h5DkbFR8u?> z1>g|@5G(6XK;;>dPLs6dMs$RMp3t1=MW@oF>>f_|{0-3tJpuEHoQ0b1C zA}ytspOlXon_tyAzM;qwg9lISVG zS*Di54?2ykEPPo<_%e^g@|03W;iaCIXtkG-Ro}sp-?fpeQ9BwFC~} zUJPbH63;Z=Q4~UL0m*ZSk!2Btnr%8YDzZz7{32p1k|1!D4+UkVC?Gik zVg^@(pt2@B0LTPVP!!01 zM|43zYCQ;O31rtQD9Ta{W|Odzq%90czvspE@cll^IwNn>I6@ z5*IC6U<9r@dDqEAtuwVS@u{VkCe|QYNn^ze_F`(AK!R)MZ!E2W_p#)cOko7RwB^R8 z{AjNl>oPaiRVL-QLh3+ntxQsqhKy&8CAc++Q_4cS89uaH#2h7afcW4)2&BCMH@(qd zx~W9`X!}>YsUJg=!z6oT8lsu5CNYXq?fNK&*0`81kuFc8ol-<0%?&_jVF-=*^vTB0ztB)UA9KM*>|+d#AsI$81xTf9qon?29Z#g zLbT&Rv>0OIM1?EU?x#$<#Ar8*2i;|~n*~NwZ1OQW$T+4;NsDof%ZJ=CGX0wR%nS8b z>johPj>HBD>@SnpYF(RPXd~7J-AzpGf3-5_QXVmbaM~mApv4lCh&85^M^_`Yu18`7 z;k4Cir8?BNcF>@SYF(3Iq~g-Kxpw*_NnX8c*=wh3;7P9RvUwPX;z<%y~H4v6dRLV_ULBe>S-3{z_iQ~Lv^-kLD!Ns`8R(x5@bq|DS3%#COz z1ZRjis>?7(wP;F5$x_cT{I>B_T-@7S1gYB^e#ZtWO22a{Qok-UqXQ@DMb0K=x_pn9 z8yyuU*_NO_*AVS#*l7KZcb!5DqyBZu;gX0oU@$R@O%Txa1}uW!Fy4(8xp8R>I&HZ1 zsAMhZ6yx0*Mi#vqZ_xjPDR8`NSh>|{96D|pwi=}jUu>nV)X=UVEu~kQD;_MgR@sLc zSYO-RG`Ev`2A!UI^6uF75I(Se;pNn|JfaFc`+xZqJ04gszdRh4c>N_|*kz}4n@4AHUYmsv>0C&A;RtU>pW{l>;^94D-jPBrtU5DeT&6M>Q14qJ9^Ep!F)FZ7Q(S7W zSUOIInpiCzhm|J_Y23VgY?KtFNMVW;rATp#l%z;$ij<|u;DF@krAR8~{8Y^OshIOq zG3TdZ&QHahpNcs@6?1+n=7Lnr1*w<|QZW~#VlF63ENPmbmsgb+m^IF2V}te@4= z+>~H1NX&SZ?A$cO>(xk9HP3BsYFLn{cV@_rlV6ZT+kztqt);H3Hk}z#Ja0 zb@^*lBUVeMVvRt&&V_0Ug(@m`p^8f4buLts8i_GM&YHtHEE*B`9@$~cyd_O@>syvA zY^-0>+Mzjo6(8r)X$hrM9OS*YG(OIy)8dTr&hO%|-yoIZkuJ58pcYFC;}cwBLk{of)6#T6T#VX%k!KH_c63BG_SKIJX^^gs&14Q#J0)_LF5>Z^^ zSG#Zp!w1JFvw6zkSmun$E(gohXg7KG{Dzi>#q$@pTb5!HU;YRe9z}b3kNPO!)64&Asw6E7%7c02-JmsD1+q#HabgWOcM&MWLUU_CP=LHw8 zAL>O$y>#CofOdN29qSiT1B=E35)EA$c$=G*H@fvRmoALthH+-&vW1a>VI&rbNzz1ILSxKG z`!Hj6hmSNiL;ek=xg=tc68Qk$QQ!P#X-QU-`><5PV%)d$Ci$D+Bj@mrxW9ilT+I7m zc@He_e@FSZz7zaA-g@4yF5(^D{gDUw_Qyuvoj!tY@GZQFmA8V=MPA@t;A^}Se4RJ8 zdwD1O4rgQz^ZxNDZ&u}6?0F zZbY_bX-I}fBxqJ3J#$YWFXJR+L?UK;ApNoviI-g};j-5pK!)WA5-TT=NkJOL%b9e(w;^#WC#)=8AyV3L+WD)(jNVg>?nd& zBC%0R9ARj_#NbW7jM@0@do`} zeuw!TMXuPOF`RlwAE@9FK_qCv*gq-$i`w5B{Q>rW6hxW>G%u^qT*Vs{FI4ce-Mnmsij`Q#x7F)NHA@U+CQi^ z+FsF5mH$NTcMBpZC84ygVoR0xRUE7M9Yw8&*u%opt`&@LQ~Pm((IVx871f@v6iJ-F zQrFFj+GnC^%3W-Ol>brjOTk!$;wys4mI-S7NU*`ptBQvdk)*2fHAH(FHf>m+R$Z4z zgyYp1C0@dX;tgVrWs-yKxVjkEGdg8_?u)(~i!eslGhR>de;7%S2xD1X-ER+98)Lme z@v#xt6R|imR9xYTrnG*lDU9zo3H^jhGQUlLS)v({V4yq z>9wSM%*90-hlxFcyZ9wOT(}mK|9uhydkG=68*f9{DSvg8JV*+XJ4taD@yb7O5X<^h z`s9)sm$JQtpMx$>_&Y|vCI1rk6m{EOYLowc!bzEWg{8_R=}63RLQ2?!Tp#A@u*OI^ zG`?e6^M`TMpSo`%FH*ZwN|`rzMR$- z_&QE;nh88JwhLoeuK-q)S$Gpw3x)Yj~tL= z_oF_<4a81LBKcOIQW8yNJ7F|GK?>XPC$+SL)OToU4^m>ui?oB3SXx1RNFJq!?$a`m zSM5*SS%|^aq2ylj!ZopX(L6EQXqn#30JYjcYvroe=u`l4~i2WI^S8=A##Gl|qn2GgN z8{|IWE9@)yX(w?aDZ7U}{I`9R7-n)hEHwK>*D>#OV_hp}i@GCMs7KP!mk{|o|KCkJ zY5EvW&meVOW`@SI;{A}Vz5+SwNytpkL_WF+S?C+h?X1;SBH6qS_lJ;P-V(2jkBrwM zul!v6>iD$y?D%YClwU<2`7LuGeg`tgAH>(h*P9Q`C-JRF6rVJwTe1qD-IM}(mgev*X_sh6O{HUUI`I!u*NqzL z6$xb?K23_|6~%|Z&?rR8*KmrVk}+s_HZ{mje*H=9%;&WK>#6Mj<5QTE_7^FCC*%K3 zPhu*iPYuaDWs(nJewUdiG%M-M<7TCqIxnsMdoz=pmt;obmzs;-;^F^*%tkU3xp|1Q z3(P^BP6*~7nSD4{Fp}p&oohH7aGlIB{Fq^6e&M%XW*Fudoncb*3zGMHbar8WiT0Nn z1{r!cyD-1F*+u3SnO9^^kr@Rk^$Gl@Ac;N)sq+?|Np9u07K!q^ksepMtMY-c#lv({lP{ zMY&6Ue41I(Y&!iWKD!E!KBjR#BQ+MiPhyT9k{ZKa^0`8Da<}F`PdKw1shAT7-UP#`uG`DX{-lDf@{L?hgnVRQM)eq;2iGPE-MinEPhX*vR3nZ=B z4PqbrNPVumId01l} zFJa?XY1x0NVXqV$yGOa41vAKuOIe=K*!HOF8%gRpx>;PK8JhnL=`+!_QvcC}rkF^+ z1YfB!pg9Jb#isKaxL{tB=~3T?S?mJNG5ta)`+|#2 zQ5fgdH_kCbLRbxNGNZ!Sgh;We3*#cT#?6E?aB=HmGj&l2TNbp;F*5^PG;fZX*Ahb6 z&o)i}3k%G0Y{FP*?!YFDMP?;79+%d)E-`Dh_T@~t^k`XUT4`5pJ0rRgU~xshNR6AE zgAqH?hhS(0LHXmGT-3N+@y$5U-9M#W4Q(KvgrV==NPM!YrHd-#i?y6X6ff;K3v*rM z6HXUankk(8*b&{Iwkpvt<3#tm-nqTk^xo2Y{{=hy*gmuS?7#52tXS62tZ`YbS*x-( zWNpdXk+nPPK-S@`<5{P(GqZbS_scHHuE`#kJtMm*`{wMsv)5&B%6>Nc)$D`W$Foo8 zbP4j8PO5V#Q8#*9e^MXHPU|>M&`ADAQKnm!UGCWxo?Yo#t!JY>tMhD3z|!fZat>&K zp8JuV-L@4*7Jf3wgQPl=v2Y9LeuT?dzlGC6(k3~CbnPIg*QxKU57DhCbu0DX9Wrdo7igeDf;B<+~;+{zAYl^`FDp zvxsVj=t2L#lDV~xU*ERgqkT%++^vLToFd}uqHXSdYH@M>PFzC$&OFKpo5C5grpWSM zIrO}hoJrdl+0tuZud-g%y=r-D@lxcCUXvpGIRo_}XUR@+GP$Ga-g}G5;+eLDIpK<4 z*KrzHG?27#iuW$wHmvWxMf=TIO-p)^=;D_(dW=4vV&grV=$U+j#`&A<+0~w1)}7IlzYnu` z5vT1(agu&2^Y|k6f9~XT`#NUwtvp-3%!%^@%;iUUp8Aqg;GKEzmc!}oGEQdK@+N5p z&rhwKmR`ZTqYdoHY~uv;F5VX%;tA;!`#F0r8JrL9&3mB&o{2_sW_Jp2gPM2}x`TD2 zjKX`#IeQ(jwVvJQ**eee_iVjq4|ul0vj;tU$g}Tzw$ZbPJ$uBnfA{QB&wk+9CeI%8 z>~YUFd$z^1Cp_Eg*^{0<<=GEC+veHRo^AK+8PA^e>_?tG=h=@v+u_;sp1t6ij4)UC zGQu2_5$2eTFvouCnT$1OCu7Yq8EcNoSaVFqnq#kdw%fDUJ$u758IvxAj7i62OggsL zGZ~%EPDZC=GCCcT(dn3sPRC?)IwqsjF&UkX$>?-UMyF#kIvtbI>6na8$KLTw#;LQD zaq5_iQ^#bSIws@PF&U?8_)mP}om8~gqZdfq;_a{BqQwz1ryJ8QhD?APAS7#xc3 zf}7dh?8-VHe?e>|pG8+PJh^ViK9xJLXdJnjJMao-@inafHnIZT z$_%oDJMb>%@O`WV-(@X`q=1Q&zh=S=Q>{e%DQdR+$ zbMc>ngE^0GIU9cxtcZL84&yYpB_CgcRXkN#&dPrbKFS$(%Nh3sPc+>qc^1!o1JOE} zz_zbR2MbLGSZdmX<)#BzVLE}8<}9#^CzxD9l(4Q5?Kk5%SwD>$5NV60ZS`h)P`;Uj z?5Sp@>4iCq>pqxsF}o61t~m$1$aDh-p#P4tn(kn+IS(u`=YyrDH#o#x0A6Y?1j|hp zSYdL&VWuxwX>!5g#Eh;>G-qDK72lZ#%gx1L1-%jXUf4sQvnv6pcC1L`xtc@t1efmOIz&Y zxXv@&;w){XjDX9AvHq^UPE*-+UV^ zFw?+tGaaljGr&rAC0q}yqot-%(@pfQThY<5k|(xx+|wULmS-F5s-2wfe*;|$2e`L? zU}jRDvBWW3%}O&LlTm4|Q?pXvJ4-KI#5JSVh|JVHu5Z9>rglZbs+sGX)T}i17z?Gna+8Dp&m?G|IHi>c-|+;h!8fESrNz+&@{V2QaC zEH(cG4l&;WFJ)aSdHQFt!rTp3n%lwq%w6CU>|SK@e5|Rkv+73Yzu;1eW=sjU3al{S z1uMx%9piikb+w3D`F7^UduWA?tgN;%FTUK?0?b>VFe9CeoaXr?!*phqbv{oh{aEJ~ zAwN}#E~8rWjLw=;@82WcvDA+|2}?W4lkaq{XUY zEl;M>p7LZVvx+=b&c$AyA|-x#I+WR0o(82|@1Zm~W;J**-+`9VBKM<#=3X$5-5zP- z^HS+W+b@3ej2AUs(gUk-F(7XVa8dde@gi7m zUIHu3Pr+g4Ww6q`0uE=#C}`idUSwpwGQjKt2b$NwLi0LUYTf|L_#(N)`X*RmWYsau z`~nQm`Mw`g|MM7?tvv7C?#8A06*-rA@F1qN&U=^(xc((^3^4n_ON^{S3e5qq*!%`8 zL0_z-e+V36WSw!Tk(EV-c^4dJ-Ulnq@4zba0XUp*e_J%(z5{Lz&2PWwy3`y7E6fpa znE4}E$sU}{+-2b!{`%c2vL0>OQD&J6^Jh%yNuR1&X+9*DLh~oE*c=5*&3}Sr=3{V( zIR;*8J_F0q87*m_0Ed~sf|cfTu!^thO0G|WHRdC5v-vOZ33D9W%6~kP$@eQH=2Kt= zyStLxQH+bfduRQo6^S`bj+y&xJ50uoJsXqSx94Cs(!0MR_8gN0``QSYYYjNSM!|tL z1`e`mV4jVG`8EL-+H|nUW`M;u6D+eGz`?d7IK*}WFSVV)ax1HY3fl!7X1juwwi`Iy zo(tAk3tnm4gPU~b3GNTJJ2s_O?)Me!y-C=fV5L1Dtoi0y(DuST$6f$lZ2N%yd2b`- z$N~#(HdtzNz;fFctgyM@FnbYLY5Rdywl_E`)IX%gnP0!&ujPJYWz8^!cm}FjY4b3z z<+>1a8fF5wb!Hu>U+{~S{fH|U?JHWW`x`X@So#-jLhiAtPNVh(YCZcC~{(U*J+YTi+V~JPR zM9d|2gqoFBRuj@U#$ZZr%ZWe74g>qzN^pR!0teb^u+WYKi|i<{*j^5n+AF{^TMG`h zqroAz4lK80!3uj7ILwX%E3K>+hT978URwh`YOe%0>q^YeN_GNv1$H7>YA1o^b~0FD zuLg(NYrslbhuJA&tE1iZ8|mxhAFW4(iAbNWV52wiZM0_3ObJ~~lnA+Aa*qBcavqU! zSGS1AdV7VDeqL#$hgX@i!QuSN=#|>4Fw(+ThGwMQTo>}@ zQbzyJ#Lesh>w;2n-!<}#a1SBBRI`R_iRVkOMpvKGi`_a@dV^z2Jo|$(%Pc>Zcb*aS zT+Ju$1!#{t58YAAS$q8(zg)Ciy~rD&SNQeg>17X382kD4C+D&=Uc!^kQ>>i2Aq{f} z8u|{h(^145;SYF+iv(P3YHU?(ckD!3pR}=j3sZKN*;{EZ`uiwi~(6kllG#g5I#MJiUn)vrD;e4v#qPWLGjm zWglv5D500iszj@VnLfy%3g;Y*RBb={wBJ+B1KJ6LaCJUhHmsZJ%RZXuuDk~Qld^;P-9QKAOXz3(4RYV_ zn?E6^KG;?~&s;0 zyoj{?E9iO@jgEgs%HdpeFN)U1Qk8snS`x>(l+xSUzb`4}vNhk8^=P)ah&AaTWWk1^ zV{-;NGFy;bUxnP)TCr)jFSbT@$xGq<#Ujb?}ui|I!+3V4^mm=Q|Slmq30rwu-EV@ z>w3;bs3ug=URuU#euQczy%YVQs-F`*nH|xKDNmL3>V(vX8y6SDIx+`;%-nlQHK-Qy zJn(JN?P()O?GJMy;wO9vBo=r-{a@_WW|;Qu);evg&zm<@FQ@3=?1E&=lpq}Pg+WRK zV43WXe9rv-1^euVUES9Mt)a3mC13GX-uET2_UyR)$%u~mo6uLfUA2xT^^PfiXL`T# zrm;ih52gniR2Q>Td>^M5KH+>p9$GxhtlVkEe}VTu5SDIwnLcP%U5Pf-t!ONjRi*f9 z>;HrB)sDBirRYz609~n1ASL~0y-(vW?TC*pPuWN8E1lMJDKYfYmYA97cl{o39p6Jc z>DinN8Oohq=Jgo0oy${W&~wt-<_?KRT2=Fr_Og#ZU+sGa_K$meDUWC`cmD73_JwLM zvm^QBDVDW8smi$|`AHtcRzlgdDeS$--C52yNgZ0ShstaEoqEpTwBv4+MV_bdq`#Uu zc?VDSa_^ske|bJnm%R=<3$~iCDb$Otoe8e?Zt}D*ZgbUb-WhI(tZt~GzHo=pu{J9gL3W%r{^%VoGmEO!X$-9=hQ5$<5JM|g(J zJpEc$QO4eE<*Nxu*OL|}rl?_8uSVAq9jP&SFE9DI0spdoW<6qMjnLgL1?BD>vp1?+ zu-9Ohsq1oawKu5?ez@xn<$hHYYB@KerubYMS|^8lv+RG}%M+~JGeufY-e<|YP@wmY z>zS?PWYbPP&GZ!~mSkp@`-eN1R4X}(oNMbjgEK2so)?g@$YB*x#+|&DemjF5#a33h zD`?RTtOmAexC!L<7G<&`bnIHsr2d`Vw>^`7;_Rg59h0_n?5Cc+=9#S9oa^hJz2Vtj z&)x}Gr_kz0YOyA?^4Y|SylsT!L^{RNkgit!lcIf+GYx2+Y|}7_-%iNieIMPqq9u2` z{R>)W&qDL7=*|?)nMXsh^@wD|x}u5l95hn)LRS0ySP!&Q%DO1S9ymj{?09sc0uUsL)#d-I%F4yuJ+ib(A7@c9J+eSE(%?3wAY8OR@;`) z)t!vtw$zu}*3i{F#!#Ev6vk59RV^c^?P{o99=gh79JaY-G4k53x-#0@uHyD)u0+x& zWhYWDmhql}jm2J8m8sF*HTjFsRXq6?S90DX}cuy6<_>;wmZ+dF6$8q zS$|j}Dc;i@RB7J&c>mudq!fN#GBmP%c&9GOk_z7sNhIWJFmJt8UfcNwh@W!gW33(Ed`W<|~X=3}H16!W`tQvmaB9W}SXxomFVUj*@ zlZ5!|D-ubfcl+>xozh#0O8EXq@cVhw!`sImm`{c0%WEVO*#$dy?A~Mk<-~U-xiGmTO_7>VSWsN7)260r zHF{l5NnuHGVWAGcE-oxcP!!hawHowmaz$FYHks;}3m#3`(dQU5H3e)|Z#qR3`AbS{ zE?Q@3Xxh`;HEp+S-0%+hCpx^D@DL>xU6a~AtEs_bs>n-Fy6UU+4tq`e*l?@4buB4f zOLT!KNG|DNkjnz!AhG^C(ekB-XG6a^73qjDc{IEk{da025(~duxSyOP|0JoDNKz6M zpet4DMp=u?VsEkOyu(w0 z{Y)Qu>38lUJ}Od`m$vkJ2dw$uBP3>zrOKiqJ#?e{08Kw2VW0dw^(oSgBu!qZhe=T= zwCJ;8a!ySUBoVo{oopagr9Ibu=RWOnLJ_yNg{V*a{gwJd4fF#`3)j#!3DSKap~xQ4 zOEE}?ECd;fU{HcmusLxmA>OO4b_8lhT<&RGOPQy#uDQ{#+*Di7bdY-w5nlxp$u--& z_F;o*OI^9Eq_xi4-QYHi(DVfRH0m^Xnvs1PKL;f`;YlZZe!c=d|CRBxwsx+~Ta{*_ zL-pIsbtCnQgrTlx#;`QQqkThC2Vr$MZTf(1NFP_Og{P$%AQxU&T8&PpP3C4tV^AP< zzzi6435Ce6i9#Jw%&#o8w9>I+NXPvl-+H6XS+gNGZ&TZ3z*%a%y@~mBf;hOc)6qH_ zv`%{*{TsvolxoSNe`&NZN3BYoCdri;YH@U|JTslSlt^VhNgzfo4O=<_`y5);^E3_1 zY2kwfr8E;{^Px2#B^wwKYeE`5NGXVkE%;QVEi0=rRH#%HMzeB*E@izn$2X!aEw2ul zmy*1OmHc}JrA3?Ug=Hm$D-!I9E1k|NOA@(4Uu88DXD>I7C#j<_4i_2+vNJg^eMH6J zzp!Q%h1?6|)Px^nWoz{?6KHXgH+w?s*%0ADRs4C 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 Ckeh!1 literal 0 HcmV?d00001 diff --git a/example/src/components/Card.tsx b/example/src/components/Card.tsx deleted file mode 100644 index 9f6519f..0000000 --- a/example/src/components/Card.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import React from 'react'; -import { Box, TextBlock, themeType } from '../designSystem/theme'; -import type { colorType } from 'react-native-typed-ui'; - -export interface cardProps { - backgroundColor: colorType; -} - -const Card = ({ backgroundColor }: cardProps) => { - return ( - - A simple card - - ); -}; - -export default Card; diff --git a/example/src/components/Category/Category.tsx b/example/src/components/Category/Category.tsx new file mode 100644 index 0000000..90c6362 --- /dev/null +++ b/example/src/components/Category/Category.tsx @@ -0,0 +1,26 @@ +import { Box, TextBlock } from '../../designSystem/theme'; +import React from 'react'; + +export interface CategoryProps { + text: string; +} + +const Category = ({ text }: CategoryProps) => { + return ( + + + {text} + + + ); +}; + +export default Category; diff --git a/example/src/components/NoteCard/NoteCard.tsx b/example/src/components/NoteCard/NoteCard.tsx new file mode 100644 index 0000000..f299ee1 --- /dev/null +++ b/example/src/components/NoteCard/NoteCard.tsx @@ -0,0 +1,52 @@ +import { Column, Row, TextBlock } from '../../designSystem/theme'; +import React from 'react'; +import Priority, { PriorityProps } from '../Priority/Priority'; +import Category from '../Category/Category'; +import TimeStamp from '../TimeStamp/TimeStamp'; +import ProfilePic from '../ProfilePic/ProfilePic'; + +export interface NoteCardProps { + note: string; + date: string; + priority: PriorityProps['priority']; + categories: string[]; + pictureUrl: string; +} + +const NoteCard = ({ + note, + date, + priority, + categories, + pictureUrl, +}: NoteCardProps) => { + return ( + + + + {note} + + + {categories.map((category: string) => ( + + ))} + + + + + ); +}; + +export default NoteCard; diff --git a/example/src/components/NoteHeader/NoteHeader.tsx b/example/src/components/NoteHeader/NoteHeader.tsx new file mode 100644 index 0000000..8a1a352 --- /dev/null +++ b/example/src/components/NoteHeader/NoteHeader.tsx @@ -0,0 +1,21 @@ +import { TextBlock } from '../../designSystem/theme'; +import React from 'react'; + +export interface NoteHeaderProps { + text: string; +} + +const NoteHeader = ({ text }: NoteHeaderProps) => { + return ( + + {text} + + ); +}; + +export default NoteHeader; diff --git a/example/src/components/Priority/Priority.tsx b/example/src/components/Priority/Priority.tsx new file mode 100644 index 0000000..bf4f410 --- /dev/null +++ b/example/src/components/Priority/Priority.tsx @@ -0,0 +1,48 @@ +import React from 'react'; +import { Box, ColorProp, TextBlock } from '../../designSystem/theme'; + +export interface PriorityProps { + priority: 'low' | 'medium' | 'high'; +} + +const Priority = ({ priority }: PriorityProps) => { + let fontColor: ColorProp; + let backgroundColor: ColorProp; + let text: string; + + switch (priority) { + case 'low': + fontColor = 'lowPriorityText'; + backgroundColor = 'lowPriorityBackground'; + text = 'Low'; + break; + case 'medium': + fontColor = 'mediumPriorityText'; + backgroundColor = 'mediumPriorityBackground'; + text = 'Medium'; + break; + case 'high': + default: + fontColor = 'highPriorityText'; + backgroundColor = 'highPriorityBackground'; + text = 'High'; + } + + return ( + + + {text} + + + ); +}; + +export default Priority; diff --git a/example/src/components/ProfilePic/ProfilePic.tsx b/example/src/components/ProfilePic/ProfilePic.tsx new file mode 100644 index 0000000..0a675e7 --- /dev/null +++ b/example/src/components/ProfilePic/ProfilePic.tsx @@ -0,0 +1,34 @@ +import React from 'react'; +import { Box } from '../../designSystem/theme'; +import { Image } from 'react-native'; + +export interface ProfilePicProps { + url: string; +} + +const ProfilePic = ({ url }: ProfilePicProps) => { + const customImageStyle = { + flex: 1, + }; + + return ( + + + + ); +}; + +export default ProfilePic; diff --git a/example/src/components/Search.tsx b/example/src/components/Search.tsx deleted file mode 100644 index b9969b1..0000000 --- a/example/src/components/Search.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import React from 'react'; -import { Box, InputText } from '../designSystem/theme'; - -const Search = () => { - return ( - - - - ); -}; - -export default Search; diff --git a/example/src/components/TimeStamp/TimeStamp.tsx b/example/src/components/TimeStamp/TimeStamp.tsx new file mode 100644 index 0000000..2034fe2 --- /dev/null +++ b/example/src/components/TimeStamp/TimeStamp.tsx @@ -0,0 +1,16 @@ +import { TextBlock } from '../../designSystem/theme'; +import React from 'react'; + +export interface TimeStampProps { + date: string; +} + +const TimeStamp = ({ date }: TimeStampProps) => { + return ( + + {date} + + ); +}; + +export default TimeStamp; diff --git a/example/src/designSystem/darkTheme.tsx b/example/src/designSystem/darkTheme.tsx index 2b3aceb..c289fca 100644 --- a/example/src/designSystem/darkTheme.tsx +++ b/example/src/designSystem/darkTheme.tsx @@ -3,15 +3,22 @@ import lightTheme from './lightTheme'; const darkTheme = { ...lightTheme, colors: { - lowPriority: '#B8EBB0', - mediumPriority: '#F0CA81', - highPriority: '#DE1D3E', + headerText: '#000000', + lowPriorityBackground: '#B8EBB0', + mediumPriorityBackground: '#F0CA81', + highPriorityBackground: '#DE1D3E', noteText: '#221C1D', - priorityText: '#221C1D', - categoryText: '#1F1B24', + lowPriorityText: '#221C1D', + mediumPriorityText: '#221C1D', + highPriorityText: '#ffffff', + categoryText: '#ffffff', timeStampText: '#666666', backgroundColor: '#F9F9F9', - noteCardBackground: '#1F1B24', + noteCardBackground: '#ffffff', + categoryBackground01: '#DE1D6E', + categoryBackground02: '#4F1DDE', + noteCardBorder: '#666666', + profilePicBorder: '#000000', }, }; diff --git a/example/src/designSystem/lightTheme.tsx b/example/src/designSystem/lightTheme.tsx index 3422929..7dbeb8d 100644 --- a/example/src/designSystem/lightTheme.tsx +++ b/example/src/designSystem/lightTheme.tsx @@ -1,13 +1,7 @@ -import { Platform, TextStyle } from 'react-native'; - -const defaultFont = - Platform.OS === 'ios' - ? 'Arial' - : Platform.OS === 'android' - ? 'normal' - : 'Arial'; +import type { TextStyle } from 'react-native'; const fontSizes = { + header: 16, note: 12, pill: 10, timeStamp: 11, @@ -18,7 +12,8 @@ const lineHeights = { }; const fonts = { - primary: defaultFont, + primary: 'poppinsRegular', + primaryMedium: 'poppinsMedium', }; const fontWeights: { @@ -72,15 +67,22 @@ const borderRadius = { }; const colors = { - lowPriority: '#B8EBB0', - mediumPriority: '#F0CA81', - highPriority: '#DE1D3E', + headerText: '#000000', + lowPriorityBackground: '#B8EBB0', + mediumPriorityBackground: '#F0CA81', + highPriorityBackground: '#DE1D3E', noteText: '#221C1D', - priorityText: '#221C1D', + lowPriorityText: '#221C1D', + mediumPriorityText: '#221C1D', + highPriorityText: '#ffffff', categoryText: '#ffffff', timeStampText: '#666666', backgroundColor: '#F9F9F9', noteCardBackground: '#ffffff', + categoryBackground01: '#DE1D6E', + categoryBackground02: '#4F1DDE', + noteCardBorder: '#666666', + profilePicBorder: '#000000', }; const shadows: { diff --git a/example/src/designSystem/theme.tsx b/example/src/designSystem/theme.tsx index 1cbb867..0360f66 100644 --- a/example/src/designSystem/theme.tsx +++ b/example/src/designSystem/theme.tsx @@ -16,4 +16,6 @@ export const { useChangeLightTheme, } = createThemeComponents(lightTheme, darkTheme); -export type themeType = ReturnType; +export type ThemeType = ReturnType; + +export type ColorProp = keyof ThemeType['colors']; diff --git a/example/src/stories/Row.stories.js b/example/src/stories/Row.stories.js index 23036f6..70cafd3 100644 --- a/example/src/stories/Row.stories.js +++ b/example/src/stories/Row.stories.js @@ -1,5 +1,5 @@ import React from 'react'; -import { Row, Box, TextBlock } from '../designSystem/theme'; +import { Row, TextBlock } from '../designSystem/theme'; import ThemeDecorator from './decorators/ThemeDecorator'; export default { diff --git a/example/src/stories/components/PhoneExample.tsx b/example/src/stories/components/PhoneExample.tsx index 1411607..a23cdcf 100644 --- a/example/src/stories/components/PhoneExample.tsx +++ b/example/src/stories/components/PhoneExample.tsx @@ -56,7 +56,7 @@ const PhoneExample = () => { return ( diff --git a/example/yarn.lock b/example/yarn.lock index d438a0f..eec7015 100644 --- a/example/yarn.lock +++ b/example/yarn.lock @@ -7509,6 +7509,11 @@ expo-sqlite@~8.2.1: "@expo/websql" "^1.0.1" lodash "^4.17.15" +expo-status-bar@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/expo-status-bar/-/expo-status-bar-1.0.2.tgz#2441a77c56be31597898337b0d086981f2adefd8" + integrity sha512-5313u744GcLzCadxIPXyTkYw77++UXv1dXCuhYDxDbtsEf93iMra7WSvzyE8a7mRQLIIPRuGnBOdrL/V1C7EOQ== + expo@^38.0.0: version "38.0.9" resolved "https://registry.yarnpkg.com/expo/-/expo-38.0.9.tgz#dac9e4ccee0b86747b71c1b3a827d60fe340c81e" From 8d9a3ef81e9c16a6241703c2e5aa150424e138e6 Mon Sep 17 00:00:00 2001 From: thecoadingmonk Date: Sun, 15 Nov 2020 16:16:02 +0530 Subject: [PATCH 3/7] docs: updated border color for row --- example/src/stories/components/PhoneExample.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/example/src/stories/components/PhoneExample.tsx b/example/src/stories/components/PhoneExample.tsx index a23cdcf..6a48371 100644 --- a/example/src/stories/components/PhoneExample.tsx +++ b/example/src/stories/components/PhoneExample.tsx @@ -56,7 +56,7 @@ const PhoneExample = () => { return ( From c12020450828d209716b3ed1cfca0d0101b0e3df Mon Sep 17 00:00:00 2001 From: DaniAkash Date: Sun, 15 Nov 2020 16:43:06 +0530 Subject: [PATCH 4/7] refactor: deprecate press props in touchable --- src/Components/createTouchable.tsx | 44 +++++++++++++++++++++--- src/index.tsx | 54 +++++++----------------------- src/theme/themeTypes.ts | 15 --------- 3 files changed, 53 insertions(+), 60 deletions(-) diff --git a/src/Components/createTouchable.tsx b/src/Components/createTouchable.tsx index 1fd9336..9f69121 100644 --- a/src/Components/createTouchable.tsx +++ b/src/Components/createTouchable.tsx @@ -1,9 +1,30 @@ -import React from 'react'; -import { Pressable } from 'react-native'; +import React, { ReactNode } from 'react'; +import { Pressable, PressableProps } from 'react-native'; +import type { ThemableViewStyle } from '../../src/theme/themeTypes'; import type themeType from '../theme/theme'; -import type { TouchableProps } from '../theme/themeTypes'; import createViewStyle from '../themeUtils/createViewStyle'; +export type NonThemablePressableProps = Omit< + PressableProps, + 'style' | 'children' +>; + +export interface TouchableProps + extends ThemableViewStyle { + nativeProps?: NonThemablePressableProps; + /* + * @deprecated Use nativeProps instead + */ + press?: NonThemablePressableProps; + inactiveStyle?: ThemableViewStyle; + pressedStyle?: ThemableViewStyle; + pressedChildren?: ReactNode; + inactiveChildren?: ReactNode; +} + +// Warn Users about deprecating press prop +let IS_PRESS_ALERTED = false; + function createTouchable(useTheme: () => T) { const Touchable = ({ children, @@ -12,12 +33,27 @@ function createTouchable(useTheme: () => T) { pressedStyle = {}, inactiveStyle = {}, press = {}, + nativeProps = {}, ...otherProps }: TouchableProps) => { const theme = useTheme(); + + if (press && __DEV__) { + if (!IS_PRESS_ALERTED) { + console.warn( + '`press` prop is deprecated in favour of `nativeProps` please refactor your components!' + ); + IS_PRESS_ALERTED = true; + } + } + + if (press) { + nativeProps = { ...press, ...(nativeProps || {}) }; + } + return ( [ createViewStyle(otherProps, theme), pressed diff --git a/src/index.tsx b/src/index.tsx index 05b8daf..be27d46 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -48,44 +48,16 @@ export default function createTypedComponents( export { defaultDarkTheme, defaultTheme }; -export { - BoxProps, - CommonThemableTypes, - InputProps, - NonThemablePressableProps, - RowProps, - TextBlockProps, - ThemableTextStyle, - ThemableViewStyle, - ThemeableTextInputStyle, - ThemedInputProps, - TouchableProps, - borderRadiusPropsType, - borderRadiusType, - colorType, - colorValuePropsType, - colorValueType, - fontFamilyType, - fontLetterSpacingType, - fontSizesType, - fontStyleValuePropsType, - fontStyleValueType, - fontWeightType, - iconSizesType, - lineHeightType, - nonThemableTextStyles, - nonThemableViewStyles, - omittedTextTypes, - omittedViewTypes, - radiusType, - shadowStyleKeys, - shadowType, - shadowValueType, - spacingType, - spacingValuePropsType, - spacingValueType, - themeModeTypes, - zIndexPropsType, - zIndexValueType, - zIndicesType, -} from './theme/themeTypes'; +export * from './Components/createTouchable'; + +export * from './Components/createInputText'; + +export * from './Components/createTextBlock'; + +export * from './LayoutComponents/createBox'; + +export * from './LayoutComponents/createRow'; + +export * from './LayoutComponents/createColumn'; + +export * from './theme/themeTypes'; diff --git a/src/theme/themeTypes.ts b/src/theme/themeTypes.ts index d740f5d..01ebfff 100644 --- a/src/theme/themeTypes.ts +++ b/src/theme/themeTypes.ts @@ -5,7 +5,6 @@ import type { ViewProps, TextProps, TextInputProps, - PressableProps, } from 'react-native'; import type themeType from './theme'; @@ -177,17 +176,3 @@ export interface InputProps textInput?: ThemedInputProps; underlineColorAndroid?: colorType; } - -export type NonThemablePressableProps = Omit< - PressableProps, - 'style' | 'children' ->; - -export interface TouchableProps - extends ThemableViewStyle { - press?: NonThemablePressableProps; - inactiveStyle?: ThemableViewStyle; - pressedStyle?: ThemableViewStyle; - pressedChildren?: ReactNode; - inactiveChildren?: ReactNode; -} From 78e2b277186c79347ebcae027b798cf0634f655b Mon Sep 17 00:00:00 2001 From: DaniAkash Date: Sun, 15 Nov 2020 17:02:25 +0530 Subject: [PATCH 5/7] chore: updated example expo sdk --- example/package.json | 22 +- example/yarn.lock | 849 +++++++++++++++++++++++++++---------------- 2 files changed, 556 insertions(+), 315 deletions(-) diff --git a/example/package.json b/example/package.json index 729de84..48c0010 100644 --- a/example/package.json +++ b/example/package.json @@ -15,27 +15,27 @@ "chromatic": "npx chromatic" }, "dependencies": { - "@react-native-community/segmented-control": "^2.1.2", - "expo": "^38.0.0", - "expo-font": "~8.2.1", - "expo-splash-screen": "^0.3.1", - "react": "16.11.0", - "react-dom": "16.11.0", - "react-native": "0.62.2", - "react-native-unimodules": "~0.10.1", - "react-native-web": "0.13" + "@react-native-community/segmented-control": "2.1.1", + "expo": "^39.0.0", + "expo-font": "~8.3.0", + "expo-splash-screen": "~0.6.2", + "react": "16.13.1", + "react-dom": "16.13.1", + "react-native": "0.63.3", + "react-native-unimodules": "~0.11.0", + "react-native-web": "~0.13.7" }, "devDependencies": { "@babel/core": "^7.9.6", "@babel/runtime": "^7.9.6", - "@expo/webpack-config": "^0.12.27", + "@expo/webpack-config": "^0.12.16", "@storybook/addon-actions": "^6.0.21", "@storybook/addon-essentials": "^6.0.21", "@storybook/addon-links": "^6.0.21", "@storybook/react": "^6.0.21", "babel-loader": "^8.1.0", "babel-plugin-module-resolver": "^4.0.0", - "babel-preset-expo": "^8.2.3", + "babel-preset-expo": "^8.3.0", "expo-cli": "^3.21.12", "react-is": "^16.13.1" } diff --git a/example/yarn.lock b/example/yarn.lock index d438a0f..4b29cd8 100644 --- a/example/yarn.lock +++ b/example/yarn.lock @@ -539,7 +539,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0": +"@babel/plugin-syntax-nullish-coalescing-operator@^7.0.0", "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== @@ -567,7 +567,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-optional-chaining@^7.8.0": +"@babel/plugin-syntax-optional-chaining@^7.0.0", "@babel/plugin-syntax-optional-chaining@^7.8.0": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== @@ -810,6 +810,13 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-jsx" "^7.10.4" +"@babel/plugin-transform-react-jsx-self@^7.0.0": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.12.1.tgz#ef43cbca2a14f1bd17807dbe4376ff89d714cf28" + integrity sha512-FbpL0ieNWiiBB5tCldX17EtXgmzeEZjFrix72rQYeq9X6nUK38HCaxexzVQrZWXanxKJPKVVIU37gFjEQYkPkA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-transform-react-jsx-self@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.10.4.tgz#cd301a5fed8988c182ed0b9d55e9bd6db0bd9369" @@ -1230,6 +1237,19 @@ "@babel/preset-env" "^7.4.4" "@babel/preset-typescript" "^7.3.3" +"@expo/babel-preset-cli@0.2.18": + version "0.2.18" + resolved "https://registry.yarnpkg.com/@expo/babel-preset-cli/-/babel-preset-cli-0.2.18.tgz#136acf8a0efe259e29ebc614b68552e5acb47d86" + integrity sha512-y2IZFynVtRxMQ4uxXYUnrnXZa+pvSH1R1aSUAfC6RsUb2UNOxC6zRehdLGSOyF4s9Wy+j3/CPm6fC0T5UJYoQg== + dependencies: + "@babel/core" "^7.4.5" + "@babel/plugin-proposal-class-properties" "^7.4.4" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.7.4" + "@babel/plugin-proposal-optional-chaining" "^7.7.5" + "@babel/plugin-transform-modules-commonjs" "^7.5.0" + "@babel/preset-env" "^7.4.4" + "@babel/preset-typescript" "^7.3.3" + "@expo/build-tools@^0.1.15": version "0.1.15" resolved "https://registry.yarnpkg.com/@expo/build-tools/-/build-tools-0.1.15.tgz#6374747ab6b1a8e3a4f84b16d89ddb7263fb9a5d" @@ -1270,6 +1290,11 @@ mv "~2" safe-json-stringify "~1" +"@expo/config-types@^40.0.0-beta.1": + version "40.0.0-beta.1" + resolved "https://registry.yarnpkg.com/@expo/config-types/-/config-types-40.0.0-beta.1.tgz#4192b120edc9ec235147329a50bd0a7da16ae89c" + integrity sha512-hTp+6ZIKK57O8qhVoO+GBCkx0UCdOhwcWxaXfjpsELIR8LfXDGz8OmCxTzGvb7nnadcrGCccHBX5dO1NmPBbmg== + "@expo/config@3.2.21": version "3.2.21" resolved "https://registry.yarnpkg.com/@expo/config/-/config-3.2.21.tgz#786e998245a212b76235c3be82560060af832834" @@ -1289,10 +1314,33 @@ xcode "^2.1.0" xml2js "^0.4.23" -"@expo/configure-splash-screen@0.1.13": - version "0.1.13" - resolved "https://registry.yarnpkg.com/@expo/configure-splash-screen/-/configure-splash-screen-0.1.13.tgz#9f974146d716ffc03461e4d2deb7bfb22826e56a" - integrity sha512-1AYaHDJlAXfS7K/i2kI7U5+dELfKnFrXti97cIC5PkHOwEQVti8Uw1/KXO0+Pih7g8BNDvDPjHlMNDqn7AnBCA== +"@expo/config@3.3.15": + version "3.3.15" + resolved "https://registry.yarnpkg.com/@expo/config/-/config-3.3.15.tgz#8241eb575f3f9071dc0277b260906ab32eb9ca95" + integrity sha512-AxsmTd0JtJTiaYos+maWCMjQOAVcN/Z+edj0SUUh46O3003LBnr7SZCOysqmtwY2437MD5IkzU/YL9wkQYuWtw== + dependencies: + "@babel/core" "7.9.0" + "@expo/babel-preset-cli" "0.2.18" + "@expo/config-types" "^40.0.0-beta.1" + "@expo/configure-splash-screen" "0.2.1" + "@expo/image-utils" "0.3.7" + "@expo/json-file" "8.2.24" + "@expo/plist" "0.0.10" + fs-extra "9.0.0" + glob "7.1.6" + invariant "^2.2.4" + require-from-string "^2.0.2" + resolve-from "^5.0.0" + semver "^7.1.3" + slash "^3.0.0" + slugify "^1.3.4" + xcode "^2.1.0" + xml2js "^0.4.23" + +"@expo/configure-splash-screen@0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@expo/configure-splash-screen/-/configure-splash-screen-0.2.0.tgz#84f9f71363259f16fd0073636a198c750a3cdd7c" + integrity sha512-2RG0NOeXZAGKNJXVEEA9wukDsxjmMdDTclZP9FPb15r3+siWI/GZaC36IqoQ8/mw4wzX5Y+OvZ2cHhc0J8t+0A== dependencies: "@react-native-community/cli-platform-android" "^4.10.0" "@react-native-community/cli-platform-ios" "^4.10.0" @@ -1301,14 +1349,15 @@ core-js "^3.6.5" deep-equal "^2.0.3" fs-extra "^9.0.0" + lodash "^4.17.15" pngjs "^5.0.0" xcode "^3.0.0" xml-js "^1.6.11" -"@expo/configure-splash-screen@~0.1.0": - version "0.1.14" - resolved "https://registry.yarnpkg.com/@expo/configure-splash-screen/-/configure-splash-screen-0.1.14.tgz#c55a537f9d7a19a5b576b67ef25a6f2e17e4154c" - integrity sha512-5Ex4AcqkGN/MNT2qmNiYzDG8/l+eQ5Zb6Fid+CCFOUdM84JUTdKW5GwYkPAMFwwqxWod2l/pY0nz+wvKX8ePRg== +"@expo/configure-splash-screen@0.2.1": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@expo/configure-splash-screen/-/configure-splash-screen-0.2.1.tgz#de29b781990d32d9f48d630b912aaf017afccbf3" + integrity sha512-6n7ji1WKDCdLe2Mto4u4W72kTLhAbhXhC7ydVk1HxDYCcbewNLfgiwhchPtPGyUMnSDizVWph5aDoiKxqVHqNQ== dependencies: "@react-native-community/cli-platform-android" "^4.10.0" "@react-native-community/cli-platform-ios" "^4.10.0" @@ -1317,6 +1366,7 @@ core-js "^3.6.5" deep-equal "^2.0.3" fs-extra "^9.0.0" + lodash "^4.17.15" pngjs "^5.0.0" xcode "^3.0.0" xml-js "^1.6.11" @@ -1381,6 +1431,23 @@ semver "6.1.1" tempy "0.3.0" +"@expo/image-utils@0.3.7": + version "0.3.7" + resolved "https://registry.yarnpkg.com/@expo/image-utils/-/image-utils-0.3.7.tgz#48436a5f509818dc43a30f73dbfd4baed88a5f23" + integrity sha512-Vo1p5uv1JlRacgVIiVa+83oRoHfC7grSU8cypAtgvOYpbmdCWR8+3F4v+vaabHe6ktvIKRE78jh6vHMGwv2aOA== + dependencies: + "@expo/spawn-async" "1.5.0" + chalk "^4.0.0" + fs-extra "9.0.0" + getenv "0.7.0" + jimp "^0.9.6" + mime "^2.4.4" + node-fetch "^2.6.0" + parse-png "^2.1.0" + resolve-from "^5.0.0" + semver "6.1.1" + tempy "0.3.0" + "@expo/json-file@8.2.22": version "8.2.22" resolved "https://registry.yarnpkg.com/@expo/json-file/-/json-file-8.2.22.tgz#779e9184d8b326252e4d7c97130bd83ec9f5736e" @@ -1392,6 +1459,17 @@ lodash "^4.17.15" write-file-atomic "^2.3.0" +"@expo/json-file@8.2.24": + version "8.2.24" + resolved "https://registry.yarnpkg.com/@expo/json-file/-/json-file-8.2.24.tgz#02a9dd75c9ca6d70d4cc04729f0586eb80bcd1ba" + integrity sha512-i34lfcMVt5Wv2Cf5apZUj3o9JlFt8WOPSZjrECryunBQ9/BsQQYY5NHgGjhhZnnRE+6JFf0CPQTjXdoQ1w3w0w== + dependencies: + "@babel/code-frame" "^7.0.0-beta.44" + fs-extra "9.0.0" + json5 "^1.0.1" + lodash "^4.17.15" + write-file-atomic "^2.3.0" + "@expo/logger@0.0.13": version "0.0.13" resolved "https://registry.yarnpkg.com/@expo/logger/-/logger-0.0.13.tgz#757588e31d8dc9abd7d31a7009a17a8979fe829d" @@ -1514,6 +1592,15 @@ split "^1.0.1" sudo-prompt "9.1.1" +"@expo/plist@0.0.10": + version "0.0.10" + resolved "https://registry.yarnpkg.com/@expo/plist/-/plist-0.0.10.tgz#e126a15543c6c67fd159947ca9e35969657a97f4" + integrity sha512-uKbi7ANPCNJqeAvxLa+ZcS/Qf0fTPOySMqw5T2L4TrycSAdiAxV1VUZ69IzIbUsWb7GdriUVR2i38M/xa6+BvA== + dependencies: + base64-js "^1.2.3" + xmlbuilder "^14.0.0" + xmldom "~0.1.31" + "@expo/plist@0.0.9": version "0.0.9" resolved "https://registry.yarnpkg.com/@expo/plist/-/plist-0.0.9.tgz#7ada91d10bbc3d94b6646f57b5b805e763a27a4c" @@ -1585,7 +1672,7 @@ dependencies: lodash "^4.17.4" -"@expo/webpack-config@0.12.27", "@expo/webpack-config@^0.12.27": +"@expo/webpack-config@0.12.27": version "0.12.27" resolved "https://registry.yarnpkg.com/@expo/webpack-config/-/webpack-config-0.12.27.tgz#fbfa8ee43318cee3b35592d60190a610bdf4861d" integrity sha512-KBu8ycbpRWzcuK9OXPnAF/mC771inLOcFPZNFkCX2CIgXhg1jJOfADcJsCAxwTJ5RFIXdBHS4sDMi7c8E+D+KA== @@ -1623,6 +1710,45 @@ workbox-webpack-plugin "^3.6.3" worker-loader "^2.0.0" +"@expo/webpack-config@^0.12.16": + version "0.12.44" + resolved "https://registry.yarnpkg.com/@expo/webpack-config/-/webpack-config-0.12.44.tgz#5edeba131374ac5fdaed647839cf31be15ecebf3" + integrity sha512-68HRk1jj0viDoHv3jp/JeyLy77/Nuk47pp8qT6N8+RTkUhsnpbaYMeWOYWOxbAxkeREOC0vAmAbIEdIdjkUAEg== + dependencies: + "@babel/core" "7.9.0" + "@babel/runtime" "7.9.0" + "@expo/config" "3.3.15" + "@pmmmwh/react-refresh-webpack-plugin" "^0.3.3" + babel-loader "8.1.0" + chalk "^4.0.0" + clean-webpack-plugin "^3.0.0" + copy-webpack-plugin "~6.0.3" + css-loader "~3.6.0" + expo-pwa "0.0.50" + file-loader "~6.0.0" + find-yarn-workspace-root "~2.0.0" + getenv "^0.7.0" + html-loader "~1.1.0" + html-webpack-plugin "~4.3.0" + is-wsl "^2.0.0" + mini-css-extract-plugin "^0.5.0" + node-html-parser "^1.2.12" + optimize-css-assets-webpack-plugin "^5.0.3" + pnp-webpack-plugin "^1.5.0" + postcss-safe-parser "^4.0.2" + progress "^2.0.3" + react-dev-utils "10.2.1" + react-refresh "^0.8.2" + style-loader "~1.2.1" + terser-webpack-plugin "^3.0.6" + url-loader "~4.1.0" + webpack "4.43.0" + webpack-deep-scope-plugin "1.6.0" + webpack-manifest-plugin "~2.2.0" + webpackbar "^4.0.0" + workbox-webpack-plugin "^3.6.3" + worker-loader "^2.0.0" + "@expo/websql@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@expo/websql/-/websql-1.0.1.tgz#fff0cf9c1baa1f70f9e1d658b7c39a420d9b10a9" @@ -2371,7 +2497,18 @@ dependencies: serve-static "^1.13.1" -"@react-native-community/cli-platform-android@^4.10.0", "@react-native-community/cli-platform-android@^4.5.1": +"@react-native-community/cli-hermes@^4.13.0": + version "4.13.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-4.13.0.tgz#6243ed9c709dad5e523f1ccd7d21066b32f2899d" + integrity sha512-oG+w0Uby6rSGsUkJGLvMQctZ5eVRLLfhf84lLyz942OEDxFRa9U19YJxOe9FmgCKtotbYiM3P/XhK+SVCuerPQ== + dependencies: + "@react-native-community/cli-platform-android" "^4.13.0" + "@react-native-community/cli-tools" "^4.13.0" + chalk "^3.0.0" + hermes-profile-transformer "^0.0.6" + ip "^1.1.5" + +"@react-native-community/cli-platform-android@^4.10.0": version "4.11.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-4.11.0.tgz#0ce9b88ed8b6b0ef962af49d980eb53433c17a84" integrity sha512-BzqocGjOCjpDW0bM/LUrHMXw4nBvOhDXnHWxaoRp3eeUVsD2oSegoRn52kZo9yhPb9cCPkZJ3b+Web71Ue4j9w== @@ -2387,7 +2524,23 @@ slash "^3.0.0" xmldoc "^1.1.2" -"@react-native-community/cli-platform-ios@^4.10.0", "@react-native-community/cli-platform-ios@^4.5.0": +"@react-native-community/cli-platform-android@^4.13.0": + version "4.13.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-4.13.0.tgz#922681ec82ee1aadd993598b814df1152118be02" + integrity sha512-3i8sX8GklEytUZwPnojuoFbCjIRzMugCdzDIdZ9UNmi/OhD4/8mLGO0dgXfT4sMWjZwu3qjy45sFfk2zOAgHbA== + dependencies: + "@react-native-community/cli-tools" "^4.13.0" + chalk "^3.0.0" + execa "^1.0.0" + fs-extra "^8.1.0" + glob "^7.1.3" + jetifier "^1.6.2" + lodash "^4.17.15" + logkitty "^0.7.1" + slash "^3.0.0" + xmldoc "^1.1.2" + +"@react-native-community/cli-platform-ios@^4.10.0": version "4.11.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-4.11.0.tgz#5870bf5f2b3c01a0aa672a7c1f7f0fe13337c6b5" integrity sha512-/qkjnhhJ7BGBTNkHSS8a+z8UgWUQbU6YZOTuYxjNywGUzMiTsb/wlm2cWCY1VEAvWtY97c4plAZ5OferPJHaVA== @@ -2414,13 +2567,13 @@ serve-static "^1.13.1" ws "^1.1.0" -"@react-native-community/cli-server-api@^4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-4.11.0.tgz#93887ab8496c9d89b53817297974670184be1191" - integrity sha512-vrRaGq7ezsxyyUsFhAboEtA1CHLDa2UpJygOWHip30LaAluM+vopAJbau2NtHVX54vgQzXo438Tx8TXiRacPhA== +"@react-native-community/cli-server-api@^4.13.0": + version "4.13.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-4.13.0.tgz#ef0e53fe0edc7356d62bca725ca47cb368f748a5" + integrity sha512-ER138ChLc1YYX7j9yE6fDm4DdNdsHThr+pla/B6iZoKje1r7TwymDdKaUvOsYalG7sWG9glW3bofcCq+Yh0Dvw== dependencies: "@react-native-community/cli-debugger-ui" "^4.9.0" - "@react-native-community/cli-tools" "^4.11.0" + "@react-native-community/cli-tools" "^4.13.0" compression "^1.7.1" connect "^3.6.5" errorhandler "^1.5.0" @@ -2440,20 +2593,33 @@ open "^6.2.0" shell-quote "1.6.1" +"@react-native-community/cli-tools@^4.13.0": + version "4.13.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-4.13.0.tgz#b406463d33af16cedc4305a9a9257ed32845cf1b" + integrity sha512-s4f489h5+EJksn4CfheLgv5PGOM0CDmK1UEBLw2t/ncWs3cW2VI7vXzndcd/WJHTv3GntJhXDcJMuL+Z2IAOgg== + dependencies: + chalk "^3.0.0" + lodash "^4.17.15" + mime "^2.4.1" + node-fetch "^2.6.0" + open "^6.2.0" + shell-quote "1.6.1" + "@react-native-community/cli-types@^4.10.1": version "4.10.1" resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-4.10.1.tgz#d68a2dcd1649d3b3774823c64e5e9ce55bfbe1c9" integrity sha512-ael2f1onoPF3vF7YqHGWy7NnafzGu+yp88BbFbP0ydoCP2xGSUzmZVw0zakPTC040Id+JQ9WeFczujMkDy6jYQ== -"@react-native-community/cli@^4.5.1": - version "4.12.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-4.12.0.tgz#42ca3eacd4b4ba2bd5126aba6a032952e66835b5" - integrity sha512-zIrKxgHsQ5EUGjZ+oIW54+qY2XqVwDJbGV3hzsVsCFXleos2QUAQWskR0BG9zf06P1HT8kfwuDuHs/p1Ywe0rg== +"@react-native-community/cli@^4.10.0": + version "4.13.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-4.13.0.tgz#04d5032f9b2b423c61ceef6be83b1bcc8a37db75" + integrity sha512-R+1VehIQ6VTLf+e7YOwzJk0F9tstfeSC4xy7oT6GSgB3FnXbTJGHFUp4siyO68Ae/gzGqt8SiUO145teWkP+ZA== dependencies: "@hapi/joi" "^15.0.3" "@react-native-community/cli-debugger-ui" "^4.9.0" - "@react-native-community/cli-server-api" "^4.11.0" - "@react-native-community/cli-tools" "^4.11.0" + "@react-native-community/cli-hermes" "^4.13.0" + "@react-native-community/cli-server-api" "^4.13.0" + "@react-native-community/cli-tools" "^4.13.0" "@react-native-community/cli-types" "^4.10.1" chalk "^3.0.0" command-exists "^1.2.8" @@ -2485,10 +2651,10 @@ sudo-prompt "^9.0.0" wcwidth "^1.0.1" -"@react-native-community/segmented-control@^2.1.2": - version "2.1.2" - resolved "https://registry.yarnpkg.com/@react-native-community/segmented-control/-/segmented-control-2.1.2.tgz#13dd38a2f1972f7c9061f74b9e8e9fd35cbfa6a8" - integrity sha512-2UEr+Dqk+VHcMaZPOcKSo0GqFZG91DjngeACy+DOB2gRvph/FGKjABV6HlQJqdhQeQs/4NgoycCjAH+Z8ilIVg== +"@react-native-community/segmented-control@2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@react-native-community/segmented-control/-/segmented-control-2.1.1.tgz#e3a0934b79e7bd64b84215366989bb26b850ca06" + integrity sha512-vSrg+DIqX0zGeOb1o6oFLoWFFW8l1UEX/f7/9dXXzWHChF3rIqEpNHC4ONmsLJqWePN4E/n+k+q29z+GbqrqsQ== "@segment/loosely-validate-event@^2.0.0": version "2.0.0" @@ -3537,21 +3703,20 @@ dependencies: "@types/yargs-parser" "*" -"@unimodules/core@~5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@unimodules/core/-/core-5.3.0.tgz#c425e59b1f9c1e2c91b235b6192e5f622a47d833" - integrity sha512-uGpkYE2zI0F1LTv+p6drzCHAZo8UFITxedHUH6pjWQBHdpTtae5cU7l3F/CzQ4WYU6SWhkzaB90/Ydf3DNTuLw== +"@unimodules/core@~5.5.0", "@unimodules/core@~5.5.1": + version "5.5.1" + resolved "https://registry.yarnpkg.com/@unimodules/core/-/core-5.5.1.tgz#82afe960568c58da62c76ea45ca77aa43a31ce13" + integrity sha512-4OADQJqQ52TsCzfK+xUGWjt3zZADYxRvBZe8JXrnx2qGMXhFFUUn2JMEZT3nDt4QwtM+rIp9BsrQCMIPlXCOHg== dependencies: compare-versions "^3.4.0" -"@unimodules/react-native-adapter@~5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@unimodules/react-native-adapter/-/react-native-adapter-5.4.0.tgz#6639a2b6df74806bc886933c99bb18408e54f7f0" - integrity sha512-2c3hDWzfBAyDWNCkBziyXphmxRZvZ5J8oSMLRDohvj6DnQiHvnlgr/A4oberkjPSEve5fN4GA+eybcJrec08AA== +"@unimodules/react-native-adapter@~5.6.0": + version "5.6.0" + resolved "https://registry.yarnpkg.com/@unimodules/react-native-adapter/-/react-native-adapter-5.6.0.tgz#7dc1227576eca20a28fc11d0c12d974c9fb4322e" + integrity sha512-X2bkueyzCw8QXyzCOD68uLurI4XFnzZzVtbRGiEgbd/x+JbyVhN0VqsOXXApfolh1vtO+KVj0rfQsYT1+nKp/A== dependencies: invariant "^2.2.4" lodash "^4.5.0" - prop-types "^15.6.1" "@webassemblyjs/ast@1.9.0": version "1.9.0" @@ -4213,7 +4378,7 @@ arrify@^2.0.1: resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== -asap@^2.0.0, asap@~2.0.3: +asap@^2.0.0, asap@~2.0.3, asap@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= @@ -4602,10 +4767,10 @@ babel-plugin-react-docgen@^4.1.0: react-docgen "^5.0.0" recast "^0.14.7" -babel-plugin-react-native-web@^0.11.7: - version "0.11.7" - resolved "https://registry.yarnpkg.com/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.11.7.tgz#15b578c0731bd7d65d334f9c759d95e8e4a602e2" - integrity sha512-CxE7uhhqkzAFkwV2X7+Mc/UVPujQQDtja/EGxCXRJvdYRi72QTmaJYKbK1lV9qgTZuB+TDguU89coaA9Z1BNbg== +babel-plugin-react-native-web@~0.13.6: + version "0.13.18" + resolved "https://registry.yarnpkg.com/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.13.18.tgz#f0b640412b81acd02d8036b7a935ffb3ab446e4e" + integrity sha512-f8pAxyKqXBNRIh8l4Sqju055BNec+DQlItdtutByYxULU0iJ1F7evIYE3skPKAkTB/xJH17l+n3Z8dVabGIIGg== babel-plugin-syntax-jsx@^6.18.0: version "6.18.0" @@ -4689,16 +4854,16 @@ babel-plugin-transform-undefined-to-void@^6.9.4: resolved "https://registry.yarnpkg.com/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.4.tgz#be241ca81404030678b748717322b89d0c8fe280" integrity sha1-viQcqBQEAwZ4t0hxcyK4nQyP4oA= -babel-preset-expo@^8.2.3, babel-preset-expo@~8.2.3: - version "8.2.3" - resolved "https://registry.yarnpkg.com/babel-preset-expo/-/babel-preset-expo-8.2.3.tgz#0e2726f578287e1b0278674abc0933eba9a493e6" - integrity sha512-DL8GU7XsPPQFmDHYHo1/sTfNiXeThwSba4v3vOLbmkrzLetVGJruKMcKy7Vv0D1WmSpMvVj1J7G8C0IQ9pIDxQ== +babel-preset-expo@^8.3.0, babel-preset-expo@~8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/babel-preset-expo/-/babel-preset-expo-8.3.0.tgz#d77065f6e079a64de6e6830e58770fdb9b3240fa" + integrity sha512-KmoFiEJ0A8QUH0OTh+mj3RBvv069FQsQ1hvZDi6tVMSzrW+Y/imsJMXgVboZN+XGOYnWFaGEKQ8BqNvBX+zKjA== dependencies: "@babel/plugin-proposal-decorators" "^7.6.0" "@babel/preset-env" "^7.6.3" babel-plugin-module-resolver "^3.2.0" - babel-plugin-react-native-web "^0.11.7" - metro-react-native-babel-preset "^0.58.0" + babel-plugin-react-native-web "~0.13.6" + metro-react-native-babel-preset "~0.59.0" babel-preset-fbjs@^3.2.0, babel-preset-fbjs@^3.3.0: version "3.3.0" @@ -6071,7 +6236,7 @@ create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: safe-buffer "^5.0.1" sha.js "^2.4.8" -create-react-class@^15.6.2, create-react-class@^15.6.3: +create-react-class@^15.6.2: version "15.6.3" resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.6.3.tgz#2d73237fb3f970ae6ebe011a9e66f46dbca80036" integrity sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg== @@ -7203,13 +7368,6 @@ escodegen@^1.12.0: optionalDependencies: source-map "~0.6.1" -eslint-plugin-relay@1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-relay/-/eslint-plugin-relay-1.4.1.tgz#5af2ac13e24bd01ad17b6a4014204918d65021cd" - integrity sha512-yb+p+4AxZTi2gXN7cZRfXMBFlRa5j6TtiVeq3yHXyy+tlgYNpxi/dDrP1+tcUTNP9vdaJovnfGZ5jp6kMiH9eg== - dependencies: - graphql "^14.0.0" - eslint-scope@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" @@ -7331,10 +7489,10 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" -expo-asset@~8.1.7: - version "8.1.7" - resolved "https://registry.yarnpkg.com/expo-asset/-/expo-asset-8.1.7.tgz#32618e51f85df56f1d7dd54c71eb486ae7f7674e" - integrity sha512-g0+a+Uc+GfOI7VtZ6d0WB78qq6Lu3vKqHN3TBfcsndcx893CSmo6ZVLcrlL9evdZwlbSO+9zLrLdzEw38a/gMA== +expo-asset@~8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/expo-asset/-/expo-asset-8.2.0.tgz#2f72491064c02d4de32e9187d474deb9cec33003" + integrity sha512-Z4D8jcN19GJ/pCqm6slP+Yhao1TP1RkSK/NIHpMKlkz36aqSh0V58J97zvwb1WdkYef5evAzj2uDGpH/VwLOdQ== dependencies: blueimp-md5 "^2.10.0" invariant "^2.2.4" @@ -7406,73 +7564,69 @@ expo-cli@^3.21.12: "@expo/traveling-fastlane-darwin" "1.15.1" "@expo/traveling-fastlane-linux" "1.15.1" -expo-constants@~9.1.1: - version "9.1.1" - resolved "https://registry.yarnpkg.com/expo-constants/-/expo-constants-9.1.1.tgz#bca141ee3d4550e308798128f66c6d9c6a206ca1" - integrity sha512-zCa/wRARODHd6BSwxjBhidmao0AqQnKmLkl0tsVIoZlRyPDHsEaxNR/m+7wqGC7qiC+UpG1qRnvLOLwCGt2ihg== +expo-constants@~9.2.0: + version "9.2.0" + resolved "https://registry.yarnpkg.com/expo-constants/-/expo-constants-9.2.0.tgz#e86a38793deaff9018878afac65bce2543c80a4c" + integrity sha512-WKwiEMvBgPrEPEyZKm21UUB2KWQux9OCWf6ZDORLTln7kO3rsbaJEprfWUWTP7AxyaLMYfN+/0WFHjZc25SZWQ== dependencies: fbjs "1.0.0" uuid "^3.3.2" -expo-error-recovery@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/expo-error-recovery/-/expo-error-recovery-1.2.1.tgz#a8fd68950235d4f22b30d901bfc90f7732720b93" - integrity sha512-QywpoDYfUCEJ62wv6xywY7JsLiMG31h22hjQ3HuBfj+cJNko5zSyJ7YKeXKGF2WiSVrSfA0HhqzNmsen9LMZrA== +expo-error-recovery@~1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/expo-error-recovery/-/expo-error-recovery-1.3.0.tgz#8f4ba957c766e4b9279493eee042d37a562fb3ea" + integrity sha512-iffxU1iiMjMZ84y7GPt3ScrFrESLB1gnH9s5/1HuDySch+y5NEgIY14yMR4Mp1iSebCM9Bp4f9dM7gV6AShafg== dependencies: fbjs "1.0.0" -expo-file-system@~9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/expo-file-system/-/expo-file-system-9.0.1.tgz#50a6a0b29fbc45413de9f7d38c0695503bf03d7e" - integrity sha512-xZKv7g0dhFNMjp49+XiZBnApOUu/WlLzwWaruNbBnSgi/HGnSwbHNyk7zuK1RdQ9NndvXu6uT4uW2i67pIrKig== +expo-file-system@~9.2.0: + version "9.2.0" + resolved "https://registry.yarnpkg.com/expo-file-system/-/expo-file-system-9.2.0.tgz#e8efde36968a1e6d826236044a970e85bfe0aeee" + integrity sha512-GsDf+E6e1WyYqyUiXbcWthLk7oVO+WDticnHUGAzb17hVCgxJhlUbRriwY3kBkQAX1mr+Hq9lkgJPIRbV197Fw== dependencies: uuid "^3.4.0" -expo-font@~8.2.1: - version "8.2.2" - resolved "https://registry.yarnpkg.com/expo-font/-/expo-font-8.2.2.tgz#c67ee8d3841921a907464d67e8098baeed92bacf" - integrity sha512-p/a7Ve+3LiR9ofn77U0UuuE6ZQiLVu3M1btiKUDe5efAp48D9GG41AevKQ7YnkfxTDdGJa0ACAtJAVsAD30jGA== +expo-font@~8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/expo-font/-/expo-font-8.3.0.tgz#f41955d1f1bbb2fe706bf97fc94aa89f7e599a0a" + integrity sha512-WK3Oh3JwLjH/y94w1GPhE1Ix59WEJ9hTUKJBuvsM9SYqdN4N0DDb2VKhCH218HPdLURfyZnhMi2KrVycUWIUEQ== dependencies: fbjs "1.0.0" fontfaceobserver "^2.1.0" -expo-image-loader@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/expo-image-loader/-/expo-image-loader-1.1.1.tgz#6c65bd1a41761c8acb91575060579e4864b93394" - integrity sha512-qI4opRO2D1MGRAbHxYnMBJ4LzKT17KfqbM5oTxNoMZCRNpzB0xsuJrWy5C+0UOkV0vnqQyjvCtynTSawhWnl9A== +expo-image-loader@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/expo-image-loader/-/expo-image-loader-1.2.0.tgz#1cf70fc14c45e8595c3d1a2b16f40a53810b4ba4" + integrity sha512-cftM8EonIPD4Tjydr5aFpFM1/GsNoIC79YV+ulVR3Zfn3RYcR4whwDcmzFCPuVFEO1Df4oBfEbdXfqlk96DR5Q== -expo-keep-awake@~8.2.1: - version "8.2.1" - resolved "https://registry.yarnpkg.com/expo-keep-awake/-/expo-keep-awake-8.2.1.tgz#a7956ad0fa80eb6ac6a28bb7242408e87c493677" - integrity sha512-m644YH7R/3n6dcn03aZcmHGTk4hDDIiEiImTKsSjbXIIRuW5tfdRqLCHnja5DwBT+4sxUn58wTpK6QnTfXichA== +expo-keep-awake@~8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/expo-keep-awake/-/expo-keep-awake-8.3.0.tgz#11bb8073dfe453259926855c81d9f35db03a79b9" + integrity sha512-zrMsvZLHColfSex5Yf6h5vw3mgJiG48FX36+fOXUqq/erCtDkqY2NB7PmhDaj6lWRJ0OuXa90uYXNveXBJyhfA== -expo-linear-gradient@~8.2.1: - version "8.2.1" - resolved "https://registry.yarnpkg.com/expo-linear-gradient/-/expo-linear-gradient-8.2.1.tgz#4b44649560e1dd694b6a540781c9214abe35b035" - integrity sha512-GY0N4DDxuIeFALtcLUmHyy/yS3uPvd7R03Qmch+vZKEL7pH+h8qAeuYpSiUXEWRqsMZf2DSMBxOhVFjyg/X7DA== - dependencies: - prop-types "15.7.2" +expo-linear-gradient@~8.3.0: + version "8.3.1" + resolved "https://registry.yarnpkg.com/expo-linear-gradient/-/expo-linear-gradient-8.3.1.tgz#5dd3878c0700035d55241a4a453c5e224acc60ff" + integrity sha512-zlWGua8vm7+af4otaSpJlzu0SYIr0aWbL0qICySCDUEKkqig6MqfuI69NYHC0w9ocWZuh2xyj6Rbfy01UqcVSg== -expo-linking@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/expo-linking/-/expo-linking-1.0.3.tgz#8c0f68e89262d09d4b280479010ac21ccfa1e971" - integrity sha512-Bzm8qVlSRBmoQcnveBBLO4ea/AEW4t10WFiJ18m/w8OnEXbsP7WT39UyhTuFsrnjYSLMjW4/JXkfmswBOhISuA== +expo-linking@~1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/expo-linking/-/expo-linking-1.0.5.tgz#c6999c8a245de8bec3936d02d95382804d8ae2ec" + integrity sha512-LH26/ilFU0rCdsO1SJbNqoii3jTBqHdEfSloXhEb73aKdQT2BG6z5IjFIQXV2RiCmxNJbotdbfXyWSPqPoCEwg== dependencies: - expo-constants "~9.1.1" + expo-constants "~9.2.0" qs "^6.5.0" url-parse "^1.4.4" -expo-location@~8.2.1: - version "8.2.1" - resolved "https://registry.yarnpkg.com/expo-location/-/expo-location-8.2.1.tgz#5ea6bfd3d211939117416da151f1384caa15e0db" - integrity sha512-MixKapt3nijAxyjIISscBzdKi8bwh0H/dWYsL2mCofrjguFHOh2gP07h95902lekb7NVqybl5AIQRW5cvrG4rQ== - dependencies: - invariant "^2.2.4" - -expo-permissions@~9.0.1: +expo-location@~9.0.0: version "9.0.1" - resolved "https://registry.yarnpkg.com/expo-permissions/-/expo-permissions-9.0.1.tgz#dc10b58654bbe39bbbed5827369942b01b08055e" - integrity sha512-CosJgy8XQRN/OFG2JTQDcFxz3XTGi27coCMym/hVXWtQfk0z6PwdRG5IXHfLGuSckwIcgmirrwm2+Zc0X3MmNg== + resolved "https://registry.yarnpkg.com/expo-location/-/expo-location-9.0.1.tgz#adf93b8adf5e9dcf9570cba1d66c8e3831329156" + integrity sha512-yl4V2IelxrjG1h3nshkyILwghysNJvvEuR4Of0U7oYAsBrT0cq8NxFuaDemRvqt9Yb19wVFNMoVtYFNpthcqpQ== + +expo-permissions@~9.3.0: + version "9.3.0" + resolved "https://registry.yarnpkg.com/expo-permissions/-/expo-permissions-9.3.0.tgz#b90c7e9e411d306c1c7ba2bae18d5c53c201affd" + integrity sha512-ylSJZVvEGJVFTKsFrUL2S6gCvFt+/o8TJ3xT4WaMjHe2/2Z7R8ng6NR47Kt54t7XBIV/SZ7DIY9uRiR7TPuNYA== expo-pwa@0.0.33: version "0.0.33" @@ -7487,73 +7641,77 @@ expo-pwa@0.0.33: fs-extra "9.0.0" update-check "1.5.3" -expo-splash-screen@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/expo-splash-screen/-/expo-splash-screen-0.3.1.tgz#4dd79d9d1ab8135281f7cc5889a68e3003223f37" - integrity sha512-j87n6utSq8irvx9dA3YvFwHsqT9c/Cc/QnmpZHB0g3mPh3QBWReKgR3x41tHnkLMKHAi9Au9D4k/o615kUNeDg== +expo-pwa@0.0.50: + version "0.0.50" + resolved "https://registry.yarnpkg.com/expo-pwa/-/expo-pwa-0.0.50.tgz#b41144deca472e0e34f7f828f089d4e7c2fc17bc" + integrity sha512-guj2/Hw224UkUBWQW1LsH5sK9n8Ohlauvpi634x41W+DCj5HsIlElI6pUyTTIBbm6zpBE19p7nP9LWpMem9lsQ== dependencies: - "@expo/configure-splash-screen" "~0.1.0" + "@expo/config" "3.3.15" + "@expo/image-utils" "0.3.7" + "@expo/json-file" "8.2.24" + chalk "^4.0.0" + commander "2.20.0" + fs-extra "9.0.0" + update-check "1.5.3" -expo-splash-screen@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/expo-splash-screen/-/expo-splash-screen-0.5.0.tgz#cad0eb77a3eade2c7101d169b8655e7ee8053c2f" - integrity sha512-MqYHCbqGtmnA/b+D2JQHxeQzlSfbU4SAGQ2DmzmaBekqRMkRrVrsiBXF7b3wpHTW6R3pC5lsXoH9vq91e5a9xg== +expo-splash-screen@~0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/expo-splash-screen/-/expo-splash-screen-0.6.2.tgz#2be7fc28ad62549e870c69f1fe133ebe756c524f" + integrity sha512-Rvi+aiVDztFyLh5fYJYcZxVuQNDCy6ATSTfxuch5uVQ1jA9/vjVzUKG4iZCoChaSCnMV56aFftHBWSDNWPvLFQ== dependencies: - "@expo/configure-splash-screen" "0.1.13" + "@expo/configure-splash-screen" "0.2.0" -expo-sqlite@~8.2.1: - version "8.2.1" - resolved "https://registry.yarnpkg.com/expo-sqlite/-/expo-sqlite-8.2.1.tgz#69bbbe46dbb51cc80b0bccd71741925f2b52b2c0" - integrity sha512-HtkcID2knsWD7RJFNLxIYzDgOah0YNPbqaHBLyiR/s7DCCwmHtAZAtNFMHc9IGvri1HIk73ZQK3xBEE05pDlbA== +expo-sqlite@~8.4.0: + version "8.4.0" + resolved "https://registry.yarnpkg.com/expo-sqlite/-/expo-sqlite-8.4.0.tgz#999cedfc8c28fbbf883a14f8d3f292f74a6bb38a" + integrity sha512-c3H4Nv75vJpu10ENu8M94EQpUi7GgyRLGdjSr1DZ2ZrPz4nwMWLfkfrsWfVHbRK5s/1soqd440ePwZto/hOVmQ== dependencies: "@expo/websql" "^1.0.1" lodash "^4.17.15" -expo@^38.0.0: - version "38.0.9" - resolved "https://registry.yarnpkg.com/expo/-/expo-38.0.9.tgz#dac9e4ccee0b86747b71c1b3a827d60fe340c81e" - integrity sha512-xT9h62Vi5e7nqbX+zWCqVw09wCOvoLJTy4cAw3ZE41ENidqCjZAYXv1DXx2LvQcGjZdarHkT2TzJZfl6zHFxDw== +expo@^39.0.0: + version "39.0.4" + resolved "https://registry.yarnpkg.com/expo/-/expo-39.0.4.tgz#320b7453ac055fc37c64942d5ba442f4e2781993" + integrity sha512-lyd7VSg0DG+I2CwWtOHwhmMwgANoqggqU1ooWRdO4KdWPYA8hWMMsLC2vBBBemKv3PPwxhl9hhzFxtjJ/MaR7g== dependencies: "@babel/runtime" "^7.1.2" "@expo/vector-icons" "^10.0.2" - "@unimodules/core" "~5.3.0" - "@unimodules/react-native-adapter" "~5.4.0" - babel-preset-expo "~8.2.3" + "@unimodules/core" "~5.5.1" + "@unimodules/react-native-adapter" "~5.6.0" + babel-preset-expo "~8.3.0" badgin "^1.1.2" cross-spawn "^6.0.5" - expo-asset "~8.1.7" - expo-constants "~9.1.1" - expo-error-recovery "~1.2.1" - expo-file-system "~9.0.1" - expo-font "~8.2.1" - expo-keep-awake "~8.2.1" - expo-linear-gradient "~8.2.1" - expo-linking "~1.0.3" - expo-location "~8.2.1" - expo-permissions "~9.0.1" - expo-splash-screen "^0.5.0" - expo-sqlite "~8.2.1" + expo-asset "~8.2.0" + expo-constants "~9.2.0" + expo-error-recovery "~1.3.0" + expo-file-system "~9.2.0" + expo-font "~8.3.0" + expo-keep-awake "~8.3.0" + expo-linear-gradient "~8.3.0" + expo-linking "~1.0.4" + expo-location "~9.0.0" + expo-permissions "~9.3.0" + expo-splash-screen "~0.6.2" + expo-sqlite "~8.4.0" fbemitter "^2.1.1" invariant "^2.2.2" lodash "^4.6.0" md5-file "^3.2.3" nullthrows "^1.1.0" pretty-format "^23.6.0" - prop-types "^15.6.0" - react-native-appearance "~0.3.3" - react-native-safe-area-context "~3.0.7" + react-native-safe-area-context "3.1.4" serialize-error "^2.1.0" - unimodules-app-loader "~1.2.0" - unimodules-barcode-scanner-interface "~5.2.1" - unimodules-camera-interface "~5.2.1" - unimodules-constants-interface "~5.2.1" - unimodules-face-detector-interface "~5.2.1" - unimodules-file-system-interface "~5.2.1" - unimodules-font-interface "~5.2.1" - unimodules-image-loader-interface "~5.2.1" - unimodules-permissions-interface "~5.2.1" - unimodules-sensors-interface "~5.2.1" - unimodules-task-manager-interface "~5.2.1" + unimodules-app-loader "~1.3.0" + unimodules-barcode-scanner-interface "~5.3.0" + unimodules-camera-interface "~5.3.0" + unimodules-constants-interface "~5.3.0" + unimodules-face-detector-interface "~5.3.0" + unimodules-file-system-interface "~5.3.0" + unimodules-font-interface "~5.3.0" + unimodules-image-loader-interface "~5.3.0" + unimodules-permissions-interface "~5.3.0" + unimodules-sensors-interface "~5.3.0" + unimodules-task-manager-interface "~5.3.0" uuid "^3.4.0" express@4.16.4: @@ -8601,13 +8759,6 @@ graphql@0.13.2: dependencies: iterall "^1.2.1" -graphql@^14.0.0: - version "14.7.0" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.7.0.tgz#7fa79a80a69be4a31c27dda824dc04dac2035a72" - integrity sha512-l0xWZpoPKpppFzMfvVyFmp9vLN7w/ZZJPefUicMCepfJeQ8sMcztloGYY9DfjVPo6tIUDzU5Hw3MUbIjj9AVVA== - dependencies: - iterall "^1.2.2" - gud@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/gud/-/gud-1.0.0.tgz#a489581b17e6a70beca9abe3ae57de7a499852c0" @@ -8810,10 +8961,17 @@ he@^1.2.0: resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== -hermes-engine@~0.4.0: - version "0.4.3" - resolved "https://registry.yarnpkg.com/hermes-engine/-/hermes-engine-0.4.3.tgz#1754932f989daddd149172600f01e69cb8f27298" - integrity sha512-qkk85ezG+w70C3tQ4iDs22B8talvByGeJQ1VIb2KG5+rMZWVizRq6r+NYptOC/HWAFxkdYb6F3OPca7RxvjYew== +hermes-engine@~0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/hermes-engine/-/hermes-engine-0.5.1.tgz#601115e4b1e0a17d9aa91243b96277de4e926e09" + integrity sha512-hLwqh8dejHayjlpvZY40e1aDCDvyP98cWx/L5DhAjSJLH8g4z9Tp08D7y4+3vErDsncPOdf1bxm+zUWpx0/Fxg== + +hermes-profile-transformer@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/hermes-profile-transformer/-/hermes-profile-transformer-0.0.6.tgz#bd0f5ecceda80dd0ddaae443469ab26fb38fc27b" + integrity sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ== + dependencies: + source-map "^0.7.3" hex-color-regex@^1.1.0: version "1.1.0" @@ -9914,7 +10072,7 @@ iterall@1.2.2: resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.2.2.tgz#92d70deb8028e0c39ff3164fdbf4d8b088130cd7" integrity sha512-yynBb1g+RFUPY64fTrFv7nsjRrENBQJaX2UL+2Szc9REFrSNm1rpSXHGzhmAy7a9uv3vlvgBlXnf9RqmPH1/DA== -iterall@^1.1.3, iterall@^1.2.1, iterall@^1.2.2: +iterall@^1.1.3, iterall@^1.2.1: version "1.3.0" resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.3.0.tgz#afcb08492e2915cbd8a0884eb93a8c94d0d72fea" integrity sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg== @@ -10901,6 +11059,20 @@ metro-babel-register@0.58.0: core-js "^2.2.2" escape-string-regexp "^1.0.5" +metro-babel-register@0.59.0: + version "0.59.0" + resolved "https://registry.yarnpkg.com/metro-babel-register/-/metro-babel-register-0.59.0.tgz#2bcff65641b36794cf083ba732fbc46cf870fb43" + integrity sha512-JtWc29erdsXO/V3loenXKw+aHUXgj7lt0QPaZKPpctLLy8kcEpI/8pfXXgVK9weXICCpCnYtYncIosAyzh0xjg== + dependencies: + "@babel/core" "^7.0.0" + "@babel/plugin-proposal-class-properties" "^7.0.0" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.0.0" + "@babel/plugin-proposal-optional-chaining" "^7.0.0" + "@babel/plugin-transform-flow-strip-types" "^7.0.0" + "@babel/plugin-transform-modules-commonjs" "^7.0.0" + "@babel/register" "^7.0.0" + escape-string-regexp "^1.0.5" + metro-babel-transformer@0.58.0: version "0.58.0" resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.58.0.tgz#317c83b863cceb0573943815f1711fbcbe69b106" @@ -10909,6 +11081,14 @@ metro-babel-transformer@0.58.0: "@babel/core" "^7.0.0" metro-source-map "0.58.0" +metro-babel-transformer@0.59.0: + version "0.59.0" + resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.59.0.tgz#dda99c75d831b00142c42c020c51c103b29f199d" + integrity sha512-fdZJl8rs54GVFXokxRdD7ZrQ1TJjxWzOi/xSP25VR3E8tbm3nBZqS+/ylu643qSr/IueABR+jrlqAyACwGEf6w== + dependencies: + "@babel/core" "^7.0.0" + metro-source-map "0.59.0" + metro-cache@0.58.0: version "0.58.0" resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.58.0.tgz#630ea0a4626dfb9591c71fdb85dce14b5e9a04ec" @@ -10959,7 +11139,7 @@ metro-minify-uglify@0.58.0: dependencies: uglify-es "^3.1.9" -metro-react-native-babel-preset@0.58.0, metro-react-native-babel-preset@^0.58.0: +metro-react-native-babel-preset@0.58.0: version "0.58.0" resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.58.0.tgz#18f48d33fe124280ffabc000ab8b42c488d762a2" integrity sha512-MRriNW+fF6jxABsgPphocUY6mIhmCm8idcrQZ58fT3Iti2vCdtkaK32TyCGUNUptzhUe2/cbE57j4aC+eaodAA== @@ -11000,7 +11180,62 @@ metro-react-native-babel-preset@0.58.0, metro-react-native-babel-preset@^0.58.0: "@babel/template" "^7.0.0" react-refresh "^0.4.0" -metro-react-native-babel-transformer@0.58.0, metro-react-native-babel-transformer@^0.58.0: +metro-react-native-babel-preset@0.59.0, metro-react-native-babel-preset@~0.59.0: + version "0.59.0" + resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.59.0.tgz#20e020bc6ac9849e1477de1333d303ed42aba225" + integrity sha512-BoO6ncPfceIDReIH8pQ5tQptcGo5yRWQXJGVXfANbiKLq4tfgdZB1C1e2rMUJ6iypmeJU9dzl+EhPmIFKtgREg== + dependencies: + "@babel/plugin-proposal-class-properties" "^7.0.0" + "@babel/plugin-proposal-export-default-from" "^7.0.0" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.0.0" + "@babel/plugin-proposal-object-rest-spread" "^7.0.0" + "@babel/plugin-proposal-optional-catch-binding" "^7.0.0" + "@babel/plugin-proposal-optional-chaining" "^7.0.0" + "@babel/plugin-syntax-dynamic-import" "^7.0.0" + "@babel/plugin-syntax-export-default-from" "^7.0.0" + "@babel/plugin-syntax-flow" "^7.2.0" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.0.0" + "@babel/plugin-syntax-optional-chaining" "^7.0.0" + "@babel/plugin-transform-arrow-functions" "^7.0.0" + "@babel/plugin-transform-block-scoping" "^7.0.0" + "@babel/plugin-transform-classes" "^7.0.0" + "@babel/plugin-transform-computed-properties" "^7.0.0" + "@babel/plugin-transform-destructuring" "^7.0.0" + "@babel/plugin-transform-exponentiation-operator" "^7.0.0" + "@babel/plugin-transform-flow-strip-types" "^7.0.0" + "@babel/plugin-transform-for-of" "^7.0.0" + "@babel/plugin-transform-function-name" "^7.0.0" + "@babel/plugin-transform-literals" "^7.0.0" + "@babel/plugin-transform-modules-commonjs" "^7.0.0" + "@babel/plugin-transform-object-assign" "^7.0.0" + "@babel/plugin-transform-parameters" "^7.0.0" + "@babel/plugin-transform-react-display-name" "^7.0.0" + "@babel/plugin-transform-react-jsx" "^7.0.0" + "@babel/plugin-transform-react-jsx-self" "^7.0.0" + "@babel/plugin-transform-react-jsx-source" "^7.0.0" + "@babel/plugin-transform-regenerator" "^7.0.0" + "@babel/plugin-transform-runtime" "^7.0.0" + "@babel/plugin-transform-shorthand-properties" "^7.0.0" + "@babel/plugin-transform-spread" "^7.0.0" + "@babel/plugin-transform-sticky-regex" "^7.0.0" + "@babel/plugin-transform-template-literals" "^7.0.0" + "@babel/plugin-transform-typescript" "^7.5.0" + "@babel/plugin-transform-unicode-regex" "^7.0.0" + "@babel/template" "^7.0.0" + react-refresh "^0.4.0" + +metro-react-native-babel-transformer@0.59.0: + version "0.59.0" + resolved "https://registry.yarnpkg.com/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.59.0.tgz#9b3dfd6ad35c6ef37fc4ce4d20a2eb67fabbb4be" + integrity sha512-1O3wrnMq4NcPQ1asEcl9lRDn/t+F1Oef6S9WaYVIKEhg9m/EQRGVrrTVP+R6B5Eeaj3+zNKbzM8Dx/NWy1hUbQ== + dependencies: + "@babel/core" "^7.0.0" + babel-preset-fbjs "^3.3.0" + metro-babel-transformer "0.59.0" + metro-react-native-babel-preset "0.59.0" + metro-source-map "0.59.0" + +metro-react-native-babel-transformer@^0.58.0: version "0.58.0" resolved "https://registry.yarnpkg.com/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.58.0.tgz#5da0e5a1b83c01d11626905fa59f34fda53a21a5" integrity sha512-3A73+cRq1eUPQ8g+hPNGgMUMCGmtQjwqHfoG1DwinAoJ/kr4WOXWWbGZo0xHJNBe/zdHGl0uHcDCp2knPglTdQ== @@ -11031,6 +11266,19 @@ metro-source-map@0.58.0: source-map "^0.5.6" vlq "^1.0.0" +metro-source-map@0.59.0: + version "0.59.0" + resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.59.0.tgz#e9beb9fc51bfb4e060f95820cf1508fc122d23f7" + integrity sha512-0w5CmCM+ybSqXIjqU4RiK40t4bvANL6lafabQ2GP2XD3vSwkLY+StWzCtsb4mPuyi9R/SgoLBel+ZOXHXAH0eQ== + dependencies: + "@babel/traverse" "^7.0.0" + "@babel/types" "^7.0.0" + invariant "^2.2.4" + metro-symbolicate "0.59.0" + ob1 "0.59.0" + source-map "^0.5.6" + vlq "^1.0.0" + metro-symbolicate@0.58.0: version "0.58.0" resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.58.0.tgz#ba9fd52549c41fc1b656adaad7c8875726dd5abe" @@ -11042,6 +11290,17 @@ metro-symbolicate@0.58.0: through2 "^2.0.1" vlq "^1.0.0" +metro-symbolicate@0.59.0: + version "0.59.0" + resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.59.0.tgz#fc7f93957a42b02c2bfc57ed1e8f393f5f636a54" + integrity sha512-asLaF2A7rndrToGFIknL13aiohwPJ95RKHf0NM3hP/nipiLDoMzXT6ZnQvBqDxkUKyP+51AI75DMtb+Wcyw4Bw== + dependencies: + invariant "^2.2.4" + metro-source-map "0.59.0" + source-map "^0.5.6" + through2 "^2.0.1" + vlq "^1.0.0" + metro@0.58.0, metro@^0.58.0: version "0.58.0" resolved "https://registry.yarnpkg.com/metro/-/metro-0.58.0.tgz#c037318c112f80dc96199780c8b401ab72cfd142" @@ -11805,6 +12064,11 @@ ob1@0.58.0: resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.58.0.tgz#484a1e9a63a8b79d9ea6f3a83b2a42110faac973" integrity sha512-uZP44cbowAfHafP1k4skpWItk5iHCoRevMfrnUvYCfyNNPPJd3rfDCyj0exklWi2gDXvjlj2ObsfiqP/bs/J7Q== +ob1@0.59.0: + version "0.59.0" + resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.59.0.tgz#ee103619ef5cb697f2866e3577da6f0ecd565a36" + integrity sha512-opXMTxyWJ9m68ZglCxwo0OPRESIC/iGmKFPXEXzMZqsVIrgoRXOHmoMDkQzz4y3irVjbyPJRAh5pI9fd0MJTFQ== + object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" @@ -13163,6 +13427,13 @@ promise@^7.1.1: dependencies: asap "~2.0.3" +promise@^8.0.3: + version "8.1.0" + resolved "https://registry.yarnpkg.com/promise/-/promise-8.1.0.tgz#697c25c3dfe7435dd79fcd58c38a135888eaf05e" + integrity sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q== + dependencies: + asap "~2.0.6" + prompts@^2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.3.2.tgz#480572d89ecf39566d2bd3fe2c9fccb7c4c0b068" @@ -13171,7 +13442,7 @@ prompts@^2.3.2: kleur "^3.0.3" sisteransi "^1.0.4" -prop-types@15.7.2, prop-types@^15.5.10, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: +prop-types@^15.5.10, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: version "15.7.2" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== @@ -13431,10 +13702,10 @@ react-dev-utils@10.2.1, react-dev-utils@^10.0.0, react-dev-utils@~10.2.1: strip-ansi "6.0.0" text-table "0.2.0" -react-devtools-core@^4.0.6: - version "4.8.2" - resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-4.8.2.tgz#4465f2e8de7795564aa20f28b2f3a9737586db23" - integrity sha512-3Lv3nI8FPAwKqUco35oOlgf+4j8mgYNnIcDv2QTfxEqg2G69q17ZJ8ScU9aBnymS28YC1OW+kTxLmdIQeTN8yg== +react-devtools-core@^4.6.0: + version "4.10.0" + resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-4.10.0.tgz#027ed231f851e5e9d697812bb905648ab822ec48" + integrity sha512-5m5VBtpjuHI7odyk3GAR3BJq3/IHQ0fVZ0+h8zUvoHulSj7Z9hp9d9n4Y1HmSZZxv7NUKfBtsnH+NfLNFDtfog== dependencies: shell-quote "^1.6.1" ws "^7" @@ -13479,17 +13750,7 @@ react-docgen@^5.0.0: node-dir "^0.1.10" strip-indent "^3.0.0" -react-dom@16.11.0: - version "16.11.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.11.0.tgz#7e7c4a5a85a569d565c2462f5d345da2dd849af5" - integrity sha512-nrRyIUE1e7j8PaXSPtyRKtz+2y9ubW/ghNgqKFHHAHaeP0fpF5uXR+sq8IMRHC+ZUxw7W9NyCDTBtwWxvkb0iA== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - prop-types "^15.6.2" - scheduler "^0.17.0" - -react-dom@^16.8.3: +react-dom@16.13.1, react-dom@^16.8.3: version "16.13.1" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.13.1.tgz#c1bd37331a0486c078ee54c4740720993b2e0e7f" integrity sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag== @@ -13562,49 +13823,40 @@ react-lifecycles-compat@^3.0.4: resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== -react-native-appearance@~0.3.3: - version "0.3.4" - resolved "https://registry.yarnpkg.com/react-native-appearance/-/react-native-appearance-0.3.4.tgz#2cbcbc5142cdc1898c116684f519b16c879cbec2" - integrity sha512-Vz3zdJbAEiMDwuw6wH98TT1WVfBvWjvANutYtkIbl16KGRCigtSgt6IIiLsF3/TSS3y3FtHhWDelFeGw/rtuig== - dependencies: - fbemitter "^2.1.1" - invariant "^2.2.4" - use-subscription "^1.0.0" - -react-native-safe-area-context@~3.0.7: - version "3.0.7" - resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-3.0.7.tgz#0f53de7a30d626d82936000f3f6db374ecc4b800" - integrity sha512-dqhRTlIFe5+P1yxitj0C9XVUxLqOmjomeqzUSSY8sNOWVjtIhEY/fl4ZKYpAVnktd8dt3zl13XmJTmRmy3d0uA== +react-native-safe-area-context@3.1.4: + version "3.1.4" + resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-3.1.4.tgz#9b7f883a5ae8da6218d17467a350434005893602" + integrity sha512-bXx3hqz4LovFoMnJIRGIWL2oJ/PHadXviBKvgZV9yNErtURQLJSn0yfQytVtiqslhaBMZOJwH4R6HiClyofvBg== -react-native-unimodules@~0.10.1: - version "0.10.1" - resolved "https://registry.yarnpkg.com/react-native-unimodules/-/react-native-unimodules-0.10.1.tgz#05a5ef248e88589528e7ef925137a345dde96ca4" - integrity sha512-U/GexLJWwDOXhsvSSz197gPVRoNVK4tY1cjvZC+748Q4mvc9v4ztB7niKaoaEbNdTjB/pE2NYlZW4013d1wQNw== +react-native-unimodules@~0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/react-native-unimodules/-/react-native-unimodules-0.11.0.tgz#78483ee4e7eb27b439d34c3ba7455f40087ff166" + integrity sha512-iIxcr9TmgciM/lzOvak+lBkdeGKw74kbMIkr1zxKskhOwLq19kGtYl0/DQm+jcwbsEzTX83SaEPX0C0jqbfb/A== dependencies: - "@unimodules/core" "~5.3.0" - "@unimodules/react-native-adapter" "~5.4.0" + "@unimodules/core" "~5.5.0" + "@unimodules/react-native-adapter" "~5.6.0" chalk "^2.4.2" - expo-asset "~8.1.7" - expo-constants "~9.1.1" - expo-file-system "~9.0.1" - expo-image-loader "~1.1.1" - expo-permissions "~9.0.1" - unimodules-app-loader "~1.2.0" - unimodules-barcode-scanner-interface "~5.2.1" - unimodules-camera-interface "~5.2.1" - unimodules-constants-interface "~5.2.1" - unimodules-face-detector-interface "~5.2.1" - unimodules-file-system-interface "~5.2.1" - unimodules-font-interface "~5.2.1" - unimodules-image-loader-interface "~5.2.1" - unimodules-permissions-interface "~5.2.1" - unimodules-sensors-interface "~5.2.1" - unimodules-task-manager-interface "~5.2.1" - -react-native-web@0.13: - version "0.13.12" - resolved "https://registry.yarnpkg.com/react-native-web/-/react-native-web-0.13.12.tgz#3a2bb7ce0e21d5ac22f7761743a971ac3435fc3c" - integrity sha512-o0HZqb9iVAdO0wr1QyyBgdHTEknwKAqPXtWTFq1SqAe2lYcMhA2a3SFscWReD2ONgu+cbDVC3O6kOmQ4pI/h+g== + expo-asset "~8.2.0" + expo-constants "~9.2.0" + expo-file-system "~9.2.0" + expo-image-loader "~1.2.0" + expo-permissions "~9.3.0" + unimodules-app-loader "~1.3.0" + unimodules-barcode-scanner-interface "~5.3.0" + unimodules-camera-interface "~5.3.0" + unimodules-constants-interface "~5.3.0" + unimodules-face-detector-interface "~5.3.0" + unimodules-file-system-interface "~5.3.0" + unimodules-font-interface "~5.3.0" + unimodules-image-loader-interface "~5.3.0" + unimodules-permissions-interface "~5.3.0" + unimodules-sensors-interface "~5.3.0" + unimodules-task-manager-interface "~5.3.0" + +react-native-web@~0.13.7: + version "0.13.18" + resolved "https://registry.yarnpkg.com/react-native-web/-/react-native-web-0.13.18.tgz#964f058a16521a3b9a31b091415edfef5b6ef305" + integrity sha512-WR/0ECAmwLQ2+2cL2Ur+0/swXFAtcSM0URoADJmG6D4MnY+wGc91JO8LoOTlgY0USBOY+qG/beRrjFa+RAuOiA== dependencies: array-find-index "^1.0.2" create-react-class "^15.6.2" @@ -13616,39 +13868,35 @@ react-native-web@0.13: prop-types "^15.6.0" react-timer-mixin "^0.13.4" -react-native@0.62.2: - version "0.62.2" - resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.62.2.tgz#d831e11a3178705449142df19a70ac2ca16bad10" - integrity sha512-gADZZ3jcm2WFTjh8CCBCbl5wRSbdxqZGd+8UpNwLQFgrkp/uHorwAhLNqcd4+fHmADgPBltNL0uR1Vhv47zcOw== +react-native@0.63.3: + version "0.63.3" + resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.63.3.tgz#4a7f6540e049ff41810887bbd1125abc4672f3bf" + integrity sha512-71wq13uNo5W8QVQnFlnzZ3AD+XgUBYGhpsxysQFW/hJ8GAt/J5o+Bvhy81FXichp6IBDJDh/JgfHH2gNji8dFA== dependencies: "@babel/runtime" "^7.0.0" - "@react-native-community/cli" "^4.5.1" - "@react-native-community/cli-platform-android" "^4.5.1" - "@react-native-community/cli-platform-ios" "^4.5.0" + "@react-native-community/cli" "^4.10.0" + "@react-native-community/cli-platform-android" "^4.10.0" + "@react-native-community/cli-platform-ios" "^4.10.0" abort-controller "^3.0.0" anser "^1.4.9" base64-js "^1.1.2" - connect "^3.6.5" - create-react-class "^15.6.3" - escape-string-regexp "^1.0.5" - eslint-plugin-relay "1.4.1" event-target-shim "^5.0.1" fbjs "^1.0.0" fbjs-scripts "^1.1.0" - hermes-engine "~0.4.0" + hermes-engine "~0.5.0" invariant "^2.2.4" jsc-android "^245459.0.0" - metro-babel-register "0.58.0" - metro-react-native-babel-transformer "0.58.0" - metro-source-map "0.58.0" + metro-babel-register "0.59.0" + metro-react-native-babel-transformer "0.59.0" + metro-source-map "0.59.0" nullthrows "^1.1.1" - pretty-format "^24.7.0" - promise "^7.1.1" + pretty-format "^24.9.0" + promise "^8.0.3" prop-types "^15.7.2" - react-devtools-core "^4.0.6" + react-devtools-core "^4.6.0" react-refresh "^0.4.0" regenerator-runtime "^0.13.2" - scheduler "0.17.0" + scheduler "0.19.1" stacktrace-parser "^0.1.3" use-subscription "^1.0.0" whatwg-fetch "^3.0.0" @@ -13679,6 +13927,11 @@ react-refresh@^0.4.0: resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.4.3.tgz#966f1750c191672e76e16c2efa569150cc73ab53" integrity sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA== +react-refresh@^0.8.2: + version "0.8.3" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.8.3.tgz#721d4657672d400c5e3c75d063c4a85fb2d5d68f" + integrity sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg== + react-sizeme@^2.6.7: version "2.6.12" resolved "https://registry.yarnpkg.com/react-sizeme/-/react-sizeme-2.6.12.tgz#ed207be5476f4a85bf364e92042520499455453e" @@ -13714,16 +13967,7 @@ react-timer-mixin@^0.13.4: resolved "https://registry.yarnpkg.com/react-timer-mixin/-/react-timer-mixin-0.13.4.tgz#75a00c3c94c13abe29b43d63b4c65a88fc8264d3" integrity sha512-4+ow23tp/Tv7hBM5Az5/Be/eKKF7DIvJ09voz5LyHGQaqqz9WV8YMs31eFvcYQs7d451LSg7kDJV70XYN/Ug/Q== -react@16.11.0: - version "16.11.0" - resolved "https://registry.yarnpkg.com/react/-/react-16.11.0.tgz#d294545fe62299ccee83363599bf904e4a07fdbb" - integrity sha512-M5Y8yITaLmU0ynd0r1Yvfq98Rmll6q8AxaEe88c8e7LxO8fZ2cNgmFt0aGAS9wzf1Ao32NKXtCl+/tVVtkxq6g== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - prop-types "^15.6.2" - -react@^16.8.3: +react@16.13.1, react@^16.8.3: version "16.13.1" resolved "https://registry.yarnpkg.com/react/-/react-16.13.1.tgz#2e818822f1a9743122c063d6410d85c1e3afe48e" integrity sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w== @@ -14094,6 +14338,11 @@ require-directory@^2.1.1: resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + require-main-filename@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" @@ -14352,15 +14601,7 @@ sax@>=0.6.0, sax@^1.2.1, sax@^1.2.4, sax@~1.2.4: resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== -scheduler@0.17.0, scheduler@^0.17.0: - version "0.17.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.17.0.tgz#7c9c673e4ec781fac853927916d1c426b6f3ddfe" - integrity sha512-7rro8Io3tnCPuY4la/NuI5F2yfESpnfZyT6TtkXnSWVkcu0BCDJ+8gk5ozUaFaxpIyNuWAPXrH0yFcSi28fnDA== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - -scheduler@^0.19.1: +scheduler@0.19.1, scheduler@^0.19.1: version "0.19.1" resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196" integrity sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA== @@ -15887,60 +16128,60 @@ unified@9.1.0: trough "^1.0.0" vfile "^4.0.0" -unimodules-app-loader@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/unimodules-app-loader/-/unimodules-app-loader-1.2.0.tgz#e3ab8942000b0a0ee3bef2faff7e7e276d84c86a" - integrity sha512-TZCFuyOfX/iVJf3uhy2WmGnQFUGgsfkVRzUb7mCxPTqqdyvqT7aXxCGM3gY+3Y8dPdCRGoG+EA2vrOe3aLU0qw== +unimodules-app-loader@~1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/unimodules-app-loader/-/unimodules-app-loader-1.3.0.tgz#e9cdeff012a4460032ed6462c01ca1eb6fe7402c" + integrity sha512-PAQcbm0KVuqj9M5Vryo8rEJXe1VGWy7yWFUmjpdfvbhWO1JeDZUNiVXdP9M4NfISJfWcVcZ2Rfdfpqiubaz8rQ== -unimodules-barcode-scanner-interface@~5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/unimodules-barcode-scanner-interface/-/unimodules-barcode-scanner-interface-5.2.1.tgz#95b90ed96b7c97b2ce48925f28e478781e9165ea" - integrity sha512-7gLHsZ4vkQ5utDmsiBK4jgqBd2+9V7y/iHqi7P2Aqz21RomJF9ruWJMo6R6k2+14IayFbtZGU2+aRx2w/1SAGg== +unimodules-barcode-scanner-interface@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/unimodules-barcode-scanner-interface/-/unimodules-barcode-scanner-interface-5.3.0.tgz#2ea73cd35c7b45160efd2aaa76c432b7655bfc04" + integrity sha512-nxWbLXv3JpkGS9I9REcEPk4vQNAbbLnstn1JVHs9agKP0IrNPQVmgqk1RWRdU6DM5QwaB+lb3jWVFVwHrI/NmA== -unimodules-camera-interface@~5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/unimodules-camera-interface/-/unimodules-camera-interface-5.2.1.tgz#c46bb4319ab71751275fd581e88e7f93892a34f2" - integrity sha512-ugdWuv1FO6BZTGMIzE2KvA6x5h1CHguRKWJBeYfO8Ih/S51eE7jEyV+kO+xXROFNzWhkcKRJdQp1AutiJBDLtg== +unimodules-camera-interface@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/unimodules-camera-interface/-/unimodules-camera-interface-5.3.0.tgz#1499b6d9d053c2d84d627b47b9cab55cbb2dd03e" + integrity sha512-rDzGUdAP9gfs1sgBmFRh1z2tkrwL0nVfEH81DAMir1216ZcmL7oYvLWUjQn9CAzUKhj5R6/G8D7/TrgY5qERBQ== -unimodules-constants-interface@~5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/unimodules-constants-interface/-/unimodules-constants-interface-5.2.1.tgz#fa8af66276fa6784bba0a8c7d7235bdab9f88ce8" - integrity sha512-rQCtVHUVXcjMQWdDlWmOTiKMPNygagq/73U/jt6LqfQLVglx7wMjPWSndgjp3xyM34f6hrydeWXYP6rUgDY0lg== +unimodules-constants-interface@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/unimodules-constants-interface/-/unimodules-constants-interface-5.3.0.tgz#a3509f52585ff27b1badee9692d2705b01168120" + integrity sha512-zE/iMu72Yo4fnVIpcsdfJowhXk08n7XBj1Mg5MC9G+SSkBqcIIk5xpm0H7/FqUfWmOVTeNEcoWYkBE/vu0p3mQ== -unimodules-face-detector-interface@~5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/unimodules-face-detector-interface/-/unimodules-face-detector-interface-5.2.1.tgz#19b909771bd413e525e5d3934be64f513dfca560" - integrity sha512-6FQQCKzEE2FyVW2HrfJfQTipaBWEi7yV6Fpor9aNj362kzbiEewrDH6b6XT3eBR3xiPbAHzNu6FIfA93X/jfWA== +unimodules-face-detector-interface@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/unimodules-face-detector-interface/-/unimodules-face-detector-interface-5.3.0.tgz#426484ef8c9c71f6e14bd664f5ed546868711326" + integrity sha512-CL0FgDXDjFRBe8nlnVRwqpbYmY/d/86nSQU+s36Cc6Vkm8PWxJAooTImhEqBlVI4ldhkBIvPBiJcTgrv7kbaWg== -unimodules-file-system-interface@~5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/unimodules-file-system-interface/-/unimodules-file-system-interface-5.2.1.tgz#8ce9ca10bc1de91a5824b324bff879e344c6d183" - integrity sha512-Z+hMrWIbTxPiOF7B7x+1bNelsJxxt/qpG3hg/bZjeC5LG6tfiqDHqnMg/Fp1U+ykeV8RoqkHBgzIMJ8seSEdFg== +unimodules-file-system-interface@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/unimodules-file-system-interface/-/unimodules-file-system-interface-5.3.0.tgz#29f9cc0bd6d807da77d19ca03dc810237fbb53dc" + integrity sha512-mi4oWzO6/BDnu26HZ8FtGnBqfaoDUP1TL0ouHL0Pgv5QpXD/to2WrO7I01Z3TRjh50Um5C9gcLpt/rDyTurzag== -unimodules-font-interface@~5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/unimodules-font-interface/-/unimodules-font-interface-5.2.1.tgz#7f16100a693a42fc5190bdf11c79158183a5226d" - integrity sha512-dRtXGySUqGeGNRd49rc9GYXjxf/c370mAhdDIxDLWUy+HcQfBRwawweAdpSpTmqC9ksXMbsS0X3CyjY1fv0ufQ== +unimodules-font-interface@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/unimodules-font-interface/-/unimodules-font-interface-5.3.0.tgz#4c545216a87fcd079c0c467f560f81d3e2f81265" + integrity sha512-HgxeJ5t/MBOxbAMWW7mfr4XHp+8TFH+eh7iUceIdCWF0rldNq8V+r8vkq1/SaD6EMZ1F4HY0WjDpVA3mOpJfwQ== -unimodules-image-loader-interface@~5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/unimodules-image-loader-interface/-/unimodules-image-loader-interface-5.2.1.tgz#e9fb5aab55c6cd38cf2d67840d83856ca636c74c" - integrity sha512-e1yFtuVeVgwlsxWtuE+8uuThAERjB8d3VKF4XUtmOqTGV3+r1MxuV4/R5PmHLmfCa0vJlCpXITi9GeknWE0Yvg== +unimodules-image-loader-interface@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/unimodules-image-loader-interface/-/unimodules-image-loader-interface-5.3.0.tgz#a661beb5aee4b8fa6057861db359b65ad38cfc03" + integrity sha512-xVunpdS2ZMhAL5FQWNspUaKar0lXIBcE9PEDlX+eTN7Q1MampkVbx+gauCv1YQaFHPqJ9KtqodgpAvMlnMhgqw== -unimodules-permissions-interface@~5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/unimodules-permissions-interface/-/unimodules-permissions-interface-5.2.1.tgz#97e3259d6322f4e2200685eb4b235275378e8b87" - integrity sha512-uBbcriIBdY2kMmVKgSZePDKkM2fviSCKcHnje8wBPK6O/n2UlocVpq4DJjt13KK3YcEMHUAK+D73b12zbfOUTw== +unimodules-permissions-interface@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/unimodules-permissions-interface/-/unimodules-permissions-interface-5.3.0.tgz#b7576c9143dd20f7d9dfa2346eda10841e439505" + integrity sha512-DxgzzRp/3JzIyKYsfQpuWuesl4EYEx6nRZRMk6pWudfsvYu51RKOv5jwY4KskpW7sDGo6xHmiwQ6KCJu9UMQBA== -unimodules-sensors-interface@~5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/unimodules-sensors-interface/-/unimodules-sensors-interface-5.2.1.tgz#00ac952f30de8b4e486afbb01d81c72ece474298" - integrity sha512-GsBJkk+LSpCJ6WIl3Ik5zk1LfflOVE2RYvH7I9XOJsJP7X8Y1urUOFtldjtwWai6nNhlMyXKAFIF4aoBOQii/A== +unimodules-sensors-interface@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/unimodules-sensors-interface/-/unimodules-sensors-interface-5.3.0.tgz#03fb827ac625a6711523643944d6770ad48b7ce4" + integrity sha512-WtqOED3/bmm+AMXu1xl4TVh1W40uaZSGSlxCZMNLSOkT1Rp38Ci1T2sL+izTq3dJ5kMdl0DsZJ5VtA+CqaKtXg== -unimodules-task-manager-interface@~5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/unimodules-task-manager-interface/-/unimodules-task-manager-interface-5.2.1.tgz#85cd7dcbcc152a65a56594b8fb8398ee1473a66d" - integrity sha512-GEjay8yVO5aoh1oNGENVU4F28q2XVPOHYSoz7ZFWlg4maKg5qSNqIAwY9I4fVyd60vbFusq3zjeTPK5fGp0dWg== +unimodules-task-manager-interface@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/unimodules-task-manager-interface/-/unimodules-task-manager-interface-5.3.0.tgz#126a2c177a1aebb5d0be86a3a99b324a347fca4a" + integrity sha512-Q0mRH9a34eLA1xBVjy54Pkl3KmQAEoc4mrhsaIdAyJvJCDsT+UINBlRi5i8EHA8QY4jTd+fv9nHkHnDHQiWjtA== union-value@^1.0.0: version "1.0.1" From c94b5cde89e60a97b5b9192d07933ea45c14229e Mon Sep 17 00:00:00 2001 From: thecoadingmonk Date: Sun, 15 Nov 2020 17:09:40 +0530 Subject: [PATCH 6/7] docs: installed react-native-modal for example app --- example/package.json | 1 + example/yarn.lock | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/example/package.json b/example/package.json index 16e3330..76437ba 100644 --- a/example/package.json +++ b/example/package.json @@ -23,6 +23,7 @@ "react": "16.11.0", "react-dom": "16.11.0", "react-native": "0.62.2", + "react-native-modal": "^11.5.6", "react-native-unimodules": "~0.10.1", "react-native-web": "0.13" }, diff --git a/example/yarn.lock b/example/yarn.lock index eec7015..c122c33 100644 --- a/example/yarn.lock +++ b/example/yarn.lock @@ -13567,6 +13567,13 @@ react-lifecycles-compat@^3.0.4: resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== +react-native-animatable@1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/react-native-animatable/-/react-native-animatable-1.3.3.tgz#a13a4af8258e3bb14d0a9d839917e9bb9274ec8a" + integrity sha512-2ckIxZQAsvWn25Ho+DK3d1mXIgj7tITkrS4pYDvx96WyOttSvzzFeQnM2od0+FUMzILbdHDsDEqZvnz1DYNQ1w== + dependencies: + prop-types "^15.7.2" + react-native-appearance@~0.3.3: version "0.3.4" resolved "https://registry.yarnpkg.com/react-native-appearance/-/react-native-appearance-0.3.4.tgz#2cbcbc5142cdc1898c116684f519b16c879cbec2" @@ -13576,6 +13583,14 @@ react-native-appearance@~0.3.3: invariant "^2.2.4" use-subscription "^1.0.0" +react-native-modal@^11.5.6: + version "11.5.6" + resolved "https://registry.yarnpkg.com/react-native-modal/-/react-native-modal-11.5.6.tgz#bb25a78c35a5e24f45de060e5f64284397d38a87" + integrity sha512-APGNfbvgC4hXbJqcSADu79GLoMKIHUmgR3fDQ7rCGZNBypkStSP8imZ4PKK/OzIZZfjGU9aP49jhMgGbhY9KHA== + dependencies: + prop-types "^15.6.2" + react-native-animatable "1.3.3" + react-native-safe-area-context@~3.0.7: version "3.0.7" resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-3.0.7.tgz#0f53de7a30d626d82936000f3f6db374ecc4b800" From 52341778f830037f7c2f58af4755b43474f6b3d3 Mon Sep 17 00:00:00 2001 From: DaniAkash Date: Thu, 19 Nov 2020 08:29:17 +0530 Subject: [PATCH 7/7] refactor: added nativeProps to all components --- src/Components/createInputText.tsx | 43 ++++++++++++++++++++++--- src/Components/createTextBlock.tsx | 32 ++++++++++++++++--- src/Components/createTouchable.tsx | 20 ++++++------ src/LayoutComponents/createBox.tsx | 46 ++++++++++++++++++++++++--- src/LayoutComponents/createColumn.tsx | 3 +- src/LayoutComponents/createRow.tsx | 33 ++++++++++++++++--- src/theme/themeTypes.ts | 44 +------------------------ src/themeUtils/createViewStyle.ts | 7 ++-- 8 files changed, 150 insertions(+), 78 deletions(-) diff --git a/src/Components/createInputText.tsx b/src/Components/createInputText.tsx index 7801a34..b325be7 100644 --- a/src/Components/createInputText.tsx +++ b/src/Components/createInputText.tsx @@ -1,21 +1,56 @@ import React from 'react'; -import { TextInput } from 'react-native'; +import { TextInput, TextInputProps } from 'react-native'; +import type { colorType, ThemableTextStyle } from '../theme/themeTypes'; import type themeType from '../theme/theme'; -import type { InputProps } from '../theme/themeTypes'; import createTextStyle from '../themeUtils/createTextStyle'; +export type ThemedInputProps = Omit< + TextInputProps, + 'placeholderTextColor' | 'underlineColorAndroid' +>; + +export interface ThemeableTextInputStyle + extends ThemableTextStyle { + placeholderTextColor?: colorType; +} + +export interface InputProps + extends ThemeableTextInputStyle { + nativeProps?: ThemedInputProps; + /** + * @deprecated Use nativeProps instead + */ + textInput?: ThemedInputProps; + underlineColorAndroid?: colorType; +} + +// Warn Users about deprecating press prop +let IS_TEXTINPUT_ALERTED = false; + function createInputText(useTheme: () => T) { const InputText = ({ - textInput = {}, + nativeProps = {}, + textInput, underlineColorAndroid, placeholderTextColor, ...otherProps }: InputProps) => { const theme = useTheme(); + if (textInput && __DEV__ && !IS_TEXTINPUT_ALERTED) { + console.warn( + '`textInput` prop is deprecated in favour of `nativeProps` please refactor your components!' + ); + IS_TEXTINPUT_ALERTED = true; + } + + if (textInput) { + nativeProps = { ...(textInput || {}), ...(nativeProps || {}) }; + } + return ( + extends ThemableTextStyle { + /** + * @deprecated Use nativeProps instead + */ + text?: TextProps; + nativeProps?: TextProps; +} + +// Warn Users about deprecating text prop +let IS_TEXT_ALERTED = false; + function createTextBlock(useTheme: () => T) { const TextBlock = ({ - text = {}, + text, children, + nativeProps = {}, ...otherProps }: TextBlockProps) => { const theme = useTheme(); + if (text && __DEV__ && !IS_TEXT_ALERTED) { + console.warn( + '`press` prop is deprecated in favour of `nativeProps` please refactor your components!' + ); + IS_TEXT_ALERTED = true; + } + + if (text) { + nativeProps = { ...(text || {}), ...(nativeProps || {}) }; + } + return ( - + {children} ); diff --git a/src/Components/createTouchable.tsx b/src/Components/createTouchable.tsx index 9f69121..62d7944 100644 --- a/src/Components/createTouchable.tsx +++ b/src/Components/createTouchable.tsx @@ -1,6 +1,6 @@ import React, { ReactNode } from 'react'; import { Pressable, PressableProps } from 'react-native'; -import type { ThemableViewStyle } from '../../src/theme/themeTypes'; +import type { ThemableViewStyle } from 'src/LayoutComponents/createBox'; import type themeType from '../theme/theme'; import createViewStyle from '../themeUtils/createViewStyle'; @@ -12,7 +12,7 @@ export type NonThemablePressableProps = Omit< export interface TouchableProps extends ThemableViewStyle { nativeProps?: NonThemablePressableProps; - /* + /** * @deprecated Use nativeProps instead */ press?: NonThemablePressableProps; @@ -32,23 +32,21 @@ function createTouchable(useTheme: () => T) { inactiveChildren, pressedStyle = {}, inactiveStyle = {}, - press = {}, + press, nativeProps = {}, ...otherProps }: TouchableProps) => { const theme = useTheme(); - if (press && __DEV__) { - if (!IS_PRESS_ALERTED) { - console.warn( - '`press` prop is deprecated in favour of `nativeProps` please refactor your components!' - ); - IS_PRESS_ALERTED = true; - } + if (press && __DEV__ && !IS_PRESS_ALERTED) { + console.warn( + '`press` prop is deprecated in favour of `nativeProps` please refactor your components!' + ); + IS_PRESS_ALERTED = true; } if (press) { - nativeProps = { ...press, ...(nativeProps || {}) }; + nativeProps = { ...(press || {}), ...(nativeProps || {}) }; } return ( diff --git a/src/LayoutComponents/createBox.tsx b/src/LayoutComponents/createBox.tsx index d744ca7..9c0ba32 100644 --- a/src/LayoutComponents/createBox.tsx +++ b/src/LayoutComponents/createBox.tsx @@ -1,15 +1,51 @@ -import React from 'react'; -import { View } from 'react-native'; +import React, { ReactNode } from 'react'; +import { View, ViewProps } from 'react-native'; +import type { + CommonThemableTypes, + nonThemableViewStyles, +} from '../theme/themeTypes'; import type themeType from '../theme/theme'; -import type { BoxProps } from '../theme/themeTypes'; import createViewStyle from '../themeUtils/createViewStyle'; +export interface ThemableViewStyle + extends nonThemableViewStyles, + CommonThemableTypes { + children?: ReactNode; +} + +export interface BoxProps extends ThemableViewStyle { + nativeProps?: ViewProps; + /** + * @deprecated Use nativeProps instead + */ + view?: ViewProps; +} + +// Warn Users about deprecating view prop +let IS_VIEW_ALERTED = false; + function createBox(useTheme: () => T) { - const Box = ({ children, view = {}, ...otherProps }: BoxProps) => { + const Box = ({ + children, + nativeProps = {}, + view, + ...otherProps + }: BoxProps) => { const theme = useTheme(); + if (view && __DEV__ && !IS_VIEW_ALERTED) { + console.warn( + '`textInput` prop is deprecated in favour of `nativeProps` please refactor your components!' + ); + IS_VIEW_ALERTED = true; + } + + if (view) { + nativeProps = { ...(view || {}), ...(nativeProps || {}) }; + } + return ( - + {children} ); diff --git a/src/LayoutComponents/createColumn.tsx b/src/LayoutComponents/createColumn.tsx index 5064e2e..cbd4944 100644 --- a/src/LayoutComponents/createColumn.tsx +++ b/src/LayoutComponents/createColumn.tsx @@ -1,7 +1,6 @@ import React from 'react'; import type themeType from '../theme/theme'; -import type { RowProps } from '../theme/themeTypes'; -import createRow from './createRow'; +import createRow, { RowProps } from './createRow'; function createColumn(useTheme: () => T) { const Row = createRow(useTheme); diff --git a/src/LayoutComponents/createRow.tsx b/src/LayoutComponents/createRow.tsx index b21d0e8..a3a3b7e 100644 --- a/src/LayoutComponents/createRow.tsx +++ b/src/LayoutComponents/createRow.tsx @@ -1,18 +1,43 @@ import React, { Children } from 'react'; -import { View } from 'react-native'; +import { View, ViewProps } from 'react-native'; +import type { spacingType } from '../theme/themeTypes'; import type themeType from '../theme/theme'; -import type { RowProps } from '../theme/themeTypes'; import createViewStyle from '../themeUtils/createViewStyle'; +import type { ThemableViewStyle } from './createBox'; + +export interface RowProps extends ThemableViewStyle { + spacing?: spacingType | number; + nativeProps?: ViewProps; + /** + * @deprecated Use nativeProps instead + */ + view?: ViewProps; +} + +// Warn Users about deprecating view prop +let IS_VIEW_ALERTED = false; function createRow(useTheme: () => T) { const Row = ({ children, spacing, - view = {}, + nativeProps = {}, + view, ...otherProps }: RowProps) => { const theme = useTheme(); + if (view && __DEV__ && !IS_VIEW_ALERTED) { + console.warn( + '`textInput` prop is deprecated in favour of `nativeProps` please refactor your components!' + ); + IS_VIEW_ALERTED = true; + } + + if (view) { + nativeProps = { ...(view || {}), ...(nativeProps || {}) }; + } + const { flexDirection = 'row' } = otherProps; let childElements = Children.map(children, (child) => child); @@ -49,7 +74,7 @@ function createRow(useTheme: () => T) { return ( {childElements} diff --git a/src/theme/themeTypes.ts b/src/theme/themeTypes.ts index 01ebfff..993346e 100644 --- a/src/theme/themeTypes.ts +++ b/src/theme/themeTypes.ts @@ -1,11 +1,5 @@ import type { ReactNode } from 'react'; -import type { - ViewStyle, - TextStyle, - ViewProps, - TextProps, - TextInputProps, -} from 'react-native'; +import type { ViewStyle, TextStyle } from 'react-native'; import type themeType from './theme'; export type themeModeTypes = 'dark' | 'light'; @@ -134,45 +128,9 @@ export interface CommonThemableTypes spacingValueType, shadowValueType {} -export interface ThemableViewStyle - extends nonThemableViewStyles, - CommonThemableTypes { - children?: ReactNode; -} - export interface ThemableTextStyle extends nonThemableTextStyles, CommonThemableTypes, fontStyleValueType { children?: ReactNode; } - -export interface ThemeableTextInputStyle - extends ThemableTextStyle { - placeholderTextColor?: colorType; -} - -export interface BoxProps extends ThemableViewStyle { - view?: ViewProps; -} - -export interface RowProps extends ThemableViewStyle { - spacing?: spacingType | number; - view?: ViewProps; -} - -export interface TextBlockProps - extends ThemableTextStyle { - text?: TextProps; -} - -export type ThemedInputProps = Omit< - TextInputProps, - 'placeholderTextColor' | 'underlineColorAndroid' ->; - -export interface InputProps - extends ThemeableTextInputStyle { - textInput?: ThemedInputProps; - underlineColorAndroid?: colorType; -} diff --git a/src/themeUtils/createViewStyle.ts b/src/themeUtils/createViewStyle.ts index 6c29e66..40ecc72 100644 --- a/src/themeUtils/createViewStyle.ts +++ b/src/themeUtils/createViewStyle.ts @@ -1,10 +1,7 @@ import type { StyleProp, ViewStyle } from 'react-native'; +import type { ThemableViewStyle } from '../LayoutComponents/createBox'; import type themeType from '../theme/theme'; -import type { - colorValueType, - spacingType, - ThemableViewStyle, -} from '../theme/themeTypes'; +import type { colorValueType, spacingType } from '../theme/themeTypes'; import createShadowStyle from './createShadow'; const getSpacing = (