From 285026e421512c2e5bbcadae06732c0735ec9303 Mon Sep 17 00:00:00 2001 From: Alex Gebben Work Date: Wed, 5 Nov 2025 16:20:20 -0700 Subject: [PATCH] Signficant Script Cleaning midsteam --- .gitignore | 1 + Data/Cleaned_Data/Wyoming_City_Population.Rds | Bin 28255 -> 28254 bytes .../Wyoming_County_Population.Rds | Bin 12584 -> 12584 bytes .../Mortality_Rates/Female/A_Under1.csv | 0 .../Mortality_Rates/Female/B_1_9.csv | 0 .../Mortality_Rates/Female/C_10_19.csv | 0 .../Mortality_Rates/Female/D_20_39.csv | 0 .../Mortality_Rates/Female/E_40_64.csv | 0 .../Mortality_Rates/Female/F_65+.csv | 0 .../Mortality_Rates/Female/G_65_74.csv | 0 .../Mortality_Rates/Female/H_75_84.csv | 0 .../Mortality_Rates/Female/I_85+.csv | 0 .../Mortality_Rates/Male/A_Under1.csv | 0 .../Mortality_Rates/Male/B_1_9.csv | 0 .../Mortality_Rates/Male/C_10_19.csv | 0 .../Mortality_Rates/Male/D_20_39.csv | 0 .../Mortality_Rates/Male/E_40_64.csv | 0 .../Mortality_Rates/Male/G_65_74.csv | 0 .../Mortality_Rates/Male/H_75_84.csv | 0 .../Mortality_Rates/Male/I_85+.csv | 0 .../Mortality_Rates/README_MORTALITY.txt | 5 + .../Mortality_Rates/README_MORTALITY_DATA.txt | 1 + Data/Raw_Data/Population/Pop_1970s.xls | Bin 0 -> 15360 bytes Data/Raw_Data/Population/Pop_1980s.xls | Bin 0 -> 128512 bytes Data/Raw_Data/Population/Pop_1990s.xls | Bin 0 -> 41472 bytes Demographic_Split.r | 27 +++ ... 1_Download_and_Process_Population_Data.r} | 163 ++++-------------- .../2_Download_and_Process_Demographic_Data.r | 44 +++++ .../3_Process_Existing_NIH_Mortality_Data.r | 99 +++++++++++ Scripts/Get_Sim_Intial_Demographic_Data.r | 44 +++++ Scripts/Load_ACS_Census_Data.r | 50 +++--- 31 files changed, 285 insertions(+), 149 deletions(-) rename Data/{ => Raw_Data}/Mortality_Rates/Female/A_Under1.csv (100%) rename Data/{ => Raw_Data}/Mortality_Rates/Female/B_1_9.csv (100%) rename Data/{ => Raw_Data}/Mortality_Rates/Female/C_10_19.csv (100%) rename Data/{ => Raw_Data}/Mortality_Rates/Female/D_20_39.csv (100%) rename Data/{ => Raw_Data}/Mortality_Rates/Female/E_40_64.csv (100%) rename Data/{ => Raw_Data}/Mortality_Rates/Female/F_65+.csv (100%) rename Data/{ => Raw_Data}/Mortality_Rates/Female/G_65_74.csv (100%) rename Data/{ => Raw_Data}/Mortality_Rates/Female/H_75_84.csv (100%) rename Data/{ => Raw_Data}/Mortality_Rates/Female/I_85+.csv (100%) rename Data/{ => Raw_Data}/Mortality_Rates/Male/A_Under1.csv (100%) rename Data/{ => Raw_Data}/Mortality_Rates/Male/B_1_9.csv (100%) rename Data/{ => Raw_Data}/Mortality_Rates/Male/C_10_19.csv (100%) rename Data/{ => Raw_Data}/Mortality_Rates/Male/D_20_39.csv (100%) rename Data/{ => Raw_Data}/Mortality_Rates/Male/E_40_64.csv (100%) rename Data/{ => Raw_Data}/Mortality_Rates/Male/G_65_74.csv (100%) rename Data/{ => Raw_Data}/Mortality_Rates/Male/H_75_84.csv (100%) rename Data/{ => Raw_Data}/Mortality_Rates/Male/I_85+.csv (100%) create mode 100644 Data/Raw_Data/Mortality_Rates/README_MORTALITY.txt create mode 100644 Data/Raw_Data/Mortality_Rates/README_MORTALITY_DATA.txt create mode 100644 Data/Raw_Data/Population/Pop_1970s.xls create mode 100644 Data/Raw_Data/Population/Pop_1980s.xls create mode 100644 Data/Raw_Data/Population/Pop_1990s.xls rename Scripts/{Data_Load.r => 1_Download_and_Process_Population_Data.r} (54%) create mode 100644 Scripts/2_Download_and_Process_Demographic_Data.r create mode 100644 Scripts/3_Process_Existing_NIH_Mortality_Data.r create mode 100644 Scripts/Get_Sim_Intial_Demographic_Data.r diff --git a/.gitignore b/.gitignore index daea6da..087ce63 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ # *.png *.csv +Data/Cleaned_Data/ Results/ #Don't save any major data files on the server, can be regenerated after pulling diff --git a/Data/Cleaned_Data/Wyoming_City_Population.Rds b/Data/Cleaned_Data/Wyoming_City_Population.Rds index c2a078dc02911f3802bab63763baa95c498f7493..1ca7616d03c73dfc05d461ec4f5e1e41a719a861 100644 GIT binary patch delta 22717 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 bJkQ7XFYmWsKgXrf`+xsGH}^yiQ(6N6rMUms delta 22724 zcmZVlWl$f_(=`qUcMtAPkRZX`2@b*C-Q8K--GaLWcXxLW?(PuW`TY6*uDj}a@$8GK z+L@}E)7_^}SM|1O-!j14??yF|S&yzKy4ZkL-LN7Z9IM{b)E zuN|>ie=j#TD+w#JDzYkVj?NcWCs#LCMJ^1M2wgY+|A%20BiP>6_Qrz7#K!u@$j0)< zjK=oHi?((hx8}1;*Nu&;_B9u`_DkEPjsG_(-fr7)_J4!dw6t7eJvcVP%|%k;ebr*7 zrjupj6*zt(6Br5JM{4GA_9NQ=aOhO%RBmj}=+-qG+f^zi)`DXIU9ygKU9)ST=*^JU zH}>`ZgayiSX}Oe4damcok2gjhlOpIMRu3PRF}m^m%;aL8?U=HdlV~_7pICN=^X7uA@I>p zQ?L>Cx2UPlbSk+T5C0}!gJYv~b-6WOdTiXb9l1=OWiKT%L3{;#@vl6dle%KA?k8`* zF>q-(*6kaQjwU2hQUkhN&z@bg3DcB0R)kvrH=m;>=RExywkWqawfKFpYB8jv^LA>3 z=jv?%d)nc4soVGY{N%J^N^Q;KW_-B3o?Fl2XrtTr=47t~rM%fwPwVPX;*l75Gjvfs zDnIuINjw6vIRaj9#x81)8M8iD5|7gYZ=uuK{5tOoAgqU4-fs5}?(*AYSKogHFkveK z{2xo9M^^jzTsI%FM8Mn5v;oSSFH(j7)l1JKaJNzo_<;6TPOC0C3SI+=eIDLM_ezMz z)jGu&NARAN#BG^w?gsyd?)lvbqjo_ft2!6By^Oum^Y&D?`NRi&Y+xfG=PFS6{t=t= z{;;D*EZ}id1HIVe=Ci%=xw?@^-qz$<{>XOsarp6g^IW}o>OSbW7Y6skZymfXz zWeh(une+F3y!~rLdRGv!vW~8-Z8knXv?BuL!1Gp3oqA(tU4bU+r}=#yL5Bb5tw%fl z*Ms`u|NN?Vb!m5{*YWlbyW7M4W3*mAhfibA$~(IH8hCv20$yi_QKk=~G(Vlneh)k~ z%lp3WOlSK%+#S3Fdu&ZZU6MvuleNF)o9%vrV1U;YY{d>=I^Xk1MRG#0%{d?@$e~$SB+~yDofDW$I%v`$0ro03?LI3`vw6FUA=)5HX z!aOwiKf1OHbOJB4d5S>A=IQ&h*A~FQ2<4%SeYZeH{-qZ61@- z>+#PwoFK=n_Eq z3Us=^&G!EX=idME(68qGKh_j~pnP1fRQq}FRde{` zhB$}MU+DHaRDe145l=hN>K{Jq)26_NKsWGwzW4ecQ%yh|DAUA%Gt>X@jlWFmz8$X2 z5C0!4_e#1w9YIger@$v|YCyyvCkOAhD4^T-L~4|7ko{2O63SU9C`6#+@iUc!U;dSc z{bgDP(0`(Cx_qnrQB><;8QX`4*DgCKkgItKK=Lp za?S8@4R~J+6Z3sM_2=+1aU4N|J zOa62=3-*b@`y0~xbGO&~(b07FyX*Ud>idI0$HUqdAMmulGXMK*$!?+=sID#rK%WFA z+HBaaBHjui1|2Q=zKzx|A(&T_cXdj1@MnSc>bH1RN+<5mIIfodpUm{X+-JPfdC6}+ z`7Bl2y;pzEJ?=2oQ4Od>C@j{baaGRNLyn%B5$IrNFvG#-Y`A%6 zI0N`_{;YU(mv4hW7x1#fc&XQc3U2jZNPxR!lui)iV@}7@c~Mm2e}U|W==NvC6D# zoEM1LXl5-uOL1R)R-;6DqHGZE%T_$USlc_~43`{^-e72lTmqAIs>r7yhxxS|j~u4|QX z?I2#@*pcpNB7tz3U3CzE>5iR{Ga83#W{VCrUUK9s_t^Fw(MGLpDm*DRRi_4n5}lgt#e+*i|p8kWtWMc+|yx$ zLxGJKb}rdCF;|gIQyBfE)aKIs45zdGg3!KOqv5h_5;Iy$l1Z7%!AVMLpGUj@0o2vpI;wGPKnzL1( zcTA9E(-nGSDtiPVGWFzJx_0e>Kskh_HH0!5TixjxZ|?0%JWPl*;R&lq=R1zZ($fg7 z)JpXaynSdEA8n52ntK+eTcw^lkIe2M|C8n;<$qsWiS1el%4bVi zqht2)7mNVitTM>bQ}U+wC#F;?iQ80hYKEQ?-M_pkck{5rYKs|s(N!*-qLmB15AA&B zvYYiWTcNAhsl?`L7uXg{ZIxo+7qpTS!_K3UITVeRJ61-_R_;7_u}?v4y9Z_!_BwmZ z6?-u%j1*y#oQpe>WDUX3I+a^`i1y6PWjY9uQ`QoMbar ztx7ZUY#)~?%6Xo;Hq3)O-{^A9xUf>-L-6DY&akRqe30}m zgC%fDc`oA}N2t^UX@llol==e-dz1Mw=32>8Wm1GU5mM0#1Sb`jJ`Bc1P~h>~n!t;0 zU?4q|M%tuLT#Sl2I5Vf(2wD)@t*Ng^A36A@at{WY+i9R7U3GJ z=Q`E{JKO8;47ZuAX2cUe8JLj_Q6|B?p%cI=)OSs$ktq0#G)b(&klcbX*c`fIa@pI; zdXH0pJ(0m+lun!4YVPUpx`PTmW~ycJqVwhGva1Nw{Z&evU{1Mr7^RfUGK45rBw>p0 z#3Z8}=vW;fiuP_8BPJ-9kY39fn4~%-YVe1)(J}xz-k$p0IW)x78kP7u(|n1I;RD`h zYe@ylhM!}S@9OR)9#*LMa)~p}N-aWM_{3xJHZJ_~AYy*piJ)F_Utr>>5gv+Kts3yS zTGH!qiHJxl!dqP}Gh=ko7DDqJ)>g%Q2@hDzDYafS+Uw&~EsYS#BRA^htcsKtj+{VB zfWXvTC77zAq@P~qBNcSb{-(IhS_AyOjbY_y*Yr~2bkR8vt>fyO;m2}Yn@?D69U-DM z6=>9FS4y!7YJbfqEK=&r=Ip{)<)&^tD9~{cP~-t|x!PG>Me~_iooTvL>oqWgjOP*S z6VLhIan9L1b$L5B!`Tt7Cu&T@2csCo9_AU6OqPok=5swTwa9DSdf0oV`v9JDp%-3$ z9xMj!cr1rSyd*qqQgwv_eYGW%Yf@4c51C|AONPMGki9&N^W{5hhR9Z1g{@pD(Muz| zEdxgpu7R`SpQjEevn?A(!s?dM4RyxpJ!JmuU!aMX;X8}1V`6#s6( zCww_(j2wce2zV922_|P^O#( zC=0hBTCjACwA9AGQq+@Ocm7*@xKU90r;o=N3|n3pV9_7fm0%dl}!BRg}x zls?C?d1tm`IbXF{r7LU}=TKU{kpj-pEG#zkK^&vBE~L#Nhb?0an^!EFN97L%S%(58 zg$IZAfOJbM6h|76@E$NqXhl#eD0VRn?WOhDpg3BY+&;p5QhTXzF-%}tlMqu46r7dSo*uYUjk0WF=^zyT*$xNm8z>AI5%cu{z(=3M~PA5C`nr~&VBmkJ%1T1oedrM8IldOU>_ zto4c(CRE<)>WMc!LxNnv#Yn+~judAYraE})Z9F<7+$c!~+(r0{_F<`aSjQI25b#aG z!Z3r_N3GFGTgWG;m5*d4q*xdBqUd;lwim8EWxPfo6BR3 zz1A}ofCPQoiRCxqQesTc1wnkZOe)|<_@$G$-NCU4XJ`ky^NVnQvQ#?Q1i`r#gAg?% z>0M;~FeehbdJvUZOGe!l9Ki7}F(#BUqS5v%eJrqk6MM~qvk;gU#6<@~*0qNnx-N{e zDID@sctmn!jd6XlO0?h*`Kb6ms6^S17LtRmjcwXtGCwtwY4a zMki2eq~qzLyT)-KDY;WNB84D3M{Jx|;GxZ6A`8Vep76FU>BMxx+*x{JzH9U9oqW`q z(q^#GLyJ6b&G_rvcvR(uv){oUlJ6HvTdSJVenf2o>XnkEhJ(%8F(UpEo(etu2K3b{ zbwSFFqS=OmMC%d=Sx-AdUTiO>bAqtJ+7>{lG1xZ)98pO7arw&?69+r}gH32*PfFa; zjlxvknJP{eYHUR4ca<{z>aTXZc=x}ccHPI|7jS6V{|@A8AtX1)x$zQFbvj#HpWzIF z&ysFBz9fImlVh#;9r)t7#EA`#bEJT0xD?cL&?LUayY(|cw~vXx$;o`pJNDN@#4aqb zDl-$cB;I&~2~`x~I!fmMZIx1bsaD6cj9``DQmT5ztw0-pfr1WwnymkqC5-r^70j|M zQJn{b$|>gyG^6_LasaO4zqH({#!kX3*h9Ri#%MW?t{u}WZ+q3RsrcqA91IG=wGYA^ zLwY|aT19Q0p^au?`+n%7_&xWdvQqs5=JGiMt+h^{V6Za4y-~I3UwK&1zmTG)Kq$dr zd|8w18KW(km93JkeVFjOVV}$j!&rIhk=hi#x-;O&`0_W%saWqD)&&!%h%u98!wG!_ zUMOxTAqs-F^r6;7fuUv3Ly*Z3YT*zMAsgK9sJwGm?-O;+8cmGWc$-}Vz1~%D0Bwkn zfbkJ}ZTGr&W(DQCeJ2X#^scO%83vx)5ouGujs0Er*Uv-fCE1q@^hmcDpFL=Bt~=?( zMjxe+TxgCO@z@1o!f&0NG6o=gdi+r30*r{u=)=82ri&+iWrVy-RSLOg2+|-q+v391dTI2x|9i5AiqC z2-rA-gw~t^i~-b8Qt)b?yMA7x$5|@NvcB;8yF1MQ^U?|Yf+wDSQty|bxr}~JEU}1a zhBkF;d{=nueK1B<3?F$6bQW%(tGRTkb(n@OKQ085LvH!m3n?yiSod(@@e;5>tJEy8D2N=}wL@uu`G?9*5}DIE2sePn z$~T|f3L{@T)D%uPxUj6PV~4J6-jmg%`~jiD0mG3?*zWXu{cVV^(L4I>HJL4~&%i0o zP{%p}K)KZ9Sz2|k;1A7L+Lq1zbCXgPzwhi;1e@1J#Kl}7EP7PA^K%$~k77J6-*70z^ z&1zBZcJqhjO&SC;cD5c z&5#;xyP_+e6t~ND&w4~azkQ&OTSoailDfr(qlv`HI#F^;JBPT%ljEOnWFf^Be|)-E z|9Y4pi3W#Q@bEJl^Kl5K0ZR1|zH*FVC}p#zZ)Lx6)sh_VX=%;mDHeR<{J zOahoYv)VKJ(6%nq_aTEEHE!q{WO3qQtTa3D&krVl%%NVBS|@u53K`d} zd!L%G`UpePV>OwWxm`VaQmjD-ao2$VaiZT9`YYe)^8u#-TvX;9zvb{4nZr!3j%-S` z5fWS0!v->q8jy2=B5>FWJM2~^wq|{y@KQ?>#8kujO)AC&F6V1G{^Fdm0UCJ3KZfI6 ze}B*QMF!CT|M8*PDpcz;^*Vi57WXinH}&+I$k};>*Fb5|HJm-KL8(W{?`E}cq<31@ zQJ>vJ^}-;1UOVMZa4NrT7c=_47cKJ{Eq&H7Fx|?!RKV2+-y!rS_CRs$Mfu?$gQIxAvqHtf9@no4?J z#e~h5I?!OWaiva#06R|E{2HZx(Cjohk6S(!o+p62-xIp+}Una z^v_{dfT#QUGIXb3LTx!YV}F(?)a)ok%Jp7ONkaM*sXs`B&_i-%bh8#Vg`H{*ZzC%{-?Qyt#xSE` zcdzxKnBm~#$Lt9ehyvG;8+{Tg4|x)o0cb?u7*IeqbneUleBF4 zH9cXeyQXFMcUm{Y1(~qQawr=32JXXd0mR(aNURqV&DufeN2HLrCbrZf{xVZ(ER9~p zM3i2R70W@EC{$u2wHk&8QGNzUM!c()LWze#SG=3M_`y|lsVH~zUk${Vb^p;sw?bkN zRWzE;SOw9|Em1&)?vm&s;h>nqRT}ZVs`)?I|<|Bij!v?XfW~TNN_tNZI zp-|c&Nq1zg$He6&^7}L;SovIuV%QM6jnERbd;W$R68}RABm4EG^OryI*Hl5071BB; zJ5s$GXX>B}cNO9u`l9C8p|iNG5WucMXq$ZUfWu?Ungvw25l0hZFUhDd=LO*%2 zPMG85ZUDY6>unTt9?7u#>AZ&6UoB-#%u82mh(#)8(Fx^mI>~cmn62|`p0FDXG7Hhy z<(jo#7TJrd_U`*Efftgm;x;^BS<7D>GBk>d$dpl=bBo1gqu4HVhyufljR6^h{Nmh- zMY@rK0d={X;G?PW*_R>~|aNee{mx>@l zH=~yGvvP#=Uqo^bv@=6{UjaCQ0A-vc!M2$JIMg86c`(|}9T@ngkDv7P6E*sK4&ybl z;dFlbrk$l(%erGG<0;czI8sK+Y2AokwW$JWhOv74DJ!@zE2TL`LbWPcd&?s=@(#Lm zRUJxB!-;5-L`kM$@-z@rXkT4>?(Zty8!f&^Io_jRoSJue!lgwXLIT$njPGfS7Oi!& z4YQ6H>O9p%^{c0ZHl~t;@oLmorj(^38veD``jaFk`Y1^0F1f?Sv9>26aoDukGx_FA z>26@)5ju}5VZ(DsdG^*!jtGGQD;;Qgy|x29L*D)?)OkT=5ErB(hKfz)8&od#pegyji=}jC_bTF*a=D@P7(CnNYetL_IDdw1xO!{Ds2=Na6wam@juyHCI@y6iqv; z22($8FhOS`P|#onH+nQq)nhu03|IR$JZ339V7irA0d6#1Jl#hwvqZ@$luE4l4UZ56&y2S9Zs& zNNmkQ55BU@hR(U;DbDQl5FxlTufb`vF*yJR*S*Lzw9d^@GHw#2?a9Zr*K zX5a(|R57$qz3J{skfzEKxl-L(4`AuzNXJ=AnZBNTh3M-y;RHb8^K^YPN?0*zWn!y$ z8myM-1(@!@<74A3p(s?%6@}4bjlh>QMr=@iAc+Ff{Y|FDZ6cxd^>gLp^v z7>w;d;KY3~hCJ-iStO0~B$?zYMDi0cy`l=61d|LJh3)#rw+QpVpt7sknOEeV>w=${ z4`C0%mE>d1xzIY2hB6ut_UTeul*i)Fy}tKB0ol@4+($FaD(27i2UFRl%0xE3D^n^O znC1xUTEUdvyj0=d`Lvo54j5WHBvXhM$Gl@OtsPbLRt8mR5;l0ys#Q`GzoKlKEAo1x z{6tHxh$0;TNOj9)mAs`Rn%J8Q#8(mHQa9@Hr~;rJV;_Ul4jHT`y@NS*i}b1e8@u{1 zpjjAuKz}hHA$DeiMo=NXj>S{}M<#xF60t3`sQBj>m>qpqbbSX`j|N?n8-rp0(Y3_q zcxXcLINR@?gLZT*9cd>_GW~bd+)`c!t}IwU=}F)THq@Gz$y^wro@s!jDY_;LDl@%O zet=|r07_mpMEvkszvxeO>M~XZ|17yZ0JU-+wa(Uj?f0V7Y?AR4ZXqWP`8kDUV&XE7 zoD}nC5sYXG_L6AwngRRuvtcMR#IRPRN_Mtt+j18%j{Q*I(5AaIDY~bZ=-4bCg7aEL zFpyM`ByG85`d(}uQgJn5G{C?si(ZxM@jlK0mTtS~^Q?-AZ~W0IBpnp8~1TnNVWD^?m~L_la3FLpWR z-)y*-s%j6Uto~uLU{O21Gd7Ey{juB)LY|bZ(db=XLU2Cp1_#=dk?>9}qXvE8PmAUH znidg)m`;+U@4~9EIm|yMYuXf*03JMKQ7ZE!23)ou1W(^fa>@6CD>`r{)g&rQ*U(J+ z9iIBUbxH908jDRv_2jEK{?$^Ibv!0+LQtW}3RDptI-1q71hSC|bwCasgyvdR$(=|0 z`N;5xM1PqLZX#bpGxIYS))+EOv#}Wd5V3@&AIU1a1M4D7?vIL}Z)TwR0^68z%&2jE|j{acD)+llR1hF^>6A9kJ~vY=$gIYz7+5g%OVlg6Az_SN<>o(#%rEqeAnL_@30V8PlX|6nkqg+RhbW4NCub?(F>$&U#2&7| z*@v{M+x`Aa7m?R-gV<>EDu@T1eUIW{gLY4 z*s4d!pyvzUF)F`c=D!doRZ7T0dhUr5v#(g*4x1Ia6Y0H%zPMeEH!+B6{P5KjM z(VWKn5X$%gWrA@;DKh3Syt9JgGow@Q?JX)HLO9vanW=tBaUV=ON+69`O8RLKq1mqN zYG082mF!?O=Q&gcIPY+U=2`5zQ`yRDJzR(TUG1xc0VPs;XC=!;lBB~tnvj|gzsCu= zcENO{pM-`CUaxbxtYzC0&&%q}pp`9!KjH2N4qITcKmLw2#4$ntGXXr1`Pxf(c<^Dq zu2Pp7?cb<$NUF_aAFwO^i!u{BrL}Y#F-7p8$XBwLGh5+1mX?JjSu9F+G1HPTBN#gv z+M4=Msw};|DrHg=lwmy_B=^THIO~j7#^+RI5 zWO}HBC1PAvrDs4f8X*`!N1oLG^`N~k(?0erHLUOBOd{MRtTllCA(K~!syci}<6XAb z)||E|dq6w2oc3KhA#93X_(sT*7B_P*pkp}wL~~vv@T)CWe zQUv(GT%UYvh!rsWvhdkKI$6f8A}0BTl6q99DAwQ*TFr#v@MC@=eOsx(3C^ULvJtkl zl!spFO{jonGpgPsry@S9lq?Q65bxK<`k&yXRrnL z?yNU+NGh(q4xu4-EYQS*nSbC0za|si|Zc@ z#@#znHOC?njj8LXcA@1_VXSj(6Qk|lMn|cHAbb=1ZCb@@J8XyFPu!MyYa+qWwEQ8!d z%*srrk-uIpi>5xX?>cu8lR-xY6;@}Oh7|754_5#~F;gVTHXTnl%Oc#xGzMSrLW69A zUES~$cp6E6m=s+5hXL4)(qGqes+meRF789EbI6v@u&WhWKJu+IE3mF31I#il;0Z2F zAIbMexgwap?)7o${v#PpXnR{TC7X{zQ2pf*^UHXpX)j}-EJN&+(?`7i2lKnkKKEbR zn7!|S{q9U;@4Hj+c;*CRBi!waB|!*M;%Qpy_TD$=8%Ci>)sBR{zmwtm)4g*^PFuOJ z%m@CL;6I=crUghDRyHWomw${8?bOo z0hUHI<;#hvT0cv87QLIxB~{Y&A%CRJqaUL88;C|+EH~2YeD&hKjs4ly#zEeO)=!hT zmIR3f#S=aI(=?wl9~a~rm6DVabvMLWWhCXRV|R4+NG`k9p*AS{}MAp8!uO%Ey`-t4LwcOFK|H_S`HuBB?dh zH58ILjK#&E&|$dT5|b|;*4IA?_{<9l7fW}GNhVac%Am)x^t=q3c5jB;WB}csCTBt*?^UXv{X$*3F&@( zx*rI3rsRn^WjJh|Oyz;ZR~dg{jpu(lqvBG*2oGe=a7Xf`nlLFofLWoiC-FvM$UIH+ z?F%ecsAVL;RDTfuRo1QlJ=27E=-X)FW;#qe=P9bf5Y9zFT%}_XO*d>IGpilB3Um4u ziI_6}O=8a(OBpn&!85;II-L<^s9+t;3ls@yQnB7A>HvH$%)1_ zP(5`lNs%@UXMI0SH+ec`a(UF4)Z~S8Gin1JgF=}oybKZ;E1FSb zDHd}E^_Y0QNf#R?P6QC;u&XLP1zbS_De%>`&L$PQ&yhDUz=fXY2LB>x``H=hT1r~J z0Vs8ez&dO!Ys(U2VcA=qR|gq-&mB6Rj1?}Ye3w4Fkm{K?uW%=iqsxQjOl^G>aR_f; z#osV)0T)>d0i;Krr+cHU>x(DzaFyo_9yL<<*7yUoa@&az9OPA4Gu@KI(JHQc+XkTL zt6Ya=lp-@d6pCcFvc5Ujv?2(_7%sM!W3IAF{x)Y;x1i!5CGmg(i(N&+ zi$xV0l(eDBri>MoRfZ%AzE5Y^GS3NSqC;Tg@xYCW2BKkgxdZa+xaDuGbCi|O3jeK? zT7_eIAN@V}d*)b=B!+t}S2zGEeW~KXeF&zh`RC-OH;E`P<04`|OBwvd_};m4DmtNG zZUg=H&Y|r1H-`p3gHS;sJi zx*rWSY5%=$SHnDKSj{rZ3%hY32wZ>3e>*{L4(Je?x%nY$d<$O{MJfNF%6(#xh#kcYA;T#@oemS%`bQze|2?&|M1`oaxKkLl>uD;vo>od$%`#}~UWZ6-2MQZ#hy z9)K*$IWazDm8@2y)-UWyd9p?r8}3TK2~+7px?FA6{ykxiLz~}Oca)yY;ui_0%FVU5 zswqRvu-6siV@Y}00ftEmVd`7S#^Ig#tN|Sa>dMqBqP3@q%Z2W~i{2(*f0Av2KeKXf zJ@3y>%afoirtG>vdE^X;B|e0uLd&)aHvwL&%gfG)O@`*!((`q^L=4H4NpBZn%p zv8)fsi6riqmIk%sKkp;xAyW9nu>3}u1Tsy7E!@+-|K!zSw)8rjKIj=!_$%2UF;3}{ z;PkJ~0tOc1pw$lR`A2Hb&KD#H%qk$8Ue8Jst7fCRYfJ2*(B4&5eG0zfqysx6c+uL- zkU4^@Rm~PxaE*57G^!qdI~Flu0%LrFxp`ZfS{U_#r?oIjD9)u)Blqh|bxCKUq+5m@ zG*(6vy|;IrBuNg=KJ#aRrVhlWLwGdr;7#^NUtGrhp`x)DAICs8V{ze$`q>1EL&aGC zC!_y|sG`)^+yM0(g+s>{x)>ZY^%}gi8F6TR1CmI+3-n(X&j56FmICcB-MEBCnuH#* zBp%Q^K~e)>g)#$<j*KWB>T+rvuw0|1uG^( z$Fk^^6X_91HAYh@o~T#HQuG1Ud^iy(~eyydFMG+dO`o=8S7%95G%pwlDuYLPoK_<^)?tuk35ConpI30V= zTT-At+mr{TLY_)a_Apk;ez2V@)@YVt@Fb0LPdmSw8mnd%v1lB%PmGPuUim4oVrf^h zL|)b~|KrV@9yMA_*CHIv}uXwDeyFrB}<15 zp2jVB6kLqK9*~DJQS)dU`~JE`^PS<&tkDeAznDs!BW$4#D4%O7}R z`OXaDtTi<5% zs{18|D$prr7m#2QHm7bs!XlB(5B1f(--H!g6zIxu4-q`CX zjn#o{u&8%Zaq~C9O5zD(7x{-`c>nMTEp=)ZeoPJw3qi{bbKu1AXtG>qlNeo-&>)qd z5(VR@v(lO?KgjWhMFB_c14{s4g7Ep?5`d$Lp*eMV01ZJWN&r;=Y{(7A;_8mQ) z^+{k>ZM7s}%t)xC(htj=gk{5=(!pr9sAKffo>3ABqIFXEXL*`)*bkhl5@rp=w0ViC zEIib8G?HbyAz?H^)}i%xq297Q9yl!orZ)@tUufo8GuQq>{dozP%2@FIu^+;_PL&b9 z!=4VD&64<5b0L$w~s<8d){B+K9r4?90YFP;9~8665k)|QqYJH~p^>_SA-}(@)NJA1VOM@U!+5YXN6iPQeV)EBQ-{gvArR(CjPx~1(wtbOX4 zggvpvOqD+G_6M_rQ`~cO?iGBg>V@)QO{I8%`19U0KBA~;Ur*>Wn2mI5Ba>4*JV)bc z8%0zszp0HhmUq*&X#QB*9R+vFnopH*1x^PCgwXkG`7hlHVckrUCzL}WSv7uSUlCNB{af2go?NFN_4dW&Q{%T&!qM? z7+z>ry*Hg&+^MUr5I~C{-&)*nV^x^IP=s%(CdE>_3=B)!NYq|J2L&PmI?2%itfesv zJ{()k+-lwEu_&3K13IpiFB4K$L!3#-Dq+fS4`S(qzCC^tzLt-vN~WMp#KD(Pjbwk9 zoNouK@vh?1R3OJNtcH6_mZl_)>^ihe+}7pBnW@j>-LH$p0>3B$&z83qFIf`)L3Ktnv@ z&>MitUGN6)zrmciJv<8U_50K7moGFJSBH7Sa3i*kIhTblgs6d>f-Vd1o}q8Z)YQPj6EIU zav>$#Aa0HnWM){jg$oS;C$uqMhBYEyD|sZ2<@wUgpP!Gc{KrGqLCi5qgH>?v7u4Ht z1vcl9!G^qw^V2tLMg%YL9y97)qP~(*^>JLCF8lt8E{Zh{H55#wm zcvq#wMAy*w#4tRo%H|!acJKJqYN@iz9f=%#t+dAa20h;F7*`EF8p~`{Oth~JaNOXt zR5)X?9oK~OJ7gMrmdWtHDTd?H1l{203FZ5$r*0Fv_2Y6Z?vs0eZ5LM71P@26i8ER; z)3iy-0B0w|R(t~kstP&hbZj863(-nNe?Iqfl2)SX%D|_fa1kkxsjn5{k?PxSlVVm~ zJe~U03w85zL?lHNNdsf*7CFy zT@jPKB8X*XFyNy4Gnf{`n_vj)xxxG^epM@6U#??T3Dvy>aEDAyDW9D_XGxe(jj2eX zPF;?;Qq+O-Mebuhan}iZ7UM(*n;A1!OMQ)&G3XG!?%THAuLhT?#mdboTkGUknWr#H z5gbr4OwD`XCyQy9>|N0g|6RBS(3vbT`wm8NWf$Q!J;8^B`j-p8F z{6Dxk*;TtufaCS$d-Wg2iz2D#Yrj%8?y=Gxd>Th+OKie24s7FC5|;~PR7ojs>jW>v zPq(GyiT-5dSg6Mtitfd2L}Rc!<8%0`n@sJ!v0SSgpPQ?-n<3;nmrE_HMBQ4G9yqD79Jh{J zc-ltb@&B5%;HuKEG2q&hE^6OI6|*7l=9acg9F;G3O%3m)_>(7=tCCF`(&uQJ7NZrd z)Bp|E4?tplbN*>Vh~OF?Zo*+RYF!Tra~5Po*dXIJAv`Cvi}$n(pB=~7%5vB%Z2I{> zNbGr-58WM>uz&%2XFMXBnCv#Jbs)tAy3^=S2{^)xQmLj`Mf}rh`>9_gwXw{M#r07< zNE&PO?1ybGno_;6m}kbJCbJ6pPy2Ccn&=|M6M#2CI$APU@_q*SLIW+DW+`|w+0yNA zM&L}MOzwlad6)RDQM*<1_2&IOJ|7-fZm&!kZJ3mwXBDUOzt4ety*B1Y$4HDxHrP6C z{h4L4|D&}-bQY`DPa05(aZeeT@qn){1E0vqdTFc5;Qp4-qF>9BexN_On}F1fve-T2 z4(Q)t8*NXpHA8)Uly76rKd||YPZhk6y^ao7hjUranP;OA zA7Dc0n4!N?KUSZ6ICIJ_qYqmj7|NuJGY}q>ETMNR8AohNpP*>Zuv8j-@>ErUYh2BA zy}-i1QhP`PELy7NGZeYf3|?AKXqlDY0KP;EG##(C6q|9bv)sb0iJ@z_ZH;${;_b_f z{V0hmqx}`CdJ53gC>Uo*zFbM)bxT&^2EgQhUG9Wx_&ks(kjv}5bMMNtquM^8e-)*x zPv>zkP3c&}r&Ip%rcigoW@|www{BAWtH9nqWK)&~nyV*$#(sZLdg6JwYJJd^2MF&z zlfyb73@}MjP4@Lrr6g@HP0sXGX~!IQvYT?2gu!sIq}YgboXA#YiqvSs53k`aXHcKR zw6gD4Hg~X9iO?Sow@af{A+w9ni(s{Ie!(8sH>kBi&raOoc`Xn;9z9AK^|d3hh%qXQ z|4k8Rrni^%I7$XgOmgIs*89Q1B0x}!Rj_e6144wBptNqU`GGx28eG$8`Cj_QzqxNUcN^JLFUwT}7 zAb*Pf2M@T2W=7|(%meFU&rJS*-@TFm8Rqb<>)g9-w__=;!s&)3Hreqot63qA>0ix* zdc>Iwa;8ooq%Ghqo=%4feeXuo2-BN&r5PE*l(bX>)(EEUl&S06!b{v5YwSfQI$*59 zj)^4aAw5*giWJ`w`LwZubz)M(u?639)!OK=VQ#KLpgJ=dEA)Q)6OFxp0agleAVh&! zH5bN3Nk>Hl9$t*{U1k;H#x%o7V6~Q45@wRnKX3uE=vU+Uq0TXkU_R%)S%6&?VbC^6 zX|<3`E&AJPl}62Dv1=vgIqh1(&gm35PPb%LP@4ttt+LN97ZlpXpQYP*x}7K5xE*g) zFwFw*7j02w(j?HPTy~3pQqzW?Q*dSyaXHomCPmFgP_E|~fc*JU(J~~!N zzKWXbhRH(7ei?QGX_PnQEwoOv>$G6So0>AiZYXW`OEE)}cGl6so$G9Uzv!50h!>^j z>B%nI^M$r$pSin#p*h4&fKIf(87kXOZA+TGJTIqy2>%DYkk*tKxnY>)KFcH){ym}X zM`*ltsP2)}y_660wc%ruP6OL~Hk3Y#!q7XB21#G!s>T2fIDVo@^!UYi8PG0jf&!mO zfqL9dp|gK}g4F4RImVecNXjXa90Y@6cuF#nfvm|!hChXWn+idZoD_kfOYKU9<};Ju zBZIJZ3x&xoq2O<@gB%Xf+d^7cypBd4$n+|#DKjIK z0qkU^F8L_PIbNqWr2JL!j-8aTbJ3JFC%&?i$hc3I_gbBfAz$~C`McCqhG5!ia9I-z@&9dSkjl?6B0G@p} zqc2x31#wQlW*c6vGdp)omY`x~S_)HhNXLLRLWxha$O!AMVpr>4m^&w?0m1(3Ga{k$ z5N^ZbO@ltJX1+0rgqK!LS4Y*nUXk?;Dz=n#tA=U^#CWwCu3k;%m{;VK-%k)SE%_Hk zCA5Tp$*tu@RHb*F#QJpVhO$*2-7p<37{#Git&gTN3LUbizN8TT_Oz+Gm=teT|{xIFv2ivi8F;z zT4o|l|BizaLECqrZznXR$CcUqpL7VB)KC!w4pO7Z}lQ8 zMsVwkw3%zo_zb%#~sq=?r^u(;Dm@ElTRvCL|WtW>Ud zuUQkObATW`2)K>oNmzY@wC_C{`4&0c$o0Jdj9_&Uq&I*BoaVRB}ifK69Rj zjO>jIt1+7Lc%py`iQMBwF;r-!g=C*QfgHMjQVUaSO156fE>iCvGJ? zAA5c^h89+nVNjVhhzzvEJ5JME*7j`45ER+WjS6dcDxRrLq%;%$>&10BE9p2UKB5Y& zbqmvqnXlLiNTyy^zYUYYAY}<>rEu&Uajr)`5^9SKYlH4S>tlPZN(8h}0EjmP0A>nup zi=11Q0s8ySGCQyicH^_c$J&Spj>O;F@;e&&(6K*Yi#HB`d}M4Bp|OHWZym=TQ0V}`Q+i?Z$Tj+8HN(8^>6Su`GuIIOmV628!X&OWX@6eC1W!7FKt7$^lJ zND4+;NGnHsgk5*2Dys0YqjD-E$$&Ap>#@RMIdVRG-dOvcMR!G$b}j;tpxvy0eP{sZVtDTwjus+EuGJQL|NmG{Uc%G>@tjE?n0VQB;==ZA+N3xnHH~qaCfS zd6bLb+1X05XL+X2B;`?C?>WmHJ!irB*gmf1xcahZn`?476(zBri=DF!d!J&MKVt_t zo{{>0i`s&nXVq;!XE~qFRsxa7>sfXqHB*hF%WE0DJR5IGwzxmbF{yn#BcWK$I^AMl z(V;!`6RRWp`iA9r^-IzxykS8!oh=LT#=xt^zG66D?ad4{=@(Uw;2roytqe-E*A;`6 zCz8*MZSxUI6fgaSevGE7m6k%=mTMIOXAKH}oyR^++^vMsu6xeGMJ4;^mUxIa=FE7l zwgzo;MvTnQt!ZL8a#^kdj9Z$dN?o0^0w|n%x(5~bJEz^Kc!Fa8$$V_da`uvCSfp$e zOxaWd!wn?S#+*qir)L~4#&)04mj#J^i;}dKE%@K$=bvF(>xjI7G20+X>mh0u^kfi! z;NDDbN3i)Zvdt;RSJc^4vyKYM&SG}PEicGjeAhrn4n6sG|OnbdC6cU$r81VL2FOO5s}PAY9hTSb8T8ZyFFP*Ase-Z ziTz$I)47;SwHUX9%A&reVQR-o;u61q)L?DO8zhx%QO0m(Q^R(X)JzLi`E#<6X}nAO zHODB&1u(4I(r(CDD!gNp{e_OwVOhaeq8huZA+S#E@o8_Oiz)$%$DB$AkGV-nwEs7l z>b+@y#*(O6 zoisG%gV5eH1;BQvAWg@h6z5Sb<3ZHO=OIl2XEHSD9-`q-g2*4fbamT8_h^e$D9KN7 zkq?o)W9w2-I_pI-27$DNoI8m?52Hb&hgC1@0Hew)l}key9W-@-<+cvH#L&s?!CZxa zx@6BXY+c@^DYK)}%ljT(xk$EuU_B@IM>rB3q~6>euOA+unLS%^aHQ}vbVSWKN(A}fzcSK9`8$U;Y* z>DE5lLI7f1?<#jwU$v)0_RPYy@_n%w+lf&^L{r@{E|bL6cmvm;$uxenO=hCOF=Df8 zRWr4!nLpKF7xMg|E#{eMRXd{+eTh6z*4DjcDFe}TyeKf-IU3}DBo@D}dE`vri^cx7 z8k>!ILZXW8orcqc83%nN!B1p>qq+ANMq1bi zH6bIZV9Im|m+rU;(gF3IX%kU~1hFdgEknO#6}Dr+`G9HxOIngI(U2;Eq}+rovg)AR z?!)*5SOXL)5fsyZ;do}!m^1r>SpKHC*xe{(MsAJF7e!bsjL*!V8ai2u-ExDL)_w6gNQx)@mYdPv-P$UF-+DMmVVI_dKD+BD`M}s z3?U`E^r#D> z^LFKcp^9_I6&@)MgkW^~J_lx{S819cb*%36ulC)G`)!PRk-xe$qZK7pA{H#xJL_28 zzPOXWoaK%q|H3%q$JPs0nL^x27M7O#@u8qltjB_(> zU67@`k*Ybd_*CkK*e@Gb2XaLb@@cetBwoToQwsC%Ed66+z#{IIHHMFM_0h3FSm|0)yEFmI%LIL2kpQy{e0|yTIT9gC6; z3Gu8am6-?xjT_@qdJg@$oauyJ`B<*#9qTzNC(WK=PC#~&qEdw z7OAaGi#X4Nt&-VF(8iAi@OF;l4el%@Z8^pYG<&f%8J|`M!l6e(k9$~Kq>ou9=^N7Z zbPw`Vo>a}{BoE|8G~B3c4UMIEx+hrcWV`WybQ;jfn^In~Ioqr{0t@qOEX|$!MfDBX z9>kQ*WVUR4vM?T5OLea6&8UosCda}K`(-CVr()?lEAe2P&7@Hj9u&qCv!3!KxZ5p4 z456U(vsA)R{>vS!7;nt`AkCXG$=)Ga7strZOvN0Hm*cutHIG0w zn1va0soHg`c_qxjl?=n3syQ;NQ~3LTbNRiQheA9P=TwYh-@IYb^W7sqIdtttavr%W zZX=TnW^siHO48vu&l)v>MI5}kRh^tyP&%2CW~U#_Fe=;!x?nR*X^m8l+i2t>Pc}Zc z8Z7u!Yrivt@%*YrDY50%#v_z9(u1%> zjQD%XB*rP^ej?3;zNr!26bEwbayOOzA^<(?7`cy(O4{nAG3=sHj?zu&dQvDy2`4z- zLpd@;F77Sbd6d%$`LrN=AMVzWE2CLd&cHCan@dd`OJ^48eCOXscTJ>!yxHegFj%qT z*Qmd}0L`&--9p`;XfeoG%T5Q(rGx-+`rM4dI8O3atQ`<46UliziF%oWb>S``7MQGR ztcGrk_UZGwjP%k6=lz{<#GQnNqgp=k%%>++JL$G9F=J9KvrZoE6R*i5kI0_Pm0>R9 z-CW6gwpV4!#%{G!cJly#?Y0r@&1wW0=kDGtI@c{hThd|;M3n6EWYLV8# ziW*?`CfuDNwVo}feG<*XKo|oHo6M7$>yydc#vDSU=B|Y>uz+6{0QyueLnX7^Jl-?p5A}*@B*E`#Qz@sU-;L5{jdMe|NYv5 zH(wld#~b?MjQ{1~{`nW}A3uKi`_J1y`1!L>KYMcj^6|4Vr>~#pS5NL=yndQ@U;gsR khadg=i>F2Ji}QSR|MGtO^>bVrz5n%B}Vqa%!DFYL*`SKv8EErl6|I< zy^MXbj%^xam@#9_zWjZ^|L^ns?sLz1o_p>&uh)H_d+&L_-tPlU*}d(54~ew`>9E|f zW*XMwT7#?8RA`X1Gw#u2`xp-YGKEVQOYI^*iu zkz>*yZ>%hjp6phCW5N4N1-o|pASTQq!idPf-7U%LGh*`trkA z8N79N+!x5|ec!6G=_XgYaK>`S7XAK9Mc+MzNQB+ls(Lxf|I;G*f48>=Sp3f@ogO@ zjF>UYG`XUdZGqv_)cs@)bq!VCT$6rtZD#bTwbbli(ln#5_PNvYa|DfSl9F^ICugsE z{-AWhAkBPc@%KVs7NhpL!-wY*VBDhTmtG?E7lfo6 zxqEeuDxG?sU+KXXuF^XgpSG7j*kX|$y9%G1W~_kP^-f6T&fI#lQ``3Pwf)QpTN)S} zYjgWerTP9-ngP%+iIs6ONlcHw_b z6j=^-IP5}+(3F$K2P}#Sdc5beS`Lnt_6OZjZpSn)U)s+AsE4dRC?5;5aeDcjW3Ool zyyfPdFE35cxS$&O;OW@21zT!m=KoHQ+RS3#@F%T`E9bOF#Wgtyt$Micdp_+(G->2V zFmlD1x?oV}4V0jKud|(Xn}S=M9SwE{-FiZ#3f)WD>Q{hWaKh^1|)N}-TD4*Qd+Cdz){h*P2&vw z>1RgqG2bECH1Lm<f*N&2PiZ=Ql#=R;Jkc^Ih4{Hn!PrwV-n=-)(Lg-45D%?@CxXfbVI_JXC) zscCUtY)89WQ1@5G+1FoV3rM#GaeDfK?=@8zNIsN|e5%7d?8u(JvsD6f#m#(u0k>wK z$gcxpbyc)^yCZNMLrT|fOAfGtGt3UJi&4Oit5}J~+kz~3V#;l_Bg{2a z7n*hE>E1I>XRDU34*uKGaeA~AeuEM|@@I7Fg5_;|UX6y}=+V>*fsP?su?L*v5I^)z%F9L$Ys8 zw|_7Q`oVB+ZCtVq&WqCQ5pA9&#As5&=QTSnw7qTd*W~yHYmomllS$Dfq2_QuPX7{H za;zC0ItCV}-9SRGU+i1;Bf<2fVoEV~8)HVPj-cNw1vT?>5FKOXJs|AF$F*&?$b#-E zlNhxY9Yl!K$n%k!2YS+evAM`?`FlmP!JRl+ch<@2%dHV+hp8~^{Os^?D*wc8@rJ&z zKLoQznx+*&3Ur=TnBL+XTL2tXcKXUmw<={5o{(9g>3;J%wHqHRtPY)7QUUGxX+-n0 zVnJ+RLVx$SHKG!;$CI&L__125B({yZQ}cOMhk@QzHa)oRV+$ z@4#N0-MgY9=N7*%VIa;6TY|zyf1*}TM{kc!VPPfLH79{^?9K*Av{h4PW37_6Y;A@? zBKr34CPSx$?yU6CP)&aS;t7<{SG3DmB1lTPLNd03y9$s2Net|yZJ#eC)uD0XeLZdO zocW{mp0guE(7 zCa4NMXXBA~a(dy(H<>!5>>NyCI&Ob{LkJ=|7>e;CW3@{ zJxKk!dvsj(NMfsuEX0^M=9-3Rz&0$7-EJ!dp z9l*rT^N*RDf7UDhXb-KQUac7>eD&Y+;Cx8Y5&tRZLbKn@do z=o>;KkmK87K-lpJugDDZ?7_Ye1=*_4#A6;(q;sKqB+~ff{>IIqWx}DEh)+X-GO|;z z?WUw|iy~MVBy65_Dt5{22%?uKB0_CBLda8f@nHhM)CJo~g9ra`z z$Cb|4U6_`Lmj@}vmh}XqI7 zOTD@>Z64(Y2bKeOm&wb#u zuZL?*()$|nfxVqs1*qTe)C~9u21Om&4Kzs-{Vo=UcEv}=rzM6C1^gyXqf-ztL;i&7 z(z5v|xMJ^7k?m5P6t^l{%A5e4YyEbL);O4M&_nk;ThnMIQ;QCIfrQ$Lp7?^_AZ}2i zr~KkIV>?)#Zn(W1oZ50-gsDf1n%bidBfC1>6F(soImm!QkBI`xAc0I1p=}>5QTUkD ze35paF!R=rxOQJW)r)E0a2#A#h)CCf*A2CP@m&2R1^LFAS^wBNltG<+*hI2a#OnBx z*^^`LRFP zss}TcZ_i!Ezl+%?avl_K|7j+L@id9fTHiw~21?h&TYh)T+&K1~cE%SKAd)8*>?lYC zy<+~RZ9}X5#pmO!&$p1ikKIY=gciI5rFv%a8&h}Pj`V2-xJ)YL zY`k`Pa$Y>qWAWrZBvzIiU|Tr9xNHRMR@ddiH3iG}{{2||%l;?cw-oy>10J-U$ChMg zgRYwQY{<;#DV9WfK96nLZT;iOKmNVdohjxzs4vy;j$+RosB_-nK8 zzzLx?U3ahAb`6&{x?{#5rY+68?u#E^%ozI(n-JLgbGjdLSpVpW--Hp1mGj1r3mU{f zuTdT=k=8-XPu0NA>fyNA)@)dCk@L`9tDZ=XBu|hqHLQp&`SGP=ea_oW9B0wt#2hHl zQJ$eYjQca)3wk6A!rgrQ4CXr+a^jIM62d6^*0GVe{4rZg%k-}i5&3rDfjWl8!)Jfz zEu{u$M;?)Iasa1NA?X%eYNBRu#E=+!t68e9tXn*%u^6>})G=}n<{0^GgSCw}BGLYl zRvBxyY9WR3-?UCu4+Qa>nGc6M^lgFK{NYoaa)q?S%Hc$i(NJX7MdvTOT6;YZt$}N< zgUiYIC-v*6eZ3x%zcq5!S=yt$e);?|+sMe8)t=kQc`lEL4) zZ>qJluL_`t0lJr3C(~=0f$I{1uF`(q4H*(#^|fW%lzGKBp-R(0-;4<2Hp_CElTgIM zwdw4A>Fptwg3a^{d93tvAYm`IX$N?Bnq$86Q^X75bw=xIykWO*MGmqv@l-(f$ZAEP zb(JV^S*B4d5*kn!0iE)tuL(Ip9Q!BU0pxFm59pr2Gf(VhgZQRQV@9#xlhXFUe8<4Z z%xcy1>a)BPVIXpJCcyHt3QO>9p1DyWtWzYU7T%TQB`fqK=*=TdgMQxpoc+DIBAoPc`s=&RZ@WNY zauK-G`E~*CZIOS286xF&am zP_-a{becEsX%1Bg={)g|d}39x@^40my>7*x9MOiNe5;oYVc*=w|9CKXec_u}@f#)O z>ZpB(MeqmPdk{@KKzFrc>H7y}I@f5=6w0))s~khf7X)gN zD$7^M$OK~3kM#wdbGp3;+*-e45Ll20;uKxX+m+6T*lB8b_cO0@b zdVuuUgKWt`n4YAe(ssO#%r&X0cQ%NTevb3*!eCVSy$na2e}q$$Cj?rS zzkSr~S+K9sb#mNu)X40s9ht1X+B5PCQXj3Budl2*M(Gk2T%94BsHK+6^$<*T2XPod#j`QtTbr(%u?IOWrg=e__r4Y2m8>!L}u#0GlTRu zAM}9F0Lny9V>5e@%IKCX#*1h8lv}4Oa&JwVOpDytOLY@E!Wyu zsO!X1Ox#=lmbfM0`4-#fsPcQ8ua049&J+HiHL$Q3kLDnL1z-meBluyWDwgtr=D{1v zi#Qm^3li!^?%sTi{Jbk^DE;n|ikrQ~uzQ4ZZno3nD6j=s&&uNM{6mvcE|0a-<~DOaEP1`)=$FQ+oRX z{W-b<@l5GKNz_CA_G?7Nc=zj~(`8sy-s6RuJwp+C!m+PmJi`;D!wW*ou9fCf9*_Zg zdmoMD2jbeeR)nGQfNPDDCWWB^JIKcdaUPSmr)(@X6A!Lr8v65x>p62G=xM^_us#1B;0Dzt>;p#GpljEIy84WE_o1{sdqr?t2 zkD(d$;sC-ZcQhkn*=j`eaUHaTM|fl1?0&|aXz%Mi-|xcPcmoi`Ett44g=cahA0j@r z$t-L>ELl5HCCXQDL@GvE%&%_Hq6G_tn~P=ewn*bqtLEIOUfV1`(~Q$#ZQQcg;Mo8) z?LyPPzX`M&N#7tg}Ub${=;?zHd((ybH?Z z{V+FA2o2xG4!qKy7b*xzuVETl=t%ACux0x0u5S(u>zAo-wE!H&GJQHWiZAQHf)A0e z&cM!R9EGQ^>_e)f>=p!YFGJT>1u6q#XS(&j&YTDJ7AHK)SQ;&U?(X)is=o2aVaUap zz8V_Dg=XJIHH~!$P0^+g7hTmafjTS~7TQl)F zuXT?s?Y%eq4zvlyjZ%u}vb=1j0;(>A#YhqE9u~~4)%#h@k6Z?~zh=QL9i02M^204& z2weTeIeUg*Lr+j#VmH@LWQ2u3$GeDSC#~(~m***8DAU#Ocwu=V)8saG^Mq7eLiGE{ zxCKhD*^5n!@@3>hxa8rr z3p{>A9WPcm9Nj97!Z`6m-VDFS#s{~uMz4-wPptqy@g5;h3qJ)()(x>P(U!;;NS!}b zN}1RCR6d35_z+vve4D5arVF166P9-MN-fxzXAE&mLVbf1ikECr*~=)V^962V7V2n* z*HsV+B8`+GD5WSFAXq1e2d;wXUl*imUY5Iyz0>z!ZJEu{61fS=8+Fcae6;>#&lrC| z_D5{m#eSZg=pQEeAi23dEa?fouz|;gk1zm<2Yw^G!`V`9htd-w_}lAO<2uM0%=dOL znC=@lSe1|a=$pCe-`wjNHxHgWU<5k1=?_u9*z$N~%;NAx@qL2I-gJMBLWG0S=kSm4 z%lxEC1IrAS5&?g_@fGt;+UxcFMI{ue9B8ofG))`Q9BbG1&)Z9cJ)v;5VpBWEXLPgX z1e*B{{TL^?#~ohcOJBjgIO)M?9DZbd3HxdD2=^M_d0&_`{lbOBYMiE5bY4@TeMl{{ zh%R&zMp%FSS(Tr^XqLq+Jt5mYgpppqki8-cO~ADjgpFj1SLU?54HJ-`?A6=UFi%c| zjOOT@3iJPi9&cZaTB#}aA!~P!U_BW4b+uD3Ts{|L=ta!d;kxvIa@Cb8@(z`c8DZJS zkw=8NK2g^txbu-Z-?4qwxBA&1%aIN18x8f?MCNe9!`&zZo_(@onkCJ+jGQAuCa;kS znWS2Kvg!c`-0{}rrCyaf4Pmb8vGz~Q;-{AHru>dO^E@VyyUI$q;h3(G%RymW`5ZOp zkV*Nzk4Mp~WdjwNPNXzW`;W33jrIY}-f#u)A%>dkP{d2G88p|5 zycUqgvL~f3g>c7u3^go64c732{!D_d&>w$)G6F2I? zPx*Pn$-q&rQe(`D)pZ2DZXx?-O{0!lV9iR#M&+l*$d@I|AM3^D-Oj>&zy;Rjh9u6B zzVMjK<6m-u*#Xzietu!6mehj2s+4`_(s3VY6}KUxV34)7PJZI}oE4q30Km#N-PA)99=8 zqOLLFz$M5zSS?E7^{lYx@I9j9zCxfuw{UL{5UoUKReDzgw7qyYxxLLkInhMt;?Q40 z$59C55%?7)BfOdqbBrZKS#9^3G>Fv65d| z+0ozDn)End5fm}QJ6dIvZo`^|u^VKi<1icHD5jjdEI1(yMH)`h_&W23QhJ39Q-XE{ zClW9eyAWWS-bX@UN-kG$OL_H%qv}- zV(w=|AGREFFf<)K?xIO7MTUA%`qq}u4JV63;Ij1gn@;*Op3KzetprJK_-r?KTZ0|X zjwCTM#H5EkM)SAZ1PB8lG=%^ZOM(=TjK@@R%VETg)ZjmWv^th#@5o{MKj12vf42wd z*#z%*g4)F*jdf0)FL_D)^rAj`)u9&Ln|_e(>k{24)4Af(?tnK@RA+kM^R|5bcU4WX0V9dMLJbm)#mJ%Vb8B z1wAf|TV)2-yq_&DLwVarOHM$`DsnOBLh4p6-pCCJ5aN;)&P6-CO14vk5nk#VZQad| zE4MtG%3N>39clLFJ(*|@%jnv$%_#FCYnEeCpzCZ%7{s3aAPnqpI$tYsDZ@|<%LvSc9Q$an{cb#L9~b~fZtui@Qg85#t=Rawr$T)V zlK#sv-Nk}UaI&9TBvyJ6D})wCj;DqYG2Gk!#0o4GeHDaP+Mh9p73%?8sImuc?fHY2V`>laDP@=U(NA(CHRdFP{I~nqAb3V6&jy}NO)qAQpp*ZWhe5Bfdynk{B{OuC z4mlMQTA;ytn^!ua0f)Iu&ZiHwPRkxRD}D&JqZ2$L+qs~Hkp?GIfKhUJtNuktCwB1A zFH0;s{a>hs8=B9)o=&qX8?gw6#fME+gr)PW9bec{R1cz!K(-WTQY-UHb&W>B()qDP z(NKLq_rP{mZu49#|`5d~Assd0g65c$H# zle+xjAi*p_q;HRgqN?-pSjP9E7u9fm5$#D$N6w6MGEiC`vrX6}-0+V}Oj9Q9&lVH!H2q9S{5RDc>JBKT0X}=cU zIB$NMt|Ms9MEcJ2K%bPj7L5pl0CGxIDYPA32)ytj1%mRnjgTRipLfKS3xBLFmu345 z&^)tnH0uYYbgGg)sJC%=!x5|tenQqH(%=V#+3jA4v06ZrmFK~$I_8 zSseId1iDW8JgFD+o?}yBpJlShhJ_(Ms$$XQ!JBrQHYwt8%OH!~!eBCeY%e?es8>kI zWM!x;B`(y2#32_*bBUL0s=3GEauG;pBk?Uf?d5xGhSD|IN%8hZ3SYSMjWfsdAM%(- z&B9pFOl2mzR-iMz*G9;w3l?8w^aEXZ+U%5K;Zv~j zynXX^nLRKkRIsF@J{38Gv!X%_!C?iC7Vh;K-8h+oJn{`wxU=Sb7A_pKY!xaN-7rNn zOX(Y~tVr^M85}y83@vZG!F>t?ApnD$fUm6G;oxhVmx9tMz~>&_)sedsgK&*o`i#Vm zV8}J7o7NDKRWWBVK{)_s`0axR_M~fqndG=KcBJ<8p2zSK{Bs zoTk&NonZZrT{ylDChQIJq%vUwHzN9Pt(84Oo7| zfW+xV6wyauE3w;_MX-93!Q#G>`4@D~E!ZbK8$3*o#fwhxKm9aHCE`K*8UvUP_KRac zJR!*+yC8hpj$TQALtz~%=6#GM`?ovLXw0&bH3frq^-ZiNxT7dk5o7Wa+et9EBrc1T znQx89bOiSUe}P{C|9PXnbCnZad;(u<(uySoG4X=?gV{Uj(hH%cqQ zeRT)AM75p33KGh`-iQ}u58`*N9f-Ey1=GHSc?OhS&W;~&ozVM>{i)H{`U0`8?(y9R z`1lIs(4gf`s^(7q1WJo=o0QL~#Efczjai*V!ut4#uZ0q%2j6KX2j7>FzmiV0Z$O9b z0=$!vui>{sdQqd*NA&FZX9?QhyCqq#*LBC7vE_hZ^NFoI7FaO(vwfQO&&TGF11x+Q zzKO7tp!rPW+Bud(8?z&KI4_mUMna>U?|ll_zXZT-Nyg4eCH2$xDc7L9Y2$?TsX@{! z$fvFBBSv!rPkbr}NnpmKwR}i#SFPSDnMC1Ao{9PjGi`BJ36Z)~%>wF4>pOd3Ts02H zmTSw;ot5hxP4tcW~uYI#$~ zqjk8k)E*rNmoeA7Ly&2s>{|)6vMXpu%2PFF0^JZF%7w}SkxkkeG+PU9voS#ek$JfL z+RhS^EXPr5>0n{DlO(q@7*dGNpj;gOpS0RB>oksrAbAJl@iU}!G;)Wvy-oF=X{9mj zcRpl$>jzrRLiQ+PAZ>clzJ0PH7Wr%(-fVd*Y2-Gvt_kpgt@ZG(&JXofzGC#(;5?#C z!zwC!Eg_Ltx4Thp0GD<$JaNJD7v5J&miyeX#;|!OA|4%MUIMONrf%*?10x14#w^_1 zmiBSG9jRS}6U(ugsv1Id+UuR|jwKuUG5ovdw-)QG+yT(+VJXhI*P@b_j|MoRO9OL* zpFq{>aXNxjX9)*WL;=_=HA#$~MuybCBz%IJ22+lyN66gxj`JLNJ8#p{Hycxui@|zbPZRlw^EQ6*^m6`zLQR3pj}}Mr3>H+ z_ypH}Vj`U8D)6P(JYCr`3b&Z4Tty@b(@21n^m>^sx-V{h4Pe#_X7hDBqJ!XQ4R{*Mk{ezG={HAA zLpPr`Unja^XB*}*m1vseb3g^yj*MPD>PZ_ZeSoN`umTV^!^UCljfnIy*B#u9trR6nHRf1TRAIP|D zn2Ye@?JEcsA*|+yA-{yS<%B^v_yq-oW(4FfWmM8W666MjQS`_xc3Ab$tOnvjv~rc% zAG3-1(Ymyt1(op~x2$w7H+$F1oQ1 z{%%ui4k*vWNb>TF!YyPF%%Fk0?G@vBv?8{M`Xyu<&?D>{9(BEQ>+RRzwaTERa^Qkr zWiNPQ2?Wkq0_yVL39^F9r{5kE@0x)$Z*9ZYFfYEfvJ)02GLJ;FFS55E+n<4sxC0U8 z31#UWA};f0ix(;T(_ZP4JF}o~l#0_HFK*ZM1~h4AH~d z2EA!0Ej#gI0OUWuWCtuQF=NU?HuMT$|HHRFN3R%_c)ws~AXcnXb(v`Eq&D`TLsX-r2#aTyl|!qn))Jzz|J0ePa;#P-&40Lq)Vl=kK4G4! zz7H*8bc9Oh)=%;BTtPVqSAO}H69(oacR8l_XwB$+Z}N893aDiAA=|-)&)|Q!XE~q@ zl-0+LtD-pTUMVCc#Ctm#yF-qkiRf{Ob|8~o%TR^cB96rnEb6Jg*9Tr0^|H?uyHF~R zt1EJj)^2bNDH-rw={JBZdBRq878Vm$HU9#cm`u)Z=1VubcI=X9yFy|^es&8RoEot} zTU;Z03%+v|E_z7pV7SWzi(~whS4Lv4a1^Be99V;%fUuWLo$DbE)hM)^Q6CDJg!SF+ zeZjmZjtV{kyH1;!gDynN(i7ek`7n?#q-WtHB7@^VY^_w9F>IJ2chuC>d$pd%?IfGL^;*VS)>+25JrWJi=H5M z9q>=&p__ikvFG5)tduA7ibhK5#qp*S z7G%o6*}{^n;MJB|_Z|?HcasIiD;1;qnnhi8>4S*b4) z<4B1mI44HeUa$)9@_(MRjDL9q<5)Qqx)vY&pD)mOeQ$VE8aLhg8t>mTwJR*@clgTp znB=>A2!3AU!PhnE$E2j%frju*KG!2=8h8zx^gfanj*d}`IK@J1fISfaoiBSkq9%N) z@4;vd;9B9O*89-IUFVm~m*;rir&*bUQR%*ef&`)B-lUpXVRDgI9A#v~L{6UM9l_by^E= z(Y{;)f98v88`W)`}MrWYWtMFQE2w_>TnY((#@mKZss)e5jq z6MSX{#Zko+(EC{#_)9_!Vz+tl86I%;Qyl-lAe~kKY?+GQ=PZ72EPjx22fMcgU(H%j z0!HDE`K!)Br}u8@$*yY{<{i#Ni%*m%bsLA=Uu%G zX$ZT?ThkCeXIk`VZOs4+JbrV|=QU1G2r5|3Z<8W3im66qYpr%qL+fv=$YE%Jcb3r? zq||Kb?jCLXRhdyEu|xqtvWRIuY~n!BZ{E{dIA!@oZx^$1UdAO1aWmR)LTd?JvteFc zp@{5iifMnRvtA0q)Fxd5#_AGNz~yN3Zh-hHp5Pd?UtB@oBz)EIVmI6;jSA&wWL)@P zaZ%zjfC9wg6=KLJcY0M`u|kSTh}5p>K_=2x8E0tEIj~o%^Z`U-x9XU%n}5B#ES=Wn+y5#l z2LmG>tKlO7J2IME>YK8#G5NPapFc+*9F=}SROr~H4ulT+oViiM&tAkq>M6%ZjJ3R0t@0-}I)l8}ffASgjvUKI#c zP?|KUNhl&s354DfdI%6gLLfc)^L_ts=C?C@XZGy5&vWnIJ+tRLcL51fJO1~Opk?k0 zP9LhL;~fj06=wXTOlD(r>B;xe+km=5+9@8M??S&DA!uYvoyDz|uY#geUqva?*jycWu#Z zzVt%^t~4qAv?Y2vXu7<`Z~e)-!8$4ibTg{sbw@N^Vxt-L3a|$xyBLkxiQj?Pr?msW z7a=du`EM^_7h#X?Zt0eu=Hlj+=6?cqT$WPV@AztH`b>b*i_*S;QTfd*U(Hw*`i zdjIzx@ZWpP!+#Mm3J&eKS!rI-rOuwTjr3W{a3^MBAz&3)eOFh-(Y=e zZ##GMW~{93(i^*_u#B~kr!SvaM>tnEL z8oxkC8CgN+Y+}>U_cR}0Jv|QrZ}AWjL)pa2ZI(C7IV6~0L{O>leVvs(nfV9NN!){n_Hc41STI96`h>Y z(F*?uuZCnyGn2cs=CpIR2Sa|z8*QEKR_`Krk;Q1yRB?d!%a9PC{~0tEhh(eXbukLR z^74PDC{|tioSai2ra*7~?+oLC74%LbartBWP(hlt)#2nfg6LS4FlV0{&y#A0wlZX84JW_I9d)hei-wjWV~Lgl;@S@+vBE6ULLi$! zR%})s&JtpN1oJ_+M8_XAz6I%Z6V0lQ^1@=q*j^v99xQydr z8?0~T_G<|b6dCL*pgqjJODT%4EY6}0wJ~+%CC#;0xLs~`;h?s^_&v3*0-`X+=02t; z+#%?=fAXau*-JsB(plTS^j&Q=gL#p6S3)-a4o=vbIFGoNoe*dcH!n^8a?MxHs^xT4 zrNT;QcnZ^|v#_Y|_``o(ID1JNQ@14|Pj`k*G_$8}-!R^am1+7m&fAw1tn4s-q|Mfe zxc&UUf(GP%`)+LB05Nok6?A`+x#_0gBlxAiyCZr+2Gj!7Ia*w@++S1YzL9nNttrch zDpvoQ&j;AJjsS?y5jOJp z8*xO8=!p?oHefA`SY9UI;-I7r*JDT~94K^wdu8=Y`uz-+yxdW>E-};qxY66GZ zdq2sw*3RqAC|@#_x`s9s5(4h3;%XqeH;*p-(3TNn%2eD zRw_acRHC$_FwU)YI@Zx09}|Ou4)J?D&!L5$EjKPmtnD~n_!eHcXH`xbw6Av;edkP` z;tz~2XJ==V%N4$2GuxEcai2qJ@of%Ww?2q?q|R??CETFyS-&Vf9jn;fq5HtY?0YCy z_eM~n&MScPE7Qt2VZTO!FlAcwl@# zzCMQ`C5jh`m5g|XO?$+GYk83ACfJNlUgH?K5r6nV`6-q9T$ru!5S-y~J!Zu4IPjwZ z{O3e~ljsnfnvlL$(4#$NQUw<+ZaH;G`udI|E)?)NrDcqiZBy_+yh&n^K~RFTgp0o-AO; z0V+>~ks%)=%bg(Ag7U~;vk-pP0_??(nXsDUB!BWu4Zs;UqE-R*n0PWePG**h5zA6# zd_au$RwtrikLbcbHL|3Sn0v;ma-gnO+Tf94iW+!U3v!p<|799aevcGd8S%b?nOuDBOr7UJ=x zEr$<&5bx0_mGO(em|;JVrfk~kA;BK}A%^rYTNfeGN*5<@aGcg7@lPi)mO$uEGe<+_ zpM=f{U3Zsq70t8kQ02r*USs1KujCpr*ZKxX?30I#7Amf5>d?wH z`4Ze3>b}|3o<2;Eq3IYgjP3VtQ_T9yX;i|2FjqkWpmJT2P_?dzBtGS6N+YRzrIGt0 z|JZD33D&Jo1a>^+AvuHxDK+%&|{uF?Me8iJ4r!ya<%$Ty2 zHZHR%IgqRl#3e-|sLm##RPr72V8paJVrAaEmo3RDd+~=~TJ3p0P~h0RQc8HWS~xLH zp7;ow7y}moh8jqst_M=&AD-`qs^mpMn!J)s+jKuKukrPSzEwSw`(hKdYJrJMoOnNV z}m?k@(M^6n--j*2dh0O`uvve37Q;vS|^6I_#SW)d|7b)&3RWI zEOf!n1kR%rxG}`4Jsg$H6k|ohfHh#E8bVbt=(0#tV)^;n89q1f^_ek|WC?PJ0h^8q z5L=K0uV($?kKGwND*bEb?SZ_Sbl@AYJPY}1{cjX~_;r>>)2)al%hvPLc0Xk1oA#|Y zYL70skiZdzR|<2;w$R0}R|MHr-(HH^>8Yw|r62vXwYD~ZmeNk4Ysae+lhWE3EkA@i z+hpfEX{(YZeKxc=<>AmbGi7XNZllYAusq6Gr2UU|qoX2yXjNg2$a|!haCLy3*~vAj z0GSC55|BL2!B{gtMgCIR#XeTp$fNbzX^0krJz~D9->AE@pS((Xz{+wcaffAHn1t=Q zOeE5th$p2%HT1lrIC^8cA35U904{R$-Bu20DmE)b%+?knR!(VQ^X_wa^eW-X5v`G;3`+g#Q}SC)M~g}D1=^;=>UGyVKE(|j_GUS`ckXfDbo6jioiX6Xhv8)QGhDTii8V`_P7H&8!c3EiN2)Q9Q0sN_f=BLT7dblZ@R1qQv;IGn9{ zKVj;zDt_wcnzc9Um#?8S$7Qk2m^Hi7CsAezu0nh%AUBJq_KR!Yt^ZwjaurQ^k1?{Y zB8M*xk<>T8`2&%#t> z`|p2!I~-OEY1mQ`ZAm)pM3}#SZKyxlm!T@b@#9!NclDzF%zVO_P`mWplH@1e9W2A` z)B8C<3hgb}GO==!{YTCpw#OI~jO~og%vXgW_|$yY2UKIAHEfJvy!Q6D-Ppy1;8ji4 z^-R?#eSgrhy?j}mE1zCOk^5!iC)VlY4lsNY{LKkJ4hw(XoNu|e4pK6lc{Xf4Jvq=2 zbZzZ^8`M=A&~UVo;?kQ_Gmry%Q1|-)ka~3aMSb5=GjCsp+)m)7^~_z&n-B0ZOKH1S zPBl|@FPaza{YZBV5|uAzxP6$cSE_$xun}w!nlQB5F=LVHu;->YLORY}Cz~#{&Ykg0 ztx|U(oWqH~Cme9X?T``UzVCPpa@&Xbu^$(Hma>+dSlhgx_z@BcN9*3lpXaFcFu?b_ z>TBaeD&jf!mbx76d%FQC0DR)pZr>Yr&U-St12=2W&+%A4syv>zGa^N^M z^wIC)PeHlIMb{R&@rIe)*A7J&!GD+9zO2Yt8Ym^6hCh~P_#7M` zJot^Jy(i}QIMU|m=dHvpJr#^PrrRmv+p$mwU6vK`LoPP2#Xi;FFV@V;&iqX+ zy)cD=-aK2F8t9*&VLoUW7vQOThuZQ6JwS@zm9!nlIJOjYb5gQ=biM+)<}H}3)$HYE}&`vvV|-q4y_E7~ct z%plAx++b$p$v?tgBLr`4VX&BSws2}FdwA~tvNGi1{hs>E$AL?i=9_$$6u#z;e6kbV z?Z*5O8Sea(Z}^1xBD3nzRfqLJ$d?;{?r4eoch$k)}A{R(CaB=cHwh<%oZkUUfD{pW3~q3 zji>rk0~5(1gJIgjB^#6YE0MKPsV48CH6X`mgX+8(xWQ)r$;c{#_4j<=-LK^oE@Hf#fvuCa-%#?vZET+imhuj3$bNdm+X7ZP7Pbd5RBP_|w z4Ed1n09vB#Ue3G%^EDdLtJY0PR9_&MY`I>6zE4XD68sU)Eg|gpFAEN0E?-tC5Kd+T zEQ;8t$8&^;3)Q`nnXVFN!F>FdZ6;X4JGNJkhS^WIM9>OPee#A<_?=E}N3JuX$7`!W zaUkuzH3+!)t6HY+h*vIcT?hgxl?ko*xUHO(fqtmJ)%Dq+M9fyl)#bDK8CP3%3nL?Q zwig#v9|Ipbh?JN?A1aGvo@4sp6GvdO)m!+WmY~is_3+Sh@np@WT4Hg=t!kA55QN)I zKMRz+ z+}OCk;lO;~yXQmI78m%&H!Ixa2qymPfPg5lhi0PCcf{OzT@4S)@^walcc#}lOXg_W z8{f>hVWZF|T7v!Sfw$pp3WJ5*??F!RnDNpeOz6A{esAxmPfI>Z>xJIUpvs-F=36YH z3?%+H;ReV!Hpo*J+HRC;5*zeVmbYd!|D`SB-^Tucqm-2rzivyEp>(~^rLB+7^S)O+ zKEH$5NIx_4H0sc$aBhlog92|~P`L_5R4!rHKZIvRiIk*phx)?do}nK0qV4$MgU7n;_`rSCY_Y#nM1HYmQx?yQxb|tkr5pt1P6?&SujHyZW~Rj4(jD8AAx{z-%3WlUAMeI;ZQS%jMgY-9QWJs=w6?NjUc7e3}>ljfl~xl z&)zgT05sC#|C+oDoY3FRmPwOFn55ekG50s?zJ^GE_kwrgm28kMT2sg<2&!hzqyjpm zTf?rtA8v{r2R8<;SXQMY!c%fSS-`exZ?tvq^6pL};lEA7e5868w3n<6FYe?(N4SZjA=dhZd!`=x6;NPAu z7eWLnEGXafNHz^L;AS9C31r|9Estu>SaB*?pZlvL9?!!gaxsnSiaJ^W+|Zz z$dP0rmt>5dJv;gtVb^V#N_x3#bL37rD_MRCqRRE<%6@7+Gkk}<`!>&=>fBLlFS|J$ z8f`mh+0c~=dWW#lHLd?BSZ|b{fjn_4nd1-kt6e>XQD zw7#MHq9_Q=3mVG{PTW`El{$5eIsd^q31K6f;&G4HSEu@yrkAQ2S-J{}zSA!-hRjhl z3>)B5-HDn;FODtTO$LYFp*UC-Zrl)%ZWEo7JSa)?4e@K<+{AC*Ccg}qCa>E4HA0-K zwn4}c4Q;YmTQ%4Dc|kV<>jlpqD<);uCvN$Qo^;Yh7x%<4k^K?>z77nQeFqK^C5I;9 z9h#U+a`NAv~UAmwfZ{dULp=Yy>ZK?E5 z90QH(3cs>m6Un|1c7&Z-rGq!N2*KLB1`aw|&AB~h9<0-e`X#)cU4S2n$P2QVF-C{< z#-mt4mlSB=NzvEfS;=j!kd|ePN`(kYIFE-`Xx5e!#k@Je_hp)L?wQC7aPMA*1M*jF zUF02_Ixa47$|Ko8>(r!B>4@wz%mBwH(+0A-l@N{`^jBvn{%UP6Tv9oc4`j^EHf|#( z&F^67&i4GG)J>kab$#MECGQt%3HIG|VMCOkOLIi(yjKrRs8y=HJ4p!Gu}M|wuj^FP z6icwZ988N|hT!#x=-XMVPp;>OfhvFBufP6=V%hT&FTw1fTyGLSL$6ruLnH1X0?QN& zJh%=^Dlf%{H__V)#w^b>a|J;+)6ET_z&}QgC}K|x3pT@!9L=YtSc)d!XBa`#gf0kt?Y*b z34`ozkd`eznU zl-;Y4>1Aw~3L#r8cq2#ZzrD0?T5KGCG3f`|F+Kv|+7vm#tIM6d83}DU?a0)R;?w>4 zDUrGV5N^Z2t{z~@%Y)8DPR04PDV^7?#rOk-yH3d!Va99q0hy2j5sEL4 zgJ~9PVU{3$%n+Dcdm!#nFJr*?Tt1xTZ|Cb?uj+1P%z%`k)N$qA?+ReiSsw$~jVJKE z{L6ssP%GpT{DJXjV3r*%2(-hy6iHi&d_*H6rs3L*@h}6temOkrP#HJpWJ(RdWzp7E1+p$S}N$nlJq0)0_8Bp>s}er2BQhAldE1Vo;ExAtT_#P z7YUsMzfM4yG6kTdOcHHq&?JLZxnfm*g8zXvNOZFDOLs4y)6<+3PYZDk4feogX&x?AWD zD&usvR~tdkP;A{;4Q^DCdFJ5_itA|~$7hgtOc841m{xR()Qqw2EG37oo6T_<$_q`P z2Ll~v2J?hHAH%yY-lT{osNS$9cv`Wb8bWzueR|wq7bIOOV2uc?x+uJ>vmarB8<_bp z{Ke%V?rkfqF>)5+xdyUr;y9+A1YO|T`a%w2&hxQbIns|9>fjFmrB%ru6AdDW^_c+q-G=DEQ&~qmWX%D3lEbpjlsPoo1e)HWUX>;`foo z1NMUmxf&7lPj6pi>e>e? zaO`obrh_PTSKBw1D_h2|Aj^mI!d4R_`1bT6`isvl3VGG*jL3DROqXm4Zy0{JICH8Z z7~SsOMOD-J98O^m^uz5smV?9|-Hgb%U>8XpaFQKAwbvf+^=&)zjGo&X0GFyl_NFErG_zccTm1nYx3X~-K|WJ6EJel+CaB)NP?Dj74r z@!>vnh+lfYiTTYV4YuW)&kxmdBU^6%1ECC;Khch?2w{C-4{YQW1u#}B&v*K%V^h7U z_0^y{)y!aG4>!_=$;ED$ha}-_rzY1CilAyP#A=)63$XsV$Vzlixy#m0v{yndRf8aF zW9h?Q=}m~~DR&PnXJz}bwJ)SXas(Y3x;S@X(S~Prk8o=V#k%wMO~cvnKgnt?TbgVf5{l(M{Qw zJ{tFER**nIvcu&JM=#b0%0uKjMm{j3a5@RO3ri~Tc$16&u|#Fp&ME1LmAJ(|kuagU z3#M0FuF$m96+&4C5BH6zp1~V{M$VC%n!=5_4pe~yFcZnFD$k8%MiY(M?C2$onIsw} z$ncjiK;e|7Q4{LFK-egh27a5dVz_v*e6eP@aB+oO0r%?g?!vfe5((CbG}5UuP>RZN zHvT2nHZF#(jvcP*Y0I9!H)cl4#;CgsJc{OhGUqBM5|BxP?)pzbf=Q8iJpy1dTwcpG ziJy?3!pCwrLTQTRb_KXak%IDIgg)X1G)$%`bHh#4Vw+um1f%aK>)ide#LA`47}#U@GP@D z)g(tlt@Nach`01T=E?%$*eekEJOj*>*w(5ZLEr7Np^m_}&+Q8Xy3BkB({_;q%FP@x zWPFYrqnIiA2)CdD8k5sU7=ttAc1(d#TTKs5uj)5lPy?I?Z}LQz#+meS$P>st&f5yX zxaMr=2O!nEi8sgNAEY@ofy&qpW)*=`YA5f4(sWfzov6ahth?3N+=7ujQSFM?vEbg; zu)U00PU9XbhUKRYcj^l}_K+LRv1GJ0tsK4#vXEIAQaH|3b7{tFc7pesSs%ol09wu= zZO&bd1%J#6QS3V(yTA3LIC?Ewer>KStSY8ZJ9A#RG6*DE<3VYn9JVyE_{c{!P-`=G zquF%7=NYHK{%`qc_vyLRJoW^s45J?Ck%TTzPn3tJ$h&4oxX^3uswXI zV^ z-qknTaw`ZE*+RWb&ogu@B%?N^HZBN*kWBrI!} zz4UsEni+opDzqLhW6_rSy&jRT_U<2L@1jHB>{TY*_NN2hm{^5tU*FVS7dbWSEc1&w8a0@plWdNC`PNx7AUg!ICObTHV0hyBn#8g&Zfw;0 zha?~O)f8hu}J7-3#^+ohXkmqx34o8-;Il9vVI72M9(TT!LQ#=xvQCbaN z*ei1=K($>>uYzvGH4!7Zkx{$f7@#3(h3|lAnA4M&OerM9G3N(okPf&iRPFDbID-++ z9<*X7D)VBT?vN;(FIAb+iHVH_v2w)Y<&Q0+==(e8qPR1g4D*eIR$P7EhyoKrsj*qHE9mk2=4Vx#P^`+&1784W~d_NA81VW2F=d3HVTG} z;x|4_#2U)4eFZeZj{FGQyQUg*e3fjm@gW_A=3Jk$cnI_ruSeYCHJi$Ip2rbh0$M21 zi(l6I-=CP$wvB1%aPy_TH2buAU=|+^IP>_jTt`1(>)nO2FTpHVe${F`)N78$#H=fr z3+e@wyIF$k{RAIKsK`Dvbc%mOJZgB1wx#Y}3Q^v=`+&S3PI#qu6%IdvCFso?{B=5S z5OSBUBRVYfJ1CAr^s>!*^%w+V$8PM&yhzs-Tag?Q-3hYd?Wl=`*?6Ehww#hzS*~PF zD@dNu4xzd<5|{{JyGFW|-Q^CJhrOtyFH>MUXHG5=0(hE6$|j}6J&WJw57RZ73ZS;W zlWcq7iWcjuX{6kyyx4}ZP)6^=6$u@L50D2s$JFHp>kC5{9TIuk{5s+c{Ts4OG959O z;SE0sI*GjqRYp4%Y%3d5CJ_ws5M<7q zW%^bd#z8)M+*q;QunoOjV?hSP<5sVZe%cnW^f}!oGbia5z`6<2kaTS>@*_5eCuqw2 z3q)$t@7;O>8iHr~38grayRrUJKuzz=-WUM(OVEA#x6K8UB`n^gM1?I8h_BS&JaWwO zsg@i6`@}@?8cqO=ewQ_OYg#)vz^wqcVW+C?N1YK;|tZXaU^Vi zBW0HsSEQkP&vN^R}=!KwxUt9VqVzwSbZj!r29@d8kM$ zeg|g4k`)K~G8z$xcyWq{H7z-#Xd|5$*rUjGRO7$na8AIawj{B-8bCd>%D=biy7kB_ zZy%~s^4EkTeRhJ#CTvpz;4;4TjPI2zqW!ZcgXvlpkx z;L(NcWRjOho+CoPFJBtudu?XG=Jp@(YOWp5!=uR!EatlItZyX#vxj%M37n?EAzJ@5 zkF8+!(AynI$9gD;El-YY-ipkEQxW}Jm?SH6p(CHGEA}9Ra|$}jo=GUnR76MMXXzH5 zx&!2ICorp{%-DVt>txRw+yd(ITjoqvP!_U+obuA>Mrh@u^AH}0`*5#VxOW+ivkANM>WYIbr<3=Si-Rn>j#BO&cDKZ^q^Vp2W5k35_?HGvb7h< z6_Pi}DnFvTNUC*U)o|U5w-)&C2}*W48l?H@Y<63LTp$SIi{eWxv-?^5*lVQoPZtwgzyywf?TG^dP}JC|hX7e)|h)1t}z_^f&sa zxX9eYtTnEX4u)Q5Bl{ZOlGCTUHjju%>I=TYVQ0`lP5uafaTGI2-etz@hh4As|0i^6 z-~5OPnE54@BpF$`@@`W$fz{R^)`h_iok84zYD~42Xt+VuA|WlD7@YG@@tDRxbCmcjBr zw*lFb+FHqm(Vpod7*Xu!uYd0p{if~6z&zAiu#tUe5lkYzSGeOcVHe%6 zG0TJY03NKio3yZhos#TSK$azft;(ZKlY<10#h&ha))cr+MEXEiZx<{{2e2$kCg~9y z7l@ucB2D4X;ZxjQ{IF@W_*ZU$gSaa~Ca8~ld&f=8NwYlG-{j&SEA?23#z$9>%0R{I z6sLl)bhE3X4P(q4^clnJed9=R#4gbC+<90Ws|9@r$8q3omkaBFFd=sSGy|yw5vxkK zhCpmW?WW}Vu?K4a{P%1y?>3_#kGj1VM#3{UAn>MD?5yQuc0ce8HkzYDRbWL{)4Rxy zh|d*d?EqLTD{EG|M((EEdE|ky5Bww#=#I4W2q$K|z>CwX(doZ=%Y@|?O)(~e7nC}T4dh8?_sZ3T?Y+__%sWX zD=SgEduq9aIGZ=PPf-R}K|E~fYnD?9pYQt46`G03La3LRi6-M!{5`}u?f0IME`HB% ocpfs_y;qK@|--MQoc1DJ0l82|tP diff --git a/Data/Mortality_Rates/Female/A_Under1.csv b/Data/Raw_Data/Mortality_Rates/Female/A_Under1.csv similarity index 100% rename from Data/Mortality_Rates/Female/A_Under1.csv rename to Data/Raw_Data/Mortality_Rates/Female/A_Under1.csv diff --git a/Data/Mortality_Rates/Female/B_1_9.csv b/Data/Raw_Data/Mortality_Rates/Female/B_1_9.csv similarity index 100% rename from Data/Mortality_Rates/Female/B_1_9.csv rename to Data/Raw_Data/Mortality_Rates/Female/B_1_9.csv diff --git a/Data/Mortality_Rates/Female/C_10_19.csv b/Data/Raw_Data/Mortality_Rates/Female/C_10_19.csv similarity index 100% rename from Data/Mortality_Rates/Female/C_10_19.csv rename to Data/Raw_Data/Mortality_Rates/Female/C_10_19.csv diff --git a/Data/Mortality_Rates/Female/D_20_39.csv b/Data/Raw_Data/Mortality_Rates/Female/D_20_39.csv similarity index 100% rename from Data/Mortality_Rates/Female/D_20_39.csv rename to Data/Raw_Data/Mortality_Rates/Female/D_20_39.csv diff --git a/Data/Mortality_Rates/Female/E_40_64.csv b/Data/Raw_Data/Mortality_Rates/Female/E_40_64.csv similarity index 100% rename from Data/Mortality_Rates/Female/E_40_64.csv rename to Data/Raw_Data/Mortality_Rates/Female/E_40_64.csv diff --git a/Data/Mortality_Rates/Female/F_65+.csv b/Data/Raw_Data/Mortality_Rates/Female/F_65+.csv similarity index 100% rename from Data/Mortality_Rates/Female/F_65+.csv rename to Data/Raw_Data/Mortality_Rates/Female/F_65+.csv diff --git a/Data/Mortality_Rates/Female/G_65_74.csv b/Data/Raw_Data/Mortality_Rates/Female/G_65_74.csv similarity index 100% rename from Data/Mortality_Rates/Female/G_65_74.csv rename to Data/Raw_Data/Mortality_Rates/Female/G_65_74.csv diff --git a/Data/Mortality_Rates/Female/H_75_84.csv b/Data/Raw_Data/Mortality_Rates/Female/H_75_84.csv similarity index 100% rename from Data/Mortality_Rates/Female/H_75_84.csv rename to Data/Raw_Data/Mortality_Rates/Female/H_75_84.csv diff --git a/Data/Mortality_Rates/Female/I_85+.csv b/Data/Raw_Data/Mortality_Rates/Female/I_85+.csv similarity index 100% rename from Data/Mortality_Rates/Female/I_85+.csv rename to Data/Raw_Data/Mortality_Rates/Female/I_85+.csv diff --git a/Data/Mortality_Rates/Male/A_Under1.csv b/Data/Raw_Data/Mortality_Rates/Male/A_Under1.csv similarity index 100% rename from Data/Mortality_Rates/Male/A_Under1.csv rename to Data/Raw_Data/Mortality_Rates/Male/A_Under1.csv diff --git a/Data/Mortality_Rates/Male/B_1_9.csv b/Data/Raw_Data/Mortality_Rates/Male/B_1_9.csv similarity index 100% rename from Data/Mortality_Rates/Male/B_1_9.csv rename to Data/Raw_Data/Mortality_Rates/Male/B_1_9.csv diff --git a/Data/Mortality_Rates/Male/C_10_19.csv b/Data/Raw_Data/Mortality_Rates/Male/C_10_19.csv similarity index 100% rename from Data/Mortality_Rates/Male/C_10_19.csv rename to Data/Raw_Data/Mortality_Rates/Male/C_10_19.csv diff --git a/Data/Mortality_Rates/Male/D_20_39.csv b/Data/Raw_Data/Mortality_Rates/Male/D_20_39.csv similarity index 100% rename from Data/Mortality_Rates/Male/D_20_39.csv rename to Data/Raw_Data/Mortality_Rates/Male/D_20_39.csv diff --git a/Data/Mortality_Rates/Male/E_40_64.csv b/Data/Raw_Data/Mortality_Rates/Male/E_40_64.csv similarity index 100% rename from Data/Mortality_Rates/Male/E_40_64.csv rename to Data/Raw_Data/Mortality_Rates/Male/E_40_64.csv diff --git a/Data/Mortality_Rates/Male/G_65_74.csv b/Data/Raw_Data/Mortality_Rates/Male/G_65_74.csv similarity index 100% rename from Data/Mortality_Rates/Male/G_65_74.csv rename to Data/Raw_Data/Mortality_Rates/Male/G_65_74.csv diff --git a/Data/Mortality_Rates/Male/H_75_84.csv b/Data/Raw_Data/Mortality_Rates/Male/H_75_84.csv similarity index 100% rename from Data/Mortality_Rates/Male/H_75_84.csv rename to Data/Raw_Data/Mortality_Rates/Male/H_75_84.csv diff --git a/Data/Mortality_Rates/Male/I_85+.csv b/Data/Raw_Data/Mortality_Rates/Male/I_85+.csv similarity index 100% rename from Data/Mortality_Rates/Male/I_85+.csv rename to Data/Raw_Data/Mortality_Rates/Male/I_85+.csv diff --git a/Data/Raw_Data/Mortality_Rates/README_MORTALITY.txt b/Data/Raw_Data/Mortality_Rates/README_MORTALITY.txt new file mode 100644 index 0000000..eacecbf --- /dev/null +++ b/Data/Raw_Data/Mortality_Rates/README_MORTALITY.txt @@ -0,0 +1,5 @@ +Data files gathered manually from: + +https://hdpulse.nimhd.nih.gov/data-portal/mortality/table?cod=247&cod_options=cod_15&ratetype=aa&ratetype_options=ratetype_2&race=00&race_options=race_6&sex=2&sex_options=sex_3&age=177&age_options=age_11&ruralurban=0&ruralurban_options=ruralurban_3&yeargroup=5&yeargroup_options=year5yearmort_1&statefips=56&statefips_options=area_states&county=56000&county_options=counties_wyoming&comparison=counties_to_us&comparison_options=comparison_counties&radio_comparison=areas&radio_comparison_options=cods_or_areas + +Each file is single age group, so age weighting does not apply despite the variable names diff --git a/Data/Raw_Data/Mortality_Rates/README_MORTALITY_DATA.txt b/Data/Raw_Data/Mortality_Rates/README_MORTALITY_DATA.txt new file mode 100644 index 0000000..58887b8 --- /dev/null +++ b/Data/Raw_Data/Mortality_Rates/README_MORTALITY_DATA.txt @@ -0,0 +1 @@ +[1] "Data files gathered manually from:\n\n\n\n\nhttps://hdpulse.nimhd.nih.gov/data-portal/mortality/table?cod=247&cod_options=cod_15&ratetype=aa&ratetype_options=ratetype_2&race=00&race_options=race_6&sex=2&sex_options=sex_3&age=177&age_options=age_11&ruralurban=0&ruralurban_options=ruralurban_3&yeargroup=5&yeargroup_options=year5yearmort_1&statefips=56&statefips_options=area_states&county=56000&county_options=counties_wyoming&comparison=counties_to_us&comparison_options=comparison_counties&radio_comparison=areas&radio_comparison_options=cods_or_areas\n\n\n\n\nEach file is single age group, so age weighting does not apply despite the variable names" diff --git a/Data/Raw_Data/Population/Pop_1970s.xls b/Data/Raw_Data/Population/Pop_1970s.xls new file mode 100644 index 0000000000000000000000000000000000000000..d41a46613eef640bd97e70484b44ed828acb72ad GIT binary patch literal 15360 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 Zd=AAn1a$;HUwhVkf&TN`99_J){0BT(U+Dk< literal 0 HcmV?d00001 diff --git a/Data/Raw_Data/Population/Pop_1980s.xls b/Data/Raw_Data/Population/Pop_1980s.xls new file mode 100644 index 0000000000000000000000000000000000000000..e1e14fcae491aa21ea9604298309401fd84015e1 GIT binary patch literal 128512 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 literal 0 HcmV?d00001 diff --git a/Data/Raw_Data/Population/Pop_1990s.xls b/Data/Raw_Data/Population/Pop_1990s.xls new file mode 100644 index 0000000000000000000000000000000000000000..d8d219dcc7a1660f33fe1e0953a9f21c1d958585 GIT binary patch literal 41472 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 literal 0 HcmV?d00001 diff --git a/Demographic_Split.r b/Demographic_Split.r index 1e53026..2354d02 100644 --- a/Demographic_Split.r +++ b/Demographic_Split.r @@ -4,6 +4,32 @@ ACS_FILE_LOC <- "Data/Cleaned_Data/ACS_Census_Demographic_Data.Rds" ACS_YEAR <- 2023 #Year of the ACS data if(!file.exists(ACS_FILE_LOC)){source("Scripts/Load_ACS_Census_Data.r")}else{AGE_DATA <- readRDS(ACS_FILE_LOC)} LIN_DEMOGRAPHICS <- readRDS("Data/Cleaned_Data/Lincoln_Demographic_Data.Rds") %>% filter(Year==ACS_YEAR) +LIN_DEMOGRAPHICS +GET_INTIAL_DATA_SUMMARY <- function(DEMO_DATA,FILE_SAVE_NAME,ST_POP=NA,Area=NA,ST_YEAR=NA,SAVE_DIR='Data/Cleaned_Data/Intiate_Simulation/'){ + ST_BIRTH <- round(sum((DEMO_DATA%>% filter(Age==0))[4:5])) + ST_BIRTH_TWO_PREV <- round(sum((DEMO_DATA%>% filter(Age==1))[4:5])) + if(is.na(ST_YEAR)){ST_YEAR=max(POP_DATA$Year)} + +if(is.na(ST_POP)){ + if(Area=='Kemmerer'){ +ST_POP<- POP_DATA %>% filter(City %in% c('Kemmerer','Diamondville'),Year==ST_YEAR) %>% mutate(Population=as.numeric(Population)) %>% pull(Population) %>% sum() + } else if(Area=='Other Lincoln'){ + ST_POP_KEM<- POP_DATA %>% filter(City %in% c('Kemmerer','Diamondville'),Year==ST_YEAR) %>% mutate(Population=as.numeric(Population)) %>% pull(Population) %>% sum() + + ST_POP_LIN <- readRDS("Data/Cleaned_Data/Wyoming_County_Population.Rds") %>% filter(Year==ST_YEAR,County==Area) %>% pull(Population) #Grab the year of data for the county + ST_POP <- ST_POP_LIN-ST_POP_KEM + + } else{ + ST_POP <- readRDS("Data/Cleaned_Data/Wyoming_County_Population.Rds") %>% filter(Year==ST_YEAR,County==Area) %>% pull(Population) #Grab the year of data for the county + } +} + + INTIATE_DATA <- DEMO_DATA %>% mutate(Male_Window=Age>=18 & Age<=30,Female_Window=Age>=18 & Age<=28) %>% group_by(County,Year) %>% summarize(Female_Birth_Group=sum(Num_Female*Female_Window),Male_Birth_Group=sum(Num_Male*Male_Window),Min_Birth_Group=ifelse(Female_Birth_Group% mutate(Births=NA,Deaths=NA,Migration=NA) %>% select(Year,County,Population,Births,Deaths,Migration,Min_Birth_Group,PREV_BIRTH,PREV_TWO_BIRTH) %>% ungroup + saveRDS(INTIATE_DATA ,paste0(SAVE_DIR,FILE_SAVE_NAME,".Rds")) + write_csv(INTIATE_DATA ,paste0(SAVE_DIR,FILE_SAVE_NAME,".csv")) + return(INTIATE_DATA) +GET_INTIAL_DATA_SUMMARY(LIN_DEMOGRAPHICS,"test") + for(i in 1:nrow(AGE_DATA)){ if(i==1 & exists("RES")){rm(RES)} @@ -31,6 +57,7 @@ KEM_DEMOGRAPHICS <- RES %>% filter(IN_KEM==1) %>% select(Age,Sex,Per_Pop) %>% mu INTIATE_KEMMER <- KEM_DEMOGRAPHICS %>% mutate(Male_Window=Age>=18 & Age<=30,Female_Window=Age>=18 & Age<=28) %>% group_by(County,Year) %>% summarize(Female_Birth_Group=sum(Num_Female*Female_Window),Male_Birth_Group=sum(Num_Male*Male_Window),Min_Birth_Group=ifelse(Female_Birth_Group% mutate(Births=NA,Deaths=NA,Migration=NA) %>% select(Year,County,Population,Births,Deaths,Migration,Min_Birth_Group,PREV_BIRTH,PREV_TWO_BIRTH) %>% ungroup saveRDS(INTIATE_KEMMER ,"Data/Cleaned_Data/Intiate_Simulation/Kemmerer_Summary_Start_Data.Rds") write_csv(INTIATE_KEMMER ,"Data/Cleaned_Data/Intiate_Simulation/Kemmerer_Summary_Start_Data.csv") + ###Create data sets that contain all people not in Loncoln but not Kemmerer or Diamondville, for a seperate comparison run LIN_DEMOGRAPHICS_RECENT <- readRDS("Data/Cleaned_Data/Lincoln_Demographic_Data.Rds") %>% filter(Year==max(Year)) #Grab the most recent year of data for all of the county LIN_OTHER_DEMOGRAPHICS <- LIN_DEMOGRAPHICS_RECENT %>% left_join(KEM_DEMOGRAPHICS %>% select(-County,ADJ_MALE=Num_Male,ADJ_FEMALE=Num_Female)) %>% mutate(Num_Male=Num_Male-ADJ_MALE,Num_Female=Num_Female-ADJ_FEMALE) %>% select(-ADJ_MALE,-ADJ_FEMALE) %>% ungroup#Deduct the populaiton estimates of Kemmerer to create a "Other Lincoln" data set diff --git a/Scripts/Data_Load.r b/Scripts/1_Download_and_Process_Population_Data.r similarity index 54% rename from Scripts/Data_Load.r rename to Scripts/1_Download_and_Process_Population_Data.r index 658b7ff..9ad04bb 100644 --- a/Scripts/Data_Load.r +++ b/Scripts/1_Download_and_Process_Population_Data.r @@ -1,12 +1,14 @@ -#################IMPORTANT!!!! CLEAN UP DATA SCRIPT FOR USE -#############################Clean up scirpt folders, simulations of deaths should be seperated from this file. Death rate simulation is complicated and should be commented, and turned into a seperate script. -##############WORKING ON REGRESSION OF BIRTHS FOR PREDICTIONS OF GROWTH, THINK ABOUT GOING FROM COUNTY TO CITY, SEPERATE REGRESION FROM DATA COLLOECTION +#############################Clean up script folders, simulations of deaths should be separated from this file. Death rate simulation is complicated and should be commented, and turned into a separate script. library(rvest) library(tidyverse) library(readxl) #setwd("../") +###Create Location to Save raw data sets + if(!exists("SAVE_LOC_RAW")){SAVE_LOC_RAW <-"./Data/Raw_Data/"} + dir.create(SAVE_LOC_RAW, recursive = TRUE, showWarnings = FALSE) ########County, Death, Birth and Migration Data #Data found on the page http://eadiv.state.wy.us/pop/ + #Website States: Wyoming Economic Analysis Division based on U.S. Census Bureau's population estimation and vital stats above PAGE <- read_html("http://eadiv.state.wy.us/pop/BirthDeathMig.htm") NODE <- html_element(PAGE ,"table") TBL <- html_table(NODE) @@ -30,7 +32,7 @@ TBL <- TBL %>% filter(!is.na(Type)) %>% select(County,Type,everything()) GROUP <- colnames(TBL)[-1:-2] Data <- pivot_longer(TBL,all_of(GROUP),names_to="Year",values_to="Pop_Change") Data$County <- ifelse(toupper(Data$County)=="TOTAL","Wyoming",Data$County) -WY_COUNTY_DATA_SET <- pivot_wider(Data,names_from=Type,values_from=Pop_Change) %>% rename("Migration"=`Net Migration`) %>% mutate(Year=as.integer(Year),Births=parse_number(Births),Deaths=parse_number(Deaths),Migration=parse_number(Migration)) %>% mutate(Year=Year-1) #Data apears to be one off from populaiton +WY_COUNTY_DATA_SET <- pivot_wider(Data,names_from=Type,values_from=Pop_Change) %>% rename("Migration"=`Net Migration`) %>% mutate(Year=as.integer(Year),Births=parse_number(Births),Deaths=parse_number(Deaths),Migration=parse_number(Migration)) %>% mutate(Year=Year-1) #Data appears to be one off from population WY_COUNTY_DATA_SET[,"County"] <- gsub(" ","_",WY_COUNTY_DATA_SET %>% pull(County)) ########################City and County Population Data 2020 to 2024 @@ -116,12 +118,15 @@ CITY_POP <- rbind(CITY_TBL,CITY_POP) CITY_POP$City <- gsub("LaGrange","La_Grange",CITY_POP$City) COUNTY_POP <- rbind(COUNTY_TBL,COUNTY_POP) ####################County and City Population Data for 1990-2000 -if(!file.exists("./Data/Pop_1990s.xls")){download.file('http://eadiv.state.wy.us/pop/c&sc90_00.xls',"./Data/Pop_1990s.xls")} -TEMP <- read_xls("Data/Pop_1990s.xls",skip=2)[-1:-4,] -colnames(TEMP)[1] <- "County" -tail(TEMP) -TEMP <- TEMP[1:which(TEMP[,1]=="Wind River Res."),] +#Location to save any raw population files. Most files are not saved since they are pulled from a html and not a excel file, but older files are only available as excel files +SAVE_LOC_RAW_POP <- paste0(SAVE_LOC_RAW,"/Population") +dir.create(SAVE_LOC_RAW_POP , recursive = TRUE, showWarnings = FALSE) +POP_FILE_1990 <- paste0(SAVE_LOC_RAW_POP,"/Pop_1990s.xls") +if(!file.exists(POP_FILE_1990)){download.file('http://eadiv.state.wy.us/pop/c&sc90_00.xls',POP_FILE_1990)} +TEMP <- read_xls(POP_FILE_1990,skip=2)[-1:-4,] +colnames(TEMP)[1] <- "County" +TEMP <- TEMP[1:which(TEMP[,1]=="Wind River Res."),] TEMP <- pivot_longer(TEMP,all_of(colnames(TEMP)[-1]),names_to="Year",values_to="Population") %>% mutate(Year=as.integer(Year),Population=as.numeric(Population)) TEMP <- TEMP %>% filter(Year!=2000) TEMP_COUNTY <- TEMP[grepl("Cnty",TEMP %>% pull(County),ignore.case=TRUE),] @@ -138,8 +143,10 @@ TEMP_CITY <- TEMP_CITY %>% filter(Year!=2000) try(rm(TEMP_CITY,TEMP_COUNTY,TEMP)) ####################County and City Population Data for 1980-1990 -if(!file.exists("./Data/Pop_1980s.xls")){download.file('http://eadiv.state.wy.us/pop/C&SC8090.xls',"./Data/Pop_1980s.xls")} -TEMP <- read_xls("Data/Pop_1980s.xls",skip=2)[-1:-4,] +POP_FILE_1980 <- paste0(SAVE_LOC_RAW_POP ,"/Pop_1980s.xls") +if(!file.exists(POP_FILE_1980)){download.file('http://eadiv.state.wy.us/pop/C&SC8090.xls',POP_FILE_1980)} + +TEMP <- read_xls(POP_FILE_1980,skip=2)[-1:-4,] colnames(TEMP)[1] <- "County" TEMP <- TEMP[2:which(TEMP[,1]=="Upton"),1:(min(which(is.na(TEMP[2,])))-1)] TEMP <- pivot_longer(TEMP,all_of(colnames(TEMP)[-1]),names_to="Year",values_to="Population") %>% mutate(Year=as.integer(Year),Population=as.numeric(Population)) @@ -162,8 +169,10 @@ COUNTY_POP <- rbind(TEMP_COUNTY,COUNTY_POP) try(rm(TEMP_CITY,TEMP_COUNTY,TEMP)) ####################County Population Data for 1970-1980 -if(!file.exists("./Data/Pop_1970s.xls")){download.file('http://eadiv.state.wy.us/pop/Cnty7080.xls',"./Data/Pop_1970s.xls")} -TEMP <- read_xls("Data/Pop_1970s.xls",skip=2)[-1:-4,] +POP_FILE_1970 <- paste0(SAVE_LOC_RAW_POP ,"/Pop_1970s.xls") +if(!file.exists(POP_FILE_1970)){download.file('http://eadiv.state.wy.us/pop/Cnty7080.xls',POP_FILE_1970)} + +TEMP <- read_xls(POP_FILE_1970,skip=2)[-1:-4,] colnames(TEMP)[1] <- "County" TEMP <- TEMP[1:which(TEMP[,1]=="Weston"),] TEMP <- pivot_longer(TEMP,all_of(colnames(TEMP)[-1]),names_to="Year",values_to="Population") %>% mutate(Year=as.integer(Year),Population=as.numeric(Population)) @@ -197,123 +206,23 @@ try(rm(TEMP)) colnames(TEMP ) <- c("Year","City","Population") TEMP <- as_tibble(TEMP) CITY_POP <- rbind(TEMP,CITY_POP) %>% arrange(City,Year) + #Remove empty values, ensure all numeric values are not saved as characters + CITY_POP <- CITY_POP %>% filter(!is.na(Population) ) %>% mutate(Population=parse_number(Population),Year=parse_number(Year)) #Add Other Data -COUNTY_POP <- COUNTY_POP %>% mutate(Year=as.integer(Year)) %>% unique +COUNTY_POP <- COUNTY_POP %>% mutate(Year=as.numeric(Year)) %>% unique WY_COUNTY_DATA_SET <- COUNTY_POP %>% left_join(WY_COUNTY_DATA_SET ) %>% mutate(Population=as.numeric(Population)) %>% unique ###Save Population Results -write_csv(CITY_POP,file="./Data/Cleaned_Data/Wyoming_City_Population.csv") -write_csv(WY_COUNTY_DATA_SET ,file="./Data/Cleaned_Data/Wyoming_County_Population.csv") -saveRDS(CITY_POP,file="./Data/Cleaned_Data/Wyoming_City_Population.Rds") -saveRDS(WY_COUNTY_DATA_SET ,file="./Data/Cleaned_Data/Wyoming_County_Population.Rds") + if(!exists("SAVE_LOC_POP")){SAVE_LOC_POP <-"./Data/Cleaned_Data/Population_Data"} + CSV_SAVE <- paste0(SAVE_LOC_POP,"/CSV") + RDS_SAVE <- paste0(SAVE_LOC_POP,"/RDS") + dir.create(CSV_SAVE, recursive = TRUE, showWarnings = FALSE) + dir.create(RDS_SAVE, recursive = TRUE, showWarnings = FALSE) + +saveRDS(CITY_POP,paste0(RDS_SAVE,"/All_Wyoming_City_Populations.Rds" )) +write_csv(CITY_POP,paste0(CSV_SAVE,"/All_Wyoming_City_Populations.csv" )) + +saveRDS(WY_COUNTY_DATA_SET,paste0(RDS_SAVE,"/All_Wyoming_County_Populations.Rds" )) +write_csv(WY_COUNTY_DATA_SET,paste0(CSV_SAVE,"/All_Wyoming_County_Populations.csv" )) -###################Demographics -if(!file.exists("./Data/Demo_Single_Year_2020s.xls")){download.file('http://eadiv.state.wy.us/Pop/CO_SYASEX24.xlsx',"./Data/Demo_Single_Year_2020s.xls")} -TEMP <- read_xlsx("./Data/Demo_Single_Year_2020s.xls",skip=2)[,-1] -TEMP <- TEMP[1:(min(which(is.na(TEMP[,1])))-1),] -TEMP <- TEMP[!grepl("Base",TEMP$YEAR,ignore.case=TRUE),] #There are two population values provided. I believe one is the census baseline, and one is a estimate in July. Keep the later estimate, to line up with the same seasonal collection pattern of the rest of the data -TEMP$YEAR <- year(as.Date(substr((TEMP$YEAR),1,8),format="%m/%d/%Y")) -colnames(TEMP) <- c("County","Year","Age","Number","Num_Male","Num_Female") -TEMP$County <- gsub(" County","",TEMP$County,ignore.case=TRUE) -DEM_2020 <- TEMP %>% select(-Number) -###Demogrpahics all -DEM_DATA <- read_delim("Data/County_Demographics_Census/wy.1969_2023.singleages.through89.90plus.txt",delim=" ",col_names=c("ID","VALUES"),col_types=list('c','c')) -DEM_DATA$Year <- as.integer(substr(DEM_DATA$ID,1,4)) -DEM_DATA$fips<- substr(DEM_DATA$ID,7,11) -COUNTY_LIST <- read_csv("https://github.com/kjhealy/fips-codes/raw/refs/heads/master/county_fips_master.csv",col_types=list('c','c')) %>% filter(state_abbr=="WY") %>% select(fips,County=county_name) %>% mutate(County=gsub(" ","_",gsub(" County","",County,ignore.case=TRUE))) -DEM_DATA <- DEM_DATA %>% left_join(COUNTY_LIST) %>% select(-fips) -#16=3 -DEM_DATA$Sex <- ifelse(substr(DEM_DATA$VALUES,3,3)==1,"Male","Female") -DEM_DATA$Age <- parse_number(substr(DEM_DATA$VALUES,4,5)) -DEM_DATA$Number <- parse_number(substr(DEM_DATA$VALUES,6,14)) -DEM_DATA <- DEM_DATA %>% select(-ID,-VALUES) - - -DEM_DATA <- DEM_DATA %>% group_by(Year,County,Sex,Age) %>% summarize(Number=sum(Number)) %>% ungroup()#Aggregate to sex and age level - -#The Wyoming census data seems newer than this data set from SEER cancer data source. Drop any of these records that overlap with the Wyoming data before merging. Arrange so the column order is the same between the two data sets, so they can be easily bound together. -DEM_DATA <- pivot_wider(DEM_DATA,names_from=Sex,values_from=Number) %>% rename(Num_Female=Female,Num_Male=Male) %>% select(colnames(DEM_2020)) %>% filter(Year% unique -DEM_DATA <- rbind(DEM_2020,DEM_DATA) %>% ungroup %>% arrange(Year,Age) %>% unique - -###Save demographic data set - LIN_DEM <- DEM_DATA %>% filter(County=='Lincoln') - write_csv(LIN_DEM,file="./Data/Cleaned_Data/Lincoln_Demographic_Data.csv") - write_csv(DEM_DATA,file="./Data/Cleaned_Data/Wyoming_County_Demographic_Data.csv") - saveRDS(LIN_DEM,file="./Data/Cleaned_Data/Lincoln_Demographic_Data.Rds") - saveRDS(DEM_DATA,file="./Data/Cleaned_Data/Wyoming_County_Demographic_Data.Rds") - -#########################################Mortality Rate -GET_MORTALITY_DATA <- function(FILE,SEX,LOWER_AGE,UPPER_AGE){ - #Create clean mortality rate data - #Data gathered from https://hdpulse.nimhd.nih.gov/data-portal/mortality/table?cod=247&cod_options=cod_15&ratetype=aa&ratetype_options=ratetype_2&race=00&race_options=race_6&sex=2&sex_options=sex_3&age=177&age_options=age_11&ruralurban=0&ruralurban_options=ruralurban_3&yeargroup=5&yeargroup_options=year5yearmort_1&statefips=56&statefips_options=area_states&county=56000&county_options=counties_wyoming&comparison=counties_to_us&comparison_options=comparison_counties&radio_comparison=areas&radio_comparison_options=cods_or_areas - - NAMES <- c("County","FIPS","Death_Rate","Lower_Rate","Upper_Rate","Deaths","Trend_Category","Trend","Lower_Trend","Upper_Trend") - DF <- read_csv(FILE,skip=5,col_names=NAMES,col_types=list('c',"i",'d','d','d','d','c','d','d','d')) %>% filter(grepl("County|Wyoming",County)|County=="United States") %>% mutate(Rate_SD=(Upper_Rate-Lower_Rate)/(2*1.96),Trend_SD=(Upper_Trend-Lower_Trend)/(2*1.96)) %>% select(County,Death_Rate,Rate_SD,Trend,Trend_SD) - DF$County <- gsub(" County","",DF$County,ignore.case=TRUE) - DF[,-1] <- DF[,-1]/100000 - WYOMING_TREND <- pull(DF[DF$County=="Wyoming",],"Trend") - US_TREND <- pull(DF[DF$County=="United States",],"Trend") - - WYOMING_RATE <- pull(DF[DF$County=="Wyoming",],"Death_Rate") - US_RATE <- pull(DF[DF$County=="United States",],"Death_Rate") - - DF$Imparted_Trend <- FALSE - if(is.na(WYOMING_TREND)){ - DF[1,4:5] <- DF[2,4:5] - DF[1,6] <- TRUE - } - - DF$Imparted_Rate <- FALSE - if(is.na(WYOMING_RATE)){ - DF[1,4:5] <- DF[2,2:3] - DF[1,6] <- TRUE - } - WYOMING_BASELINE_TREND <-cbind (DF[1,4:5] ,TRUE) - WYOMING_BASELINE_RATE <-DF[1,2:3] - - for(i in 3:nrow(DF)){ - #Impart any missing trends based on higher levels - if(is.na(pull(DF[i,],"Trend"))){ DF[i,4:6] <- WYOMING_BASELINE_TREND} - #Impart any missing death rates based on higher levels - if(is.na(pull(DF[i,],"Death_Rate"))){ - DF[i,2:3] <- WYOMING_BASELINE_RATE - DF[i,"Imparted_Rate"] <- TRUE - } - } - DF$Sex <- SEX - DF$Min_Age <- LOWER_AGE - DF$Max_Age <- UPPER_AGE - DF <- DF %>% select(County,Sex,Min_Age,Max_Age,Death_Rate,Rate_SD,Imparted_Rate,everything()) - return(DF) -} -MORTALITY_DATA_ALL <- rbind( -GET_MORTALITY_DATA("Data/Mortality_Rates/Female/A_Under1.csv","Female",0,0), -GET_MORTALITY_DATA("Data/Mortality_Rates/Female/B_1_9.csv","Female",1,9), -GET_MORTALITY_DATA("Data/Mortality_Rates/Female/C_10_19.csv","Female",10,19), -GET_MORTALITY_DATA("Data/Mortality_Rates/Female/D_20_39.csv","Female",20,39), -GET_MORTALITY_DATA("Data/Mortality_Rates/Female/E_40_64.csv","Female",40,64), -GET_MORTALITY_DATA("Data/Mortality_Rates/Female/G_65_74.csv","Female",65,74), -GET_MORTALITY_DATA("Data/Mortality_Rates/Female/H_75_84.csv","Female",75,84), -GET_MORTALITY_DATA("Data/Mortality_Rates/Female/I_85+.csv","Female",85,Inf), -GET_MORTALITY_DATA("Data/Mortality_Rates/Male/A_Under1.csv","Male",0,0), -GET_MORTALITY_DATA("Data/Mortality_Rates/Male/B_1_9.csv","Male",1,9), -GET_MORTALITY_DATA("Data/Mortality_Rates/Male/C_10_19.csv","Male",10,19), -GET_MORTALITY_DATA("Data/Mortality_Rates/Male/D_20_39.csv","Male",20,39), -GET_MORTALITY_DATA("Data/Mortality_Rates/Male/E_40_64.csv","Male",40,64), -GET_MORTALITY_DATA("Data/Mortality_Rates/Male/G_65_74.csv","Male",65,74), -GET_MORTALITY_DATA("Data/Mortality_Rates/Male/H_75_84.csv","Male",75,84), -GET_MORTALITY_DATA("Data/Mortality_Rates/Male/I_85+.csv","Male",85,Inf) - -) -LIN_MORTALITY <- MORTALITY_DATA_ALL %>% filter(County=="Lincoln") -###Save Mortality Rate data set - write_csv(LIN_MORTALITY,file="./Data/Cleaned_Data/Lincoln_Mortality_Rate.csv") - write_csv(MORTALITY_DATA_ALL,file="./Data/Cleaned_Data/Not_Used/Wyoming_County_Mortality_Rate.csv") - saveRDS(LIN_MORTALITY,file="./Data/Cleaned_Data/Lincoln_Mortality_Rate.Rds") - saveRDS(MORTALITY_DATA_ALL,file="./Data/Cleaned_Data/Not_Used/Wyoming_County_Mortality_Rate.Rds") - -#Clean all data from memory. Will be loaded in any paticular script as needed -rm(list = ls()) -gc() - diff --git a/Scripts/2_Download_and_Process_Demographic_Data.r b/Scripts/2_Download_and_Process_Demographic_Data.r new file mode 100644 index 0000000..b7e111d --- /dev/null +++ b/Scripts/2_Download_and_Process_Demographic_Data.r @@ -0,0 +1,44 @@ +library(tidyverse) +library(readxl) + +###################Demographics +if(!file.exists("./Data/Demo_Single_Year_2020s.xls")){download.file('http://eadiv.state.wy.us/Pop/CO_SYASEX24.xlsx',"./Data/Demo_Single_Year_2020s.xls")} +TEMP <- read_xlsx("./Data/Demo_Single_Year_2020s.xls",skip=2)[,-1] +TEMP <- TEMP[1:(min(which(is.na(TEMP[,1])))-1),] +TEMP <- TEMP[!grepl("Base",TEMP$YEAR,ignore.case=TRUE),] #There are two population values provided. I believe one is the census baseline, and one is a estimate in July. Keep the later estimate, to line up with the same seasonal collection pattern of the rest of the data +TEMP$YEAR <- year(as.Date(substr((TEMP$YEAR),1,8),format="%m/%d/%Y")) +colnames(TEMP) <- c("County","Year","Age","Number","Num_Male","Num_Female") +TEMP$County <- gsub(" County","",TEMP$County,ignore.case=TRUE) +DEM_2020 <- TEMP %>% select(-Number) +###Demographics all +DEM_DATA <- read_delim("Data/County_Demographics_Census/wy.1969_2023.singleages.through89.90plus.txt",delim=" ",col_names=c("ID","VALUES"),col_types=list('c','c')) +DEM_DATA$Year <- as.integer(substr(DEM_DATA$ID,1,4)) +DEM_DATA$fips<- substr(DEM_DATA$ID,7,11) +COUNTY_LIST <- read_csv("https://github.com/kjhealy/fips-codes/raw/refs/heads/master/county_fips_master.csv",col_types=list('c','c')) %>% filter(state_abbr=="WY") %>% select(fips,County=county_name) %>% mutate(County=gsub(" ","_",gsub(" County","",County,ignore.case=TRUE))) +DEM_DATA <- DEM_DATA %>% left_join(COUNTY_LIST) %>% select(-fips) +#16=3 +DEM_DATA$Sex <- ifelse(substr(DEM_DATA$VALUES,3,3)==1,"Male","Female") +DEM_DATA$Age <- parse_number(substr(DEM_DATA$VALUES,4,5)) +DEM_DATA$Number <- parse_number(substr(DEM_DATA$VALUES,6,14)) +DEM_DATA <- DEM_DATA %>% select(-ID,-VALUES) +DEM_DATA <- DEM_DATA %>% group_by(Year,County,Sex,Age) %>% summarize(Number=sum(Number)) %>% ungroup()#Aggregate to sex and age level + +#The Wyoming census data seems newer than this data set from SEER cancer data source. Drop any of these records that overlap with the Wyoming data before merging. Arrange so the column order is the same between the two data sets, so they can be easily bound together. +DEM_DATA <- pivot_wider(DEM_DATA,names_from=Sex,values_from=Number) %>% rename(Num_Female=Female,Num_Male=Male) %>% select(colnames(DEM_2020)) %>% filter(Year% unique +DEM_DATA <- rbind(DEM_2020,DEM_DATA) %>% ungroup %>% arrange(Year,Age) %>% unique %>% mutate(Region=County) %>% select(County,Region,Year,Age,Num_Male,Num_Female) #Add a region which in this case is just the county. For Lincoln cities and other areas are analysed +###Save demographic data set + if(!exists("SAVE_DEMO_LOC")){SAVE_DEMO_LOC <-"./Data/Cleaned_Data/Demographic_Sex_Age_Data"} + CSV_SAVE <- paste0(SAVE_DEMO_LOC,"/CSV") + RDS_SAVE <- paste0(SAVE_DEMO_LOC,"/RDS") + + #Save files for all county demographics + dir.create(CSV_SAVE , recursive = TRUE, showWarnings = FALSE) + dir.create(RDS_SAVE , recursive = TRUE, showWarnings = FALSE) + saveRDS(DEM_DATA,paste0(RDS_SAVE,"/All_Wyoming_Counties_Demographics.Rds" )) + write_csv(DEM_DATA,paste0(CSV_SAVE,"/All_Wyoming_Counties_Demographics.csv" )) + + #Save a file that is just Lincoln County, this just speeds up code so you do not always need to filter for 'Lincoln' + LIN_DEM <- DEM_DATA %>% filter(County=='Lincoln') + saveRDS(LIN_DEM,paste0(RDS_SAVE,"/Full_Lincoln_County_Demographics.Rds" )) + write_csv(LIN_DEM,paste0(CSV_SAVE,"/Full_Lincoln_County_Demographics.csv" )) + diff --git a/Scripts/3_Process_Existing_NIH_Mortality_Data.r b/Scripts/3_Process_Existing_NIH_Mortality_Data.r new file mode 100644 index 0000000..49e0397 --- /dev/null +++ b/Scripts/3_Process_Existing_NIH_Mortality_Data.r @@ -0,0 +1,99 @@ +#########################################Mortality Rate +library(tidyverse) +###Create Location to Save raw data sets + if(!exists("SAVE_LOC_RAW")){SAVE_LOC_RAW <-"./Data/Raw_Data/"} + dir.create(SAVE_LOC_RAW, recursive = TRUE, showWarnings = FALSE) +GET_MORTALITY_DATA <- function(FILE,SEX,LOWER_AGE,UPPER_AGE){ + #Create clean mortality rate data + #Data gathered from https://hdpulse.nimhd.nih.gov/data-portal/mortality/table?cod=247&cod_options=cod_15&ratetype=aa&ratetype_options=ratetype_2&race=00&race_options=race_6&sex=2&sex_options=sex_3&age=177&age_options=age_11&ruralurban=0&ruralurban_options=ruralurban_3&yeargroup=5&yeargroup_options=year5yearmort_1&statefips=56&statefips_options=area_states&county=56000&county_options=counties_wyoming&comparison=counties_to_us&comparison_options=comparison_counties&radio_comparison=areas&radio_comparison_options=cods_or_areas + + NAMES <- c("County","FIPS","Death_Rate","Lower_Rate","Upper_Rate","Deaths","Trend_Category","Trend","Lower_Trend","Upper_Trend") + DF <- read_csv(FILE,skip=5,col_names=NAMES,col_types=list('c',"i",'d','d','d','d','c','d','d','d')) %>% filter(grepl("County|Wyoming",County)|County=="United States") %>% mutate(Rate_SD=(Upper_Rate-Lower_Rate)/(2*1.96),Trend_SD=(Upper_Trend-Lower_Trend)/(2*1.96)) %>% select(County,Death_Rate,Rate_SD,Trend,Trend_SD) + DF$County <- gsub(" County","",DF$County,ignore.case=TRUE) + DF[,-1] <- DF[,-1]/100000 + WYOMING_TREND <- pull(DF[DF$County=="Wyoming",],"Trend") + US_TREND <- pull(DF[DF$County=="United States",],"Trend") + + WYOMING_RATE <- pull(DF[DF$County=="Wyoming",],"Death_Rate") + US_RATE <- pull(DF[DF$County=="United States",],"Death_Rate") + + DF$Imparted_Trend <- FALSE + if(is.na(WYOMING_TREND)){ + DF[1,4:5] <- DF[2,4:5] + DF[1,6] <- TRUE + } + + DF$Imparted_Rate <- FALSE + if(is.na(WYOMING_RATE)){ + DF[1,4:5] <- DF[2,2:3] + DF[1,6] <- TRUE + } + WYOMING_BASELINE_TREND <-cbind (DF[1,4:5] ,TRUE) + WYOMING_BASELINE_RATE <-DF[1,2:3] + + for(i in 3:nrow(DF)){ + #Impart any missing trends based on higher levels + if(is.na(pull(DF[i,],"Trend"))){ DF[i,4:6] <- WYOMING_BASELINE_TREND} + #Impart any missing death rates based on higher levels + if(is.na(pull(DF[i,],"Death_Rate"))){ + DF[i,2:3] <- WYOMING_BASELINE_RATE + DF[i,"Imparted_Rate"] <- TRUE + } + } + DF$Sex <- SEX + DF$Min_Age <- LOWER_AGE + DF$Max_Age <- UPPER_AGE + DF <- DF %>% select(County,Sex,Min_Age,Max_Age,Death_Rate,Rate_SD,Imparted_Rate,everything()) + return(DF) +} +SAVE_LOC_RAW_MORT <- paste0(SAVE_LOC_RAW,"Mortality_Rates/") +RAW_MORTALITY_LOC_FEMALE <- paste0(SAVE_LOC_RAW_MORT,"Female/") +RAW_MORTALITY_LOC_MALE <- paste0(SAVE_LOC_RAW_MORT,"Male/") +#Gather all mortality Records +MORTALITY_DATA_ALL <- rbind( + GET_MORTALITY_DATA(paste0(RAW_MORTALITY_LOC_FEMALE,"A_Under1.csv"),"Female",0,0), + GET_MORTALITY_DATA(paste0(RAW_MORTALITY_LOC_FEMALE,"B_1_9.csv"),"Female",1,9), + GET_MORTALITY_DATA(paste0(RAW_MORTALITY_LOC_FEMALE,"C_10_19.csv"),"Female",10,19), + GET_MORTALITY_DATA(paste0(RAW_MORTALITY_LOC_FEMALE,"D_20_39.csv"),"Female",20,39), + GET_MORTALITY_DATA(paste0(RAW_MORTALITY_LOC_FEMALE,"E_40_64.csv"),"Female",40,64), + GET_MORTALITY_DATA(paste0(RAW_MORTALITY_LOC_FEMALE,"G_65_74.csv"),"Female",65,74), + GET_MORTALITY_DATA(paste0(RAW_MORTALITY_LOC_FEMALE,"H_75_84.csv"),"Female",75,84), + GET_MORTALITY_DATA(paste0(RAW_MORTALITY_LOC_FEMALE,"I_85+.csv"),"Female",85,Inf), + GET_MORTALITY_DATA(paste0(RAW_MORTALITY_LOC_MALE,"A_Under1.csv"),"Male",0,0), + GET_MORTALITY_DATA(paste0(RAW_MORTALITY_LOC_MALE,"B_1_9.csv"),"Male",1,9), + GET_MORTALITY_DATA(paste0(RAW_MORTALITY_LOC_MALE,"C_10_19.csv"),"Male",10,19), + GET_MORTALITY_DATA(paste0(RAW_MORTALITY_LOC_MALE,"D_20_39.csv"),"Male",20,39), + GET_MORTALITY_DATA(paste0(RAW_MORTALITY_LOC_MALE,"E_40_64.csv"),"Male",40,64), + GET_MORTALITY_DATA(paste0(RAW_MORTALITY_LOC_MALE,"G_65_74.csv"),"Male",65,74), + GET_MORTALITY_DATA(paste0(RAW_MORTALITY_LOC_MALE,"H_75_84.csv"),"Male",75,84), + GET_MORTALITY_DATA(paste0(RAW_MORTALITY_LOC_MALE,"I_85+.csv"),"Male",85,Inf) +) +LIN_MORTALITY <- MORTALITY_DATA_ALL %>% filter(County=="Lincoln") +##Save the mortality data + if(!exists("SAVE_MORT_LOC")){SAVE_MORT_LOC <-"./Data/Cleaned_Data/Mortality_Rate_Data"} + CSV_SAVE <- paste0(SAVE_MORT_LOC ,"/CSV") + RDS_SAVE <- paste0(SAVE_MORT_LOC,"/RDS") + #Save files for all county demographics + dir.create(CSV_SAVE , recursive = TRUE, showWarnings = FALSE) + dir.create(RDS_SAVE , recursive = TRUE, showWarnings = FALSE) + saveRDS(MORTALITY_DATA_ALL,paste0(RDS_SAVE,"/All_Wyoming_Counties_Mortality_Rates.Rds" )) + write_csv(MORTALITY_DATA_ALL,paste0(CSV_SAVE,"/All_Wyoming_Counties_Mortality_Rates.csv" )) + saveRDS(LIN_MORTALITY,paste0(RDS_SAVE,"/Lincoln_County_Mortality_Rates.Rds" )) + write_csv(LIN_MORTALITY,paste0(CSV_SAVE,"/Lincoln_County_Mortality_Rates.csv" )) +#Create a short readme files to make the data sources more clear + #Save a raw data readme +sink(file=paste0(SAVE_LOC_RAW,"/README_MORTALITY_DATA.txt"),append=FALSE) + cat("Data files gathered manually from:\n") + cat("https://hdpulse.nimhd.nih.gov/data-portal/mortality/table?cod=247&cod_options=cod_15&ratetype=aa&ratetype_options=ratetype_2&race=00&race_options=race_6&sex=2&sex_options=sex_3&age=177&age_options=age_11&ruralurban=0&ruralurban_options=ruralurban_3&yeargroup=5&yeargroup_options=year5yearmort_1&statefips=56&statefips_options=area_states&county=56000&county_options=counties_wyoming&comparison=counties_to_us&comparison_options=comparison_counties&radio_comparison=areas&radio_comparison_options=cods_or_areas\n") + cat("\nEach file is single age group, so age weighting does not apply despite the variable names\n") +sink() + + + + #Save a processed raw data readme +sink(file=paste0(SAVE_MORT_LOC,"/README_MORTALITY_DATA.txt"),append=FALSE) + cat("This is a processed file of NIH death rates by age and county. Data files first gathered manually from:\n") + cat("\nhttps://hdpulse.nimhd.nih.gov/data-portal/mortality/table?cod=247&cod_options=cod_15&ratetype=aa&ratetype_options=ratetype_2&race=00&race_options=race_6&sex=2&sex_options=sex_3&age=177&age_options=age_11&ruralurban=0&ruralurban_options=ruralurban_3&yeargroup=5&yeargroup_options=year5yearmort_1&statefips=56&statefips_options=area_states&county=56000&county_options=counties_wyoming&comparison=counties_to_us&comparison_options=comparison_counties&radio_comparison=areas&radio_comparison_options=cods_or_areas\n") + cat("\nThese manually saved files are in the raw data directory. Each file is single age group, so age weighting does not apply despite the variable names\n") +sink() + diff --git a/Scripts/Get_Sim_Intial_Demographic_Data.r b/Scripts/Get_Sim_Intial_Demographic_Data.r new file mode 100644 index 0000000..ccbc34e --- /dev/null +++ b/Scripts/Get_Sim_Intial_Demographic_Data.r @@ -0,0 +1,44 @@ +##Extract Lincoln county ACS data including separate indicators for if a census tract is in Kemmerer, or any other part of the county. Population by Age-Sex in each year for each tract. +GET_ACS_LIN_DATA <- function(ACS_YEAR,ACS_CODES=CODES,CENSUS_TRACTS=PROJ_TRACTS){ + AGE_DATA <- get_acs(geography="tract",year=ACS_YEAR,variables=ACS_CODES$variable,state='WY',county='lincoln') %>% mutate(se=moe/1.64) %>% left_join(ACS_CODES %>% mutate(variable=gsub('E','',variable))) %>% select(-NAME,-moe) %>% left_join(CENSUS_TRACTS) %>% mutate(IN_KEM=ifelse(is.na(IN_KEM),0,1)) %>% rename(Population=estimate) %>% select(-variable,-GEOID) %>% select(Sex,Min_Age,Max_Age,Med_Age,IN_KEM,Population,se) %>% filter(!(Min_Age==0& Max_Age==Inf)) + AGE_DATA <- AGE_DATA %>% group_by(Sex,Min_Age,Max_Age,Med_Age,IN_KEM)%>% summarize(Population=sum(Population)) %>% ungroup + #Add Descriptive age category to a clean graph + AGE_DATA$Ages <- paste(AGE_DATA$Min_Age,"to",AGE_DATA$Max_Age) + AGE_DATA[AGE_DATA$Max_Age==Inf,"Ages"] <- "85+" + AGE_DATA[AGE_DATA$Med_Age==18,"Ages"] <- "18" + AGE_DATA[AGE_DATA$Med_Age==20,"Ages"] <- "20" + AGE_DATA[AGE_DATA$Med_Age==21,"Ages"] <- "21" + AGE_DATA[AGE_DATA$Min_Age==0,"Ages"] <- "Under 5" + #Turn the ages into factors to keep the correct order in graphs + #Add the percent of total relative population in the region + ORD <- AGE_DATA %>% select(Min_Age,Ages) %>% unique %>% arrange(Min_Age) %>% pull(Ages) %>% unique + AGE_DATA$Ages <- factor(AGE_DATA$Ages,levels=ORD) + AGE_DATA$Year <- ACS_YEAR + AGE_DATA <-AGE_DATA %>% select(Year,Sex,Ages,IN_KEM,everything()) + return(AGE_DATA) +} +####################Loop to create data for each year. Projecting distribution of ages into Kemmerer, and returning a demographic distribution for Kemmerer/Diamondville in each year of the ACS (currently 2009 to 2023) +MAKE_KEM_DEMO_DATA_YEAR <- function(ACS_YEAR){ + LIN_DEMOGRAPHICS <- readRDS("Data/Cleaned_Data/Lincoln_Demographic_Data.Rds") %>% filter(Year==ACS_YEAR) + AGE_DATA <- GET_ACS_LIN_DATA(ACS_YEAR) + for(i in 1:nrow(AGE_DATA)){ + if(i==1 & exists("RES")){rm(RES)} + C_DEMO <- AGE_DATA[i,] + C_SEX <- C_DEMO$Sex + if(C_DEMO$Min_Age==C_DEMO$Max_Age){C_AGE_YEARLY_DATA <- LIN_DEMOGRAPHICS %>% filter(Age==C_DEMO$Min_Age)}else{ + C_AGE_YEARLY_DATA <- LIN_DEMOGRAPHICS %>% filter(Age>=C_DEMO$Min_Age,Age<=C_DEMO$Max_Age) + } + #Extract only the current sex being applied + if(C_SEX=='Female'){C_AGE_YEARLY_DATA <- C_AGE_YEARLY_DATA %>% select(Age,Num_Female) %>% rename(POP=Num_Female)}else{C_AGE_YEARLY_DATA <- C_AGE_YEARLY_DATA %>% select(Age,Num_Male) %>% rename(POP=Num_Male)} + C_AGE_YEARLY_DATA$Sex <- C_SEX + C_AGE_YEARLY_DATA$PER <- C_AGE_YEARLY_DATA$POP/sum(C_AGE_YEARLY_DATA$POP) + C_RES <- C_AGE_YEARLY_DATA%>% left_join(C_DEMO) %>% mutate(Population=PER*Population) %>% select(Age,Sex,IN_KEM,Population) + if(i==1){RES <- C_RES}else{RES <- rbind(RES,C_RES)} + } + RES$Year <- ACS_YEAR + RES$County <- "Lincoln" + RES <- RES %>% select(County,IN_KEM,Year,Age,Sex,Population) + return(RES) +} + + diff --git a/Scripts/Load_ACS_Census_Data.r b/Scripts/Load_ACS_Census_Data.r index 494adaa..d2a07d7 100644 --- a/Scripts/Load_ACS_Census_Data.r +++ b/Scripts/Load_ACS_Census_Data.r @@ -1,9 +1,11 @@ +#library(tidyverse);setwd("../") library(tidycensus) library(zipcodeR) +source("Scripts/Get_Sim_Intial_Demographic_Data.r") +if(!exists("SAVE_DEMO_LOC")){SAVE_DEMO_LOC <-"./Data/Cleaned_Data/Demographic_Sex_Age_Data"} +ACS_END_YEAR <- 2023 #most recent in package as of Nov 4 2025 #Pull the relevant median age variables the value moe (margine of error) can be converted to standard error, following the link below #https://www.census.gov/content/dam/Census/library/publications/2018/acs/acs_general_handbook_2018_ch08.pdf -ACS_YEAR <- 2023 #most recent as of Nov 4 2025 -source("Scripts/Downshift_Population_Functions.r") #Packages to instal on computer if zipcodeR won't install #Sudo apt install libssl-dev libudunits2-dev libabsl-dev libcurl4-openssl-dev libgdal-dev cmake libfontconfig1-dev libharfbuzz-dev libfribidi-dev #install.packages("zipcodeR") @@ -13,28 +15,32 @@ source("Scripts/Downshift_Population_Functions.r") #census_api_key(KEY, install = TRUE) PROJ_TRACTS <- get_tracts(search_city('Kemmerer','WY')$zipcode) %>% full_join(get_tracts(search_city('Diamondville','WY')$zipcode)) PROJ_TRACTS <- PROJ_TRACTS %>% select(GEOID) %>% mutate('IN_KEM'=1) %>% mutate(GEOID=as.character(GEOID)) - -MED_AGE_VAR <- cbind(c('B01002_001E','B01002_002E','B01002_003E'),c('Median_Age','Median_Age_Male','Median_Age_Female')) %>% as_tibble %>% rename(variable=V1,Data_Type=V2) - ###Load data manually created which links vairable names to sex-age census data CODES <- read_csv("Data/API_CENSUS_CODES.csv",skip=1) %>% mutate(Med_Age=(Min_Age+Max_Age)/2) %>% rename(variable=Code) #Testing age Comparison between the two ###Extract census data for all tracts in Lincoln county, clean up the data, and indicate if the tract is in Kemmerer/Diamondvile or not. -AGE_DATA <- get_acs(geography="tract",year=ACS_YEAR,variables=CODES$variable,state='WY',county='lincoln') %>% mutate(se=moe/1.64) %>% left_join(CODES %>% mutate(variable=gsub('E','',variable))) %>% select(-NAME,-moe) %>% left_join(PROJ_TRACTS) %>% mutate(IN_KEM=ifelse(is.na(IN_KEM),0,1)) %>% rename(Population=estimate) %>% select(-variable,-GEOID) %>% select(Sex,Min_Age,Max_Age,Med_Age,IN_KEM,Population,se) %>% filter(!(Min_Age==0& Max_Age==Inf)) -AGE_DATA <- AGE_DATA %>% group_by(Sex,Min_Age,Max_Age,Med_Age,IN_KEM)%>% summarize(Population=sum(Population)) %>% ungroup -#Add Descriptive age category to a clean graph -AGE_DATA$Ages <- paste(AGE_DATA$Min_Age,"to",AGE_DATA$Max_Age) -AGE_DATA[AGE_DATA$Max_Age==Inf,"Ages"] <- "85+" -AGE_DATA[AGE_DATA$Med_Age==18,"Ages"] <- "18" -AGE_DATA[AGE_DATA$Med_Age==20,"Ages"] <- "20" -AGE_DATA[AGE_DATA$Med_Age==21,"Ages"] <- "21" -AGE_DATA[AGE_DATA$Min_Age==0,"Ages"] <- "Under 5" -#Turn the ages into factors to keep the correct order in graphs -#Add the percent of total relative population in the region -ORD <- AGE_DATA %>% select(Min_Age,Ages) %>% unique %>% arrange(Min_Age) %>% pull(Ages) %>% unique -AGE_DATA$Ages <- factor(AGE_DATA$Ages,levels=ORD) -AGE_DATA$Year <- ACS_YEAR -AGE_DATA <-AGE_DATA %>% select(Year,Sex,Ages,IN_KEM,everything()) -if(!exists('ACS_FILE_LOC')){ACS_FILE_LOC <- "Data/Cleaned_Data/ACS_Census_Demographic_Data.Rds"} -saveRDS(AGE_DATA,ACS_FILE_LOC) +DEMO_DATA_ALL <- do.call(rbind,lapply(2009:ACS_END_YEAR,MAKE_KEM_DEMO_DATA_YEAR)) +ORIG_DEMO_DATA_ALL <- DEMO_DATA_ALL +#Merge Age of 85+ into one group, because NIH death spastics end in this age category so it is extra overhead to keep each year +YOUNG <- DEMO_DATA_ALL %>% filter(Age<85) +OLD <- DEMO_DATA_ALL %>% filter(Age>=85) %>% group_by(County,IN_KEM,Year,Sex) %>% summarize(Age=85,Population=sum(Population)) %>% ungroup +DEMO_DATA_ALL <- rbind(YOUNG,OLD) %>% arrange(County,Year,IN_KEM,Sex) +DEMO_DATA_ALL <- DEMO_DATA_ALL %>% mutate(Population=round(Population)) %>% pivot_wider(values_from=Population,names_from=Sex,names_prefix="Num_") +OTHER_LIN_DEMO_DATA <- DEMO_DATA_ALL %>% filter(IN_KEM==0) %>% rename(Region=IN_KEM) %>% mutate(Region='Lincoln_Other') +KEM_DEMO_DATA <- DEMO_DATA_ALL %>% filter(IN_KEM==1) %>% rename(Region=IN_KEM) %>% mutate(Region='Kemmerer') + + + +####Save results +CSV_SAVE <- paste0(SAVE_DEMO_LOC,"/CSV") +RDS_SAVE <- paste0(SAVE_DEMO_LOC,"/RDS") +dir.create(CSV_SAVE , recursive = TRUE, showWarnings = FALSE) +dir.create(RDS_SAVE , recursive = TRUE, showWarnings = FALSE) +#Kemmerer Save +saveRDS(KEM_DEMO_DATA,paste0(RDS_SAVE,"/Kemmerer_Diamondville_Demographics.Rds" )) +write_csv(KEM_DEMO_DATA,paste0(CSV_SAVE,"/Kemmerer_Diamondville_Demographics.csv" )) +#Other Lincoln area (not Kemmerer) save +saveRDS(OTHER_LIN_DEMO_DATA,paste0(RDS_SAVE,"/Other_Lincoln_Demographics.Rds" )) +write_csv(OTHER_LIN_DEMO_DATA,paste0(CSV_SAVE,"/Other_Lincoln_Demographics.csv" )) +