From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Tremer To: ipfire-scm@lists.ipfire.org Subject: [git.ipfire.org] IPFire 2.x development tree branch, next, updated. 4742a8032fcdd9d892b899dbe7ed42ada67644ca Date: Wed, 26 Jul 2023 10:24:16 +0000 Message-ID: <4R9qkm5W6Rz2xc9@people01.haj.ipfire.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============5881579735492407625==" List-Id: --===============5881579735492407625== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "IPFire 2.x development tree". The branch, next has been updated via 4742a8032fcdd9d892b899dbe7ed42ada67644ca (commit) via 4a242715e346d4eaa847459fa37c32e852431e48 (commit) via 5c4faba67bea97ffebe3f0e261059c71f73cb5d3 (commit) via 719864d37ed15b86c10747fc3eaf95d69c30727d (commit) from ee4123d2c88686ba8de7a59ca45a6678f160f0b3 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 4742a8032fcdd9d892b899dbe7ed42ada67644ca Author: Michael Tremer Date: Wed Jul 26 10:23:49 2023 +0000 make.sh: Move Git to where it was built before and move firmware after it =20 Signed-off-by: Michael Tremer commit 4a242715e346d4eaa847459fa37c32e852431e48 Author: Michael Tremer Date: Tue Jul 25 11:16:59 2023 +0000 make.sh: Build Git earlier as we need it to apply binary patches =20 The Linux firmware microcode patches require Git to apply binary patches as they are not supported by patch(8). =20 Signed-off-by: Michael Tremer commit 5c4faba67bea97ffebe3f0e261059c71f73cb5d3 Author: Michael Tremer Date: Tue Jul 25 11:15:45 2023 +0000 linux-firmware: Fix AMD microcode updates for Zenbleed =20 https://lock.cmpxchg8b.com/zenbleed.html =20 Fixes: CVE-2023-20593 Signed-off-by: Michael Tremer commit 719864d37ed15b86c10747fc3eaf95d69c30727d Author: Arne Fitzenreiter Date: Tue Jul 25 05:01:25 2023 +0000 kernel: update to 6.1.40 =20 Signed-off-by: Arne Fitzenreiter Signed-off-by: Michael Tremer ----------------------------------------------------------------------- Summary of changes: config/kernel/kernel.config.aarch64-ipfire | 2 +- config/kernel/kernel.config.x86_64-ipfire | 2 +- config/rootfiles/core/177/filelists/files | 2 + lfs/linux | 5 +- lfs/linux-firmware | 3 + make.sh | 12 +- src/patches/linux-firmware-amd-family-17h.patch | 243 ++++++++++ src/patches/linux-firmware-amd-family-19h.patch | 589 ++++++++++++++++++++++= ++ 8 files changed, 847 insertions(+), 11 deletions(-) create mode 100644 src/patches/linux-firmware-amd-family-17h.patch create mode 100644 src/patches/linux-firmware-amd-family-19h.patch Difference in files: diff --git a/config/kernel/kernel.config.aarch64-ipfire b/config/kernel/kerne= l.config.aarch64-ipfire index 9ad75c92b..3f6ec5a75 100644 --- a/config/kernel/kernel.config.aarch64-ipfire +++ b/config/kernel/kernel.config.aarch64-ipfire @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm64 6.1.39-ipfire Kernel Configuration +# Linux/arm64 6.1.40-ipfire Kernel Configuration # CONFIG_CC_VERSION_TEXT=3D"gcc (GCC) 13.1.0" CONFIG_CC_IS_GCC=3Dy diff --git a/config/kernel/kernel.config.x86_64-ipfire b/config/kernel/kernel= .config.x86_64-ipfire index e40181dc6..4b75c12ec 100644 --- a/config/kernel/kernel.config.x86_64-ipfire +++ b/config/kernel/kernel.config.x86_64-ipfire @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 6.1.39-ipfire Kernel Configuration +# Linux/x86 6.1.40-ipfire Kernel Configuration # CONFIG_CC_VERSION_TEXT=3D"gcc (GCC) 13.1.0" CONFIG_CC_IS_GCC=3Dy diff --git a/config/rootfiles/core/177/filelists/files b/config/rootfiles/cor= e/177/filelists/files index 1e50572e7..e9ba30a0c 100644 --- a/config/rootfiles/core/177/filelists/files +++ b/config/rootfiles/core/177/filelists/files @@ -1,3 +1,5 @@ +lib/firmware/amd-ucode/microcode_amd_fam17h.bin +lib/firmware/amd-ucode/microcode_amd_fam19h.bin lib/firmware/amdgpu/aldebaran_mec2.bin lib/firmware/amdgpu/aldebaran_mec.bin lib/firmware/amdgpu/aldebaran_sjt_mec2.bin diff --git a/lfs/linux b/lfs/linux index 75fa0c00f..a87161293 100644 --- a/lfs/linux +++ b/lfs/linux @@ -24,8 +24,7 @@ =20 include Config =20 -VER =3D 6.1.39 - +VER =3D 6.1.40 ARM_PATCHES =3D 6.1.y-ipfire2 =20 THISAPP =3D linux-$(VER) @@ -76,7 +75,7 @@ objects =3D \ $(DL_FILE) =3D $(URL_IPFIRE)/$(DL_FILE) arm-multi-patches-$(ARM_PATCHES).patch.xz =3D $(URL_IPFIRE)/arm-multi-patche= s-$(ARM_PATCHES).patch.xz =20 -$(DL_FILE)_BLAKE2 =3D 36bb549b14ccff3bd1751ff8475e74a77f8f65d9531ca2379b1dd2= ccfe9adcf6852a764d615c42b3ad8a91c0d96668ae970085ab889dd98e21789f54a2f7641e +$(DL_FILE)_BLAKE2 =3D a85b3418f8b35889a9b825b46f097b319218ee28e0225abf9190ae= 3a7b6d8de89bb21d3033ea17ab6a71e10134ff25bd5252195a7d07041bf0e0a790d52e9fac arm-multi-patches-$(ARM_PATCHES).patch.xz_BLAKE2 =3D 7afc460562fb24bcd75784f= c79de768f9b60780aedd88d1a847927169e31920bbb475b1ac1466c4a224a7876d16bd8d465b9= 6202de12b74f6e2ccbfcec731ad3 =20 install : $(TARGET) diff --git a/lfs/linux-firmware b/lfs/linux-firmware index b515855d8..7313c2d0f 100644 --- a/lfs/linux-firmware +++ b/lfs/linux-firmware @@ -70,6 +70,9 @@ $(subst %,%_BLAKE2,$(objects)) : $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && git apply -p1 < $(DIR_SRC)/src/patches/linux-firmware-amd-= family-19h.patch + cd $(DIR_APP) && git apply -p1 < $(DIR_SRC)/src/patches/linux-firmware-amd-= family-17h.patch + mkdir -p /lib/firmware cd $(DIR_APP) && make install =20 diff --git a/make.sh b/make.sh index 57b6c6f15..e0db03619 100755 --- a/make.sh +++ b/make.sh @@ -1113,12 +1113,6 @@ buildipfire() { lfsmake2 pptp lfsmake2 unzip lfsmake2 which - lfsmake2 linux-firmware - lfsmake2 dvb-firmwares - lfsmake2 zd1211-firmware - lfsmake2 rpi-firmware - lfsmake2 intel-microcode - lfsmake2 pcengines-apu-firmware lfsmake2 bc lfsmake2 u-boot MKIMAGE=3D1 lfsmake2 cpio @@ -1495,6 +1489,12 @@ buildipfire() { lfsmake2 liboping lfsmake2 collectd lfsmake2 git + lfsmake2 linux-firmware + lfsmake2 dvb-firmwares + lfsmake2 zd1211-firmware + lfsmake2 rpi-firmware + lfsmake2 intel-microcode + lfsmake2 pcengines-apu-firmware lfsmake2 elinks lfsmake2 igmpproxy lfsmake2 opus diff --git a/src/patches/linux-firmware-amd-family-17h.patch b/src/patches/li= nux-firmware-amd-family-17h.patch new file mode 100644 index 000000000..b3cbc6b12 --- /dev/null +++ b/src/patches/linux-firmware-amd-family-17h.patch @@ -0,0 +1,243 @@ +From 0bc3126c9cfa0b8c761483215c25382f831a7c6f Mon Sep 17 00:00:00 2001 +From: John Allen +Date: Wed, 19 Jul 2023 19:17:57 +0000 +Subject: [PATCH] linux-firmware: Update AMD fam17h cpu microcode + +* Update AMD cpu microcode for processor family 17h + +Key Name =3D AMD Microcode Signing Key (for signing microcode contain= er files only) +Key ID =3D F328AE73 +Key Fingerprint =3D FC7C 6C50 5DAF CC14 7183 57CA E4BE 5339 F328 AE73 + +Signed-off-by: John Allen +Signed-off-by: Josh Boyer +--- + WHENCE | 2 +- + amd-ucode/README | 3 ++- + amd-ucode/microcode_amd_fam17h.bin | Bin 9700 -> 12924 bytes + amd-ucode/microcode_amd_fam17h.bin.asc | 16 ++++++++-------- + 4 files changed, 11 insertions(+), 10 deletions(-) + +diff --git a/WHENCE b/WHENCE +index b92e5299..dcb86fab 100644 +--- a/WHENCE ++++ b/WHENCE +@@ -3909,7 +3909,7 @@ Raw: amd-ucode/microcode_amd_fam16h.bin + Version: 2014-10-28 + File: amd-ucode/microcode_amd_fam17h.bin + Raw: amd-ucode/microcode_amd_fam17h.bin +-Version: 2023-04-13 ++Version: 2023-07-19 + File: amd-ucode/microcode_amd_fam19h.bin + Raw: amd-ucode/microcode_amd_fam19h.bin + Version: 2023-07-18 +diff --git a/amd-ucode/README b/amd-ucode/README +index 4308fe2d..1d39da3b 100644 +--- a/amd-ucode/README ++++ b/amd-ucode/README +@@ -32,8 +32,9 @@ Microcode patches in microcode_amd_fam16h.bin: +=20 + Microcode patches in microcode_amd_fam17h.bin: + Family=3D0x17 Model=3D0x08 Stepping=3D0x02: Patch=3D0x0800820d Length=3D3= 200 bytes ++ Family=3D0x17 Model=3D0x31 Stepping=3D0x00: Patch=3D0x0830107a Length=3D3= 200 bytes ++ Family=3D0x17 Model=3D0xa0 Stepping=3D0x00: Patch=3D0x08a00008 Length=3D3= 200 bytes + Family=3D0x17 Model=3D0x01 Stepping=3D0x02: Patch=3D0x0800126e Length=3D3= 200 bytes +- Family=3D0x17 Model=3D0x31 Stepping=3D0x00: Patch=3D0x08301072 Length=3D3= 200 bytes +=20 + Microcode patches in microcode_amd_fam19h.bin: + Family=3D0x19 Model=3D0x01 Stepping=3D0x01: Patch=3D0x0a0011d1 Length=3D5= 568 bytes +diff --git a/amd-ucode/microcode_amd_fam17h.bin b/amd-ucode/microcode_amd_fa= m17h.bin +index 37d899cd534789e461a5cf3ad666fcd587b8ab93..f9841b65b8d6ea156a402f45bba1= 7f0e31eaf4ea 100644 +GIT binary patch +delta 5515 +zcmYk8RZtuZvPK7jySq%V;4T4zJAvTt?(RBxa1Rz_&;WzO;BLVoxCQs%1edx0ZtdNB +zzpAb}UsXT#OP{^ZFP4hZ$`XKoMfINv!w&fu{ySkI000hl_#t#j|ZT}icQL6u7i2O&l7_~t1tENe0U+A +z>aiT*n=3D7;5{Mj*6^>@9B!N`TNQ-(IF^RO<@Ck{?X@^XsXb!)_}-TIAF$J$y#|42zO +zC|hgIJ+wL{5>J6AJ`siL$1omP$DdlPwvuAH<+$`+r%e)0zM2p+D6o%|6Nf~PEhHKL +z@~d~0!eD+r^;H1mX{fR5!$*GDB#v+S?#K!+-w!f*ZkT=3Dc9B4+TXIP7I--6xZHsHj10RaW +z#(7u5oYbEZiZEIJ8$XuWuBfrP+)w95`gc!gb>CFHzU-C7em{*tL5Www0twaNI-(a)qH +z{gmf9>-kl8tD(a)GxIp)2o7*6|!*ay%IOe~Um_8cY_vyrWG3HV!QD?!m(a)FYxe9aHrHy +zxpkGs7F(hL1wGq?Z!J^%C(iiBaxNqn6z9XV}@Xwp)Cg8j|0{2BCfzU5y*+GhWkXIYbAF^s`C~wRQ{Jxn7b+SkU9}FddM| +zAQlvHLsaXVi9B3(a)_BE-16tG?eRfn&7ZJ_FK)Z*CM5L#9me}pZLWQy`Q7nGcGZg1^AtMOaMxSeF_G0zLL!m=3D +zob1B6&H0G_fnYwdRnX6hrDYx{)$mr;yb2NjI7IvehpYaJ(|4~8arH)%xQ)0RUFGyw +zq${*LQh~k2_`1K}H#uAlzk2p*Xn)HehKTmbr_5VtHGNT`PtNllJgAEC)(%N^}Of{egQEuhE?I|Vw&LL7}I7; +z`ls+cZvQeNANzJ)Mve~aD2|O~xW3M}dAwlr2=3DVWXUak!j(a)ckln8fWD5{HH}jJ+aNe +zEW2CsDm1WY0%*ATmz3%WzT3C}Su|PU-oX-Ah0gO!^Sa#Ll4{?nCDKCcUiLg42LQH6 +zgi^hWC`^I$cDr5+)Q?N|cDKGLuy +zyQeik2^k0S(qJ-b9*Jz`TWzcLq8V-3(a)Ym>O`;8a+AbFL&xLVvE`)MWya)(D<9*XM1 +zXFFW&pUh>V^$0Z+4(a)LQynM%tIms?a?7zE)OsDe42J9k`(_gl1aOhjm#3&Y39=3DjfVs^ +zx3l>{Qc$CEH&uCms0U#(jqUp=3D&8ZpoK6XSEReo^&&+nuK!sA@GU~>l8_(a)4YgP%z?XatsQ7kb3sM}LrHLFa+PIfYXN5c{2KDpO;y)72 +zI}wc`NPF2&Nh>MRib!@5`+2UmQ`hC!i|s6v<0+Jg>*rwGIiz*mv%IR(a)O%IyqSJtg~ +zvOJ50s8b)sz=3D%G}c^O`r9q2wGMYv<#yz(MyBXAP*M0-cHw +z6gIj~5nw9g(&#RlT;W2E<HGfZ4pBbf%gQpdfa7(r8(gK!X`ZHE0FXW(K&G8us!`CF|H(dx +zzeE_KfOD(a)G7xA@sJdvFt3!U{?dOcjfX)SztR^RF`AE)RSt*&Jb2J8hFT4|AcFCNik +z_GS548p2O?R78M~A2GJhzDl)Hgb$n6pO +zb#Izuq&|Q^%3Fn}fDW}K+Nf~$&Jn#G7wZRkam(bor8h?Ui(a)rq{|Ea9HVe_Y{jxQRv +zVPU)}sl8#>^(VH-${rR3eHZ^muUv!@F4b6KF&-D!$5(0-CAV?shS|TA%y6J9pw%OZ~_a +zt}TS^ZK(Z8&E3;ngME15MF)dpQV>yPQz^lyRhD(4xhhX5&x8E +z%=3D0phG=3Dg5WFU0gY6D$-DsH4Qcej|F+Xfro4O{Il6Rz>Qj +znAc{|Zq{DXYxcjQUS}-(wGS1%G(a)w1`8>H3-hrS)MtC4}6PYUD%*J;ZAtthpUdwP>r +zNyimboG(_nD~KS^t0p(a)Qp2(WMQ|#Y|?$YW0knCR7xNh69>KsdE4#jqlgT0JWtVU&h +zdcQB6{>UlO3ak_Xw~-mUHlv-pt&9Q$Vhf<;46L>G!?xm*9|W`Hf2E)Yb^Rk;fDjA- +zfEGxIgaQJ9Q4m7@&szUY|FKwyBUOdpdCxxO=3D@D2lm6Vm<-}V(a)R?|qKEo7}JEP$oPa +z1q&9G7>h*x=3D6zF?l?)gMrTMOEi`nkbGWjs?6MV7;45FAVQrB|@n*i74(a)p>-I$|y^~ +zO8;rXyaaI)Ks^sx7w`~-R#w5Kvns~QNBE1qq)JL%=3DG*ud&Wdgia(a)+JpeR4?kH6#O` +zt3$OjAkqkRhCGY8e}-`OW6r}R#a#`LP%fFU(zb;FLdhTAct!$Du7?6J#M;d(a)Mn*4y +zx_ZE~+cRUol&M&1p#3(a)AjsHdh{?5lZa +zGEUf=3DJ^CK2!O_bu6DHw?v&v9o +z2_mlFPCxLTAs=3D+q(2+a(a)l-zZmjUb2S{r>!+7R{kR%#n`m-%61F0fE{5Snr95QhZ%RHU5fo;SppyEMvZTK +zBRw_7x}#4r{Tly-(V)1O4QJkg(a)Mj<=3DrQ*Sn_Ei7T>KkyuI$eN;=3DFQGnT0HV+3(5zQ +z*X?P!xGP(a)C7Bm77Zxu3f(J{OozO)xnzEDz5{Ce_W7hVQM{N>vQxY12=3D!rpV#%*D`b +zixKbKr`1#WJ)O4r$>TygH$Pwf$EZ(ZjR~aeix$f)gB9p7<)jjc8yMz#+0gvWLvZQD +zj1Tj0zc;HNXa8cZY$`3p8ai~lei;XI=3D!uxw(a)8DJJQRmi*It5S8wmWisZ~r`wQ{WEC(a)m +zPsjNRZr47m9;wp0+b{G2G+nty1n{^DJGHH62!i}hG0zoWg9ZECWQwN(@n_>tp-t^z +zA+5I;6$?<21b3!L)ePGDl&XGgmG0@%1$&x48mD)1+zq=3D +zj9Yc|S_!+PSuLe9{J8$2C9hHm{t$eVIL6{G`y_&$6yN;>+mstD%;3;>j^mcZrAmK- +zt5~@Ki)g8W(sK<-Vi793=3D|IG&ftJ%}wg6ywsS&KbqR#_vppo +zyntL|6EOyPfwh(NslOa-S>vd7p{0qn#Ew-#5`H}VJ1!2cMhw!$%NniBTOOk?k#kti +zks|^*gV{Q~ALd?jD=3D)XzmeU_v+>}yQXDY>iA1I4rekhw3gJ0DEtkBku3hp+I?y!E^ +z`NAQT9jQC6-E-M@=3DpdXpZYaVkKMGNpl>x0VlZjQqY$%j1XXCAB_LZ>9c?Syhl0>~6 +ztY4&kiF9uu^O9Wc_oGn8N;tK5L(cZ0EyhL4O7P*q +z-T^tWD*-Un`o#l@(HD}yKe3KT6BnNV4c+wV%tkR?yE3|ck%qWs3!l-sHe8y%k%9KZ +zGftz-tWk}d)5+&b@$-t|Pl1vwnj&}JY~}m{P46v+lJ)(cq+^#E??;jonm2CnDm(4( +z6-A&=3DbWq08;JHY=3DQ2U8>}pYG-Tp;8U*UeG^b{33TsT$?A8{as*Kjz +z;Y0tvL!|hDbS_bTLH;gna3Ks(a)a*AW5nc^RP2BowqPt=3DeQQT7#foHGdYUO+?0+fp>f +zMT3h-YL-&V%SY_2b*w)3f_K+;U~0?y31W?~U5p1WA{?VB6HXNN^1d#eH23uZMbxVdI)y^zwGG&O7Mc(#pFPfM +zuf9aoZ4ERGB!{6t(a)+WQTBGHUNhBd#ns6)qmS{<8M%60ooeW>*|zcn5G7#E~33{0oB +z>phpOtH5%v3<|m=3D?@%JJ&;@P4EUjFJ2~l7?A#=3D{fYB(3=3D)h%LN1vES3WQUVwNsKa- +zm~YIJSh#Z${++Ie6uIFc{T(a)w-RlmYBb55h-GAWn70gw7yF{l(a)DjT*cZ$amhbN>kNr +zSTh040SRcc>sU;A9um%_!_Povujr?Xq8rJb`2idLt4fnT9slQBbC6F~hBCpgDy-bHMCf;&k{@uE4dwa((8}ItIb}f`LvZTh`0U}^q!1>&V)*0eKWL)^fe?Goa +z23N_0Sf&9$$p?5)m~CUD!3H>a6%9v5;t{o%U5Th&s(a)TK3kF#4v6ixx@?D_DZ2`t|I&(34 +zA`P7VMvC>o(}UfgT|PLShH%|@isZiXMoJHiqq~~#q7tNTvggZI +z1eH3}{K-Z{%8tD11YBa=3D +zb_7FO3xP*#Y4f2rLQ5(WVczX29%nodL9Ov*>DI>16AxvHueJY%H)l~NbcicZxvnKP~-dZi +z)z=3DjN<0LY!kS*KISK*gdXw-R&E`(s(a)c6L0Izh@NCRQLifd03hlVG6nq5E%Q~SG_!r +zi-uhg%Or+^L&t>|jcEG3atgujiSBDNCfqI7&oSstXiun(tb&=3DlSq>bSe2I!Q?Z{Di +zf8d`9Dh=3DFL#?_{Nr(a)Z+p&LhA|n{;CmWS8>DKuC0gYs^)6NlE#;8*1y^X|~#5VqJbH +zZ+f`&0=3D_}j{dp^5Mq#I|;$ODtORP+K$zOvl$rO)lG}=3D<$8*KM1BeYlUK|B3&gxT(s +z7G?W{DJi797Yjm?rTLhwIY2Pf*AhxhM-eFvDj~ZG4aYJz%AI=3D&Ip3Y`@UqBqdVpS` +z>CnmC9G~w}L!-YvK(3^uK0!K#ac| +z2fGO8EX(7gOtO?8A2A`a+bH_j=3DKK5ox`+R6J!TA0QyN*|7vA6hHPrV&TwLeIZHxen +F{{gHxepLVf + +delta 2769 +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 +XI8~N^f?XgDZsTXPhi>+WOwD$}@;OgK + +diff --git a/amd-ucode/microcode_amd_fam17h.bin.asc b/amd-ucode/microcode_am= d_fam17h.bin.asc +index 27da52c8..34a40245 100644 +--- a/amd-ucode/microcode_amd_fam17h.bin.asc ++++ b/amd-ucode/microcode_amd_fam17h.bin.asc +@@ -1,11 +1,11 @@ + -----BEGIN PGP SIGNATURE----- +=20 +-iQEzBAABCgAdFiEE/HxsUF2vzBRxg1fK5L5TOfMornMFAmQeEvgACgkQ5L5TOfMo +-rnPOpAf/dYhPqq/ktg1muI/khV4EhDiguX6OXib3fmfSZdvPIAI0cRI77M3Lvf0b +-nlV8D67e5HOQ5foJbix5tunz0sZjqr2QU8U9dNk/ut0KC7UiCRc8VH40aSi/OQBG +-Y8c7tb6IJ+N+jyJ6Ii6koUuRO2Lk2MckcrWLRuLRV4bB+osyJrGjc/X54Z6UJ/Ma +-VDg13Yxy5WvC7sMmlmnY42JLeLBKDVUvg0zDvJ4aOLLxRE2l3eiAKE+TV122LmxN +-ca5WA/ESYQ9BjxHYIrpTd9nQaWa/TIZ+rOmJGLMtnQ1gGlW97zQuJR7zh+8vdLzC +-iwVlS1cu7kcV7KYDytTkWJ+2gwb3uQ=3D=3D +-=3DlP2S ++iQEzBAABCgAdFiEE/HxsUF2vzBRxg1fK5L5TOfMornMFAmS4Mm4ACgkQ5L5TOfMo ++rnN35wgAkllCunxE6J5hQyLMx5o4WTHZkbNvXmu6nV1Y3vjiL1oeaK+pmx8BlkPt ++fGZJCe/068kqmp3N4EtOZLxXn55t3jNBYectPr0RmFqpjMsEJEcfXfuXROA4N9Ti ++Zd/o6X21eHEsm0kK0q4YfppfgTd5Ze7k1jTkUuuU6/yh6uRk1MiFreEzkPO3Aayh ++iEWlYx33vq3HccTPgdY3D64Zr8gmgKG+8mdEvqb1jK4SVZ1/9vy4OKIIpUZB/eqx ++46h9Ejwn9pktnYkHi/A/zCREEcIQ10HXFF5bjxJTFQkM5S46/QEO7uuvnpMb+6Yy ++4V1/QIWMG6ixqCRx9GqbBK7GHdYODw=3D=3D ++=3D+IsI + -----END PGP SIGNATURE----- +--=20 +2.39.2 + diff --git a/src/patches/linux-firmware-amd-family-19h.patch b/src/patches/li= nux-firmware-amd-family-19h.patch new file mode 100644 index 000000000..0cf278085 --- /dev/null +++ b/src/patches/linux-firmware-amd-family-19h.patch @@ -0,0 +1,589 @@ +From b250b32ab1d044953af2dc5e790819a7703b7ee6 Mon Sep 17 00:00:00 2001 +From: John Allen +Date: Tue, 18 Jul 2023 23:19:59 +0000 +Subject: [PATCH] linux-firmware: Update AMD cpu microcode + +* Update AMD cpu microcode for processor family 19h + +Key Name =3D AMD Microcode Signing Key (for signing microcode contain= er files only) +Key ID =3D F328AE73 +Key Fingerprint =3D FC7C 6C50 5DAF CC14 7183 57CA E4BE 5339 F328 AE73 + +Signed-off-by: John Allen +Signed-off-by: Josh Boyer +--- + WHENCE | 2 +- + amd-ucode/README | 6 +++--- + amd-ucode/microcode_amd_fam19h.bin | Bin 16804 -> 16804 bytes + amd-ucode/microcode_amd_fam19h.bin.asc | 16 ++++++++-------- + 4 files changed, 12 insertions(+), 12 deletions(-) + +diff --git a/WHENCE b/WHENCE +index de23a75e..b92e5299 100644 +--- a/WHENCE ++++ b/WHENCE +@@ -3912,7 +3912,7 @@ Raw: amd-ucode/microcode_amd_fam17h.bin + Version: 2023-04-13 + File: amd-ucode/microcode_amd_fam19h.bin + Raw: amd-ucode/microcode_amd_fam19h.bin +-Version: 2023-01-31 ++Version: 2023-07-18 + File: amd-ucode/README +=20 + License: Redistributable. See LICENSE.amd-ucode for details +diff --git a/amd-ucode/README b/amd-ucode/README +index 0d97f910..4308fe2d 100644 +--- a/amd-ucode/README ++++ b/amd-ucode/README +@@ -36,6 +36,6 @@ Microcode patches in microcode_amd_fam17h.bin: + Family=3D0x17 Model=3D0x31 Stepping=3D0x00: Patch=3D0x08301072 Length=3D3= 200 bytes +=20 + Microcode patches in microcode_amd_fam19h.bin: +- Family=3D0x19 Model=3D0x01 Stepping=3D0x00: Patch=3D0x0a001078 Length=3D5= 568 bytes +- Family=3D0x19 Model=3D0x01 Stepping=3D0x01: Patch=3D0x0a0011ce Length=3D5= 568 bytes +- Family=3D0x19 Model=3D0x01 Stepping=3D0x02: Patch=3D0x0a001231 Length=3D5= 568 bytes ++ Family=3D0x19 Model=3D0x01 Stepping=3D0x01: Patch=3D0x0a0011d1 Length=3D5= 568 bytes ++ Family=3D0x19 Model=3D0x01 Stepping=3D0x00: Patch=3D0x0a001079 Length=3D5= 568 bytes ++ Family=3D0x19 Model=3D0x01 Stepping=3D0x02: Patch=3D0x0a001234 Length=3D5= 568 bytes +diff --git a/amd-ucode/microcode_amd_fam19h.bin b/amd-ucode/microcode_amd_fa= m19h.bin +index 4bd623e14006b3a2eeb287e52708d3bea1c3a728..50470c3f461a068e832a1ebe3368= 3a041d4515fe 100644 +GIT binary patch +literal 16804 +zcmeI&Q;%k0+b-&|ZQHhO+qPZRW!vhqZFku=3Dp0aJL%bM?-nU!y(a)HGja`=3D`$H4xkg6r +zz3bjMbBM_c1N}Eb|9OxR3;y%|-$5<_0z&#fW~BejDF4Td@}K$t8{q$Z=3Dtl=3D4dARAv8YrGO%oMvFAg!{$lAVN$g-T#D{>;i!j?1KK|q$@wCynBV3w23pH* +zr8)2_v}j)#KV>W(a)f_&#`F~Un?x0NcjG&6fMlx8H(O9XB0hjaWJW15RSn8)WchyF#P +zj^254)ABW%ozHqwJpD{kC2A2-{!8t`I*WbMuPESqz}bnq*ieONM;;vz79SD$8*1uA +zHV3F`1+WD~V=3DtkGGYQ3zi%f|@UHhJ-BRYLm`x2oh$Ywp_fJvkcRP_y86{V-yZIeW4)m?z7R5uxYZpYcNcQi4{3+hRq0VAEYNy+Dg&p*!6G2w +z9E8-z$7p%@8E)76Oqh+*4N!%Afh#?%3bd6fD)tnS` +zQ4i$VwnBog{k*O(LqF6*FD3_K6Q9?oeQ4U0!q3(rZ>d8A+mxt3gJ8yQu7mAS5qy$Z +z`F4e!Q*r9kvFgmGF#V0YDyc}Ulbf&+($uKrJ9Z!j^<%mDDVol?4lN>&>kXtGp@@9| +zKnMQMqWpJ15RJ!c?avM=3DWPT(ylH16hZrB7mBO`?EY=3DyQsU#=3D{6TE +zh^7&3DR?0`{#0*|h+z?-X3vEx5rW_jB3vAg$Apm7ot*x2o`yO(Skp|I7+8$7rOEKS!CM5P(a)O9B6 +z(e*NhlAaWoj+3qd^|ExTeD%qNRhbf+X!2_=3Dmi)`|ufXOFn8g)B(a)x(2sw7{8`u3}`H +z#C-}OV)OW9<2)ZG4*ySu%!Ul{xt>a!>USxy>Cm6PuisG;N6&c+Qk*1&n +zxlWDNOo(a)oMu)nhOzozWZH!|K91E%UPfKXX+&yP2L=3D4(p{vBk%yV4&C3>)UXLD_;DMaOV;GAgK6{f +z6KpM?^av*CIhjZJNv#B6{Jk#4G{iK4a6A$qzSBIMmZ1FBsuM!rcpS;(>(>M(a)6C_c5 +zq)KLO7hm37Hy*rs8af~GV5P6b`+TJo#v;>&SXziwH8?_lYr(WKs@@JUP<0+K{fV$g +z<>Dt<6AdpUo}B~sCV9pkio8w1lX(qLeWfN0l=3DFfi%6uZsvA29V<7PmIr>tb_b6bkq +zix!Mr)~|}Wa-+dF|3W{M&Zdu~Twjhr7|wIJ1hY_D{G9~`g5eL;Qd4PAallF|Mnus& +zGuP)7-hxWs=3D0^WIkHGrb13cxnPh4z(a)N^gWaofZX+($KBS(nf7sl2tSu%@c~W=3DV|He +zW_j?+Ac5CO);TTZ-(a)t&F_)zOau(w;8z}d(a)h%PHkx<}Ed_e#{u2)D86$yOo2-I4;DQ +z7(I(a)mX9d}h8Fcqpw=3Dt33a~cQ;Ge=3Dh)75F=3DWDZv^32iL6XUG~E4s1f#1mYVtuRMVId +zr!mAcwG>Qgy5{XKZ0yLr)Aa!O`Bp${j>|xK +zo>+Y|1If(Ev(K&vnD)ZpRTpSvNiK0QnsBd(a)clkXDdp;b04lW%I|H5+=3DCQ>gmrq6lV`bSE9BknBAGIi7%m4evX4w +zx&=3DO2v9r+Jerd4v;mhosqRycVqGqbOZwOu4*Gv}?9D7~XZ(^KB`hxMaXG^Pr8Cn- +z!&ms{BTxp-vdw*TynFko$~Bff)Qhon3}I1rKh}t?>8|%OYTL5FM5ZRLlR?O}ajw9i +zPf?RoEK8B_qYqR~P71ofI=3D76x^4(+9c))!_zTAglct53`?^(Ygh(*-4!yM+viF`HI +z;o93WUV-@>#49&2GdoODmjg^n$ +ziK~IRaed}N5E1xPB8B!|{{qr-XJ}4Qf(JUvmv$NyCt$3L4^1t=3Da-7g)$mB=3DzojJ;x +zic170L*4d+6d7aUM3?=3D7-@*bB1K^@C^I?vQMQ#VA0*SB91S;h4IU*~^@N1~OWW(=3DZ +z&M;mgexaSt<~`-`Ez<$s`cShPaA~)J^YT1} +zD(a)IEL-}3f_GAPlvw8TyIs(JoYcxe`+)U~dwX8kCpQre0w^laKjLe)ivBfH;hBG8$1 +zs$CasUsUY47%B6LBT3;%072wN+aZhc93G9s|GqiJ;JF$*In?HI6Yf`xHeuE&Ub_{F +z3e!rFldI>qA;yk#)C=3Dlmv%Pz2Loz*HxuIXl!N>(|_GQEG2rfcoW|Bv-Fn&)7W!qlA +z!&eHJr5_YspF66-I5>tIl0r5e6l>+lQF_E*xg^*w1h%wk(C~zi*$a`9hQn>b?Oxww +zRX-~-B71~c91@)FrKx6WX+kXRR%%s0e(smkP*%~!snK^ZKDst6p{i`o^6QyfEYvCr +z$_>(kYIn_*WFhuMVQEgqfakw-K(a)xwCVDn` +zsOT!}N}Onjw3-y$=3D9&x2NJnDT#GSD}dx>lNWRYj)+ljg3rE(oxB9S&$)%0W=3DC$(yD +zOx(a)Nv5-q{l{Bi}mnLij?=3DV*JX?;ssx)Zz4?!7`zGgdjt5SbxbWHp2Uc7f2-0M_ptY +z^;_&M+Mo~h9O5u&0V-$<$rI;!_G<#jgbgMG%E)H(a)010&6wL#C;r}y(}ge5ZNR+Vc* +zRqCi&gpkz>m0`fBH<=3DI(a)n-&lDM)heJMloLHpok?e{1LW~T~eeJt2Ga**i;WrQtIT9 +z`JLM^zD=3D{GXOsnwh9Zm2hmL_J_pWJ3Lq+wSie?sRL;n(q&_2J&?XJrVJio5|;O1Q; +zqHFa^VI?Y*Z)KHi{<2(a)_HTB|14sYqQ`!4g`guyU#S%28hniZoN9p=3DxQn3g|mVDqhN +zP-saAd#+Hd!oE{ImIb=3DqHXyTsiqu)?l0P$*Au83q+J>Cj=3D%CsjqV +zv%EXD&c1B-+9TvpiZM9C%TCS`^quf$`DXwh=3DdpXOG3!|LWu{AmvG{rCIAcIpcFtq0 +zRP~OGiFLIwxlmLBmA;L3!?pRJT +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 +zlcRCD#ZTzi@ +zJF<=3DSt-{ljx?!d}RJJcjWY&4{WyXmFU7EG$8yI|hpp3AQx0<2;UBHS-Vi&K?!G#fj +z6_Q%c;$_*Od%VuJq~|2cevt0rY>`&O+#5U(l3I{YL>IMWE&o^tf$*isEdV;*=3Dw)Bv%{h$$Kfgzbp4$wJ5H3QX>0bIQ3!w=3DyRe0sXtohzZTbdn +zhB31)uEK?YI}*7cZj-;O6gjsXR~p_kPr<5kJolc(a)VQtL^THXDjfnVggb;Dw(a)9IFrF +zwSCF$PeE0$gzYYP!9q>|+#XXNSajBhnjN%ZJhp5t&5*P+S<ZabVmMedy(a)Y6Bvy{;gK_qKmjval(a)+9)k{sEj3^=3DR4$bnjiLAY%aO; +z_g?6-(I%M8z`z2Jy*I?uKN32UKr=3Dxw%-2_$*v`txnAT}5(WlQq2etB5EHbWr`u07g +zU!#m?a{)=3D&gwd2i0+9Qlq3NVbUV<2NvE2#DyR#3*asep?8*)5*Hm>Nh%M>`ew``rZ +zERyxSqY^0Ny`F~l*io9!z~s8p?Sd(a)I`U?iA?Y;|=3Dwil`ss&jhdwc_COm#H~8W~f57 +za&)mk}`Khy%|T5alObOm+4mWC~EuY9ri%! +zOG-3Tc;e_nmI?UrLyyS{Ro>`d(a)c||bV3s`2SuczGFmn#u^CXTM*W4TC{VBbXK)4QP +zrxq%APv;u#K@%(|&hA!YQN2*OJbGhu5T(Tlp|_AxbfgxYNBM+}H~Gs;e9P87V2`4` +zgU_!_W$jyM>DdkpG0CjR)&^rw8CX)RJoU6;i>Cz7uy0`2d(a)u~u6V>*6bcG;@QwLHN +z_e{}f7kPkb!27v1qGj=3DV#eLIM5-vHP5&|b$+oEs7lV`e^>d&8K|Ge!MZ?q!KKRK+( +z`kqn57avd+REO38muI9V8VLJHoW7#*ot? +zLh|!Y0h-94LhjJV>@(P}_6}eXL1`|yS_$?`@@xKpms$4}R3gXAC4-Xg)}Xb(ZBGRj9vWMV^J3}ur#h|u^Dcba?D{ccehbuAS7PSs=3D{QwR;~J1A +z{y~;A-S^S;)`~p>HK=3Dr8jWje3BBRpP&9Y0rNg6Zd<+(a)n%$_rz(a)Ce9No<12uceyw`G +z8VxnhUPEWXR!Gtpjm*1j1(B@^-`_*iMjgkY77ljgND0^@ +zXh2J0yJELL^>Y2tNd})&N`D(a)Q3eNNI3Of&255(yFS3q&ecsFEf+J&H(a)Z<8lC(`NO6 +zblB3l#Qw6}t)9ON$x4Z`KOAI=3DZ3A*LQR2QvCesdA$O?~r_(S#3wkF)+;hk{;wJs4V +zZ`B*&-L?Vq?(egse+~((rK5t7Y7UoMd^=3D`xO_Up3hIfASWld_3e3Oy+Al}IWUO8Wp +z1mji5x)uhwXVka_YHQ=3D1w&E|qLML6g@A*WH_J20_COgAXz&M=3DWQ~ib>(MJ3R9))?t@=3D0Lx5;{fSidZn0o(a)K~zpz +ztsad$Qm2Qb?zHt7GG7jB5~(=3Dsk%}iG2ne?vELq7A=3D%M*0h*jU0PZ?j(O(#0&Wfos( +zAuYwueshJEZFngJ3YhPTh^T7y(GMvZrps&1JA|3nbo=3D}%MM{|IEGPu>-uK_XRR0tq +z#dy9}vFxHA~(IBkh+5 +ze37S6VG&mRXH*>(EqQrcev(?PSWIai(jE$gq +znoQ(a)ba*C;UEDWEygxB7kZ+nT$ZtFSdf{-BR?g2V*a|$^FcaAgL^eO9hrF8%k*T%*g +zbuB~wINS4RJD?8yP*sE1ECWk|m8H-`hz=3DWtwKU+eb_Y7VIs0s|BMJx}Y7WmO>AybK +zKlYH9iUU`*EgR;ZHJ|sKTiZ4K;>YQUg|;H(x+E?R2=3DT37zVs09=3DAB$8L(-U|-vtud +zY*tH=3D3R%H#Grs*6V49k;1$c`#MnO4Ymnl}mOW@)1mZip9)IvAhY~jiFPy0K}2B+d} +zZR6gofHanjbasG?-c%cm4=3DS*MUy>(oj&_5SG4r1Fmopma^^h#bl^@x$qeO+vB(a)T_4W!v%4x0`cUQcExQoq%bOmKoQ_% +zZALh9IH+8XtD3M{GR+wQ>(Ia$<{Tz5?wY)~;mCh1NS2A#=3DLFBpFx!Wbasbh%zFrCk)}g=3D1QXEAiSi)7W(aqGNN5(A@%JBhqqd`RpkA` +z2E8H*dGyrC*^bYK;76xNz+<)CI2W-+nvSx{fqDSNtw(a)Ysr`%#{C%q!(4>8yDCLn&f +z=3DYBF2l$w(a)V@)0uOXHbY2N5aQd{xuWhCU!n2LM2A>M~U!4CTt{aPQ~lX)b}gU(PjsG +z3v=3Ds3h8BJ;_n%@cI3T~G3<)xSInAaO7UGj58cN{GTymHBwF00kSUE0zHb63x+3eYZ +zO31v5#t7fAmXt}S(4Savls;MW0GtzxdGw63(i83Mf=3DBrrbL}0RfKjnGwGDWzaA#Y$ +zI~FgKkA2~Er|Mvfdp}>jgt)?&`~DVg*B&01X*rQ9mC +zkX?Z%U|%F<#URJ+DvD?{lMHeRx+tt2z0q1VSF3D=3DHIu58n`_(s`CSjz9oDq!V;iFV +z|BS{biQu%IgI91l#PjH!H^d;*PPPyX_lu;MzpfKheW$6`l!=3DO#Sx!r2Rp6CTJlE(| +z7oTt{6_L*2CX$%7^)R;}NX4bO1&W|1C+u(4Xz}oSS_*+C& +zy>Nh#FPYb$eum2Kz!-vRbs80am^ym83*(}~TKGS|Xk!~@mT!q9)o1S5lF3Q|Aj|l(O#TZdGZ>N`U~U6|5m+gC3&fImUn{CSoH_Mx|^fk3?X_T +zLLSPd7u~Sbs`rp|Aye2z`+F_%H~IyR2LGu8-aHZyA!{4CTpVKo3`Y$DBD64|+uweO +zgl}C`T`JpO!>Vs>X5gR6W-rQAG%fiBGp$JU!e`5}{#DKh^86{=3DW2ff*MazGqJN*JL24QyR +z^KWR}l|R94XA+#jm^O++wnBt&02Z#f4MQ*Z+CJo2pKk+$D2vW4DAQZ5C7K#x +z!VnkSw5K^L*$(AFN;t(a)SqBMez2+R%3JvzU4B|L8)y0gl(`-MNVRNTFX>C^;Qx3c4n +zXY>iK8WpNE`)0#HHv0?gWPS*g&YX;O$3oX=3DiN#OT^2;nd<8CrjK^8H*(}aP+^x=3D>q +zQyr~+=3DjZ7NF50)#0`Wn&aope@@{zvtqs%z6BQCK>^JsL?K(~eYl(N!jz!KK*WV%Dg +ziGcD;E6_|13T}9bhcwEy7+?148M&7y6miH0jFf+XVp~ZW*{dl;&p%E6adXTvYo)Zm +zN6nMi2F}@wb)6lzr`r8z)9&Y6`jgQ*&2zdmeectM3ooScpiA%3FKBI6?09qDXmW3g +z4413(a)ta8L@)|R9DWRS8R5{lUz<{Jmjh(9ukWRBXxiaItKuS5&h~3>+)FJfoAR+rkFr0kK1+H;X(sjuzTQw*E)U +z0u`bLMocxJ?`fRD5uu#yC9G^Cq`aHlLK5<#Ts+!B79O^(+w&u<*48K%Ig4eHyjV%> +z;!5czq<9DIN;PLd9hD)2m3Vp(Yi=3Db&0>Pgu0mO~Q7N3>1lfnTC74G-E>~^5n>65LC +z%^P2mrbVw6``zq9=3D(c>_Jvj3g7lEUH#(m{lg}Q=3DzK(dg(MCyksgVR%#esK#vZ{L8Y +z_GU;IsMmgXjJl-v{I*9ueazR{n(a)JpkL+5y&r3?g&b^AlZn|vuP(a)6-BjbEQNvu*}_b +zafne>W#U`?>GRfY8AcKYA0)$k1SRvASJ?CeBi~9 +zjyL96yBZ}Mn-u4s(a)2A{(T;^aHLOd2&Nf-|_kyl!bJAT9QI}`?DaKq=3DG_E%hR6()ddi8B9ihC@^(ZkE&BMQTv*(OK)$P1-u<+l8$M4IUnu+^tecnY$*SCkNf`^ +zUh$B`*b1f;5PTJ&3)WS_-JFQm^r^q*ewKo{04jwhGz?o5QLsrSqjSZ)m+Y7Pb38}X +z*N&m~JEuMix@~X?L$NrV1^{YQCa&#R@%QLQ(iw3*^YzU|P%afZ-SdqQ%warQzlOtb +zLZw?FVl*v?Ze9rwSSv_Yec2lx^9pI`^Tvkjvx`d{pntzmbA~YBqpmZ{@UAdiyR^g-dz>%002M$000mVpa1{>00000000o6000pWpa1{>00000 +z000q(a)DJ=3DsR0eF)k78`#jJ4j~PD`@Ff(9GT;H4Bu;2c*`YQF|h$2S(UX())#os5WJ=3D +zJ7!=3D)Vv2p`ck37rjC`ckU(a)dDw{&Xf(n+y +zOG}~&AhhXiKUd&Ncsq&}!6zNHJ3(a)yBTBk;nq97*MRbLdu-YtvR`ayYz(a)Csmm&E`p4 +zebM!2RF$`?8~~h7Es=3Di^XOynNZn`n_$_1UTy{{eBNh2QAZ5(SP!O(#HU`#jdBnbiG +z9fh*2u{d1u=3D0;v4FP>4*A0lvBKgx!VNY<5W8q7F(a)X7e|>(#{cnIe(a)N8Eb_i +ziGpRX#?_(a)UDUoGLG@x${OG$Uyo(_c`zf1FGp2qSEA((li3Zi8Av!zl9E5(a)oNsYF3HY>!Mr3&N;L*unF{3k8Qp +zQIO(a)A2z+5PCLj3mnjl#BOla>Oj-W?OWMX4s7vGh(ZmplZekKHb6NWGRKw^XpKXwHy +zbYOuGDw^~oB~dnP8}!WbM4AW=3DsG6F7eRSbY$x?sooxhtyOK)KY`&HbY7;rzuLuu~@ +zZC5T(-MY{>SFx-Dyh+D@!B2hdxI`_Hx`=3DW&evwAMg-Et8w}x*?tag%y6$DgcB`VTJ +zqEJ4LVNxc`+=3Dsu4#&8n#2h06_=3Ddao!)cmDu$gpsGH1Dzh5779O_05WOcGw+RXceA^ +zrw)JID_$+v(o_PWd*#1SO +zAx?^#cI`r~CA9$d|6hcGC6o=3D$`|Y}oG!2Y&TKaEcb_8r!ZtS(a)t!T%O%Tc8D&8{;PW +zIGVF76;&8OpGl2A(Xz^ +zit~{)zONU`4(a)NOQpDv0KWIX72I#nr0R6Im}ej%mY=3DXd->iUs&mL<$-SZG)u(^k +z-wA~Jnz(a)8#P9)q#d(a)z}x+<6wsjm|`HrilVK_Jm%`Dbf$*0Qx_03)siEeID^NqocB! +ztJtpL({45jmY8A?7T8RJ8z%V}@qN>=3DSZ8kYjTIi}kkRSUw0hGJQPB0ns(IGwQh8`$ +zrg9gDa!o2DEm(a)7|3mW^M05!(F8fJfvO!>*5OFwX+22dirHGS-+dE0Io8yjUBlGNs=3DrDMZ;9JhrNTQ`fArsQZ +zO?cXE;l_Ii8@{H=3Da221Xd0#g=3Dpep%)ptTaW=3Df* +zIQAuH%Z)r%tsQ~YD^K2EAB=3Dl*gi?J7wc-}#9%ntoqD~jI5Up5{b(a)a45+1$c}zgLq)eSm+g0yMRC1gDUCA>!4IhRefPUCp6KeAs}bV|FY9cgkI$dMKe7 +zly(a)Zyx1Fh3Z(Km$UAiDcAe(a)R=3DGPxF;9e7UY_O`@K)K*`Z~< +zYQt1C4#<>Xrs2NcQl4j9eLalj#LT6)E9kWO5&503qJ$z20nC5)vZqZGRsY=3D}HhP%A +zGI#HxFN5?@G&!43DrT9wseYVZ%dj%Y>^A=3DOeaU|Z7B(SzN$WY^Ex{{RnVO!t +zwlUZta9w7mzw5t9NJP&~42C$%z%cy(a)2`h<2H(NZ$x#*__9Z%RjQ5dYrjE5%ATZo}J +zw<+gTl(W*}! +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 +z!SHB-swu&Rj%|je+Y|oZcZBVG(a)ek*?+ +zO3pL_%&-C(x+$H*7Enj%x44e+rk(MYjQ_#*y=3D+uiY#mX#HH>)~`!@>Fi`K8Nk5fe{#n!wH`-UrTQ930POv(a)SZVL +zd&Bf#r=3DU`iYTXCmKNGQti_c}lE-^uW8_1TtE^z=3D_YX!o~@(+KD +ztQI1Z!9ni+wK?J5k!fV0;m)_deewWTb +z73VHwIJ8{~Vt0B9v1Jq^B8g0?Qf17`=3D-lg)e*_8nnTDUaCL@`!$K6J*w+XvkDCwti +z65db%tBtvgr_!*Ro=3Dw8497S!&7nl_-fgBVM{2w$`gr7Q>IuPw^ZIrI0)m-Joa4vG7 +zBPnTS=3D1se-a3B%(iIWiMlARbmxqYG{PeX;Jwj~o;X#JT((X2pnun*F|s^Oo5z5c+{ +ze^YXYZI;_)&q0AjG&dF*Kmw&I4#jYL!%pTR$TJv97OcJ|Do~f;%fHyS*qdZn+REa< +zvVW9<4TxxVXVx)n-=3DTsuUBxV>_$lPzuQATsa#4!j#S2fj`(Xon>M!{Zh9z2(a)qh%nk +z$qu?k7+uhbavCJ&Eq}{@$Fd)qE&OChf6#Tv(a)C3m+=3Dd&s184E}Y8L>lbvGPx+XgU5c +z&GIlNQ()Pr{r0ve+igoJ|Ml1jUIh;JZ-q#%(;S3Aoex0b+ArDyQ;T~oaMMs0xF1^QCi8}_b +zdGlLxBiTGxzJ$bam)M>Yni9hLnD}hdUZm5mbrWCM(~Qc+7Epo|k>0SJr#yR)<+i!LoKof+`h8Ou`)Ox>pYQgC-Sn9kWg_&O)}Au-{wSbsz`vzDIV~ +z5j(GDwn9qLfOeuWtTz(1`?*W^YS8YCwGO~h+^vG}#57$iTz`ZD>N};JaqqzR_N +z&IKO6zZsD)bXuji&pkIvcq<@+J{?+T&V276;!Y=3De9e+3MWz$Nqq!%&|DUo=3D#jJ;%~ +z>v+dc_)%U*fp(U^WsxGWe>T)mJtmdj(a)3t2CJqcp*cq0r;&ZEdgvc9o?F*{^!R{82B>UeOL`^HqU00qz3+T-EiPNtdcE*{j?WjyXiv>)ugbsPs+f; +z!JSd5hsIbx!pd)dxf(a)L{4&Ntg4m1tvklA(yAK%=3DmF*D6jJR8pIe+H$7!_IPcycA85 +z{FC9K*uwi#R#8_4PvL5Jmo{>F=3D&rzm=3D!M~Omz!s<8wEhQC-{c!ecFr6y1WRl!V-I +z+TH$9;Mv+yFHa~Ze+$Rh7`rtI0<(}`8s^tey14g2Wt)>VlQI?@enJ-QsM}xalVe~h +zS%OKgx&xGjhc0_$+o&KOUZhj=3D7pY+=3DE^MUeHhXYbQP9hb#Cv4 +z1O#Vw1vr#KZchFurFg})O#XGd)dCCW5`i}cOCc)#nc35ie;ExR1)rB~L*-p2wO#t; +zu>YO-;H_L1jPM%;NhWqDMjyp!qw5WbZ*T;k;<~VG|8+0(a)HqK!a9eppuvc?M65RHO+ +zN2(|bs{Wyd!tU+g!p|-+Jk~0f5)0S~;2zJK5#llu^=3DyrZQMA-m&T*|#Hs?J9GYIu* +zc1h{P|DqPwPG1!(nJ#wcS(e_x&QmfzUQRrbmF +zjFz<~N`Jt8#ZRi_7ZdZV3SZ006)h001K(7XdMo=3D_?z5nRFXiv3-{ShD~v6 +z!M%>55>dn|1IOOm)jNe|d(V1?+K#$7(a)GyG5YkTeHCrHjWnqI25E+fr4X`x +z9XjXAx?uNPZmcYY=3DigwRsHkXL*01?KKwtg*OMWJwfL-tj_f#pAQ_YK-aHPK8hIEAZ0yWiDvec1ubok1F#f_5a(-~ACrcdih%@zv +zW);dUF7NkkdW&=3DhG&{SL5PNh>=3DSb=3DMrO(a)h9gNyU75k +zi^-I?{mO}-PvuM%L|dCP8Q}Bx??}s(a)LZCqQq_9^p*rxXRZF=3Dte%fpz-fjXi=3DEmXC}`9S!>} +zzIV=3D;U0;{SGc5nh7YS}P#=3DH!c%8#~Ow*maha60m(a)O>!MZ(a)xsBUP7ipmk#xLZ*}rni +zfpWaR236g50ZE&VWc`|doTS{$gi+K>-?GEcslV7 +zQB6KgGk)$v0qKXFP~)xQ>M{Y}6O@(xh|Oid`fk-wzojs$qxVv^CtGu=3D(l=3DY_*d*Jy5}@)JRhKufOJV_PX> +zsWK%N8*1z+Y?|GFj-|i`QG;AKf6G(UWB)x(5&)RXuZVedfcAuy+Xw6AOQAKDDEcCh +z=3D0DbHmkjdBHbDsoluAv?xHCGLQvPKAVX$s9*muOEsRVFHlxwp}ia`9uh;&7T$}qS+ +zR;QEV9}`UbgX2)j6NBmiRX7wfnULL(a)VGDVfVm{F3{Zvh2o1nT+)^+8$;b!Z7I +zzXLY}m?jZCw%Jcb?s)DgPkCL&76+OJ0%?vXum>ZXrqBD3%=3D)V$Xj6lgRm*R>wZjW0 +zvQqgJaTiHd4c5KDvMmz6K}sg*R05?8eC +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 +zQGTZ-nzbSccf*az!dpybnjoErSG& +zO_&;kHe=3DxvEOQl2_J{tLf(&7Sf))?>6-A?UI}>sff<(!N*|bi7Dw*xgRGY=3Dz$$jt8 +z)&?5iDzG(a)03Ert|BEo*yg6Y)U=3DPBZ#!Mq6x+uCP6_s&HOU*cg17mY*F#}oNAm=3Da4b +zo!yRNHB~f=3D-f_y;_Y{oH*$h2Ux>zh^*JH8g(+96<{CuseJCNp3;fxn$HEGOuZU}R$ +z>h8(a)rkI*v`9kEw`UX0N6DVky7I9A{+72oPaSu)v|s6rMzV(&JULJ`_P +z=3D?~#)8(w972PiQ!jJxsT1Lu#GQv!LWPjIK2tK=3D!@tQ|7J6O_vP1M$gd5=3Dbw^7UV<=3D +zAleYYc(KsB%jh(a)gjzZI|{(P)Mgl>Ptil)Rtm75m7)wTJ5Tn(H=3Dhb(>|JUVV!Cz9Ik +zGFAE$PNBc&K%nu9V9lndHE^r;h8<}9kcLQ8|7>1Fu~YF~j9D1*EY!w%!J-6ARTY+O +zn(frxm~HQ_we*TFco;k?6cx;&B=3D_k`KJla^=3D$&$PKA+Ket59{pA?MGzV4UjRb^ZG$ +zUh;qya<;sG5D#RuAv%mbmipKYh1$S1;RY0@?!R4M!G6Y{Z;fSUcLG0WjJPJ?yH-bs +z8^^{Cnkp##6~LEzDA|i9w^OgZSKT0JwvdZ1aHBRt-H1QnG86_OPY`0|Mxo|wj0XU< +z$e$E)I3Ix1!>m(a)hGyzw&fbf*VTGqro!slWs1Y8+^bYJzbZ}0I&J{!Og-&GazMZtEa +zsgyf3(a)7^hSQ~(aDZa5;1(BPP(ae#{mb=3D&Ihu9*Ly(9>p$OXnuH`zO=3Do){dYJ-R_AS +z-6eheWomez+qJh(xy_B5&1YPeCcy8}72pkys+MSKbUO*MSTcrd_a32W&x)b6)k$vI +z8~O8pB#HeLEOH-s;qZq;1+IvmBmF}v1-+498{SH-z)qW?>QH7q&NQMkGYbvq)KheT +zX&;Zq6Pemcg6_27)DlS^=3D*uS_IrPzf(t(*NwT>dopqI9Tg%#3ePCT;6*!!LqLq8LW +zKxyMQ{1y}4>oX&7iKM@Z>DD}TO72x0rNxc^C=3DEHRsG7`d_vfI?*JSz(6IU+*4%g({nW +z1S#Q{pCVMpaIDVC*9W(a)WtQkOT(x}JRs})*cdE5!b}2j-|@tN(+8=3D49^2XG5FvGiA}TQDNR+u_3aSHhCR>6Q0FY>_z1%65rZ*>G$2&Oe!rnX%%B+ +zgqYhnM_cR4TaH14k!F`ay&(U2;o+27@|9{>1UncPx#s}%aQO=3D|D)PyU95G2j=3D2h{a +zE-LA7dVbcs$6NWY`#-D(`fZm!F=3DEt<7QQ)gVQ2(